diff --git a/Mage.Sets/src/mage/sets/innistrad/GeistOfSaintTraft.java b/Mage.Sets/src/mage/sets/innistrad/GeistOfSaintTraft.java index 0972035ff0d..e94b578e08d 100644 --- a/Mage.Sets/src/mage/sets/innistrad/GeistOfSaintTraft.java +++ b/Mage.Sets/src/mage/sets/innistrad/GeistOfSaintTraft.java @@ -28,7 +28,6 @@ package mage.sets.innistrad; import java.util.UUID; - import mage.Constants; import mage.Constants.CardType; import mage.Constants.Rarity; @@ -45,6 +44,7 @@ import mage.cards.CardImpl; import mage.game.Game; import mage.game.permanent.Permanent; import mage.game.permanent.token.AngelToken; +import mage.players.Player; import mage.target.targetpointer.FixedTarget; /** @@ -92,10 +92,10 @@ class GeistOfSaintTraftEffect extends OneShotEffect { @Override public boolean apply(Game game, Ability source) { AngelToken token = new AngelToken(); - if (token.putOntoBattlefield(1, game, source.getSourceId(), source.getControllerId())) { + Player controller = game.getPlayer(source.getControllerId()); + if (controller != null && token.putOntoBattlefield(1, game, source.getSourceId(), source.getControllerId())) { Permanent p = game.getPermanent(token.getLastAddedToken()); - game.getCombat().declareAttacker(p.getId(), game.getCombat().getDefendingPlayer(source.getSourceId()), game); - p.setTapped(true); + game.getCombat().addAttackingCreature(p.getId(), game); Effect effect = new ExileTargetEffect(); effect.setTargetPointer(new FixedTarget(token.getLastAddedToken())); CreateDelayedTriggeredAbilityEffect createEffect = new CreateDelayedTriggeredAbilityEffect(new AtTheEndOfCombatDelayedTriggeredAbility(effect)); @@ -109,4 +109,4 @@ class GeistOfSaintTraftEffect extends OneShotEffect { public GeistOfSaintTraftEffect copy() { return new GeistOfSaintTraftEffect(this); } -} \ No newline at end of file +} diff --git a/Mage.Sets/src/mage/sets/innistrad/KessigCagebreakers.java b/Mage.Sets/src/mage/sets/innistrad/KessigCagebreakers.java index 78755b0909e..c3e58c73d7b 100644 --- a/Mage.Sets/src/mage/sets/innistrad/KessigCagebreakers.java +++ b/Mage.Sets/src/mage/sets/innistrad/KessigCagebreakers.java @@ -97,8 +97,7 @@ class KessigCagebreakersEffect extends OneShotEffect { for (int i = 0; i < count; i++) { token.putOntoBattlefield(1, game, source.getId(), source.getControllerId()); Permanent permanent = game.getPermanent(token.getLastAddedToken()); - game.getCombat().declareAttacker(permanent.getId(), game.getCombat().getDefendingPlayer(source.getSourceId()), game); - permanent.setTapped(true); + game.getCombat().addAttackingCreature(permanent.getId(), game); } return true; } diff --git a/Mage.Sets/src/mage/sets/mirrodinbesieged/HeroOfBladehold.java b/Mage.Sets/src/mage/sets/mirrodinbesieged/HeroOfBladehold.java index 88fcee08730..24cf7ef252f 100644 --- a/Mage.Sets/src/mage/sets/mirrodinbesieged/HeroOfBladehold.java +++ b/Mage.Sets/src/mage/sets/mirrodinbesieged/HeroOfBladehold.java @@ -90,8 +90,7 @@ class HeroOfBladeholdEffect extends OneShotEffect { for (int i = 0; i < 2; i++) { token.putOntoBattlefield(1, game, source.getId(), source.getControllerId()); Permanent p = game.getPermanent(token.getLastAddedToken()); - game.getCombat().declareAttacker(p.getId(), game.getCombat().getDefendingPlayer(source.getSourceId()), game); - p.setTapped(true); + game.getCombat().addAttackingCreature(p.getId(), game); } } return true; diff --git a/Mage.Sets/src/mage/sets/morningtide/PreeminentCaptain.java b/Mage.Sets/src/mage/sets/morningtide/PreeminentCaptain.java index 5af2f805faa..58ef2e79f09 100644 --- a/Mage.Sets/src/mage/sets/morningtide/PreeminentCaptain.java +++ b/Mage.Sets/src/mage/sets/morningtide/PreeminentCaptain.java @@ -106,20 +106,9 @@ class PreeminentCaptainEffect extends OneShotEffect { UUID cardId = target.getFirstTarget(); Card card = player.getHand().get(cardId, game); if (card != null) { - if (card.putOntoBattlefield(game, Zone.HAND, - source.getId(), source.getControllerId())) { + if (card.putOntoBattlefield(game, Zone.HAND, source.getId(), source.getControllerId())) { Permanent permanent = game.getPermanent(card.getId()); - permanent.setTapped(true); - TargetDefender def = new TargetDefender(game - .getCombat().getDefenders(), player.getId()); - if (def.choose(getOutcome(), player.getId(), source.getSourceId(), game)) { - // TODO -> If only one option, don't ask, as for normal attacking. - if (def.getTargets().size() > 0) { - game.getCombat().declareAttacker( - permanent.getId(), - def.getFirstTarget(), game); - } - } + game.getCombat().addAttackingCreature(permanent.getId(), game); } } return true;