@Override public boolean apply(Game game, Ability source) { if (!AddendumCondition.instance.apply(game, source)) { return false; } game.addEffect(new GainAbilityTargetEffect(FlyingAbility.getInstance(), Duration.EndOfTurn), source); return true; } }
@Override public boolean apply(Game game, Ability source) { if (AddendumCondition.instance.apply(game, source)) { new TapTargetEffect().apply(game, source); game.addEffect(new DontUntapInControllersNextUntapStepTargetEffect(), source); } return true; } }
@Override public boolean apply(Game game, Ability source) { if (AddendumCondition.instance.apply(game, source)) { new PutCardFromHandOntoBattlefieldEffect(filter).apply(game, source); } return ExileSpellEffect.getInstance().apply(game, source); } }
@Override public boolean apply(Game game, Ability source) { Player controller = game.getPlayer(source.getControllerId()); if (controller == null) { return false; } if (AddendumCondition.instance.apply(game, source)) { controller.scry(3, source, game); } controller.drawCards(3, game); return true; } }
@Override public boolean apply(Game game, Ability source) { Permanent permanent = game.getPermanent(source.getFirstTarget()); if (permanent == null) { return false; } int damage = 3; if (AddendumCondition.instance.apply(game, source)) { damage = 5; } return permanent.damage(damage, source.getSourceId(), game) > 0; } }
@Override public boolean apply(Game game, Ability source) { if (!AddendumCondition.instance.apply(game, source)) { return false; } game.addEffect(new GainAbilityControlledEffect( VigilanceAbility.getInstance(), Duration.EndOfTurn, StaticFilters.FILTER_PERMANENT_CREATURE ), source); return new AddCountersAllEffect( CounterType.P1P1.createInstance(), StaticFilters.FILTER_CONTROLLED_CREATURE ).apply(game, source); } }