From c9d18f041091fdc8a2258546cb2193b0824f5cd1 Mon Sep 17 00:00:00 2001 From: LevelX2 Date: Sun, 11 Aug 2013 16:03:58 +0200 Subject: [PATCH] Fixed a bug in LockedInCondition that caused bugs in cards that used it (e.g. Goblin Bushwhacker). --- Mage.Sets/src/mage/sets/zendikar/MoldShambler.java | 3 ++- .../org/mage/test/cards/continuous/GoblinBushwhackerTest.java | 2 ++ Mage/src/mage/abilities/condition/LockedInCondition.java | 2 +- Mage/src/mage/abilities/keyword/KickerAbility.java | 2 +- 4 files changed, 6 insertions(+), 3 deletions(-) diff --git a/Mage.Sets/src/mage/sets/zendikar/MoldShambler.java b/Mage.Sets/src/mage/sets/zendikar/MoldShambler.java index d623ff2dd9c..05f7d6917c1 100644 --- a/Mage.Sets/src/mage/sets/zendikar/MoldShambler.java +++ b/Mage.Sets/src/mage/sets/zendikar/MoldShambler.java @@ -32,6 +32,7 @@ import mage.constants.CardType; import mage.constants.Rarity; import mage.MageInt; import mage.abilities.common.EntersBattlefieldTriggeredAbility; +import mage.abilities.condition.LockedInCondition; import mage.abilities.condition.common.KickedCondition; import mage.abilities.decorator.ConditionalTriggeredAbility; import mage.abilities.effects.common.DestroyTargetEffect; @@ -73,7 +74,7 @@ public class MoldShambler extends CardImpl { Target target = new TargetPermanent(filter); target.setRequired(true); ability.addTarget(target); - this.addAbility(new ConditionalTriggeredAbility(ability, KickedCondition.getInstance(), "When {this} enters the battlefield, if it was kicked, destroy target noncreature permanent.")); + this.addAbility(new ConditionalTriggeredAbility(ability, new LockedInCondition(KickedCondition.getInstance()), "When {this} enters the battlefield, if it was kicked, destroy target noncreature permanent.")); } public MoldShambler(final MoldShambler card) { diff --git a/Mage.Tests/src/test/java/org/mage/test/cards/continuous/GoblinBushwhackerTest.java b/Mage.Tests/src/test/java/org/mage/test/cards/continuous/GoblinBushwhackerTest.java index e04d205a639..c1c521e26a9 100644 --- a/Mage.Tests/src/test/java/org/mage/test/cards/continuous/GoblinBushwhackerTest.java +++ b/Mage.Tests/src/test/java/org/mage/test/cards/continuous/GoblinBushwhackerTest.java @@ -16,6 +16,8 @@ public class GoblinBushwhackerTest extends CardTestPlayerBase { // Goblin Bushwhacker - Creature — Goblin Warrior 1/1, R - Kicker {R} (You may pay an additional {R} as you cast this spell.) // When Goblin Bushwhacker enters the battlefield, if it was kicked, creatures you control get +1/+0 and gain haste until end of turn. addCard(Zone.HAND, playerA, "Goblin Bushwhacker"); + + // Creature — Human Soldier 2/1 addCard(Zone.BATTLEFIELD, playerA, "Elite Vanguard"); castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Goblin Bushwhacker"); diff --git a/Mage/src/mage/abilities/condition/LockedInCondition.java b/Mage/src/mage/abilities/condition/LockedInCondition.java index 72863348f2f..da4838cd2b4 100644 --- a/Mage/src/mage/abilities/condition/LockedInCondition.java +++ b/Mage/src/mage/abilities/condition/LockedInCondition.java @@ -52,7 +52,7 @@ public class LockedInCondition implements Condition { @Override public boolean apply(Game game, Ability source) { if(!conditionChecked) { - result = !condition.apply(game, source); + result = condition.apply(game, source); conditionChecked = true; } return result; diff --git a/Mage/src/mage/abilities/keyword/KickerAbility.java b/Mage/src/mage/abilities/keyword/KickerAbility.java index e2d72b93c60..3f84eaa94ee 100644 --- a/Mage/src/mage/abilities/keyword/KickerAbility.java +++ b/Mage/src/mage/abilities/keyword/KickerAbility.java @@ -115,7 +115,7 @@ public class KickerAbility extends StaticAbility implements Optio public KickerAbility(final KickerAbility ability) { super(ability); - this.kickerCosts = ability.kickerCosts; + this.kickerCosts.addAll(ability.kickerCosts); this.keywordText = ability.keywordText; this.reminderText = ability.reminderText; this.xManaValue = ability.xManaValue;