diff --git a/Mage.Sets/src/mage/cards/a/AcademyDrake.java b/Mage.Sets/src/mage/cards/a/AcademyDrake.java index dec1414fabf..8109f3b03d5 100644 --- a/Mage.Sets/src/mage/cards/a/AcademyDrake.java +++ b/Mage.Sets/src/mage/cards/a/AcademyDrake.java @@ -30,7 +30,7 @@ public final class AcademyDrake extends CardImpl { // If Academy Drake was kicked, it enters the battlefield with two +1/+1 counters on it. this.addAbility(new EntersBattlefieldAbility(new AddCountersSourceEffect(CounterType.P1P1.createInstance(2)), - KickedCondition.instance, "If {this} was kicked, it enters the battlefield with two +1/+1 counters on it.", "")); + KickedCondition.ONCE, "If {this} was kicked, it enters the battlefield with two +1/+1 counters on it.", "")); } diff --git a/Mage.Sets/src/mage/cards/a/AetherFigment.java b/Mage.Sets/src/mage/cards/a/AetherFigment.java index 3a3258f5709..0caff2ad881 100644 --- a/Mage.Sets/src/mage/cards/a/AetherFigment.java +++ b/Mage.Sets/src/mage/cards/a/AetherFigment.java @@ -36,7 +36,7 @@ public final class AetherFigment extends CardImpl { // If Aether Figment was kicked, it enters the battlefield with two +1/+1 counters on it Ability ability = new EntersBattlefieldAbility( new AddCountersSourceEffect(CounterType.P1P1.createInstance(2)), - KickedCondition.instance, + KickedCondition.ONCE, "If {this} was kicked, it enters the battlefield with two +1/+1 counters on it.", ""); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/cards/a/AgonizingDemise.java b/Mage.Sets/src/mage/cards/a/AgonizingDemise.java index 925027eafde..35bca60480d 100644 --- a/Mage.Sets/src/mage/cards/a/AgonizingDemise.java +++ b/Mage.Sets/src/mage/cards/a/AgonizingDemise.java @@ -32,7 +32,7 @@ public final class AgonizingDemise extends CardImpl { // If Agonizing Demise was kicked, it deals damage equal to that creature's power to the creature's controller. this.getSpellAbility().addEffect(new ConditionalOneShotEffect( new DamageTargetControllerEffect(TargetPermanentPowerCount.instance), - KickedCondition.instance, + KickedCondition.ONCE, "if this spell was kicked, it deals damage equal to that creature's power to the creature's controller.")); } diff --git a/Mage.Sets/src/mage/cards/a/ArchangelOfWrath.java b/Mage.Sets/src/mage/cards/a/ArchangelOfWrath.java new file mode 100644 index 00000000000..ad097521be6 --- /dev/null +++ b/Mage.Sets/src/mage/cards/a/ArchangelOfWrath.java @@ -0,0 +1,66 @@ +package mage.cards.a; + +import mage.MageInt; +import mage.abilities.TriggeredAbility; +import mage.abilities.common.EntersBattlefieldTriggeredAbility; +import mage.abilities.condition.common.KickedCondition; +import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility; +import mage.abilities.effects.common.DamageTargetEffect; +import mage.abilities.keyword.FlyingAbility; +import mage.abilities.keyword.KickerAbility; +import mage.abilities.keyword.LifelinkAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; +import mage.target.common.TargetAnyTarget; + +import java.util.UUID; + +/** + * @author TheElk801 + */ +public final class ArchangelOfWrath extends CardImpl { + + public ArchangelOfWrath(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{W}{W}"); + + this.subtype.add(SubType.ANGEL); + this.power = new MageInt(3); + this.toughness = new MageInt(4); + + // Kicker {B} and/or {R} + KickerAbility kickerAbility = new KickerAbility("{B}"); + kickerAbility.addKickerCost("{R}"); + this.addAbility(kickerAbility); + + // Flying + this.addAbility(FlyingAbility.getInstance()); + + // Lifelink + this.addAbility(LifelinkAbility.getInstance()); + + TriggeredAbility triggeredAbility = new EntersBattlefieldTriggeredAbility(new DamageTargetEffect(2)); + triggeredAbility.addTarget(new TargetAnyTarget()); + // When Archangel of Wrath enters the battlefield, if it was kicked, it deals 2 damage to any target. + this.addAbility(new ConditionalInterveningIfTriggeredAbility( + triggeredAbility, KickedCondition.ONCE, "When {this} enters the battlefield, " + + "if it was kicked, it deals 2 damage to any target." + )); + + // When Archangel of Wrath enters the battlefield, if it was kicked twice, it deals 2 damage to any target. + this.addAbility(new ConditionalInterveningIfTriggeredAbility( + triggeredAbility.copy(), KickedCondition.TWICE, "When {this} enters the battlefield, " + + "if it was kicked twice, it deals 2 damage to any target." + )); + } + + private ArchangelOfWrath(final ArchangelOfWrath card) { + super(card); + } + + @Override + public ArchangelOfWrath copy() { + return new ArchangelOfWrath(this); + } +} diff --git a/Mage.Sets/src/mage/cards/a/ArcticMerfolk.java b/Mage.Sets/src/mage/cards/a/ArcticMerfolk.java index 4e851339981..0fa71aee461 100644 --- a/Mage.Sets/src/mage/cards/a/ArcticMerfolk.java +++ b/Mage.Sets/src/mage/cards/a/ArcticMerfolk.java @@ -35,7 +35,7 @@ public final class ArcticMerfolk extends CardImpl { // If Arctic Merfolk was kicked, it enters the battlefield with a +1/+1 counter on it. this.addAbility(new EntersBattlefieldAbility( new AddCountersSourceEffect(CounterType.P1P1.createInstance()), - KickedCondition.instance,"If Arctic Merfolk was kicked, it enters the battlefield with a +1/+1 counter on it.","")); + KickedCondition.ONCE,"If Arctic Merfolk was kicked, it enters the battlefield with a +1/+1 counter on it.","")); } private ArcticMerfolk(final ArcticMerfolk card) { diff --git a/Mage.Sets/src/mage/cards/a/ArdentSoldier.java b/Mage.Sets/src/mage/cards/a/ArdentSoldier.java index 45d9e649375..9e02cd2e3e6 100644 --- a/Mage.Sets/src/mage/cards/a/ArdentSoldier.java +++ b/Mage.Sets/src/mage/cards/a/ArdentSoldier.java @@ -34,7 +34,7 @@ public final class ArdentSoldier extends CardImpl { this.addAbility(VigilanceAbility.getInstance()); // If Ardent Soldier was kicked, it enters the battlefield with a +1/+1 counter on it. this.addAbility(new EntersBattlefieldAbility(new AddCountersSourceEffect(CounterType.P1P1.createInstance(1)), - KickedCondition.instance, "If {this} was kicked, it enters the battlefield with a +1/+1 counter on it.", "")); + KickedCondition.ONCE, "If {this} was kicked, it enters the battlefield with a +1/+1 counter on it.", "")); } private ArdentSoldier(final ArdentSoldier card) { diff --git a/Mage.Sets/src/mage/cards/b/BalothGorger.java b/Mage.Sets/src/mage/cards/b/BalothGorger.java index c301e9b0d79..484a3e367c0 100644 --- a/Mage.Sets/src/mage/cards/b/BalothGorger.java +++ b/Mage.Sets/src/mage/cards/b/BalothGorger.java @@ -32,7 +32,7 @@ public final class BalothGorger extends CardImpl { // If Baloth Gorger was kicked, it enters the battlefield with three +1/+1 counters on it Ability ability = new EntersBattlefieldAbility( new AddCountersSourceEffect(CounterType.P1P1.createInstance(3)), - KickedCondition.instance, + KickedCondition.ONCE, "If {this} was kicked, it enters the battlefield with three +1/+1 counters on it", ""); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/cards/b/BenalishEmissary.java b/Mage.Sets/src/mage/cards/b/BenalishEmissary.java index 497c10f40e5..02642c8a7cd 100644 --- a/Mage.Sets/src/mage/cards/b/BenalishEmissary.java +++ b/Mage.Sets/src/mage/cards/b/BenalishEmissary.java @@ -33,7 +33,7 @@ public final class BenalishEmissary extends CardImpl { // When Benalish Emissary enters the battlefield, if it was kicked, destroy target land. TriggeredAbility ability = new EntersBattlefieldTriggeredAbility(new DestroyTargetEffect()); ability.addTarget(new TargetLandPermanent()); - this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, KickedCondition.instance, + this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, KickedCondition.ONCE, "When {this} enters the battlefield, if it was kicked, destroy target land.")); } diff --git a/Mage.Sets/src/mage/cards/b/BenalishLancer.java b/Mage.Sets/src/mage/cards/b/BenalishLancer.java index 3211cc9b0d1..2b194b49b76 100644 --- a/Mage.Sets/src/mage/cards/b/BenalishLancer.java +++ b/Mage.Sets/src/mage/cards/b/BenalishLancer.java @@ -34,7 +34,7 @@ public final class BenalishLancer extends CardImpl { // If Benalish Lancer was kicked, it enters the battlefield with two +1/+1 counters on it and with first strike. Ability ability = new EntersBattlefieldAbility(new AddCountersSourceEffect(CounterType.P1P1.createInstance(2)), - KickedCondition.instance, + KickedCondition.ONCE, "If {this} was kicked, it enters the battlefield with two +1/+1 counters on it and with first strike.", ""); ability.addEffect(new GainAbilitySourceEffect(FirstStrikeAbility.getInstance(), Duration.WhileOnBattlefield)); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/cards/b/BenalishSleeper.java b/Mage.Sets/src/mage/cards/b/BenalishSleeper.java index 37715501f46..6f190c05516 100644 --- a/Mage.Sets/src/mage/cards/b/BenalishSleeper.java +++ b/Mage.Sets/src/mage/cards/b/BenalishSleeper.java @@ -34,7 +34,7 @@ public final class BenalishSleeper extends CardImpl { // When Benalish Sleeper enters the battlefield, if it was kicked, each player sacrifices a creature. this.addAbility(new ConditionalInterveningIfTriggeredAbility(new EntersBattlefieldTriggeredAbility( new SacrificeAllEffect(StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT) - ), KickedCondition.instance, "When {this} enters the battlefield, " + + ), KickedCondition.ONCE, "When {this} enters the battlefield, " + "if it was kicked, each player sacrifices a creature.")); } diff --git a/Mage.Sets/src/mage/cards/b/BlastFromThePast.java b/Mage.Sets/src/mage/cards/b/BlastFromThePast.java index f4debce65c7..278a7f26ae9 100644 --- a/Mage.Sets/src/mage/cards/b/BlastFromThePast.java +++ b/Mage.Sets/src/mage/cards/b/BlastFromThePast.java @@ -41,7 +41,7 @@ public final class BlastFromThePast extends CardImpl { // Blast from the Past deals 2 damage to any target. If this spell was kicked, create a 1/1 red Goblin creature token. this.getSpellAbility().addEffect(new DamageTargetEffect(2)); this.getSpellAbility().addTarget(new TargetAnyTarget()); - this.getSpellAbility().addEffect(new ConditionalOneShotEffect(new CreateTokenEffect(new GoblinToken()), KickedCondition.instance)); + this.getSpellAbility().addEffect(new ConditionalOneShotEffect(new CreateTokenEffect(new GoblinToken()), KickedCondition.ONCE)); } public BlastFromThePast (final BlastFromThePast card) { diff --git a/Mage.Sets/src/mage/cards/b/BlinkOfAnEye.java b/Mage.Sets/src/mage/cards/b/BlinkOfAnEye.java index 7eebd9e620f..0441ef725cf 100644 --- a/Mage.Sets/src/mage/cards/b/BlinkOfAnEye.java +++ b/Mage.Sets/src/mage/cards/b/BlinkOfAnEye.java @@ -28,7 +28,7 @@ public final class BlinkOfAnEye extends CardImpl { // Return target nonland permanent to its owner's hand. If this spell was kicked, draw a card. this.getSpellAbility().addTarget(new TargetNonlandPermanent()); this.getSpellAbility().addEffect(new ReturnToHandTargetEffect()); - this.getSpellAbility().addEffect(new ConditionalOneShotEffect(new DrawCardSourceControllerEffect(1), KickedCondition.instance, + this.getSpellAbility().addEffect(new ConditionalOneShotEffect(new DrawCardSourceControllerEffect(1), KickedCondition.ONCE, "If this spell was kicked, draw a card")); } diff --git a/Mage.Sets/src/mage/cards/b/BloodBeckoning.java b/Mage.Sets/src/mage/cards/b/BloodBeckoning.java index 5ea52245ed4..add0e266028 100644 --- a/Mage.Sets/src/mage/cards/b/BloodBeckoning.java +++ b/Mage.Sets/src/mage/cards/b/BloodBeckoning.java @@ -48,7 +48,7 @@ enum BloodBeckoningAdjuster implements TargetAdjuster { @Override public void adjustTargets(Ability ability, Game game) { ability.getTargets().clear(); - if (KickedCondition.instance.apply(game, ability)) { + if (KickedCondition.ONCE.apply(game, ability)) { ability.addTarget(new TargetCardInYourGraveyard(2, StaticFilters.FILTER_CARD_CREATURE)); } else { ability.addTarget(new TargetCardInYourGraveyard(StaticFilters.FILTER_CARD_CREATURE)); diff --git a/Mage.Sets/src/mage/cards/b/BloodTribute.java b/Mage.Sets/src/mage/cards/b/BloodTribute.java index 2559e50297a..2a21c947953 100644 --- a/Mage.Sets/src/mage/cards/b/BloodTribute.java +++ b/Mage.Sets/src/mage/cards/b/BloodTribute.java @@ -46,7 +46,7 @@ public final class BloodTribute extends CardImpl { // If Blood Tribute was kicked, you gain life equal to the life lost this way. Effect effect = new ConditionalOneShotEffect( new BloodTributeGainLifeEffect(), - KickedCondition.instance, + KickedCondition.ONCE, "if this spell was kicked, you gain life equal to the life lost this way"); this.getSpellAbility().addEffect(effect); } diff --git a/Mage.Sets/src/mage/cards/b/BloodchiefsThirst.java b/Mage.Sets/src/mage/cards/b/BloodchiefsThirst.java index fdbbe32ce9b..17ed5fc4509 100644 --- a/Mage.Sets/src/mage/cards/b/BloodchiefsThirst.java +++ b/Mage.Sets/src/mage/cards/b/BloodchiefsThirst.java @@ -61,7 +61,7 @@ enum BloodchiefsThirstAdjuster implements TargetAdjuster { @Override public void adjustTargets(Ability ability, Game game) { ability.getTargets().clear(); - if (KickedCondition.instance.apply(game, ability)) { + if (KickedCondition.ONCE.apply(game, ability)) { ability.addTarget(new TargetCreatureOrPlaneswalker()); } else { ability.addTarget(new TargetPermanent(filter)); diff --git a/Mage.Sets/src/mage/cards/b/BogDown.java b/Mage.Sets/src/mage/cards/b/BogDown.java index f145dbd9ecb..b4885e20d0c 100644 --- a/Mage.Sets/src/mage/cards/b/BogDown.java +++ b/Mage.Sets/src/mage/cards/b/BogDown.java @@ -28,7 +28,7 @@ public final class BogDown extends CardImpl { // Target player discards two cards. If Bog Down was kicked, that player discards three cards instead. this.getSpellAbility().addEffect(new ConditionalOneShotEffect(new DiscardTargetEffect(3), - new DiscardTargetEffect(2), KickedCondition.instance, + new DiscardTargetEffect(2), KickedCondition.ONCE, "Target player discards two cards. If this spell was kicked, that player discards three cards instead.")); this.getSpellAbility().addTarget(new TargetPlayer()); } diff --git a/Mage.Sets/src/mage/cards/b/BoldDefense.java b/Mage.Sets/src/mage/cards/b/BoldDefense.java index 8cdac1833c0..ba21aa6a966 100644 --- a/Mage.Sets/src/mage/cards/b/BoldDefense.java +++ b/Mage.Sets/src/mage/cards/b/BoldDefense.java @@ -61,7 +61,7 @@ class BoldDefenseEffect extends OneShotEffect { @Override public boolean apply(Game game, Ability source) { - if (KickedCondition.instance.apply(game, source)) { + if (KickedCondition.ONCE.apply(game, source)) { game.addEffect(new BoostControlledEffect(2, 2, Duration.EndOfTurn), source); game.addEffect(new GainAbilityControlledEffect( FirstStrikeAbility.getInstance(), Duration.EndOfTurn, diff --git a/Mage.Sets/src/mage/cards/b/BreathOfDarigaaz.java b/Mage.Sets/src/mage/cards/b/BreathOfDarigaaz.java index acf7ac7a27e..1df09e5d1a8 100644 --- a/Mage.Sets/src/mage/cards/b/BreathOfDarigaaz.java +++ b/Mage.Sets/src/mage/cards/b/BreathOfDarigaaz.java @@ -34,7 +34,7 @@ public final class BreathOfDarigaaz extends CardImpl { // Breath of Darigaaz deals 1 damage to each creature without flying and each player. If Breath of Darigaaz was kicked, it deals 4 damage to each creature without flying and each player instead. this.getSpellAbility().addEffect(new ConditionalOneShotEffect(new DamageEverythingEffect(4, filter), - new DamageEverythingEffect(1, filter), KickedCondition.instance, + new DamageEverythingEffect(1, filter), KickedCondition.ONCE, "{this} deals 1 damage to each creature without flying and each player. If this spell was kicked, it deals 4 damage to each creature without flying and each player instead.")); } diff --git a/Mage.Sets/src/mage/cards/b/BubbleSnare.java b/Mage.Sets/src/mage/cards/b/BubbleSnare.java index f10159b3c55..a519600ad40 100644 --- a/Mage.Sets/src/mage/cards/b/BubbleSnare.java +++ b/Mage.Sets/src/mage/cards/b/BubbleSnare.java @@ -42,7 +42,7 @@ public final class BubbleSnare extends CardImpl { // When Bubble Snare enters the battlefield, if it was kicked, tap enchanted creature. this.addAbility(new ConditionalInterveningIfTriggeredAbility( - new EntersBattlefieldTriggeredAbility(new TapEnchantedEffect()), KickedCondition.instance, + new EntersBattlefieldTriggeredAbility(new TapEnchantedEffect()), KickedCondition.ONCE, "When {this} enters the battlefield, if it was kicked, tap enchanted creature." )); diff --git a/Mage.Sets/src/mage/cards/b/BurstLightning.java b/Mage.Sets/src/mage/cards/b/BurstLightning.java index 72f91afae59..a55c447b275 100644 --- a/Mage.Sets/src/mage/cards/b/BurstLightning.java +++ b/Mage.Sets/src/mage/cards/b/BurstLightning.java @@ -26,7 +26,7 @@ public final class BurstLightning extends CardImpl { // Burst Lightning deals 2 damage to any target. If Burst Lightning was kicked, it deals 4 damage to that creature or player instead. this.getSpellAbility().addTarget(new TargetAnyTarget()); this.getSpellAbility().addEffect(new ConditionalOneShotEffect(new DamageTargetEffect(4), - new DamageTargetEffect(2), KickedCondition.instance, "{this} deals 2 damage to any target. If this spell was kicked, it deals 4 damage instead")); + new DamageTargetEffect(2), KickedCondition.ONCE, "{this} deals 2 damage to any target. If this spell was kicked, it deals 4 damage instead")); } private BurstLightning(final BurstLightning card) { diff --git a/Mage.Sets/src/mage/cards/c/CaligoSkinWitch.java b/Mage.Sets/src/mage/cards/c/CaligoSkinWitch.java index aafcfa76346..354644eb884 100644 --- a/Mage.Sets/src/mage/cards/c/CaligoSkinWitch.java +++ b/Mage.Sets/src/mage/cards/c/CaligoSkinWitch.java @@ -38,7 +38,7 @@ public final class CaligoSkinWitch extends CardImpl { false, TargetController.OPPONENT )), - KickedCondition.instance, + KickedCondition.ONCE, "When {this} enters the battlefield, if it was kicked, each opponent discards two cards." )); } diff --git a/Mage.Sets/src/mage/cards/c/CanopySurge.java b/Mage.Sets/src/mage/cards/c/CanopySurge.java index 80ffa621cfc..5480c699a8f 100644 --- a/Mage.Sets/src/mage/cards/c/CanopySurge.java +++ b/Mage.Sets/src/mage/cards/c/CanopySurge.java @@ -32,7 +32,7 @@ public final class CanopySurge extends CardImpl { this.addAbility(new KickerAbility("{2}")); // Canopy Surge deals 1 damage to each creature with flying and each player. If Canopy Surge was kicked, it deals 4 damage to each creature with flying and each player instead. this.getSpellAbility().addEffect(new ConditionalOneShotEffect(new DamageEverythingEffect(4, filter), - new DamageEverythingEffect(1, filter), KickedCondition.instance, + new DamageEverythingEffect(1, filter), KickedCondition.ONCE, "{this} deals 1 damage to each creature with flying and each player. If this spell was kicked, it deals 4 damage to each creature with flying and each player instead.")); } diff --git a/Mage.Sets/src/mage/cards/c/Cinderclasm.java b/Mage.Sets/src/mage/cards/c/Cinderclasm.java index 62780956082..e9bf9fb29f7 100644 --- a/Mage.Sets/src/mage/cards/c/Cinderclasm.java +++ b/Mage.Sets/src/mage/cards/c/Cinderclasm.java @@ -26,7 +26,7 @@ public final class Cinderclasm extends CardImpl { this.getSpellAbility().addEffect(new ConditionalOneShotEffect( new DamageAllEffect(2, StaticFilters.FILTER_PERMANENT_CREATURE), new DamageAllEffect(1, StaticFilters.FILTER_PERMANENT_CREATURE), - KickedCondition.instance, "{this} deals 1 damage to each creature. " + + KickedCondition.ONCE, "{this} deals 1 damage to each creature. " + "If it was kicked, it deals 2 damage to each creature instead" )); } diff --git a/Mage.Sets/src/mage/cards/c/CitanulWoodreaders.java b/Mage.Sets/src/mage/cards/c/CitanulWoodreaders.java index 245e2307a94..b04e5eb5c9f 100644 --- a/Mage.Sets/src/mage/cards/c/CitanulWoodreaders.java +++ b/Mage.Sets/src/mage/cards/c/CitanulWoodreaders.java @@ -33,7 +33,7 @@ public final class CitanulWoodreaders extends CardImpl { // When Citanul Woodreaders enters the battlefield, if it was kicked, draw two cards. this.addAbility(new ConditionalInterveningIfTriggeredAbility( new EntersBattlefieldTriggeredAbility(new DrawCardSourceControllerEffect(2)), - KickedCondition.instance, + KickedCondition.ONCE, "When {this} enters the battlefield, if it was kicked, draw two cards." )); } diff --git a/Mage.Sets/src/mage/cards/c/ConquerorsPledge.java b/Mage.Sets/src/mage/cards/c/ConquerorsPledge.java index a88267056d9..b2afb13c47f 100644 --- a/Mage.Sets/src/mage/cards/c/ConquerorsPledge.java +++ b/Mage.Sets/src/mage/cards/c/ConquerorsPledge.java @@ -23,7 +23,7 @@ public final class ConquerorsPledge extends CardImpl { this.addAbility(new KickerAbility("{6}")); this.getSpellAbility().addEffect(new ConditionalOneShotEffect(new CreateTokenEffect(new KorSoldierToken(), 12), - new CreateTokenEffect(new KorSoldierToken(), 6), KickedCondition.instance, + new CreateTokenEffect(new KorSoldierToken(), 6), KickedCondition.ONCE, "Create six 1/1 white Kor Soldier creature tokens. If this spell was kicked, create twelve of those tokens instead")); } diff --git a/Mage.Sets/src/mage/cards/c/CragplateBaloth.java b/Mage.Sets/src/mage/cards/c/CragplateBaloth.java index 97a4da84daa..ece6ad5293e 100644 --- a/Mage.Sets/src/mage/cards/c/CragplateBaloth.java +++ b/Mage.Sets/src/mage/cards/c/CragplateBaloth.java @@ -42,7 +42,7 @@ public final class CragplateBaloth extends CardImpl { // If Cragplate Baloth was kicked, it enters the battlefield with four +1/+1 counters on it. this.addAbility(new EntersBattlefieldAbility( - new AddCountersSourceEffect(CounterType.P1P1.createInstance(4)), KickedCondition.instance, + new AddCountersSourceEffect(CounterType.P1P1.createInstance(4)), KickedCondition.ONCE, "If {this} was kicked, it enters the battlefield with four +1/+1 counters on it.", "" )); } diff --git a/Mage.Sets/src/mage/cards/c/CunningGeysermage.java b/Mage.Sets/src/mage/cards/c/CunningGeysermage.java index c7ce4e0003a..4c1d3ec1f33 100644 --- a/Mage.Sets/src/mage/cards/c/CunningGeysermage.java +++ b/Mage.Sets/src/mage/cards/c/CunningGeysermage.java @@ -43,7 +43,7 @@ public final class CunningGeysermage extends CardImpl { // When Cunning Geysermage enters the battlefield, if it was kicked, return up to one other target creature to its owner's hand. Ability ability = new ConditionalInterveningIfTriggeredAbility( new EntersBattlefieldTriggeredAbility(new ReturnToHandTargetEffect()), - KickedCondition.instance, "When {this} enters the battlefield, " + + KickedCondition.ONCE, "When {this} enters the battlefield, " + "if it was kicked, return up to one other target creature to its owner's hand." ); ability.addTarget(new TargetPermanent(0, 1, filter, false)); diff --git a/Mage.Sets/src/mage/cards/d/DauntlessUnity.java b/Mage.Sets/src/mage/cards/d/DauntlessUnity.java index d05104e8513..5c4ec381aa4 100644 --- a/Mage.Sets/src/mage/cards/d/DauntlessUnity.java +++ b/Mage.Sets/src/mage/cards/d/DauntlessUnity.java @@ -58,7 +58,7 @@ class DauntlessUnityEffect extends OneShotEffect { @Override public boolean apply(Game game, Ability source) { - if (KickedCondition.instance.apply(game, source)) { + if (KickedCondition.ONCE.apply(game, source)) { game.addEffect(new BoostControlledEffect(2, 1, Duration.EndOfTurn), source); } else { game.addEffect(new BoostControlledEffect(1, 1, Duration.EndOfTurn), source); diff --git a/Mage.Sets/src/mage/cards/d/DesolationAngel.java b/Mage.Sets/src/mage/cards/d/DesolationAngel.java index 7070a1e2e4a..57a8938d820 100644 --- a/Mage.Sets/src/mage/cards/d/DesolationAngel.java +++ b/Mage.Sets/src/mage/cards/d/DesolationAngel.java @@ -43,7 +43,7 @@ public final class DesolationAngel extends CardImpl { // When Desolation Angel enters the battlefield, destroy all lands you control. If it was kicked, destroy all lands instead. this.addAbility(new EntersBattlefieldTriggeredAbility(new ConditionalOneShotEffect(new DestroyAllEffect(StaticFilters.FILTER_LANDS), - new DestroyAllEffect(filter2), KickedCondition.instance, "destroy all lands you control. If it was kicked, destroy all lands instead."))); + new DestroyAllEffect(filter2), KickedCondition.ONCE, "destroy all lands you control. If it was kicked, destroy all lands instead."))); } private DesolationAngel(final DesolationAngel card) { diff --git a/Mage.Sets/src/mage/cards/d/DesolationGiant.java b/Mage.Sets/src/mage/cards/d/DesolationGiant.java index 2ee454d29aa..fc5bc53630d 100644 --- a/Mage.Sets/src/mage/cards/d/DesolationGiant.java +++ b/Mage.Sets/src/mage/cards/d/DesolationGiant.java @@ -41,7 +41,7 @@ public final class DesolationGiant extends CardImpl { this.addAbility(new KickerAbility("{W}{W}")); // When Desolation Giant enters the battlefield, destroy all other creatures you control. If it was kicked, destroy all other creatures instead. this.addAbility(new EntersBattlefieldTriggeredAbility(new ConditionalOneShotEffect(new DestroyAllEffect(filter), - new DestroyAllEffect(filter2), KickedCondition.instance, "destroy all other creatures you control. If it was kicked, destroy all other creatures instead."))); + new DestroyAllEffect(filter2), KickedCondition.ONCE, "destroy all other creatures you control. If it was kicked, destroy all other creatures instead."))); } private DesolationGiant(final DesolationGiant card) { diff --git a/Mage.Sets/src/mage/cards/d/DismantlingBlow.java b/Mage.Sets/src/mage/cards/d/DismantlingBlow.java index 17d1d152302..a4421060bef 100644 --- a/Mage.Sets/src/mage/cards/d/DismantlingBlow.java +++ b/Mage.Sets/src/mage/cards/d/DismantlingBlow.java @@ -31,7 +31,7 @@ public final class DismantlingBlow extends CardImpl { // If Dismantling Blow was kicked, draw two cards. this.getSpellAbility().addEffect(new ConditionalOneShotEffect( new DrawCardSourceControllerEffect(2), - KickedCondition.instance, + KickedCondition.ONCE, "if this spell was kicked, draw two cards")); } diff --git a/Mage.Sets/src/mage/cards/d/DralnusPet.java b/Mage.Sets/src/mage/cards/d/DralnusPet.java index 6c4ccd33688..2a683970433 100644 --- a/Mage.Sets/src/mage/cards/d/DralnusPet.java +++ b/Mage.Sets/src/mage/cards/d/DralnusPet.java @@ -49,7 +49,7 @@ public final class DralnusPet extends CardImpl { kickerCosts.add(new DiscardCardCost(StaticFilters.FILTER_CARD_CREATURE)); this.addAbility(new KickerAbility(kickerCosts)); // If Dralnu's Pet was kicked, it enters the battlefield with flying and with X +1/+1 counters on it, where X is the discarded card's converted mana cost. - Ability ability = new EntersBattlefieldAbility(new DralnusPetEffect(), KickedCondition.instance, + Ability ability = new EntersBattlefieldAbility(new DralnusPetEffect(), KickedCondition.ONCE, "If {this} was kicked, it enters the battlefield with flying and with X +1/+1 counters on it, where X is the discarded card's mana value.", ""); ability.addEffect(new GainAbilitySourceEffect(FlyingAbility.getInstance(), Duration.WhileOnBattlefield)); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/cards/d/Duskwalker.java b/Mage.Sets/src/mage/cards/d/Duskwalker.java index 95854a1e8bf..361c195699c 100644 --- a/Mage.Sets/src/mage/cards/d/Duskwalker.java +++ b/Mage.Sets/src/mage/cards/d/Duskwalker.java @@ -35,7 +35,7 @@ public final class Duskwalker extends CardImpl { // If Duskwalker was kicked, it enters the battlefield with two +1/+1 counters on it and with fear. Ability ability = new EntersBattlefieldAbility(new AddCountersSourceEffect(CounterType.P1P1.createInstance(2)), - KickedCondition.instance, + KickedCondition.ONCE, "If {this} was kicked, it enters the battlefield with two +1/+1 counters on it and with fear.", ""); ability.addEffect(new GainAbilitySourceEffect(FearAbility.getInstance(), Duration.WhileOnBattlefield)); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/cards/d/DwarvenLandslide.java b/Mage.Sets/src/mage/cards/d/DwarvenLandslide.java index 46350c45bce..37cc9010cf1 100644 --- a/Mage.Sets/src/mage/cards/d/DwarvenLandslide.java +++ b/Mage.Sets/src/mage/cards/d/DwarvenLandslide.java @@ -55,7 +55,7 @@ enum DwarvenLandslideAdjuster implements TargetAdjuster { @Override public void adjustTargets(Ability ability, Game game) { - if (KickedCondition.instance.apply(game, ability)) { + if (KickedCondition.ONCE.apply(game, ability)) { ability.getTargets().clear(); ability.addTarget(new TargetLandPermanent(2)); } diff --git a/Mage.Sets/src/mage/cards/e/ElementalAppeal.java b/Mage.Sets/src/mage/cards/e/ElementalAppeal.java index e3db28a0d75..b031c26c8d9 100644 --- a/Mage.Sets/src/mage/cards/e/ElementalAppeal.java +++ b/Mage.Sets/src/mage/cards/e/ElementalAppeal.java @@ -71,7 +71,7 @@ class ElementalAppealEffect extends OneShotEffect { CreateTokenEffect effect = new CreateTokenEffect(new RedElementalWithTrampleAndHaste()); if (effect.apply(game, source)) { effect.exileTokensCreatedAtNextEndStep(game, source); - if (KickedCondition.instance.apply(game, source)) { + if (KickedCondition.ONCE.apply(game, source)) { List> predList = new ArrayList<>(); for (UUID tokenId : effect.getLastAddedTokenIds()) { predList.add(new CardIdPredicate(tokenId)); diff --git a/Mage.Sets/src/mage/cards/e/ElfhameDruid.java b/Mage.Sets/src/mage/cards/e/ElfhameDruid.java index dbfa1a3cbfc..3b79afeb402 100644 --- a/Mage.Sets/src/mage/cards/e/ElfhameDruid.java +++ b/Mage.Sets/src/mage/cards/e/ElfhameDruid.java @@ -61,6 +61,6 @@ class ElfhameDruidConditionalMana extends ConditionalMana { public ElfhameDruidConditionalMana(Mana mana) { super(mana); - addCondition(KickedCondition.instance); + addCondition(KickedCondition.ONCE); } } \ No newline at end of file diff --git a/Mage.Sets/src/mage/cards/e/ErtaisTrickery.java b/Mage.Sets/src/mage/cards/e/ErtaisTrickery.java index 4b75496b1a7..62e271cc698 100644 --- a/Mage.Sets/src/mage/cards/e/ErtaisTrickery.java +++ b/Mage.Sets/src/mage/cards/e/ErtaisTrickery.java @@ -55,7 +55,7 @@ class ErtaisTrickeryEffect extends CounterTargetEffect { @Override public boolean apply(Game game, Ability source) { Spell targetSpell = game.getStack().getSpell(source.getFirstTarget()); - if(targetSpell != null && KickedCondition.instance.apply(game, targetSpell.getSpellAbility())) { + if(targetSpell != null && KickedCondition.ONCE.apply(game, targetSpell.getSpellAbility())) { return super.apply(game, source); } return false; diff --git a/Mage.Sets/src/mage/cards/e/ExcavationElephant.java b/Mage.Sets/src/mage/cards/e/ExcavationElephant.java index a9189fce274..96c47137c60 100644 --- a/Mage.Sets/src/mage/cards/e/ExcavationElephant.java +++ b/Mage.Sets/src/mage/cards/e/ExcavationElephant.java @@ -35,7 +35,7 @@ public final class ExcavationElephant extends CardImpl { TriggeredAbility ability = new EntersBattlefieldTriggeredAbility(new ReturnToHandTargetEffect(), false); ability.addTarget(new TargetCardInYourGraveyard(StaticFilters.FILTER_CARD_ARTIFACT_FROM_YOUR_GRAVEYARD)); this.addAbility(new ConditionalInterveningIfTriggeredAbility( - ability, KickedCondition.instance, + ability, KickedCondition.ONCE, "When {this} enters the battlefield, if it was kicked, " + "return target artifact card from your graveyard to your hand." )); diff --git a/Mage.Sets/src/mage/cards/e/ExplosiveGrowth.java b/Mage.Sets/src/mage/cards/e/ExplosiveGrowth.java index 526b0708a93..d1a5dc48dc8 100644 --- a/Mage.Sets/src/mage/cards/e/ExplosiveGrowth.java +++ b/Mage.Sets/src/mage/cards/e/ExplosiveGrowth.java @@ -28,7 +28,7 @@ public final class ExplosiveGrowth extends CardImpl { // Target creature gets +2/+2 until end of turn. If Explosive Growth was kicked, that creature gets +5/+5 until end of turn instead. this.getSpellAbility().addTarget(new TargetCreaturePermanent()); this.getSpellAbility().addEffect(new ConditionalContinuousEffect(new BoostTargetEffect(5, 5, Duration.EndOfTurn), - new BoostTargetEffect(2, 2, Duration.EndOfTurn), new LockedInCondition(KickedCondition.instance), + new BoostTargetEffect(2, 2, Duration.EndOfTurn), new LockedInCondition(KickedCondition.ONCE), "Target creature gets +2/+2 until end of turn. If this spell was kicked, that creature gets +5/+5 until end of turn instead.")); } diff --git a/Mage.Sets/src/mage/cards/f/FaerieSquadron.java b/Mage.Sets/src/mage/cards/f/FaerieSquadron.java index 93d4d595e47..6b9c2cc072d 100644 --- a/Mage.Sets/src/mage/cards/f/FaerieSquadron.java +++ b/Mage.Sets/src/mage/cards/f/FaerieSquadron.java @@ -35,7 +35,7 @@ public final class FaerieSquadron extends CardImpl { this.addAbility(new KickerAbility("{3}{U}")); // If Faerie Squadron was kicked, it enters the battlefield with two +1/+1 counters on it and with flying. Ability ability = new EntersBattlefieldAbility(new AddCountersSourceEffect(CounterType.P1P1.createInstance(2)), - KickedCondition.instance, "If {this} was kicked, it enters the battlefield with two +1/+1 counters on it and with flying.", ""); + KickedCondition.ONCE, "If {this} was kicked, it enters the battlefield with two +1/+1 counters on it and with flying.", ""); ability.addEffect(new GainAbilitySourceEffect(FlyingAbility.getInstance(), Duration.WhileOnBattlefield)); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/f/FallingTimber.java b/Mage.Sets/src/mage/cards/f/FallingTimber.java index 4d9f85f3c07..66c03d624e0 100644 --- a/Mage.Sets/src/mage/cards/f/FallingTimber.java +++ b/Mage.Sets/src/mage/cards/f/FallingTimber.java @@ -55,6 +55,6 @@ enum FallingTimberAdjuster implements TargetAdjuster { @Override public void adjustTargets(Ability ability, Game game) { ability.getTargets().clear(); - ability.addTarget(new TargetCreaturePermanent(KickedCondition.instance.apply(game, ability) ? 2 : 1)); + ability.addTarget(new TargetCreaturePermanent(KickedCondition.ONCE.apply(game, ability) ? 2 : 1)); } } diff --git a/Mage.Sets/src/mage/cards/f/FieldResearch.java b/Mage.Sets/src/mage/cards/f/FieldResearch.java index c315f0d0141..b81575da60d 100644 --- a/Mage.Sets/src/mage/cards/f/FieldResearch.java +++ b/Mage.Sets/src/mage/cards/f/FieldResearch.java @@ -24,7 +24,7 @@ public final class FieldResearch extends CardImpl { // Draw two cards. If this spell was kicked, draw three cards instead. this.getSpellAbility().addEffect(new ConditionalOneShotEffect( new DrawCardSourceControllerEffect(3), new DrawCardSourceControllerEffect(2), - KickedCondition.instance, "Draw two cards. If this spell was kicked, draw three cards instead." + KickedCondition.ONCE, "Draw two cards. If this spell was kicked, draw three cards instead." )); } diff --git a/Mage.Sets/src/mage/cards/f/FightWithFire.java b/Mage.Sets/src/mage/cards/f/FightWithFire.java index 66e5a12db57..69a9a4b126a 100644 --- a/Mage.Sets/src/mage/cards/f/FightWithFire.java +++ b/Mage.Sets/src/mage/cards/f/FightWithFire.java @@ -32,7 +32,7 @@ public final class FightWithFire extends CardImpl { this.getSpellAbility().addEffect(new ConditionalOneShotEffect( new DamageMultiEffect(10), new DamageTargetEffect(5), - KickedCondition.instance, + KickedCondition.ONCE, "{this} deals 5 damage to target creature. If this spell was kicked, " + "it deals 10 damage divided as you choose among any number of targets instead." + " (Those targets can include players and planeswalkers.)" @@ -57,7 +57,7 @@ enum FightWithFireAdjuster implements TargetAdjuster { @Override public void adjustTargets(Ability ability, Game game) { ability.getTargets().clear(); - if (KickedCondition.instance.apply(game, ability)) { + if (KickedCondition.ONCE.apply(game, ability)) { ability.addTarget(new TargetAnyTargetAmount(10)); } else { ability.addTarget(new TargetCreaturePermanent()); diff --git a/Mage.Sets/src/mage/cards/g/GatekeeperOfMalakir.java b/Mage.Sets/src/mage/cards/g/GatekeeperOfMalakir.java index 7f683512cb9..cab5989431d 100644 --- a/Mage.Sets/src/mage/cards/g/GatekeeperOfMalakir.java +++ b/Mage.Sets/src/mage/cards/g/GatekeeperOfMalakir.java @@ -43,7 +43,7 @@ public final class GatekeeperOfMalakir extends CardImpl { // When Gatekeeper of Malakir enters the battlefield, if it was kicked, target player sacrifices a creature. EntersBattlefieldTriggeredAbility ability = new EntersBattlefieldTriggeredAbility(new SacrificeEffect(filter, 1, "target player")); - Ability conditionalAbility = new ConditionalInterveningIfTriggeredAbility(ability, KickedCondition.instance, "When {this} enters the battlefield, if it was kicked, target player sacrifices a creature."); + Ability conditionalAbility = new ConditionalInterveningIfTriggeredAbility(ability, KickedCondition.ONCE, "When {this} enters the battlefield, if it was kicked, target player sacrifices a creature."); conditionalAbility.addTarget(new TargetPlayer()); this.addAbility(conditionalAbility); } diff --git a/Mage.Sets/src/mage/cards/g/GhastlyGloomhunter.java b/Mage.Sets/src/mage/cards/g/GhastlyGloomhunter.java index 68c408d2b5a..3b67a4006fc 100644 --- a/Mage.Sets/src/mage/cards/g/GhastlyGloomhunter.java +++ b/Mage.Sets/src/mage/cards/g/GhastlyGloomhunter.java @@ -39,7 +39,7 @@ public final class GhastlyGloomhunter extends CardImpl { // If Ghastly Gloomhunter was kicked, it enters the battlefield with two +1/+1 counters on it. this.addAbility(new EntersBattlefieldAbility( - new AddCountersSourceEffect(CounterType.P1P1.createInstance(2)), KickedCondition.instance, + new AddCountersSourceEffect(CounterType.P1P1.createInstance(2)), KickedCondition.ONCE, "If {this} was kicked, it enters the battlefield with two +1/+1 counters on it.", "" )); } diff --git a/Mage.Sets/src/mage/cards/g/GhituChronicler.java b/Mage.Sets/src/mage/cards/g/GhituChronicler.java index 11be8b3bd64..6b41bd68db5 100644 --- a/Mage.Sets/src/mage/cards/g/GhituChronicler.java +++ b/Mage.Sets/src/mage/cards/g/GhituChronicler.java @@ -40,7 +40,7 @@ public final class GhituChronicler extends CardImpl { // When Ghitu Chronicler enters the battlefield, if it was kicked, return target instant or sorcery card from your graveyard to your hand. Ability ability = new ConditionalInterveningIfTriggeredAbility( new EntersBattlefieldTriggeredAbility(new ReturnToHandTargetEffect(), false), - KickedCondition.instance, "When {this} enters the battlefield, if it was kicked, " + + KickedCondition.ONCE, "When {this} enters the battlefield, if it was kicked, " + "return target instant or sorcery card from your graveyard to your hand." ); ability.addTarget(new TargetCardInYourGraveyard(filter)); diff --git a/Mage.Sets/src/mage/cards/g/GiftOfGrowth.java b/Mage.Sets/src/mage/cards/g/GiftOfGrowth.java index c4048d45c6f..b03bc02a190 100644 --- a/Mage.Sets/src/mage/cards/g/GiftOfGrowth.java +++ b/Mage.Sets/src/mage/cards/g/GiftOfGrowth.java @@ -31,7 +31,7 @@ public final class GiftOfGrowth extends CardImpl { this.getSpellAbility().addTarget(new TargetCreaturePermanent()); this.getSpellAbility().addEffect(new UntapTargetEffect().setText("Untap target creature")); this.getSpellAbility().addEffect(new ConditionalContinuousEffect(new BoostTargetEffect(4, 4, Duration.EndOfTurn), - new BoostTargetEffect(2, 2, Duration.EndOfTurn), new LockedInCondition(KickedCondition.instance), + new BoostTargetEffect(2, 2, Duration.EndOfTurn), new LockedInCondition(KickedCondition.ONCE), "It gets +2/+2 until end of turn. If this spell was kicked, that creature gets +4/+4 until end of turn instead.")); } diff --git a/Mage.Sets/src/mage/cards/g/Gigantiform.java b/Mage.Sets/src/mage/cards/g/Gigantiform.java index 9aa5aa4f76a..16804c033a8 100644 --- a/Mage.Sets/src/mage/cards/g/Gigantiform.java +++ b/Mage.Sets/src/mage/cards/g/Gigantiform.java @@ -51,7 +51,7 @@ public final class Gigantiform extends CardImpl { // When Gigantiform enters the battlefield, if it was kicked, you may search your library for a card named Gigantiform, put it onto the battlefield, then shuffle your library. this.addAbility(new ConditionalInterveningIfTriggeredAbility( new EntersBattlefieldTriggeredAbility(new GigantiformEffect(), true), - KickedCondition.instance, + KickedCondition.ONCE, "When {this} enters the battlefield, if it was kicked, you may search your library for a card named Gigantiform, put it onto the battlefield, then shuffle.")); } diff --git a/Mage.Sets/src/mage/cards/g/GnarlidColony.java b/Mage.Sets/src/mage/cards/g/GnarlidColony.java index f64b199352a..d2a13f79208 100644 --- a/Mage.Sets/src/mage/cards/g/GnarlidColony.java +++ b/Mage.Sets/src/mage/cards/g/GnarlidColony.java @@ -35,7 +35,7 @@ public final class GnarlidColony extends CardImpl { // If Gnarlid Colony was kicked, it enters the battlefield with two +1/+1 counters on it. this.addAbility(new EntersBattlefieldAbility( - new AddCountersSourceEffect(CounterType.P1P1.createInstance(2)), KickedCondition.instance, + new AddCountersSourceEffect(CounterType.P1P1.createInstance(2)), KickedCondition.ONCE, "If {this} was kicked, it enters the battlefield with two +1/+1 counters on it.", "" )); diff --git a/Mage.Sets/src/mage/cards/g/GoblinBarrage.java b/Mage.Sets/src/mage/cards/g/GoblinBarrage.java index 0bb4938e707..d5a07099781 100644 --- a/Mage.Sets/src/mage/cards/g/GoblinBarrage.java +++ b/Mage.Sets/src/mage/cards/g/GoblinBarrage.java @@ -64,7 +64,7 @@ enum GoblinBarrageAdjuster implements TargetAdjuster { @Override public void adjustTargets(Ability ability, Game game) { - if (KickedCondition.instance.apply(game, ability)) { + if (KickedCondition.ONCE.apply(game, ability)) { ability.addTarget(new TargetPlayerOrPlaneswalker()); } } diff --git a/Mage.Sets/src/mage/cards/g/GoblinBushwhacker.java b/Mage.Sets/src/mage/cards/g/GoblinBushwhacker.java index ca2dc9369d1..83315e24ce9 100644 --- a/Mage.Sets/src/mage/cards/g/GoblinBushwhacker.java +++ b/Mage.Sets/src/mage/cards/g/GoblinBushwhacker.java @@ -43,7 +43,7 @@ public final class GoblinBushwhacker extends CardImpl { )); this.addAbility(new ConditionalInterveningIfTriggeredAbility( ability, - KickedCondition.instance, + KickedCondition.ONCE, "When {this} enters the battlefield, " + "if it was kicked, " + "creatures you control get +1/+0 and gain haste until end of turn." diff --git a/Mage.Sets/src/mage/cards/g/GoblinRuinblaster.java b/Mage.Sets/src/mage/cards/g/GoblinRuinblaster.java index a01a7e9297b..41c5dc7f3eb 100644 --- a/Mage.Sets/src/mage/cards/g/GoblinRuinblaster.java +++ b/Mage.Sets/src/mage/cards/g/GoblinRuinblaster.java @@ -40,7 +40,7 @@ public final class GoblinRuinblaster extends CardImpl { // When Goblin Ruinblaster enters the battlefield, if it was kicked, destroy target nonbasic land. EntersBattlefieldTriggeredAbility ability = new EntersBattlefieldTriggeredAbility(new DestroyTargetEffect(), false); ability.addTarget(new TargetNonBasicLandPermanent()); - this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, KickedCondition.instance, "When {this} enters the battlefield, if it was kicked, destroy target nonbasic land.")); + this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, KickedCondition.ONCE, "When {this} enters the battlefield, if it was kicked, destroy target nonbasic land.")); } private GoblinRuinblaster(final GoblinRuinblaster card) { diff --git a/Mage.Sets/src/mage/cards/g/GrowFromTheAshes.java b/Mage.Sets/src/mage/cards/g/GrowFromTheAshes.java index 447c667b117..a0609a0ab4a 100644 --- a/Mage.Sets/src/mage/cards/g/GrowFromTheAshes.java +++ b/Mage.Sets/src/mage/cards/g/GrowFromTheAshes.java @@ -28,7 +28,7 @@ public final class GrowFromTheAshes extends CardImpl { this.getSpellAbility().addEffect(new ConditionalOneShotEffect( new SearchLibraryPutInPlayEffect(new TargetCardInLibrary(0, 2, StaticFilters.FILTER_CARD_BASIC_LAND), false, true), new SearchLibraryPutInPlayEffect(new TargetCardInLibrary(0, 1, StaticFilters.FILTER_CARD_BASIC_LAND), false, true), - KickedCondition.instance, + KickedCondition.ONCE, "Search your library for a basic land card, put it onto the battlefield, then shuffle. If this spell was kicked, instead search your library for two basic land cards, put them onto the battlefield, then shuffle.")); } diff --git a/Mage.Sets/src/mage/cards/g/GrunnTheLonelyKing.java b/Mage.Sets/src/mage/cards/g/GrunnTheLonelyKing.java index 30662c6809f..e6e53655555 100644 --- a/Mage.Sets/src/mage/cards/g/GrunnTheLonelyKing.java +++ b/Mage.Sets/src/mage/cards/g/GrunnTheLonelyKing.java @@ -36,7 +36,7 @@ public final class GrunnTheLonelyKing extends CardImpl { //If Grunn, the Lonely King was kicked, it enters the battlefield with five +1/+1 counters on it. this.addAbility(new EntersBattlefieldAbility(new AddCountersSourceEffect(CounterType.P1P1.createInstance(5)), - KickedCondition.instance, "If {this} was kicked, it enters the battlefield with five +1/+1 counters on it", "")); + KickedCondition.ONCE, "If {this} was kicked, it enters the battlefield with five +1/+1 counters on it", "")); //Whenever Grunn attacks alone, double its power and toughness until end of turn. SourcePermanentPowerCount power = new SourcePermanentPowerCount(); diff --git a/Mage.Sets/src/mage/cards/h/HeartstabberMosquito.java b/Mage.Sets/src/mage/cards/h/HeartstabberMosquito.java index 85899d95df7..3d2181e3790 100644 --- a/Mage.Sets/src/mage/cards/h/HeartstabberMosquito.java +++ b/Mage.Sets/src/mage/cards/h/HeartstabberMosquito.java @@ -38,7 +38,7 @@ public final class HeartstabberMosquito extends CardImpl { // When Heartstabber Mosquito enters the battlefield, if it was kicked, destroy target creature. EntersBattlefieldTriggeredAbility ability = new EntersBattlefieldTriggeredAbility(new DestroyTargetEffect(), false); ability.addTarget(new TargetCreaturePermanent()); - this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, KickedCondition.instance, "When {this} enters the battlefield, if it was kicked, destroy target creature.")); + this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, KickedCondition.ONCE, "When {this} enters the battlefield, if it was kicked, destroy target creature.")); } private HeartstabberMosquito(final HeartstabberMosquito card) { diff --git a/Mage.Sets/src/mage/cards/h/HuntingWilds.java b/Mage.Sets/src/mage/cards/h/HuntingWilds.java index eb0dc9b2af7..d303dae0cc4 100644 --- a/Mage.Sets/src/mage/cards/h/HuntingWilds.java +++ b/Mage.Sets/src/mage/cards/h/HuntingWilds.java @@ -47,7 +47,7 @@ public final class HuntingWilds extends CardImpl { // If Hunting Wilds was kicked, untap all Forests put onto the battlefield this way. // They become 3/3 green creatures with haste that are still lands. - this.getSpellAbility().addEffect(new ConditionalOneShotEffect(new HuntingWildsEffect(), KickedCondition.instance)); + this.getSpellAbility().addEffect(new ConditionalOneShotEffect(new HuntingWildsEffect(), KickedCondition.ONCE)); } private HuntingWilds(final HuntingWilds card) { diff --git a/Mage.Sets/src/mage/cards/h/HypnoticCloud.java b/Mage.Sets/src/mage/cards/h/HypnoticCloud.java index 7462edeaf33..f93c951e3c8 100644 --- a/Mage.Sets/src/mage/cards/h/HypnoticCloud.java +++ b/Mage.Sets/src/mage/cards/h/HypnoticCloud.java @@ -26,7 +26,7 @@ public final class HypnoticCloud extends CardImpl { // Target player discards a card. If Hypnotic Cloud was kicked, that player discards three cards instead. this.getSpellAbility().addTarget(new TargetPlayer()); - this.getSpellAbility().addEffect(new ConditionalOneShotEffect(new DiscardTargetEffect(3), new DiscardTargetEffect(1), KickedCondition.instance, + this.getSpellAbility().addEffect(new ConditionalOneShotEffect(new DiscardTargetEffect(3), new DiscardTargetEffect(1), KickedCondition.ONCE, "Target player discards a card. If this spell was kicked, that player discards three cards instead")); } diff --git a/Mage.Sets/src/mage/cards/i/IntoTheRoil.java b/Mage.Sets/src/mage/cards/i/IntoTheRoil.java index ab2e8e6c461..95337fc4f88 100644 --- a/Mage.Sets/src/mage/cards/i/IntoTheRoil.java +++ b/Mage.Sets/src/mage/cards/i/IntoTheRoil.java @@ -30,7 +30,7 @@ public final class IntoTheRoil extends CardImpl { this.getSpellAbility().addEffect(new ReturnToHandTargetEffect()); this.getSpellAbility().addEffect(new ConditionalOneShotEffect( new DrawCardSourceControllerEffect(1), - KickedCondition.instance, + KickedCondition.ONCE, "if this spell was kicked, draw a card")); this.getSpellAbility().addTarget(new TargetNonlandPermanent()); } diff --git a/Mage.Sets/src/mage/cards/j/JaceMirrorMage.java b/Mage.Sets/src/mage/cards/j/JaceMirrorMage.java index f16da18f0b7..01da9752841 100644 --- a/Mage.Sets/src/mage/cards/j/JaceMirrorMage.java +++ b/Mage.Sets/src/mage/cards/j/JaceMirrorMage.java @@ -43,7 +43,7 @@ public final class JaceMirrorMage extends CardImpl { // When Jace, Mirror Mage enters the battlefield, if Jace was kicked, create a token that's a copy of Jace, Mirror Mage except it's not legendary and its starting loyalty is 1. this.addAbility(new ConditionalInterveningIfTriggeredAbility( new EntersBattlefieldTriggeredAbility(new JaceMirrorMageCopyEffect()), - KickedCondition.instance, "When {this} enters the battlefield, if {this} was kicked, " + + KickedCondition.ONCE, "When {this} enters the battlefield, if {this} was kicked, " + "create a token that's a copy of {this}, except it's not legendary and its starting loyalty is 1." )); diff --git a/Mage.Sets/src/mage/cards/j/Jilt.java b/Mage.Sets/src/mage/cards/j/Jilt.java index 8f90ac0e26b..c71e80de3af 100644 --- a/Mage.Sets/src/mage/cards/j/Jilt.java +++ b/Mage.Sets/src/mage/cards/j/Jilt.java @@ -35,7 +35,7 @@ public final class Jilt extends CardImpl { this.getSpellAbility().addEffect(new ReturnToHandTargetEffect()); Effect effect = new ConditionalOneShotEffect( new DamageTargetEffect(2, "it"), - KickedCondition.instance, + KickedCondition.ONCE, "if this spell was kicked, it deals 2 damage to another target creature"); effect.setTargetPointer(new SecondTargetPointer()); this.getSpellAbility().addEffect(effect); @@ -60,7 +60,7 @@ enum JiltAdjuster implements TargetAdjuster { @Override public void adjustTargets(Ability ability, Game game) { - if (!KickedCondition.instance.apply(game, ability)) { + if (!KickedCondition.ONCE.apply(game, ability)) { return; } FilterCreaturePermanent filter = new FilterCreaturePermanent("Another creature: Damaged"); diff --git a/Mage.Sets/src/mage/cards/j/JosuVessLichKnight.java b/Mage.Sets/src/mage/cards/j/JosuVessLichKnight.java index 6831b35d9e4..1b9a6a77889 100644 --- a/Mage.Sets/src/mage/cards/j/JosuVessLichKnight.java +++ b/Mage.Sets/src/mage/cards/j/JosuVessLichKnight.java @@ -35,7 +35,7 @@ public final class JosuVessLichKnight extends CardImpl { //When Josu Vess, Lich Knight enters the battlefield, if it was kicked, create eight 2/2 black Zombie Knight creature tokens with menace. EntersBattlefieldTriggeredAbility ability = new EntersBattlefieldTriggeredAbility(new CreateTokenEffect(new ZombieKnightToken(), 8)); - this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, KickedCondition.instance, + this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, KickedCondition.ONCE, "When {this} enters the battlefield, if it was kicked, create eight 2/2 black Zombie Knight creature tokens with menace.")); } diff --git a/Mage.Sets/src/mage/cards/k/KangeeAerieKeeper.java b/Mage.Sets/src/mage/cards/k/KangeeAerieKeeper.java index d03e56b4c4d..71aa8a6d9fc 100644 --- a/Mage.Sets/src/mage/cards/k/KangeeAerieKeeper.java +++ b/Mage.Sets/src/mage/cards/k/KangeeAerieKeeper.java @@ -50,7 +50,7 @@ public final class KangeeAerieKeeper extends CardImpl { // When Kangee, Aerie Keeper enters the battlefield, if it was kicked, put X feather counters on it. TriggeredAbility ability = new EntersBattlefieldTriggeredAbility(new AddCountersSourceEffect(CounterType.FEATHER.createInstance(), GetKickerXValue.instance, true)); - this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, KickedCondition.instance, "When {this} enters the battlefield, if it was kicked, put X feather counters on it.")); + this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, KickedCondition.ONCE, "When {this} enters the battlefield, if it was kicked, put X feather counters on it.")); // Other Bird creatures get +1/+1 for each feather counter on Kangee, Aerie Keeper. this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostAllEffect(new CountersSourceCount(CounterType.FEATHER), new CountersSourceCount(CounterType.FEATHER), Duration.WhileOnBattlefield, filter, true, "Other Bird creatures get +1/+1 for each feather counter on {this}."))); diff --git a/Mage.Sets/src/mage/cards/k/KavuAggressor.java b/Mage.Sets/src/mage/cards/k/KavuAggressor.java index ca699d5055a..da3be225f87 100644 --- a/Mage.Sets/src/mage/cards/k/KavuAggressor.java +++ b/Mage.Sets/src/mage/cards/k/KavuAggressor.java @@ -33,7 +33,7 @@ public final class KavuAggressor extends CardImpl { this.addAbility(new CantBlockAbility()); // If Kavu Aggressor was kicked, it enters the battlefield with a +1/+1 counter on it. this.addAbility(new EntersBattlefieldAbility(new AddCountersSourceEffect(CounterType.P1P1.createInstance(1)), - KickedCondition.instance, "If {this} was kicked, it enters the battlefield with a +1/+1 counter on it.", "")); + KickedCondition.ONCE, "If {this} was kicked, it enters the battlefield with a +1/+1 counter on it.", "")); } private KavuAggressor(final KavuAggressor card) { diff --git a/Mage.Sets/src/mage/cards/k/KavuPrimarch.java b/Mage.Sets/src/mage/cards/k/KavuPrimarch.java index b46a25cbd28..c532b50b700 100644 --- a/Mage.Sets/src/mage/cards/k/KavuPrimarch.java +++ b/Mage.Sets/src/mage/cards/k/KavuPrimarch.java @@ -35,7 +35,7 @@ public final class KavuPrimarch extends CardImpl { // If Kavu Primarch was kicked, it enters the battlefield with four +1/+1 counters on it. - this.addAbility(new EntersBattlefieldAbility(new AddCountersSourceEffect(CounterType.P1P1.createInstance(4)),KickedCondition.instance, + this.addAbility(new EntersBattlefieldAbility(new AddCountersSourceEffect(CounterType.P1P1.createInstance(4)),KickedCondition.ONCE, "If Kavu Primarch was kicked, it enters the battlefield with four +1/+1 counters on it.", "")); } diff --git a/Mage.Sets/src/mage/cards/k/KavuTitan.java b/Mage.Sets/src/mage/cards/k/KavuTitan.java index fecdc5aa8b5..2b18ccb9c97 100644 --- a/Mage.Sets/src/mage/cards/k/KavuTitan.java +++ b/Mage.Sets/src/mage/cards/k/KavuTitan.java @@ -34,7 +34,7 @@ public final class KavuTitan extends CardImpl { this.addAbility(new KickerAbility("{2}{G}")); // If Kavu Titan was kicked, it enters the battlefield with three +1/+1 counters on it and with trample. Ability ability = new EntersBattlefieldAbility(new AddCountersSourceEffect(CounterType.P1P1.createInstance(3)), - KickedCondition.instance, + KickedCondition.ONCE, "If Kavu Titan was kicked, it enters the battlefield with three +1/+1 counters on it and with trample.", ""); ability.addEffect(new GainAbilitySourceEffect(TrampleAbility.getInstance(), Duration.WhileOnBattlefield)); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/cards/k/KeldonOverseer.java b/Mage.Sets/src/mage/cards/k/KeldonOverseer.java index 38fc70ba874..952c5af3bcd 100644 --- a/Mage.Sets/src/mage/cards/k/KeldonOverseer.java +++ b/Mage.Sets/src/mage/cards/k/KeldonOverseer.java @@ -44,7 +44,7 @@ public final class KeldonOverseer extends CardImpl { ability.addEffect(new UntapTargetEffect()); ability.addEffect(new GainAbilityTargetEffect(HasteAbility.getInstance(), Duration.EndOfTurn)); ability.addTarget(new TargetCreaturePermanent()); - this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, KickedCondition.instance, + this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, KickedCondition.ONCE, "When {this} enters the battlefield, if it was kicked, gain control of target creature until end of turn. Untap that creature. It gains haste until end of turn.")); } diff --git a/Mage.Sets/src/mage/cards/k/KitesailCleric.java b/Mage.Sets/src/mage/cards/k/KitesailCleric.java index 832c777cc49..abe6246f949 100644 --- a/Mage.Sets/src/mage/cards/k/KitesailCleric.java +++ b/Mage.Sets/src/mage/cards/k/KitesailCleric.java @@ -38,7 +38,7 @@ public final class KitesailCleric extends CardImpl { // When Kitesail Cleric enters the battelfield, if it was kicked, tap up to two target creatures. Ability ability = new ConditionalInterveningIfTriggeredAbility( new EntersBattlefieldTriggeredAbility(new TapTargetEffect()), - KickedCondition.instance, "When {this} enters the battlefield, " + + KickedCondition.ONCE, "When {this} enters the battlefield, " + "if it was kicked, tap up to two target creatures." ); ability.addTarget(new TargetCreaturePermanent(0, 2)); diff --git a/Mage.Sets/src/mage/cards/k/KorAeronaut.java b/Mage.Sets/src/mage/cards/k/KorAeronaut.java index 4d5222ab524..2c65df8e3b8 100644 --- a/Mage.Sets/src/mage/cards/k/KorAeronaut.java +++ b/Mage.Sets/src/mage/cards/k/KorAeronaut.java @@ -39,7 +39,7 @@ public final class KorAeronaut extends CardImpl { //When Kor Aeronaut enters the battlefield, if it was kicked, target creature gains flying until end of turn. EntersBattlefieldTriggeredAbility ability = new EntersBattlefieldTriggeredAbility(new GainAbilityTargetEffect(FlyingAbility.getInstance(), Duration.EndOfTurn), false); ability.addTarget(new TargetCreaturePermanent()); - this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, KickedCondition.instance, "When {this} enters the battlefield, if it was kicked, target creature gains flying until end of turn.")); + this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, KickedCondition.ONCE, "When {this} enters the battlefield, if it was kicked, target creature gains flying until end of turn.")); } private KorAeronaut(final KorAeronaut card) { diff --git a/Mage.Sets/src/mage/cards/k/KorSanctifiers.java b/Mage.Sets/src/mage/cards/k/KorSanctifiers.java index 001dfde7840..89a27224976 100644 --- a/Mage.Sets/src/mage/cards/k/KorSanctifiers.java +++ b/Mage.Sets/src/mage/cards/k/KorSanctifiers.java @@ -36,7 +36,7 @@ public final class KorSanctifiers extends CardImpl { // When Kor Sanctifiers enters the battlefield, if it was kicked, destroy target artifact or enchantment. EntersBattlefieldTriggeredAbility ability = new EntersBattlefieldTriggeredAbility(new DestroyTargetEffect(), false); ability.addTarget(new TargetPermanent(StaticFilters.FILTER_PERMANENT_ARTIFACT_OR_ENCHANTMENT)); - this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, KickedCondition.instance, "When {this} enters the battlefield, if it was kicked, destroy target artifact or enchantment.")); + this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, KickedCondition.ONCE, "When {this} enters the battlefield, if it was kicked, destroy target artifact or enchantment.")); } public KorSanctifiers (final KorSanctifiers card) { diff --git a/Mage.Sets/src/mage/cards/k/KrosanDruid.java b/Mage.Sets/src/mage/cards/k/KrosanDruid.java index 7c45e752b2a..31713f74d67 100644 --- a/Mage.Sets/src/mage/cards/k/KrosanDruid.java +++ b/Mage.Sets/src/mage/cards/k/KrosanDruid.java @@ -33,7 +33,7 @@ public final class KrosanDruid extends CardImpl { // When Krosan Druid enters the battlefield, if it was kicked, you gain 10 life. this.addAbility(new ConditionalInterveningIfTriggeredAbility( new EntersBattlefieldTriggeredAbility(new GainLifeEffect(10)), - KickedCondition.instance, + KickedCondition.ONCE, "When {this} enters the battlefield, if it was kicked, you gain 10 life" )); } diff --git a/Mage.Sets/src/mage/cards/l/LlanowarElite.java b/Mage.Sets/src/mage/cards/l/LlanowarElite.java index 3c63f9af368..5aba2341baa 100644 --- a/Mage.Sets/src/mage/cards/l/LlanowarElite.java +++ b/Mage.Sets/src/mage/cards/l/LlanowarElite.java @@ -36,7 +36,7 @@ public final class LlanowarElite extends CardImpl { // If Llanowar Elite was kicked, it enters the battlefield with five +1/+1 counters on it. Ability ability = new EntersBattlefieldAbility( - new ConditionalOneShotEffect(new AddCountersSourceEffect(CounterType.P1P1.createInstance(5)), KickedCondition.instance, ""), + new ConditionalOneShotEffect(new AddCountersSourceEffect(CounterType.P1P1.createInstance(5)), KickedCondition.ONCE, ""), "If {this} was kicked, it enters the battlefield with five +1/+1 counters on it."); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/cards/m/MaddeningCacophony.java b/Mage.Sets/src/mage/cards/m/MaddeningCacophony.java index 2f7bb448949..8e364c64ba6 100644 --- a/Mage.Sets/src/mage/cards/m/MaddeningCacophony.java +++ b/Mage.Sets/src/mage/cards/m/MaddeningCacophony.java @@ -57,7 +57,7 @@ class MaddeningCacophonyEffect extends OneShotEffect { @Override public boolean apply(Game game, Ability source) { - boolean kicked = KickedCondition.instance.apply(game, source); + boolean kicked = KickedCondition.ONCE.apply(game, source); for (UUID playerId : game.getOpponents(source.getControllerId())) { Player player = game.getPlayer(playerId); if (player == null) { diff --git a/Mage.Sets/src/mage/cards/m/MagmaBurst.java b/Mage.Sets/src/mage/cards/m/MagmaBurst.java index 5c8e2d798cb..a7185b147de 100644 --- a/Mage.Sets/src/mage/cards/m/MagmaBurst.java +++ b/Mage.Sets/src/mage/cards/m/MagmaBurst.java @@ -51,6 +51,6 @@ enum MagmaBurstAdjuster implements TargetAdjuster { @Override public void adjustTargets(Ability ability, Game game) { - ability.addTarget(new TargetAnyTarget(KickedCondition.instance.apply(game, ability) ? 2 : 1)); + ability.addTarget(new TargetAnyTarget(KickedCondition.ONCE.apply(game, ability) ? 2 : 1)); } } \ No newline at end of file diff --git a/Mage.Sets/src/mage/cards/m/MarshCasualties.java b/Mage.Sets/src/mage/cards/m/MarshCasualties.java index 0a643054803..c0f8f0eee1b 100644 --- a/Mage.Sets/src/mage/cards/m/MarshCasualties.java +++ b/Mage.Sets/src/mage/cards/m/MarshCasualties.java @@ -38,7 +38,7 @@ public final class MarshCasualties extends CardImpl { this.getSpellAbility().addEffect(new ConditionalContinuousEffect( new MarshCasualtiesEffect(-2, -2), new MarshCasualtiesEffect(-1, -1), - new LockedInCondition(KickedCondition.instance), + new LockedInCondition(KickedCondition.ONCE), ruleText)); this.getSpellAbility().addTarget(new TargetPlayer()); } diff --git a/Mage.Sets/src/mage/cards/m/MightOfMurasa.java b/Mage.Sets/src/mage/cards/m/MightOfMurasa.java index 8c1ac0609df..17861ed2cde 100644 --- a/Mage.Sets/src/mage/cards/m/MightOfMurasa.java +++ b/Mage.Sets/src/mage/cards/m/MightOfMurasa.java @@ -60,7 +60,7 @@ class MightOfMurasaEffect extends OneShotEffect { @Override public boolean apply(Game game, Ability source) { - int i = KickedCondition.instance.apply(game, source) ? 5 : 3; + int i = KickedCondition.ONCE.apply(game, source) ? 5 : 3; game.addEffect(new BoostTargetEffect(i, i, Duration.EndOfTurn), source); return true; } diff --git a/Mage.Sets/src/mage/cards/m/MoldShambler.java b/Mage.Sets/src/mage/cards/m/MoldShambler.java index 7e9d2bbedd0..3be6eb920db 100644 --- a/Mage.Sets/src/mage/cards/m/MoldShambler.java +++ b/Mage.Sets/src/mage/cards/m/MoldShambler.java @@ -44,7 +44,7 @@ public final class MoldShambler extends CardImpl { EntersBattlefieldTriggeredAbility ability = new EntersBattlefieldTriggeredAbility(new DestroyTargetEffect(), false); Target target = new TargetPermanent(filter); ability.addTarget(target); - this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, KickedCondition.instance, "When {this} enters the battlefield, if it was kicked, destroy target noncreature permanent.")); + this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, KickedCondition.ONCE, "When {this} enters the battlefield, if it was kicked, destroy target noncreature permanent.")); } private MoldShambler(final MoldShambler card) { diff --git a/Mage.Sets/src/mage/cards/m/MoltenDisaster.java b/Mage.Sets/src/mage/cards/m/MoltenDisaster.java index cd3eb12b8cd..1ec2680bfcb 100644 --- a/Mage.Sets/src/mage/cards/m/MoltenDisaster.java +++ b/Mage.Sets/src/mage/cards/m/MoltenDisaster.java @@ -78,14 +78,14 @@ class MoltenDisasterSplitSecondEffect extends ContinuousRuleModifyingEffectImpl @Override public boolean applies(GameEvent event, Ability source, Game game) { if (event.getType() == GameEvent.EventType.CAST_SPELL) { - if (KickedCondition.instance.apply(game, source)) { + if (KickedCondition.ONCE.apply(game, source)) { return true; } } if (event.getType() == GameEvent.EventType.ACTIVATE_ABILITY) { Optional ability = game.getAbility(event.getTargetId(), event.getSourceId()); if (ability.isPresent() && !(ability.get() instanceof ActivatedManaAbilityImpl)) { - return KickedCondition.instance.apply(game, source); + return KickedCondition.ONCE.apply(game, source); } } return false; diff --git a/Mage.Sets/src/mage/cards/m/MossPitSkeleton.java b/Mage.Sets/src/mage/cards/m/MossPitSkeleton.java index 5a84f950f62..125c39cbeb3 100644 --- a/Mage.Sets/src/mage/cards/m/MossPitSkeleton.java +++ b/Mage.Sets/src/mage/cards/m/MossPitSkeleton.java @@ -37,7 +37,7 @@ public final class MossPitSkeleton extends CardImpl { // If Moss-Pit Skeleton was kicked, it enters the battlefield with three +1/+1 counters on it. this.addAbility(new EntersBattlefieldAbility( - new AddCountersSourceEffect(CounterType.P1P1.createInstance(3)), KickedCondition.instance, + new AddCountersSourceEffect(CounterType.P1P1.createInstance(3)), KickedCondition.ONCE, "If {this} was kicked, it enters the battlefield with three +1/+1 counters on it.", "" )); diff --git a/Mage.Sets/src/mage/cards/m/MurasaSproutling.java b/Mage.Sets/src/mage/cards/m/MurasaSproutling.java index 31e28fb308c..da8ebc40d52 100644 --- a/Mage.Sets/src/mage/cards/m/MurasaSproutling.java +++ b/Mage.Sets/src/mage/cards/m/MurasaSproutling.java @@ -42,7 +42,7 @@ public final class MurasaSproutling extends CardImpl { // When Murasa Sproutling enters the battlefield, if it was kicked, return target card with a kicker ability from your graveyard to your hand. Ability ability = new ConditionalInterveningIfTriggeredAbility( new EntersBattlefieldTriggeredAbility(new ReturnFromGraveyardToHandTargetEffect()), - KickedCondition.instance, "When {this} enters the battlefield, if it was kicked, " + + KickedCondition.ONCE, "When {this} enters the battlefield, if it was kicked, " + "return target card with a kicker ability from your graveyard to your hand." ); ability.addTarget(new TargetCardInYourGraveyard(filter)); diff --git a/Mage.Sets/src/mage/cards/m/MyriadConstruct.java b/Mage.Sets/src/mage/cards/m/MyriadConstruct.java index ed9b9fc8cf9..857b5adc7f7 100644 --- a/Mage.Sets/src/mage/cards/m/MyriadConstruct.java +++ b/Mage.Sets/src/mage/cards/m/MyriadConstruct.java @@ -55,7 +55,7 @@ public final class MyriadConstruct extends CardImpl { // If Myriad Construct was kicked, it enters the battlefield with a +1/+1 counter on it for each nonbasic land your opponents control. this.addAbility(new EntersBattlefieldAbility( new AddCountersSourceEffect(CounterType.P1P1.createInstance(), xValue, false), - KickedCondition.instance, "If {this} was kicked, it enters the battlefield " + + KickedCondition.ONCE, "If {this} was kicked, it enters the battlefield " + "with a +1/+1 counter on it for each nonbasic land your opponents control.", "" )); diff --git a/Mage.Sets/src/mage/cards/n/NullpriestOfOblivion.java b/Mage.Sets/src/mage/cards/n/NullpriestOfOblivion.java index edf7bd1c416..14e2239217b 100644 --- a/Mage.Sets/src/mage/cards/n/NullpriestOfOblivion.java +++ b/Mage.Sets/src/mage/cards/n/NullpriestOfOblivion.java @@ -43,7 +43,7 @@ public final class NullpriestOfOblivion extends CardImpl { // When Nullpriest of Oblivion enters the battlefield, if it was kicked, return target creature card from your graveyard to the battlefield. Ability ability = new ConditionalInterveningIfTriggeredAbility( new EntersBattlefieldTriggeredAbility(new ReturnFromGraveyardToBattlefieldTargetEffect()), - KickedCondition.instance, "When {this} enters the battlefield, if it was kicked, " + + KickedCondition.ONCE, "When {this} enters the battlefield, if it was kicked, " + "return target creature card from your graveyard to the battlefield." ); ability.addTarget(new TargetCardInYourGraveyard(StaticFilters.FILTER_CARD_CREATURE_YOUR_GRAVEYARD)); diff --git a/Mage.Sets/src/mage/cards/o/OranRiefRecluse.java b/Mage.Sets/src/mage/cards/o/OranRiefRecluse.java index 2cb04a38110..103453d8938 100644 --- a/Mage.Sets/src/mage/cards/o/OranRiefRecluse.java +++ b/Mage.Sets/src/mage/cards/o/OranRiefRecluse.java @@ -46,7 +46,7 @@ public final class OranRiefRecluse extends CardImpl { // When Oran-Rief Recluse enters the battlefield, if it was kicked, destroy target creature with flying. EntersBattlefieldTriggeredAbility ability = new EntersBattlefieldTriggeredAbility(new DestroyTargetEffect(), false); ability.addTarget(new TargetCreaturePermanent(filter)); - this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, KickedCondition.instance, "When {this} enters the battlefield, if it was kicked, destroy target creature with flying.")); + this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, KickedCondition.ONCE, "When {this} enters the battlefield, if it was kicked, destroy target creature with flying.")); } private OranRiefRecluse(final OranRiefRecluse card) { diff --git a/Mage.Sets/src/mage/cards/o/OrimsChant.java b/Mage.Sets/src/mage/cards/o/OrimsChant.java index 7a96ee5ba18..9ae53357f7f 100644 --- a/Mage.Sets/src/mage/cards/o/OrimsChant.java +++ b/Mage.Sets/src/mage/cards/o/OrimsChant.java @@ -96,7 +96,7 @@ class OrimsChantEffect extends OneShotEffect { @Override public boolean apply(Game game, Ability source) { Player controller = game.getPlayer(source.getControllerId()); - if (controller != null && KickedCondition.instance.apply(game, source)) { + if (controller != null && KickedCondition.ONCE.apply(game, source)) { game.addEffect(new CantAttackAnyPlayerAllEffect(Duration.EndOfTurn, FILTER_PERMANENT_CREATURES), source); return true; } diff --git a/Mage.Sets/src/mage/cards/o/OrimsThunder.java b/Mage.Sets/src/mage/cards/o/OrimsThunder.java index 2700155061a..9995f18895d 100644 --- a/Mage.Sets/src/mage/cards/o/OrimsThunder.java +++ b/Mage.Sets/src/mage/cards/o/OrimsThunder.java @@ -36,7 +36,7 @@ public final class OrimsThunder extends CardImpl { this.getSpellAbility().addTarget(new TargetPermanent(StaticFilters.FILTER_PERMANENT_ARTIFACT_OR_ENCHANTMENT)); this.getSpellAbility().addEffect(new ConditionalOneShotEffect( new OrimsThunderEffect2(), - KickedCondition.instance, + KickedCondition.ONCE, "If this spell was kicked, it deals damage equal to that permanent's mana value to target creature") ); this.getSpellAbility().setTargetAdjuster(OrimsThunderAdjuster.instance); @@ -57,7 +57,7 @@ enum OrimsThunderAdjuster implements TargetAdjuster { @Override public void adjustTargets(Ability ability, Game game) { - if (KickedCondition.instance.apply(game, ability)) { + if (KickedCondition.ONCE.apply(game, ability)) { ability.addTarget(new TargetCreaturePermanent()); } } @@ -82,7 +82,7 @@ class OrimsThunderEffect2 extends OneShotEffect { if (firstTarget != null) { damage = firstTarget.getManaValue(); } - boolean kicked = KickedCondition.instance.apply(game, source); + boolean kicked = KickedCondition.ONCE.apply(game, source); if (kicked && secondTarget != null) { secondTarget.damage(damage, source.getSourceId(), source, game); return true; diff --git a/Mage.Sets/src/mage/cards/o/OrimsTouch.java b/Mage.Sets/src/mage/cards/o/OrimsTouch.java index 3850ccba87d..bdfcd3eb30d 100644 --- a/Mage.Sets/src/mage/cards/o/OrimsTouch.java +++ b/Mage.Sets/src/mage/cards/o/OrimsTouch.java @@ -29,7 +29,7 @@ public final class OrimsTouch extends CardImpl { // Prevent the next 2 damage that would be dealt to any target this turn. If Orim's Touch was kicked, prevent the next 4 damage that would be dealt to that creature or player this turn instead. Effect effect = new ConditionalReplacementEffect( new PreventDamageToTargetEffect(Duration.EndOfTurn, 4), - new LockedInCondition(KickedCondition.instance), + new LockedInCondition(KickedCondition.ONCE), new PreventDamageToTargetEffect(Duration.EndOfTurn, 2)); effect.setText("Prevent the next 2 damage that would be dealt to any target this turn. If Orim's Touch was kicked, prevent the next 4 damage that would be dealt to that permanent or player this turn instead"); this.getSpellAbility().addTarget(new TargetAnyTarget()); diff --git a/Mage.Sets/src/mage/cards/o/Overload.java b/Mage.Sets/src/mage/cards/o/Overload.java index fa1b1fbd810..8b45dc5d0f9 100644 --- a/Mage.Sets/src/mage/cards/o/Overload.java +++ b/Mage.Sets/src/mage/cards/o/Overload.java @@ -65,7 +65,7 @@ class OverloadEffect extends OneShotEffect { Permanent targetArtifact = game.getPermanent(this.getTargetPointer().getFirst(game, source)); if (targetArtifact != null) { int cmc = targetArtifact.getManaValue(); - if (cmc <= 2 || (KickedCondition.instance.apply(game, source) && cmc <= 5)) { + if (cmc <= 2 || (KickedCondition.ONCE.apply(game, source) && cmc <= 5)) { targetArtifact.destroy(source, game, false); } } diff --git a/Mage.Sets/src/mage/cards/p/PhyrexianScuta.java b/Mage.Sets/src/mage/cards/p/PhyrexianScuta.java index dc20822ee15..1b43140512a 100644 --- a/Mage.Sets/src/mage/cards/p/PhyrexianScuta.java +++ b/Mage.Sets/src/mage/cards/p/PhyrexianScuta.java @@ -31,7 +31,7 @@ public final class PhyrexianScuta extends CardImpl { // Kicker-Pay 3 life. this.addAbility(new KickerAbility(new PayLifeCost(3))); // If Phyrexian Scuta was kicked, it enters the battlefield with two +1/+1 counters on it. - this.addAbility(new EntersBattlefieldAbility(new AddCountersSourceEffect(CounterType.P1P1.createInstance(2)), KickedCondition.instance, "If Phyrexian Scuta was kicked, it enters the battlefield with two +1/+1 counters on it.", "")); + this.addAbility(new EntersBattlefieldAbility(new AddCountersSourceEffect(CounterType.P1P1.createInstance(2)), KickedCondition.ONCE, "If Phyrexian Scuta was kicked, it enters the battlefield with two +1/+1 counters on it.", "")); } private PhyrexianScuta(final PhyrexianScuta card) { diff --git a/Mage.Sets/src/mage/cards/p/PincerSpider.java b/Mage.Sets/src/mage/cards/p/PincerSpider.java index c335b85bea7..bc6c9754359 100644 --- a/Mage.Sets/src/mage/cards/p/PincerSpider.java +++ b/Mage.Sets/src/mage/cards/p/PincerSpider.java @@ -36,7 +36,7 @@ public final class PincerSpider extends CardImpl { // If Pincer Spider was kicked, it enters the battlefield with a +1/+1 counter on it. Ability ability = new EntersBattlefieldAbility( - new ConditionalOneShotEffect(new AddCountersSourceEffect(CounterType.P1P1.createInstance(1)), KickedCondition.instance, ""), + new ConditionalOneShotEffect(new AddCountersSourceEffect(CounterType.P1P1.createInstance(1)), KickedCondition.ONCE, ""), "If {this} was kicked, it enters the battlefield with a +1/+1 counter on it."); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/cards/p/PollenRemedy.java b/Mage.Sets/src/mage/cards/p/PollenRemedy.java index 0cc10fb6ec4..54797103ddc 100644 --- a/Mage.Sets/src/mage/cards/p/PollenRemedy.java +++ b/Mage.Sets/src/mage/cards/p/PollenRemedy.java @@ -34,7 +34,7 @@ public final class PollenRemedy extends CardImpl { // Prevent the next 3 damage that would be dealt this turn to any number of target creatures and/or players, divided as you choose. // If Pollen Remedy was kicked, prevent the next 6 damage this way instead. Effect effect = new ConditionalReplacementEffect(new PreventDamageToTargetMultiAmountEffect(Duration.EndOfTurn, 6), - KickedCondition.instance, new PreventDamageToTargetMultiAmountEffect(Duration.EndOfTurn, 3)); + KickedCondition.ONCE, new PreventDamageToTargetMultiAmountEffect(Duration.EndOfTurn, 3)); effect.setText("Prevent the next 3 damage that would be dealt this turn to any number of targets, divided as you choose. If this spell was kicked, prevent the next 6 damage this way instead."); this.getSpellAbility().addEffect(effect); this.getSpellAbility().setTargetAdjuster(PollenRemedyAdjuster.instance); @@ -55,6 +55,6 @@ enum PollenRemedyAdjuster implements TargetAdjuster { @Override public void adjustTargets(Ability ability, Game game) { - ability.addTarget(new TargetAnyTargetAmount(KickedCondition.instance.apply(game, ability) ? 6 : 3)); + ability.addTarget(new TargetAnyTargetAmount(KickedCondition.ONCE.apply(game, ability) ? 6 : 3)); } } diff --git a/Mage.Sets/src/mage/cards/p/PouncingKavu.java b/Mage.Sets/src/mage/cards/p/PouncingKavu.java index 19ce3bcef86..1d216929147 100644 --- a/Mage.Sets/src/mage/cards/p/PouncingKavu.java +++ b/Mage.Sets/src/mage/cards/p/PouncingKavu.java @@ -38,7 +38,7 @@ public final class PouncingKavu extends CardImpl { this.addAbility(FirstStrikeAbility.getInstance()); // If Pouncing Kavu was kicked, it enters the battlefield with two +1/+1 counters on it and with haste. Ability ability = new EntersBattlefieldAbility(new AddCountersSourceEffect(CounterType.P1P1.createInstance(2)), - KickedCondition.instance, "If {this} was kicked, it enters the battlefield with two +1/+1 counters on it and with haste.", ""); + KickedCondition.ONCE, "If {this} was kicked, it enters the battlefield with two +1/+1 counters on it and with haste.", ""); ability.addEffect(new GainAbilitySourceEffect(HasteAbility.getInstance(), Duration.WhileOnBattlefield)); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/p/PouncingWurm.java b/Mage.Sets/src/mage/cards/p/PouncingWurm.java index 5f5012b9bcc..b2542a8942c 100644 --- a/Mage.Sets/src/mage/cards/p/PouncingWurm.java +++ b/Mage.Sets/src/mage/cards/p/PouncingWurm.java @@ -36,7 +36,7 @@ public final class PouncingWurm extends CardImpl { // If Pouncing Wurm was kicked, it enters the battlefield with three +1/+1 counters on it and with haste. Ability ability = new ConditionalInterveningIfTriggeredAbility( new EntersBattlefieldTriggeredAbility(new AddCountersSourceEffect(CounterType.P1P1.createInstance(3))), - KickedCondition.instance,"If Pouncing Wurm was kicked, it enters the battlefield with three +1/+1 counters on it and with haste."); + KickedCondition.ONCE,"If Pouncing Wurm was kicked, it enters the battlefield with three +1/+1 counters on it and with haste."); ability.addEffect(new GainAbilitySourceEffect(HasteAbility.getInstance(), Duration.WhileOnBattlefield)); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/p/PrimalGrowth.java b/Mage.Sets/src/mage/cards/p/PrimalGrowth.java index dff7aee9df8..8ab7f90a296 100644 --- a/Mage.Sets/src/mage/cards/p/PrimalGrowth.java +++ b/Mage.Sets/src/mage/cards/p/PrimalGrowth.java @@ -32,7 +32,7 @@ public final class PrimalGrowth extends CardImpl { this.getSpellAbility().addEffect(new ConditionalOneShotEffect( new SearchLibraryPutInPlayEffect(new TargetCardInLibrary(0, 2, StaticFilters.FILTER_CARD_BASIC_LAND), false, true), new SearchLibraryPutInPlayEffect(new TargetCardInLibrary(0, 1, StaticFilters.FILTER_CARD_BASIC_LAND), false, true), - KickedCondition.instance, + KickedCondition.ONCE, "Search your library for a basic land card, put that card onto the battlefield, then shuffle. If this spell was kicked, instead search your library for up to two basic land cards, put them onto the battlefield, then shuffle")); } diff --git a/Mage.Sets/src/mage/cards/p/PrisonBarricade.java b/Mage.Sets/src/mage/cards/p/PrisonBarricade.java index 99fe06585e1..935ae162836 100644 --- a/Mage.Sets/src/mage/cards/p/PrisonBarricade.java +++ b/Mage.Sets/src/mage/cards/p/PrisonBarricade.java @@ -38,7 +38,7 @@ public final class PrisonBarricade extends CardImpl { // If Prison Barricade was kicked, it enters the battlefield with a +1/+1 counter on it and with "Prison Barricade can attack as though it didn't have defender." Ability ability = new EntersBattlefieldAbility(new AddCountersSourceEffect(CounterType.P1P1.createInstance(1)), - KickedCondition.instance, "If {this} was kicked, it enters the battlefield with a +1/+1 counter on it and with \"{this} can attack as though it didn't have defender.\"", ""); + KickedCondition.ONCE, "If {this} was kicked, it enters the battlefield with a +1/+1 counter on it and with \"{this} can attack as though it didn't have defender.\"", ""); ability.addEffect(new CanAttackAsThoughItDidntHaveDefenderSourceEffect(Duration.WhileOnBattlefield)); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/p/Probe.java b/Mage.Sets/src/mage/cards/p/Probe.java index a21c1aa04c3..147814f1be3 100644 --- a/Mage.Sets/src/mage/cards/p/Probe.java +++ b/Mage.Sets/src/mage/cards/p/Probe.java @@ -31,7 +31,7 @@ public final class Probe extends CardImpl { // If Probe was kicked, target player discards two cards. this.getSpellAbility().addEffect(new ConditionalOneShotEffect( new DiscardTargetEffect(2), - KickedCondition.instance, + KickedCondition.ONCE, "If this spell was kicked, target player discards two cards")); this.getSpellAbility().setTargetAdjuster(ProbeAdjuster.instance); } @@ -52,7 +52,7 @@ enum ProbeAdjuster implements TargetAdjuster { @Override public void adjustTargets(Ability ability, Game game) { ability.getTargets().clear(); - if (KickedCondition.instance.apply(game, ability)) { + if (KickedCondition.ONCE.apply(game, ability)) { ability.addTarget(new TargetPlayer()); } } diff --git a/Mage.Sets/src/mage/cards/p/Prohibit.java b/Mage.Sets/src/mage/cards/p/Prohibit.java index 4a7e9b100d2..9600c25ab3a 100644 --- a/Mage.Sets/src/mage/cards/p/Prohibit.java +++ b/Mage.Sets/src/mage/cards/p/Prohibit.java @@ -69,7 +69,7 @@ class ProhibitEffect extends OneShotEffect { if (targetSpell != null) { int cmc = targetSpell.getManaValue(); if (cmc <= 2 - || (KickedCondition.instance.apply(game, source) && cmc <= 4)) { + || (KickedCondition.ONCE.apply(game, source) && cmc <= 4)) { game.getStack().counter(targetSpell.getId(), source, game); } } diff --git a/Mage.Sets/src/mage/cards/r/RavagingRiftwurm.java b/Mage.Sets/src/mage/cards/r/RavagingRiftwurm.java index 050abda7ff5..d2033c8de59 100644 --- a/Mage.Sets/src/mage/cards/r/RavagingRiftwurm.java +++ b/Mage.Sets/src/mage/cards/r/RavagingRiftwurm.java @@ -38,7 +38,7 @@ public final class RavagingRiftwurm extends CardImpl { this.addAbility(new VanishingSacrificeAbility()); // If Ravaging Riftwurm was kicked, it enters the battlefield with three additional time counters on it. this.addAbility(new EntersBattlefieldAbility(new AddCountersSourceEffect(CounterType.TIME.createInstance(3)), - KickedCondition.instance, "If {this} was kicked, it enters the battlefield with three additional time counters on it.", "")); + KickedCondition.ONCE, "If {this} was kicked, it enters the battlefield with three additional time counters on it.", "")); } private RavagingRiftwurm(final RavagingRiftwurm card) { diff --git a/Mage.Sets/src/mage/cards/r/ReclaimTheWastes.java b/Mage.Sets/src/mage/cards/r/ReclaimTheWastes.java index aa753520141..291ca6f6159 100644 --- a/Mage.Sets/src/mage/cards/r/ReclaimTheWastes.java +++ b/Mage.Sets/src/mage/cards/r/ReclaimTheWastes.java @@ -32,7 +32,7 @@ public final class ReclaimTheWastes extends CardImpl { new SearchLibraryPutInHandEffect(new TargetCardInLibrary( 0, 1, StaticFilters.FILTER_CARD_BASIC_LAND - ), true), KickedCondition.instance, "search your library for a basic land card, " + + ), true), KickedCondition.ONCE, "search your library for a basic land card, " + "reveal it, put it into your hand, then shuffle. If this spell was kicked, " + "search your library for two basic land cards instead of one" )); diff --git a/Mage.Sets/src/mage/cards/r/RiteOfReplication.java b/Mage.Sets/src/mage/cards/r/RiteOfReplication.java index c3015a4c13d..042cdfa0c09 100644 --- a/Mage.Sets/src/mage/cards/r/RiteOfReplication.java +++ b/Mage.Sets/src/mage/cards/r/RiteOfReplication.java @@ -26,7 +26,7 @@ public final class RiteOfReplication extends CardImpl { // Create a token that's a copy of target creature. If Rite of Replication was kicked, create five of those tokens instead. this.getSpellAbility().addTarget(new TargetCreaturePermanent()); this.getSpellAbility().addEffect(new ConditionalOneShotEffect(new CreateTokenCopyTargetEffect(null, null, false, 5), - new CreateTokenCopyTargetEffect(), KickedCondition.instance, + new CreateTokenCopyTargetEffect(), KickedCondition.ONCE, "Create a token that's a copy of target creature. If this spell was kicked, create five of those tokens instead")); } diff --git a/Mage.Sets/src/mage/cards/r/RoilEruption.java b/Mage.Sets/src/mage/cards/r/RoilEruption.java index 7a9ec60193b..d464da2ce73 100644 --- a/Mage.Sets/src/mage/cards/r/RoilEruption.java +++ b/Mage.Sets/src/mage/cards/r/RoilEruption.java @@ -24,7 +24,7 @@ public final class RoilEruption extends CardImpl { // Roil Eruption deals 3 damage to any target. If this spell was kicked, it deals 5 damage instead. this.getSpellAbility().addEffect(new ConditionalOneShotEffect( - new DamageTargetEffect(5), new DamageTargetEffect(3), KickedCondition.instance, + new DamageTargetEffect(5), new DamageTargetEffect(3), KickedCondition.ONCE, "{this} deals 3 damage to any target. If this spell was kicked, it deals 5 damage instead" )); this.getSpellAbility().addTarget(new TargetAnyTarget()); diff --git a/Mage.Sets/src/mage/cards/r/RoostOfDrakes.java b/Mage.Sets/src/mage/cards/r/RoostOfDrakes.java index 77a5ade0c57..d6e42b038ad 100644 --- a/Mage.Sets/src/mage/cards/r/RoostOfDrakes.java +++ b/Mage.Sets/src/mage/cards/r/RoostOfDrakes.java @@ -28,7 +28,7 @@ public final class RoostOfDrakes extends CardImpl { // When Roost of Drakes enters the battlefield, if it was kicked, create a 2/2 blue Drake creature token with flying. this.addAbility(new ConditionalInterveningIfTriggeredAbility( new EntersBattlefieldTriggeredAbility(new CreateTokenEffect(new DrakeToken())), - KickedCondition.instance, "When {this} enters the battlefield, if it was kicked, " + + KickedCondition.ONCE, "When {this} enters the battlefield, if it was kicked, " + "create a 2/2 blue Drake creature token with flying." )); diff --git a/Mage.Sets/src/mage/cards/r/RushingRiver.java b/Mage.Sets/src/mage/cards/r/RushingRiver.java index f1b18afb9e5..613dbfe92a5 100644 --- a/Mage.Sets/src/mage/cards/r/RushingRiver.java +++ b/Mage.Sets/src/mage/cards/r/RushingRiver.java @@ -35,7 +35,7 @@ public final class RushingRiver extends CardImpl { this.getSpellAbility().addEffect(new ReturnToHandTargetEffect()); Effect effect = new ConditionalOneShotEffect( new ReturnToHandTargetEffect(), - KickedCondition.instance, + KickedCondition.ONCE, "if this spell was kicked, return another target nonland permanent to its owner's hand"); effect.setTargetPointer(new SecondTargetPointer()); this.getSpellAbility().addEffect(effect); @@ -58,7 +58,7 @@ enum RushingRiverAdjuster implements TargetAdjuster { @Override public void adjustTargets(Ability ability, Game game) { - if (KickedCondition.instance.apply(game, ability)) { + if (KickedCondition.ONCE.apply(game, ability)) { ability.getTargets().clear(); ability.addTarget(new TargetNonlandPermanent(2)); } diff --git a/Mage.Sets/src/mage/cards/s/SadisticSacrament.java b/Mage.Sets/src/mage/cards/s/SadisticSacrament.java index f1f927c5308..19aded01221 100644 --- a/Mage.Sets/src/mage/cards/s/SadisticSacrament.java +++ b/Mage.Sets/src/mage/cards/s/SadisticSacrament.java @@ -33,7 +33,7 @@ public final class SadisticSacrament extends CardImpl { this.getSpellAbility().addEffect(new ConditionalOneShotEffect( new SearchLibraryAndExileTargetEffect(15, true), new SearchLibraryAndExileTargetEffect(3, true), - KickedCondition.instance, ruleText + KickedCondition.ONCE, ruleText )); this.getSpellAbility().addTarget(new TargetPlayer()); } diff --git a/Mage.Sets/src/mage/cards/s/SaprolingMigration.java b/Mage.Sets/src/mage/cards/s/SaprolingMigration.java index c449bd12adb..70fdfc8f146 100644 --- a/Mage.Sets/src/mage/cards/s/SaprolingMigration.java +++ b/Mage.Sets/src/mage/cards/s/SaprolingMigration.java @@ -25,7 +25,7 @@ public final class SaprolingMigration extends CardImpl { // Create two 1/1 green saproling creature tokens. If this spell was kicked, create four of those tokens instead. this.getSpellAbility().addEffect(new ConditionalOneShotEffect(new CreateTokenEffect(new SaprolingToken(), 4), - new CreateTokenEffect(new SaprolingToken(), 2), KickedCondition.instance, + new CreateTokenEffect(new SaprolingToken(), 2), KickedCondition.ONCE, "Create two 1/1 green Saproling creature tokens. If this spell was kicked, create four of those tokens instead")); } diff --git a/Mage.Sets/src/mage/cards/s/SavageOffensive.java b/Mage.Sets/src/mage/cards/s/SavageOffensive.java index 55ee4fbb337..818ceb384f7 100644 --- a/Mage.Sets/src/mage/cards/s/SavageOffensive.java +++ b/Mage.Sets/src/mage/cards/s/SavageOffensive.java @@ -41,7 +41,7 @@ public final class SavageOffensive extends CardImpl { // If Savage Offensive was kicked, they get +1/+1 until end of turn. this.getSpellAbility().addEffect(new ConditionalOneShotEffect( new AddContinuousEffectToGame(new BoostControlledEffect(1, 1, Duration.EndOfTurn)), - new LockedInCondition(KickedCondition.instance), + new LockedInCondition(KickedCondition.ONCE), "if this spell was kicked, they get +1/+1 until end of turn.")); } diff --git a/Mage.Sets/src/mage/cards/s/ScorchRider.java b/Mage.Sets/src/mage/cards/s/ScorchRider.java index c97a3be111e..e31e60f0e05 100644 --- a/Mage.Sets/src/mage/cards/s/ScorchRider.java +++ b/Mage.Sets/src/mage/cards/s/ScorchRider.java @@ -35,7 +35,7 @@ public final class ScorchRider extends CardImpl { this.addAbility(new ConditionalInterveningIfTriggeredAbility( new EntersBattlefieldTriggeredAbility(new GainAbilitySourceEffect( HasteAbility.getInstance(), Duration.EndOfTurn - )), KickedCondition.instance, "When {this} enters the battlefield, " + + )), KickedCondition.ONCE, "When {this} enters the battlefield, " + "if it was kicked, it gains haste until end of turn." )); } diff --git a/Mage.Sets/src/mage/cards/s/ScorchingLava.java b/Mage.Sets/src/mage/cards/s/ScorchingLava.java index 234161f58d4..002e0d62392 100644 --- a/Mage.Sets/src/mage/cards/s/ScorchingLava.java +++ b/Mage.Sets/src/mage/cards/s/ScorchingLava.java @@ -39,10 +39,10 @@ public final class ScorchingLava extends CardImpl { this.getSpellAbility().addEffect(new ConditionalContinuousRuleModifyingEffect( new CantRegenerateTargetEffect(Duration.EndOfTurn, "If Scorching Lava was kicked, " + "\n" + "that creature "), - new LockedInCondition(KickedCondition.instance))); + new LockedInCondition(KickedCondition.ONCE))); this.getSpellAbility().addEffect(new ConditionalOneShotEffect( new ExileTargetIfDiesEffect(), - new LockedInCondition(KickedCondition.instance), + new LockedInCondition(KickedCondition.ONCE), "and if it would die this turn, exile it instead.")); this.getSpellAbility().addTarget(new TargetAnyTarget()); } diff --git a/Mage.Sets/src/mage/cards/s/SeaGateStormcaller.java b/Mage.Sets/src/mage/cards/s/SeaGateStormcaller.java index 00392dfd66d..30cd4aa9a2c 100644 --- a/Mage.Sets/src/mage/cards/s/SeaGateStormcaller.java +++ b/Mage.Sets/src/mage/cards/s/SeaGateStormcaller.java @@ -41,7 +41,7 @@ public final class SeaGateStormcaller extends CardImpl { this.addAbility(new EntersBattlefieldTriggeredAbility(new ConditionalOneShotEffect( new CreateDelayedTriggeredAbilityEffect(new SeaGateStormcallerDelayedTriggeredAbility(true)), new CreateDelayedTriggeredAbilityEffect(new SeaGateStormcallerDelayedTriggeredAbility(false)), - KickedCondition.instance, "copy the next instant or sorcery spell " + + KickedCondition.ONCE, "copy the next instant or sorcery spell " + "with mana value 2 or less you cast this turn when you cast it. " + "If {this} was kicked, copy that spell twice instead. You may choose new targets for the copies." ))); diff --git a/Mage.Sets/src/mage/cards/s/SergeantAtArms.java b/Mage.Sets/src/mage/cards/s/SergeantAtArms.java index 9e9118fa093..9a41d20fd07 100644 --- a/Mage.Sets/src/mage/cards/s/SergeantAtArms.java +++ b/Mage.Sets/src/mage/cards/s/SergeantAtArms.java @@ -33,7 +33,7 @@ public final class SergeantAtArms extends CardImpl { // When Sergeant-at-Arms enters the battlefield, if it was kicked, create two 1/1 white soldier creature tokens. this.addAbility(new EntersBattlefieldTriggeredAbility(new ConditionalOneShotEffect( - new CreateTokenEffect(new SoldierToken(), 2), KickedCondition.instance, + new CreateTokenEffect(new SoldierToken(), 2), KickedCondition.ONCE, "if it was kicked, create two 1/1 white Soldier creature tokens."))); } diff --git a/Mage.Sets/src/mage/cards/s/ShalaisAcolyte.java b/Mage.Sets/src/mage/cards/s/ShalaisAcolyte.java index f40d23a3b76..3682b7656ec 100644 --- a/Mage.Sets/src/mage/cards/s/ShalaisAcolyte.java +++ b/Mage.Sets/src/mage/cards/s/ShalaisAcolyte.java @@ -35,7 +35,7 @@ public final class ShalaisAcolyte extends CardImpl { // If Shalai's Acolyte was kicked, it enters the battlefield with two +1/+1 counters on it. this.addAbility(new EntersBattlefieldAbility( new AddCountersSourceEffect(CounterType.P1P1.createInstance(2)), - KickedCondition.instance, "If {this} was kicked, " + + KickedCondition.ONCE, "If {this} was kicked, " + "it enters the battlefield with two +1/+1 counters on it.", "" )); } diff --git a/Mage.Sets/src/mage/cards/s/ShatterskullCharger.java b/Mage.Sets/src/mage/cards/s/ShatterskullCharger.java index 1fa3d252b73..06cfe321697 100644 --- a/Mage.Sets/src/mage/cards/s/ShatterskullCharger.java +++ b/Mage.Sets/src/mage/cards/s/ShatterskullCharger.java @@ -49,7 +49,7 @@ public final class ShatterskullCharger extends CardImpl { // If Shatterskull Charger was kicked, it enters the battlefield with a +1/+1 counter on it. this.addAbility(new EntersBattlefieldAbility( - new AddCountersSourceEffect(CounterType.P1P1.createInstance()), KickedCondition.instance, + new AddCountersSourceEffect(CounterType.P1P1.createInstance()), KickedCondition.ONCE, "If {this} was kicked, it enters the battlefield with a +1/+1 counter on it.", "" )); diff --git a/Mage.Sets/src/mage/cards/s/ShellShield.java b/Mage.Sets/src/mage/cards/s/ShellShield.java index cec0df31d42..a81502d5d56 100644 --- a/Mage.Sets/src/mage/cards/s/ShellShield.java +++ b/Mage.Sets/src/mage/cards/s/ShellShield.java @@ -63,7 +63,7 @@ class ShellShieldEffect extends OneShotEffect { @Override public boolean apply(Game game, Ability source) { game.addEffect(new BoostTargetEffect(0, 3, Duration.EndOfTurn), source); - if (KickedCondition.instance.apply(game, source)) { + if (KickedCondition.ONCE.apply(game, source)) { game.addEffect(new GainAbilityTargetEffect(HexproofAbility.getInstance(), Duration.EndOfTurn), source); } return true; diff --git a/Mage.Sets/src/mage/cards/s/ShivanEmissary.java b/Mage.Sets/src/mage/cards/s/ShivanEmissary.java index 9c03db22543..43e9a846ae0 100644 --- a/Mage.Sets/src/mage/cards/s/ShivanEmissary.java +++ b/Mage.Sets/src/mage/cards/s/ShivanEmissary.java @@ -34,7 +34,7 @@ public final class ShivanEmissary extends CardImpl { // When Shivan Emissary enters the battlefield, if it was kicked, destroy target nonblack creature. It can't be regenerated. TriggeredAbility ability = new EntersBattlefieldTriggeredAbility(new DestroyTargetEffect(true)); ability.addTarget(new TargetCreaturePermanent(StaticFilters.FILTER_PERMANENT_CREATURE_NON_BLACK)); - this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, KickedCondition.instance, + this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, KickedCondition.ONCE, "When {this} enters the battlefield, if it was kicked, destroy target nonblack creature. It can't be regenerated.")); } diff --git a/Mage.Sets/src/mage/cards/s/ShivanFire.java b/Mage.Sets/src/mage/cards/s/ShivanFire.java index 9d35b49117a..9229a40309c 100644 --- a/Mage.Sets/src/mage/cards/s/ShivanFire.java +++ b/Mage.Sets/src/mage/cards/s/ShivanFire.java @@ -29,7 +29,7 @@ public final class ShivanFire extends CardImpl { // Shivan Fire deals 2 damage to any target. If Shivan Fire was kicked, it deals 4 damage to that creature or player instead. this.getSpellAbility().addTarget(new TargetCreaturePermanent()); this.getSpellAbility().addEffect(new ConditionalOneShotEffect(new DamageTargetEffect(4), - new DamageTargetEffect(2), KickedCondition.instance, "{this} deals 2 damage to target creature. If this spell was kicked, it deals 4 damage to that creature instead")); + new DamageTargetEffect(2), KickedCondition.ONCE, "{this} deals 2 damage to target creature. If this spell was kicked, it deals 4 damage to that creature instead")); } private ShivanFire(final ShivanFire card) { diff --git a/Mage.Sets/src/mage/cards/s/Skizzik.java b/Mage.Sets/src/mage/cards/s/Skizzik.java index 98ed2787a08..57780fe754c 100644 --- a/Mage.Sets/src/mage/cards/s/Skizzik.java +++ b/Mage.Sets/src/mage/cards/s/Skizzik.java @@ -36,7 +36,7 @@ public final class Skizzik extends CardImpl { this.addAbility(HasteAbility.getInstance()); // At the beginning of the end step, sacrifice Skizzik unless it was kicked. this.addAbility(new BeginningOfEndStepTriggeredAbility( - new SacrificeSourceUnlessConditionEffect(KickedCondition.instance), TargetController.NEXT, false)); + new SacrificeSourceUnlessConditionEffect(KickedCondition.ONCE), TargetController.NEXT, false)); } private Skizzik(final Skizzik card) { diff --git a/Mage.Sets/src/mage/cards/s/SkyclaveRelic.java b/Mage.Sets/src/mage/cards/s/SkyclaveRelic.java index e33fd684b7c..0ce8e1a8b8d 100644 --- a/Mage.Sets/src/mage/cards/s/SkyclaveRelic.java +++ b/Mage.Sets/src/mage/cards/s/SkyclaveRelic.java @@ -30,7 +30,7 @@ public final class SkyclaveRelic extends CardImpl { // When Skyclave Relic enters the battlefield, if it was kicked, create two tapped tokens that are copies of Skyclave Relic. this.addAbility(new ConditionalInterveningIfTriggeredAbility( new EntersBattlefieldTriggeredAbility(new CreateTokenCopySourceEffect(2, true)), - KickedCondition.instance, "When {this} enters the battlefield, if it was kicked, " + + KickedCondition.ONCE, "When {this} enters the battlefield, if it was kicked, " + "create two tapped tokens that are copies of {this}." )); diff --git a/Mage.Sets/src/mage/cards/s/SkyclaveSentinel.java b/Mage.Sets/src/mage/cards/s/SkyclaveSentinel.java index 6b62e50f319..d40767e877b 100644 --- a/Mage.Sets/src/mage/cards/s/SkyclaveSentinel.java +++ b/Mage.Sets/src/mage/cards/s/SkyclaveSentinel.java @@ -46,7 +46,7 @@ public final class SkyclaveSentinel extends CardImpl { // If Skyclave Sentinel was kicked, it enters the battlefield with two +1/+1 counters on it. this.addAbility(new EntersBattlefieldAbility( - new AddCountersSourceEffect(CounterType.P1P1.createInstance(2)), KickedCondition.instance, + new AddCountersSourceEffect(CounterType.P1P1.createInstance(2)), KickedCondition.ONCE, "If {this} was kicked, it enters the battlefield with two +1/+1 counters on it.", "" )); diff --git a/Mage.Sets/src/mage/cards/s/SkyclaveShade.java b/Mage.Sets/src/mage/cards/s/SkyclaveShade.java index 5bdf1613d04..e5dad22b476 100644 --- a/Mage.Sets/src/mage/cards/s/SkyclaveShade.java +++ b/Mage.Sets/src/mage/cards/s/SkyclaveShade.java @@ -40,7 +40,7 @@ public final class SkyclaveShade extends CardImpl { // If Skyclave Shade was kicked, it enters the battlefield with two +1/+1 counters on it. this.addAbility(new EntersBattlefieldAbility( - new AddCountersSourceEffect(CounterType.P1P1.createInstance(2)), KickedCondition.instance, + new AddCountersSourceEffect(CounterType.P1P1.createInstance(2)), KickedCondition.ONCE, "If {this} was kicked, it enters the battlefield with two +1/+1 counters on it.", "" )); diff --git a/Mage.Sets/src/mage/cards/s/SlinnVodaTheRisingDeep.java b/Mage.Sets/src/mage/cards/s/SlinnVodaTheRisingDeep.java index fff7a2ee789..b2428fff8dc 100644 --- a/Mage.Sets/src/mage/cards/s/SlinnVodaTheRisingDeep.java +++ b/Mage.Sets/src/mage/cards/s/SlinnVodaTheRisingDeep.java @@ -49,7 +49,7 @@ public final class SlinnVodaTheRisingDeep extends CardImpl { // When Slinn Voda, the Rising Deep enters the battlefield, if it was kicked, return all creatures to their owners' hands except for Merfolk, Krakens, Leviathans, Octopuses, and Serpents. this.addAbility(new ConditionalInterveningIfTriggeredAbility( new EntersBattlefieldTriggeredAbility(new ReturnToHandFromBattlefieldAllEffect(filter)), - KickedCondition.instance, + KickedCondition.ONCE, "when {this} enters the battlefield, if it was kicked, " + "return all creatures to their owners' hands except for " + "Merfolk, Krakens, Leviathans, Octopuses, and Serpents." diff --git a/Mage.Sets/src/mage/cards/s/SphinxOfLostTruths.java b/Mage.Sets/src/mage/cards/s/SphinxOfLostTruths.java index 960fa5b878f..26c04315616 100644 --- a/Mage.Sets/src/mage/cards/s/SphinxOfLostTruths.java +++ b/Mage.Sets/src/mage/cards/s/SphinxOfLostTruths.java @@ -38,7 +38,7 @@ public final class SphinxOfLostTruths extends CardImpl { // When Sphinx of Lost Truths enters the battlefield, draw three cards. Then if it wasn't kicked, discard three cards. Ability ability = new EntersBattlefieldTriggeredAbility(new DrawCardSourceControllerEffect(3)); - ability.addEffect(new ConditionalOneShotEffect(new DiscardControllerEffect(3), new InvertCondition(KickedCondition.instance), + ability.addEffect(new ConditionalOneShotEffect(new DiscardControllerEffect(3), new InvertCondition(KickedCondition.ONCE), "Then if it wasn't kicked, discard three cards")); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/s/StrengthOfNight.java b/Mage.Sets/src/mage/cards/s/StrengthOfNight.java index f9bfb4a7e29..b7cedd48551 100644 --- a/Mage.Sets/src/mage/cards/s/StrengthOfNight.java +++ b/Mage.Sets/src/mage/cards/s/StrengthOfNight.java @@ -36,7 +36,7 @@ public final class StrengthOfNight extends CardImpl { // Creatures you control get +1/+1 until end of turn. If Strength of Night was kicked, Zombie creatures you control get an additional +2/+2 until end of turn. this.getSpellAbility().addEffect(new BoostControlledEffect(1, 1, Duration.EndOfTurn)); ContinuousEffect effect = new BoostControlledEffect(2, 2, Duration.EndOfTurn, filter); - this.getSpellAbility().addEffect(new ConditionalContinuousEffect(effect, new LockedInCondition(KickedCondition.instance), + this.getSpellAbility().addEffect(new ConditionalContinuousEffect(effect, new LockedInCondition(KickedCondition.ONCE), "if this spell was kicked, Zombie creatures you control get an additional +2/+2 until end of turn.")); } diff --git a/Mage.Sets/src/mage/cards/s/StrongholdConfessor.java b/Mage.Sets/src/mage/cards/s/StrongholdConfessor.java index 10c56d40389..3958fc99028 100644 --- a/Mage.Sets/src/mage/cards/s/StrongholdConfessor.java +++ b/Mage.Sets/src/mage/cards/s/StrongholdConfessor.java @@ -34,7 +34,7 @@ public final class StrongholdConfessor extends CardImpl { // Kicker {3} (You may pay an additional {3} as you cast this spell.) this.addAbility(new KickerAbility("{3}")); // If Stronghold Confessor was kicked, it enters the battlefield with two +1/+1 counters on it. - this.addAbility(new EntersBattlefieldAbility(new AddCountersSourceEffect(CounterType.P1P1.createInstance(2)), KickedCondition.instance, "If {this} was kicked, it enters the battlefield with two +1/+1 counters on it.", "")); + this.addAbility(new EntersBattlefieldAbility(new AddCountersSourceEffect(CounterType.P1P1.createInstance(2)), KickedCondition.ONCE, "If {this} was kicked, it enters the battlefield with two +1/+1 counters on it.", "")); } private StrongholdConfessor(final StrongholdConfessor card) { diff --git a/Mage.Sets/src/mage/cards/t/TajuruParagon.java b/Mage.Sets/src/mage/cards/t/TajuruParagon.java index 434cf35e490..05210227a75 100644 --- a/Mage.Sets/src/mage/cards/t/TajuruParagon.java +++ b/Mage.Sets/src/mage/cards/t/TajuruParagon.java @@ -47,7 +47,7 @@ public final class TajuruParagon extends CardImpl { // When Tajuru Paragon enters the battlefield, if it was kicked, reveal the top six cards of your library. You may put a card that shares a creature type with it from among them into your hand. Put the rest on the bottom of your library in a random order. this.addAbility(new ConditionalInterveningIfTriggeredAbility( new EntersBattlefieldTriggeredAbility(new TajuruParagonEffect()), - KickedCondition.instance, "When {this} enters the battlefield, " + + KickedCondition.ONCE, "When {this} enters the battlefield, " + "if it was kicked, reveal the top six cards of your library. " + "You may put a card that shares a creature type with it from among them into your hand. " + "Put the rest on the bottom of your library in a random order." diff --git a/Mage.Sets/src/mage/cards/t/TauntingArbormage.java b/Mage.Sets/src/mage/cards/t/TauntingArbormage.java index 8028f456e92..92ca8d1cbf8 100644 --- a/Mage.Sets/src/mage/cards/t/TauntingArbormage.java +++ b/Mage.Sets/src/mage/cards/t/TauntingArbormage.java @@ -35,7 +35,7 @@ public final class TauntingArbormage extends CardImpl { // When Taunting Arbormage enters the battlefield, if it was kicked, all creatures able to block target creature this turn do so. Ability ability = new ConditionalInterveningIfTriggeredAbility( new EntersBattlefieldTriggeredAbility(new MustBeBlockedByAllTargetEffect(Duration.EndOfTurn)), - KickedCondition.instance, "When {this} enters the battlefield, if it was kicked, " + + KickedCondition.ONCE, "When {this} enters the battlefield, if it was kicked, " + "all creatures able to block target creature this turn do so." ); ability.addTarget(new TargetCreaturePermanent()); diff --git a/Mage.Sets/src/mage/cards/t/TazeemRoilmage.java b/Mage.Sets/src/mage/cards/t/TazeemRoilmage.java index 7a415356c96..a72c0c35cc7 100644 --- a/Mage.Sets/src/mage/cards/t/TazeemRoilmage.java +++ b/Mage.Sets/src/mage/cards/t/TazeemRoilmage.java @@ -39,7 +39,7 @@ public final class TazeemRoilmage extends CardImpl { // When Tazeem Roilmage enters the battlefield, if it was kicked, return target instant or sorcery card from your graveyard to your hand. Ability ability = new ConditionalInterveningIfTriggeredAbility( new EntersBattlefieldTriggeredAbility(new ReturnToHandTargetEffect(), false), - KickedCondition.instance, "When {this} enters the battlefield, if it was kicked, " + + KickedCondition.ONCE, "When {this} enters the battlefield, if it was kicked, " + "return target instant or sorcery card from your graveyard to your hand." ); ability.addTarget(new TargetCardInYourGraveyard(filter)); diff --git a/Mage.Sets/src/mage/cards/t/TempestOwl.java b/Mage.Sets/src/mage/cards/t/TempestOwl.java index 092dfc7782e..0c3146db0f3 100644 --- a/Mage.Sets/src/mage/cards/t/TempestOwl.java +++ b/Mage.Sets/src/mage/cards/t/TempestOwl.java @@ -38,7 +38,7 @@ public final class TempestOwl extends CardImpl { // When Tempest Owl enters the battlefield, if it was kicked, tap up to three target permanents. EntersBattlefieldTriggeredAbility ability = new EntersBattlefieldTriggeredAbility(new TapTargetEffect(), false); ability.addTarget(new TargetPermanent(0, 3, new FilterPermanent(), false)); - this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, KickedCondition.instance, "When {this} enters the battlefield, if it was kicked, tap up to three target permanents.")); + this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, KickedCondition.ONCE, "When {this} enters the battlefield, if it was kicked, tap up to three target permanents.")); } private TempestOwl(final TempestOwl card) { diff --git a/Mage.Sets/src/mage/cards/t/TerritorialAllosaurus.java b/Mage.Sets/src/mage/cards/t/TerritorialAllosaurus.java index ad3f2dbe87e..7205eed0ddc 100644 --- a/Mage.Sets/src/mage/cards/t/TerritorialAllosaurus.java +++ b/Mage.Sets/src/mage/cards/t/TerritorialAllosaurus.java @@ -36,7 +36,7 @@ public final class TerritorialAllosaurus extends CardImpl { // When Territorial Allosaurus enters the battlefield, if it was kicked, it fights another target creature. EntersBattlefieldTriggeredAbility ability = new EntersBattlefieldTriggeredAbility(new FightTargetSourceEffect()); - Ability conditionalAbility = new ConditionalInterveningIfTriggeredAbility(ability, KickedCondition.instance, + Ability conditionalAbility = new ConditionalInterveningIfTriggeredAbility(ability, KickedCondition.ONCE, "When {this} enters the battlefield, if it was kicked, it fights another target creature."); FilterCreaturePermanent filter = new FilterCreaturePermanent(); filter.add(AnotherPredicate.instance); diff --git a/Mage.Sets/src/mage/cards/t/ThicketElemental.java b/Mage.Sets/src/mage/cards/t/ThicketElemental.java index deec178e8cd..c5c45584f92 100644 --- a/Mage.Sets/src/mage/cards/t/ThicketElemental.java +++ b/Mage.Sets/src/mage/cards/t/ThicketElemental.java @@ -32,7 +32,7 @@ public final class ThicketElemental extends CardImpl { // When Thicket Elemental enters the battlefield, if it was kicked, you may reveal cards from the top of your library until you reveal a creature card. If you do, put that card onto the battlefield and shuffle all other cards revealed this way into your library. TriggeredAbility ability = new EntersBattlefieldTriggeredAbility(new RevealCardsFromLibraryUntilEffect(StaticFilters.FILTER_CARD_CREATURE, Zone.BATTLEFIELD, Zone.LIBRARY, true)); - this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, KickedCondition.instance, + this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, KickedCondition.ONCE, "When {this} enters the battlefield, if it was kicked, you may reveal cards from the top of your library until you reveal a creature card. If you do, put that card onto the battlefield and shuffle all other cards revealed this way into your library.")); } diff --git a/Mage.Sets/src/mage/cards/t/ThievingSkydiver.java b/Mage.Sets/src/mage/cards/t/ThievingSkydiver.java index 2bfaea2e86f..4cb44d55f5a 100644 --- a/Mage.Sets/src/mage/cards/t/ThievingSkydiver.java +++ b/Mage.Sets/src/mage/cards/t/ThievingSkydiver.java @@ -50,7 +50,7 @@ public final class ThievingSkydiver extends CardImpl { // When Thieving Skydiver enters the battlefield, if it was kicked, gain control of target artifact with converted mana cost X or less. If that artifact is an Equipment, attach it to Thieving Skydiver. Ability ability = new ConditionalInterveningIfTriggeredAbility( new EntersBattlefieldTriggeredAbility(new GainControlTargetEffect(Duration.Custom), false), - KickedCondition.instance, "When {this} enters the battlefield, if it was kicked, " + + KickedCondition.ONCE, "When {this} enters the battlefield, if it was kicked, " + "gain control of target artifact with mana value X or less. " + "If that artifact is an Equipment, attach it to {this}." ); diff --git a/Mage.Sets/src/mage/cards/t/ThroneOfMakindi.java b/Mage.Sets/src/mage/cards/t/ThroneOfMakindi.java index a755ba27685..cbba3c0de55 100644 --- a/Mage.Sets/src/mage/cards/t/ThroneOfMakindi.java +++ b/Mage.Sets/src/mage/cards/t/ThroneOfMakindi.java @@ -72,6 +72,6 @@ class ThroneOfMakindiConditionalMana extends ConditionalMana { ThroneOfMakindiConditionalMana(Mana mana) { super(mana); - addCondition(KickedCondition.instance); + addCondition(KickedCondition.ONCE); } } diff --git a/Mage.Sets/src/mage/cards/t/TideShaper.java b/Mage.Sets/src/mage/cards/t/TideShaper.java index a3a9b830944..53c7db5bb56 100644 --- a/Mage.Sets/src/mage/cards/t/TideShaper.java +++ b/Mage.Sets/src/mage/cards/t/TideShaper.java @@ -52,7 +52,7 @@ public final class TideShaper extends CardImpl { // When Tide Shaper enters the battlefield, if it was kicked, target land becomes an Island for as long as Tide Shaper remains on the battlefield. Ability ability = new ConditionalInterveningIfTriggeredAbility( new EntersBattlefieldTriggeredAbility(new TideShaperEffect()), - KickedCondition.instance, "When {this} enters the battlefield, if it was kicked, " + + KickedCondition.ONCE, "When {this} enters the battlefield, if it was kicked, " + "target land becomes an Island for as long as {this} remains on the battlefield." ); ability.addTarget(new TargetLandPermanent()); diff --git a/Mage.Sets/src/mage/cards/t/TolarianEmissary.java b/Mage.Sets/src/mage/cards/t/TolarianEmissary.java index b507e2a5ef6..297300e5b2f 100644 --- a/Mage.Sets/src/mage/cards/t/TolarianEmissary.java +++ b/Mage.Sets/src/mage/cards/t/TolarianEmissary.java @@ -37,7 +37,7 @@ public final class TolarianEmissary extends CardImpl { // When Tolarian Emissary enters the battlefield, if it was kicked, destroy target enchantment. TriggeredAbility ability = new EntersBattlefieldTriggeredAbility(new DestroyTargetEffect()); ability.addTarget(new TargetEnchantmentPermanent()); - this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, KickedCondition.instance, + this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, KickedCondition.ONCE, "When {this} enters the battlefield, if it was kicked, destroy target enchantment.")); } diff --git a/Mage.Sets/src/mage/cards/t/TorchSlinger.java b/Mage.Sets/src/mage/cards/t/TorchSlinger.java index 47ae2bdd208..22f5ebcfe16 100644 --- a/Mage.Sets/src/mage/cards/t/TorchSlinger.java +++ b/Mage.Sets/src/mage/cards/t/TorchSlinger.java @@ -35,7 +35,7 @@ public final class TorchSlinger extends CardImpl { // When Torch Slinger enters the battlefield, if it was kicked, it deals 2 damage to target creature. EntersBattlefieldTriggeredAbility ability = new EntersBattlefieldTriggeredAbility(new DamageTargetEffect(2), false); ability.addTarget(new TargetCreaturePermanent()); - this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, KickedCondition.instance, "When {this} enters the battlefield, if it was kicked, it deals 2 damage to target creature.")); + this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, KickedCondition.ONCE, "When {this} enters the battlefield, if it was kicked, it deals 2 damage to target creature.")); } private TorchSlinger(final TorchSlinger card) { diff --git a/Mage.Sets/src/mage/cards/t/TourachDreadCantor.java b/Mage.Sets/src/mage/cards/t/TourachDreadCantor.java index b35566390ab..25f92ee065c 100644 --- a/Mage.Sets/src/mage/cards/t/TourachDreadCantor.java +++ b/Mage.Sets/src/mage/cards/t/TourachDreadCantor.java @@ -49,7 +49,7 @@ public final class TourachDreadCantor extends CardImpl { // When Tourach enters the battelfield, if it was kicked, target opponent discards two cards at random. Ability ability = new ConditionalInterveningIfTriggeredAbility( new EntersBattlefieldTriggeredAbility(new DiscardTargetEffect(2, true)), - KickedCondition.instance, "When {this} enters the battlefield, if it was kicked, " + + KickedCondition.ONCE, "When {this} enters the battlefield, if it was kicked, " + "target opponent discards two cards at random." ); ability.addTarget(new TargetOpponent()); diff --git a/Mage.Sets/src/mage/cards/u/UnstableFooting.java b/Mage.Sets/src/mage/cards/u/UnstableFooting.java index 6549d9fceec..f8d7e15c28d 100644 --- a/Mage.Sets/src/mage/cards/u/UnstableFooting.java +++ b/Mage.Sets/src/mage/cards/u/UnstableFooting.java @@ -14,7 +14,6 @@ import mage.constants.Duration; import mage.constants.Outcome; import mage.game.Game; import mage.game.events.GameEvent; -import mage.game.events.GameEvent.EventType; import mage.target.common.TargetPlayerOrPlaneswalker; import mage.target.targetadjustment.TargetAdjuster; @@ -35,7 +34,7 @@ public final class UnstableFooting extends CardImpl { this.getSpellAbility().addEffect(new UnstableFootingEffect()); this.getSpellAbility().addEffect(new ConditionalOneShotEffect( new DamageTargetEffect(5), - KickedCondition.instance, + KickedCondition.ONCE, "If this spell was kicked, it deals 5 damage to target player or planeswalker") ); this.getSpellAbility().setTargetAdjuster(UnstableFootingAdjuster.instance); @@ -58,7 +57,7 @@ enum UnstableFootingAdjuster implements TargetAdjuster { @Override public void adjustTargets(Ability ability, Game game) { ability.getTargets().clear(); - if (KickedCondition.instance.apply(game, ability)) { + if (KickedCondition.ONCE.apply(game, ability)) { ability.addTarget(new TargetPlayerOrPlaneswalker()); } } diff --git a/Mage.Sets/src/mage/cards/u/UntamedKavu.java b/Mage.Sets/src/mage/cards/u/UntamedKavu.java index d4eef27ab15..3856061f1c7 100644 --- a/Mage.Sets/src/mage/cards/u/UntamedKavu.java +++ b/Mage.Sets/src/mage/cards/u/UntamedKavu.java @@ -38,7 +38,7 @@ public final class UntamedKavu extends CardImpl { // If Untamed Kavu was kicked, it enters the battlefield with three +1/+1 counters on it. Ability ability = new EntersBattlefieldAbility(new AddCountersSourceEffect(CounterType.P1P1.createInstance(3)), - KickedCondition.instance, + KickedCondition.ONCE, "If Untamed Kavu was kicked, it enters the battlefield with three +1/+1 counters on it.", ""); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/u/UrborgEmissary.java b/Mage.Sets/src/mage/cards/u/UrborgEmissary.java index 5f40ef64ab8..89296036d3f 100644 --- a/Mage.Sets/src/mage/cards/u/UrborgEmissary.java +++ b/Mage.Sets/src/mage/cards/u/UrborgEmissary.java @@ -34,7 +34,7 @@ public final class UrborgEmissary extends CardImpl { // When Urborg Emissary enters the battlefield, if it was kicked, return target permanent to its owner's hand. TriggeredAbility ability = new EntersBattlefieldTriggeredAbility(new ReturnToHandTargetEffect()); ability.addTarget(new TargetPermanent()); - this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, KickedCondition.instance, + this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, KickedCondition.ONCE, "When {this} enters the battlefield, if it was kicked, return target permanent to its owner's hand.")); } diff --git a/Mage.Sets/src/mage/cards/u/UrborgSkeleton.java b/Mage.Sets/src/mage/cards/u/UrborgSkeleton.java index 4eb633743c7..1cb88ebc083 100644 --- a/Mage.Sets/src/mage/cards/u/UrborgSkeleton.java +++ b/Mage.Sets/src/mage/cards/u/UrborgSkeleton.java @@ -42,7 +42,7 @@ public final class UrborgSkeleton extends CardImpl { // If Urborg Skeleton was kicked, it enters the battlefield with a +1/+1 counter on it. Ability ability = new EntersBattlefieldAbility( new AddCountersSourceEffect(CounterType.P1P1.createInstance(1)), - KickedCondition.instance, staticText, ""); + KickedCondition.ONCE, staticText, ""); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/u/UrzasRage.java b/Mage.Sets/src/mage/cards/u/UrzasRage.java index 509b3212290..681fc5fa84c 100644 --- a/Mage.Sets/src/mage/cards/u/UrzasRage.java +++ b/Mage.Sets/src/mage/cards/u/UrzasRage.java @@ -37,7 +37,7 @@ public final class UrzasRage extends CardImpl { // Urza's Rage deals 3 damage to any target. If Urza's Rage was kicked, instead it deals 10 damage to that creature or player and the damage can't be prevented. this.getSpellAbility().addEffect(new ConditionalOneShotEffect( new DamageTargetEffect(10, false), new DamageTargetEffect(3), - KickedCondition.instance, "{this} deals 3 damage to any target. If this spell was kicked, " + + KickedCondition.ONCE, "{this} deals 3 damage to any target. If this spell was kicked, " + "instead it deals 10 damage to that permanent or player and the damage can't be prevented." )); this.getSpellAbility().addTarget(new TargetAnyTarget()); diff --git a/Mage.Sets/src/mage/cards/v/VampiresBite.java b/Mage.Sets/src/mage/cards/v/VampiresBite.java index 64887b20d9b..a1b80b868e6 100644 --- a/Mage.Sets/src/mage/cards/v/VampiresBite.java +++ b/Mage.Sets/src/mage/cards/v/VampiresBite.java @@ -33,7 +33,7 @@ public final class VampiresBite extends CardImpl { this.getSpellAbility().addTarget(new TargetCreaturePermanent()); this.getSpellAbility().addEffect(new BoostTargetEffect(3, 0, Duration.EndOfTurn)); ContinuousEffect effect = new GainAbilityTargetEffect(LifelinkAbility.getInstance(), Duration.EndOfTurn); - this.getSpellAbility().addEffect(new ConditionalContinuousEffect(effect, new LockedInCondition(KickedCondition.instance), "if this spell was kicked, that creature gains lifelink until end of turn")); + this.getSpellAbility().addEffect(new ConditionalContinuousEffect(effect, new LockedInCondition(KickedCondition.ONCE), "if this spell was kicked, that creature gains lifelink until end of turn")); } private VampiresBite(final VampiresBite card) { diff --git a/Mage.Sets/src/mage/cards/v/VastwoodSurge.java b/Mage.Sets/src/mage/cards/v/VastwoodSurge.java index 5ce867cf34e..90138baa2e5 100644 --- a/Mage.Sets/src/mage/cards/v/VastwoodSurge.java +++ b/Mage.Sets/src/mage/cards/v/VastwoodSurge.java @@ -37,7 +37,7 @@ public final class VastwoodSurge extends CardImpl { new AddCountersAllEffect( CounterType.P1P1.createInstance(2), StaticFilters.FILTER_CONTROLLED_CREATURES - ), KickedCondition.instance, "If this spell was kicked, " + + ), KickedCondition.ONCE, "If this spell was kicked, " + "put two +1/+1 counters on each creature you control." )); } diff --git a/Mage.Sets/src/mage/cards/v/VerdelothTheAncient.java b/Mage.Sets/src/mage/cards/v/VerdelothTheAncient.java index 7e243abcc7c..5d878939f6f 100644 --- a/Mage.Sets/src/mage/cards/v/VerdelothTheAncient.java +++ b/Mage.Sets/src/mage/cards/v/VerdelothTheAncient.java @@ -56,7 +56,7 @@ public final class VerdelothTheAncient extends CardImpl { // When Verdeloth the Ancient enters the battlefield, if it was kicked, create X 1/1 green Saproling creature tokens. this.addAbility(new ConditionalInterveningIfTriggeredAbility(new EntersBattlefieldTriggeredAbility( new CreateTokenEffect(new SaprolingToken(), GetKickerXValue.instance), false - ), KickedCondition.instance, "When {this} enters the battlefield, " + + ), KickedCondition.ONCE, "When {this} enters the battlefield, " + "if it was kicked, create X 1/1 green Saproling creature tokens.")); } diff --git a/Mage.Sets/src/mage/cards/v/VerduranEmissary.java b/Mage.Sets/src/mage/cards/v/VerduranEmissary.java index b6b75dac594..38abb6ecf38 100644 --- a/Mage.Sets/src/mage/cards/v/VerduranEmissary.java +++ b/Mage.Sets/src/mage/cards/v/VerduranEmissary.java @@ -34,7 +34,7 @@ public final class VerduranEmissary extends CardImpl { // When {this} enters the battlefield, if it was kicked, destroy target artifact. It can't be regenerated. TriggeredAbility ability = new EntersBattlefieldTriggeredAbility(new DestroyTargetEffect(true)); ability.addTarget(new TargetArtifactPermanent()); - this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, KickedCondition.instance, + this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, KickedCondition.ONCE, "When {this} enters the battlefield, if it was kicked, destroy target artifact. It can't be regenerated.")); } diff --git a/Mage.Sets/src/mage/cards/v/VerixBladewing.java b/Mage.Sets/src/mage/cards/v/VerixBladewing.java index 79e47fc6b2d..574dc61c568 100644 --- a/Mage.Sets/src/mage/cards/v/VerixBladewing.java +++ b/Mage.Sets/src/mage/cards/v/VerixBladewing.java @@ -41,7 +41,7 @@ public final class VerixBladewing extends CardImpl { EntersBattlefieldTriggeredAbility ability = new EntersBattlefieldTriggeredAbility( new CreateTokenEffect(new KaroxBladewingDragonToken())); - this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, KickedCondition.instance, + this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, KickedCondition.ONCE, "When {this} enters the battlefield, if it was kicked, create Karox Bladewing, " + "a legendary 4/4 red Dragon creature token with flying.")); } diff --git a/Mage.Sets/src/mage/cards/v/ViciousOffering.java b/Mage.Sets/src/mage/cards/v/ViciousOffering.java index 3beeaafb414..59caba345c5 100644 --- a/Mage.Sets/src/mage/cards/v/ViciousOffering.java +++ b/Mage.Sets/src/mage/cards/v/ViciousOffering.java @@ -30,7 +30,7 @@ public final class ViciousOffering extends CardImpl { // Target creature gets -2/-2 until end of turn. If this spell was kicked, that creature gets -5/-5 until end of turn instead. this.getSpellAbility().addEffect(new ConditionalContinuousEffect(new BoostTargetEffect(-5, -5, Duration.EndOfTurn), - new BoostTargetEffect(-2, -2, Duration.EndOfTurn), new LockedInCondition(KickedCondition.instance), + new BoostTargetEffect(-2, -2, Duration.EndOfTurn), new LockedInCondition(KickedCondition.ONCE), "Target creature gets -2/-2 until end of turn. If this spell was kicked, that creature gets -5/-5 until end of turn instead.")); this.getSpellAbility().addTarget(new TargetCreaturePermanent().withChooseHint("creature that gets -/-")); } diff --git a/Mage.Sets/src/mage/cards/v/VigorousCharge.java b/Mage.Sets/src/mage/cards/v/VigorousCharge.java index c9aa8c211fa..ed512b7d561 100644 --- a/Mage.Sets/src/mage/cards/v/VigorousCharge.java +++ b/Mage.Sets/src/mage/cards/v/VigorousCharge.java @@ -18,7 +18,6 @@ import mage.constants.Zone; import mage.game.Game; import mage.game.events.DamagedEvent; import mage.game.events.GameEvent; -import mage.game.events.GameEvent.EventType; import mage.target.common.TargetCreaturePermanent; /** @@ -39,7 +38,7 @@ public final class VigorousCharge extends CardImpl { this.getSpellAbility().addEffect(new GainAbilityTargetEffect(TrampleAbility.getInstance(), Duration.EndOfTurn)); // Whenever that creature deals combat damage this turn, if this spell was kicked, you gain life equal to that damage. this.getSpellAbility().addEffect(new ConditionalContinuousEffect(new GainAbilityTargetEffect(new VigorousChargeTriggeredAbility(), Duration.EndOfTurn), - new LockedInCondition(KickedCondition.instance), staticText)); + new LockedInCondition(KickedCondition.ONCE), staticText)); } diff --git a/Mage.Sets/src/mage/cards/v/VinesOfVastwood.java b/Mage.Sets/src/mage/cards/v/VinesOfVastwood.java index ea44fee561c..5509a659843 100644 --- a/Mage.Sets/src/mage/cards/v/VinesOfVastwood.java +++ b/Mage.Sets/src/mage/cards/v/VinesOfVastwood.java @@ -38,7 +38,7 @@ public final class VinesOfVastwood extends CardImpl { // If Vines of Vastwood was kicked, that creature gets +4/+4 until end of turn. this.getSpellAbility().addEffect(new ConditionalContinuousEffect(new BoostTargetEffect(4, 4, Duration.EndOfTurn), - new LockedInCondition(KickedCondition.instance), staticText)); + new LockedInCondition(KickedCondition.ONCE), staticText)); } private VinesOfVastwood(final VinesOfVastwood card) { diff --git a/Mage.Sets/src/mage/cards/v/VodalianSerpent.java b/Mage.Sets/src/mage/cards/v/VodalianSerpent.java index aa3b0d07c4d..a51851908b8 100644 --- a/Mage.Sets/src/mage/cards/v/VodalianSerpent.java +++ b/Mage.Sets/src/mage/cards/v/VodalianSerpent.java @@ -36,7 +36,7 @@ public final class VodalianSerpent extends CardImpl { this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new CantAttackUnlessDefenderControllsPermanent(new FilterLandPermanent(SubType.ISLAND, "an Island")))); // If Vodalian Serpent was kicked, it enters the battlefield with four +1/+1 counters on it. this.addAbility(new EntersBattlefieldAbility(new AddCountersSourceEffect(CounterType.P1P1.createInstance(4)), - KickedCondition.instance, "If {this} was kicked, it enters the battlefield with four +1/+1 counters on it.", "")); + KickedCondition.ONCE, "If {this} was kicked, it enters the battlefield with four +1/+1 counters on it.", "")); } private VodalianSerpent(final VodalianSerpent card) { diff --git a/Mage.Sets/src/mage/cards/w/WasteManagement.java b/Mage.Sets/src/mage/cards/w/WasteManagement.java index 87cb8b3c610..877ca20c252 100644 --- a/Mage.Sets/src/mage/cards/w/WasteManagement.java +++ b/Mage.Sets/src/mage/cards/w/WasteManagement.java @@ -53,7 +53,7 @@ enum WasteManagementAdjuster implements TargetAdjuster { @Override public void adjustTargets(Ability ability, Game game) { ability.getTargets().clear(); - if (KickedCondition.instance.apply(game, ability)) { + if (KickedCondition.ONCE.apply(game, ability)) { ability.addTarget(new TargetPlayer()); } else { ability.addTarget(new TargetCardInASingleGraveyard(0, 2, StaticFilters.FILTER_CARD)); @@ -86,7 +86,7 @@ class WasteManagementEffect extends OneShotEffect { return false; } Cards cards = new CardsImpl(); - if (KickedCondition.instance.apply(game, source)) { + if (KickedCondition.ONCE.apply(game, source)) { Player player = game.getPlayer(getTargetPointer().getFirst(game, source)); if (player != null) { cards.addAll(player.getGraveyard()); diff --git a/Mage.Sets/src/mage/cards/w/WaterspoutElemental.java b/Mage.Sets/src/mage/cards/w/WaterspoutElemental.java index e811aefba93..671fd79162e 100644 --- a/Mage.Sets/src/mage/cards/w/WaterspoutElemental.java +++ b/Mage.Sets/src/mage/cards/w/WaterspoutElemental.java @@ -42,7 +42,7 @@ public final class WaterspoutElemental extends CardImpl { // When Waterspout Elemental enters the battlefield, if it was kicked, return all other creatures to their owners' hands and you skip your next turn. EntersBattlefieldTriggeredAbility ability = new EntersBattlefieldTriggeredAbility(new ReturnToHandFromBattlefieldAllEffect(filter)); ability.addEffect(new SkipNextTurnSourceEffect()); - this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, KickedCondition.instance, + this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, KickedCondition.ONCE, "When {this} enters the battlefield, if it was kicked, return all other creatures to their owners' hands and you skip your next turn.")); } diff --git a/Mage.Sets/src/mage/cards/w/WildOnslaught.java b/Mage.Sets/src/mage/cards/w/WildOnslaught.java index 87eccc97734..2978b32d7b7 100644 --- a/Mage.Sets/src/mage/cards/w/WildOnslaught.java +++ b/Mage.Sets/src/mage/cards/w/WildOnslaught.java @@ -28,7 +28,7 @@ public final class WildOnslaught extends CardImpl { this.getSpellAbility().addEffect(new ConditionalOneShotEffect( new AddCountersAllEffect(CounterType.P1P1.createInstance(2), StaticFilters.FILTER_CONTROLLED_CREATURE), new AddCountersAllEffect(CounterType.P1P1.createInstance(), StaticFilters.FILTER_CONTROLLED_CREATURE), - KickedCondition.instance, + KickedCondition.ONCE, "Put a +1/+1 counter on each creature you control. If this spell was kicked, put two +1/+1 counters on each creature you control instead.")); } diff --git a/Mage.Sets/src/mage/sets/DominariaUnited.java b/Mage.Sets/src/mage/sets/DominariaUnited.java index e1fadd09151..7b05279cdd3 100644 --- a/Mage.Sets/src/mage/sets/DominariaUnited.java +++ b/Mage.Sets/src/mage/sets/DominariaUnited.java @@ -28,6 +28,7 @@ public final class DominariaUnited extends ExpansionSet { this.maxCardNumberInBooster = 281; cards.add(new SetCardInfo("Adarkar Wastes", 243, Rarity.RARE, mage.cards.a.AdarkarWastes.class)); + cards.add(new SetCardInfo("Archangel of Wrath", 3, Rarity.RARE, mage.cards.a.ArchangelOfWrath.class)); cards.add(new SetCardInfo("Benalish Sleeper", 8, Rarity.COMMON, mage.cards.b.BenalishSleeper.class)); cards.add(new SetCardInfo("Caves of Koilos", 244, Rarity.RARE, mage.cards.c.CavesOfKoilos.class)); cards.add(new SetCardInfo("Charismatic Vanguard", 10, Rarity.COMMON, mage.cards.c.CharismaticVanguard.class)); diff --git a/Mage/src/main/java/mage/abilities/condition/common/KickedCondition.java b/Mage/src/main/java/mage/abilities/condition/common/KickedCondition.java index 171f8d3d423..7420d35cae3 100644 --- a/Mage/src/main/java/mage/abilities/condition/common/KickedCondition.java +++ b/Mage/src/main/java/mage/abilities/condition/common/KickedCondition.java @@ -5,24 +5,30 @@ import mage.abilities.condition.Condition; import mage.abilities.keyword.KickerAbility; import mage.game.Game; - /** * Describes condition when spell was kicked. * * @author LevelX2 */ public enum KickedCondition implements Condition { + ONCE(1, ""), + TWICE(2, "twice"); - instance; + private final int kickedCount; + private final String text; + + KickedCondition(int kickedCount, String text) { + this.kickedCount = kickedCount; + this.text = text; + } @Override public boolean apply(Game game, Ability source) { - return KickerAbility.getSourceObjectKickedCount(game, source) > 0; + return KickerAbility.getSourceObjectKickedCount(game, source) >= kickedCount; } @Override public String toString() { - return "{this} was kicked"; + return "{this} was kicked" + (text.isEmpty() ? "" : " " + text); } - }