diff --git a/Mage.Tests/src/test/java/org/mage/test/cards/abilities/keywords/TransformTest.java b/Mage.Tests/src/test/java/org/mage/test/cards/abilities/keywords/TransformTest.java index ad94dfaed49..04417cc619c 100644 --- a/Mage.Tests/src/test/java/org/mage/test/cards/abilities/keywords/TransformTest.java +++ b/Mage.Tests/src/test/java/org/mage/test/cards/abilities/keywords/TransformTest.java @@ -1,6 +1,5 @@ package org.mage.test.cards.abilities.keywords; -import mage.cards.s.SpringOfEternalPeace; import mage.constants.CardType; import mage.constants.PhaseStep; import mage.constants.Zone; @@ -384,7 +383,6 @@ public class TransformTest extends CardTestPlayerBase { assertPowerToughness(playerA, "Huntmaster of the Fells", 2, 2); assertTappedCount("Plains", true, 2); assertTappedCount("Wastes", true, 1); - } @Test @@ -413,8 +411,32 @@ public class TransformTest extends CardTestPlayerBase { assertPermanentCount(playerA, "Ravager of the Fells", 0); assertPermanentCount(playerA, "Huntmaster of the Fells", 1); assertPowerToughness(playerA, "Huntmaster of the Fells", 2, 2); + } + @Test + public void testWildsongHowlerTrigger() { + // The only Daybound/Nightbound card with a Transforms trigger on the back side + removeAllCardsFromLibrary(playerA); + addCard(Zone.HAND, playerA, "Howlpack Piper", 2); // Creature {2}{R}{G} + addCard(Zone.LIBRARY, playerA, "Silvercoat Lion", 50); + addCard(Zone.BATTLEFIELD, playerA, "Forest", 4); + castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Howlpack Piper"); + setChoice(playerA, true); //Transform trigger + addTarget(playerA, "Silvercoat Lion"); + + castSpell(3, PhaseStep.PRECOMBAT_MAIN, playerA, "Howlpack Piper"); + setChoice(playerA, true); //ETB trigger + addTarget(playerA, "Silvercoat Lion"); + setStopAt(3, PhaseStep.POSTCOMBAT_MAIN); + setStrictChooseMode(true); + + execute(); + + assertPermanentCount(playerA, "Wildsong Howler", 2); + assertPermanentCount(playerA, "Howlpack Piper", 0); // They should be both transformed + assertHandCount(playerA, "Silvercoat Lion", 3); + assertHandCount(playerA, 3); //The two Silvercoat Lions from triggers and 1 from natural card draw } /** diff --git a/Mage/src/main/java/mage/abilities/common/TransformIntoSourceTriggeredAbility.java b/Mage/src/main/java/mage/abilities/common/TransformIntoSourceTriggeredAbility.java index c1908819867..28005a50453 100644 --- a/Mage/src/main/java/mage/abilities/common/TransformIntoSourceTriggeredAbility.java +++ b/Mage/src/main/java/mage/abilities/common/TransformIntoSourceTriggeredAbility.java @@ -5,7 +5,6 @@ import mage.abilities.effects.Effect; import mage.constants.Zone; import mage.game.Game; import mage.game.events.GameEvent; -import mage.game.permanent.Permanent; /** * @author TheElk801 @@ -41,10 +40,6 @@ public class TransformIntoSourceTriggeredAbility extends TriggeredAbilityImpl { @Override public boolean checkTrigger(GameEvent event, Game game) { - if (!event.getTargetId().equals(this.getSourceId())) { - return false; - } - Permanent permanent = getSourcePermanentIfItStillExists(game); - return permanent != null && permanent.isTransformed(); + return event.getTargetId().equals(this.getSourceId()); } } diff --git a/Mage/src/main/java/mage/abilities/common/TransformsOrEntersTriggeredAbility.java b/Mage/src/main/java/mage/abilities/common/TransformsOrEntersTriggeredAbility.java index 43635f5246c..41bb07e832b 100644 --- a/Mage/src/main/java/mage/abilities/common/TransformsOrEntersTriggeredAbility.java +++ b/Mage/src/main/java/mage/abilities/common/TransformsOrEntersTriggeredAbility.java @@ -5,13 +5,11 @@ import mage.abilities.effects.Effect; import mage.constants.Zone; import mage.game.Game; import mage.game.events.GameEvent; -import mage.game.permanent.Permanent; /** * @author TheElk801 */ public class TransformsOrEntersTriggeredAbility extends TriggeredAbilityImpl { - public TransformsOrEntersTriggeredAbility(Effect effect, boolean optional) { super(Zone.BATTLEFIELD, effect, optional); setTriggerPhrase("Whenever this creature enters or transforms into {this}, "); @@ -34,16 +32,6 @@ public class TransformsOrEntersTriggeredAbility extends TriggeredAbilityImpl { @Override public boolean checkTrigger(GameEvent event, Game game) { - if (!event.getTargetId().equals(this.getSourceId())) { - return false; - } - switch (event.getType()) { - case TRANSFORMED: - Permanent permanent = getSourcePermanentIfItStillExists(game); - return permanent != null && !permanent.isTransformed(); - case ENTERS_THE_BATTLEFIELD: - return true; - } - return false; + return event.getTargetId().equals(this.getSourceId()); } }