From 30716edc77b4eef2bed49c6cbf9f6b9d89cf21d6 Mon Sep 17 00:00:00 2001 From: Evan Kranzler Date: Fri, 28 Jun 2019 20:13:53 -0400 Subject: [PATCH] fixed Chandra, Acolyte of Flame not giving tokens haste or sacrificing them at end of turn --- .../mage/cards/c/ChandraAcolyteOfFlame.java | 23 ++++++++++--------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/Mage.Sets/src/mage/cards/c/ChandraAcolyteOfFlame.java b/Mage.Sets/src/mage/cards/c/ChandraAcolyteOfFlame.java index 00552222632..e75a018374b 100644 --- a/Mage.Sets/src/mage/cards/c/ChandraAcolyteOfFlame.java +++ b/Mage.Sets/src/mage/cards/c/ChandraAcolyteOfFlame.java @@ -30,10 +30,7 @@ import mage.game.permanent.token.YoungPyromancerElementalToken; import mage.players.Player; import mage.target.common.TargetCardInYourGraveyard; import mage.target.targetpointer.FixedTarget; -import mage.target.targetpointer.FixedTargets; -import java.util.ArrayList; -import java.util.List; import java.util.UUID; import static mage.constants.Outcome.Benefit; @@ -104,16 +101,20 @@ class ChandraAcolyteOfFlameEffect extends OneShotEffect { Token token = new YoungPyromancerElementalToken(); token.putOntoBattlefield(2, game, source.getSourceId(), source.getControllerId()); - List perms = new ArrayList(); - token.getLastAddedTokenIds().stream().map(permId -> perms.add(game.getPermanent(permId))); + token.getLastAddedTokenIds().stream().forEach(permId -> { + Permanent permanent = game.getPermanent(permId); + if (permanent == null) { + return; + } - ContinuousEffect effect = new GainAbilityTargetEffect(HasteAbility.getInstance(), Duration.Custom); - effect.setTargetPointer(new FixedTargets(perms, game)); - game.addEffect(effect, source); + ContinuousEffect effect = new GainAbilityTargetEffect(HasteAbility.getInstance(), Duration.Custom); + effect.setTargetPointer(new FixedTarget(permId, game)); + game.addEffect(effect, source); - Effect effect2 = new SacrificeTargetEffect(); - effect.setTargetPointer(new FixedTargets(perms, game)); - game.addDelayedTriggeredAbility(new AtTheBeginOfNextEndStepDelayedTriggeredAbility(effect2), source); + Effect effect2 = new SacrificeTargetEffect(); + effect.setTargetPointer(new FixedTarget(permId, game)); + game.addDelayedTriggeredAbility(new AtTheBeginOfNextEndStepDelayedTriggeredAbility(effect2), source); + }); return true; }