diff --git a/Mage.Sets/src/mage/cards/c/ChainerNightmareAdept.java b/Mage.Sets/src/mage/cards/c/ChainerNightmareAdept.java index a2d1e11dfb..6bf1188998 100644 --- a/Mage.Sets/src/mage/cards/c/ChainerNightmareAdept.java +++ b/Mage.Sets/src/mage/cards/c/ChainerNightmareAdept.java @@ -18,7 +18,6 @@ import mage.constants.*; import mage.filter.StaticFilters; import mage.filter.common.FilterControlledCreaturePermanent; import mage.filter.predicate.Predicates; -import mage.filter.predicate.permanent.AnotherPredicate; import mage.filter.predicate.permanent.TokenPredicate; import mage.game.Game; import mage.game.events.GameEvent; @@ -42,11 +41,14 @@ public final class ChainerNightmareAdept extends CardImpl { this.power = new MageInt(3); this.toughness = new MageInt(2); - // Discard a card: You may cast a creature card from your graveyard this turn. Activate this ability only once each turn. - Ability ability = new LimitedTimesPerTurnActivatedAbility(Zone.BATTLEFIELD, new ChainerNightmareAdeptContinuousEffect(), new DiscardCardCost()); + // Discard a card: You may cast a creature card from your graveyard this turn. + // Activate this ability only once each turn. + Ability ability = new LimitedTimesPerTurnActivatedAbility(Zone.BATTLEFIELD, + new ChainerNightmareAdeptContinuousEffect(), new DiscardCardCost()); this.addAbility(ability, new ChainerNightmareAdeptWatcher()); - // Whenever a nontoken creature enters the battlefield under your control, if you didn't cast it from your hand, it gains haste until your next turn. + // Whenever a nontoken creature enters the battlefield under your control, + // if you didn't cast it from your hand, it gains haste until your next turn. this.addAbility(new ChainerNightmareAdeptTriggeredAbility(), new CastFromHandWatcher()); } @@ -80,7 +82,9 @@ class ChainerNightmareAdeptContinuousEffect extends ContinuousEffectImpl { public boolean apply(Game game, Ability source) { Player player = game.getPlayer(source.getControllerId()); - if (player == null || game.getActivePlayerId() == null || !game.isActivePlayer(player.getId())) { + if (player == null + || game.getActivePlayerId() == null + || !game.isActivePlayer(player.getId())) { return false; } @@ -124,8 +128,10 @@ class ChainerNightmareAdeptCastFromGraveyardEffect extends AsThoughEffectImpl { && affectedControllerId != null && card.getSpellAbility().spellCanBeActivatedRegularlyNow(affectedControllerId, game) && affectedControllerId.equals(source.getControllerId())) { - ChainerNightmareAdeptWatcher watcher = game.getState().getWatcher(ChainerNightmareAdeptWatcher.class, source.getSourceId()); - return watcher != null && !watcher.isAbilityUsed(); + ChainerNightmareAdeptWatcher watcher = game.getState().getWatcher( + ChainerNightmareAdeptWatcher.class, source.getSourceId()); + return watcher != null + && !watcher.isAbilityUsed(); } return false; } @@ -141,9 +147,11 @@ class ChainerNightmareAdeptWatcher extends Watcher { @Override public void watch(GameEvent event, Game game) { - if (event.getType() == GameEvent.EventType.SPELL_CAST && event.getZone() == Zone.GRAVEYARD) { + if (event.getType() == GameEvent.EventType.SPELL_CAST + && event.getZone() == Zone.GRAVEYARD) { Spell spell = (Spell) game.getObject(event.getTargetId()); - if (spell.isCreature()) { + if (spell.isCreature() + && abilityUsed == false) { abilityUsed = true; } } @@ -162,19 +170,22 @@ class ChainerNightmareAdeptWatcher extends Watcher { class ChainerNightmareAdeptTriggeredAbility extends EntersBattlefieldAllTriggeredAbility { - private final static String abilityText = "Whenever a nontoken creature enters the battlefield under your control, " + private final static String abilityText = "Whenever a nontoken creature " + + "enters the battlefield under your control, " + "if you didn't cast it from your hand, it gains haste until your next turn."; - private final static ContinuousEffect gainHasteUntilNextTurnEffect = new GainAbilityTargetEffect(HasteAbility.getInstance(), Duration.UntilYourNextTurn); - private final static FilterControlledCreaturePermanent filter = new FilterControlledCreaturePermanent("another nontoken creature"); + private final static ContinuousEffect gainHasteUntilNextTurnEffect + = new GainAbilityTargetEffect(HasteAbility.getInstance(), Duration.UntilYourNextTurn); + private final static FilterControlledCreaturePermanent filter + = new FilterControlledCreaturePermanent("nontoken creature"); static { filter.add(Predicates.not(TokenPredicate.instance)); filter.add(TargetController.YOU.getControllerPredicate()); - filter.add(AnotherPredicate.instance); } public ChainerNightmareAdeptTriggeredAbility() { - super(Zone.BATTLEFIELD, gainHasteUntilNextTurnEffect, filter, false, SetTargetPointer.PERMANENT, abilityText); + super(Zone.BATTLEFIELD, gainHasteUntilNextTurnEffect, filter, false, + SetTargetPointer.PERMANENT, abilityText); } ChainerNightmareAdeptTriggeredAbility(final ChainerNightmareAdeptTriggeredAbility effect) {