From af67e27bcd920b32e96dfd9b74bcbb6e3c3c40eb Mon Sep 17 00:00:00 2001 From: LevelX2 Date: Thu, 22 Oct 2015 15:37:58 +0200 Subject: [PATCH] * Alesha, Who Smiles at Death - Fixed that the move card to battlefield worked not correctly. --- .../mage/sets/fatereforged/AleshaWhoSmilesAtDeath.java | 10 ++++------ .../serverside/base/impl/CardTestPlayerAPIImpl.java | 8 ++++++-- 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/Mage.Sets/src/mage/sets/fatereforged/AleshaWhoSmilesAtDeath.java b/Mage.Sets/src/mage/sets/fatereforged/AleshaWhoSmilesAtDeath.java index 48380d0e00c..512e63ad699 100644 --- a/Mage.Sets/src/mage/sets/fatereforged/AleshaWhoSmilesAtDeath.java +++ b/Mage.Sets/src/mage/sets/fatereforged/AleshaWhoSmilesAtDeath.java @@ -45,7 +45,6 @@ import mage.filter.Filter; import mage.filter.common.FilterCreatureCard; import mage.filter.predicate.mageobject.PowerPredicate; import mage.game.Game; -import mage.game.permanent.Permanent; import mage.players.Player; import mage.target.common.TargetCardInYourGraveyard; @@ -72,11 +71,11 @@ public class AleshaWhoSmilesAtDeath extends CardImpl { // First strike this.addAbility(FirstStrikeAbility.getInstance()); - + // Whenever Alesha, Who Smiles at Death attacks, you may pay {W/B}{W/B}. If you do, return target creature card with power 2 or less from your graveyard to the battlefield tapped and attacking. Ability ability = new AttacksTriggeredAbility(new DoIfCostPaid(new AleshaWhoSmilesAtDeathEffect(), new ManaCostsImpl("{W/B}{W/B}")), false); ability.addTarget(new TargetCardInYourGraveyard(filter)); - this.addAbility(ability); + this.addAbility(ability); } public AleshaWhoSmilesAtDeath(final AleshaWhoSmilesAtDeath card) { @@ -107,9 +106,8 @@ class AleshaWhoSmilesAtDeathEffect extends OneShotEffect { if (controller != null) { Card card = game.getCard(getTargetPointer().getFirst(game, source)); if (card != null) { - if (card.putOntoBattlefield(game, Zone.GRAVEYARD, source.getSourceId(), source.getControllerId(), true)) { - Permanent permanent = game.getPermanent(card.getId()); - game.getCombat().addAttackingCreature(permanent.getId(), game); + if (controller.moveCards(card, Zone.BATTLEFIELD, source, game, true, false, false, null)) { + game.getCombat().addAttackingCreature(card.getId(), game); } } return true; diff --git a/Mage.Tests/src/test/java/org/mage/test/serverside/base/impl/CardTestPlayerAPIImpl.java b/Mage.Tests/src/test/java/org/mage/test/serverside/base/impl/CardTestPlayerAPIImpl.java index 8611baa943c..4b9cc8f0eb5 100644 --- a/Mage.Tests/src/test/java/org/mage/test/serverside/base/impl/CardTestPlayerAPIImpl.java +++ b/Mage.Tests/src/test/java/org/mage/test/serverside/base/impl/CardTestPlayerAPIImpl.java @@ -614,14 +614,18 @@ public abstract class CardTestPlayerAPIImpl extends MageTestPlayerBase implement * @param count Expected count. */ public void assertCounterCount(String cardName, CounterType type, int count) throws AssertionError { + this.assertCounterCount(null, cardName, type, count); + } + + public void assertCounterCount(Player player, String cardName, CounterType type, int count) throws AssertionError { Permanent found = null; for (Permanent permanent : currentGame.getBattlefield().getAllActivePermanents()) { - if (permanent.getName().equals(cardName)) { + if (permanent.getName().equals(cardName) && (player == null || permanent.getControllerId().equals(player.getId()))) { found = permanent; break; } } - Assert.assertNotNull("There is no such permanent on the battlefield, cardName=" + cardName, found); + Assert.assertNotNull("There is no such permanent " + (player == null ? "" : "for player " + player.getName()) + " on the battlefield, cardName=" + cardName, found); Assert.assertEquals("(Battlefield) Counter counts are not equal (" + cardName + ":" + type + ")", count, found.getCounters().getCount(type)); }