diff --git a/Mage.Sets/src/mage/cards/a/AbzanBeastmaster.java b/Mage.Sets/src/mage/cards/a/AbzanBeastmaster.java
index 21d42c45d8c..e0503095188 100644
--- a/Mage.Sets/src/mage/cards/a/AbzanBeastmaster.java
+++ b/Mage.Sets/src/mage/cards/a/AbzanBeastmaster.java
@@ -5,7 +5,7 @@ import java.util.UUID;
import mage.MageInt;
import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
import mage.abilities.condition.common.ControlsCreatureGreatestToughnessCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.DrawCardSourceControllerEffect;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
@@ -27,7 +27,7 @@ public final class AbzanBeastmaster extends CardImpl {
this.toughness = new MageInt(1);
// At the beginning of your upkeep, draw a card if you control the creature with the greatest toughness or tied for the greatest toughness.
- this.addAbility(new ConditionalTriggeredAbility(
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(
new BeginningOfUpkeepTriggeredAbility(new DrawCardSourceControllerEffect(1), TargetController.YOU, false),
ControlsCreatureGreatestToughnessCondition.instance,
"At the beginning of your upkeep, draw a card if you control the creature with the greatest toughness or tied for the greatest toughness."
diff --git a/Mage.Sets/src/mage/cards/a/AfflictedDeserter.java b/Mage.Sets/src/mage/cards/a/AfflictedDeserter.java
index 3b54846938b..3cbe3dbff4b 100644
--- a/Mage.Sets/src/mage/cards/a/AfflictedDeserter.java
+++ b/Mage.Sets/src/mage/cards/a/AfflictedDeserter.java
@@ -6,7 +6,7 @@ import mage.MageInt;
import mage.abilities.TriggeredAbility;
import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
import mage.abilities.condition.common.NoSpellsWereCastLastTurnCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.TransformSourceEffect;
import mage.abilities.keyword.TransformAbility;
import mage.cards.CardImpl;
@@ -36,7 +36,7 @@ public final class AfflictedDeserter extends CardImpl {
// At the beginning of each upkeep, if no spells were cast last turn, transform Afflicted Deserter.
this.addAbility(new TransformAbility());
TriggeredAbility ability = new BeginningOfUpkeepTriggeredAbility(new TransformSourceEffect(true), TargetController.ANY, false);
- this.addAbility(new ConditionalTriggeredAbility(ability, NoSpellsWereCastLastTurnCondition.instance, TransformAbility.NO_SPELLS_TRANSFORM_RULE));
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, NoSpellsWereCastLastTurnCondition.instance, TransformAbility.NO_SPELLS_TRANSFORM_RULE));
}
public AfflictedDeserter(final AfflictedDeserter card) {
diff --git a/Mage.Sets/src/mage/cards/a/AidFromTheCowl.java b/Mage.Sets/src/mage/cards/a/AidFromTheCowl.java
index f0509b855cc..8f35a937e29 100644
--- a/Mage.Sets/src/mage/cards/a/AidFromTheCowl.java
+++ b/Mage.Sets/src/mage/cards/a/AidFromTheCowl.java
@@ -7,7 +7,7 @@ import mage.abilities.Ability;
import mage.abilities.TriggeredAbility;
import mage.abilities.common.BeginningOfYourEndStepTriggeredAbility;
import mage.abilities.condition.common.RevoltCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.OneShotEffect;
import mage.cards.*;
import mage.constants.CardType;
@@ -33,7 +33,7 @@ public final class AidFromTheCowl extends CardImpl {
// Revolt — At the beginning of your end step, if a permanent you controlled left the battlefield this turn,
// reveal the top card of your library. If it is a permanent card, you may put it onto the battlefield. Otherwise, put it on the bottom of your library.
TriggeredAbility ability = new BeginningOfYourEndStepTriggeredAbility(new AidFromTheCowlEffect(), false);
- this.addAbility(new ConditionalTriggeredAbility(ability, RevoltCondition.instance, ruleText), new RevoltWatcher());
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, RevoltCondition.instance, ruleText), new RevoltWatcher());
}
public AidFromTheCowl(final AidFromTheCowl card) {
diff --git a/Mage.Sets/src/mage/cards/a/AirdropAeronauts.java b/Mage.Sets/src/mage/cards/a/AirdropAeronauts.java
index 9cd725b673d..9e79fe61da5 100644
--- a/Mage.Sets/src/mage/cards/a/AirdropAeronauts.java
+++ b/Mage.Sets/src/mage/cards/a/AirdropAeronauts.java
@@ -6,7 +6,7 @@ import mage.MageInt;
import mage.abilities.Ability;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.condition.common.RevoltCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.GainLifeEffect;
import mage.abilities.keyword.FlyingAbility;
import mage.cards.CardImpl;
@@ -34,7 +34,7 @@ public final class AirdropAeronauts extends CardImpl {
this.addAbility(FlyingAbility.getInstance());
// Revolt — When Airdrop Aeronauts enters the battlefield, if a permanent you controlled left the battlefield this turn, you gain 5 life.
- Ability ability = new ConditionalTriggeredAbility(new EntersBattlefieldTriggeredAbility(
+ Ability ability = new ConditionalInterveningIfTriggeredAbility(new EntersBattlefieldTriggeredAbility(
new GainLifeEffect(5), false), RevoltCondition.instance,
"Revolt — When {this} enters the battlefield, if a permanent you controlled left"
+ " the battlefield this turn, you gain 5 life."
diff --git a/Mage.Sets/src/mage/cards/a/AjanisComrade.java b/Mage.Sets/src/mage/cards/a/AjanisComrade.java
index df0f010c293..bb26d2ac246 100644
--- a/Mage.Sets/src/mage/cards/a/AjanisComrade.java
+++ b/Mage.Sets/src/mage/cards/a/AjanisComrade.java
@@ -5,7 +5,7 @@ import java.util.UUID;
import mage.MageInt;
import mage.abilities.common.BeginningOfCombatTriggeredAbility;
import mage.abilities.condition.common.PermanentsOnTheBattlefieldCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.counter.AddCountersSourceEffect;
import mage.abilities.keyword.TrampleAbility;
import mage.cards.CardImpl;
@@ -43,7 +43,7 @@ public final class AjanisComrade extends CardImpl {
this.addAbility(TrampleAbility.getInstance());
// At the beginning of combat on your turn, if you control an Ajani planeswalker, put a +1/+1 counter on Ajani's Comrade.
- this.addAbility(new ConditionalTriggeredAbility(
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(
new BeginningOfCombatTriggeredAbility(new AddCountersSourceEffect(CounterType.P1P1.createInstance()), TargetController.YOU, false),
new PermanentsOnTheBattlefieldCondition(filter),
"At the beginning of combat on your turn, if you control an Ajani planeswalker, put a +1/+1 counter on {this}."));
diff --git a/Mage.Sets/src/mage/cards/a/AjanisLastStand.java b/Mage.Sets/src/mage/cards/a/AjanisLastStand.java
index a19f94d94ce..dbc1187136b 100644
--- a/Mage.Sets/src/mage/cards/a/AjanisLastStand.java
+++ b/Mage.Sets/src/mage/cards/a/AjanisLastStand.java
@@ -5,7 +5,7 @@ import mage.abilities.TriggeredAbilityImpl;
import mage.abilities.common.DiscardedByOpponentTriggeredAbility;
import mage.abilities.condition.common.PermanentsOnTheBattlefieldCondition;
import mage.abilities.costs.common.SacrificeSourceCost;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.CreateTokenEffect;
import mage.abilities.effects.common.DoIfCostPaid;
import mage.cards.CardImpl;
@@ -39,7 +39,7 @@ public final class AjanisLastStand extends CardImpl {
this.addAbility(new AjanisLastStandTriggeredAbility());
// When a spell or ability an opponent controls causes you to discard this card, if you control a Plains, create a 4/4 white Avatar creature token with flying.
- this.addAbility(new ConditionalTriggeredAbility(
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(
new DiscardedByOpponentTriggeredAbility(new CreateTokenEffect(new AvatarToken2())),
new PermanentsOnTheBattlefieldCondition(filter),
"When a spell or ability an opponent controls causes you to discard this card, "
diff --git a/Mage.Sets/src/mage/cards/a/AkutaBornOfAsh.java b/Mage.Sets/src/mage/cards/a/AkutaBornOfAsh.java
index b405eb89848..fddd9d69a5a 100644
--- a/Mage.Sets/src/mage/cards/a/AkutaBornOfAsh.java
+++ b/Mage.Sets/src/mage/cards/a/AkutaBornOfAsh.java
@@ -7,7 +7,7 @@ import mage.abilities.Ability;
import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
import mage.abilities.condition.common.MoreCardsInHandThanOpponentsCondition;
import mage.abilities.costs.common.SacrificeTargetCost;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.DoIfCostPaid;
import mage.abilities.effects.common.ReturnSourceFromGraveyardToBattlefieldEffect;
import mage.abilities.keyword.HasteAbility;
@@ -40,7 +40,7 @@ public final class AkutaBornOfAsh extends CardImpl {
// Haste
this.addAbility(HasteAbility.getInstance());
// At the beginning of your upkeep, if you have more cards in hand than each opponent, you may sacrifice a Swamp. If you do, return Akuta, Born of Ash from your graveyard to the battlefield.
- Ability ability = new ConditionalTriggeredAbility(
+ Ability ability = new ConditionalInterveningIfTriggeredAbility(
new BeginningOfUpkeepTriggeredAbility(Zone.GRAVEYARD,
new DoIfCostPaid(new ReturnSourceFromGraveyardToBattlefieldEffect(), new SacrificeTargetCost(new TargetControlledPermanent(filterSwamp))),
TargetController.YOU, false),
diff --git a/Mage.Sets/src/mage/cards/a/AnaBattlemage.java b/Mage.Sets/src/mage/cards/a/AnaBattlemage.java
index efae604ac2e..f77efb80a82 100644
--- a/Mage.Sets/src/mage/cards/a/AnaBattlemage.java
+++ b/Mage.Sets/src/mage/cards/a/AnaBattlemage.java
@@ -7,7 +7,7 @@ import mage.abilities.Ability;
import mage.abilities.TriggeredAbility;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.condition.common.KickedCostCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.OneShotEffect;
import mage.abilities.effects.common.discard.DiscardTargetEffect;
import mage.abilities.keyword.KickerAbility;
@@ -51,12 +51,12 @@ public final class AnaBattlemage extends CardImpl {
// When Ana Battlemage enters the battlefield, if it was kicked with its {2}{U} kicker, target player discards three cards.
TriggeredAbility ability = new EntersBattlefieldTriggeredAbility(new DiscardTargetEffect(3));
ability.addTarget(new TargetOpponent());
- this.addAbility(new ConditionalTriggeredAbility(ability, new KickedCostCondition("{2}{U}"),
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, new KickedCostCondition("{2}{U}"),
"When {this} enters the battlefield, if it was kicked with its {2}{U} kicker, target player discards three cards."));
// When Ana Battlemage enters the battlefield, if it was kicked with its {1}{B} kicker, tap target untapped creature and that creature deals damage equal to its power to its controller.
ability = new EntersBattlefieldTriggeredAbility(new AnaBattlemageKickerEffect());
ability.addTarget(new TargetCreaturePermanent(filter));
- this.addAbility(new ConditionalTriggeredAbility(ability, new KickedCostCondition("{1}{B}"),
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, new KickedCostCondition("{1}{B}"),
"When {this} enters the battlefield, if it was kicked with its {1}{B} kicker, tap target untapped creature and that creature deals damage equal to its power to its controller."));
}
diff --git a/Mage.Sets/src/mage/cards/a/AnaSanctuary.java b/Mage.Sets/src/mage/cards/a/AnaSanctuary.java
index 3580234a44d..6d366638838 100644
--- a/Mage.Sets/src/mage/cards/a/AnaSanctuary.java
+++ b/Mage.Sets/src/mage/cards/a/AnaSanctuary.java
@@ -4,7 +4,7 @@ package mage.cards.a;
import java.util.UUID;
import mage.ObjectColor;
import mage.abilities.Ability;
-import mage.abilities.common.SanctuaryTriggeredAbility;
+import mage.abilities.common.SanctuaryInterveningIfTriggeredAbility;
import mage.abilities.effects.ContinuousEffect;
import mage.abilities.effects.OneShotEffect;
import mage.abilities.effects.common.continuous.BoostTargetEffect;
@@ -27,7 +27,7 @@ public final class AnaSanctuary extends CardImpl {
super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{2}{G}");
// At the beginning of your upkeep, if you control a blue or black permanent, target creature gets +1/+1 until end of turn. If you control a blue permanent and a black permanent, that creature gets +5/+5 until end of turn instead.
- Ability ability = new SanctuaryTriggeredAbility(
+ Ability ability = new SanctuaryInterveningIfTriggeredAbility(
new BoostEffect(1), new BoostEffect(5), ObjectColor.BLACK, ObjectColor.BLUE,
"At the beginning of your upkeep, if you control a blue or black permanent, "
+ "target creature gets +1/+1 until end of turn. If you control a blue permanent and a black permanent, that creature gets +5/+5 until end of turn instead."
diff --git a/Mage.Sets/src/mage/cards/a/AngelOfDeliverance.java b/Mage.Sets/src/mage/cards/a/AngelOfDeliverance.java
index 9fd7226ac9c..166342229b6 100644
--- a/Mage.Sets/src/mage/cards/a/AngelOfDeliverance.java
+++ b/Mage.Sets/src/mage/cards/a/AngelOfDeliverance.java
@@ -6,7 +6,7 @@ import mage.MageInt;
import mage.abilities.Ability;
import mage.abilities.TriggeredAbilityImpl;
import mage.abilities.condition.common.DeliriumCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.Effect;
import mage.abilities.effects.common.ExileTargetEffect;
import mage.abilities.keyword.FlyingAbility;
@@ -46,7 +46,7 @@ public final class AngelOfDeliverance extends CardImpl {
// Delirium — Whenever Angel of Deliverance deals damage, if there are four or more card types among cards in your graveyard,
// exile target creature an opponent controls.
- Ability ability = new ConditionalTriggeredAbility(
+ Ability ability = new ConditionalInterveningIfTriggeredAbility(
new AngelOfDeliveranceDealsDamageTriggeredAbility(),
DeliriumCondition.instance,
"Delirium — Whenever {this} deals damage, if there are four or more card types among cards in your graveyard, exile target creature an opponent controls"
diff --git a/Mage.Sets/src/mage/cards/a/AngelOfTheDireHour.java b/Mage.Sets/src/mage/cards/a/AngelOfTheDireHour.java
index b312075ab0b..2b3826169ca 100644
--- a/Mage.Sets/src/mage/cards/a/AngelOfTheDireHour.java
+++ b/Mage.Sets/src/mage/cards/a/AngelOfTheDireHour.java
@@ -5,7 +5,7 @@ import java.util.UUID;
import mage.MageInt;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.condition.common.CastFromHandSourceCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.ExileAllEffect;
import mage.abilities.keyword.FlashAbility;
import mage.abilities.keyword.FlyingAbility;
@@ -34,7 +34,7 @@ public final class AngelOfTheDireHour extends CardImpl {
// Flying
this.addAbility(FlyingAbility.getInstance());
// When Angel of the Dire Hour enters the battlefield, if you cast it from your hand, exile all attacking creatures.
- this.addAbility(new ConditionalTriggeredAbility(
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(
new EntersBattlefieldTriggeredAbility(new ExileAllEffect(new FilterAttackingCreature("attacking creatures")), false),
CastFromHandSourceCondition.instance,
"When {this} enters the battlefield, if you cast it from your hand, exile all attacking creatures."),
diff --git a/Mage.Sets/src/mage/cards/a/AnimateDead.java b/Mage.Sets/src/mage/cards/a/AnimateDead.java
index 90374b5bc91..c74a187ef30 100644
--- a/Mage.Sets/src/mage/cards/a/AnimateDead.java
+++ b/Mage.Sets/src/mage/cards/a/AnimateDead.java
@@ -8,7 +8,7 @@ import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.common.LeavesBattlefieldTriggeredAbility;
import mage.abilities.common.SimpleStaticAbility;
import mage.abilities.condition.common.SourceOnBattlefieldCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.ContinuousEffectImpl;
import mage.abilities.effects.OneShotEffect;
import mage.abilities.effects.common.continuous.BoostEnchantedEffect;
@@ -47,7 +47,7 @@ public final class AnimateDead extends CardImpl {
// When Animate Dead enters the battlefield, if it's on the battlefield, it loses "enchant creature card in a graveyard"
// and gains "enchant creature put onto the battlefield with Animate Dead." Return enchanted creature card to the battlefield
// under your control and attach Animate Dead to it. When Animate Dead leaves the battlefield, that creature's controller sacrifices it.
- Ability ability = new ConditionalTriggeredAbility(
+ Ability ability = new ConditionalInterveningIfTriggeredAbility(
new EntersBattlefieldTriggeredAbility(new AnimateDeadReAttachEffect(), false),
SourceOnBattlefieldCondition.instance,
"When {this} enters the battlefield, if it's on the battlefield, it loses \"enchant creature card in a graveyard\" and gains \"enchant creature put onto the battlefield with {this}.\" Return enchanted creature card to the battlefield under your control and attach {this} to it.");
diff --git a/Mage.Sets/src/mage/cards/a/ApothecaryGeist.java b/Mage.Sets/src/mage/cards/a/ApothecaryGeist.java
index 623fa691225..97bf7f87a6b 100644
--- a/Mage.Sets/src/mage/cards/a/ApothecaryGeist.java
+++ b/Mage.Sets/src/mage/cards/a/ApothecaryGeist.java
@@ -5,7 +5,7 @@ import mage.MageInt;
import mage.abilities.TriggeredAbility;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.condition.common.PermanentsOnTheBattlefieldCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.GainLifeEffect;
import mage.abilities.keyword.FlyingAbility;
import mage.cards.CardImpl;
@@ -42,7 +42,7 @@ public final class ApothecaryGeist extends CardImpl {
// When Apothecary Geist enters the battlefield, if you control another Spirit, you gain 3 life.
TriggeredAbility triggeredAbility = new EntersBattlefieldTriggeredAbility(new GainLifeEffect(3));
- this.addAbility(new ConditionalTriggeredAbility(
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(
triggeredAbility,
new PermanentsOnTheBattlefieldCondition(filter),
"When {this} enters the battlefield, if you control another Spirit, you gain 3 life."));
diff --git a/Mage.Sets/src/mage/cards/a/ArahboRoarOfTheWorld.java b/Mage.Sets/src/mage/cards/a/ArahboRoarOfTheWorld.java
index 1d7ce04018a..9eb4e17736c 100644
--- a/Mage.Sets/src/mage/cards/a/ArahboRoarOfTheWorld.java
+++ b/Mage.Sets/src/mage/cards/a/ArahboRoarOfTheWorld.java
@@ -7,7 +7,7 @@ import mage.abilities.common.AttacksCreatureYouControlTriggeredAbility;
import mage.abilities.common.BeginningOfCombatTriggeredAbility;
import mage.abilities.condition.common.SourceOnBattlefieldOrCommandZoneCondition;
import mage.abilities.costs.mana.ManaCostsImpl;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.ContinuousEffect;
import mage.abilities.effects.OneShotEffect;
import mage.abilities.effects.common.DoIfCostPaid;
@@ -56,7 +56,7 @@ public final class ArahboRoarOfTheWorld extends CardImpl {
this.toughness = new MageInt(5);
// Eminence — At the beginning of combat on your turn, if Arahbo, Roar of the World is in the command zone or on the battlefield, another target Cat you control gets +3/+3 until end of turn.
- Ability ability = new ConditionalTriggeredAbility(
+ Ability ability = new ConditionalInterveningIfTriggeredAbility(
new BeginningOfCombatTriggeredAbility(Zone.ALL, new BoostTargetEffect(3, 3, Duration.EndOfTurn), TargetController.YOU, false, false),
SourceOnBattlefieldOrCommandZoneCondition.instance,
"Eminence — At the beginning of combat on your turn, if Arahbo, Roar of the World is in the command zone or on the battlefield, another target Cat you control gets +3/+3 until end of turn.");
diff --git a/Mage.Sets/src/mage/cards/a/ArguelsBloodFast.java b/Mage.Sets/src/mage/cards/a/ArguelsBloodFast.java
index c8ff49c1068..89be4d3219a 100644
--- a/Mage.Sets/src/mage/cards/a/ArguelsBloodFast.java
+++ b/Mage.Sets/src/mage/cards/a/ArguelsBloodFast.java
@@ -8,7 +8,7 @@ import mage.abilities.common.SimpleActivatedAbility;
import mage.abilities.condition.common.FatefulHourCondition;
import mage.abilities.costs.common.PayLifeCost;
import mage.abilities.costs.mana.ManaCostsImpl;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.DrawCardSourceControllerEffect;
import mage.abilities.effects.common.TransformSourceEffect;
import mage.abilities.keyword.TransformAbility;
@@ -40,7 +40,7 @@ public final class ArguelsBloodFast extends CardImpl {
// At the beginning of your upkeep, if you have 5 or less life, you may transform Arguel's Blood Fast.
this.addAbility(new TransformAbility());
- this.addAbility(new ConditionalTriggeredAbility(
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(
new BeginningOfUpkeepTriggeredAbility(new TransformSourceEffect(true), TargetController.YOU, true),
FatefulHourCondition.instance,
"At the beginning of your upkeep, if you have 5 or less life, you may transform {this}"
diff --git a/Mage.Sets/src/mage/cards/a/AsajjVentress.java b/Mage.Sets/src/mage/cards/a/AsajjVentress.java
index d93d1aacdfc..3e2aa60f81b 100644
--- a/Mage.Sets/src/mage/cards/a/AsajjVentress.java
+++ b/Mage.Sets/src/mage/cards/a/AsajjVentress.java
@@ -7,7 +7,7 @@ import mage.abilities.Ability;
import mage.abilities.common.AttacksTriggeredAbility;
import mage.abilities.common.BecomesBlockedTriggeredAbility;
import mage.abilities.condition.common.HateCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.dynamicvalue.common.BlockedCreatureCount;
import mage.abilities.effects.Effect;
import mage.abilities.effects.common.combat.BlocksIfAbleTargetEffect;
@@ -45,7 +45,7 @@ public final class AsajjVentress extends CardImpl {
this.addAbility(new BecomesBlockedTriggeredAbility(effect, false));
// Hate — Whenever Asajj Ventress attacks, if an opponent lost life from a source other than combat damage this turn, target creature blocks this turn if able.
- Ability ability = new ConditionalTriggeredAbility(
+ Ability ability = new ConditionalInterveningIfTriggeredAbility(
new AttacksTriggeredAbility(new BlocksIfAbleTargetEffect(Duration.EndOfTurn), false),
HateCondition.instance,
"Hate — Whenever Asajj Ventress attacks, if an opponent lost life from a source other than combat damage this turn, target creature blocks this turn if able");
diff --git a/Mage.Sets/src/mage/cards/a/AsylumVisitor.java b/Mage.Sets/src/mage/cards/a/AsylumVisitor.java
index c7b7031a53f..bf7ea122ece 100644
--- a/Mage.Sets/src/mage/cards/a/AsylumVisitor.java
+++ b/Mage.Sets/src/mage/cards/a/AsylumVisitor.java
@@ -7,7 +7,7 @@ import mage.abilities.Ability;
import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
import mage.abilities.condition.common.CardsInHandCondition;
import mage.abilities.costs.mana.ManaCostsImpl;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.Effect;
import mage.abilities.effects.common.DrawCardSourceControllerEffect;
import mage.abilities.effects.common.LoseLifeSourceControllerEffect;
@@ -33,7 +33,7 @@ public final class AsylumVisitor extends CardImpl {
this.toughness = new MageInt(1);
// At the beginning of each player's upkeep, if that player has no cards in hand, you draw a card and you lose 1 life.
- Ability ability = new ConditionalTriggeredAbility(new BeginningOfUpkeepTriggeredAbility(new DrawCardSourceControllerEffect(1), TargetController.ANY, false),
+ Ability ability = new ConditionalInterveningIfTriggeredAbility(new BeginningOfUpkeepTriggeredAbility(new DrawCardSourceControllerEffect(1), TargetController.ANY, false),
new CardsInHandCondition(ComparisonType.EQUAL_TO, 0, null, TargetController.ACTIVE),
"At the beginning of each player's upkeep, if that player has no cards in hand, you draw a card and you lose 1 life.");
Effect effect = new LoseLifeSourceControllerEffect(1);
diff --git a/Mage.Sets/src/mage/cards/a/AuroraChampion.java b/Mage.Sets/src/mage/cards/a/AuroraChampion.java
index 6e851079e03..365bb5f82ec 100644
--- a/Mage.Sets/src/mage/cards/a/AuroraChampion.java
+++ b/Mage.Sets/src/mage/cards/a/AuroraChampion.java
@@ -6,7 +6,7 @@ import mage.MageInt;
import mage.abilities.Ability;
import mage.abilities.common.AttacksTriggeredAbility;
import mage.abilities.condition.common.PermanentsOnTheBattlefieldCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.TapTargetEffect;
import mage.constants.SubType;
import mage.cards.CardImpl;
@@ -37,7 +37,7 @@ public final class AuroraChampion extends CardImpl {
this.toughness = new MageInt(2);
// Whenever Aurora Champion attacks, if your team controls another Warrior, tap target creature.
- Ability ability = new ConditionalTriggeredAbility(
+ Ability ability = new ConditionalInterveningIfTriggeredAbility(
new AttacksTriggeredAbility(new TapTargetEffect(), false),
new PermanentsOnTheBattlefieldCondition(filter),
"Whenever {this} attacks, if your team controls another Warrior, tap target creature."
diff --git a/Mage.Sets/src/mage/cards/b/BaneOfHanweir.java b/Mage.Sets/src/mage/cards/b/BaneOfHanweir.java
index 97ca6129480..a21b4c8deed 100644
--- a/Mage.Sets/src/mage/cards/b/BaneOfHanweir.java
+++ b/Mage.Sets/src/mage/cards/b/BaneOfHanweir.java
@@ -7,7 +7,7 @@ import mage.abilities.TriggeredAbility;
import mage.abilities.common.AttacksEachCombatStaticAbility;
import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
import mage.abilities.condition.common.TwoOrMoreSpellsWereCastLastTurnCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.TransformSourceEffect;
import mage.abilities.keyword.TransformAbility;
import mage.cards.CardImpl;
@@ -38,7 +38,7 @@ public final class BaneOfHanweir extends CardImpl {
// At the beginning of each upkeep, if a player cast two or more spells last turn, transform Bane of Hanweir.
TriggeredAbility ability = new BeginningOfUpkeepTriggeredAbility(new TransformSourceEffect(false), TargetController.ANY, false);
- this.addAbility(new ConditionalTriggeredAbility(ability, TwoOrMoreSpellsWereCastLastTurnCondition.instance, TransformAbility.TWO_OR_MORE_SPELLS_TRANSFORM_RULE));
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, TwoOrMoreSpellsWereCastLastTurnCondition.instance, TransformAbility.TWO_OR_MORE_SPELLS_TRANSFORM_RULE));
}
public BaneOfHanweir(final BaneOfHanweir card) {
diff --git a/Mage.Sets/src/mage/cards/b/BarrenGlory.java b/Mage.Sets/src/mage/cards/b/BarrenGlory.java
index 5ea7683cac6..78113c6343c 100644
--- a/Mage.Sets/src/mage/cards/b/BarrenGlory.java
+++ b/Mage.Sets/src/mage/cards/b/BarrenGlory.java
@@ -6,7 +6,7 @@ import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
import mage.abilities.condition.CompoundCondition;
import mage.abilities.condition.common.CardsInHandCondition;
import mage.abilities.condition.common.PermanentsOnTheBattlefieldCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.WinGameSourceControllerEffect;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
@@ -31,7 +31,7 @@ public final class BarrenGlory extends CardImpl {
super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{4}{W}{W}");
// At the beginning of your upkeep, if you control no permanents other than Barren Glory and have no cards in hand, you win the game.
- this.addAbility(new ConditionalTriggeredAbility(
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(
new BeginningOfUpkeepTriggeredAbility(new WinGameSourceControllerEffect(), TargetController.YOU, false),
new CompoundCondition(
new CardsInHandCondition(ComparisonType.EQUAL_TO, 0),
diff --git a/Mage.Sets/src/mage/cards/b/BattleOfWits.java b/Mage.Sets/src/mage/cards/b/BattleOfWits.java
index 50fb2ac402a..9a0808abc28 100644
--- a/Mage.Sets/src/mage/cards/b/BattleOfWits.java
+++ b/Mage.Sets/src/mage/cards/b/BattleOfWits.java
@@ -6,7 +6,7 @@ import mage.abilities.Ability;
import mage.abilities.TriggeredAbility;
import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
import mage.abilities.condition.Condition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.WinGameSourceControllerEffect;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
@@ -27,7 +27,7 @@ public final class BattleOfWits extends CardImpl {
// At the beginning of your upkeep, if you have 200 or more cards in your library, you win the game.
TriggeredAbility ability = new BeginningOfUpkeepTriggeredAbility(new WinGameSourceControllerEffect(), TargetController.YOU, false);
- this.addAbility(new ConditionalTriggeredAbility(ability, new BattleOfWitsCondition(), "At the beginning of your upkeep, if you have 200 or more cards in your library, you win the game."));
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, new BattleOfWitsCondition(), "At the beginning of your upkeep, if you have 200 or more cards in your library, you win the game."));
}
public BattleOfWits(final BattleOfWits card) {
diff --git a/Mage.Sets/src/mage/cards/b/BellowingSaddlebrute.java b/Mage.Sets/src/mage/cards/b/BellowingSaddlebrute.java
index 27742c3450c..10b298ca19a 100644
--- a/Mage.Sets/src/mage/cards/b/BellowingSaddlebrute.java
+++ b/Mage.Sets/src/mage/cards/b/BellowingSaddlebrute.java
@@ -5,7 +5,7 @@ import mage.MageInt;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.condition.InvertCondition;
import mage.abilities.condition.common.RaidCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.LoseLifeSourceControllerEffect;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
@@ -29,7 +29,7 @@ public final class BellowingSaddlebrute extends CardImpl {
this.toughness = new MageInt(5);
// Raid - When Bellowing Saddlebrute enters the battlefield, you lose 4 life unless you attacked with a creature this turn
- this.addAbility(new ConditionalTriggeredAbility(
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(
new EntersBattlefieldTriggeredAbility(new LoseLifeSourceControllerEffect(4)),
new InvertCondition(RaidCondition.instance),
"Raid — When {this} enters the battlefield, you lose 4 life unless you attacked with a creature this turn"
diff --git a/Mage.Sets/src/mage/cards/b/BenalishEmissary.java b/Mage.Sets/src/mage/cards/b/BenalishEmissary.java
index b70c84ccdd6..db324f7b896 100644
--- a/Mage.Sets/src/mage/cards/b/BenalishEmissary.java
+++ b/Mage.Sets/src/mage/cards/b/BenalishEmissary.java
@@ -6,7 +6,7 @@ import mage.MageInt;
import mage.abilities.TriggeredAbility;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.condition.common.KickedCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.DestroyTargetEffect;
import mage.abilities.keyword.KickerAbility;
import mage.cards.CardImpl;
@@ -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 ConditionalTriggeredAbility(ability, KickedCondition.instance,
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, KickedCondition.instance,
"When {this} enters the battlefield, if it was kicked, destroy target land."));
}
diff --git a/Mage.Sets/src/mage/cards/b/BladeTribeBerserkers.java b/Mage.Sets/src/mage/cards/b/BladeTribeBerserkers.java
index 816f145ab22..fef59f0aaab 100644
--- a/Mage.Sets/src/mage/cards/b/BladeTribeBerserkers.java
+++ b/Mage.Sets/src/mage/cards/b/BladeTribeBerserkers.java
@@ -6,7 +6,7 @@ import mage.MageInt;
import mage.abilities.TriggeredAbility;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.condition.common.MetalcraftCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.continuous.BoostSourceEffect;
import mage.abilities.effects.common.continuous.GainAbilitySourceEffect;
import mage.abilities.keyword.HasteAbility;
@@ -31,9 +31,10 @@ public final class BladeTribeBerserkers extends CardImpl {
this.power = new MageInt(3);
this.toughness = new MageInt(3);
+ //Metalcraft - When Blade-Tribe Berserkers enters the battlefield, if you control three or more artifacts, Blade-Tribe Berserkers gets +3/+3 and gains haste until end of turn.
TriggeredAbility ability = new EntersBattlefieldTriggeredAbility(new BoostSourceEffect(3, 3, Duration.EndOfTurn), false);
ability.addEffect(new GainAbilitySourceEffect(HasteAbility.getInstance(), Duration.EndOfTurn));
- this.addAbility(new ConditionalTriggeredAbility(ability, MetalcraftCondition.instance, effectText));
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, MetalcraftCondition.instance, effectText));
}
public BladeTribeBerserkers(final BladeTribeBerserkers card) {
diff --git a/Mage.Sets/src/mage/cards/b/BleakCovenVampires.java b/Mage.Sets/src/mage/cards/b/BleakCovenVampires.java
index a72ec31ee52..605e3cf3b23 100644
--- a/Mage.Sets/src/mage/cards/b/BleakCovenVampires.java
+++ b/Mage.Sets/src/mage/cards/b/BleakCovenVampires.java
@@ -6,7 +6,7 @@ import mage.MageInt;
import mage.abilities.TriggeredAbility;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.condition.common.MetalcraftCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.GainLifeEffect;
import mage.abilities.effects.common.LoseLifeTargetEffect;
import mage.cards.CardImpl;
@@ -31,12 +31,13 @@ public final class BleakCovenVampires extends CardImpl {
this.power = new MageInt(4);
this.toughness = new MageInt(3);
+ //Metalcraft - When Bleak Coven Vampires enters the battlefield, if you control three or more artifacts, target player loses 4 life and you gain 4 life.
TriggeredAbility ability = new EntersBattlefieldTriggeredAbility(new LoseLifeTargetEffect(4), false);
ability.addEffect(new GainLifeEffect(4));
Target target = new TargetPlayer();
ability.addTarget(target);
- this.addAbility(new ConditionalTriggeredAbility(ability, MetalcraftCondition.instance, effectText));
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, MetalcraftCondition.instance, effectText));
}
public BleakCovenVampires(final BleakCovenVampires card) {
diff --git a/Mage.Sets/src/mage/cards/b/BloodchiefAscension.java b/Mage.Sets/src/mage/cards/b/BloodchiefAscension.java
index 9c49ebe1ded..03c7f503100 100644
--- a/Mage.Sets/src/mage/cards/b/BloodchiefAscension.java
+++ b/Mage.Sets/src/mage/cards/b/BloodchiefAscension.java
@@ -7,7 +7,7 @@ import mage.abilities.common.BeginningOfEndStepTriggeredAbility;
import mage.abilities.common.PutCardIntoGraveFromAnywhereAllTriggeredAbility;
import mage.abilities.condition.common.OpponentLostLifeCondition;
import mage.abilities.condition.common.SourceHasCounterCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.GainLifeEffect;
import mage.abilities.effects.common.LoseLifeTargetEffect;
import mage.abilities.effects.common.counter.AddCountersSourceEffect;
@@ -38,7 +38,7 @@ public final class BloodchiefAscension extends CardImpl {
true));
// Whenever a card is put into an opponent's graveyard from anywhere, if Bloodchief Ascension has three or more quest counters on it, you may have that player lose 2 life. If you do, you gain 2 life.
- Ability ability = new ConditionalTriggeredAbility(
+ Ability ability = new ConditionalInterveningIfTriggeredAbility(
new PutCardIntoGraveFromAnywhereAllTriggeredAbility(
new LoseLifeTargetEffect(2), true, new FilterCard("a card"), TargetController.OPPONENT, SetTargetPointer.PLAYER),
new SourceHasCounterCondition(CounterType.QUEST, 3, Integer.MAX_VALUE),
diff --git a/Mage.Sets/src/mage/cards/b/BloodhallPriest.java b/Mage.Sets/src/mage/cards/b/BloodhallPriest.java
index 77995b35a95..86e9224fc87 100644
--- a/Mage.Sets/src/mage/cards/b/BloodhallPriest.java
+++ b/Mage.Sets/src/mage/cards/b/BloodhallPriest.java
@@ -7,7 +7,7 @@ import mage.abilities.TriggeredAbility;
import mage.abilities.common.EntersBattlefieldOrAttacksSourceTriggeredAbility;
import mage.abilities.condition.common.HellbentCondition;
import mage.abilities.costs.mana.ManaCostsImpl;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.DamageTargetEffect;
import mage.abilities.keyword.MadnessAbility;
import mage.cards.CardImpl;
@@ -31,7 +31,7 @@ public final class BloodhallPriest extends CardImpl {
// Whenever Bloodhall Priest enters the battlefield or attacks, if you have no cards in hand, Bloodhall Priest deals 2 damage to any target.
TriggeredAbility triggeredAbility = new EntersBattlefieldOrAttacksSourceTriggeredAbility(new DamageTargetEffect(2));
triggeredAbility.addTarget(new TargetAnyTarget());
- this.addAbility(new ConditionalTriggeredAbility(
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(
triggeredAbility,
HellbentCondition.instance,
"Whenever {this} enters the battlefield or attacks, if you have no cards in hand, {this} deals 2 damage to any target"
diff --git a/Mage.Sets/src/mage/cards/b/BlowflyInfestation.java b/Mage.Sets/src/mage/cards/b/BlowflyInfestation.java
index 1ed1d11e8e0..82ee8fe7708 100644
--- a/Mage.Sets/src/mage/cards/b/BlowflyInfestation.java
+++ b/Mage.Sets/src/mage/cards/b/BlowflyInfestation.java
@@ -6,7 +6,7 @@ import mage.abilities.Ability;
import mage.abilities.TriggeredAbility;
import mage.abilities.common.DiesCreatureTriggeredAbility;
import mage.abilities.condition.Condition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.Effect;
import mage.abilities.effects.OneShotEffect;
import mage.cards.CardImpl;
@@ -34,12 +34,12 @@ public final class BlowflyInfestation extends CardImpl {
public BlowflyInfestation(UUID ownerId, CardSetInfo setInfo) {
super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{2}{B}");
-
+ //Whenever a creature dies, if it had a -1/-1 counter on it, put a -1/-1 counter on target creature.
Effect effect = new BlowflyInfestationEffect();
TriggeredAbility triggeredAbility = new DiesCreatureTriggeredAbility(effect, false, false, true);
triggeredAbility.addTarget(new TargetCreaturePermanent());
Condition condition = new BlowflyInfestationCondition();
- this.addAbility(new ConditionalTriggeredAbility(triggeredAbility, condition, rule));
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(triggeredAbility, condition, rule));
}
diff --git a/Mage.Sets/src/mage/cards/b/BrandedHowler.java b/Mage.Sets/src/mage/cards/b/BrandedHowler.java
index f6774d1cc86..f51fc8c26a4 100644
--- a/Mage.Sets/src/mage/cards/b/BrandedHowler.java
+++ b/Mage.Sets/src/mage/cards/b/BrandedHowler.java
@@ -6,7 +6,7 @@ import mage.MageInt;
import mage.abilities.TriggeredAbility;
import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
import mage.abilities.condition.common.TwoOrMoreSpellsWereCastLastTurnCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.TransformSourceEffect;
import mage.abilities.keyword.TransformAbility;
import mage.cards.CardImpl;
@@ -34,7 +34,7 @@ public final class BrandedHowler extends CardImpl {
// At the beginning of each upkeep, if a player cast two or more spells last turn, transform Branded Howler.
TriggeredAbility ability = new BeginningOfUpkeepTriggeredAbility(new TransformSourceEffect(false), TargetController.ANY, false);
- this.addAbility(new ConditionalTriggeredAbility(ability, TwoOrMoreSpellsWereCastLastTurnCondition.instance, TransformAbility.TWO_OR_MORE_SPELLS_TRANSFORM_RULE));
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, TwoOrMoreSpellsWereCastLastTurnCondition.instance, TransformAbility.TWO_OR_MORE_SPELLS_TRANSFORM_RULE));
}
public BrandedHowler(final BrandedHowler card) {
diff --git a/Mage.Sets/src/mage/cards/b/BreachingLeviathan.java b/Mage.Sets/src/mage/cards/b/BreachingLeviathan.java
index 02dfd315248..3171564a794 100644
--- a/Mage.Sets/src/mage/cards/b/BreachingLeviathan.java
+++ b/Mage.Sets/src/mage/cards/b/BreachingLeviathan.java
@@ -9,7 +9,7 @@ import mage.ObjectColor;
import mage.abilities.Ability;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.condition.common.CastFromHandSourceCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.ContinuousEffect;
import mage.abilities.effects.OneShotEffect;
import mage.abilities.effects.common.DontUntapInControllersNextUntapStepTargetEffect;
@@ -40,7 +40,7 @@ public final class BreachingLeviathan extends CardImpl {
this.toughness = new MageInt(9);
// When Breaching Leviathan enters the battlefield, if you cast it from your hand, tap all nonblue creatures. Those creatures don't untap during their controllers' next untap steps.
- this.addAbility(new ConditionalTriggeredAbility(
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(
new EntersBattlefieldTriggeredAbility(new BreachingLeviathanEffect(), false),
CastFromHandSourceCondition.instance,
"When {this} enters the battlefield, if you cast it from your hand, tap all nonblue creatures. Those creatures don't untap during their controllers' next untap steps."),
diff --git a/Mage.Sets/src/mage/cards/b/BreakneckRider.java b/Mage.Sets/src/mage/cards/b/BreakneckRider.java
index 1622d77d4e3..015fdf0395e 100644
--- a/Mage.Sets/src/mage/cards/b/BreakneckRider.java
+++ b/Mage.Sets/src/mage/cards/b/BreakneckRider.java
@@ -6,7 +6,7 @@ import mage.MageInt;
import mage.abilities.TriggeredAbility;
import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
import mage.abilities.condition.common.NoSpellsWereCastLastTurnCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.TransformSourceEffect;
import mage.abilities.keyword.TransformAbility;
import mage.cards.CardImpl;
@@ -34,7 +34,7 @@ public final class BreakneckRider extends CardImpl {
// At the beginning of each upkeep, if no spells were cast last turn, transform Breakneck Rider.
this.addAbility(new TransformAbility());
TriggeredAbility ability = new BeginningOfUpkeepTriggeredAbility(new TransformSourceEffect(true), TargetController.ANY, false);
- this.addAbility(new ConditionalTriggeredAbility(ability, NoSpellsWereCastLastTurnCondition.instance, TransformAbility.NO_SPELLS_TRANSFORM_RULE));
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, NoSpellsWereCastLastTurnCondition.instance, TransformAbility.NO_SPELLS_TRANSFORM_RULE));
}
public BreakneckRider(final BreakneckRider card) {
diff --git a/Mage.Sets/src/mage/cards/b/BrinkOfMadness.java b/Mage.Sets/src/mage/cards/b/BrinkOfMadness.java
index 6e726cdf763..fe17742f0b6 100644
--- a/Mage.Sets/src/mage/cards/b/BrinkOfMadness.java
+++ b/Mage.Sets/src/mage/cards/b/BrinkOfMadness.java
@@ -7,7 +7,7 @@ import mage.abilities.Ability;
import mage.abilities.TriggeredAbility;
import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
import mage.abilities.condition.common.CardsInHandCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.OneShotEffect;
import mage.abilities.effects.common.SacrificeSourceEffect;
import mage.cards.Card;
@@ -37,7 +37,7 @@ public final class BrinkOfMadness extends CardImpl {
ability.addEffect(new BrinkOfMadnessEffect());
ability.addTarget(new TargetOpponent());
CardsInHandCondition contition = new CardsInHandCondition(ComparisonType.EQUAL_TO, 0);
- this.addAbility(new ConditionalTriggeredAbility(ability, contition, "At the beginning of your upkeep, if you have no cards in hand, sacrifice {this} and target opponent discards their hand."));
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, contition, "At the beginning of your upkeep, if you have no cards in hand, sacrifice {this} and target opponent discards their hand."));
}
diff --git a/Mage.Sets/src/mage/cards/b/BudokaPupil.java b/Mage.Sets/src/mage/cards/b/BudokaPupil.java
index c09d9a1225c..d665178aa52 100644
--- a/Mage.Sets/src/mage/cards/b/BudokaPupil.java
+++ b/Mage.Sets/src/mage/cards/b/BudokaPupil.java
@@ -8,7 +8,7 @@ import mage.abilities.common.SimpleActivatedAbility;
import mage.abilities.common.SpellCastControllerTriggeredAbility;
import mage.abilities.condition.common.SourceHasCounterCondition;
import mage.abilities.costs.common.RemoveCountersSourceCost;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.FlipSourceEffect;
import mage.abilities.effects.common.continuous.BoostTargetEffect;
import mage.abilities.effects.common.counter.AddCountersSourceEffect;
@@ -20,7 +20,6 @@ import mage.counters.CounterType;
import mage.filter.StaticFilters;
import mage.game.events.GameEvent;
import mage.game.permanent.token.TokenImpl;
-import mage.game.permanent.token.Token;
import mage.target.common.TargetCreaturePermanent;
import java.util.UUID;
@@ -44,7 +43,7 @@ public final class BudokaPupil extends CardImpl {
this.addAbility(new SpellCastControllerTriggeredAbility(new AddCountersSourceEffect(CounterType.KI.createInstance()), StaticFilters.SPIRIT_OR_ARCANE_CARD, true));
// At the beginning of the end step, if there are two or more ki counters on Budoka Pupil, you may flip it.
- this.addAbility(new ConditionalTriggeredAbility(
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(
new OnEventTriggeredAbility(GameEvent.EventType.END_TURN_STEP_PRE, "beginning of the end step", true, new FlipSourceEffect(new IchigaWhoTopplesOaks()), true),
new SourceHasCounterCondition(CounterType.KI, 2, Integer.MAX_VALUE),
"At the beginning of the end step, if there are two or more ki counters on {this}, you may flip it."));
diff --git a/Mage.Sets/src/mage/cards/b/BullRushBruiser.java b/Mage.Sets/src/mage/cards/b/BullRushBruiser.java
index 508f309439d..ac0cfeaab98 100644
--- a/Mage.Sets/src/mage/cards/b/BullRushBruiser.java
+++ b/Mage.Sets/src/mage/cards/b/BullRushBruiser.java
@@ -5,7 +5,7 @@ import java.util.UUID;
import mage.MageInt;
import mage.abilities.common.AttacksTriggeredAbility;
import mage.abilities.condition.common.PermanentsOnTheBattlefieldCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.continuous.GainAbilitySourceEffect;
import mage.abilities.keyword.FirstStrikeAbility;
import mage.constants.SubType;
@@ -36,7 +36,7 @@ public final class BullRushBruiser extends CardImpl {
this.toughness = new MageInt(3);
// Whenever Bull-Rush Bruiser attacks, if your team controls another Warrior, Bull-Rush Bruiser gains first strike until end of turn.
- this.addAbility(new ConditionalTriggeredAbility(
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(
new AttacksTriggeredAbility(new GainAbilitySourceEffect(FirstStrikeAbility.getInstance()), false),
new PermanentsOnTheBattlefieldCondition(filter),
"Whenever {this} attacks, if your team controls another Warrior, "
diff --git a/Mage.Sets/src/mage/cards/b/BurningEyeZubera.java b/Mage.Sets/src/mage/cards/b/BurningEyeZubera.java
index 1aa46781da6..e916504a73b 100644
--- a/Mage.Sets/src/mage/cards/b/BurningEyeZubera.java
+++ b/Mage.Sets/src/mage/cards/b/BurningEyeZubera.java
@@ -6,7 +6,7 @@ import mage.MageInt;
import mage.abilities.Ability;
import mage.abilities.common.DiesTriggeredAbility;
import mage.abilities.condition.Condition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.DamageTargetEffect;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
@@ -31,7 +31,7 @@ public final class BurningEyeZubera extends CardImpl {
this.toughness = new MageInt(3);
// When Burning-Eye Zubera dies, if 4 or more damage was dealt to it this turn, Burning-Eye Zubera deals 3 damage to any target.
- Ability ability = new ConditionalTriggeredAbility(new DiesTriggeredAbility(new DamageTargetEffect(3)),new SourceGotFourDamage(),
+ Ability ability = new ConditionalInterveningIfTriggeredAbility(new DiesTriggeredAbility(new DamageTargetEffect(3)),new SourceGotFourDamage(),
"When {this} dies, if 4 or more damage was dealt to it this turn, Burning-Eye Zubera deals 3 damage to any target");
ability.addTarget(new TargetAnyTarget());
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/c/CaligoSkinWitch.java b/Mage.Sets/src/mage/cards/c/CaligoSkinWitch.java
index 511993aa510..1ecf21e9cc0 100644
--- a/Mage.Sets/src/mage/cards/c/CaligoSkinWitch.java
+++ b/Mage.Sets/src/mage/cards/c/CaligoSkinWitch.java
@@ -5,7 +5,7 @@ import java.util.UUID;
import mage.MageInt;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.condition.common.KickedCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.dynamicvalue.common.StaticValue;
import mage.abilities.effects.common.discard.DiscardEachPlayerEffect;
import mage.abilities.keyword.KickerAbility;
@@ -32,7 +32,7 @@ public final class CaligoSkinWitch extends CardImpl {
this.addAbility(new KickerAbility("{3}{B}"));
// When Caligo Skin-Witch enters the battlefield, if it was kicked, each opponent discards two cards.
- this.addAbility(new ConditionalTriggeredAbility(
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(
new EntersBattlefieldTriggeredAbility(new DiscardEachPlayerEffect(
new StaticValue(2),
false,
diff --git a/Mage.Sets/src/mage/cards/c/CallForUnity.java b/Mage.Sets/src/mage/cards/c/CallForUnity.java
index 89acf06212f..cb5c59b1c31 100644
--- a/Mage.Sets/src/mage/cards/c/CallForUnity.java
+++ b/Mage.Sets/src/mage/cards/c/CallForUnity.java
@@ -6,7 +6,7 @@ import mage.abilities.TriggeredAbility;
import mage.abilities.common.BeginningOfYourEndStepTriggeredAbility;
import mage.abilities.common.SimpleStaticAbility;
import mage.abilities.condition.common.RevoltCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.dynamicvalue.common.CountersSourceCount;
import mage.abilities.effects.Effect;
import mage.abilities.effects.common.continuous.BoostControlledEffect;
@@ -34,7 +34,7 @@ public final class CallForUnity extends CardImpl {
// Revolt — At the beginning of your end step, if a permanent you controlled left the battlefield this turn, put a unity counter on Call for Unity.
TriggeredAbility ability = new BeginningOfYourEndStepTriggeredAbility(new AddCountersSourceEffect(CounterType.UNITY.createInstance(), true), false);
- this.addAbility(new ConditionalTriggeredAbility(ability, RevoltCondition.instance, ruleText), new RevoltWatcher());
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, RevoltCondition.instance, ruleText), new RevoltWatcher());
// Creatures you control get +1/+1 for each unity counter on Call for Unity.
Effect effect = new BoostControlledEffect(new CountersSourceCount(CounterType.UNITY), new CountersSourceCount(CounterType.UNITY), Duration.WhileOnBattlefield,
diff --git a/Mage.Sets/src/mage/cards/c/CallOfTheFullMoon.java b/Mage.Sets/src/mage/cards/c/CallOfTheFullMoon.java
index 15e9bc38b7a..c6346f70b1d 100644
--- a/Mage.Sets/src/mage/cards/c/CallOfTheFullMoon.java
+++ b/Mage.Sets/src/mage/cards/c/CallOfTheFullMoon.java
@@ -7,7 +7,7 @@ import mage.abilities.TriggeredAbility;
import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
import mage.abilities.common.SimpleStaticAbility;
import mage.abilities.condition.common.TwoOrMoreSpellsWereCastLastTurnCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.Effect;
import mage.abilities.effects.common.AttachEffect;
import mage.abilities.effects.common.SacrificeSourceEffect;
@@ -47,7 +47,7 @@ public final class CallOfTheFullMoon extends CardImpl {
// At the beginning of each upkeep, if a player cast two or more spells last turn, sacrifice Call of the Full Moon.
TriggeredAbility ability2 = new BeginningOfUpkeepTriggeredAbility(new SacrificeSourceEffect(), TargetController.ANY, false);
- this.addAbility(new ConditionalTriggeredAbility(ability2, TwoOrMoreSpellsWereCastLastTurnCondition.instance,
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability2, TwoOrMoreSpellsWereCastLastTurnCondition.instance,
"At the beginning of each upkeep, if a player cast two or more spells last turn, sacrifice {this}."));
}
diff --git a/Mage.Sets/src/mage/cards/c/CallToTheGrave.java b/Mage.Sets/src/mage/cards/c/CallToTheGrave.java
index f639bab5c1f..5fa2e10f406 100644
--- a/Mage.Sets/src/mage/cards/c/CallToTheGrave.java
+++ b/Mage.Sets/src/mage/cards/c/CallToTheGrave.java
@@ -6,7 +6,7 @@ import mage.abilities.TriggeredAbility;
import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
import mage.abilities.common.OnEventTriggeredAbility;
import mage.abilities.condition.common.CreatureCountCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.SacrificeEffect;
import mage.abilities.effects.common.SacrificeSourceEffect;
import mage.cards.CardImpl;
@@ -42,7 +42,7 @@ public final class CallToTheGrave extends CardImpl {
this.addAbility(ability);
// At the beginning of the end step, if no creatures are on the battlefield, sacrifice Call to the Grave.
TriggeredAbility triggered = new OnEventTriggeredAbility(GameEvent.EventType.END_TURN_STEP_PRE, "beginning of the end step", true, new SacrificeSourceEffect());
- this.addAbility(new ConditionalTriggeredAbility(triggered, new CreatureCountCondition(0, TargetController.ANY), ruleText));
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(triggered, new CreatureCountCondition(0, TargetController.ANY), ruleText));
}
public CallToTheGrave(final CallToTheGrave card) {
diff --git a/Mage.Sets/src/mage/cards/c/CallowJushi.java b/Mage.Sets/src/mage/cards/c/CallowJushi.java
index d0c38ae02e2..3c5915d34f2 100644
--- a/Mage.Sets/src/mage/cards/c/CallowJushi.java
+++ b/Mage.Sets/src/mage/cards/c/CallowJushi.java
@@ -10,7 +10,7 @@ import mage.abilities.common.SpellCastControllerTriggeredAbility;
import mage.abilities.condition.common.SourceHasCounterCondition;
import mage.abilities.costs.common.RemoveCountersSourceCost;
import mage.abilities.costs.mana.GenericManaCost;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.CounterUnlessPaysEffect;
import mage.abilities.effects.common.FlipSourceEffect;
import mage.abilities.effects.common.counter.AddCountersSourceEffect;
@@ -24,7 +24,6 @@ import mage.counters.CounterType;
import mage.filter.StaticFilters;
import mage.game.events.GameEvent;
import mage.game.permanent.token.TokenImpl;
-import mage.game.permanent.token.Token;
import mage.target.TargetSpell;
/**
@@ -47,7 +46,7 @@ public final class CallowJushi extends CardImpl {
this.addAbility(new SpellCastControllerTriggeredAbility(new AddCountersSourceEffect(CounterType.KI.createInstance()), StaticFilters.SPIRIT_OR_ARCANE_CARD, true));
// At the beginning of the end step, if there are two or more ki counters on Callow Jushi, you may flip it.
- this.addAbility(new ConditionalTriggeredAbility(
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(
new OnEventTriggeredAbility(GameEvent.EventType.END_TURN_STEP_PRE, "beginning of the end step", true, new FlipSourceEffect(new JarakuTheInterloper()), true),
new SourceHasCounterCondition(CounterType.KI, 2, Integer.MAX_VALUE),
"At the beginning of the end step, if there are two or more ki counters on {this}, you may flip it."));
diff --git a/Mage.Sets/src/mage/cards/c/CetaSanctuary.java b/Mage.Sets/src/mage/cards/c/CetaSanctuary.java
index 920b60d38f3..8bd830649f9 100644
--- a/Mage.Sets/src/mage/cards/c/CetaSanctuary.java
+++ b/Mage.Sets/src/mage/cards/c/CetaSanctuary.java
@@ -4,7 +4,7 @@ package mage.cards.c;
import java.util.UUID;
import mage.ObjectColor;
import mage.abilities.Ability;
-import mage.abilities.common.SanctuaryTriggeredAbility;
+import mage.abilities.common.SanctuaryInterveningIfTriggeredAbility;
import mage.abilities.effects.common.DrawDiscardControllerEffect;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
@@ -20,7 +20,7 @@ public final class CetaSanctuary extends CardImpl {
super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{2}{U}");
// At the beginning of your upkeep, if you control a red or green permanent, draw a card, then discard a card. If you control a red permanent and a green permanent, instead draw two cards, then discard a card.
- Ability ability = new SanctuaryTriggeredAbility(
+ Ability ability = new SanctuaryInterveningIfTriggeredAbility(
new DrawDiscardControllerEffect(1, 1), new DrawDiscardControllerEffect(2, 1), ObjectColor.GREEN, ObjectColor.RED,
"At the beginning of your upkeep, if you control a red or green permanent, draw a card, then discard a card. "
+ "If you control a red permanent and a green permanent, instead draw two cards, then discard a card."
diff --git a/Mage.Sets/src/mage/cards/c/ChakramRetriever.java b/Mage.Sets/src/mage/cards/c/ChakramRetriever.java
index 70c5af3f67b..fd4704236da 100644
--- a/Mage.Sets/src/mage/cards/c/ChakramRetriever.java
+++ b/Mage.Sets/src/mage/cards/c/ChakramRetriever.java
@@ -1,7 +1,6 @@
package mage.cards.c;
-import java.util.UUID;
import mage.MageInt;
import mage.abilities.Ability;
import mage.abilities.common.SpellCastControllerTriggeredAbility;
@@ -15,6 +14,8 @@ import mage.constants.CardType;
import mage.constants.SubType;
import mage.target.common.TargetCreaturePermanent;
+import java.util.UUID;
+
/**
*
* @author TheElk801
diff --git a/Mage.Sets/src/mage/cards/c/ChanceEncounter.java b/Mage.Sets/src/mage/cards/c/ChanceEncounter.java
index 9cae7a541b3..6bacd9ab59d 100644
--- a/Mage.Sets/src/mage/cards/c/ChanceEncounter.java
+++ b/Mage.Sets/src/mage/cards/c/ChanceEncounter.java
@@ -6,7 +6,7 @@ import mage.abilities.TriggeredAbility;
import mage.abilities.TriggeredAbilityImpl;
import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
import mage.abilities.condition.common.SourceHasCounterCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.WinGameSourceControllerEffect;
import mage.abilities.effects.common.counter.AddCountersSourceEffect;
import mage.cards.CardImpl;
@@ -32,7 +32,7 @@ public final class ChanceEncounter extends CardImpl {
// At the beginning of your upkeep, if Chance Encounter has ten or more luck counters on it, you win the game.
TriggeredAbility ability = new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, new WinGameSourceControllerEffect(), TargetController.YOU, false);
- this.addAbility(new ConditionalTriggeredAbility(ability, new SourceHasCounterCondition(CounterType.LUCK, 10, Integer.MAX_VALUE),
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, new SourceHasCounterCondition(CounterType.LUCK, 10, Integer.MAX_VALUE),
"At the beginning of your upkeep, if {this} has ten or more luck counters on it, you win the game"));
}
diff --git a/Mage.Sets/src/mage/cards/c/Chronozoa.java b/Mage.Sets/src/mage/cards/c/Chronozoa.java
index fb63297fc19..81a6153913c 100644
--- a/Mage.Sets/src/mage/cards/c/Chronozoa.java
+++ b/Mage.Sets/src/mage/cards/c/Chronozoa.java
@@ -7,7 +7,7 @@ import mage.abilities.Ability;
import mage.abilities.common.DiesTriggeredAbility;
import mage.abilities.common.EntersBattlefieldAbility;
import mage.abilities.condition.common.LastTimeCounterRemovedCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.Effect;
import mage.abilities.effects.CreateTokenCopySourceEffect;
import mage.abilities.effects.common.counter.AddCountersSourceEffect;
@@ -46,7 +46,7 @@ public final class Chronozoa extends CardImpl {
// When Chronozoa is put into a graveyard from play, if it had no time counters on it, create two tokens that are copies of it.
Effect effect = new CreateTokenCopySourceEffect(2);
effect.setText("create two tokens that are copies of it");
- this.addAbility(new ConditionalTriggeredAbility(new DiesTriggeredAbility(effect, false),
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(new DiesTriggeredAbility(effect, false),
LastTimeCounterRemovedCondition.instance,
"When {this} dies, if it had no time counters on it, create two tokens that are copies of it."));
}
diff --git a/Mage.Sets/src/mage/cards/c/CitadelSiege.java b/Mage.Sets/src/mage/cards/c/CitadelSiege.java
index 35620c0cedb..86093720e51 100644
--- a/Mage.Sets/src/mage/cards/c/CitadelSiege.java
+++ b/Mage.Sets/src/mage/cards/c/CitadelSiege.java
@@ -1,7 +1,6 @@
package mage.cards.c;
-import java.util.UUID;
import mage.abilities.Ability;
import mage.abilities.common.BeginningOfCombatTriggeredAbility;
import mage.abilities.common.EntersBattlefieldAbility;
@@ -21,6 +20,8 @@ import mage.game.Game;
import mage.target.common.TargetControlledCreaturePermanent;
import mage.target.common.TargetCreaturePermanent;
+import java.util.UUID;
+
/**
*
* @author LevelX2
diff --git a/Mage.Sets/src/mage/cards/c/CitanulWoodreaders.java b/Mage.Sets/src/mage/cards/c/CitanulWoodreaders.java
index a2bada5d746..0f8813d79d5 100644
--- a/Mage.Sets/src/mage/cards/c/CitanulWoodreaders.java
+++ b/Mage.Sets/src/mage/cards/c/CitanulWoodreaders.java
@@ -5,7 +5,7 @@ import java.util.UUID;
import mage.MageInt;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.condition.common.KickedCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.DrawCardSourceControllerEffect;
import mage.abilities.keyword.KickerAbility;
import mage.cards.CardImpl;
@@ -31,7 +31,7 @@ public final class CitanulWoodreaders extends CardImpl {
this.addAbility(new KickerAbility("{2}{G}"));
// When Citanul Woodreaders enters the battlefield, if it was kicked, draw two cards.
- this.addAbility(new ConditionalTriggeredAbility(
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(
new EntersBattlefieldTriggeredAbility(new DrawCardSourceControllerEffect(2)),
KickedCondition.instance,
"When {this} enters the battlefield, if it was kicked, draw two cards."
diff --git a/Mage.Sets/src/mage/cards/c/ClockworkAvian.java b/Mage.Sets/src/mage/cards/c/ClockworkAvian.java
index cd2903327e0..7eabddb97fa 100644
--- a/Mage.Sets/src/mage/cards/c/ClockworkAvian.java
+++ b/Mage.Sets/src/mage/cards/c/ClockworkAvian.java
@@ -11,7 +11,7 @@ import mage.abilities.condition.common.IsStepCondition;
import mage.abilities.costs.common.TapSourceCost;
import mage.abilities.costs.mana.ManaCostsImpl;
import mage.abilities.decorator.ConditionalActivatedAbility;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.dynamicvalue.DynamicValue;
import mage.abilities.dynamicvalue.common.ManacostVariableValue;
import mage.abilities.effects.common.counter.AddCountersSourceEffect;
@@ -51,7 +51,7 @@ public final class ClockworkAvian extends CardImpl {
));
// At end of combat, if Clockwork Avian attacked or blocked this combat, remove a +1/+0 counter from it.
- this.addAbility(new ConditionalTriggeredAbility(
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(
new EndOfCombatTriggeredAbility(new RemoveCounterSourceEffect(CounterType.P1P0.createInstance()), false),
AttackedOrBlockedThisCombatSourceCondition.instance,
"At end of combat, if {this} attacked or blocked this combat, remove a +1/+0 counter from it."),
diff --git a/Mage.Sets/src/mage/cards/c/ClockworkBeast.java b/Mage.Sets/src/mage/cards/c/ClockworkBeast.java
index 9efa2a076df..e02f4434b43 100644
--- a/Mage.Sets/src/mage/cards/c/ClockworkBeast.java
+++ b/Mage.Sets/src/mage/cards/c/ClockworkBeast.java
@@ -11,7 +11,7 @@ import mage.abilities.condition.common.IsStepCondition;
import mage.abilities.costs.common.TapSourceCost;
import mage.abilities.costs.mana.ManaCostsImpl;
import mage.abilities.decorator.ConditionalActivatedAbility;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.dynamicvalue.DynamicValue;
import mage.abilities.dynamicvalue.common.ManacostVariableValue;
import mage.abilities.effects.common.counter.AddCountersSourceEffect;
@@ -47,7 +47,7 @@ public final class ClockworkBeast extends CardImpl {
));
// At end of combat, if Clockwork Beast attacked or blocked this combat, remove a +1/+0 counter from it.
- this.addAbility(new ConditionalTriggeredAbility(
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(
new EndOfCombatTriggeredAbility(new RemoveCounterSourceEffect(CounterType.P1P0.createInstance()), false),
AttackedOrBlockedThisCombatSourceCondition.instance,
"At end of combat, if {this} attacked or blocked this combat, remove a +1/+0 counter from it."),
diff --git a/Mage.Sets/src/mage/cards/c/ClockworkSteed.java b/Mage.Sets/src/mage/cards/c/ClockworkSteed.java
index 06743d0ae22..fe4557ef8dd 100644
--- a/Mage.Sets/src/mage/cards/c/ClockworkSteed.java
+++ b/Mage.Sets/src/mage/cards/c/ClockworkSteed.java
@@ -12,7 +12,7 @@ import mage.abilities.condition.common.IsStepCondition;
import mage.abilities.costs.common.TapSourceCost;
import mage.abilities.costs.mana.ManaCostsImpl;
import mage.abilities.decorator.ConditionalActivatedAbility;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.dynamicvalue.DynamicValue;
import mage.abilities.dynamicvalue.common.ManacostVariableValue;
import mage.abilities.effects.common.combat.CantBeBlockedByCreaturesSourceEffect;
@@ -58,7 +58,7 @@ public final class ClockworkSteed extends CardImpl {
this.addAbility(new SimpleEvasionAbility(new CantBeBlockedByCreaturesSourceEffect(filter, Duration.WhileOnBattlefield)));
// At end of combat, if Clockwork Steed attacked or blocked this combat, remove a +1/+0 counter from it.
- this.addAbility(new ConditionalTriggeredAbility(
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(
new EndOfCombatTriggeredAbility(new RemoveCounterSourceEffect(CounterType.P1P0.createInstance()), false),
AttackedOrBlockedThisCombatSourceCondition.instance,
"At end of combat, if {this} attacked or blocked this combat, remove a +1/+0 counter from it."),
diff --git a/Mage.Sets/src/mage/cards/c/ClockworkSwarm.java b/Mage.Sets/src/mage/cards/c/ClockworkSwarm.java
index f56893ebccf..4480d844ced 100644
--- a/Mage.Sets/src/mage/cards/c/ClockworkSwarm.java
+++ b/Mage.Sets/src/mage/cards/c/ClockworkSwarm.java
@@ -12,7 +12,7 @@ import mage.abilities.condition.common.IsStepCondition;
import mage.abilities.costs.common.TapSourceCost;
import mage.abilities.costs.mana.ManaCostsImpl;
import mage.abilities.decorator.ConditionalActivatedAbility;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.dynamicvalue.DynamicValue;
import mage.abilities.dynamicvalue.common.ManacostVariableValue;
import mage.abilities.effects.common.combat.CantBeBlockedByCreaturesSourceEffect;
@@ -62,7 +62,7 @@ public final class ClockworkSwarm extends CardImpl {
this.addAbility(new SimpleEvasionAbility(new CantBeBlockedByCreaturesSourceEffect(filter, Duration.WhileOnBattlefield)));
// At end of combat, if Clockwork Swarm attacked or blocked this combat, remove a +1/+0 counter from it.
- this.addAbility(new ConditionalTriggeredAbility(
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(
new EndOfCombatTriggeredAbility(new RemoveCounterSourceEffect(CounterType.P1P0.createInstance()), false),
AttackedOrBlockedThisCombatSourceCondition.instance,
"At end of combat, if {this} attacked or blocked this combat, remove a +1/+0 counter from it."),
diff --git a/Mage.Sets/src/mage/cards/c/CoalStoker.java b/Mage.Sets/src/mage/cards/c/CoalStoker.java
index cfe982d61cc..17ead83cd53 100644
--- a/Mage.Sets/src/mage/cards/c/CoalStoker.java
+++ b/Mage.Sets/src/mage/cards/c/CoalStoker.java
@@ -6,7 +6,7 @@ import mage.MageInt;
import mage.Mana;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.condition.common.CastFromHandSourceCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.mana.BasicManaEffect;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
@@ -27,7 +27,7 @@ public final class CoalStoker extends CardImpl {
this.toughness = new MageInt(3);
// When Coal Stoker enters the battlefield, if you cast it from your hand, add {R}{R}{R}.
- this.addAbility(new ConditionalTriggeredAbility(
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(
new EntersBattlefieldTriggeredAbility(new BasicManaEffect(Mana.RedMana(3)), false),
CastFromHandSourceCondition.instance,
"When {this} enters the battlefield, if you cast it from your hand, add {R}{R}{R}."),
diff --git a/Mage.Sets/src/mage/cards/c/ColossalMajesty.java b/Mage.Sets/src/mage/cards/c/ColossalMajesty.java
index 3d26ff69c75..abd4bd9d6f8 100644
--- a/Mage.Sets/src/mage/cards/c/ColossalMajesty.java
+++ b/Mage.Sets/src/mage/cards/c/ColossalMajesty.java
@@ -3,7 +3,7 @@ package mage.cards.c;
import java.util.UUID;
import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
import mage.abilities.condition.common.FerociousCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.DrawCardSourceControllerEffect;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
@@ -20,7 +20,7 @@ public final class ColossalMajesty extends CardImpl {
super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{2}{G}");
// At the beginning of your upkeep, if you control a creature with power 4 or greater, draw a card.
- this.addAbility(new ConditionalTriggeredAbility(
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(
new BeginningOfUpkeepTriggeredAbility(
new DrawCardSourceControllerEffect(1),
TargetController.YOU, false
diff --git a/Mage.Sets/src/mage/cards/c/ComplexAutomaton.java b/Mage.Sets/src/mage/cards/c/ComplexAutomaton.java
index 2d1c8d2bab7..3697c4ab9f0 100644
--- a/Mage.Sets/src/mage/cards/c/ComplexAutomaton.java
+++ b/Mage.Sets/src/mage/cards/c/ComplexAutomaton.java
@@ -6,7 +6,7 @@ import mage.MageInt;
import mage.abilities.TriggeredAbility;
import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
import mage.abilities.condition.common.PermanentsOnTheBattlefieldCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.ReturnToHandSourceEffect;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
@@ -31,7 +31,7 @@ public final class ComplexAutomaton extends CardImpl {
// At the beginning of your upkeep, if you control seven or more permanents, return Complex Automaton to its owner's hand.
TriggeredAbility ability = new BeginningOfUpkeepTriggeredAbility(new ReturnToHandSourceEffect(true), TargetController.YOU, false);
- this.addAbility(new ConditionalTriggeredAbility(ability, new PermanentsOnTheBattlefieldCondition(new FilterControlledPermanent(), ComparisonType.MORE_THAN, 6),
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, new PermanentsOnTheBattlefieldCondition(new FilterControlledPermanent(), ComparisonType.MORE_THAN, 6),
"At the beginning of your upkeep, if you control seven or more permanents, return Complex Automaton to its owner's hand."));
}
diff --git a/Mage.Sets/src/mage/cards/c/ConsulsLieutenant.java b/Mage.Sets/src/mage/cards/c/ConsulsLieutenant.java
index 57c34427a95..1653c18a411 100644
--- a/Mage.Sets/src/mage/cards/c/ConsulsLieutenant.java
+++ b/Mage.Sets/src/mage/cards/c/ConsulsLieutenant.java
@@ -5,7 +5,7 @@ import java.util.UUID;
import mage.MageInt;
import mage.abilities.common.AttacksTriggeredAbility;
import mage.abilities.condition.common.RenownedSourceCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.continuous.BoostControlledEffect;
import mage.abilities.keyword.FirstStrikeAbility;
import mage.abilities.keyword.RenownAbility;
@@ -34,7 +34,7 @@ public final class ConsulsLieutenant extends CardImpl {
// Renown 1
this.addAbility(new RenownAbility(1));
// Whenever Consul's Lieutenant attacks, if it's renowned, other attacking creatures you control get +1/+1 until end of turn.
- this.addAbility(new ConditionalTriggeredAbility(new AttacksTriggeredAbility(
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(new AttacksTriggeredAbility(
new BoostControlledEffect(1, 1, Duration.EndOfTurn, new FilterAttackingCreature("other attacking creatures you control"), true), false),
RenownedSourceCondition.instance,
"Whenever Consul's Lieutenant attacks, if it's renowned, other attacking creatures you control get +1/+1 until end of turn."));
diff --git a/Mage.Sets/src/mage/cards/c/ConvalescentCare.java b/Mage.Sets/src/mage/cards/c/ConvalescentCare.java
index cd762d6a158..6153f6735d0 100644
--- a/Mage.Sets/src/mage/cards/c/ConvalescentCare.java
+++ b/Mage.Sets/src/mage/cards/c/ConvalescentCare.java
@@ -5,7 +5,7 @@ import java.util.UUID;
import mage.abilities.TriggeredAbility;
import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
import mage.abilities.condition.common.XorLessLifeCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.Effect;
import mage.abilities.effects.common.DrawCardSourceControllerEffect;
import mage.abilities.effects.common.GainLifeEffect;
@@ -27,7 +27,7 @@ public final class ConvalescentCare extends CardImpl {
Effect effect = new DrawCardSourceControllerEffect(1);
TriggeredAbility ability = new BeginningOfUpkeepTriggeredAbility(new GainLifeEffect(3), TargetController.YOU, false);
ability.addEffect(effect);
- this.addAbility(new ConditionalTriggeredAbility(ability, new XorLessLifeCondition(XorLessLifeCondition.CheckType.CONTROLLER, 5), "At the beginning of your upkeep, if you have 5 or less life, you gain 3 life and draw a card."));
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, new XorLessLifeCondition(XorLessLifeCondition.CheckType.CONTROLLER, 5), "At the beginning of your upkeep, if you have 5 or less life, you gain 3 life and draw a card."));
}
public ConvalescentCare(final ConvalescentCare card) {
diff --git a/Mage.Sets/src/mage/cards/c/ConvictedKiller.java b/Mage.Sets/src/mage/cards/c/ConvictedKiller.java
index 333cf8dd3e3..513878588fd 100644
--- a/Mage.Sets/src/mage/cards/c/ConvictedKiller.java
+++ b/Mage.Sets/src/mage/cards/c/ConvictedKiller.java
@@ -6,7 +6,7 @@ import mage.MageInt;
import mage.abilities.TriggeredAbility;
import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
import mage.abilities.condition.common.NoSpellsWereCastLastTurnCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.TransformSourceEffect;
import mage.abilities.keyword.TransformAbility;
import mage.cards.CardImpl;
@@ -35,7 +35,7 @@ public final class ConvictedKiller extends CardImpl {
// At the beginning of each upkeep, if no spells were cast last turn, transform Convicted Killer.
this.addAbility(new TransformAbility());
TriggeredAbility ability = new BeginningOfUpkeepTriggeredAbility(new TransformSourceEffect(true), TargetController.ANY, false);
- this.addAbility(new ConditionalTriggeredAbility(ability, NoSpellsWereCastLastTurnCondition.instance, TransformAbility.NO_SPELLS_TRANSFORM_RULE));
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, NoSpellsWereCastLastTurnCondition.instance, TransformAbility.NO_SPELLS_TRANSFORM_RULE));
}
public ConvictedKiller(final ConvictedKiller card) {
diff --git a/Mage.Sets/src/mage/cards/c/CountlessGearsRenegade.java b/Mage.Sets/src/mage/cards/c/CountlessGearsRenegade.java
index 1244c5d1281..72a01268b1f 100644
--- a/Mage.Sets/src/mage/cards/c/CountlessGearsRenegade.java
+++ b/Mage.Sets/src/mage/cards/c/CountlessGearsRenegade.java
@@ -6,7 +6,7 @@ import mage.MageInt;
import mage.abilities.Ability;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.condition.common.RevoltCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.CreateTokenEffect;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
@@ -31,7 +31,7 @@ public final class CountlessGearsRenegade extends CardImpl {
// Revolt — When Countless Gears Renegade enters the battlefield, if a permanent you controlled
// left the battlefield this turn, create a 1/1 colorless Servo artifact creature token.
- Ability ability = new ConditionalTriggeredAbility(new EntersBattlefieldTriggeredAbility(
+ Ability ability = new ConditionalInterveningIfTriggeredAbility(new EntersBattlefieldTriggeredAbility(
new CreateTokenEffect(new ServoToken(), 1), false), RevoltCondition.instance,
"Revolt — When {this} enters the battlefield, if a permanent you controlled left"
+ " the battlefield this turn, create a 1/1 colorless Servo artifact creature token.");
diff --git a/Mage.Sets/src/mage/cards/c/CrestedSunmare.java b/Mage.Sets/src/mage/cards/c/CrestedSunmare.java
index 9367d010c9c..bdfcd07bb72 100644
--- a/Mage.Sets/src/mage/cards/c/CrestedSunmare.java
+++ b/Mage.Sets/src/mage/cards/c/CrestedSunmare.java
@@ -6,7 +6,7 @@ import mage.MageInt;
import mage.abilities.common.BeginningOfEndStepTriggeredAbility;
import mage.abilities.common.SimpleStaticAbility;
import mage.abilities.condition.common.YouGainedLifeCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.CreateTokenEffect;
import mage.abilities.effects.common.continuous.GainAbilityAllEffect;
import mage.abilities.keyword.IndestructibleAbility;
@@ -47,7 +47,7 @@ public final class CrestedSunmare extends CardImpl {
// At the beginning of each end step, if you gained life this turn, create a 5/5 white Horse creature token.
this.addAbility(
- new ConditionalTriggeredAbility(
+ new ConditionalInterveningIfTriggeredAbility(
new BeginningOfEndStepTriggeredAbility(new CreateTokenEffect(new CrestedSunmareToken()), TargetController.ANY, false),
new YouGainedLifeCondition(ComparisonType.MORE_THAN, 0),
"At the beginning of each end step, if you gained life this turn, create a 5/5 white Horse creature token."),
diff --git a/Mage.Sets/src/mage/cards/c/CryptolithFragment.java b/Mage.Sets/src/mage/cards/c/CryptolithFragment.java
index 394fed8a8da..2980d3aa903 100644
--- a/Mage.Sets/src/mage/cards/c/CryptolithFragment.java
+++ b/Mage.Sets/src/mage/cards/c/CryptolithFragment.java
@@ -6,7 +6,7 @@ import mage.abilities.Ability;
import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
import mage.abilities.common.EntersBattlefieldTappedAbility;
import mage.abilities.condition.common.XorLessLifeCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.LoseLifeAllPlayersEffect;
import mage.abilities.effects.common.TransformSourceEffect;
import mage.abilities.keyword.TransformAbility;
@@ -39,7 +39,7 @@ public final class CryptolithFragment extends CardImpl {
// At the beginning of your upkeep, if each player has 10 or less life, transform Cryptolith Fragment.
this.addAbility(new TransformAbility());
- this.addAbility(new ConditionalTriggeredAbility(
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(
new BeginningOfUpkeepTriggeredAbility(new TransformSourceEffect(true), TargetController.YOU, false),
new XorLessLifeCondition(XorLessLifeCondition.CheckType.EACH_PLAYER, 10),
"At the beginning of your upkeep, if each player has 10 or less life, transform Cryptolith Fragment."));
diff --git a/Mage.Sets/src/mage/cards/c/CunningBandit.java b/Mage.Sets/src/mage/cards/c/CunningBandit.java
index 5afd4f65c2b..911eeccd417 100644
--- a/Mage.Sets/src/mage/cards/c/CunningBandit.java
+++ b/Mage.Sets/src/mage/cards/c/CunningBandit.java
@@ -9,7 +9,7 @@ import mage.abilities.common.SimpleActivatedAbility;
import mage.abilities.common.SpellCastControllerTriggeredAbility;
import mage.abilities.condition.common.SourceHasCounterCondition;
import mage.abilities.costs.common.RemoveCountersSourceCost;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.FlipSourceEffect;
import mage.abilities.effects.common.continuous.GainControlTargetEffect;
import mage.abilities.effects.common.counter.AddCountersSourceEffect;
@@ -24,7 +24,6 @@ import mage.counters.CounterType;
import mage.filter.StaticFilters;
import mage.game.events.GameEvent;
import mage.game.permanent.token.TokenImpl;
-import mage.game.permanent.token.Token;
import mage.target.common.TargetCreaturePermanent;
/**
@@ -47,7 +46,7 @@ public final class CunningBandit extends CardImpl {
this.addAbility(new SpellCastControllerTriggeredAbility(new AddCountersSourceEffect(CounterType.KI.createInstance()), StaticFilters.SPIRIT_OR_ARCANE_CARD, true));
// At the beginning of the end step, if there are two or more ki counters on Cunning Bandit, you may flip it.
- this.addAbility(new ConditionalTriggeredAbility(
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(
new OnEventTriggeredAbility(GameEvent.EventType.END_TURN_STEP_PRE, "beginning of the end step", true, new FlipSourceEffect(new AzamukiTreacheryIncarnate()), true),
new SourceHasCounterCondition(CounterType.KI, 2, Integer.MAX_VALUE),
"At the beginning of the end step, if there are two or more ki counters on {this}, you may flip it."));
diff --git a/Mage.Sets/src/mage/cards/c/CuriousHomunculus.java b/Mage.Sets/src/mage/cards/c/CuriousHomunculus.java
index 4904159e506..183beb3ef6c 100644
--- a/Mage.Sets/src/mage/cards/c/CuriousHomunculus.java
+++ b/Mage.Sets/src/mage/cards/c/CuriousHomunculus.java
@@ -7,7 +7,7 @@ import mage.abilities.Ability;
import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
import mage.abilities.condition.Condition;
import mage.abilities.costs.common.TapSourceCost;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.TransformSourceEffect;
import mage.abilities.keyword.TransformAbility;
import mage.abilities.mana.ConditionalColorlessManaAbility;
@@ -42,7 +42,7 @@ public final class CuriousHomunculus extends CardImpl {
// At the beginning of your upkeep, if there are three or more instant and/or sorcery cards in your graveyard, transform Curious Homunculus.
this.addAbility(new TransformAbility());
- this.addAbility(new ConditionalTriggeredAbility(
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(
new BeginningOfUpkeepTriggeredAbility(new TransformSourceEffect(true), TargetController.YOU, false),
new InstantOrSorceryCardsInControllerGraveCondition(3),
"At the beginning of your upkeep, if there are three or more instant and/or sorcery cards in your graveyard, transform {this}"));
diff --git a/Mage.Sets/src/mage/cards/c/CurseOfTheCabal.java b/Mage.Sets/src/mage/cards/c/CurseOfTheCabal.java
index d9fbded941e..8e2ab315d4e 100644
--- a/Mage.Sets/src/mage/cards/c/CurseOfTheCabal.java
+++ b/Mage.Sets/src/mage/cards/c/CurseOfTheCabal.java
@@ -7,7 +7,7 @@ import mage.abilities.condition.common.SuspendedCondition;
import mage.abilities.costs.Cost;
import mage.abilities.costs.common.SacrificeTargetCost;
import mage.abilities.costs.mana.ManaCostsImpl;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.dynamicvalue.common.StaticValue;
import mage.abilities.effects.OneShotEffect;
import mage.abilities.effects.common.counter.AddCountersSourceEffect;
@@ -45,7 +45,7 @@ public final class CurseOfTheCabal extends CardImpl {
// Suspend 2-{2}{B}{B}
this.addAbility(new SuspendAbility(2, new ManaCostsImpl("{2}{B}{B}"), this));
// At the beginning of each player's upkeep, if Curse of the Cabal is suspended, that player may sacrifice a permanent. If he or she does, put two time counters on Curse of the Cabal.
- this.addAbility(new CurseOfTheCabalTriggeredAbility());
+ this.addAbility(new CurseOfTheCabalInterveningIfTriggeredAbility());
}
public CurseOfTheCabal(final CurseOfTheCabal card) {
@@ -99,9 +99,9 @@ class CurseOfTheCabalSacrificeEffect extends OneShotEffect {
}
}
-class CurseOfTheCabalTriggeredAbility extends ConditionalTriggeredAbility {
+class CurseOfTheCabalInterveningIfTriggeredAbility extends ConditionalInterveningIfTriggeredAbility {
- public CurseOfTheCabalTriggeredAbility() {
+ public CurseOfTheCabalInterveningIfTriggeredAbility() {
super(new BeginningOfUpkeepTriggeredAbility(
Zone.EXILED, new CurseOfTheCabalTriggeredAbilityConditionalDelay(),
TargetController.ANY, false, true
@@ -113,13 +113,13 @@ class CurseOfTheCabalTriggeredAbility extends ConditionalTriggeredAbility {
// counters aren't placed
}
- public CurseOfTheCabalTriggeredAbility(final CurseOfTheCabalTriggeredAbility effect) {
+ public CurseOfTheCabalInterveningIfTriggeredAbility(final CurseOfTheCabalInterveningIfTriggeredAbility effect) {
super(effect);
}
@Override
- public CurseOfTheCabalTriggeredAbility copy() {
- return new CurseOfTheCabalTriggeredAbility(this);
+ public CurseOfTheCabalInterveningIfTriggeredAbility copy() {
+ return new CurseOfTheCabalInterveningIfTriggeredAbility(this);
}
}
diff --git a/Mage.Sets/src/mage/cards/d/DanceOfTheDead.java b/Mage.Sets/src/mage/cards/d/DanceOfTheDead.java
index 380ce8d79aa..40b8b5a6f38 100644
--- a/Mage.Sets/src/mage/cards/d/DanceOfTheDead.java
+++ b/Mage.Sets/src/mage/cards/d/DanceOfTheDead.java
@@ -11,7 +11,7 @@ import mage.abilities.common.LeavesBattlefieldTriggeredAbility;
import mage.abilities.common.SimpleStaticAbility;
import mage.abilities.condition.common.SourceOnBattlefieldCondition;
import mage.abilities.costs.mana.ManaCostsImpl;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.ContinuousEffectImpl;
import mage.abilities.effects.Effect;
import mage.abilities.effects.OneShotEffect;
@@ -52,7 +52,7 @@ public final class DanceOfTheDead extends CardImpl {
Ability enchantAbility = new EnchantAbility(auraTarget.getTargetName());
this.addAbility(enchantAbility);
// When Dance of the Dead enters the battlefield, if it's on the battlefield, it loses "enchant creature card in a graveyard" and gains "enchant creature put onto the battlefield with Dance of the Dead." Put enchanted creature card to the battlefield tapped under your control and attach Dance of the Dead to it. When Dance of the Dead leaves the battlefield, that creature's controller sacrifices it.
- Ability ability = new ConditionalTriggeredAbility(
+ Ability ability = new ConditionalInterveningIfTriggeredAbility(
new EntersBattlefieldTriggeredAbility(new DanceOfTheDeadReAttachEffect(), false),
SourceOnBattlefieldCondition.instance,
"When {this} enters the battlefield, if it's on the battlefield, "
diff --git a/Mage.Sets/src/mage/cards/d/DaredevilDragster.java b/Mage.Sets/src/mage/cards/d/DaredevilDragster.java
index 66d9cad9306..112af1122ad 100644
--- a/Mage.Sets/src/mage/cards/d/DaredevilDragster.java
+++ b/Mage.Sets/src/mage/cards/d/DaredevilDragster.java
@@ -5,7 +5,7 @@ import mage.MageInt;
import mage.abilities.Ability;
import mage.abilities.common.EndOfCombatTriggeredAbility;
import mage.abilities.condition.common.AttackedOrBlockedThisCombatSourceCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.OneShotEffect;
import mage.abilities.keyword.CrewAbility;
import mage.cards.CardImpl;
@@ -35,7 +35,7 @@ public final class DaredevilDragster extends CardImpl {
this.toughness = new MageInt(4);
// At end of combat, if Daredevil Dragster attacked or blocked this combat, put a velocity counter on it. Then if it has two or more velocity counters on it, sacrifice it and draw two cards.
- this.addAbility(new ConditionalTriggeredAbility(
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(
new EndOfCombatTriggeredAbility(new DaredevilDragsterEffect(), false),
AttackedOrBlockedThisCombatSourceCondition.instance,
"At end of combat, if {this} attacked or blocked this combat, put a velocity counter on it. Then if it has two or more velocity counters on it, sacrifice it and draw two cards."),
diff --git a/Mage.Sets/src/mage/cards/d/DarigaazReincarnated.java b/Mage.Sets/src/mage/cards/d/DarigaazReincarnated.java
index 3d23098e3d7..e1def85a885 100644
--- a/Mage.Sets/src/mage/cards/d/DarigaazReincarnated.java
+++ b/Mage.Sets/src/mage/cards/d/DarigaazReincarnated.java
@@ -8,7 +8,7 @@ import mage.abilities.Ability;
import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
import mage.abilities.common.SimpleStaticAbility;
import mage.abilities.condition.Condition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.OneShotEffect;
import mage.abilities.effects.ReplacementEffectImpl;
import mage.abilities.effects.common.counter.RemoveCounterSourceEffect;
@@ -59,7 +59,7 @@ public final class DarigaazReincarnated extends CardImpl {
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new DarigaazReincarnatedDiesEffect()));
// At the beginning of your upkeep, if Darigaaz is exiled with an egg counter on it, remove an egg counter from it. Then if Darigaaz has no egg counters on it, return it to the battlefield.
- this.addAbility(new DarigaazReincarnatedTriggeredAbility());
+ this.addAbility(new DarigaazReincarnatedInterveningIfTriggeredAbility());
}
public DarigaazReincarnated(final DarigaazReincarnated card) {
@@ -119,22 +119,22 @@ class DarigaazReincarnatedDiesEffect extends ReplacementEffectImpl {
}
-class DarigaazReincarnatedTriggeredAbility extends ConditionalTriggeredAbility {
+class DarigaazReincarnatedInterveningIfTriggeredAbility extends ConditionalInterveningIfTriggeredAbility {
- public DarigaazReincarnatedTriggeredAbility() {
+ public DarigaazReincarnatedInterveningIfTriggeredAbility() {
super(new BeginningOfUpkeepTriggeredAbility(Zone.EXILED, new DarigaazReincarnatedReturnEffect(), TargetController.YOU, false),
DarigaazReincarnatedCondition.instance,
"At the beginning of your upkeep, if {this} is exiled with an egg counter on it, "
+ "remove an egg counter from it. Then if {this} has no egg counters on it, return it to the battlefield");
}
- public DarigaazReincarnatedTriggeredAbility(final DarigaazReincarnatedTriggeredAbility effect) {
+ public DarigaazReincarnatedInterveningIfTriggeredAbility(final DarigaazReincarnatedInterveningIfTriggeredAbility effect) {
super(effect);
}
@Override
- public DarigaazReincarnatedTriggeredAbility copy() {
- return new DarigaazReincarnatedTriggeredAbility(this);
+ public DarigaazReincarnatedInterveningIfTriggeredAbility copy() {
+ return new DarigaazReincarnatedInterveningIfTriggeredAbility(this);
}
}
diff --git a/Mage.Sets/src/mage/cards/d/DarkApprenticeship.java b/Mage.Sets/src/mage/cards/d/DarkApprenticeship.java
index 43224cdd757..f4db672b491 100644
--- a/Mage.Sets/src/mage/cards/d/DarkApprenticeship.java
+++ b/Mage.Sets/src/mage/cards/d/DarkApprenticeship.java
@@ -5,7 +5,7 @@ import java.util.UUID;
import mage.abilities.Ability;
import mage.abilities.common.BeginningOfEndStepTriggeredAbility;
import mage.abilities.condition.common.HateCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.DamageTargetEffect;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
@@ -24,7 +24,7 @@ public final class DarkApprenticeship extends CardImpl {
super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{1}{R}");
// Hate — At the beggining of your end step, if an opponent lost life from source other than combat damage this turn, Dark Apprenticeship deals 2 damage to target player.
- Ability ability = new ConditionalTriggeredAbility(
+ Ability ability = new ConditionalInterveningIfTriggeredAbility(
new BeginningOfEndStepTriggeredAbility(new DamageTargetEffect(2), TargetController.YOU, false),
HateCondition.instance,
"Hate — At the beggining of your end step, if an opponent lost life from source other than combat damage this turn, Dark Apprenticeship deals 2 damage to target player.");
diff --git a/Mage.Sets/src/mage/cards/d/DarthMaul.java b/Mage.Sets/src/mage/cards/d/DarthMaul.java
index a34a33fcc5e..9805ceecc73 100644
--- a/Mage.Sets/src/mage/cards/d/DarthMaul.java
+++ b/Mage.Sets/src/mage/cards/d/DarthMaul.java
@@ -6,7 +6,7 @@ import mage.MageInt;
import mage.abilities.Ability;
import mage.abilities.common.AttacksTriggeredAbility;
import mage.abilities.condition.common.HateCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.combat.CantBeBlockedByTargetSourceEffect;
import mage.abilities.keyword.DoubleStrikeAbility;
import mage.abilities.keyword.HasteAbility;
@@ -40,7 +40,7 @@ public final class DarthMaul extends CardImpl {
this.addAbility(HasteAbility.getInstance());
// Hate — Whenever Darth Maul attacks, if an opponent loses life from a source other than combat damage this turn, target creature can't block this turn.
- Ability ability = new ConditionalTriggeredAbility(
+ Ability ability = new ConditionalInterveningIfTriggeredAbility(
new AttacksTriggeredAbility(new CantBeBlockedByTargetSourceEffect(Duration.EndOfTurn), false),
HateCondition.instance,
"Hate — Whenever Darth Maul attacks, if an opponent loses life from a source other than combat damage this turn, target creature can't block this turn.");
diff --git a/Mage.Sets/src/mage/cards/d/DaybreakRanger.java b/Mage.Sets/src/mage/cards/d/DaybreakRanger.java
index d26396ac697..19f86a0c96e 100644
--- a/Mage.Sets/src/mage/cards/d/DaybreakRanger.java
+++ b/Mage.Sets/src/mage/cards/d/DaybreakRanger.java
@@ -9,7 +9,7 @@ import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
import mage.abilities.common.SimpleActivatedAbility;
import mage.abilities.condition.common.NoSpellsWereCastLastTurnCondition;
import mage.abilities.costs.common.TapSourceCost;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.DamageTargetEffect;
import mage.abilities.effects.common.TransformSourceEffect;
import mage.abilities.keyword.FlyingAbility;
@@ -56,7 +56,7 @@ public final class DaybreakRanger extends CardImpl {
// At the beginning of each upkeep, if no spells were cast last turn, transform Daybreak Ranger.
this.addAbility(new TransformAbility());
TriggeredAbility ability = new BeginningOfUpkeepTriggeredAbility(new TransformSourceEffect(true), TargetController.ANY, false);
- this.addAbility(new ConditionalTriggeredAbility(ability, NoSpellsWereCastLastTurnCondition.instance, TransformAbility.NO_SPELLS_TRANSFORM_RULE));
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, NoSpellsWereCastLastTurnCondition.instance, TransformAbility.NO_SPELLS_TRANSFORM_RULE));
}
public DaybreakRanger(final DaybreakRanger card) {
diff --git a/Mage.Sets/src/mage/cards/d/DeadeyeBrawler.java b/Mage.Sets/src/mage/cards/d/DeadeyeBrawler.java
index e3f3b085b89..88ace23bc5e 100644
--- a/Mage.Sets/src/mage/cards/d/DeadeyeBrawler.java
+++ b/Mage.Sets/src/mage/cards/d/DeadeyeBrawler.java
@@ -5,7 +5,7 @@ import java.util.UUID;
import mage.MageInt;
import mage.abilities.common.DealsCombatDamageToAPlayerTriggeredAbility;
import mage.abilities.condition.common.CitysBlessingCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.DrawCardSourceControllerEffect;
import mage.constants.SubType;
import mage.abilities.keyword.DeathtouchAbility;
@@ -35,7 +35,7 @@ public final class DeadeyeBrawler extends CardImpl {
this.addAbility(new AscendAbility());
// Whenever Deadeye Brawler deals combat damage to a player, if you have the city's blessing, draw a card.
- this.addAbility(new ConditionalTriggeredAbility(new DealsCombatDamageToAPlayerTriggeredAbility(
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(new DealsCombatDamageToAPlayerTriggeredAbility(
new DrawCardSourceControllerEffect(1), false, false), CitysBlessingCondition.instance,
"Whenever {this} deals combat damage to a player, if you have the city's blessing, draw a card."));
diff --git a/Mage.Sets/src/mage/cards/d/DeadeyeHarpooner.java b/Mage.Sets/src/mage/cards/d/DeadeyeHarpooner.java
index cf49c078049..eeb855dd357 100644
--- a/Mage.Sets/src/mage/cards/d/DeadeyeHarpooner.java
+++ b/Mage.Sets/src/mage/cards/d/DeadeyeHarpooner.java
@@ -6,7 +6,7 @@ import mage.MageInt;
import mage.abilities.Ability;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.condition.common.RevoltCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.DestroyTargetEffect;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
@@ -39,7 +39,7 @@ public final class DeadeyeHarpooner extends CardImpl {
this.toughness = new MageInt(2);
// Revolt — When Deadeye Harpooner enters the battlefield, if a permanent you controlled left the battlefield this turn, destroy target tapped creature an opponent controls.
- Ability ability = new ConditionalTriggeredAbility(new EntersBattlefieldTriggeredAbility(
+ Ability ability = new ConditionalInterveningIfTriggeredAbility(new EntersBattlefieldTriggeredAbility(
new DestroyTargetEffect(), false), RevoltCondition.instance,
"Revolt — When {this} enters the battlefield, if a permanent you controlled left"
+ " the battlefield this turn, destroy target tapped creature an opponent controls."
diff --git a/Mage.Sets/src/mage/cards/d/DeadeyeRigHauler.java b/Mage.Sets/src/mage/cards/d/DeadeyeRigHauler.java
index 2330ad10d25..96cba582c90 100644
--- a/Mage.Sets/src/mage/cards/d/DeadeyeRigHauler.java
+++ b/Mage.Sets/src/mage/cards/d/DeadeyeRigHauler.java
@@ -6,7 +6,7 @@ import mage.MageInt;
import mage.abilities.Ability;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.condition.common.RaidCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.ReturnToHandTargetEffect;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
@@ -30,7 +30,7 @@ public final class DeadeyeRigHauler extends CardImpl {
this.toughness = new MageInt(2);
// Raid— When Deadeye Rig-Hauler enters the battlefield, if you attacked with a creature this turn, you may return target creature to its owner's hand.
- Ability ability = new ConditionalTriggeredAbility(new EntersBattlefieldTriggeredAbility(new ReturnToHandTargetEffect(), true), RaidCondition.instance,
+ Ability ability = new ConditionalInterveningIfTriggeredAbility(new EntersBattlefieldTriggeredAbility(new ReturnToHandTargetEffect(), true), RaidCondition.instance,
"Raid — When {this} enters the battlefield, if you attacked with a creature this turn, you may return target creature to its owner's hand.");
ability.addTarget(new TargetCreaturePermanent());
this.addAbility(ability, new PlayerAttackedWatcher());
diff --git a/Mage.Sets/src/mage/cards/d/DeadeyeTormentor.java b/Mage.Sets/src/mage/cards/d/DeadeyeTormentor.java
index fabc2fb55f8..2a7df4690c6 100644
--- a/Mage.Sets/src/mage/cards/d/DeadeyeTormentor.java
+++ b/Mage.Sets/src/mage/cards/d/DeadeyeTormentor.java
@@ -6,7 +6,7 @@ import mage.MageInt;
import mage.abilities.Ability;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.condition.common.RaidCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.discard.DiscardTargetEffect;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
@@ -30,7 +30,7 @@ public final class DeadeyeTormentor extends CardImpl {
this.toughness = new MageInt(2);
// Raid — When Deadeye Tormentor enters the battlefield, if you attacked with a creature this turn, target opponent discards a card.
- Ability ability = new ConditionalTriggeredAbility(new EntersBattlefieldTriggeredAbility(new DiscardTargetEffect(1)), RaidCondition.instance,
+ Ability ability = new ConditionalInterveningIfTriggeredAbility(new EntersBattlefieldTriggeredAbility(new DiscardTargetEffect(1)), RaidCondition.instance,
"Raid — When {this} enters the battlefield, if you attacked with a creature this turn, target opponent discards a card.");
ability.addTarget(new TargetOpponent());
this.addAbility(ability, new PlayerAttackedWatcher());
diff --git a/Mage.Sets/src/mage/cards/d/DeadlyGrub.java b/Mage.Sets/src/mage/cards/d/DeadlyGrub.java
index 3bfc96c3664..ddf8afee2da 100644
--- a/Mage.Sets/src/mage/cards/d/DeadlyGrub.java
+++ b/Mage.Sets/src/mage/cards/d/DeadlyGrub.java
@@ -7,7 +7,7 @@ import mage.abilities.Ability;
import mage.abilities.common.DiesTriggeredAbility;
import mage.abilities.common.EntersBattlefieldAbility;
import mage.abilities.condition.common.LastTimeCounterRemovedCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.CreateTokenEffect;
import mage.abilities.effects.common.counter.AddCountersSourceEffect;
import mage.abilities.keyword.VanishingSacrificeAbility;
@@ -38,7 +38,7 @@ public final class DeadlyGrub extends CardImpl {
this.addAbility(new VanishingUpkeepAbility(3));
this.addAbility(new VanishingSacrificeAbility());
// When Deadly Grub dies, if it had no time counters on it, create a 6/1 green Insect creature token with shroud.
- this.addAbility(new ConditionalTriggeredAbility(new DiesTriggeredAbility(new CreateTokenEffect(new DeadlyGrubToken(), 1)),
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(new DiesTriggeredAbility(new CreateTokenEffect(new DeadlyGrubToken(), 1)),
LastTimeCounterRemovedCondition.instance, "When {this} dies, if it had no time counters on it, create a 6/1 green Insect creature token with shroud."));
}
diff --git a/Mage.Sets/src/mage/cards/d/DeathOfAThousandStings.java b/Mage.Sets/src/mage/cards/d/DeathOfAThousandStings.java
index 29217e9fc85..90113472edf 100644
--- a/Mage.Sets/src/mage/cards/d/DeathOfAThousandStings.java
+++ b/Mage.Sets/src/mage/cards/d/DeathOfAThousandStings.java
@@ -4,7 +4,7 @@ package mage.cards.d;
import mage.abilities.Ability;
import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
import mage.abilities.condition.common.MoreCardsInHandThanOpponentsCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.Effect;
import mage.abilities.effects.common.GainLifeEffect;
import mage.abilities.effects.common.LoseLifeTargetEffect;
@@ -37,7 +37,7 @@ public final class DeathOfAThousandStings extends CardImpl {
this.getSpellAbility().addEffect(effect);
// At the beginning of your upkeep, if you have more cards in hand than each opponent, you may return Death of a Thousand Stings from your graveyard to your hand.
- Ability ability = new ConditionalTriggeredAbility(
+ Ability ability = new ConditionalInterveningIfTriggeredAbility(
new BeginningOfUpkeepTriggeredAbility(Zone.GRAVEYARD,
new ReturnSourceFromGraveyardToHandEffect(),
TargetController.YOU, true),
diff --git a/Mage.Sets/src/mage/cards/d/DeathSpark.java b/Mage.Sets/src/mage/cards/d/DeathSpark.java
index ed911402690..fea3d9c3bf5 100644
--- a/Mage.Sets/src/mage/cards/d/DeathSpark.java
+++ b/Mage.Sets/src/mage/cards/d/DeathSpark.java
@@ -6,7 +6,7 @@ import mage.abilities.Ability;
import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
import mage.abilities.condition.Condition;
import mage.abilities.costs.mana.GenericManaCost;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.DamageTargetEffect;
import mage.abilities.effects.common.DoIfCostPaid;
import mage.abilities.effects.common.ReturnSourceFromGraveyardToHandEffect;
@@ -35,7 +35,7 @@ public final class DeathSpark extends CardImpl {
this.getSpellAbility().addTarget(new TargetAnyTarget());
// At the beginning of your upkeep, if Death Spark is in your graveyard with a creature card directly above it, you may pay {1}. If you do, return Death Spark to your hand.
- this.addAbility(new ConditionalTriggeredAbility(
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(
new BeginningOfUpkeepTriggeredAbility(
Zone.GRAVEYARD,
new DoIfCostPaid(new ReturnSourceFromGraveyardToHandEffect(), new GenericManaCost(1)),
diff --git a/Mage.Sets/src/mage/cards/d/DeathbringerRegent.java b/Mage.Sets/src/mage/cards/d/DeathbringerRegent.java
index dcfd3b4b74c..4aa59062ae6 100644
--- a/Mage.Sets/src/mage/cards/d/DeathbringerRegent.java
+++ b/Mage.Sets/src/mage/cards/d/DeathbringerRegent.java
@@ -7,7 +7,7 @@ import mage.abilities.Ability;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.condition.Condition;
import mage.abilities.condition.common.CastFromHandSourceCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.DestroyAllEffect;
import mage.abilities.keyword.FlyingAbility;
import mage.cards.CardImpl;
@@ -42,7 +42,7 @@ public final class DeathbringerRegent extends CardImpl {
this.addAbility(FlyingAbility.getInstance());
// When Deathbringer Regent enters the battlefield, if you cast it from your hand and there are five or more other creatures on the battlefield, destroy all other creatures.
- this.addAbility(new ConditionalTriggeredAbility(
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(
new EntersBattlefieldTriggeredAbility(new DestroyAllEffect(filter), false),
new DeathbringerRegentCondition(),
"When {this} enters the battlefield, if you cast it from your hand and there are five or more other creatures on the battlefield, destroy all other creatures."),
diff --git a/Mage.Sets/src/mage/cards/d/DeepSeaKraken.java b/Mage.Sets/src/mage/cards/d/DeepSeaKraken.java
index 5af9ee3b8d7..0d02f4049b5 100644
--- a/Mage.Sets/src/mage/cards/d/DeepSeaKraken.java
+++ b/Mage.Sets/src/mage/cards/d/DeepSeaKraken.java
@@ -6,7 +6,7 @@ import mage.MageInt;
import mage.abilities.common.SpellCastAllTriggeredAbility;
import mage.abilities.condition.common.SuspendedCondition;
import mage.abilities.costs.mana.ManaCostsImpl;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.counter.RemoveCounterSourceEffect;
import mage.abilities.keyword.CantBeBlockedSourceAbility;
import mage.abilities.keyword.SuspendAbility;
@@ -45,7 +45,7 @@ public final class DeepSeaKraken extends CardImpl {
// Suspend 9-{2}{U}
this.addAbility(new SuspendAbility(9, new ManaCostsImpl("{2}{U}"), this));
// Whenever an opponent casts a spell, if Deep-Sea Kraken is suspended, remove a time counter from it.
- this.addAbility(new ConditionalTriggeredAbility(
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(
new SpellCastAllTriggeredAbility(Zone.EXILED, new RemoveCounterSourceEffect(CounterType.TIME.createInstance()), filter, false, SetTargetPointer.NONE), SuspendedCondition.instance,
"Whenever an opponent casts a spell, if Deep-Sea Kraken is suspended, remove a time counter from it."));
}
diff --git a/Mage.Sets/src/mage/cards/d/DefenseOfTheHeart.java b/Mage.Sets/src/mage/cards/d/DefenseOfTheHeart.java
index a668098a145..f703fa21696 100644
--- a/Mage.Sets/src/mage/cards/d/DefenseOfTheHeart.java
+++ b/Mage.Sets/src/mage/cards/d/DefenseOfTheHeart.java
@@ -7,7 +7,7 @@ import mage.abilities.Ability;
import mage.abilities.TriggeredAbility;
import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
import mage.abilities.condition.Condition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.SacrificeSourceEffect;
import mage.abilities.effects.common.search.SearchLibraryPutInPlayEffect;
import mage.cards.CardImpl;
@@ -34,7 +34,7 @@ public final class DefenseOfTheHeart extends CardImpl {
TriggeredAbility ability = new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, new SacrificeSourceEffect(), TargetController.YOU, false);
ability.addEffect(new SearchLibraryPutInPlayEffect(new TargetCardInLibrary(0, 2, new FilterCreatureCard()), false, Outcome.PutLandInPlay));
DefenseOfTheHeartCondition contition = new DefenseOfTheHeartCondition();
- this.addAbility(new ConditionalTriggeredAbility(ability, contition, "At the beginning of your upkeep, if an opponent controls three or more creatures, sacrifice {this}, search your library for up to two creature cards, and put those cards onto the battlefield. Then shuffle your library"));
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, contition, "At the beginning of your upkeep, if an opponent controls three or more creatures, sacrifice {this}, search your library for up to two creature cards, and put those cards onto the battlefield. Then shuffle your library"));
}
diff --git a/Mage.Sets/src/mage/cards/d/DegaSanctuary.java b/Mage.Sets/src/mage/cards/d/DegaSanctuary.java
index 87bcf90913c..7c9e60a17a9 100644
--- a/Mage.Sets/src/mage/cards/d/DegaSanctuary.java
+++ b/Mage.Sets/src/mage/cards/d/DegaSanctuary.java
@@ -4,7 +4,7 @@ package mage.cards.d;
import java.util.UUID;
import mage.ObjectColor;
import mage.abilities.Ability;
-import mage.abilities.common.SanctuaryTriggeredAbility;
+import mage.abilities.common.SanctuaryInterveningIfTriggeredAbility;
import mage.abilities.effects.common.GainLifeEffect;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
@@ -20,7 +20,7 @@ public final class DegaSanctuary extends CardImpl {
super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{2}{W}");
// At the beginning of your upkeep, if you control a black or red permanent, you gain 2 life. If you control a black permanent and a red permanent, you gain 4 life instead.
- Ability ability = new SanctuaryTriggeredAbility(
+ Ability ability = new SanctuaryInterveningIfTriggeredAbility(
new GainLifeEffect(2), new GainLifeEffect(4), ObjectColor.BLACK, ObjectColor.RED,
"At the beginning of your upkeep, if you control a black or red permanent, you gain 2 life. "
+ "If you control a black permanent and a red permanent, you gain 4 life instead."
diff --git a/Mage.Sets/src/mage/cards/d/DemonicRising.java b/Mage.Sets/src/mage/cards/d/DemonicRising.java
index b1ba4ead5e3..b3547c47d52 100644
--- a/Mage.Sets/src/mage/cards/d/DemonicRising.java
+++ b/Mage.Sets/src/mage/cards/d/DemonicRising.java
@@ -5,7 +5,7 @@ import java.util.UUID;
import mage.abilities.TriggeredAbility;
import mage.abilities.common.BeginningOfYourEndStepTriggeredAbility;
import mage.abilities.condition.common.CreatureCountCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.CreateTokenEffect;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
@@ -25,7 +25,7 @@ public final class DemonicRising extends CardImpl {
// At the beginning of your end step, if you control exactly one creature, create a 5/5 black Demon creature token with flying.
TriggeredAbility ability = new BeginningOfYourEndStepTriggeredAbility(new CreateTokenEffect(new DemonToken()), false);
- this.addAbility(new ConditionalTriggeredAbility(ability, new CreatureCountCondition(1, TargetController.YOU), ruleText));
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, new CreatureCountCondition(1, TargetController.YOU), ruleText));
}
public DemonicRising(final DemonicRising card) {
diff --git a/Mage.Sets/src/mage/cards/d/DesertsHold.java b/Mage.Sets/src/mage/cards/d/DesertsHold.java
index 6232b4e97f7..eca577bfd75 100644
--- a/Mage.Sets/src/mage/cards/d/DesertsHold.java
+++ b/Mage.Sets/src/mage/cards/d/DesertsHold.java
@@ -8,7 +8,7 @@ import mage.abilities.common.SimpleStaticAbility;
import mage.abilities.condition.OrCondition;
import mage.abilities.condition.common.CardsInControllerGraveCondition;
import mage.abilities.condition.common.PermanentsOnTheBattlefieldCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.AttachEffect;
import mage.abilities.effects.common.GainLifeEffect;
import mage.abilities.effects.common.combat.CantBlockAttackActivateAttachedEffect;
@@ -51,7 +51,7 @@ public final class DesertsHold extends CardImpl {
this.addAbility(ability);
// When Desert's Hold enters the battlefield, if you control a Desert or there is a Desert card in your graveyard, you gain 3 life.
- this.addAbility(new ConditionalTriggeredAbility(
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(
new EntersBattlefieldTriggeredAbility(new GainLifeEffect(3)),
new OrCondition(
new PermanentsOnTheBattlefieldCondition(new FilterControlledPermanent(filterDesertPermanent)),
diff --git a/Mage.Sets/src/mage/cards/d/DimensionalBreach.java b/Mage.Sets/src/mage/cards/d/DimensionalBreach.java
index b66f823f33a..28131d4099e 100644
--- a/Mage.Sets/src/mage/cards/d/DimensionalBreach.java
+++ b/Mage.Sets/src/mage/cards/d/DimensionalBreach.java
@@ -6,7 +6,7 @@ import mage.MageObject;
import mage.abilities.Ability;
import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
import mage.abilities.condition.Condition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.OneShotEffect;
import mage.cards.Card;
import mage.cards.CardImpl;
@@ -34,7 +34,7 @@ public final class DimensionalBreach extends CardImpl {
// Exile all permanents. For as long as any of those cards remain exiled, at the beginning of each player's upkeep, that player returns one of the exiled cards he or she owns to the battlefield.
this.getSpellAbility().addEffect(new DimensionalBreachExileEffect());
- this.addAbility(new ConditionalTriggeredAbility(new BeginningOfUpkeepTriggeredAbility(Zone.ALL, new DimensionalBreachReturnFromExileEffect(), TargetController.ANY, false, true, null), new CardsStillInExileCondition(), null));
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(new BeginningOfUpkeepTriggeredAbility(Zone.ALL, new DimensionalBreachReturnFromExileEffect(), TargetController.ANY, false, true, null), new CardsStillInExileCondition(), null));
}
diff --git a/Mage.Sets/src/mage/cards/d/Domestication.java b/Mage.Sets/src/mage/cards/d/Domestication.java
index e0279047ed7..63f91fba200 100644
--- a/Mage.Sets/src/mage/cards/d/Domestication.java
+++ b/Mage.Sets/src/mage/cards/d/Domestication.java
@@ -7,7 +7,7 @@ import mage.abilities.TriggeredAbility;
import mage.abilities.common.BeginningOfYourEndStepTriggeredAbility;
import mage.abilities.common.SimpleStaticAbility;
import mage.abilities.condition.Condition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.AttachEffect;
import mage.abilities.effects.common.SacrificeSourceEffect;
import mage.abilities.effects.common.continuous.ControlEnchantedEffect;
@@ -46,7 +46,7 @@ public final class Domestication extends CardImpl {
// At the beginning of your end step, if enchanted creature's power is 4 or greater, sacrifice Domestication.
TriggeredAbility ability2 = new BeginningOfYourEndStepTriggeredAbility(new SacrificeSourceEffect(), false);
- this.addAbility(new ConditionalTriggeredAbility(ability2, new DomesticationCondition(), "At the beginning of your end step, if enchanted creature's power is 4 or greater, sacrifice {this}"));
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability2, new DomesticationCondition(), "At the beginning of your end step, if enchanted creature's power is 4 or greater, sacrifice {this}"));
}
public Domestication(final Domestication card) {
diff --git a/Mage.Sets/src/mage/cards/d/DominatorDrone.java b/Mage.Sets/src/mage/cards/d/DominatorDrone.java
index d1c8a863f87..3a06feb1f12 100644
--- a/Mage.Sets/src/mage/cards/d/DominatorDrone.java
+++ b/Mage.Sets/src/mage/cards/d/DominatorDrone.java
@@ -5,7 +5,7 @@ import mage.MageInt;
import mage.abilities.TriggeredAbility;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.condition.common.PermanentsOnTheBattlefieldCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.LoseLifeOpponentsEffect;
import mage.abilities.keyword.DevoidAbility;
import mage.abilities.keyword.IngestAbility;
@@ -47,7 +47,7 @@ public final class DominatorDrone extends CardImpl {
// When Dominator Drone enters the battlefield, if you control another colorless creature, each opponent loses 2 life.
TriggeredAbility triggeredAbility = new EntersBattlefieldTriggeredAbility(new LoseLifeOpponentsEffect(2));
- this.addAbility(new ConditionalTriggeredAbility(
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(
triggeredAbility,
new PermanentsOnTheBattlefieldCondition(filter),
"When {this} enters the battlefield, if you control another colorless creature, each opponent loses 2 life."));
diff --git a/Mage.Sets/src/mage/cards/d/DragonmasterOutcast.java b/Mage.Sets/src/mage/cards/d/DragonmasterOutcast.java
index 16eb9055456..9ae855120e0 100644
--- a/Mage.Sets/src/mage/cards/d/DragonmasterOutcast.java
+++ b/Mage.Sets/src/mage/cards/d/DragonmasterOutcast.java
@@ -6,7 +6,7 @@ import mage.MageInt;
import mage.abilities.TriggeredAbility;
import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
import mage.abilities.condition.common.PermanentsOnTheBattlefieldCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.CreateTokenEffect;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
@@ -40,7 +40,7 @@ public final class DragonmasterOutcast extends CardImpl {
// At the beginning of your upkeep, if you control six or more lands, create a 5/5 red Dragon creature token with flying.
TriggeredAbility ability = new BeginningOfUpkeepTriggeredAbility(new CreateTokenEffect(new DragonToken2(), 1), TargetController.YOU, false);
- this.addAbility(new ConditionalTriggeredAbility(ability, new PermanentsOnTheBattlefieldCondition(filter, ComparisonType.MORE_THAN, 5), "At the beginning of your upkeep, if you control six or more lands, create a 5/5 red Dragon creature token with flying."));
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, new PermanentsOnTheBattlefieldCondition(filter, ComparisonType.MORE_THAN, 5), "At the beginning of your upkeep, if you control six or more lands, create a 5/5 red Dragon creature token with flying."));
}
public DragonmasterOutcast(final DragonmasterOutcast card) {
diff --git a/Mage.Sets/src/mage/cards/d/DreadCacodemon.java b/Mage.Sets/src/mage/cards/d/DreadCacodemon.java
index 3a0f8eb6eba..9b8e1ad205d 100644
--- a/Mage.Sets/src/mage/cards/d/DreadCacodemon.java
+++ b/Mage.Sets/src/mage/cards/d/DreadCacodemon.java
@@ -6,7 +6,7 @@ import mage.MageInt;
import mage.abilities.TriggeredAbility;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.condition.common.CastFromHandSourceCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.DestroyAllEffect;
import mage.abilities.effects.common.TapAllEffect;
import mage.cards.CardImpl;
@@ -45,7 +45,7 @@ public final class DreadCacodemon extends CardImpl {
// if you cast it from your hand, destroy all creatures your opponents control, then tap all other creatures you control.
TriggeredAbility ability = new EntersBattlefieldTriggeredAbility(new DestroyAllEffect(opponentsCreatures, false));
ability.addEffect(new TapAllEffect(otherCreaturesYouControl));
- this.addAbility(new ConditionalTriggeredAbility(ability, CastFromHandSourceCondition.instance,
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, CastFromHandSourceCondition.instance,
"When {this} enters the battlefield, if you cast it from your hand, destroy all creatures your opponents control, then tap all other creatures you control."), new CastFromHandWatcher());
}
diff --git a/Mage.Sets/src/mage/cards/d/DreamcallerSiren.java b/Mage.Sets/src/mage/cards/d/DreamcallerSiren.java
index be11454a285..01d62c7422f 100644
--- a/Mage.Sets/src/mage/cards/d/DreamcallerSiren.java
+++ b/Mage.Sets/src/mage/cards/d/DreamcallerSiren.java
@@ -7,7 +7,7 @@ import mage.abilities.TriggeredAbility;
import mage.abilities.common.CanBlockOnlyFlyingAbility;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.condition.common.PermanentsOnTheBattlefieldCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.TapTargetEffect;
import mage.abilities.keyword.FlashAbility;
import mage.abilities.keyword.FlyingAbility;
@@ -56,7 +56,7 @@ public final class DreamcallerSiren extends CardImpl {
// When Dreamcaller Siren enters the battlefield, if you control another Pirate, tap up to two nonland permanents.
TriggeredAbility ability = new EntersBattlefieldTriggeredAbility(new TapTargetEffect());
ability.addTarget(new TargetNonlandPermanent(0, 2, false));
- this.addAbility(new ConditionalTriggeredAbility(ability,
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability,
new PermanentsOnTheBattlefieldCondition(filter),
"when {this} enters the battlefield, if you control another Pirate, tap up to two target nonland permanents."));
}
diff --git a/Mage.Sets/src/mage/cards/d/DreampodDruid.java b/Mage.Sets/src/mage/cards/d/DreampodDruid.java
index 21023d9b297..c500aafa138 100644
--- a/Mage.Sets/src/mage/cards/d/DreampodDruid.java
+++ b/Mage.Sets/src/mage/cards/d/DreampodDruid.java
@@ -5,7 +5,7 @@ import java.util.UUID;
import mage.MageInt;
import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
import mage.abilities.condition.common.EnchantedSourceCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.CreateTokenEffect;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
@@ -30,7 +30,7 @@ public final class DreampodDruid extends CardImpl {
this.toughness = new MageInt(2);
// At the beginning of each upkeep, if Dreampod Druid is enchanted, create a 1/1 green Saproling creature token.
- this.addAbility(new ConditionalTriggeredAbility(
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(
new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, new CreateTokenEffect(new SaprolingToken(), 1), TargetController.ANY, false, false),
new EnchantedSourceCondition(),
"At the beginning of each upkeep, if Dreampod Druid is enchanted, create a 1/1 green Saproling creature token."));
diff --git a/Mage.Sets/src/mage/cards/d/DreamspoilerWitches.java b/Mage.Sets/src/mage/cards/d/DreamspoilerWitches.java
index 3ba0e22b0d2..ac0012c0df8 100644
--- a/Mage.Sets/src/mage/cards/d/DreamspoilerWitches.java
+++ b/Mage.Sets/src/mage/cards/d/DreamspoilerWitches.java
@@ -1,7 +1,6 @@
package mage.cards.d;
-import java.util.UUID;
import mage.MageInt;
import mage.abilities.Ability;
import mage.abilities.common.SpellCastControllerTriggeredAbility;
@@ -12,10 +11,12 @@ import mage.abilities.keyword.FlyingAbility;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
-import mage.constants.SubType;
import mage.constants.Duration;
+import mage.constants.SubType;
import mage.target.common.TargetCreaturePermanent;
+import java.util.UUID;
+
/**
*
* @author LevelX2
diff --git a/Mage.Sets/src/mage/cards/d/DuergarHedgeMage.java b/Mage.Sets/src/mage/cards/d/DuergarHedgeMage.java
index 1084c128b8c..c1f81adb810 100644
--- a/Mage.Sets/src/mage/cards/d/DuergarHedgeMage.java
+++ b/Mage.Sets/src/mage/cards/d/DuergarHedgeMage.java
@@ -6,7 +6,7 @@ import mage.MageInt;
import mage.abilities.Ability;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.condition.common.PermanentsOnTheBattlefieldCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.DestroyTargetEffect;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
@@ -43,12 +43,12 @@ public final class DuergarHedgeMage extends CardImpl {
this.toughness = new MageInt(2);
// When Duergar Hedge-Mage enters the battlefield, if you control two or more Mountains, you may destroy target artifact.
- Ability ability = new ConditionalTriggeredAbility(new EntersBattlefieldTriggeredAbility(new DestroyTargetEffect(), true), new PermanentsOnTheBattlefieldCondition(filter, ComparisonType.MORE_THAN, 1), rule1);
+ Ability ability = new ConditionalInterveningIfTriggeredAbility(new EntersBattlefieldTriggeredAbility(new DestroyTargetEffect(), true), new PermanentsOnTheBattlefieldCondition(filter, ComparisonType.MORE_THAN, 1), rule1);
ability.addTarget(new TargetArtifactPermanent());
this.addAbility(ability);
// When Duergar Hedge-Mage enters the battlefield, if you control two or more Plains, you may destroy target enchantment.
- Ability ability2 = new ConditionalTriggeredAbility(new EntersBattlefieldTriggeredAbility(new DestroyTargetEffect(), true), new PermanentsOnTheBattlefieldCondition(filter2, ComparisonType.MORE_THAN, 1), rule2);
+ Ability ability2 = new ConditionalInterveningIfTriggeredAbility(new EntersBattlefieldTriggeredAbility(new DestroyTargetEffect(), true), new PermanentsOnTheBattlefieldCondition(filter2, ComparisonType.MORE_THAN, 1), rule2);
ability2.addTarget(new TargetEnchantmentPermanent());
this.addAbility(ability2);
diff --git a/Mage.Sets/src/mage/cards/d/DuneriderOutlaw.java b/Mage.Sets/src/mage/cards/d/DuneriderOutlaw.java
index 58c95ad22e3..5d5504b7e12 100644
--- a/Mage.Sets/src/mage/cards/d/DuneriderOutlaw.java
+++ b/Mage.Sets/src/mage/cards/d/DuneriderOutlaw.java
@@ -7,7 +7,7 @@ import mage.ObjectColor;
import mage.abilities.TriggeredAbility;
import mage.abilities.common.OnEventTriggeredAbility;
import mage.abilities.condition.common.DealtDamageToAnOpponent;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.counter.AddCountersSourceEffect;
import mage.abilities.keyword.ProtectionAbility;
import mage.cards.CardImpl;
@@ -39,7 +39,7 @@ public final class DuneriderOutlaw extends CardImpl {
this.addAbility(ProtectionAbility.from(ObjectColor.GREEN));
// At the beginning of each end step, if Dunerider Outlaw dealt damage to an opponent this turn, put a +1/+1 counter on it.
TriggeredAbility triggered = new OnEventTriggeredAbility(GameEvent.EventType.END_TURN_STEP_PRE, "beginning of each end step", true, new AddCountersSourceEffect(CounterType.P1P1.createInstance()));
- this.addAbility(new ConditionalTriggeredAbility(triggered, new DealtDamageToAnOpponent(), ruleText));
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(triggered, new DealtDamageToAnOpponent(), ruleText));
}
public DuneriderOutlaw(final DuneriderOutlaw card) {
diff --git a/Mage.Sets/src/mage/cards/d/DuskwatchRecruiter.java b/Mage.Sets/src/mage/cards/d/DuskwatchRecruiter.java
index 071348a81b7..c790d01d342 100644
--- a/Mage.Sets/src/mage/cards/d/DuskwatchRecruiter.java
+++ b/Mage.Sets/src/mage/cards/d/DuskwatchRecruiter.java
@@ -8,7 +8,7 @@ import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
import mage.abilities.common.SimpleActivatedAbility;
import mage.abilities.condition.common.NoSpellsWereCastLastTurnCondition;
import mage.abilities.costs.mana.ManaCostsImpl;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.LookLibraryAndPickControllerEffect;
import mage.abilities.effects.common.TransformSourceEffect;
import mage.abilities.keyword.TransformAbility;
@@ -49,7 +49,7 @@ public final class DuskwatchRecruiter extends CardImpl {
// At the beginning of each upkeep, if no spells were cast last turn, transform Duskwatch Recruiter.
this.addAbility(new TransformAbility());
TriggeredAbility ability = new BeginningOfUpkeepTriggeredAbility(new TransformSourceEffect(true), TargetController.ANY, false);
- this.addAbility(new ConditionalTriggeredAbility(ability, NoSpellsWereCastLastTurnCondition.instance, TransformAbility.NO_SPELLS_TRANSFORM_RULE));
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, NoSpellsWereCastLastTurnCondition.instance, TransformAbility.NO_SPELLS_TRANSFORM_RULE));
}
public DuskwatchRecruiter(final DuskwatchRecruiter card) {
diff --git a/Mage.Sets/src/mage/cards/d/DwynensElite.java b/Mage.Sets/src/mage/cards/d/DwynensElite.java
index a04728d187b..394a7071b5c 100644
--- a/Mage.Sets/src/mage/cards/d/DwynensElite.java
+++ b/Mage.Sets/src/mage/cards/d/DwynensElite.java
@@ -5,7 +5,7 @@ import mage.MageInt;
import mage.abilities.TriggeredAbility;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.condition.common.PermanentsOnTheBattlefieldCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.CreateTokenEffect;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
@@ -40,7 +40,7 @@ public final class DwynensElite extends CardImpl {
// When Dwynen's Elite enters the battlefield, if you control another Elf, create a 1/1 green Elf Warrior creature token.
TriggeredAbility triggeredAbility = new EntersBattlefieldTriggeredAbility(new CreateTokenEffect(new ElfToken()));
- this.addAbility(new ConditionalTriggeredAbility(
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(
triggeredAbility,
new PermanentsOnTheBattlefieldCondition(filter),
"When {this} enters the battlefield, if you control another Elf, create a 1/1 green Elf Warrior creature token."));
diff --git a/Mage.Sets/src/mage/cards/e/EarwigSquad.java b/Mage.Sets/src/mage/cards/e/EarwigSquad.java
index 43182df461f..41c6b6c225a 100644
--- a/Mage.Sets/src/mage/cards/e/EarwigSquad.java
+++ b/Mage.Sets/src/mage/cards/e/EarwigSquad.java
@@ -7,7 +7,7 @@ import mage.MageInt;
import mage.abilities.Ability;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.condition.common.ProwlCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.OneShotEffect;
import mage.abilities.keyword.ProwlAbility;
import mage.cards.Card;
@@ -42,7 +42,7 @@ public final class EarwigSquad extends CardImpl {
// When Earwig Squad enters the battlefield, if its prowl cost was paid, search target opponent's library for three cards and exile them. Then that player shuffles their library.
EntersBattlefieldTriggeredAbility ability = new EntersBattlefieldTriggeredAbility(new EarwigSquadEffect(), false);
ability.addTarget(new TargetOpponent());
- this.addAbility(new ConditionalTriggeredAbility(ability, ProwlCondition.instance,
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, ProwlCondition.instance,
"When {this} enters the battlefield, if its prowl cost was paid, search target opponent's library for three cards and exile them. Then that player shuffles their library."));
}
diff --git a/Mage.Sets/src/mage/cards/e/EdgarMarkov.java b/Mage.Sets/src/mage/cards/e/EdgarMarkov.java
index a5310fd5d94..19f8f9ce3a7 100644
--- a/Mage.Sets/src/mage/cards/e/EdgarMarkov.java
+++ b/Mage.Sets/src/mage/cards/e/EdgarMarkov.java
@@ -7,7 +7,7 @@ import mage.abilities.Ability;
import mage.abilities.common.AttacksTriggeredAbility;
import mage.abilities.common.SpellCastControllerTriggeredAbility;
import mage.abilities.condition.common.SourceOnBattlefieldOrCommandZoneCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.CreateTokenEffect;
import mage.abilities.effects.common.counter.AddCountersAllEffect;
import mage.abilities.keyword.FirstStrikeAbility;
@@ -49,7 +49,7 @@ public final class EdgarMarkov extends CardImpl {
this.toughness = new MageInt(4);
// Eminence - Whenever you cast another Vampire spell, if Edgar Markov is in the command zone or on the battlefield, create a 1/1 black Vampire creature token.
- Ability ability = new ConditionalTriggeredAbility(
+ Ability ability = new ConditionalInterveningIfTriggeredAbility(
new SpellCastControllerTriggeredAbility(Zone.ALL, new CreateTokenEffect(new EdgarMarkovToken()), filter2, false, false),
SourceOnBattlefieldOrCommandZoneCondition.instance,
"Eminence — Whenever you cast another Vampire spell, if {this} is in the command zone or on the battlefield, create a 1/1 black Vampire creature token.");
diff --git a/Mage.Sets/src/mage/cards/e/EmissaryOfTheSleepless.java b/Mage.Sets/src/mage/cards/e/EmissaryOfTheSleepless.java
index 20be9866b36..7871e1a48c3 100644
--- a/Mage.Sets/src/mage/cards/e/EmissaryOfTheSleepless.java
+++ b/Mage.Sets/src/mage/cards/e/EmissaryOfTheSleepless.java
@@ -6,7 +6,7 @@ import mage.MageInt;
import mage.abilities.TriggeredAbility;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.condition.common.MorbidCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.CreateTokenEffect;
import mage.abilities.keyword.FlyingAbility;
import mage.cards.CardImpl;
@@ -32,7 +32,7 @@ public final class EmissaryOfTheSleepless extends CardImpl {
// When Emissary of the Sleepless enters the battlefield, if a creature died this turn, create a 1/1 white Spirit creature token with flying.
TriggeredAbility ability = new EntersBattlefieldTriggeredAbility(new CreateTokenEffect(new SpiritWhiteToken()));
- this.addAbility(new ConditionalTriggeredAbility(ability, MorbidCondition.instance, "When {this} enters the battlefield, if a creature died this turn, create a 1/1 white Spirit creature token with flying."));
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, MorbidCondition.instance, "When {this} enters the battlefield, if a creature died this turn, create a 1/1 white Spirit creature token with flying."));
}
public EmissaryOfTheSleepless(final EmissaryOfTheSleepless card) {
diff --git a/Mage.Sets/src/mage/cards/e/EpharaGodOfThePolis.java b/Mage.Sets/src/mage/cards/e/EpharaGodOfThePolis.java
index 9fe3a744dda..01c303b520b 100644
--- a/Mage.Sets/src/mage/cards/e/EpharaGodOfThePolis.java
+++ b/Mage.Sets/src/mage/cards/e/EpharaGodOfThePolis.java
@@ -7,7 +7,7 @@ import mage.abilities.Ability;
import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
import mage.abilities.common.SimpleStaticAbility;
import mage.abilities.condition.Condition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.dynamicvalue.common.DevotionCount;
import mage.abilities.effects.Effect;
import mage.abilities.effects.common.DrawCardSourceControllerEffect;
@@ -36,12 +36,14 @@ public final class EpharaGodOfThePolis extends CardImpl {
// Indestructible
this.addAbility(IndestructibleAbility.getInstance());
+
// As long as your devotion to white and blue is less than seven, Ephara isn't a creature.
Effect effect = new LoseCreatureTypeSourceEffect(new DevotionCount(ColoredManaSymbol.W, ColoredManaSymbol.U), 7);
effect.setText("As long as your devotion to white and blue is less than seven, Ephara isn't a creature");
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, effect));
+
// At the beginning of each upkeep, if you had another creature enter the battlefield under your control last turn, draw a card.
- this.addAbility(new ConditionalTriggeredAbility(
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(
new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, new DrawCardSourceControllerEffect(1), TargetController.ANY, false, false),
HadAnotherCreatureEnterTheBattlefieldCondition.instance,
"At the beginning of each upkeep, if you had another creature enter the battlefield under your control last turn, draw a card."),
diff --git a/Mage.Sets/src/mage/cards/e/EpicStruggle.java b/Mage.Sets/src/mage/cards/e/EpicStruggle.java
index 31b01940d44..70eb7db01e1 100644
--- a/Mage.Sets/src/mage/cards/e/EpicStruggle.java
+++ b/Mage.Sets/src/mage/cards/e/EpicStruggle.java
@@ -4,7 +4,7 @@ package mage.cards.e;
import java.util.UUID;
import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
import mage.abilities.condition.common.PermanentsOnTheBattlefieldCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.WinGameSourceControllerEffect;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
@@ -25,7 +25,7 @@ public final class EpicStruggle extends CardImpl {
super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{2}{G}{G}");
// At the beginning of your upkeep, if you control twenty or more creatures, you win the game.
- this.addAbility(new ConditionalTriggeredAbility(
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(
new BeginningOfUpkeepTriggeredAbility(new WinGameSourceControllerEffect(), TargetController.YOU, false),
new PermanentsOnTheBattlefieldCondition(filter, ComparisonType.MORE_THAN, 19),
"At the beginning of your upkeep, if you control twenty or more creatures, you win the game."));
diff --git a/Mage.Sets/src/mage/cards/e/ErgRaiders.java b/Mage.Sets/src/mage/cards/e/ErgRaiders.java
index 8154fc30247..fbf0ea92e35 100644
--- a/Mage.Sets/src/mage/cards/e/ErgRaiders.java
+++ b/Mage.Sets/src/mage/cards/e/ErgRaiders.java
@@ -8,7 +8,7 @@ import mage.abilities.Ability;
import mage.abilities.TriggeredAbility;
import mage.abilities.common.BeginningOfEndStepTriggeredAbility;
import mage.abilities.condition.Condition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.DamageControllerEffect;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
@@ -34,7 +34,7 @@ public final class ErgRaiders extends CardImpl {
this.toughness = new MageInt(3);
// At the beginning of your end step, if Erg Raiders didn't attack this turn, Erg Raiders deals 2 damage to you unless it came under your control this turn.
- TriggeredAbility ability = new ConditionalTriggeredAbility(new BeginningOfEndStepTriggeredAbility(new DamageControllerEffect(2), TargetController.YOU, false),
+ TriggeredAbility ability = new ConditionalInterveningIfTriggeredAbility(new BeginningOfEndStepTriggeredAbility(new DamageControllerEffect(2), TargetController.YOU, false),
new ErgRaidersCondition(), "At the beginning of your end step, if {this} didn't attack this turn, {this} deals 2 damage to you unless it came under your control this turn.");
ability.addWatcher(new AttackedThisTurnWatcher());
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/e/ExcavationElephant.java b/Mage.Sets/src/mage/cards/e/ExcavationElephant.java
index c38416ecf2b..189d10c4064 100644
--- a/Mage.Sets/src/mage/cards/e/ExcavationElephant.java
+++ b/Mage.Sets/src/mage/cards/e/ExcavationElephant.java
@@ -6,7 +6,7 @@ import mage.MageInt;
import mage.abilities.TriggeredAbility;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.condition.common.KickedCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.ReturnToHandTargetEffect;
import mage.abilities.keyword.KickerAbility;
import mage.constants.SubType;
@@ -35,7 +35,7 @@ public final class ExcavationElephant extends CardImpl {
// When Excavation Elephant enters the battlefield, if it was kicked, return target artifact card from your graveyard to your hand.
TriggeredAbility ability = new EntersBattlefieldTriggeredAbility(new ReturnToHandTargetEffect(), false);
ability.addTarget(new TargetCardInYourGraveyard(new FilterArtifactCard("artifact card from your graveyard")));
- this.addAbility(new ConditionalTriggeredAbility(
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(
ability, KickedCondition.instance,
"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/ExileIntoDarkness.java b/Mage.Sets/src/mage/cards/e/ExileIntoDarkness.java
index a59e0c6180d..67b8a557cc7 100644
--- a/Mage.Sets/src/mage/cards/e/ExileIntoDarkness.java
+++ b/Mage.Sets/src/mage/cards/e/ExileIntoDarkness.java
@@ -5,7 +5,7 @@ import java.util.UUID;
import mage.abilities.Ability;
import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
import mage.abilities.condition.common.MoreCardsInHandThanOpponentsCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.ReturnSourceFromGraveyardToHandEffect;
import mage.abilities.effects.common.SacrificeEffect;
import mage.cards.CardImpl;
@@ -40,7 +40,7 @@ public final class ExileIntoDarkness extends CardImpl {
// At the beginning of your upkeep, if you have more cards in hand than each opponent, you may return Exile into Darkness from your graveyard to your hand.
- Ability ability = new ConditionalTriggeredAbility(
+ Ability ability = new ConditionalInterveningIfTriggeredAbility(
new BeginningOfUpkeepTriggeredAbility(Zone.GRAVEYARD,
new ReturnSourceFromGraveyardToHandEffect(),
TargetController.YOU, true),
diff --git a/Mage.Sets/src/mage/cards/e/ExtricatorOfSin.java b/Mage.Sets/src/mage/cards/e/ExtricatorOfSin.java
index f3c1c2f580a..1322d056ffa 100644
--- a/Mage.Sets/src/mage/cards/e/ExtricatorOfSin.java
+++ b/Mage.Sets/src/mage/cards/e/ExtricatorOfSin.java
@@ -7,7 +7,7 @@ import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.condition.common.DeliriumCondition;
import mage.abilities.costs.common.SacrificeTargetCost;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.CreateTokenEffect;
import mage.abilities.effects.common.DoIfCostPaid;
import mage.abilities.effects.common.TransformSourceEffect;
@@ -51,7 +51,7 @@ public final class ExtricatorOfSin extends CardImpl {
// Delirium — At the beginning of your upkeep, if there are four or more card types among cards in your graveyard, transform Extricator of Sin.
this.addAbility(new TransformAbility());
- this.addAbility(new ConditionalTriggeredAbility(
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(
new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, new TransformSourceEffect(true), TargetController.YOU, false),
DeliriumCondition.instance,
"Delirium — At the beginning of your upkeep, if there are four or more card types among cards in your graveyard, "
diff --git a/Mage.Sets/src/mage/cards/e/EyesOfTheWisent.java b/Mage.Sets/src/mage/cards/e/EyesOfTheWisent.java
index 991f00d20a3..ac2641cda72 100644
--- a/Mage.Sets/src/mage/cards/e/EyesOfTheWisent.java
+++ b/Mage.Sets/src/mage/cards/e/EyesOfTheWisent.java
@@ -1,7 +1,6 @@
package mage.cards.e;
-import java.util.UUID;
import mage.ObjectColor;
import mage.abilities.common.SpellCastOpponentTriggeredAbility;
import mage.abilities.condition.common.MyTurnCondition;
@@ -15,6 +14,8 @@ import mage.filter.FilterSpell;
import mage.filter.predicate.mageobject.ColorPredicate;
import mage.game.permanent.token.EyesOfTheWisentElementalToken;
+import java.util.UUID;
+
/**
*
* @author LevelX2
diff --git a/Mage.Sets/src/mage/cards/f/FaerieMiscreant.java b/Mage.Sets/src/mage/cards/f/FaerieMiscreant.java
index 836e8f32117..bedb618045e 100644
--- a/Mage.Sets/src/mage/cards/f/FaerieMiscreant.java
+++ b/Mage.Sets/src/mage/cards/f/FaerieMiscreant.java
@@ -5,7 +5,7 @@ import mage.MageInt;
import mage.abilities.Ability;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.condition.common.PermanentsOnTheBattlefieldCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.DrawCardSourceControllerEffect;
import mage.abilities.keyword.FlyingAbility;
import mage.cards.CardImpl;
@@ -45,7 +45,7 @@ public final class FaerieMiscreant extends CardImpl {
this.addAbility(FlyingAbility.getInstance());
// When Faerie Miscreant enters the battlefield, if you control another creature named Faerie Miscreant, draw a card.
- Ability ability = new ConditionalTriggeredAbility(
+ Ability ability = new ConditionalInterveningIfTriggeredAbility(
new EntersBattlefieldTriggeredAbility(new DrawCardSourceControllerEffect(1), false),
new PermanentsOnTheBattlefieldCondition(filter),
"When Faerie Miscreant enters the battlefield, if you control another creature named Faerie Miscreant, draw a card");
diff --git a/Mage.Sets/src/mage/cards/f/FaerieTauntings.java b/Mage.Sets/src/mage/cards/f/FaerieTauntings.java
index 79140b0b23e..2d27389b7e0 100644
--- a/Mage.Sets/src/mage/cards/f/FaerieTauntings.java
+++ b/Mage.Sets/src/mage/cards/f/FaerieTauntings.java
@@ -1,7 +1,6 @@
package mage.cards.f;
-import java.util.UUID;
import mage.abilities.common.SpellCastControllerTriggeredAbility;
import mage.abilities.condition.common.OnOpponentsTurnCondition;
import mage.abilities.decorator.ConditionalTriggeredAbility;
@@ -11,6 +10,8 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.SubType;
+import java.util.UUID;
+
/**
*
* @author Styxo
diff --git a/Mage.Sets/src/mage/cards/f/FairgroundsTrumpeter.java b/Mage.Sets/src/mage/cards/f/FairgroundsTrumpeter.java
index 6335cba663f..8a4959443ba 100644
--- a/Mage.Sets/src/mage/cards/f/FairgroundsTrumpeter.java
+++ b/Mage.Sets/src/mage/cards/f/FairgroundsTrumpeter.java
@@ -8,7 +8,7 @@ import mage.MageInt;
import mage.abilities.Ability;
import mage.abilities.common.BeginningOfEndStepTriggeredAbility;
import mage.abilities.condition.Condition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.counter.AddCountersSourceEffect;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
@@ -34,7 +34,7 @@ public final class FairgroundsTrumpeter extends CardImpl {
this.toughness = new MageInt(2);
// At the beginning of each end step, if a +1/+1 counter was put on a permanent under your control this turn, put a +1/+1 counter on Fairgrounds Trumpeter.
- this.addAbility(new ConditionalTriggeredAbility(new BeginningOfEndStepTriggeredAbility(
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(new BeginningOfEndStepTriggeredAbility(
new AddCountersSourceEffect(CounterType.P1P1.createInstance()),
TargetController.ANY, false), FairgroundsTrumpeterCondition.instance,
"At the beginning of each end step, if a +1/+1 counter was put on a permanent under your control this turn, put a +1/+1 counter on {this}."),
diff --git a/Mage.Sets/src/mage/cards/f/FaithfulSquire.java b/Mage.Sets/src/mage/cards/f/FaithfulSquire.java
index 00ad372609d..95c31d5eebb 100644
--- a/Mage.Sets/src/mage/cards/f/FaithfulSquire.java
+++ b/Mage.Sets/src/mage/cards/f/FaithfulSquire.java
@@ -37,7 +37,7 @@ import mage.abilities.common.SimpleActivatedAbility;
import mage.abilities.common.SpellCastControllerTriggeredAbility;
import mage.abilities.condition.common.SourceHasCounterCondition;
import mage.abilities.costs.common.RemoveCountersSourceCost;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.FlipSourceEffect;
import mage.abilities.effects.common.PreventDamageToTargetEffect;
import mage.abilities.effects.common.counter.AddCountersSourceEffect;
@@ -74,7 +74,7 @@ public final class FaithfulSquire extends CardImpl {
this.addAbility(new SpellCastControllerTriggeredAbility(new AddCountersSourceEffect(CounterType.KI.createInstance()), StaticFilters.SPIRIT_OR_ARCANE_CARD, true));
// At the beginning of the end step, if there are two or more ki counters on Faithful Squire, you may flip it
- this.addAbility(new ConditionalTriggeredAbility(
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(
new OnEventTriggeredAbility(GameEvent.EventType.END_TURN_STEP_PRE, "beginning of the end step", true, new FlipSourceEffect(new KaisoMemoryOfLoyaltyToken()), true),
new SourceHasCounterCondition(CounterType.KI, 2, Integer.MAX_VALUE),
"At the beginning of the end step, if there are two or more ki counters on {this}, you may flip it."));
diff --git a/Mage.Sets/src/mage/cards/f/FanaticOfXenagos.java b/Mage.Sets/src/mage/cards/f/FanaticOfXenagos.java
index 16a9193bab0..416a8c1c61b 100644
--- a/Mage.Sets/src/mage/cards/f/FanaticOfXenagos.java
+++ b/Mage.Sets/src/mage/cards/f/FanaticOfXenagos.java
@@ -6,7 +6,7 @@ import mage.MageInt;
import mage.abilities.TriggeredAbility;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.condition.common.TributeNotPaidCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.continuous.BoostSourceEffect;
import mage.abilities.effects.common.continuous.GainAbilitySourceEffect;
import mage.abilities.keyword.HasteAbility;
@@ -39,7 +39,7 @@ public final class FanaticOfXenagos extends CardImpl {
// When Fanatic of Xenagos enters the battlefield, if its tribute wasn't paid, it gets +1/+1 and gains haste until end of turn.
TriggeredAbility ability = new EntersBattlefieldTriggeredAbility(new BoostSourceEffect(1,1, Duration.EndOfTurn));
ability.addEffect( new GainAbilitySourceEffect(new GainAbilitySourceEffect(HasteAbility.getInstance(), Duration.EndOfTurn)));
- this.addAbility(new ConditionalTriggeredAbility(ability, TributeNotPaidCondition.instance,
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, TributeNotPaidCondition.instance,
"When {this} enters the battlefield, if its tribute wasn't paid, it gets +1/+1 and gains haste until end of turn."));
}
diff --git a/Mage.Sets/src/mage/cards/f/FathomFleetCaptain.java b/Mage.Sets/src/mage/cards/f/FathomFleetCaptain.java
index 2e223ba171a..d4f6bf40264 100644
--- a/Mage.Sets/src/mage/cards/f/FathomFleetCaptain.java
+++ b/Mage.Sets/src/mage/cards/f/FathomFleetCaptain.java
@@ -6,7 +6,7 @@ import mage.MageInt;
import mage.abilities.common.AttacksTriggeredAbility;
import mage.abilities.condition.common.PermanentsOnTheBattlefieldCondition;
import mage.abilities.costs.mana.GenericManaCost;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.CreateTokenEffect;
import mage.abilities.effects.common.DoIfCostPaid;
import mage.abilities.keyword.MenaceAbility;
@@ -47,7 +47,7 @@ public final class FathomFleetCaptain extends CardImpl {
this.addAbility(new MenaceAbility());
// Whenever Fathom Fleet Captain attacks, if you control another nontoken Pirate, you may pay {2}. If you do, creature a 2/2 black Pirate creature token with menace.
- this.addAbility(new ConditionalTriggeredAbility(
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(
new AttacksTriggeredAbility(new DoIfCostPaid(new CreateTokenEffect(new PirateToken()), new GenericManaCost(2)), false),
new PermanentsOnTheBattlefieldCondition(filter),
"Whenever {this} attacks, if you control another nontoken Pirate, you may pay {2}. If you do, create a 2/2 black Pirate creature token with menace"));
diff --git a/Mage.Sets/src/mage/cards/f/FeastOnTheFallen.java b/Mage.Sets/src/mage/cards/f/FeastOnTheFallen.java
index fce074f39fe..22d1800804d 100644
--- a/Mage.Sets/src/mage/cards/f/FeastOnTheFallen.java
+++ b/Mage.Sets/src/mage/cards/f/FeastOnTheFallen.java
@@ -5,7 +5,7 @@ import java.util.UUID;
import mage.abilities.Ability;
import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
import mage.abilities.condition.Condition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.counter.AddCountersTargetEffect;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
@@ -28,7 +28,7 @@ public final class FeastOnTheFallen extends CardImpl {
// At the beginning of each upkeep, if an opponent lost life last turn, put a +1/+1 counter on target creature you control.
- Ability ability = new ConditionalTriggeredAbility(
+ Ability ability = new ConditionalInterveningIfTriggeredAbility(
new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD,
new AddCountersTargetEffect(CounterType.P1P1.createInstance()),
TargetController.ANY, false),
diff --git a/Mage.Sets/src/mage/cards/f/FelidarSovereign.java b/Mage.Sets/src/mage/cards/f/FelidarSovereign.java
index fd4494c1fe4..6ba372102fa 100644
--- a/Mage.Sets/src/mage/cards/f/FelidarSovereign.java
+++ b/Mage.Sets/src/mage/cards/f/FelidarSovereign.java
@@ -7,7 +7,7 @@ import mage.abilities.Ability;
import mage.abilities.TriggeredAbility;
import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
import mage.abilities.condition.Condition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.WinGameSourceControllerEffect;
import mage.abilities.keyword.LifelinkAbility;
import mage.abilities.keyword.VigilanceAbility;
@@ -36,7 +36,7 @@ public final class FelidarSovereign extends CardImpl {
this.addAbility(LifelinkAbility.getInstance());
// At the beginning of your upkeep, if you have 40 or more life, you win the game.
TriggeredAbility ability = new BeginningOfUpkeepTriggeredAbility(new WinGameSourceControllerEffect(), TargetController.YOU, false);
- this.addAbility(new ConditionalTriggeredAbility(ability, new FortyOrMoreLifeCondition(), "At the beginning of your upkeep, if you have 40 or more life, you win the game."));
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, new FortyOrMoreLifeCondition(), "At the beginning of your upkeep, if you have 40 or more life, you win the game."));
}
diff --git a/Mage.Sets/src/mage/cards/f/FiremaneAngel.java b/Mage.Sets/src/mage/cards/f/FiremaneAngel.java
index 10b9debc7e2..7bb07a7f2b2 100644
--- a/Mage.Sets/src/mage/cards/f/FiremaneAngel.java
+++ b/Mage.Sets/src/mage/cards/f/FiremaneAngel.java
@@ -9,7 +9,7 @@ import mage.abilities.condition.Condition;
import mage.abilities.condition.common.IsStepCondition;
import mage.abilities.costs.mana.ManaCostsImpl;
import mage.abilities.decorator.ConditionalActivatedAbility;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.GainLifeEffect;
import mage.abilities.effects.common.ReturnSourceFromGraveyardToBattlefieldEffect;
import mage.abilities.keyword.FirstStrikeAbility;
@@ -41,7 +41,7 @@ public final class FiremaneAngel extends CardImpl {
// Firststrike
this.addAbility(FirstStrikeAbility.getInstance());
// At the beginning of your upkeep, if Firemane Angel is in your graveyard or on the battlefield, you may gain 1 life.
- Ability ability = new ConditionalTriggeredAbility(
+ Ability ability = new ConditionalInterveningIfTriggeredAbility(
new BeginningOfUpkeepTriggeredAbility(Zone.ALL, new GainLifeEffect(1), TargetController.YOU, true),
SourceOnBattlefieldOrGraveyardCondition.instance,
"At the beginning of your upkeep, if {this} is in your graveyard or on the battlefield, you may gain 1 life");
diff --git a/Mage.Sets/src/mage/cards/f/FirstResponse.java b/Mage.Sets/src/mage/cards/f/FirstResponse.java
index 05c8646d35f..bce1070dd7a 100644
--- a/Mage.Sets/src/mage/cards/f/FirstResponse.java
+++ b/Mage.Sets/src/mage/cards/f/FirstResponse.java
@@ -4,7 +4,7 @@ package mage.cards.f;
import java.util.UUID;
import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
import mage.abilities.condition.common.LiveLostLastTurnCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.CreateTokenEffect;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
@@ -22,7 +22,7 @@ public final class FirstResponse extends CardImpl {
super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{3}{W}");
// At the beginning of each upkeep, if you lost life last turn, create a 1/1 white Soldier creature token.
- this.addAbility(new ConditionalTriggeredAbility(
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(
new BeginningOfUpkeepTriggeredAbility(new CreateTokenEffect(new SoldierToken()), TargetController.ANY, false),
LiveLostLastTurnCondition.instance,
"At the beginning of each upkeep, if you lost life last turn, create a 1/1 white Soldier creature token."));
diff --git a/Mage.Sets/src/mage/cards/f/FlameWreathedPhoenix.java b/Mage.Sets/src/mage/cards/f/FlameWreathedPhoenix.java
index 2fac24a57aa..e3a72038456 100644
--- a/Mage.Sets/src/mage/cards/f/FlameWreathedPhoenix.java
+++ b/Mage.Sets/src/mage/cards/f/FlameWreathedPhoenix.java
@@ -7,7 +7,7 @@ import mage.abilities.TriggeredAbility;
import mage.abilities.common.DiesTriggeredAbility;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.condition.common.TributeNotPaidCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.Effect;
import mage.abilities.effects.common.ReturnToHandSourceEffect;
import mage.abilities.effects.common.continuous.GainAbilitySourceEffect;
@@ -41,7 +41,7 @@ public final class FlameWreathedPhoenix extends CardImpl {
TriggeredAbility ability = new EntersBattlefieldTriggeredAbility(new GainAbilitySourceEffect(HasteAbility.getInstance(), Duration.WhileOnBattlefield));
Effect effect = new GainAbilitySourceEffect(new DiesTriggeredAbility(new ReturnToHandSourceEffect()));
ability.addEffect(effect);
- this.addAbility(new ConditionalTriggeredAbility(ability, TributeNotPaidCondition.instance,
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, TributeNotPaidCondition.instance,
"When {this} enters the battlefield, if its tribute wasn't paid, it gains haste and \"When this creature dies, return it to its owner's hand.\""));
}
diff --git a/Mage.Sets/src/mage/cards/f/FlameheartWerewolf.java b/Mage.Sets/src/mage/cards/f/FlameheartWerewolf.java
index 177799f745e..05ebb2bfe67 100644
--- a/Mage.Sets/src/mage/cards/f/FlameheartWerewolf.java
+++ b/Mage.Sets/src/mage/cards/f/FlameheartWerewolf.java
@@ -7,7 +7,7 @@ import mage.abilities.TriggeredAbility;
import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
import mage.abilities.common.BlocksOrBecomesBlockedTriggeredAbility;
import mage.abilities.condition.common.TwoOrMoreSpellsWereCastLastTurnCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.DamageTargetEffect;
import mage.abilities.effects.common.TransformSourceEffect;
import mage.abilities.keyword.TransformAbility;
@@ -41,7 +41,7 @@ public final class FlameheartWerewolf extends CardImpl {
// At the beginning of each upkeep, if a player cast two or more spells last turn, transform Flameheart Werewolf.
TriggeredAbility ability = new BeginningOfUpkeepTriggeredAbility(new TransformSourceEffect(false), TargetController.ANY, false);
- this.addAbility(new ConditionalTriggeredAbility(ability, TwoOrMoreSpellsWereCastLastTurnCondition.instance, TransformAbility.TWO_OR_MORE_SPELLS_TRANSFORM_RULE));
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, TwoOrMoreSpellsWereCastLastTurnCondition.instance, TransformAbility.TWO_OR_MORE_SPELLS_TRANSFORM_RULE));
}
public FlameheartWerewolf(final FlameheartWerewolf card) {
diff --git a/Mage.Sets/src/mage/cards/f/FlamewakePhoenix.java b/Mage.Sets/src/mage/cards/f/FlamewakePhoenix.java
index 3f54c7c3645..5f806e65068 100644
--- a/Mage.Sets/src/mage/cards/f/FlamewakePhoenix.java
+++ b/Mage.Sets/src/mage/cards/f/FlamewakePhoenix.java
@@ -7,7 +7,7 @@ import mage.abilities.common.AttacksEachCombatStaticAbility;
import mage.abilities.common.BeginningOfCombatTriggeredAbility;
import mage.abilities.condition.common.FerociousCondition;
import mage.abilities.costs.mana.ManaCostsImpl;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.DoIfCostPaid;
import mage.abilities.effects.common.ReturnToBattlefieldUnderOwnerControlSourceEffect;
import mage.abilities.keyword.FlyingAbility;
@@ -39,7 +39,7 @@ public final class FlamewakePhoenix extends CardImpl {
this.addAbility(new AttacksEachCombatStaticAbility());
// Ferocious — At the beginning of combat on your turn, if you control a creature with power 4 or greater, you may pay {R}. If you do, return Flamewake Phoenix from your graveyard to the battlefield.
- this.addAbility(new ConditionalTriggeredAbility(
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(
new BeginningOfCombatTriggeredAbility(
Zone.GRAVEYARD,
new DoIfCostPaid(new ReturnToBattlefieldUnderOwnerControlSourceEffect(), new ManaCostsImpl("{R}")),
diff --git a/Mage.Sets/src/mage/cards/f/FoundryHornet.java b/Mage.Sets/src/mage/cards/f/FoundryHornet.java
index ec1acfbe3ed..dc9eb22f34f 100644
--- a/Mage.Sets/src/mage/cards/f/FoundryHornet.java
+++ b/Mage.Sets/src/mage/cards/f/FoundryHornet.java
@@ -6,7 +6,7 @@ import mage.MageInt;
import mage.abilities.TriggeredAbility;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.condition.common.PermanentsOnTheBattlefieldCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.continuous.BoostAllEffect;
import mage.abilities.keyword.FlyingAbility;
import mage.cards.CardImpl;
@@ -49,7 +49,7 @@ public final class FoundryHornet extends CardImpl {
// When Foundry Hornet enters the battlefield, if you control a creature with a +1/+1 counter on it, creatures your opponents control get -1/-1 until end of turn.
TriggeredAbility ability = new EntersBattlefieldTriggeredAbility(new BoostAllEffect(-1, -1, Duration.EndOfTurn, filterOpponent, false), false);
- this.addAbility(new ConditionalTriggeredAbility(ability, new PermanentsOnTheBattlefieldCondition(filter), rule));
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, new PermanentsOnTheBattlefieldCondition(filter), rule));
}
public FoundryHornet(final FoundryHornet card) {
diff --git a/Mage.Sets/src/mage/cards/f/FrontierSiege.java b/Mage.Sets/src/mage/cards/f/FrontierSiege.java
index b3a478cbca4..6674c0568f0 100644
--- a/Mage.Sets/src/mage/cards/f/FrontierSiege.java
+++ b/Mage.Sets/src/mage/cards/f/FrontierSiege.java
@@ -1,7 +1,6 @@
package mage.cards.f;
-import java.util.UUID;
import mage.Mana;
import mage.abilities.Ability;
import mage.abilities.TriggeredAbilityImpl;
@@ -10,8 +9,8 @@ import mage.abilities.common.EntersBattlefieldControlledTriggeredAbility;
import mage.abilities.condition.common.ModeChoiceSourceCondition;
import mage.abilities.decorator.ConditionalTriggeredAbility;
import mage.abilities.effects.OneShotEffect;
-import mage.abilities.effects.mana.AddManaToManaPoolSourceControllerEffect;
import mage.abilities.effects.common.ChooseModeEffect;
+import mage.abilities.effects.mana.AddManaToManaPoolSourceControllerEffect;
import mage.abilities.keyword.FlyingAbility;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
@@ -24,6 +23,8 @@ import mage.game.events.GameEvent;
import mage.game.permanent.Permanent;
import mage.target.common.TargetCreaturePermanent;
+import java.util.UUID;
+
/**
*
* @author LevelX2
diff --git a/Mage.Sets/src/mage/cards/f/FurnaceDragon.java b/Mage.Sets/src/mage/cards/f/FurnaceDragon.java
index 06b3ffee262..22303f5a720 100644
--- a/Mage.Sets/src/mage/cards/f/FurnaceDragon.java
+++ b/Mage.Sets/src/mage/cards/f/FurnaceDragon.java
@@ -5,7 +5,7 @@ import java.util.UUID;
import mage.MageInt;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.condition.common.CastFromHandSourceCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.ExileAllEffect;
import mage.abilities.keyword.AffinityForArtifactsAbility;
import mage.abilities.keyword.FlyingAbility;
@@ -42,7 +42,7 @@ public final class FurnaceDragon extends CardImpl {
this.addAbility(FlyingAbility.getInstance());
// When Furnace Dragon enters the battlefield, if you cast it from your hand, exile all artifacts.
- this.addAbility(new ConditionalTriggeredAbility(
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(
new EntersBattlefieldTriggeredAbility(new ExileAllEffect(filter), false),
CastFromHandSourceCondition.instance,
"When {this} enters the battlefield, if you cast it from your hand, exile all artifacts."),
diff --git a/Mage.Sets/src/mage/cards/g/GatekeeperOfMalakir.java b/Mage.Sets/src/mage/cards/g/GatekeeperOfMalakir.java
index 2bcaece617e..37c6769aa90 100644
--- a/Mage.Sets/src/mage/cards/g/GatekeeperOfMalakir.java
+++ b/Mage.Sets/src/mage/cards/g/GatekeeperOfMalakir.java
@@ -6,7 +6,7 @@ import mage.MageInt;
import mage.abilities.Ability;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.condition.common.KickedCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.SacrificeEffect;
import mage.abilities.keyword.KickerAbility;
import mage.cards.CardImpl;
@@ -44,7 +44,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 ConditionalTriggeredAbility(ability, KickedCondition.instance, "When {this} enters the battlefield, if it was kicked, target player sacrifices a creature.");
+ Ability conditionalAbility = new ConditionalInterveningIfTriggeredAbility(ability, KickedCondition.instance, "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/GatstafArsonists.java b/Mage.Sets/src/mage/cards/g/GatstafArsonists.java
index 3e851a3faa8..0f028bc29cb 100644
--- a/Mage.Sets/src/mage/cards/g/GatstafArsonists.java
+++ b/Mage.Sets/src/mage/cards/g/GatstafArsonists.java
@@ -6,7 +6,7 @@ import mage.MageInt;
import mage.abilities.TriggeredAbility;
import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
import mage.abilities.condition.common.NoSpellsWereCastLastTurnCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.TransformSourceEffect;
import mage.abilities.keyword.TransformAbility;
import mage.cards.CardImpl;
@@ -34,7 +34,7 @@ public final class GatstafArsonists extends CardImpl {
// At the beginning of each upkeep, if no spells were cast last turn, transform Gatstaf Arsonists.
this.addAbility(new TransformAbility());
TriggeredAbility ability = new BeginningOfUpkeepTriggeredAbility(new TransformSourceEffect(true), TargetController.ANY, false);
- this.addAbility(new ConditionalTriggeredAbility(ability, NoSpellsWereCastLastTurnCondition.instance, TransformAbility.NO_SPELLS_TRANSFORM_RULE));
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, NoSpellsWereCastLastTurnCondition.instance, TransformAbility.NO_SPELLS_TRANSFORM_RULE));
}
public GatstafArsonists(final GatstafArsonists card) {
diff --git a/Mage.Sets/src/mage/cards/g/GatstafHowler.java b/Mage.Sets/src/mage/cards/g/GatstafHowler.java
index 57137ce67a6..cbe3566139b 100644
--- a/Mage.Sets/src/mage/cards/g/GatstafHowler.java
+++ b/Mage.Sets/src/mage/cards/g/GatstafHowler.java
@@ -6,7 +6,7 @@ import mage.MageInt;
import mage.abilities.TriggeredAbility;
import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
import mage.abilities.condition.common.TwoOrMoreSpellsWereCastLastTurnCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.TransformSourceEffect;
import mage.abilities.keyword.IntimidateAbility;
import mage.abilities.keyword.TransformAbility;
@@ -37,7 +37,7 @@ public final class GatstafHowler extends CardImpl {
// At the beginning of each upkeep, if a player cast two or more spells last turn, transform Gatstaf Howler.
TriggeredAbility ability = new BeginningOfUpkeepTriggeredAbility(new TransformSourceEffect(false), TargetController.ANY, false);
- this.addAbility(new ConditionalTriggeredAbility(ability, TwoOrMoreSpellsWereCastLastTurnCondition.instance, TransformAbility.TWO_OR_MORE_SPELLS_TRANSFORM_RULE));
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, TwoOrMoreSpellsWereCastLastTurnCondition.instance, TransformAbility.TWO_OR_MORE_SPELLS_TRANSFORM_RULE));
}
public GatstafHowler(final GatstafHowler card) {
diff --git a/Mage.Sets/src/mage/cards/g/GatstafRavagers.java b/Mage.Sets/src/mage/cards/g/GatstafRavagers.java
index 9d881aab163..6c7473553d7 100644
--- a/Mage.Sets/src/mage/cards/g/GatstafRavagers.java
+++ b/Mage.Sets/src/mage/cards/g/GatstafRavagers.java
@@ -6,7 +6,7 @@ import mage.MageInt;
import mage.abilities.TriggeredAbility;
import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
import mage.abilities.condition.common.TwoOrMoreSpellsWereCastLastTurnCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.TransformSourceEffect;
import mage.abilities.keyword.MenaceAbility;
import mage.abilities.keyword.TransformAbility;
@@ -37,7 +37,7 @@ public final class GatstafRavagers extends CardImpl {
this.addAbility(new MenaceAbility());
// At the beginning of each upkeep, if a player cast two or more spells last turn, transform Gatstaf Ravagers.
TriggeredAbility ability = new BeginningOfUpkeepTriggeredAbility(new TransformSourceEffect(false), TargetController.ANY, false);
- this.addAbility(new ConditionalTriggeredAbility(ability, TwoOrMoreSpellsWereCastLastTurnCondition.instance, TransformAbility.TWO_OR_MORE_SPELLS_TRANSFORM_RULE));
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, TwoOrMoreSpellsWereCastLastTurnCondition.instance, TransformAbility.TWO_OR_MORE_SPELLS_TRANSFORM_RULE));
}
public GatstafRavagers(final GatstafRavagers card) {
diff --git a/Mage.Sets/src/mage/cards/g/GatstafShepherd.java b/Mage.Sets/src/mage/cards/g/GatstafShepherd.java
index b37569a194d..53cc66b9922 100644
--- a/Mage.Sets/src/mage/cards/g/GatstafShepherd.java
+++ b/Mage.Sets/src/mage/cards/g/GatstafShepherd.java
@@ -6,7 +6,7 @@ import mage.MageInt;
import mage.abilities.TriggeredAbility;
import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
import mage.abilities.condition.common.NoSpellsWereCastLastTurnCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.TransformSourceEffect;
import mage.abilities.keyword.TransformAbility;
import mage.cards.CardImpl;
@@ -34,7 +34,7 @@ public final class GatstafShepherd extends CardImpl {
// At the beginning of each upkeep, if no spells were cast last turn, transform Gatstaf Shepherd.
this.addAbility(new TransformAbility());
TriggeredAbility ability = new BeginningOfUpkeepTriggeredAbility(new TransformSourceEffect(true), TargetController.ANY, false);
- this.addAbility(new ConditionalTriggeredAbility(ability, NoSpellsWereCastLastTurnCondition.instance, TransformAbility.NO_SPELLS_TRANSFORM_RULE));
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, NoSpellsWereCastLastTurnCondition.instance, TransformAbility.NO_SPELLS_TRANSFORM_RULE));
}
public GatstafShepherd(final GatstafShepherd card) {
diff --git a/Mage.Sets/src/mage/cards/g/GeierReachBandit.java b/Mage.Sets/src/mage/cards/g/GeierReachBandit.java
index 4c3cc0ab09c..d1d7d42b1a9 100644
--- a/Mage.Sets/src/mage/cards/g/GeierReachBandit.java
+++ b/Mage.Sets/src/mage/cards/g/GeierReachBandit.java
@@ -6,7 +6,7 @@ import mage.MageInt;
import mage.abilities.TriggeredAbility;
import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
import mage.abilities.condition.common.NoSpellsWereCastLastTurnCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.TransformSourceEffect;
import mage.abilities.keyword.HasteAbility;
import mage.abilities.keyword.TransformAbility;
@@ -40,7 +40,7 @@ public final class GeierReachBandit extends CardImpl {
// At the beginning of each upkeep, if no spells were cast last turn, transform Geier Reach Bandit.
this.addAbility(new TransformAbility());
TriggeredAbility ability = new BeginningOfUpkeepTriggeredAbility(new TransformSourceEffect(true), TargetController.ANY, false);
- this.addAbility(new ConditionalTriggeredAbility(ability, NoSpellsWereCastLastTurnCondition.instance, TransformAbility.NO_SPELLS_TRANSFORM_RULE));
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, NoSpellsWereCastLastTurnCondition.instance, TransformAbility.NO_SPELLS_TRANSFORM_RULE));
}
public GeierReachBandit(final GeierReachBandit card) {
diff --git a/Mage.Sets/src/mage/cards/g/GenesisChamber.java b/Mage.Sets/src/mage/cards/g/GenesisChamber.java
index 5dfc6c23585..709aa2b5237 100644
--- a/Mage.Sets/src/mage/cards/g/GenesisChamber.java
+++ b/Mage.Sets/src/mage/cards/g/GenesisChamber.java
@@ -6,7 +6,7 @@ import mage.abilities.Ability;
import mage.abilities.TriggeredAbility;
import mage.abilities.common.EntersBattlefieldAllTriggeredAbility;
import mage.abilities.condition.Condition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.OneShotEffect;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
@@ -38,7 +38,7 @@ public final class GenesisChamber extends CardImpl {
// Whenever a nontoken creature enters the battlefield, if Genesis Chamber is untapped, that creature's controller creates a 1/1 colorless Myr artifact creature token.
TriggeredAbility ability = new EntersBattlefieldAllTriggeredAbility(Zone.BATTLEFIELD, new GenesisChamberEffect(), filter, false, SetTargetPointer.PERMANENT, "");
- this.addAbility(new ConditionalTriggeredAbility(ability,
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability,
SourceUntappedCondition.instance,
"Whenever a nontoken creature enters the battlefield, "
+ "if {this} is untapped, "
diff --git a/Mage.Sets/src/mage/cards/g/GhirapurOrrery.java b/Mage.Sets/src/mage/cards/g/GhirapurOrrery.java
index b7deec05374..c3cb70df3a2 100644
--- a/Mage.Sets/src/mage/cards/g/GhirapurOrrery.java
+++ b/Mage.Sets/src/mage/cards/g/GhirapurOrrery.java
@@ -6,7 +6,7 @@ import mage.abilities.Ability;
import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
import mage.abilities.common.SimpleStaticAbility;
import mage.abilities.condition.IntCompareCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.DrawCardTargetEffect;
import mage.abilities.effects.common.continuous.PlayAdditionalLandsAllEffect;
import mage.cards.CardImpl;
@@ -31,7 +31,7 @@ public final class GhirapurOrrery extends CardImpl {
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new PlayAdditionalLandsAllEffect()));
// At the beginning of each player's upkeep, if that player has no cards in hand, that player draws three cards.
- this.addAbility(new ConditionalTriggeredAbility(
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(
new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, new DrawCardTargetEffect(3), TargetController.ANY, false, true),
new GhirapurOrreryCondition(),
"At the beginning of each player's upkeep, if that player has no cards in hand, that player draws three cards."));
diff --git a/Mage.Sets/src/mage/cards/g/GhituChronicler.java b/Mage.Sets/src/mage/cards/g/GhituChronicler.java
index 0b76adf9448..a879a8ac588 100644
--- a/Mage.Sets/src/mage/cards/g/GhituChronicler.java
+++ b/Mage.Sets/src/mage/cards/g/GhituChronicler.java
@@ -6,7 +6,7 @@ import mage.MageInt;
import mage.abilities.TriggeredAbility;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.condition.common.KickedCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.ReturnToHandTargetEffect;
import mage.abilities.keyword.KickerAbility;
import mage.constants.SubType;
@@ -36,7 +36,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.
TriggeredAbility ability = new EntersBattlefieldTriggeredAbility(new ReturnToHandTargetEffect(), false);
ability.addTarget(new TargetCardInYourGraveyard(new FilterInstantOrSorceryCard("instant or sorcery card from your graveyard")));
- this.addAbility(new ConditionalTriggeredAbility(
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(
ability, KickedCondition.instance,
"When {this} enters the battlefield, if it was kicked, "
+ "return target instant or sorcery card from your graveyard to your hand."
diff --git a/Mage.Sets/src/mage/cards/g/GhituJourneymage.java b/Mage.Sets/src/mage/cards/g/GhituJourneymage.java
index 0c106572618..2c7c677c62f 100644
--- a/Mage.Sets/src/mage/cards/g/GhituJourneymage.java
+++ b/Mage.Sets/src/mage/cards/g/GhituJourneymage.java
@@ -6,7 +6,7 @@ import mage.MageInt;
import mage.abilities.TriggeredAbility;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.condition.common.PermanentsOnTheBattlefieldCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.DamagePlayersEffect;
import mage.constants.SubType;
import mage.cards.CardImpl;
@@ -40,7 +40,7 @@ public final class GhituJourneymage extends CardImpl {
// When Ghitu Journeymage enters the battlefield, if you control another Wizard, Ghitu Journeymage deals 2 damage to each opponent.
TriggeredAbility triggeredAbility = new EntersBattlefieldTriggeredAbility(new DamagePlayersEffect(2, TargetController.OPPONENT));
- this.addAbility(new ConditionalTriggeredAbility(
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(
triggeredAbility,
new PermanentsOnTheBattlefieldCondition(filter),
"When {this} enters the battlefield, if you control another Wizard, {this} deals 2 damage to each opponent."
diff --git a/Mage.Sets/src/mage/cards/g/GibberingFiend.java b/Mage.Sets/src/mage/cards/g/GibberingFiend.java
index 3f035187496..024fd71faa5 100644
--- a/Mage.Sets/src/mage/cards/g/GibberingFiend.java
+++ b/Mage.Sets/src/mage/cards/g/GibberingFiend.java
@@ -6,7 +6,7 @@ import mage.MageInt;
import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.condition.common.DeliriumCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.DamagePlayersEffect;
import mage.abilities.effects.common.DamageTargetEffect;
import mage.cards.CardImpl;
@@ -33,7 +33,7 @@ public final class GibberingFiend extends CardImpl {
// Delirium — At the beginning of each opponent's upkeep, if there are four or more card types among cards in your graveyard,
// Gibbering Fiend deals 1 damage to that player.
- this.addAbility(new ConditionalTriggeredAbility(
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(
new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, new DamageTargetEffect(1), TargetController.OPPONENT, false, true),
DeliriumCondition.instance,
"Delirium — At the beginning of each opponent's upkeep, if there are four or more card types among cards in your graveyard, "
diff --git a/Mage.Sets/src/mage/cards/g/Gigantiform.java b/Mage.Sets/src/mage/cards/g/Gigantiform.java
index 879a0513acc..35c5f5742da 100644
--- a/Mage.Sets/src/mage/cards/g/Gigantiform.java
+++ b/Mage.Sets/src/mage/cards/g/Gigantiform.java
@@ -7,7 +7,7 @@ import mage.abilities.StaticAbility;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.common.SimpleStaticAbility;
import mage.abilities.condition.common.KickedCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.OneShotEffect;
import mage.abilities.effects.common.AttachEffect;
import mage.abilities.effects.common.continuous.GainAbilityAttachedEffect;
@@ -49,7 +49,7 @@ public final class Gigantiform extends CardImpl {
// Enchanted creature has base power and toughness 8/8 and has trample.
this.addAbility(new GigantiformAbility());
// 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 ConditionalTriggeredAbility(
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(
new EntersBattlefieldTriggeredAbility(new GigantiformEffect(), true),
KickedCondition.instance,
"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 your library."));
diff --git a/Mage.Sets/src/mage/cards/g/GildedCerodon.java b/Mage.Sets/src/mage/cards/g/GildedCerodon.java
index 396d5681b24..c2abfda6960 100644
--- a/Mage.Sets/src/mage/cards/g/GildedCerodon.java
+++ b/Mage.Sets/src/mage/cards/g/GildedCerodon.java
@@ -6,7 +6,7 @@ import mage.MageInt;
import mage.abilities.Ability;
import mage.abilities.common.AttacksTriggeredAbility;
import mage.abilities.condition.Condition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.combat.CantBlockTargetEffect;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
@@ -37,7 +37,7 @@ public final class GildedCerodon extends CardImpl {
this.toughness = new MageInt(4);
// Whenever Gilded Cerodon attacks, if you control a Desert or there is a Desert card in your graveyard, target creature can't block this turn.
- Ability ability = new ConditionalTriggeredAbility(new AttacksTriggeredAbility(new CantBlockTargetEffect(Duration.EndOfTurn), false), new GildedCerodonCondition(), rule);
+ Ability ability = new ConditionalInterveningIfTriggeredAbility(new AttacksTriggeredAbility(new CantBlockTargetEffect(Duration.EndOfTurn), false), new GildedCerodonCondition(), rule);
ability.addTarget(new TargetCreaturePermanent());
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/g/GiselaTheBrokenBlade.java b/Mage.Sets/src/mage/cards/g/GiselaTheBrokenBlade.java
index ee08affcbf3..20d3a59a600 100644
--- a/Mage.Sets/src/mage/cards/g/GiselaTheBrokenBlade.java
+++ b/Mage.Sets/src/mage/cards/g/GiselaTheBrokenBlade.java
@@ -5,7 +5,7 @@ import java.util.UUID;
import mage.MageInt;
import mage.abilities.common.BeginningOfEndStepTriggeredAbility;
import mage.abilities.condition.common.MeldCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.MeldEffect;
import mage.abilities.keyword.FirstStrikeAbility;
import mage.abilities.keyword.FlyingAbility;
@@ -43,7 +43,7 @@ public final class GiselaTheBrokenBlade extends CardImpl {
this.addAbility(LifelinkAbility.getInstance());
// At the beginning of your end step, if you both own and control Gisela, the Broken Blade and a creature named Bruna, the Fading Light, exile them, then meld them into Brisela, Voice of Nightmares.
- this.addAbility(new ConditionalTriggeredAbility(
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(
new BeginningOfEndStepTriggeredAbility(
new MeldEffect("Bruna, the Fading Light",
new BriselaVoiceOfNightmares(ownerId,
diff --git a/Mage.Sets/src/mage/cards/g/GlenElendraPranksters.java b/Mage.Sets/src/mage/cards/g/GlenElendraPranksters.java
index 1da7b04ccc1..e91b8115b69 100644
--- a/Mage.Sets/src/mage/cards/g/GlenElendraPranksters.java
+++ b/Mage.Sets/src/mage/cards/g/GlenElendraPranksters.java
@@ -1,7 +1,6 @@
package mage.cards.g;
-import java.util.UUID;
import mage.MageInt;
import mage.abilities.Ability;
import mage.abilities.common.SpellCastControllerTriggeredAbility;
@@ -15,6 +14,8 @@ import mage.constants.CardType;
import mage.constants.SubType;
import mage.target.common.TargetControlledCreaturePermanent;
+import java.util.UUID;
+
/**
*
* @author Markedagain
diff --git a/Mage.Sets/src/mage/cards/g/Glimmervoid.java b/Mage.Sets/src/mage/cards/g/Glimmervoid.java
index a15f52778e7..494bd30195d 100644
--- a/Mage.Sets/src/mage/cards/g/Glimmervoid.java
+++ b/Mage.Sets/src/mage/cards/g/Glimmervoid.java
@@ -5,7 +5,7 @@ import java.util.UUID;
import mage.abilities.TriggeredAbility;
import mage.abilities.common.OnEventTriggeredAbility;
import mage.abilities.condition.common.PermanentsOnTheBattlefieldCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.SacrificeSourceEffect;
import mage.abilities.mana.AnyColorManaAbility;
import mage.cards.CardImpl;
@@ -26,7 +26,7 @@ public final class Glimmervoid extends CardImpl {
// At the beginning of the end step, if you control no artifacts, sacrifice Glimmervoid.
TriggeredAbility triggered = new OnEventTriggeredAbility(GameEvent.EventType.END_TURN_STEP_PRE, "beginning of the end step", true, new SacrificeSourceEffect());
- this.addAbility(new ConditionalTriggeredAbility(triggered, new PermanentsOnTheBattlefieldCondition(new FilterControlledArtifactPermanent(), ComparisonType.FEWER_THAN, 1),
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(triggered, new PermanentsOnTheBattlefieldCondition(new FilterControlledArtifactPermanent(), ComparisonType.FEWER_THAN, 1),
"At the beginning of the end step, if you control no artifacts, sacrifice {this}."));
// {tap}: Add one mana of any color.
this.addAbility(new AnyColorManaAbility());
diff --git a/Mage.Sets/src/mage/cards/g/GoblinBushwhacker.java b/Mage.Sets/src/mage/cards/g/GoblinBushwhacker.java
index 8bffdf7a7e2..1bf09ba7a5a 100644
--- a/Mage.Sets/src/mage/cards/g/GoblinBushwhacker.java
+++ b/Mage.Sets/src/mage/cards/g/GoblinBushwhacker.java
@@ -5,7 +5,7 @@ import java.util.UUID;
import mage.MageInt;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.condition.common.KickedCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.continuous.BoostControlledEffect;
import mage.abilities.effects.common.continuous.GainAbilityControlledEffect;
import mage.abilities.keyword.HasteAbility;
@@ -41,7 +41,7 @@ public final class GoblinBushwhacker extends CardImpl {
Duration.EndOfTurn,
StaticFilters.FILTER_CONTROLLED_CREATURES
));
- this.addAbility(new ConditionalTriggeredAbility(
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(
ability,
KickedCondition.instance,
"When {this} enters the battlefield, "
diff --git a/Mage.Sets/src/mage/cards/g/GoblinRuinblaster.java b/Mage.Sets/src/mage/cards/g/GoblinRuinblaster.java
index c844724d524..5a55da8c4ea 100644
--- a/Mage.Sets/src/mage/cards/g/GoblinRuinblaster.java
+++ b/Mage.Sets/src/mage/cards/g/GoblinRuinblaster.java
@@ -6,7 +6,7 @@ import java.util.UUID;
import mage.MageInt;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.condition.common.KickedCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.DestroyTargetEffect;
import mage.abilities.keyword.HasteAbility;
import mage.abilities.keyword.KickerAbility;
@@ -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 ConditionalTriggeredAbility(ability, KickedCondition.instance, "When {this} enters the battlefield, if it was kicked, destroy target nonbasic land."));
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, KickedCondition.instance, "When {this} enters the battlefield, if it was kicked, destroy target nonbasic land."));
}
public GoblinRuinblaster(final GoblinRuinblaster card) {
diff --git a/Mage.Sets/src/mage/cards/g/GrafRats.java b/Mage.Sets/src/mage/cards/g/GrafRats.java
index 477eed7ee2d..339fa36f5b2 100644
--- a/Mage.Sets/src/mage/cards/g/GrafRats.java
+++ b/Mage.Sets/src/mage/cards/g/GrafRats.java
@@ -5,7 +5,7 @@ import java.util.UUID;
import mage.MageInt;
import mage.abilities.common.BeginningOfCombatTriggeredAbility;
import mage.abilities.condition.common.MeldCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.MeldEffect;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
@@ -28,8 +28,7 @@ public final class GrafRats extends CardImpl {
this.toughness = new MageInt(1);
// At the beginning of combat on your turn, if you both own and control Graf Rats and a creature named Midnight Scavengers, exile them, then meld them into Chittering Host.
-
- this.addAbility(new ConditionalTriggeredAbility(
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(
new BeginningOfCombatTriggeredAbility(new MeldEffect("Midnight Scavengers", new ChitteringHost(ownerId, new CardSetInfo("Chittering Host", "EMN", "96", Rarity.COMMON))), TargetController.YOU, false),
new MeldCondition("Midnight Scavengers"),
"At the beginning of combat on your turn, if you both own and control {this} and a creature named Midnight Scavengers, exile them, then meld them into Chittering Host."));
diff --git a/Mage.Sets/src/mage/cards/g/GraveScrabbler.java b/Mage.Sets/src/mage/cards/g/GraveScrabbler.java
index 2174464a069..a51594e9a77 100644
--- a/Mage.Sets/src/mage/cards/g/GraveScrabbler.java
+++ b/Mage.Sets/src/mage/cards/g/GraveScrabbler.java
@@ -5,7 +5,7 @@ import mage.MageInt;
import mage.abilities.TriggeredAbility;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.costs.mana.ManaCostsImpl;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.ReturnToHandTargetEffect;
import mage.abilities.keyword.MadnessAbility;
import mage.cards.Card;
@@ -32,7 +32,7 @@ public final class GraveScrabbler extends CardImpl {
//you may return target creature card from a graveyard to its owner's hand.
TriggeredAbility ability = new EntersBattlefieldTriggeredAbility(new ReturnToHandTargetEffect(), true);
ability.addTarget(new TargetCardInGraveyard(new FilterCreatureCard("creature card in a graveyard")));
- this.addAbility(new ConditionalTriggeredAbility(ability, MadnessAbility.GetCondition(),
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, MadnessAbility.GetCondition(),
"When {this} enters the battlefield, if its madness cost was paid, you may return target creature card from a graveyard to its owner's hand."));
}
diff --git a/Mage.Sets/src/mage/cards/g/GreenerPastures.java b/Mage.Sets/src/mage/cards/g/GreenerPastures.java
index b90d25158ff..c3c80e67f22 100644
--- a/Mage.Sets/src/mage/cards/g/GreenerPastures.java
+++ b/Mage.Sets/src/mage/cards/g/GreenerPastures.java
@@ -5,7 +5,7 @@ import java.util.UUID;
import mage.abilities.Ability;
import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
import mage.abilities.condition.Condition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.CreateTokenTargetEffect;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
@@ -27,7 +27,7 @@ public final class GreenerPastures extends CardImpl {
super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{2}{G}");
// At the beginning of each player's upkeep, if that player controls more lands than each other player, the player creates a 1/1 green Saproling creature token.
- this.addAbility(new ConditionalTriggeredAbility(
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(
new BeginningOfUpkeepTriggeredAbility(
Zone.BATTLEFIELD,
new CreateTokenTargetEffect(new SaprolingToken()),
diff --git a/Mage.Sets/src/mage/cards/g/GrizzledOutcasts.java b/Mage.Sets/src/mage/cards/g/GrizzledOutcasts.java
index eeeb8362ec0..d5093a40a92 100644
--- a/Mage.Sets/src/mage/cards/g/GrizzledOutcasts.java
+++ b/Mage.Sets/src/mage/cards/g/GrizzledOutcasts.java
@@ -6,7 +6,7 @@ import mage.MageInt;
import mage.abilities.TriggeredAbility;
import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
import mage.abilities.condition.common.NoSpellsWereCastLastTurnCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.TransformSourceEffect;
import mage.abilities.keyword.TransformAbility;
import mage.cards.CardImpl;
@@ -35,7 +35,7 @@ public final class GrizzledOutcasts extends CardImpl {
// At the beginning of each upkeep, if no spells were cast last turn, transform Grizzled Outcasts.
this.addAbility(new TransformAbility());
TriggeredAbility ability = new BeginningOfUpkeepTriggeredAbility(new TransformSourceEffect(true), TargetController.ANY, false);
- this.addAbility(new ConditionalTriggeredAbility(ability, NoSpellsWereCastLastTurnCondition.instance, TransformAbility.NO_SPELLS_TRANSFORM_RULE));
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, NoSpellsWereCastLastTurnCondition.instance, TransformAbility.NO_SPELLS_TRANSFORM_RULE));
}
public GrizzledOutcasts(final GrizzledOutcasts card) {
diff --git a/Mage.Sets/src/mage/cards/g/GrowingRitesOfItlimoc.java b/Mage.Sets/src/mage/cards/g/GrowingRitesOfItlimoc.java
index c6252bf309a..b749f1410e0 100644
--- a/Mage.Sets/src/mage/cards/g/GrowingRitesOfItlimoc.java
+++ b/Mage.Sets/src/mage/cards/g/GrowingRitesOfItlimoc.java
@@ -6,7 +6,7 @@ import java.util.UUID;
import mage.abilities.common.BeginningOfEndStepTriggeredAbility;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.condition.common.PermanentsOnTheBattlefieldCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.LookLibraryAndPickControllerEffect;
import mage.abilities.effects.common.TransformSourceEffect;
import mage.abilities.keyword.TransformAbility;
@@ -49,7 +49,7 @@ public final class GrowingRitesOfItlimoc extends CardImpl {
// At the beginning of your end step, if you control four or more creatures, transform Growing Rites of Itlimoc.
this.addAbility(new TransformAbility());
- this.addAbility(new ConditionalTriggeredAbility(
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(
new BeginningOfEndStepTriggeredAbility(new TransformSourceEffect(true), TargetController.YOU, false),
new PermanentsOnTheBattlefieldCondition(StaticFilters.FILTER_CONTROLLED_A_CREATURE, ComparisonType.MORE_THAN, 3),
"At the beginning of your end step, if you control four or more creatures, transform {this}"));
diff --git a/Mage.Sets/src/mage/cards/g/GwyllionHedgeMage.java b/Mage.Sets/src/mage/cards/g/GwyllionHedgeMage.java
index 7feb832ab03..7a1c568f8e0 100644
--- a/Mage.Sets/src/mage/cards/g/GwyllionHedgeMage.java
+++ b/Mage.Sets/src/mage/cards/g/GwyllionHedgeMage.java
@@ -6,7 +6,7 @@ import mage.MageInt;
import mage.abilities.Ability;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.condition.common.PermanentsOnTheBattlefieldCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.CreateTokenEffect;
import mage.abilities.effects.common.counter.AddCountersTargetEffect;
import mage.cards.CardImpl;
@@ -47,11 +47,11 @@ public final class GwyllionHedgeMage extends CardImpl {
this.toughness = new MageInt(2);
// When Gwyllion Hedge-Mage enters the battlefield, if you control two or more Plains, you may create a 1/1 white Kithkin Soldier creature token.
- Ability ability = new ConditionalTriggeredAbility(new EntersBattlefieldTriggeredAbility(new CreateTokenEffect(new KithkinToken()), true), new PermanentsOnTheBattlefieldCondition(filter, ComparisonType.MORE_THAN, 1), rule1);
+ Ability ability = new ConditionalInterveningIfTriggeredAbility(new EntersBattlefieldTriggeredAbility(new CreateTokenEffect(new KithkinToken()), true), new PermanentsOnTheBattlefieldCondition(filter, ComparisonType.MORE_THAN, 1), rule1);
this.addAbility(ability);
// When Gwyllion Hedge-Mage enters the battlefield, if you control two or more Swamps, you may put a -1/-1 counter on target creature.
- Ability ability2 = new ConditionalTriggeredAbility(
+ Ability ability2 = new ConditionalInterveningIfTriggeredAbility(
new EntersBattlefieldTriggeredAbility(new AddCountersTargetEffect(CounterType.M1M1.createInstance()), true),
new PermanentsOnTheBattlefieldCondition(filter2, ComparisonType.MORE_THAN, 1),
rule2);
diff --git a/Mage.Sets/src/mage/cards/h/HagHedgeMage.java b/Mage.Sets/src/mage/cards/h/HagHedgeMage.java
index b7260cbc97c..ccbc85ed309 100644
--- a/Mage.Sets/src/mage/cards/h/HagHedgeMage.java
+++ b/Mage.Sets/src/mage/cards/h/HagHedgeMage.java
@@ -6,7 +6,7 @@ import mage.MageInt;
import mage.abilities.Ability;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.condition.common.PermanentsOnTheBattlefieldCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.PutOnLibraryTargetEffect;
import mage.abilities.effects.common.discard.DiscardTargetEffect;
import mage.cards.CardImpl;
@@ -46,12 +46,12 @@ public final class HagHedgeMage extends CardImpl {
this.toughness = new MageInt(2);
// When Hag Hedge-Mage enters the battlefield, if you control two or more Swamps, you may have target player discard a card.
- Ability ability = new ConditionalTriggeredAbility(new EntersBattlefieldTriggeredAbility(new DiscardTargetEffect(1), true), new PermanentsOnTheBattlefieldCondition(filter, ComparisonType.MORE_THAN, 1), rule);
+ Ability ability = new ConditionalInterveningIfTriggeredAbility(new EntersBattlefieldTriggeredAbility(new DiscardTargetEffect(1), true), new PermanentsOnTheBattlefieldCondition(filter, ComparisonType.MORE_THAN, 1), rule);
ability.addTarget(new TargetPlayer());
this.addAbility(ability);
// When Hag Hedge-Mage enters the battlefield, if you control two or more Forests, you may put target card from your graveyard on top of your library.
- Ability ability2 = new ConditionalTriggeredAbility(new EntersBattlefieldTriggeredAbility(new PutOnLibraryTargetEffect(true), true), new PermanentsOnTheBattlefieldCondition(filter2, ComparisonType.MORE_THAN, 1), rule2);
+ Ability ability2 = new ConditionalInterveningIfTriggeredAbility(new EntersBattlefieldTriggeredAbility(new PutOnLibraryTargetEffect(true), true), new PermanentsOnTheBattlefieldCondition(filter2, ComparisonType.MORE_THAN, 1), rule2);
ability2.addTarget(new TargetCardInYourGraveyard());
this.addAbility(ability2);
}
diff --git a/Mage.Sets/src/mage/cards/h/HanweirMilitiaCaptain.java b/Mage.Sets/src/mage/cards/h/HanweirMilitiaCaptain.java
index 7d4ab40a90a..26b44fac7b8 100644
--- a/Mage.Sets/src/mage/cards/h/HanweirMilitiaCaptain.java
+++ b/Mage.Sets/src/mage/cards/h/HanweirMilitiaCaptain.java
@@ -5,7 +5,7 @@ import java.util.UUID;
import mage.MageInt;
import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
import mage.abilities.condition.common.PermanentsOnTheBattlefieldCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.TransformSourceEffect;
import mage.abilities.keyword.TransformAbility;
import mage.cards.CardImpl;
@@ -37,7 +37,7 @@ public final class HanweirMilitiaCaptain extends CardImpl {
// At the beginning of your upkeep, if you control four or more creatures, transform Hanweir Militia Captain.
this.addAbility(new TransformAbility());
- this.addAbility(new ConditionalTriggeredAbility(
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(
new BeginningOfUpkeepTriggeredAbility(new TransformSourceEffect(true), TargetController.YOU, false),
new PermanentsOnTheBattlefieldCondition(filter, ComparisonType.MORE_THAN, 3),
"At the beginning of your upkeep, if you control four or more creatures, transform {this}"));
diff --git a/Mage.Sets/src/mage/cards/h/HanweirWatchkeep.java b/Mage.Sets/src/mage/cards/h/HanweirWatchkeep.java
index 47f24ca9895..463a9b84094 100644
--- a/Mage.Sets/src/mage/cards/h/HanweirWatchkeep.java
+++ b/Mage.Sets/src/mage/cards/h/HanweirWatchkeep.java
@@ -6,7 +6,7 @@ import mage.MageInt;
import mage.abilities.TriggeredAbility;
import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
import mage.abilities.condition.common.NoSpellsWereCastLastTurnCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.TransformSourceEffect;
import mage.abilities.keyword.DefenderAbility;
import mage.abilities.keyword.TransformAbility;
@@ -38,7 +38,7 @@ public final class HanweirWatchkeep extends CardImpl {
// At the beginning of each upkeep, if no spells were cast last turn, transform Hanweir Watchkeep.
this.addAbility(new TransformAbility());
TriggeredAbility ability = new BeginningOfUpkeepTriggeredAbility(new TransformSourceEffect(true), TargetController.ANY, false);
- this.addAbility(new ConditionalTriggeredAbility(ability, NoSpellsWereCastLastTurnCondition.instance, TransformAbility.NO_SPELLS_TRANSFORM_RULE));
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, NoSpellsWereCastLastTurnCondition.instance, TransformAbility.NO_SPELLS_TRANSFORM_RULE));
}
public HanweirWatchkeep(final HanweirWatchkeep card) {
diff --git a/Mage.Sets/src/mage/cards/h/HaphazardBombardment.java b/Mage.Sets/src/mage/cards/h/HaphazardBombardment.java
index 981019c6b13..74c6fdb1107 100644
--- a/Mage.Sets/src/mage/cards/h/HaphazardBombardment.java
+++ b/Mage.Sets/src/mage/cards/h/HaphazardBombardment.java
@@ -6,7 +6,7 @@ import mage.abilities.Ability;
import mage.abilities.common.BeginningOfYourEndStepTriggeredAbility;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.condition.common.PermanentsOnTheBattlefieldCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.OneShotEffect;
import mage.abilities.keyword.IndestructibleAbility;
import mage.cards.CardImpl;
@@ -44,7 +44,7 @@ public final class HaphazardBombardment extends CardImpl {
FilterPermanent filter = new FilterPermanent("if two or more permanents you don't control have an aim counter on them");
filter.add(new ControllerPredicate(TargetController.NOT_YOU));
filter.add(new CounterPredicate(CounterType.AIM));
- this.addAbility(new ConditionalTriggeredAbility(new BeginningOfYourEndStepTriggeredAbility(new HaphazardBombardmentEndOfTurnEffect(), false),
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(new BeginningOfYourEndStepTriggeredAbility(new HaphazardBombardmentEndOfTurnEffect(), false),
new PermanentsOnTheBattlefieldCondition(filter, ComparisonType.MORE_THAN, 1, false),
"At the beginning of your end step, if two or more permanents you don't control have an aim counter on them, destroy one of those permanents at random"));
}
diff --git a/Mage.Sets/src/mage/cards/h/HeartstabberMosquito.java b/Mage.Sets/src/mage/cards/h/HeartstabberMosquito.java
index 10672d441bb..ac6ff037ae0 100644
--- a/Mage.Sets/src/mage/cards/h/HeartstabberMosquito.java
+++ b/Mage.Sets/src/mage/cards/h/HeartstabberMosquito.java
@@ -5,7 +5,7 @@ import java.util.UUID;
import mage.MageInt;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.condition.common.KickedCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.DestroyTargetEffect;
import mage.abilities.keyword.FlyingAbility;
import mage.abilities.keyword.KickerAbility;
@@ -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 ConditionalTriggeredAbility(ability, KickedCondition.instance, "When {this} enters the battlefield, if it was kicked, destroy target creature."));
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, KickedCondition.instance, "When {this} enters the battlefield, if it was kicked, destroy target creature."));
}
public HeartstabberMosquito(final HeartstabberMosquito card) {
diff --git a/Mage.Sets/src/mage/cards/h/HeirOfTheWilds.java b/Mage.Sets/src/mage/cards/h/HeirOfTheWilds.java
index 9e6bdb85379..83b21abffcb 100644
--- a/Mage.Sets/src/mage/cards/h/HeirOfTheWilds.java
+++ b/Mage.Sets/src/mage/cards/h/HeirOfTheWilds.java
@@ -6,7 +6,7 @@ import mage.MageInt;
import mage.abilities.Ability;
import mage.abilities.common.AttacksTriggeredAbility;
import mage.abilities.condition.common.FerociousCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.continuous.BoostSourceEffect;
import mage.abilities.keyword.DeathtouchAbility;
import mage.cards.CardImpl;
@@ -32,7 +32,7 @@ public final class HeirOfTheWilds extends CardImpl {
// Deathtouch
this.addAbility(DeathtouchAbility.getInstance());
// Ferocious - Whenever Heir of the Wilds attacks, if you control a creature with power 4 or greater, Heir of the Wilds gets +1/+1 until end of turn.
- Ability ability = new ConditionalTriggeredAbility(
+ Ability ability = new ConditionalInterveningIfTriggeredAbility(
new AttacksTriggeredAbility(new BoostSourceEffect(1,1,Duration.EndOfTurn), false),
FerociousCondition.instance,
"Ferocious — Whenever {this} attacks, if you control a creature with power 4 or greater, {this} gets +1/+1 until end of turn."
diff --git a/Mage.Sets/src/mage/cards/h/HelixPinnacle.java b/Mage.Sets/src/mage/cards/h/HelixPinnacle.java
index a2075898c30..dc62fe13770 100644
--- a/Mage.Sets/src/mage/cards/h/HelixPinnacle.java
+++ b/Mage.Sets/src/mage/cards/h/HelixPinnacle.java
@@ -6,7 +6,7 @@ import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
import mage.abilities.common.SimpleActivatedAbility;
import mage.abilities.condition.common.SourceHasCounterCondition;
import mage.abilities.costs.mana.ManaCostsImpl;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.dynamicvalue.common.ManacostVariableValue;
import mage.abilities.effects.common.WinGameSourceControllerEffect;
import mage.abilities.effects.common.counter.AddCountersSourceEffect;
@@ -38,7 +38,7 @@ public final class HelixPinnacle extends CardImpl {
new ManaCostsImpl("{X}")));
// At the beginning of your upkeep, if there are 100 or more tower counters on Helix Pinnacle, you win the game.
- this.addAbility(new ConditionalTriggeredAbility(
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(
new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, new WinGameSourceControllerEffect(), TargetController.YOU, false),
new SourceHasCounterCondition(CounterType.TOWER, 100, Integer.MAX_VALUE),
rule));
diff --git a/Mage.Sets/src/mage/cards/h/HellfireMongrel.java b/Mage.Sets/src/mage/cards/h/HellfireMongrel.java
index e2c4d45a9d9..14f5824c2b4 100644
--- a/Mage.Sets/src/mage/cards/h/HellfireMongrel.java
+++ b/Mage.Sets/src/mage/cards/h/HellfireMongrel.java
@@ -6,7 +6,7 @@ import mage.MageInt;
import mage.abilities.Ability;
import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
import mage.abilities.condition.Condition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.DamageTargetEffect;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
@@ -32,7 +32,7 @@ public final class HellfireMongrel extends CardImpl {
this.toughness = new MageInt(2);
// At the beginning of each opponent's upkeep, if that player has two or fewer cards in hand, Hellfire Mongrel deals 2 damage to him or her.
- this.addAbility(new ConditionalTriggeredAbility(
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(
new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, new DamageTargetEffect(2), TargetController.OPPONENT, false, true),
new CardsInActivePlayersHandCondition(),
"At the beginning of each opponent's upkeep, if that player has two or fewer cards in hand, {this} deals 2 damage to him or her."
diff --git a/Mage.Sets/src/mage/cards/h/HellkiteTyrant.java b/Mage.Sets/src/mage/cards/h/HellkiteTyrant.java
index 51402c13f7e..d39feaeecfc 100644
--- a/Mage.Sets/src/mage/cards/h/HellkiteTyrant.java
+++ b/Mage.Sets/src/mage/cards/h/HellkiteTyrant.java
@@ -9,7 +9,7 @@ import mage.abilities.TriggeredAbility;
import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
import mage.abilities.common.DealsCombatDamageToAPlayerTriggeredAbility;
import mage.abilities.condition.common.PermanentsOnTheBattlefieldCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.ContinuousEffect;
import mage.abilities.effects.ContinuousEffectImpl;
import mage.abilities.effects.OneShotEffect;
@@ -56,7 +56,7 @@ public final class HellkiteTyrant extends CardImpl {
// At the beginning of your upkeep, if you control twenty or more artifacts, you win the game.
TriggeredAbility ability = new BeginningOfUpkeepTriggeredAbility(new WinGameSourceControllerEffect(), TargetController.YOU, false);
- this.addAbility(new ConditionalTriggeredAbility(
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(
ability,
new PermanentsOnTheBattlefieldCondition(new FilterArtifactPermanent(), ComparisonType.MORE_THAN, 19),
"At the beginning of your upkeep, if you control twenty or more artifacts, you win the game."));
diff --git a/Mage.Sets/src/mage/cards/h/HermitOfTheNatterknolls.java b/Mage.Sets/src/mage/cards/h/HermitOfTheNatterknolls.java
index b1dce2f6f53..d59c7c88943 100644
--- a/Mage.Sets/src/mage/cards/h/HermitOfTheNatterknolls.java
+++ b/Mage.Sets/src/mage/cards/h/HermitOfTheNatterknolls.java
@@ -8,6 +8,7 @@ import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
import mage.abilities.common.SpellCastOpponentTriggeredAbility;
import mage.abilities.condition.common.MyTurnCondition;
import mage.abilities.condition.common.NoSpellsWereCastLastTurnCondition;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.decorator.ConditionalTriggeredAbility;
import mage.abilities.effects.common.DrawCardSourceControllerEffect;
import mage.abilities.effects.common.TransformSourceEffect;
@@ -46,7 +47,7 @@ public final class HermitOfTheNatterknolls extends CardImpl {
// At the beginning of each upkeep, if no spells were cast last turn, transform Hermit of the Natterknolls.
this.addAbility(new TransformAbility());
TriggeredAbility ability = new BeginningOfUpkeepTriggeredAbility(new TransformSourceEffect(true), TargetController.ANY, false);
- this.addAbility(new ConditionalTriggeredAbility(ability, NoSpellsWereCastLastTurnCondition.instance, TransformAbility.NO_SPELLS_TRANSFORM_RULE));
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, NoSpellsWereCastLastTurnCondition.instance, TransformAbility.NO_SPELLS_TRANSFORM_RULE));
}
public HermitOfTheNatterknolls(final HermitOfTheNatterknolls card) {
diff --git a/Mage.Sets/src/mage/cards/h/HiddenAncients.java b/Mage.Sets/src/mage/cards/h/HiddenAncients.java
index 492565d8c98..63b9ac7d8f1 100644
--- a/Mage.Sets/src/mage/cards/h/HiddenAncients.java
+++ b/Mage.Sets/src/mage/cards/h/HiddenAncients.java
@@ -5,7 +5,7 @@ import mage.MageInt;
import mage.abilities.TriggeredAbility;
import mage.abilities.common.SpellCastOpponentTriggeredAbility;
import mage.abilities.condition.common.SourceMatchesFilterCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.continuous.BecomesCreatureSourceEffect;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
@@ -38,7 +38,7 @@ public final class HiddenAncients extends CardImpl {
// When an opponent casts an enchantment spell, if Hidden Ancients is an enchantment, Hidden Ancients becomes a 5/5 Treefolk creature.
TriggeredAbility ability = new SpellCastOpponentTriggeredAbility(new BecomesCreatureSourceEffect(new HiddenAncientsTreefolkToken(), "", Duration.WhileOnBattlefield, true, false),
filter, false);
- this.addAbility(new ConditionalTriggeredAbility(ability, new SourceMatchesFilterCondition(StaticFilters.FILTER_ENCHANTMENT_PERMANENT),
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, new SourceMatchesFilterCondition(StaticFilters.FILTER_ENCHANTMENT_PERMANENT),
"When an opponent casts an enchantment spell, if {this} is an enchantment, {this} becomes a 5/5 Treefolk creature."));
}
diff --git a/Mage.Sets/src/mage/cards/h/HiddenGibbons.java b/Mage.Sets/src/mage/cards/h/HiddenGibbons.java
index 3f247e3b50b..d65cb33853f 100644
--- a/Mage.Sets/src/mage/cards/h/HiddenGibbons.java
+++ b/Mage.Sets/src/mage/cards/h/HiddenGibbons.java
@@ -5,7 +5,7 @@ import mage.MageInt;
import mage.abilities.TriggeredAbility;
import mage.abilities.common.SpellCastOpponentTriggeredAbility;
import mage.abilities.condition.common.SourceMatchesFilterCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.continuous.BecomesCreatureSourceEffect;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
@@ -16,7 +16,6 @@ import mage.filter.FilterSpell;
import mage.filter.StaticFilters;
import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.permanent.token.TokenImpl;
-import mage.game.permanent.token.Token;
import java.util.UUID;
@@ -39,7 +38,7 @@ public final class HiddenGibbons extends CardImpl {
// When an opponent casts an instant spell, if Hidden Gibbons is an enchantment, Hidden Gibbons becomes a 4/4 Ape creature.
TriggeredAbility ability = new SpellCastOpponentTriggeredAbility(new BecomesCreatureSourceEffect(new HiddenGibbonsApe(), "", Duration.WhileOnBattlefield, true, false),
filter, false);
- this.addAbility(new ConditionalTriggeredAbility(ability, new SourceMatchesFilterCondition(StaticFilters.FILTER_ENCHANTMENT_PERMANENT),
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, new SourceMatchesFilterCondition(StaticFilters.FILTER_ENCHANTMENT_PERMANENT),
"When an opponent casts an instant spell, if {this} is an enchantment, {this} becomes a 4/4 Ape creature."));
}
diff --git a/Mage.Sets/src/mage/cards/h/HiddenGuerrillas.java b/Mage.Sets/src/mage/cards/h/HiddenGuerrillas.java
index b573f2d32b6..c9f7febb40d 100644
--- a/Mage.Sets/src/mage/cards/h/HiddenGuerrillas.java
+++ b/Mage.Sets/src/mage/cards/h/HiddenGuerrillas.java
@@ -5,7 +5,7 @@ import mage.MageInt;
import mage.abilities.TriggeredAbility;
import mage.abilities.common.SpellCastOpponentTriggeredAbility;
import mage.abilities.condition.common.SourceMatchesFilterCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.continuous.BecomesCreatureSourceEffect;
import mage.abilities.keyword.TrampleAbility;
import mage.cards.CardImpl;
@@ -16,7 +16,6 @@ import mage.constants.Duration;
import mage.filter.StaticFilters;
import mage.filter.common.FilterArtifactSpell;
import mage.game.permanent.token.TokenImpl;
-import mage.game.permanent.token.Token;
import java.util.UUID;
@@ -33,7 +32,7 @@ public final class HiddenGuerrillas extends CardImpl {
// When an opponent casts an artifact spell, if Hidden Guerrillas is an enchantment, Hidden Guerrillas becomes a 5/3 Soldier creature with trample.
TriggeredAbility ability = new SpellCastOpponentTriggeredAbility(new BecomesCreatureSourceEffect(new HiddenGuerrillasSoldier(), "", Duration.WhileOnBattlefield, true, false),
new FilterArtifactSpell(), false);
- this.addAbility(new ConditionalTriggeredAbility(ability, new SourceMatchesFilterCondition(StaticFilters.FILTER_ENCHANTMENT_PERMANENT),
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, new SourceMatchesFilterCondition(StaticFilters.FILTER_ENCHANTMENT_PERMANENT),
"When an opponent casts an artifact spell, if {this} is an enchantment, {this} becomes a 5/3 Soldier creature with trample."));
}
diff --git a/Mage.Sets/src/mage/cards/h/HiddenHerbalists.java b/Mage.Sets/src/mage/cards/h/HiddenHerbalists.java
index 200e555d2a3..479d5ddc122 100644
--- a/Mage.Sets/src/mage/cards/h/HiddenHerbalists.java
+++ b/Mage.Sets/src/mage/cards/h/HiddenHerbalists.java
@@ -6,7 +6,7 @@ import mage.MageInt;
import mage.Mana;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.condition.common.RevoltCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.mana.BasicManaEffect;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
@@ -30,7 +30,7 @@ public final class HiddenHerbalists extends CardImpl {
// Revolt &mdash When Hidden Herbalists enters the battlefield, if a permanent you controlled left the battlefield this turn, add {G}{G};
this.addAbility(
- new ConditionalTriggeredAbility(new EntersBattlefieldTriggeredAbility(
+ new ConditionalInterveningIfTriggeredAbility(new EntersBattlefieldTriggeredAbility(
new BasicManaEffect(Mana.GreenMana(2)), false), RevoltCondition.instance,
"Revolt — When {this} enters the battlefield, if a permanent you controlled left"
+ " the battlefield this turn, add {G}{G}."),
diff --git a/Mage.Sets/src/mage/cards/h/HiddenHerd.java b/Mage.Sets/src/mage/cards/h/HiddenHerd.java
index 32cf8031e22..1917dc61179 100644
--- a/Mage.Sets/src/mage/cards/h/HiddenHerd.java
+++ b/Mage.Sets/src/mage/cards/h/HiddenHerd.java
@@ -5,7 +5,7 @@ import java.util.UUID;
import mage.MageInt;
import mage.abilities.TriggeredAbilityImpl;
import mage.abilities.condition.common.SourceMatchesFilterCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.continuous.BecomesCreatureSourceEffect;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
@@ -19,7 +19,6 @@ import mage.game.Game;
import mage.game.events.GameEvent;
import mage.game.permanent.Permanent;
import mage.game.permanent.token.TokenImpl;
-import mage.game.permanent.token.Token;
/**
*
@@ -31,7 +30,7 @@ public final class HiddenHerd extends CardImpl {
super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{G}");
// When an opponent plays a nonbasic land, if Hidden Herd is an enchantment, Hidden Herd becomes a 3/3 Beast creature.
- this.addAbility(new ConditionalTriggeredAbility(
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(
new HiddenHerdAbility(),
new SourceMatchesFilterCondition(StaticFilters.FILTER_ENCHANTMENT_PERMANENT),
"When an opponent plays a nonbasic land, if {this} is an enchantment, {this} becomes a 3/3 Beast creature."
diff --git a/Mage.Sets/src/mage/cards/h/HiddenSpider.java b/Mage.Sets/src/mage/cards/h/HiddenSpider.java
index 4da45f95340..549cf2fdf27 100644
--- a/Mage.Sets/src/mage/cards/h/HiddenSpider.java
+++ b/Mage.Sets/src/mage/cards/h/HiddenSpider.java
@@ -5,7 +5,7 @@ import mage.MageInt;
import mage.abilities.TriggeredAbility;
import mage.abilities.common.SpellCastOpponentTriggeredAbility;
import mage.abilities.condition.common.SourceMatchesFilterCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.continuous.BecomesCreatureSourceEffect;
import mage.abilities.keyword.FlyingAbility;
import mage.abilities.keyword.ReachAbility;
@@ -18,7 +18,6 @@ import mage.filter.StaticFilters;
import mage.filter.common.FilterCreatureSpell;
import mage.filter.predicate.mageobject.AbilityPredicate;
import mage.game.permanent.token.TokenImpl;
-import mage.game.permanent.token.Token;
import java.util.UUID;
@@ -41,7 +40,7 @@ public final class HiddenSpider extends CardImpl {
// When an opponent casts a creature spell with flying, if Hidden Spider is an enchantment, Hidden Spider becomes a 3/5 Spider creature with reach.
TriggeredAbility ability = new SpellCastOpponentTriggeredAbility(new BecomesCreatureSourceEffect(new HiddenSpiderToken(), "", Duration.WhileOnBattlefield, true, false),
filter, false);
- this.addAbility(new ConditionalTriggeredAbility(ability, new SourceMatchesFilterCondition(StaticFilters.FILTER_ENCHANTMENT_PERMANENT),
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, new SourceMatchesFilterCondition(StaticFilters.FILTER_ENCHANTMENT_PERMANENT),
"When an opponent casts a creature spell with flying, if {this} is an enchantment, {this} becomes a 3/5 Spider creature with reach."));
}
diff --git a/Mage.Sets/src/mage/cards/h/HiddenStockpile.java b/Mage.Sets/src/mage/cards/h/HiddenStockpile.java
index 68daf02699e..9094f3d0958 100644
--- a/Mage.Sets/src/mage/cards/h/HiddenStockpile.java
+++ b/Mage.Sets/src/mage/cards/h/HiddenStockpile.java
@@ -8,7 +8,7 @@ import mage.abilities.common.SimpleActivatedAbility;
import mage.abilities.condition.common.RevoltCondition;
import mage.abilities.costs.common.SacrificeTargetCost;
import mage.abilities.costs.mana.GenericManaCost;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.CreateTokenEffect;
import mage.abilities.effects.keyword.ScryEffect;
import mage.cards.CardImpl;
@@ -31,7 +31,7 @@ public final class HiddenStockpile extends CardImpl {
super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{W}{B}");
// Revolt — At the beginning of your end step, if a permanent you controlled left the battlefield this turn, create a 1/1 colorless Servo artifact creature token.
- Ability ability = new ConditionalTriggeredAbility(new BeginningOfYourEndStepTriggeredAbility(new CreateTokenEffect(new ServoToken()), false), RevoltCondition.instance,
+ Ability ability = new ConditionalInterveningIfTriggeredAbility(new BeginningOfYourEndStepTriggeredAbility(new CreateTokenEffect(new ServoToken()), false), RevoltCondition.instance,
"Revolt — At the beginning of your end step, if a permanent you controlled left the battlefield this turn, create a 1/1 colorless Servo artifact creature token");
ability.setAbilityWord(AbilityWord.REVOLT);
ability.addWatcher(new RevoltWatcher());
diff --git a/Mage.Sets/src/mage/cards/h/HinterlandHermit.java b/Mage.Sets/src/mage/cards/h/HinterlandHermit.java
index 69832fe723b..256dc16650b 100644
--- a/Mage.Sets/src/mage/cards/h/HinterlandHermit.java
+++ b/Mage.Sets/src/mage/cards/h/HinterlandHermit.java
@@ -6,7 +6,7 @@ import mage.MageInt;
import mage.abilities.TriggeredAbility;
import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
import mage.abilities.condition.common.NoSpellsWereCastLastTurnCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.TransformSourceEffect;
import mage.abilities.keyword.TransformAbility;
import mage.cards.CardImpl;
@@ -35,7 +35,7 @@ public final class HinterlandHermit extends CardImpl {
// At the beginning of each upkeep, if no spells were cast last turn, transform Hinterland Hermit.
this.addAbility(new TransformAbility());
TriggeredAbility ability = new BeginningOfUpkeepTriggeredAbility(new TransformSourceEffect(true), TargetController.ANY, false);
- this.addAbility(new ConditionalTriggeredAbility(ability, NoSpellsWereCastLastTurnCondition.instance, TransformAbility.NO_SPELLS_TRANSFORM_RULE));
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, NoSpellsWereCastLastTurnCondition.instance, TransformAbility.NO_SPELLS_TRANSFORM_RULE));
}
public HinterlandHermit(final HinterlandHermit card) {
diff --git a/Mage.Sets/src/mage/cards/h/HinterlandLogger.java b/Mage.Sets/src/mage/cards/h/HinterlandLogger.java
index fe8f5c1730f..6634e00414a 100644
--- a/Mage.Sets/src/mage/cards/h/HinterlandLogger.java
+++ b/Mage.Sets/src/mage/cards/h/HinterlandLogger.java
@@ -6,7 +6,7 @@ import mage.MageInt;
import mage.abilities.TriggeredAbility;
import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
import mage.abilities.condition.common.NoSpellsWereCastLastTurnCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.TransformSourceEffect;
import mage.abilities.keyword.TransformAbility;
import mage.cards.CardImpl;
@@ -35,7 +35,7 @@ public final class HinterlandLogger extends CardImpl {
// At the beginning of each upkeep, if no spells were cast last turn, transform Hinterland Logger.
this.addAbility(new TransformAbility());
TriggeredAbility ability = new BeginningOfUpkeepTriggeredAbility(new TransformSourceEffect(true), TargetController.ANY, false);
- this.addAbility(new ConditionalTriggeredAbility(ability, NoSpellsWereCastLastTurnCondition.instance, TransformAbility.NO_SPELLS_TRANSFORM_RULE));
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, NoSpellsWereCastLastTurnCondition.instance, TransformAbility.NO_SPELLS_TRANSFORM_RULE));
}
public HinterlandLogger(final HinterlandLogger card) {
diff --git a/Mage.Sets/src/mage/cards/h/HinterlandScourge.java b/Mage.Sets/src/mage/cards/h/HinterlandScourge.java
index 910866a282c..8e51404854f 100644
--- a/Mage.Sets/src/mage/cards/h/HinterlandScourge.java
+++ b/Mage.Sets/src/mage/cards/h/HinterlandScourge.java
@@ -7,7 +7,7 @@ import mage.abilities.TriggeredAbility;
import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
import mage.abilities.common.SimpleStaticAbility;
import mage.abilities.condition.common.TwoOrMoreSpellsWereCastLastTurnCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.TransformSourceEffect;
import mage.abilities.effects.common.combat.MustBeBlockedByAtLeastOneSourceEffect;
import mage.abilities.keyword.TransformAbility;
@@ -41,7 +41,7 @@ public final class HinterlandScourge extends CardImpl {
// At the beginning of each upkeep, if a player cast two or more spells last turn, transform Hinterland Scourge.
TriggeredAbility ability = new BeginningOfUpkeepTriggeredAbility(new TransformSourceEffect(false), TargetController.ANY, false);
- this.addAbility(new ConditionalTriggeredAbility(ability, TwoOrMoreSpellsWereCastLastTurnCondition.instance, TransformAbility.TWO_OR_MORE_SPELLS_TRANSFORM_RULE));
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, TwoOrMoreSpellsWereCastLastTurnCondition.instance, TransformAbility.TWO_OR_MORE_SPELLS_TRANSFORM_RULE));
}
public HinterlandScourge(final HinterlandScourge card) {
diff --git a/Mage.Sets/src/mage/cards/h/HiredMuscle.java b/Mage.Sets/src/mage/cards/h/HiredMuscle.java
index c8b871f78bf..b5eeb8a4ea1 100644
--- a/Mage.Sets/src/mage/cards/h/HiredMuscle.java
+++ b/Mage.Sets/src/mage/cards/h/HiredMuscle.java
@@ -9,7 +9,7 @@ import mage.abilities.common.SimpleActivatedAbility;
import mage.abilities.common.SpellCastControllerTriggeredAbility;
import mage.abilities.condition.common.SourceHasCounterCondition;
import mage.abilities.costs.common.RemoveCountersSourceCost;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.FlipSourceEffect;
import mage.abilities.effects.common.continuous.GainAbilityTargetEffect;
import mage.abilities.effects.common.counter.AddCountersSourceEffect;
@@ -25,7 +25,6 @@ import mage.counters.CounterType;
import mage.filter.StaticFilters;
import mage.game.events.GameEvent;
import mage.game.permanent.token.TokenImpl;
-import mage.game.permanent.token.Token;
import mage.target.common.TargetCreaturePermanent;
/**
@@ -48,7 +47,7 @@ public final class HiredMuscle extends CardImpl {
this.addAbility(new SpellCastControllerTriggeredAbility(new AddCountersSourceEffect(CounterType.KI.createInstance()), StaticFilters.SPIRIT_OR_ARCANE_CARD, true));
// At the beginning of the end step, if there are two or more ki counters on Hired Muscle, you may flip it.
- this.addAbility(new ConditionalTriggeredAbility(
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(
new OnEventTriggeredAbility(GameEvent.EventType.END_TURN_STEP_PRE, "beginning of the end step", true, new FlipSourceEffect(new Scarmaker()), true),
new SourceHasCounterCondition(CounterType.KI, 2, Integer.MAX_VALUE),
"At the beginning of the end step, if there are two or more ki counters on {this}, you may flip it."));
diff --git a/Mage.Sets/src/mage/cards/h/HollowbornBarghest.java b/Mage.Sets/src/mage/cards/h/HollowbornBarghest.java
index bf5678c6bd8..887bd3203e9 100644
--- a/Mage.Sets/src/mage/cards/h/HollowbornBarghest.java
+++ b/Mage.Sets/src/mage/cards/h/HollowbornBarghest.java
@@ -9,7 +9,7 @@ import mage.abilities.TriggeredAbilityImpl;
import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
import mage.abilities.condition.Condition;
import mage.abilities.condition.common.CardsInHandCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.OneShotEffect;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
@@ -43,7 +43,7 @@ public final class HollowbornBarghest extends CardImpl {
// At the beginning of your upkeep, if you have no cards in hand, each opponent loses 2 life.
Condition condition = new CardsInHandCondition(ComparisonType.EQUAL_TO, 0);
TriggeredAbility ability = new BeginningOfUpkeepTriggeredAbility(new HollowbornBarghestEffect(), TargetController.YOU, false);
- this.addAbility(new ConditionalTriggeredAbility(ability, condition, rule));
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, condition, rule));
// At the beginning of each opponent's upkeep, if that player has no cards in hand, he or she loses 2 life.
this.addAbility(new HollowbornBarghestTriggeredAbility());
diff --git a/Mage.Sets/src/mage/cards/h/HollowhengeScavenger.java b/Mage.Sets/src/mage/cards/h/HollowhengeScavenger.java
index ed249b386fb..339ef6426ad 100644
--- a/Mage.Sets/src/mage/cards/h/HollowhengeScavenger.java
+++ b/Mage.Sets/src/mage/cards/h/HollowhengeScavenger.java
@@ -6,7 +6,7 @@ import mage.MageInt;
import mage.abilities.TriggeredAbility;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.condition.common.MorbidCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.GainLifeEffect;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
@@ -30,7 +30,7 @@ public final class HollowhengeScavenger extends CardImpl {
// Morbid - When Hollowhenge Scavenger enters the battlefield, if a creature died this turn, you gain 5 life.
TriggeredAbility ability = new EntersBattlefieldTriggeredAbility(new GainLifeEffect(5));
- this.addAbility(new ConditionalTriggeredAbility(ability, MorbidCondition.instance, staticText));
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, MorbidCondition.instance, staticText));
}
public HollowhengeScavenger(final HollowhengeScavenger card) {
diff --git a/Mage.Sets/src/mage/cards/h/HowlpackAlpha.java b/Mage.Sets/src/mage/cards/h/HowlpackAlpha.java
index 702430ee20b..7bb5d623438 100644
--- a/Mage.Sets/src/mage/cards/h/HowlpackAlpha.java
+++ b/Mage.Sets/src/mage/cards/h/HowlpackAlpha.java
@@ -10,6 +10,7 @@ import mage.abilities.common.SimpleStaticAbility;
import mage.abilities.condition.common.TransformedCondition;
import mage.abilities.condition.common.TwoOrMoreSpellsWereCastLastTurnCondition;
import mage.abilities.decorator.ConditionalContinuousEffect;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.decorator.ConditionalTriggeredAbility;
import mage.abilities.effects.Effect;
import mage.abilities.effects.common.CreateTokenEffect;
@@ -59,7 +60,7 @@ public final class HowlpackAlpha extends CardImpl {
// At the beginning of each upkeep, if a player cast two or more spells last turn, transform Howlpack Alpha.
TriggeredAbility ability = new BeginningOfUpkeepTriggeredAbility(new TransformSourceEffect(false), TargetController.ANY, false);
- this.addAbility(new ConditionalTriggeredAbility(ability, TwoOrMoreSpellsWereCastLastTurnCondition.instance, TransformAbility.TWO_OR_MORE_SPELLS_TRANSFORM_RULE));
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, TwoOrMoreSpellsWereCastLastTurnCondition.instance, TransformAbility.TWO_OR_MORE_SPELLS_TRANSFORM_RULE));
}
public HowlpackAlpha(final HowlpackAlpha card) {
diff --git a/Mage.Sets/src/mage/cards/h/HowlpackOfEstwald.java b/Mage.Sets/src/mage/cards/h/HowlpackOfEstwald.java
index 1573b2b8ab6..d5f9f2a1a33 100644
--- a/Mage.Sets/src/mage/cards/h/HowlpackOfEstwald.java
+++ b/Mage.Sets/src/mage/cards/h/HowlpackOfEstwald.java
@@ -6,7 +6,7 @@ import mage.MageInt;
import mage.abilities.TriggeredAbility;
import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
import mage.abilities.condition.common.TwoOrMoreSpellsWereCastLastTurnCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.TransformSourceEffect;
import mage.abilities.keyword.TransformAbility;
import mage.cards.CardImpl;
@@ -34,7 +34,7 @@ public final class HowlpackOfEstwald extends CardImpl {
// At the beginning of each upkeep, if a player cast two or more spells last turn, transform Howlpack of Estwald.
TriggeredAbility ability = new BeginningOfUpkeepTriggeredAbility(new TransformSourceEffect(false), TargetController.ANY, false);
- this.addAbility(new ConditionalTriggeredAbility(ability, TwoOrMoreSpellsWereCastLastTurnCondition.instance, TransformAbility.TWO_OR_MORE_SPELLS_TRANSFORM_RULE));
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, TwoOrMoreSpellsWereCastLastTurnCondition.instance, TransformAbility.TWO_OR_MORE_SPELLS_TRANSFORM_RULE));
}
public HowlpackOfEstwald(final HowlpackOfEstwald card) {
diff --git a/Mage.Sets/src/mage/cards/h/HuntmasterOfTheFells.java b/Mage.Sets/src/mage/cards/h/HuntmasterOfTheFells.java
index 879cb39d551..9da3929dfe7 100644
--- a/Mage.Sets/src/mage/cards/h/HuntmasterOfTheFells.java
+++ b/Mage.Sets/src/mage/cards/h/HuntmasterOfTheFells.java
@@ -7,7 +7,7 @@ import mage.abilities.TriggeredAbility;
import mage.abilities.TriggeredAbilityImpl;
import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
import mage.abilities.condition.common.NoSpellsWereCastLastTurnCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.CreateTokenEffect;
import mage.abilities.effects.common.GainLifeEffect;
import mage.abilities.effects.common.TransformSourceEffect;
@@ -44,7 +44,7 @@ public final class HuntmasterOfTheFells extends CardImpl {
// At the beginning of each upkeep, if no spells were cast last turn, transform Huntmaster of the Fells.
this.addAbility(new TransformAbility());
TriggeredAbility ability = new BeginningOfUpkeepTriggeredAbility(new TransformSourceEffect(true), TargetController.ANY, false);
- this.addAbility(new ConditionalTriggeredAbility(ability, NoSpellsWereCastLastTurnCondition.instance, TransformAbility.NO_SPELLS_TRANSFORM_RULE));
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, NoSpellsWereCastLastTurnCondition.instance, TransformAbility.NO_SPELLS_TRANSFORM_RULE));
}
public HuntmasterOfTheFells(final HuntmasterOfTheFells card) {
diff --git a/Mage.Sets/src/mage/cards/h/Hypnox.java b/Mage.Sets/src/mage/cards/h/Hypnox.java
index 44290f82062..41e0be205ec 100644
--- a/Mage.Sets/src/mage/cards/h/Hypnox.java
+++ b/Mage.Sets/src/mage/cards/h/Hypnox.java
@@ -8,7 +8,7 @@ import mage.abilities.TriggeredAbility;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.common.LeavesBattlefieldTriggeredAbility;
import mage.abilities.condition.common.CastFromHandSourceCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.OneShotEffect;
import mage.abilities.keyword.FlyingAbility;
import mage.cards.Card;
@@ -43,7 +43,7 @@ public final class Hypnox extends CardImpl {
// When Hypnox enters the battlefield, if you cast it from your hand, exile all cards from target opponent's hand.
TriggeredAbility ability = new EntersBattlefieldTriggeredAbility(new HypnoxExileEffect());
ability.addTarget(new TargetOpponent());
- this.addAbility(new ConditionalTriggeredAbility(ability, CastFromHandSourceCondition.instance,
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, CastFromHandSourceCondition.instance,
"When {this} enters the battlefield, if you cast it from your hand, exile all cards from target opponent's hand."), new CastFromHandWatcher());
// When Hypnox leaves the battlefield, return the exiled cards to their owner's hand.
diff --git a/Mage.Sets/src/mage/cards/i/ImaginaryPet.java b/Mage.Sets/src/mage/cards/i/ImaginaryPet.java
index 16c2920e3fd..96cf4fa0e11 100644
--- a/Mage.Sets/src/mage/cards/i/ImaginaryPet.java
+++ b/Mage.Sets/src/mage/cards/i/ImaginaryPet.java
@@ -6,7 +6,7 @@ import mage.MageInt;
import mage.abilities.TriggeredAbility;
import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
import mage.abilities.condition.common.CardsInHandCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.ReturnToHandSourceEffect;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
@@ -29,7 +29,7 @@ public final class ImaginaryPet extends CardImpl {
// At the beginning of your upkeep, if you have a card in hand, return Imaginary Pet to its owner's hand.
TriggeredAbility ability = new BeginningOfUpkeepTriggeredAbility(new ReturnToHandSourceEffect(true), TargetController.YOU, false);
- this.addAbility(new ConditionalTriggeredAbility(ability, new CardsInHandCondition(ComparisonType.MORE_THAN, 0),
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, new CardsInHandCondition(ComparisonType.MORE_THAN, 0),
"At the beginning of your upkeep, if you have a card in hand, return {this} to its owner's hand."));
}
diff --git a/Mage.Sets/src/mage/cards/i/ImpendingDisaster.java b/Mage.Sets/src/mage/cards/i/ImpendingDisaster.java
index 2757a7aa3c1..ca3610f9618 100644
--- a/Mage.Sets/src/mage/cards/i/ImpendingDisaster.java
+++ b/Mage.Sets/src/mage/cards/i/ImpendingDisaster.java
@@ -6,7 +6,7 @@ import mage.abilities.Ability;
import mage.abilities.TriggeredAbility;
import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
import mage.abilities.condition.Condition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.DestroyAllEffect;
import mage.abilities.effects.common.SacrificeSourceEffect;
import mage.cards.CardImpl;
@@ -31,7 +31,7 @@ public final class ImpendingDisaster extends CardImpl {
TriggeredAbility ability = new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, new SacrificeSourceEffect(), TargetController.YOU, false);
ability.addEffect(new DestroyAllEffect(new FilterLandPermanent()));
ImpendingDisasterCondition contition = new ImpendingDisasterCondition();
- this.addAbility(new ConditionalTriggeredAbility(ability, contition, "At the beginning of your upkeep, if there are seven or more lands on the battlefield, sacrifice {this} and destroy all lands"));
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, contition, "At the beginning of your upkeep, if there are seven or more lands on the battlefield, sacrifice {this} and destroy all lands"));
}
diff --git a/Mage.Sets/src/mage/cards/i/ImperialMask.java b/Mage.Sets/src/mage/cards/i/ImperialMask.java
index 95f549ebd03..11b2f5b0a1e 100644
--- a/Mage.Sets/src/mage/cards/i/ImperialMask.java
+++ b/Mage.Sets/src/mage/cards/i/ImperialMask.java
@@ -5,7 +5,7 @@ import java.util.UUID;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.common.SimpleStaticAbility;
import mage.abilities.condition.common.SourceMatchesFilterCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.InfoEffect;
import mage.abilities.effects.common.continuous.GainAbilityControllerEffect;
import mage.abilities.keyword.HexproofAbility;
@@ -34,7 +34,7 @@ public final class ImperialMask extends CardImpl {
// When Imperial Mask enters the battlefield, if it's not a token, each of your teammates puts a token that's a copy of Imperial Mask onto the battlefield.
// No implementation of teammates currently, so no effect needed
- this.addAbility(new ConditionalTriggeredAbility(
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(
new EntersBattlefieldTriggeredAbility(new InfoEffect("each of your teammates puts a token that's a copy of {this} onto the battlefield"), false),
new SourceMatchesFilterCondition(filter),
"When {this} enters the battlefield, if it's not a token, "
diff --git a/Mage.Sets/src/mage/cards/i/InallaArchmageRitualist.java b/Mage.Sets/src/mage/cards/i/InallaArchmageRitualist.java
index ca5aa37e245..418cb142f60 100644
--- a/Mage.Sets/src/mage/cards/i/InallaArchmageRitualist.java
+++ b/Mage.Sets/src/mage/cards/i/InallaArchmageRitualist.java
@@ -11,7 +11,7 @@ import mage.abilities.common.delayed.AtTheBeginOfNextEndStepDelayedTriggeredAbil
import mage.abilities.condition.common.SourceOnBattlefieldOrCommandZoneCondition;
import mage.abilities.costs.common.TapTargetCost;
import mage.abilities.costs.mana.ManaCostsImpl;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.OneShotEffect;
import mage.abilities.effects.common.DoIfCostPaid;
import mage.abilities.effects.common.ExileTargetEffect;
@@ -65,7 +65,7 @@ public final class InallaArchmageRitualist extends CardImpl {
this.toughness = new MageInt(5);
// Eminence - Whenever another nontoken Wizard enters the battlefield under your control, if Inalla, Archmage Ritualist is in the command zone or on the battlefield, you may pay {1}. If you do, create a token that's a copy of that Wizard. The token gains haste. Exile it at the beginning of the next end step.
- Ability ability = new ConditionalTriggeredAbility(
+ Ability ability = new ConditionalInterveningIfTriggeredAbility(
new EntersBattlefieldControlledTriggeredAbility(Zone.ALL, new DoIfCostPaid(
new InallaArchmageRitualistEffect(), new ManaCostsImpl("{1}"), "Pay {1} to create a token copy?"),
filter, false, SetTargetPointer.PERMANENT, ""),
diff --git a/Mage.Sets/src/mage/cards/i/InameAsOne.java b/Mage.Sets/src/mage/cards/i/InameAsOne.java
index 595ae5bf80f..25b0162cc3e 100644
--- a/Mage.Sets/src/mage/cards/i/InameAsOne.java
+++ b/Mage.Sets/src/mage/cards/i/InameAsOne.java
@@ -8,7 +8,7 @@ import mage.abilities.Ability;
import mage.abilities.common.DiesTriggeredAbility;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.condition.common.CastFromHandSourceCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.Effect;
import mage.abilities.effects.OneShotEffect;
import mage.abilities.effects.common.ExileSourceEffect;
@@ -50,7 +50,7 @@ public final class InameAsOne extends CardImpl {
this.toughness = new MageInt(8);
// When Iname as One enters the battlefield, if you cast it from your hand, you may search your library for a Spirit permanent card, put it onto the battlefield, then shuffle your library.
- this.addAbility(new ConditionalTriggeredAbility(
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(
new EntersBattlefieldTriggeredAbility(new SearchLibraryPutInPlayEffect(new TargetCardInLibrary(0, 1, filter)), true),
CastFromHandSourceCondition.instance,
"When {this} enters the battlefield, if you cast it from your hand, you may search your library for a Spirit permanent card, put it onto the battlefield, then shuffle your library."),
diff --git a/Mage.Sets/src/mage/cards/i/InexorableBlob.java b/Mage.Sets/src/mage/cards/i/InexorableBlob.java
index 1eeaa64850e..2d2a1d64eff 100644
--- a/Mage.Sets/src/mage/cards/i/InexorableBlob.java
+++ b/Mage.Sets/src/mage/cards/i/InexorableBlob.java
@@ -5,7 +5,7 @@ import java.util.UUID;
import mage.MageInt;
import mage.abilities.common.AttacksTriggeredAbility;
import mage.abilities.condition.common.DeliriumCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.CreateTokenEffect;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
@@ -25,9 +25,9 @@ public final class InexorableBlob extends CardImpl {
this.power = new MageInt(3);
this.toughness = new MageInt(3);
- // Delirium — Whenever Inexorable Blob attacks and there are at least four card types among cards in your graveyard,
- // create a 3/3 green Ooze creature token tapped and attacking.
- this.addAbility(new ConditionalTriggeredAbility(new AttacksTriggeredAbility(new CreateTokenEffect(new InexorableBlobOozeToken(), 1, true, true), false),
+ // Delirium — Whenever Inexorable Blob attacks, if there are four or more card types among cards
+ // in your graveyard, create a 3/3 green Ooze creature token that’s tapped and attacking.
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(new AttacksTriggeredAbility(new CreateTokenEffect(new InexorableBlobOozeToken(), 1, true, true), false),
DeliriumCondition.instance,
"Delirium — Whenever {this} attacks and there are at least four card types among cards in your graveyard, "
+ "create a 3/3 green Ooze creature token tapped and attacking."));
diff --git a/Mage.Sets/src/mage/cards/i/InfernoHellion.java b/Mage.Sets/src/mage/cards/i/InfernoHellion.java
index d253009030e..ed2b3254f70 100644
--- a/Mage.Sets/src/mage/cards/i/InfernoHellion.java
+++ b/Mage.Sets/src/mage/cards/i/InfernoHellion.java
@@ -6,7 +6,7 @@ import mage.MageObjectReference;
import mage.abilities.Ability;
import mage.abilities.common.BeginningOfEndStepTriggeredAbility;
import mage.abilities.condition.Condition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.ShuffleIntoLibrarySourceEffect;
import mage.constants.SubType;
import mage.abilities.keyword.TrampleAbility;
@@ -35,7 +35,7 @@ public final class InfernoHellion extends CardImpl {
this.addAbility(TrampleAbility.getInstance());
// At the beginning of each end step, if Inferno Hellion attacked or blocked this turn, its owner shuffles it into their library.
- Ability ability = new ConditionalTriggeredAbility(
+ Ability ability = new ConditionalInterveningIfTriggeredAbility(
new BeginningOfEndStepTriggeredAbility(
new ShuffleIntoLibrarySourceEffect(),
TargetController.ANY, false
diff --git a/Mage.Sets/src/mage/cards/i/InstigatorGang.java b/Mage.Sets/src/mage/cards/i/InstigatorGang.java
index e8ed7864c4f..acd165ce41e 100644
--- a/Mage.Sets/src/mage/cards/i/InstigatorGang.java
+++ b/Mage.Sets/src/mage/cards/i/InstigatorGang.java
@@ -9,7 +9,7 @@ import mage.abilities.common.SimpleStaticAbility;
import mage.abilities.condition.common.NoSpellsWereCastLastTurnCondition;
import mage.abilities.condition.common.TransformedCondition;
import mage.abilities.decorator.ConditionalContinuousEffect;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.TransformSourceEffect;
import mage.abilities.effects.common.continuous.BoostControlledEffect;
import mage.abilities.keyword.TransformAbility;
@@ -44,7 +44,7 @@ public final class InstigatorGang extends CardImpl {
// At the beginning of each upkeep, if no spells were cast last turn, transform Instigator Gang.
this.addAbility(new TransformAbility());
TriggeredAbility ability = new BeginningOfUpkeepTriggeredAbility(new TransformSourceEffect(true), TargetController.ANY, false);
- this.addAbility(new ConditionalTriggeredAbility(ability, NoSpellsWereCastLastTurnCondition.instance, TransformAbility.NO_SPELLS_TRANSFORM_RULE));
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, NoSpellsWereCastLastTurnCondition.instance, TransformAbility.NO_SPELLS_TRANSFORM_RULE));
}
public InstigatorGang(final InstigatorGang card) {
diff --git a/Mage.Sets/src/mage/cards/i/IronFistOfTheEmpire.java b/Mage.Sets/src/mage/cards/i/IronFistOfTheEmpire.java
index 152169b6da6..60232b0c503 100644
--- a/Mage.Sets/src/mage/cards/i/IronFistOfTheEmpire.java
+++ b/Mage.Sets/src/mage/cards/i/IronFistOfTheEmpire.java
@@ -6,7 +6,7 @@ import mage.abilities.Ability;
import mage.abilities.TriggeredAbility;
import mage.abilities.common.BeginningOfEndStepTriggeredAbility;
import mage.abilities.condition.common.HateCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.CreateTokenEffect;
import mage.abilities.effects.common.GainLifeEffect;
import mage.cards.CardImpl;
@@ -28,7 +28,7 @@ public final class IronFistOfTheEmpire extends CardImpl {
// Hate — At the beggining of each end step, if opponent lost life from a source other than combat damage this turn, you gain 2 life and create a 2/2 red Soldier creature token with first strike name Royal Guard.
TriggeredAbility triggeredAbility = new BeginningOfEndStepTriggeredAbility(new GainLifeEffect(2), TargetController.ANY, false);
triggeredAbility.addEffect(new CreateTokenEffect(new RoyalGuardToken()));
- Ability ability = new ConditionalTriggeredAbility(
+ Ability ability = new ConditionalInterveningIfTriggeredAbility(
triggeredAbility,
HateCondition.instance,
"Hate — At the beggining of each end step, if opponent lost life from a source other than combat damage this turn, you gain 1 life and create a 2/2 red Soldier creature token with first strike named Royal Guard.");
diff --git a/Mage.Sets/src/mage/cards/i/Ironfang.java b/Mage.Sets/src/mage/cards/i/Ironfang.java
index 1b5bc3b5c33..3f286f4a346 100644
--- a/Mage.Sets/src/mage/cards/i/Ironfang.java
+++ b/Mage.Sets/src/mage/cards/i/Ironfang.java
@@ -6,7 +6,7 @@ import mage.MageInt;
import mage.abilities.TriggeredAbility;
import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
import mage.abilities.condition.common.TwoOrMoreSpellsWereCastLastTurnCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.TransformSourceEffect;
import mage.abilities.keyword.FirstStrikeAbility;
import mage.abilities.keyword.TransformAbility;
@@ -37,7 +37,7 @@ public final class Ironfang extends CardImpl {
// At the beginning of each upkeep, if a player cast two or more spells last turn, transform Ironfang.
TriggeredAbility ability = new BeginningOfUpkeepTriggeredAbility(new TransformSourceEffect(false), TargetController.ANY, false);
- this.addAbility(new ConditionalTriggeredAbility(ability, TwoOrMoreSpellsWereCastLastTurnCondition.instance, TransformAbility.TWO_OR_MORE_SPELLS_TRANSFORM_RULE));
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, TwoOrMoreSpellsWereCastLastTurnCondition.instance, TransformAbility.TWO_OR_MORE_SPELLS_TRANSFORM_RULE));
}
public Ironfang(final Ironfang card) {
diff --git a/Mage.Sets/src/mage/cards/i/IshkanahGrafwidow.java b/Mage.Sets/src/mage/cards/i/IshkanahGrafwidow.java
index 4a9b01705ad..c130b759ab2 100644
--- a/Mage.Sets/src/mage/cards/i/IshkanahGrafwidow.java
+++ b/Mage.Sets/src/mage/cards/i/IshkanahGrafwidow.java
@@ -8,7 +8,7 @@ import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.common.SimpleActivatedAbility;
import mage.abilities.condition.common.DeliriumCondition;
import mage.abilities.costs.mana.ManaCostsImpl;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.dynamicvalue.common.PermanentsOnBattlefieldCount;
import mage.abilities.effects.common.CreateTokenEffect;
import mage.abilities.effects.common.LoseLifeTargetEffect;
@@ -48,7 +48,7 @@ public final class IshkanahGrafwidow extends CardImpl {
// Delirium &mdash When Ishkanah, Grafwidow enters the battlefield, if there are four or more card types among cards in your graveyard,
// create three 1/2 green Spider creature tokens with reach.
- Ability ability = new ConditionalTriggeredAbility(
+ Ability ability = new ConditionalInterveningIfTriggeredAbility(
new EntersBattlefieldTriggeredAbility(new CreateTokenEffect(new SpiderToken(), 3), false),
DeliriumCondition.instance,
"Delirium — When {this} enters the battlefield, if there are four or more card types among cards in your graveyard, "
diff --git a/Mage.Sets/src/mage/cards/i/IvoryCraneNetsuke.java b/Mage.Sets/src/mage/cards/i/IvoryCraneNetsuke.java
index 36b0c37501a..aad52a0c1fa 100644
--- a/Mage.Sets/src/mage/cards/i/IvoryCraneNetsuke.java
+++ b/Mage.Sets/src/mage/cards/i/IvoryCraneNetsuke.java
@@ -5,7 +5,7 @@ import java.util.UUID;
import mage.abilities.TriggeredAbility;
import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
import mage.abilities.condition.common.CardsInHandCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.GainLifeEffect;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
@@ -26,7 +26,7 @@ public final class IvoryCraneNetsuke extends CardImpl {
// At the beginning of your upkeep, if you have seven or more cards in hand, you gain 4 life.
TriggeredAbility ability = new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, new GainLifeEffect(4), TargetController.YOU, false);
CardsInHandCondition condition = new CardsInHandCondition(ComparisonType.MORE_THAN, 6);
- this.addAbility(new ConditionalTriggeredAbility(ability, condition, "At the beginning of your upkeep, if you have seven or more cards in hand, you gain 4 life."));
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, condition, "At the beginning of your upkeep, if you have seven or more cards in hand, you gain 4 life."));
}
diff --git a/Mage.Sets/src/mage/cards/j/JaggedPoppet.java b/Mage.Sets/src/mage/cards/j/JaggedPoppet.java
index 28bc808cdbc..00203c6848b 100644
--- a/Mage.Sets/src/mage/cards/j/JaggedPoppet.java
+++ b/Mage.Sets/src/mage/cards/j/JaggedPoppet.java
@@ -7,7 +7,7 @@ import mage.abilities.Ability;
import mage.abilities.common.DealsCombatDamageToAPlayerTriggeredAbility;
import mage.abilities.common.DealtDamageToSourceTriggeredAbility;
import mage.abilities.condition.common.HellbentCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.OneShotEffect;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
@@ -37,7 +37,7 @@ public final class JaggedPoppet extends CardImpl {
this.addAbility(new DealtDamageToSourceTriggeredAbility(Zone.BATTLEFIELD, new JaggedPoppetDealtDamageEffect(), false, false, true));
// Hellbent - Whenever Jagged Poppet deals combat damage to a player, if you have no cards in hand, that player discards cards equal to the damage.
- Ability hellbentAbility = new ConditionalTriggeredAbility(
+ Ability hellbentAbility = new ConditionalInterveningIfTriggeredAbility(
new DealsCombatDamageToAPlayerTriggeredAbility(new JaggedPoppetDealsDamageEffect(), false, true),
HellbentCondition.instance,
"Hellbent — Whenever {this} deals combat damage to a player, if you have no cards in hand, that player discards cards equal to the damage.");
diff --git a/Mage.Sets/src/mage/cards/j/JeeringInstigator.java b/Mage.Sets/src/mage/cards/j/JeeringInstigator.java
index 182b5a8577a..d0c8ab237b8 100644
--- a/Mage.Sets/src/mage/cards/j/JeeringInstigator.java
+++ b/Mage.Sets/src/mage/cards/j/JeeringInstigator.java
@@ -7,7 +7,7 @@ import mage.abilities.Ability;
import mage.abilities.common.TurnedFaceUpSourceTriggeredAbility;
import mage.abilities.condition.common.MyTurnCondition;
import mage.abilities.costs.mana.ManaCostsImpl;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.Effect;
import mage.abilities.effects.common.UntapTargetEffect;
import mage.abilities.effects.common.continuous.GainAbilityTargetEffect;
@@ -46,7 +46,7 @@ public final class JeeringInstigator extends CardImpl {
this.addAbility(new MorphAbility(this, new ManaCostsImpl<>("{2}{R}")));
// When Jeering Instigator is turned face up, if it's your turn, gain control of another target creature until end of turn. Untap it. That creature gains haste until end of turn.
- Ability ability = new ConditionalTriggeredAbility(
+ Ability ability = new ConditionalInterveningIfTriggeredAbility(
new TurnedFaceUpSourceTriggeredAbility(new GainControlTargetEffect(Duration.EndOfTurn),false, false),
MyTurnCondition.instance,
"When {this} is turned face up, if it's your turn, gain control of another target creature until end of turn. Untap that creature. It gains haste until end of turn.");
diff --git a/Mage.Sets/src/mage/cards/j/JosuVessLichKnight.java b/Mage.Sets/src/mage/cards/j/JosuVessLichKnight.java
index 4de6ec003a5..b9f4e55732a 100644
--- a/Mage.Sets/src/mage/cards/j/JosuVessLichKnight.java
+++ b/Mage.Sets/src/mage/cards/j/JosuVessLichKnight.java
@@ -4,7 +4,7 @@ package mage.cards.j;
import mage.MageInt;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.condition.common.KickedCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.CreateTokenEffect;
import mage.abilities.keyword.KickerAbility;
import mage.abilities.keyword.MenaceAbility;
@@ -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 ConditionalTriggeredAbility(ability, KickedCondition.instance,
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, KickedCondition.instance,
"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 e0ecedad84f..fcc5372b8c3 100644
--- a/Mage.Sets/src/mage/cards/k/KangeeAerieKeeper.java
+++ b/Mage.Sets/src/mage/cards/k/KangeeAerieKeeper.java
@@ -8,7 +8,7 @@ import mage.abilities.TriggeredAbility;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.common.SimpleStaticAbility;
import mage.abilities.condition.common.KickedCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.dynamicvalue.DynamicValue;
import mage.abilities.dynamicvalue.common.CountersSourceCount;
import mage.abilities.effects.Effect;
@@ -56,7 +56,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(), new KangeeAerieKeeperGetKickerXValue(), true));
- this.addAbility(new ConditionalTriggeredAbility(ability, KickedCondition.instance, "When {this} enters the battlefield, if it was kicked, put X feather counters on it."));
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, KickedCondition.instance, "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/KarplusanHound.java b/Mage.Sets/src/mage/cards/k/KarplusanHound.java
index f7edee0196c..3a476915663 100644
--- a/Mage.Sets/src/mage/cards/k/KarplusanHound.java
+++ b/Mage.Sets/src/mage/cards/k/KarplusanHound.java
@@ -6,7 +6,7 @@ import mage.MageInt;
import mage.abilities.Ability;
import mage.abilities.common.AttacksTriggeredAbility;
import mage.abilities.condition.common.PermanentsOnTheBattlefieldCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.DamageTargetEffect;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
@@ -31,7 +31,7 @@ public final class KarplusanHound extends CardImpl {
FilterPlaneswalkerPermanent filter = new FilterPlaneswalkerPermanent("a Chandra planeswalker");
filter.add(new SubtypePredicate(SubType.CHANDRA));
// Whenever Karplusan Hound attacks, if you control a Chandra planeswalker, this creature deals 2 damage to any target.
- Ability ability = new ConditionalTriggeredAbility(
+ Ability ability = new ConditionalInterveningIfTriggeredAbility(
new AttacksTriggeredAbility(new DamageTargetEffect(2), false),
new PermanentsOnTheBattlefieldCondition(filter),
"if you control a Chandra planeswalker, "
diff --git a/Mage.Sets/src/mage/cards/k/KeeperOfKeys.java b/Mage.Sets/src/mage/cards/k/KeeperOfKeys.java
index c691e2716a8..6ef30fb6b0b 100644
--- a/Mage.Sets/src/mage/cards/k/KeeperOfKeys.java
+++ b/Mage.Sets/src/mage/cards/k/KeeperOfKeys.java
@@ -6,7 +6,7 @@ import mage.MageInt;
import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.condition.common.MonarchIsSourceControllerCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.BecomesMonarchSourceEffect;
import mage.abilities.effects.common.combat.CantBeBlockedAllEffect;
import mage.cards.CardImpl;
@@ -37,7 +37,7 @@ public final class KeeperOfKeys extends CardImpl {
this.addAbility(new EntersBattlefieldTriggeredAbility(new BecomesMonarchSourceEffect(), false));
// At the beginning of your upkeep, if you're the monarch, creatures you control can't be blocked this turn.
- this.addAbility(new ConditionalTriggeredAbility(new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD,
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD,
new CantBeBlockedAllEffect(new FilterControlledCreaturePermanent("creatures you control"), Duration.EndOfTurn),
TargetController.YOU, false), MonarchIsSourceControllerCondition.instance,
"At the beginning of your upkeep, if you're the monarch, creatures you control can't be blocked this turn."));
diff --git a/Mage.Sets/src/mage/cards/k/KeldonBerserker.java b/Mage.Sets/src/mage/cards/k/KeldonBerserker.java
index 734dfa41a4e..f2cf9c195ce 100644
--- a/Mage.Sets/src/mage/cards/k/KeldonBerserker.java
+++ b/Mage.Sets/src/mage/cards/k/KeldonBerserker.java
@@ -6,7 +6,7 @@ import mage.MageInt;
import mage.abilities.common.AttacksTriggeredAbility;
import mage.abilities.condition.InvertCondition;
import mage.abilities.condition.common.PermanentsOnTheBattlefieldCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.continuous.BoostSourceEffect;
import mage.constants.SubType;
import mage.cards.CardImpl;
@@ -39,7 +39,7 @@ public final class KeldonBerserker extends CardImpl {
this.toughness = new MageInt(3);
// Whenever Keldon Berserker attacks, if you control no untapped lands, it gets +3/+0 until end of turn.
- this.addAbility(new ConditionalTriggeredAbility(
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(
new AttacksTriggeredAbility(new BoostSourceEffect(3, 0, Duration.EndOfTurn), false),
new InvertCondition(new PermanentsOnTheBattlefieldCondition(filter)),
"Whenever {this} attacks, if you control no untapped lands, it gets +3/+0 until end of turn."
diff --git a/Mage.Sets/src/mage/cards/k/KeldonOverseer.java b/Mage.Sets/src/mage/cards/k/KeldonOverseer.java
index 9999e6d4a32..191dcdc371d 100644
--- a/Mage.Sets/src/mage/cards/k/KeldonOverseer.java
+++ b/Mage.Sets/src/mage/cards/k/KeldonOverseer.java
@@ -6,7 +6,7 @@ import mage.MageInt;
import mage.abilities.TriggeredAbility;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.condition.common.KickedCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.UntapTargetEffect;
import mage.abilities.effects.common.continuous.GainAbilityTargetEffect;
import mage.abilities.effects.common.continuous.GainControlTargetEffect;
@@ -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 ConditionalTriggeredAbility(ability, KickedCondition.instance,
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, KickedCondition.instance,
"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/KessigForgemaster.java b/Mage.Sets/src/mage/cards/k/KessigForgemaster.java
index 34f60d6cebf..106b0024a52 100644
--- a/Mage.Sets/src/mage/cards/k/KessigForgemaster.java
+++ b/Mage.Sets/src/mage/cards/k/KessigForgemaster.java
@@ -7,7 +7,7 @@ import mage.abilities.TriggeredAbility;
import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
import mage.abilities.common.BlocksOrBecomesBlockedTriggeredAbility;
import mage.abilities.condition.common.NoSpellsWereCastLastTurnCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.DamageTargetEffect;
import mage.abilities.effects.common.TransformSourceEffect;
import mage.abilities.keyword.TransformAbility;
@@ -43,7 +43,7 @@ public final class KessigForgemaster extends CardImpl {
// At the beginning of each upkeep, if no spells were cast last turn, transform Kessig Forgemaster.
this.addAbility(new TransformAbility());
TriggeredAbility ability = new BeginningOfUpkeepTriggeredAbility(new TransformSourceEffect(true), TargetController.ANY, false);
- this.addAbility(new ConditionalTriggeredAbility(ability, NoSpellsWereCastLastTurnCondition.instance, TransformAbility.NO_SPELLS_TRANSFORM_RULE));
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, NoSpellsWereCastLastTurnCondition.instance, TransformAbility.NO_SPELLS_TRANSFORM_RULE));
}
diff --git a/Mage.Sets/src/mage/cards/k/Kezzerdrix.java b/Mage.Sets/src/mage/cards/k/Kezzerdrix.java
index a9332500362..a27b8dd727c 100644
--- a/Mage.Sets/src/mage/cards/k/Kezzerdrix.java
+++ b/Mage.Sets/src/mage/cards/k/Kezzerdrix.java
@@ -5,7 +5,7 @@ import java.util.UUID;
import mage.MageInt;
import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
import mage.abilities.condition.common.CreatureCountCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.DamageControllerEffect;
import mage.abilities.keyword.FirstStrikeAbility;
import mage.cards.CardImpl;
@@ -33,7 +33,7 @@ public final class Kezzerdrix extends CardImpl {
this.addAbility(FirstStrikeAbility.getInstance());
// At the beginning of your upkeep, if your opponents control no creatures, Kezzerdrix deals 4 damage to you.
- this.addAbility(new ConditionalTriggeredAbility(
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(
new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, new DamageControllerEffect(4), TargetController.YOU, false),
new CreatureCountCondition(0, TargetController.OPPONENT),
"At the beginning of your upkeep, if your opponents control no creatures, {this} deals 4 damage to you."));
diff --git a/Mage.Sets/src/mage/cards/k/KitsuneMystic.java b/Mage.Sets/src/mage/cards/k/KitsuneMystic.java
index 04856fb1d74..0685884b6d2 100644
--- a/Mage.Sets/src/mage/cards/k/KitsuneMystic.java
+++ b/Mage.Sets/src/mage/cards/k/KitsuneMystic.java
@@ -8,7 +8,7 @@ import mage.abilities.common.OnEventTriggeredAbility;
import mage.abilities.common.SimpleActivatedAbility;
import mage.abilities.condition.common.EnchantedSourceCondition;
import mage.abilities.costs.mana.GenericManaCost;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.OneShotEffect;
import mage.abilities.effects.common.FlipSourceEffect;
import mage.cards.CardImpl;
@@ -21,7 +21,6 @@ import mage.game.Game;
import mage.game.events.GameEvent;
import mage.game.permanent.Permanent;
import mage.game.permanent.token.TokenImpl;
-import mage.game.permanent.token.Token;
import mage.target.TargetPermanent;
import mage.target.common.TargetCreaturePermanent;
@@ -42,7 +41,7 @@ public final class KitsuneMystic extends CardImpl {
this.flipCardName = "Autumn-Tail, Kitsune Sage";
// At the beginning of the end step, if Kitsune Mystic is enchanted by two or more Auras, flip it.
- this.addAbility(new ConditionalTriggeredAbility(
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(
new OnEventTriggeredAbility(GameEvent.EventType.END_TURN_STEP_PRE, "beginning of the end step", true, new FlipSourceEffect(new AutumnTailKitsuneSage())),
new EnchantedSourceCondition(2), "At the beginning of the end step, if {this} is enchanted by two or more Auras, flip it."));
}
diff --git a/Mage.Sets/src/mage/cards/k/KiyomaroFirstToStand.java b/Mage.Sets/src/mage/cards/k/KiyomaroFirstToStand.java
index d778835c8c6..f352b996234 100644
--- a/Mage.Sets/src/mage/cards/k/KiyomaroFirstToStand.java
+++ b/Mage.Sets/src/mage/cards/k/KiyomaroFirstToStand.java
@@ -9,7 +9,7 @@ import mage.abilities.common.SimpleStaticAbility;
import mage.abilities.condition.Condition;
import mage.abilities.condition.common.CardsInHandCondition;
import mage.abilities.decorator.ConditionalContinuousEffect;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.dynamicvalue.DynamicValue;
import mage.abilities.dynamicvalue.common.CardsInControllerHandCount;
import mage.abilities.effects.Effect;
@@ -54,7 +54,7 @@ public final class KiyomaroFirstToStand extends CardImpl {
this.addAbility(ability);
// Whenever Kiyomaro deals damage, if you have seven or more cards in hand, you gain 7 life.
- this.addAbility(new ConditionalTriggeredAbility(
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(
new KiyomaroFirstToStandDealsDamageTriggeredAbility(),
new CardsInHandCondition(ComparisonType.MORE_THAN, 6),
"Whenever {this} deals damage, if you have seven or more cards in hand, you gain 7 life"
diff --git a/Mage.Sets/src/mage/cards/k/KjeldoranHomeGuard.java b/Mage.Sets/src/mage/cards/k/KjeldoranHomeGuard.java
index 8069a3b5e50..9aaa09e8c4a 100644
--- a/Mage.Sets/src/mage/cards/k/KjeldoranHomeGuard.java
+++ b/Mage.Sets/src/mage/cards/k/KjeldoranHomeGuard.java
@@ -6,7 +6,7 @@ import mage.MageInt;
import mage.abilities.Ability;
import mage.abilities.common.EndOfCombatTriggeredAbility;
import mage.abilities.condition.common.AttackedOrBlockedThisCombatSourceCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.CreateTokenEffect;
import mage.abilities.effects.common.counter.AddCountersSourceEffect;
import mage.constants.SubType;
@@ -32,7 +32,7 @@ public final class KjeldoranHomeGuard extends CardImpl {
this.toughness = new MageInt(6);
// At end of combat, if Kjeldoran Home Guard attacked or blocked this combat, put a -0/-1 counter on Kjeldoran Home Guard and put a 0/1 white Deserter creature token onto the battlefield.
- Ability ability = new ConditionalTriggeredAbility(
+ Ability ability = new ConditionalInterveningIfTriggeredAbility(
new EndOfCombatTriggeredAbility(new AddCountersSourceEffect(new BoostCounter(0, -1)), false),
AttackedOrBlockedThisCombatSourceCondition.instance,
"At end of combat, if {this} attacked or blocked this combat, put a -0/-1 counter on {this} and create a 0/1 white Deserter creature token.");
diff --git a/Mage.Sets/src/mage/cards/k/KnightOfTheWhiteOrchid.java b/Mage.Sets/src/mage/cards/k/KnightOfTheWhiteOrchid.java
index f2cefef40bb..23438bfc9ea 100644
--- a/Mage.Sets/src/mage/cards/k/KnightOfTheWhiteOrchid.java
+++ b/Mage.Sets/src/mage/cards/k/KnightOfTheWhiteOrchid.java
@@ -6,7 +6,7 @@ import java.util.UUID;
import mage.MageInt;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.condition.common.OpponentControlsMoreCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.search.SearchLibraryPutInPlayEffect;
import mage.abilities.keyword.FirstStrikeAbility;
import mage.cards.CardImpl;
@@ -35,7 +35,7 @@ public final class KnightOfTheWhiteOrchid extends CardImpl {
this.addAbility(FirstStrikeAbility.getInstance());
// When Knight of the White Orchid enters the battlefield, if an opponent controls more lands than you, you may search your library for a Plains card, put it onto the battlefield, then shuffle your library.
- this.addAbility(new ConditionalTriggeredAbility(
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(
new EntersBattlefieldTriggeredAbility(new SearchLibraryPutInPlayEffect(new TargetCardInLibrary(0, 1, new FilterBySubtypeCard(SubType.PLAINS)), false), true),
new OpponentControlsMoreCondition(StaticFilters.FILTER_LANDS),
"When {this} enters the battlefield, if an opponent controls more lands than you, you may search your library for a Plains card, put it onto the battlefield, then shuffle your library"));
diff --git a/Mage.Sets/src/mage/cards/k/Kookus.java b/Mage.Sets/src/mage/cards/k/Kookus.java
index 7facaf44c8a..dadaa25fd9b 100644
--- a/Mage.Sets/src/mage/cards/k/Kookus.java
+++ b/Mage.Sets/src/mage/cards/k/Kookus.java
@@ -9,7 +9,7 @@ import mage.abilities.common.SimpleActivatedAbility;
import mage.abilities.condition.InvertCondition;
import mage.abilities.condition.common.PermanentsOnTheBattlefieldCondition;
import mage.abilities.costs.mana.ColoredManaCost;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.DamageControllerEffect;
import mage.abilities.effects.common.combat.AttacksIfAbleSourceEffect;
import mage.abilities.effects.common.continuous.BoostSourceEffect;
@@ -50,7 +50,7 @@ public final class Kookus extends CardImpl {
// At the beginning of your upkeep, if you don't control a creature named Keeper of Kookus, Kookus deals 3 damage to you and attacks this turn if able.
TriggeredAbility ability = new BeginningOfUpkeepTriggeredAbility(new DamageControllerEffect(3), TargetController.YOU, false);
ability.addEffect(new AttacksIfAbleSourceEffect(Duration.EndOfTurn));
- this.addAbility(new ConditionalTriggeredAbility(
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(
ability,
new InvertCondition(new PermanentsOnTheBattlefieldCondition(filter)),
"At the beginning of your upkeep, "
diff --git a/Mage.Sets/src/mage/cards/k/KorAeronaut.java b/Mage.Sets/src/mage/cards/k/KorAeronaut.java
index 6eb4d18b613..b104e6d0e4d 100644
--- a/Mage.Sets/src/mage/cards/k/KorAeronaut.java
+++ b/Mage.Sets/src/mage/cards/k/KorAeronaut.java
@@ -5,7 +5,7 @@ import java.util.UUID;
import mage.MageInt;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.condition.common.KickedCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.continuous.GainAbilityTargetEffect;
import mage.abilities.keyword.FlyingAbility;
import mage.abilities.keyword.KickerAbility;
@@ -29,15 +29,17 @@ public final class KorAeronaut extends CardImpl {
this.power = new MageInt(2);
this.toughness = new MageInt(2);
-
+
+ //Kicker {1}{W} (You may pay an additional {1}{W} as you cast this spell.)
this.addAbility(new KickerAbility("{1}{W}"));
-
+ //Flying
this.addAbility(FlyingAbility.getInstance());
+ //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 ConditionalTriggeredAbility(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.instance, "When {this} enters the battlefield, if it was kicked, target creature gains flying until end of turn."));
}
public 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 599ea6fd112..001dfde7840 100644
--- a/Mage.Sets/src/mage/cards/k/KorSanctifiers.java
+++ b/Mage.Sets/src/mage/cards/k/KorSanctifiers.java
@@ -4,7 +4,7 @@ package mage.cards.k;
import mage.MageInt;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.condition.common.KickedCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.DestroyTargetEffect;
import mage.abilities.keyword.KickerAbility;
import mage.cards.CardImpl;
@@ -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 ConditionalTriggeredAbility(ability, KickedCondition.instance, "When {this} enters the battlefield, if it was kicked, destroy target artifact or enchantment."));
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, KickedCondition.instance, "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/KozilekTheGreatDistortion.java b/Mage.Sets/src/mage/cards/k/KozilekTheGreatDistortion.java
index 44795b19bb7..693c957fee0 100644
--- a/Mage.Sets/src/mage/cards/k/KozilekTheGreatDistortion.java
+++ b/Mage.Sets/src/mage/cards/k/KozilekTheGreatDistortion.java
@@ -10,7 +10,7 @@ import mage.abilities.common.SimpleActivatedAbility;
import mage.abilities.condition.common.CardsInHandCondition;
import mage.abilities.costs.Cost;
import mage.abilities.costs.CostImpl;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.OneShotEffect;
import mage.abilities.effects.common.CastSourceTriggeredAbility;
import mage.abilities.effects.common.CounterTargetEffect;
@@ -48,7 +48,7 @@ public final class KozilekTheGreatDistortion extends CardImpl {
this.toughness = new MageInt(12);
// When you cast Kozilek, the Great Distortion, if you have fewer than seven cards in hand, draw cards equal to the difference.
- this.addAbility(new ConditionalTriggeredAbility(
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(
new CastSourceTriggeredAbility(new KozilekDrawEffect(), false),
new CardsInHandCondition(ComparisonType.FEWER_THAN, 7),
"When you cast {this}, if you have fewer than seven cards in hand, draw cards equal to the difference."));
diff --git a/Mage.Sets/src/mage/cards/k/KrallenhordeHowler.java b/Mage.Sets/src/mage/cards/k/KrallenhordeHowler.java
index 6164caecd6a..9da97bde55e 100644
--- a/Mage.Sets/src/mage/cards/k/KrallenhordeHowler.java
+++ b/Mage.Sets/src/mage/cards/k/KrallenhordeHowler.java
@@ -7,7 +7,7 @@ import mage.abilities.TriggeredAbility;
import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
import mage.abilities.common.SimpleStaticAbility;
import mage.abilities.condition.common.TwoOrMoreSpellsWereCastLastTurnCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.TransformSourceEffect;
import mage.abilities.effects.common.cost.SpellsCostReductionControllerEffect;
import mage.abilities.keyword.TransformAbility;
@@ -49,7 +49,7 @@ public final class KrallenhordeHowler extends CardImpl {
// At the beginning of each upkeep, if a player cast two or more spells last turn, transform Krallenhorde Howler.
TriggeredAbility ability = new BeginningOfUpkeepTriggeredAbility(new TransformSourceEffect(false), TargetController.ANY, false);
- this.addAbility(new ConditionalTriggeredAbility(ability, TwoOrMoreSpellsWereCastLastTurnCondition.instance, TransformAbility.TWO_OR_MORE_SPELLS_TRANSFORM_RULE));
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, TwoOrMoreSpellsWereCastLastTurnCondition.instance, TransformAbility.TWO_OR_MORE_SPELLS_TRANSFORM_RULE));
}
public KrallenhordeHowler(final KrallenhordeHowler card) {
diff --git a/Mage.Sets/src/mage/cards/k/KrallenhordeKiller.java b/Mage.Sets/src/mage/cards/k/KrallenhordeKiller.java
index ae106b0661e..72afe531b15 100644
--- a/Mage.Sets/src/mage/cards/k/KrallenhordeKiller.java
+++ b/Mage.Sets/src/mage/cards/k/KrallenhordeKiller.java
@@ -8,7 +8,7 @@ import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
import mage.abilities.common.LimitedTimesPerTurnActivatedAbility;
import mage.abilities.condition.common.TwoOrMoreSpellsWereCastLastTurnCondition;
import mage.abilities.costs.mana.ManaCostsImpl;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.TransformSourceEffect;
import mage.abilities.effects.common.continuous.BoostSourceEffect;
import mage.abilities.keyword.TransformAbility;
@@ -38,7 +38,7 @@ public final class KrallenhordeKiller extends CardImpl {
// At the beginning of each upkeep, if a player cast two or more spells last turn, transform Krallenhorde Killer.
TriggeredAbility ability = new BeginningOfUpkeepTriggeredAbility(new TransformSourceEffect(false), TargetController.ANY, false);
- this.addAbility(new ConditionalTriggeredAbility(ability, TwoOrMoreSpellsWereCastLastTurnCondition.instance, TransformAbility.TWO_OR_MORE_SPELLS_TRANSFORM_RULE));
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, TwoOrMoreSpellsWereCastLastTurnCondition.instance, TransformAbility.TWO_OR_MORE_SPELLS_TRANSFORM_RULE));
}
public KrallenhordeKiller(final KrallenhordeKiller card) {
diff --git a/Mage.Sets/src/mage/cards/k/KrallenhordeWantons.java b/Mage.Sets/src/mage/cards/k/KrallenhordeWantons.java
index b499988e5ea..7ba04f05f4a 100644
--- a/Mage.Sets/src/mage/cards/k/KrallenhordeWantons.java
+++ b/Mage.Sets/src/mage/cards/k/KrallenhordeWantons.java
@@ -6,7 +6,7 @@ import mage.MageInt;
import mage.abilities.TriggeredAbility;
import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
import mage.abilities.condition.common.TwoOrMoreSpellsWereCastLastTurnCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.TransformSourceEffect;
import mage.abilities.keyword.TransformAbility;
import mage.cards.CardImpl;
@@ -35,7 +35,7 @@ public final class KrallenhordeWantons extends CardImpl {
// At the beginning of each upkeep, if a player cast two or more spells last turn, transform Krallenhorde Wantons.
TriggeredAbility ability = new BeginningOfUpkeepTriggeredAbility(new TransformSourceEffect(false), TargetController.ANY, false);
- this.addAbility(new ConditionalTriggeredAbility(ability, TwoOrMoreSpellsWereCastLastTurnCondition.instance, TransformAbility.TWO_OR_MORE_SPELLS_TRANSFORM_RULE));
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, TwoOrMoreSpellsWereCastLastTurnCondition.instance, TransformAbility.TWO_OR_MORE_SPELLS_TRANSFORM_RULE));
}
public KrallenhordeWantons(final KrallenhordeWantons card) {
diff --git a/Mage.Sets/src/mage/cards/k/KrondTheDawnClad.java b/Mage.Sets/src/mage/cards/k/KrondTheDawnClad.java
index 418e49adf94..562c6264002 100644
--- a/Mage.Sets/src/mage/cards/k/KrondTheDawnClad.java
+++ b/Mage.Sets/src/mage/cards/k/KrondTheDawnClad.java
@@ -6,7 +6,7 @@ import mage.MageInt;
import mage.abilities.Ability;
import mage.abilities.common.AttacksTriggeredAbility;
import mage.abilities.condition.common.EnchantedSourceCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.ExileTargetEffect;
import mage.abilities.keyword.FlyingAbility;
import mage.abilities.keyword.VigilanceAbility;
@@ -36,7 +36,7 @@ public final class KrondTheDawnClad extends CardImpl {
this.addAbility(VigilanceAbility.getInstance());
// Whenever Krond the Dawn-Clad attacks, if it's enchanted, exile target permanent.
- Ability ability = new ConditionalTriggeredAbility(
+ Ability ability = new ConditionalInterveningIfTriggeredAbility(
new AttacksTriggeredAbility(new ExileTargetEffect(), false),
new EnchantedSourceCondition(),
"Whenever {this} attacks, if it's enchanted, exile target permanent.");
diff --git a/Mage.Sets/src/mage/cards/k/KrosanDruid.java b/Mage.Sets/src/mage/cards/k/KrosanDruid.java
index 03136866af7..13d414e9c51 100644
--- a/Mage.Sets/src/mage/cards/k/KrosanDruid.java
+++ b/Mage.Sets/src/mage/cards/k/KrosanDruid.java
@@ -5,7 +5,7 @@ import java.util.UUID;
import mage.MageInt;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.condition.common.KickedCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.GainLifeEffect;
import mage.abilities.keyword.KickerAbility;
import mage.constants.SubType;
@@ -31,7 +31,7 @@ public final class KrosanDruid extends CardImpl {
this.addAbility(new KickerAbility("{4}{G}"));
// When Krosan Druid enters the battlefield, if it was kicked, you gain 10 life.
- this.addAbility(new ConditionalTriggeredAbility(
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(
new EntersBattlefieldTriggeredAbility(new GainLifeEffect(10)),
KickedCondition.instance,
"When {this} enters the battlefield, if it was kicked, you gain 10 life"
diff --git a/Mage.Sets/src/mage/cards/k/KruinOutlaw.java b/Mage.Sets/src/mage/cards/k/KruinOutlaw.java
index 7864aea44fb..53b0f8b4b66 100644
--- a/Mage.Sets/src/mage/cards/k/KruinOutlaw.java
+++ b/Mage.Sets/src/mage/cards/k/KruinOutlaw.java
@@ -6,7 +6,7 @@ import mage.MageInt;
import mage.abilities.TriggeredAbility;
import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
import mage.abilities.condition.common.NoSpellsWereCastLastTurnCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.TransformSourceEffect;
import mage.abilities.keyword.FirstStrikeAbility;
import mage.abilities.keyword.TransformAbility;
@@ -39,7 +39,7 @@ public final class KruinOutlaw extends CardImpl {
// At the beginning of each upkeep, if no spells were cast last turn, transform Kruin Outlaw.
this.addAbility(new TransformAbility());
TriggeredAbility ability = new BeginningOfUpkeepTriggeredAbility(new TransformSourceEffect(true), TargetController.ANY, false);
- this.addAbility(new ConditionalTriggeredAbility(ability, NoSpellsWereCastLastTurnCondition.instance, TransformAbility.NO_SPELLS_TRANSFORM_RULE));
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, NoSpellsWereCastLastTurnCondition.instance, TransformAbility.NO_SPELLS_TRANSFORM_RULE));
}
public KruinOutlaw(final KruinOutlaw card) {
diff --git a/Mage.Sets/src/mage/cards/k/KytheonHeroOfAkros.java b/Mage.Sets/src/mage/cards/k/KytheonHeroOfAkros.java
index 655fa05c442..e08d2bb278b 100644
--- a/Mage.Sets/src/mage/cards/k/KytheonHeroOfAkros.java
+++ b/Mage.Sets/src/mage/cards/k/KytheonHeroOfAkros.java
@@ -10,7 +10,7 @@ import mage.abilities.common.EndOfCombatTriggeredAbility;
import mage.abilities.common.SimpleActivatedAbility;
import mage.abilities.condition.Condition;
import mage.abilities.costs.mana.ManaCostsImpl;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.ExileAndReturnTransformedSourceEffect;
import mage.abilities.effects.common.continuous.GainAbilitySourceEffect;
import mage.abilities.keyword.IndestructibleAbility;
@@ -47,7 +47,7 @@ public final class KytheonHeroOfAkros extends CardImpl {
// At end of combat, if Kytheon, Hero of Akros and at least two other creatures attacked this combat, exile Kytheon,
// then return him to the battlefield transformed under his owner's control.
this.addAbility(new TransformAbility());
- this.addAbility(new ConditionalTriggeredAbility(new EndOfCombatTriggeredAbility(new ExileAndReturnTransformedSourceEffect(Gender.MALE), false),
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(new EndOfCombatTriggeredAbility(new ExileAndReturnTransformedSourceEffect(Gender.MALE), false),
new KytheonHeroOfAkrosCondition(), "At end of combat, if {this} and at least two other creatures attacked this combat, exile {this}, "
+ "then return him to the battlefield transformed under his owner's control."), new AttackedOrBlockedThisCombatWatcher());
diff --git a/Mage.Sets/src/mage/cards/l/LagonnaBandElder.java b/Mage.Sets/src/mage/cards/l/LagonnaBandElder.java
index 7a8ba666fdf..3176c94b64c 100644
--- a/Mage.Sets/src/mage/cards/l/LagonnaBandElder.java
+++ b/Mage.Sets/src/mage/cards/l/LagonnaBandElder.java
@@ -5,7 +5,7 @@ import mage.MageInt;
import mage.abilities.Ability;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.condition.common.PermanentsOnTheBattlefieldCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.GainLifeEffect;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
@@ -29,7 +29,7 @@ public final class LagonnaBandElder extends CardImpl {
this.toughness = new MageInt(2);
// When Lagonna-Band Elder enters the battlefield, if you control an enchantment, you gain 3 life.
- Ability ability = new ConditionalTriggeredAbility(
+ Ability ability = new ConditionalInterveningIfTriggeredAbility(
new EntersBattlefieldTriggeredAbility(new GainLifeEffect(3), false),
new PermanentsOnTheBattlefieldCondition(StaticFilters.FILTER_ENCHANTMENT_PERMANENT),
"When Lagonna-Band Elder enters the battlefield, if you control an enchantment, you gain 3 life");
diff --git a/Mage.Sets/src/mage/cards/l/LambholtButcher.java b/Mage.Sets/src/mage/cards/l/LambholtButcher.java
index 663c906d0ad..e24de214799 100644
--- a/Mage.Sets/src/mage/cards/l/LambholtButcher.java
+++ b/Mage.Sets/src/mage/cards/l/LambholtButcher.java
@@ -6,7 +6,7 @@ import mage.MageInt;
import mage.abilities.TriggeredAbility;
import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
import mage.abilities.condition.common.TwoOrMoreSpellsWereCastLastTurnCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.TransformSourceEffect;
import mage.abilities.keyword.TransformAbility;
import mage.cards.CardImpl;
@@ -34,7 +34,7 @@ public final class LambholtButcher extends CardImpl {
// At the beginning of each upkeep, if a player cast two or more spells last turn, transform Lambholt Butcher.
TriggeredAbility ability = new BeginningOfUpkeepTriggeredAbility(new TransformSourceEffect(false), TargetController.ANY, false);
- this.addAbility(new ConditionalTriggeredAbility(ability, TwoOrMoreSpellsWereCastLastTurnCondition.instance, TransformAbility.TWO_OR_MORE_SPELLS_TRANSFORM_RULE));
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, TwoOrMoreSpellsWereCastLastTurnCondition.instance, TransformAbility.TWO_OR_MORE_SPELLS_TRANSFORM_RULE));
}
public LambholtButcher(final LambholtButcher card) {
diff --git a/Mage.Sets/src/mage/cards/l/LambholtElder.java b/Mage.Sets/src/mage/cards/l/LambholtElder.java
index 01c6c21ec7f..81f15b01a41 100644
--- a/Mage.Sets/src/mage/cards/l/LambholtElder.java
+++ b/Mage.Sets/src/mage/cards/l/LambholtElder.java
@@ -6,7 +6,7 @@ import mage.MageInt;
import mage.abilities.TriggeredAbility;
import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
import mage.abilities.condition.common.NoSpellsWereCastLastTurnCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.TransformSourceEffect;
import mage.abilities.keyword.TransformAbility;
import mage.cards.CardImpl;
@@ -36,7 +36,7 @@ public final class LambholtElder extends CardImpl {
// At the beginning of each upkeep, if no spells were cast last turn, transform Lambholt Elder.
this.addAbility(new TransformAbility());
TriggeredAbility ability = new BeginningOfUpkeepTriggeredAbility(new TransformSourceEffect(true), TargetController.ANY, false);
- this.addAbility(new ConditionalTriggeredAbility(ability, NoSpellsWereCastLastTurnCondition.instance, TransformAbility.NO_SPELLS_TRANSFORM_RULE));
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, NoSpellsWereCastLastTurnCondition.instance, TransformAbility.NO_SPELLS_TRANSFORM_RULE));
}
public LambholtElder(final LambholtElder card) {
diff --git a/Mage.Sets/src/mage/cards/l/LambholtPacifist.java b/Mage.Sets/src/mage/cards/l/LambholtPacifist.java
index 31941267add..b811c781ff1 100644
--- a/Mage.Sets/src/mage/cards/l/LambholtPacifist.java
+++ b/Mage.Sets/src/mage/cards/l/LambholtPacifist.java
@@ -8,7 +8,7 @@ import mage.abilities.TriggeredAbility;
import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
import mage.abilities.common.SimpleStaticAbility;
import mage.abilities.condition.common.NoSpellsWereCastLastTurnCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.RestrictionEffect;
import mage.abilities.effects.common.TransformSourceEffect;
import mage.abilities.keyword.TransformAbility;
@@ -48,7 +48,7 @@ public final class LambholtPacifist extends CardImpl {
// At the beginning of each upkeep, if no spells were cast last turn, transform Lambholt Pacifist.
this.addAbility(new TransformAbility());
TriggeredAbility ability = new BeginningOfUpkeepTriggeredAbility(new TransformSourceEffect(true), TargetController.ANY, false);
- this.addAbility(new ConditionalTriggeredAbility(ability, NoSpellsWereCastLastTurnCondition.instance, TransformAbility.NO_SPELLS_TRANSFORM_RULE));
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, NoSpellsWereCastLastTurnCondition.instance, TransformAbility.NO_SPELLS_TRANSFORM_RULE));
}
public LambholtPacifist(final LambholtPacifist card) {
diff --git a/Mage.Sets/src/mage/cards/l/LamplighterOfSelhoff.java b/Mage.Sets/src/mage/cards/l/LamplighterOfSelhoff.java
index 49bf924422e..20fcc00fcbf 100644
--- a/Mage.Sets/src/mage/cards/l/LamplighterOfSelhoff.java
+++ b/Mage.Sets/src/mage/cards/l/LamplighterOfSelhoff.java
@@ -5,7 +5,7 @@ import mage.MageInt;
import mage.abilities.TriggeredAbility;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.condition.common.PermanentsOnTheBattlefieldCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.DrawDiscardControllerEffect;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
@@ -39,7 +39,7 @@ public final class LamplighterOfSelhoff extends CardImpl {
// When Lamplighter of Selhoff enters the battlefield, if you control another Zombie, you may a draw card. If you do, discard a card.
TriggeredAbility triggeredAbility = new EntersBattlefieldTriggeredAbility(new DrawDiscardControllerEffect(1,1,true));
- this.addAbility(new ConditionalTriggeredAbility(
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(
triggeredAbility,
new PermanentsOnTheBattlefieldCondition(filter),
"When {this} enters the battlefield, if you control another Zombie, you may a draw card. If you do, discard a card."));
diff --git a/Mage.Sets/src/mage/cards/l/LandTax.java b/Mage.Sets/src/mage/cards/l/LandTax.java
index a193b62dffe..d25dd644331 100644
--- a/Mage.Sets/src/mage/cards/l/LandTax.java
+++ b/Mage.Sets/src/mage/cards/l/LandTax.java
@@ -3,7 +3,7 @@ package mage.cards.l;
import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
import mage.abilities.condition.common.OpponentControlsMoreCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.search.SearchLibraryPutInHandEffect;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
@@ -24,7 +24,7 @@ public final class LandTax extends CardImpl {
super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{W}");
// At the beginning of your upkeep, if an opponent controls more lands than you, you may search your library for up to three basic land cards, reveal them, and put them into your hand. If you do, shuffle your library.
- this.addAbility(new ConditionalTriggeredAbility(
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(
new BeginningOfUpkeepTriggeredAbility(new SearchLibraryPutInHandEffect(new TargetCardInLibrary(0, 3, StaticFilters.FILTER_CARD_BASIC_LAND), true), TargetController.YOU, true),
new OpponentControlsMoreCondition(StaticFilters.FILTER_LANDS),
"At the beginning of your upkeep, if an opponent controls more lands than you, you may search your library for up to three basic land cards, reveal them, and put them into your hand. If you do, shuffle your library"
diff --git a/Mage.Sets/src/mage/cards/l/LatchkeyFaerie.java b/Mage.Sets/src/mage/cards/l/LatchkeyFaerie.java
index 4c27a104f56..ca664a65f48 100644
--- a/Mage.Sets/src/mage/cards/l/LatchkeyFaerie.java
+++ b/Mage.Sets/src/mage/cards/l/LatchkeyFaerie.java
@@ -5,7 +5,7 @@ import java.util.UUID;
import mage.MageInt;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.condition.common.ProwlCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.DrawCardSourceControllerEffect;
import mage.abilities.keyword.FlyingAbility;
import mage.abilities.keyword.ProwlAbility;
@@ -36,7 +36,7 @@ public final class LatchkeyFaerie extends CardImpl {
// When Latchkey Faerie enters the battlefield, if its prowl cost was paid, draw a card.
EntersBattlefieldTriggeredAbility ability = new EntersBattlefieldTriggeredAbility(new DrawCardSourceControllerEffect(1), false);
- this.addAbility(new ConditionalTriggeredAbility(ability, ProwlCondition.instance,
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, ProwlCondition.instance,
"When {this} enters the battlefield, if its prowl cost was paid, draw a card."));
}
diff --git a/Mage.Sets/src/mage/cards/l/LavabornMuse.java b/Mage.Sets/src/mage/cards/l/LavabornMuse.java
index 72dd1f47471..79d6e154bdf 100644
--- a/Mage.Sets/src/mage/cards/l/LavabornMuse.java
+++ b/Mage.Sets/src/mage/cards/l/LavabornMuse.java
@@ -6,7 +6,7 @@ import mage.MageInt;
import mage.abilities.Ability;
import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
import mage.abilities.condition.Condition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.DamageTargetEffect;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
@@ -30,7 +30,7 @@ public final class LavabornMuse extends CardImpl {
this.toughness = new MageInt(3);
// At the beginning of each opponent's upkeep, if that player has two or fewer cards in hand, Lavaborn Muse deals 3 damage to him or her.
- this.addAbility(new ConditionalTriggeredAbility(
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(
new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, new DamageTargetEffect(3), TargetController.OPPONENT, false, true),
new CardsInActivePlayersHandCondition(),
"At the beginning of each opponent's upkeep, if that player has two or fewer cards in hand, {this} deals 3 damage to him or her."));
diff --git a/Mage.Sets/src/mage/cards/l/LeoninVanguard.java b/Mage.Sets/src/mage/cards/l/LeoninVanguard.java
index 3d465d6ef16..fe1bd4452b9 100644
--- a/Mage.Sets/src/mage/cards/l/LeoninVanguard.java
+++ b/Mage.Sets/src/mage/cards/l/LeoninVanguard.java
@@ -5,7 +5,7 @@ import mage.MageInt;
import mage.abilities.Ability;
import mage.abilities.common.BeginningOfCombatTriggeredAbility;
import mage.abilities.condition.common.PermanentsOnTheBattlefieldCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.GainLifeEffect;
import mage.abilities.effects.common.continuous.BoostSourceEffect;
import mage.constants.SubType;
@@ -32,7 +32,7 @@ public final class LeoninVanguard extends CardImpl {
this.toughness = new MageInt(1);
// At the beginning of combat on your turn, if you control three or more creatures, Leonin Vanguard gets +1/+1 until end of turn and you gain 1 life.
- Ability ability = new ConditionalTriggeredAbility(
+ Ability ability = new ConditionalInterveningIfTriggeredAbility(
new BeginningOfCombatTriggeredAbility(
new BoostSourceEffect(1, 1, Duration.EndOfTurn),
TargetController.YOU, false
diff --git a/Mage.Sets/src/mage/cards/l/Leviathan.java b/Mage.Sets/src/mage/cards/l/Leviathan.java
index c6bb0adc1f9..e963de31dc7 100644
--- a/Mage.Sets/src/mage/cards/l/Leviathan.java
+++ b/Mage.Sets/src/mage/cards/l/Leviathan.java
@@ -29,7 +29,7 @@ import mage.game.events.GameEvent;
import mage.target.common.TargetControlledPermanent;
-//import mage.abilities.decorator.ConditionalTriggeredAbility;
+//import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
/**
*
diff --git a/Mage.Sets/src/mage/cards/l/Lifeline.java b/Mage.Sets/src/mage/cards/l/Lifeline.java
index 4f3d1a17472..e78a26f7086 100644
--- a/Mage.Sets/src/mage/cards/l/Lifeline.java
+++ b/Mage.Sets/src/mage/cards/l/Lifeline.java
@@ -6,7 +6,7 @@ import mage.abilities.Ability;
import mage.abilities.common.DiesCreatureTriggeredAbility;
import mage.abilities.common.delayed.AtTheBeginOfNextEndStepDelayedTriggeredAbility;
import mage.abilities.condition.common.PermanentsOnTheBattlefieldCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.Effect;
import mage.abilities.effects.OneShotEffect;
import mage.abilities.effects.common.ReturnToBattlefieldUnderOwnerControlTargetEffect;
@@ -30,7 +30,7 @@ public final class Lifeline extends CardImpl {
// Whenever a creature dies, if another creature is on the battlefield, return the first card to the battlefield under its owner's control at the beginning of the next end step.
- Ability ability = new ConditionalTriggeredAbility(
+ Ability ability = new ConditionalInterveningIfTriggeredAbility(
new DiesCreatureTriggeredAbility( Zone.BATTLEFIELD, new LifelineEffect(), false, StaticFilters.FILTER_PERMANENT_CREATURE, true),
new PermanentsOnTheBattlefieldCondition(StaticFilters.FILTER_PERMANENT_CREATURE, ComparisonType.MORE_THAN, 0, false),
"Whenever a creature dies, if another creature is on the battlefield, return the first card to the battlefield under its owner's control at the beginning of the next end step.");
diff --git a/Mage.Sets/src/mage/cards/l/LilianasContract.java b/Mage.Sets/src/mage/cards/l/LilianasContract.java
index e11a5d929f9..b98459a50ac 100644
--- a/Mage.Sets/src/mage/cards/l/LilianasContract.java
+++ b/Mage.Sets/src/mage/cards/l/LilianasContract.java
@@ -7,7 +7,7 @@ import mage.abilities.Ability;
import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.condition.Condition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.DrawCardSourceControllerEffect;
import mage.abilities.effects.common.LoseLifeSourceControllerEffect;
import mage.abilities.effects.common.WinGameSourceControllerEffect;
@@ -40,7 +40,7 @@ public final class LilianasContract extends CardImpl {
this.addAbility(ability);
// At the beginning of your upkeep, if you control four or more Demons with different names, you win the game.
- this.addAbility(new ConditionalTriggeredAbility(
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(
new BeginningOfUpkeepTriggeredAbility(
new WinGameSourceControllerEffect(),
TargetController.YOU, false
diff --git a/Mage.Sets/src/mage/cards/l/LinvalaThePreserver.java b/Mage.Sets/src/mage/cards/l/LinvalaThePreserver.java
index c28203c2c1d..2079804bdce 100644
--- a/Mage.Sets/src/mage/cards/l/LinvalaThePreserver.java
+++ b/Mage.Sets/src/mage/cards/l/LinvalaThePreserver.java
@@ -6,7 +6,7 @@ import mage.MageInt;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.condition.common.OpponentControlsMoreCondition;
import mage.abilities.condition.common.OpponentHasMoreLifeCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.CreateTokenEffect;
import mage.abilities.effects.common.GainLifeEffect;
import mage.abilities.keyword.FlyingAbility;
@@ -35,12 +35,12 @@ public final class LinvalaThePreserver extends CardImpl {
this.addAbility(FlyingAbility.getInstance());
// When Linvala, the Preserver enters the battlefield, if an opponent has more life than you, you gain 5 life.
- this.addAbility(new ConditionalTriggeredAbility(new EntersBattlefieldTriggeredAbility(new GainLifeEffect(5), false),
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(new EntersBattlefieldTriggeredAbility(new GainLifeEffect(5), false),
OpponentHasMoreLifeCondition.instance,
"When {this} enters the battlefield, if an opponent has more life than you, you gain 5 life."));
// When Linvala enters the battlefield, if an opponent controls more creatures than you, create a 3/3 white Angel creature token with flying.
- this.addAbility(new ConditionalTriggeredAbility(new EntersBattlefieldTriggeredAbility(new CreateTokenEffect(new LinvalaAngelToken()), false),
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(new EntersBattlefieldTriggeredAbility(new CreateTokenEffect(new LinvalaAngelToken()), false),
new OpponentControlsMoreCondition(new FilterCreaturePermanent()),
"When {this} enters the battlefield, if an opponent controls more creatures than you, create a 3/3 white Angel creature token with flying."));
}
diff --git a/Mage.Sets/src/mage/cards/l/LivingArtifact.java b/Mage.Sets/src/mage/cards/l/LivingArtifact.java
index 9dda0d19d61..df0a4ce70ad 100644
--- a/Mage.Sets/src/mage/cards/l/LivingArtifact.java
+++ b/Mage.Sets/src/mage/cards/l/LivingArtifact.java
@@ -7,7 +7,7 @@ import mage.abilities.TriggeredAbilityImpl;
import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
import mage.abilities.condition.common.SourceHasCounterCondition;
import mage.abilities.costs.common.RemoveCountersSourceCost;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.OneShotEffect;
import mage.abilities.effects.common.AttachEffect;
import mage.abilities.effects.common.DoIfCostPaid;
@@ -47,7 +47,8 @@ public final class LivingArtifact extends CardImpl {
// Whenever you're dealt damage, put that many vitality counters on Living Artifact.
this.addAbility(new LivingArtifactTriggeredAbility());
// At the beginning of your upkeep, you may remove a vitality counter from Living Artifact. If you do, you gain 1 life.
- this.addAbility(new ConditionalTriggeredAbility(new BeginningOfUpkeepTriggeredAbility(new DoIfCostPaid(new GainLifeEffect(1),
+ //TODO make this a custom ability- it's really not intervening if because you should be able to add counters in response to this trigger
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(new BeginningOfUpkeepTriggeredAbility(new DoIfCostPaid(new GainLifeEffect(1),
new RemoveCountersSourceCost(CounterType.VITALITY.createInstance(1))), TargetController.YOU, false),
new SourceHasCounterCondition(CounterType.VITALITY, 1), "At the beginning of your upkeep, you may remove a vitality counter from {this}. If you do, you gain 1 life"));
}
diff --git a/Mage.Sets/src/mage/cards/l/LoneRider.java b/Mage.Sets/src/mage/cards/l/LoneRider.java
index be4b2ad6745..dd364058d1f 100644
--- a/Mage.Sets/src/mage/cards/l/LoneRider.java
+++ b/Mage.Sets/src/mage/cards/l/LoneRider.java
@@ -6,7 +6,7 @@ import mage.MageInt;
import mage.abilities.TriggeredAbility;
import mage.abilities.common.OnEventTriggeredAbility;
import mage.abilities.condition.common.YouGainedLifeCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.TransformSourceEffect;
import mage.abilities.keyword.FirstStrikeAbility;
import mage.abilities.keyword.LifelinkAbility;
@@ -47,7 +47,7 @@ public final class LoneRider extends CardImpl {
// At the beginning of the end step, if you gained 3 or more life this turn, transform Lone Rider.
this.addAbility(new TransformAbility());
TriggeredAbility triggered = new OnEventTriggeredAbility(GameEvent.EventType.END_TURN_STEP_PRE, "beginning of the end step", true, new TransformSourceEffect(true));
- this.addAbility(new ConditionalTriggeredAbility(triggered, new YouGainedLifeCondition(ComparisonType.MORE_THAN, 2), ruleText), new PlayerGainedLifeWatcher());
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(triggered, new YouGainedLifeCondition(ComparisonType.MORE_THAN, 2), ruleText), new PlayerGainedLifeWatcher());
}
public LoneRider(final LoneRider card) {
diff --git a/Mage.Sets/src/mage/cards/l/LoneWolfOfTheNatterknolls.java b/Mage.Sets/src/mage/cards/l/LoneWolfOfTheNatterknolls.java
index 8832be2b6ae..53b08ece1dd 100644
--- a/Mage.Sets/src/mage/cards/l/LoneWolfOfTheNatterknolls.java
+++ b/Mage.Sets/src/mage/cards/l/LoneWolfOfTheNatterknolls.java
@@ -8,6 +8,7 @@ import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
import mage.abilities.common.SpellCastOpponentTriggeredAbility;
import mage.abilities.condition.common.MyTurnCondition;
import mage.abilities.condition.common.TwoOrMoreSpellsWereCastLastTurnCondition;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.decorator.ConditionalTriggeredAbility;
import mage.abilities.effects.common.DrawCardSourceControllerEffect;
import mage.abilities.effects.common.TransformSourceEffect;
@@ -39,12 +40,12 @@ public final class LoneWolfOfTheNatterknolls extends CardImpl {
this.addAbility(new ConditionalTriggeredAbility(
new SpellCastOpponentTriggeredAbility(new DrawCardSourceControllerEffect(2), new FilterSpell("a spell"), true),
MyTurnCondition.instance,
- "Whenever an opponent casts a spell during your turn, draw two card."
+ "Whenever an opponent casts a spell during your turn, draw two cards."
));
// At the beginning of each upkeep, if a player cast two or more spells last turn, transform Lone Wolf of the Natterknolls.
TriggeredAbility ability = new BeginningOfUpkeepTriggeredAbility(new TransformSourceEffect(false), TargetController.ANY, false);
- this.addAbility(new ConditionalTriggeredAbility(ability, TwoOrMoreSpellsWereCastLastTurnCondition.instance, TransformAbility.TWO_OR_MORE_SPELLS_TRANSFORM_RULE));
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, TwoOrMoreSpellsWereCastLastTurnCondition.instance, TransformAbility.TWO_OR_MORE_SPELLS_TRANSFORM_RULE));
}
public LoneWolfOfTheNatterknolls(final LoneWolfOfTheNatterknolls card) {
diff --git a/Mage.Sets/src/mage/cards/l/LumengridDrake.java b/Mage.Sets/src/mage/cards/l/LumengridDrake.java
index 6b32df10c53..6cf66783fb1 100644
--- a/Mage.Sets/src/mage/cards/l/LumengridDrake.java
+++ b/Mage.Sets/src/mage/cards/l/LumengridDrake.java
@@ -6,7 +6,7 @@ import mage.MageInt;
import mage.abilities.TriggeredAbility;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.condition.common.MetalcraftCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.ReturnToHandTargetEffect;
import mage.abilities.keyword.FlyingAbility;
import mage.cards.CardImpl;
@@ -34,7 +34,7 @@ public final class LumengridDrake extends CardImpl {
this.addAbility(FlyingAbility.getInstance());
// Metalcraft — When Lumengrid Drake enters the battlefield, if you control three or more artifacts, return target creature to its owner's hand.
- TriggeredAbility conditional = new ConditionalTriggeredAbility(
+ TriggeredAbility conditional = new ConditionalInterveningIfTriggeredAbility(
new EntersBattlefieldTriggeredAbility(new ReturnToHandTargetEffect()), MetalcraftCondition.instance, ruleText);
conditional.addTarget(new TargetCreaturePermanent());
this.addAbility(conditional);
diff --git a/Mage.Sets/src/mage/cards/l/LuminarchAscension.java b/Mage.Sets/src/mage/cards/l/LuminarchAscension.java
index ebc9d328dae..b2710993d13 100644
--- a/Mage.Sets/src/mage/cards/l/LuminarchAscension.java
+++ b/Mage.Sets/src/mage/cards/l/LuminarchAscension.java
@@ -9,7 +9,7 @@ import mage.abilities.condition.Condition;
import mage.abilities.costs.Cost;
import mage.abilities.costs.CostImpl;
import mage.abilities.costs.mana.ManaCostsImpl;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.CreateTokenEffect;
import mage.abilities.effects.common.counter.AddCountersSourceEffect;
import mage.cards.CardImpl;
@@ -35,7 +35,7 @@ public final class LuminarchAscension extends CardImpl {
super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{1}{W}");
// At the beginning of each opponent's end step, if you didn't lose life this turn, you may put a quest counter on Luminarch Ascension.
- this.addAbility(new ConditionalTriggeredAbility(new LuminarchAscensionTriggeredAbility(), YouLostNoLifeThisTurnCondition.instance, rule));
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(new LuminarchAscensionTriggeredAbility(), YouLostNoLifeThisTurnCondition.instance, rule));
// {1}{W}: Create a 4/4 white Angel creature token with flying. Activate this ability only if Luminarch Ascension has four or more quest counters on it.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new CreateTokenEffect(new AngelToken()), new ManaCostsImpl("{1}{W}"));
diff --git a/Mage.Sets/src/mage/cards/m/MadDog.java b/Mage.Sets/src/mage/cards/m/MadDog.java
index 7b1a3c5769d..f9206d7ec02 100644
--- a/Mage.Sets/src/mage/cards/m/MadDog.java
+++ b/Mage.Sets/src/mage/cards/m/MadDog.java
@@ -9,7 +9,7 @@ import mage.MageObjectReference;
import mage.abilities.Ability;
import mage.abilities.common.BeginningOfEndStepTriggeredAbility;
import mage.abilities.condition.Condition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.SacrificeSourceEffect;
import mage.constants.SubType;
import mage.cards.CardImpl;
@@ -35,7 +35,7 @@ public final class MadDog extends CardImpl {
this.toughness = new MageInt(2);
// At the beginning of your end step, if Mad Dog didn't attack or come under your control this turn, sacrifice it.
- Ability ability = new ConditionalTriggeredAbility(new BeginningOfEndStepTriggeredAbility(new SacrificeSourceEffect(), TargetController.YOU, false), MadDogCondition.instance, "At the beginning of your end step, if {this} didn't attack or come under your control this turn, sacrifice it");
+ Ability ability = new ConditionalInterveningIfTriggeredAbility(new BeginningOfEndStepTriggeredAbility(new SacrificeSourceEffect(), TargetController.YOU, false), MadDogCondition.instance, "At the beginning of your end step, if {this} didn't attack or come under your control this turn, sacrifice it");
ability.addWatcher(new AttackedThisTurnWatcher());
ability.addWatcher(new PermanentsEnteredBattlefieldWatcher());
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/m/MaliciousAffliction.java b/Mage.Sets/src/mage/cards/m/MaliciousAffliction.java
index b7c5cccbfbc..2c177e369c8 100644
--- a/Mage.Sets/src/mage/cards/m/MaliciousAffliction.java
+++ b/Mage.Sets/src/mage/cards/m/MaliciousAffliction.java
@@ -6,7 +6,7 @@ import mage.ObjectColor;
import mage.abilities.Ability;
import mage.abilities.condition.LockedInCondition;
import mage.abilities.condition.common.MorbidCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.OneShotEffect;
import mage.abilities.effects.common.CastSourceTriggeredAbility;
import mage.abilities.effects.common.DestroyTargetEffect;
@@ -39,7 +39,7 @@ public final class MaliciousAffliction extends CardImpl {
super(ownerId,setInfo,new CardType[]{CardType.INSTANT},"{B}{B}");
// Morbid - When you cast Malicious Affliction, if a creature died this turn, you may copy Malicious Affliction and may choose a new target for the copy.
- Ability ability = new ConditionalTriggeredAbility(
+ Ability ability = new ConditionalInterveningIfTriggeredAbility(
new CastSourceTriggeredAbility(new CopySourceSpellEffect(), true),
new LockedInCondition(MorbidCondition.instance),
"Morbid — When you cast {this}, if a creature died this turn, you may copy {this} and may choose a new target for the copy");
diff --git a/Mage.Sets/src/mage/cards/m/ManaBloom.java b/Mage.Sets/src/mage/cards/m/ManaBloom.java
index 01c53a06ae2..fcc059f515f 100644
--- a/Mage.Sets/src/mage/cards/m/ManaBloom.java
+++ b/Mage.Sets/src/mage/cards/m/ManaBloom.java
@@ -8,7 +8,7 @@ import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
import mage.abilities.common.EntersBattlefieldAbility;
import mage.abilities.condition.common.SourceHasCounterCondition;
import mage.abilities.costs.common.RemoveCountersSourceCost;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.mana.AddManaOfAnyColorEffect;
import mage.abilities.effects.common.EntersBattlefieldWithXCountersEffect;
import mage.abilities.effects.common.ReturnToHandSourceEffect;
@@ -40,7 +40,7 @@ public final class ManaBloom extends CardImpl {
// At the beginning of your upkeep, if Mana Bloom has no charge counters on it, return it to its owner's hand.
TriggeredAbility triggeredAbility = new BeginningOfUpkeepTriggeredAbility(new ReturnToHandSourceEffect(true), TargetController.YOU, false);
- this.addAbility(new ConditionalTriggeredAbility(triggeredAbility, new SourceHasCounterCondition(CounterType.CHARGE, 0, 0), "At the beginning of your upkeep, if Mana Bloom has no charge counters on it, return it to its owner's hand."));
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(triggeredAbility, new SourceHasCounterCondition(CounterType.CHARGE, 0, 0), "At the beginning of your upkeep, if Mana Bloom has no charge counters on it, return it to its owner's hand."));
}
diff --git a/Mage.Sets/src/mage/cards/m/ManaVault.java b/Mage.Sets/src/mage/cards/m/ManaVault.java
index efaab07fd19..334841b2b5d 100644
--- a/Mage.Sets/src/mage/cards/m/ManaVault.java
+++ b/Mage.Sets/src/mage/cards/m/ManaVault.java
@@ -9,7 +9,7 @@ import mage.abilities.common.SimpleStaticAbility;
import mage.abilities.condition.common.SourceTappedCondition;
import mage.abilities.costs.common.TapSourceCost;
import mage.abilities.costs.mana.GenericManaCost;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.DamageControllerEffect;
import mage.abilities.effects.common.DoIfCostPaid;
import mage.abilities.effects.common.DontUntapInControllersUntapStepSourceEffect;
@@ -39,7 +39,7 @@ public final class ManaVault extends CardImpl {
TargetController.YOU,
false));
// At the beginning of your draw step, if Mana Vault is tapped, it deals 1 damage to you.
- this.addAbility(new ConditionalTriggeredAbility(
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(
new BeginningOfDrawTriggeredAbility(Zone.BATTLEFIELD, new DamageControllerEffect(1), TargetController.YOU, false),
SourceTappedCondition.instance,
"At the beginning of your draw step, if {this} is tapped, it deals 1 damage to you."));
diff --git a/Mage.Sets/src/mage/cards/m/ManicScribe.java b/Mage.Sets/src/mage/cards/m/ManicScribe.java
index ce55d1822d6..d97181341d2 100644
--- a/Mage.Sets/src/mage/cards/m/ManicScribe.java
+++ b/Mage.Sets/src/mage/cards/m/ManicScribe.java
@@ -6,7 +6,7 @@ import mage.MageInt;
import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.condition.common.DeliriumCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.PutTopCardOfLibraryIntoGraveEachPlayerEffect;
import mage.abilities.effects.common.PutTopCardOfLibraryIntoGraveTargetEffect;
import mage.cards.CardImpl;
@@ -34,7 +34,7 @@ public final class ManicScribe extends CardImpl {
// Delirium — At the beginning of each opponent's upkeep, if there are four or more card types among cards in your graveyard,
// that player puts the top three cards of their library into their graveyard.
- this.addAbility(new ConditionalTriggeredAbility(
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(
new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, new PutTopCardOfLibraryIntoGraveTargetEffect(3), TargetController.OPPONENT, false, true),
DeliriumCondition.instance,
"Delirium — At the beginning of each opponent's upkeep, if there are four or more card types among cards in your graveyard, "
diff --git a/Mage.Sets/src/mage/cards/m/MaraudingLooter.java b/Mage.Sets/src/mage/cards/m/MaraudingLooter.java
index 4daa43e29db..97f12cf25a0 100644
--- a/Mage.Sets/src/mage/cards/m/MaraudingLooter.java
+++ b/Mage.Sets/src/mage/cards/m/MaraudingLooter.java
@@ -6,7 +6,7 @@ import mage.MageInt;
import mage.abilities.Ability;
import mage.abilities.common.BeginningOfEndStepTriggeredAbility;
import mage.abilities.condition.common.RaidCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.DrawDiscardControllerEffect;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
@@ -30,7 +30,7 @@ public final class MaraudingLooter extends CardImpl {
this.toughness = new MageInt(3);
// Raid - At the beginning of your end step, if you attacked with a creature this turn, you may draw a card. If you do, discard a card.
- Ability ability = new ConditionalTriggeredAbility(
+ Ability ability = new ConditionalInterveningIfTriggeredAbility(
new BeginningOfEndStepTriggeredAbility(new DrawDiscardControllerEffect(1, 1, true), TargetController.YOU, false),
RaidCondition.instance,
"Raid — At the beginning of your end step, "
diff --git a/Mage.Sets/src/mage/cards/m/MarduHeartPiercer.java b/Mage.Sets/src/mage/cards/m/MarduHeartPiercer.java
index 72b98260c19..2be60fad5a5 100644
--- a/Mage.Sets/src/mage/cards/m/MarduHeartPiercer.java
+++ b/Mage.Sets/src/mage/cards/m/MarduHeartPiercer.java
@@ -6,7 +6,7 @@ import mage.MageInt;
import mage.abilities.Ability;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.condition.common.RaidCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.DamageTargetEffect;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
@@ -30,7 +30,7 @@ public final class MarduHeartPiercer extends CardImpl {
this.toughness = new MageInt(3);
// Raid - When Mardu Heart-Piercer enters the battlefield, if you attacked with a creature this turn, Mardu Heart-Piercer deals 2 damage to any target.
- Ability ability = new ConditionalTriggeredAbility(new EntersBattlefieldTriggeredAbility(new DamageTargetEffect(2)), RaidCondition.instance,
+ Ability ability = new ConditionalInterveningIfTriggeredAbility(new EntersBattlefieldTriggeredAbility(new DamageTargetEffect(2)), RaidCondition.instance,
"Raid — When {this} enters the battlefield, if you attacked with a creature this turn, {this} deals 2 damage to any target.");
ability.addTarget(new TargetAnyTarget());
this.addAbility(ability, new PlayerAttackedWatcher());
diff --git a/Mage.Sets/src/mage/cards/m/MarduHordechief.java b/Mage.Sets/src/mage/cards/m/MarduHordechief.java
index 50c79dbdb94..7c01254d9f4 100644
--- a/Mage.Sets/src/mage/cards/m/MarduHordechief.java
+++ b/Mage.Sets/src/mage/cards/m/MarduHordechief.java
@@ -5,7 +5,7 @@ import java.util.UUID;
import mage.MageInt;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.condition.common.RaidCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.CreateTokenEffect;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
@@ -29,7 +29,7 @@ public final class MarduHordechief extends CardImpl {
this.toughness = new MageInt(3);
// Raid — When Mardu Hordechief enters the battlefield, if you attacked with a creature this turn, create a 1/1 white Warrior creature token
- this.addAbility(new ConditionalTriggeredAbility(new EntersBattlefieldTriggeredAbility(new CreateTokenEffect(new WarriorToken())), RaidCondition.instance,
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(new EntersBattlefieldTriggeredAbility(new CreateTokenEffect(new WarriorToken())), RaidCondition.instance,
"Raid — When {this} enters the battlefield, if you attacked with a creature this turn, create a 1/1 white Warrior creature token."),
new PlayerAttackedWatcher());
}
diff --git a/Mage.Sets/src/mage/cards/m/MarduSkullhunter.java b/Mage.Sets/src/mage/cards/m/MarduSkullhunter.java
index 395a90175e1..bfbafab3142 100644
--- a/Mage.Sets/src/mage/cards/m/MarduSkullhunter.java
+++ b/Mage.Sets/src/mage/cards/m/MarduSkullhunter.java
@@ -7,7 +7,7 @@ import mage.abilities.Ability;
import mage.abilities.common.EntersBattlefieldTappedAbility;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.condition.common.RaidCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.discard.DiscardTargetEffect;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
@@ -34,7 +34,7 @@ public final class MarduSkullhunter extends CardImpl {
this.addAbility(new EntersBattlefieldTappedAbility());
// Raid - When Mardu Skullhunter enters the battlefield, if you attacked with a creature this turn, target opponent discards a card.
- Ability ability = new ConditionalTriggeredAbility(new EntersBattlefieldTriggeredAbility(new DiscardTargetEffect(1)), RaidCondition.instance,
+ Ability ability = new ConditionalInterveningIfTriggeredAbility(new EntersBattlefieldTriggeredAbility(new DiscardTargetEffect(1)), RaidCondition.instance,
"Raid — When {this} enters the battlefield, if you attacked with a creature this turn, target opponent discards a card.");
ability.addTarget(new TargetOpponent());
this.addAbility(ability, new PlayerAttackedWatcher());
diff --git a/Mage.Sets/src/mage/cards/m/MarduWarshrieker.java b/Mage.Sets/src/mage/cards/m/MarduWarshrieker.java
index d654cea80fb..c5730481146 100644
--- a/Mage.Sets/src/mage/cards/m/MarduWarshrieker.java
+++ b/Mage.Sets/src/mage/cards/m/MarduWarshrieker.java
@@ -6,7 +6,7 @@ import mage.MageInt;
import mage.Mana;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.condition.common.RaidCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.mana.AddManaToManaPoolSourceControllerEffect;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
@@ -29,7 +29,7 @@ public final class MarduWarshrieker extends CardImpl {
this.toughness = new MageInt(3);
// Raid - When Mardu Warshrieker enters the battlefield, if you attacked with a creature this turn, add {R}{W}{B}.
- this.addAbility(new ConditionalTriggeredAbility(new EntersBattlefieldTriggeredAbility(new AddManaToManaPoolSourceControllerEffect(new Mana(1, 0, 0, 1, 1, 0, 0, 0))), RaidCondition.instance,
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(new EntersBattlefieldTriggeredAbility(new AddManaToManaPoolSourceControllerEffect(new Mana(1, 0, 0, 1, 1, 0, 0, 0))), RaidCondition.instance,
"Raid — When {this} enters the battlefield, if you attacked with a creature this turn, add {R}{W}{B}."),
new PlayerAttackedWatcher());
}
diff --git a/Mage.Sets/src/mage/cards/m/MarshalsAnthem.java b/Mage.Sets/src/mage/cards/m/MarshalsAnthem.java
index ac98efd9fb9..39c3a3503da 100644
--- a/Mage.Sets/src/mage/cards/m/MarshalsAnthem.java
+++ b/Mage.Sets/src/mage/cards/m/MarshalsAnthem.java
@@ -6,7 +6,7 @@ import mage.abilities.Ability;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.common.SimpleStaticAbility;
import mage.abilities.condition.common.KickedCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.dynamicvalue.common.MultikickerCount;
import mage.abilities.effects.common.ReturnFromGraveyardToBattlefieldTargetEffect;
import mage.abilities.effects.common.continuous.BoostAllEffect;
@@ -51,7 +51,8 @@ public final class MarshalsAnthem extends CardImpl {
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostAllEffect(1, 1, Duration.WhileOnBattlefield, filter, false)));
// When Marshal's Anthem enters the battlefield, return up to X target creature cards from your graveyard to the battlefield, where X is the number of times Marshal's Anthem was kicked.
- Ability ability = new ConditionalTriggeredAbility(
+ //TODO this should always trigger, even if it wasn't kicked
+ Ability ability = new ConditionalInterveningIfTriggeredAbility(
new EntersBattlefieldTriggeredAbility(new ReturnFromGraveyardToBattlefieldTargetEffect(), false),
KickedCondition.instance,
"When {this} enters the battlefield, return up to X target creature cards from your graveyard to the battlefield, where X is the number of times {this} was kicked.");
diff --git a/Mage.Sets/src/mage/cards/m/MaskOfIntolerance.java b/Mage.Sets/src/mage/cards/m/MaskOfIntolerance.java
index 47baa6141a0..beeb2fc7838 100644
--- a/Mage.Sets/src/mage/cards/m/MaskOfIntolerance.java
+++ b/Mage.Sets/src/mage/cards/m/MaskOfIntolerance.java
@@ -6,7 +6,7 @@ import mage.abilities.Ability;
import mage.abilities.TriggeredAbility;
import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
import mage.abilities.condition.IntCompareCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.dynamicvalue.common.DomainValue;
import mage.abilities.effects.common.DamageTargetEffect;
import mage.cards.CardImpl;
@@ -28,7 +28,7 @@ public final class MaskOfIntolerance extends CardImpl {
// At the beginning of each player's upkeep, if there are four or more basic land types among lands that player controls, Mask of Intolerance deals 3 damage to him or her.
TriggeredAbility ability = new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, new DamageTargetEffect(3), TargetController.ANY, false);
- this.addAbility(new ConditionalTriggeredAbility(ability, new MaskOfIntoleranceCondition(),
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, new MaskOfIntoleranceCondition(),
"At the beginning of each player's upkeep, if there are four or more basic land types among lands that player controls, {this} deals 3 damage to him or her."));
}
diff --git a/Mage.Sets/src/mage/cards/m/MausoleumHarpy.java b/Mage.Sets/src/mage/cards/m/MausoleumHarpy.java
index 54ddce301a5..45ab9cb6320 100644
--- a/Mage.Sets/src/mage/cards/m/MausoleumHarpy.java
+++ b/Mage.Sets/src/mage/cards/m/MausoleumHarpy.java
@@ -5,7 +5,7 @@ import java.util.UUID;
import mage.MageInt;
import mage.abilities.common.DiesCreatureTriggeredAbility;
import mage.abilities.condition.common.CitysBlessingCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.counter.AddCountersSourceEffect;
import mage.abilities.keyword.AscendAbility;
import mage.abilities.keyword.FlyingAbility;
@@ -46,7 +46,7 @@ public final class MausoleumHarpy extends CardImpl {
this.addAbility(new AscendAbility());
// Whenever another creature you control dies, if you have the city's blessing, put a +1/+1 counter on Mausoleum Harpy.
- this.addAbility(new ConditionalTriggeredAbility(
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(
new DiesCreatureTriggeredAbility(new AddCountersSourceEffect(CounterType.P1P1.createInstance()), false, filter),
CitysBlessingCondition.instance,
"Whenever another creature you control dies, if you have the city's blessing, put a +1/+1 counter on {this}. "));
diff --git a/Mage.Sets/src/mage/cards/m/MayorOfAvabruck.java b/Mage.Sets/src/mage/cards/m/MayorOfAvabruck.java
index 53b6eb0de2b..4800d7c2917 100644
--- a/Mage.Sets/src/mage/cards/m/MayorOfAvabruck.java
+++ b/Mage.Sets/src/mage/cards/m/MayorOfAvabruck.java
@@ -10,7 +10,7 @@ import mage.abilities.condition.InvertCondition;
import mage.abilities.condition.common.NoSpellsWereCastLastTurnCondition;
import mage.abilities.condition.common.TransformedCondition;
import mage.abilities.decorator.ConditionalContinuousEffect;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.Effect;
import mage.abilities.effects.common.TransformSourceEffect;
import mage.abilities.effects.common.continuous.BoostControlledEffect;
@@ -55,7 +55,7 @@ public final class MayorOfAvabruck extends CardImpl {
// At the beginning of each upkeep, if no spells were cast last turn, transform Mayor of Avabruck.
this.addAbility(new TransformAbility());
TriggeredAbility ability = new BeginningOfUpkeepTriggeredAbility(new TransformSourceEffect(true), TargetController.ANY, false);
- this.addAbility(new ConditionalTriggeredAbility(ability, NoSpellsWereCastLastTurnCondition.instance, TransformAbility.NO_SPELLS_TRANSFORM_RULE));
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, NoSpellsWereCastLastTurnCondition.instance, TransformAbility.NO_SPELLS_TRANSFORM_RULE));
}
public MayorOfAvabruck(final MayorOfAvabruck card) {
diff --git a/Mage.Sets/src/mage/cards/m/MercilessPredator.java b/Mage.Sets/src/mage/cards/m/MercilessPredator.java
index 718162e0cf5..e1a5597fe29 100644
--- a/Mage.Sets/src/mage/cards/m/MercilessPredator.java
+++ b/Mage.Sets/src/mage/cards/m/MercilessPredator.java
@@ -6,7 +6,7 @@ import mage.MageInt;
import mage.abilities.TriggeredAbility;
import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
import mage.abilities.condition.common.TwoOrMoreSpellsWereCastLastTurnCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.TransformSourceEffect;
import mage.abilities.keyword.TransformAbility;
import mage.cards.CardImpl;
@@ -34,7 +34,7 @@ public final class MercilessPredator extends CardImpl {
// At the beginning of each upkeep, if a player cast two or more spells last turn, transform Merciless Predator.
TriggeredAbility ability = new BeginningOfUpkeepTriggeredAbility(new TransformSourceEffect(false), TargetController.ANY, false);
- this.addAbility(new ConditionalTriggeredAbility(ability, TwoOrMoreSpellsWereCastLastTurnCondition.instance, TransformAbility.TWO_OR_MORE_SPELLS_TRANSFORM_RULE));
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, TwoOrMoreSpellsWereCastLastTurnCondition.instance, TransformAbility.TWO_OR_MORE_SPELLS_TRANSFORM_RULE));
}
public MercilessPredator(final MercilessPredator card) {
diff --git a/Mage.Sets/src/mage/cards/m/MightMakesRight.java b/Mage.Sets/src/mage/cards/m/MightMakesRight.java
index cc8c4333da3..43ffe00f406 100644
--- a/Mage.Sets/src/mage/cards/m/MightMakesRight.java
+++ b/Mage.Sets/src/mage/cards/m/MightMakesRight.java
@@ -7,7 +7,7 @@ import mage.abilities.Ability;
import mage.abilities.TriggeredAbility;
import mage.abilities.common.BeginningOfCombatTriggeredAbility;
import mage.abilities.condition.Condition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.UntapTargetEffect;
import mage.abilities.effects.common.continuous.GainAbilityTargetEffect;
import mage.abilities.effects.common.continuous.GainControlTargetEffect;
@@ -47,7 +47,7 @@ public final class MightMakesRight extends CardImpl {
gainControlAbility.addEffect(new UntapTargetEffect());
gainControlAbility.addEffect(new GainAbilityTargetEffect(HasteAbility.getInstance(), Duration.EndOfTurn));
gainControlAbility.addTarget(new TargetCreaturePermanent(filter));
- Ability conditionalAbility = new ConditionalTriggeredAbility(gainControlAbility, ControlsEachCreatureWithGreatestPowerCondition.instance, ruleText);
+ Ability conditionalAbility = new ConditionalInterveningIfTriggeredAbility(gainControlAbility, ControlsEachCreatureWithGreatestPowerCondition.instance, ruleText);
this.addAbility(conditionalAbility);
}
diff --git a/Mage.Sets/src/mage/cards/m/MindwrackDemon.java b/Mage.Sets/src/mage/cards/m/MindwrackDemon.java
index d5816fef2ad..1bcd1ff2388 100644
--- a/Mage.Sets/src/mage/cards/m/MindwrackDemon.java
+++ b/Mage.Sets/src/mage/cards/m/MindwrackDemon.java
@@ -8,7 +8,7 @@ import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.condition.InvertCondition;
import mage.abilities.condition.common.DeliriumCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.LoseLifeSourceControllerEffect;
import mage.abilities.effects.common.PutTopCardOfLibraryIntoGraveControllerEffect;
import mage.abilities.keyword.FlyingAbility;
@@ -41,7 +41,7 @@ public final class MindwrackDemon extends CardImpl {
this.addAbility(new EntersBattlefieldTriggeredAbility(new PutTopCardOfLibraryIntoGraveControllerEffect(4)));
// At the beginning of your upkeep, if you don't have 4 or more card types in your graveyard, you lose 4 life.
- Ability ability = new ConditionalTriggeredAbility(
+ Ability ability = new ConditionalInterveningIfTriggeredAbility(
new BeginningOfUpkeepTriggeredAbility(new LoseLifeSourceControllerEffect(4), TargetController.YOU, false),
new InvertCondition(DeliriumCondition.instance),
"Delirium — At the beginning of your upkeep, you lose 4 life unless there are four or more card types among cards in your graveyard.");
diff --git a/Mage.Sets/src/mage/cards/m/MirrorSigilSergeant.java b/Mage.Sets/src/mage/cards/m/MirrorSigilSergeant.java
index bfa62f4de33..f2a91224b48 100644
--- a/Mage.Sets/src/mage/cards/m/MirrorSigilSergeant.java
+++ b/Mage.Sets/src/mage/cards/m/MirrorSigilSergeant.java
@@ -7,7 +7,7 @@ import mage.ObjectColor;
import mage.abilities.TriggeredAbility;
import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
import mage.abilities.condition.common.PermanentsOnTheBattlefieldCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.Effect;
import mage.abilities.effects.CreateTokenCopySourceEffect;
import mage.abilities.keyword.TrampleAbility;
@@ -49,7 +49,7 @@ public final class MirrorSigilSergeant extends CardImpl {
Effect effect = new CreateTokenCopySourceEffect();
effect.setText("you may create a token that's a copy of {this}");
TriggeredAbility ability = new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, effect, TargetController.YOU, true);
- this.addAbility(new ConditionalTriggeredAbility(ability, new PermanentsOnTheBattlefieldCondition(filter), rule));
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, new PermanentsOnTheBattlefieldCondition(filter), rule));
}
diff --git a/Mage.Sets/src/mage/cards/m/MoldShambler.java b/Mage.Sets/src/mage/cards/m/MoldShambler.java
index 10ff8369321..5c8bd2a2b07 100644
--- a/Mage.Sets/src/mage/cards/m/MoldShambler.java
+++ b/Mage.Sets/src/mage/cards/m/MoldShambler.java
@@ -5,7 +5,7 @@ import java.util.UUID;
import mage.MageInt;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.condition.common.KickedCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.DestroyTargetEffect;
import mage.abilities.keyword.KickerAbility;
import mage.cards.CardImpl;
@@ -45,7 +45,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 ConditionalTriggeredAbility(ability, KickedCondition.instance, "When {this} enters the battlefield, if it was kicked, destroy target noncreature permanent."));
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, KickedCondition.instance, "When {this} enters the battlefield, if it was kicked, destroy target noncreature permanent."));
}
public MoldShambler(final MoldShambler card) {
diff --git a/Mage.Sets/src/mage/cards/m/MonasterySiege.java b/Mage.Sets/src/mage/cards/m/MonasterySiege.java
index 089a1583846..7b329972201 100644
--- a/Mage.Sets/src/mage/cards/m/MonasterySiege.java
+++ b/Mage.Sets/src/mage/cards/m/MonasterySiege.java
@@ -1,7 +1,6 @@
package mage.cards.m;
-import java.util.UUID;
import mage.abilities.Ability;
import mage.abilities.Mode;
import mage.abilities.SpellAbility;
@@ -15,17 +14,14 @@ import mage.abilities.effects.common.DrawDiscardControllerEffect;
import mage.abilities.effects.common.cost.CostModificationEffectImpl;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
-import mage.constants.CardType;
-import mage.constants.CostModificationType;
-import mage.constants.Duration;
-import mage.constants.Outcome;
-import mage.constants.TargetController;
-import mage.constants.Zone;
+import mage.constants.*;
import mage.game.Game;
import mage.game.permanent.Permanent;
import mage.target.Target;
import mage.util.CardUtil;
+import java.util.UUID;
+
/**
*
* @author emerald000
diff --git a/Mage.Sets/src/mage/cards/m/MondronenShaman.java b/Mage.Sets/src/mage/cards/m/MondronenShaman.java
index 1af6653b463..aadaae2d692 100644
--- a/Mage.Sets/src/mage/cards/m/MondronenShaman.java
+++ b/Mage.Sets/src/mage/cards/m/MondronenShaman.java
@@ -6,7 +6,7 @@ import mage.MageInt;
import mage.abilities.TriggeredAbility;
import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
import mage.abilities.condition.common.NoSpellsWereCastLastTurnCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.TransformSourceEffect;
import mage.abilities.keyword.TransformAbility;
import mage.cards.CardImpl;
@@ -37,7 +37,7 @@ public final class MondronenShaman extends CardImpl {
// At the beginning of each upkeep, if no spells were cast last turn, transform Mondronen Shaman.
this.addAbility(new TransformAbility());
TriggeredAbility ability = new BeginningOfUpkeepTriggeredAbility(new TransformSourceEffect(true), TargetController.ANY, false);
- this.addAbility(new ConditionalTriggeredAbility(ability,
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability,
NoSpellsWereCastLastTurnCondition.instance,
TransformAbility.NO_SPELLS_TRANSFORM_RULE));
}
diff --git a/Mage.Sets/src/mage/cards/m/MoonriseIntruder.java b/Mage.Sets/src/mage/cards/m/MoonriseIntruder.java
index 3d35815cff8..8ec19df1393 100644
--- a/Mage.Sets/src/mage/cards/m/MoonriseIntruder.java
+++ b/Mage.Sets/src/mage/cards/m/MoonriseIntruder.java
@@ -6,7 +6,7 @@ import mage.MageInt;
import mage.abilities.TriggeredAbility;
import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
import mage.abilities.condition.common.TwoOrMoreSpellsWereCastLastTurnCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.TransformSourceEffect;
import mage.abilities.keyword.MenaceAbility;
import mage.abilities.keyword.TransformAbility;
@@ -38,7 +38,7 @@ public final class MoonriseIntruder extends CardImpl {
// At the beginning of each upkeep, if a player cast two or more spells last turn, transform Moonrise Intruder.
TriggeredAbility ability = new BeginningOfUpkeepTriggeredAbility(new TransformSourceEffect(false), TargetController.ANY, false);
- this.addAbility(new ConditionalTriggeredAbility(ability, TwoOrMoreSpellsWereCastLastTurnCondition.instance, TransformAbility.TWO_OR_MORE_SPELLS_TRANSFORM_RULE));
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, TwoOrMoreSpellsWereCastLastTurnCondition.instance, TransformAbility.TWO_OR_MORE_SPELLS_TRANSFORM_RULE));
}
public MoonriseIntruder(final MoonriseIntruder card) {
diff --git a/Mage.Sets/src/mage/cards/m/MoonscarredWerewolf.java b/Mage.Sets/src/mage/cards/m/MoonscarredWerewolf.java
index 442c6432aab..e2cf3555330 100644
--- a/Mage.Sets/src/mage/cards/m/MoonscarredWerewolf.java
+++ b/Mage.Sets/src/mage/cards/m/MoonscarredWerewolf.java
@@ -8,7 +8,7 @@ import mage.abilities.TriggeredAbility;
import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
import mage.abilities.condition.common.TwoOrMoreSpellsWereCastLastTurnCondition;
import mage.abilities.costs.common.TapSourceCost;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.TransformSourceEffect;
import mage.abilities.keyword.TransformAbility;
import mage.abilities.keyword.VigilanceAbility;
@@ -43,7 +43,7 @@ public final class MoonscarredWerewolf extends CardImpl {
this.addAbility(new SimpleManaAbility(Zone.BATTLEFIELD, Mana.GreenMana(2), new TapSourceCost()));
// At the beginning of each upkeep, if a player cast two or more spells last turn, transform Moonscarred Werewolf.
TriggeredAbility ability = new BeginningOfUpkeepTriggeredAbility(new TransformSourceEffect(false), TargetController.ANY, false);
- this.addAbility(new ConditionalTriggeredAbility(ability,
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability,
TwoOrMoreSpellsWereCastLastTurnCondition.instance,
TransformAbility.TWO_OR_MORE_SPELLS_TRANSFORM_RULE));
}
diff --git a/Mage.Sets/src/mage/cards/m/MorkrutBanshee.java b/Mage.Sets/src/mage/cards/m/MorkrutBanshee.java
index d78243f0f15..fba035c3c19 100644
--- a/Mage.Sets/src/mage/cards/m/MorkrutBanshee.java
+++ b/Mage.Sets/src/mage/cards/m/MorkrutBanshee.java
@@ -6,7 +6,7 @@ import mage.MageInt;
import mage.abilities.TriggeredAbility;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.condition.common.MorbidCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.continuous.BoostTargetEffect;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
@@ -32,7 +32,7 @@ public final class MorkrutBanshee extends CardImpl {
// Morbid - When Morkut Banshee enters the battlefield, if a creature died this turn, target creature gets -4/-4 until end of turn.
TriggeredAbility triggeredAbility = new EntersBattlefieldTriggeredAbility(new BoostTargetEffect(-4, -4, Duration.EndOfTurn));
- TriggeredAbility ability = new ConditionalTriggeredAbility(triggeredAbility, MorbidCondition.instance, staticText);
+ TriggeredAbility ability = new ConditionalInterveningIfTriggeredAbility(triggeredAbility, MorbidCondition.instance, staticText);
ability.addTarget(new TargetCreaturePermanent());
this.addAbility(ability);
}
diff --git a/Mage.Sets/src/mage/cards/m/MortalCombat.java b/Mage.Sets/src/mage/cards/m/MortalCombat.java
index d055dffa601..4869fd235d9 100644
--- a/Mage.Sets/src/mage/cards/m/MortalCombat.java
+++ b/Mage.Sets/src/mage/cards/m/MortalCombat.java
@@ -5,7 +5,7 @@ import java.util.UUID;
import mage.abilities.Ability;
import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
import mage.abilities.condition.Condition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.WinGameSourceControllerEffect;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
@@ -25,7 +25,7 @@ public final class MortalCombat extends CardImpl {
super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{2}{B}{B}");
// At the beginning of your upkeep, if twenty or more creature cards are in your graveyard, you win the game.
- this.addAbility(new ConditionalTriggeredAbility(
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(
new BeginningOfUpkeepTriggeredAbility(new WinGameSourceControllerEffect(), TargetController.YOU, false),
new TwentyGraveyardCreatureCondition(),
"At the beginning of your upkeep, if twenty or more creature cards are in your graveyard, you win the game."));
diff --git a/Mage.Sets/src/mage/cards/m/Mournwillow.java b/Mage.Sets/src/mage/cards/m/Mournwillow.java
index 0889969a697..5a1fe7ec50f 100644
--- a/Mage.Sets/src/mage/cards/m/Mournwillow.java
+++ b/Mage.Sets/src/mage/cards/m/Mournwillow.java
@@ -6,7 +6,7 @@ import mage.MageInt;
import mage.abilities.Ability;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.condition.common.DeliriumCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.RestrictionEffect;
import mage.abilities.keyword.HasteAbility;
import mage.cards.CardImpl;
@@ -35,7 +35,7 @@ public final class Mournwillow extends CardImpl {
// Delirium — When Mournwillow enters the battlefield, if there are four or more card types among cards in your graveyard,
// creatures with power 2 or less can't block this turn.
- Ability ability = new ConditionalTriggeredAbility(
+ Ability ability = new ConditionalInterveningIfTriggeredAbility(
new EntersBattlefieldTriggeredAbility(new MournwillowEffect(), false),
DeliriumCondition.instance,
"Delirium — When {this} enters the battlefield, if there are four or more card types among cards in your graveyard, "
diff --git a/Mage.Sets/src/mage/cards/m/MyrServitor.java b/Mage.Sets/src/mage/cards/m/MyrServitor.java
index 070ef591750..d63f1db4250 100644
--- a/Mage.Sets/src/mage/cards/m/MyrServitor.java
+++ b/Mage.Sets/src/mage/cards/m/MyrServitor.java
@@ -6,7 +6,7 @@ import mage.MageInt;
import mage.abilities.Ability;
import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
import mage.abilities.condition.common.SourceOnBattlefieldCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.OneShotEffect;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
@@ -34,7 +34,7 @@ public final class MyrServitor extends CardImpl {
this.toughness = new MageInt(1);
// At the beginning of your upkeep, if Myr Servitor is on the battlefield, each player returns all cards named Myr Servitor from their graveyard to the battlefield.
- this.addAbility(new ConditionalTriggeredAbility(
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(
new BeginningOfUpkeepTriggeredAbility(new MyrServitorReturnEffect(), TargetController.YOU, false),
SourceOnBattlefieldCondition.instance,
"At the beginning of your upkeep, if {this} is on the battlefield, each player returns all cards named Myr Servitor from their graveyard to the battlefield"
diff --git a/Mage.Sets/src/mage/cards/n/NantukoShaman.java b/Mage.Sets/src/mage/cards/n/NantukoShaman.java
index 5937fe9fca6..b17eaccb4bd 100644
--- a/Mage.Sets/src/mage/cards/n/NantukoShaman.java
+++ b/Mage.Sets/src/mage/cards/n/NantukoShaman.java
@@ -7,7 +7,7 @@ import mage.abilities.Ability;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.condition.common.PermanentsOnTheBattlefieldCondition;
import mage.abilities.costs.mana.ManaCostsImpl;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.DrawCardSourceControllerEffect;
import mage.abilities.keyword.SuspendAbility;
import mage.cards.CardImpl;
@@ -38,7 +38,7 @@ public final class NantukoShaman extends CardImpl {
this.toughness = new MageInt(2);
// When Nantuko Shaman enters the battlefield, if you control no tapped lands, draw a card.
- Ability ability = new ConditionalTriggeredAbility(
+ Ability ability = new ConditionalInterveningIfTriggeredAbility(
new EntersBattlefieldTriggeredAbility(new DrawCardSourceControllerEffect(1)),
new PermanentsOnTheBattlefieldCondition(filter, ComparisonType.EQUAL_TO, 0),
"When {this} enters the battlefield, if you control no tapped lands, draw a card");
diff --git a/Mage.Sets/src/mage/cards/n/NavigatorsRuin.java b/Mage.Sets/src/mage/cards/n/NavigatorsRuin.java
index c12ff398c74..d7ce59cf37d 100644
--- a/Mage.Sets/src/mage/cards/n/NavigatorsRuin.java
+++ b/Mage.Sets/src/mage/cards/n/NavigatorsRuin.java
@@ -5,7 +5,7 @@ import java.util.UUID;
import mage.abilities.Ability;
import mage.abilities.common.BeginningOfEndStepTriggeredAbility;
import mage.abilities.condition.common.RaidCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.PutLibraryIntoGraveTargetEffect;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
@@ -24,7 +24,7 @@ public final class NavigatorsRuin extends CardImpl {
super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{2}{U}");
// Raid - At the beginning of your end step, if you attacked with a creature this turm, target opponent puts the top four cards of their library into their graveyard.
- Ability ability = new ConditionalTriggeredAbility(
+ Ability ability = new ConditionalInterveningIfTriggeredAbility(
new BeginningOfEndStepTriggeredAbility(new PutLibraryIntoGraveTargetEffect(4), TargetController.YOU, false),
RaidCondition.instance,
"Raid — At the beginning of your end step, if you attacked with a creature this turn, target opponent puts the top four cards of their library into their graveyard.");
diff --git a/Mage.Sets/src/mage/cards/n/NearDeathExperience.java b/Mage.Sets/src/mage/cards/n/NearDeathExperience.java
index ffda771b809..d4563d5d298 100644
--- a/Mage.Sets/src/mage/cards/n/NearDeathExperience.java
+++ b/Mage.Sets/src/mage/cards/n/NearDeathExperience.java
@@ -6,7 +6,7 @@ import mage.abilities.Ability;
import mage.abilities.TriggeredAbility;
import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
import mage.abilities.condition.Condition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.WinGameSourceControllerEffect;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
@@ -26,7 +26,7 @@ public final class NearDeathExperience extends CardImpl {
// At the beginning of your upkeep, if you have exactly 1 life, you win the game.
TriggeredAbility ability = new BeginningOfUpkeepTriggeredAbility(new WinGameSourceControllerEffect(), TargetController.YOU, false);
- this.addAbility(new ConditionalTriggeredAbility(ability, new OneLifeCondition(), "At the beginning of your upkeep, if you have exactly 1 life, you win the game."));
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, new OneLifeCondition(), "At the beginning of your upkeep, if you have exactly 1 life, you win the game."));
}
public NearDeathExperience(final NearDeathExperience card) {
diff --git a/Mage.Sets/src/mage/cards/n/NeckBreaker.java b/Mage.Sets/src/mage/cards/n/NeckBreaker.java
index eda3130e3de..e47c72f19c0 100644
--- a/Mage.Sets/src/mage/cards/n/NeckBreaker.java
+++ b/Mage.Sets/src/mage/cards/n/NeckBreaker.java
@@ -9,7 +9,7 @@ import mage.abilities.common.SimpleStaticAbility;
import mage.abilities.condition.common.TransformedCondition;
import mage.abilities.condition.common.TwoOrMoreSpellsWereCastLastTurnCondition;
import mage.abilities.decorator.ConditionalContinuousEffect;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.TransformSourceEffect;
import mage.abilities.effects.common.continuous.BoostControlledEffect;
import mage.abilities.effects.common.continuous.GainAbilityControlledEffect;
@@ -50,7 +50,7 @@ public final class NeckBreaker extends CardImpl {
// At the beginning of each upkeep, if a player cast two or more spells last turn, transform Neck Breaker.
TriggeredAbility ability = new BeginningOfUpkeepTriggeredAbility(new TransformSourceEffect(false), TargetController.ANY, false);
- this.addAbility(new ConditionalTriggeredAbility(ability, TwoOrMoreSpellsWereCastLastTurnCondition.instance, TransformAbility.TWO_OR_MORE_SPELLS_TRANSFORM_RULE));
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, TwoOrMoreSpellsWereCastLastTurnCondition.instance, TransformAbility.TWO_OR_MORE_SPELLS_TRANSFORM_RULE));
}
public NeckBreaker(final NeckBreaker card) {
diff --git a/Mage.Sets/src/mage/cards/n/NecraSanctuary.java b/Mage.Sets/src/mage/cards/n/NecraSanctuary.java
index f18f891f83c..444249762d4 100644
--- a/Mage.Sets/src/mage/cards/n/NecraSanctuary.java
+++ b/Mage.Sets/src/mage/cards/n/NecraSanctuary.java
@@ -4,7 +4,7 @@ package mage.cards.n;
import java.util.UUID;
import mage.ObjectColor;
import mage.abilities.Ability;
-import mage.abilities.common.SanctuaryTriggeredAbility;
+import mage.abilities.common.SanctuaryInterveningIfTriggeredAbility;
import mage.abilities.effects.common.LoseLifeTargetEffect;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
@@ -21,7 +21,7 @@ public final class NecraSanctuary extends CardImpl {
super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{2}{B}");
// At the beginning of your upkeep, if you control a green or white permanent, target player loses 1 life. If you control a green permanent and a white permanent, that player loses 3 life instead.
- Ability ability = new SanctuaryTriggeredAbility(
+ Ability ability = new SanctuaryInterveningIfTriggeredAbility(
new LoseLifeTargetEffect(1), new LoseLifeTargetEffect(3), ObjectColor.GREEN, ObjectColor.WHITE,
"At the beginning of your upkeep, if you control a green or white permanent, "
+ "target player loses 1 life. If you control a green permanent and a white permanent, that player loses 3 life instead."
diff --git a/Mage.Sets/src/mage/cards/n/Necromancy.java b/Mage.Sets/src/mage/cards/n/Necromancy.java
index c217d6d1056..fe12c03723a 100644
--- a/Mage.Sets/src/mage/cards/n/Necromancy.java
+++ b/Mage.Sets/src/mage/cards/n/Necromancy.java
@@ -9,7 +9,7 @@ import mage.abilities.common.LeavesBattlefieldTriggeredAbility;
import mage.abilities.common.SacrificeIfCastAtInstantTimeTriggeredAbility;
import mage.abilities.common.SimpleStaticAbility;
import mage.abilities.condition.common.SourceOnBattlefieldCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.ContinuousEffectImpl;
import mage.abilities.effects.OneShotEffect;
import mage.abilities.effects.common.continuous.CastAsThoughItHadFlashSourceEffect;
@@ -45,7 +45,7 @@ public final class Necromancy extends CardImpl {
// When Necromancy enters the battlefield, if it's on the battlefield, it becomes an Aura with "enchant creature put onto the battlefield with Necromancy."
// Put target creature card from a graveyard onto the battlefield under your control and attach Necromancy to it.
// When Necromancy leaves the battlefield, that creature's controller sacrifices it.
- Ability ability = new ConditionalTriggeredAbility(
+ Ability ability = new ConditionalInterveningIfTriggeredAbility(
new EntersBattlefieldTriggeredAbility(new NecromancyReAttachEffect(), false),
SourceOnBattlefieldCondition.instance,
"When {this} enters the battlefield, if it's on the battlefield, it becomes an Aura with \"enchant creature put onto the battlefield with {this}.\" Put target creature card from a graveyard onto the battlefield under your control and attach {this} to it.");
diff --git a/Mage.Sets/src/mage/cards/n/NessianDemolok.java b/Mage.Sets/src/mage/cards/n/NessianDemolok.java
index 2f093a48b95..2ecd67ab9a7 100644
--- a/Mage.Sets/src/mage/cards/n/NessianDemolok.java
+++ b/Mage.Sets/src/mage/cards/n/NessianDemolok.java
@@ -6,7 +6,7 @@ import mage.MageInt;
import mage.abilities.TriggeredAbility;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.condition.common.TributeNotPaidCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.DestroyTargetEffect;
import mage.abilities.keyword.TributeAbility;
import mage.cards.CardImpl;
@@ -42,7 +42,7 @@ public final class NessianDemolok extends CardImpl {
// When Nessian Demolok enters the battlefield, if tribute wasn't paid, destroy target noncreature permanent.
TriggeredAbility ability = new EntersBattlefieldTriggeredAbility(new DestroyTargetEffect(), false);
ability.addTarget(new TargetPermanent(filter));
- this.addAbility(new ConditionalTriggeredAbility(ability, TributeNotPaidCondition.instance,
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, TributeNotPaidCondition.instance,
"When {this} enters the battlefield, if its tribute wasn't paid, destroy target noncreature permanent."));
}
diff --git a/Mage.Sets/src/mage/cards/n/NessianWildsRavager.java b/Mage.Sets/src/mage/cards/n/NessianWildsRavager.java
index f4ee1ac8563..3cb5b250f23 100644
--- a/Mage.Sets/src/mage/cards/n/NessianWildsRavager.java
+++ b/Mage.Sets/src/mage/cards/n/NessianWildsRavager.java
@@ -6,7 +6,7 @@ import mage.MageInt;
import mage.abilities.TriggeredAbility;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.condition.common.TributeNotPaidCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.FightTargetSourceEffect;
import mage.abilities.keyword.TributeAbility;
import mage.cards.CardImpl;
@@ -40,7 +40,7 @@ public final class NessianWildsRavager extends CardImpl {
// When Nessian Wilds Ravager enters the battlefield, if tribute wasn't paid, you may have Nessian Wilds Ravager fight another target creature.
TriggeredAbility ability = new EntersBattlefieldTriggeredAbility(new FightTargetSourceEffect(), true);
ability.addTarget(new TargetCreaturePermanent(filter));
- this.addAbility(new ConditionalTriggeredAbility(ability, TributeNotPaidCondition.instance,
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, TributeNotPaidCondition.instance,
"When {this} enters the battlefield, if its tribute wasn't paid, you may have {this} fight another target creature."));
}
diff --git a/Mage.Sets/src/mage/cards/n/NetherSpirit.java b/Mage.Sets/src/mage/cards/n/NetherSpirit.java
index f6e60bc88aa..392754dc55e 100644
--- a/Mage.Sets/src/mage/cards/n/NetherSpirit.java
+++ b/Mage.Sets/src/mage/cards/n/NetherSpirit.java
@@ -7,7 +7,7 @@ import mage.abilities.Ability;
import mage.abilities.TriggeredAbility;
import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
import mage.abilities.condition.Condition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.ReturnSourceFromGraveyardToBattlefieldEffect;
import mage.cards.Card;
import mage.cards.CardImpl;
@@ -35,7 +35,7 @@ public final class NetherSpirit extends CardImpl {
// At the beginning of your upkeep, if Nether Spirit is the only creature card in your graveyard, you may return Nether Spirit to the battlefield.
TriggeredAbility ability = new BeginningOfUpkeepTriggeredAbility(Zone.GRAVEYARD, new ReturnSourceFromGraveyardToBattlefieldEffect(), TargetController.YOU, true);
- this.addAbility(new ConditionalTriggeredAbility(ability, new NetherSpiritCondition(), "At the beginning of your upkeep, if {this} is the only creature card in your graveyard, you may return {this} to the battlefield."));
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, new NetherSpiritCondition(), "At the beginning of your upkeep, if {this} is the only creature card in your graveyard, you may return {this} to the battlefield."));
}
public NetherSpirit(final NetherSpirit card) {
diff --git a/Mage.Sets/src/mage/cards/n/NightfallPredator.java b/Mage.Sets/src/mage/cards/n/NightfallPredator.java
index a2d8dd9a1d8..f93f9232ad9 100644
--- a/Mage.Sets/src/mage/cards/n/NightfallPredator.java
+++ b/Mage.Sets/src/mage/cards/n/NightfallPredator.java
@@ -10,7 +10,7 @@ import mage.abilities.common.SimpleActivatedAbility;
import mage.abilities.condition.common.TwoOrMoreSpellsWereCastLastTurnCondition;
import mage.abilities.costs.common.TapSourceCost;
import mage.abilities.costs.mana.ManaCostsImpl;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.OneShotEffect;
import mage.abilities.effects.common.TransformSourceEffect;
import mage.abilities.keyword.TransformAbility;
@@ -50,7 +50,7 @@ public final class NightfallPredator extends CardImpl {
this.addAbility(activatedAbility);
// At the beginning of each upkeep, if a player cast two or more spells last turn, transform Nightfall Predator.
TriggeredAbility ability = new BeginningOfUpkeepTriggeredAbility(new TransformSourceEffect(false), TargetController.ANY, false);
- this.addAbility(new ConditionalTriggeredAbility(ability, TwoOrMoreSpellsWereCastLastTurnCondition.instance, TransformAbility.TWO_OR_MORE_SPELLS_TRANSFORM_RULE));
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, TwoOrMoreSpellsWereCastLastTurnCondition.instance, TransformAbility.TWO_OR_MORE_SPELLS_TRANSFORM_RULE));
}
public NightfallPredator(final NightfallPredator card) {
diff --git a/Mage.Sets/src/mage/cards/n/NightscapeBattlemage.java b/Mage.Sets/src/mage/cards/n/NightscapeBattlemage.java
index d288bad4016..e04904264a2 100644
--- a/Mage.Sets/src/mage/cards/n/NightscapeBattlemage.java
+++ b/Mage.Sets/src/mage/cards/n/NightscapeBattlemage.java
@@ -7,7 +7,7 @@ import mage.ObjectColor;
import mage.abilities.TriggeredAbility;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.condition.common.KickedCostCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.DestroyTargetEffect;
import mage.abilities.effects.common.ReturnToHandTargetEffect;
import mage.abilities.keyword.KickerAbility;
@@ -48,12 +48,12 @@ public final class NightscapeBattlemage extends CardImpl {
// When Nightscape Battlemage enters the battlefield, if it was kicked with its {2}{U} kicker, return up to two target nonblack creatures to their owners' hands.
TriggeredAbility ability = new EntersBattlefieldTriggeredAbility(new ReturnToHandTargetEffect(), false);
ability.addTarget(new TargetCreaturePermanent(0, 2, filter, false));
- this.addAbility(new ConditionalTriggeredAbility(ability, new KickedCostCondition("{2}{U}"),
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, new KickedCostCondition("{2}{U}"),
"When {this} enters the battlefield, if it was kicked with its {2}{U} kicker, return up to two target nonblack creatures to their owners' hands."));
// When Nightscape Battlemage enters the battlefield, if it was kicked with its {2}{R} kicker, destroy target land.
ability = new EntersBattlefieldTriggeredAbility(new DestroyTargetEffect(), false);
ability.addTarget(new TargetLandPermanent());
- this.addAbility(new ConditionalTriggeredAbility(ability, new KickedCostCondition("{2}{R}"),
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, new KickedCostCondition("{2}{R}"),
"When {this} enters the battlefield, if it was kicked with its {2}{R} kicker, destroy target land."));
}
diff --git a/Mage.Sets/src/mage/cards/n/Nihilith.java b/Mage.Sets/src/mage/cards/n/Nihilith.java
index 73cfcc2508a..de40e72459d 100644
--- a/Mage.Sets/src/mage/cards/n/Nihilith.java
+++ b/Mage.Sets/src/mage/cards/n/Nihilith.java
@@ -6,7 +6,7 @@ import mage.MageInt;
import mage.abilities.common.PutCardIntoGraveFromAnywhereAllTriggeredAbility;
import mage.abilities.condition.common.SuspendedCondition;
import mage.abilities.costs.mana.ManaCostsImpl;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.counter.RemoveCounterSourceEffect;
import mage.abilities.keyword.FearAbility;
import mage.abilities.keyword.SuspendAbility;
@@ -39,7 +39,7 @@ public final class Nihilith extends CardImpl {
this.addAbility(new SuspendAbility(7, new ManaCostsImpl("{1}{B}"), this, false));
// Whenever a card is put into an opponent's graveyard from anywhere, if Nihilith is suspended, you may remove a time counter from Nihilith.
- this.addAbility(new ConditionalTriggeredAbility(
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(
new PutCardIntoGraveFromAnywhereAllTriggeredAbility(Zone.EXILED, new RemoveCounterSourceEffect(CounterType.TIME.createInstance()), true,
new FilterCard(), TargetController.OPPONENT, SetTargetPointer.NONE),
SuspendedCondition.instance,
diff --git a/Mage.Sets/src/mage/cards/n/NissaVastwoodSeer.java b/Mage.Sets/src/mage/cards/n/NissaVastwoodSeer.java
index 34c9c6718b2..4b4fd3b1a4c 100644
--- a/Mage.Sets/src/mage/cards/n/NissaVastwoodSeer.java
+++ b/Mage.Sets/src/mage/cards/n/NissaVastwoodSeer.java
@@ -7,7 +7,7 @@ import mage.abilities.Gender;
import mage.abilities.common.EntersBattlefieldControlledTriggeredAbility;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.condition.common.PermanentsOnTheBattlefieldCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.ExileAndReturnTransformedSourceEffect;
import mage.abilities.effects.common.search.SearchLibraryPutInHandEffect;
import mage.abilities.keyword.TransformAbility;
@@ -51,7 +51,7 @@ public final class NissaVastwoodSeer extends CardImpl {
// Whenever a land enters the battlefield under your control, if you control seven or more lands, exile Nissa, then return her to the battlefield transformed under her owner's control.
this.addAbility(new TransformAbility());
- this.addAbility(new ConditionalTriggeredAbility(
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(
new EntersBattlefieldControlledTriggeredAbility(new ExileAndReturnTransformedSourceEffect(Gender.FEMALE), new FilterLandPermanent()),
new PermanentsOnTheBattlefieldCondition(new FilterLandPermanent(), ComparisonType.MORE_THAN, 6, true),
"Whenever a land enters the battlefield under your control, if you control seven or more lands, exile {this}, then return her to the battlefield transformed under her owner's control."));
diff --git a/Mage.Sets/src/mage/cards/n/NoggleHedgeMage.java b/Mage.Sets/src/mage/cards/n/NoggleHedgeMage.java
index f9c10694952..c117f727616 100644
--- a/Mage.Sets/src/mage/cards/n/NoggleHedgeMage.java
+++ b/Mage.Sets/src/mage/cards/n/NoggleHedgeMage.java
@@ -6,7 +6,7 @@ import mage.MageInt;
import mage.abilities.Ability;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.condition.common.PermanentsOnTheBattlefieldCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.DamageTargetEffect;
import mage.abilities.effects.common.TapTargetEffect;
import mage.cards.CardImpl;
@@ -47,12 +47,12 @@ public final class NoggleHedgeMage extends CardImpl {
this.toughness = new MageInt(2);
// When Noggle Hedge-Mage enters the battlefield, if you control two or more Islands, you may tap two target permanents.
- Ability ability = new ConditionalTriggeredAbility(new EntersBattlefieldTriggeredAbility(new TapTargetEffect(), true), new PermanentsOnTheBattlefieldCondition(filter, ComparisonType.MORE_THAN, 1), rule);
+ Ability ability = new ConditionalInterveningIfTriggeredAbility(new EntersBattlefieldTriggeredAbility(new TapTargetEffect(), true), new PermanentsOnTheBattlefieldCondition(filter, ComparisonType.MORE_THAN, 1), rule);
ability.addTarget(new TargetPermanent(2, new FilterPermanent()));
this.addAbility(ability);
// When Noggle Hedge-Mage enters the battlefield, if you control two or more Mountains, you may have Noggle Hedge-Mage deal 2 damage to target player.
- Ability ability2 = new ConditionalTriggeredAbility(new EntersBattlefieldTriggeredAbility(new DamageTargetEffect(2), true), new PermanentsOnTheBattlefieldCondition(filter2, ComparisonType.MORE_THAN, 1), rule2);
+ Ability ability2 = new ConditionalInterveningIfTriggeredAbility(new EntersBattlefieldTriggeredAbility(new DamageTargetEffect(2), true), new PermanentsOnTheBattlefieldCondition(filter2, ComparisonType.MORE_THAN, 1), rule2);
ability2.addTarget(new TargetPlayerOrPlaneswalker());
this.addAbility(ability2);
}
diff --git a/Mage.Sets/src/mage/cards/o/OathOfChandra.java b/Mage.Sets/src/mage/cards/o/OathOfChandra.java
index b5ec01bbeec..4610ca8f5c8 100644
--- a/Mage.Sets/src/mage/cards/o/OathOfChandra.java
+++ b/Mage.Sets/src/mage/cards/o/OathOfChandra.java
@@ -8,7 +8,7 @@ import mage.abilities.Ability;
import mage.abilities.common.BeginningOfEndStepTriggeredAbility;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.condition.Condition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.dynamicvalue.common.StaticValue;
import mage.abilities.effects.Effect;
import mage.abilities.effects.common.DamagePlayersEffect;
@@ -47,7 +47,7 @@ public final class OathOfChandra extends CardImpl {
ability.addTarget(new TargetCreaturePermanent(filter));
this.addAbility(ability);
// At the beginning of each end step, if a planeswalker entered the battlefield under your control this turn, Oath of Chandra deals 2 damage to each opponent.
- this.addAbility(new ConditionalTriggeredAbility(new BeginningOfEndStepTriggeredAbility(
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(new BeginningOfEndStepTriggeredAbility(
new DamagePlayersEffect(Outcome.Damage, new StaticValue(2), TargetController.OPPONENT),
TargetController.ANY, false), OathOfChandraCondition.instance,
"At the beginning of each end step, if a planeswalker entered the battlefield under your control this turn, {this} deals 2 damage to each opponent."), new OathOfChandraWatcher());
diff --git a/Mage.Sets/src/mage/cards/o/OathOfLiliana.java b/Mage.Sets/src/mage/cards/o/OathOfLiliana.java
index b9c83646ca2..5e45a1e6bef 100644
--- a/Mage.Sets/src/mage/cards/o/OathOfLiliana.java
+++ b/Mage.Sets/src/mage/cards/o/OathOfLiliana.java
@@ -8,7 +8,7 @@ import mage.abilities.Ability;
import mage.abilities.common.BeginningOfEndStepTriggeredAbility;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.condition.Condition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.CreateTokenEffect;
import mage.abilities.effects.common.SacrificeOpponentsEffect;
import mage.cards.CardImpl;
@@ -34,7 +34,7 @@ public final class OathOfLiliana extends CardImpl {
this.addAbility(new EntersBattlefieldTriggeredAbility(new SacrificeOpponentsEffect(new FilterControlledCreaturePermanent("a creature")), false));
// At the beginning of each end step, if a planeswalker entered the battlefield under your control this turn, create a 2/2 black Zombie creature token.
- this.addAbility(new ConditionalTriggeredAbility(new BeginningOfEndStepTriggeredAbility(
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(new BeginningOfEndStepTriggeredAbility(
new CreateTokenEffect(new ZombieToken()),
TargetController.ANY, false), OathOfLilianaCondition.instance,
"At the beginning of each end step, if a planeswalker entered the battlefield under your control this turn, "
diff --git a/Mage.Sets/src/mage/cards/o/OathkeeperTakenosDaisho.java b/Mage.Sets/src/mage/cards/o/OathkeeperTakenosDaisho.java
index d758ecf8281..c73958f38d0 100644
--- a/Mage.Sets/src/mage/cards/o/OathkeeperTakenosDaisho.java
+++ b/Mage.Sets/src/mage/cards/o/OathkeeperTakenosDaisho.java
@@ -8,7 +8,7 @@ import mage.abilities.common.PutIntoGraveFromBattlefieldSourceTriggeredAbility;
import mage.abilities.common.SimpleStaticAbility;
import mage.abilities.condition.Condition;
import mage.abilities.costs.mana.ManaCostsImpl;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.Effect;
import mage.abilities.effects.OneShotEffect;
import mage.abilities.effects.common.ReturnToBattlefieldUnderYourControlAttachedEffect;
@@ -41,7 +41,7 @@ public final class OathkeeperTakenosDaisho extends CardImpl {
// Equipped creature gets +3/+1.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEquippedEffect(3,1, Duration.WhileOnBattlefield)));
// Whenever equipped creature dies, return that card to the battlefield under your control if it's a Samurai card.
- this.addAbility(new ConditionalTriggeredAbility(
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(
new DiesAttachedTriggeredAbility(new ReturnToBattlefieldUnderYourControlAttachedEffect(),"equipped creature", false),
new OathkeeperEquippedMatchesFilterCondition(filter),
""));
diff --git a/Mage.Sets/src/mage/cards/o/ObsessiveSkinner.java b/Mage.Sets/src/mage/cards/o/ObsessiveSkinner.java
index 673d0c3c631..2edac2bd3e6 100644
--- a/Mage.Sets/src/mage/cards/o/ObsessiveSkinner.java
+++ b/Mage.Sets/src/mage/cards/o/ObsessiveSkinner.java
@@ -7,7 +7,7 @@ import mage.abilities.Ability;
import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.condition.common.DeliriumCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.counter.AddCountersTargetEffect;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
@@ -37,7 +37,7 @@ public final class ObsessiveSkinner extends CardImpl {
// Delirium — At the beginning of each opponent's upkeep, if there are four or more card types among cards in your graveyard,
// put a +1/+1 counter on target creature.
- ability = new ConditionalTriggeredAbility(
+ ability = new ConditionalInterveningIfTriggeredAbility(
new BeginningOfUpkeepTriggeredAbility(new AddCountersTargetEffect(CounterType.P1P1.createInstance()), TargetController.OPPONENT, false),
DeliriumCondition.instance,
"Delirium — At the beginning of each opponent's upkeep, if there are four or more card types among cards in your graveyard, "
diff --git a/Mage.Sets/src/mage/cards/o/OgreSavant.java b/Mage.Sets/src/mage/cards/o/OgreSavant.java
index 611d644509e..3b7cafa2ac4 100644
--- a/Mage.Sets/src/mage/cards/o/OgreSavant.java
+++ b/Mage.Sets/src/mage/cards/o/OgreSavant.java
@@ -6,7 +6,7 @@ import mage.MageInt;
import mage.abilities.TriggeredAbility;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.condition.common.ManaWasSpentCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.ReturnToHandTargetEffect;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
@@ -29,9 +29,10 @@ public final class OgreSavant extends CardImpl {
this.power = new MageInt(3);
this.toughness = new MageInt(2);
+ //When Ogre Savant enters the battlefield, if {U} was spent to cast Ogre Savant, return target creature to its owner’s hand.
TriggeredAbility ability = new EntersBattlefieldTriggeredAbility(new ReturnToHandTargetEffect(),false);
ability.addTarget(new TargetCreaturePermanent());
- this.addAbility(new ConditionalTriggeredAbility(ability, new ManaWasSpentCondition(ColoredManaSymbol.U),
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, new ManaWasSpentCondition(ColoredManaSymbol.U),
"if {U} was spent to cast {this}, return target creature to its owner's hand."),
new ManaSpentToCastWatcher());
}
diff --git a/Mage.Sets/src/mage/cards/o/OneOfThePack.java b/Mage.Sets/src/mage/cards/o/OneOfThePack.java
index 6280e6c952c..ff9464e0387 100644
--- a/Mage.Sets/src/mage/cards/o/OneOfThePack.java
+++ b/Mage.Sets/src/mage/cards/o/OneOfThePack.java
@@ -6,7 +6,7 @@ import mage.MageInt;
import mage.abilities.TriggeredAbility;
import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
import mage.abilities.condition.common.TwoOrMoreSpellsWereCastLastTurnCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.TransformSourceEffect;
import mage.abilities.keyword.TransformAbility;
import mage.cards.CardImpl;
@@ -33,7 +33,7 @@ public final class OneOfThePack extends CardImpl {
// At the beginning of each upkeep, if a player cast two or more spells last turn, transform One of the Pack.
TriggeredAbility ability = new BeginningOfUpkeepTriggeredAbility(new TransformSourceEffect(false), TargetController.ANY, false);
- this.addAbility(new ConditionalTriggeredAbility(ability, TwoOrMoreSpellsWereCastLastTurnCondition.instance, TransformAbility.TWO_OR_MORE_SPELLS_TRANSFORM_RULE));
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, TwoOrMoreSpellsWereCastLastTurnCondition.instance, TransformAbility.TWO_OR_MORE_SPELLS_TRANSFORM_RULE));
}
public OneOfThePack(final OneOfThePack card) {
diff --git a/Mage.Sets/src/mage/cards/o/OpalArchangel.java b/Mage.Sets/src/mage/cards/o/OpalArchangel.java
index bca276e9289..d01b6c79500 100644
--- a/Mage.Sets/src/mage/cards/o/OpalArchangel.java
+++ b/Mage.Sets/src/mage/cards/o/OpalArchangel.java
@@ -5,7 +5,7 @@ import mage.MageInt;
import mage.abilities.TriggeredAbility;
import mage.abilities.common.SpellCastOpponentTriggeredAbility;
import mage.abilities.condition.common.SourceMatchesFilterCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.continuous.BecomesCreatureSourceEffect;
import mage.abilities.keyword.FlyingAbility;
import mage.abilities.keyword.VigilanceAbility;
@@ -17,7 +17,6 @@ import mage.constants.Duration;
import mage.filter.StaticFilters;
import mage.filter.common.FilterCreatureSpell;
import mage.game.permanent.token.TokenImpl;
-import mage.game.permanent.token.Token;
import java.util.UUID;
@@ -34,7 +33,7 @@ public final class OpalArchangel extends CardImpl {
// When an opponent casts a creature spell, if Opal Archangel is an enchantment, Opal Archangel becomes a 5/5 Angel creature with flying and vigilance.
TriggeredAbility ability = new SpellCastOpponentTriggeredAbility(new BecomesCreatureSourceEffect(new OpalArchangelToken(), "", Duration.WhileOnBattlefield, true, false),
new FilterCreatureSpell(), false);
- this.addAbility(new ConditionalTriggeredAbility(ability, new SourceMatchesFilterCondition(StaticFilters.FILTER_ENCHANTMENT_PERMANENT),
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, new SourceMatchesFilterCondition(StaticFilters.FILTER_ENCHANTMENT_PERMANENT),
"When an opponent casts a creature spell, if {this} is an enchantment, {this} becomes a 5/5 Angel creature with flying and vigilance."));
}
diff --git a/Mage.Sets/src/mage/cards/o/OpalCaryatid.java b/Mage.Sets/src/mage/cards/o/OpalCaryatid.java
index 71c09b12977..41e8f0a1f80 100644
--- a/Mage.Sets/src/mage/cards/o/OpalCaryatid.java
+++ b/Mage.Sets/src/mage/cards/o/OpalCaryatid.java
@@ -5,7 +5,7 @@ import mage.MageInt;
import mage.abilities.TriggeredAbility;
import mage.abilities.common.SpellCastOpponentTriggeredAbility;
import mage.abilities.condition.common.SourceMatchesFilterCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.continuous.BecomesCreatureSourceEffect;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
@@ -31,7 +31,7 @@ public final class OpalCaryatid extends CardImpl {
// When an opponent casts a creature spell, if Opal Caryatid is an enchantment, Opal Caryatid becomes a 2/2 Soldier creature.
TriggeredAbility ability = new SpellCastOpponentTriggeredAbility(new BecomesCreatureSourceEffect(new OpalCaryatidSoldierToken(), "", Duration.WhileOnBattlefield, true, false),
new FilterCreatureSpell(), false);
- this.addAbility(new ConditionalTriggeredAbility(ability, new SourceMatchesFilterCondition(StaticFilters.FILTER_ENCHANTMENT_PERMANENT),
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, new SourceMatchesFilterCondition(StaticFilters.FILTER_ENCHANTMENT_PERMANENT),
"When an opponent casts a creature spell, if {this} is an enchantment, {this} becomes a 2/2 Soldier creature."));
}
diff --git a/Mage.Sets/src/mage/cards/o/OpalChampion.java b/Mage.Sets/src/mage/cards/o/OpalChampion.java
index cd38ed0e7c7..ad80f47b587 100644
--- a/Mage.Sets/src/mage/cards/o/OpalChampion.java
+++ b/Mage.Sets/src/mage/cards/o/OpalChampion.java
@@ -5,7 +5,7 @@ import mage.MageInt;
import mage.abilities.TriggeredAbility;
import mage.abilities.common.SpellCastOpponentTriggeredAbility;
import mage.abilities.condition.common.SourceMatchesFilterCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.continuous.BecomesCreatureSourceEffect;
import mage.abilities.keyword.FirstStrikeAbility;
import mage.cards.CardImpl;
@@ -16,7 +16,6 @@ import mage.constants.Duration;
import mage.filter.StaticFilters;
import mage.filter.common.FilterCreatureSpell;
import mage.game.permanent.token.TokenImpl;
-import mage.game.permanent.token.Token;
import java.util.UUID;
@@ -33,7 +32,7 @@ public final class OpalChampion extends CardImpl {
// When an opponent casts a creature spell, if Opal Champion is an enchantment, Opal Champion becomes a 3/3 Knight creature with first strike.
TriggeredAbility ability = new SpellCastOpponentTriggeredAbility(new BecomesCreatureSourceEffect(new OpalChampionKnight(), "", Duration.WhileOnBattlefield, true, false),
new FilterCreatureSpell(), false);
- this.addAbility(new ConditionalTriggeredAbility(ability, new SourceMatchesFilterCondition(StaticFilters.FILTER_ENCHANTMENT_PERMANENT),
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, new SourceMatchesFilterCondition(StaticFilters.FILTER_ENCHANTMENT_PERMANENT),
"When an opponent casts a creature spell, if {this} is an enchantment, {this} becomes a 3/3 Knight creature with first strike."));
}
diff --git a/Mage.Sets/src/mage/cards/o/OpalGargoyle.java b/Mage.Sets/src/mage/cards/o/OpalGargoyle.java
index eb7d2c42337..7af1f098b0d 100644
--- a/Mage.Sets/src/mage/cards/o/OpalGargoyle.java
+++ b/Mage.Sets/src/mage/cards/o/OpalGargoyle.java
@@ -5,7 +5,7 @@ import mage.MageInt;
import mage.abilities.TriggeredAbility;
import mage.abilities.common.SpellCastOpponentTriggeredAbility;
import mage.abilities.condition.common.SourceMatchesFilterCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.continuous.BecomesCreatureSourceEffect;
import mage.abilities.keyword.FlyingAbility;
import mage.cards.CardImpl;
@@ -16,7 +16,6 @@ import mage.constants.Duration;
import mage.filter.StaticFilters;
import mage.filter.common.FilterCreatureSpell;
import mage.game.permanent.token.TokenImpl;
-import mage.game.permanent.token.Token;
import java.util.UUID;
@@ -33,7 +32,7 @@ public final class OpalGargoyle extends CardImpl {
// When an opponent casts a creature spell, if Opal Gargoyle is an enchantment, Opal Gargoyle becomes a 2/2 Gargoyle creature with flying.
TriggeredAbility ability = new SpellCastOpponentTriggeredAbility(new BecomesCreatureSourceEffect(new OpalGargoyleToken(), "", Duration.WhileOnBattlefield, true, false),
new FilterCreatureSpell(), false);
- this.addAbility(new ConditionalTriggeredAbility(ability, new SourceMatchesFilterCondition(StaticFilters.FILTER_ENCHANTMENT_PERMANENT),
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, new SourceMatchesFilterCondition(StaticFilters.FILTER_ENCHANTMENT_PERMANENT),
"When an opponent casts a creature spell, if {this} is an enchantment, {this} becomes a 2/2 Gargoyle creature with flying."));
}
diff --git a/Mage.Sets/src/mage/cards/o/OpalGuardian.java b/Mage.Sets/src/mage/cards/o/OpalGuardian.java
index 258002501a4..2ef3d5f02f7 100644
--- a/Mage.Sets/src/mage/cards/o/OpalGuardian.java
+++ b/Mage.Sets/src/mage/cards/o/OpalGuardian.java
@@ -6,7 +6,7 @@ import mage.ObjectColor;
import mage.abilities.TriggeredAbility;
import mage.abilities.common.SpellCastOpponentTriggeredAbility;
import mage.abilities.condition.common.SourceMatchesFilterCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.continuous.BecomesCreatureSourceEffect;
import mage.abilities.keyword.FlyingAbility;
import mage.abilities.keyword.ProtectionAbility;
@@ -18,7 +18,6 @@ import mage.constants.Duration;
import mage.filter.StaticFilters;
import mage.filter.common.FilterCreatureSpell;
import mage.game.permanent.token.TokenImpl;
-import mage.game.permanent.token.Token;
import java.util.UUID;
@@ -35,7 +34,7 @@ public final class OpalGuardian extends CardImpl {
// When an opponent casts a creature spell, if Opal Guardian is an enchantment, Opal Guardian becomes a 3/4 Gargoyle creature with flying and protection from red.
TriggeredAbility ability = new SpellCastOpponentTriggeredAbility(new BecomesCreatureSourceEffect(new OpalGuardianGargoyle(), "", Duration.WhileOnBattlefield, true, false),
new FilterCreatureSpell(), false);
- this.addAbility(new ConditionalTriggeredAbility(ability, new SourceMatchesFilterCondition(StaticFilters.FILTER_ENCHANTMENT_PERMANENT),
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, new SourceMatchesFilterCondition(StaticFilters.FILTER_ENCHANTMENT_PERMANENT),
"When an opponent casts a creature spell, if {this} is an enchantment, {this} becomes a 3/4 Gargoyle creature with flying and protection from red."));
}
diff --git a/Mage.Sets/src/mage/cards/o/OpalLakeGatekeepers.java b/Mage.Sets/src/mage/cards/o/OpalLakeGatekeepers.java
index f3c7b6d9fa3..4a41c8e08d7 100644
--- a/Mage.Sets/src/mage/cards/o/OpalLakeGatekeepers.java
+++ b/Mage.Sets/src/mage/cards/o/OpalLakeGatekeepers.java
@@ -6,7 +6,7 @@ import java.util.UUID;
import mage.MageInt;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.condition.common.PermanentsOnTheBattlefieldCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.DrawCardSourceControllerEffect;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
@@ -38,7 +38,7 @@ public final class OpalLakeGatekeepers extends CardImpl {
this.toughness = new MageInt(4);
// When Opal Lake Gatekeepers enters the battlefield, if you control two or more Gates, you may draw a card.
- this.addAbility(new ConditionalTriggeredAbility(
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(
new EntersBattlefieldTriggeredAbility(new DrawCardSourceControllerEffect(1)),
new PermanentsOnTheBattlefieldCondition(filter, ComparisonType.MORE_THAN, 1),
"When Opal Lake Gatekeepers enters the battlefield, if you control two or more Gates, you may draw a card."));
diff --git a/Mage.Sets/src/mage/cards/o/Ophiomancer.java b/Mage.Sets/src/mage/cards/o/Ophiomancer.java
index 2984ff3dcd1..3bcde4f46d3 100644
--- a/Mage.Sets/src/mage/cards/o/Ophiomancer.java
+++ b/Mage.Sets/src/mage/cards/o/Ophiomancer.java
@@ -5,7 +5,7 @@ import java.util.UUID;
import mage.MageInt;
import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
import mage.abilities.condition.common.PermanentsOnTheBattlefieldCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.CreateTokenEffect;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
@@ -28,7 +28,7 @@ public final class Ophiomancer extends CardImpl {
this.toughness = new MageInt(2);
// At the beginning of each upkeep, if you control no Snakes, create a 1/1 black Snake creature token with deathtouch.
- this.addAbility(new ConditionalTriggeredAbility(
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(
new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, new CreateTokenEffect(new OphiomancerSnakeToken()), TargetController.ANY, false, false),
new PermanentsOnTheBattlefieldCondition(new FilterCreaturePermanent(SubType.SNAKE, "no Snakes"), ComparisonType.EQUAL_TO, 0),
"At the beginning of each upkeep, if you control no Snakes, create a 1/1 black Snake creature token with deathtouch."));
diff --git a/Mage.Sets/src/mage/cards/o/OracleOfBones.java b/Mage.Sets/src/mage/cards/o/OracleOfBones.java
index 80208b1d8c6..d54fec1de78 100644
--- a/Mage.Sets/src/mage/cards/o/OracleOfBones.java
+++ b/Mage.Sets/src/mage/cards/o/OracleOfBones.java
@@ -8,7 +8,7 @@ import mage.abilities.Ability;
import mage.abilities.TriggeredAbility;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.condition.common.TributeNotPaidCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.OneShotEffect;
import mage.abilities.keyword.HasteAbility;
import mage.abilities.keyword.TributeAbility;
@@ -45,7 +45,7 @@ public final class OracleOfBones extends CardImpl {
this.addAbility(new TributeAbility(2));
// When Oracle of Bones enters the battlefield, if tribute wasn't paid, you may cast an instant or sorcery card from your hand without paying its mana cost.
TriggeredAbility ability = new EntersBattlefieldTriggeredAbility(new OracleOfBonesCastEffect(), false);
- this.addAbility(new ConditionalTriggeredAbility(ability, TributeNotPaidCondition.instance,
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, TributeNotPaidCondition.instance,
"When {this} enters the battlefield, if its tribute wasn't paid, you may cast an instant or sorcery card from your hand without paying its mana cost."));
}
diff --git a/Mage.Sets/src/mage/cards/o/OranRiefRecluse.java b/Mage.Sets/src/mage/cards/o/OranRiefRecluse.java
index f2b158cd949..833b811865a 100644
--- a/Mage.Sets/src/mage/cards/o/OranRiefRecluse.java
+++ b/Mage.Sets/src/mage/cards/o/OranRiefRecluse.java
@@ -5,7 +5,7 @@ import java.util.UUID;
import mage.MageInt;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.condition.common.KickedCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.DestroyTargetEffect;
import mage.abilities.keyword.FlyingAbility;
import mage.abilities.keyword.KickerAbility;
@@ -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 ConditionalTriggeredAbility(ability, KickedCondition.instance, "When {this} enters the battlefield, if it was kicked, destroy target creature with flying."));
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, KickedCondition.instance, "When {this} enters the battlefield, if it was kicked, destroy target creature with flying."));
}
public OranRiefRecluse(final OranRiefRecluse card) {
diff --git a/Mage.Sets/src/mage/cards/o/Ornitharch.java b/Mage.Sets/src/mage/cards/o/Ornitharch.java
index edee0495a92..674177dab3c 100644
--- a/Mage.Sets/src/mage/cards/o/Ornitharch.java
+++ b/Mage.Sets/src/mage/cards/o/Ornitharch.java
@@ -6,7 +6,7 @@ import mage.MageInt;
import mage.abilities.TriggeredAbility;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.condition.common.TributeNotPaidCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.CreateTokenEffect;
import mage.abilities.keyword.FlyingAbility;
import mage.abilities.keyword.TributeAbility;
@@ -35,7 +35,7 @@ public final class Ornitharch extends CardImpl {
this.addAbility(new TributeAbility(2));
// When Ornitharch enters the battlefield, if tribute wasn't paid, create two 1/1 white Bird creature tokens with flying.
TriggeredAbility ability = new EntersBattlefieldTriggeredAbility(new CreateTokenEffect(new BirdToken(), 2), false);
- this.addAbility(new ConditionalTriggeredAbility(ability, TributeNotPaidCondition.instance,
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, TributeNotPaidCondition.instance,
"When {this} enters the battlefield, if its tribute wasn't paid, create two 1/1 white Bird creature tokens with flying."));
}
diff --git a/Mage.Sets/src/mage/cards/o/OsaiVultures.java b/Mage.Sets/src/mage/cards/o/OsaiVultures.java
index 40c192a16ca..77c550a5b9d 100644
--- a/Mage.Sets/src/mage/cards/o/OsaiVultures.java
+++ b/Mage.Sets/src/mage/cards/o/OsaiVultures.java
@@ -7,7 +7,7 @@ import mage.abilities.common.BeginningOfEndStepTriggeredAbility;
import mage.abilities.common.SimpleActivatedAbility;
import mage.abilities.condition.common.MorbidCondition;
import mage.abilities.costs.common.RemoveCountersSourceCost;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.continuous.BoostSourceEffect;
import mage.abilities.effects.common.counter.AddCountersSourceEffect;
import mage.abilities.keyword.FlyingAbility;
@@ -35,7 +35,7 @@ public final class OsaiVultures extends CardImpl {
// Flying
this.addAbility(FlyingAbility.getInstance());
// At the beginning of each end step, if a creature died this turn, put a carrion counter on Osai Vultures.
- this.addAbility(new ConditionalTriggeredAbility(new BeginningOfEndStepTriggeredAbility(
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(new BeginningOfEndStepTriggeredAbility(
new AddCountersSourceEffect(CounterType.CARRION.createInstance()), TargetController.ANY, false), MorbidCondition.instance,
"At the beginning of each end step, if a creature died this turn, put a carrion counter on {this}."));
// Remove two carrion counters from Osai Vultures: Osai Vultures gets +1/+1 until end of turn.
diff --git a/Mage.Sets/src/mage/cards/o/OversoldCemetery.java b/Mage.Sets/src/mage/cards/o/OversoldCemetery.java
index ee4f321b182..5c4825f137a 100644
--- a/Mage.Sets/src/mage/cards/o/OversoldCemetery.java
+++ b/Mage.Sets/src/mage/cards/o/OversoldCemetery.java
@@ -5,7 +5,7 @@ import java.util.UUID;
import mage.abilities.TriggeredAbility;
import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
import mage.abilities.condition.common.CardsInControllerGraveCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.ReturnFromGraveyardToHandTargetEffect;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
@@ -29,7 +29,7 @@ public final class OversoldCemetery extends CardImpl {
TriggeredAbility ability = new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, new ReturnFromGraveyardToHandTargetEffect(), TargetController.YOU, true);
ability.addTarget(new TargetCardInGraveyard(new FilterCreatureCard()));
CardsInControllerGraveCondition condition = new CardsInControllerGraveCondition(4, StaticFilters.FILTER_CARD_CREATURE_YOUR_GRAVEYARD);
- this.addAbility(new ConditionalTriggeredAbility(ability, condition, "At the beginning of your upkeep, if you have four or more creature cards in your graveyard, you may return target creature card from your graveyard to your hand."));
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, condition, "At the beginning of your upkeep, if you have four or more creature cards in your graveyard, you may return target creature card from your graveyard to your hand."));
}
public OversoldCemetery(final OversoldCemetery card) {
diff --git a/Mage.Sets/src/mage/cards/p/PadeemConsulOfInnovation.java b/Mage.Sets/src/mage/cards/p/PadeemConsulOfInnovation.java
index 4ed9f24c3d3..b22a6b76e31 100644
--- a/Mage.Sets/src/mage/cards/p/PadeemConsulOfInnovation.java
+++ b/Mage.Sets/src/mage/cards/p/PadeemConsulOfInnovation.java
@@ -7,7 +7,7 @@ import mage.abilities.Ability;
import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
import mage.abilities.common.SimpleStaticAbility;
import mage.abilities.condition.common.ControlsPermanentGreatestCMCCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.DrawCardSourceControllerEffect;
import mage.abilities.effects.common.continuous.GainAbilityControlledEffect;
import mage.abilities.keyword.HexproofAbility;
@@ -35,7 +35,7 @@ public final class PadeemConsulOfInnovation extends CardImpl {
new GainAbilityControlledEffect(HexproofAbility.getInstance(), Duration.WhileOnBattlefield, new FilterArtifactPermanent(), false)));
// At the beginning of your upkeep, if you control the artifact with the highest converted mana cost or tied for the highest converted mana cost, draw a card.
- Ability ability = new ConditionalTriggeredAbility(new BeginningOfUpkeepTriggeredAbility(new DrawCardSourceControllerEffect(1), TargetController.YOU, false),
+ Ability ability = new ConditionalInterveningIfTriggeredAbility(new BeginningOfUpkeepTriggeredAbility(new DrawCardSourceControllerEffect(1), TargetController.YOU, false),
new ControlsPermanentGreatestCMCCondition(new FilterArtifactPermanent()),
"At the beginning of your upkeep, if you control the artifact with the highest converted mana cost or tied for the highest converted mana cost, draw a card.");
diff --git a/Mage.Sets/src/mage/cards/p/PalaceSiege.java b/Mage.Sets/src/mage/cards/p/PalaceSiege.java
index 7e39368e178..97624a9c482 100644
--- a/Mage.Sets/src/mage/cards/p/PalaceSiege.java
+++ b/Mage.Sets/src/mage/cards/p/PalaceSiege.java
@@ -1,7 +1,6 @@
package mage.cards.p;
-import java.util.UUID;
import mage.abilities.Ability;
import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
import mage.abilities.common.EntersBattlefieldAbility;
@@ -19,6 +18,8 @@ import mage.constants.TargetController;
import mage.filter.common.FilterCreatureCard;
import mage.target.common.TargetCardInYourGraveyard;
+import java.util.UUID;
+
/**
*
* @author LevelX2
diff --git a/Mage.Sets/src/mage/cards/p/PaladinOfAtonement.java b/Mage.Sets/src/mage/cards/p/PaladinOfAtonement.java
index c6c0b36d281..3b21dd98e74 100644
--- a/Mage.Sets/src/mage/cards/p/PaladinOfAtonement.java
+++ b/Mage.Sets/src/mage/cards/p/PaladinOfAtonement.java
@@ -6,7 +6,7 @@ import mage.MageInt;
import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
import mage.abilities.common.DiesTriggeredAbility;
import mage.abilities.condition.common.LiveLostLastTurnCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.dynamicvalue.common.SourcePermanentToughnessValue;
import mage.abilities.effects.common.GainLifeEffect;
import mage.abilities.effects.common.counter.AddCountersSourceEffect;
@@ -32,7 +32,7 @@ public final class PaladinOfAtonement extends CardImpl {
this.toughness = new MageInt(1);
// At the beginning of each upkeep, if you lost life last turn, put a +1/+1 counter on Paladin of Atonement.
- this.addAbility(new ConditionalTriggeredAbility(
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(
new BeginningOfUpkeepTriggeredAbility(new AddCountersSourceEffect(CounterType.P1P1.createInstance()), TargetController.ANY, false),
LiveLostLastTurnCondition.instance,
"At the beginning of each upkeep, if you lost life last turn, put a +1/+1 counter on {this}"));
diff --git a/Mage.Sets/src/mage/cards/p/PardicDragon.java b/Mage.Sets/src/mage/cards/p/PardicDragon.java
index 03002ad2fb5..992255a6fa9 100644
--- a/Mage.Sets/src/mage/cards/p/PardicDragon.java
+++ b/Mage.Sets/src/mage/cards/p/PardicDragon.java
@@ -9,7 +9,7 @@ import mage.abilities.common.SpellCastOpponentTriggeredAbility;
import mage.abilities.condition.common.SuspendedCondition;
import mage.abilities.costs.mana.ColoredManaCost;
import mage.abilities.costs.mana.ManaCostsImpl;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.OneShotEffect;
import mage.abilities.effects.common.continuous.BoostSourceEffect;
import mage.abilities.keyword.FlyingAbility;
@@ -43,7 +43,7 @@ public final class PardicDragon extends CardImpl {
// Suspend 2-{R}{R}
this.addAbility(new SuspendAbility(2, new ManaCostsImpl("{R}{R}"), this, true));
// Whenever an opponent casts a spell, if Pardic Dragon is suspended, that player may put a time counter on Pardic Dragon.
- this.addAbility(new ConditionalTriggeredAbility(
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(
new SpellCastOpponentTriggeredAbility(Zone.EXILED, new PardicDragonEffect(), StaticFilters.FILTER_SPELL, false, SetTargetPointer.PLAYER),
SuspendedCondition.instance,
"Whenever an opponent casts a spell, if {this} is suspended, that player may put a time counter on {this}."
diff --git a/Mage.Sets/src/mage/cards/p/PaupersCage.java b/Mage.Sets/src/mage/cards/p/PaupersCage.java
index d0c92d16659..961a57eecbd 100644
--- a/Mage.Sets/src/mage/cards/p/PaupersCage.java
+++ b/Mage.Sets/src/mage/cards/p/PaupersCage.java
@@ -5,7 +5,7 @@ import java.util.UUID;
import mage.abilities.TriggeredAbility;
import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
import mage.abilities.condition.common.CardsInHandCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.DamageTargetEffect;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
@@ -27,7 +27,7 @@ public final class PaupersCage extends CardImpl {
TriggeredAbility ability = new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD,
new DamageTargetEffect(2), TargetController.OPPONENT, false, true);
CardsInHandCondition condition = new CardsInHandCondition(ComparisonType.FEWER_THAN, 3);
- this.addAbility(new ConditionalTriggeredAbility(ability, condition, "At the beginning of each opponent's upkeep, if that player has two or fewer cards in hand, {this} deals 2 damage to him or her."));
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, condition, "At the beginning of each opponent's upkeep, if that player has two or fewer cards in hand, {this} deals 2 damage to him or her."));
}
public PaupersCage(final PaupersCage card) {
diff --git a/Mage.Sets/src/mage/cards/p/Pestilence.java b/Mage.Sets/src/mage/cards/p/Pestilence.java
index e584a3e20eb..1b9d417a3a7 100644
--- a/Mage.Sets/src/mage/cards/p/Pestilence.java
+++ b/Mage.Sets/src/mage/cards/p/Pestilence.java
@@ -7,7 +7,7 @@ import mage.abilities.common.OnEventTriggeredAbility;
import mage.abilities.common.SimpleActivatedAbility;
import mage.abilities.condition.common.CreatureCountCondition;
import mage.abilities.costs.mana.ManaCostsImpl;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.DamageEverythingEffect;
import mage.abilities.effects.common.SacrificeSourceEffect;
import mage.cards.CardImpl;
@@ -30,7 +30,7 @@ public final class Pestilence extends CardImpl {
// At the beginning of the end step, if no creatures are on the battlefield, sacrifice Pestilence.
TriggeredAbility triggered = new OnEventTriggeredAbility(GameEvent.EventType.END_TURN_STEP_PRE, "beginning of the end step", true, new SacrificeSourceEffect());
- this.addAbility(new ConditionalTriggeredAbility(triggered, new CreatureCountCondition(0, TargetController.ANY), ruleText));
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(triggered, new CreatureCountCondition(0, TargetController.ANY), ruleText));
// {B}: Pestilence deals 1 damage to each creature and each player.
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageEverythingEffect(1), new ManaCostsImpl("{B}")));
diff --git a/Mage.Sets/src/mage/cards/p/PhageTheUntouchable.java b/Mage.Sets/src/mage/cards/p/PhageTheUntouchable.java
index 32ba55f44c1..e1bc4cafc83 100644
--- a/Mage.Sets/src/mage/cards/p/PhageTheUntouchable.java
+++ b/Mage.Sets/src/mage/cards/p/PhageTheUntouchable.java
@@ -8,7 +8,7 @@ import mage.abilities.common.DealsCombatDamageToAPlayerTriggeredAbility;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.condition.InvertCondition;
import mage.abilities.condition.common.CastFromHandSourceCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.DestroyTargetEffect;
import mage.abilities.effects.common.LoseGameSourceControllerEffect;
import mage.abilities.effects.common.LoseGameTargetPlayerEffect;
@@ -35,7 +35,7 @@ public final class PhageTheUntouchable extends CardImpl {
this.toughness = new MageInt(4);
// When Phage the Untouchable enters the battlefield, if you didn't cast it from your hand, you lose the game.
- this.addAbility(new ConditionalTriggeredAbility(
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(
new EntersBattlefieldTriggeredAbility(new LoseGameSourceControllerEffect(), false),
new InvertCondition(CastFromHandSourceCondition.instance),
"When {this} enters the battlefield, if you didn't cast it from your hand, you lose the game"
diff --git a/Mage.Sets/src/mage/cards/p/PharagaxGiant.java b/Mage.Sets/src/mage/cards/p/PharagaxGiant.java
index 08a362cff76..c90976a6ea3 100644
--- a/Mage.Sets/src/mage/cards/p/PharagaxGiant.java
+++ b/Mage.Sets/src/mage/cards/p/PharagaxGiant.java
@@ -6,7 +6,7 @@ import mage.MageInt;
import mage.abilities.TriggeredAbility;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.condition.common.TributeNotPaidCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.DamagePlayersEffect;
import mage.abilities.keyword.TributeAbility;
import mage.cards.CardImpl;
@@ -32,7 +32,7 @@ public final class PharagaxGiant extends CardImpl {
this.addAbility(new TributeAbility(2));
// When Pharagax Giant enters the battlefield, if tribute wasn't paid, Pharagax Giant deals 5 damage to each opponent.
TriggeredAbility ability = new EntersBattlefieldTriggeredAbility(new DamagePlayersEffect(5, TargetController.OPPONENT), false);
- this.addAbility(new ConditionalTriggeredAbility(ability, TributeNotPaidCondition.instance,
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, TributeNotPaidCondition.instance,
"When {this} enters the battlefield, if its tribute wasn't paid, {this} deals 5 damage to each opponent."));
}
diff --git a/Mage.Sets/src/mage/cards/p/PitKeeper.java b/Mage.Sets/src/mage/cards/p/PitKeeper.java
index d758888bc52..ce51141cf77 100644
--- a/Mage.Sets/src/mage/cards/p/PitKeeper.java
+++ b/Mage.Sets/src/mage/cards/p/PitKeeper.java
@@ -7,7 +7,7 @@ import mage.abilities.Ability;
import mage.abilities.TriggeredAbility;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.condition.Condition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.ReturnToHandTargetEffect;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
@@ -35,7 +35,7 @@ public final class PitKeeper extends CardImpl {
// When Pit Keeper enters the battlefield, if you have four or more creature cards in your graveyard, you may return target creature card from your graveyard to your hand.
TriggeredAbility triggeredAbility = new EntersBattlefieldTriggeredAbility(new ReturnToHandTargetEffect(), true);
triggeredAbility.addTarget(new TargetCardInYourGraveyard(StaticFilters.FILTER_CARD_CREATURE_YOUR_GRAVEYARD));
- this.addAbility(new ConditionalTriggeredAbility(
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(
triggeredAbility,
new CreatureCardsInControllerGraveCondition(4),
"When {this} enters the battlefield, if you have four or more creature cards in your graveyard, you may return target creature card from your graveyard to your hand."));
diff --git a/Mage.Sets/src/mage/cards/p/PlanarCollapse.java b/Mage.Sets/src/mage/cards/p/PlanarCollapse.java
index fadfd1060aa..f627cf2be7e 100644
--- a/Mage.Sets/src/mage/cards/p/PlanarCollapse.java
+++ b/Mage.Sets/src/mage/cards/p/PlanarCollapse.java
@@ -5,7 +5,7 @@ import java.util.UUID;
import mage.abilities.Ability;
import mage.abilities.TriggeredAbility;
import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.DestroyAllEffect;
import mage.abilities.effects.common.SacrificeSourceEffect;
import mage.cards.CardImpl;
@@ -29,7 +29,7 @@ public final class PlanarCollapse extends CardImpl {
TriggeredAbility ability = new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, new SacrificeSourceEffect(), TargetController.YOU, false);
ability.addEffect(new DestroyAllEffect(StaticFilters.FILTER_PERMANENT_CREATURE, true));
PlanarCollapseCondition contition = new PlanarCollapseCondition();
- this.addAbility(new ConditionalTriggeredAbility(ability, contition, "At the beginning of your upkeep, if there are four or more creatures on the battlefield, sacrifice {this} and destroy all creatures. They can't be regenerated"));
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, contition, "At the beginning of your upkeep, if there are four or more creatures on the battlefield, sacrifice {this} and destroy all creatures. They can't be regenerated"));
}
diff --git a/Mage.Sets/src/mage/cards/p/PortalMage.java b/Mage.Sets/src/mage/cards/p/PortalMage.java
index 8a162d3d56b..69e75544b12 100644
--- a/Mage.Sets/src/mage/cards/p/PortalMage.java
+++ b/Mage.Sets/src/mage/cards/p/PortalMage.java
@@ -1,9 +1,6 @@
package mage.cards.p;
-import java.util.LinkedHashSet;
-import java.util.Set;
-import java.util.UUID;
import mage.MageInt;
import mage.abilities.Ability;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
@@ -14,9 +11,9 @@ import mage.abilities.keyword.FlashAbility;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
-import mage.constants.SubType;
import mage.constants.Outcome;
import mage.constants.PhaseStep;
+import mage.constants.SubType;
import mage.filter.StaticFilters;
import mage.filter.common.FilterAttackingCreature;
import mage.game.Game;
@@ -26,6 +23,10 @@ import mage.players.Player;
import mage.target.common.TargetCreaturePermanent;
import mage.target.common.TargetDefender;
+import java.util.LinkedHashSet;
+import java.util.Set;
+import java.util.UUID;
+
/**
*
* @author LevelX2
diff --git a/Mage.Sets/src/mage/cards/p/Portcullis.java b/Mage.Sets/src/mage/cards/p/Portcullis.java
index 319e341c8cd..fecfdb308ce 100644
--- a/Mage.Sets/src/mage/cards/p/Portcullis.java
+++ b/Mage.Sets/src/mage/cards/p/Portcullis.java
@@ -7,7 +7,7 @@ import mage.abilities.TriggeredAbility;
import mage.abilities.common.EntersBattlefieldAllTriggeredAbility;
import mage.abilities.common.LeavesBattlefieldTriggeredAbility;
import mage.abilities.condition.Condition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.dynamicvalue.common.PermanentsOnBattlefieldCount;
import mage.abilities.effects.OneShotEffect;
import mage.abilities.effects.common.ReturnFromExileForSourceEffect;
@@ -37,9 +37,8 @@ public final class Portcullis extends CardImpl {
// Whenever a creature enters the battlefield, if there are two or more other creatures on the battlefield, exile that creature.
String rule = "Whenever a creature enters the battlefield, if there are two or more other creatures on the battlefield, exile that creature";
TriggeredAbility ability = new EntersBattlefieldAllTriggeredAbility(Zone.BATTLEFIELD, new PortcullisExileEffect(), filter, false, SetTargetPointer.PERMANENT, rule);
-
MoreThanXCreaturesOnBFCondition condition = new MoreThanXCreaturesOnBFCondition(2);
- this.addAbility(new ConditionalTriggeredAbility(ability, condition, rule));
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, condition, rule));
// Return that card to the battlefield under its owner's control when Portcullis leaves the battlefield.
Ability ability2 = new LeavesBattlefieldTriggeredAbility(new ReturnFromExileForSourceEffect(Zone.BATTLEFIELD), false);
diff --git a/Mage.Sets/src/mage/cards/p/PouncingWurm.java b/Mage.Sets/src/mage/cards/p/PouncingWurm.java
index 25b6d07f201..df36219167f 100644
--- a/Mage.Sets/src/mage/cards/p/PouncingWurm.java
+++ b/Mage.Sets/src/mage/cards/p/PouncingWurm.java
@@ -6,7 +6,7 @@ import mage.MageInt;
import mage.abilities.Ability;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.condition.common.KickedCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.continuous.GainAbilitySourceEffect;
import mage.abilities.effects.common.counter.AddCountersSourceEffect;
import mage.abilities.keyword.HasteAbility;
@@ -34,7 +34,7 @@ public final class PouncingWurm extends CardImpl {
// Kicker {2}{G}
this.addAbility(new KickerAbility("{2}{G}"));
// If Pouncing Wurm was kicked, it enters the battlefield with three +1/+1 counters on it and with haste.
- Ability ability = new ConditionalTriggeredAbility(
+ 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.");
ability.addEffect(new GainAbilitySourceEffect(HasteAbility.getInstance(), Duration.WhileOnBattlefield));
diff --git a/Mage.Sets/src/mage/cards/p/ProgenitorMimic.java b/Mage.Sets/src/mage/cards/p/ProgenitorMimic.java
index b3a181e230c..6b9c5a018a5 100644
--- a/Mage.Sets/src/mage/cards/p/ProgenitorMimic.java
+++ b/Mage.Sets/src/mage/cards/p/ProgenitorMimic.java
@@ -6,7 +6,7 @@ import mage.MageInt;
import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
import mage.abilities.common.EntersBattlefieldAbility;
import mage.abilities.condition.common.SourceMatchesFilterCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.Effect;
import mage.abilities.effects.CreateTokenCopySourceEffect;
import mage.abilities.effects.common.CopyPermanentEffect;
@@ -46,7 +46,7 @@ public final class ProgenitorMimic extends CardImpl {
effect.setText("create a token that's a copy of this creature");
AbilityApplier applier = new AbilityApplier(
- new ConditionalTriggeredAbility(
+ new ConditionalInterveningIfTriggeredAbility(
new BeginningOfUpkeepTriggeredAbility(effect, TargetController.YOU, false),
new SourceMatchesFilterCondition(filter),
"At the beginning of your upkeep, if this creature isn't a token, create a token that's a copy of this creature.")
diff --git a/Mage.Sets/src/mage/cards/p/Pyrohemia.java b/Mage.Sets/src/mage/cards/p/Pyrohemia.java
index 0cb68a49bad..e0305312256 100644
--- a/Mage.Sets/src/mage/cards/p/Pyrohemia.java
+++ b/Mage.Sets/src/mage/cards/p/Pyrohemia.java
@@ -7,7 +7,7 @@ import mage.abilities.common.OnEventTriggeredAbility;
import mage.abilities.common.SimpleActivatedAbility;
import mage.abilities.condition.common.CreatureCountCondition;
import mage.abilities.costs.mana.ManaCostsImpl;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.DamageEverythingEffect;
import mage.abilities.effects.common.SacrificeSourceEffect;
import mage.cards.CardImpl;
@@ -30,7 +30,7 @@ public final class Pyrohemia extends CardImpl {
// At the beginning of the end step, if no creatures are on the battlefield, sacrifice Pyrohemia.
TriggeredAbility triggered = new OnEventTriggeredAbility(GameEvent.EventType.END_TURN_STEP_PRE, "beginning of the end step", true, new SacrificeSourceEffect());
- this.addAbility(new ConditionalTriggeredAbility(triggered, new CreatureCountCondition(0, TargetController.ANY), ruleText));
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(triggered, new CreatureCountCondition(0, TargetController.ANY), ruleText));
// {R}: Pyrohemia deals 1 damage to each creature and each player.
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageEverythingEffect(1), new ManaCostsImpl("{R}")));
diff --git a/Mage.Sets/src/mage/cards/q/QueenMarchesa.java b/Mage.Sets/src/mage/cards/q/QueenMarchesa.java
index 7c02c754d5f..6b38efbc83f 100644
--- a/Mage.Sets/src/mage/cards/q/QueenMarchesa.java
+++ b/Mage.Sets/src/mage/cards/q/QueenMarchesa.java
@@ -7,7 +7,7 @@ import mage.abilities.Ability;
import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.condition.Condition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.BecomesMonarchSourceEffect;
import mage.abilities.effects.common.CreateTokenEffect;
import mage.abilities.keyword.DeathtouchAbility;
@@ -44,7 +44,7 @@ public final class QueenMarchesa extends CardImpl {
this.addAbility(new EntersBattlefieldTriggeredAbility(new BecomesMonarchSourceEffect(), false));
// At the beginning of your upkeep, if an opponent is the monarch, create a 1/1 black Assassin creature token with deathtouch and haste.
- this.addAbility(new ConditionalTriggeredAbility(
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(
new BeginningOfUpkeepTriggeredAbility(new CreateTokenEffect(new QueenMarchesaAssassinToken()), TargetController.YOU, false),
OpponentIsMonarchCondition.instance,
"At the beginning of your upkeep, if an opponent is the monarch, create a 1/1 black Assassin creature token with deathtouch and haste."));
diff --git a/Mage.Sets/src/mage/cards/r/RaidersWake.java b/Mage.Sets/src/mage/cards/r/RaidersWake.java
index d183ddeb648..3fafbd93f9f 100644
--- a/Mage.Sets/src/mage/cards/r/RaidersWake.java
+++ b/Mage.Sets/src/mage/cards/r/RaidersWake.java
@@ -6,7 +6,7 @@ import mage.abilities.Ability;
import mage.abilities.common.BeginningOfEndStepTriggeredAbility;
import mage.abilities.common.DiscardsACardOpponentTriggeredAbility;
import mage.abilities.condition.common.RaidCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.LoseLifeTargetEffect;
import mage.abilities.effects.common.discard.DiscardTargetEffect;
import mage.cards.CardImpl;
@@ -30,7 +30,7 @@ public final class RaidersWake extends CardImpl {
this.addAbility(new DiscardsACardOpponentTriggeredAbility(new LoseLifeTargetEffect(2), false, SetTargetPointer.PLAYER));
// Raid — At the beginning of your end step, if you attacked with a creature this turn, target opponent discards a card.
- Ability ability = new ConditionalTriggeredAbility(
+ Ability ability = new ConditionalInterveningIfTriggeredAbility(
new BeginningOfEndStepTriggeredAbility(new DiscardTargetEffect(1), TargetController.YOU, false), RaidCondition.instance,
"Raid — At the beginning of your end step, if you attacked with a creature this turn, target opponent discards a card.");
ability.addTarget(new TargetOpponent());
diff --git a/Mage.Sets/src/mage/cards/r/RakaSanctuary.java b/Mage.Sets/src/mage/cards/r/RakaSanctuary.java
index 45a2ff888fd..279ef34daef 100644
--- a/Mage.Sets/src/mage/cards/r/RakaSanctuary.java
+++ b/Mage.Sets/src/mage/cards/r/RakaSanctuary.java
@@ -4,7 +4,7 @@ package mage.cards.r;
import java.util.UUID;
import mage.ObjectColor;
import mage.abilities.Ability;
-import mage.abilities.common.SanctuaryTriggeredAbility;
+import mage.abilities.common.SanctuaryInterveningIfTriggeredAbility;
import mage.abilities.effects.common.DamageTargetEffect;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
@@ -21,7 +21,7 @@ public final class RakaSanctuary extends CardImpl {
super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{2}{R}");
// At the beginning of your upkeep, if you control a white or blue permanent, Raka Sanctuary deals 1 damage to target creature. If you control a white permanent and a blue permanent, Raka Sanctuary deals 3 damage to that creature instead.
- Ability ability = new SanctuaryTriggeredAbility(
+ Ability ability = new SanctuaryInterveningIfTriggeredAbility(
new DamageTargetEffect(1), new DamageTargetEffect(3), ObjectColor.WHITE, ObjectColor.BLUE,
"At the beginning of your upkeep, if you control a white or blue permanent, Raka Sanctuary deals 1 damage to target creature. "
+ "If you control a white permanent and a blue permanent, Raka Sanctuary deals 3 damage to that creature instead."
diff --git a/Mage.Sets/src/mage/cards/r/RampagingWerewolf.java b/Mage.Sets/src/mage/cards/r/RampagingWerewolf.java
index 5b055cafe61..8820712bdb8 100644
--- a/Mage.Sets/src/mage/cards/r/RampagingWerewolf.java
+++ b/Mage.Sets/src/mage/cards/r/RampagingWerewolf.java
@@ -6,7 +6,7 @@ import mage.MageInt;
import mage.abilities.TriggeredAbility;
import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
import mage.abilities.condition.common.TwoOrMoreSpellsWereCastLastTurnCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.TransformSourceEffect;
import mage.abilities.keyword.TransformAbility;
import mage.cards.CardImpl;
@@ -34,7 +34,7 @@ public final class RampagingWerewolf extends CardImpl {
// At the beginning of each upkeep, if a player cast two or more spells last turn, transform Rampaging Werewolf.
TriggeredAbility ability = new BeginningOfUpkeepTriggeredAbility(new TransformSourceEffect(false), TargetController.ANY, false);
- this.addAbility(new ConditionalTriggeredAbility(ability, TwoOrMoreSpellsWereCastLastTurnCondition.instance, TransformAbility.TWO_OR_MORE_SPELLS_TRANSFORM_RULE));
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, TwoOrMoreSpellsWereCastLastTurnCondition.instance, TransformAbility.TWO_OR_MORE_SPELLS_TRANSFORM_RULE));
}
diff --git a/Mage.Sets/src/mage/cards/r/RasputinDreamweaver.java b/Mage.Sets/src/mage/cards/r/RasputinDreamweaver.java
index c22f6e0af6c..36a1b7cc433 100644
--- a/Mage.Sets/src/mage/cards/r/RasputinDreamweaver.java
+++ b/Mage.Sets/src/mage/cards/r/RasputinDreamweaver.java
@@ -13,7 +13,7 @@ import mage.abilities.common.EntersBattlefieldAbility;
import mage.abilities.common.SimpleActivatedAbility;
import mage.abilities.condition.Condition;
import mage.abilities.costs.common.RemoveCountersSourceCost;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.PreventDamageToSourceEffect;
import mage.abilities.effects.common.counter.AddCountersSourceEffect;
import mage.abilities.mana.SimpleManaAbility;
@@ -54,7 +54,7 @@ public final class RasputinDreamweaver extends CardImpl {
// At the beginning of your upkeep, if Rasputin started the turn untapped, put a dream counter on it.
this.addAbility(
- new ConditionalTriggeredAbility(
+ new ConditionalInterveningIfTriggeredAbility(
new BeginningOfUpkeepTriggeredAbility(new AddCountersSourceEffect(CounterType.DREAM.createInstance()), TargetController.YOU, false),
RasputinDreamweaverStartedUntappedCondition.instance,
"At the beginning of your upkeep, if {this} started the turn untapped, put a dream counter on it."),
diff --git a/Mage.Sets/src/mage/cards/r/RavagerOfTheFells.java b/Mage.Sets/src/mage/cards/r/RavagerOfTheFells.java
index 3819a5c581e..2feb9951b62 100644
--- a/Mage.Sets/src/mage/cards/r/RavagerOfTheFells.java
+++ b/Mage.Sets/src/mage/cards/r/RavagerOfTheFells.java
@@ -11,7 +11,7 @@ import mage.abilities.TriggeredAbility;
import mage.abilities.TriggeredAbilityImpl;
import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
import mage.abilities.condition.common.TwoOrMoreSpellsWereCastLastTurnCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.OneShotEffect;
import mage.abilities.effects.common.TransformSourceEffect;
import mage.abilities.keyword.TrampleAbility;
@@ -59,7 +59,7 @@ public final class RavagerOfTheFells extends CardImpl {
// At the beginning of each upkeep, if a player cast two or more spells last turn, transform Ravager of the Fells.
TriggeredAbility ability = new BeginningOfUpkeepTriggeredAbility(new TransformSourceEffect(false), TargetController.ANY, false);
- this.addAbility(new ConditionalTriggeredAbility(
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(
ability,
TwoOrMoreSpellsWereCastLastTurnCondition.instance,
TransformAbility.TWO_OR_MORE_SPELLS_TRANSFORM_RULE
diff --git a/Mage.Sets/src/mage/cards/r/RecklessBushwhacker.java b/Mage.Sets/src/mage/cards/r/RecklessBushwhacker.java
index c822ffb01d3..0e83f3b7fcd 100644
--- a/Mage.Sets/src/mage/cards/r/RecklessBushwhacker.java
+++ b/Mage.Sets/src/mage/cards/r/RecklessBushwhacker.java
@@ -5,7 +5,7 @@ import java.util.UUID;
import mage.MageInt;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.condition.common.SurgedCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.continuous.BoostControlledEffect;
import mage.abilities.effects.common.continuous.GainAbilityControlledEffect;
import mage.abilities.keyword.HasteAbility;
@@ -47,7 +47,7 @@ public final class RecklessBushwhacker extends CardImpl {
// When Reckless Bushwhacker enters the battlefield, if its surge cost was paid, other creatures you control get +1/+0 and gain haste until end of turn.
EntersBattlefieldTriggeredAbility ability = new EntersBattlefieldTriggeredAbility(new BoostControlledEffect(1, 0, Duration.EndOfTurn, true), false);
ability.addEffect(new GainAbilityControlledEffect(HasteAbility.getInstance(), Duration.EndOfTurn, FILTER, true));
- this.addAbility(new ConditionalTriggeredAbility(ability, SurgedCondition.instance,
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, SurgedCondition.instance,
"When {this} enters the battlefield, if its surge cost was paid, other creatures you control get +1/+0 and gain haste until end of turn."));
}
diff --git a/Mage.Sets/src/mage/cards/r/RecklessWaif.java b/Mage.Sets/src/mage/cards/r/RecklessWaif.java
index e471eebc414..04e5cca06c5 100644
--- a/Mage.Sets/src/mage/cards/r/RecklessWaif.java
+++ b/Mage.Sets/src/mage/cards/r/RecklessWaif.java
@@ -6,7 +6,7 @@ import mage.MageInt;
import mage.abilities.TriggeredAbility;
import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
import mage.abilities.condition.common.NoSpellsWereCastLastTurnCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.TransformSourceEffect;
import mage.abilities.keyword.TransformAbility;
import mage.cards.CardImpl;
@@ -36,7 +36,7 @@ public final class RecklessWaif extends CardImpl {
// At the beginning of each upkeep, if no spells were cast last turn, transform Reckless Waif.
this.addAbility(new TransformAbility());
TriggeredAbility ability = new BeginningOfUpkeepTriggeredAbility(new TransformSourceEffect(true), TargetController.ANY, false);
- this.addAbility(new ConditionalTriggeredAbility(ability, NoSpellsWereCastLastTurnCondition.instance, TransformAbility.NO_SPELLS_TRANSFORM_RULE));
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, NoSpellsWereCastLastTurnCondition.instance, TransformAbility.NO_SPELLS_TRANSFORM_RULE));
}
public RecklessWaif(final RecklessWaif card) {
diff --git a/Mage.Sets/src/mage/cards/r/ReclusiveWight.java b/Mage.Sets/src/mage/cards/r/ReclusiveWight.java
index 82bf120cbe7..01995437b14 100644
--- a/Mage.Sets/src/mage/cards/r/ReclusiveWight.java
+++ b/Mage.Sets/src/mage/cards/r/ReclusiveWight.java
@@ -5,7 +5,7 @@ import java.util.UUID;
import mage.MageInt;
import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
import mage.abilities.condition.common.PermanentsOnTheBattlefieldCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.SacrificeSourceEffect;
import mage.constants.SubType;
import mage.cards.CardImpl;
@@ -39,7 +39,7 @@ public final class ReclusiveWight extends CardImpl {
this.toughness = new MageInt(4);
// At the beginning of your upkeep, if you control another nonland permanent, sacrifice Reclusive Wight.
- this.addAbility(new ConditionalTriggeredAbility(
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(
new BeginningOfUpkeepTriggeredAbility(new SacrificeSourceEffect(), TargetController.YOU, false),
new PermanentsOnTheBattlefieldCondition(filter),
"At the beginning of your upkeep, if you control another nonland permanent, sacrifice {this}."
diff --git a/Mage.Sets/src/mage/cards/r/RegalBloodlord.java b/Mage.Sets/src/mage/cards/r/RegalBloodlord.java
index 8ef086d11f9..5f12d0ffc6b 100644
--- a/Mage.Sets/src/mage/cards/r/RegalBloodlord.java
+++ b/Mage.Sets/src/mage/cards/r/RegalBloodlord.java
@@ -4,7 +4,7 @@ import java.util.UUID;
import mage.MageInt;
import mage.abilities.common.BeginningOfEndStepTriggeredAbility;
import mage.abilities.condition.common.YouGainedLifeCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.CreateTokenEffect;
import mage.constants.SubType;
import mage.abilities.keyword.FlyingAbility;
@@ -34,7 +34,7 @@ public final class RegalBloodlord extends CardImpl {
this.addAbility(FlyingAbility.getInstance());
// At the beginning of each end step, if you gained life this turn, create a 1/1 black Bat creature token with flying.
- this.addAbility(new ConditionalTriggeredAbility(
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(
new BeginningOfEndStepTriggeredAbility(
new CreateTokenEffect(new BatToken()),
TargetController.ANY, false
diff --git a/Mage.Sets/src/mage/cards/r/RegnaTheRedeemer.java b/Mage.Sets/src/mage/cards/r/RegnaTheRedeemer.java
index 591bd73cbef..12dd708519e 100644
--- a/Mage.Sets/src/mage/cards/r/RegnaTheRedeemer.java
+++ b/Mage.Sets/src/mage/cards/r/RegnaTheRedeemer.java
@@ -6,7 +6,7 @@ import mage.MageInt;
import mage.abilities.Ability;
import mage.abilities.common.BeginningOfEndStepTriggeredAbility;
import mage.abilities.condition.IntCompareCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.CreateTokenEffect;
import mage.constants.SubType;
import mage.constants.SuperType;
@@ -43,7 +43,7 @@ public final class RegnaTheRedeemer extends CardImpl {
this.addAbility(FlyingAbility.getInstance());
// At the beginning of each end step, if your team gained life this turn, create two 1/1 white Warrior creature tokens.
- this.addAbility(new ConditionalTriggeredAbility(
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(
new BeginningOfEndStepTriggeredAbility(
new CreateTokenEffect(new WarriorToken(), 2),
TargetController.ANY,
diff --git a/Mage.Sets/src/mage/cards/r/ReiverDemon.java b/Mage.Sets/src/mage/cards/r/ReiverDemon.java
index 3f10b6aeede..fa048d0f34e 100644
--- a/Mage.Sets/src/mage/cards/r/ReiverDemon.java
+++ b/Mage.Sets/src/mage/cards/r/ReiverDemon.java
@@ -6,7 +6,7 @@ import mage.MageInt;
import mage.ObjectColor;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.condition.common.CastFromHandSourceCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.DestroyAllEffect;
import mage.abilities.keyword.FlyingAbility;
import mage.cards.CardImpl;
@@ -42,7 +42,7 @@ public final class ReiverDemon extends CardImpl {
this.addAbility(FlyingAbility.getInstance());
// When Reiver Demon enters the battlefield, if you cast it from your hand, destroy all nonartifact, nonblack creatures. They can't be regenerated.
- this.addAbility(new ConditionalTriggeredAbility(
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(
new EntersBattlefieldTriggeredAbility(new DestroyAllEffect(filter, true), false),
CastFromHandSourceCondition.instance,
"When {this} enters the battlefield, if you cast it from your hand, destroy all nonartifact, nonblack creatures. They can't be regenerated."),
diff --git a/Mage.Sets/src/mage/cards/r/RekindledFlame.java b/Mage.Sets/src/mage/cards/r/RekindledFlame.java
index 4a0c0d8bf7b..b294ef6821a 100644
--- a/Mage.Sets/src/mage/cards/r/RekindledFlame.java
+++ b/Mage.Sets/src/mage/cards/r/RekindledFlame.java
@@ -5,7 +5,7 @@ import java.util.UUID;
import mage.abilities.Ability;
import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
import mage.abilities.condition.Condition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.DamageTargetEffect;
import mage.abilities.effects.common.ReturnSourceFromGraveyardToHandEffect;
import mage.cards.CardImpl;
@@ -33,7 +33,7 @@ public final class RekindledFlame extends CardImpl {
this.getSpellAbility().addTarget(new TargetAnyTarget());
// At the beginning of your upkeep, if an opponent has no cards in hand, you may return Rekindled Flame from your graveyard to your hand.
- Ability ability = new ConditionalTriggeredAbility(
+ Ability ability = new ConditionalInterveningIfTriggeredAbility(
new BeginningOfUpkeepTriggeredAbility(
Zone.GRAVEYARD, new ReturnSourceFromGraveyardToHandEffect(), TargetController.YOU, true
),
diff --git a/Mage.Sets/src/mage/cards/r/RenegadeRallier.java b/Mage.Sets/src/mage/cards/r/RenegadeRallier.java
index da05e35ea03..6c412dfcdb4 100644
--- a/Mage.Sets/src/mage/cards/r/RenegadeRallier.java
+++ b/Mage.Sets/src/mage/cards/r/RenegadeRallier.java
@@ -6,7 +6,7 @@ import mage.MageInt;
import mage.abilities.Ability;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.condition.common.RevoltCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.ReturnFromGraveyardToBattlefieldTargetEffect;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
@@ -41,7 +41,7 @@ public final class RenegadeRallier extends CardImpl {
// Revolt — When Renegade Rallier enters the battlefield, if a permanent you controlled left the battlefield this turn,
// return target permanent card with converted mana cost 2 or less from your graveyard to your battlefield.
- Ability ability = new ConditionalTriggeredAbility(new EntersBattlefieldTriggeredAbility(
+ Ability ability = new ConditionalInterveningIfTriggeredAbility(new EntersBattlefieldTriggeredAbility(
new ReturnFromGraveyardToBattlefieldTargetEffect(), false), RevoltCondition.instance,
"Revolt — When {this} enters the battlefield, if a permanent you controlled left"
+ " the battlefield this turn, return target permanent card with converted mana cost 2 or less from your graveyard to your battlefield.");
diff --git a/Mage.Sets/src/mage/cards/r/ResplendentGriffin.java b/Mage.Sets/src/mage/cards/r/ResplendentGriffin.java
index 5ea0c1d82eb..eb2ca73672b 100644
--- a/Mage.Sets/src/mage/cards/r/ResplendentGriffin.java
+++ b/Mage.Sets/src/mage/cards/r/ResplendentGriffin.java
@@ -5,7 +5,7 @@ import java.util.UUID;
import mage.MageInt;
import mage.abilities.common.AttacksTriggeredAbility;
import mage.abilities.condition.common.CitysBlessingCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.counter.AddCountersSourceEffect;
import mage.abilities.keyword.AscendAbility;
import mage.abilities.keyword.FlyingAbility;
@@ -35,7 +35,7 @@ public final class ResplendentGriffin extends CardImpl {
this.addAbility(new AscendAbility());
// Whenever Resplendent Griffin attacks, if you have the city's blessing, put a +1/+1 counter on it.
- this.addAbility(new ConditionalTriggeredAbility(new AttacksTriggeredAbility(
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(new AttacksTriggeredAbility(
new AddCountersSourceEffect(CounterType.P1P1.createInstance()), false), CitysBlessingCondition.instance,
"Whenever {this} attacks, if you have the city's blessing, put a +1/+1 counter on it."));
}
diff --git a/Mage.Sets/src/mage/cards/r/RevelInRiches.java b/Mage.Sets/src/mage/cards/r/RevelInRiches.java
index 136ad97e5c2..bdd47cd8c06 100644
--- a/Mage.Sets/src/mage/cards/r/RevelInRiches.java
+++ b/Mage.Sets/src/mage/cards/r/RevelInRiches.java
@@ -6,7 +6,7 @@ import mage.abilities.TriggeredAbility;
import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
import mage.abilities.common.DiesCreatureTriggeredAbility;
import mage.abilities.condition.common.PermanentsOnTheBattlefieldCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.CreateTokenEffect;
import mage.abilities.effects.common.WinGameSourceControllerEffect;
import mage.cards.CardImpl;
@@ -42,7 +42,7 @@ public final class RevelInRiches extends CardImpl {
this.addAbility(new DiesCreatureTriggeredAbility(new CreateTokenEffect(new TreasureToken("XLN")), false, filter));
// At the beginning of your upkeep, if you control ten or more Treasures, you win the game.
TriggeredAbility ability = new BeginningOfUpkeepTriggeredAbility(new WinGameSourceControllerEffect(), TargetController.YOU, false);
- this.addAbility(new ConditionalTriggeredAbility(
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(
ability,
new PermanentsOnTheBattlefieldCondition(filter2, ComparisonType.MORE_THAN, 9),
"At the beginning of your upkeep, if you control ten or more Treasures, you win the game."));
diff --git a/Mage.Sets/src/mage/cards/r/RevenantPatriarch.java b/Mage.Sets/src/mage/cards/r/RevenantPatriarch.java
index c62f3cf1f9f..50b1fd07e85 100644
--- a/Mage.Sets/src/mage/cards/r/RevenantPatriarch.java
+++ b/Mage.Sets/src/mage/cards/r/RevenantPatriarch.java
@@ -7,7 +7,7 @@ import mage.abilities.TriggeredAbility;
import mage.abilities.common.CantBlockAbility;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.condition.common.ManaWasSpentCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.SkipNextCombatEffect;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
@@ -32,7 +32,7 @@ public final class RevenantPatriarch extends CardImpl {
// When Revenant Patriarch enters the battlefield, if {W} was spent to cast it, target player skips their next combat phase.
TriggeredAbility ability = new EntersBattlefieldTriggeredAbility(new SkipNextCombatEffect(), false);
ability.addTarget(new TargetPlayer());
- this.addAbility(new ConditionalTriggeredAbility(ability, new ManaWasSpentCondition(ColoredManaSymbol.W),
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, new ManaWasSpentCondition(ColoredManaSymbol.W),
"if {W} was spent to cast it, target player skips their next combat phase."), new ManaSpentToCastWatcher());
// Revenant Patriarch can't block.
this.addAbility(new CantBlockAbility());
diff --git a/Mage.Sets/src/mage/cards/r/RhoxMeditant.java b/Mage.Sets/src/mage/cards/r/RhoxMeditant.java
index 06b3b703ec5..b089d90e15b 100644
--- a/Mage.Sets/src/mage/cards/r/RhoxMeditant.java
+++ b/Mage.Sets/src/mage/cards/r/RhoxMeditant.java
@@ -7,7 +7,7 @@ import mage.ObjectColor;
import mage.abilities.TriggeredAbility;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.condition.common.PermanentsOnTheBattlefieldCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.DrawCardSourceControllerEffect;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
@@ -40,7 +40,7 @@ public final class RhoxMeditant extends CardImpl {
// When Rhox Meditant enters the battlefield, if you control a green permanent, draw a card.
TriggeredAbility ability = new EntersBattlefieldTriggeredAbility(new DrawCardSourceControllerEffect(1), false);
- this.addAbility(new ConditionalTriggeredAbility(ability, new PermanentsOnTheBattlefieldCondition(filter), rule));
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, new PermanentsOnTheBattlefieldCondition(filter), rule));
}
diff --git a/Mage.Sets/src/mage/cards/r/RingOfEvosIsle.java b/Mage.Sets/src/mage/cards/r/RingOfEvosIsle.java
index 192863a23e1..b22c0262b8d 100644
--- a/Mage.Sets/src/mage/cards/r/RingOfEvosIsle.java
+++ b/Mage.Sets/src/mage/cards/r/RingOfEvosIsle.java
@@ -8,7 +8,7 @@ import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
import mage.abilities.common.SimpleActivatedAbility;
import mage.abilities.condition.common.AttachedToMatchesFilterCondition;
import mage.abilities.costs.mana.GenericManaCost;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.continuous.GainAbilityAttachedEffect;
import mage.abilities.effects.common.counter.AddPlusOneCountersAttachedEffect;
import mage.abilities.keyword.EquipAbility;
@@ -46,7 +46,7 @@ public final class RingOfEvosIsle extends CardImpl {
// At the beginning of your upkeep, put a +1/+1 counter on equipped creature if it's blue.
TriggeredAbility triggeredAbility = new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, new AddPlusOneCountersAttachedEffect(1), TargetController.YOU, false);
- ConditionalTriggeredAbility ability2 = new ConditionalTriggeredAbility(triggeredAbility, new AttachedToMatchesFilterCondition(filter), "At the beginning of your upkeep, put a +1/+1 counter on equipped creature if it's blue.");
+ ConditionalInterveningIfTriggeredAbility ability2 = new ConditionalInterveningIfTriggeredAbility(triggeredAbility, new AttachedToMatchesFilterCondition(filter), "At the beginning of your upkeep, put a +1/+1 counter on equipped creature if it's blue.");
this.addAbility(ability2);
// Equip {1}
diff --git a/Mage.Sets/src/mage/cards/r/RingOfKalonia.java b/Mage.Sets/src/mage/cards/r/RingOfKalonia.java
index 01ed42e9a00..e63365df303 100644
--- a/Mage.Sets/src/mage/cards/r/RingOfKalonia.java
+++ b/Mage.Sets/src/mage/cards/r/RingOfKalonia.java
@@ -8,7 +8,7 @@ import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
import mage.abilities.common.SimpleStaticAbility;
import mage.abilities.condition.common.AttachedToMatchesFilterCondition;
import mage.abilities.costs.mana.GenericManaCost;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.continuous.GainAbilityAttachedEffect;
import mage.abilities.effects.common.counter.AddPlusOneCountersAttachedEffect;
import mage.abilities.keyword.EquipAbility;
@@ -40,7 +40,7 @@ public final class RingOfKalonia extends CardImpl {
// At the beginning of your upkeep, put a +1/+1 counter on equipped creature if it's green.
TriggeredAbility triggeredAbility = new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, new AddPlusOneCountersAttachedEffect(1), TargetController.YOU, false);
- ConditionalTriggeredAbility ability = new ConditionalTriggeredAbility(triggeredAbility, new AttachedToMatchesFilterCondition(filter), "At the beginning of your upkeep, put a +1/+1 counter on equipped creature if it's green");
+ ConditionalInterveningIfTriggeredAbility ability = new ConditionalInterveningIfTriggeredAbility(triggeredAbility, new AttachedToMatchesFilterCondition(filter), "At the beginning of your upkeep, put a +1/+1 counter on equipped creature if it's green");
this.addAbility(ability);
// Equip {1}
diff --git a/Mage.Sets/src/mage/cards/r/RingOfThune.java b/Mage.Sets/src/mage/cards/r/RingOfThune.java
index f18f48f0561..3b988e6c7e7 100644
--- a/Mage.Sets/src/mage/cards/r/RingOfThune.java
+++ b/Mage.Sets/src/mage/cards/r/RingOfThune.java
@@ -8,7 +8,7 @@ import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
import mage.abilities.common.SimpleStaticAbility;
import mage.abilities.condition.common.AttachedToMatchesFilterCondition;
import mage.abilities.costs.mana.GenericManaCost;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.continuous.GainAbilityAttachedEffect;
import mage.abilities.effects.common.counter.AddPlusOneCountersAttachedEffect;
import mage.abilities.keyword.EquipAbility;
@@ -40,7 +40,7 @@ public final class RingOfThune extends CardImpl {
// At the beginning of your upkeep, put a +1/+1 counter on equipped creature if it's white.
TriggeredAbility triggeredAbility = new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, new AddPlusOneCountersAttachedEffect(1), TargetController.YOU, false);
- ConditionalTriggeredAbility ability = new ConditionalTriggeredAbility(triggeredAbility, new AttachedToMatchesFilterCondition(filter), "At the beginning of your upkeep, put a +1/+1 counter on equipped creature if it's white.");
+ ConditionalInterveningIfTriggeredAbility ability = new ConditionalInterveningIfTriggeredAbility(triggeredAbility, new AttachedToMatchesFilterCondition(filter), "At the beginning of your upkeep, put a +1/+1 counter on equipped creature if it's white.");
this.addAbility(ability);
// Equip {1}
diff --git a/Mage.Sets/src/mage/cards/r/RingOfValkas.java b/Mage.Sets/src/mage/cards/r/RingOfValkas.java
index 7ac3d446faf..c783b1ca999 100644
--- a/Mage.Sets/src/mage/cards/r/RingOfValkas.java
+++ b/Mage.Sets/src/mage/cards/r/RingOfValkas.java
@@ -8,7 +8,7 @@ import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
import mage.abilities.common.SimpleStaticAbility;
import mage.abilities.condition.common.AttachedToMatchesFilterCondition;
import mage.abilities.costs.mana.GenericManaCost;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.continuous.GainAbilityAttachedEffect;
import mage.abilities.effects.common.counter.AddPlusOneCountersAttachedEffect;
import mage.abilities.keyword.EquipAbility;
@@ -40,7 +40,7 @@ public final class RingOfValkas extends CardImpl {
// At the beginning of your upkeep, put a +1/+1 counter on equipped creature if it's red.
TriggeredAbility triggeredAbility = new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, new AddPlusOneCountersAttachedEffect(1), TargetController.YOU, false);
- ConditionalTriggeredAbility ability = new ConditionalTriggeredAbility(triggeredAbility, new AttachedToMatchesFilterCondition(filter), "At the beginning of your upkeep, put a +1/+1 counter on equipped creature if it's red");
+ ConditionalInterveningIfTriggeredAbility ability = new ConditionalInterveningIfTriggeredAbility(triggeredAbility, new AttachedToMatchesFilterCondition(filter), "At the beginning of your upkeep, put a +1/+1 counter on equipped creature if it's red");
this.addAbility(ability);
// Equip {1}
diff --git a/Mage.Sets/src/mage/cards/r/RingOfXathrid.java b/Mage.Sets/src/mage/cards/r/RingOfXathrid.java
index 907388c4f73..9f9dc5a2776 100644
--- a/Mage.Sets/src/mage/cards/r/RingOfXathrid.java
+++ b/Mage.Sets/src/mage/cards/r/RingOfXathrid.java
@@ -8,7 +8,7 @@ import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
import mage.abilities.common.SimpleActivatedAbility;
import mage.abilities.condition.common.AttachedToMatchesFilterCondition;
import mage.abilities.costs.mana.GenericManaCost;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.RegenerateAttachedEffect;
import mage.abilities.effects.common.counter.AddPlusOneCountersAttachedEffect;
import mage.abilities.keyword.EquipAbility;
@@ -39,7 +39,7 @@ public final class RingOfXathrid extends CardImpl {
// At the beginning of your upkeep, put a +1/+1 counter on equipped creature if it's black.
TriggeredAbility triggeredAbility = new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, new AddPlusOneCountersAttachedEffect(1), TargetController.YOU, false);
- ConditionalTriggeredAbility ability = new ConditionalTriggeredAbility(triggeredAbility, new AttachedToMatchesFilterCondition(filter), "At the beginning of your upkeep, put a +1/+1 counter on equipped creature if it's black");
+ ConditionalInterveningIfTriggeredAbility ability = new ConditionalInterveningIfTriggeredAbility(triggeredAbility, new AttachedToMatchesFilterCondition(filter), "At the beginning of your upkeep, put a +1/+1 counter on equipped creature if it's black");
this.addAbility(ability);
// Equip {1}
diff --git a/Mage.Sets/src/mage/cards/r/RuinRaider.java b/Mage.Sets/src/mage/cards/r/RuinRaider.java
index 0fa94bb55a6..60ccfd72691 100644
--- a/Mage.Sets/src/mage/cards/r/RuinRaider.java
+++ b/Mage.Sets/src/mage/cards/r/RuinRaider.java
@@ -6,7 +6,7 @@ import mage.MageInt;
import mage.abilities.Ability;
import mage.abilities.common.BeginningOfEndStepTriggeredAbility;
import mage.abilities.condition.common.RaidCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.OneShotEffect;
import mage.cards.Card;
import mage.cards.CardImpl;
@@ -37,7 +37,7 @@ public final class RuinRaider extends CardImpl {
this.toughness = new MageInt(2);
// Raid — At the beginning of your end step, if you attacked with a creature this turn, reveal the top card of your library and put that card into your hand. You lose life equal to the card's converted mana cost.
- Ability ability = new ConditionalTriggeredAbility(
+ Ability ability = new ConditionalInterveningIfTriggeredAbility(
new BeginningOfEndStepTriggeredAbility(new RuinRaiderEffect(), TargetController.YOU, false),
RaidCondition.instance,
"Raid — At the beginning of your end step, if you attacked with a creature this turn, "
diff --git a/Mage.Sets/src/mage/cards/r/RushingTideZubera.java b/Mage.Sets/src/mage/cards/r/RushingTideZubera.java
index 82e5c657797..f80c8015a46 100644
--- a/Mage.Sets/src/mage/cards/r/RushingTideZubera.java
+++ b/Mage.Sets/src/mage/cards/r/RushingTideZubera.java
@@ -6,7 +6,7 @@ import mage.MageInt;
import mage.abilities.Ability;
import mage.abilities.common.DiesTriggeredAbility;
import mage.abilities.condition.Condition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.DrawCardSourceControllerEffect;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
@@ -31,7 +31,7 @@ public final class RushingTideZubera extends CardImpl {
this.toughness = new MageInt(3);
// When Rushing-Tide Zubera dies, if 4 or more damage was dealt to it this turn, draw three cards.
- Ability ability = new ConditionalTriggeredAbility(new DiesTriggeredAbility(new DrawCardSourceControllerEffect(3)), new RushingTideZuberaCondition(),
+ Ability ability = new ConditionalInterveningIfTriggeredAbility(new DiesTriggeredAbility(new DrawCardSourceControllerEffect(3)), new RushingTideZuberaCondition(),
"When {this} dies, if 4 or more damage was dealt to it this turn, draw three cards.");
this.addAbility(ability);
}
diff --git a/Mage.Sets/src/mage/cards/s/SabertoothOutrider.java b/Mage.Sets/src/mage/cards/s/SabertoothOutrider.java
index 0b6dc15602f..a11e4e7b266 100644
--- a/Mage.Sets/src/mage/cards/s/SabertoothOutrider.java
+++ b/Mage.Sets/src/mage/cards/s/SabertoothOutrider.java
@@ -5,7 +5,7 @@ import java.util.UUID;
import mage.MageInt;
import mage.abilities.common.AttacksTriggeredAbility;
import mage.abilities.condition.common.FormidableCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.continuous.GainAbilitySourceEffect;
import mage.abilities.keyword.FirstStrikeAbility;
import mage.abilities.keyword.TrampleAbility;
@@ -32,7 +32,7 @@ public final class SabertoothOutrider extends CardImpl {
this.addAbility(TrampleAbility.getInstance());
// Formidable — Whenever Sabertooth Outrider attacks, if creatures you control have total power 8 or greater, Sabertooth Outrider gains first strike until end of turn.
- this.addAbility(new ConditionalTriggeredAbility(
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(
new AttacksTriggeredAbility(new GainAbilitySourceEffect(FirstStrikeAbility.getInstance(), Duration.EndOfTurn), false),
FormidableCondition.instance,
"Formidable — Whenever {this} attacks, if creatures you control have total power 8 or greater, {this} gains first strike until end of turn."
diff --git a/Mage.Sets/src/mage/cards/s/SageOfAncientLore.java b/Mage.Sets/src/mage/cards/s/SageOfAncientLore.java
index 898fafa3726..e2d5f375dd0 100644
--- a/Mage.Sets/src/mage/cards/s/SageOfAncientLore.java
+++ b/Mage.Sets/src/mage/cards/s/SageOfAncientLore.java
@@ -10,7 +10,7 @@ import mage.abilities.common.SimpleStaticAbility;
import mage.abilities.condition.common.NoSpellsWereCastLastTurnCondition;
import mage.abilities.condition.common.TransformedCondition;
import mage.abilities.decorator.ConditionalContinuousEffect;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.dynamicvalue.DynamicValue;
import mage.abilities.dynamicvalue.common.CardsInControllerHandCount;
import mage.abilities.effects.common.DrawCardSourceControllerEffect;
@@ -55,7 +55,7 @@ public final class SageOfAncientLore extends CardImpl {
// At the beginning of each upkeep, if no spells were cast last turn, transform Sage of Ancient Lore.
this.addAbility(new TransformAbility());
TriggeredAbility ability = new BeginningOfUpkeepTriggeredAbility(new TransformSourceEffect(true), TargetController.ANY, false);
- this.addAbility(new ConditionalTriggeredAbility(ability, NoSpellsWereCastLastTurnCondition.instance, TransformAbility.NO_SPELLS_TRANSFORM_RULE));
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, NoSpellsWereCastLastTurnCondition.instance, TransformAbility.NO_SPELLS_TRANSFORM_RULE));
}
public SageOfAncientLore(final SageOfAncientLore card) {
diff --git a/Mage.Sets/src/mage/cards/s/SandStrangler.java b/Mage.Sets/src/mage/cards/s/SandStrangler.java
index 345e8df4a5f..94f5abff920 100644
--- a/Mage.Sets/src/mage/cards/s/SandStrangler.java
+++ b/Mage.Sets/src/mage/cards/s/SandStrangler.java
@@ -8,7 +8,7 @@ import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.condition.OrCondition;
import mage.abilities.condition.common.CardsInControllerGraveCondition;
import mage.abilities.condition.common.PermanentsOnTheBattlefieldCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.DamageTargetEffect;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
@@ -41,7 +41,7 @@ public final class SandStrangler extends CardImpl {
this.toughness = new MageInt(3);
// When Sand Strangler enters the battlefield, if you control a Desert or there is a Desert card in your graveyard, you may have Sand Strangler deal 3 damage to target creature.
- Ability ability = new ConditionalTriggeredAbility(
+ Ability ability = new ConditionalInterveningIfTriggeredAbility(
new EntersBattlefieldTriggeredAbility(new DamageTargetEffect(3), true),
new OrCondition(
new PermanentsOnTheBattlefieldCondition(new FilterControlledPermanent(filterDesertPermanent)),
diff --git a/Mage.Sets/src/mage/cards/s/Sarcomancy.java b/Mage.Sets/src/mage/cards/s/Sarcomancy.java
index 0a90843240f..92003a9241b 100644
--- a/Mage.Sets/src/mage/cards/s/Sarcomancy.java
+++ b/Mage.Sets/src/mage/cards/s/Sarcomancy.java
@@ -5,7 +5,7 @@ import java.util.UUID;
import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.condition.common.PermanentsOnTheBattlefieldCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.CreateTokenEffect;
import mage.abilities.effects.common.DamageControllerEffect;
import mage.cards.CardImpl;
@@ -27,7 +27,7 @@ public final class Sarcomancy extends CardImpl {
// When Sarcomancy enters the battlefield, create a 2/2 black Zombie creature token.
this.addAbility(new EntersBattlefieldTriggeredAbility(new CreateTokenEffect(new ZombieToken(), 1), false));
// At the beginning of your upkeep, if there are no Zombies on the battlefield, Sarcomancy deals 1 damage to you.
- this.addAbility(new ConditionalTriggeredAbility(
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(
new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, new DamageControllerEffect(1), TargetController.YOU, false),
new PermanentsOnTheBattlefieldCondition(new FilterPermanent(SubType.ZOMBIE, "Zombies"), ComparisonType.EQUAL_TO, 0, false),
"At the beginning of your upkeep, if there are no Zombies on the battlefield, {this} deals 1 damage to you."));
diff --git a/Mage.Sets/src/mage/cards/s/SaruliGatekeepers.java b/Mage.Sets/src/mage/cards/s/SaruliGatekeepers.java
index acfe61d4972..0d7f4450b61 100644
--- a/Mage.Sets/src/mage/cards/s/SaruliGatekeepers.java
+++ b/Mage.Sets/src/mage/cards/s/SaruliGatekeepers.java
@@ -6,7 +6,7 @@ import java.util.UUID;
import mage.MageInt;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.condition.common.PermanentsOnTheBattlefieldCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.GainLifeEffect;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
@@ -38,7 +38,7 @@ public final class SaruliGatekeepers extends CardImpl {
this.toughness = new MageInt(4);
// When Saruli Gatekeepers enters the battlefield, if you control two or more Gates, gain 7 life.
- this.addAbility(new ConditionalTriggeredAbility(
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(
new EntersBattlefieldTriggeredAbility(new GainLifeEffect(7)),
new PermanentsOnTheBattlefieldCondition(filter, ComparisonType.MORE_THAN, 1),
"When {this} enters the battlefield, if you control two or more Gates, gain 7 life."));
diff --git a/Mage.Sets/src/mage/cards/s/ScabClanBerserker.java b/Mage.Sets/src/mage/cards/s/ScabClanBerserker.java
index 736671801e9..a0c259a67b0 100644
--- a/Mage.Sets/src/mage/cards/s/ScabClanBerserker.java
+++ b/Mage.Sets/src/mage/cards/s/ScabClanBerserker.java
@@ -5,7 +5,7 @@ import java.util.UUID;
import mage.MageInt;
import mage.abilities.TriggeredAbilityImpl;
import mage.abilities.condition.common.RenownedSourceCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.Effect;
import mage.abilities.effects.common.DamageTargetEffect;
import mage.abilities.keyword.HasteAbility;
@@ -40,7 +40,7 @@ public final class ScabClanBerserker extends CardImpl {
this.addAbility(new RenownAbility(1));
// Whenever an opponent casts a noncreature spell, if Scab-Clan Berserker is renowned, Scab-Clan Berserker deals 2 damage to that player.
- this.addAbility(new ConditionalTriggeredAbility(
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(
new ScabClanBerserkerTriggeredAbility(),
RenownedSourceCondition.instance,
"Whenever an opponent casts a noncreature spell, if Scab-Clan Berserker is renowned, Scab-Clan Berserker deals 2 damage to that player"));
diff --git a/Mage.Sets/src/mage/cards/s/ScaldingTongs.java b/Mage.Sets/src/mage/cards/s/ScaldingTongs.java
index e1ccd9d088c..b009f6aa4b2 100644
--- a/Mage.Sets/src/mage/cards/s/ScaldingTongs.java
+++ b/Mage.Sets/src/mage/cards/s/ScaldingTongs.java
@@ -5,7 +5,7 @@ import java.util.UUID;
import mage.abilities.TriggeredAbility;
import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
import mage.abilities.condition.common.CardsInHandCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.DamageTargetEffect;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
@@ -27,7 +27,7 @@ public final class ScaldingTongs extends CardImpl {
TriggeredAbility ability = new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, new DamageTargetEffect(1), TargetController.YOU, false);
ability.addTarget(new TargetOpponentOrPlaneswalker());
CardsInHandCondition condition = new CardsInHandCondition(ComparisonType.FEWER_THAN, 4);
- this.addAbility(new ConditionalTriggeredAbility(
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(
ability, condition,
"At the beginning of your upkeep, if you have three or fewer cards in hand, "
+ "{this} deals 1 damage to target opponent or planeswalker."
diff --git a/Mage.Sets/src/mage/cards/s/ScholarOfStars.java b/Mage.Sets/src/mage/cards/s/ScholarOfStars.java
index 3c436550e7c..459b6d7825d 100644
--- a/Mage.Sets/src/mage/cards/s/ScholarOfStars.java
+++ b/Mage.Sets/src/mage/cards/s/ScholarOfStars.java
@@ -5,7 +5,7 @@ import java.util.UUID;
import mage.MageInt;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.condition.common.PermanentsOnTheBattlefieldCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.DrawCardSourceControllerEffect;
import mage.constants.SubType;
import mage.cards.CardImpl;
@@ -28,7 +28,7 @@ public final class ScholarOfStars extends CardImpl {
this.toughness = new MageInt(2);
// When Scholar of Stars enters the battlefield, if you control an artifact, draw a card.
- this.addAbility(new ConditionalTriggeredAbility(
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(
new EntersBattlefieldTriggeredAbility(new DrawCardSourceControllerEffect(1), false),
new PermanentsOnTheBattlefieldCondition(StaticFilters.FILTER_CONTROLLED_PERMANENT_ARTIFACT),
"When {this} enters the battlefield, if you control an artifact, draw a card."
diff --git a/Mage.Sets/src/mage/cards/s/ScionOfVituGhazi.java b/Mage.Sets/src/mage/cards/s/ScionOfVituGhazi.java
index 3001ef6568a..35d37c2cee9 100644
--- a/Mage.Sets/src/mage/cards/s/ScionOfVituGhazi.java
+++ b/Mage.Sets/src/mage/cards/s/ScionOfVituGhazi.java
@@ -6,7 +6,7 @@ import mage.MageInt;
import mage.abilities.TriggeredAbility;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.condition.common.CastFromHandSourceCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.CreateTokenEffect;
import mage.abilities.effects.common.PopulateEffect;
import mage.cards.CardImpl;
@@ -29,9 +29,10 @@ public final class ScionOfVituGhazi extends CardImpl {
this.power = new MageInt(4);
this.toughness = new MageInt(4);
+ //When Scion of Vitu-Ghazi enters the battlefield, if you cast it from your hand, create a 1/1 white Bird creature token with flying, then populate.
TriggeredAbility ability = new EntersBattlefieldTriggeredAbility(new CreateTokenEffect(new BirdToken()), false);
ability.addEffect(new PopulateEffect("then"));
- this.addAbility(new ConditionalTriggeredAbility(ability, CastFromHandSourceCondition.instance,
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, CastFromHandSourceCondition.instance,
"When {this} enters the battlefield, if you cast it from your hand, create a 1/1 white Bird creature token with flying, then populate."),
new CastFromHandWatcher());
}
diff --git a/Mage.Sets/src/mage/cards/s/ScornedVillager.java b/Mage.Sets/src/mage/cards/s/ScornedVillager.java
index 74ffb0a4a3b..87ba993c597 100644
--- a/Mage.Sets/src/mage/cards/s/ScornedVillager.java
+++ b/Mage.Sets/src/mage/cards/s/ScornedVillager.java
@@ -6,7 +6,7 @@ import mage.MageInt;
import mage.abilities.TriggeredAbility;
import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
import mage.abilities.condition.common.NoSpellsWereCastLastTurnCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.TransformSourceEffect;
import mage.abilities.keyword.TransformAbility;
import mage.abilities.mana.GreenManaAbility;
@@ -39,7 +39,7 @@ public final class ScornedVillager extends CardImpl {
// At the beginning of each upkeep, if no spells were cast last turn, transform Scorned Villager.
this.addAbility(new TransformAbility());
TriggeredAbility ability = new BeginningOfUpkeepTriggeredAbility(new TransformSourceEffect(true), TargetController.ANY, false);
- this.addAbility(new ConditionalTriggeredAbility(ability,
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability,
NoSpellsWereCastLastTurnCondition.instance,
TransformAbility.NO_SPELLS_TRANSFORM_RULE));
}
diff --git a/Mage.Sets/src/mage/cards/s/ScourgeOfTheThrone.java b/Mage.Sets/src/mage/cards/s/ScourgeOfTheThrone.java
index ee2e29ab12d..ab0fe7c32f8 100644
--- a/Mage.Sets/src/mage/cards/s/ScourgeOfTheThrone.java
+++ b/Mage.Sets/src/mage/cards/s/ScourgeOfTheThrone.java
@@ -7,7 +7,7 @@ import mage.abilities.Ability;
import mage.abilities.TriggeredAbility;
import mage.abilities.common.AttacksFirstTimeTriggeredAbility;
import mage.abilities.condition.Condition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.AdditionalCombatPhaseEffect;
import mage.abilities.effects.common.UntapAllControllerEffect;
import mage.abilities.keyword.DethroneAbility;
@@ -45,7 +45,7 @@ public final class ScourgeOfTheThrone extends CardImpl {
), false
);
ability.addEffect(new AdditionalCombatPhaseEffect());
- this.addAbility(new ConditionalTriggeredAbility(
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(
ability,
ScourgeOfTheThroneCondition.instance,
"Whenever {this} attacks for the first time each turn, "
diff --git a/Mage.Sets/src/mage/cards/s/ScreechingSilcaw.java b/Mage.Sets/src/mage/cards/s/ScreechingSilcaw.java
index 5f8e08f58c8..544612e3fd6 100644
--- a/Mage.Sets/src/mage/cards/s/ScreechingSilcaw.java
+++ b/Mage.Sets/src/mage/cards/s/ScreechingSilcaw.java
@@ -6,7 +6,7 @@ import mage.MageInt;
import mage.abilities.TriggeredAbility;
import mage.abilities.common.DealsCombatDamageToAPlayerTriggeredAbility;
import mage.abilities.condition.common.MetalcraftCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.PutLibraryIntoGraveTargetEffect;
import mage.abilities.keyword.FlyingAbility;
import mage.cards.CardImpl;
@@ -31,7 +31,8 @@ public final class ScreechingSilcaw extends CardImpl {
this.addAbility(FlyingAbility.getInstance());
- TriggeredAbility conditional = new ConditionalTriggeredAbility(
+ //"Metalcraft - Whenever Screeching Silcaw deals combat damage to a player, if you control three or more artifacts, that player puts the top four cards of their library into their graveyard.
+ TriggeredAbility conditional = new ConditionalInterveningIfTriggeredAbility(
new DealsCombatDamageToAPlayerTriggeredAbility(new PutLibraryIntoGraveTargetEffect(4), false, true),
MetalcraftCondition.instance, text);
this.addAbility(conditional);
diff --git a/Mage.Sets/src/mage/cards/s/SecondChance.java b/Mage.Sets/src/mage/cards/s/SecondChance.java
index dd82b15e413..8fdc60199d7 100644
--- a/Mage.Sets/src/mage/cards/s/SecondChance.java
+++ b/Mage.Sets/src/mage/cards/s/SecondChance.java
@@ -5,7 +5,7 @@ import java.util.UUID;
import mage.abilities.TriggeredAbility;
import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
import mage.abilities.condition.common.XorLessLifeCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.SacrificeSourceEffect;
import mage.abilities.effects.common.turn.AddExtraTurnControllerEffect;
import mage.cards.CardImpl;
@@ -27,7 +27,7 @@ public final class SecondChance extends CardImpl {
// At the beginning of your upkeep, if you have 5 or less life, sacrifice Second Chance and take an extra turn after this one.
TriggeredAbility ability = new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, new SacrificeSourceEffect(), TargetController.YOU, false);
ability.addEffect(new AddExtraTurnControllerEffect());
- this.addAbility(new ConditionalTriggeredAbility(ability, new XorLessLifeCondition(XorLessLifeCondition.CheckType.CONTROLLER, 5), "At the beginning of your upkeep, if you have 5 or less life, sacrifice {this} and take an extra turn after this one"));
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, new XorLessLifeCondition(XorLessLifeCondition.CheckType.CONTROLLER, 5), "At the beginning of your upkeep, if you have 5 or less life, sacrifice {this} and take an extra turn after this one"));
}
diff --git a/Mage.Sets/src/mage/cards/s/SedraxisAlchemist.java b/Mage.Sets/src/mage/cards/s/SedraxisAlchemist.java
index cf9d71ff692..5ea609409f2 100644
--- a/Mage.Sets/src/mage/cards/s/SedraxisAlchemist.java
+++ b/Mage.Sets/src/mage/cards/s/SedraxisAlchemist.java
@@ -7,7 +7,7 @@ import mage.ObjectColor;
import mage.abilities.TriggeredAbility;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.condition.common.PermanentsOnTheBattlefieldCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.ReturnToHandTargetEffect;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
@@ -42,7 +42,7 @@ public final class SedraxisAlchemist extends CardImpl {
// When Sedraxis Alchemist enters the battlefield, if you control a blue permanent, return target nonland permanent to its owner's hand.
TriggeredAbility ability = new EntersBattlefieldTriggeredAbility(new ReturnToHandTargetEffect(), false);
ability.addTarget(new TargetNonlandPermanent());
- this.addAbility(new ConditionalTriggeredAbility(ability, new PermanentsOnTheBattlefieldCondition(filter), rule));
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, new PermanentsOnTheBattlefieldCondition(filter), rule));
}
diff --git a/Mage.Sets/src/mage/cards/s/SeeRed.java b/Mage.Sets/src/mage/cards/s/SeeRed.java
index 2f67b7eeb98..c74b3dd096f 100644
--- a/Mage.Sets/src/mage/cards/s/SeeRed.java
+++ b/Mage.Sets/src/mage/cards/s/SeeRed.java
@@ -7,7 +7,7 @@ import mage.abilities.common.SimpleStaticAbility;
import mage.abilities.common.delayed.AtTheBeginOfNextEndStepDelayedTriggeredAbility;
import mage.abilities.condition.InvertCondition;
import mage.abilities.condition.common.ControllerAttackedThisTurnCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.Effect;
import mage.abilities.effects.common.AttachEffect;
import mage.abilities.effects.common.SacrificeSourceEffect;
@@ -54,7 +54,7 @@ public final class SeeRed extends CardImpl {
this.addAbility(ability);
// At the beginning of your end step, if you didn't attack with a creature this turn, sacrifice See Red.
- this.addAbility(new ConditionalTriggeredAbility(
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(
new AtTheBeginOfNextEndStepDelayedTriggeredAbility(Zone.BATTLEFIELD, new SacrificeSourceEffect(), TargetController.YOU),
new InvertCondition(ControllerAttackedThisTurnCondition.instance),
"At the beginning of your end step, if you didn't attack with a creature this turn, sacrifice {this}."), new AttackedThisTurnWatcher());
diff --git a/Mage.Sets/src/mage/cards/s/SelkieHedgeMage.java b/Mage.Sets/src/mage/cards/s/SelkieHedgeMage.java
index 3855bb3394c..5cec078a867 100644
--- a/Mage.Sets/src/mage/cards/s/SelkieHedgeMage.java
+++ b/Mage.Sets/src/mage/cards/s/SelkieHedgeMage.java
@@ -6,7 +6,7 @@ import mage.MageInt;
import mage.abilities.Ability;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.condition.common.PermanentsOnTheBattlefieldCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.GainLifeEffect;
import mage.abilities.effects.common.ReturnToHandTargetEffect;
import mage.cards.CardImpl;
@@ -49,11 +49,11 @@ public final class SelkieHedgeMage extends CardImpl {
this.toughness = new MageInt(2);
// When Selkie Hedge-Mage enters the battlefield, if you control two or more Forests, you may gain 3 life.
- Ability ability = new ConditionalTriggeredAbility(new EntersBattlefieldTriggeredAbility(new GainLifeEffect(3), true), new PermanentsOnTheBattlefieldCondition(filter, ComparisonType.MORE_THAN, 1), rule1);
+ Ability ability = new ConditionalInterveningIfTriggeredAbility(new EntersBattlefieldTriggeredAbility(new GainLifeEffect(3), true), new PermanentsOnTheBattlefieldCondition(filter, ComparisonType.MORE_THAN, 1), rule1);
this.addAbility(ability);
// When Selkie Hedge-Mage enters the battlefield, if you control two or more Islands, you may return target tapped creature to its owner's hand.
- Ability ability2 = new ConditionalTriggeredAbility(new EntersBattlefieldTriggeredAbility(new ReturnToHandTargetEffect(), true), new PermanentsOnTheBattlefieldCondition(filter2, ComparisonType.MORE_THAN, 1), rule2);
+ Ability ability2 = new ConditionalInterveningIfTriggeredAbility(new EntersBattlefieldTriggeredAbility(new ReturnToHandTargetEffect(), true), new PermanentsOnTheBattlefieldCondition(filter2, ComparisonType.MORE_THAN, 1), rule2);
ability2.addTarget(new TargetPermanent(filter3));
this.addAbility(ability2);
diff --git a/Mage.Sets/src/mage/cards/s/ShadowbornDemon.java b/Mage.Sets/src/mage/cards/s/ShadowbornDemon.java
index dec16b639ba..3df0a4f7f86 100644
--- a/Mage.Sets/src/mage/cards/s/ShadowbornDemon.java
+++ b/Mage.Sets/src/mage/cards/s/ShadowbornDemon.java
@@ -8,7 +8,7 @@ import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.condition.Condition;
import mage.abilities.condition.InvertCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.DestroyTargetEffect;
import mage.abilities.effects.common.SacrificeControllerEffect;
import mage.abilities.keyword.FlyingAbility;
@@ -55,7 +55,7 @@ public final class ShadowbornDemon extends CardImpl {
this.addAbility(ability);
// At the beginning of your upkeep, if there are fewer than six creature cards in your graveyard, sacrifice a creature.
- this.addAbility(new ConditionalTriggeredAbility(
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(
new BeginningOfUpkeepTriggeredAbility(new SacrificeControllerEffect(StaticFilters.FILTER_PERMANENT_CREATURE, 1, ""), TargetController.YOU, false),
new InvertCondition(new CreatureCardsInControllerGraveCondition(6)),
"At the beginning of your upkeep, if there are fewer than six creature cards in your graveyard, sacrifice a creature"));
diff --git a/Mage.Sets/src/mage/cards/s/ShipwreckLooter.java b/Mage.Sets/src/mage/cards/s/ShipwreckLooter.java
index 17765b37768..03ae7cef4b1 100644
--- a/Mage.Sets/src/mage/cards/s/ShipwreckLooter.java
+++ b/Mage.Sets/src/mage/cards/s/ShipwreckLooter.java
@@ -6,7 +6,7 @@ import mage.MageInt;
import mage.abilities.Ability;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.condition.common.RaidCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.DrawDiscardControllerEffect;
import mage.constants.SubType;
import mage.cards.CardImpl;
@@ -29,7 +29,7 @@ public final class ShipwreckLooter extends CardImpl {
this.toughness = new MageInt(1);
// Raid - When Shipwreck Looter enters the battlefield,if you attacked with a creature this turn, you may draw a card. If you do, discard a card.
- Ability ability = new ConditionalTriggeredAbility(
+ Ability ability = new ConditionalInterveningIfTriggeredAbility(
new EntersBattlefieldTriggeredAbility(new DrawDiscardControllerEffect(1, 1, true)),
RaidCondition.instance,
"Raid — When {this} enters the battlefield, if you attacked with a creature this turn, you may draw a card. If you do, discard a card.");
diff --git a/Mage.Sets/src/mage/cards/s/ShivanEmissary.java b/Mage.Sets/src/mage/cards/s/ShivanEmissary.java
index 1015ea205b6..ca39be13120 100644
--- a/Mage.Sets/src/mage/cards/s/ShivanEmissary.java
+++ b/Mage.Sets/src/mage/cards/s/ShivanEmissary.java
@@ -7,7 +7,7 @@ import mage.ObjectColor;
import mage.abilities.TriggeredAbility;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.condition.common.KickedCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.DestroyTargetEffect;
import mage.abilities.keyword.KickerAbility;
import mage.cards.CardImpl;
@@ -44,7 +44,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(filter));
- this.addAbility(new ConditionalTriggeredAbility(ability, KickedCondition.instance,
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, KickedCondition.instance,
"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/ShorelineSalvager.java b/Mage.Sets/src/mage/cards/s/ShorelineSalvager.java
index 1c82c152455..3ff22606e00 100644
--- a/Mage.Sets/src/mage/cards/s/ShorelineSalvager.java
+++ b/Mage.Sets/src/mage/cards/s/ShorelineSalvager.java
@@ -5,7 +5,7 @@ import java.util.UUID;
import mage.MageInt;
import mage.abilities.common.DealsCombatDamageToAPlayerTriggeredAbility;
import mage.abilities.condition.common.PermanentsOnTheBattlefieldCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.DrawCardSourceControllerEffect;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
@@ -38,7 +38,7 @@ public final class ShorelineSalvager extends CardImpl {
this.toughness = new MageInt(3);
// Whenever Shoreline Salvager deals combat damage to a player, if you control an Island, you may draw a card.
- this.addAbility(new ConditionalTriggeredAbility(new DealsCombatDamageToAPlayerTriggeredAbility(new DrawCardSourceControllerEffect(1), true), new PermanentsOnTheBattlefieldCondition(filter), rule));
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(new DealsCombatDamageToAPlayerTriggeredAbility(new DrawCardSourceControllerEffect(1), true), new PermanentsOnTheBattlefieldCondition(filter), rule));
}
public ShorelineSalvager(final ShorelineSalvager card) {
diff --git a/Mage.Sets/src/mage/cards/s/ShriekingGrotesque.java b/Mage.Sets/src/mage/cards/s/ShriekingGrotesque.java
index f1e30ff4e4f..4cc23ef06a9 100644
--- a/Mage.Sets/src/mage/cards/s/ShriekingGrotesque.java
+++ b/Mage.Sets/src/mage/cards/s/ShriekingGrotesque.java
@@ -6,7 +6,7 @@ import mage.MageInt;
import mage.abilities.TriggeredAbility;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.condition.common.ManaWasSpentCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.discard.DiscardTargetEffect;
import mage.abilities.keyword.FlyingAbility;
import mage.cards.CardImpl;
@@ -35,7 +35,7 @@ public final class ShriekingGrotesque extends CardImpl {
// When Shrieking Grotesque enters the battlefield, if {B} was spent to cast it, target player discards a card.
TriggeredAbility ability = new EntersBattlefieldTriggeredAbility(new DiscardTargetEffect(1), false);
ability.addTarget(new TargetPlayer());
- this.addAbility(new ConditionalTriggeredAbility(ability, new ManaWasSpentCondition(ColoredManaSymbol.B),
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, new ManaWasSpentCondition(ColoredManaSymbol.B),
"if {B} was spent to cast {this}, target player discards a card."), new ManaSpentToCastWatcher());
}
diff --git a/Mage.Sets/src/mage/cards/s/ShrikeHarpy.java b/Mage.Sets/src/mage/cards/s/ShrikeHarpy.java
index ed1f7861a63..7c3527181ca 100644
--- a/Mage.Sets/src/mage/cards/s/ShrikeHarpy.java
+++ b/Mage.Sets/src/mage/cards/s/ShrikeHarpy.java
@@ -6,7 +6,7 @@ import mage.MageInt;
import mage.abilities.TriggeredAbility;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.condition.common.TributeNotPaidCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.SacrificeEffect;
import mage.abilities.keyword.FlyingAbility;
import mage.abilities.keyword.TributeAbility;
@@ -37,7 +37,7 @@ public final class ShrikeHarpy extends CardImpl {
// When Shrike Harpy enters the battlefield, if tribute wasn't paid, target opponent sacrifices a creature.
TriggeredAbility ability = new EntersBattlefieldTriggeredAbility(new SacrificeEffect(new FilterCreaturePermanent("a creature"), 1, "target opponent"), false);
ability.addTarget(new TargetOpponent());
- this.addAbility(new ConditionalTriggeredAbility(ability, TributeNotPaidCondition.instance,
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, TributeNotPaidCondition.instance,
"When {this} enters the battlefield, if its tribute wasn't paid, target opponent sacrifices a creature."));
}
diff --git a/Mage.Sets/src/mage/cards/s/ShrineOfBoundlessGrowth.java b/Mage.Sets/src/mage/cards/s/ShrineOfBoundlessGrowth.java
index 21a00c86465..1ab6e27212c 100644
--- a/Mage.Sets/src/mage/cards/s/ShrineOfBoundlessGrowth.java
+++ b/Mage.Sets/src/mage/cards/s/ShrineOfBoundlessGrowth.java
@@ -13,10 +13,12 @@ import mage.abilities.costs.common.TapSourceCost;
import mage.abilities.dynamicvalue.common.CountersSourceCount;
import mage.abilities.effects.common.counter.AddCountersSourceEffect;
import mage.abilities.mana.DynamicManaAbility;
+import mage.abilities.meta.OrTriggeredAbility;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.TargetController;
+import mage.constants.Zone;
import mage.counters.CounterType;
import mage.filter.FilterSpell;
import mage.filter.predicate.mageobject.ColorPredicate;
@@ -37,8 +39,9 @@ public final class ShrineOfBoundlessGrowth extends CardImpl {
super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{3}");
// At the beginning of your upkeep or whenever you cast a green spell, put a charge counter on Shrine of Boundless Growth.
- this.addAbility(new BeginningOfUpkeepTriggeredAbility(new AddCountersSourceEffect(CounterType.CHARGE.createInstance()), TargetController.YOU, false));
- this.addAbility(new SpellCastControllerTriggeredAbility(new AddCountersSourceEffect(CounterType.CHARGE.createInstance()), filter, false));
+ this.addAbility(new OrTriggeredAbility(Zone.BATTLEFIELD, new AddCountersSourceEffect(CounterType.CHARGE.createInstance()),
+ new BeginningOfUpkeepTriggeredAbility(null, TargetController.YOU, false),
+ new SpellCastControllerTriggeredAbility(null, filter, false)));
// {T}, Sacrifice Shrine of Boundless Growth: Add {C} for each charge counter on Shrine of Boundless Growth.
Ability ability = new DynamicManaAbility(Mana.ColorlessMana(1), new CountersSourceCount(CounterType.CHARGE), new TapSourceCost());
diff --git a/Mage.Sets/src/mage/cards/s/ShrineOfBurningRage.java b/Mage.Sets/src/mage/cards/s/ShrineOfBurningRage.java
index 53e4b55e3ee..c69fa38694a 100644
--- a/Mage.Sets/src/mage/cards/s/ShrineOfBurningRage.java
+++ b/Mage.Sets/src/mage/cards/s/ShrineOfBurningRage.java
@@ -14,6 +14,7 @@ import mage.abilities.costs.mana.GenericManaCost;
import mage.abilities.dynamicvalue.common.CountersSourceCount;
import mage.abilities.effects.common.DamageTargetEffect;
import mage.abilities.effects.common.counter.AddCountersSourceEffect;
+import mage.abilities.meta.OrTriggeredAbility;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
@@ -37,8 +38,13 @@ public final class ShrineOfBurningRage extends CardImpl {
public ShrineOfBurningRage (UUID ownerId, CardSetInfo setInfo) {
super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{2}");
- this.addAbility(new BeginningOfUpkeepTriggeredAbility(new AddCountersSourceEffect(CounterType.CHARGE.createInstance()), TargetController.YOU, false));
- this.addAbility(new SpellCastControllerTriggeredAbility(new AddCountersSourceEffect(CounterType.CHARGE.createInstance()), filter, false));
+
+ //At the beginning of your upkeep or whenever you cast a red spell, put a charge counter on Shrine of Burning Rage.
+ this.addAbility(new OrTriggeredAbility(Zone.BATTLEFIELD, new AddCountersSourceEffect(CounterType.CHARGE.createInstance()),
+ new BeginningOfUpkeepTriggeredAbility(null, TargetController.YOU, false),
+ new SpellCastControllerTriggeredAbility(null, filter, false)));
+
+ //{3}, {T}, Sacrifice Shrine of Burning Rage: It deals damage equal to the number of charge counters on it to any target.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(new CountersSourceCount(CounterType.CHARGE)), new GenericManaCost(3));
ability.addCost(new TapSourceCost());
ability.addCost(new SacrificeSourceCost());
diff --git a/Mage.Sets/src/mage/cards/s/ShrineOfLimitlessPower.java b/Mage.Sets/src/mage/cards/s/ShrineOfLimitlessPower.java
index c16b7b9a53c..21585426038 100644
--- a/Mage.Sets/src/mage/cards/s/ShrineOfLimitlessPower.java
+++ b/Mage.Sets/src/mage/cards/s/ShrineOfLimitlessPower.java
@@ -13,6 +13,7 @@ import mage.abilities.costs.mana.GenericManaCost;
import mage.abilities.dynamicvalue.common.CountersSourceCount;
import mage.abilities.effects.common.counter.AddCountersSourceEffect;
import mage.abilities.effects.common.discard.DiscardTargetEffect;
+import mage.abilities.meta.OrTriggeredAbility;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
@@ -38,9 +39,12 @@ public final class ShrineOfLimitlessPower extends CardImpl {
public ShrineOfLimitlessPower(UUID ownerId, CardSetInfo setInfo) {
super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{3}");
- this.addAbility(new BeginningOfUpkeepTriggeredAbility(new AddCountersSourceEffect(CounterType.CHARGE.createInstance()), TargetController.YOU, false));
- this.addAbility(new SpellCastControllerTriggeredAbility(new AddCountersSourceEffect(CounterType.CHARGE.createInstance()), filter, false));
+ //At the beginning of your upkeep or whenever you cast a black spell, put a charge counter on Shrine of Limitless Power.
+ this.addAbility(new OrTriggeredAbility(Zone.BATTLEFIELD, new AddCountersSourceEffect(CounterType.CHARGE.createInstance()),
+ new BeginningOfUpkeepTriggeredAbility(null, TargetController.YOU, false),
+ new SpellCastControllerTriggeredAbility(null, filter, false)));
+ //{4}, {T}, Sacrifice Shrine of Limitless Power: Target player discards a card for each charge counter on Shrine of Limitless Power.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DiscardTargetEffect(new CountersSourceCount(CounterType.CHARGE)), new GenericManaCost(4));
ability.addCost(new TapSourceCost());
ability.addCost(new SacrificeSourceCost());
diff --git a/Mage.Sets/src/mage/cards/s/ShrineOfLoyalLegions.java b/Mage.Sets/src/mage/cards/s/ShrineOfLoyalLegions.java
index 77c8747654c..496428e76fb 100644
--- a/Mage.Sets/src/mage/cards/s/ShrineOfLoyalLegions.java
+++ b/Mage.Sets/src/mage/cards/s/ShrineOfLoyalLegions.java
@@ -13,6 +13,7 @@ import mage.abilities.costs.mana.GenericManaCost;
import mage.abilities.dynamicvalue.common.CountersSourceCount;
import mage.abilities.effects.common.CreateTokenEffect;
import mage.abilities.effects.common.counter.AddCountersSourceEffect;
+import mage.abilities.meta.OrTriggeredAbility;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
@@ -38,9 +39,12 @@ public final class ShrineOfLoyalLegions extends CardImpl {
public ShrineOfLoyalLegions(UUID ownerId, CardSetInfo setInfo) {
super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{2}");
- this.addAbility(new BeginningOfUpkeepTriggeredAbility(new AddCountersSourceEffect(CounterType.CHARGE.createInstance()), TargetController.YOU, false));
- this.addAbility(new SpellCastControllerTriggeredAbility(new AddCountersSourceEffect(CounterType.CHARGE.createInstance()), filter, false));
+ //At the beginning of your upkeep or whenever you cast a white spell, put a charge counter on Shrine of Loyal Legions.
+ this.addAbility(new OrTriggeredAbility(Zone.BATTLEFIELD, new AddCountersSourceEffect(CounterType.CHARGE.createInstance()),
+ new BeginningOfUpkeepTriggeredAbility(null, TargetController.YOU, false),
+ new SpellCastControllerTriggeredAbility(null, filter, false)));
+ //{3}, {T}, Sacrifice Shrine of Loyal Legions: Create a 1/1 colorless Myr artifact creature token for each charge counter on Shrine of Loyal Legions.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD,
new CreateTokenEffect(new MyrToken("NPH"), new CountersSourceCount(CounterType.CHARGE)),
new GenericManaCost(3));
diff --git a/Mage.Sets/src/mage/cards/s/ShrineOfPiercingVision.java b/Mage.Sets/src/mage/cards/s/ShrineOfPiercingVision.java
index 142899a0de3..1288738d322 100644
--- a/Mage.Sets/src/mage/cards/s/ShrineOfPiercingVision.java
+++ b/Mage.Sets/src/mage/cards/s/ShrineOfPiercingVision.java
@@ -11,6 +11,7 @@ import mage.abilities.costs.common.SacrificeSourceCost;
import mage.abilities.costs.common.TapSourceCost;
import mage.abilities.effects.OneShotEffect;
import mage.abilities.effects.common.counter.AddCountersSourceEffect;
+import mage.abilities.meta.OrTriggeredAbility;
import mage.cards.Card;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
@@ -45,8 +46,10 @@ public final class ShrineOfPiercingVision extends CardImpl {
super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{2}");
// At the beginning of your upkeep or whenever you cast a blue spell, put a charge counter on Shrine of Piercing Vision.
- this.addAbility(new BeginningOfUpkeepTriggeredAbility(new AddCountersSourceEffect(CounterType.CHARGE.createInstance()), TargetController.YOU, false));
- this.addAbility(new SpellCastControllerTriggeredAbility(new AddCountersSourceEffect(CounterType.CHARGE.createInstance()), filter, false));
+ this.addAbility(new OrTriggeredAbility(Zone.BATTLEFIELD, new AddCountersSourceEffect(CounterType.CHARGE.createInstance()),
+ new BeginningOfUpkeepTriggeredAbility(null, TargetController.YOU, false),
+ new SpellCastControllerTriggeredAbility(null, filter, false)));
+
// {tap}, Sacrifice Shrine of Piercing Vision: Look at the top X cards of your library, where X is the number of charge counters on Shrine of Piercing Vision.
// Put one of those cards into your hand and the rest on the bottom of your library in any order.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new ShrineOfPiercingVisionEffect(), new TapSourceCost());
diff --git a/Mage.Sets/src/mage/cards/s/SickleDancer.java b/Mage.Sets/src/mage/cards/s/SickleDancer.java
index 3275d6c93e8..ec80b693b90 100644
--- a/Mage.Sets/src/mage/cards/s/SickleDancer.java
+++ b/Mage.Sets/src/mage/cards/s/SickleDancer.java
@@ -5,7 +5,7 @@ import java.util.UUID;
import mage.MageInt;
import mage.abilities.common.AttacksTriggeredAbility;
import mage.abilities.condition.common.PermanentsOnTheBattlefieldCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.continuous.BoostSourceEffect;
import mage.constants.SubType;
import mage.cards.CardImpl;
@@ -36,7 +36,7 @@ public final class SickleDancer extends CardImpl {
this.toughness = new MageInt(2);
// Whenever Sickle Dancer attacks, if your team controls another Warrior, Sickle Dancer gets +1/+1 until end of turn.
- this.addAbility(new ConditionalTriggeredAbility(
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(
new AttacksTriggeredAbility(new BoostSourceEffect(1, 1, Duration.EndOfTurn), false),
new PermanentsOnTheBattlefieldCondition(filter),
"Whenever {this} attacks, if your team controls another Warrior, {this} gets +1/+1 until end of turn."
diff --git a/Mage.Sets/src/mage/cards/s/SilkweaverElite.java b/Mage.Sets/src/mage/cards/s/SilkweaverElite.java
index 880d19a8266..916511fc096 100644
--- a/Mage.Sets/src/mage/cards/s/SilkweaverElite.java
+++ b/Mage.Sets/src/mage/cards/s/SilkweaverElite.java
@@ -6,7 +6,7 @@ import mage.MageInt;
import mage.abilities.Ability;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.condition.common.RevoltCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.DrawCardSourceControllerEffect;
import mage.abilities.keyword.ReachAbility;
import mage.cards.CardImpl;
@@ -33,7 +33,7 @@ public final class SilkweaverElite extends CardImpl {
this.addAbility(ReachAbility.getInstance());
// Revolt — When Silkweaver Elite enters the battlefield, if a permanent you controlled left the battlefield this turn, draw a card.
- Ability ability = new ConditionalTriggeredAbility(new EntersBattlefieldTriggeredAbility(
+ Ability ability = new ConditionalInterveningIfTriggeredAbility(new EntersBattlefieldTriggeredAbility(
new DrawCardSourceControllerEffect(1), false), RevoltCondition.instance,
"Revolt — When {this} enters the battlefield, if a permanent you controlled left"
+ " the battlefield this turn, draw a card.");
diff --git a/Mage.Sets/src/mage/cards/s/SilverpeltWerewolf.java b/Mage.Sets/src/mage/cards/s/SilverpeltWerewolf.java
index f45ff2d406e..ec7a60aae03 100644
--- a/Mage.Sets/src/mage/cards/s/SilverpeltWerewolf.java
+++ b/Mage.Sets/src/mage/cards/s/SilverpeltWerewolf.java
@@ -7,7 +7,7 @@ import mage.abilities.TriggeredAbility;
import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
import mage.abilities.common.DealsCombatDamageToAPlayerTriggeredAbility;
import mage.abilities.condition.common.TwoOrMoreSpellsWereCastLastTurnCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.DrawCardSourceControllerEffect;
import mage.abilities.effects.common.TransformSourceEffect;
import mage.abilities.keyword.TransformAbility;
@@ -39,7 +39,7 @@ public final class SilverpeltWerewolf extends CardImpl {
// At the beginning of each upkeep, if a player cast two or more spells last turn, transform Silverpelt Werewolf.
TriggeredAbility ability = new BeginningOfUpkeepTriggeredAbility(new TransformSourceEffect(false), TargetController.ANY, false);
- this.addAbility(new ConditionalTriggeredAbility(ability, TwoOrMoreSpellsWereCastLastTurnCondition.instance, TransformAbility.TWO_OR_MORE_SPELLS_TRANSFORM_RULE));
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, TwoOrMoreSpellsWereCastLastTurnCondition.instance, TransformAbility.TWO_OR_MORE_SPELLS_TRANSFORM_RULE));
}
public SilverpeltWerewolf(final SilverpeltWerewolf card) {
diff --git a/Mage.Sets/src/mage/cards/s/SirenOfTheFangedCoast.java b/Mage.Sets/src/mage/cards/s/SirenOfTheFangedCoast.java
index 6b3710f7890..d2f8485fec2 100644
--- a/Mage.Sets/src/mage/cards/s/SirenOfTheFangedCoast.java
+++ b/Mage.Sets/src/mage/cards/s/SirenOfTheFangedCoast.java
@@ -6,7 +6,7 @@ import mage.MageInt;
import mage.abilities.TriggeredAbility;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.condition.common.TributeNotPaidCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.continuous.GainControlTargetEffect;
import mage.abilities.keyword.FlyingAbility;
import mage.abilities.keyword.TributeAbility;
@@ -37,7 +37,7 @@ public final class SirenOfTheFangedCoast extends CardImpl {
// When Siren of the Fanged Coast enters the battlefield, if tribute wasn't paid, gain control of target creature.
TriggeredAbility ability = new EntersBattlefieldTriggeredAbility(new GainControlTargetEffect(Duration.EndOfGame, true), false);
ability.addTarget(new TargetCreaturePermanent());
- this.addAbility(new ConditionalTriggeredAbility(ability, TributeNotPaidCondition.instance,
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, TributeNotPaidCondition.instance,
"When {this} enters the battlefield, if its tribute wasn't paid, gain control of target creature."));
}
diff --git a/Mage.Sets/src/mage/cards/s/SithAssassin.java b/Mage.Sets/src/mage/cards/s/SithAssassin.java
index d348657ec74..322dc5e1d97 100644
--- a/Mage.Sets/src/mage/cards/s/SithAssassin.java
+++ b/Mage.Sets/src/mage/cards/s/SithAssassin.java
@@ -7,7 +7,7 @@ import mage.ObjectColor;
import mage.abilities.Ability;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.condition.common.HateCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.DestroyTargetEffect;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
@@ -39,7 +39,7 @@ public final class SithAssassin extends CardImpl {
this.toughness = new MageInt(2);
// Hate — When Sith Assassin enters the battlefield, if opponent lost life from source other than combat damage this turn, you may destroy target nonblack creature.
- Ability ability = new ConditionalTriggeredAbility(
+ Ability ability = new ConditionalInterveningIfTriggeredAbility(
new EntersBattlefieldTriggeredAbility(new DestroyTargetEffect(), true),
HateCondition.instance,
"Hate — When {this} enters the battlefield, if an opponent lost life from a source other than combat damage this turn, you may destroy target nonblack creature.");
diff --git a/Mage.Sets/src/mage/cards/s/SithInquisitor.java b/Mage.Sets/src/mage/cards/s/SithInquisitor.java
index 978fac9b6b4..36da9574376 100644
--- a/Mage.Sets/src/mage/cards/s/SithInquisitor.java
+++ b/Mage.Sets/src/mage/cards/s/SithInquisitor.java
@@ -6,7 +6,7 @@ import mage.MageInt;
import mage.abilities.Ability;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.condition.common.HateCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.discard.DiscardTargetEffect;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
@@ -29,7 +29,7 @@ public final class SithInquisitor extends CardImpl {
this.toughness = new MageInt(1);
// Hate — When Sith Assassin enters the battlefield, if opponent lost life from source other than combat damage this turn, target player discard a card at random.
- Ability ability = new ConditionalTriggeredAbility(
+ Ability ability = new ConditionalInterveningIfTriggeredAbility(
new EntersBattlefieldTriggeredAbility(new DiscardTargetEffect(1, true)),
HateCondition.instance,
"Hate — When {this} enters the battlefield, if an opponent lost life from a source other then combat damage this turn, target player discard a card at random.");
diff --git a/Mage.Sets/src/mage/cards/s/SithMagic.java b/Mage.Sets/src/mage/cards/s/SithMagic.java
index 1913a8220c5..a45c7569763 100644
--- a/Mage.Sets/src/mage/cards/s/SithMagic.java
+++ b/Mage.Sets/src/mage/cards/s/SithMagic.java
@@ -8,7 +8,7 @@ import mage.abilities.TriggeredAbility;
import mage.abilities.common.BeginningOfCombatTriggeredAbility;
import mage.abilities.common.delayed.AtTheBeginOfNextEndStepDelayedTriggeredAbility;
import mage.abilities.condition.common.HateCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.ContinuousEffect;
import mage.abilities.effects.OneShotEffect;
import mage.abilities.effects.ReplacementEffectImpl;
@@ -46,7 +46,7 @@ public final class SithMagic extends CardImpl {
// Hate — At the beggining of each combat, if opponent lost life from a source other than combat damage this turn, you may return target card from a graveyard to the battlefield under your control. It gains lifelink and haste. Exile it at the beginning of the next end step or if it would leave the battlefield.
TriggeredAbility triggeredAbility = new BeginningOfCombatTriggeredAbility(new SithMagicEffect(), TargetController.ANY, true);
triggeredAbility.addEffect(new SithMagicReplacementEffect());
- Ability ability = new ConditionalTriggeredAbility(
+ Ability ability = new ConditionalInterveningIfTriggeredAbility(
triggeredAbility,
HateCondition.instance,
"Hate — At the beggining of each combat, if opponent lost life from a source other than combat damage this turn, you may return target card from a graveyard to the battlefield under your control. It gains lifelink and haste. Exile it at the beginning of the next end step or if it would leave the battlefield.");
diff --git a/Mage.Sets/src/mage/cards/s/SithManipulator.java b/Mage.Sets/src/mage/cards/s/SithManipulator.java
index 3baf0f1b9bc..e115e43cddf 100644
--- a/Mage.Sets/src/mage/cards/s/SithManipulator.java
+++ b/Mage.Sets/src/mage/cards/s/SithManipulator.java
@@ -7,7 +7,7 @@ import mage.abilities.Ability;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.condition.InvertCondition;
import mage.abilities.condition.common.HateCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.ReturnToHandTargetEffect;
import mage.abilities.effects.common.ReturnToLibraryPermanentEffect;
import mage.cards.CardImpl;
@@ -31,7 +31,7 @@ public final class SithManipulator extends CardImpl {
this.toughness = new MageInt(2);
// When Sith Manipulator enters the battlefield, return target creature to its owner's hand.
- Ability ability = new ConditionalTriggeredAbility(
+ Ability ability = new ConditionalInterveningIfTriggeredAbility(
new EntersBattlefieldTriggeredAbility(new ReturnToHandTargetEffect()),
new InvertCondition(HateCondition.instance),
"When Sith Manipulator enters the battlefield, return target creature to its owner's hand");
@@ -39,7 +39,7 @@ public final class SithManipulator extends CardImpl {
this.addAbility(ability, new LifeLossOtherFromCombatWatcher());
// Hate — If opponent lost life from source other than combat damage this turn, put that card on top of its owner's library instead.
- ability = new ConditionalTriggeredAbility(
+ ability = new ConditionalInterveningIfTriggeredAbility(
new EntersBattlefieldTriggeredAbility(new ReturnToLibraryPermanentEffect(true)),
HateCondition.instance,
"Hate — If opponent lost life from source other than combat damage this turn, put that card on top of its owner's library instead");
diff --git a/Mage.Sets/src/mage/cards/s/SithMarauder.java b/Mage.Sets/src/mage/cards/s/SithMarauder.java
index db64255463a..9ccbb83b4eb 100644
--- a/Mage.Sets/src/mage/cards/s/SithMarauder.java
+++ b/Mage.Sets/src/mage/cards/s/SithMarauder.java
@@ -6,7 +6,7 @@ import mage.MageInt;
import mage.abilities.Ability;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.condition.common.HateCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.DamageTargetEffect;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
@@ -29,7 +29,7 @@ public final class SithMarauder extends CardImpl {
this.toughness = new MageInt(4);
// Hate — When Sith Marauder enters the battlefield, if an opponent lost life from a source other than combat damage this turn, Sith Marauder deals 3 damage to any target.
- Ability ability = new ConditionalTriggeredAbility(
+ Ability ability = new ConditionalInterveningIfTriggeredAbility(
new EntersBattlefieldTriggeredAbility(new DamageTargetEffect(3)),
HateCondition.instance,
"Hate — When {this} enters the battlefield, if an opponent lost life from a source other than combat damage this turn, {this} deals 3 damage to any target");
diff --git a/Mage.Sets/src/mage/cards/s/SithMindseer.java b/Mage.Sets/src/mage/cards/s/SithMindseer.java
index 0bc20aed3ca..74a76a635f2 100644
--- a/Mage.Sets/src/mage/cards/s/SithMindseer.java
+++ b/Mage.Sets/src/mage/cards/s/SithMindseer.java
@@ -6,7 +6,7 @@ import mage.MageInt;
import mage.abilities.Ability;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.condition.common.HateCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.continuous.GainControlTargetEffect;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
@@ -30,7 +30,7 @@ public final class SithMindseer extends CardImpl {
this.toughness = new MageInt(3);
// Hate — When Sith Mindseer enters the battlefield, if an opponent loses life from a source other than combat damage, gain control of target creature for as long as Sith Mindseer remains on the battlefield.
- Ability ability = new ConditionalTriggeredAbility(
+ Ability ability = new ConditionalInterveningIfTriggeredAbility(
new EntersBattlefieldTriggeredAbility(new GainControlTargetEffect(Duration.WhileOnBattlefield)),
HateCondition.instance,
"Hate — When Sith Mindseer enters the battlefield, if an opponent loses life from a source other than combat damage, gain control of target creature for as long as Sith Mindseer remains on the battlefield.");
diff --git a/Mage.Sets/src/mage/cards/s/SithSorcerer.java b/Mage.Sets/src/mage/cards/s/SithSorcerer.java
index 939bf2013ac..6aeea2a8ba0 100644
--- a/Mage.Sets/src/mage/cards/s/SithSorcerer.java
+++ b/Mage.Sets/src/mage/cards/s/SithSorcerer.java
@@ -6,7 +6,7 @@ import mage.MageInt;
import mage.abilities.Ability;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.condition.common.HateCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.DrawCardSourceControllerEffect;
import mage.abilities.effects.keyword.ScryEffect;
import mage.cards.CardImpl;
@@ -32,7 +32,7 @@ public final class SithSorcerer extends CardImpl {
this.addAbility(new EntersBattlefieldTriggeredAbility(new ScryEffect(2)));
// Hate — When Sith Assassin enters the battlefield, if opponent lost life from source other than combat damage this turn, draw a card.
- Ability ability = new ConditionalTriggeredAbility(
+ Ability ability = new ConditionalInterveningIfTriggeredAbility(
new EntersBattlefieldTriggeredAbility(new DrawCardSourceControllerEffect(1)),
HateCondition.instance,
"Hate — When {this} enters the battlefield, if an opponent lost life from a source other than combat damage this turn, draw a card.");
diff --git a/Mage.Sets/src/mage/cards/s/SkylineDespot.java b/Mage.Sets/src/mage/cards/s/SkylineDespot.java
index 3dcb09c97b7..6746688b0a0 100644
--- a/Mage.Sets/src/mage/cards/s/SkylineDespot.java
+++ b/Mage.Sets/src/mage/cards/s/SkylineDespot.java
@@ -6,7 +6,7 @@ import mage.MageInt;
import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.condition.common.MonarchIsSourceControllerCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.BecomesMonarchSourceEffect;
import mage.abilities.effects.common.CreateTokenEffect;
import mage.abilities.keyword.FlyingAbility;
@@ -37,7 +37,7 @@ public final class SkylineDespot extends CardImpl {
this.addAbility(new EntersBattlefieldTriggeredAbility(new BecomesMonarchSourceEffect(), false));
// At the beginning of your upkeep, if you're the monarch, put a 5/5 red Dragon creature token with flying onto the battlefield.
- this.addAbility(new ConditionalTriggeredAbility(new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD,
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD,
new CreateTokenEffect(new DragonToken2()),
TargetController.YOU, false), MonarchIsSourceControllerCondition.instance,
"At the beginning of your upkeep, if you're the monarch, put a 5/5 red Dragon creature token with flying onto the battlefield."));
diff --git a/Mage.Sets/src/mage/cards/s/SlaughterhouseBouncer.java b/Mage.Sets/src/mage/cards/s/SlaughterhouseBouncer.java
index 53ef0de512d..b68d8d3a68e 100644
--- a/Mage.Sets/src/mage/cards/s/SlaughterhouseBouncer.java
+++ b/Mage.Sets/src/mage/cards/s/SlaughterhouseBouncer.java
@@ -6,7 +6,7 @@ import mage.MageInt;
import mage.abilities.Ability;
import mage.abilities.common.DiesTriggeredAbility;
import mage.abilities.condition.common.HellbentCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.continuous.BoostTargetEffect;
import mage.constants.SubType;
import mage.cards.CardImpl;
@@ -31,7 +31,7 @@ public final class SlaughterhouseBouncer extends CardImpl {
this.toughness = new MageInt(3);
// Hellbent - When Slaughterhouse Bouncer dies, if you have no cards in hand, target creature gets -3/-3 until end of turn.
- Ability ability = new ConditionalTriggeredAbility(
+ Ability ability = new ConditionalInterveningIfTriggeredAbility(
new DiesTriggeredAbility(new BoostTargetEffect(-3, -3, Duration.EndOfTurn)),
HellbentCondition.instance,
"When {this} dies, if you have no cards in hand, target creature gets -3/-3 until end of turn."
diff --git a/Mage.Sets/src/mage/cards/s/SlinnVodaTheRisingDeep.java b/Mage.Sets/src/mage/cards/s/SlinnVodaTheRisingDeep.java
index d3c8095860a..7a2cbd69482 100644
--- a/Mage.Sets/src/mage/cards/s/SlinnVodaTheRisingDeep.java
+++ b/Mage.Sets/src/mage/cards/s/SlinnVodaTheRisingDeep.java
@@ -5,7 +5,7 @@ import java.util.UUID;
import mage.MageInt;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.condition.common.KickedCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.ReturnToHandFromBattlefieldAllEffect;
import mage.abilities.keyword.KickerAbility;
import mage.cards.CardImpl;
@@ -48,7 +48,7 @@ public final class SlinnVodaTheRisingDeep extends CardImpl {
this.addAbility(new KickerAbility("{1}{U}"));
// 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 ConditionalTriggeredAbility(
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(
new EntersBattlefieldTriggeredAbility(new ReturnToHandFromBattlefieldAllEffect(filter)),
KickedCondition.instance,
"when {this} enters the battlefield, if it was kicked, "
diff --git a/Mage.Sets/src/mage/cards/s/SmeltWardGatekeepers.java b/Mage.Sets/src/mage/cards/s/SmeltWardGatekeepers.java
index fea07807db5..e607e3faf67 100644
--- a/Mage.Sets/src/mage/cards/s/SmeltWardGatekeepers.java
+++ b/Mage.Sets/src/mage/cards/s/SmeltWardGatekeepers.java
@@ -7,7 +7,7 @@ import mage.MageInt;
import mage.abilities.Ability;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.condition.common.PermanentsOnTheBattlefieldCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.UntapTargetEffect;
import mage.abilities.effects.common.continuous.GainAbilityTargetEffect;
import mage.abilities.effects.common.continuous.GainControlTargetEffect;
@@ -46,7 +46,7 @@ public final class SmeltWardGatekeepers extends CardImpl {
this.toughness = new MageInt(4);
// When Smelt-Ward Gatekeepers enters the battlefield, if you control two or more Gates, gain control of target creature an opponent controls until end of turn. Untap that creature. That creature gains haste until end of turn.
- Ability ability = new ConditionalTriggeredAbility(
+ Ability ability = new ConditionalInterveningIfTriggeredAbility(
new EntersBattlefieldTriggeredAbility(new GainControlTargetEffect(Duration.EndOfTurn)),
new PermanentsOnTheBattlefieldCondition(filter, ComparisonType.MORE_THAN, 1),
"When {this} enters the battlefield, if you control two or more Gates, gain control of target creature an opponent controls until end of turn. Untap that creature. That creature gains haste until end of turn.");
diff --git a/Mage.Sets/src/mage/cards/s/SnakeOfTheGoldenGrove.java b/Mage.Sets/src/mage/cards/s/SnakeOfTheGoldenGrove.java
index 611eee6e94f..be18600eaf2 100644
--- a/Mage.Sets/src/mage/cards/s/SnakeOfTheGoldenGrove.java
+++ b/Mage.Sets/src/mage/cards/s/SnakeOfTheGoldenGrove.java
@@ -6,7 +6,7 @@ import mage.MageInt;
import mage.abilities.TriggeredAbility;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.condition.common.TributeNotPaidCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.GainLifeEffect;
import mage.abilities.keyword.TributeAbility;
import mage.cards.CardImpl;
@@ -31,7 +31,7 @@ public final class SnakeOfTheGoldenGrove extends CardImpl {
this.addAbility(new TributeAbility(3));
// When Snake of the Golden Grove enters the battlefield, if tribute wasn't paid, you gain 4 life.
TriggeredAbility ability = new EntersBattlefieldTriggeredAbility(new GainLifeEffect(4), false);
- this.addAbility(new ConditionalTriggeredAbility(ability, TributeNotPaidCondition.instance,
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, TributeNotPaidCondition.instance,
"When {this} enters the battlefield, if its tribute wasn't paid, you gain 4 life."));
}
diff --git a/Mage.Sets/src/mage/cards/s/SokenzanRenegade.java b/Mage.Sets/src/mage/cards/s/SokenzanRenegade.java
index a11ba94adc0..6999bdcd146 100644
--- a/Mage.Sets/src/mage/cards/s/SokenzanRenegade.java
+++ b/Mage.Sets/src/mage/cards/s/SokenzanRenegade.java
@@ -6,7 +6,7 @@ import mage.MageInt;
import mage.abilities.Ability;
import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
import mage.abilities.condition.Condition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.ContinuousEffect;
import mage.abilities.effects.OneShotEffect;
import mage.abilities.effects.common.continuous.GainControlTargetEffect;
@@ -42,7 +42,7 @@ public final class SokenzanRenegade extends CardImpl {
// Bushido 1
this.addAbility(new BushidoAbility(1));
// At the beginning of your upkeep, if a player has more cards in hand than each other player, the player who has the most cards in hand gains control of Sokenzan Renegade.
- this.addAbility(new ConditionalTriggeredAbility(
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(
new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, new SokenzanRenegadeEffect(), TargetController.YOU, false),
OnePlayerHasTheMostCards.instance,
"At the beginning of your upkeep, if a player has more cards in hand than each other player, the player who has the most cards in hand gains control of {this}"
diff --git a/Mage.Sets/src/mage/cards/s/SolemnRecruit.java b/Mage.Sets/src/mage/cards/s/SolemnRecruit.java
index 75a4d4f5b30..ba5ae0e00c8 100644
--- a/Mage.Sets/src/mage/cards/s/SolemnRecruit.java
+++ b/Mage.Sets/src/mage/cards/s/SolemnRecruit.java
@@ -5,7 +5,7 @@ import java.util.UUID;
import mage.MageInt;
import mage.abilities.common.BeginningOfYourEndStepTriggeredAbility;
import mage.abilities.condition.common.RevoltCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.counter.AddCountersSourceEffect;
import mage.abilities.keyword.DoubleStrikeAbility;
import mage.cards.CardImpl;
@@ -33,7 +33,7 @@ public final class SolemnRecruit extends CardImpl {
this.addAbility(DoubleStrikeAbility.getInstance());
// Revolt — At the beginning of your end step, if a permanent you controlled left the battlefield this turn, put a +1/+1 counter on Solemn Recruit.
- this.addAbility(new ConditionalTriggeredAbility(
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(
new BeginningOfYourEndStepTriggeredAbility(
new AddCountersSourceEffect(CounterType.P1P1.createInstance()),
false
diff --git a/Mage.Sets/src/mage/cards/s/SolitaryHunter.java b/Mage.Sets/src/mage/cards/s/SolitaryHunter.java
index fd0868745ed..917b5e1e716 100644
--- a/Mage.Sets/src/mage/cards/s/SolitaryHunter.java
+++ b/Mage.Sets/src/mage/cards/s/SolitaryHunter.java
@@ -6,7 +6,7 @@ import mage.MageInt;
import mage.abilities.TriggeredAbility;
import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
import mage.abilities.condition.common.NoSpellsWereCastLastTurnCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.TransformSourceEffect;
import mage.abilities.keyword.TransformAbility;
import mage.cards.CardImpl;
@@ -37,7 +37,7 @@ public final class SolitaryHunter extends CardImpl {
// At the beginning of each upkeep, if no spells were cast last turn, transform Solitary Hunter.
this.addAbility(new TransformAbility());
TriggeredAbility ability = new BeginningOfUpkeepTriggeredAbility(new TransformSourceEffect(true), TargetController.ANY, false);
- this.addAbility(new ConditionalTriggeredAbility(ability, NoSpellsWereCastLastTurnCondition.instance, TransformAbility.NO_SPELLS_TRANSFORM_RULE));
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, NoSpellsWereCastLastTurnCondition.instance, TransformAbility.NO_SPELLS_TRANSFORM_RULE));
}
public SolitaryHunter(final SolitaryHunter card) {
diff --git a/Mage.Sets/src/mage/cards/s/SoulSwallower.java b/Mage.Sets/src/mage/cards/s/SoulSwallower.java
index 676d646661c..db981fbebb8 100644
--- a/Mage.Sets/src/mage/cards/s/SoulSwallower.java
+++ b/Mage.Sets/src/mage/cards/s/SoulSwallower.java
@@ -5,7 +5,7 @@ import java.util.UUID;
import mage.MageInt;
import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
import mage.abilities.condition.common.DeliriumCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.counter.AddCountersSourceEffect;
import mage.abilities.keyword.TrampleAbility;
import mage.cards.CardImpl;
@@ -32,7 +32,7 @@ public final class SoulSwallower extends CardImpl {
this.addAbility(TrampleAbility.getInstance());
// Delirium — At the beginning of your upkeep, if there are four or more card types among cards in your graveyard, put three +1/+1 counters on Soul Swallower.
- this.addAbility(new ConditionalTriggeredAbility(
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(
new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, new AddCountersSourceEffect(CounterType.P1P1.createInstance(3)), TargetController.YOU, false),
DeliriumCondition.instance,
"Delirium — At the beginning of your upkeep, if there are four or more card types among cards in your graveyard, "
diff --git a/Mage.Sets/src/mage/cards/s/SpiritMirror.java b/Mage.Sets/src/mage/cards/s/SpiritMirror.java
index 9c1317a1706..136789f012e 100644
--- a/Mage.Sets/src/mage/cards/s/SpiritMirror.java
+++ b/Mage.Sets/src/mage/cards/s/SpiritMirror.java
@@ -7,7 +7,7 @@ import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
import mage.abilities.common.SimpleActivatedAbility;
import mage.abilities.condition.common.PermanentsOnTheBattlefieldCondition;
import mage.abilities.costs.mana.GenericManaCost;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.CreateTokenEffect;
import mage.abilities.effects.common.DestroyTargetEffect;
import mage.cards.CardImpl;
@@ -37,7 +37,7 @@ public final class SpiritMirror extends CardImpl {
super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{2}{W}{W}");
// At the beginning of your upkeep, if there are no Reflection tokens on the battlefield, create a 2/2 white Reflection creature token.
- this.addAbility(new ConditionalTriggeredAbility(
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(
new BeginningOfUpkeepTriggeredAbility(new CreateTokenEffect(new ReflectionToken()), TargetController.YOU, false),
new PermanentsOnTheBattlefieldCondition(filterToken, ComparisonType.EQUAL_TO, 0, false),
"At the beginning of your upkeep, if there are no Reflection tokens on the battlefield, create a 2/2 white Reflection creature token."));
diff --git a/Mage.Sets/src/mage/cards/s/SpiritualSanctuary.java b/Mage.Sets/src/mage/cards/s/SpiritualSanctuary.java
index 99061732faa..f588f7091cd 100644
--- a/Mage.Sets/src/mage/cards/s/SpiritualSanctuary.java
+++ b/Mage.Sets/src/mage/cards/s/SpiritualSanctuary.java
@@ -4,7 +4,7 @@ package mage.cards.s;
import java.util.UUID;
import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
import mage.abilities.condition.common.PermanentsOnTheBattlefieldCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.GainLifeTargetEffect;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
@@ -32,7 +32,7 @@ public final class SpiritualSanctuary extends CardImpl {
super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{2}{W}{W}");
// At the beginning of each player's upkeep, if that player controls a Plains, he or she gains 1 life.
- this.addAbility(new ConditionalTriggeredAbility(
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(
new BeginningOfUpkeepTriggeredAbility(
new GainLifeTargetEffect(1).setText("they gain 1 life"),
TargetController.ANY, false
diff --git a/Mage.Sets/src/mage/cards/s/StalkingVampire.java b/Mage.Sets/src/mage/cards/s/StalkingVampire.java
index 7c6fbd13ecd..3c0c39ef049 100644
--- a/Mage.Sets/src/mage/cards/s/StalkingVampire.java
+++ b/Mage.Sets/src/mage/cards/s/StalkingVampire.java
@@ -1,7 +1,6 @@
package mage.cards.s;
-import java.util.UUID;
import mage.MageInt;
import mage.abilities.condition.common.TransformedCondition;
import mage.abilities.decorator.ConditionalTriggeredAbility;
@@ -10,6 +9,8 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.SubType;
+import java.util.UUID;
+
/**
* @author nantuko
*/
diff --git a/Mage.Sets/src/mage/cards/s/StalkingYeti.java b/Mage.Sets/src/mage/cards/s/StalkingYeti.java
index 5d336566cf1..8f9b22eb30a 100644
--- a/Mage.Sets/src/mage/cards/s/StalkingYeti.java
+++ b/Mage.Sets/src/mage/cards/s/StalkingYeti.java
@@ -8,7 +8,7 @@ import mage.abilities.common.ActivateAsSorceryActivatedAbility;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.condition.common.SourceOnBattlefieldCondition;
import mage.abilities.costs.mana.ManaCostsImpl;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.OneShotEffect;
import mage.abilities.effects.common.ReturnToHandSourceEffect;
import mage.constants.SubType;
@@ -37,7 +37,7 @@ public final class StalkingYeti extends CardImpl {
this.toughness = new MageInt(3);
// When Stalking Yeti enters the battlefield, if it's on the battlefield, it deals damage equal to its power to target creature an opponent controls and that creature deals damage equal to its power to Stalking Yeti.
- Ability ability = new ConditionalTriggeredAbility(
+ Ability ability = new ConditionalInterveningIfTriggeredAbility(
new EntersBattlefieldTriggeredAbility(new StalkingYetiEffect()),
SourceOnBattlefieldCondition.instance,
"When {this} enters the battlefield, if it's on the battlefield, "
diff --git a/Mage.Sets/src/mage/cards/s/StampedingElkHerd.java b/Mage.Sets/src/mage/cards/s/StampedingElkHerd.java
index 9d373df45aa..a56b8a1700f 100644
--- a/Mage.Sets/src/mage/cards/s/StampedingElkHerd.java
+++ b/Mage.Sets/src/mage/cards/s/StampedingElkHerd.java
@@ -5,7 +5,7 @@ import java.util.UUID;
import mage.MageInt;
import mage.abilities.common.AttacksTriggeredAbility;
import mage.abilities.condition.common.FormidableCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.continuous.GainAbilityControlledEffect;
import mage.abilities.keyword.TrampleAbility;
import mage.cards.CardImpl;
@@ -28,7 +28,7 @@ public final class StampedingElkHerd extends CardImpl {
this.toughness = new MageInt(5);
// Formidable — Whenever Stampeding Elk Herd attacks, if creatures you control have total power 8 or greater, creatures you control gain trample until end of turn.
- this.addAbility(new ConditionalTriggeredAbility(
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(
new AttacksTriggeredAbility(new GainAbilityControlledEffect(TrampleAbility.getInstance(), Duration.EndOfTurn, new FilterControlledCreaturePermanent()), false),
FormidableCondition.instance,
"Formidable — Whenever {this} attacks, if creatures you control have total power 8 or greater, creatures you control gain trample until end of turn."
diff --git a/Mage.Sets/src/mage/cards/s/SteamcoreWeird.java b/Mage.Sets/src/mage/cards/s/SteamcoreWeird.java
index 49fd6e28d0d..6cc807ea45e 100644
--- a/Mage.Sets/src/mage/cards/s/SteamcoreWeird.java
+++ b/Mage.Sets/src/mage/cards/s/SteamcoreWeird.java
@@ -6,7 +6,7 @@ import mage.MageInt;
import mage.abilities.TriggeredAbility;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.condition.common.ManaWasSpentCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.DamageTargetEffect;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
@@ -31,7 +31,7 @@ public final class SteamcoreWeird extends CardImpl {
// When Steamcore Weird enters the battlefield, if {R} was spent to cast Steamcore Weird, it deals 2 damage to any target.
TriggeredAbility ability = new EntersBattlefieldTriggeredAbility(new DamageTargetEffect(2, "it"));
ability.addTarget(new TargetAnyTarget());
- this.addAbility(new ConditionalTriggeredAbility(ability, new ManaWasSpentCondition(ColoredManaSymbol.R),
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, new ManaWasSpentCondition(ColoredManaSymbol.R),
"if {R} was spent to cast {this}, it deals 2 damage to any target."),
new ManaSpentToCastWatcher());
}
diff --git a/Mage.Sets/src/mage/cards/s/StormFleetArsonist.java b/Mage.Sets/src/mage/cards/s/StormFleetArsonist.java
index 1bfd99ad2ff..cee0f71bf46 100644
--- a/Mage.Sets/src/mage/cards/s/StormFleetArsonist.java
+++ b/Mage.Sets/src/mage/cards/s/StormFleetArsonist.java
@@ -6,7 +6,7 @@ import mage.MageInt;
import mage.abilities.Ability;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.condition.common.RaidCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.SacrificeEffect;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
@@ -31,7 +31,7 @@ public final class StormFleetArsonist extends CardImpl {
this.toughness = new MageInt(4);
// Raid - When Storm Fleet Arsonist enters the battlefield, if you attacked with a creature this turn, target opponent sacrifices a permanent.
- Ability ability = new ConditionalTriggeredAbility(
+ Ability ability = new ConditionalInterveningIfTriggeredAbility(
new EntersBattlefieldTriggeredAbility(new SacrificeEffect(new FilterPermanent(), 1, "Target opponent")),
RaidCondition.instance,
"Raid — When {this} enters the battlefield, if you attacked with a creature this turn, target opponent sacrifices a permanent.");
diff --git a/Mage.Sets/src/mage/cards/s/StormFleetPyromancer.java b/Mage.Sets/src/mage/cards/s/StormFleetPyromancer.java
index d59a4bfbe5c..ee368746844 100644
--- a/Mage.Sets/src/mage/cards/s/StormFleetPyromancer.java
+++ b/Mage.Sets/src/mage/cards/s/StormFleetPyromancer.java
@@ -6,7 +6,7 @@ import mage.MageInt;
import mage.abilities.Ability;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.condition.common.RaidCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.DamageTargetEffect;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
@@ -31,7 +31,7 @@ public final class StormFleetPyromancer extends CardImpl {
this.toughness = new MageInt(2);
// Raid - When Storm Fleet Pyromancer enters the battlefield, if you attacked with a creature this turn, Storm Fleet Pyromancer deals 2 damage to any target.
- Ability ability = new ConditionalTriggeredAbility(
+ Ability ability = new ConditionalInterveningIfTriggeredAbility(
new EntersBattlefieldTriggeredAbility(new DamageTargetEffect(2)),
RaidCondition.instance,
"Raid — When {this} enters the battlefield, if you attacked with a creature this turn, {this} deals 2 damage to any target.");
diff --git a/Mage.Sets/src/mage/cards/s/StormFleetSpy.java b/Mage.Sets/src/mage/cards/s/StormFleetSpy.java
index d6cd125a510..c3b029d4266 100644
--- a/Mage.Sets/src/mage/cards/s/StormFleetSpy.java
+++ b/Mage.Sets/src/mage/cards/s/StormFleetSpy.java
@@ -6,7 +6,7 @@ import mage.MageInt;
import mage.abilities.Ability;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.condition.common.RaidCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.DrawCardSourceControllerEffect;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
@@ -29,7 +29,7 @@ public final class StormFleetSpy extends CardImpl {
this.toughness = new MageInt(2);
// Raid — When Storm Fleet Spy enters the battlefield, if you attacked with a creature this turn, draw a card.
- Ability ability = new ConditionalTriggeredAbility(
+ Ability ability = new ConditionalInterveningIfTriggeredAbility(
new EntersBattlefieldTriggeredAbility(new DrawCardSourceControllerEffect(1)),
RaidCondition.instance,
"Raid — When {this} enters the battlefield, if you attacked with a creature this turn, draw a card.");
diff --git a/Mage.Sets/src/mage/cards/s/StormTheVault.java b/Mage.Sets/src/mage/cards/s/StormTheVault.java
index 0edc06c35f4..41e3e483241 100644
--- a/Mage.Sets/src/mage/cards/s/StormTheVault.java
+++ b/Mage.Sets/src/mage/cards/s/StormTheVault.java
@@ -5,7 +5,7 @@ import java.util.UUID;
import mage.abilities.common.BeginningOfEndStepTriggeredAbility;
import mage.abilities.common.ControlledCreaturesDealCombatDamagePlayerTriggeredAbility;
import mage.abilities.condition.common.PermanentsOnTheBattlefieldCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.CreateTokenEffect;
import mage.abilities.effects.common.TransformSourceEffect;
import mage.abilities.keyword.TransformAbility;
@@ -38,7 +38,7 @@ public final class StormTheVault extends CardImpl {
// At the beginning of your end step, if you control five or more artifacts, transform Storm the Vault.
this.addAbility(new TransformAbility());
- this.addAbility(new ConditionalTriggeredAbility(
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(
new BeginningOfEndStepTriggeredAbility(new TransformSourceEffect(true), TargetController.YOU, false),
new PermanentsOnTheBattlefieldCondition(StaticFilters.FILTER_CONTROLLED_PERMANENT_ARTIFACT, ComparisonType.MORE_THAN, 4),
"At the beginning of your end step, if you control five or more artifacts, transform {this}"));
diff --git a/Mage.Sets/src/mage/cards/s/StormscapeBattlemage.java b/Mage.Sets/src/mage/cards/s/StormscapeBattlemage.java
index 45e6b24d3f1..39f93230343 100644
--- a/Mage.Sets/src/mage/cards/s/StormscapeBattlemage.java
+++ b/Mage.Sets/src/mage/cards/s/StormscapeBattlemage.java
@@ -7,7 +7,7 @@ import mage.ObjectColor;
import mage.abilities.TriggeredAbility;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.condition.common.KickedCostCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.DestroyTargetEffect;
import mage.abilities.effects.common.GainLifeEffect;
import mage.abilities.keyword.KickerAbility;
@@ -45,7 +45,7 @@ public final class StormscapeBattlemage extends CardImpl {
this.addAbility(kickerAbility);
// When Stormscape Battlemage enters the battlefield, if it was kicked with its {W} kicker, you gain 3 life.
- this.addAbility(new ConditionalTriggeredAbility(
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(
new EntersBattlefieldTriggeredAbility(new GainLifeEffect(3),false),
new KickedCostCondition("{W}"),
"When Stormscape Battlemage enters the battlefield, if it was kicked with its {W} kicker, you gain 3 life."));
@@ -53,7 +53,7 @@ public final class StormscapeBattlemage extends CardImpl {
// When Stormscape Battlemage enters the battlefield, if it was kicked with its {2}{B} kicker, destroy target nonblack creature. That creature can't be regenerated.
TriggeredAbility ability = new EntersBattlefieldTriggeredAbility(new DestroyTargetEffect(true),false);
ability.addTarget(new TargetCreaturePermanent(filter));
- this.addAbility(new ConditionalTriggeredAbility(
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(
ability, new KickedCostCondition("{2}{B}"),
"When Stormscape Battlemage enters the battlefield, if it was kicked with its {2}{B} kicker, destroy target nonblack creature. That creature can't be regenerated."));
}
diff --git a/Mage.Sets/src/mage/cards/s/SunDroplet.java b/Mage.Sets/src/mage/cards/s/SunDroplet.java
index 3e8be1a94a8..6ff432b37d1 100644
--- a/Mage.Sets/src/mage/cards/s/SunDroplet.java
+++ b/Mage.Sets/src/mage/cards/s/SunDroplet.java
@@ -7,7 +7,7 @@ import mage.abilities.TriggeredAbilityImpl;
import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
import mage.abilities.condition.common.SourceHasCounterCondition;
import mage.abilities.costs.common.RemoveCountersSourceCost;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.Effect;
import mage.abilities.effects.OneShotEffect;
import mage.abilities.effects.common.DoIfCostPaid;
@@ -36,8 +36,9 @@ public final class SunDroplet extends CardImpl {
// Whenever you're dealt damage, put that many charge counters on Sun Droplet.
this.addAbility(new SunDropletTriggeredAbility());
// At the beginning of each upkeep, you may remove a charge counter from Sun Droplet. If you do, you gain 1 life.
+ //TODO this shouldn't be conditional because you can respond to the trigger by adding counters.
Effect effect = new DoIfCostPaid(new GainLifeEffect(1), new RemoveCountersSourceCost(CounterType.CHARGE.createInstance(1)));
- this.addAbility(new ConditionalTriggeredAbility(new BeginningOfUpkeepTriggeredAbility(effect, TargetController.ANY, false),
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(new BeginningOfUpkeepTriggeredAbility(effect, TargetController.ANY, false),
new SourceHasCounterCondition(CounterType.CHARGE, 1),
"At the beginning of each upkeep, you may remove a charge counter from Sun Droplet. If you do, you gain 1 life"));
}
diff --git a/Mage.Sets/src/mage/cards/s/SunscapeBattlemage.java b/Mage.Sets/src/mage/cards/s/SunscapeBattlemage.java
index 137753dc7af..8c296177d31 100644
--- a/Mage.Sets/src/mage/cards/s/SunscapeBattlemage.java
+++ b/Mage.Sets/src/mage/cards/s/SunscapeBattlemage.java
@@ -6,7 +6,7 @@ import mage.MageInt;
import mage.abilities.TriggeredAbility;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.condition.common.KickedCostCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.DestroyTargetEffect;
import mage.abilities.effects.common.DrawCardSourceControllerEffect;
import mage.abilities.keyword.FlyingAbility;
@@ -45,11 +45,11 @@ public final class SunscapeBattlemage extends CardImpl {
// When {this} enters the battlefield, if it was kicked with its {1}{G} kicker, destroy target creature with flying.
TriggeredAbility ability = new EntersBattlefieldTriggeredAbility(new DestroyTargetEffect(), false);
ability.addTarget(new TargetCreaturePermanent(filter));
- this.addAbility(new ConditionalTriggeredAbility(ability, new KickedCostCondition("{1}{G}"),
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, new KickedCostCondition("{1}{G}"),
"When {this} enters the battlefield, if it was kicked with its {1}{G} kicker, destroy target creature with flying."));
// When {this} enters the battlefield, if it was kicked with its {2}{U} kicker, draw two cards.
- this.addAbility(new ConditionalTriggeredAbility(new EntersBattlefieldTriggeredAbility(
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(new EntersBattlefieldTriggeredAbility(
new DrawCardSourceControllerEffect(2)), new KickedCostCondition("{2}{U}"),
"When {this} enters the battlefield, if it was kicked with its {2}{U} kicker, draw two cards."));
}
diff --git a/Mage.Sets/src/mage/cards/s/SunspireGatekeepers.java b/Mage.Sets/src/mage/cards/s/SunspireGatekeepers.java
index b336d901301..2817418444f 100644
--- a/Mage.Sets/src/mage/cards/s/SunspireGatekeepers.java
+++ b/Mage.Sets/src/mage/cards/s/SunspireGatekeepers.java
@@ -5,7 +5,7 @@ package mage.cards.s;
import mage.MageInt;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.condition.common.PermanentsOnTheBattlefieldCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.CreateTokenEffect;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
@@ -40,7 +40,7 @@ public final class SunspireGatekeepers extends CardImpl {
this.toughness = new MageInt(4);
// When Sunspire Gatekeepers enter the battlefield, if you control two or more Gates, create a 2/2 white Knight creature token with vigilance.
- this.addAbility(new ConditionalTriggeredAbility(
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(
new EntersBattlefieldTriggeredAbility(new CreateTokenEffect(new KnightToken())),
new PermanentsOnTheBattlefieldCondition(filter, ComparisonType.MORE_THAN, 1),
"When {this} enters the battlefield, if you control two or more Gates, create a 2/2 white Knight creature token with vigilance."));
diff --git a/Mage.Sets/src/mage/cards/s/SupplyCaravan.java b/Mage.Sets/src/mage/cards/s/SupplyCaravan.java
index ae52f0a59ba..cb76066914c 100644
--- a/Mage.Sets/src/mage/cards/s/SupplyCaravan.java
+++ b/Mage.Sets/src/mage/cards/s/SupplyCaravan.java
@@ -4,7 +4,7 @@ package mage.cards.s;
import mage.MageInt;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.condition.common.PermanentsOnTheBattlefieldCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.CreateTokenEffect;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
@@ -36,7 +36,7 @@ public final class SupplyCaravan extends CardImpl {
this.toughness = new MageInt(5);
// When Supply Caravan enters the battlefield, if you control a tapped creature, create a 1/1 white Warrior creature token with vigilance.
- this.addAbility(new ConditionalTriggeredAbility(new EntersBattlefieldTriggeredAbility(new CreateTokenEffect(new WarriorVigilantToken())),
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(new EntersBattlefieldTriggeredAbility(new CreateTokenEffect(new WarriorVigilantToken())),
new PermanentsOnTheBattlefieldCondition(filter),
"When {this} enters the battlefield, if you control a tapped creature, create a 1/1 white Warrior creature token with vigilance."));
}
diff --git a/Mage.Sets/src/mage/cards/s/SurrakTheHuntCaller.java b/Mage.Sets/src/mage/cards/s/SurrakTheHuntCaller.java
index 60022980f38..dfed6f8d655 100644
--- a/Mage.Sets/src/mage/cards/s/SurrakTheHuntCaller.java
+++ b/Mage.Sets/src/mage/cards/s/SurrakTheHuntCaller.java
@@ -6,7 +6,7 @@ import mage.MageInt;
import mage.abilities.Ability;
import mage.abilities.common.BeginningOfCombatTriggeredAbility;
import mage.abilities.condition.common.FormidableCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.continuous.GainAbilityTargetEffect;
import mage.abilities.keyword.HasteAbility;
import mage.cards.CardImpl;
@@ -33,7 +33,7 @@ public final class SurrakTheHuntCaller extends CardImpl {
this.toughness = new MageInt(4);
// Formidable — At the beginning of combat on your turn, if creatures you control have total power 8 or greater, target creature you control gains haste until end of turn.
- Ability ability = new ConditionalTriggeredAbility(
+ Ability ability = new ConditionalInterveningIfTriggeredAbility(
new BeginningOfCombatTriggeredAbility(new GainAbilityTargetEffect(HasteAbility.getInstance(), Duration.EndOfTurn), TargetController.YOU, false),
FormidableCondition.instance,
"Formidable — At the beginning of combat on your turn, if creatures you control have total power 8 or greater, target creature you control gains haste until end of turn.");
diff --git a/Mage.Sets/src/mage/cards/t/TaigamOjutaiMaster.java b/Mage.Sets/src/mage/cards/t/TaigamOjutaiMaster.java
index 472381ca9d0..2ea1bd128ee 100644
--- a/Mage.Sets/src/mage/cards/t/TaigamOjutaiMaster.java
+++ b/Mage.Sets/src/mage/cards/t/TaigamOjutaiMaster.java
@@ -6,7 +6,7 @@ import mage.abilities.Ability;
import mage.abilities.DelayedTriggeredAbility;
import mage.abilities.common.SimpleStaticAbility;
import mage.abilities.condition.common.AttackedThisTurnSourceCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.ContinuousEffectImpl;
import mage.abilities.effects.Effect;
import mage.abilities.effects.common.CantBeCounteredControlledEffect;
@@ -60,7 +60,7 @@ public final class TaigamOjutaiMaster extends CardImpl {
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new CantBeCounteredControlledEffect(filter, new FilterStackObject(), Duration.WhileOnBattlefield)));
// Whenever you cast an instant or sorcery spell from your hand, if Taigam, Ojutai Master attacked this turn, that spell gains rebound.
- Ability ability = new ConditionalTriggeredAbility(new TaigamOjutaiMasterTriggeredAbility(),
+ Ability ability = new ConditionalInterveningIfTriggeredAbility(new TaigamOjutaiMasterTriggeredAbility(),
AttackedThisTurnSourceCondition.instance,
effectText);
this.addAbility(ability, new AttackedThisTurnWatcher());
diff --git a/Mage.Sets/src/mage/cards/t/TempestOwl.java b/Mage.Sets/src/mage/cards/t/TempestOwl.java
index edfd053a6a6..9f907999b4e 100644
--- a/Mage.Sets/src/mage/cards/t/TempestOwl.java
+++ b/Mage.Sets/src/mage/cards/t/TempestOwl.java
@@ -5,7 +5,7 @@ import java.util.UUID;
import mage.MageInt;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.condition.common.KickedCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.TapTargetEffect;
import mage.abilities.keyword.FlyingAbility;
import mage.abilities.keyword.KickerAbility;
@@ -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 ConditionalTriggeredAbility(ability, KickedCondition.instance, "When {this} enters the battlefield, if it was kicked, tap up to three target permanents."));
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, KickedCondition.instance, "When {this} enters the battlefield, if it was kicked, tap up to three target permanents."));
}
public 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 e503c10e77d..b13f74ec870 100644
--- a/Mage.Sets/src/mage/cards/t/TerritorialAllosaurus.java
+++ b/Mage.Sets/src/mage/cards/t/TerritorialAllosaurus.java
@@ -6,7 +6,7 @@ import mage.MageInt;
import mage.abilities.Ability;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.condition.common.KickedCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.FightTargetSourceEffect;
import mage.abilities.keyword.KickerAbility;
import mage.cards.CardImpl;
@@ -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 ConditionalTriggeredAbility(ability, KickedCondition.instance,
+ Ability conditionalAbility = new ConditionalInterveningIfTriggeredAbility(ability, KickedCondition.instance,
"When {this} enters the battlefield, if it was kicked, it fights another target creature.");
FilterCreaturePermanent filter = new FilterCreaturePermanent();
filter.add(new AnotherPredicate());
diff --git a/Mage.Sets/src/mage/cards/t/TerrorOfKruinPass.java b/Mage.Sets/src/mage/cards/t/TerrorOfKruinPass.java
index be174fcc6a2..0b2b8cbe9d4 100644
--- a/Mage.Sets/src/mage/cards/t/TerrorOfKruinPass.java
+++ b/Mage.Sets/src/mage/cards/t/TerrorOfKruinPass.java
@@ -9,7 +9,7 @@ import mage.abilities.common.SimpleStaticAbility;
import mage.abilities.condition.common.TransformedCondition;
import mage.abilities.condition.common.TwoOrMoreSpellsWereCastLastTurnCondition;
import mage.abilities.decorator.ConditionalContinuousEffect;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.Effect;
import mage.abilities.effects.common.TransformSourceEffect;
import mage.abilities.effects.common.continuous.GainAbilityAllEffect;
@@ -55,7 +55,7 @@ public final class TerrorOfKruinPass extends CardImpl {
// At the beginning of each upkeep, if a player cast two or more spells last turn, transform Terror of Kruin Pass.
TriggeredAbility ability = new BeginningOfUpkeepTriggeredAbility(new TransformSourceEffect(false), TargetController.ANY, false);
- this.addAbility(new ConditionalTriggeredAbility(ability, TwoOrMoreSpellsWereCastLastTurnCondition.instance, TransformAbility.TWO_OR_MORE_SPELLS_TRANSFORM_RULE));
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, TwoOrMoreSpellsWereCastLastTurnCondition.instance, TransformAbility.TWO_OR_MORE_SPELLS_TRANSFORM_RULE));
}
public TerrorOfKruinPass(final TerrorOfKruinPass card) {
diff --git a/Mage.Sets/src/mage/cards/t/TestOfEndurance.java b/Mage.Sets/src/mage/cards/t/TestOfEndurance.java
index 0c2782dcacb..c26c75408e7 100644
--- a/Mage.Sets/src/mage/cards/t/TestOfEndurance.java
+++ b/Mage.Sets/src/mage/cards/t/TestOfEndurance.java
@@ -6,7 +6,7 @@ import mage.abilities.Ability;
import mage.abilities.TriggeredAbility;
import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
import mage.abilities.condition.Condition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.WinGameSourceControllerEffect;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
@@ -25,7 +25,7 @@ public final class TestOfEndurance extends CardImpl {
// At the beginning of your upkeep, if you have 50 or more life, you win the game.
TriggeredAbility ability = new BeginningOfUpkeepTriggeredAbility(new WinGameSourceControllerEffect(), TargetController.YOU, false);
- this.addAbility(new ConditionalTriggeredAbility(ability, new FiftyOrMoreLifeCondition(), "At the beginning of your upkeep, if you have 50 or more life, you win the game."));
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, new FiftyOrMoreLifeCondition(), "At the beginning of your upkeep, if you have 50 or more life, you win the game."));
}
public TestOfEndurance(final TestOfEndurance card) {
diff --git a/Mage.Sets/src/mage/cards/t/ThaumaticCompass.java b/Mage.Sets/src/mage/cards/t/ThaumaticCompass.java
index 2a1a11f8f20..b87140dc64f 100644
--- a/Mage.Sets/src/mage/cards/t/ThaumaticCompass.java
+++ b/Mage.Sets/src/mage/cards/t/ThaumaticCompass.java
@@ -9,7 +9,7 @@ import mage.abilities.common.SimpleActivatedAbility;
import mage.abilities.condition.common.PermanentsOnTheBattlefieldCondition;
import mage.abilities.costs.common.TapSourceCost;
import mage.abilities.costs.mana.GenericManaCost;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.TransformSourceEffect;
import mage.abilities.effects.common.search.SearchLibraryPutInHandEffect;
import mage.abilities.keyword.TransformAbility;
@@ -45,7 +45,7 @@ public final class ThaumaticCompass extends CardImpl {
// At the beginning of your end step, if you control seven or more lands, transform Thaumatic Compass.
this.addAbility(new TransformAbility());
TriggeredAbility ability2 = new BeginningOfEndStepTriggeredAbility(new TransformSourceEffect(true), TargetController.YOU, false);
- this.addAbility(new ConditionalTriggeredAbility(
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(
ability2,
new PermanentsOnTheBattlefieldCondition(new FilterLandPermanent(), ComparisonType.MORE_THAN, 6, true),
"At the beginning of your end step, if you control seven or more lands, transform {this}."));
diff --git a/Mage.Sets/src/mage/cards/t/ThicketElemental.java b/Mage.Sets/src/mage/cards/t/ThicketElemental.java
index 2fc0bca6802..e5ee92f1eed 100644
--- a/Mage.Sets/src/mage/cards/t/ThicketElemental.java
+++ b/Mage.Sets/src/mage/cards/t/ThicketElemental.java
@@ -6,7 +6,7 @@ import mage.MageInt;
import mage.abilities.TriggeredAbility;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.condition.common.KickedCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.RevealCardsFromLibraryUntilEffect;
import mage.abilities.keyword.KickerAbility;
import mage.cards.CardImpl;
@@ -33,7 +33,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(new FilterCreatureCard(), Zone.BATTLEFIELD, Zone.LIBRARY, true));
- this.addAbility(new ConditionalTriggeredAbility(ability, KickedCondition.instance,
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, KickedCondition.instance,
"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/ThirstingAxe.java b/Mage.Sets/src/mage/cards/t/ThirstingAxe.java
index 613b3f38f89..e5da2e18739 100644
--- a/Mage.Sets/src/mage/cards/t/ThirstingAxe.java
+++ b/Mage.Sets/src/mage/cards/t/ThirstingAxe.java
@@ -14,7 +14,7 @@ import mage.abilities.condition.Condition;
import mage.abilities.condition.InvertCondition;
import mage.abilities.condition.common.AttachedCondition;
import mage.abilities.costs.mana.GenericManaCost;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.SacrificeEquippedEffect;
import mage.abilities.effects.common.continuous.BoostEquippedEffect;
import mage.abilities.keyword.EquipAbility;
@@ -48,7 +48,7 @@ public final class ThirstingAxe extends CardImpl {
new InvertCondition(new EquippedDealtCombatDamageToCreatureCondition()));
String triggeredAbilityText = "At the beginning of your end step, if equipped creature " +
"didn't deal combat damage to a creature this turn, sacrifice it.";
- ConditionalTriggeredAbility sacrificeTriggeredAbility = new ConditionalTriggeredAbility(ability, condition, triggeredAbilityText);
+ ConditionalInterveningIfTriggeredAbility sacrificeTriggeredAbility = new ConditionalInterveningIfTriggeredAbility(ability, condition, triggeredAbilityText);
this.addAbility(sacrificeTriggeredAbility, new CombatDamageToCreatureWatcher());
// Equip {2}
diff --git a/Mage.Sets/src/mage/cards/t/ThornscapeBattlemage.java b/Mage.Sets/src/mage/cards/t/ThornscapeBattlemage.java
index b359d9605ac..97cc50c5769 100644
--- a/Mage.Sets/src/mage/cards/t/ThornscapeBattlemage.java
+++ b/Mage.Sets/src/mage/cards/t/ThornscapeBattlemage.java
@@ -6,7 +6,7 @@ import mage.MageInt;
import mage.abilities.TriggeredAbility;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.condition.common.KickedCostCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.DamageTargetEffect;
import mage.abilities.effects.common.DestroyTargetEffect;
import mage.abilities.keyword.KickerAbility;
@@ -38,13 +38,13 @@ public final class ThornscapeBattlemage extends CardImpl {
// When {this} enters the battlefield, if it was kicked with its {R} kicker, it deals 2 damage to any target.
TriggeredAbility ability1 = new EntersBattlefieldTriggeredAbility(new DamageTargetEffect(2, "it"));
ability1.addTarget(new TargetAnyTarget());
- this.addAbility(new ConditionalTriggeredAbility(ability1, new KickedCostCondition("{R}"),
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability1, new KickedCostCondition("{R}"),
"When {this} enters the battlefield, if it was kicked with its {R} kicker, it deals 2 damage to any target."));
// When {this} enters the battlefield, if it was kicked with its {W} kicker, destroy target artifact.
TriggeredAbility ability2 = new EntersBattlefieldTriggeredAbility(new DestroyTargetEffect());
ability2.addTarget(new TargetArtifactPermanent());
- this.addAbility(new ConditionalTriggeredAbility(ability2, new KickedCostCondition("{W}"),
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability2, new KickedCostCondition("{W}"),
"When {this} enters the battlefield, if it was kicked with its {W} kicker, destroy target artifact."));
}
diff --git a/Mage.Sets/src/mage/cards/t/ThranQuarry.java b/Mage.Sets/src/mage/cards/t/ThranQuarry.java
index cf83652e09a..b9a933395e4 100644
--- a/Mage.Sets/src/mage/cards/t/ThranQuarry.java
+++ b/Mage.Sets/src/mage/cards/t/ThranQuarry.java
@@ -5,7 +5,7 @@ import java.util.UUID;
import mage.abilities.TriggeredAbility;
import mage.abilities.common.OnEventTriggeredAbility;
import mage.abilities.condition.common.CreatureCountCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.SacrificeSourceEffect;
import mage.abilities.mana.AnyColorManaAbility;
import mage.cards.CardImpl;
@@ -25,7 +25,7 @@ public final class ThranQuarry extends CardImpl {
// At the beginning of the end step, if you control no creatures, sacrifice Thran Quarry.
TriggeredAbility triggered = new OnEventTriggeredAbility(GameEvent.EventType.END_TURN_STEP_PRE, "beginning of the end step", true, new SacrificeSourceEffect());
- this.addAbility(new ConditionalTriggeredAbility(triggered, new CreatureCountCondition(0, TargetController.YOU),
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(triggered, new CreatureCountCondition(0, TargetController.YOU),
"At the beginning of the end step, if you control no creatures, sacrifice {this}."));
// {tap}: Add one mana of any color.
diff --git a/Mage.Sets/src/mage/cards/t/Thumbscrews.java b/Mage.Sets/src/mage/cards/t/Thumbscrews.java
index 21d1d60b765..0c69be1eb06 100644
--- a/Mage.Sets/src/mage/cards/t/Thumbscrews.java
+++ b/Mage.Sets/src/mage/cards/t/Thumbscrews.java
@@ -5,7 +5,7 @@ import java.util.UUID;
import mage.abilities.TriggeredAbility;
import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
import mage.abilities.condition.common.CardsInHandCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.DamageTargetEffect;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
@@ -29,7 +29,7 @@ public final class Thumbscrews extends CardImpl {
new DamageTargetEffect(1), TargetController.YOU, false);
ability.addTarget(new TargetOpponentOrPlaneswalker());
CardsInHandCondition condition = new CardsInHandCondition(ComparisonType.MORE_THAN, 4);
- this.addAbility(new ConditionalTriggeredAbility(
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(
ability, condition,
"At the beginning of your upkeep, if you have five or more cards in hand, "
+ "{this} deals 1 damage to target opponent or planeswalker."
diff --git a/Mage.Sets/src/mage/cards/t/ThunderBrute.java b/Mage.Sets/src/mage/cards/t/ThunderBrute.java
index e0ae92e287c..d37b3f752db 100644
--- a/Mage.Sets/src/mage/cards/t/ThunderBrute.java
+++ b/Mage.Sets/src/mage/cards/t/ThunderBrute.java
@@ -6,7 +6,7 @@ import mage.MageInt;
import mage.abilities.TriggeredAbility;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.condition.common.TributeNotPaidCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.continuous.GainAbilitySourceEffect;
import mage.abilities.keyword.HasteAbility;
import mage.abilities.keyword.TrampleAbility;
@@ -36,7 +36,7 @@ public final class ThunderBrute extends CardImpl {
this.addAbility(new TributeAbility(3));
// When Thunder Brute enters the battlefield, if tribute wasn't paid, it gains haste until end of turn.
TriggeredAbility ability = new EntersBattlefieldTriggeredAbility(new GainAbilitySourceEffect(HasteAbility.getInstance(), Duration.EndOfTurn), false);
- this.addAbility(new ConditionalTriggeredAbility(ability, TributeNotPaidCondition.instance,
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, TributeNotPaidCondition.instance,
"When {this} enters the battlefield, if its tribute wasn't paid, it gains haste until end of turn."));
}
diff --git a/Mage.Sets/src/mage/cards/t/ThunderscapeBattlemage.java b/Mage.Sets/src/mage/cards/t/ThunderscapeBattlemage.java
index ab097e840fc..6eb9bd53520 100644
--- a/Mage.Sets/src/mage/cards/t/ThunderscapeBattlemage.java
+++ b/Mage.Sets/src/mage/cards/t/ThunderscapeBattlemage.java
@@ -6,7 +6,7 @@ import mage.MageInt;
import mage.abilities.TriggeredAbility;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.condition.common.KickedCostCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.DestroyTargetEffect;
import mage.abilities.effects.common.discard.DiscardTargetEffect;
import mage.abilities.keyword.KickerAbility;
@@ -38,13 +38,13 @@ public final class ThunderscapeBattlemage extends CardImpl {
// When {this} enters the battlefield, if it was kicked with its {1}{B} kicker, target player discards two cards.
TriggeredAbility ability1 = new EntersBattlefieldTriggeredAbility(new DiscardTargetEffect(2));
ability1.addTarget(new TargetPlayer());
- this.addAbility(new ConditionalTriggeredAbility(ability1, new KickedCostCondition("{1}{B}"),
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability1, new KickedCostCondition("{1}{B}"),
"When {this} enters the battlefield, if it was kicked with its {1}{B} kicker, target player discards two cards."));
// When {this} enters the battlefield, if it was kicked with its {G} kicker, destroy target enchantment.
TriggeredAbility ability2 = new EntersBattlefieldTriggeredAbility(new DestroyTargetEffect());
ability2.addTarget(new TargetEnchantmentPermanent());
- this.addAbility(new ConditionalTriggeredAbility(ability2, new KickedCostCondition("{G}"),
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability2, new KickedCostCondition("{G}"),
"When {this} enters the battlefield, if it was kicked with its {G} kicker, destroy target enchantment."));
}
diff --git a/Mage.Sets/src/mage/cards/t/TilonallisKnight.java b/Mage.Sets/src/mage/cards/t/TilonallisKnight.java
index 37f95210587..367079b3c5a 100644
--- a/Mage.Sets/src/mage/cards/t/TilonallisKnight.java
+++ b/Mage.Sets/src/mage/cards/t/TilonallisKnight.java
@@ -6,7 +6,7 @@ import mage.MageInt;
import mage.abilities.Ability;
import mage.abilities.common.AttacksTriggeredAbility;
import mage.abilities.condition.common.PermanentsOnTheBattlefieldCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.continuous.BoostSourceEffect;
import mage.constants.SubType;
import mage.cards.CardImpl;
@@ -37,7 +37,7 @@ public final class TilonallisKnight extends CardImpl {
this.toughness = new MageInt(2);
// Whenever Tilonalli's Knight attacks, if you control a Dinosaur, Tilonalli's Knight gets +1/+1 until end of turn.
- Ability ability = new ConditionalTriggeredAbility(
+ Ability ability = new ConditionalInterveningIfTriggeredAbility(
new AttacksTriggeredAbility(new BoostSourceEffect(1, 1, Duration.EndOfTurn), false),
new PermanentsOnTheBattlefieldCondition(filter),
"Whenever {this} attacks, if you control a Dinosaur, {this} gets +1/+1 until end of turn."
diff --git a/Mage.Sets/src/mage/cards/t/TimberShredder.java b/Mage.Sets/src/mage/cards/t/TimberShredder.java
index cc51136e375..b90ac0f1af4 100644
--- a/Mage.Sets/src/mage/cards/t/TimberShredder.java
+++ b/Mage.Sets/src/mage/cards/t/TimberShredder.java
@@ -6,7 +6,7 @@ import mage.MageInt;
import mage.abilities.TriggeredAbility;
import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
import mage.abilities.condition.common.TwoOrMoreSpellsWereCastLastTurnCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.TransformSourceEffect;
import mage.abilities.keyword.TrampleAbility;
import mage.abilities.keyword.TransformAbility;
@@ -38,7 +38,7 @@ public final class TimberShredder extends CardImpl {
// At the beginning of each upkeep, if a player cast two or more spells last turn, transform Timber Shredder.
TriggeredAbility ability = new BeginningOfUpkeepTriggeredAbility(new TransformSourceEffect(false), TargetController.ANY, false);
- this.addAbility(new ConditionalTriggeredAbility(ability, TwoOrMoreSpellsWereCastLastTurnCondition.instance, TransformAbility.TWO_OR_MORE_SPELLS_TRANSFORM_RULE));
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, TwoOrMoreSpellsWereCastLastTurnCondition.instance, TransformAbility.TWO_OR_MORE_SPELLS_TRANSFORM_RULE));
}
public TimberShredder(final TimberShredder card) {
diff --git a/Mage.Sets/src/mage/cards/t/TimelyHordemate.java b/Mage.Sets/src/mage/cards/t/TimelyHordemate.java
index 5f20d2bfaef..bdf734ed072 100644
--- a/Mage.Sets/src/mage/cards/t/TimelyHordemate.java
+++ b/Mage.Sets/src/mage/cards/t/TimelyHordemate.java
@@ -6,7 +6,7 @@ import mage.MageInt;
import mage.abilities.Ability;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.condition.common.RaidCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.ReturnFromGraveyardToBattlefieldTargetEffect;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
@@ -39,7 +39,7 @@ public final class TimelyHordemate extends CardImpl {
this.toughness = new MageInt(2);
// Raid — When Timely Hordemate enters the battlefield, if you attacked this turn, return target creature card with converted mana cost 2 or less from your graveyard to the battlefield.
- Ability ability = new ConditionalTriggeredAbility(new EntersBattlefieldTriggeredAbility(new ReturnFromGraveyardToBattlefieldTargetEffect()), RaidCondition.instance,
+ Ability ability = new ConditionalInterveningIfTriggeredAbility(new EntersBattlefieldTriggeredAbility(new ReturnFromGraveyardToBattlefieldTargetEffect()), RaidCondition.instance,
"Raid — When {this} enters the battlefield, if you attacked with a creature this turn, return target creature card with converted mana cost 2 or less from your graveyard to the battlefield.");
ability.addTarget(new TargetCardInYourGraveyard(filter));
this.addAbility(ability, new PlayerAttackedWatcher());
diff --git a/Mage.Sets/src/mage/cards/t/TinStreetHooligan.java b/Mage.Sets/src/mage/cards/t/TinStreetHooligan.java
index cf20bfb6d8f..81e2a7a1453 100644
--- a/Mage.Sets/src/mage/cards/t/TinStreetHooligan.java
+++ b/Mage.Sets/src/mage/cards/t/TinStreetHooligan.java
@@ -6,7 +6,7 @@ import mage.MageInt;
import mage.abilities.Ability;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.condition.common.ManaWasSpentCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.DestroyTargetEffect;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
@@ -31,7 +31,7 @@ public final class TinStreetHooligan extends CardImpl {
this.toughness = new MageInt(1);
// When Tin Street Hooligan enters the battlefield, if {G} was spent to cast Tin Street Hooligan, destroy target artifact.
- Ability ability = new ConditionalTriggeredAbility(
+ Ability ability = new ConditionalInterveningIfTriggeredAbility(
new EntersBattlefieldTriggeredAbility(new DestroyTargetEffect()),
new ManaWasSpentCondition(ColoredManaSymbol.G),
"When {this} enters the battlefield, if {G} was spent to cast Tin Street Hooligan, destroy target artifact.");
diff --git a/Mage.Sets/src/mage/cards/t/TolarianEmissary.java b/Mage.Sets/src/mage/cards/t/TolarianEmissary.java
index 7dcbab2def4..09bbde4386c 100644
--- a/Mage.Sets/src/mage/cards/t/TolarianEmissary.java
+++ b/Mage.Sets/src/mage/cards/t/TolarianEmissary.java
@@ -6,7 +6,7 @@ import mage.MageInt;
import mage.abilities.TriggeredAbility;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.condition.common.KickedCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.DestroyTargetEffect;
import mage.abilities.keyword.FlyingAbility;
import mage.abilities.keyword.KickerAbility;
@@ -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 ConditionalTriggeredAbility(ability, KickedCondition.instance,
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, KickedCondition.instance,
"When {this} enters the battlefield, if it was kicked, destroy target enchantment."));
}
diff --git a/Mage.Sets/src/mage/cards/t/ToolcraftExemplar.java b/Mage.Sets/src/mage/cards/t/ToolcraftExemplar.java
index fb6c84046d1..3f6c7634b6f 100644
--- a/Mage.Sets/src/mage/cards/t/ToolcraftExemplar.java
+++ b/Mage.Sets/src/mage/cards/t/ToolcraftExemplar.java
@@ -8,7 +8,7 @@ import mage.abilities.common.BeginningOfCombatTriggeredAbility;
import mage.abilities.condition.LockedInCondition;
import mage.abilities.condition.common.PermanentsOnTheBattlefieldCondition;
import mage.abilities.decorator.ConditionalContinuousEffect;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.Effect;
import mage.abilities.effects.common.continuous.BoostSourceEffect;
import mage.abilities.effects.common.continuous.GainAbilitySourceEffect;
@@ -40,7 +40,7 @@ public final class ToolcraftExemplar extends CardImpl {
Effect effect = new ConditionalContinuousEffect(
new GainAbilitySourceEffect(FirstStrikeAbility.getInstance(), Duration.EndOfTurn),
new LockedInCondition(new PermanentsOnTheBattlefieldCondition(new FilterControlledArtifactPermanent(), ComparisonType.MORE_THAN, 2)), null);
- Ability ability = new ConditionalTriggeredAbility(
+ Ability ability = new ConditionalInterveningIfTriggeredAbility(
new BeginningOfCombatTriggeredAbility(new BoostSourceEffect(2, 1, Duration.EndOfTurn), TargetController.YOU, false),
new PermanentsOnTheBattlefieldCondition(new FilterControlledArtifactPermanent()),
"At the beginning of combat on your turn, if you control an artifact, {this} gets +2/+1 until end of turn."
diff --git a/Mage.Sets/src/mage/cards/t/ToothCollector.java b/Mage.Sets/src/mage/cards/t/ToothCollector.java
index 528abf642e9..ff87e8bff20 100644
--- a/Mage.Sets/src/mage/cards/t/ToothCollector.java
+++ b/Mage.Sets/src/mage/cards/t/ToothCollector.java
@@ -7,7 +7,7 @@ import mage.abilities.Ability;
import mage.abilities.TriggeredAbilityImpl;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.condition.common.DeliriumCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.continuous.BoostTargetEffect;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
@@ -51,7 +51,7 @@ public final class ToothCollector extends CardImpl {
// {Delirium — At the beginning of each opponent's upkeep, if there are four or more card types among cards in your graveyard,
// target creature that player controls gets -1/-1 until end of turn.
- ability = new ConditionalTriggeredAbility(
+ ability = new ConditionalInterveningIfTriggeredAbility(
new ToothCollectorAbility(),
DeliriumCondition.instance,
"Delirium — At the beginning of each opponent's upkeep, if there are four or more card types among cards in your graveyard, "
diff --git a/Mage.Sets/src/mage/cards/t/Topplegeist.java b/Mage.Sets/src/mage/cards/t/Topplegeist.java
index d077bcc239d..daf722048d6 100644
--- a/Mage.Sets/src/mage/cards/t/Topplegeist.java
+++ b/Mage.Sets/src/mage/cards/t/Topplegeist.java
@@ -7,7 +7,7 @@ import mage.abilities.Ability;
import mage.abilities.TriggeredAbilityImpl;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.condition.common.DeliriumCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.TapTargetEffect;
import mage.abilities.keyword.FlyingAbility;
import mage.cards.CardImpl;
@@ -53,7 +53,7 @@ public final class Topplegeist extends CardImpl {
// Delirium — At the beginning of each opponent's upkeep, if there are four or more card types among cards in your graveyard,
// tap target creature that player controls.
- ability = new ConditionalTriggeredAbility(
+ ability = new ConditionalInterveningIfTriggeredAbility(
new TopplegeistAbility(),
DeliriumCondition.instance,
"Delirium — At the beginning of each opponent's upkeep, if there are four or more card types among cards in your graveyard, "
diff --git a/Mage.Sets/src/mage/cards/t/TorchSlinger.java b/Mage.Sets/src/mage/cards/t/TorchSlinger.java
index 30e14a429b0..1b0ed80609f 100644
--- a/Mage.Sets/src/mage/cards/t/TorchSlinger.java
+++ b/Mage.Sets/src/mage/cards/t/TorchSlinger.java
@@ -5,7 +5,7 @@ import java.util.UUID;
import mage.MageInt;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.condition.common.KickedCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.DamageTargetEffect;
import mage.abilities.keyword.KickerAbility;
import mage.cards.CardImpl;
@@ -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 ConditionalTriggeredAbility(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.instance, "When {this} enters the battlefield, if it was kicked, it deals 2 damage to target creature."));
}
public TorchSlinger(final TorchSlinger card) {
diff --git a/Mage.Sets/src/mage/cards/t/TormentedPariah.java b/Mage.Sets/src/mage/cards/t/TormentedPariah.java
index 40ec42bdb15..2dbaaaac84f 100644
--- a/Mage.Sets/src/mage/cards/t/TormentedPariah.java
+++ b/Mage.Sets/src/mage/cards/t/TormentedPariah.java
@@ -6,7 +6,7 @@ import mage.MageInt;
import mage.abilities.TriggeredAbility;
import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
import mage.abilities.condition.common.NoSpellsWereCastLastTurnCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.TransformSourceEffect;
import mage.abilities.keyword.TransformAbility;
import mage.cards.CardImpl;
@@ -36,7 +36,7 @@ public final class TormentedPariah extends CardImpl {
// At the beginning of each upkeep, if no spells were cast last turn, transform Tormented Pariah.
this.addAbility(new TransformAbility());
TriggeredAbility ability = new BeginningOfUpkeepTriggeredAbility(new TransformSourceEffect(true), TargetController.ANY, false);
- this.addAbility(new ConditionalTriggeredAbility(ability, NoSpellsWereCastLastTurnCondition.instance, TransformAbility.NO_SPELLS_TRANSFORM_RULE));
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, NoSpellsWereCastLastTurnCondition.instance, TransformAbility.NO_SPELLS_TRANSFORM_RULE));
}
public TormentedPariah(final TormentedPariah card) {
diff --git a/Mage.Sets/src/mage/cards/t/TovolarsMagehunter.java b/Mage.Sets/src/mage/cards/t/TovolarsMagehunter.java
index 012565abd0c..863c0c2b992 100644
--- a/Mage.Sets/src/mage/cards/t/TovolarsMagehunter.java
+++ b/Mage.Sets/src/mage/cards/t/TovolarsMagehunter.java
@@ -7,7 +7,7 @@ import mage.abilities.TriggeredAbility;
import mage.abilities.TriggeredAbilityImpl;
import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
import mage.abilities.condition.common.TwoOrMoreSpellsWereCastLastTurnCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.DamageTargetEffect;
import mage.abilities.effects.common.TransformSourceEffect;
import mage.abilities.keyword.TransformAbility;
@@ -44,7 +44,7 @@ public final class TovolarsMagehunter extends CardImpl {
this.addAbility(new TovolarsMagehunterTriggeredAbility());
// At the beginning of each upkeep, if a player cast two or more spells last turn, transform Tovolar's Magehunter.
TriggeredAbility ability = new BeginningOfUpkeepTriggeredAbility(new TransformSourceEffect(false), TargetController.ANY, false);
- this.addAbility(new ConditionalTriggeredAbility(ability,
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability,
TwoOrMoreSpellsWereCastLastTurnCondition.instance,
TransformAbility.TWO_OR_MORE_SPELLS_TRANSFORM_RULE));
}
diff --git a/Mage.Sets/src/mage/cards/t/TriumphOfCruelty.java b/Mage.Sets/src/mage/cards/t/TriumphOfCruelty.java
index f33df57ab9c..b16a9e88bf7 100644
--- a/Mage.Sets/src/mage/cards/t/TriumphOfCruelty.java
+++ b/Mage.Sets/src/mage/cards/t/TriumphOfCruelty.java
@@ -5,7 +5,7 @@ import java.util.UUID;
import mage.abilities.TriggeredAbility;
import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
import mage.abilities.condition.common.ControlsCreatureGreatestPowerCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.discard.DiscardTargetEffect;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
@@ -30,7 +30,7 @@ public final class TriumphOfCruelty extends CardImpl {
TriggeredAbility ability = new BeginningOfUpkeepTriggeredAbility(new DiscardTargetEffect(1), TargetController.YOU, false);
Target target = new TargetOpponent();
ability.addTarget(target);
- this.addAbility(new ConditionalTriggeredAbility(ability, ControlsCreatureGreatestPowerCondition.instance, ruleText));
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, ControlsCreatureGreatestPowerCondition.instance, ruleText));
}
public TriumphOfCruelty(final TriumphOfCruelty card) {
diff --git a/Mage.Sets/src/mage/cards/t/TriumphOfFerocity.java b/Mage.Sets/src/mage/cards/t/TriumphOfFerocity.java
index 282df242082..720b1afb66f 100644
--- a/Mage.Sets/src/mage/cards/t/TriumphOfFerocity.java
+++ b/Mage.Sets/src/mage/cards/t/TriumphOfFerocity.java
@@ -5,7 +5,7 @@ import java.util.UUID;
import mage.abilities.TriggeredAbility;
import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
import mage.abilities.condition.common.ControlsCreatureGreatestPowerCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.DrawCardSourceControllerEffect;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
@@ -25,7 +25,7 @@ public final class TriumphOfFerocity extends CardImpl {
// At the beginning of your upkeep, draw a card if you control the creature with the greatest power or tied for the greatest power.
TriggeredAbility ability = new BeginningOfUpkeepTriggeredAbility(new DrawCardSourceControllerEffect(1), TargetController.YOU, false);
- this.addAbility(new ConditionalTriggeredAbility(ability, ControlsCreatureGreatestPowerCondition.instance, ruleText));
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, ControlsCreatureGreatestPowerCondition.instance, ruleText));
}
public TriumphOfFerocity(final TriumphOfFerocity card) {
diff --git a/Mage.Sets/src/mage/cards/t/TwilightProphet.java b/Mage.Sets/src/mage/cards/t/TwilightProphet.java
index a2a0943ce04..cced90fe5d1 100644
--- a/Mage.Sets/src/mage/cards/t/TwilightProphet.java
+++ b/Mage.Sets/src/mage/cards/t/TwilightProphet.java
@@ -7,7 +7,7 @@ import mage.MageObject;
import mage.abilities.Ability;
import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
import mage.abilities.condition.common.CitysBlessingCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.OneShotEffect;
import mage.abilities.effects.common.LoseLifeOpponentsEffect;
import mage.abilities.keyword.AscendAbility;
@@ -46,7 +46,7 @@ public final class TwilightProphet extends CardImpl {
// At the beginning of your upkeep, if you have the city's blessing, reveal the top card of your library and put it into your hand.
// Each opponent loses X life and you gain X life, where X is that card's converted mana cost.
- this.addAbility(new ConditionalTriggeredAbility(new BeginningOfUpkeepTriggeredAbility(
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(new BeginningOfUpkeepTriggeredAbility(
new TwilightProphetEffect(), TargetController.YOU, false), CitysBlessingCondition.instance,
"At the beginning of your upkeep, if you have the city's blessing, reveal the top card of your library and put it into your hand."
+ "Each opponent loses X life and you gain X life, where X is that card's converted mana cost."));
diff --git a/Mage.Sets/src/mage/cards/t/TyrantOfValakut.java b/Mage.Sets/src/mage/cards/t/TyrantOfValakut.java
index 203d14f642c..9297159824f 100644
--- a/Mage.Sets/src/mage/cards/t/TyrantOfValakut.java
+++ b/Mage.Sets/src/mage/cards/t/TyrantOfValakut.java
@@ -5,7 +5,7 @@ import java.util.UUID;
import mage.MageInt;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.condition.common.SurgedCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.DamageTargetEffect;
import mage.abilities.keyword.FlyingAbility;
import mage.abilities.keyword.SurgeAbility;
@@ -36,7 +36,7 @@ public final class TyrantOfValakut extends CardImpl {
// When Tyrant of Valakut enters the battlefield, if its surge cost was paid, it deals 3 damage to any target.
EntersBattlefieldTriggeredAbility ability = new EntersBattlefieldTriggeredAbility(new DamageTargetEffect(3), false);
ability.addTarget(new TargetAnyTarget());
- this.addAbility(new ConditionalTriggeredAbility(ability, SurgedCondition.instance,
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, SurgedCondition.instance,
"When {this} enters the battlefield, if its surge cost was paid, it deals 3 damage to any target."));
}
diff --git a/Mage.Sets/src/mage/cards/u/UbulSarGatekeepers.java b/Mage.Sets/src/mage/cards/u/UbulSarGatekeepers.java
index 52c54ca8115..7dcfd6782f1 100644
--- a/Mage.Sets/src/mage/cards/u/UbulSarGatekeepers.java
+++ b/Mage.Sets/src/mage/cards/u/UbulSarGatekeepers.java
@@ -6,7 +6,7 @@ import mage.MageInt;
import mage.abilities.Ability;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.condition.common.PermanentsOnTheBattlefieldCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.continuous.BoostTargetEffect;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
@@ -41,7 +41,7 @@ public final class UbulSarGatekeepers extends CardImpl {
this.toughness = new MageInt(4);
// Whenever Ubul Sar Gatekeepers enters the battlefield, if you control two or more Gates, target creature an opponent controls gets -2/-2 until end of turn.
- Ability ability = new ConditionalTriggeredAbility(
+ Ability ability = new ConditionalInterveningIfTriggeredAbility(
new EntersBattlefieldTriggeredAbility(new BoostTargetEffect(-2, -2, Duration.EndOfTurn)),
new PermanentsOnTheBattlefieldCondition(filter, ComparisonType.MORE_THAN, 1),
"Whenever {this} enters the battlefield, if you control two or more Gates, target creature an opponent controls gets -2/-2 until end of turn.");
diff --git a/Mage.Sets/src/mage/cards/u/UlrichOfTheKrallenhorde.java b/Mage.Sets/src/mage/cards/u/UlrichOfTheKrallenhorde.java
index 1d3aeef5143..88ef64e31b8 100644
--- a/Mage.Sets/src/mage/cards/u/UlrichOfTheKrallenhorde.java
+++ b/Mage.Sets/src/mage/cards/u/UlrichOfTheKrallenhorde.java
@@ -7,7 +7,7 @@ import mage.abilities.TriggeredAbility;
import mage.abilities.TriggeredAbilityImpl;
import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
import mage.abilities.condition.common.NoSpellsWereCastLastTurnCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.TransformSourceEffect;
import mage.abilities.effects.common.continuous.BoostTargetEffect;
import mage.abilities.keyword.TransformAbility;
@@ -43,7 +43,7 @@ public final class UlrichOfTheKrallenhorde extends CardImpl {
// At the beginning of each upkeep, if no spells were cast last turn, transform Ulrich of the Krallenhorde.
this.addAbility(new TransformAbility());
TriggeredAbility ability = new BeginningOfUpkeepTriggeredAbility(new TransformSourceEffect(true), TargetController.ANY, false);
- this.addAbility(new ConditionalTriggeredAbility(ability, NoSpellsWereCastLastTurnCondition.instance, TransformAbility.NO_SPELLS_TRANSFORM_RULE));
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, NoSpellsWereCastLastTurnCondition.instance, TransformAbility.NO_SPELLS_TRANSFORM_RULE));
}
public UlrichOfTheKrallenhorde(final UlrichOfTheKrallenhorde card) {
diff --git a/Mage.Sets/src/mage/cards/u/UlrichUncontestedAlpha.java b/Mage.Sets/src/mage/cards/u/UlrichUncontestedAlpha.java
index 3e7f37aef0c..f106d6b44cf 100644
--- a/Mage.Sets/src/mage/cards/u/UlrichUncontestedAlpha.java
+++ b/Mage.Sets/src/mage/cards/u/UlrichUncontestedAlpha.java
@@ -7,7 +7,7 @@ import mage.abilities.TriggeredAbility;
import mage.abilities.TriggeredAbilityImpl;
import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
import mage.abilities.condition.common.TwoOrMoreSpellsWereCastLastTurnCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.FightTargetSourceEffect;
import mage.abilities.effects.common.TransformSourceEffect;
import mage.abilities.keyword.TransformAbility;
@@ -48,7 +48,7 @@ public final class UlrichUncontestedAlpha extends CardImpl {
// At the beginning of each upkeep, if a player cast two or more spells last turn, transform Ulrich, Uncontested Alpha.
TriggeredAbility ability = new BeginningOfUpkeepTriggeredAbility(new TransformSourceEffect(false), TargetController.ANY, false);
- this.addAbility(new ConditionalTriggeredAbility(ability, TwoOrMoreSpellsWereCastLastTurnCondition.instance, TransformAbility.TWO_OR_MORE_SPELLS_TRANSFORM_RULE));
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, TwoOrMoreSpellsWereCastLastTurnCondition.instance, TransformAbility.TWO_OR_MORE_SPELLS_TRANSFORM_RULE));
}
public UlrichUncontestedAlpha(final UlrichUncontestedAlpha card) {
diff --git a/Mage.Sets/src/mage/cards/u/UlvenwaldBear.java b/Mage.Sets/src/mage/cards/u/UlvenwaldBear.java
index f1e15e4d822..d7c335f2f99 100644
--- a/Mage.Sets/src/mage/cards/u/UlvenwaldBear.java
+++ b/Mage.Sets/src/mage/cards/u/UlvenwaldBear.java
@@ -6,7 +6,7 @@ import mage.MageInt;
import mage.abilities.Ability;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.condition.common.MorbidCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.counter.AddCountersTargetEffect;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
@@ -30,7 +30,7 @@ public final class UlvenwaldBear extends CardImpl {
this.toughness = new MageInt(2);
// Morbid - When Ulvenwald Bear enters the battlefield, if a creature died this turn, put two +1/+1 counters on target creature.
- Ability ability = new ConditionalTriggeredAbility(new EntersBattlefieldTriggeredAbility(new AddCountersTargetEffect(CounterType.P1P1.createInstance(2), Outcome.BoostCreature)),
+ Ability ability = new ConditionalInterveningIfTriggeredAbility(new EntersBattlefieldTriggeredAbility(new AddCountersTargetEffect(CounterType.P1P1.createInstance(2), Outcome.BoostCreature)),
MorbidCondition.instance, "When {this} enters the battlefield, if a creature died this turn, put two +1/+1 counters on target creature.");
ability.addTarget(new TargetCreaturePermanent());
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/u/UlvenwaldMystics.java b/Mage.Sets/src/mage/cards/u/UlvenwaldMystics.java
index 383c9309ba3..dd607067544 100644
--- a/Mage.Sets/src/mage/cards/u/UlvenwaldMystics.java
+++ b/Mage.Sets/src/mage/cards/u/UlvenwaldMystics.java
@@ -6,7 +6,7 @@ import mage.MageInt;
import mage.abilities.TriggeredAbility;
import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
import mage.abilities.condition.common.NoSpellsWereCastLastTurnCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.TransformSourceEffect;
import mage.abilities.keyword.TransformAbility;
import mage.cards.CardImpl;
@@ -35,7 +35,7 @@ public final class UlvenwaldMystics extends CardImpl {
// At the beginning of each upkeep, if no spells were cast last turn, transform Ulvenwald Mystics.
this.addAbility(new TransformAbility());
TriggeredAbility ability = new BeginningOfUpkeepTriggeredAbility(new TransformSourceEffect(true), TargetController.ANY, false);
- this.addAbility(new ConditionalTriggeredAbility(ability, NoSpellsWereCastLastTurnCondition.instance, TransformAbility.NO_SPELLS_TRANSFORM_RULE));
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, NoSpellsWereCastLastTurnCondition.instance, TransformAbility.NO_SPELLS_TRANSFORM_RULE));
}
public UlvenwaldMystics(final UlvenwaldMystics card) {
diff --git a/Mage.Sets/src/mage/cards/u/UlvenwaldPrimordials.java b/Mage.Sets/src/mage/cards/u/UlvenwaldPrimordials.java
index c6a9cc5f790..df5e6bf52e1 100644
--- a/Mage.Sets/src/mage/cards/u/UlvenwaldPrimordials.java
+++ b/Mage.Sets/src/mage/cards/u/UlvenwaldPrimordials.java
@@ -8,7 +8,7 @@ import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
import mage.abilities.common.SimpleActivatedAbility;
import mage.abilities.condition.common.TwoOrMoreSpellsWereCastLastTurnCondition;
import mage.abilities.costs.mana.ManaCostsImpl;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.RegenerateSourceEffect;
import mage.abilities.effects.common.TransformSourceEffect;
import mage.abilities.keyword.TransformAbility;
@@ -41,7 +41,7 @@ public final class UlvenwaldPrimordials extends CardImpl {
// At the beginning of each upkeep, if a player cast two or more spells last turn, transform Ulvenwald Primordials.
TriggeredAbility ability = new BeginningOfUpkeepTriggeredAbility(new TransformSourceEffect(false), TargetController.ANY, false);
- this.addAbility(new ConditionalTriggeredAbility(ability, TwoOrMoreSpellsWereCastLastTurnCondition.instance, TransformAbility.TWO_OR_MORE_SPELLS_TRANSFORM_RULE));
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, TwoOrMoreSpellsWereCastLastTurnCondition.instance, TransformAbility.TWO_OR_MORE_SPELLS_TRANSFORM_RULE));
}
public UlvenwaldPrimordials(final UlvenwaldPrimordials card) {
diff --git a/Mage.Sets/src/mage/cards/u/UnquenchableThirst.java b/Mage.Sets/src/mage/cards/u/UnquenchableThirst.java
index 28b2044fe92..ad473951440 100644
--- a/Mage.Sets/src/mage/cards/u/UnquenchableThirst.java
+++ b/Mage.Sets/src/mage/cards/u/UnquenchableThirst.java
@@ -8,7 +8,7 @@ import mage.abilities.common.SimpleStaticAbility;
import mage.abilities.condition.OrCondition;
import mage.abilities.condition.common.CardsInControllerGraveCondition;
import mage.abilities.condition.common.PermanentsOnTheBattlefieldCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.AttachEffect;
import mage.abilities.effects.common.DontUntapInControllersUntapStepEnchantedEffect;
import mage.abilities.effects.common.TapEnchantedEffect;
@@ -52,7 +52,7 @@ public final class UnquenchableThirst extends CardImpl {
this.addAbility(ability);
// When Unquenchable Thirst enters the battlefield, if you control a Desert or there is a Desert card in your graveyard, tap enchanted creature.
- Ability ability2 = new ConditionalTriggeredAbility(
+ Ability ability2 = new ConditionalInterveningIfTriggeredAbility(
new EntersBattlefieldTriggeredAbility(new TapEnchantedEffect()),
new OrCondition(
new PermanentsOnTheBattlefieldCondition(new FilterControlledPermanent(filterDesertPermanent)),
diff --git a/Mage.Sets/src/mage/cards/u/UrborgEmissary.java b/Mage.Sets/src/mage/cards/u/UrborgEmissary.java
index 8673b2edef9..20873c51501 100644
--- a/Mage.Sets/src/mage/cards/u/UrborgEmissary.java
+++ b/Mage.Sets/src/mage/cards/u/UrborgEmissary.java
@@ -6,7 +6,7 @@ import mage.MageInt;
import mage.abilities.TriggeredAbility;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.condition.common.KickedCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.ReturnToHandTargetEffect;
import mage.abilities.keyword.KickerAbility;
import mage.cards.CardImpl;
@@ -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 ConditionalTriggeredAbility(ability, KickedCondition.instance,
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, KickedCondition.instance,
"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/UrborgStalker.java b/Mage.Sets/src/mage/cards/u/UrborgStalker.java
index bd1df9da677..45c70884470 100644
--- a/Mage.Sets/src/mage/cards/u/UrborgStalker.java
+++ b/Mage.Sets/src/mage/cards/u/UrborgStalker.java
@@ -6,7 +6,7 @@ import mage.MageInt;
import mage.ObjectColor;
import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
import mage.abilities.condition.common.PermanentsOnTheBattlefieldCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.DamageTargetEffect;
import mage.constants.SubType;
import mage.cards.CardImpl;
@@ -41,7 +41,7 @@ public final class UrborgStalker extends CardImpl {
this.toughness = new MageInt(4);
// At the beginning of each player's upkeep, if that player controls a nonblack, nonland permanent, Urborg Stalker deals 1 damage to that player.
- this.addAbility(new ConditionalTriggeredAbility(
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(
new BeginningOfUpkeepTriggeredAbility(new DamageTargetEffect(1), TargetController.ANY, false),
new PermanentsOnTheBattlefieldCondition(filter),
"At the beginning of each player's upkeep, "
diff --git a/Mage.Sets/src/mage/cards/v/VengefulRebel.java b/Mage.Sets/src/mage/cards/v/VengefulRebel.java
index d3116ace195..49f44e1623e 100644
--- a/Mage.Sets/src/mage/cards/v/VengefulRebel.java
+++ b/Mage.Sets/src/mage/cards/v/VengefulRebel.java
@@ -6,7 +6,7 @@ import mage.MageInt;
import mage.abilities.Ability;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.condition.common.RevoltCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.continuous.BoostTargetEffect;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
@@ -33,7 +33,7 @@ public final class VengefulRebel extends CardImpl {
// Revolt — When Vengeful Rebel enters the battlefield, if a permanent you controlled left the battlefield this turn,
// target creature an opponent controls gets -3/-3 until end of turn.
- Ability ability = new ConditionalTriggeredAbility(
+ Ability ability = new ConditionalInterveningIfTriggeredAbility(
new EntersBattlefieldTriggeredAbility(new BoostTargetEffect(-3, -3, Duration.EndOfTurn), false),
RevoltCondition.instance,
"When {this} enters the battlefield, if a permanent you controlled left the battlefield this turn, "
diff --git a/Mage.Sets/src/mage/cards/v/VentifactBottle.java b/Mage.Sets/src/mage/cards/v/VentifactBottle.java
index 4b43ff6b8b6..92e69ef6516 100644
--- a/Mage.Sets/src/mage/cards/v/VentifactBottle.java
+++ b/Mage.Sets/src/mage/cards/v/VentifactBottle.java
@@ -10,7 +10,7 @@ import mage.abilities.common.BeginningOfPreCombatMainTriggeredAbility;
import mage.abilities.condition.common.SourceHasCounterCondition;
import mage.abilities.costs.common.TapSourceCost;
import mage.abilities.costs.mana.ManaCostsImpl;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.dynamicvalue.common.ManacostVariableValue;
import mage.abilities.effects.OneShotEffect;
import mage.abilities.effects.common.counter.AddCountersSourceEffect;
@@ -42,7 +42,7 @@ public final class VentifactBottle extends CardImpl {
this.addAbility(ability);
// At the beginning of your precombat main phase, if Ventifact Bottle has a charge counter on it, tap it and remove all charge counters from it. Add {C} for each charge counter removed this way.
TriggeredAbility ability2 = new BeginningOfPreCombatMainTriggeredAbility(new VentifactBottleEffect(), TargetController.YOU, false);
- this.addAbility(new ConditionalTriggeredAbility(ability2,
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability2,
new SourceHasCounterCondition(CounterType.CHARGE, 1, Integer.MAX_VALUE),
"At the beginning of your precombat main phase, "
+ "if {this} has a charge counter on it, tap it and remove all charge counters from it. "
diff --git a/Mage.Sets/src/mage/cards/v/VerdelothTheAncient.java b/Mage.Sets/src/mage/cards/v/VerdelothTheAncient.java
index 5f810d301ef..33099a79cdc 100644
--- a/Mage.Sets/src/mage/cards/v/VerdelothTheAncient.java
+++ b/Mage.Sets/src/mage/cards/v/VerdelothTheAncient.java
@@ -7,7 +7,7 @@ import mage.abilities.Ability;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.common.SimpleStaticAbility;
import mage.abilities.condition.common.KickedCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.dynamicvalue.DynamicValue;
import mage.abilities.effects.Effect;
import mage.abilities.effects.common.CreateTokenEffect;
@@ -53,7 +53,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.
EntersBattlefieldTriggeredAbility ability = new EntersBattlefieldTriggeredAbility(new CreateTokenEffect(new SaprolingToken(), new GetKickerXValue()), false);
- this.addAbility(new ConditionalTriggeredAbility(ability, KickedCondition.instance,
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, KickedCondition.instance,
"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 0579f6049a4..2ced42e40a8 100644
--- a/Mage.Sets/src/mage/cards/v/VerduranEmissary.java
+++ b/Mage.Sets/src/mage/cards/v/VerduranEmissary.java
@@ -6,7 +6,7 @@ import mage.MageInt;
import mage.abilities.TriggeredAbility;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.condition.common.KickedCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.DestroyTargetEffect;
import mage.abilities.keyword.KickerAbility;
import mage.cards.CardImpl;
@@ -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 ConditionalTriggeredAbility(ability, KickedCondition.instance,
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, KickedCondition.instance,
"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/VildinPackAlpha.java b/Mage.Sets/src/mage/cards/v/VildinPackAlpha.java
index 912ff5ee593..97834e21513 100644
--- a/Mage.Sets/src/mage/cards/v/VildinPackAlpha.java
+++ b/Mage.Sets/src/mage/cards/v/VildinPackAlpha.java
@@ -8,7 +8,7 @@ import mage.abilities.TriggeredAbility;
import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
import mage.abilities.common.EntersBattlefieldControlledTriggeredAbility;
import mage.abilities.condition.common.TwoOrMoreSpellsWereCastLastTurnCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.OneShotEffect;
import mage.abilities.effects.common.TransformSourceEffect;
import mage.abilities.keyword.TransformAbility;
@@ -41,7 +41,7 @@ public final class VildinPackAlpha extends CardImpl {
// At the beginning of each upkeep, if a player cast two or more spells last turn, transform Vildin-Pack Alpha.
TriggeredAbility ability = new BeginningOfUpkeepTriggeredAbility(new TransformSourceEffect(false), TargetController.ANY, false);
- this.addAbility(new ConditionalTriggeredAbility(ability, TwoOrMoreSpellsWereCastLastTurnCondition.instance, TransformAbility.TWO_OR_MORE_SPELLS_TRANSFORM_RULE));
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, TwoOrMoreSpellsWereCastLastTurnCondition.instance, TransformAbility.TWO_OR_MORE_SPELLS_TRANSFORM_RULE));
}
diff --git a/Mage.Sets/src/mage/cards/v/VillageIronsmith.java b/Mage.Sets/src/mage/cards/v/VillageIronsmith.java
index d8cf6d29711..2ab6e27cdec 100644
--- a/Mage.Sets/src/mage/cards/v/VillageIronsmith.java
+++ b/Mage.Sets/src/mage/cards/v/VillageIronsmith.java
@@ -6,7 +6,7 @@ import mage.MageInt;
import mage.abilities.TriggeredAbility;
import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
import mage.abilities.condition.common.NoSpellsWereCastLastTurnCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.TransformSourceEffect;
import mage.abilities.keyword.FirstStrikeAbility;
import mage.abilities.keyword.TransformAbility;
@@ -38,7 +38,7 @@ public final class VillageIronsmith extends CardImpl {
// At the beginning of each upkeep, if no spells were cast last turn, transform Village Ironsmith.
this.addAbility(new TransformAbility());
TriggeredAbility ability = new BeginningOfUpkeepTriggeredAbility(new TransformSourceEffect(true), TargetController.ANY, false);
- this.addAbility(new ConditionalTriggeredAbility(ability, NoSpellsWereCastLastTurnCondition.instance, TransformAbility.NO_SPELLS_TRANSFORM_RULE));
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, NoSpellsWereCastLastTurnCondition.instance, TransformAbility.NO_SPELLS_TRANSFORM_RULE));
}
public VillageIronsmith(final VillageIronsmith card) {
diff --git a/Mage.Sets/src/mage/cards/v/VillageMessenger.java b/Mage.Sets/src/mage/cards/v/VillageMessenger.java
index 5a4626e6162..ef0a93f8941 100644
--- a/Mage.Sets/src/mage/cards/v/VillageMessenger.java
+++ b/Mage.Sets/src/mage/cards/v/VillageMessenger.java
@@ -6,7 +6,7 @@ import mage.MageInt;
import mage.abilities.TriggeredAbility;
import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
import mage.abilities.condition.common.NoSpellsWereCastLastTurnCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.TransformSourceEffect;
import mage.abilities.keyword.HasteAbility;
import mage.abilities.keyword.TransformAbility;
@@ -39,7 +39,7 @@ public final class VillageMessenger extends CardImpl {
// At the beginning of each upkeep, if no spells were cast last turn, transform Village Messenger.
this.addAbility(new TransformAbility());
TriggeredAbility ability = new BeginningOfUpkeepTriggeredAbility(new TransformSourceEffect(true), TargetController.ANY, false);
- this.addAbility(new ConditionalTriggeredAbility(ability, NoSpellsWereCastLastTurnCondition.instance, TransformAbility.NO_SPELLS_TRANSFORM_RULE));
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, NoSpellsWereCastLastTurnCondition.instance, TransformAbility.NO_SPELLS_TRANSFORM_RULE));
}
public VillageMessenger(final VillageMessenger card) {
diff --git a/Mage.Sets/src/mage/cards/v/VillagersOfEstwald.java b/Mage.Sets/src/mage/cards/v/VillagersOfEstwald.java
index 1f33d977ee7..a320c5a6f3b 100644
--- a/Mage.Sets/src/mage/cards/v/VillagersOfEstwald.java
+++ b/Mage.Sets/src/mage/cards/v/VillagersOfEstwald.java
@@ -6,7 +6,7 @@ import mage.MageInt;
import mage.abilities.TriggeredAbility;
import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
import mage.abilities.condition.common.NoSpellsWereCastLastTurnCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.TransformSourceEffect;
import mage.abilities.keyword.TransformAbility;
import mage.cards.CardImpl;
@@ -35,7 +35,7 @@ public final class VillagersOfEstwald extends CardImpl {
// At the beginning of each upkeep, if no spells were cast last turn, transform Villagers of Estwald.
this.addAbility(new TransformAbility());
TriggeredAbility ability = new BeginningOfUpkeepTriggeredAbility(new TransformSourceEffect(true), TargetController.ANY, false);
- this.addAbility(new ConditionalTriggeredAbility(ability, NoSpellsWereCastLastTurnCondition.instance, TransformAbility.NO_SPELLS_TRANSFORM_RULE));
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, NoSpellsWereCastLastTurnCondition.instance, TransformAbility.NO_SPELLS_TRANSFORM_RULE));
}
public VillagersOfEstwald(final VillagersOfEstwald card) {
diff --git a/Mage.Sets/src/mage/cards/v/VoiceOfResurgence.java b/Mage.Sets/src/mage/cards/v/VoiceOfResurgence.java
index ab0e3974141..deea39da29e 100644
--- a/Mage.Sets/src/mage/cards/v/VoiceOfResurgence.java
+++ b/Mage.Sets/src/mage/cards/v/VoiceOfResurgence.java
@@ -1,16 +1,12 @@
package mage.cards.v;
-import java.util.UUID;
import mage.MageInt;
-import mage.abilities.Ability;
-import mage.abilities.TriggeredAbilityImpl;
import mage.abilities.common.DiesTriggeredAbility;
import mage.abilities.common.SpellCastOpponentTriggeredAbility;
import mage.abilities.condition.common.MyTurnCondition;
import mage.abilities.decorator.ConditionalTriggeredAbility;
import mage.abilities.effects.common.CreateTokenEffect;
-import mage.abilities.effects.common.DrawCardSourceControllerEffect;
import mage.abilities.meta.OrTriggeredAbility;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
@@ -18,12 +14,9 @@ import mage.constants.CardType;
import mage.constants.SubType;
import mage.constants.Zone;
import mage.filter.FilterSpell;
-import mage.game.Game;
-import mage.game.events.GameEvent;
-import mage.game.events.GameEvent.EventType;
-import mage.game.events.ZoneChangeEvent;
import mage.game.permanent.token.VoiceOfResurgenceToken;
-import mage.game.stack.Spell;
+
+import java.util.UUID;
/**
*
diff --git a/Mage.Sets/src/mage/cards/v/VoyagerDrake.java b/Mage.Sets/src/mage/cards/v/VoyagerDrake.java
index 381911a0f8f..3db5967e0f1 100644
--- a/Mage.Sets/src/mage/cards/v/VoyagerDrake.java
+++ b/Mage.Sets/src/mage/cards/v/VoyagerDrake.java
@@ -6,7 +6,7 @@ import mage.MageInt;
import mage.abilities.Ability;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.condition.common.KickedCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.dynamicvalue.common.MultikickerCount;
import mage.abilities.effects.common.continuous.GainAbilityTargetEffect;
import mage.abilities.keyword.FlyingAbility;
@@ -41,7 +41,8 @@ public final class VoyagerDrake extends CardImpl {
this.addAbility(FlyingAbility.getInstance());
// When Voyager Drake enters the battlefield, up to X target creatures gain flying until end of turn, where X is the number of times Voyager Drake was kicked.
- Ability ability = new ConditionalTriggeredAbility(
+ //TODO this should trigger even if it wasn't kicked at all
+ Ability ability = new ConditionalInterveningIfTriggeredAbility(
new EntersBattlefieldTriggeredAbility(new GainAbilityTargetEffect(FlyingAbility.getInstance(), Duration.EndOfTurn), false),
KickedCondition.instance,
"When {this} enters the battlefield, up to X target creatures gain flying until end of turn, where X is the number of times {this} was kicked.");
diff --git a/Mage.Sets/src/mage/cards/v/VraskasConquistador.java b/Mage.Sets/src/mage/cards/v/VraskasConquistador.java
index 8d9b98d775d..f57955f6c7d 100644
--- a/Mage.Sets/src/mage/cards/v/VraskasConquistador.java
+++ b/Mage.Sets/src/mage/cards/v/VraskasConquistador.java
@@ -6,7 +6,7 @@ import mage.MageInt;
import mage.abilities.TriggeredAbility;
import mage.abilities.common.AttacksOrBlocksTriggeredAbility;
import mage.abilities.condition.common.PermanentsOnTheBattlefieldCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.GainLifeEffect;
import mage.abilities.effects.common.LoseLifeTargetEffect;
import mage.cards.CardImpl;
@@ -43,7 +43,7 @@ public final class VraskasConquistador extends CardImpl {
TriggeredAbility ability = new AttacksOrBlocksTriggeredAbility(new LoseLifeTargetEffect(2), false);
ability.addEffect(new GainLifeEffect(2).setText("and you gain 2 life"));
ability.addTarget(new TargetOpponent());
- this.addAbility(new ConditionalTriggeredAbility(
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(
ability, new PermanentsOnTheBattlefieldCondition(filter),
"Whenever {this} attacks or blocks, if you control a Vraska planeswalker, target opponent loses 2 life and you gain 2 life."));
}
diff --git a/Mage.Sets/src/mage/cards/w/Wakedancer.java b/Mage.Sets/src/mage/cards/w/Wakedancer.java
index 0ed65c61edf..095f2420b0b 100644
--- a/Mage.Sets/src/mage/cards/w/Wakedancer.java
+++ b/Mage.Sets/src/mage/cards/w/Wakedancer.java
@@ -6,7 +6,7 @@ import mage.MageInt;
import mage.abilities.TriggeredAbility;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.condition.common.MorbidCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.CreateTokenEffect;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
@@ -33,7 +33,7 @@ public final class Wakedancer extends CardImpl {
// Morbid - When Wakedancer enters the battlefield, if a creature died this turn, create a 2/2 black Zombie creature token.
TriggeredAbility ability = new EntersBattlefieldTriggeredAbility(new CreateTokenEffect(new ZombieToken()));
- this.addAbility(new ConditionalTriggeredAbility(ability, MorbidCondition.instance, staticText));
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, MorbidCondition.instance, staticText));
}
public Wakedancer(final Wakedancer card) {
diff --git a/Mage.Sets/src/mage/cards/w/WakeningSunsAvatar.java b/Mage.Sets/src/mage/cards/w/WakeningSunsAvatar.java
index f16edf13a39..118d4e572b1 100644
--- a/Mage.Sets/src/mage/cards/w/WakeningSunsAvatar.java
+++ b/Mage.Sets/src/mage/cards/w/WakeningSunsAvatar.java
@@ -5,7 +5,7 @@ import java.util.UUID;
import mage.MageInt;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.condition.common.CastFromHandSourceCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.DestroyAllEffect;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
@@ -37,7 +37,7 @@ public final class WakeningSunsAvatar extends CardImpl {
this.toughness = new MageInt(7);
// When Wakening Sun's Avatar enters the battlefield, if you cast it from you hand, destroy all non-Dinosaur creatures.
- this.addAbility(new ConditionalTriggeredAbility(
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(
new EntersBattlefieldTriggeredAbility(new DestroyAllEffect(filter), false),
CastFromHandSourceCondition.instance,
"When {this} enters the battlefield, if you cast it from your hand, destroy all non-Dinosaur creatures."),
diff --git a/Mage.Sets/src/mage/cards/w/WanderingChampion.java b/Mage.Sets/src/mage/cards/w/WanderingChampion.java
index 3c2ae20f245..373afc8dad5 100644
--- a/Mage.Sets/src/mage/cards/w/WanderingChampion.java
+++ b/Mage.Sets/src/mage/cards/w/WanderingChampion.java
@@ -8,7 +8,7 @@ import mage.abilities.TriggeredAbility;
import mage.abilities.common.DealsCombatDamageToAPlayerTriggeredAbility;
import mage.abilities.condition.common.PermanentsOnTheBattlefieldCondition;
import mage.abilities.costs.common.DiscardCardCost;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.DoIfCostPaid;
import mage.abilities.effects.common.DrawCardSourceControllerEffect;
import mage.cards.CardImpl;
@@ -40,7 +40,7 @@ public final class WanderingChampion extends CardImpl {
// Whenever Wandering Champion deals combat damage to a player, if you control a blue or red permanent, you may discard a card. If you do, draw a card.
TriggeredAbility ability = new DealsCombatDamageToAPlayerTriggeredAbility(new DoIfCostPaid(new DrawCardSourceControllerEffect(1), new DiscardCardCost()), true);
- this.addAbility(new ConditionalTriggeredAbility(ability, new PermanentsOnTheBattlefieldCondition(filter),
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, new PermanentsOnTheBattlefieldCondition(filter),
"Whenever {this} deals combat damage to a player, if you control a blue or red permanent, you may discard a card. If you do, draw a card."));
}
diff --git a/Mage.Sets/src/mage/cards/w/WaterspoutElemental.java b/Mage.Sets/src/mage/cards/w/WaterspoutElemental.java
index f2371355bde..9db272b67cb 100644
--- a/Mage.Sets/src/mage/cards/w/WaterspoutElemental.java
+++ b/Mage.Sets/src/mage/cards/w/WaterspoutElemental.java
@@ -5,7 +5,7 @@ import java.util.UUID;
import mage.MageInt;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.condition.common.KickedCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.ReturnToHandFromBattlefieldAllEffect;
import mage.abilities.effects.common.turn.SkipNextTurnSourceEffect;
import mage.abilities.keyword.FlyingAbility;
@@ -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 ConditionalTriggeredAbility(ability, KickedCondition.instance,
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, KickedCondition.instance,
"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/WeatherseedTotem.java b/Mage.Sets/src/mage/cards/w/WeatherseedTotem.java
index 88beda16b95..f11ba3ef58a 100644
--- a/Mage.Sets/src/mage/cards/w/WeatherseedTotem.java
+++ b/Mage.Sets/src/mage/cards/w/WeatherseedTotem.java
@@ -8,7 +8,7 @@ import mage.abilities.common.PutIntoGraveFromBattlefieldSourceTriggeredAbility;
import mage.abilities.common.SimpleActivatedAbility;
import mage.abilities.condition.Condition;
import mage.abilities.costs.mana.ManaCostsImpl;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.ReturnToHandSourceEffect;
import mage.abilities.effects.common.continuous.BecomesCreatureSourceEffect;
import mage.abilities.keyword.TrampleAbility;
@@ -22,7 +22,6 @@ import mage.constants.Zone;
import mage.game.Game;
import mage.game.permanent.Permanent;
import mage.game.permanent.token.TokenImpl;
-import mage.game.permanent.token.Token;
/**
*
@@ -40,7 +39,7 @@ public final class WeatherseedTotem extends CardImpl {
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BecomesCreatureSourceEffect(new WeatherseedTotemToken(), "", Duration.EndOfTurn), new ManaCostsImpl<>("{2}{G}{G}{G}")));
// When Weatherseed Totem is put into a graveyard from the battlefield, if it was a creature, return this card to its owner's hand.
- this.addAbility(new ConditionalTriggeredAbility(
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(
new PutIntoGraveFromBattlefieldSourceTriggeredAbility(new ReturnToHandSourceEffect()),
new WeatherseedTotemCondition(),
"When {this} is put into a graveyard from the battlefield, "
diff --git a/Mage.Sets/src/mage/cards/w/WellOfDiscovery.java b/Mage.Sets/src/mage/cards/w/WellOfDiscovery.java
index d5e0716bf48..ee3002f48ba 100644
--- a/Mage.Sets/src/mage/cards/w/WellOfDiscovery.java
+++ b/Mage.Sets/src/mage/cards/w/WellOfDiscovery.java
@@ -5,7 +5,7 @@ import java.util.UUID;
import mage.abilities.common.BeginningOfEndStepTriggeredAbility;
import mage.abilities.condition.InvertCondition;
import mage.abilities.condition.common.PermanentsOnTheBattlefieldCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.DrawCardSourceControllerEffect;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
@@ -31,7 +31,7 @@ public final class WellOfDiscovery extends CardImpl {
super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{6}");
// At the beginning of your end step, if you control no untapped lands, draw a card.
- this.addAbility(new ConditionalTriggeredAbility(new BeginningOfEndStepTriggeredAbility(
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(new BeginningOfEndStepTriggeredAbility(
new DrawCardSourceControllerEffect(1), TargetController.YOU, false),
new InvertCondition(new PermanentsOnTheBattlefieldCondition(filter)),
"At the beginning of your end step, if you control no untapped lands, draw a card."));
diff --git a/Mage.Sets/src/mage/cards/w/WellOfLife.java b/Mage.Sets/src/mage/cards/w/WellOfLife.java
index 6110c016574..775e1a02fd3 100644
--- a/Mage.Sets/src/mage/cards/w/WellOfLife.java
+++ b/Mage.Sets/src/mage/cards/w/WellOfLife.java
@@ -5,7 +5,7 @@ import java.util.UUID;
import mage.abilities.common.BeginningOfEndStepTriggeredAbility;
import mage.abilities.condition.InvertCondition;
import mage.abilities.condition.common.PermanentsOnTheBattlefieldCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.GainLifeEffect;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
@@ -31,7 +31,7 @@ public final class WellOfLife extends CardImpl {
super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{4}");
// At the beginning of your end step, if you control no untapped lands, you gain 2 life.
- this.addAbility(new ConditionalTriggeredAbility(new BeginningOfEndStepTriggeredAbility(
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(new BeginningOfEndStepTriggeredAbility(
new GainLifeEffect(2), TargetController.YOU, false), new InvertCondition(new PermanentsOnTheBattlefieldCondition(filter)),
"At the beginning of your end step, if you control no untapped lands, you gain 2 life."));
}
diff --git a/Mage.Sets/src/mage/cards/w/WerewolfOfAncientHunger.java b/Mage.Sets/src/mage/cards/w/WerewolfOfAncientHunger.java
index dbb43f738bf..b7df1697b46 100644
--- a/Mage.Sets/src/mage/cards/w/WerewolfOfAncientHunger.java
+++ b/Mage.Sets/src/mage/cards/w/WerewolfOfAncientHunger.java
@@ -9,7 +9,7 @@ import mage.abilities.common.SimpleStaticAbility;
import mage.abilities.condition.common.TransformedCondition;
import mage.abilities.condition.common.TwoOrMoreSpellsWereCastLastTurnCondition;
import mage.abilities.decorator.ConditionalContinuousEffect;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.dynamicvalue.common.CardsInAllHandsCount;
import mage.abilities.effects.common.TransformSourceEffect;
import mage.abilities.effects.common.continuous.SetPowerToughnessSourceEffect;
@@ -53,7 +53,7 @@ public final class WerewolfOfAncientHunger extends CardImpl {
// At the beginning of each upkeep, if a player cast two or more spells last turn, transform Werewolf of Ancient Hunger.
TriggeredAbility ability = new BeginningOfUpkeepTriggeredAbility(new TransformSourceEffect(false), TargetController.ANY, false);
- this.addAbility(new ConditionalTriggeredAbility(ability, TwoOrMoreSpellsWereCastLastTurnCondition.instance, TransformAbility.TWO_OR_MORE_SPELLS_TRANSFORM_RULE));
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, TwoOrMoreSpellsWereCastLastTurnCondition.instance, TransformAbility.TWO_OR_MORE_SPELLS_TRANSFORM_RULE));
}
public WerewolfOfAncientHunger(final WerewolfOfAncientHunger card) {
diff --git a/Mage.Sets/src/mage/cards/w/WerewolfRansacker.java b/Mage.Sets/src/mage/cards/w/WerewolfRansacker.java
index e72eb481dce..51eef0567f0 100644
--- a/Mage.Sets/src/mage/cards/w/WerewolfRansacker.java
+++ b/Mage.Sets/src/mage/cards/w/WerewolfRansacker.java
@@ -8,7 +8,7 @@ import mage.abilities.TriggeredAbility;
import mage.abilities.TriggeredAbilityImpl;
import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
import mage.abilities.condition.common.TwoOrMoreSpellsWereCastLastTurnCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.OneShotEffect;
import mage.abilities.effects.common.TransformSourceEffect;
import mage.abilities.keyword.TransformAbility;
@@ -49,7 +49,7 @@ public final class WerewolfRansacker extends CardImpl {
// At the beginning of each upkeep, if a player cast two or more spells last turn, transform Werewolf Ransacker.
TriggeredAbility ability = new BeginningOfUpkeepTriggeredAbility(new TransformSourceEffect(false), TargetController.ANY, false);
- this.addAbility(new ConditionalTriggeredAbility(ability, TwoOrMoreSpellsWereCastLastTurnCondition.instance, TransformAbility.TWO_OR_MORE_SPELLS_TRANSFORM_RULE));
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, TwoOrMoreSpellsWereCastLastTurnCondition.instance, TransformAbility.TWO_OR_MORE_SPELLS_TRANSFORM_RULE));
}
public WerewolfRansacker(final WerewolfRansacker card) {
diff --git a/Mage.Sets/src/mage/cards/w/WhirlingDervish.java b/Mage.Sets/src/mage/cards/w/WhirlingDervish.java
index 2e5a230f1f8..e7ff09c4f70 100644
--- a/Mage.Sets/src/mage/cards/w/WhirlingDervish.java
+++ b/Mage.Sets/src/mage/cards/w/WhirlingDervish.java
@@ -7,7 +7,7 @@ import mage.ObjectColor;
import mage.abilities.TriggeredAbility;
import mage.abilities.common.OnEventTriggeredAbility;
import mage.abilities.condition.common.DealtDamageToAnOpponent;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.counter.AddCountersSourceEffect;
import mage.abilities.keyword.ProtectionAbility;
import mage.cards.CardImpl;
@@ -38,7 +38,7 @@ public final class WhirlingDervish extends CardImpl {
this.addAbility(ProtectionAbility.from(ObjectColor.BLACK));
// At the beginning of each end step, if Whirling Dervish dealt damage to an opponent this turn, put a +1/+1 counter on it.
TriggeredAbility triggered = new OnEventTriggeredAbility(GameEvent.EventType.END_TURN_STEP_PRE, "beginning of each end step", true, new AddCountersSourceEffect(CounterType.P1P1.createInstance()));
- this.addAbility(new ConditionalTriggeredAbility(triggered, new DealtDamageToAnOpponent(), ruleText));
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(triggered, new DealtDamageToAnOpponent(), ruleText));
}
public WhirlingDervish(final WhirlingDervish card) {
diff --git a/Mage.Sets/src/mage/cards/w/WildPair.java b/Mage.Sets/src/mage/cards/w/WildPair.java
index 6e51f77ef9b..ee5d269b22a 100644
--- a/Mage.Sets/src/mage/cards/w/WildPair.java
+++ b/Mage.Sets/src/mage/cards/w/WildPair.java
@@ -6,7 +6,7 @@ import mage.MageObject;
import mage.abilities.Ability;
import mage.abilities.common.EntersBattlefieldAllTriggeredAbility;
import mage.abilities.condition.Condition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.OneShotEffect;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
@@ -39,7 +39,7 @@ public final class WildPair extends CardImpl {
super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{4}{G}{G}");
// Whenever a creature enters the battlefield, if you cast it from your hand, you may search your library for a creature card with the same total power and toughness and put it onto the battlefield. If you do, shuffle your library.
- this.addAbility(new ConditionalTriggeredAbility(
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(
new EntersBattlefieldAllTriggeredAbility(Zone.BATTLEFIELD, new WildPairEffect(), filter, true, SetTargetPointer.PERMANENT, ""),
new CastFromHandTargetCondition(),
"Whenever a creature enters the battlefield, if you cast it from your hand, you may search your library for a creature card with the same total power and toughness and put it onto the battlefield. If you do, shuffle your library."
diff --git a/Mage.Sets/src/mage/cards/w/WildbloodPack.java b/Mage.Sets/src/mage/cards/w/WildbloodPack.java
index 578ce917ae6..2871ec90263 100644
--- a/Mage.Sets/src/mage/cards/w/WildbloodPack.java
+++ b/Mage.Sets/src/mage/cards/w/WildbloodPack.java
@@ -7,7 +7,7 @@ import mage.abilities.TriggeredAbility;
import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
import mage.abilities.common.SimpleStaticAbility;
import mage.abilities.condition.common.TwoOrMoreSpellsWereCastLastTurnCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.TransformSourceEffect;
import mage.abilities.effects.common.continuous.BoostControlledEffect;
import mage.abilities.keyword.TrampleAbility;
@@ -41,7 +41,7 @@ public final class WildbloodPack extends CardImpl {
// At the beginning of each upkeep, if a player cast two or more spells last turn, transform Wildblood Pack.
TriggeredAbility ability = new BeginningOfUpkeepTriggeredAbility(new TransformSourceEffect(false), TargetController.ANY, false);
- this.addAbility(new ConditionalTriggeredAbility(ability, TwoOrMoreSpellsWereCastLastTurnCondition.instance, TransformAbility.TWO_OR_MORE_SPELLS_TRANSFORM_RULE));
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, TwoOrMoreSpellsWereCastLastTurnCondition.instance, TransformAbility.TWO_OR_MORE_SPELLS_TRANSFORM_RULE));
}
diff --git a/Mage.Sets/src/mage/cards/w/WingmateRoc.java b/Mage.Sets/src/mage/cards/w/WingmateRoc.java
index 54f5ceccbac..04d872751dd 100644
--- a/Mage.Sets/src/mage/cards/w/WingmateRoc.java
+++ b/Mage.Sets/src/mage/cards/w/WingmateRoc.java
@@ -6,7 +6,7 @@ import mage.MageInt;
import mage.abilities.common.AttacksTriggeredAbility;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.condition.common.RaidCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.dynamicvalue.common.AttackingCreatureCount;
import mage.abilities.effects.Effect;
import mage.abilities.effects.common.CreateTokenEffect;
@@ -36,7 +36,7 @@ public final class WingmateRoc extends CardImpl {
this.addAbility(FlyingAbility.getInstance());
// Raid - When Wingmate Roc enters the battlefield, if you attacked with a creature this turn, create a 3/4 white Bird creature token with flying.
- this.addAbility(new ConditionalTriggeredAbility(new EntersBattlefieldTriggeredAbility(new CreateTokenEffect(new WingmateRocToken())), RaidCondition.instance,
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(new EntersBattlefieldTriggeredAbility(new CreateTokenEffect(new WingmateRocToken())), RaidCondition.instance,
"Raid — When {this} enters the battlefield, if you attacked with a creature this turn, create a 3/4 white Bird creature token with flying."),
new PlayerAttackedWatcher());
diff --git a/Mage.Sets/src/mage/cards/w/WitheringWisps.java b/Mage.Sets/src/mage/cards/w/WitheringWisps.java
index 544ed387c52..2e275880e65 100644
--- a/Mage.Sets/src/mage/cards/w/WitheringWisps.java
+++ b/Mage.Sets/src/mage/cards/w/WitheringWisps.java
@@ -7,7 +7,7 @@ import mage.abilities.TriggeredAbility;
import mage.abilities.common.OnEventTriggeredAbility;
import mage.abilities.condition.common.CreatureCountCondition;
import mage.abilities.costs.mana.ManaCostsImpl;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.DamageEverythingEffect;
import mage.abilities.effects.common.SacrificeSourceEffect;
import mage.cards.CardImpl;
@@ -37,7 +37,7 @@ public final class WitheringWisps extends CardImpl {
// At the beginning of the end step, if no creatures are on the battlefield, sacrifice Withering Wisps.
TriggeredAbility triggered = new OnEventTriggeredAbility(GameEvent.EventType.END_TURN_STEP_PRE, "beginning of the end step", true, new SacrificeSourceEffect());
- this.addAbility(new ConditionalTriggeredAbility(triggered, new CreatureCountCondition(0, TargetController.ANY), ruleText));
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(triggered, new CreatureCountCondition(0, TargetController.ANY), ruleText));
// {B}: Withering Wisps deals 1 damage to each creature and each player. Activate this ability no more times each turn than the number of snow Swamps you control.
this.addAbility(new WitheringWispsActivatedAbility());
diff --git a/Mage.Sets/src/mage/cards/w/WolfbittenCaptive.java b/Mage.Sets/src/mage/cards/w/WolfbittenCaptive.java
index 5299462f48b..b9880a923ae 100644
--- a/Mage.Sets/src/mage/cards/w/WolfbittenCaptive.java
+++ b/Mage.Sets/src/mage/cards/w/WolfbittenCaptive.java
@@ -8,7 +8,7 @@ import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
import mage.abilities.common.LimitedTimesPerTurnActivatedAbility;
import mage.abilities.condition.common.NoSpellsWereCastLastTurnCondition;
import mage.abilities.costs.mana.ManaCostsImpl;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.TransformSourceEffect;
import mage.abilities.effects.common.continuous.BoostSourceEffect;
import mage.abilities.keyword.TransformAbility;
@@ -40,7 +40,7 @@ public final class WolfbittenCaptive extends CardImpl {
// At the beginning of each upkeep, if no spells were cast last turn, transform Wolfbitten Captive.
this.addAbility(new TransformAbility());
TriggeredAbility ability = new BeginningOfUpkeepTriggeredAbility(new TransformSourceEffect(true), TargetController.ANY, false);
- this.addAbility(new ConditionalTriggeredAbility(ability, NoSpellsWereCastLastTurnCondition.instance, TransformAbility.NO_SPELLS_TRANSFORM_RULE));
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, NoSpellsWereCastLastTurnCondition.instance, TransformAbility.NO_SPELLS_TRANSFORM_RULE));
}
public WolfbittenCaptive(final WolfbittenCaptive card) {
diff --git a/Mage.Sets/src/mage/cards/w/WoodlandSleuth.java b/Mage.Sets/src/mage/cards/w/WoodlandSleuth.java
index f50cc4a4e3f..00b5fc45ef7 100644
--- a/Mage.Sets/src/mage/cards/w/WoodlandSleuth.java
+++ b/Mage.Sets/src/mage/cards/w/WoodlandSleuth.java
@@ -7,7 +7,7 @@ import mage.abilities.Ability;
import mage.abilities.TriggeredAbility;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.condition.common.MorbidCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.OneShotEffect;
import mage.cards.Card;
import mage.cards.CardImpl;
@@ -40,7 +40,7 @@ public final class WoodlandSleuth extends CardImpl {
// Morbid - When Woodland Sleuth enters the battlefield, if a creature died this turn, return a creature card at random from your graveyard to your hand.
TriggeredAbility ability = new EntersBattlefieldTriggeredAbility(new WoodlandSleuthEffect());
- this.addAbility(new ConditionalTriggeredAbility(ability, MorbidCondition.instance, staticText));
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, MorbidCondition.instance, staticText));
}
public WoodlandSleuth(final WoodlandSleuth card) {
diff --git a/Mage.Sets/src/mage/cards/w/WretchedCamel.java b/Mage.Sets/src/mage/cards/w/WretchedCamel.java
index 1b309f28f9d..f4218eff052 100644
--- a/Mage.Sets/src/mage/cards/w/WretchedCamel.java
+++ b/Mage.Sets/src/mage/cards/w/WretchedCamel.java
@@ -8,7 +8,7 @@ import mage.abilities.common.DiesTriggeredAbility;
import mage.abilities.condition.OrCondition;
import mage.abilities.condition.common.CardsInControllerGraveCondition;
import mage.abilities.condition.common.PermanentsOnTheBattlefieldCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.discard.DiscardTargetEffect;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
@@ -42,7 +42,7 @@ public final class WretchedCamel extends CardImpl {
this.toughness = new MageInt(1);
// When Wretched Camel dies, if you control a Desert or there is a Desert card in your graveyard, target player discards a card.
- Ability ability = new ConditionalTriggeredAbility(
+ Ability ability = new ConditionalInterveningIfTriggeredAbility(
new DiesTriggeredAbility(new DiscardTargetEffect(1)),
new OrCondition(
new PermanentsOnTheBattlefieldCondition(new FilterControlledPermanent(filterDesertPermanent)),
diff --git a/Mage.Sets/src/mage/cards/w/WritOfPassage.java b/Mage.Sets/src/mage/cards/w/WritOfPassage.java
index b2f3a787253..e6dad8e19ae 100644
--- a/Mage.Sets/src/mage/cards/w/WritOfPassage.java
+++ b/Mage.Sets/src/mage/cards/w/WritOfPassage.java
@@ -2,16 +2,15 @@
package mage.cards.w;
import java.util.UUID;
+
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.target.common.TargetCreaturePermanent;
import mage.abilities.Ability;
import mage.abilities.common.AttacksAttachedTriggeredAbility;
import mage.abilities.condition.common.AttachedToMatchesFilterCondition;
import mage.abilities.costs.mana.ManaCostsImpl;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
-import mage.abilities.effects.Effect;
import mage.abilities.effects.RestrictionEffect;
import mage.abilities.effects.common.AttachEffect;
-import mage.abilities.effects.common.combat.CantBeBlockedAttachedEffect;
import mage.abilities.effects.common.combat.CantBeBlockedTargetEffect;
import mage.constants.Outcome;
import mage.target.TargetPermanent;
@@ -51,7 +50,7 @@ public final class WritOfPassage extends CardImpl {
// Whenever enchanted creature attacks, if its power is 2 or less, it's unblockable this turn.
FilterPermanent filter = new FilterPermanent("if enchanted creature's power is 2 or less");
filter.add(new PowerPredicate(ComparisonType.FEWER_THAN, 3));
- ability = new ConditionalTriggeredAbility(new AttacksAttachedTriggeredAbility(
+ ability = new ConditionalInterveningIfTriggeredAbility(new AttacksAttachedTriggeredAbility(
new WritOfPassageAttachedEffect(AttachmentType.AURA), AttachmentType.AURA, false),
new AttachedToMatchesFilterCondition(filter), "Whenever enchanted creature attacks, if its power is 2 or less, it can't be blocked this turn.");
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/z/ZacamaPrimalCalamity.java b/Mage.Sets/src/mage/cards/z/ZacamaPrimalCalamity.java
index c0e0f672c13..700a1e7d460 100644
--- a/Mage.Sets/src/mage/cards/z/ZacamaPrimalCalamity.java
+++ b/Mage.Sets/src/mage/cards/z/ZacamaPrimalCalamity.java
@@ -8,7 +8,7 @@ import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.common.SimpleActivatedAbility;
import mage.abilities.condition.common.CastFromEverywhereSourceCondition;
import mage.abilities.costs.mana.ManaCostsImpl;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.DamageTargetEffect;
import mage.abilities.effects.common.DestroyTargetEffect;
import mage.abilities.effects.common.GainLifeEffect;
@@ -51,7 +51,7 @@ public final class ZacamaPrimalCalamity extends CardImpl {
this.addAbility(TrampleAbility.getInstance());
// When Zacama, Primal Calamity enters the battlefield, if you cast it, untap all lands you control.
- this.addAbility(new ConditionalTriggeredAbility(
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(
new EntersBattlefieldTriggeredAbility(new UntapAllLandsControllerEffect(), false),
CastFromEverywhereSourceCondition.instance,
"When {this} enters the battlefield, if you cast it, untap all lands you control."));
diff --git a/Mage.Sets/src/mage/cards/z/ZealotsEnDal.java b/Mage.Sets/src/mage/cards/z/ZealotsEnDal.java
index d7804a5a6f5..f560e66f98c 100644
--- a/Mage.Sets/src/mage/cards/z/ZealotsEnDal.java
+++ b/Mage.Sets/src/mage/cards/z/ZealotsEnDal.java
@@ -7,7 +7,7 @@ import mage.ObjectColor;
import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
import mage.abilities.condition.InvertCondition;
import mage.abilities.condition.common.PermanentsOnTheBattlefieldCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.GainLifeEffect;
import mage.constants.SubType;
import mage.cards.CardImpl;
@@ -41,7 +41,7 @@ public final class ZealotsEnDal extends CardImpl {
this.toughness = new MageInt(4);
// At the beginning of your upkeep, if all nonland permanents you control are white, you gain 1 life.
- this.addAbility(new ConditionalTriggeredAbility(
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(
new BeginningOfUpkeepTriggeredAbility(new GainLifeEffect(1), TargetController.YOU, false),
new InvertCondition(new PermanentsOnTheBattlefieldCondition(filter)),
"At the beginning of your upkeep, if all nonland permanents you control are white, you gain 1 life."
diff --git a/Mage/src/main/java/mage/abilities/common/SanctuaryTriggeredAbility.java b/Mage/src/main/java/mage/abilities/common/SanctuaryInterveningIfTriggeredAbility.java
similarity index 86%
rename from Mage/src/main/java/mage/abilities/common/SanctuaryTriggeredAbility.java
rename to Mage/src/main/java/mage/abilities/common/SanctuaryInterveningIfTriggeredAbility.java
index efb2bffd4d9..9e07b935227 100644
--- a/Mage/src/main/java/mage/abilities/common/SanctuaryTriggeredAbility.java
+++ b/Mage/src/main/java/mage/abilities/common/SanctuaryInterveningIfTriggeredAbility.java
@@ -8,7 +8,7 @@ import mage.abilities.condition.Condition;
import mage.abilities.condition.InvertCondition;
import mage.abilities.condition.common.PermanentsOnTheBattlefieldCondition;
import mage.abilities.decorator.ConditionalOneShotEffect;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.OneShotEffect;
import mage.constants.TargetController;
import mage.filter.FilterPermanent;
@@ -19,7 +19,7 @@ import mage.filter.predicate.mageobject.ColorPredicate;
*
* @author TheElk801
*/
-public class SanctuaryTriggeredAbility extends ConditionalTriggeredAbility {
+public class SanctuaryInterveningIfTriggeredAbility extends ConditionalInterveningIfTriggeredAbility {
private static Condition makeOrCondition(ObjectColor color1, ObjectColor color2) {
FilterPermanent filter = new FilterPermanent();
@@ -48,7 +48,7 @@ public class SanctuaryTriggeredAbility extends ConditionalTriggeredAbility {
return ability;
}
- public SanctuaryTriggeredAbility(OneShotEffect effect1, OneShotEffect effect2, ObjectColor color1, ObjectColor color2, String text) {
+ public SanctuaryInterveningIfTriggeredAbility(OneShotEffect effect1, OneShotEffect effect2, ObjectColor color1, ObjectColor color2, String text) {
super(makeTrigger(effect1, effect2, color1, color2), makeOrCondition(color1, color2), text);
}
}
diff --git a/Mage/src/main/java/mage/abilities/decorator/ConditionalInterveningIfTriggeredAbility.java b/Mage/src/main/java/mage/abilities/decorator/ConditionalInterveningIfTriggeredAbility.java
new file mode 100644
index 00000000000..44a96ae3867
--- /dev/null
+++ b/Mage/src/main/java/mage/abilities/decorator/ConditionalInterveningIfTriggeredAbility.java
@@ -0,0 +1,104 @@
+package mage.abilities.decorator;
+
+import mage.abilities.Modes;
+import mage.abilities.TriggeredAbility;
+import mage.abilities.TriggeredAbilityImpl;
+import mage.abilities.condition.Condition;
+import mage.abilities.effects.Effect;
+import mage.abilities.effects.Effects;
+import mage.constants.EffectType;
+import mage.game.Game;
+import mage.game.events.GameEvent;
+
+/**
+ * Adds condition to {@link mage.abilities.effects.ContinuousEffect}. Acts as
+ * decorator.
+ *
+ * @author nantuko
+ */
+public class ConditionalInterveningIfTriggeredAbility extends TriggeredAbilityImpl {
+
+ protected TriggeredAbility ability;
+ protected Condition condition;
+ protected String abilityText;
+
+ /**
+ * Triggered ability with a condition. Set the optionality for the trigger
+ * ability itself.
+ *
+ * @param ability
+ * @param condition
+ * @param text explicit rule text for the ability, if null or empty, the
+ * rule text generated by the triggered ability itself is used.
+ */
+ public ConditionalInterveningIfTriggeredAbility(TriggeredAbility ability, Condition condition, String text) {
+ super(ability.getZone(), null);
+ this.ability = ability;
+ this.modes = ability.getModes();
+ this.condition = condition;
+ this.abilityText = text;
+ }
+
+ public ConditionalInterveningIfTriggeredAbility(final ConditionalInterveningIfTriggeredAbility triggered) {
+ super(triggered);
+ this.ability = triggered.ability.copy();
+ this.condition = triggered.condition;
+ this.abilityText = triggered.abilityText;
+ }
+
+ @Override
+ public boolean checkInterveningIfClause(Game game) {
+ return condition.apply(game, this);
+ }
+
+ @Override
+ public ConditionalInterveningIfTriggeredAbility copy() {
+ return new ConditionalInterveningIfTriggeredAbility(this);
+ }
+
+ @Override
+ public boolean checkEventType(GameEvent event, Game game) {
+ return ability.checkEventType(event, game);
+ }
+
+ @Override
+ public boolean checkTrigger(GameEvent event, Game game) {
+ ability.setSourceId(this.getSourceId());
+ ability.setControllerId(this.getControllerId());
+ return ability.checkTrigger(event, game);
+ }
+
+ @Override
+ public String getRule() {
+ if (abilityText == null || abilityText.isEmpty()) {
+ return ability.getRule();
+ }
+ return abilityText;
+ }
+
+ @Override
+ public Effects getEffects() {
+ return ability.getEffects();
+ }
+
+ @Override
+ public void addEffect(Effect effect) {
+ ability.addEffect(effect);
+ }
+
+ @Override
+ public Modes getModes() {
+ return ability.getModes();
+ }
+
+ @Override
+ public Effects getEffects(Game game, EffectType effectType) {
+ return ability.getEffects(game, effectType);
+ }
+
+ @Override
+ public boolean isOptional() {
+ return ability.isOptional();
+ }
+
+}
diff --git a/Mage/src/main/java/mage/abilities/decorator/ConditionalTriggeredAbility.java b/Mage/src/main/java/mage/abilities/decorator/ConditionalTriggeredAbility.java
index 8c4f60a0474..b77c66df9db 100644
--- a/Mage/src/main/java/mage/abilities/decorator/ConditionalTriggeredAbility.java
+++ b/Mage/src/main/java/mage/abilities/decorator/ConditionalTriggeredAbility.java
@@ -14,7 +14,7 @@ import mage.game.events.GameEvent;
* Adds condition to {@link mage.abilities.effects.ContinuousEffect}. Acts as
* decorator.
*
- * @author nantuko
+ * @author noahg
*/
public class ConditionalTriggeredAbility extends TriggeredAbilityImpl {
@@ -46,13 +46,6 @@ public class ConditionalTriggeredAbility extends TriggeredAbilityImpl {
this.abilityText = triggered.abilityText;
}
- @Override
- public boolean checkInterveningIfClause(Game game) {
- System.out.println("Source ID: "+this.getControllerId());
- System.out.println("Active player ID: "+game.getActivePlayerId());
- return condition.apply(game, this);
- }
-
@Override
public ConditionalTriggeredAbility copy() {
return new ConditionalTriggeredAbility(this);
@@ -67,7 +60,7 @@ public class ConditionalTriggeredAbility extends TriggeredAbilityImpl {
public boolean checkTrigger(GameEvent event, Game game) {
ability.setSourceId(this.getSourceId());
ability.setControllerId(this.getControllerId());
- return ability.checkTrigger(event, game);
+ return ability.checkTrigger(event, game) && condition.apply(game, this);
}
@Override
diff --git a/Mage/src/main/java/mage/abilities/keyword/EvokeAbility.java b/Mage/src/main/java/mage/abilities/keyword/EvokeAbility.java
index 2467d1246e5..ab0f8004b1e 100644
--- a/Mage/src/main/java/mage/abilities/keyword/EvokeAbility.java
+++ b/Mage/src/main/java/mage/abilities/keyword/EvokeAbility.java
@@ -16,7 +16,7 @@ import mage.abilities.costs.Cost;
import mage.abilities.costs.Costs;
import mage.abilities.costs.CostsImpl;
import mage.abilities.costs.mana.ManaCostsImpl;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.SacrificeSourceEffect;
import mage.cards.Card;
import mage.constants.Outcome;
@@ -42,7 +42,7 @@ public class EvokeAbility extends StaticAbility implements AlternativeSourceCost
super(Zone.ALL, null);
name = EVOKE_KEYWORD;
this.addEvokeCost(manaString);
- Ability ability = new ConditionalTriggeredAbility(new EntersBattlefieldTriggeredAbility(new SacrificeSourceEffect()), EvokedCondition.instance, "Sacrifice {this} when it enters the battlefield and was evoked.");
+ Ability ability = new ConditionalInterveningIfTriggeredAbility(new EntersBattlefieldTriggeredAbility(new SacrificeSourceEffect()), EvokedCondition.instance, "Sacrifice {this} when it enters the battlefield and was evoked.");
ability.setRuleVisible(false);
addSubAbility(ability);
diff --git a/Mage/src/main/java/mage/abilities/keyword/RepairAbility.java b/Mage/src/main/java/mage/abilities/keyword/RepairAbility.java
index 46e22d57fa8..6227e4c19fd 100644
--- a/Mage/src/main/java/mage/abilities/keyword/RepairAbility.java
+++ b/Mage/src/main/java/mage/abilities/keyword/RepairAbility.java
@@ -11,7 +11,7 @@ import mage.abilities.TriggeredAbilityImpl;
import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
import mage.abilities.common.DiesTriggeredAbility;
import mage.abilities.condition.common.SourceHasCounterCondition;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.dynamicvalue.common.StaticValue;
import mage.abilities.effects.AsThoughEffectImpl;
import mage.abilities.effects.common.counter.AddCountersSourceEffect;
@@ -36,7 +36,7 @@ public class RepairAbility extends DiesTriggeredAbility {
public RepairAbility(int count) {
super(new AddCountersSourceEffect(CounterType.REPAIR.createInstance(), new StaticValue(count), false, true));
- addSubAbility(new RepairBeginningOfUpkeepTriggeredAbility());
+ addSubAbility(new RepairBeginningOfUpkeepInterveningIfTriggeredAbility());
addSubAbility(new RepairCastFromGraveyardTriggeredAbility());
ruleText = "Repair " + count + " (When this creature dies, put " + count
@@ -127,9 +127,9 @@ class RepairCastFromGraveyardTriggeredAbility extends TriggeredAbilityImpl {
}
}
-class RepairBeginningOfUpkeepTriggeredAbility extends ConditionalTriggeredAbility {
+class RepairBeginningOfUpkeepInterveningIfTriggeredAbility extends ConditionalInterveningIfTriggeredAbility {
- public RepairBeginningOfUpkeepTriggeredAbility() {
+ public RepairBeginningOfUpkeepInterveningIfTriggeredAbility() {
super(new BeginningOfUpkeepTriggeredAbility(Zone.GRAVEYARD, new RemoveCounterSourceEffect(CounterType.REPAIR.createInstance()), TargetController.YOU, false),
new SourceHasCounterCondition(CounterType.REPAIR),
"At the beginning of your upkeep, remove a repair counter from {this}");
@@ -137,12 +137,12 @@ class RepairBeginningOfUpkeepTriggeredAbility extends ConditionalTriggeredAbilit
}
- public RepairBeginningOfUpkeepTriggeredAbility(final RepairBeginningOfUpkeepTriggeredAbility effect) {
+ public RepairBeginningOfUpkeepInterveningIfTriggeredAbility(final RepairBeginningOfUpkeepInterveningIfTriggeredAbility effect) {
super(effect);
}
@Override
- public RepairBeginningOfUpkeepTriggeredAbility copy() {
- return new RepairBeginningOfUpkeepTriggeredAbility(this);
+ public RepairBeginningOfUpkeepInterveningIfTriggeredAbility copy() {
+ return new RepairBeginningOfUpkeepInterveningIfTriggeredAbility(this);
}
}
diff --git a/Mage/src/main/java/mage/abilities/keyword/SuspendAbility.java b/Mage/src/main/java/mage/abilities/keyword/SuspendAbility.java
index 159e761634e..7c4d3afdc43 100644
--- a/Mage/src/main/java/mage/abilities/keyword/SuspendAbility.java
+++ b/Mage/src/main/java/mage/abilities/keyword/SuspendAbility.java
@@ -14,7 +14,7 @@ import mage.abilities.condition.common.SuspendedCondition;
import mage.abilities.costs.mana.ManaCost;
import mage.abilities.costs.mana.ManaCostsImpl;
import mage.abilities.costs.mana.VariableManaCost;
-import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.ContinuousEffect;
import mage.abilities.effects.ContinuousEffectImpl;
import mage.abilities.effects.OneShotEffect;
@@ -154,7 +154,7 @@ public class SuspendAbility extends SpecialAction {
if (card.getManaCost().isEmpty()) {
setRuleAtTheTop(true);
}
- addSubAbility(new SuspendBeginningOfUpkeepTriggeredAbility());
+ addSubAbility(new SuspendBeginningOfUpkeepInterveningIfTriggeredAbility());
addSubAbility(new SuspendPlayCardAbility());
}
ruleText = sb.toString();
@@ -174,7 +174,7 @@ public class SuspendAbility extends SpecialAction {
ability.setControllerId(card.getOwnerId());
game.getState().addOtherAbility(card, ability);
- SuspendBeginningOfUpkeepTriggeredAbility ability1 = new SuspendBeginningOfUpkeepTriggeredAbility();
+ SuspendBeginningOfUpkeepInterveningIfTriggeredAbility ability1 = new SuspendBeginningOfUpkeepInterveningIfTriggeredAbility();
ability1.setSourceId(card.getId());
ability1.setControllerId(card.getOwnerId());
game.getState().addOtherAbility(card, ability1);
@@ -343,7 +343,7 @@ class SuspendPlayCardEffect extends OneShotEffect {
}
if (!abilitiesToRemove.isEmpty()) {
for (Ability ability : card.getAbilities()) {
- if (ability instanceof SuspendBeginningOfUpkeepTriggeredAbility || ability instanceof SuspendPlayCardAbility) {
+ if (ability instanceof SuspendBeginningOfUpkeepInterveningIfTriggeredAbility || ability instanceof SuspendPlayCardAbility) {
abilitiesToRemove.add(ability);
}
}
@@ -405,9 +405,9 @@ class GainHasteEffect extends ContinuousEffectImpl {
}
-class SuspendBeginningOfUpkeepTriggeredAbility extends ConditionalTriggeredAbility {
+class SuspendBeginningOfUpkeepInterveningIfTriggeredAbility extends ConditionalInterveningIfTriggeredAbility {
- public SuspendBeginningOfUpkeepTriggeredAbility() {
+ public SuspendBeginningOfUpkeepInterveningIfTriggeredAbility() {
super(new BeginningOfUpkeepTriggeredAbility(Zone.EXILED, new RemoveCounterSourceEffect(CounterType.TIME.createInstance()), TargetController.YOU, false),
SuspendedCondition.instance,
"At the beginning of your upkeep, if this card ({this}) is suspended, remove a time counter from it.");
@@ -415,12 +415,12 @@ class SuspendBeginningOfUpkeepTriggeredAbility extends ConditionalTriggeredAbili
}
- public SuspendBeginningOfUpkeepTriggeredAbility(final SuspendBeginningOfUpkeepTriggeredAbility effect) {
+ public SuspendBeginningOfUpkeepInterveningIfTriggeredAbility(final SuspendBeginningOfUpkeepInterveningIfTriggeredAbility effect) {
super(effect);
}
@Override
- public SuspendBeginningOfUpkeepTriggeredAbility copy() {
- return new SuspendBeginningOfUpkeepTriggeredAbility(this);
+ public SuspendBeginningOfUpkeepInterveningIfTriggeredAbility copy() {
+ return new SuspendBeginningOfUpkeepInterveningIfTriggeredAbility(this);
}
}
diff --git a/Mage/src/main/java/mage/abilities/meta/OrTriggeredAbility.java b/Mage/src/main/java/mage/abilities/meta/OrTriggeredAbility.java
index 053dccf41a7..ebd11af1fb6 100644
--- a/Mage/src/main/java/mage/abilities/meta/OrTriggeredAbility.java
+++ b/Mage/src/main/java/mage/abilities/meta/OrTriggeredAbility.java
@@ -9,18 +9,21 @@ import mage.game.Game;
import mage.game.events.GameEvent;
import mage.watchers.Watcher;
+import java.util.ArrayList;
+import java.util.List;
import java.util.UUID;
/**
* A triggered ability that combines several others and triggers whenever one or more of them would. The abilities
* passed in should have null as their effect, and should have their own targets set if necessary. All other information
- * will be passed in from changes to this Ability.
+ * will be passed in from changes to this Ability. Note: this does NOT work with abilities that have intervening if clauses.
* @author noahg
*/
public class OrTriggeredAbility extends TriggeredAbilityImpl {
private final String ruleTrigger;
private TriggeredAbility[] triggeredAbilities;
+ private List triggeringAbilities;
public OrTriggeredAbility(Zone zone, Effect effect, TriggeredAbility... abilities) {
this(zone, effect, false, null, abilities);
@@ -30,6 +33,7 @@ public class OrTriggeredAbility extends TriggeredAbilityImpl {
super(zone, effect, optional);
this.triggeredAbilities = abilities;
this.ruleTrigger = ruleTrigger;
+ this.triggeringAbilities = new ArrayList<>();
for (TriggeredAbility ability : triggeredAbilities) {
//Remove useless data
ability.getEffects().clear();
@@ -42,6 +46,7 @@ public class OrTriggeredAbility extends TriggeredAbilityImpl {
for (int i = 0; i < this.triggeredAbilities.length; i++){
this.triggeredAbilities[i] = ability.triggeredAbilities[i].copy();
}
+ this.triggeringAbilities = new ArrayList<>(ability.triggeringAbilities);
this.ruleTrigger = ability.ruleTrigger;
}
@@ -59,14 +64,17 @@ public class OrTriggeredAbility extends TriggeredAbilityImpl {
@Override
public boolean checkTrigger(GameEvent event, Game game) {
- for (TriggeredAbility ability : triggeredAbilities) {
- if (ability.checkEventType(event, game) && ability.checkTrigger(event, game)){
- System.out.println("Triggered from "+ability.getRule());
- return true;
+ boolean toRet = false;
+ for (int i = 0; i < triggeredAbilities.length; i++) {
+ TriggeredAbility ability = triggeredAbilities[i];
+ if (ability.checkEventType(event, game) && ability.checkTrigger(event, game)) {
+ System.out.println("Triggered from " + ability.getRule());
+ triggeringAbilities.add(i);
+ toRet = true;
}
- System.out.println("Checked "+ability.getRule());
+ System.out.println("Checked " + ability.getRule());
}
- return false;
+ return toRet;
}
@Override
@@ -125,24 +133,4 @@ public class OrTriggeredAbility extends TriggeredAbilityImpl {
ability.setSourceObject(sourceObject, game);
}
}
-
- @Override
- public boolean checkInterveningIfClause(Game game) {
- for (TriggeredAbility ability : triggeredAbilities) {
- if (!ability.checkInterveningIfClause(game)){
- return false;
- }
- }
- return true;
- }
-
- @Override
- public boolean checkIfClause(Game game) {
- for (TriggeredAbility ability : triggeredAbilities) {
- if (!ability.checkIfClause(game)){
- return false;
- }
- }
- return true;
- }
}