public boolean apply(Game game, Ability source) {
Player player = game.getPlayer(source.getControllerId());
Permanent permanent = game.getPermanent(source.getSourceId());
if (player != null && permanent != null) {
PermanentsOnBattlefieldCount amount = new PermanentsOnBattlefieldCount(filter, 1);
int count = amount.calculate(game, source, this);
if (count == 0) {
return true;
}
if (player.chooseUse(Outcome.Benefit, "Pay " + count + "?", game)) {
GenericManaCost cost = new GenericManaCost(count);