diff --git a/Mage/src/mage/abilities/ActivatedAbilityImpl.java b/Mage/src/mage/abilities/ActivatedAbilityImpl.java index b32efb1466d..7565e31e6e2 100644 --- a/Mage/src/mage/abilities/ActivatedAbilityImpl.java +++ b/Mage/src/mage/abilities/ActivatedAbilityImpl.java @@ -171,6 +171,8 @@ public abstract class ActivatedAbilityImpl> ex @Override public String getActivatedMessage(Game game) { + if (game.isSimulation()) + return ""; return " activates ability from " + getMessageText(game); } diff --git a/Mage/src/mage/abilities/costs/mana/PhyrexianManaCost.java b/Mage/src/mage/abilities/costs/mana/PhyrexianManaCost.java index 8197a2e3366..3726781eee7 100644 --- a/Mage/src/mage/abilities/costs/mana/PhyrexianManaCost.java +++ b/Mage/src/mage/abilities/costs/mana/PhyrexianManaCost.java @@ -29,6 +29,7 @@ package mage.abilities.costs.mana; import mage.Constants.ColoredManaSymbol; +import mage.Mana; import mage.abilities.Ability; import mage.game.Game; import mage.players.ManaPool; @@ -43,6 +44,7 @@ public class PhyrexianManaCost extends ColoredManaCost { public PhyrexianManaCost(ColoredManaSymbol mana) { super(mana); + options.add(Mana.ColorlessMana(0)); } public PhyrexianManaCost(PhyrexianManaCost manaCost) { diff --git a/Mage/src/mage/abilities/effects/PlaneswalkerRedirectionEffect.java b/Mage/src/mage/abilities/effects/PlaneswalkerRedirectionEffect.java index d77df1541a3..aa60fd6295e 100644 --- a/Mage/src/mage/abilities/effects/PlaneswalkerRedirectionEffect.java +++ b/Mage/src/mage/abilities/effects/PlaneswalkerRedirectionEffect.java @@ -71,7 +71,7 @@ public class PlaneswalkerRedirectionEffect extends RedirectionEffect 0 && player.chooseUse(outcome, "Redirect damage to planeswalker?", game)) { redirectTarget = new TargetPermanent(filter); @@ -79,7 +79,7 @@ public class PlaneswalkerRedirectionEffect extends RedirectionEffect { @Override public void postResolve(Card card, Ability source, UUID controllerId, Game game) { - game.getExile().getPermanentExile().add(card); + card.moveToExile(null, "", source.getSourceId(), game); } } diff --git a/Mage/src/mage/abilities/keyword/AnnihilatorAbility.java b/Mage/src/mage/abilities/keyword/AnnihilatorAbility.java index dac578fae05..de39be42548 100644 --- a/Mage/src/mage/abilities/keyword/AnnihilatorAbility.java +++ b/Mage/src/mage/abilities/keyword/AnnihilatorAbility.java @@ -114,7 +114,8 @@ class AnnihilatorEffect extends OneShotEffect { } filter.setTargetController(TargetController.YOU); - Target target = new TargetControlledPermanent(1, count, filter, false); + int amount = Math.min(count, game.getBattlefield().countAll(filter, player.getId())); + Target target = new TargetControlledPermanent(amount, amount, filter, false); //A spell or ability could have removed the only legal target this player //had, if thats the case this ability should fizzle. diff --git a/Mage/src/mage/game/stack/SpellStack.java b/Mage/src/mage/game/stack/SpellStack.java index a56c85ffff0..d9a245d0cf4 100644 --- a/Mage/src/mage/game/stack/SpellStack.java +++ b/Mage/src/mage/game/stack/SpellStack.java @@ -28,12 +28,12 @@ package mage.game.stack; +import java.util.ArrayDeque; import java.util.ArrayList; import java.util.LinkedHashMap; import java.util.List; import java.util.Map; import java.util.Map.Entry; -import java.util.Stack; import java.util.UUID; import mage.Constants.Zone; import mage.abilities.Ability; @@ -46,7 +46,7 @@ import mage.players.Player; * * @author BetaSteward_at_googlemail.com */ -public class SpellStack extends Stack { +public class SpellStack extends ArrayDeque { public SpellStack () {}