Пример #1
0
 @Override
 public boolean apply(Game game, Ability source) {
   Player controller = game.getPlayer(source.getControllerId());
   if (controller != null) {
     switch (targetController) {
       case YOU:
         controller.setCanGainLife(false);
         break;
       case NOT_YOU:
         for (UUID playerId : game.getState().getPlayersInRange(controller.getId(), game)) {
           Player player = game.getPlayer(playerId);
           if (player != null && !player.equals(controller)) {
             player.setCanGainLife(false);
           }
         }
         break;
       case OPPONENT:
         for (UUID playerId : game.getState().getPlayersInRange(controller.getId(), game)) {
           if (controller.hasOpponent(playerId, game)) {
             Player player = game.getPlayer(playerId);
             if (player != null) {
               player.setCanGainLife(false);
             }
           }
         }
         break;
       case ANY:
         for (UUID playerId : game.getState().getPlayersInRange(controller.getId(), game)) {
           Player player = game.getPlayer(playerId);
           if (player != null) {
             player.setCanGainLife(false);
           }
         }
         break;
     }
     return true;
   }
   return false;
 }