@Override public boolean apply(Game game, Ability source) { Player player = game.getPlayer(game.getActivePlayerId()); return player != null && player.getHand().size() <= 2; } }
@Override public int calculate(Game game, Ability sourceAbility, Effect effect) { if (sourceAbility != null) { Player player = game.getPlayer(sourceAbility.getFirstTarget()); if (player != null) { return player.getHand().size(); } } return 0; }
@Override public int calculate(Game game, Ability sourceAbility, Effect effect) { if (sourceAbility != null) { Player controller = game.getPlayer(sourceAbility.getControllerId()); if (controller != null) { return controller.getHand().size(); } } return 0; }
@Override protected int getInputValue(Game game, Ability source) { Player activePlayer = game.getPlayer(game.getActivePlayerId()); if (activePlayer != null) { return activePlayer.getHand().size(); } return 0; } }
@Override public boolean apply(Game game, Ability source) { Player player = game.getPlayer(game.getActivePlayerId()); return player != null && player.getHand().size() <= 2; } }
@Override public int getMaxValue(Ability source, Game game) { Player controller = game.getPlayer(source.getControllerId()); if (controller != null) { return controller.getHand().size(); } return 0; }
@Override public boolean applies(Permanent permanent, Ability source, Game game) { if (permanent.getId().equals(source.getSourceId())) { Player controller = game.getPlayer(source.getControllerId()); if (controller != null) { return (controller.getHand().size() < 7); } return true; } // do not apply to other creatures. return false; } }
@Override public boolean apply(Game game, Ability source) { Player controller = game.getPlayer(source.getControllerId()); if (controller != null) { controller.drawCards(7 - controller.getHand().size(), game); return true; } return false; } }
@Override public int calculate(Game game, Ability sourceAbility, Effect effect) { Player player = game.getPlayer(effect.getTargetPointer().getFirst(game, sourceAbility)); if (player != null) { return player.getHand().size(); } return 0; }
@Override public boolean apply(Game game, Ability source, Ability abilityToModify) { Player controller = game.getPlayer(source.getControllerId()); if (controller != null) { CardUtil.increaseCost(abilityToModify, controller.getHand().size()); } return true; }
@Override public int calculate(Game game, Ability sourceAbility, Effect effect) { if (sourceAbility != null) { UUID playerId = (UUID) game.getState().getValue(sourceAbility.getSourceId() + ChooseOpponentEffect.VALUE_KEY); Player chosenPlayer = game.getPlayer(playerId); if (chosenPlayer != null) { return chosenPlayer.getHand().size(); } } return 0; }
@Override public int calculate(Game game, Ability sourceAbility, Effect effect) { int count = 0; for (UUID playerId : game.getState().getPlayersInRange(sourceAbility.getControllerId(), game)) { Player player = game.getPlayer(playerId); if (player != null) { count += player.getHand().size(); } } return count; }
@Override public boolean apply(Game game, Ability source) { Player controller = game.getPlayer(source.getControllerId()); if (controller != null) { int cardsInHand = controller.getHand().size(); controller.discard(cardsInHand, false, source, game); controller.drawCards(cardsInHand, game); return true; } return false; } }
@Override public boolean apply(Game game, Ability source) { Player player = game.getPlayer(targetPointer.getFirst(game, source)); if (player != null) { int count = player.getHand().size(); player.putCardsOnBottomOfLibrary(player.getHand(), game, source, true); player.drawCards(count, game); } return true; }
@Override public boolean apply(Game game, Ability source) { Player targetPlayer = game.getPlayer(getTargetPointer().getFirst(game, source)); if (targetPlayer != null) { targetPlayer.damage(targetPlayer.getHand().size(), source.getSourceId(), game, false, true); return true; } return false; } }
@Override public boolean apply(Game game, Ability source) { Player you = game.getPlayer(source.getControllerId()); if (you != null) { int count = you.getHand().size(); you.putCardsOnBottomOfLibrary(you.getHand(), game, source, true); you.drawCards(count, game); } return true; }
@Override public boolean apply(Game game, Ability source) { Player targetPlayer = game.getPlayer(getTargetPointer().getFirst(game, source)); if (targetPlayer != null) { targetPlayer.damage(targetPlayer.getHand().size(), source.getSourceId(), game, false, true); } return true; }
@Override public boolean apply(Game game, Ability source) { Player you = game.getPlayer(source.getControllerId()); if (you != null) { int count = you.getHand().size(); you.putCardsOnBottomOfLibrary(you.getHand(), game, source, true); you.drawCards(count, game); } return true; }
@Override public boolean apply(Game game, Ability source) { Player controller = game.getPlayer(source.getControllerId()); Permanent permanent = game.getPermanent(getTargetPointer().getFirst(game, source)); if (controller != null) { if (permanent.getConvertedManaCost() <= controller.getHand().size()) { return permanent.destroy(source.getSourceId(), game, false); } } return false; } }
@Override public boolean apply(Game game, Ability source) { Player player = game.getPlayer(source.getControllerId()); if (player == null) { return false; } return new DoUnlessControllerPaysEffect( new SacrificeSourceEffect(), new GenericManaCost(player.getHand().size()) ).apply(game, source); } }