From 3198558dd6fa494c551608f30166f636ade0d9cb Mon Sep 17 00:00:00 2001 From: Dilnu Date: Tue, 22 Nov 2016 08:40:54 -0500 Subject: [PATCH] Fix March of the Machines Add a DependencyType for ArtifactAddingRemoving and use it to make March of the Machines come after artifact type adding effects. --- .../src/mage/cards/m/MarchOfTheMachines.java | 1 + .../continuous/MarchOfTheMachinesTest.java | 19 ++++++++++++++++++- .../continuous/AddCardTypeTargetEffect.java | 2 ++ .../java/mage/constants/DependencyType.java | 1 + 4 files changed, 22 insertions(+), 1 deletion(-) diff --git a/Mage.Sets/src/mage/cards/m/MarchOfTheMachines.java b/Mage.Sets/src/mage/cards/m/MarchOfTheMachines.java index baaf683d7e2..6a2c374c5fb 100644 --- a/Mage.Sets/src/mage/cards/m/MarchOfTheMachines.java +++ b/Mage.Sets/src/mage/cards/m/MarchOfTheMachines.java @@ -76,6 +76,7 @@ class MarchOfTheMachinesEffect extends ContinuousEffectImpl { public MarchOfTheMachinesEffect() { super(Duration.WhileOnBattlefield, Outcome.BecomeCreature); staticText = "Each noncreature artifact is an artifact creature with power and toughness each equal to its converted mana cost"; + dependendToType = DependencyType.ArtifactAddingRemoving; } public MarchOfTheMachinesEffect(final MarchOfTheMachinesEffect effect) { diff --git a/Mage.Tests/src/test/java/org/mage/test/cards/continuous/MarchOfTheMachinesTest.java b/Mage.Tests/src/test/java/org/mage/test/cards/continuous/MarchOfTheMachinesTest.java index e2e0956b76f..1832eaaa512 100644 --- a/Mage.Tests/src/test/java/org/mage/test/cards/continuous/MarchOfTheMachinesTest.java +++ b/Mage.Tests/src/test/java/org/mage/test/cards/continuous/MarchOfTheMachinesTest.java @@ -127,5 +127,22 @@ public class MarchOfTheMachinesTest extends CardTestPlayerBase { assertPermanentCount(playerA, "Accorder's Shield", 0); assertGraveyardCount(playerA, "Accorder's Shield", 1); } - + + @Test + public void testLiquimetalCoatingLandIsDestroyed() { + addCard(Zone.BATTLEFIELD, playerA, "Island", 4); + addCard(Zone.BATTLEFIELD, playerA, "Forest"); + addCard(Zone.BATTLEFIELD, playerA, "Liquimetal Coating"); + addCard(Zone.HAND, playerA, "March of the Machines"); + + castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "March of the Machines"); + activateAbility(2, PhaseStep.PRECOMBAT_MAIN, playerA, "{T}: Target permanent", "Forest"); + + setStopAt(2, PhaseStep.BEGIN_COMBAT); + execute(); + + assertPermanentCount(playerA, "Forest", 0); + assertGraveyardCount(playerA, "Forest", 1); + } + } diff --git a/Mage/src/main/java/mage/abilities/effects/common/continuous/AddCardTypeTargetEffect.java b/Mage/src/main/java/mage/abilities/effects/common/continuous/AddCardTypeTargetEffect.java index 57086d2b026..665f4b28cc5 100644 --- a/Mage/src/main/java/mage/abilities/effects/common/continuous/AddCardTypeTargetEffect.java +++ b/Mage/src/main/java/mage/abilities/effects/common/continuous/AddCardTypeTargetEffect.java @@ -52,6 +52,8 @@ public class AddCardTypeTargetEffect extends ContinuousEffectImpl { this.addedCardType = addedCardType; if (addedCardType.equals(CardType.ENCHANTMENT)) { dependencyTypes.add(DependencyType.EnchantmentAddingRemoving); + } else if (addedCardType.equals(CardType.ARTIFACT)) { + dependencyTypes.add(DependencyType.ArtifactAddingRemoving); } } diff --git a/Mage/src/main/java/mage/constants/DependencyType.java b/Mage/src/main/java/mage/constants/DependencyType.java index 719c8ad4d00..4141c330cf8 100644 --- a/Mage/src/main/java/mage/constants/DependencyType.java +++ b/Mage/src/main/java/mage/constants/DependencyType.java @@ -41,6 +41,7 @@ package mage.constants; public enum DependencyType { AuraAddingRemoving, + ArtifactAddingRemoving, BecomeForest, BecomeIsland, BecomeMountain,