From 78cff4d24f8e969e089f1dee442551bf78a6bec0 Mon Sep 17 00:00:00 2001 From: LevelX2 Date: Sat, 14 Jan 2017 15:47:33 +0100 Subject: [PATCH] * Fixed Flailing Drake and test. --- Mage.Sets/src/mage/cards/f/FlailingDrake.java | 3 +- .../test/cards/single/FlailingDrakeTest.java | 37 +++++++++++-------- Mage/src/main/java/mage/watchers/Watcher.java | 1 + 3 files changed, 24 insertions(+), 17 deletions(-) diff --git a/Mage.Sets/src/mage/cards/f/FlailingDrake.java b/Mage.Sets/src/mage/cards/f/FlailingDrake.java index 28b4f1ca451..2297de3860a 100644 --- a/Mage.Sets/src/mage/cards/f/FlailingDrake.java +++ b/Mage.Sets/src/mage/cards/f/FlailingDrake.java @@ -38,6 +38,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Duration; +import mage.filter.common.FilterCreaturePermanent; /** * @@ -56,7 +57,7 @@ public class FlailingDrake extends CardImpl { // Whenever Flailing Drake blocks or becomes blocked by a creature, that creature gets +1/+1 until end of turn. Effect effect = new BoostTargetEffect(+1, +1, Duration.EndOfTurn); effect.setText("that creature gets +1/+1 until end of turn"); - Ability ability = new BlocksOrBecomesBlockedTriggeredAbility(effect, false); + Ability ability = new BlocksOrBecomesBlockedTriggeredAbility(effect, new FilterCreaturePermanent("a creature"), false, null, true); this.addAbility(ability); } diff --git a/Mage.Tests/src/test/java/org/mage/test/cards/single/FlailingDrakeTest.java b/Mage.Tests/src/test/java/org/mage/test/cards/single/FlailingDrakeTest.java index a51c58a2c16..551a348123f 100644 --- a/Mage.Tests/src/test/java/org/mage/test/cards/single/FlailingDrakeTest.java +++ b/Mage.Tests/src/test/java/org/mage/test/cards/single/FlailingDrakeTest.java @@ -9,47 +9,52 @@ import org.mage.test.serverside.base.CardTestPlayerBase; * * @author anonymous * - * Whenever Flailing Drake blocks or becomes blocked by a creature, that creature gets +1/+1 until end of turn. + * Whenever Flailing Drake blocks or becomes blocked by a creature, that + * creature gets +1/+1 until end of turn. */ public class FlailingDrakeTest extends CardTestPlayerBase { @Test public void testIncreaseBlocker() { - addCard(Zone.BATTLEFIELD, playerA, "Forest", 3); - addCard(Zone.BATTLEFIELD, playerA, "Island", 1); - addCard(Zone.BATTLEFIELD, playerA, "Flailing Drake", 1); + addCard(Zone.BATTLEFIELD, playerA, "Forest", 4); + // Flying + // Whenever Flailing Drake blocks or becomes blocked by a creature, that creature gets +1/+1 until end of turn. + addCard(Zone.BATTLEFIELD, playerA, "Flailing Drake", 1); // Creature {3}{G} 2/3 + + addCard(Zone.BATTLEFIELD, playerB, "Island", 4); + addCard(Zone.BATTLEFIELD, playerB, "Snapping Drake", 1); // Creature {3}{U} 3/2 + + castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Flailing Drake"); + castSpell(2, PhaseStep.PRECOMBAT_MAIN, playerB, "Snapping Drake"); - addCard(Zone.BATTLEFIELD, playerB, "Forest", 3); - addCard(Zone.BATTLEFIELD, playerB, "Island", 3); - addCard(Zone.BATTLEFIELD, playerB, "Snapping Drake", 1); - attack(3, playerA, "Flailing Drake"); block(3, playerB, "Snapping Drake", "Flailing Drake"); setStopAt(3, PhaseStep.POSTCOMBAT_MAIN); execute(); - + assertGraveyardCount(playerA, "Flailing Drake", 1); //Snapping Drake 4/3 assertPowerToughness(playerB, "Snapping Drake", 4, 3); } - + @Test public void testIncreaseBlocked() { - addCard(Zone.BATTLEFIELD, playerA, "Forest", 3); - addCard(Zone.BATTLEFIELD, playerA, "Island", 1); + addCard(Zone.BATTLEFIELD, playerA, "Forest", 4); addCard(Zone.BATTLEFIELD, playerA, "Flailing Drake", 1); - addCard(Zone.BATTLEFIELD, playerB, "Forest", 3); - addCard(Zone.BATTLEFIELD, playerB, "Island", 3); + addCard(Zone.BATTLEFIELD, playerB, "Island", 4); addCard(Zone.BATTLEFIELD, playerB, "Snapping Drake", 1); - + + castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Flailing Drake"); + castSpell(2, PhaseStep.PRECOMBAT_MAIN, playerB, "Snapping Drake"); + attack(4, playerB, "Snapping Drake"); block(4, playerA, "Flailing Drake", "Snapping Drake"); setStopAt(4, PhaseStep.POSTCOMBAT_MAIN); execute(); - + assertGraveyardCount(playerA, "Flailing Drake", 1); //Snapping Drake 4/3 assertPowerToughness(playerB, "Snapping Drake", 4, 3); diff --git a/Mage/src/main/java/mage/watchers/Watcher.java b/Mage/src/main/java/mage/watchers/Watcher.java index 0ab4efc7547..ad38050b85b 100644 --- a/Mage/src/main/java/mage/watchers/Watcher.java +++ b/Mage/src/main/java/mage/watchers/Watcher.java @@ -57,6 +57,7 @@ public abstract class Watcher implements Serializable { this.controllerId = watcher.controllerId; this.sourceId = watcher.sourceId; this.scope = watcher.scope; + this.basicKey = watcher.basicKey; } public UUID getControllerId() {