@Override public boolean apply(Game game, Ability source) { return game.getPlayer(source.getControllerId()).hasDesignation(DesignationType.CITYS_BLESSING); }
@Override public boolean apply(Game game, Ability source) { Player controller = game.getPlayer(source.getControllerId()); if (controller != null) { Permanent targetPermanent = game.getPermanent(getTargetPointer().getFirst(game, source)); if (targetPermanent != null) { if (controller.hasDesignation(DesignationType.CITYS_BLESSING) && controller.chooseUse(outcome, "Put " + targetPermanent.getIdName() + " on top of its owner's library instead?", source, game)) { controller.moveCards(targetPermanent, Zone.LIBRARY, source, game); } else { controller.moveCards(targetPermanent, Zone.HAND, source, game); } } return true; } return false; } }
public static boolean checkAscend(Game game, Ability source, boolean verbose) { Player controller = game.getPlayer(source.getControllerId()); if (controller != null) { if (!controller.hasDesignation(DesignationType.CITYS_BLESSING)) { if (game.getBattlefield().countAll(StaticFilters.FILTER_PERMANENT, controller.getId(), game) > 9) { controller.addDesignation(new CitysBlessing()); game.informPlayers(controller.getLogName() + " gets the city's blessing for the rest of the game."); } else { if (verbose) { game.informPlayers(controller.getLogName() + " does not get the city's blessing."); } } } else { if (verbose) { game.informPlayers(controller.getLogName() + " already has the city's blessing."); } } return true; } return false; }