From 8567c1cd3883d08fe651485d8fad6721cff73c74 Mon Sep 17 00:00:00 2001 From: LevelX2 Date: Thu, 18 Sep 2014 10:27:27 +0200 Subject: [PATCH] * Raid - Fixed 6 cards with "Raid" and "enters the battlefield triggered ability" not handling the "intervening 'if' clause" rule correctly. --- .../src/mage/sets/khansoftarkir/MarduHeartPiercer.java | 6 +++--- Mage.Sets/src/mage/sets/khansoftarkir/MarduHordechief.java | 6 ++++-- .../src/mage/sets/khansoftarkir/MarduSkullhunter.java | 7 +++---- .../src/mage/sets/khansoftarkir/MarduWarshrieker.java | 5 +++-- Mage.Sets/src/mage/sets/khansoftarkir/TimelyHordemate.java | 6 +++--- Mage.Sets/src/mage/sets/khansoftarkir/WingmateRoc.java | 5 +++-- 6 files changed, 19 insertions(+), 16 deletions(-) diff --git a/Mage.Sets/src/mage/sets/khansoftarkir/MarduHeartPiercer.java b/Mage.Sets/src/mage/sets/khansoftarkir/MarduHeartPiercer.java index 8c8cab4e41f..f5c2ce8da7d 100644 --- a/Mage.Sets/src/mage/sets/khansoftarkir/MarduHeartPiercer.java +++ b/Mage.Sets/src/mage/sets/khansoftarkir/MarduHeartPiercer.java @@ -32,7 +32,7 @@ import mage.MageInt; import mage.abilities.Ability; import mage.abilities.common.EntersBattlefieldTriggeredAbility; import mage.abilities.condition.common.RaidCondition; -import mage.abilities.decorator.ConditionalOneShotEffect; +import mage.abilities.decorator.ConditionalTriggeredAbility; import mage.abilities.effects.common.DamageTargetEffect; import mage.cards.CardImpl; import mage.constants.CardType; @@ -57,8 +57,8 @@ public class MarduHeartPiercer extends CardImpl { this.toughness = new MageInt(3); // Raid - When Mardu Heart-Piercer enters the battlefield, if you attacked with a creature this turn, Mardu Heart-Piercer deals 2 damage to target creature or player. - Ability ability = new EntersBattlefieldTriggeredAbility(new ConditionalOneShotEffect(new DamageTargetEffect(2), RaidCondition.getInstance(), - "if you attacked with a creature this turn, {this} deals 2 damage to target creature or player"), false, "Raid - "); + Ability ability = new ConditionalTriggeredAbility(new EntersBattlefieldTriggeredAbility(new DamageTargetEffect(2)), RaidCondition.getInstance(), + "Raid - When {this} enters the battlefield, if you attacked with a creature this turn, {this} deals 2 damage to target creature or player.", false); ability.addTarget(new TargetCreatureOrPlayer()); this.addAbility(ability); this.addWatcher(new PlayerAttackedWatcher()); diff --git a/Mage.Sets/src/mage/sets/khansoftarkir/MarduHordechief.java b/Mage.Sets/src/mage/sets/khansoftarkir/MarduHordechief.java index c158ef42487..1b06ea71c6f 100644 --- a/Mage.Sets/src/mage/sets/khansoftarkir/MarduHordechief.java +++ b/Mage.Sets/src/mage/sets/khansoftarkir/MarduHordechief.java @@ -31,7 +31,7 @@ import java.util.UUID; import mage.MageInt; import mage.abilities.common.EntersBattlefieldTriggeredAbility; import mage.abilities.condition.common.RaidCondition; -import mage.abilities.decorator.ConditionalOneShotEffect; +import mage.abilities.decorator.ConditionalTriggeredAbility; import mage.abilities.effects.common.CreateTokenEffect; import mage.cards.CardImpl; import mage.constants.CardType; @@ -56,7 +56,9 @@ public class MarduHordechief extends CardImpl { this.toughness = new MageInt(3); // Raid - When Mardu Hordechief enters the battlefield, if you attacked with a creature this turn, put a 1/1 white Warrior creature token onto the battlefield - this.addAbility(new EntersBattlefieldTriggeredAbility(new ConditionalOneShotEffect(new CreateTokenEffect(new MarduHordechiefToken()), RaidCondition.getInstance(), "if you attacked with a creature this turn, put a 1/1 white Warrior creature token onto the battlefield"), false, "Raid - ")); + this.addAbility(new ConditionalTriggeredAbility(new EntersBattlefieldTriggeredAbility(new CreateTokenEffect(new MarduHordechiefToken())), RaidCondition.getInstance(), + "Raid - When {this} enters the battlefield, if you attacked with a creature this turn, put a 1/1 white Warrior creature token onto the battlefield.", false)); + this.addWatcher(new PlayerAttackedWatcher()); } diff --git a/Mage.Sets/src/mage/sets/khansoftarkir/MarduSkullhunter.java b/Mage.Sets/src/mage/sets/khansoftarkir/MarduSkullhunter.java index 6f466b2547a..e4681d1d23f 100644 --- a/Mage.Sets/src/mage/sets/khansoftarkir/MarduSkullhunter.java +++ b/Mage.Sets/src/mage/sets/khansoftarkir/MarduSkullhunter.java @@ -33,7 +33,7 @@ import mage.abilities.Ability; import mage.abilities.common.EntersBattlefieldTappedAbility; import mage.abilities.common.EntersBattlefieldTriggeredAbility; import mage.abilities.condition.common.RaidCondition; -import mage.abilities.decorator.ConditionalOneShotEffect; +import mage.abilities.decorator.ConditionalTriggeredAbility; import mage.abilities.effects.common.discard.DiscardTargetEffect; import mage.cards.CardImpl; import mage.constants.CardType; @@ -61,9 +61,8 @@ public class MarduSkullhunter extends CardImpl { this.addAbility(new EntersBattlefieldTappedAbility()); // Raid - When Mardu Skullhunter enters the battlefield, if you attacked with a creature this turn, target opponent discards a card. - Ability ability = new EntersBattlefieldTriggeredAbility( - new ConditionalOneShotEffect(new DiscardTargetEffect(1), RaidCondition.getInstance(), "if you attacked with a creature this turn, target opponent discards a card"), - false,"Raid - "); + Ability ability = new ConditionalTriggeredAbility(new EntersBattlefieldTriggeredAbility(new DiscardTargetEffect(1)), RaidCondition.getInstance(), + "Raid - When {this} enters the battlefield, if you attacked with a creature this turn, target opponent discards a card.", false); ability.addTarget(new TargetOpponent()); this.addAbility(ability); this.addWatcher(new PlayerAttackedWatcher()); diff --git a/Mage.Sets/src/mage/sets/khansoftarkir/MarduWarshrieker.java b/Mage.Sets/src/mage/sets/khansoftarkir/MarduWarshrieker.java index edd5d0a1214..2ffbb8667e3 100644 --- a/Mage.Sets/src/mage/sets/khansoftarkir/MarduWarshrieker.java +++ b/Mage.Sets/src/mage/sets/khansoftarkir/MarduWarshrieker.java @@ -32,7 +32,7 @@ import mage.MageInt; import mage.Mana; import mage.abilities.common.EntersBattlefieldTriggeredAbility; import mage.abilities.condition.common.RaidCondition; -import mage.abilities.decorator.ConditionalOneShotEffect; +import mage.abilities.decorator.ConditionalTriggeredAbility; import mage.abilities.effects.common.AddManaToControllersManaPoolEffect; import mage.cards.CardImpl; import mage.constants.CardType; @@ -56,7 +56,8 @@ public class MarduWarshrieker extends CardImpl { this.toughness = new MageInt(3); // Raid - When Mardu Warshrieker enters the battlefield, if you attacked with a creature this turn, add {R}{W}{B} to your mana pool. - this.addAbility(new EntersBattlefieldTriggeredAbility(new ConditionalOneShotEffect(new AddManaToControllersManaPoolEffect(new Mana(1,0,0,1,1,0,0)), RaidCondition.getInstance(), "if you attacked with a creature this turn, add {R}{W}{B} to your mana pool"))); + this.addAbility(new ConditionalTriggeredAbility(new EntersBattlefieldTriggeredAbility(new AddManaToControllersManaPoolEffect(new Mana(1,0,0,1,1,0,0))), RaidCondition.getInstance(), + "Raid - When {this} enters the battlefield, if you attacked with a creature this turn, add {R}{W}{B} to your mana pool.", false)); this.addWatcher(new PlayerAttackedWatcher()); } diff --git a/Mage.Sets/src/mage/sets/khansoftarkir/TimelyHordemate.java b/Mage.Sets/src/mage/sets/khansoftarkir/TimelyHordemate.java index 5e9ef22abf7..12b21d0711d 100644 --- a/Mage.Sets/src/mage/sets/khansoftarkir/TimelyHordemate.java +++ b/Mage.Sets/src/mage/sets/khansoftarkir/TimelyHordemate.java @@ -32,7 +32,7 @@ import mage.MageInt; import mage.abilities.Ability; import mage.abilities.common.EntersBattlefieldTriggeredAbility; import mage.abilities.condition.common.RaidCondition; -import mage.abilities.decorator.ConditionalOneShotEffect; +import mage.abilities.decorator.ConditionalTriggeredAbility; import mage.abilities.effects.common.ReturnFromGraveyardToBattlefieldTargetEffect; import mage.cards.CardImpl; import mage.constants.CardType; @@ -66,8 +66,8 @@ public class TimelyHordemate extends CardImpl { this.toughness = new MageInt(2); // Raid - When Timely Hordemate enters the battlefield, if you attacked this turn, return target creature card with converted mana cost 2 or less from your graveyard to the battlefield. - Ability ability = new EntersBattlefieldTriggeredAbility(new ConditionalOneShotEffect(new ReturnFromGraveyardToBattlefieldTargetEffect(), RaidCondition.getInstance(), - "if you attacked with a creature this turn, {this} deals 2 damage to target creature or player"), false, "Raid - "); + Ability ability = new ConditionalTriggeredAbility(new EntersBattlefieldTriggeredAbility(new ReturnFromGraveyardToBattlefieldTargetEffect()), RaidCondition.getInstance(), + "Raid - When {this} enters the battlefield, if you attacked with a creature this turn, {this} deals 2 damage to target creature or player.", false); ability.addTarget(new TargetCardInYourGraveyard(filter)); this.addAbility(ability); this.addWatcher(new PlayerAttackedWatcher()); diff --git a/Mage.Sets/src/mage/sets/khansoftarkir/WingmateRoc.java b/Mage.Sets/src/mage/sets/khansoftarkir/WingmateRoc.java index 0a4fcb3b1c9..322b75255fb 100644 --- a/Mage.Sets/src/mage/sets/khansoftarkir/WingmateRoc.java +++ b/Mage.Sets/src/mage/sets/khansoftarkir/WingmateRoc.java @@ -32,7 +32,7 @@ import mage.MageInt; import mage.abilities.common.AttacksTriggeredAbility; import mage.abilities.common.EntersBattlefieldTriggeredAbility; import mage.abilities.condition.common.RaidCondition; -import mage.abilities.decorator.ConditionalOneShotEffect; +import mage.abilities.decorator.ConditionalTriggeredAbility; import mage.abilities.dynamicvalue.common.AttackingCreatureCount; import mage.abilities.effects.Effect; import mage.abilities.effects.common.CreateTokenEffect; @@ -63,7 +63,8 @@ public class WingmateRoc extends CardImpl { this.addAbility(FlyingAbility.getInstance()); // Raid - When Wingmate Roc enters the battlefield, if you attacked with a creature this turn, put a 3/4 white Bird creature token with flying onto the battlefield. - this.addAbility(new EntersBattlefieldTriggeredAbility(new ConditionalOneShotEffect(new CreateTokenEffect(new WingmateRocToken()), RaidCondition.getInstance(), "if you attacked with a creature this turn, put a 3/4 white Bird creature token with flying onto the battlefield"), false, "Raid - ")); + this.addAbility(new ConditionalTriggeredAbility(new EntersBattlefieldTriggeredAbility(new CreateTokenEffect(new WingmateRocToken())), RaidCondition.getInstance(), + "Raid - When {this} enters the battlefield, if you attacked with a creature this turn, put a 3/4 white Bird creature token with flying onto the battlefield.", false)); this.addWatcher(new PlayerAttackedWatcher()); // Whenever Wingmate Roc attacks, you gain 1 life for each attacking creature.