diff --git a/Mage.Sets/src/mage/cards/a/AAT1.java b/Mage.Sets/src/mage/cards/a/AAT1.java
index 4e4bac71b51..f1263e5904b 100644
--- a/Mage.Sets/src/mage/cards/a/AAT1.java
+++ b/Mage.Sets/src/mage/cards/a/AAT1.java
@@ -59,6 +59,7 @@ public final class AAT1 extends CardImpl {
public AAT1TriggeredAbility(Effect effect) {
super(Zone.BATTLEFIELD, effect);
+ setTriggerPhrase("Whenever a repair counter is removed from a creature card in your graveyard ");
}
public AAT1TriggeredAbility(AAT1TriggeredAbility ability) {
@@ -83,11 +84,6 @@ public final class AAT1 extends CardImpl {
return false;
}
- @Override
- public String getTriggerPhrase() {
- return "Whenever a repair counter is removed from a creature card in your graveyard " ;
- }
-
@Override
public AAT1TriggeredAbility copy() {
return new AAT1TriggeredAbility(this);
diff --git a/Mage.Sets/src/mage/cards/a/AdarkarValkyrie.java b/Mage.Sets/src/mage/cards/a/AdarkarValkyrie.java
index b7efc2fde8a..3f86c6a238a 100644
--- a/Mage.Sets/src/mage/cards/a/AdarkarValkyrie.java
+++ b/Mage.Sets/src/mage/cards/a/AdarkarValkyrie.java
@@ -99,6 +99,7 @@ class AdarkarValkyrieDelayedTriggeredAbility extends DelayedTriggeredAbility {
public AdarkarValkyrieDelayedTriggeredAbility(MageObjectReference mor) {
super(new ReturnToBattlefieldUnderYourControlTargetEffect(), Duration.EndOfTurn);
this.mor = mor;
+ setTriggerPhrase("When target creature other than {this} dies this turn, " );
}
public AdarkarValkyrieDelayedTriggeredAbility(final AdarkarValkyrieDelayedTriggeredAbility ability) {
@@ -130,9 +131,4 @@ class AdarkarValkyrieDelayedTriggeredAbility extends DelayedTriggeredAbility {
return true;
}
-
- @Override
- public String getTriggerPhrase() {
- return "When target creature other than {this} dies this turn, " ;
- }
}
diff --git a/Mage.Sets/src/mage/cards/a/AeonChronicler.java b/Mage.Sets/src/mage/cards/a/AeonChronicler.java
index 37ef8b03d4e..3e493fed3ce 100644
--- a/Mage.Sets/src/mage/cards/a/AeonChronicler.java
+++ b/Mage.Sets/src/mage/cards/a/AeonChronicler.java
@@ -59,6 +59,7 @@ class AeonChroniclerTriggeredAbility extends TriggeredAbilityImpl {
public AeonChroniclerTriggeredAbility() {
super(Zone.EXILED, new DrawCardSourceControllerEffect(1), false);
+ setTriggerPhrase("Whenever a time counter is removed from {this} while it's exiled, " );
}
public AeonChroniclerTriggeredAbility(final AeonChroniclerTriggeredAbility ability) {
@@ -79,10 +80,4 @@ class AeonChroniclerTriggeredAbility extends TriggeredAbilityImpl {
public boolean checkTrigger(GameEvent event, Game game) {
return Objects.equals(event.getData(), CounterType.TIME.getName()) && event.getTargetId().equals(this.getSourceId());
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever a time counter is removed from {this} while it's exiled, " ;
- }
-
}
diff --git a/Mage.Sets/src/mage/cards/a/AkoumFirebird.java b/Mage.Sets/src/mage/cards/a/AkoumFirebird.java
index 4f729a90632..1a0b55b571f 100644
--- a/Mage.Sets/src/mage/cards/a/AkoumFirebird.java
+++ b/Mage.Sets/src/mage/cards/a/AkoumFirebird.java
@@ -61,6 +61,7 @@ class AkoumFirebirdLandfallAbility extends TriggeredAbilityImpl {
public AkoumFirebirdLandfallAbility(Effect effect, boolean optional) {
this(Zone.GRAVEYARD, effect, optional);
+ setTriggerPhrase("Landfall — Whenever a land enters the battlefield under your control, " );
}
public AkoumFirebirdLandfallAbility (Zone zone, Effect effect, boolean optional ) {
@@ -82,11 +83,6 @@ class AkoumFirebirdLandfallAbility extends TriggeredAbilityImpl {
return permanent != null && permanent.isLand(game) && permanent.isControlledBy(this.controllerId);
}
- @Override
- public String getTriggerPhrase() {
- return "Landfall — Whenever a land enters the battlefield under your control, " ;
- }
-
@Override
public AkoumFirebirdLandfallAbility copy() {
return new AkoumFirebirdLandfallAbility(this);
diff --git a/Mage.Sets/src/mage/cards/a/AnjeMaidOfDishonor.java b/Mage.Sets/src/mage/cards/a/AnjeMaidOfDishonor.java
index 60992503a43..68d20723604 100644
--- a/Mage.Sets/src/mage/cards/a/AnjeMaidOfDishonor.java
+++ b/Mage.Sets/src/mage/cards/a/AnjeMaidOfDishonor.java
@@ -72,6 +72,7 @@ class AnjeMaidOfDishonorTriggeredAbility extends TriggeredAbilityImpl {
public AnjeMaidOfDishonorTriggeredAbility() {
super(Zone.BATTLEFIELD, new CreateTokenEffect(new BloodToken()));
this.setTriggersOnce(true);
+ setTriggerPhrase("Whenever {this} and/or one or more other Vampires enter the battlefield under your control, ");
}
private AnjeMaidOfDishonorTriggeredAbility(final AnjeMaidOfDishonorTriggeredAbility ability) {
@@ -96,11 +97,6 @@ class AnjeMaidOfDishonorTriggeredAbility extends TriggeredAbilityImpl {
}
return false;
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever {this} and/or one or more other Vampires enter the battlefield under your control, ";
- }
}
enum AnjeMaidOfDishonorPredicate implements ObjectSourcePlayerPredicate {
diff --git a/Mage.Sets/src/mage/cards/a/ArashinWarBeast.java b/Mage.Sets/src/mage/cards/a/ArashinWarBeast.java
index 21fe3683bf5..74f6d729067 100644
--- a/Mage.Sets/src/mage/cards/a/ArashinWarBeast.java
+++ b/Mage.Sets/src/mage/cards/a/ArashinWarBeast.java
@@ -58,6 +58,7 @@ class ArashinWarBeastTriggeredAbility extends TriggeredAbilityImpl {
public ArashinWarBeastTriggeredAbility(Effect effect, boolean optional) {
super(Zone.BATTLEFIELD, effect, optional);
this.usedForCombatDamageStep = false;
+ setTriggerPhrase("Whenever {this} deals combat damage to one or more blockers, ");
}
public ArashinWarBeastTriggeredAbility(final ArashinWarBeastTriggeredAbility ability) {
@@ -95,9 +96,4 @@ class ArashinWarBeastTriggeredAbility extends TriggeredAbilityImpl {
}
return false;
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever {this} deals combat damage to one or more blockers, " ;
- }
}
diff --git a/Mage.Sets/src/mage/cards/a/ArcboundTracker.java b/Mage.Sets/src/mage/cards/a/ArcboundTracker.java
index a5310f08398..8fafa54f453 100644
--- a/Mage.Sets/src/mage/cards/a/ArcboundTracker.java
+++ b/Mage.Sets/src/mage/cards/a/ArcboundTracker.java
@@ -53,6 +53,7 @@ class ArcboundTrackerTriggeredAbility extends TriggeredAbilityImpl {
public ArcboundTrackerTriggeredAbility() {
super(Zone.BATTLEFIELD, new AddCountersSourceEffect(CounterType.P1P1.createInstance()));
+ setTriggerPhrase("Whenever you cast a spell other than your first spell each turn, ");
}
private ArcboundTrackerTriggeredAbility(final ArcboundTrackerTriggeredAbility ability) {
@@ -77,9 +78,4 @@ class ArcboundTrackerTriggeredAbility extends TriggeredAbilityImpl {
}
return false;
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever you cast a spell other than your first spell each turn, " ;
- }
}
diff --git a/Mage.Sets/src/mage/cards/a/AsLuckWouldHaveIt.java b/Mage.Sets/src/mage/cards/a/AsLuckWouldHaveIt.java
index 6afbc6c4822..1d1402717e6 100644
--- a/Mage.Sets/src/mage/cards/a/AsLuckWouldHaveIt.java
+++ b/Mage.Sets/src/mage/cards/a/AsLuckWouldHaveIt.java
@@ -50,6 +50,7 @@ class AsLuckWouldHaveItTriggeredAbility extends TriggeredAbilityImpl {
public AsLuckWouldHaveItTriggeredAbility() {
super(Zone.BATTLEFIELD, new AsLuckWouldHaveItEffect(), false);
+ setTriggerPhrase("Whenever you roll a die, ");
}
public AsLuckWouldHaveItTriggeredAbility(final AsLuckWouldHaveItTriggeredAbility ability) {
@@ -79,11 +80,6 @@ class AsLuckWouldHaveItTriggeredAbility extends TriggeredAbilityImpl {
}
return false;
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever you roll a die, " ;
- }
}
class AsLuckWouldHaveItEffect extends OneShotEffect {
diff --git a/Mage.Sets/src/mage/cards/a/AthreosGodOfPassage.java b/Mage.Sets/src/mage/cards/a/AthreosGodOfPassage.java
index 10764d4ef63..41daeed153b 100644
--- a/Mage.Sets/src/mage/cards/a/AthreosGodOfPassage.java
+++ b/Mage.Sets/src/mage/cards/a/AthreosGodOfPassage.java
@@ -121,6 +121,7 @@ class AthreosDiesCreatureTriggeredAbility extends TriggeredAbilityImpl {
AthreosDiesCreatureTriggeredAbility(Effect effect, boolean optional, FilterCreaturePermanent filter) {
super(Zone.BATTLEFIELD, effect, optional);
this.filter = filter;
+ setTriggerPhrase("Whenever " + filter.getMessage() + " dies, ");
}
private AthreosDiesCreatureTriggeredAbility(AthreosDiesCreatureTriggeredAbility ability) {
@@ -152,9 +153,4 @@ class AthreosDiesCreatureTriggeredAbility extends TriggeredAbilityImpl {
}
return true;
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever " + filter.getMessage() + " dies, " ;
- }
}
diff --git a/Mage.Sets/src/mage/cards/a/AwakenTheSkyTyrant.java b/Mage.Sets/src/mage/cards/a/AwakenTheSkyTyrant.java
index 27c58a1131e..cf43c51b012 100644
--- a/Mage.Sets/src/mage/cards/a/AwakenTheSkyTyrant.java
+++ b/Mage.Sets/src/mage/cards/a/AwakenTheSkyTyrant.java
@@ -41,6 +41,7 @@ class AwakenTheSkyTyrantTriggeredAbility extends TriggeredAbilityImpl {
public AwakenTheSkyTyrantTriggeredAbility() {
super(Zone.BATTLEFIELD, new DoIfCostPaid(new CreateTokenEffect(new DragonToken2(), 1), new SacrificeSourceCost(), null, false), false);
+ setTriggerPhrase("When a source an opponent controls deals damage to you, ");
}
public AwakenTheSkyTyrantTriggeredAbility(final AwakenTheSkyTyrantTriggeredAbility ability) {
@@ -67,9 +68,4 @@ class AwakenTheSkyTyrantTriggeredAbility extends TriggeredAbilityImpl {
}
return false;
}
-
- @Override
- public String getTriggerPhrase() {
- return "When a source an opponent controls deals damage to you, " ;
- }
}
diff --git a/Mage.Sets/src/mage/cards/a/AzoriusAethermage.java b/Mage.Sets/src/mage/cards/a/AzoriusAethermage.java
index 10a0b598ab1..1539a5cca56 100644
--- a/Mage.Sets/src/mage/cards/a/AzoriusAethermage.java
+++ b/Mage.Sets/src/mage/cards/a/AzoriusAethermage.java
@@ -49,10 +49,9 @@ public final class AzoriusAethermage extends CardImpl {
class AzoriusAEthermageAbility extends TriggeredAbilityImpl {
- private static final String rule = "Whenever a permanent is returned to your hand, ";
-
public AzoriusAEthermageAbility(Effect effect) {
super(Zone.BATTLEFIELD, effect, false);
+ setTriggerPhrase("Whenever a permanent is returned to your hand, ");
}
private AzoriusAEthermageAbility(final AzoriusAEthermageAbility ability) {
@@ -83,11 +82,6 @@ class AzoriusAEthermageAbility extends TriggeredAbilityImpl {
return StaticFilters.FILTER_PERMANENT_CREATURE.match(permanentThatMoved, controllerId, this, game);
}
- @Override
- public String getTriggerPhrase() {
- return rule;
- }
-
@Override
public AzoriusAEthermageAbility copy() {
return new AzoriusAEthermageAbility(this);
diff --git a/Mage.Sets/src/mage/cards/a/AzorsElocutors.java b/Mage.Sets/src/mage/cards/a/AzorsElocutors.java
index 1f31d9a5ac9..68a7ef93559 100644
--- a/Mage.Sets/src/mage/cards/a/AzorsElocutors.java
+++ b/Mage.Sets/src/mage/cards/a/AzorsElocutors.java
@@ -52,6 +52,7 @@ class AzorsElocutorsTriggeredAbility extends TriggeredAbilityImpl {
public AzorsElocutorsTriggeredAbility() {
super(Zone.BATTLEFIELD, new RemoveCounterSourceEffect(CounterType.FILIBUSTER.createInstance()), false);
+ setTriggerPhrase("Whenever a source deals damage to you, ");
}
public AzorsElocutorsTriggeredAbility(final AzorsElocutorsTriggeredAbility ability) {
@@ -72,12 +73,6 @@ class AzorsElocutorsTriggeredAbility extends TriggeredAbilityImpl {
public boolean checkTrigger(GameEvent event, Game game) {
return event.getTargetId().equals(this.controllerId);
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever a source deals damage to you, " ;
- }
-
}
class AzorsElocutorsEffect extends OneShotEffect {
diff --git a/Mage.Sets/src/mage/cards/b/BaronVonCount.java b/Mage.Sets/src/mage/cards/b/BaronVonCount.java
index 063be647844..ef3ccbc1599 100644
--- a/Mage.Sets/src/mage/cards/b/BaronVonCount.java
+++ b/Mage.Sets/src/mage/cards/b/BaronVonCount.java
@@ -104,6 +104,7 @@ class BaronVonCountTriggeredAbility extends TriggeredAbilityImpl {
public BaronVonCountTriggeredAbility() {
super(Zone.BATTLEFIELD, new BaronVonCountMoveDoomCounterEffect());
+ setTriggerPhrase("Whenever you cast a spell with the indicated numeral in its mana cost, text box, power, or toughness, ");
}
public BaronVonCountTriggeredAbility(final BaronVonCountTriggeredAbility abiltity) {
@@ -150,11 +151,6 @@ class BaronVonCountTriggeredAbility extends TriggeredAbilityImpl {
}
return false;
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever you cast a spell with the indicated numeral in its mana cost, text box, power, or toughness, " ;
- }
}
class BaronVonCountMoveDoomCounterEffect extends OneShotEffect {
@@ -203,6 +199,7 @@ class BaronVonCountSecondTriggeredAbility extends TriggeredAbilityImpl {
public BaronVonCountSecondTriggeredAbility() {
super(Zone.BATTLEFIELD, new BaronVonCountDestroyPlayerEffect());
this.addTarget(new TargetPlayer());
+ setTriggerPhrase("When the doom counter moves from \"1,\" ");
}
public BaronVonCountSecondTriggeredAbility(BaronVonCountSecondTriggeredAbility ability) {
@@ -223,11 +220,6 @@ class BaronVonCountSecondTriggeredAbility extends TriggeredAbilityImpl {
public BaronVonCountSecondTriggeredAbility copy() {
return new BaronVonCountSecondTriggeredAbility(this);
}
-
- @Override
- public String getTriggerPhrase() {
- return "When the doom counter moves from \"1,\" " ;
- }
}
class BaronVonCountDestroyPlayerEffect extends OneShotEffect {
diff --git a/Mage.Sets/src/mage/cards/b/BattleOfFrostAndFire.java b/Mage.Sets/src/mage/cards/b/BattleOfFrostAndFire.java
index 57c19aebf73..b8796742f97 100644
--- a/Mage.Sets/src/mage/cards/b/BattleOfFrostAndFire.java
+++ b/Mage.Sets/src/mage/cards/b/BattleOfFrostAndFire.java
@@ -71,6 +71,7 @@ class BattleOfFrostAndFireTriggeredAbility extends DelayedTriggeredAbility {
public BattleOfFrostAndFireTriggeredAbility() {
super(new DrawDiscardControllerEffect(2, 1), Duration.EndOfTurn, false);
+ setTriggerPhrase("Whenever you cast a spell with mana value 5 or greater this turn, ");
}
private BattleOfFrostAndFireTriggeredAbility(BattleOfFrostAndFireTriggeredAbility ability) {
@@ -95,9 +96,4 @@ class BattleOfFrostAndFireTriggeredAbility extends DelayedTriggeredAbility {
}
return false;
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever you cast a spell with mana value 5 or greater this turn, " ;
- }
}
diff --git a/Mage.Sets/src/mage/cards/b/BenalishCommander.java b/Mage.Sets/src/mage/cards/b/BenalishCommander.java
index 4ab238379dc..6130e0334cd 100644
--- a/Mage.Sets/src/mage/cards/b/BenalishCommander.java
+++ b/Mage.Sets/src/mage/cards/b/BenalishCommander.java
@@ -66,6 +66,7 @@ class BenalishCommanderTriggeredAbility extends TriggeredAbilityImpl {
public BenalishCommanderTriggeredAbility() {
super(Zone.EXILED, new CreateTokenEffect(new SoldierToken()), false);
+ setTriggerPhrase("Whenever a time counter is removed from {this} while it's exiled, ");
}
public BenalishCommanderTriggeredAbility(final BenalishCommanderTriggeredAbility ability) {
@@ -86,10 +87,4 @@ class BenalishCommanderTriggeredAbility extends TriggeredAbilityImpl {
public boolean checkTrigger(GameEvent event, Game game) {
return event.getData().equals(CounterType.TIME.getName()) && event.getTargetId().equals(this.getSourceId());
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever a time counter is removed from {this} while it's exiled, " ;
- }
-
}
diff --git a/Mage.Sets/src/mage/cards/b/BlackVise.java b/Mage.Sets/src/mage/cards/b/BlackVise.java
index 5d5a549cc83..d9ee205753f 100644
--- a/Mage.Sets/src/mage/cards/b/BlackVise.java
+++ b/Mage.Sets/src/mage/cards/b/BlackVise.java
@@ -45,6 +45,7 @@ class BlackViseTriggeredAbility extends TriggeredAbilityImpl {
public BlackViseTriggeredAbility() {
super(Zone.BATTLEFIELD, new BlackViseEffect(), false);
+ setTriggerPhrase("At the beginning of the chosen player's upkeep, ");
}
public BlackViseTriggeredAbility(final BlackViseTriggeredAbility ability) {
@@ -65,11 +66,6 @@ class BlackViseTriggeredAbility extends TriggeredAbilityImpl {
public boolean checkTrigger(GameEvent event, Game game) {
return event.getPlayerId().equals(game.getState().getValue(getSourceId().toString() + ChooseOpponentEffect.VALUE_KEY));
}
-
- @Override
- public String getTriggerPhrase() {
- return "At the beginning of the chosen player's upkeep, " ;
- }
}
class BlackViseEffect extends OneShotEffect {
diff --git a/Mage.Sets/src/mage/cards/b/BlazeCommando.java b/Mage.Sets/src/mage/cards/b/BlazeCommando.java
index 95c29197f76..9a56c19f8c0 100644
--- a/Mage.Sets/src/mage/cards/b/BlazeCommando.java
+++ b/Mage.Sets/src/mage/cards/b/BlazeCommando.java
@@ -57,6 +57,7 @@ class BlazeCommandoTriggeredAbility extends TriggeredAbilityImpl {
public BlazeCommandoTriggeredAbility() {
super(Zone.BATTLEFIELD, new CreateTokenEffect(new SoldierTokenWithHaste(), 2), false);
+ setTriggerPhrase("Whenever an instant or sorcery spell you control deals damage, ");
}
public BlazeCommandoTriggeredAbility(final BlazeCommandoTriggeredAbility ability) {
@@ -102,9 +103,4 @@ class BlazeCommandoTriggeredAbility extends TriggeredAbilityImpl {
}
return false;
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever an instant or sorcery spell you control deals damage, " ;
- }
}
diff --git a/Mage.Sets/src/mage/cards/b/BlindCreeper.java b/Mage.Sets/src/mage/cards/b/BlindCreeper.java
index c6ed7c45ed4..97051421562 100644
--- a/Mage.Sets/src/mage/cards/b/BlindCreeper.java
+++ b/Mage.Sets/src/mage/cards/b/BlindCreeper.java
@@ -46,6 +46,7 @@ class BlindCreeperAbility extends TriggeredAbilityImpl {
public BlindCreeperAbility() {
super(Zone.BATTLEFIELD, new BoostSourceEffect(-1, -1, Duration.EndOfTurn), false);
+ setTriggerPhrase("Whenever a player casts a spell, ");
}
public BlindCreeperAbility(final BlindCreeperAbility ability) {
@@ -66,9 +67,4 @@ class BlindCreeperAbility extends TriggeredAbilityImpl {
public boolean checkTrigger(GameEvent event, Game game) {
return game.getStack().getSpell(event.getTargetId()) != null;
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever a player casts a spell, " ;
- }
}
\ No newline at end of file
diff --git a/Mage.Sets/src/mage/cards/b/BloodcrazedHoplite.java b/Mage.Sets/src/mage/cards/b/BloodcrazedHoplite.java
index 2eb3ca6f5b5..7f8ab0b2da8 100644
--- a/Mage.Sets/src/mage/cards/b/BloodcrazedHoplite.java
+++ b/Mage.Sets/src/mage/cards/b/BloodcrazedHoplite.java
@@ -54,6 +54,7 @@ class BloodcrazedHopliteTriggeredAbility extends TriggeredAbilityImpl {
public BloodcrazedHopliteTriggeredAbility() {
super(Zone.ALL, new RemoveCounterTargetEffect(CounterType.P1P1.createInstance()), false);
+ setTriggerPhrase("Whenever a +1/+1 counter is put on {this}, ");
}
public BloodcrazedHopliteTriggeredAbility(BloodcrazedHopliteTriggeredAbility ability) {
@@ -74,9 +75,4 @@ class BloodcrazedHopliteTriggeredAbility extends TriggeredAbilityImpl {
public BloodcrazedHopliteTriggeredAbility copy() {
return new BloodcrazedHopliteTriggeredAbility(this);
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever a +1/+1 counter is put on {this}, " ;
- }
}
diff --git a/Mage.Sets/src/mage/cards/b/Bloodletter.java b/Mage.Sets/src/mage/cards/b/Bloodletter.java
index ace3e39ce06..8dfe53cb9f4 100644
--- a/Mage.Sets/src/mage/cards/b/Bloodletter.java
+++ b/Mage.Sets/src/mage/cards/b/Bloodletter.java
@@ -50,6 +50,7 @@ class BloodletterStateTriggeredAbility extends StateTriggeredAbility {
public BloodletterStateTriggeredAbility() {
super(Zone.BATTLEFIELD, new BloodletterEffect());
+ setTriggerPhrase("When the names of three or more nonland permanents begin with the same letter, ");
}
public BloodletterStateTriggeredAbility(final BloodletterStateTriggeredAbility ability) {
@@ -76,11 +77,6 @@ class BloodletterStateTriggeredAbility extends StateTriggeredAbility {
}
return false;
}
-
- @Override
- public String getTriggerPhrase() {
- return "When the names of three or more nonland permanents begin with the same letter, " ;
- }
}
class BloodletterEffect extends OneShotEffect {
diff --git a/Mage.Sets/src/mage/cards/b/BloodstoneGoblin.java b/Mage.Sets/src/mage/cards/b/BloodstoneGoblin.java
index 52b4237018d..9d47e1059af 100644
--- a/Mage.Sets/src/mage/cards/b/BloodstoneGoblin.java
+++ b/Mage.Sets/src/mage/cards/b/BloodstoneGoblin.java
@@ -58,6 +58,7 @@ class BloodstoneGoblinTriggeredAbility extends TriggeredAbilityImpl {
Duration.EndOfTurn
).setText("and gains menace until end of turn. "
+ "(It can't be blocked except by two or more creatures.)"));
+ setTriggerPhrase("Whenever you cast a spell, if that spell was kicked, ");
}
BloodstoneGoblinTriggeredAbility(final BloodstoneGoblinTriggeredAbility ability) {
@@ -79,9 +80,4 @@ class BloodstoneGoblinTriggeredAbility extends TriggeredAbilityImpl {
public boolean checkTrigger(GameEvent event, Game game) {
return KickerAbility.getSpellKickedCount(game, event.getTargetId()) > 0;
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever you cast a spell, if that spell was kicked, ";
- }
}
diff --git a/Mage.Sets/src/mage/cards/b/BombSquad.java b/Mage.Sets/src/mage/cards/b/BombSquad.java
index 2a02873daac..c076f776e1e 100644
--- a/Mage.Sets/src/mage/cards/b/BombSquad.java
+++ b/Mage.Sets/src/mage/cards/b/BombSquad.java
@@ -14,6 +14,7 @@ import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.*;
import mage.counters.CounterType;
+import mage.filter.StaticFilters;
import mage.filter.common.FilterCreaturePermanent;
import mage.game.Game;
import mage.game.events.GameEvent;
@@ -65,10 +66,9 @@ public final class BombSquad extends CardImpl {
class BombSquadTriggeredAbility extends TriggeredAbilityImpl {
- private static final FilterCreaturePermanent filter = new FilterCreaturePermanent();
-
public BombSquadTriggeredAbility() {
super(Zone.BATTLEFIELD, new BombSquadDamgeEffect(), false);
+ setTriggerPhrase("Whenever a creature has four or more fuse counters on it, ");
}
public BombSquadTriggeredAbility(final BombSquadTriggeredAbility ability) {
@@ -89,7 +89,7 @@ class BombSquadTriggeredAbility extends TriggeredAbilityImpl {
public boolean checkTrigger(GameEvent event, Game game) {
if (event.getData().equals(CounterType.FUSE.getName())) {
Permanent permanent = game.getPermanent(event.getTargetId());
- if (filter.match(permanent, game)) {
+ if (StaticFilters.FILTER_PERMANENT_CREATURE.match(permanent, game)) {
if (4 <= permanent.getCounters(game).getCount(CounterType.FUSE)) {
for (Effect effect : this.getEffects()) {
effect.setTargetPointer(new FixedTarget(permanent, game));
@@ -100,11 +100,6 @@ class BombSquadTriggeredAbility extends TriggeredAbilityImpl {
}
return false;
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever a creature has four or more fuse counters on it, " ;
- }
}
class BombSquadDamgeEffect extends OneShotEffect {
diff --git a/Mage.Sets/src/mage/cards/b/BoneyardScourge.java b/Mage.Sets/src/mage/cards/b/BoneyardScourge.java
index 1caa4e91b23..b98e7b3d4e8 100644
--- a/Mage.Sets/src/mage/cards/b/BoneyardScourge.java
+++ b/Mage.Sets/src/mage/cards/b/BoneyardScourge.java
@@ -69,6 +69,7 @@ class DiesWhileInGraveyardTriggeredAbility extends TriggeredAbilityImpl {
public DiesWhileInGraveyardTriggeredAbility(Effect effect, FilterCreaturePermanent filter) {
super(Zone.GRAVEYARD, effect, false);
this.filter = filter;
+ setTriggerPhrase("Whenever " + filter.getMessage() + " dies while {this} is in your graveyard, ");
}
public DiesWhileInGraveyardTriggeredAbility(final DiesWhileInGraveyardTriggeredAbility ability) {
@@ -99,9 +100,4 @@ class DiesWhileInGraveyardTriggeredAbility extends TriggeredAbilityImpl {
return filter.match(zEvent.getTarget(), controllerId,this, game);
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever " + filter.getMessage() + " dies while {this} is in your graveyard, " ;
- }
}
diff --git a/Mage.Sets/src/mage/cards/b/BreathOfFury.java b/Mage.Sets/src/mage/cards/b/BreathOfFury.java
index 061eb9e8382..233b824ca6d 100644
--- a/Mage.Sets/src/mage/cards/b/BreathOfFury.java
+++ b/Mage.Sets/src/mage/cards/b/BreathOfFury.java
@@ -57,6 +57,7 @@ class BreathOfFuryAbility extends TriggeredAbilityImpl {
public BreathOfFuryAbility() {
super(Zone.BATTLEFIELD, new BreathOfFuryEffect());
+ setTriggerPhrase("When enchanted creature deals combat damage to a player, ");
}
public BreathOfFuryAbility(final BreathOfFuryAbility ability) {
@@ -90,11 +91,6 @@ class BreathOfFuryAbility extends TriggeredAbilityImpl {
}
return false;
}
-
- @Override
- public String getTriggerPhrase() {
- return "When enchanted creature deals combat damage to a player, " ;
- }
}
class BreathOfFuryEffect extends OneShotEffect {
diff --git a/Mage.Sets/src/mage/cards/b/BreathlessKnight.java b/Mage.Sets/src/mage/cards/b/BreathlessKnight.java
index 24fefa05ffc..65871fd1c20 100644
--- a/Mage.Sets/src/mage/cards/b/BreathlessKnight.java
+++ b/Mage.Sets/src/mage/cards/b/BreathlessKnight.java
@@ -56,6 +56,7 @@ class BreathlessKnightTriggeredAbility extends TriggeredAbilityImpl {
public BreathlessKnightTriggeredAbility() {
super(Zone.BATTLEFIELD, new AddCountersSourceEffect(CounterType.P1P1.createInstance()));
+ setTriggerPhrase("Whenever {this} or another creature enters the battlefield under your control, if that creature entered from a graveyard or you cast it from a graveyard, ");
}
private BreathlessKnightTriggeredAbility(final BreathlessKnightTriggeredAbility ability) {
@@ -88,9 +89,4 @@ class BreathlessKnightTriggeredAbility extends TriggeredAbilityImpl {
}
return false;
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever {this} or another creature enters the battlefield under your control, if that creature entered from a graveyard or you cast it from a graveyard, " ;
- }
}
diff --git a/Mage.Sets/src/mage/cards/b/BridgeFromBelow.java b/Mage.Sets/src/mage/cards/b/BridgeFromBelow.java
index aa737a43cc6..ce36f5d838a 100644
--- a/Mage.Sets/src/mage/cards/b/BridgeFromBelow.java
+++ b/Mage.Sets/src/mage/cards/b/BridgeFromBelow.java
@@ -62,6 +62,7 @@ class BridgeFromBelowAbility extends TriggeredAbilityImpl {
public BridgeFromBelowAbility(Effect effect, FilterCreaturePermanent filter) {
super(Zone.GRAVEYARD, effect, false);
this.filter = filter;
+ setTriggerPhrase(filter.getMessage() + ", if {this} is in your graveyard, ");
}
public BridgeFromBelowAbility(BridgeFromBelowAbility ability) {
@@ -96,9 +97,4 @@ class BridgeFromBelowAbility extends TriggeredAbilityImpl {
return controller != null
&& controller.getGraveyard().contains(this.getSourceId());
}
-
- @Override
- public String getTriggerPhrase() {
- return filter.getMessage() + ", if {this} is in your graveyard, " ;
- }
}
diff --git a/Mage.Sets/src/mage/cards/b/BronzeBombshell.java b/Mage.Sets/src/mage/cards/b/BronzeBombshell.java
index 0babf39c9fa..b73226ad36f 100644
--- a/Mage.Sets/src/mage/cards/b/BronzeBombshell.java
+++ b/Mage.Sets/src/mage/cards/b/BronzeBombshell.java
@@ -49,6 +49,7 @@ class LoseControlTriggeredAbility extends TriggeredAbilityImpl {
public LoseControlTriggeredAbility(Effect effect, boolean optional) {
super(Zone.BATTLEFIELD, effect, optional);
+ setTriggerPhrase("When a player other than {this}'s owner controls it, ");
}
public LoseControlTriggeredAbility(final LoseControlTriggeredAbility ability) {
@@ -76,11 +77,6 @@ class LoseControlTriggeredAbility extends TriggeredAbilityImpl {
}
return false;
}
-
- @Override
- public String getTriggerPhrase() {
- return "When a player other than {this}'s owner controls it, " ;
- }
}
class BronzeBombshellEffect extends OneShotEffect {
diff --git a/Mage.Sets/src/mage/cards/b/BurningCinderFuryOfCrimsonChaosFire.java b/Mage.Sets/src/mage/cards/b/BurningCinderFuryOfCrimsonChaosFire.java
index 183e267127c..487d007743d 100644
--- a/Mage.Sets/src/mage/cards/b/BurningCinderFuryOfCrimsonChaosFire.java
+++ b/Mage.Sets/src/mage/cards/b/BurningCinderFuryOfCrimsonChaosFire.java
@@ -56,6 +56,7 @@ class BurningCinderFuryOfCrimsonChaosFireAbility extends TriggeredAbilityImpl {
public BurningCinderFuryOfCrimsonChaosFireAbility() {
super(Zone.BATTLEFIELD, new BurningCinderFuryOfCrimsonChaosFireEffect(), false);
+ setTriggerPhrase("Whenever any player taps a permanent, ");
}
public BurningCinderFuryOfCrimsonChaosFireAbility(BurningCinderFuryOfCrimsonChaosFireAbility ability) {
@@ -83,11 +84,6 @@ class BurningCinderFuryOfCrimsonChaosFireAbility extends TriggeredAbilityImpl {
public BurningCinderFuryOfCrimsonChaosFireAbility copy() {
return new BurningCinderFuryOfCrimsonChaosFireAbility(this);
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever any player taps a permanent, ";
- }
}
class BurningCinderFuryOfCrimsonChaosFireEffect extends OneShotEffect {
diff --git a/Mage.Sets/src/mage/cards/c/CanalCourier.java b/Mage.Sets/src/mage/cards/c/CanalCourier.java
index a69a59bdf9e..e63706c0a67 100644
--- a/Mage.Sets/src/mage/cards/c/CanalCourier.java
+++ b/Mage.Sets/src/mage/cards/c/CanalCourier.java
@@ -58,6 +58,7 @@ class CanalCourierTriggeredAbility extends TriggeredAbilityImpl {
public CanalCourierTriggeredAbility(Effect effect) {
super(Zone.BATTLEFIELD, effect);
+ setTriggerPhrase("Whenever {this} and another creature attack different players, ");
}
public CanalCourierTriggeredAbility(final CanalCourierTriggeredAbility ability) {
@@ -96,10 +97,4 @@ class CanalCourierTriggeredAbility extends TriggeredAbilityImpl {
}
return false;
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever {this} and another creature attack different players, " ;
- }
-
}
diff --git a/Mage.Sets/src/mage/cards/c/CaptainRipleyVance.java b/Mage.Sets/src/mage/cards/c/CaptainRipleyVance.java
index decf6387bb7..4b4c67b9090 100644
--- a/Mage.Sets/src/mage/cards/c/CaptainRipleyVance.java
+++ b/Mage.Sets/src/mage/cards/c/CaptainRipleyVance.java
@@ -53,6 +53,7 @@ class CaptainRipleyVanceTriggeredAbility extends TriggeredAbilityImpl {
super(Zone.BATTLEFIELD, new AddCountersSourceEffect(CounterType.P1P1.createInstance()));
addEffect(new DamageTargetEffect(new SourcePermanentPowerCount()).setText("it deals damage equal to its power to any target").concatBy(", then"));
addTarget(new TargetAnyTarget());
+ setTriggerPhrase("Whenever you cast your third spell each turn, ");
}
private CaptainRipleyVanceTriggeredAbility(final CaptainRipleyVanceTriggeredAbility ability) {
@@ -77,9 +78,4 @@ class CaptainRipleyVanceTriggeredAbility extends TriggeredAbilityImpl {
}
return false;
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever you cast your third spell each turn, " ;
- }
}
diff --git a/Mage.Sets/src/mage/cards/c/CapturedByTheConsulate.java b/Mage.Sets/src/mage/cards/c/CapturedByTheConsulate.java
index eb2acc631d0..1156466cb06 100644
--- a/Mage.Sets/src/mage/cards/c/CapturedByTheConsulate.java
+++ b/Mage.Sets/src/mage/cards/c/CapturedByTheConsulate.java
@@ -67,6 +67,7 @@ class CapturedByTheConsulateTriggeredAbility extends TriggeredAbilityImpl {
*/
CapturedByTheConsulateTriggeredAbility(Zone zone, Effect effect) {
super(zone, effect, false);
+ setTriggerPhrase("Whenever an opponent casts a spell, if it has a single target, ");
}
private CapturedByTheConsulateTriggeredAbility(final CapturedByTheConsulateTriggeredAbility ability) {
@@ -111,11 +112,6 @@ class CapturedByTheConsulateTriggeredAbility extends TriggeredAbilityImpl {
return false;
}
- @Override
- public String getTriggerPhrase() {
- return "Whenever an opponent casts a spell, if it has a single target, ";
- }
-
@Override
public CapturedByTheConsulateTriggeredAbility copy() {
return new CapturedByTheConsulateTriggeredAbility(this);
diff --git a/Mage.Sets/src/mage/cards/c/CarpetOfFlowers.java b/Mage.Sets/src/mage/cards/c/CarpetOfFlowers.java
index c66f8e7cd87..a855d36c55d 100644
--- a/Mage.Sets/src/mage/cards/c/CarpetOfFlowers.java
+++ b/Mage.Sets/src/mage/cards/c/CarpetOfFlowers.java
@@ -50,6 +50,7 @@ class CarpetOfFlowersTriggeredAbility extends TriggeredAbilityImpl {
CarpetOfFlowersTriggeredAbility() {
super(Zone.BATTLEFIELD, new CarpetOfFlowersEffect(), true);
this.addTarget(new TargetOpponent());
+ setTriggerPhrase("At the beginning of each of your main phases, if you haven't added mana with this ability this turn, ");
}
CarpetOfFlowersTriggeredAbility(final CarpetOfFlowersTriggeredAbility ability) {
@@ -98,14 +99,6 @@ class CarpetOfFlowersTriggeredAbility extends TriggeredAbilityImpl {
+ game.getState().getZoneChangeCounter(sourceId),
Boolean.FALSE);
}
-
- @Override
- public String getTriggerPhrase() {
- return "At the beginning of each of your main phases, if "
- + "you haven't added mana with this ability this turn, "
- ;
- }
-
}
class CarpetOfFlowersEffect extends ManaEffect {
diff --git a/Mage.Sets/src/mage/cards/c/CarthTheLion.java b/Mage.Sets/src/mage/cards/c/CarthTheLion.java
index 0cf232a649d..b9d9b458bab 100644
--- a/Mage.Sets/src/mage/cards/c/CarthTheLion.java
+++ b/Mage.Sets/src/mage/cards/c/CarthTheLion.java
@@ -58,6 +58,7 @@ class CarthTheLionTriggeredAbility extends TriggeredAbilityImpl {
public CarthTheLionTriggeredAbility() {
super(Zone.BATTLEFIELD, new LookLibraryAndPickControllerEffect(
7, 1, filter, PutCards.HAND, PutCards.BOTTOM_RANDOM));
+ setTriggerPhrase("Whenever {this} enters the battlefield or a planeswalker you control dies, ");
}
private CarthTheLionTriggeredAbility(final CarthTheLionTriggeredAbility ability) {
@@ -90,11 +91,6 @@ class CarthTheLionTriggeredAbility extends TriggeredAbilityImpl {
}
return false;
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever {this} enters the battlefield or a planeswalker you control dies, " ;
- }
}
class CarthTheLionLoyaltyCostEffect extends CostModificationEffectImpl {
diff --git a/Mage.Sets/src/mage/cards/c/CeaselessSearblades.java b/Mage.Sets/src/mage/cards/c/CeaselessSearblades.java
index 1f884ba5bcb..257ece32ef3 100644
--- a/Mage.Sets/src/mage/cards/c/CeaselessSearblades.java
+++ b/Mage.Sets/src/mage/cards/c/CeaselessSearblades.java
@@ -31,7 +31,6 @@ public final class CeaselessSearblades extends CardImpl {
// Whenever you activate an ability of an Elemental, Ceaseless Searblades gets +1/+0 until end of turn.
this.addAbility(new CeaselessSearbladesTriggeredAbility());
-
}
private CeaselessSearblades(final CeaselessSearblades card) {
@@ -54,6 +53,7 @@ class CeaselessSearbladesTriggeredAbility extends TriggeredAbilityImpl {
CeaselessSearbladesTriggeredAbility() {
super(Zone.BATTLEFIELD, new BoostSourceEffect(1, 0, Duration.EndOfTurn), false);
+ setTriggerPhrase("Whenever you activate an ability of an Elemental, ");
}
CeaselessSearbladesTriggeredAbility(final CeaselessSearbladesTriggeredAbility ability) {
@@ -83,9 +83,4 @@ class CeaselessSearbladesTriggeredAbility extends TriggeredAbilityImpl {
&& source != null
&& filter.match(source, game);
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever you activate an ability of an Elemental, ";
- }
}
diff --git a/Mage.Sets/src/mage/cards/c/CemeteryGatekeeper.java b/Mage.Sets/src/mage/cards/c/CemeteryGatekeeper.java
index 26b3af039da..68e52ca6787 100644
--- a/Mage.Sets/src/mage/cards/c/CemeteryGatekeeper.java
+++ b/Mage.Sets/src/mage/cards/c/CemeteryGatekeeper.java
@@ -100,6 +100,7 @@ class CemeteryGatekeeperTriggeredAbility extends TriggeredAbilityImpl {
public CemeteryGatekeeperTriggeredAbility() {
super(Zone.BATTLEFIELD, new DamageTargetEffect(2, true, "that player"));
+ setTriggerPhrase("Whenever a player plays a land or casts a spell, if it shares a card type with the exiled card, ");
}
private CemeteryGatekeeperTriggeredAbility(final CemeteryGatekeeperTriggeredAbility ability) {
@@ -161,9 +162,4 @@ class CemeteryGatekeeperTriggeredAbility extends TriggeredAbilityImpl {
}
return false;
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever a player plays a land or casts a spell, if it shares a card type with the exiled card, ";
- }
}
diff --git a/Mage.Sets/src/mage/cards/c/CemeteryProtector.java b/Mage.Sets/src/mage/cards/c/CemeteryProtector.java
index f3eed733466..53e733b1a1b 100644
--- a/Mage.Sets/src/mage/cards/c/CemeteryProtector.java
+++ b/Mage.Sets/src/mage/cards/c/CemeteryProtector.java
@@ -101,6 +101,7 @@ class CemeteryProtectorTriggeredAbility extends TriggeredAbilityImpl {
public CemeteryProtectorTriggeredAbility() {
super(Zone.BATTLEFIELD, new CreateTokenEffect(new HumanToken()));
+ setTriggerPhrase("Whenever you play a land or cast a spell, if it shares a card type with the exiled card, ");
}
private CemeteryProtectorTriggeredAbility(final CemeteryProtectorTriggeredAbility ability) {
@@ -164,9 +165,4 @@ class CemeteryProtectorTriggeredAbility extends TriggeredAbilityImpl {
}
return false;
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever you play a land or cast a spell, if it shares a card type with the exiled card, ";
- }
}
diff --git a/Mage.Sets/src/mage/cards/c/ChanceEncounter.java b/Mage.Sets/src/mage/cards/c/ChanceEncounter.java
index a28e43fe23f..b9687d8e7b9 100644
--- a/Mage.Sets/src/mage/cards/c/ChanceEncounter.java
+++ b/Mage.Sets/src/mage/cards/c/ChanceEncounter.java
@@ -51,6 +51,7 @@ class ChanceEncounterTriggeredAbility extends TriggeredAbilityImpl {
ChanceEncounterTriggeredAbility() {
super(Zone.BATTLEFIELD, new AddCountersSourceEffect(CounterType.LUCK.createInstance()), false);
+ setTriggerPhrase("Whenever you win a coin flip, ");
}
private ChanceEncounterTriggeredAbility(final ChanceEncounterTriggeredAbility ability) {
@@ -74,9 +75,4 @@ class ChanceEncounterTriggeredAbility extends TriggeredAbilityImpl {
&& flipEvent.isWinnable()
&& (flipEvent.getChosen() == flipEvent.getResult());
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever you win a coin flip, " ;
- }
}
diff --git a/Mage.Sets/src/mage/cards/c/CherishedHatchling.java b/Mage.Sets/src/mage/cards/c/CherishedHatchling.java
index bc7bb28c70b..45602d1076b 100644
--- a/Mage.Sets/src/mage/cards/c/CherishedHatchling.java
+++ b/Mage.Sets/src/mage/cards/c/CherishedHatchling.java
@@ -70,6 +70,7 @@ class CherishedHatchlingTriggeredAbility extends DelayedTriggeredAbility {
public CherishedHatchlingTriggeredAbility() {
super(getEffectToAdd(), Duration.EndOfTurn, true);
+ setTriggerPhrase("and whenever you cast a Dinosaur spell this turn, ");
}
private static Effect getEffectToAdd() {
@@ -105,9 +106,4 @@ class CherishedHatchlingTriggeredAbility extends DelayedTriggeredAbility {
}
return false;
}
-
- @Override
- public String getTriggerPhrase() {
- return "and whenever you cast a Dinosaur spell this turn, " ;
- }
}
diff --git a/Mage.Sets/src/mage/cards/c/CircleOfConfinement.java b/Mage.Sets/src/mage/cards/c/CircleOfConfinement.java
index 47ce8354751..3ecf9385224 100644
--- a/Mage.Sets/src/mage/cards/c/CircleOfConfinement.java
+++ b/Mage.Sets/src/mage/cards/c/CircleOfConfinement.java
@@ -69,6 +69,7 @@ class CircleOfConfinementTriggeredAbility extends TriggeredAbilityImpl {
public CircleOfConfinementTriggeredAbility() {
super(Zone.BATTLEFIELD, new GainLifeEffect(2));
+ setTriggerPhrase("Whenever an opponent casts a Vampire spell with the same name as a card exiled with {this}, ");
}
private CircleOfConfinementTriggeredAbility(final CircleOfConfinementTriggeredAbility ability) {
@@ -102,9 +103,4 @@ class CircleOfConfinementTriggeredAbility extends TriggeredAbilityImpl {
}
return false;
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever an opponent casts a Vampire spell with the same name as a card exiled with {this}, ";
- }
}
diff --git a/Mage.Sets/src/mage/cards/c/CloakedCadet.java b/Mage.Sets/src/mage/cards/c/CloakedCadet.java
index da63a120065..57e5910516a 100644
--- a/Mage.Sets/src/mage/cards/c/CloakedCadet.java
+++ b/Mage.Sets/src/mage/cards/c/CloakedCadet.java
@@ -51,6 +51,7 @@ class CloakedCadetTriggeredAbility extends TriggeredAbilityImpl {
CloakedCadetTriggeredAbility() {
super(Zone.BATTLEFIELD, new DrawCardSourceControllerEffect(1));
this.setTriggersOnce(true);
+ setTriggerPhrase("Whenever one or more +1/+1 counters are put on one or more Humans you control, ");
}
private CloakedCadetTriggeredAbility(final CloakedCadetTriggeredAbility ability) {
@@ -75,9 +76,4 @@ class CloakedCadetTriggeredAbility extends TriggeredAbilityImpl {
&& permanent.hasSubtype(SubType.HUMAN, game)
&& event.getData().equals(CounterType.P1P1.getName());
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever one or more +1/+1 counters are put on one or more Humans you control, ";
- }
}
diff --git a/Mage.Sets/src/mage/cards/c/CloakwoodSwarmkeeper.java b/Mage.Sets/src/mage/cards/c/CloakwoodSwarmkeeper.java
index 9ab850d0761..6d908393143 100644
--- a/Mage.Sets/src/mage/cards/c/CloakwoodSwarmkeeper.java
+++ b/Mage.Sets/src/mage/cards/c/CloakwoodSwarmkeeper.java
@@ -49,6 +49,7 @@ class CloakwoodSwarmkeeperTriggeredAbility extends TriggeredAbilityImpl {
CloakwoodSwarmkeeperTriggeredAbility() {
super(Zone.BATTLEFIELD, new AddCountersSourceEffect(CounterType.P1P1.createInstance()), false);
this.withFlavorWord("Gathered Swarm");
+ setTriggerPhrase("Whenever one or more tokens enter the battlefield under your control, ");
}
private CloakwoodSwarmkeeperTriggeredAbility(final CloakwoodSwarmkeeperTriggeredAbility ability) {
@@ -77,9 +78,4 @@ class CloakwoodSwarmkeeperTriggeredAbility extends TriggeredAbilityImpl {
public CloakwoodSwarmkeeperTriggeredAbility copy() {
return new CloakwoodSwarmkeeperTriggeredAbility(this);
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever one or more tokens enter the battlefield under your control, ";
- }
}
diff --git a/Mage.Sets/src/mage/cards/c/ColossalWhale.java b/Mage.Sets/src/mage/cards/c/ColossalWhale.java
index a8a96f00259..fd9c9d50b54 100644
--- a/Mage.Sets/src/mage/cards/c/ColossalWhale.java
+++ b/Mage.Sets/src/mage/cards/c/ColossalWhale.java
@@ -61,6 +61,7 @@ class ColossalWhaleAbility extends TriggeredAbilityImpl {
super(Zone.BATTLEFIELD, null);
this.addEffect(new ColossalWhaleExileEffect());
this.addEffect(new CreateDelayedTriggeredAbilityEffect(new OnLeaveReturnExiledToBattlefieldAbility()));
+ setTriggerPhrase("Whenever {this} attacks, ");
}
public ColossalWhaleAbility(final ColossalWhaleAbility ability) {
@@ -87,11 +88,6 @@ class ColossalWhaleAbility extends TriggeredAbilityImpl {
return false;
}
- @Override
- public String getTriggerPhrase() {
- return "Whenever {this} attacks, " ;
- }
-
@Override
public ColossalWhaleAbility copy() {
return new ColossalWhaleAbility(this);
diff --git a/Mage.Sets/src/mage/cards/c/ContainmentConstruct.java b/Mage.Sets/src/mage/cards/c/ContainmentConstruct.java
index 47de50387c3..80d24120e9e 100644
--- a/Mage.Sets/src/mage/cards/c/ContainmentConstruct.java
+++ b/Mage.Sets/src/mage/cards/c/ContainmentConstruct.java
@@ -52,6 +52,7 @@ class ContainmentConstructTriggeredAbility extends TriggeredAbilityImpl {
public ContainmentConstructTriggeredAbility() {
super(Zone.BATTLEFIELD, new ContainmentConstructEffect(), false);
+ setTriggerPhrase("Whenever you discard a card, ");
}
public ContainmentConstructTriggeredAbility(final ContainmentConstructTriggeredAbility ability) {
@@ -77,11 +78,6 @@ class ContainmentConstructTriggeredAbility extends TriggeredAbilityImpl {
}
return false;
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever you discard a card, ";
- }
}
class ContainmentConstructEffect extends OneShotEffect {
diff --git a/Mage.Sets/src/mage/cards/c/CrackdownConstruct.java b/Mage.Sets/src/mage/cards/c/CrackdownConstruct.java
index b3b071306f7..b387df72231 100644
--- a/Mage.Sets/src/mage/cards/c/CrackdownConstruct.java
+++ b/Mage.Sets/src/mage/cards/c/CrackdownConstruct.java
@@ -48,6 +48,7 @@ class CrackdownConstructTriggeredAbility extends TriggeredAbilityImpl {
CrackdownConstructTriggeredAbility() {
super(Zone.BATTLEFIELD, new BoostSourceEffect(1, 1, Duration.EndOfTurn), false);
+ setTriggerPhrase("Whenever you activate an ability of an artifact or creature that isn't a mana ability, ");
}
CrackdownConstructTriggeredAbility(final CrackdownConstructTriggeredAbility ability) {
@@ -77,9 +78,4 @@ class CrackdownConstructTriggeredAbility extends TriggeredAbilityImpl {
}
return false;
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever you activate an ability of an artifact or creature that isn't a mana ability, " ;
- }
}
diff --git a/Mage.Sets/src/mage/cards/c/CragSaurian.java b/Mage.Sets/src/mage/cards/c/CragSaurian.java
index 25f98583b8f..f02711f93c0 100644
--- a/Mage.Sets/src/mage/cards/c/CragSaurian.java
+++ b/Mage.Sets/src/mage/cards/c/CragSaurian.java
@@ -46,75 +46,71 @@ public final class CragSaurian extends CardImpl {
public CragSaurian copy() {
return new CragSaurian(this);
}
+}
- private static class CragSaurianEffect extends OneShotEffect {
+class CragSaurianEffect extends OneShotEffect {
- public CragSaurianEffect() {
- super(Outcome.GainControl);
- this.staticText = "that source's controller gains control of {this}";
- }
-
- private CragSaurianEffect(CragSaurianEffect effect) {
- super(effect);
- }
-
- @Override
- public boolean apply(Game game, Ability source) {
- Player controller = game.getPlayer(source.getControllerId());
- Player newController = game.getPlayer(this.getTargetPointer().getFirst(game, source));
- if (newController != null && controller != null && !controller.equals(newController)) {
- ContinuousEffect effect = new GainControlTargetEffect(Duration.Custom, newController.getId());
- effect.setTargetPointer(new FixedTarget(source.getSourceId(), game));
- game.addEffect(effect, source);
- return true;
- }
- return false;
- }
-
- @Override
- public Effect copy() {
- return new CragSaurianEffect(this);
- }
+ public CragSaurianEffect() {
+ super(Outcome.GainControl);
+ this.staticText = "that source's controller gains control of {this}";
}
- class CragSaurianTriggeredAbility extends TriggeredAbilityImpl {
-
- CragSaurianTriggeredAbility() {
- super(Zone.BATTLEFIELD, new CragSaurianEffect());
- }
-
- CragSaurianTriggeredAbility(final CragSaurianTriggeredAbility ability) {
- super(ability);
- }
-
- @Override
- public CragSaurianTriggeredAbility copy() {
- return new CragSaurianTriggeredAbility(this);
- }
-
- @Override
- public boolean checkEventType(GameEvent event, Game game) {
- return event.getType() == GameEvent.EventType.DAMAGED_PERMANENT;
- }
-
- @Override
- public boolean checkTrigger(GameEvent event, Game game) {
- if (event.getTargetId().equals(this.sourceId)) {
- UUID controller = game.getControllerId(event.getSourceId());
- if (controller != null) {
- Player player = game.getPlayer(controller);
- if (player != null) {
- getEffects().get(0).setTargetPointer(new FixedTarget(player.getId()));
- return true;
- }
- }
- }
- return false;
- }
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever a source deals damage to {this}, " ;
+ private CragSaurianEffect(CragSaurianEffect effect) {
+ super(effect);
+ }
+
+ @Override
+ public boolean apply(Game game, Ability source) {
+ Player controller = game.getPlayer(source.getControllerId());
+ Player newController = game.getPlayer(this.getTargetPointer().getFirst(game, source));
+ if (newController != null && controller != null && !controller.equals(newController)) {
+ ContinuousEffect effect = new GainControlTargetEffect(Duration.Custom, newController.getId());
+ effect.setTargetPointer(new FixedTarget(source.getSourceId(), game));
+ game.addEffect(effect, source);
+ return true;
}
+ return false;
+ }
+
+ @Override
+ public Effect copy() {
+ return new CragSaurianEffect(this);
}
}
+
+class CragSaurianTriggeredAbility extends TriggeredAbilityImpl {
+
+ CragSaurianTriggeredAbility() {
+ super(Zone.BATTLEFIELD, new CragSaurianEffect());
+ setTriggerPhrase("Whenever a source deals damage to {this}, ");
+ }
+
+ CragSaurianTriggeredAbility(final CragSaurianTriggeredAbility ability) {
+ super(ability);
+ }
+
+ @Override
+ public CragSaurianTriggeredAbility copy() {
+ return new CragSaurianTriggeredAbility(this);
+ }
+
+ @Override
+ public boolean checkEventType(GameEvent event, Game game) {
+ return event.getType() == GameEvent.EventType.DAMAGED_PERMANENT;
+ }
+
+ @Override
+ public boolean checkTrigger(GameEvent event, Game game) {
+ if (event.getTargetId().equals(this.sourceId)) {
+ UUID controller = game.getControllerId(event.getSourceId());
+ if (controller != null) {
+ Player player = game.getPlayer(controller);
+ if (player != null) {
+ getEffects().get(0).setTargetPointer(new FixedTarget(player.getId()));
+ return true;
+ }
+ }
+ }
+ return false;
+ }
+}
\ No newline at end of file
diff --git a/Mage.Sets/src/mage/cards/c/CrawlingInfestation.java b/Mage.Sets/src/mage/cards/c/CrawlingInfestation.java
index fc5511c8457..dc6d4d43e68 100644
--- a/Mage.Sets/src/mage/cards/c/CrawlingInfestation.java
+++ b/Mage.Sets/src/mage/cards/c/CrawlingInfestation.java
@@ -48,6 +48,7 @@ class CrawlingInfestationTriggeredAbility extends TriggeredAbilityImpl {
public CrawlingInfestationTriggeredAbility() {
super(Zone.BATTLEFIELD, new CreateTokenEffect(new InsectToken()));
this.setTriggersOnce(true);
+ setTriggerPhrase("Whenever one or more creature cards are put into your graveyard from anywhere during your turn, ");
}
private CrawlingInfestationTriggeredAbility(final CrawlingInfestationTriggeredAbility ability) {
@@ -73,9 +74,4 @@ class CrawlingInfestationTriggeredAbility extends TriggeredAbilityImpl {
}
return false;
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever one or more creature cards are put into your graveyard from anywhere during your turn, ";
- }
}
diff --git a/Mage.Sets/src/mage/cards/c/CultOfTheWaxingMoon.java b/Mage.Sets/src/mage/cards/c/CultOfTheWaxingMoon.java
index aac52d5533b..ff94cdd7029 100644
--- a/Mage.Sets/src/mage/cards/c/CultOfTheWaxingMoon.java
+++ b/Mage.Sets/src/mage/cards/c/CultOfTheWaxingMoon.java
@@ -54,6 +54,7 @@ class CultOfTheWaxingMoonAbility extends TriggeredAbilityImpl {
public CultOfTheWaxingMoonAbility() {
super(Zone.BATTLEFIELD, new CreateTokenEffect(new WolfToken()), false);
+ setTriggerPhrase("Whenever a permanent you control transforms into a non-Human creature, ");
}
public CultOfTheWaxingMoonAbility(final CultOfTheWaxingMoonAbility ability) {
@@ -75,9 +76,4 @@ class CultOfTheWaxingMoonAbility extends TriggeredAbilityImpl {
Permanent permanent = game.getPermanent(event.getTargetId());
return filter.match(permanent, getControllerId(), this, game);
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever a permanent you control transforms into a non-Human creature, " ;
- }
}
diff --git a/Mage.Sets/src/mage/cards/c/CurseOfChaos.java b/Mage.Sets/src/mage/cards/c/CurseOfChaos.java
index 9c860b7e6c8..505cd7ef493 100644
--- a/Mage.Sets/src/mage/cards/c/CurseOfChaos.java
+++ b/Mage.Sets/src/mage/cards/c/CurseOfChaos.java
@@ -56,6 +56,7 @@ class CurseOfChaosTriggeredAbility extends TriggeredAbilityImpl {
public CurseOfChaosTriggeredAbility() {
super(Zone.BATTLEFIELD, new CurseOfChaosEffect(), false); // false because handled in effect
+ setTriggerPhrase("Whenever a player attacks enchanted player with one or more creatures, ");
}
public CurseOfChaosTriggeredAbility(final CurseOfChaosTriggeredAbility ability) {
@@ -81,11 +82,6 @@ class CurseOfChaosTriggeredAbility extends TriggeredAbilityImpl {
return false;
}
- @Override
- public String getTriggerPhrase() {
- return "Whenever a player attacks enchanted player with one or more creatures, " ;
- }
-
@Override
public CurseOfChaosTriggeredAbility copy() {
return new CurseOfChaosTriggeredAbility(this);
@@ -114,6 +110,7 @@ class CurseOfChaosEffect extends OneShotEffect {
Player attacker = game.getPlayer(this.getTargetPointer().getFirst(game, source));
if (attacker != null) {
if (!attacker.getHand().isEmpty() && attacker.chooseUse(outcome, "Discard a card and draw a card?", source, game)) {
+ // TODO: This should check that a card was actually discarded
attacker.discard(1, false, false, source, game);
attacker.drawCards(1, source, game);
}
diff --git a/Mage.Sets/src/mage/cards/c/CurseOfShakenFaith.java b/Mage.Sets/src/mage/cards/c/CurseOfShakenFaith.java
index 9353470e118..fe92684b80c 100644
--- a/Mage.Sets/src/mage/cards/c/CurseOfShakenFaith.java
+++ b/Mage.Sets/src/mage/cards/c/CurseOfShakenFaith.java
@@ -59,6 +59,7 @@ class CurseOfShakenFaithTriggeredAbility extends TriggeredAbilityImpl {
public CurseOfShakenFaithTriggeredAbility() {
super(Zone.BATTLEFIELD, new CurseOfShakenFaithEffect());
this.addWatcher(new SpellsCastWatcher());
+ setTriggerPhrase("Whenever enchanted player casts a spell other than the first spell they cast each turn or copies a spell, ");
}
private CurseOfShakenFaithTriggeredAbility(final CurseOfShakenFaithTriggeredAbility ability) {
@@ -94,11 +95,6 @@ class CurseOfShakenFaithTriggeredAbility extends TriggeredAbilityImpl {
}
return false;
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever enchanted player casts a spell other than the first spell they cast each turn or copies a spell, ";
- }
}
class CurseOfShakenFaithEffect extends OneShotEffect {
diff --git a/Mage.Sets/src/mage/cards/c/CurseOfSilence.java b/Mage.Sets/src/mage/cards/c/CurseOfSilence.java
index 080057596b9..1abf88c002d 100644
--- a/Mage.Sets/src/mage/cards/c/CurseOfSilence.java
+++ b/Mage.Sets/src/mage/cards/c/CurseOfSilence.java
@@ -108,6 +108,7 @@ class CurseOfSilenceTriggeredAbility extends TriggeredAbilityImpl {
new DrawCardSourceControllerEffect(1),
new SacrificeSourceCost()
));
+ setTriggerPhrase("Whenever enchanted player casts a spell with the chosen name, ");
}
private CurseOfSilenceTriggeredAbility(final CurseOfSilenceTriggeredAbility ability) {
@@ -136,9 +137,4 @@ class CurseOfSilenceTriggeredAbility extends TriggeredAbilityImpl {
}
return false;
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever enchanted player casts a spell with the chosen name, ";
- }
}
diff --git a/Mage.Sets/src/mage/cards/c/CustodiLich.java b/Mage.Sets/src/mage/cards/c/CustodiLich.java
index d1d4ca22c8b..2d3be310de9 100644
--- a/Mage.Sets/src/mage/cards/c/CustodiLich.java
+++ b/Mage.Sets/src/mage/cards/c/CustodiLich.java
@@ -57,6 +57,7 @@ class BecomesMonarchSourceControllerTriggeredAbility extends TriggeredAbilityImp
public BecomesMonarchSourceControllerTriggeredAbility(Effect effect) {
super(Zone.BATTLEFIELD, effect, false);
+ setTriggerPhrase("Whenever you become the monarch, ");
}
public BecomesMonarchSourceControllerTriggeredAbility(final BecomesMonarchSourceControllerTriggeredAbility ability) {
@@ -73,11 +74,6 @@ class BecomesMonarchSourceControllerTriggeredAbility extends TriggeredAbilityImp
return isControlledBy(event.getPlayerId());
}
- @Override
- public String getTriggerPhrase() {
- return "Whenever you become the monarch, " ;
- }
-
@Override
public BecomesMonarchSourceControllerTriggeredAbility copy() {
return new BecomesMonarchSourceControllerTriggeredAbility(this);
diff --git a/Mage.Sets/src/mage/cards/d/DaringSleuth.java b/Mage.Sets/src/mage/cards/d/DaringSleuth.java
index 01499f1e4ce..439f33e530f 100644
--- a/Mage.Sets/src/mage/cards/d/DaringSleuth.java
+++ b/Mage.Sets/src/mage/cards/d/DaringSleuth.java
@@ -48,6 +48,7 @@ class DaringSleuthTriggeredAbility extends TriggeredAbilityImpl {
public DaringSleuthTriggeredAbility() {
super(Zone.BATTLEFIELD, new TransformSourceEffect());
+ setTriggerPhrase("When you sacrifice a Clue, ");
}
public DaringSleuthTriggeredAbility(final DaringSleuthTriggeredAbility ability) {
@@ -69,9 +70,4 @@ class DaringSleuthTriggeredAbility extends TriggeredAbilityImpl {
return event.getPlayerId().equals(this.getControllerId())
&& game.getLastKnownInformation(event.getTargetId(), Zone.BATTLEFIELD).hasSubtype(SubType.CLUE, game);
}
-
- @Override
- public String getTriggerPhrase() {
- return "When you sacrifice a Clue, " ;
- }
}
diff --git a/Mage.Sets/src/mage/cards/d/DeadIronSledge.java b/Mage.Sets/src/mage/cards/d/DeadIronSledge.java
index 5cc77c0b6e2..654a6af816a 100644
--- a/Mage.Sets/src/mage/cards/d/DeadIronSledge.java
+++ b/Mage.Sets/src/mage/cards/d/DeadIronSledge.java
@@ -53,6 +53,7 @@ class DeadIronSledgeTriggeredAbility extends TriggeredAbilityImpl {
public DeadIronSledgeTriggeredAbility(Effect effect, boolean optional) {
super(Zone.BATTLEFIELD, effect, optional);
+ setTriggerPhrase("Whenever equipped creature blocks or becomes blocked by a creature, ");
}
public DeadIronSledgeTriggeredAbility(final DeadIronSledgeTriggeredAbility ability) {
@@ -89,11 +90,6 @@ class DeadIronSledgeTriggeredAbility extends TriggeredAbilityImpl {
return false;
}
- @Override
- public String getTriggerPhrase() {
- return "Whenever equipped creature blocks or becomes blocked by a creature, " ;
- }
-
@Override
public DeadIronSledgeTriggeredAbility copy() {
return new DeadIronSledgeTriggeredAbility(this);
diff --git a/Mage.Sets/src/mage/cards/d/DeathTyrant.java b/Mage.Sets/src/mage/cards/d/DeathTyrant.java
index 87cf6a9c356..b391cf238fa 100644
--- a/Mage.Sets/src/mage/cards/d/DeathTyrant.java
+++ b/Mage.Sets/src/mage/cards/d/DeathTyrant.java
@@ -61,6 +61,7 @@ class DeathTyrantTriggeredAbility extends TriggeredAbilityImpl {
public DeathTyrantTriggeredAbility() {
super(Zone.ALL, new CreateTokenEffect(new ZombieToken()));
+ setTriggerPhrase("Whenever an attacking creature you control or a blocking creature an opponent controls dies, ");
}
private DeathTyrantTriggeredAbility(final DeathTyrantTriggeredAbility ability) {
@@ -96,9 +97,4 @@ class DeathTyrantTriggeredAbility extends TriggeredAbilityImpl {
public boolean isInUseableZone(Game game, MageObject source, GameEvent event) {
return TriggeredAbilityImpl.isInUseableZoneDiesTrigger(this, event, game);
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever an attacking creature you control or a blocking creature an opponent controls dies, ";
- }
}
diff --git a/Mage.Sets/src/mage/cards/d/DesolationTwin.java b/Mage.Sets/src/mage/cards/d/DesolationTwin.java
index 1e3c37245b2..6d266b4c26c 100644
--- a/Mage.Sets/src/mage/cards/d/DesolationTwin.java
+++ b/Mage.Sets/src/mage/cards/d/DesolationTwin.java
@@ -46,6 +46,7 @@ class DesolationTwinOnCastAbility extends TriggeredAbilityImpl {
DesolationTwinOnCastAbility() {
super(Zone.STACK, new CreateTokenEffect(new EldraziToken()));
+ setTriggerPhrase("When you cast this spell, ");
}
DesolationTwinOnCastAbility(DesolationTwinOnCastAbility ability) {
@@ -67,9 +68,4 @@ class DesolationTwinOnCastAbility extends TriggeredAbilityImpl {
public DesolationTwinOnCastAbility copy() {
return new DesolationTwinOnCastAbility(this);
}
-
- @Override
- public String getTriggerPhrase() {
- return "When you cast this spell, " ;
- }
}
diff --git a/Mage.Sets/src/mage/cards/d/Detritivore.java b/Mage.Sets/src/mage/cards/d/Detritivore.java
index 26494838a17..709258b08c2 100644
--- a/Mage.Sets/src/mage/cards/d/Detritivore.java
+++ b/Mage.Sets/src/mage/cards/d/Detritivore.java
@@ -66,6 +66,7 @@ class DetritivoreTriggeredAbility extends TriggeredAbilityImpl {
public DetritivoreTriggeredAbility() {
super(Zone.EXILED, new DestroyTargetEffect(), false);
this.addTarget(new TargetNonBasicLandPermanent());
+ setTriggerPhrase("Whenever a time counter is removed from {this} while it's exiled, ");
}
public DetritivoreTriggeredAbility(final DetritivoreTriggeredAbility ability) {
@@ -86,12 +87,6 @@ class DetritivoreTriggeredAbility extends TriggeredAbilityImpl {
public boolean checkTrigger(GameEvent event, Game game) {
return event.getData().equals(CounterType.TIME.getName()) && event.getTargetId().equals(this.getSourceId());
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever a time counter is removed from {this} while it's exiled, " ;
- }
-
}
class NonBasicLandsInOpponentsGraveyards implements DynamicValue {
diff --git a/Mage.Sets/src/mage/cards/d/DhalsimPliablePacifist.java b/Mage.Sets/src/mage/cards/d/DhalsimPliablePacifist.java
index dd864834dda..60dc716ed54 100644
--- a/Mage.Sets/src/mage/cards/d/DhalsimPliablePacifist.java
+++ b/Mage.Sets/src/mage/cards/d/DhalsimPliablePacifist.java
@@ -150,6 +150,7 @@ class DhalsimPliablePacifistTriggeredAbility extends TriggeredAbilityImpl {
DhalsimPliablePacifistTriggeredAbility() {
super(Zone.BATTLEFIELD, new DrawCardSourceControllerEffect(1), false);
this.withFlavorWord("Fierce Punch");
+ setTriggerPhrase("Whenever one or more creatures you control deal combat damage to a player, ");
}
private DhalsimPliablePacifistTriggeredAbility(final DhalsimPliablePacifistTriggeredAbility ability) {
@@ -190,9 +191,4 @@ class DhalsimPliablePacifistTriggeredAbility extends TriggeredAbilityImpl {
damagedPlayerIds.add(event.getPlayerId());
return true;
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever one or more creatures you control deal combat damage to a player, ";
- }
}
diff --git a/Mage.Sets/src/mage/cards/d/DragonAppeasement.java b/Mage.Sets/src/mage/cards/d/DragonAppeasement.java
index 2d0fd30eab7..ab81119aca0 100644
--- a/Mage.Sets/src/mage/cards/d/DragonAppeasement.java
+++ b/Mage.Sets/src/mage/cards/d/DragonAppeasement.java
@@ -45,6 +45,7 @@ class DragonAppeasementTriggeredAbility extends TriggeredAbilityImpl {
public DragonAppeasementTriggeredAbility() {
super(Zone.BATTLEFIELD, new DrawCardSourceControllerEffect(1), true);
setLeavesTheBattlefieldTrigger(true);
+ setTriggerPhrase("Whenever you sacrifice a creature, ");
}
public DragonAppeasementTriggeredAbility(final DragonAppeasementTriggeredAbility ability) {
@@ -66,9 +67,4 @@ class DragonAppeasementTriggeredAbility extends TriggeredAbilityImpl {
return event.getPlayerId().equals(this.getControllerId())
&& game.getLastKnownInformation(event.getTargetId(), Zone.BATTLEFIELD).isCreature(game);
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever you sacrifice a creature, " ;
- }
}
diff --git a/Mage.Sets/src/mage/cards/d/DragonlordKolaghan.java b/Mage.Sets/src/mage/cards/d/DragonlordKolaghan.java
index 208b9b5ef44..d2bf1405627 100644
--- a/Mage.Sets/src/mage/cards/d/DragonlordKolaghan.java
+++ b/Mage.Sets/src/mage/cards/d/DragonlordKolaghan.java
@@ -66,6 +66,7 @@ class DragonlordKolaghanTriggeredAbility extends TriggeredAbilityImpl {
public DragonlordKolaghanTriggeredAbility(Effect effect) {
super(Zone.BATTLEFIELD, effect, false);
+ setTriggerPhrase("Whenever an opponent casts a creature or planeswalker spell with the same name as a card in their graveyard, ");
}
public DragonlordKolaghanTriggeredAbility(final DragonlordKolaghanTriggeredAbility ability) {
@@ -106,9 +107,4 @@ class DragonlordKolaghanTriggeredAbility extends TriggeredAbilityImpl {
}
return false;
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever an opponent casts a creature or planeswalker spell with the same name as a card in their graveyard, " ;
- }
}
diff --git a/Mage.Sets/src/mage/cards/d/Dreadhound.java b/Mage.Sets/src/mage/cards/d/Dreadhound.java
index 02c9c533490..be6fe64a348 100644
--- a/Mage.Sets/src/mage/cards/d/Dreadhound.java
+++ b/Mage.Sets/src/mage/cards/d/Dreadhound.java
@@ -52,6 +52,7 @@ class DreadhoundTriggeredAbility extends TriggeredAbilityImpl {
public DreadhoundTriggeredAbility() {
super(Zone.BATTLEFIELD, new LoseLifeOpponentsEffect(1));
+ setTriggerPhrase("Whenever a creature dies or a creature card is put into a graveyard from a library, ");
}
private DreadhoundTriggeredAbility(final DreadhoundTriggeredAbility ability) {
@@ -83,9 +84,4 @@ class DreadhoundTriggeredAbility extends TriggeredAbilityImpl {
}
return false;
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever a creature dies or a creature card is put into a graveyard from a library, ";
- }
}
diff --git a/Mage.Sets/src/mage/cards/d/DropOfHoney.java b/Mage.Sets/src/mage/cards/d/DropOfHoney.java
index 860af8120f7..e329ea024d7 100644
--- a/Mage.Sets/src/mage/cards/d/DropOfHoney.java
+++ b/Mage.Sets/src/mage/cards/d/DropOfHoney.java
@@ -110,6 +110,7 @@ class DropOfHoneyStateTriggeredAbility extends StateTriggeredAbility {
public DropOfHoneyStateTriggeredAbility() {
super(Zone.BATTLEFIELD, new SacrificeSourceEffect());
+ setTriggerPhrase("When there are no creatures on the battlefield, ");
}
public DropOfHoneyStateTriggeredAbility(final DropOfHoneyStateTriggeredAbility ability) {
@@ -125,9 +126,4 @@ class DropOfHoneyStateTriggeredAbility extends StateTriggeredAbility {
public boolean checkTrigger(GameEvent event, Game game) {
return game.getBattlefield().count(StaticFilters.FILTER_PERMANENT_CREATURES, this.getControllerId(), this, game) == 0;
}
-
- @Override
- public String getTriggerPhrase() {
- return "When there are no creatures on the battlefield, " ;
- }
}
\ No newline at end of file
diff --git a/Mage.Sets/src/mage/cards/d/DruidOfHorns.java b/Mage.Sets/src/mage/cards/d/DruidOfHorns.java
index 8af463c4713..0c158b4c689 100644
--- a/Mage.Sets/src/mage/cards/d/DruidOfHorns.java
+++ b/Mage.Sets/src/mage/cards/d/DruidOfHorns.java
@@ -50,6 +50,7 @@ class DruidOfHornsTriggeredAbility extends TriggeredAbilityImpl {
public DruidOfHornsTriggeredAbility() {
super(Zone.BATTLEFIELD, new CreateTokenEffect(new BeastToken()), false);
+ setTriggerPhrase("Whenever you cast an Aura spell that targets {this}, ");
}
public DruidOfHornsTriggeredAbility(final DruidOfHornsTriggeredAbility ability) {
@@ -98,9 +99,4 @@ class DruidOfHornsTriggeredAbility extends TriggeredAbilityImpl {
}
return false;
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever you cast an Aura spell that targets {this}, " ;
- }
}
diff --git a/Mage.Sets/src/mage/cards/e/EfreetWeaponmaster.java b/Mage.Sets/src/mage/cards/e/EfreetWeaponmaster.java
index 42ac264a918..a885cfff899 100644
--- a/Mage.Sets/src/mage/cards/e/EfreetWeaponmaster.java
+++ b/Mage.Sets/src/mage/cards/e/EfreetWeaponmaster.java
@@ -67,6 +67,7 @@ class EfreetWeaponmasterAbility extends TriggeredAbilityImpl {
super(Zone.BATTLEFIELD, new BoostTargetEffect(3,0, Duration.EndOfTurn), false);
this.addTarget(new TargetControlledCreaturePermanent(filter));
this.setWorksFaceDown(true);
+ setTriggerPhrase("When {this} enters the battlefield or is turned face up, ");
}
public EfreetWeaponmasterAbility(final EfreetWeaponmasterAbility ability) {
@@ -96,10 +97,4 @@ class EfreetWeaponmasterAbility extends TriggeredAbilityImpl {
}
return false;
}
-
- @Override
- public String getTriggerPhrase() {
- return "When {this} enters the battlefield or is turned face up, " ;
- }
-
}
diff --git a/Mage.Sets/src/mage/cards/e/ElderBrain.java b/Mage.Sets/src/mage/cards/e/ElderBrain.java
index 2d062c76708..28884b683e4 100644
--- a/Mage.Sets/src/mage/cards/e/ElderBrain.java
+++ b/Mage.Sets/src/mage/cards/e/ElderBrain.java
@@ -48,6 +48,7 @@ class ElderBrainTriggeredAbility extends TriggeredAbilityImpl {
ElderBrainTriggeredAbility() {
super(Zone.BATTLEFIELD, new ElderBrainEffect());
+ setTriggerPhrase("Whenever {this} attacks a player, ");
}
private ElderBrainTriggeredAbility(final ElderBrainTriggeredAbility ability) {
@@ -73,11 +74,6 @@ class ElderBrainTriggeredAbility extends TriggeredAbilityImpl {
this.getEffects().setTargetPointer(new FixedTarget(player.getId()));
return true;
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever {this} attacks a player, ";
- }
}
class ElderBrainEffect extends OneShotEffect {
diff --git a/Mage.Sets/src/mage/cards/e/EnigmaSphinx.java b/Mage.Sets/src/mage/cards/e/EnigmaSphinx.java
index 004805d8a08..ac972641b0f 100644
--- a/Mage.Sets/src/mage/cards/e/EnigmaSphinx.java
+++ b/Mage.Sets/src/mage/cards/e/EnigmaSphinx.java
@@ -64,6 +64,7 @@ class EnigmaSphinxTriggeredAbility extends TriggeredAbilityImpl {
public EnigmaSphinxTriggeredAbility(Effect effect, boolean optional) {
super(Zone.ALL, effect, optional);
+ setTriggerPhrase("When {this} is put into your graveyard from the battlefield, ");
}
EnigmaSphinxTriggeredAbility(EnigmaSphinxTriggeredAbility ability) {
@@ -93,11 +94,6 @@ class EnigmaSphinxTriggeredAbility extends TriggeredAbilityImpl {
}
return false;
}
-
- @Override
- public String getTriggerPhrase() {
- return "When {this} is put into your graveyard from the battlefield, " ;
- }
}
class EnigmaSphinxEffect extends OneShotEffect {
diff --git a/Mage.Sets/src/mage/cards/e/ErayoSoratamiAscendant.java b/Mage.Sets/src/mage/cards/e/ErayoSoratamiAscendant.java
index 6fe00a305e6..c3daf8bbc23 100644
--- a/Mage.Sets/src/mage/cards/e/ErayoSoratamiAscendant.java
+++ b/Mage.Sets/src/mage/cards/e/ErayoSoratamiAscendant.java
@@ -59,6 +59,7 @@ class ErayoSoratamiAscendantTriggeredAbility extends TriggeredAbilityImpl {
public ErayoSoratamiAscendantTriggeredAbility() {
super(Zone.BATTLEFIELD, getFlipEffect(), false);
+ setTriggerPhrase("Whenever the fourth spell of a turn is cast, ");
}
private static Effect getFlipEffect() {
@@ -82,11 +83,6 @@ class ErayoSoratamiAscendantTriggeredAbility extends TriggeredAbilityImpl {
return watcher != null && watcher.getAmountOfSpellsAllPlayersCastOnCurrentTurn() == 4;
}
- @Override
- public String getTriggerPhrase() {
- return "Whenever the fourth spell of a turn is cast, " ;
- }
-
@Override
public ErayoSoratamiAscendantTriggeredAbility copy() {
return new ErayoSoratamiAscendantTriggeredAbility(this);
@@ -120,6 +116,7 @@ class ErayosEssenceTriggeredAbility extends TriggeredAbilityImpl {
public ErayosEssenceTriggeredAbility(Effect effect) {
super(Zone.BATTLEFIELD, effect, false);
+ setTriggerPhrase("Whenever an opponent casts a spell for the first time each turn, ");
}
public ErayosEssenceTriggeredAbility(final ErayosEssenceTriggeredAbility ability) {
@@ -145,11 +142,6 @@ class ErayosEssenceTriggeredAbility extends TriggeredAbilityImpl {
return false;
}
- @Override
- public String getTriggerPhrase() {
- return "Whenever an opponent casts a spell for the first time each turn, " ;
- }
-
@Override
public ErayosEssenceTriggeredAbility copy() {
return new ErayosEssenceTriggeredAbility(this);
diff --git a/Mage.Sets/src/mage/cards/e/ErebossTitan.java b/Mage.Sets/src/mage/cards/e/ErebossTitan.java
index 100be729c68..2ca9fcfcb04 100644
--- a/Mage.Sets/src/mage/cards/e/ErebossTitan.java
+++ b/Mage.Sets/src/mage/cards/e/ErebossTitan.java
@@ -64,6 +64,7 @@ class ErebossTitanTriggeredAbility extends TriggeredAbilityImpl {
public ErebossTitanTriggeredAbility() {
super(Zone.GRAVEYARD, new DoIfCostPaid(new ReturnSourceFromGraveyardToHandEffect(), new DiscardCardCost()));
+ setTriggerPhrase("Whenever a creature card leaves an opponent's graveyard, ");
}
public ErebossTitanTriggeredAbility(final ErebossTitanTriggeredAbility ability) {
@@ -93,9 +94,4 @@ class ErebossTitanTriggeredAbility extends TriggeredAbilityImpl {
}
return false;
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever a creature card leaves an opponent's graveyard, " ;
- }
}
diff --git a/Mage.Sets/src/mage/cards/e/EssenceSliver.java b/Mage.Sets/src/mage/cards/e/EssenceSliver.java
index fcf841b7983..bb326322557 100644
--- a/Mage.Sets/src/mage/cards/e/EssenceSliver.java
+++ b/Mage.Sets/src/mage/cards/e/EssenceSliver.java
@@ -51,6 +51,7 @@ class EssenceSliverTriggeredAbility extends TriggeredAbilityImpl {
public EssenceSliverTriggeredAbility() {
super(Zone.BATTLEFIELD, new EssenceSliverEffect(), false);
+ setTriggerPhrase("Whenever a Sliver deals damage, ");
}
public EssenceSliverTriggeredAbility(final EssenceSliverTriggeredAbility ability) {
@@ -82,11 +83,6 @@ class EssenceSliverTriggeredAbility extends TriggeredAbilityImpl {
}
return false;
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever a Sliver deals damage, ";
- }
}
class EssenceSliverEffect extends OneShotEffect {
diff --git a/Mage.Sets/src/mage/cards/e/EssenceSymbiote.java b/Mage.Sets/src/mage/cards/e/EssenceSymbiote.java
index bb2e794729d..c33d292e47a 100644
--- a/Mage.Sets/src/mage/cards/e/EssenceSymbiote.java
+++ b/Mage.Sets/src/mage/cards/e/EssenceSymbiote.java
@@ -26,11 +26,7 @@ import mage.game.events.GameEvent;
*/
public final class EssenceSymbiote extends CardImpl {
- private static final FilterPermanent filter = new FilterControlledCreaturePermanent("creature you control mutates");
- static {
- filter.add(new AbilityPredicate(MutateAbility.class));
- }
public EssenceSymbiote(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{G}");
@@ -41,8 +37,7 @@ public final class EssenceSymbiote extends CardImpl {
// Whenever a creature you control mutates, put a +1/+1 counter on that creature and you gain 2 life.
Ability ability = new EssenceSymbioteTriggeredAbility(Zone.BATTLEFIELD,
- new AddCountersTargetEffect(CounterType.P1P1.createInstance()).setText("put a +1/+1 counter on that creature"),
- filter);
+ new AddCountersTargetEffect(CounterType.P1P1.createInstance()).setText("put a +1/+1 counter on that creature"));
// You gain 2 life when Essence Symbiote’s ability resolves, even if you can’t put a +1/+1 counter on the mutated creature
ability.addEffect(new GainLifeEffect(2).concatBy("and"));
this.addAbility(ability);
@@ -60,16 +55,19 @@ public final class EssenceSymbiote extends CardImpl {
class EssenceSymbioteTriggeredAbility extends TriggeredAbilityImpl {
- private final FilterPermanent filter;
+ private static final FilterPermanent filter = new FilterControlledCreaturePermanent("creature you control mutates");
- public EssenceSymbioteTriggeredAbility(Zone zone, Effect effect, FilterPermanent filter) {
+ static {
+ filter.add(new AbilityPredicate(MutateAbility.class));
+ }
+
+ public EssenceSymbioteTriggeredAbility(Zone zone, Effect effect) {
super(zone, effect, false);
- this.filter = filter;
+ setTriggerPhrase("Whenever a creature you control mutates, ");
}
public EssenceSymbioteTriggeredAbility(final mage.cards.e.EssenceSymbioteTriggeredAbility ability) {
super(ability);
- this.filter = ability.filter;
}
@Override
@@ -106,10 +104,4 @@ class EssenceSymbioteTriggeredAbility extends TriggeredAbilityImpl {
*/
return false;
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever a creature you control mutates, " ;
- }
-
}
\ No newline at end of file
diff --git a/Mage.Sets/src/mage/cards/e/EtherealValkyrie.java b/Mage.Sets/src/mage/cards/e/EtherealValkyrie.java
index e936f23f42a..14d8a6d4ae0 100644
--- a/Mage.Sets/src/mage/cards/e/EtherealValkyrie.java
+++ b/Mage.Sets/src/mage/cards/e/EtherealValkyrie.java
@@ -64,6 +64,7 @@ class EtherealValkyrieTriggeredAbility extends TriggeredAbilityImpl {
EtherealValkyrieTriggeredAbility(Effect effect) {
super(Zone.BATTLEFIELD, effect, false);
+ setTriggerPhrase("Whenever {this} enters the battlefield or attacks, ");
}
EtherealValkyrieTriggeredAbility(final EtherealValkyrieTriggeredAbility ability) {
@@ -95,11 +96,6 @@ class EtherealValkyrieTriggeredAbility extends TriggeredAbilityImpl {
}
return false;
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever {this} enters the battlefield or attacks, ";
- }
}
class EtherealValkyrieEffect extends OneShotEffect {
diff --git a/Mage.Sets/src/mage/cards/e/ExtraplanarLens.java b/Mage.Sets/src/mage/cards/e/ExtraplanarLens.java
index a11af614891..3762ac70120 100644
--- a/Mage.Sets/src/mage/cards/e/ExtraplanarLens.java
+++ b/Mage.Sets/src/mage/cards/e/ExtraplanarLens.java
@@ -101,6 +101,7 @@ class ExtraplanarLensTriggeredAbility extends TriggeredManaAbility {
public ExtraplanarLensTriggeredAbility() {
super(Zone.BATTLEFIELD, new AddManaOfAnyTypeProducedEffect());
+ setTriggerPhrase("Whenever a land with the same name as the exiled card is tapped for mana, ");
}
public ExtraplanarLensTriggeredAbility(final ExtraplanarLensTriggeredAbility ability) {
@@ -137,11 +138,6 @@ class ExtraplanarLensTriggeredAbility extends TriggeredManaAbility {
return false;
}
- @Override
- public String getTriggerPhrase() {
- return "Whenever a land with the same name as the exiled card is tapped for mana, " ;
- }
-
@Override
public ExtraplanarLensTriggeredAbility copy() {
return new ExtraplanarLensTriggeredAbility(this);
diff --git a/Mage.Sets/src/mage/cards/f/FaldornDreadWolfHerald.java b/Mage.Sets/src/mage/cards/f/FaldornDreadWolfHerald.java
index 8e12070a3c3..0ac21417191 100644
--- a/Mage.Sets/src/mage/cards/f/FaldornDreadWolfHerald.java
+++ b/Mage.Sets/src/mage/cards/f/FaldornDreadWolfHerald.java
@@ -64,6 +64,7 @@ class FaldornDreadWolfHeraldTriggeredAbility extends TriggeredAbilityImpl {
FaldornDreadWolfHeraldTriggeredAbility() {
super(Zone.BATTLEFIELD, new CreateTokenEffect(new WolfToken()));
+ setTriggerPhrase("Whenever you cast a spell from exile or a land enters the battlefield under your control from exile, ");
}
private FaldornDreadWolfHeraldTriggeredAbility(final FaldornDreadWolfHeraldTriggeredAbility ability) {
@@ -99,9 +100,4 @@ class FaldornDreadWolfHeraldTriggeredAbility extends TriggeredAbilityImpl {
}
return false;
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever you cast a spell from exile or a land enters the battlefield under your control from exile, ";
- }
}
diff --git a/Mage.Sets/src/mage/cards/f/FatalMutation.java b/Mage.Sets/src/mage/cards/f/FatalMutation.java
index 681cf3221c6..7cb537441a4 100644
--- a/Mage.Sets/src/mage/cards/f/FatalMutation.java
+++ b/Mage.Sets/src/mage/cards/f/FatalMutation.java
@@ -54,6 +54,7 @@ class FatalMutationAbility extends TriggeredAbilityImpl {
public FatalMutationAbility(Effect effect) {
super(Zone.BATTLEFIELD, effect, false);
+ setTriggerPhrase("Whenever enchanted creature is turned face up, ");
}
public FatalMutationAbility(final FatalMutationAbility ability) {
@@ -79,11 +80,5 @@ class FatalMutationAbility extends TriggeredAbilityImpl {
return false;
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever enchanted creature is turned face up, " ;
- }
-
}
diff --git a/Mage.Sets/src/mage/cards/f/FathomMage.java b/Mage.Sets/src/mage/cards/f/FathomMage.java
index e279be028da..de52da9b9d7 100644
--- a/Mage.Sets/src/mage/cards/f/FathomMage.java
+++ b/Mage.Sets/src/mage/cards/f/FathomMage.java
@@ -51,6 +51,7 @@ class FathomMageTriggeredAbility extends TriggeredAbilityImpl {
public FathomMageTriggeredAbility() {
super(Zone.ALL, new DrawCardSourceControllerEffect(1), true);
+ setTriggerPhrase("Whenever a +1/+1 counter is put on {this}, ");
}
public FathomMageTriggeredAbility(FathomMageTriggeredAbility ability) {
@@ -71,9 +72,4 @@ class FathomMageTriggeredAbility extends TriggeredAbilityImpl {
public FathomMageTriggeredAbility copy() {
return new FathomMageTriggeredAbility(this);
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever a +1/+1 counter is put on {this}, " ;
- }
}
diff --git a/Mage.Sets/src/mage/cards/f/FeywildVisitor.java b/Mage.Sets/src/mage/cards/f/FeywildVisitor.java
index 82d79f23b12..ddb494e1686 100644
--- a/Mage.Sets/src/mage/cards/f/FeywildVisitor.java
+++ b/Mage.Sets/src/mage/cards/f/FeywildVisitor.java
@@ -53,6 +53,7 @@ class FeywildVisitorAbility extends TriggeredAbilityImpl {
FeywildVisitorAbility() {
super(Zone.BATTLEFIELD, new CreateTokenEffect(new FaerieDragonToken()), false);
+ setTriggerPhrase("Whenever one or more nontoken creatures you control deal combat damage to a player, you ");
}
private FeywildVisitorAbility(final FeywildVisitorAbility ability) {
@@ -90,9 +91,4 @@ class FeywildVisitorAbility extends TriggeredAbilityImpl {
damagedPlayerIds.add(event.getTargetId());
return true;
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever one or more nontoken creatures you control deal combat damage to a player, you ";
- }
}
diff --git a/Mage.Sets/src/mage/cards/f/FiveAlarmFire.java b/Mage.Sets/src/mage/cards/f/FiveAlarmFire.java
index d02ee912206..1ed48cac64b 100644
--- a/Mage.Sets/src/mage/cards/f/FiveAlarmFire.java
+++ b/Mage.Sets/src/mage/cards/f/FiveAlarmFire.java
@@ -63,6 +63,7 @@ class FiveAlarmFireTriggeredAbility extends TriggeredAbilityImpl {
public FiveAlarmFireTriggeredAbility() {
super(Zone.BATTLEFIELD, new AddCountersSourceEffect(CounterType.BLAZE.createInstance()), false);
+ setTriggerPhrase("Whenever a creature you control deals combat damage, ");
}
public FiveAlarmFireTriggeredAbility(final FiveAlarmFireTriggeredAbility ability) {
@@ -100,10 +101,4 @@ class FiveAlarmFireTriggeredAbility extends TriggeredAbilityImpl {
}
return false;
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever a creature you control deals combat damage, " ;
- }
-
}
diff --git a/Mage.Sets/src/mage/cards/f/FlamespeakerAdept.java b/Mage.Sets/src/mage/cards/f/FlamespeakerAdept.java
index e5fba4e9cba..a646a51f256 100644
--- a/Mage.Sets/src/mage/cards/f/FlamespeakerAdept.java
+++ b/Mage.Sets/src/mage/cards/f/FlamespeakerAdept.java
@@ -49,6 +49,7 @@ class ScryTriggeredAbility extends TriggeredAbilityImpl {
public ScryTriggeredAbility() {
super(Zone.BATTLEFIELD, new BoostSourceEffect(2,0, Duration.EndOfTurn), false);
this.addEffect(new GainAbilitySourceEffect(FirstStrikeAbility.getInstance(), Duration.EndOfTurn));
+ setTriggerPhrase("Whenever you scry, ");
}
public ScryTriggeredAbility(final ScryTriggeredAbility ability) {
@@ -69,9 +70,4 @@ class ScryTriggeredAbility extends TriggeredAbilityImpl {
public boolean checkTrigger(GameEvent event, Game game) {
return event.getPlayerId().equals(this.getControllerId());
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever you scry, " ;
- }
}
diff --git a/Mage.Sets/src/mage/cards/f/FleetingMemories.java b/Mage.Sets/src/mage/cards/f/FleetingMemories.java
index 94e05b487c0..181dfa3c277 100644
--- a/Mage.Sets/src/mage/cards/f/FleetingMemories.java
+++ b/Mage.Sets/src/mage/cards/f/FleetingMemories.java
@@ -57,6 +57,7 @@ class FleetingMemoriesTriggeredAbility extends TriggeredAbilityImpl {
public FleetingMemoriesTriggeredAbility() {
super(Zone.BATTLEFIELD, new MillCardsTargetEffect(3));
setLeavesTheBattlefieldTrigger(true);
+ setTriggerPhrase("Whenever you sacrifice a Clue, ");
}
public FleetingMemoriesTriggeredAbility(final FleetingMemoriesTriggeredAbility ability) {
@@ -78,9 +79,4 @@ class FleetingMemoriesTriggeredAbility extends TriggeredAbilityImpl {
return event.getPlayerId().equals(this.getControllerId())
&& game.getLastKnownInformation(event.getTargetId(), Zone.BATTLEFIELD).hasSubtype(SubType.CLUE, game);
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever you sacrifice a Clue, " ;
- }
}
\ No newline at end of file
diff --git a/Mage.Sets/src/mage/cards/f/FleshCarver.java b/Mage.Sets/src/mage/cards/f/FleshCarver.java
index 7cf035dfe73..9aee148d649 100644
--- a/Mage.Sets/src/mage/cards/f/FleshCarver.java
+++ b/Mage.Sets/src/mage/cards/f/FleshCarver.java
@@ -67,6 +67,7 @@ class FleshCarverAbility extends DiesSourceTriggeredAbility {
public FleshCarverAbility() {
super(new FleshCarverEffect(), false);
+ setTriggerPhrase("When Flesh Carver dies, ");
}
public FleshCarverAbility(final FleshCarverAbility ability) {
@@ -91,11 +92,6 @@ class FleshCarverAbility extends DiesSourceTriggeredAbility {
}
return false;
}
-
- @Override
- public String getTriggerPhrase() {
- return "When Flesh Carver dies, " ;
- }
}
class FleshCarverEffect extends OneShotEffect {
@@ -123,5 +119,4 @@ class FleshCarverEffect extends OneShotEffect {
public FleshCarverEffect copy() {
return new FleshCarverEffect(this);
}
-
}
diff --git a/Mage.Sets/src/mage/cards/f/FleshReaver.java b/Mage.Sets/src/mage/cards/f/FleshReaver.java
index 472f04a6f22..6982337df8a 100644
--- a/Mage.Sets/src/mage/cards/f/FleshReaver.java
+++ b/Mage.Sets/src/mage/cards/f/FleshReaver.java
@@ -46,6 +46,7 @@ class FleshReaverTriggeredAbility extends TriggeredAbilityImpl {
FleshReaverTriggeredAbility() {
super(Zone.BATTLEFIELD, new DamageControllerEffect(SavedDamageValue.MUCH));
+ setTriggerPhrase("Whenever {this} deals damage to a creature or opponent, ");
}
private FleshReaverTriggeredAbility(final FleshReaverTriggeredAbility effect) {
@@ -76,9 +77,4 @@ class FleshReaverTriggeredAbility extends TriggeredAbilityImpl {
}
return false;
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever {this} deals damage to a creature or opponent, ";
- }
}
diff --git a/Mage.Sets/src/mage/cards/f/ForbiddenOrchard.java b/Mage.Sets/src/mage/cards/f/ForbiddenOrchard.java
index 06399dd2583..51083a37eb6 100644
--- a/Mage.Sets/src/mage/cards/f/ForbiddenOrchard.java
+++ b/Mage.Sets/src/mage/cards/f/ForbiddenOrchard.java
@@ -46,6 +46,7 @@ class ForbiddenOrchardTriggeredAbility extends TriggeredAbilityImpl {
ForbiddenOrchardTriggeredAbility() {
super(Zone.BATTLEFIELD, new CreateTokenTargetEffect(new SpiritToken()));
this.addTarget(new TargetOpponent());
+ setTriggerPhrase("Whenever you tap {this} for mana, ");
}
private ForbiddenOrchardTriggeredAbility(final ForbiddenOrchardTriggeredAbility ability) {
@@ -69,11 +70,6 @@ class ForbiddenOrchardTriggeredAbility extends TriggeredAbilityImpl {
&& isControlledBy(event.getPlayerId());
}
- @Override
- public String getTriggerPhrase() {
- return "Whenever you tap {this} for mana, " ;
- }
-
@Override
public ForbiddenOrchardTriggeredAbility copy() {
return new ForbiddenOrchardTriggeredAbility(this);
diff --git a/Mage.Sets/src/mage/cards/f/FrontierSiege.java b/Mage.Sets/src/mage/cards/f/FrontierSiege.java
index a3c645e2e3b..1b873be84da 100644
--- a/Mage.Sets/src/mage/cards/f/FrontierSiege.java
+++ b/Mage.Sets/src/mage/cards/f/FrontierSiege.java
@@ -76,7 +76,7 @@ class FrontierSiegeKhansTriggeredAbility extends TriggeredAbilityImpl {
FrontierSiegeKhansTriggeredAbility() {
super(Zone.BATTLEFIELD, new AddManaToManaPoolSourceControllerEffect(Mana.GreenMana(2)), false);
-
+ setTriggerPhrase("At the beginning of each of your main phases, ");
}
private FrontierSiegeKhansTriggeredAbility(final FrontierSiegeKhansTriggeredAbility ability) {
@@ -98,12 +98,6 @@ class FrontierSiegeKhansTriggeredAbility extends TriggeredAbilityImpl {
public boolean checkTrigger(GameEvent event, Game game) {
return event.getPlayerId().equals(this.controllerId);
}
-
- @Override
- public String getTriggerPhrase() {
- return "At the beginning of each of your main phases, " ;
- }
-
}
class FrontierSiegeFightEffect extends OneShotEffect {
diff --git a/Mage.Sets/src/mage/cards/f/FungalBehemoth.java b/Mage.Sets/src/mage/cards/f/FungalBehemoth.java
index 35d0d957581..b2c7ab38251 100644
--- a/Mage.Sets/src/mage/cards/f/FungalBehemoth.java
+++ b/Mage.Sets/src/mage/cards/f/FungalBehemoth.java
@@ -64,6 +64,7 @@ class FungalBehemothTriggeredAbility extends TriggeredAbilityImpl {
public FungalBehemothTriggeredAbility() {
super(Zone.EXILED, new AddCountersTargetEffect(CounterType.P1P1.createInstance()), true);
addTarget(new TargetCreaturePermanent());
+ setTriggerPhrase("Whenever a time counter is removed from {this} while it's exiled, ");
}
public FungalBehemothTriggeredAbility(final FungalBehemothTriggeredAbility ability) {
@@ -84,12 +85,6 @@ class FungalBehemothTriggeredAbility extends TriggeredAbilityImpl {
public boolean checkTrigger(GameEvent event, Game game) {
return event.getData().equals(CounterType.TIME.getName()) && event.getTargetId().equals(this.getSourceId());
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever a time counter is removed from {this} while it's exiled, " ;
- }
-
}
class P1P1CountersOnControlledCreaturesCount implements DynamicValue {
diff --git a/Mage.Sets/src/mage/cards/f/FurnaceCelebration.java b/Mage.Sets/src/mage/cards/f/FurnaceCelebration.java
index 82f5bed98f4..6ef584729fb 100644
--- a/Mage.Sets/src/mage/cards/f/FurnaceCelebration.java
+++ b/Mage.Sets/src/mage/cards/f/FurnaceCelebration.java
@@ -43,6 +43,7 @@ class FurnaceCelebrationAbility extends TriggeredAbilityImpl {
public FurnaceCelebrationAbility() {
super(Zone.BATTLEFIELD, new DoIfCostPaid(new DamageTargetEffect(2), new ManaCostsImpl<>("{2}")));
this.addTarget(new TargetAnyTarget());
+ setTriggerPhrase("Whenever you sacrifice another permanent, ");
}
public FurnaceCelebrationAbility(final FurnaceCelebrationAbility ability) {
@@ -63,11 +64,4 @@ class FurnaceCelebrationAbility extends TriggeredAbilityImpl {
public boolean checkTrigger(GameEvent event, Game game) {
return event.getPlayerId().equals(this.getControllerId()) && !event.getTargetId().equals(sourceId);
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever you sacrifice another permanent, " ;
- }
-
-
}
\ No newline at end of file
diff --git a/Mage.Sets/src/mage/cards/g/GOTOJAIL.java b/Mage.Sets/src/mage/cards/g/GOTOJAIL.java
index d80ba1e2414..9738c4e4c28 100644
--- a/Mage.Sets/src/mage/cards/g/GOTOJAIL.java
+++ b/Mage.Sets/src/mage/cards/g/GOTOJAIL.java
@@ -92,6 +92,7 @@ class GoToJailTriggeredAbility extends TriggeredAbilityImpl {
public GoToJailTriggeredAbility() {
super(Zone.BATTLEFIELD, new GoToJailUpkeepEffect(), false);
+ setTriggerPhrase("At the beginning of the chosen player's upkeep, ");
}
public GoToJailTriggeredAbility(final GoToJailTriggeredAbility ability) {
@@ -112,11 +113,6 @@ class GoToJailTriggeredAbility extends TriggeredAbilityImpl {
public boolean checkTrigger(GameEvent event, Game game) {
return event.getPlayerId().equals(game.getState().getValue(this.getSourceId().toString() + ChooseOpponentEffect.VALUE_KEY));
}
-
- @Override
- public String getTriggerPhrase() {
- return "At the beginning of the chosen player's upkeep, " ;
- }
}
class GoToJailUpkeepEffect extends OneShotEffect {
diff --git a/Mage.Sets/src/mage/cards/g/GladehartCavalry.java b/Mage.Sets/src/mage/cards/g/GladehartCavalry.java
index 88768436181..08dce7f71d1 100644
--- a/Mage.Sets/src/mage/cards/g/GladehartCavalry.java
+++ b/Mage.Sets/src/mage/cards/g/GladehartCavalry.java
@@ -51,6 +51,7 @@ class GladehartCavalryTriggeredAbility extends TriggeredAbilityImpl {
public GladehartCavalryTriggeredAbility() {
super(Zone.BATTLEFIELD, new GainLifeEffect(2));
+ setTriggerPhrase("Whenever a creature you control with a +1/+1 counter on it dies, ");
}
public GladehartCavalryTriggeredAbility(final GladehartCavalryTriggeredAbility ability) {
@@ -81,9 +82,4 @@ class GladehartCavalryTriggeredAbility extends TriggeredAbilityImpl {
}
return false;
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever a creature you control with a +1/+1 counter on it dies, " ;
- }
}
diff --git a/Mage.Sets/src/mage/cards/g/GlintHornBuccaneer.java b/Mage.Sets/src/mage/cards/g/GlintHornBuccaneer.java
index d0197494377..871a50572c7 100644
--- a/Mage.Sets/src/mage/cards/g/GlintHornBuccaneer.java
+++ b/Mage.Sets/src/mage/cards/g/GlintHornBuccaneer.java
@@ -63,6 +63,7 @@ class GlintHornBuccaneerTriggeredAbility extends TriggeredAbilityImpl {
GlintHornBuccaneerTriggeredAbility() {
super(Zone.BATTLEFIELD, new DamagePlayersEffect(1, TargetController.OPPONENT), false);
+ setTriggerPhrase("Whenever you discard a card, ");
}
private GlintHornBuccaneerTriggeredAbility(final GlintHornBuccaneerTriggeredAbility ability) {
@@ -82,11 +83,5 @@ class GlintHornBuccaneerTriggeredAbility extends TriggeredAbilityImpl {
@Override
public boolean checkTrigger(GameEvent event, Game game) {
return isControlledBy(event.getPlayerId());
-
- }
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever you discard a card, " ;
}
}
diff --git a/Mage.Sets/src/mage/cards/g/GlyphOfLife.java b/Mage.Sets/src/mage/cards/g/GlyphOfLife.java
index e92f75832e1..8a02063985a 100644
--- a/Mage.Sets/src/mage/cards/g/GlyphOfLife.java
+++ b/Mage.Sets/src/mage/cards/g/GlyphOfLife.java
@@ -56,6 +56,7 @@ class GlyphOfLifeTriggeredAbility extends DelayedTriggeredAbility {
public GlyphOfLifeTriggeredAbility() {
super(new GlyphOfLifeGainLifeEffect(), Duration.EndOfTurn, false);
+ setTriggerPhrase("Whenever that creature is dealt damage by an attacking creature this turn, ");
}
public GlyphOfLifeTriggeredAbility(final GlyphOfLifeTriggeredAbility effect) {
@@ -84,11 +85,6 @@ class GlyphOfLifeTriggeredAbility extends DelayedTriggeredAbility {
}
return false;
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever that creature is dealt damage by an attacking creature this turn, " ;
- }
}
class GlyphOfLifeGainLifeEffect extends OneShotEffect {
diff --git a/Mage.Sets/src/mage/cards/g/GoldenGuardian.java b/Mage.Sets/src/mage/cards/g/GoldenGuardian.java
index 6e575c7c147..7ed9badc954 100644
--- a/Mage.Sets/src/mage/cards/g/GoldenGuardian.java
+++ b/Mage.Sets/src/mage/cards/g/GoldenGuardian.java
@@ -105,6 +105,7 @@ class GoldenGuardianDelayedTriggeredAbility extends DelayedTriggeredAbility {
public GoldenGuardianDelayedTriggeredAbility() {
super(new GoldenGuardianReturnTransformedEffect(), Duration.EndOfTurn);
+ setTriggerPhrase("When {this} dies this turn, ");
}
public GoldenGuardianDelayedTriggeredAbility(final GoldenGuardianDelayedTriggeredAbility ability) {
@@ -125,11 +126,6 @@ class GoldenGuardianDelayedTriggeredAbility extends DelayedTriggeredAbility {
public boolean checkTrigger(GameEvent event, Game game) {
return ((ZoneChangeEvent) event).isDiesEvent() && event.getTargetId().equals(getSourceId());
}
-
- @Override
- public String getTriggerPhrase() {
- return "When {this} dies this turn, " ;
- }
}
class GoldenGuardianReturnTransformedEffect extends OneShotEffect {
diff --git a/Mage.Sets/src/mage/cards/g/GoldspanDragon.java b/Mage.Sets/src/mage/cards/g/GoldspanDragon.java
index dd37d4b0337..5347db525ac 100644
--- a/Mage.Sets/src/mage/cards/g/GoldspanDragon.java
+++ b/Mage.Sets/src/mage/cards/g/GoldspanDragon.java
@@ -73,6 +73,7 @@ class GoldspanDragonTriggeredAbility extends TriggeredAbilityImpl {
GoldspanDragonTriggeredAbility() {
super(Zone.BATTLEFIELD, new CreateTokenEffect(new TreasureToken()));
+ setTriggerPhrase("Whenever {this} attacks or becomes the target of a spell, ");
}
private GoldspanDragonTriggeredAbility(final GoldspanDragonTriggeredAbility ability) {
@@ -100,11 +101,6 @@ class GoldspanDragonTriggeredAbility extends TriggeredAbilityImpl {
}
}
- @Override
- public String getTriggerPhrase() {
- return "Whenever {this} attacks or becomes the target of a spell, " ;
- }
-
@Override
public GoldspanDragonTriggeredAbility copy() {
return new GoldspanDragonTriggeredAbility(this);
diff --git a/Mage.Sets/src/mage/cards/g/GontisMachinations.java b/Mage.Sets/src/mage/cards/g/GontisMachinations.java
index ac526ed993c..937f27ab590 100644
--- a/Mage.Sets/src/mage/cards/g/GontisMachinations.java
+++ b/Mage.Sets/src/mage/cards/g/GontisMachinations.java
@@ -57,6 +57,7 @@ class GontisMachinationsTriggeredAbility extends TriggeredAbilityImpl {
public GontisMachinationsTriggeredAbility() {
super(Zone.BATTLEFIELD, new GetEnergyCountersControllerEffect(1), false);
+ setTriggerPhrase("Whenever you lose life for the first time each turn, ");
}
public GontisMachinationsTriggeredAbility(final GontisMachinationsTriggeredAbility ability) {
@@ -85,11 +86,6 @@ class GontisMachinationsTriggeredAbility extends TriggeredAbilityImpl {
public GontisMachinationsTriggeredAbility copy() {
return new GontisMachinationsTriggeredAbility(this);
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever you lose life for the first time each turn, " ;
- }
}
class GontisMachinationsFirstLostLifeThisTurnWatcher extends Watcher {
diff --git a/Mage.Sets/src/mage/cards/g/GrafMole.java b/Mage.Sets/src/mage/cards/g/GrafMole.java
index 5873fd3283f..87dc7bee7cd 100644
--- a/Mage.Sets/src/mage/cards/g/GrafMole.java
+++ b/Mage.Sets/src/mage/cards/g/GrafMole.java
@@ -46,6 +46,7 @@ class GrafMoleTriggeredAbility extends TriggeredAbilityImpl {
public GrafMoleTriggeredAbility() {
super(Zone.BATTLEFIELD, new GainLifeEffect(3));
setLeavesTheBattlefieldTrigger(true);
+ setTriggerPhrase("Whenever you sacrifice a Clue, ");
}
public GrafMoleTriggeredAbility(final GrafMoleTriggeredAbility ability) {
@@ -67,9 +68,4 @@ class GrafMoleTriggeredAbility extends TriggeredAbilityImpl {
return event.getPlayerId().equals(this.getControllerId())
&& game.getLastKnownInformation(event.getTargetId(), Zone.BATTLEFIELD).hasSubtype(SubType.CLUE, game);
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever you sacrifice a Clue, " ;
- }
}
diff --git a/Mage.Sets/src/mage/cards/g/GrandMoffTarkin.java b/Mage.Sets/src/mage/cards/g/GrandMoffTarkin.java
index 08fae93eaf3..637f0bfec59 100644
--- a/Mage.Sets/src/mage/cards/g/GrandMoffTarkin.java
+++ b/Mage.Sets/src/mage/cards/g/GrandMoffTarkin.java
@@ -48,20 +48,13 @@ public final class GrandMoffTarkin extends CardImpl {
class GrandMoffTarkinTriggeredAbility extends TriggeredAbilityImpl {
- protected String text;
-
public GrandMoffTarkinTriggeredAbility(Effect effect, boolean optional) {
super(Zone.BATTLEFIELD, effect, optional);
- }
-
- public GrandMoffTarkinTriggeredAbility(Effect effect, boolean optional, String text) {
- super(Zone.BATTLEFIELD, effect, optional);
- this.text = text;
+ setTriggerPhrase("At the beginning of each opponent's upkeep, ");
}
public GrandMoffTarkinTriggeredAbility(final GrandMoffTarkinTriggeredAbility ability) {
super(ability);
- this.text = ability.text;
}
@Override
@@ -85,11 +78,6 @@ class GrandMoffTarkinTriggeredAbility extends TriggeredAbilityImpl {
return false;
}
- @Override
- public String getTriggerPhrase() {
- return "At the beginning of each opponent's upkeep, ";
- }
-
@Override
public GrandMoffTarkinTriggeredAbility copy() {
return new GrandMoffTarkinTriggeredAbility(this);
diff --git a/Mage.Sets/src/mage/cards/g/GrandWarlordRadha.java b/Mage.Sets/src/mage/cards/g/GrandWarlordRadha.java
index f95339c41d6..b3ba299efd3 100644
--- a/Mage.Sets/src/mage/cards/g/GrandWarlordRadha.java
+++ b/Mage.Sets/src/mage/cards/g/GrandWarlordRadha.java
@@ -87,6 +87,7 @@ class GrandWarlordRadhaTriggeredAbility extends TriggeredAbilityImpl {
public GrandWarlordRadhaTriggeredAbility() {
super(Zone.BATTLEFIELD, new GrandWarlordRadhaEffect(), false);
+ setTriggerPhrase("Whenever one or more creatures you control attack, ");
}
public GrandWarlordRadhaTriggeredAbility(final GrandWarlordRadhaTriggeredAbility ability) {
@@ -115,11 +116,6 @@ class GrandWarlordRadhaTriggeredAbility extends TriggeredAbilityImpl {
}
return false;
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever one or more creatures you control attack, " ;
- }
}
class GrandWarlordRadhaEffect extends OneShotEffect {
diff --git a/Mage.Sets/src/mage/cards/g/GravePact.java b/Mage.Sets/src/mage/cards/g/GravePact.java
index 7f400126ed8..c8472dbf537 100644
--- a/Mage.Sets/src/mage/cards/g/GravePact.java
+++ b/Mage.Sets/src/mage/cards/g/GravePact.java
@@ -46,6 +46,7 @@ class GravePactTriggeredAbility extends TriggeredAbilityImpl {
public GravePactTriggeredAbility() {
super(Zone.BATTLEFIELD, new GravePactEffect());
+ setTriggerPhrase("Whenever a creature you control dies, ");
}
public GravePactTriggeredAbility(final GravePactTriggeredAbility ability) {
@@ -71,11 +72,6 @@ class GravePactTriggeredAbility extends TriggeredAbilityImpl {
}
return false;
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever a creature you control dies, " ;
- }
}
class GravePactEffect extends OneShotEffect {
diff --git a/Mage.Sets/src/mage/cards/g/GravityWell.java b/Mage.Sets/src/mage/cards/g/GravityWell.java
index 8cede16b162..ab399456a3d 100644
--- a/Mage.Sets/src/mage/cards/g/GravityWell.java
+++ b/Mage.Sets/src/mage/cards/g/GravityWell.java
@@ -43,6 +43,7 @@ class GravityWellTriggeredAbility extends TriggeredAbilityImpl {
public GravityWellTriggeredAbility() {
super(Zone.BATTLEFIELD, new GravityWellEffect());
+ setTriggerPhrase("Whenever a creature with flying attacks, ");
}
public GravityWellTriggeredAbility(final GravityWellTriggeredAbility ability) {
@@ -66,11 +67,6 @@ class GravityWellTriggeredAbility extends TriggeredAbilityImpl {
return false;
}
- @Override
- public String getTriggerPhrase() {
- return "Whenever a creature with flying attacks, " ;
- }
-
@Override
public GravityWellTriggeredAbility copy() {
return new GravityWellTriggeredAbility(this);
diff --git a/Mage.Sets/src/mage/cards/g/GreatbowDoyen.java b/Mage.Sets/src/mage/cards/g/GreatbowDoyen.java
index d6119702e77..4bf393b8640 100644
--- a/Mage.Sets/src/mage/cards/g/GreatbowDoyen.java
+++ b/Mage.Sets/src/mage/cards/g/GreatbowDoyen.java
@@ -58,6 +58,7 @@ class GreatbowDoyenTriggeredAbility extends TriggeredAbilityImpl {
public GreatbowDoyenTriggeredAbility() {
super(Zone.BATTLEFIELD, new GreatbowDoyenEffect());
+ setTriggerPhrase("Whenever an Archer you control deals damage to a creature, ");
}
public GreatbowDoyenTriggeredAbility(final GreatbowDoyenTriggeredAbility ability) {
@@ -89,11 +90,6 @@ class GreatbowDoyenTriggeredAbility extends TriggeredAbilityImpl {
}
return false;
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever an Archer you control deals damage to a creature, " ;
- }
}
class GreatbowDoyenEffect extends OneShotEffect {
diff --git a/Mage.Sets/src/mage/cards/g/GrenzoHavocRaiser.java b/Mage.Sets/src/mage/cards/g/GrenzoHavocRaiser.java
index 7b2a6338ad3..3cf42210d5c 100644
--- a/Mage.Sets/src/mage/cards/g/GrenzoHavocRaiser.java
+++ b/Mage.Sets/src/mage/cards/g/GrenzoHavocRaiser.java
@@ -68,6 +68,7 @@ class GrenzoHavocRaiserTriggeredAbility extends TriggeredAbilityImpl {
public GrenzoHavocRaiserTriggeredAbility(Effect effect) {
super(Zone.BATTLEFIELD, effect, false);
+ setTriggerPhrase("Whenever a creature you control deals combat damage to a player, ");
}
public GrenzoHavocRaiserTriggeredAbility(final GrenzoHavocRaiserTriggeredAbility ability) {
@@ -117,11 +118,6 @@ class GrenzoHavocRaiserTriggeredAbility extends TriggeredAbilityImpl {
}
return false;
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever a creature you control deals combat damage to a player, " ;
- }
}
class GrenzoHavocRaiserEffect extends OneShotEffect {
diff --git a/Mage.Sets/src/mage/cards/g/GrolnokTheOmnivore.java b/Mage.Sets/src/mage/cards/g/GrolnokTheOmnivore.java
index 7ff17fa1ce5..678d68d60f0 100644
--- a/Mage.Sets/src/mage/cards/g/GrolnokTheOmnivore.java
+++ b/Mage.Sets/src/mage/cards/g/GrolnokTheOmnivore.java
@@ -62,6 +62,7 @@ class GrolnokTheOmnivoreTriggeredAbility extends TriggeredAbilityImpl {
public GrolnokTheOmnivoreTriggeredAbility() {
super(Zone.BATTLEFIELD, new GrolnokTheOmnivoreExileEffect());
+ setTriggerPhrase("Whenever a permanent card is put into your graveyard from your library, ");
}
private GrolnokTheOmnivoreTriggeredAbility(final GrolnokTheOmnivoreTriggeredAbility ability) {
@@ -89,11 +90,6 @@ class GrolnokTheOmnivoreTriggeredAbility extends TriggeredAbilityImpl {
}
return false;
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever a permanent card is put into your graveyard from your library, ";
- }
}
class GrolnokTheOmnivoreExileEffect extends OneShotEffect {
diff --git a/Mage.Sets/src/mage/cards/g/GuardianOfTazeem.java b/Mage.Sets/src/mage/cards/g/GuardianOfTazeem.java
index dfab6ddaaa8..5aff887580c 100644
--- a/Mage.Sets/src/mage/cards/g/GuardianOfTazeem.java
+++ b/Mage.Sets/src/mage/cards/g/GuardianOfTazeem.java
@@ -57,6 +57,7 @@ class GuardianOfTazeemTriggeredAbility extends TriggeredAbilityImpl {
public GuardianOfTazeemTriggeredAbility() {
super(Zone.BATTLEFIELD, new TapTargetEffect(), false);
addEffect(new GuardianOfTazeemEffect());
+ setTriggerPhrase("Landfall — Whenever a land enters the battlefield under your control, " );
}
public GuardianOfTazeemTriggeredAbility(final GuardianOfTazeemTriggeredAbility ability) {
@@ -88,11 +89,6 @@ class GuardianOfTazeemTriggeredAbility extends TriggeredAbilityImpl {
}
return false;
}
-
- @Override
- public String getTriggerPhrase() {
- return "Landfall — Whenever a land enters the battlefield under your control, " ;
- }
}
class GuardianOfTazeemEffect extends OneShotEffect {
diff --git a/Mage.Sets/src/mage/cards/h/HallarTheFirefletcher.java b/Mage.Sets/src/mage/cards/h/HallarTheFirefletcher.java
index 2774f076171..11c97c079e1 100644
--- a/Mage.Sets/src/mage/cards/h/HallarTheFirefletcher.java
+++ b/Mage.Sets/src/mage/cards/h/HallarTheFirefletcher.java
@@ -54,6 +54,7 @@ class HallarTheFirefletcherTriggeredAbility extends TriggeredAbilityImpl {
this.addEffect(new DamagePlayersEffect(Outcome.Benefit, new CountersSourceCount(CounterType.P1P1), TargetController.OPPONENT)
.setText("then {this} deals damage equal to the number of +1/+1 counters on it to each opponent")
);
+ setTriggerPhrase("Whenever you cast a spell, if that spell was kicked, ");
}
HallarTheFirefletcherTriggeredAbility(final HallarTheFirefletcherTriggeredAbility ability) {
@@ -77,9 +78,4 @@ class HallarTheFirefletcherTriggeredAbility extends TriggeredAbilityImpl {
}
return KickerAbility.getSpellKickedCount(game, event.getTargetId()) > 0;
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever you cast a spell, if that spell was kicked, ";
- }
}
diff --git a/Mage.Sets/src/mage/cards/h/HammerJammer.java b/Mage.Sets/src/mage/cards/h/HammerJammer.java
index d5ec50aa8e0..4be0982d0f9 100644
--- a/Mage.Sets/src/mage/cards/h/HammerJammer.java
+++ b/Mage.Sets/src/mage/cards/h/HammerJammer.java
@@ -88,6 +88,7 @@ class HammerJammerTriggeredAbility extends TriggeredAbilityImpl {
public HammerJammerTriggeredAbility() {
super(Zone.BATTLEFIELD, new HammerJammerEffect(), false);
+ setTriggerPhrase("Whenever you roll a die, ");
}
public HammerJammerTriggeredAbility(final HammerJammerTriggeredAbility ability) {
@@ -115,11 +116,6 @@ class HammerJammerTriggeredAbility extends TriggeredAbilityImpl {
}
return false;
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever you roll a die, " ;
- }
}
class HammerJammerEffect extends OneShotEffect {
diff --git a/Mage.Sets/src/mage/cards/h/HanSoloScrumrat.java b/Mage.Sets/src/mage/cards/h/HanSoloScrumrat.java
index 504ce36d1d3..cb164847d0b 100644
--- a/Mage.Sets/src/mage/cards/h/HanSoloScrumrat.java
+++ b/Mage.Sets/src/mage/cards/h/HanSoloScrumrat.java
@@ -67,6 +67,7 @@ class HanSoloScrumratTriggeredAbility extends TriggeredAbilityImpl {
public HanSoloScrumratTriggeredAbility() {
super(Zone.BATTLEFIELD, new AddCountersTargetEffect(CounterType.P1P1.createInstance()), false);
+ setTriggerPhrase("Whenever {this} creature deals damage during your turn, ");
}
public HanSoloScrumratTriggeredAbility(final HanSoloScrumratTriggeredAbility ability) {
@@ -91,9 +92,4 @@ class HanSoloScrumratTriggeredAbility extends TriggeredAbilityImpl {
&& game.isActivePlayer(source.getControllerId())
&& event.getSourceId().equals(this.getSourceId());
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever {this} creature deals damage during your turn, " ;
- }
}
\ No newline at end of file
diff --git a/Mage.Sets/src/mage/cards/h/HarshJustice.java b/Mage.Sets/src/mage/cards/h/HarshJustice.java
index e708178119c..76a11d0ec0a 100644
--- a/Mage.Sets/src/mage/cards/h/HarshJustice.java
+++ b/Mage.Sets/src/mage/cards/h/HarshJustice.java
@@ -63,6 +63,7 @@ class HarshJusticeTriggeredAbility extends DelayedTriggeredAbility {
public HarshJusticeTriggeredAbility() {
super(new HarshJusticeEffect(), Duration.EndOfTurn, false);
+ setTriggerPhrase("This turn, whenever an attacking creature deals combat damage to you, ");
}
public HarshJusticeTriggeredAbility(final HarshJusticeTriggeredAbility ability) {
@@ -95,11 +96,6 @@ class HarshJusticeTriggeredAbility extends DelayedTriggeredAbility {
}
return false;
}
-
- @Override
- public String getTriggerPhrase() {
- return "This turn, whenever an attacking creature deals combat damage to you, " ;
- }
}
class HarshJusticeEffect extends OneShotEffect {
diff --git a/Mage.Sets/src/mage/cards/h/HeraldOfAnafenza.java b/Mage.Sets/src/mage/cards/h/HeraldOfAnafenza.java
index 787c765f1bd..80b2ff45525 100644
--- a/Mage.Sets/src/mage/cards/h/HeraldOfAnafenza.java
+++ b/Mage.Sets/src/mage/cards/h/HeraldOfAnafenza.java
@@ -53,6 +53,7 @@ class HeraldOfAnafenzaTriggeredAbility extends TriggeredAbilityImpl {
public HeraldOfAnafenzaTriggeredAbility() {
super(Zone.BATTLEFIELD, new CreateTokenEffect(new WarriorToken()), false);
+ setTriggerPhrase("Whenever you activate {this}'s outlast ability, ");
}
public HeraldOfAnafenzaTriggeredAbility(final HeraldOfAnafenzaTriggeredAbility ability) {
@@ -79,9 +80,4 @@ class HeraldOfAnafenzaTriggeredAbility extends TriggeredAbilityImpl {
}
return false;
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever you activate {this}'s outlast ability, " ;
- }
}
diff --git a/Mage.Sets/src/mage/cards/h/HibernationsEnd.java b/Mage.Sets/src/mage/cards/h/HibernationsEnd.java
index 54a6f2ef6b5..5bd21098c37 100644
--- a/Mage.Sets/src/mage/cards/h/HibernationsEnd.java
+++ b/Mage.Sets/src/mage/cards/h/HibernationsEnd.java
@@ -51,6 +51,7 @@ class HibernationsEndAbility extends TriggeredAbilityImpl {
public HibernationsEndAbility() {
super(Zone.BATTLEFIELD, new HibernationsEndEffect(), true);
+ setTriggerPhrase("Whenever you pay {this}'s cumulative upkeep, ");
}
public HibernationsEndAbility(final HibernationsEndAbility ability) {
@@ -71,11 +72,6 @@ class HibernationsEndAbility extends TriggeredAbilityImpl {
public boolean checkTrigger(GameEvent event, Game game) {
return event.getTargetId().equals(this.getSourceId());
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever you pay {this}'s cumulative upkeep, " ;
- }
}
class HibernationsEndEffect extends OneShotEffect {
diff --git a/Mage.Sets/src/mage/cards/h/HiddenPredators.java b/Mage.Sets/src/mage/cards/h/HiddenPredators.java
index d6369f1e2b5..41c3e91b801 100644
--- a/Mage.Sets/src/mage/cards/h/HiddenPredators.java
+++ b/Mage.Sets/src/mage/cards/h/HiddenPredators.java
@@ -47,6 +47,7 @@ class HiddenPredatorsStateTriggeredAbility extends StateTriggeredAbility {
public HiddenPredatorsStateTriggeredAbility() {
super(Zone.BATTLEFIELD, new BecomesCreatureSourceEffect(new HiddenPredatorsToken(), "", Duration.Custom, true, false));
+ setTriggerPhrase("When an opponent controls a creature with 4 or greater power, if {this} is an enchantment, ");
}
public HiddenPredatorsStateTriggeredAbility(final HiddenPredatorsStateTriggeredAbility ability) {
@@ -96,12 +97,6 @@ class HiddenPredatorsStateTriggeredAbility extends StateTriggeredAbility {
public void counter(Game game) {
game.getState().setValue(this.getSourceId().toString() + "triggered", Boolean.FALSE);
}
-
- @Override
- public String getTriggerPhrase() {
- return "When an opponent controls a creature with 4 or greater power, if {this} is an enchantment, " ;
- }
-
}
class HiddenPredatorsToken extends TokenImpl {
diff --git a/Mage.Sets/src/mage/cards/h/HighPriestOfPenance.java b/Mage.Sets/src/mage/cards/h/HighPriestOfPenance.java
index 9d7622a75fc..9041008ca4c 100644
--- a/Mage.Sets/src/mage/cards/h/HighPriestOfPenance.java
+++ b/Mage.Sets/src/mage/cards/h/HighPriestOfPenance.java
@@ -47,6 +47,7 @@ class HighPriestOfPenanceTriggeredAbility extends TriggeredAbilityImpl {
public HighPriestOfPenanceTriggeredAbility() {
super(Zone.BATTLEFIELD, new DestroyTargetEffect(), true);
this.addTarget(new TargetNonlandPermanent());
+ setTriggerPhrase("Whenever {this} is dealt damage, ");
}
public HighPriestOfPenanceTriggeredAbility(final HighPriestOfPenanceTriggeredAbility ability) {
@@ -67,10 +68,4 @@ class HighPriestOfPenanceTriggeredAbility extends TriggeredAbilityImpl {
public boolean checkTrigger(GameEvent event, Game game) {
return event.getTargetId().equals(this.sourceId);
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever {this} is dealt damage, " ;
- }
-
}
diff --git a/Mage.Sets/src/mage/cards/h/HiveMind.java b/Mage.Sets/src/mage/cards/h/HiveMind.java
index 7c49ead40d9..7cc48ceeb72 100644
--- a/Mage.Sets/src/mage/cards/h/HiveMind.java
+++ b/Mage.Sets/src/mage/cards/h/HiveMind.java
@@ -45,6 +45,7 @@ class HiveMindTriggeredAbility extends TriggeredAbilityImpl {
public HiveMindTriggeredAbility() {
super(Zone.BATTLEFIELD, new HiveMindEffect());
+ setTriggerPhrase("Whenever a player casts an instant or sorcery spell, ");
}
public HiveMindTriggeredAbility(final HiveMindTriggeredAbility ability) {
@@ -75,11 +76,6 @@ class HiveMindTriggeredAbility extends TriggeredAbilityImpl {
}
return false;
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever a player casts an instant or sorcery spell, " ;
- }
}
class HiveMindEffect extends OneShotEffect {
diff --git a/Mage.Sets/src/mage/cards/h/Homarid.java b/Mage.Sets/src/mage/cards/h/Homarid.java
index 5d7c4b0d78a..581eb9343c3 100644
--- a/Mage.Sets/src/mage/cards/h/Homarid.java
+++ b/Mage.Sets/src/mage/cards/h/Homarid.java
@@ -69,6 +69,7 @@ class HomaridTriggeredAbility extends StateTriggeredAbility {
public HomaridTriggeredAbility(Effect effect) {
super(Zone.BATTLEFIELD, effect);
+ setTriggerPhrase("Whenever there are four tide counters on {this}, ");
}
public HomaridTriggeredAbility(final HomaridTriggeredAbility ability) {
@@ -84,10 +85,4 @@ class HomaridTriggeredAbility extends StateTriggeredAbility {
public boolean checkTrigger(GameEvent event, Game game) {
return new CountersSourceCount(CounterType.TIDE).calculate(game, this, null) == 4;
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever there are four tide counters on {this}, " ;
- }
-
}
diff --git a/Mage.Sets/src/mage/cards/h/HornOfGreed.java b/Mage.Sets/src/mage/cards/h/HornOfGreed.java
index 6c26ae5c72e..4bedb2aeb6f 100644
--- a/Mage.Sets/src/mage/cards/h/HornOfGreed.java
+++ b/Mage.Sets/src/mage/cards/h/HornOfGreed.java
@@ -40,6 +40,7 @@ class HornOfGreedAbility extends TriggeredAbilityImpl {
public HornOfGreedAbility() {
super(Zone.BATTLEFIELD, new DrawCardTargetEffect(1), false);
+ setTriggerPhrase("Whenever a player plays a land, ");
}
public HornOfGreedAbility(final HornOfGreedAbility ability) {
@@ -61,9 +62,4 @@ class HornOfGreedAbility extends TriggeredAbilityImpl {
this.getEffects().get(0).setTargetPointer(new FixedTarget(event.getPlayerId()));
return true;
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever a player plays a land, " ;
- }
}
diff --git a/Mage.Sets/src/mage/cards/h/HotSoup.java b/Mage.Sets/src/mage/cards/h/HotSoup.java
index 0e5d59aaa24..1bad43855f1 100644
--- a/Mage.Sets/src/mage/cards/h/HotSoup.java
+++ b/Mage.Sets/src/mage/cards/h/HotSoup.java
@@ -56,6 +56,7 @@ class HotSoupTriggeredAbility extends TriggeredAbilityImpl {
HotSoupTriggeredAbility() {
super(Zone.BATTLEFIELD, new DestroyTargetEffect(), false);
+ setTriggerPhrase("Whenever equipped creature is dealt damage, ");
}
HotSoupTriggeredAbility(final HotSoupTriggeredAbility ability) {
@@ -83,9 +84,4 @@ class HotSoupTriggeredAbility extends TriggeredAbilityImpl {
}
return false;
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever equipped creature is dealt damage, " ;
- }
}
diff --git a/Mage.Sets/src/mage/cards/h/HowlpackAvenger.java b/Mage.Sets/src/mage/cards/h/HowlpackAvenger.java
index 77d011f0586..68b7600afe8 100644
--- a/Mage.Sets/src/mage/cards/h/HowlpackAvenger.java
+++ b/Mage.Sets/src/mage/cards/h/HowlpackAvenger.java
@@ -62,6 +62,7 @@ class HowlpackAvengerTriggeredAbility extends TriggeredAbilityImpl {
HowlpackAvengerTriggeredAbility() {
super(Zone.BATTLEFIELD, new DamageTargetEffect(SavedDamageValue.MUCH));
this.addTarget(new TargetAnyTarget());
+ setTriggerPhrase("Whenever a permanent you control is dealt damage, ");
}
private HowlpackAvengerTriggeredAbility(final HowlpackAvengerTriggeredAbility ability) {
@@ -93,9 +94,4 @@ class HowlpackAvengerTriggeredAbility extends TriggeredAbilityImpl {
this.getEffects().setValue("damage", damage);
return true;
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever a permanent you control is dealt damage, ";
- }
}
diff --git a/Mage.Sets/src/mage/cards/i/IdentityThief.java b/Mage.Sets/src/mage/cards/i/IdentityThief.java
index 088dd54da05..22f9ca877b6 100644
--- a/Mage.Sets/src/mage/cards/i/IdentityThief.java
+++ b/Mage.Sets/src/mage/cards/i/IdentityThief.java
@@ -64,6 +64,7 @@ class IdentityThiefAbility extends TriggeredAbilityImpl {
public IdentityThiefAbility() {
super(Zone.BATTLEFIELD, null, true);
this.addEffect(new IdentityThiefEffect());
+ setTriggerPhrase("Whenever {this} attacks, ");
}
public IdentityThiefAbility(final IdentityThiefAbility ability) {
@@ -80,11 +81,6 @@ class IdentityThiefAbility extends TriggeredAbilityImpl {
return event.getSourceId().equals(this.getSourceId());
}
- @Override
- public String getTriggerPhrase() {
- return "Whenever {this} attacks, ";
- }
-
@Override
public IdentityThiefAbility copy() {
return new IdentityThiefAbility(this);
diff --git a/Mage.Sets/src/mage/cards/i/Imprison.java b/Mage.Sets/src/mage/cards/i/Imprison.java
index 3c7ac354825..c4f50a02409 100644
--- a/Mage.Sets/src/mage/cards/i/Imprison.java
+++ b/Mage.Sets/src/mage/cards/i/Imprison.java
@@ -67,6 +67,7 @@ class ImprisonTriggeredAbility extends TriggeredAbilityImpl {
ImprisonTriggeredAbility() {
super(Zone.BATTLEFIELD, new DoIfCostPaid(new CounterTargetEffect().setText("counter that ability"), new DestroySourceEffect(), new ManaCostsImpl<>("{1}")));
+ setTriggerPhrase("Whenever a player activates an ability of enchanted creature with {T} in its activation cost that isn't a mana ability, ");
}
ImprisonTriggeredAbility(final ImprisonTriggeredAbility ability) {
@@ -101,11 +102,6 @@ class ImprisonTriggeredAbility extends TriggeredAbilityImpl {
}
return false;
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever a player activates an ability of enchanted creature with {T} in its activation cost that isn't a mana ability, " ;
- }
}
class ImprisonUnblockEffect extends OneShotEffect {
diff --git a/Mage.Sets/src/mage/cards/i/IndulgeExcess.java b/Mage.Sets/src/mage/cards/i/IndulgeExcess.java
index 6ae13ad047c..78b6102373f 100644
--- a/Mage.Sets/src/mage/cards/i/IndulgeExcess.java
+++ b/Mage.Sets/src/mage/cards/i/IndulgeExcess.java
@@ -68,6 +68,7 @@ class IndulgeTriggeredAbility extends DelayedTriggeredAbility {
super(new CreateTokenEffect(
new CitizenGreenWhiteToken(), 1, true, true
), Duration.EndOfTurn, false, false);
+ setTriggerPhrase("Whenever a creature you control attacks this turn, ");
}
private IndulgeTriggeredAbility(final IndulgeTriggeredAbility ability) {
@@ -88,11 +89,6 @@ class IndulgeTriggeredAbility extends DelayedTriggeredAbility {
public boolean checkTrigger(GameEvent event, Game game) {
return isControlledBy(game.getControllerId(event.getSourceId()));
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever a creature you control attacks this turn, ";
- }
}
enum ExcessValue implements DynamicValue {
diff --git a/Mage.Sets/src/mage/cards/i/InfiltrationLens.java b/Mage.Sets/src/mage/cards/i/InfiltrationLens.java
index abb6882df65..200c3b7beb5 100644
--- a/Mage.Sets/src/mage/cards/i/InfiltrationLens.java
+++ b/Mage.Sets/src/mage/cards/i/InfiltrationLens.java
@@ -50,6 +50,7 @@ class EquippedBecomesBlockedTriggeredAbility extends TriggeredAbilityImpl {
public EquippedBecomesBlockedTriggeredAbility(Effect effect, boolean optional) {
super(Zone.BATTLEFIELD, effect, optional);
+ setTriggerPhrase("Whenever equipped creature becomes blocked by a creature, ");
}
public EquippedBecomesBlockedTriggeredAbility(final EquippedBecomesBlockedTriggeredAbility ability) {
@@ -73,11 +74,6 @@ class EquippedBecomesBlockedTriggeredAbility extends TriggeredAbilityImpl {
return false;
}
- @Override
- public String getTriggerPhrase() {
- return "Whenever equipped creature becomes blocked by a creature, " ;
- }
-
@Override
public EquippedBecomesBlockedTriggeredAbility copy() {
return new EquippedBecomesBlockedTriggeredAbility(this);
diff --git a/Mage.Sets/src/mage/cards/i/InfiniteAuthority.java b/Mage.Sets/src/mage/cards/i/InfiniteAuthority.java
index 397faa7150f..a717ed29b1a 100644
--- a/Mage.Sets/src/mage/cards/i/InfiniteAuthority.java
+++ b/Mage.Sets/src/mage/cards/i/InfiniteAuthority.java
@@ -61,6 +61,7 @@ class InfiniteAuthorityTriggeredAbility extends TriggeredAbilityImpl {
InfiniteAuthorityTriggeredAbility() {
super(Zone.BATTLEFIELD, new CreateDelayedTriggeredAbilityEffect(new AtTheEndOfCombatDelayedTriggeredAbility(new InfiniteAuthorityEffect())));
+ setTriggerPhrase("Whenever enchanted creature blocks or becomes blocked by a creature with toughness 3 or less, ");
}
InfiniteAuthorityTriggeredAbility(final InfiniteAuthorityTriggeredAbility ability) {
@@ -102,11 +103,6 @@ class InfiniteAuthorityTriggeredAbility extends TriggeredAbilityImpl {
}
return false;
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever enchanted creature blocks or becomes blocked by a creature with toughness 3 or less, ";
- }
}
class InfiniteAuthorityEffect extends OneShotEffect {
diff --git a/Mage.Sets/src/mage/cards/i/InvokePrejudice.java b/Mage.Sets/src/mage/cards/i/InvokePrejudice.java
index c322b7f6eed..e1a19a9fe7c 100644
--- a/Mage.Sets/src/mage/cards/i/InvokePrejudice.java
+++ b/Mage.Sets/src/mage/cards/i/InvokePrejudice.java
@@ -46,6 +46,7 @@ class InvokePrejudiceTriggeredAbility extends TriggeredAbilityImpl {
public InvokePrejudiceTriggeredAbility() {
super(Zone.BATTLEFIELD, new InvokePrejudiceEffect(), false);
+ setTriggerPhrase("Whenever an opponent casts a creature spell that doesn't share a color with a creature you control, ");
}
public InvokePrejudiceTriggeredAbility(final InvokePrejudiceTriggeredAbility ability) {
@@ -85,11 +86,6 @@ class InvokePrejudiceTriggeredAbility extends TriggeredAbilityImpl {
}
return false;
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever an opponent casts a creature spell that doesn't share a color with a creature you control, " ;
- }
}
class InvokePrejudiceEffect extends CounterUnlessPaysEffect {
diff --git a/Mage.Sets/src/mage/cards/j/JangoFett.java b/Mage.Sets/src/mage/cards/j/JangoFett.java
index f6f4f3909ab..791f9024604 100644
--- a/Mage.Sets/src/mage/cards/j/JangoFett.java
+++ b/Mage.Sets/src/mage/cards/j/JangoFett.java
@@ -47,7 +47,7 @@ public final class JangoFett extends CardImpl {
this.addAbility(ability);
// Whenever Jango Fett attacks, it gets +X/+0, where X is the number of creatures defending player controls with a bounty counter on them
- this.addAbility(new JangoFettTriggeredAbility(new JangoFettEffect(), false));
+ this.addAbility(new AttacksTriggeredAbility(new JangoFettEffect()));
}
private JangoFett(final JangoFett card) {
@@ -60,51 +60,6 @@ public final class JangoFett extends CardImpl {
}
}
-class JangoFettTriggeredAbility extends TriggeredAbilityImpl {
-
- protected String text;
-
- public JangoFettTriggeredAbility(Effect effect, boolean optional) {
- super(Zone.BATTLEFIELD, effect, optional);
- }
-
- public JangoFettTriggeredAbility(Effect effect, boolean optional, String text) {
- super(Zone.BATTLEFIELD, effect, optional);
- this.text = text;
- }
-
- public JangoFettTriggeredAbility(final JangoFettTriggeredAbility ability) {
- super(ability);
- this.text = ability.text;
- }
-
- @Override
- public boolean checkEventType(GameEvent event, Game game) {
- return event.getType() == GameEvent.EventType.ATTACKER_DECLARED;
- }
-
- @Override
- public boolean checkTrigger(GameEvent event, Game game) {
- if (event.getSourceId().equals(this.getSourceId())) {
- UUID defenderId = game.getCombat().getDefendingPlayerId(getSourceId(), game);
- if (defenderId != null) {
- return true;
- }
- }
- return false;
- }
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever {this} attacks, ";
- }
-
- @Override
- public JangoFettTriggeredAbility copy() {
- return new JangoFettTriggeredAbility(this);
- }
-}
-
class JangoFettEffect extends OneShotEffect {
public JangoFettEffect() {
diff --git a/Mage.Sets/src/mage/cards/j/Jihad.java b/Mage.Sets/src/mage/cards/j/Jihad.java
index f5c12b809b5..2bd09e95b21 100644
--- a/Mage.Sets/src/mage/cards/j/Jihad.java
+++ b/Mage.Sets/src/mage/cards/j/Jihad.java
@@ -67,6 +67,7 @@ class JihadTriggeredAbility extends StateTriggeredAbility {
public JihadTriggeredAbility(Effect effect) {
super(Zone.BATTLEFIELD, effect);
+ setTriggerPhrase("When the chosen player controls no nontoken permanents of the chosen color, ");
}
public JihadTriggeredAbility(final JihadTriggeredAbility ability) {
@@ -86,11 +87,6 @@ class JihadTriggeredAbility extends StateTriggeredAbility {
filter.add(TokenPredicate.FALSE);
return game.getBattlefield().countAll(filter, chosenOpponent, game) == 0;
}
-
- @Override
- public String getTriggerPhrase() {
- return "When the chosen player controls no nontoken permanents of the chosen color, " ;
- }
}
class JihadOpponentCondition implements Condition {
diff --git a/Mage.Sets/src/mage/cards/k/KamiOfTheHonoredDead.java b/Mage.Sets/src/mage/cards/k/KamiOfTheHonoredDead.java
index 5210d76ef9e..27daa618163 100644
--- a/Mage.Sets/src/mage/cards/k/KamiOfTheHonoredDead.java
+++ b/Mage.Sets/src/mage/cards/k/KamiOfTheHonoredDead.java
@@ -55,6 +55,7 @@ class KamiOfTheHonoredDeadTriggeredAbility extends TriggeredAbilityImpl {
public KamiOfTheHonoredDeadTriggeredAbility() {
super(Zone.BATTLEFIELD, new KamiOfTheHonoredDeadGainLifeEffect());
+ setTriggerPhrase("Whenever {this} is dealt damage, ");
}
public KamiOfTheHonoredDeadTriggeredAbility(final KamiOfTheHonoredDeadTriggeredAbility effect) {
@@ -79,11 +80,6 @@ class KamiOfTheHonoredDeadTriggeredAbility extends TriggeredAbilityImpl {
}
return false;
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever {this} is dealt damage, " ;
- }
}
diff --git a/Mage.Sets/src/mage/cards/k/KavuPredator.java b/Mage.Sets/src/mage/cards/k/KavuPredator.java
index 1ba9afa7520..f90ee0d5ee2 100644
--- a/Mage.Sets/src/mage/cards/k/KavuPredator.java
+++ b/Mage.Sets/src/mage/cards/k/KavuPredator.java
@@ -52,6 +52,7 @@ class KavuPredatorTriggeredAbility extends TriggeredAbilityImpl {
public KavuPredatorTriggeredAbility() {
super(Zone.BATTLEFIELD, new KavuPredatorEffect());
+ setTriggerPhrase("Whenever an opponent gains life, ");
}
public KavuPredatorTriggeredAbility(final KavuPredatorTriggeredAbility ability) {
@@ -76,11 +77,6 @@ class KavuPredatorTriggeredAbility extends TriggeredAbilityImpl {
}
return false;
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever an opponent gains life, " ;
- }
}
class KavuPredatorEffect extends OneShotEffect {
diff --git a/Mage.Sets/src/mage/cards/k/KelsFightFixer.java b/Mage.Sets/src/mage/cards/k/KelsFightFixer.java
index c36ecf32b57..b25bc665226 100644
--- a/Mage.Sets/src/mage/cards/k/KelsFightFixer.java
+++ b/Mage.Sets/src/mage/cards/k/KelsFightFixer.java
@@ -65,6 +65,7 @@ class KelsFightFixerTriggeredAbility extends TriggeredAbilityImpl {
KelsFightFixerTriggeredAbility() {
super(Zone.BATTLEFIELD, new DoIfCostPaid(new DrawCardSourceControllerEffect(1), new ManaCostsImpl<>("{U/B}")), false);
setLeavesTheBattlefieldTrigger(true);
+ setTriggerPhrase("Whenever you sacrifice a creature, ");
}
private KelsFightFixerTriggeredAbility(final KelsFightFixerTriggeredAbility ability) {
@@ -86,9 +87,4 @@ class KelsFightFixerTriggeredAbility extends TriggeredAbilityImpl {
return event.getPlayerId().equals(this.getControllerId())
&& game.getLastKnownInformation(event.getTargetId(), Zone.BATTLEFIELD).isCreature(game);
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever you sacrifice a creature, " ;
- }
}
diff --git a/Mage.Sets/src/mage/cards/k/KnightsOfTheBlackRose.java b/Mage.Sets/src/mage/cards/k/KnightsOfTheBlackRose.java
index c4682ec7d74..f7cb1a605ab 100644
--- a/Mage.Sets/src/mage/cards/k/KnightsOfTheBlackRose.java
+++ b/Mage.Sets/src/mage/cards/k/KnightsOfTheBlackRose.java
@@ -57,6 +57,7 @@ class KnightsOfTheBlackRoseTriggeredAbility extends TriggeredAbilityImpl {
public KnightsOfTheBlackRoseTriggeredAbility(Effect effect) {
super(Zone.BATTLEFIELD, effect, false);
+ setTriggerPhrase("Whenever an opponent becomes the monarch, if you were the monarch as the turn began, ");
}
public KnightsOfTheBlackRoseTriggeredAbility(final KnightsOfTheBlackRoseTriggeredAbility ability) {
@@ -85,11 +86,6 @@ class KnightsOfTheBlackRoseTriggeredAbility extends TriggeredAbilityImpl {
return watcher != null && isControlledBy(watcher.getMonarchIdAtTurnStart());
}
- @Override
- public String getTriggerPhrase() {
- return "Whenever an opponent becomes the monarch, if you were the monarch as the turn began, ";
- }
-
@Override
public KnightsOfTheBlackRoseTriggeredAbility copy() {
return new KnightsOfTheBlackRoseTriggeredAbility(this);
diff --git a/Mage.Sets/src/mage/cards/k/KnowledgeAndPower.java b/Mage.Sets/src/mage/cards/k/KnowledgeAndPower.java
index 21dc66ad579..d91ec120464 100644
--- a/Mage.Sets/src/mage/cards/k/KnowledgeAndPower.java
+++ b/Mage.Sets/src/mage/cards/k/KnowledgeAndPower.java
@@ -45,6 +45,7 @@ class ScryTriggeredAbility extends TriggeredAbilityImpl {
public ScryTriggeredAbility() {
super(Zone.BATTLEFIELD, new DoIfCostPaid(new DamageTargetEffect(2), new GenericManaCost(2)), false);
this.addTarget(new TargetAnyTarget());
+ setTriggerPhrase("Whenever you scry, ");
}
public ScryTriggeredAbility(final ScryTriggeredAbility ability) {
@@ -65,9 +66,4 @@ class ScryTriggeredAbility extends TriggeredAbilityImpl {
public boolean checkTrigger(GameEvent event, Game game) {
return event.getPlayerId().equals(this.getControllerId());
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever you scry, " ;
- }
}
diff --git a/Mage.Sets/src/mage/cards/k/KothophedSoulHoarder.java b/Mage.Sets/src/mage/cards/k/KothophedSoulHoarder.java
index fca295312f4..714c4a5f5ee 100644
--- a/Mage.Sets/src/mage/cards/k/KothophedSoulHoarder.java
+++ b/Mage.Sets/src/mage/cards/k/KothophedSoulHoarder.java
@@ -71,6 +71,7 @@ class KothophedSoulHoarderTriggeredAbility extends TriggeredAbilityImpl {
public KothophedSoulHoarderTriggeredAbility(Effect effect) {
super(Zone.BATTLEFIELD, effect);
+ setTriggerPhrase("Whenever a creature leaves an opponent's graveyard, ");
}
public KothophedSoulHoarderTriggeredAbility(final KothophedSoulHoarderTriggeredAbility ability) {
@@ -97,9 +98,4 @@ class KothophedSoulHoarderTriggeredAbility extends TriggeredAbilityImpl {
}
return false;
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever a creature leaves an opponent's graveyard, " ;
- }
}
diff --git a/Mage.Sets/src/mage/cards/k/KurkeshOnakkeAncient.java b/Mage.Sets/src/mage/cards/k/KurkeshOnakkeAncient.java
index f2170a010ae..001ee763f40 100644
--- a/Mage.Sets/src/mage/cards/k/KurkeshOnakkeAncient.java
+++ b/Mage.Sets/src/mage/cards/k/KurkeshOnakkeAncient.java
@@ -51,6 +51,7 @@ class KurkeshOnakkeAncientTriggeredAbility extends TriggeredAbilityImpl {
KurkeshOnakkeAncientTriggeredAbility() {
super(Zone.BATTLEFIELD, new DoIfCostPaid(new CopyStackAbilityEffect(), new GenericManaCost(1)));
+ setTriggerPhrase("Whenever you activate an ability of an artifact, if it isn't a mana ability");
}
KurkeshOnakkeAncientTriggeredAbility(final KurkeshOnakkeAncientTriggeredAbility ability) {
@@ -83,9 +84,4 @@ class KurkeshOnakkeAncientTriggeredAbility extends TriggeredAbilityImpl {
this.getEffects().setValue("stackAbility", stackAbility);
return true;
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever you activate an ability of an artifact, if it isn't a mana ability" ;
- }
}
diff --git a/Mage.Sets/src/mage/cards/l/LastLaugh.java b/Mage.Sets/src/mage/cards/l/LastLaugh.java
index 08300cb451e..46c6c2b4574 100644
--- a/Mage.Sets/src/mage/cards/l/LastLaugh.java
+++ b/Mage.Sets/src/mage/cards/l/LastLaugh.java
@@ -52,6 +52,7 @@ class LastLaughStateTriggeredAbility extends StateTriggeredAbility {
public LastLaughStateTriggeredAbility() {
super(Zone.BATTLEFIELD, new SacrificeSourceEffect());
+ setTriggerPhrase("When no creatures are on the battlefield, ");
}
public LastLaughStateTriggeredAbility(final LastLaughStateTriggeredAbility ability) {
@@ -67,10 +68,4 @@ class LastLaughStateTriggeredAbility extends StateTriggeredAbility {
public boolean checkTrigger(GameEvent event, Game game) {
return game.getBattlefield().count(new FilterCreaturePermanent(), this.getControllerId(), this, game) == 0;
}
-
- @Override
- public String getTriggerPhrase() {
- return "When no creatures are on the battlefield, " ;
- }
-
}
diff --git a/Mage.Sets/src/mage/cards/l/LegionsLanding.java b/Mage.Sets/src/mage/cards/l/LegionsLanding.java
index baed5ab2413..2e65b415d5e 100644
--- a/Mage.Sets/src/mage/cards/l/LegionsLanding.java
+++ b/Mage.Sets/src/mage/cards/l/LegionsLanding.java
@@ -52,6 +52,7 @@ class LegionsLandingTriggeredAbility extends TriggeredAbilityImpl {
public LegionsLandingTriggeredAbility(Effect effect) {
super(Zone.BATTLEFIELD, effect, false);
+ setTriggerPhrase("When you attack with three or more creatures, " );
}
public LegionsLandingTriggeredAbility(final LegionsLandingTriggeredAbility ability) {
@@ -72,9 +73,4 @@ class LegionsLandingTriggeredAbility extends TriggeredAbilityImpl {
public boolean checkTrigger(GameEvent event, Game game) {
return game.getCombat().getAttackers().size() >= 3 && game.getCombat().getAttackingPlayerId().equals(getControllerId());
}
-
- @Override
- public String getTriggerPhrase() {
- return "When you attack with three or more creatures, " ;
- }
}
\ No newline at end of file
diff --git a/Mage.Sets/src/mage/cards/l/LeovoldEmissaryOfTrest.java b/Mage.Sets/src/mage/cards/l/LeovoldEmissaryOfTrest.java
index 765b134aad7..372ab84fa1b 100644
--- a/Mage.Sets/src/mage/cards/l/LeovoldEmissaryOfTrest.java
+++ b/Mage.Sets/src/mage/cards/l/LeovoldEmissaryOfTrest.java
@@ -88,6 +88,7 @@ class LeovoldEmissaryOfTrestTriggeredAbility extends TriggeredAbilityImpl {
LeovoldEmissaryOfTrestTriggeredAbility() {
super(Zone.BATTLEFIELD, new DrawCardSourceControllerEffect(1), true);
+ setTriggerPhrase("Whenever you or a permanent you control becomes the target of a spell or ability an opponent controls, ");
}
LeovoldEmissaryOfTrestTriggeredAbility(final LeovoldEmissaryOfTrestTriggeredAbility ability) {
@@ -120,9 +121,4 @@ class LeovoldEmissaryOfTrestTriggeredAbility extends TriggeredAbilityImpl {
}
return false;
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever you or a permanent you control becomes the target of a spell or ability an opponent controls, " ;
- }
}
diff --git a/Mage.Sets/src/mage/cards/l/LeylinePhantom.java b/Mage.Sets/src/mage/cards/l/LeylinePhantom.java
index c150d113db4..b5e94802979 100644
--- a/Mage.Sets/src/mage/cards/l/LeylinePhantom.java
+++ b/Mage.Sets/src/mage/cards/l/LeylinePhantom.java
@@ -45,6 +45,7 @@ class LeylinePhantomTriggeredAbility extends TriggeredAbilityImpl {
public LeylinePhantomTriggeredAbility() {
super(Zone.BATTLEFIELD, new ReturnToHandSourceEffect(true), false);
+ setTriggerPhrase("Whenever {this} deals combat damage, ");
}
public LeylinePhantomTriggeredAbility(final LeylinePhantomTriggeredAbility ability) {
@@ -66,10 +67,4 @@ class LeylinePhantomTriggeredAbility extends TriggeredAbilityImpl {
public boolean checkTrigger(GameEvent event, Game game) {
return ((DamagedEvent) event).isCombatDamage() && event.getSourceId().equals(this.getSourceId());
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever {this} deals combat damage, " ;
- }
-
}
diff --git a/Mage.Sets/src/mage/cards/l/LightmineField.java b/Mage.Sets/src/mage/cards/l/LightmineField.java
index a4e368ce9ce..c6cfc878a88 100644
--- a/Mage.Sets/src/mage/cards/l/LightmineField.java
+++ b/Mage.Sets/src/mage/cards/l/LightmineField.java
@@ -48,6 +48,7 @@ class LightmineFieldTriggeredAbility extends TriggeredAbilityImpl {
public LightmineFieldTriggeredAbility() {
super(Zone.BATTLEFIELD, new LightmineFieldEffect());
+ setTriggerPhrase("Whenever one or more creatures attack, ");
}
public LightmineFieldTriggeredAbility(final LightmineFieldTriggeredAbility ability) {
@@ -78,11 +79,6 @@ class LightmineFieldTriggeredAbility extends TriggeredAbilityImpl {
}
return !attackSet.isEmpty();
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever one or more creatures attack, " ;
- }
}
class LightmineFieldEffect extends OneShotEffect {
diff --git a/Mage.Sets/src/mage/cards/l/LootDispute.java b/Mage.Sets/src/mage/cards/l/LootDispute.java
index 026f40e0078..911c8151dbd 100644
--- a/Mage.Sets/src/mage/cards/l/LootDispute.java
+++ b/Mage.Sets/src/mage/cards/l/LootDispute.java
@@ -53,6 +53,7 @@ class LootDisputeTriggeredAbility extends TriggeredAbilityImpl {
LootDisputeTriggeredAbility() {
super(Zone.BATTLEFIELD, new CreateTokenEffect(new TreasureToken()));
+ setTriggerPhrase("Whenever you attack a player who has the initiative, ");
}
private LootDisputeTriggeredAbility(final LootDisputeTriggeredAbility ability) {
@@ -73,9 +74,4 @@ class LootDisputeTriggeredAbility extends TriggeredAbilityImpl {
public boolean checkTrigger(GameEvent event, Game game) {
return isControlledBy(event.getPlayerId()) && event.getTargetId().equals(game.getInitiativeId());
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever you attack a player who has the initiative, ";
- }
}
diff --git a/Mage.Sets/src/mage/cards/l/LurkingJackals.java b/Mage.Sets/src/mage/cards/l/LurkingJackals.java
index 8d3a5a558d5..d2581a5eabc 100644
--- a/Mage.Sets/src/mage/cards/l/LurkingJackals.java
+++ b/Mage.Sets/src/mage/cards/l/LurkingJackals.java
@@ -41,6 +41,7 @@ class LurkingJackalsStateTriggeredAbility extends StateTriggeredAbility {
public LurkingJackalsStateTriggeredAbility() {
super(Zone.BATTLEFIELD, new BecomesCreatureSourceEffect(new LurkingJackalsToken(), "", Duration.Custom, true, false));
+ setTriggerPhrase("When an opponent has 10 or less life, if {this} is an enchantment, ");
}
public LurkingJackalsStateTriggeredAbility(final LurkingJackalsStateTriggeredAbility ability) {
@@ -97,12 +98,6 @@ class LurkingJackalsStateTriggeredAbility extends StateTriggeredAbility {
public void counter(Game game) {
game.getState().setValue(this.getSourceId().toString() + "triggered", Boolean.FALSE);
}
-
- @Override
- public String getTriggerPhrase() {
- return "When an opponent has 10 or less life, if {this} is an enchantment, " ;
- }
-
}
class LurkingJackalsToken extends TokenImpl {
diff --git a/Mage.Sets/src/mage/cards/m/MagusOfTheBridge.java b/Mage.Sets/src/mage/cards/m/MagusOfTheBridge.java
index 4362f3c26ee..12571c5c7e2 100644
--- a/Mage.Sets/src/mage/cards/m/MagusOfTheBridge.java
+++ b/Mage.Sets/src/mage/cards/m/MagusOfTheBridge.java
@@ -63,6 +63,7 @@ class MagusOfTheBridgeTriggeredAbility extends TriggeredAbilityImpl {
public MagusOfTheBridgeTriggeredAbility() {
super(Zone.BATTLEFIELD, new ExileSourceEffect());
+ setTriggerPhrase("When a creature is put into an opponent's graveyard from the battlefield, ");
}
private MagusOfTheBridgeTriggeredAbility(final MagusOfTheBridgeTriggeredAbility ability) {
@@ -90,9 +91,4 @@ class MagusOfTheBridgeTriggeredAbility extends TriggeredAbilityImpl {
}
return false;
}
-
- @Override
- public String getTriggerPhrase() {
- return "When a creature is put into an opponent's graveyard from the battlefield, " ;
- }
}
diff --git a/Mage.Sets/src/mage/cards/m/ManaVortex.java b/Mage.Sets/src/mage/cards/m/ManaVortex.java
index 01efb4e7a89..38276f4e054 100644
--- a/Mage.Sets/src/mage/cards/m/ManaVortex.java
+++ b/Mage.Sets/src/mage/cards/m/ManaVortex.java
@@ -110,6 +110,7 @@ class ManaVortexStateTriggeredAbility extends StateTriggeredAbility {
public ManaVortexStateTriggeredAbility() {
super(Zone.BATTLEFIELD, new SacrificeSourceEffect());
+ setTriggerPhrase("When there are no lands on the battlefield, ");
}
public ManaVortexStateTriggeredAbility(final ManaVortexStateTriggeredAbility ability) {
@@ -125,10 +126,4 @@ class ManaVortexStateTriggeredAbility extends StateTriggeredAbility {
public boolean checkTrigger(GameEvent event, Game game) {
return game.getBattlefield().count(StaticFilters.FILTER_LANDS, this.getControllerId(), this, game) == 0;
}
-
- @Override
- public String getTriggerPhrase() {
- return "When there are no lands on the battlefield, " ;
- }
-
}
\ No newline at end of file
diff --git a/Mage.Sets/src/mage/cards/m/MarchesaTheBlackRose.java b/Mage.Sets/src/mage/cards/m/MarchesaTheBlackRose.java
index d0877d8d425..6d6b4a7e335 100644
--- a/Mage.Sets/src/mage/cards/m/MarchesaTheBlackRose.java
+++ b/Mage.Sets/src/mage/cards/m/MarchesaTheBlackRose.java
@@ -66,6 +66,7 @@ class MarchesaTheBlackRoseTriggeredAbility extends TriggeredAbilityImpl {
public MarchesaTheBlackRoseTriggeredAbility() {
super(Zone.BATTLEFIELD, new MarchesaTheBlackRoseEffect());
+ setTriggerPhrase("Whenever a creature you control with a +1/+1 counter on it dies, ");
}
public MarchesaTheBlackRoseTriggeredAbility(final MarchesaTheBlackRoseTriggeredAbility ability) {
@@ -99,11 +100,6 @@ class MarchesaTheBlackRoseTriggeredAbility extends TriggeredAbilityImpl {
}
return false;
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever a creature you control with a +1/+1 counter on it dies, " ;
- }
}
class MarchesaTheBlackRoseEffect extends OneShotEffect {
diff --git a/Mage.Sets/src/mage/cards/m/MassacreWurm.java b/Mage.Sets/src/mage/cards/m/MassacreWurm.java
index a9af217c633..560a0d272ad 100644
--- a/Mage.Sets/src/mage/cards/m/MassacreWurm.java
+++ b/Mage.Sets/src/mage/cards/m/MassacreWurm.java
@@ -51,6 +51,7 @@ class MassacreWurmTriggeredAbility extends TriggeredAbilityImpl {
MassacreWurmTriggeredAbility() {
super(Zone.BATTLEFIELD, new LoseLifeTargetEffect(2));
+ setTriggerPhrase("Whenever a creature an opponent controls dies, ");
}
MassacreWurmTriggeredAbility(final MassacreWurmTriggeredAbility ability) {
@@ -80,9 +81,4 @@ class MassacreWurmTriggeredAbility extends TriggeredAbilityImpl {
}
return false;
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever a creature an opponent controls dies, " ;
- }
}
diff --git a/Mage.Sets/src/mage/cards/m/MasterOfCruelties.java b/Mage.Sets/src/mage/cards/m/MasterOfCruelties.java
index c4f66e9b13c..6349edcf041 100644
--- a/Mage.Sets/src/mage/cards/m/MasterOfCruelties.java
+++ b/Mage.Sets/src/mage/cards/m/MasterOfCruelties.java
@@ -60,6 +60,7 @@ class MasterOfCrueltiesTriggeredAbility extends TriggeredAbilityImpl {
public MasterOfCrueltiesTriggeredAbility() {
super(Zone.BATTLEFIELD, new MasterOfCrueltiesEffect());
this.addEffect(new MasterOfCrueltiesNoDamageEffect());
+ setTriggerPhrase("Whenever {this} attacks a player and isn't blocked, ");
}
public MasterOfCrueltiesTriggeredAbility(final MasterOfCrueltiesTriggeredAbility ability) {
@@ -95,11 +96,6 @@ class MasterOfCrueltiesTriggeredAbility extends TriggeredAbilityImpl {
}
return false;
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever {this} attacks a player and isn't blocked, ";
- }
}
class MasterOfCrueltiesEffect extends OneShotEffect {
diff --git a/Mage.Sets/src/mage/cards/m/MavrenFeinDuskApostle.java b/Mage.Sets/src/mage/cards/m/MavrenFeinDuskApostle.java
index cca6310558d..752a1334b3c 100644
--- a/Mage.Sets/src/mage/cards/m/MavrenFeinDuskApostle.java
+++ b/Mage.Sets/src/mage/cards/m/MavrenFeinDuskApostle.java
@@ -60,6 +60,7 @@ class MavrenFeinDuskApostleTriggeredAbility extends TriggeredAbilityImpl {
public MavrenFeinDuskApostleTriggeredAbility() {
super(Zone.BATTLEFIELD, new CreateTokenEffect(new IxalanVampireToken()), false);
+ setTriggerPhrase("Whenever one or more nontoken Vampires you control attack, ");
}
public MavrenFeinDuskApostleTriggeredAbility(final MavrenFeinDuskApostleTriggeredAbility ability) {
@@ -86,9 +87,4 @@ class MavrenFeinDuskApostleTriggeredAbility extends TriggeredAbilityImpl {
}
return false;
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever one or more nontoken Vampires you control attack, " ;
- }
}
diff --git a/Mage.Sets/src/mage/cards/m/MazirekKraulDeathPriest.java b/Mage.Sets/src/mage/cards/m/MazirekKraulDeathPriest.java
index fb393fc09e7..8e85146a0f8 100644
--- a/Mage.Sets/src/mage/cards/m/MazirekKraulDeathPriest.java
+++ b/Mage.Sets/src/mage/cards/m/MazirekKraulDeathPriest.java
@@ -55,6 +55,7 @@ class PlayerSacrificesPermanentTriggeredAbility extends TriggeredAbilityImpl {
public PlayerSacrificesPermanentTriggeredAbility(Effect effect, boolean optional) {
super(Zone.BATTLEFIELD, effect, optional);
+ setTriggerPhrase("Whenever a player sacrifices another permanent, ");
}
public PlayerSacrificesPermanentTriggeredAbility(final PlayerSacrificesPermanentTriggeredAbility ability) {
@@ -72,11 +73,6 @@ class PlayerSacrificesPermanentTriggeredAbility extends TriggeredAbilityImpl {
return mageObject != null && !event.getTargetId().equals(this.getSourceId());
}
- @Override
- public String getTriggerPhrase() {
- return "Whenever a player sacrifices another permanent, " ;
- }
-
@Override
public PlayerSacrificesPermanentTriggeredAbility copy() {
return new PlayerSacrificesPermanentTriggeredAbility(this);
diff --git a/Mage.Sets/src/mage/cards/m/MisfortuneTeller.java b/Mage.Sets/src/mage/cards/m/MisfortuneTeller.java
index 19e21bfcf5a..2381274d546 100644
--- a/Mage.Sets/src/mage/cards/m/MisfortuneTeller.java
+++ b/Mage.Sets/src/mage/cards/m/MisfortuneTeller.java
@@ -103,6 +103,7 @@ class MisfortuneTellerTriggeredAbility extends TriggeredAbilityImpl {
public MisfortuneTellerTriggeredAbility() {
super(Zone.BATTLEFIELD, new MisfortuneTellerEffect());
+ setTriggerPhrase("Whenever {this} enters the battlefield or deals combat damage to a player, ");
}
private MisfortuneTellerTriggeredAbility(final MisfortuneTellerTriggeredAbility ability) {
@@ -130,9 +131,4 @@ class MisfortuneTellerTriggeredAbility extends TriggeredAbilityImpl {
return false;
}
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever {this} enters the battlefield or deals combat damage to a player, ";
- }
}
diff --git a/Mage.Sets/src/mage/cards/m/MortalObstinacy.java b/Mage.Sets/src/mage/cards/m/MortalObstinacy.java
index d2c3ca582c2..e7b2950f941 100644
--- a/Mage.Sets/src/mage/cards/m/MortalObstinacy.java
+++ b/Mage.Sets/src/mage/cards/m/MortalObstinacy.java
@@ -67,6 +67,7 @@ class MortalObstinacyAbility extends TriggeredAbilityImpl {
public MortalObstinacyAbility() {
super(Zone.BATTLEFIELD, new DoIfCostPaid(new DestroyTargetEffect(), new SacrificeSourceCost()));
addTarget(new TargetEnchantmentPermanent());
+ setTriggerPhrase("Whenever enchanted creature deals combat damage to a player, ");
}
public MortalObstinacyAbility(final MortalObstinacyAbility ability) {
@@ -89,10 +90,5 @@ class MortalObstinacyAbility extends TriggeredAbilityImpl {
Permanent damageMakingCreature = game.getPermanent(event.getSourceId());
return damageEvent.isCombatDamage() && damageMakingCreature != null && damageMakingCreature.getAttachments().contains(this.getSourceId());
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever enchanted creature deals combat damage to a player, " ;
- }
}
diff --git a/Mage.Sets/src/mage/cards/m/MorticianBeetle.java b/Mage.Sets/src/mage/cards/m/MorticianBeetle.java
index da1dba59742..2dff956afc2 100644
--- a/Mage.Sets/src/mage/cards/m/MorticianBeetle.java
+++ b/Mage.Sets/src/mage/cards/m/MorticianBeetle.java
@@ -47,6 +47,7 @@ class PlayerSacrificesCreatureTriggeredAbility extends TriggeredAbilityImpl {
public PlayerSacrificesCreatureTriggeredAbility(Effect effect, boolean optional) {
super(Zone.BATTLEFIELD, effect, optional);
+ setTriggerPhrase("Whenever a player sacrifices a creature, ");
}
public PlayerSacrificesCreatureTriggeredAbility(final PlayerSacrificesCreatureTriggeredAbility ability) {
@@ -67,11 +68,6 @@ class PlayerSacrificesCreatureTriggeredAbility extends TriggeredAbilityImpl {
return false;
}
- @Override
- public String getTriggerPhrase() {
- return "Whenever a player sacrifices a creature, " ;
- }
-
@Override
public PlayerSacrificesCreatureTriggeredAbility copy() {
return new PlayerSacrificesCreatureTriggeredAbility(this);
diff --git a/Mage.Sets/src/mage/cards/m/MultanisPresence.java b/Mage.Sets/src/mage/cards/m/MultanisPresence.java
index a4d545ca8a2..fe4a622e17a 100644
--- a/Mage.Sets/src/mage/cards/m/MultanisPresence.java
+++ b/Mage.Sets/src/mage/cards/m/MultanisPresence.java
@@ -42,6 +42,7 @@ class MultanisPresenceTriggeredAbility extends TriggeredAbilityImpl {
public MultanisPresenceTriggeredAbility() {
super(Zone.BATTLEFIELD, new DrawCardSourceControllerEffect(1), false);
+ setTriggerPhrase("Whenever a spell you've cast is countered, ");
}
public MultanisPresenceTriggeredAbility(final MultanisPresenceTriggeredAbility ability) {
@@ -63,11 +64,6 @@ class MultanisPresenceTriggeredAbility extends TriggeredAbilityImpl {
MultanisPresenceWatcher watcher = game.getState().getWatcher(MultanisPresenceWatcher.class);
return watcher != null && watcher.getSpellsCastThisTurn(controllerId).contains(event.getTargetId());
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever a spell you've cast is countered, " ;
- }
}
class MultanisPresenceWatcher extends Watcher {
diff --git a/Mage.Sets/src/mage/cards/m/MurktideRegent.java b/Mage.Sets/src/mage/cards/m/MurktideRegent.java
index c141ef2a904..f073d69e118 100644
--- a/Mage.Sets/src/mage/cards/m/MurktideRegent.java
+++ b/Mage.Sets/src/mage/cards/m/MurktideRegent.java
@@ -100,6 +100,7 @@ class MurktideRegentTriggeredAbility extends TriggeredAbilityImpl {
public MurktideRegentTriggeredAbility() {
super(Zone.BATTLEFIELD, new AddCountersSourceEffect(CounterType.P1P1.createInstance()));
+ setTriggerPhrase("Whenever an instant or sorcery card leaves your graveyard, ");
}
private MurktideRegentTriggeredAbility(final MurktideRegentTriggeredAbility ability) {
@@ -125,9 +126,4 @@ class MurktideRegentTriggeredAbility extends TriggeredAbilityImpl {
}
return false;
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever an instant or sorcery card leaves your graveyard, " ;
- }
}
diff --git a/Mage.Sets/src/mage/cards/n/NarsetTranscendent.java b/Mage.Sets/src/mage/cards/n/NarsetTranscendent.java
index a47d27c528c..bdbf412d097 100644
--- a/Mage.Sets/src/mage/cards/n/NarsetTranscendent.java
+++ b/Mage.Sets/src/mage/cards/n/NarsetTranscendent.java
@@ -106,6 +106,7 @@ class NarsetTranscendentTriggeredAbility extends DelayedTriggeredAbility {
public NarsetTranscendentTriggeredAbility() {
super(new NarsetTranscendentGainReboundEffect(), Duration.EndOfTurn, true);
+ setTriggerPhrase("When you cast your next instant or sorcery spell from your hand this turn, ");
}
private NarsetTranscendentTriggeredAbility(final NarsetTranscendentTriggeredAbility ability) {
@@ -138,11 +139,6 @@ class NarsetTranscendentTriggeredAbility extends DelayedTriggeredAbility {
}
return false;
}
-
- @Override
- public String getTriggerPhrase() {
- return "When you cast your next instant or sorcery spell from your hand this turn, " ;
- }
}
class NarsetTranscendentGainReboundEffect extends ContinuousEffectImpl {
diff --git a/Mage.Sets/src/mage/cards/n/Necropotence.java b/Mage.Sets/src/mage/cards/n/Necropotence.java
index d0ee49334d1..0519557c79a 100644
--- a/Mage.Sets/src/mage/cards/n/Necropotence.java
+++ b/Mage.Sets/src/mage/cards/n/Necropotence.java
@@ -61,6 +61,7 @@ class NecropotenceTriggeredAbility extends TriggeredAbilityImpl {
NecropotenceTriggeredAbility(Effect effect) {
super(Zone.BATTLEFIELD, effect, false);
+ setTriggerPhrase("Whenever you discard a card, ");
}
NecropotenceTriggeredAbility(final NecropotenceTriggeredAbility ability) {
@@ -85,11 +86,6 @@ class NecropotenceTriggeredAbility extends TriggeredAbilityImpl {
}
return false;
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever you discard a card, " ;
- }
}
class NecropotenceEffect extends OneShotEffect {
diff --git a/Mage.Sets/src/mage/cards/n/NefariousImp.java b/Mage.Sets/src/mage/cards/n/NefariousImp.java
index 2fc9910dc74..478dcbec888 100644
--- a/Mage.Sets/src/mage/cards/n/NefariousImp.java
+++ b/Mage.Sets/src/mage/cards/n/NefariousImp.java
@@ -52,6 +52,7 @@ class NefariousImpTriggeredAbility extends TriggeredAbilityImpl {
NefariousImpTriggeredAbility() {
super(Zone.BATTLEFIELD, new ScryEffect(1));
+ setTriggerPhrase("Whenever one or more permanents you control leave the battlefield, ");
}
private NefariousImpTriggeredAbility(final NefariousImpTriggeredAbility ability) {
@@ -82,9 +83,4 @@ class NefariousImpTriggeredAbility extends TriggeredAbilityImpl {
.filter(Objects::nonNull)
).map(Controllable::getControllerId).anyMatch(this::isControlledBy);
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever one or more permanents you control leave the battlefield, ";
- }
}
diff --git a/Mage.Sets/src/mage/cards/n/NightDealings.java b/Mage.Sets/src/mage/cards/n/NightDealings.java
index f9f09736472..a3de7e52d45 100644
--- a/Mage.Sets/src/mage/cards/n/NightDealings.java
+++ b/Mage.Sets/src/mage/cards/n/NightDealings.java
@@ -57,6 +57,7 @@ public final class NightDealings extends CardImpl {
private NightDealingsTriggeredAbility() {
super(Zone.BATTLEFIELD, new NightDealingsEffect());
+ setTriggerPhrase("Whenever a source you control deals damage to another player, ");
}
private NightDealingsTriggeredAbility(final NightDealingsTriggeredAbility ability) {
@@ -83,11 +84,6 @@ public final class NightDealings extends CardImpl {
this.getEffects().setValue("damageAmount", event.getAmount());
return true;
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever a source you control deals damage to another player, " ;
- }
}
private static final class NightDealingsEffect extends OneShotEffect {
diff --git a/Mage.Sets/src/mage/cards/n/NorinTheWary.java b/Mage.Sets/src/mage/cards/n/NorinTheWary.java
index 6778ecf1a86..dfd1bd94407 100644
--- a/Mage.Sets/src/mage/cards/n/NorinTheWary.java
+++ b/Mage.Sets/src/mage/cards/n/NorinTheWary.java
@@ -48,6 +48,7 @@ class NorinTheWaryTriggeredAbility extends TriggeredAbilityImpl {
public NorinTheWaryTriggeredAbility() {
super(Zone.BATTLEFIELD, new ExileReturnBattlefieldOwnerNextEndStepSourceEffect(), false);
+ setTriggerPhrase("When a player casts a spell or a creature attacks, ");
}
public NorinTheWaryTriggeredAbility(final NorinTheWaryTriggeredAbility ability) {
@@ -65,11 +66,6 @@ class NorinTheWaryTriggeredAbility extends TriggeredAbilityImpl {
return true;
}
- @Override
- public String getTriggerPhrase() {
- return "When a player casts a spell or a creature attacks, " ;
- }
-
@Override
public NorinTheWaryTriggeredAbility copy() {
return new NorinTheWaryTriggeredAbility(this);
diff --git a/Mage.Sets/src/mage/cards/o/OniCultAnvil.java b/Mage.Sets/src/mage/cards/o/OniCultAnvil.java
index c00e4c46de5..3c8d3e2c82b 100644
--- a/Mage.Sets/src/mage/cards/o/OniCultAnvil.java
+++ b/Mage.Sets/src/mage/cards/o/OniCultAnvil.java
@@ -56,6 +56,7 @@ class OniCultAnvilTriggeredAbility extends TriggeredAbilityImpl {
public OniCultAnvilTriggeredAbility() {
super(Zone.BATTLEFIELD, new CreateTokenEffect(new ConstructToken()));
this.setTriggersOnce(true);
+ setTriggerPhrase("Whenever one or more artifacts you control leave the battlefield during your turn, ");
}
private OniCultAnvilTriggeredAbility(final OniCultAnvilTriggeredAbility ability) {
@@ -83,9 +84,4 @@ class OniCultAnvilTriggeredAbility extends TriggeredAbilityImpl {
}
return false;
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever one or more artifacts you control leave the battlefield during your turn, ";
- }
}
diff --git a/Mage.Sets/src/mage/cards/o/OpalAvenger.java b/Mage.Sets/src/mage/cards/o/OpalAvenger.java
index bc2bb50cef2..870ee72841b 100644
--- a/Mage.Sets/src/mage/cards/o/OpalAvenger.java
+++ b/Mage.Sets/src/mage/cards/o/OpalAvenger.java
@@ -41,6 +41,7 @@ class OpalAvengerStateTriggeredAbility extends StateTriggeredAbility {
public OpalAvengerStateTriggeredAbility() {
super(Zone.BATTLEFIELD, new BecomesCreatureSourceEffect(new OpalAvengerToken(), "", Duration.Custom, true, false));
+ setTriggerPhrase("When you have 10 or less life, if {this} is an enchantment, ");
}
public OpalAvengerStateTriggeredAbility(final OpalAvengerStateTriggeredAbility ability) {
@@ -93,12 +94,6 @@ class OpalAvengerStateTriggeredAbility extends StateTriggeredAbility {
public void counter(Game game) {
game.getState().setValue(this.getSourceId().toString() + "triggered", Boolean.FALSE);
}
-
- @Override
- public String getTriggerPhrase() {
- return "When you have 10 or less life, if {this} is an enchantment, " ;
- }
-
}
class OpalAvengerToken extends TokenImpl {
diff --git a/Mage.Sets/src/mage/cards/o/OverwhelmingInstinct.java b/Mage.Sets/src/mage/cards/o/OverwhelmingInstinct.java
index 3ad1dcfabf8..d3c3557c0f3 100644
--- a/Mage.Sets/src/mage/cards/o/OverwhelmingInstinct.java
+++ b/Mage.Sets/src/mage/cards/o/OverwhelmingInstinct.java
@@ -40,6 +40,7 @@ class OverwhelmingInstinctTriggeredAbility extends TriggeredAbilityImpl {
public OverwhelmingInstinctTriggeredAbility(Effect effect) {
super(Zone.BATTLEFIELD, effect);
+ setTriggerPhrase("Whenever you attack with three or more creatures, ");
}
public OverwhelmingInstinctTriggeredAbility(final OverwhelmingInstinctTriggeredAbility ability) {
@@ -60,9 +61,4 @@ class OverwhelmingInstinctTriggeredAbility extends TriggeredAbilityImpl {
public boolean checkTrigger(GameEvent event, Game game) {
return game.getCombat().getAttackers().size() >= 3 && game.getCombat().getAttackingPlayerId().equals(getControllerId());
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever you attack with three or more creatures, " ;
- }
}
diff --git a/Mage.Sets/src/mage/cards/o/OwlbearCub.java b/Mage.Sets/src/mage/cards/o/OwlbearCub.java
index 8a2c09b9237..bc261b848a2 100644
--- a/Mage.Sets/src/mage/cards/o/OwlbearCub.java
+++ b/Mage.Sets/src/mage/cards/o/OwlbearCub.java
@@ -52,6 +52,7 @@ class OwlbearCubTriggeredAbility extends TriggeredAbilityImpl {
OwlbearCubTriggeredAbility() {
super(Zone.BATTLEFIELD, new OwlbearCubEffect());
this.withFlavorWord("Mama's Coming");
+ setTriggerPhrase("Whenever Owlbear Cub attacks a player who controls eight or more lands, ");
}
private OwlbearCubTriggeredAbility(final OwlbearCubTriggeredAbility ability) {
@@ -83,11 +84,6 @@ class OwlbearCubTriggeredAbility extends TriggeredAbilityImpl {
this.getEffects().setTargetPointer(new FixedTarget(player.getId()));
return true;
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever Owlbear Cub attacks a player who controls eight or more lands, ";
- }
}
class OwlbearCubEffect extends OneShotEffect {
diff --git a/Mage.Sets/src/mage/cards/p/PaladinOfPrahv.java b/Mage.Sets/src/mage/cards/p/PaladinOfPrahv.java
index 97f3cc8081e..0b0c0ef002f 100644
--- a/Mage.Sets/src/mage/cards/p/PaladinOfPrahv.java
+++ b/Mage.Sets/src/mage/cards/p/PaladinOfPrahv.java
@@ -59,6 +59,7 @@ class PaladinOfPrahvTriggeredAbility extends DelayedTriggeredAbility {
public PaladinOfPrahvTriggeredAbility() {
super(new GainLifeEffect(SavedDamageValue.MUCH), Duration.EndOfTurn, false);
+ setTriggerPhrase("Whenever target creature deals damage this turn, ");
}
public PaladinOfPrahvTriggeredAbility(final PaladinOfPrahvTriggeredAbility ability) {
@@ -91,9 +92,4 @@ class PaladinOfPrahvTriggeredAbility extends DelayedTriggeredAbility {
}
return false;
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever target creature deals damage this turn, " ;
- }
}
diff --git a/Mage.Sets/src/mage/cards/p/ParadisePlume.java b/Mage.Sets/src/mage/cards/p/ParadisePlume.java
index 110f069faba..9b00945843a 100644
--- a/Mage.Sets/src/mage/cards/p/ParadisePlume.java
+++ b/Mage.Sets/src/mage/cards/p/ParadisePlume.java
@@ -55,6 +55,7 @@ class ParadisePlumeSpellCastTriggeredAbility extends TriggeredAbilityImpl {
public ParadisePlumeSpellCastTriggeredAbility() {
super(Zone.BATTLEFIELD, new GainLifeEffect(1), true);
+ setTriggerPhrase("Whenever a player casts a spell of the chosen color, ");
}
public ParadisePlumeSpellCastTriggeredAbility(final ParadisePlumeSpellCastTriggeredAbility ability) {
@@ -83,9 +84,4 @@ class ParadisePlumeSpellCastTriggeredAbility extends TriggeredAbilityImpl {
public ParadisePlumeSpellCastTriggeredAbility copy() {
return new ParadisePlumeSpellCastTriggeredAbility(this);
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever a player casts a spell of the chosen color, " ;
- }
}
diff --git a/Mage.Sets/src/mage/cards/p/PerimeterCaptain.java b/Mage.Sets/src/mage/cards/p/PerimeterCaptain.java
index 615fd416a81..44c28377043 100644
--- a/Mage.Sets/src/mage/cards/p/PerimeterCaptain.java
+++ b/Mage.Sets/src/mage/cards/p/PerimeterCaptain.java
@@ -52,6 +52,7 @@ class PerimeterCaptainTriggeredAbility extends TriggeredAbilityImpl {
public PerimeterCaptainTriggeredAbility(Effect effect, boolean optional) {
super(Zone.BATTLEFIELD, effect, optional);
+ setTriggerPhrase("Whenever a creature you control with defender blocks, ");
}
public PerimeterCaptainTriggeredAbility(final PerimeterCaptainTriggeredAbility ability) {
@@ -74,11 +75,6 @@ class PerimeterCaptainTriggeredAbility extends TriggeredAbilityImpl {
return false;
}
- @Override
- public String getTriggerPhrase() {
- return "Whenever a creature you control with defender blocks, " ;
- }
-
@Override
public PerimeterCaptainTriggeredAbility copy() {
return new PerimeterCaptainTriggeredAbility(this);
diff --git a/Mage.Sets/src/mage/cards/p/PerplexingChimera.java b/Mage.Sets/src/mage/cards/p/PerplexingChimera.java
index bd2b8b3424c..14bcd039199 100644
--- a/Mage.Sets/src/mage/cards/p/PerplexingChimera.java
+++ b/Mage.Sets/src/mage/cards/p/PerplexingChimera.java
@@ -99,6 +99,7 @@ class PerplexingChimeraTriggeredAbility extends TriggeredAbilityImpl {
public PerplexingChimeraTriggeredAbility() {
super(Zone.BATTLEFIELD, new PerplexingChimeraControlExchangeEffect(), true);
+ setTriggerPhrase("Whenever an opponent casts a spell, ");
}
public PerplexingChimeraTriggeredAbility(final PerplexingChimeraTriggeredAbility ability) {
@@ -121,11 +122,6 @@ class PerplexingChimeraTriggeredAbility extends TriggeredAbilityImpl {
return false;
}
- @Override
- public String getTriggerPhrase() {
- return "Whenever an opponent casts a spell, " ;
- }
-
@Override
public PerplexingChimeraTriggeredAbility copy() {
return new PerplexingChimeraTriggeredAbility(this);
diff --git a/Mage.Sets/src/mage/cards/p/PiasRevolution.java b/Mage.Sets/src/mage/cards/p/PiasRevolution.java
index 7826ac4b3a1..b3ea138915e 100644
--- a/Mage.Sets/src/mage/cards/p/PiasRevolution.java
+++ b/Mage.Sets/src/mage/cards/p/PiasRevolution.java
@@ -96,6 +96,7 @@ class PiasRevolutionTriggeredAbility extends TriggeredAbilityImpl {
public PiasRevolutionTriggeredAbility() {
super(Zone.BATTLEFIELD, new PiasRevolutionReturnEffect(), false);
+ setTriggerPhrase("Whenever a nontoken artifact is put into your graveyard from the battlefield, ");
}
public PiasRevolutionTriggeredAbility(PiasRevolutionTriggeredAbility ability) {
@@ -126,9 +127,4 @@ class PiasRevolutionTriggeredAbility extends TriggeredAbilityImpl {
}
return false;
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever a nontoken artifact is put into your graveyard from the battlefield, " ;
- }
}
diff --git a/Mage.Sets/src/mage/cards/p/PiousWarrior.java b/Mage.Sets/src/mage/cards/p/PiousWarrior.java
index 19837ae4f97..6104301b545 100644
--- a/Mage.Sets/src/mage/cards/p/PiousWarrior.java
+++ b/Mage.Sets/src/mage/cards/p/PiousWarrior.java
@@ -50,6 +50,7 @@ class PiousWarriorTriggeredAbility extends TriggeredAbilityImpl {
public PiousWarriorTriggeredAbility() {
super(Zone.BATTLEFIELD, new PiousWarriorGainLifeEffect());
+ setTriggerPhrase("Whenever {this} is dealt combat damage, ");
}
public PiousWarriorTriggeredAbility(final PiousWarriorTriggeredAbility effect) {
@@ -74,11 +75,6 @@ class PiousWarriorTriggeredAbility extends TriggeredAbilityImpl {
}
return false;
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever {this} is dealt combat damage, " ;
- }
}
diff --git a/Mage.Sets/src/mage/cards/p/PitchstoneWall.java b/Mage.Sets/src/mage/cards/p/PitchstoneWall.java
index d6007f8df32..789ea990ab8 100644
--- a/Mage.Sets/src/mage/cards/p/PitchstoneWall.java
+++ b/Mage.Sets/src/mage/cards/p/PitchstoneWall.java
@@ -51,6 +51,7 @@ class PitchstoneWallTriggeredAbility extends TriggeredAbilityImpl {
public PitchstoneWallTriggeredAbility() {
super(Zone.BATTLEFIELD, new DoIfCostPaid(new ReturnToHandTargetEffect().setText("return the discarded card from your graveyard to your hand"), new SacrificeSourceCost()), false);
+ setTriggerPhrase("Whenever you discard a card, ");
}
public PitchstoneWallTriggeredAbility(final PitchstoneWallTriggeredAbility ability) {
@@ -76,9 +77,4 @@ class PitchstoneWallTriggeredAbility extends TriggeredAbilityImpl {
}
return false;
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever you discard a card, " ;
- }
}
diff --git a/Mage.Sets/src/mage/cards/p/PlagueBoiler.java b/Mage.Sets/src/mage/cards/p/PlagueBoiler.java
index e9856713bce..a7a49151428 100644
--- a/Mage.Sets/src/mage/cards/p/PlagueBoiler.java
+++ b/Mage.Sets/src/mage/cards/p/PlagueBoiler.java
@@ -88,6 +88,7 @@ class PlagueBoilerTriggeredAbility extends TriggeredAbilityImpl {
public PlagueBoilerTriggeredAbility() {
super(Zone.BATTLEFIELD, new PlagueBoilerSacrificeDestroyEffect(), false);
+ setTriggerPhrase("When {this} has three or more plague counters on it, ");
}
public PlagueBoilerTriggeredAbility(final PlagueBoilerTriggeredAbility ability) {
@@ -114,11 +115,6 @@ class PlagueBoilerTriggeredAbility extends TriggeredAbilityImpl {
}
return false;
}
-
- @Override
- public String getTriggerPhrase() {
- return "When {this} has three or more plague counters on it, " ;
- }
}
class PlagueBoilerSacrificeDestroyEffect extends OneShotEffect {
diff --git a/Mage.Sets/src/mage/cards/p/PonybackBrigade.java b/Mage.Sets/src/mage/cards/p/PonybackBrigade.java
index 17f4f3174dd..4351c463ad3 100644
--- a/Mage.Sets/src/mage/cards/p/PonybackBrigade.java
+++ b/Mage.Sets/src/mage/cards/p/PonybackBrigade.java
@@ -54,6 +54,7 @@ class PonybackBrigadeAbility extends TriggeredAbilityImpl {
public PonybackBrigadeAbility(Token token) {
super(Zone.BATTLEFIELD, new CreateTokenEffect(token, 3), false);
this.setWorksFaceDown(true);
+ setTriggerPhrase("When {this} enters the battlefield or is turned face up, ");
}
public PonybackBrigadeAbility(final PonybackBrigadeAbility ability) {
@@ -83,9 +84,4 @@ class PonybackBrigadeAbility extends TriggeredAbilityImpl {
}
return false;
}
-
- @Override
- public String getTriggerPhrase() {
- return "When {this} enters the battlefield or is turned face up, " ;
- }
}
diff --git a/Mage.Sets/src/mage/cards/p/PorphyryNodes.java b/Mage.Sets/src/mage/cards/p/PorphyryNodes.java
index a6b24365ca4..55fad377aa4 100644
--- a/Mage.Sets/src/mage/cards/p/PorphyryNodes.java
+++ b/Mage.Sets/src/mage/cards/p/PorphyryNodes.java
@@ -114,6 +114,7 @@ class PorphyryNodesStateTriggeredAbility extends StateTriggeredAbility {
public PorphyryNodesStateTriggeredAbility() {
super(Zone.BATTLEFIELD, new SacrificeSourceEffect());
+ setTriggerPhrase("When there are no creatures on the battlefield, " );
}
public PorphyryNodesStateTriggeredAbility(final PorphyryNodesStateTriggeredAbility ability) {
@@ -129,10 +130,4 @@ class PorphyryNodesStateTriggeredAbility extends StateTriggeredAbility {
public boolean checkTrigger(GameEvent event, Game game) {
return game.getBattlefield().count(PorphyryNodes.filter, this.getControllerId(), this, game) == 0;
}
-
- @Override
- public String getTriggerPhrase() {
- return "When there are no creatures on the battlefield, " ;
- }
-
}
diff --git a/Mage.Sets/src/mage/cards/p/PossibilityStorm.java b/Mage.Sets/src/mage/cards/p/PossibilityStorm.java
index 87a3cdf4201..20a8bab23df 100644
--- a/Mage.Sets/src/mage/cards/p/PossibilityStorm.java
+++ b/Mage.Sets/src/mage/cards/p/PossibilityStorm.java
@@ -52,6 +52,7 @@ class PossibilityStormTriggeredAbility extends TriggeredAbilityImpl {
public PossibilityStormTriggeredAbility() {
super(Zone.BATTLEFIELD, new PossibilityStormEffect(), false);
+ setTriggerPhrase("Whenever a player casts a spell from their hand, ");
}
public PossibilityStormTriggeredAbility(final PossibilityStormTriggeredAbility ability) {
@@ -80,11 +81,6 @@ class PossibilityStormTriggeredAbility extends TriggeredAbilityImpl {
}
return true;
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever a player casts a spell from their hand, " ;
- }
}
class PossibilityStormEffect extends OneShotEffect {
diff --git a/Mage.Sets/src/mage/cards/p/PrimalWellspring.java b/Mage.Sets/src/mage/cards/p/PrimalWellspring.java
index 5b081add0d0..5aac7a12ffb 100644
--- a/Mage.Sets/src/mage/cards/p/PrimalWellspring.java
+++ b/Mage.Sets/src/mage/cards/p/PrimalWellspring.java
@@ -57,6 +57,7 @@ class PyrimalWellspringTriggeredAbility extends TriggeredAbilityImpl {
public PyrimalWellspringTriggeredAbility(UUID abilityOriginalId, Effect effect) {
super(Zone.ALL, effect, false);
this.abilityOriginalId = abilityOriginalId.toString();
+ setTriggerPhrase("When that mana is used to cast an instant or sorcery spell, ");
}
public PyrimalWellspringTriggeredAbility(final PyrimalWellspringTriggeredAbility ability) {
@@ -87,9 +88,4 @@ class PyrimalWellspringTriggeredAbility extends TriggeredAbilityImpl {
}
return false;
}
-
- @Override
- public String getTriggerPhrase() {
- return "When that mana is used to cast an instant or sorcery spell, " ;
- }
}
diff --git a/Mage.Sets/src/mage/cards/p/PrinceOfThralls.java b/Mage.Sets/src/mage/cards/p/PrinceOfThralls.java
index 95390e85653..dfedb5609a0 100644
--- a/Mage.Sets/src/mage/cards/p/PrinceOfThralls.java
+++ b/Mage.Sets/src/mage/cards/p/PrinceOfThralls.java
@@ -54,6 +54,7 @@ class PrinceOfThrallsTriggeredAbility extends TriggeredAbilityImpl {
PrinceOfThrallsTriggeredAbility(Effect effect) {
super(Zone.BATTLEFIELD, effect, false);
+ setTriggerPhrase("Whenever a permanent an opponent controls is put into a graveyard, ");
}
PrinceOfThrallsTriggeredAbility(final PrinceOfThrallsTriggeredAbility ability) {
@@ -84,11 +85,6 @@ class PrinceOfThrallsTriggeredAbility extends TriggeredAbilityImpl {
}
return false;
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever a permanent an opponent controls is put into a graveyard, " ;
- }
}
class PrinceOfThrallsEffect extends OneShotEffect {
diff --git a/Mage.Sets/src/mage/cards/p/ProfaneMemento.java b/Mage.Sets/src/mage/cards/p/ProfaneMemento.java
index eb8f3369313..d4760bd41ba 100644
--- a/Mage.Sets/src/mage/cards/p/ProfaneMemento.java
+++ b/Mage.Sets/src/mage/cards/p/ProfaneMemento.java
@@ -40,6 +40,7 @@ class ProfaneMementoTriggeredAbility extends TriggeredAbilityImpl {
public ProfaneMementoTriggeredAbility() {
super(Zone.BATTLEFIELD, new GainLifeEffect(1), false);
+ setTriggerPhrase("Whenever a creature card is put into an opponent's graveyard from anywhere, ");
}
public ProfaneMementoTriggeredAbility(final ProfaneMementoTriggeredAbility ability) {
@@ -66,9 +67,4 @@ class ProfaneMementoTriggeredAbility extends TriggeredAbilityImpl {
}
return false;
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever a creature card is put into an opponent's graveyard from anywhere, " ;
- }
}
diff --git a/Mage.Sets/src/mage/cards/p/ProsperTomeBound.java b/Mage.Sets/src/mage/cards/p/ProsperTomeBound.java
index 30bb123887e..82669e95cd5 100644
--- a/Mage.Sets/src/mage/cards/p/ProsperTomeBound.java
+++ b/Mage.Sets/src/mage/cards/p/ProsperTomeBound.java
@@ -58,6 +58,7 @@ class ProsperTomeBoundTriggeredAbility extends TriggeredAbilityImpl {
ProsperTomeBoundTriggeredAbility() {
super(Zone.BATTLEFIELD, new CreateTokenEffect(new TreasureToken()));
this.flavorWord = "Pact Boon";
+ setTriggerPhrase("Whenever you play a card from exile, ");
}
private ProsperTomeBoundTriggeredAbility(final ProsperTomeBoundTriggeredAbility ability) {
@@ -79,9 +80,4 @@ class ProsperTomeBoundTriggeredAbility extends TriggeredAbilityImpl {
public ProsperTomeBoundTriggeredAbility copy() {
return new ProsperTomeBoundTriggeredAbility(this);
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever you play a card from exile, ";
- }
}
diff --git a/Mage.Sets/src/mage/cards/p/PsychicSurgery.java b/Mage.Sets/src/mage/cards/p/PsychicSurgery.java
index e08eef6992a..991a0d29da9 100644
--- a/Mage.Sets/src/mage/cards/p/PsychicSurgery.java
+++ b/Mage.Sets/src/mage/cards/p/PsychicSurgery.java
@@ -48,6 +48,7 @@ class PsychicSurgeryTriggeredAbility extends TriggeredAbilityImpl {
public PsychicSurgeryTriggeredAbility() {
super(Zone.BATTLEFIELD, new PsychicSurgeryEffect(), true);
+ setTriggerPhrase("Whenever an opponent shuffles their library, ");
}
public PsychicSurgeryTriggeredAbility(final PsychicSurgeryTriggeredAbility ability) {
@@ -72,11 +73,6 @@ class PsychicSurgeryTriggeredAbility extends TriggeredAbilityImpl {
}
return false;
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever an opponent shuffles their library, " ;
- }
}
class PsychicSurgeryEffect extends OneShotEffect {
diff --git a/Mage.Sets/src/mage/cards/p/PunishingFire.java b/Mage.Sets/src/mage/cards/p/PunishingFire.java
index 6244ded3109..1ae15826a04 100644
--- a/Mage.Sets/src/mage/cards/p/PunishingFire.java
+++ b/Mage.Sets/src/mage/cards/p/PunishingFire.java
@@ -45,6 +45,7 @@ class PunishingFireTriggeredAbility extends TriggeredAbilityImpl {
public PunishingFireTriggeredAbility() {
super(Zone.GRAVEYARD, new DoIfCostPaid(new ReturnSourceFromGraveyardToHandEffect(), new ManaCostsImpl<>("{R}")));
+ setTriggerPhrase("Whenever an opponent gains life, ");
}
public PunishingFireTriggeredAbility(final PunishingFireTriggeredAbility ability) {
@@ -65,9 +66,4 @@ class PunishingFireTriggeredAbility extends TriggeredAbilityImpl {
public boolean checkTrigger(GameEvent event, Game game) {
return game.getOpponents(this.controllerId).contains(event.getPlayerId());
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever an opponent gains life, ";
- }
}
diff --git a/Mage.Sets/src/mage/cards/p/PutridWarrior.java b/Mage.Sets/src/mage/cards/p/PutridWarrior.java
index 2a83d5b1d81..98df45f4ad2 100644
--- a/Mage.Sets/src/mage/cards/p/PutridWarrior.java
+++ b/Mage.Sets/src/mage/cards/p/PutridWarrior.java
@@ -57,6 +57,7 @@ class PutridWarriorDealsDamageTriggeredAbility extends TriggeredAbilityImpl {
public PutridWarriorDealsDamageTriggeredAbility(Effect effect) {
super(Zone.BATTLEFIELD, effect, false);
+ setTriggerPhrase("Whenever {this} deals damage, " );
}
public PutridWarriorDealsDamageTriggeredAbility(final PutridWarriorDealsDamageTriggeredAbility ability) {
@@ -78,11 +79,6 @@ class PutridWarriorDealsDamageTriggeredAbility extends TriggeredAbilityImpl {
public boolean checkTrigger(GameEvent event, Game game) {
return event.getSourceId().equals(this.sourceId);
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever {this} deals damage, " ;
- }
}
diff --git a/Mage.Sets/src/mage/cards/p/PyromancersGoggles.java b/Mage.Sets/src/mage/cards/p/PyromancersGoggles.java
index 9b9ef58deea..2d4d8e36f35 100644
--- a/Mage.Sets/src/mage/cards/p/PyromancersGoggles.java
+++ b/Mage.Sets/src/mage/cards/p/PyromancersGoggles.java
@@ -64,6 +64,7 @@ class PyromancersGogglesTriggeredAbility extends TriggeredAbilityImpl {
public PyromancersGogglesTriggeredAbility(UUID abilityOriginalId, Effect effect) {
super(Zone.ALL, effect, false);
this.abilityOriginalId = abilityOriginalId.toString();
+ setTriggerPhrase("When that mana is used to cast a red instant or sorcery spell, ");
}
public PyromancersGogglesTriggeredAbility(final PyromancersGogglesTriggeredAbility ability) {
@@ -94,9 +95,4 @@ class PyromancersGogglesTriggeredAbility extends TriggeredAbilityImpl {
}
return false;
}
-
- @Override
- public String getTriggerPhrase() {
- return "When that mana is used to cast a red instant or sorcery spell, " ;
- }
}
diff --git a/Mage.Sets/src/mage/cards/r/RashkaTheSlayer.java b/Mage.Sets/src/mage/cards/r/RashkaTheSlayer.java
index bafb418c59b..9125724d3b0 100644
--- a/Mage.Sets/src/mage/cards/r/RashkaTheSlayer.java
+++ b/Mage.Sets/src/mage/cards/r/RashkaTheSlayer.java
@@ -28,12 +28,6 @@ import mage.game.permanent.Permanent;
*/
public final class RashkaTheSlayer extends CardImpl {
- private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("black creature");
-
- static {
- filter.add(new ColorPredicate(ObjectColor.BLACK));
- }
-
public RashkaTheSlayer(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{W}{W}");
this.addSuperType(SuperType.LEGENDARY);
@@ -46,7 +40,7 @@ public final class RashkaTheSlayer extends CardImpl {
this.addAbility(ReachAbility.getInstance());
// Whenever Rashka the Slayer blocks one or more black creatures, Rashka gets +1/+2 until end of turn.
- this.addAbility(new RashkaTheSlayerTriggeredAbility(new BoostSourceEffect(1, 2, Duration.EndOfTurn), filter, false));
+ this.addAbility(new RashkaTheSlayerTriggeredAbility(new BoostSourceEffect(1, 2, Duration.EndOfTurn)));
}
private RashkaTheSlayer(final RashkaTheSlayer card) {
@@ -61,16 +55,19 @@ public final class RashkaTheSlayer extends CardImpl {
class RashkaTheSlayerTriggeredAbility extends TriggeredAbilityImpl {
- protected FilterPermanent filter;
+ private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("black creature");
- public RashkaTheSlayerTriggeredAbility(Effect effect, FilterPermanent filter, boolean optional) {
- super(Zone.BATTLEFIELD, effect, optional);
- this.filter = filter;
+ static {
+ filter.add(new ColorPredicate(ObjectColor.BLACK));
+ }
+
+ public RashkaTheSlayerTriggeredAbility(Effect effect) {
+ super(Zone.BATTLEFIELD, effect, false);
+ setTriggerPhrase("Whenever {this} blocks a " + filter.getMessage() + ", " );
}
public RashkaTheSlayerTriggeredAbility(final RashkaTheSlayerTriggeredAbility ability) {
super(ability);
- this.filter = ability.filter;
}
@Override
@@ -89,11 +86,6 @@ class RashkaTheSlayerTriggeredAbility extends TriggeredAbilityImpl {
return false;
}
- @Override
- public String getTriggerPhrase() {
- return "Whenever {this} blocks a " + filter.getMessage() + ", " ;
- }
-
@Override
public RashkaTheSlayerTriggeredAbility copy() {
return new RashkaTheSlayerTriggeredAbility(this);
diff --git a/Mage.Sets/src/mage/cards/r/RiftmarkedKnight.java b/Mage.Sets/src/mage/cards/r/RiftmarkedKnight.java
index 7f1e47c0c1a..5b2c2f25ea3 100644
--- a/Mage.Sets/src/mage/cards/r/RiftmarkedKnight.java
+++ b/Mage.Sets/src/mage/cards/r/RiftmarkedKnight.java
@@ -60,6 +60,7 @@ class RiftmarkedKnightTriggeredAbility extends TriggeredAbilityImpl {
public RiftmarkedKnightTriggeredAbility() {
super(Zone.EXILED, new CreateTokenEffect(new RiftmarkedKnightToken()), false);
+ setTriggerPhrase("When the last time counter is removed from {this} while it's exiled, ");
}
public RiftmarkedKnightTriggeredAbility(final RiftmarkedKnightTriggeredAbility ability) {
@@ -76,11 +77,6 @@ class RiftmarkedKnightTriggeredAbility extends TriggeredAbilityImpl {
return (event.getTargetId().equals(this.getSourceId()) && game.getCard(event.getTargetId()).getCounters(game).getCount(CounterType.TIME) == 0);
}
- @Override
- public String getTriggerPhrase() {
- return "When the last time counter is removed from {this} while it's exiled, " ;
- }
-
@Override
public RiftmarkedKnightTriggeredAbility copy() {
return new RiftmarkedKnightTriggeredAbility(this);
diff --git a/Mage.Sets/src/mage/cards/r/RiskyMove.java b/Mage.Sets/src/mage/cards/r/RiskyMove.java
index 3717d1a1950..a5947a60c11 100644
--- a/Mage.Sets/src/mage/cards/r/RiskyMove.java
+++ b/Mage.Sets/src/mage/cards/r/RiskyMove.java
@@ -102,6 +102,7 @@ class RiskyMoveTriggeredAbility extends TriggeredAbilityImpl {
public RiskyMoveTriggeredAbility() {
super(Zone.BATTLEFIELD, new RiskyMoveFlipCoinEffect(), false);
+ setTriggerPhrase("When you gain control of {this} from another player, ");
}
public RiskyMoveTriggeredAbility(final RiskyMoveTriggeredAbility ability) {
@@ -122,11 +123,6 @@ class RiskyMoveTriggeredAbility extends TriggeredAbilityImpl {
public boolean checkTrigger(GameEvent event, Game game) {
return event.getTargetId().equals(sourceId);
}
-
- @Override
- public String getTriggerPhrase() {
- return "When you gain control of {this} from another player, ";
- }
}
class RiskyMoveFlipCoinEffect extends OneShotEffect {
diff --git a/Mage.Sets/src/mage/cards/r/RisonaAsariCommander.java b/Mage.Sets/src/mage/cards/r/RisonaAsariCommander.java
index 4dd7fc8d99a..692299e88eb 100644
--- a/Mage.Sets/src/mage/cards/r/RisonaAsariCommander.java
+++ b/Mage.Sets/src/mage/cards/r/RisonaAsariCommander.java
@@ -66,6 +66,7 @@ class RisonaAsariCommanderTriggeredAbility extends TriggeredAbilityImpl {
public RisonaAsariCommanderTriggeredAbility() {
super(Zone.BATTLEFIELD, new RemoveCounterSourceEffect(CounterType.INDESTRUCTIBLE.createInstance()));
+ setTriggerPhrase("Whenever combat damage is dealt to you, ");
}
private RisonaAsariCommanderTriggeredAbility(final RisonaAsariCommanderTriggeredAbility ability) {
@@ -98,11 +99,6 @@ class RisonaAsariCommanderTriggeredAbility extends TriggeredAbilityImpl {
}
return false;
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever combat damage is dealt to you, ";
- }
}
enum RisonaAsariCommanderCondition implements Condition {
diff --git a/Mage.Sets/src/mage/cards/r/RiteOfPassage.java b/Mage.Sets/src/mage/cards/r/RiteOfPassage.java
index 01ac2560174..0c8b1af2bc0 100644
--- a/Mage.Sets/src/mage/cards/r/RiteOfPassage.java
+++ b/Mage.Sets/src/mage/cards/r/RiteOfPassage.java
@@ -10,6 +10,7 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.Zone;
import mage.counters.CounterType;
+import mage.filter.StaticFilters;
import mage.filter.common.FilterControlledCreaturePermanent;
import mage.game.Game;
import mage.game.events.GameEvent;
@@ -44,10 +45,9 @@ public final class RiteOfPassage extends CardImpl {
class RiteOfPassageTriggeredAbility extends TriggeredAbilityImpl {
- private static final FilterControlledCreaturePermanent filter = new FilterControlledCreaturePermanent();
-
public RiteOfPassageTriggeredAbility(Effect effect) {
super(Zone.BATTLEFIELD, effect);
+ setTriggerPhrase("Whenever a creature you control is dealt damage, ");
}
public RiteOfPassageTriggeredAbility(final RiteOfPassageTriggeredAbility ability) {
@@ -68,15 +68,10 @@ class RiteOfPassageTriggeredAbility extends TriggeredAbilityImpl {
public boolean checkTrigger(GameEvent event, Game game) {
UUID targetId = event.getTargetId();
Permanent permanent = game.getPermanent(targetId);
- if (permanent != null && filter.match(permanent, getControllerId(), this, game)) {
+ if (permanent != null && StaticFilters.FILTER_CONTROLLED_CREATURE.match(permanent, getControllerId(), this, game)) {
getEffects().setTargetPointer(new FixedTarget(event.getTargetId(), game));
return true;
}
return false;
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever a creature you control is dealt damage, " ;
- }
}
diff --git a/Mage.Sets/src/mage/cards/r/RoilingHorror.java b/Mage.Sets/src/mage/cards/r/RoilingHorror.java
index 4cda2a5438f..e56ce1eab27 100644
--- a/Mage.Sets/src/mage/cards/r/RoilingHorror.java
+++ b/Mage.Sets/src/mage/cards/r/RoilingHorror.java
@@ -70,6 +70,7 @@ class RoilingHorrorTriggeredAbility extends TriggeredAbilityImpl {
Effect effect = new GainLifeEffect(1);
effect.setText("and you gain 1 life");
this.addEffect(effect);
+ setTriggerPhrase("Whenever a time counter is removed from {this} while it's exiled, ");
}
public RoilingHorrorTriggeredAbility(final RoilingHorrorTriggeredAbility ability) {
@@ -90,12 +91,6 @@ class RoilingHorrorTriggeredAbility extends TriggeredAbilityImpl {
public boolean checkTrigger(GameEvent event, Game game) {
return event.getData().equals(CounterType.TIME.getName()) && event.getTargetId().equals(this.getSourceId());
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever a time counter is removed from {this} while it's exiled, " ;
- }
-
}
class RoilingHorrorDynamicValue implements DynamicValue {
diff --git a/Mage.Sets/src/mage/cards/r/RumblingAftershocks.java b/Mage.Sets/src/mage/cards/r/RumblingAftershocks.java
index c35d9df44d8..f94b660051a 100644
--- a/Mage.Sets/src/mage/cards/r/RumblingAftershocks.java
+++ b/Mage.Sets/src/mage/cards/r/RumblingAftershocks.java
@@ -55,6 +55,7 @@ class RumblingAftershocksTriggeredAbility extends TriggeredAbilityImpl {
RumblingAftershocksTriggeredAbility() {
super(Zone.BATTLEFIELD, new RumblingAftershocksDealDamageEffect(), true);
+ setTriggerPhrase("Whenever you cast a kicked spell, ");
}
RumblingAftershocksTriggeredAbility(final RumblingAftershocksTriggeredAbility ability) {
@@ -80,11 +81,6 @@ class RumblingAftershocksTriggeredAbility extends TriggeredAbilityImpl {
}
return false;
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever you cast a kicked spell, " ;
- }
}
class RumblingAftershocksDealDamageEffect extends OneShotEffect {
diff --git a/Mage.Sets/src/mage/cards/r/RuthlessDeathfang.java b/Mage.Sets/src/mage/cards/r/RuthlessDeathfang.java
index 6b498570c53..c1bf36f223b 100644
--- a/Mage.Sets/src/mage/cards/r/RuthlessDeathfang.java
+++ b/Mage.Sets/src/mage/cards/r/RuthlessDeathfang.java
@@ -53,6 +53,7 @@ class RuthlessDeathfangTriggeredAbility extends TriggeredAbilityImpl {
public RuthlessDeathfangTriggeredAbility() {
super(Zone.BATTLEFIELD, new SacrificeEffect(StaticFilters.FILTER_PERMANENT_CREATURE, 1, "target opponent"), false);
setLeavesTheBattlefieldTrigger(true);
+ setTriggerPhrase("Whenever you sacrifice a creature, ");
}
public RuthlessDeathfangTriggeredAbility(final RuthlessDeathfangTriggeredAbility ability) {
@@ -74,9 +75,4 @@ class RuthlessDeathfangTriggeredAbility extends TriggeredAbilityImpl {
return event.getPlayerId().equals(this.getControllerId())
&& game.getLastKnownInformation(event.getTargetId(), Zone.BATTLEFIELD).isCreature(game);
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever you sacrifice a creature, " ;
- }
}
diff --git a/Mage.Sets/src/mage/cards/s/SaffiEriksdotter.java b/Mage.Sets/src/mage/cards/s/SaffiEriksdotter.java
index a0168a02bce..ca00c1e72a3 100644
--- a/Mage.Sets/src/mage/cards/s/SaffiEriksdotter.java
+++ b/Mage.Sets/src/mage/cards/s/SaffiEriksdotter.java
@@ -85,6 +85,7 @@ class SaffiEriksdotterDelayedTriggeredAbility extends DelayedTriggeredAbility {
super(new ReturnToBattlefieldUnderYourControlTargetEffect(), Duration.EndOfTurn);
this.getEffects().get(0).setTargetPointer(fixedTarget);
this.fixedTarget = fixedTarget;
+ setTriggerPhrase("When target creature is put into your graveyard from the battlefield this turn, ");
}
public SaffiEriksdotterDelayedTriggeredAbility(final SaffiEriksdotterDelayedTriggeredAbility ability) {
@@ -113,9 +114,4 @@ class SaffiEriksdotterDelayedTriggeredAbility extends DelayedTriggeredAbility {
}
return false;
}
-
- @Override
- public String getTriggerPhrase() {
- return "When target creature is put into your graveyard from the battlefield this turn, " ;
- }
}
diff --git a/Mage.Sets/src/mage/cards/s/Sangromancer.java b/Mage.Sets/src/mage/cards/s/Sangromancer.java
index fae82155323..5092f02d198 100644
--- a/Mage.Sets/src/mage/cards/s/Sangromancer.java
+++ b/Mage.Sets/src/mage/cards/s/Sangromancer.java
@@ -48,6 +48,7 @@ public final class Sangromancer extends CardImpl {
class SangromancerFirstTriggeredAbility extends TriggeredAbilityImpl {
SangromancerFirstTriggeredAbility() {
super(Zone.BATTLEFIELD, new GainLifeEffect(3), true);
+ setTriggerPhrase("Whenever a creature an opponent controls dies, ");
}
SangromancerFirstTriggeredAbility(final SangromancerFirstTriggeredAbility ability) {
@@ -74,16 +75,12 @@ class SangromancerFirstTriggeredAbility extends TriggeredAbilityImpl {
}
return false;
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever a creature an opponent controls dies, " ;
- }
}
class SangromancerSecondTriggeredAbility extends TriggeredAbilityImpl {
SangromancerSecondTriggeredAbility() {
super(Zone.BATTLEFIELD, new GainLifeEffect(3), true);
+ setTriggerPhrase("Whenever an opponent discards a card, ");
}
SangromancerSecondTriggeredAbility(final SangromancerSecondTriggeredAbility ability) {
@@ -104,9 +101,4 @@ class SangromancerSecondTriggeredAbility extends TriggeredAbilityImpl {
public boolean checkTrigger(GameEvent event, Game game) {
return game.getOpponents(this.getControllerId()).contains(event.getPlayerId());
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever an opponent discards a card, " ;
- }
}
\ No newline at end of file
diff --git a/Mage.Sets/src/mage/cards/s/SarkhansWhelp.java b/Mage.Sets/src/mage/cards/s/SarkhansWhelp.java
index b745873f540..1c6c1a6bb71 100644
--- a/Mage.Sets/src/mage/cards/s/SarkhansWhelp.java
+++ b/Mage.Sets/src/mage/cards/s/SarkhansWhelp.java
@@ -57,6 +57,7 @@ class SarkhansWhelpTriggeredAbility extends TriggeredAbilityImpl {
public SarkhansWhelpTriggeredAbility() {
super(Zone.BATTLEFIELD, new DamageTargetEffect(1), false);
this.addTarget(new TargetAnyTarget());
+ setTriggerPhrase("Whenever you activate an ability of a Sarkhan planeswalker, ");
}
public SarkhansWhelpTriggeredAbility(final SarkhansWhelpTriggeredAbility ability) {
@@ -80,9 +81,4 @@ class SarkhansWhelpTriggeredAbility extends TriggeredAbilityImpl {
&& source != null
&& filter.match(source, game);
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever you activate an ability of a Sarkhan planeswalker, " ;
- }
}
diff --git a/Mage.Sets/src/mage/cards/s/SatoruUmezawa.java b/Mage.Sets/src/mage/cards/s/SatoruUmezawa.java
index d96baf284ea..8e9d715db43 100644
--- a/Mage.Sets/src/mage/cards/s/SatoruUmezawa.java
+++ b/Mage.Sets/src/mage/cards/s/SatoruUmezawa.java
@@ -58,6 +58,7 @@ class SatoruUmezawaTriggeredAbility extends TriggeredAbilityImpl {
SatoruUmezawaTriggeredAbility() {
super(Zone.BATTLEFIELD, new LookLibraryAndPickControllerEffect(3, 1, PutCards.HAND, PutCards.BOTTOM_ANY));
this.setTriggersOnce(true);
+ setTriggerPhrase("Whenever you activate a ninjutsu ability, ");
}
private SatoruUmezawaTriggeredAbility(final SatoruUmezawaTriggeredAbility ability) {
@@ -82,11 +83,6 @@ class SatoruUmezawaTriggeredAbility extends TriggeredAbilityImpl {
StackAbility stackAbility = (StackAbility) game.getStack().getStackObject(event.getTargetId());
return stackAbility.getStackAbility() instanceof NinjutsuAbility;
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever you activate a ninjutsu ability, ";
- }
}
class SatoruUmezawaEffect extends ContinuousEffectImpl {
diff --git a/Mage.Sets/src/mage/cards/s/SatyrFiredancer.java b/Mage.Sets/src/mage/cards/s/SatyrFiredancer.java
index 54ca67500f4..f94fa2e230a 100644
--- a/Mage.Sets/src/mage/cards/s/SatyrFiredancer.java
+++ b/Mage.Sets/src/mage/cards/s/SatyrFiredancer.java
@@ -54,6 +54,7 @@ class SatyrFiredancerTriggeredAbility extends TriggeredAbilityImpl {
public SatyrFiredancerTriggeredAbility() {
super(Zone.BATTLEFIELD, new SatyrFiredancerDamageEffect(), false);
targetAdjuster = SatyrFiredancerAdjuster.instance;
+ setTriggerPhrase("Whenever an instant or sorcery spell you control deals damage to an opponent, ");
}
public SatyrFiredancerTriggeredAbility(final SatyrFiredancerTriggeredAbility ability) {
@@ -93,11 +94,6 @@ class SatyrFiredancerTriggeredAbility extends TriggeredAbilityImpl {
}
return true;
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever an instant or sorcery spell you control deals damage to an opponent, " ;
- }
}
class SatyrFiredancerDamageEffect extends OneShotEffect {
diff --git a/Mage.Sets/src/mage/cards/s/SavraQueenOfTheGolgari.java b/Mage.Sets/src/mage/cards/s/SavraQueenOfTheGolgari.java
index 24ea4611635..2db6f7fc3b6 100644
--- a/Mage.Sets/src/mage/cards/s/SavraQueenOfTheGolgari.java
+++ b/Mage.Sets/src/mage/cards/s/SavraQueenOfTheGolgari.java
@@ -60,6 +60,7 @@ class SavraSacrificeBlackCreatureAbility extends TriggeredAbilityImpl {
public SavraSacrificeBlackCreatureAbility() {
super(Zone.BATTLEFIELD, new DoIfCostPaid(new SavraSacrificeEffect(), new PayLifeCost(2)));
this.setLeavesTheBattlefieldTrigger(true);
+ setTriggerPhrase("Whenever you sacrifice a black creature, ");
}
public SavraSacrificeBlackCreatureAbility(final SavraSacrificeBlackCreatureAbility ability) {
@@ -82,11 +83,6 @@ class SavraSacrificeBlackCreatureAbility extends TriggeredAbilityImpl {
&& game.getLastKnownInformation(event.getTargetId(), Zone.BATTLEFIELD).isCreature(game)
&& game.getLastKnownInformation(event.getTargetId(), Zone.BATTLEFIELD).getColor(game).isBlack();
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever you sacrifice a black creature, " ;
- }
}
class SavraSacrificeEffect extends OneShotEffect {
@@ -137,6 +133,7 @@ class SavraSacrificeGreenCreatureAbility extends TriggeredAbilityImpl {
public SavraSacrificeGreenCreatureAbility() {
super(Zone.BATTLEFIELD, new GainLifeEffect(2));
+ setTriggerPhrase("Whenever you sacrifice a green creature, ");
}
public SavraSacrificeGreenCreatureAbility(final SavraSacrificeGreenCreatureAbility ability) {
@@ -159,9 +156,4 @@ class SavraSacrificeGreenCreatureAbility extends TriggeredAbilityImpl {
&& game.getLastKnownInformation(event.getTargetId(), Zone.BATTLEFIELD).isCreature(game)
&& game.getLastKnownInformation(event.getTargetId(), Zone.BATTLEFIELD).getColor(game).isGreen();
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever you sacrifice a green creature, " ;
- }
}
diff --git a/Mage.Sets/src/mage/cards/s/ScrapTrawler.java b/Mage.Sets/src/mage/cards/s/ScrapTrawler.java
index ba4f2e66e25..cfc4d66feaf 100644
--- a/Mage.Sets/src/mage/cards/s/ScrapTrawler.java
+++ b/Mage.Sets/src/mage/cards/s/ScrapTrawler.java
@@ -55,6 +55,7 @@ class ScrapTrawlerTriggeredAbility extends TriggeredAbilityImpl {
public ScrapTrawlerTriggeredAbility() {
super(Zone.BATTLEFIELD, new ReturnToHandTargetEffect());
getEffects().get(0).setText("return to your hand target artifact card in your graveyard with lesser mana value");
+ setTriggerPhrase("Whenever {this} or another artifact you control is put into a graveyard from the battlefield, ");
}
public ScrapTrawlerTriggeredAbility(final ScrapTrawlerTriggeredAbility ability) {
@@ -89,10 +90,4 @@ class ScrapTrawlerTriggeredAbility extends TriggeredAbilityImpl {
}
return false;
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever {this} or another artifact you control is put into a graveyard from the battlefield, " ;
- }
-
}
diff --git a/Mage.Sets/src/mage/cards/s/ScytheOfTheWretched.java b/Mage.Sets/src/mage/cards/s/ScytheOfTheWretched.java
index 6f34cf711d1..304e2d281ac 100644
--- a/Mage.Sets/src/mage/cards/s/ScytheOfTheWretched.java
+++ b/Mage.Sets/src/mage/cards/s/ScytheOfTheWretched.java
@@ -63,6 +63,7 @@ class ScytheOfTheWretchedTriggeredAbility extends TriggeredAbilityImpl {
public ScytheOfTheWretchedTriggeredAbility() {
super(Zone.ALL, new ScytheOfTheWretchedReanimateEffect(), false);
+ setTriggerPhrase("Whenever a creature dealt damage by equipped creature this turn dies, ");
}
public ScytheOfTheWretchedTriggeredAbility(final ScytheOfTheWretchedTriggeredAbility ability) {
@@ -96,11 +97,6 @@ class ScytheOfTheWretchedTriggeredAbility extends TriggeredAbilityImpl {
return false;
}
- @Override
- public String getTriggerPhrase() {
- return "Whenever a creature dealt damage by equipped creature this turn dies, " ;
- }
-
private void setTarget(TargetPointer target) {
for (Effect effect : getEffects()) {
effect.setTargetPointer(target);
diff --git a/Mage.Sets/src/mage/cards/s/SearchTheCity.java b/Mage.Sets/src/mage/cards/s/SearchTheCity.java
index d406286ab52..c3392c28f55 100644
--- a/Mage.Sets/src/mage/cards/s/SearchTheCity.java
+++ b/Mage.Sets/src/mage/cards/s/SearchTheCity.java
@@ -86,7 +86,7 @@ class SearchTheCityTriggeredAbility extends TriggeredAbilityImpl {
public SearchTheCityTriggeredAbility() {
super(Zone.BATTLEFIELD, new SearchTheCityExiledCardToHandEffect(), true);
-
+ setTriggerPhrase("Whenever you play a card with the same name as one of the exiled cards, " );
}
public SearchTheCityTriggeredAbility(final SearchTheCityTriggeredAbility ability) {
@@ -100,37 +100,34 @@ class SearchTheCityTriggeredAbility extends TriggeredAbilityImpl {
@Override
public boolean checkTrigger(GameEvent event, Game game) {
- if (event.getPlayerId().equals(this.getControllerId())) {
- String cardName = "";
- if (event.getType() == GameEvent.EventType.SPELL_CAST) {
- Spell spell = game.getStack().getSpell(event.getTargetId());
- if (spell != null) {
- cardName = spell.getName();
- }
- }
- if (event.getType() == GameEvent.EventType.LAND_PLAYED) {
- Card card = game.getCard(event.getTargetId());
- if (card != null) {
- cardName = card.getName();
- }
- }
- if (!cardName.isEmpty()) {
- ExileZone searchTheCityExileZone = game.getExile().getExileZone(this.getSourceId());
- FilterCard filter = new FilterCard();
- filter.add(new NamePredicate(cardName));
-
- if (searchTheCityExileZone.count(filter, game) > 0) {
- this.getEffects().get(0).setValue("cardName", cardName);
- return true;
- }
+ if (!event.getPlayerId().equals(this.getControllerId())) {
+ return false;
+ }
+ String cardName = "";
+ if (event.getType() == GameEvent.EventType.SPELL_CAST) {
+ Spell spell = game.getStack().getSpell(event.getTargetId());
+ if (spell != null) {
+ cardName = spell.getName();
}
}
- return false;
- }
+ if (event.getType() == GameEvent.EventType.LAND_PLAYED) {
+ Card card = game.getCard(event.getTargetId());
+ if (card != null) {
+ cardName = card.getName();
+ }
+ }
+ if (cardName.isEmpty()) {
+ return false;
+ }
+ ExileZone searchTheCityExileZone = game.getExile().getExileZone(this.getSourceId());
+ FilterCard filter = new FilterCard();
+ filter.add(new NamePredicate(cardName));
- @Override
- public String getTriggerPhrase() {
- return "Whenever you play a card with the same name as one of the exiled cards, " ;
+ if (searchTheCityExileZone.count(filter, game) == 0) {
+ return false;
+ }
+ this.getEffects().get(0).setValue("cardName", cardName);
+ return true;
}
@Override
diff --git a/Mage.Sets/src/mage/cards/s/ShahOfNaarIsle.java b/Mage.Sets/src/mage/cards/s/ShahOfNaarIsle.java
index a40887647ab..8d70fe49be5 100644
--- a/Mage.Sets/src/mage/cards/s/ShahOfNaarIsle.java
+++ b/Mage.Sets/src/mage/cards/s/ShahOfNaarIsle.java
@@ -55,6 +55,7 @@ class ShahOfNaarIsleTriggeredAbility extends TriggeredAbilityImpl {
public ShahOfNaarIsleTriggeredAbility() {
super(Zone.BATTLEFIELD, new ShahOfNaarIsleEffect(), false);
+ setTriggerPhrase("When {this}'s echo cost is paid, ");
}
public ShahOfNaarIsleTriggeredAbility(final ShahOfNaarIsleTriggeredAbility effect) {
@@ -75,11 +76,6 @@ class ShahOfNaarIsleTriggeredAbility extends TriggeredAbilityImpl {
public ShahOfNaarIsleTriggeredAbility copy() {
return new ShahOfNaarIsleTriggeredAbility(this);
}
-
- @Override
- public String getTriggerPhrase() {
- return "When {this}'s echo cost is paid, " ;
- }
}
class ShahOfNaarIsleEffect extends OneShotEffect {
diff --git a/Mage.Sets/src/mage/cards/s/ShareTheSpoils.java b/Mage.Sets/src/mage/cards/s/ShareTheSpoils.java
index 9f6ad430dac..a290181a8ef 100644
--- a/Mage.Sets/src/mage/cards/s/ShareTheSpoils.java
+++ b/Mage.Sets/src/mage/cards/s/ShareTheSpoils.java
@@ -267,11 +267,11 @@ class ShareTheSpoilsExileCardWhenPlayACardAbility extends TriggeredAbilityImpl {
ShareTheSpoilsExileCardWhenPlayACardAbility() {
super(Zone.BATTLEFIELD, new ShareTheSpoilsExileSingleCardEffect());
setRuleVisible(false);
+ setTriggerPhrase("When they do");
}
private ShareTheSpoilsExileCardWhenPlayACardAbility(final ShareTheSpoilsExileCardWhenPlayACardAbility ability) {
super(ability);
-
triggeringPlayerID = ability.triggeringPlayerID;
}
@@ -290,11 +290,6 @@ class ShareTheSpoilsExileCardWhenPlayACardAbility extends TriggeredAbilityImpl {
return new ShareTheSpoilsExileCardWhenPlayACardAbility(this);
}
- @Override
- public String getTriggerPhrase() {
- return "When they do";
- }
-
@Override
public void trigger(Game game, UUID controllerId, GameEvent triggeringEvent) {
// Keep track of who triggered this ability, so the effect can know later.
diff --git a/Mage.Sets/src/mage/cards/s/Skeletonize.java b/Mage.Sets/src/mage/cards/s/Skeletonize.java
index 83c0986428e..ac5726e8fb2 100644
--- a/Mage.Sets/src/mage/cards/s/Skeletonize.java
+++ b/Mage.Sets/src/mage/cards/s/Skeletonize.java
@@ -75,6 +75,7 @@ class SkeletonizeDelayedTriggeredAbility extends DelayedTriggeredAbility {
public SkeletonizeDelayedTriggeredAbility() {
super(new CreateTokenEffect(new SkeletonRegenerateToken()), Duration.EndOfTurn);
+ setTriggerPhrase("When a creature dealt damage this way dies this turn, ");
}
public SkeletonizeDelayedTriggeredAbility(final SkeletonizeDelayedTriggeredAbility ability) {
@@ -102,9 +103,4 @@ class SkeletonizeDelayedTriggeredAbility extends DelayedTriggeredAbility {
}
return false;
}
-
- @Override
- public String getTriggerPhrase() {
- return "When a creature dealt damage this way dies this turn, " ;
- }
}
diff --git a/Mage.Sets/src/mage/cards/s/Skullsnatcher.java b/Mage.Sets/src/mage/cards/s/Skullsnatcher.java
index 002158a3d7f..00d9a9bf6bb 100644
--- a/Mage.Sets/src/mage/cards/s/Skullsnatcher.java
+++ b/Mage.Sets/src/mage/cards/s/Skullsnatcher.java
@@ -65,6 +65,7 @@ class SkullsnatcherTriggeredAbility extends TriggeredAbilityImpl {
SkullsnatcherTriggeredAbility(Effect effect) {
super(Zone.BATTLEFIELD, effect, false);
+ setTriggerPhrase("Whenever {this} deals combat damage to a player, ");
}
SkullsnatcherTriggeredAbility(final SkullsnatcherTriggeredAbility ability) {
@@ -95,9 +96,4 @@ class SkullsnatcherTriggeredAbility extends TriggeredAbilityImpl {
}
return false;
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever {this} deals combat damage to a player, " ;
- }
}
diff --git a/Mage.Sets/src/mage/cards/s/SmotheringAbomination.java b/Mage.Sets/src/mage/cards/s/SmotheringAbomination.java
index eddad9f5592..3c0b70f9290 100644
--- a/Mage.Sets/src/mage/cards/s/SmotheringAbomination.java
+++ b/Mage.Sets/src/mage/cards/s/SmotheringAbomination.java
@@ -60,6 +60,7 @@ class SmotheringAbominationTriggeredAbility extends TriggeredAbilityImpl {
public SmotheringAbominationTriggeredAbility() {
super(Zone.BATTLEFIELD, new DrawCardSourceControllerEffect(1));
setLeavesTheBattlefieldTrigger(true);
+ setTriggerPhrase("Whenever you sacrifice a creature, ");
}
public SmotheringAbominationTriggeredAbility(final SmotheringAbominationTriggeredAbility ability) {
@@ -81,9 +82,4 @@ class SmotheringAbominationTriggeredAbility extends TriggeredAbilityImpl {
return event.getPlayerId().equals(this.getControllerId())
&& game.getLastKnownInformation(event.getTargetId(), Zone.BATTLEFIELD).isCreature(game);
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever you sacrifice a creature, " ;
- }
}
diff --git a/Mage.Sets/src/mage/cards/s/SoulsOfTheFaultless.java b/Mage.Sets/src/mage/cards/s/SoulsOfTheFaultless.java
index b8dabcdb83a..76af4cc3323 100644
--- a/Mage.Sets/src/mage/cards/s/SoulsOfTheFaultless.java
+++ b/Mage.Sets/src/mage/cards/s/SoulsOfTheFaultless.java
@@ -53,6 +53,7 @@ class SoulsOfTheFaultlessTriggeredAbility extends TriggeredAbilityImpl {
public SoulsOfTheFaultlessTriggeredAbility() {
super(Zone.BATTLEFIELD, new SoulsOfTheFaultlessEffect());
+ setTriggerPhrase("Whenever {this} is dealt combat damage, ");
}
public SoulsOfTheFaultlessTriggeredAbility(final SoulsOfTheFaultlessTriggeredAbility effect) {
@@ -86,11 +87,6 @@ class SoulsOfTheFaultlessTriggeredAbility extends TriggeredAbilityImpl {
}
return false;
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever {this} is dealt combat damage, " ;
- }
}
class SoulsOfTheFaultlessEffect extends OneShotEffect {
diff --git a/Mage.Sets/src/mage/cards/s/Spiritualize.java b/Mage.Sets/src/mage/cards/s/Spiritualize.java
index 21cd9dcc71b..f6872446375 100644
--- a/Mage.Sets/src/mage/cards/s/Spiritualize.java
+++ b/Mage.Sets/src/mage/cards/s/Spiritualize.java
@@ -49,6 +49,7 @@ class SpiritualizeTriggeredAbility extends DelayedTriggeredAbility {
public SpiritualizeTriggeredAbility() {
super(new GainLifeEffect(SavedDamageValue.MUCH), Duration.EndOfTurn, false);
+ setTriggerPhrase("Whenever target creature deals damage, ");
}
public SpiritualizeTriggeredAbility(final SpiritualizeTriggeredAbility ability) {
@@ -77,9 +78,4 @@ class SpiritualizeTriggeredAbility extends DelayedTriggeredAbility {
}
return false;
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever target creature deals damage, " ;
- }
}
diff --git a/Mage.Sets/src/mage/cards/s/SpitefulReturned.java b/Mage.Sets/src/mage/cards/s/SpitefulReturned.java
index 3cf8f4537bc..81f62d77c16 100644
--- a/Mage.Sets/src/mage/cards/s/SpitefulReturned.java
+++ b/Mage.Sets/src/mage/cards/s/SpitefulReturned.java
@@ -57,6 +57,7 @@ class SpitefulReturnedTriggeredAbility extends TriggeredAbilityImpl {
public SpitefulReturnedTriggeredAbility(Effect effect) {
super(Zone.BATTLEFIELD, effect);
+ setTriggerPhrase("Whenever {this} or enchanted creature attacks, ");
}
public SpitefulReturnedTriggeredAbility(final SpitefulReturnedTriggeredAbility ability) {
@@ -76,27 +77,24 @@ class SpitefulReturnedTriggeredAbility extends TriggeredAbilityImpl {
@Override
public boolean checkTrigger(GameEvent event, Game game) {
Permanent sourcePermanent = game.getPermanent(this.getSourceId());
- if (sourcePermanent != null) {
- if (sourcePermanent.isCreature(game)) {
- if (event.getSourceId() != null
- && event.getSourceId().equals(this.getSourceId())) {
- UUID defender = game.getCombat().getDefendingPlayerId(this.getSourceId(), game);
- this.getEffects().get(0).setTargetPointer(new FixedTarget(defender));
- return true;
- }
- } else {
- if (sourcePermanent.isAttachedTo(event.getSourceId())) {
- UUID defender = game.getCombat().getDefendingPlayerId(sourcePermanent.getAttachedTo(), game);
- this.getEffects().get(0).setTargetPointer(new FixedTarget(defender));
- return true;
- }
+ if (sourcePermanent == null) {
+ return false;
+ }
+
+ if (sourcePermanent.isCreature(game)) {
+ if (event.getSourceId() != null
+ && event.getSourceId().equals(this.getSourceId())) {
+ UUID defender = game.getCombat().getDefendingPlayerId(this.getSourceId(), game);
+ this.getEffects().get(0).setTargetPointer(new FixedTarget(defender));
+ return true;
+ }
+ } else {
+ if (sourcePermanent.isAttachedTo(event.getSourceId())) {
+ UUID defender = game.getCombat().getDefendingPlayerId(sourcePermanent.getAttachedTo(), game);
+ this.getEffects().get(0).setTargetPointer(new FixedTarget(defender));
+ return true;
}
}
return false;
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever {this} or enchanted creature attacks, " ;
- }
}
diff --git a/Mage.Sets/src/mage/cards/s/Spitemare.java b/Mage.Sets/src/mage/cards/s/Spitemare.java
index 856bcb52a8f..53c850546d2 100644
--- a/Mage.Sets/src/mage/cards/s/Spitemare.java
+++ b/Mage.Sets/src/mage/cards/s/Spitemare.java
@@ -52,6 +52,7 @@ class SpitemareTriggeredAbility extends TriggeredAbilityImpl {
public SpitemareTriggeredAbility() {
super(Zone.BATTLEFIELD, new SpitemareEffect());
+ setTriggerPhrase("Whenever {this} is dealt damage, ");
}
public SpitemareTriggeredAbility(final SpitemareTriggeredAbility effect) {
@@ -76,11 +77,6 @@ class SpitemareTriggeredAbility extends TriggeredAbilityImpl {
}
return false;
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever {this} is dealt damage, ";
- }
}
class SpitemareEffect extends OneShotEffect {
diff --git a/Mage.Sets/src/mage/cards/s/SteelSquirrel.java b/Mage.Sets/src/mage/cards/s/SteelSquirrel.java
index 3a033058dd0..3d01214f1ba 100644
--- a/Mage.Sets/src/mage/cards/s/SteelSquirrel.java
+++ b/Mage.Sets/src/mage/cards/s/SteelSquirrel.java
@@ -54,6 +54,7 @@ class SteelSquirrelTriggeredAbility extends TriggeredAbilityImpl {
public SteelSquirrelTriggeredAbility() {
super(Zone.BATTLEFIELD, new SteelSquirrelEffect());
+ setTriggerPhrase("Whenever you roll a 5 or higher on a die, ");
}
public SteelSquirrelTriggeredAbility(final SteelSquirrelTriggeredAbility ability) {
@@ -74,16 +75,12 @@ class SteelSquirrelTriggeredAbility extends TriggeredAbilityImpl {
public boolean checkTrigger(GameEvent event, Game game) {
DieRolledEvent drEvent = (DieRolledEvent) event;
// silver border card must look for "result" instead "natural result"
- if (this.isControlledBy(event.getPlayerId()) && drEvent.getResult() >= 5) {
- this.getEffects().setValue("rolled", drEvent.getResult());
- return true;
+ if (this.isControlledBy(event.getPlayerId()) && drEvent.getResult() < 5) {
+ return false;
}
- return false;
- }
- @Override
- public String getTriggerPhrase() {
- return "Whenever you roll a 5 or higher on a die, " ;
+ this.getEffects().setValue("rolled", drEvent.getResult());
+ return true;
}
}
diff --git a/Mage.Sets/src/mage/cards/s/StuffyDoll.java b/Mage.Sets/src/mage/cards/s/StuffyDoll.java
index 86f526ab277..dd45db3fd81 100644
--- a/Mage.Sets/src/mage/cards/s/StuffyDoll.java
+++ b/Mage.Sets/src/mage/cards/s/StuffyDoll.java
@@ -58,6 +58,7 @@ class StuffyDollTriggeredAbility extends TriggeredAbilityImpl {
public StuffyDollTriggeredAbility() {
super(Zone.BATTLEFIELD, new StuffyDollGainLifeEffect());
+ setTriggerPhrase("Whenever {this} is dealt damage, ");
}
public StuffyDollTriggeredAbility(final StuffyDollTriggeredAbility effect) {
@@ -82,11 +83,6 @@ class StuffyDollTriggeredAbility extends TriggeredAbilityImpl {
}
return false;
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever {this} is dealt damage, " ;
- }
}
class StuffyDollGainLifeEffect extends OneShotEffect {
diff --git a/Mage.Sets/src/mage/cards/s/SwarmbornGiant.java b/Mage.Sets/src/mage/cards/s/SwarmbornGiant.java
index 2a6cfbfb3f8..8392260f807 100644
--- a/Mage.Sets/src/mage/cards/s/SwarmbornGiant.java
+++ b/Mage.Sets/src/mage/cards/s/SwarmbornGiant.java
@@ -65,6 +65,7 @@ class SwarmbornGiantTriggeredAbility extends TriggeredAbilityImpl {
public SwarmbornGiantTriggeredAbility() {
super(Zone.BATTLEFIELD, new SacrificeSourceEffect(), false);
+ setTriggerPhrase("When you're dealt combat damage, ");
}
public SwarmbornGiantTriggeredAbility(final SwarmbornGiantTriggeredAbility ability) {
@@ -89,9 +90,4 @@ class SwarmbornGiantTriggeredAbility extends TriggeredAbilityImpl {
}
return false;
}
-
- @Override
- public String getTriggerPhrase() {
- return "When you're dealt combat damage, " ;
- }
}
diff --git a/Mage.Sets/src/mage/cards/s/SwordOfKaldra.java b/Mage.Sets/src/mage/cards/s/SwordOfKaldra.java
index 15c61fc6f5b..6a47eae5bc5 100644
--- a/Mage.Sets/src/mage/cards/s/SwordOfKaldra.java
+++ b/Mage.Sets/src/mage/cards/s/SwordOfKaldra.java
@@ -48,6 +48,7 @@ class SwordOfKaldraTriggeredAbility extends TriggeredAbilityImpl {
public SwordOfKaldraTriggeredAbility() {
super(Zone.BATTLEFIELD, new ExileTargetEffect("exile that creature. (Exile it only if it's still on the battlefield.)"), false);
+ setTriggerPhrase("Whenever equipped creature deals damage to a creature, ");
}
public SwordOfKaldraTriggeredAbility(final SwordOfKaldraTriggeredAbility ability) {
@@ -75,10 +76,4 @@ class SwordOfKaldraTriggeredAbility extends TriggeredAbilityImpl {
}
return false;
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever equipped creature deals damage to a creature, ";
- }
-
}
diff --git a/Mage.Sets/src/mage/cards/t/TaigamOjutaiMaster.java b/Mage.Sets/src/mage/cards/t/TaigamOjutaiMaster.java
index 1772b6230ac..4e967f9787b 100644
--- a/Mage.Sets/src/mage/cards/t/TaigamOjutaiMaster.java
+++ b/Mage.Sets/src/mage/cards/t/TaigamOjutaiMaster.java
@@ -74,6 +74,7 @@ class TaigamOjutaiMasterTriggeredAbility extends DelayedTriggeredAbility {
public TaigamOjutaiMasterTriggeredAbility() {
super(new TaigamOjutaiMasterGainReboundEffect(), Duration.EndOfTurn, true);
+ setTriggerPhrase("Whenever you cast an instant or sorcery spell from your hand, if {this} attacked this turn, ");
}
private TaigamOjutaiMasterTriggeredAbility(final TaigamOjutaiMasterTriggeredAbility ability) {
@@ -106,12 +107,6 @@ class TaigamOjutaiMasterTriggeredAbility extends DelayedTriggeredAbility {
}
return false;
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever you cast an instant or sorcery spell from your hand, if {this} attacked this turn, " ;
-
- }
}
class TaigamOjutaiMasterGainReboundEffect extends ContinuousEffectImpl {
diff --git a/Mage.Sets/src/mage/cards/t/TalonOfPain.java b/Mage.Sets/src/mage/cards/t/TalonOfPain.java
index a49f7c57b27..3ab198b481e 100644
--- a/Mage.Sets/src/mage/cards/t/TalonOfPain.java
+++ b/Mage.Sets/src/mage/cards/t/TalonOfPain.java
@@ -58,49 +58,45 @@ public final class TalonOfPain extends CardImpl {
public TalonOfPain copy() {
return new TalonOfPain(this);
}
+}
- private class TalonOfPainTriggeredAbility extends TriggeredAbilityImpl {
+class TalonOfPainTriggeredAbility extends TriggeredAbilityImpl {
- public TalonOfPainTriggeredAbility() {
- super(Zone.BATTLEFIELD, new AddCountersSourceEffect(CounterType.CHARGE.createInstance()));
- }
+ public TalonOfPainTriggeredAbility() {
+ super(Zone.BATTLEFIELD, new AddCountersSourceEffect(CounterType.CHARGE.createInstance()));
+ setTriggerPhrase("Whenever a source you control other than {this} deals damage to an opponent, ");
+ }
- public TalonOfPainTriggeredAbility(final TalonOfPainTriggeredAbility ability) {
- super(ability);
- }
+ public TalonOfPainTriggeredAbility(final TalonOfPainTriggeredAbility ability) {
+ super(ability);
+ }
- @Override
- public TalonOfPainTriggeredAbility copy() {
- return new TalonOfPainTriggeredAbility(this);
- }
+ @Override
+ public TalonOfPainTriggeredAbility copy() {
+ return new TalonOfPainTriggeredAbility(this);
+ }
- @Override
- public boolean checkEventType(GameEvent event, Game game) {
- return event.getType() == GameEvent.EventType.DAMAGED_PLAYER;
- }
+ @Override
+ public boolean checkEventType(GameEvent event, Game game) {
+ return event.getType() == GameEvent.EventType.DAMAGED_PLAYER;
+ }
- @Override
- public boolean checkTrigger(GameEvent event, Game game) {
- // to another player
- Player controller = game.getPlayer(this.getControllerId());
- if (controller == null) {
- return false;
- }
- if (controller.hasOpponent(event.getTargetId(), game)) {
- // a source you control other than Talon of Pain
- UUID sourceControllerId = game.getControllerId(event.getSourceId());
- // return true so the effect will fire and a charge counter will be added
- return sourceControllerId != null
- && sourceControllerId.equals(this.getControllerId())
- && !this.getSourceId().equals(event.getSourceId());
- }
+ @Override
+ public boolean checkTrigger(GameEvent event, Game game) {
+ // to another player
+ Player controller = game.getPlayer(this.getControllerId());
+ if (controller == null) {
return false;
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever a source you control other than {this} deals damage to an opponent, ";
+ if (controller.hasOpponent(event.getTargetId(), game)) {
+ // a source you control other than Talon of Pain
+ UUID sourceControllerId = game.getControllerId(event.getSourceId());
+ // return true so the effect will fire and a charge counter will be added
+ return sourceControllerId != null
+ && sourceControllerId.equals(this.getControllerId())
+ && !this.getSourceId().equals(event.getSourceId());
}
+ return false;
}
}
diff --git a/Mage.Sets/src/mage/cards/t/Tamanoa.java b/Mage.Sets/src/mage/cards/t/Tamanoa.java
index cbd84866c28..439718ea1bd 100644
--- a/Mage.Sets/src/mage/cards/t/Tamanoa.java
+++ b/Mage.Sets/src/mage/cards/t/Tamanoa.java
@@ -49,6 +49,7 @@ class TamanoaDealsDamageTriggeredAbility extends TriggeredAbilityImpl {
public TamanoaDealsDamageTriggeredAbility(Zone zone, Effect effect, boolean optional) {
super(zone, effect, optional);
+ setTriggerPhrase("Whenever a noncreature source you control deals damage, ");
}
public TamanoaDealsDamageTriggeredAbility(final TamanoaDealsDamageTriggeredAbility ability) {
@@ -79,9 +80,4 @@ class TamanoaDealsDamageTriggeredAbility extends TriggeredAbilityImpl {
}
return false;
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever a noncreature source you control deals damage, " ;
- }
}
diff --git a/Mage.Sets/src/mage/cards/t/TaskMageAssembly.java b/Mage.Sets/src/mage/cards/t/TaskMageAssembly.java
index 07e8c9cb288..66dd9321b88 100644
--- a/Mage.Sets/src/mage/cards/t/TaskMageAssembly.java
+++ b/Mage.Sets/src/mage/cards/t/TaskMageAssembly.java
@@ -52,6 +52,7 @@ class TaskMageAssemblyStateTriggeredAbility extends StateTriggeredAbility {
public TaskMageAssemblyStateTriggeredAbility() {
super(Zone.BATTLEFIELD, new SacrificeSourceEffect());
+ setTriggerPhrase("When there are no creatures on the battlefield, ");
}
public TaskMageAssemblyStateTriggeredAbility(final TaskMageAssemblyStateTriggeredAbility ability) {
@@ -67,10 +68,4 @@ class TaskMageAssemblyStateTriggeredAbility extends StateTriggeredAbility {
public boolean checkTrigger(GameEvent event, Game game) {
return game.getBattlefield().count(new FilterCreaturePermanent(), this.getControllerId(), this, game) == 0;
}
-
- @Override
- public String getTriggerPhrase() {
- return "When there are no creatures on the battlefield, " ;
- }
-
}
diff --git a/Mage.Sets/src/mage/cards/t/TawnossCoffin.java b/Mage.Sets/src/mage/cards/t/TawnossCoffin.java
index 3ce697ab8a7..0f8b019587f 100644
--- a/Mage.Sets/src/mage/cards/t/TawnossCoffin.java
+++ b/Mage.Sets/src/mage/cards/t/TawnossCoffin.java
@@ -48,7 +48,7 @@ public final class TawnossCoffin extends CardImpl {
ability.addTarget(new TargetCreaturePermanent());
this.addAbility(ability);
//When Tawnos's Coffin leaves the battlefield or becomes untapped, return the exiled card to the battlefield under its owner's control tapped with the noted number and kind of counters on it, and if you do, return the exiled Aura cards to the battlefield under their owner's control attached to that permanent.
- Ability ability3 = new TawnossCoffinTriggeredAbility(new TawnossCoffinReturnEffect(), false);
+ Ability ability3 = new TawnossCoffinTriggeredAbility(new TawnossCoffinReturnEffect());
this.addAbility(ability3);
}
@@ -64,8 +64,9 @@ public final class TawnossCoffin extends CardImpl {
class TawnossCoffinTriggeredAbility extends LeavesBattlefieldTriggeredAbility {
- public TawnossCoffinTriggeredAbility(Effect effect, boolean isOptional) {
- super(effect, isOptional);
+ public TawnossCoffinTriggeredAbility(Effect effect) {
+ super(effect, false);
+ setTriggerPhrase("When {this} leaves the battlefield or becomes untapped, ");
}
public TawnossCoffinTriggeredAbility(final TawnossCoffinTriggeredAbility ability) {
@@ -90,11 +91,6 @@ class TawnossCoffinTriggeredAbility extends LeavesBattlefieldTriggeredAbility {
return super.checkTrigger(event, game);
}
}
-
- @Override
- public String getTriggerPhrase() {
- return "When {this} leaves the battlefield or becomes untapped, " ;
- }
}
class TawnossCoffinEffect extends OneShotEffect {
@@ -107,7 +103,8 @@ class TawnossCoffinEffect extends OneShotEffect {
public TawnossCoffinEffect() {
super(Outcome.Detriment);
- this.staticText = "exile target creature and all Auras attached to it. Note the number and kind of counters that were on that creature";
+ this.staticText = "exile target creature and all Auras attached to it. " +
+ "Note the number and kind of counters that were on that creature";
}
public TawnossCoffinEffect(final TawnossCoffinEffect effect) {
@@ -124,26 +121,25 @@ class TawnossCoffinEffect extends OneShotEffect {
// Exile enchanted creature and all Auras attached to it.
Permanent sourceObject = game.getPermanentOrLKIBattlefield(source.getSourceId());
Player controller = game.getPlayer(source.getControllerId());
- if (controller != null && sourceObject != null) {
- Permanent enchantedCreature = game.getPermanent(getTargetPointer().getFirst(game, source));
- if (enchantedCreature != null) {
- UUID exileZoneId = CardUtil.getCardExileZoneId(game, source);
- Set toExile = new HashSet<>();
- toExile.add(enchantedCreature);
- for (UUID attachementId : enchantedCreature.getAttachments()) {
- Permanent attachment = game.getPermanent(attachementId);
- if (attachment != null && attachment.hasSubtype(SubType.AURA, game)) {
- toExile.add(attachment);
- }
- }
- controller.moveCardsToExile(toExile, source, game, true, exileZoneId, sourceObject.getIdName());
- game.getState().setValue(exileZoneId.toString() + "NotedCounters", enchantedCreature.getCounters(game).copy());
- game.getState().setValue(exileZoneId.toString() + "EnchantedCreature", enchantedCreature.getId());
- }
- return true;
+ Permanent enchantedCreature = game.getPermanent(getTargetPointer().getFirst(game, source));
+ if (controller == null || sourceObject == null || enchantedCreature == null) {
+ return false;
}
- return false;
+ UUID exileZoneId = CardUtil.getCardExileZoneId(game, source);
+ Set toExile = new HashSet<>();
+ toExile.add(enchantedCreature);
+ for (UUID attachementId : enchantedCreature.getAttachments()) {
+ Permanent attachment = game.getPermanent(attachementId);
+ if (attachment != null && attachment.hasSubtype(SubType.AURA, game)) {
+ toExile.add(attachment);
+ }
+ }
+ controller.moveCardsToExile(toExile, source, game, true, exileZoneId, sourceObject.getIdName());
+ game.getState().setValue(exileZoneId.toString() + "NotedCounters", enchantedCreature.getCounters(game).copy());
+ game.getState().setValue(exileZoneId.toString() + "EnchantedCreature", enchantedCreature.getId());
+
+ return true;
}
}
@@ -151,7 +147,8 @@ class TawnossCoffinReturnEffect extends OneShotEffect {
public TawnossCoffinReturnEffect() {
super(Outcome.Benefit);
- this.staticText = "return the exiled card to the battlefield under its owner's control tapped with the noted number and kind of counters on it. If you do, return the exiled Aura cards to the battlefield under their owner's control attached to that permanent";
+ this.staticText = "return the exiled card to the battlefield under its owner's control tapped with the noted number and kind of counters on it. " +
+ "If you do, return the exiled Aura cards to the battlefield under their owner's control attached to that permanent";
}
public TawnossCoffinReturnEffect(final TawnossCoffinReturnEffect effect) {
@@ -181,48 +178,51 @@ class TawnossCoffinReturnEffect extends OneShotEffect {
if (!exileZone.contains(enchantedCreatureId)) {
return true; // Card was removed from exile meanwhile, other card sstay in exile
}
- Card enchantedCreature = game.getCard(enchantedCreatureId);
- if (enchantedCreature == null) {
+ Card enchantedCreatureCard = game.getCard(enchantedCreatureId);
+ if (enchantedCreatureCard == null) {
return false;
}
- controller.moveCards(enchantedCreature, Zone.BATTLEFIELD, source, game, true, false, true, null);
- Permanent newPermanent = game.getPermanent(enchantedCreature.getId());
- if (newPermanent != null) {
- // Add the noted counters
- Counters notedCounters = (Counters) game.getState().getValue(exileZoneId.toString() + "NotedCounters");
- if (notedCounters != null) {
- for (Counter c : notedCounters.values()) { //would be nice if could just use that copy function to set the whole field
- if (c != null) {
- newPermanent.getCounters(game).addCounter(c); // it's restore counters, not add (e.g. without add events)
- }
+ controller.moveCards(enchantedCreatureCard, Zone.BATTLEFIELD, source, game, true, false, true, null);
+ Permanent newPermanent = game.getPermanent(enchantedCreatureCard.getId());
+ if (newPermanent == null) {
+ return false;
+ }
+ // Add the noted counters
+ Counters notedCounters = (Counters) game.getState().getValue(exileZoneId.toString() + "NotedCounters");
+ if (notedCounters != null) {
+ for (Counter c : notedCounters.values()) { //would be nice if could just use that copy function to set the whole field
+ if (c != null) {
+ newPermanent.getCounters(game).addCounter(c); // it's restore counters, not add (e.g. without add events)
}
}
- // Return the exiled auras
- Set returningAuras = new HashSet<>();
- for (Card enchantment : exileZone.getCards(game)) {
- if (enchantment.hasSubtype(SubType.AURA, game)) {
- boolean canTarget = false;
- for (Target target : enchantment.getSpellAbility().getTargets()) {
- Filter filter2 = target.getFilter();
- if (filter2.match(newPermanent, game)) {
- canTarget = true;
- break;
- }
+ }
+ game.applyEffects();
+
+ // Return the exiled auras
+ Set returningAuras = new HashSet<>();
+ for (Card enchantment : exileZone.getCards(game)) {
+ if (enchantment.hasSubtype(SubType.AURA, game)) {
+ boolean canTarget = false;
+ for (Target target : enchantment.getSpellAbility().getTargets()) {
+ Filter filter2 = target.getFilter();
+ if (filter2.match(newPermanent, game)) {
+ canTarget = true;
+ break;
}
- if (!canTarget) {
- // Aura stays exiled
- continue;
- }
- returningAuras.add(enchantment);
- game.getState().setValue("attachTo:" + enchantment.getId(), newPermanent);
}
+ if (!canTarget) {
+ // Aura stays exiled
+ continue;
+ }
+ returningAuras.add(enchantment);
+ game.getState().setValue("attachTo:" + enchantment.getId(), newPermanent);
}
- controller.moveCards(returningAuras, Zone.BATTLEFIELD, source, game, false, false, true, null);
- for (Card enchantment : returningAuras) {
- Permanent permanent = game.getPermanent(enchantment.getId());
- if (permanent != null) {
- newPermanent.addAttachment(permanent.getId(), source, game);
- }
+ }
+ controller.moveCards(returningAuras, Zone.BATTLEFIELD, source, game, false, false, true, null);
+ for (Card enchantment : returningAuras) {
+ Permanent permanent = game.getPermanent(enchantment.getId());
+ if (permanent != null) {
+ newPermanent.addAttachment(permanent.getId(), source, game);
}
}
return true;
diff --git a/Mage.Sets/src/mage/cards/t/TectonicGiant.java b/Mage.Sets/src/mage/cards/t/TectonicGiant.java
index 5e2f7aca57f..f6416ed02d7 100644
--- a/Mage.Sets/src/mage/cards/t/TectonicGiant.java
+++ b/Mage.Sets/src/mage/cards/t/TectonicGiant.java
@@ -56,6 +56,7 @@ class TectonicGiantTriggeredAbility extends TriggeredAbilityImpl {
TectonicGiantTriggeredAbility() {
super(Zone.BATTLEFIELD, new DamagePlayersEffect(3, TargetController.OPPONENT), false);
this.addMode(new Mode(new TectonicGiantEffect()));
+ setTriggerPhrase("Whenever {this} attacks or becomes the target of a spell an opponent controls, ");
}
private TectonicGiantTriggeredAbility(final TectonicGiantTriggeredAbility ability) {
@@ -86,11 +87,6 @@ class TectonicGiantTriggeredAbility extends TriggeredAbilityImpl {
return false;
}
- @Override
- public String getTriggerPhrase() {
- return "Whenever {this} attacks or becomes the target of a spell an opponent controls, " ;
- }
-
@Override
public TectonicGiantTriggeredAbility copy() {
return new TectonicGiantTriggeredAbility(this);
diff --git a/Mage.Sets/src/mage/cards/t/TerritorialGorger.java b/Mage.Sets/src/mage/cards/t/TerritorialGorger.java
index 148231bb59e..9969679585f 100644
--- a/Mage.Sets/src/mage/cards/t/TerritorialGorger.java
+++ b/Mage.Sets/src/mage/cards/t/TerritorialGorger.java
@@ -49,6 +49,7 @@ class TerritorialGorgerTriggeredAbility extends TriggeredAbilityImpl {
TerritorialGorgerTriggeredAbility() {
super(Zone.BATTLEFIELD, new BoostSourceEffect(2, 2, Duration.EndOfTurn), false);
+ setTriggerPhrase("Whenever you get one or more {E} (energy counters), ");
}
TerritorialGorgerTriggeredAbility(final TerritorialGorgerTriggeredAbility ability) {
@@ -72,9 +73,4 @@ class TerritorialGorgerTriggeredAbility extends TriggeredAbilityImpl {
}
return false;
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever you get one or more {E} (energy counters), " ;
- }
}
diff --git a/Mage.Sets/src/mage/cards/t/ThassasEmissary.java b/Mage.Sets/src/mage/cards/t/ThassasEmissary.java
index e30e455ca5a..ef6abcc50ff 100644
--- a/Mage.Sets/src/mage/cards/t/ThassasEmissary.java
+++ b/Mage.Sets/src/mage/cards/t/ThassasEmissary.java
@@ -55,6 +55,7 @@ class ThassasEmissaryTriggeredAbility extends TriggeredAbilityImpl {
public ThassasEmissaryTriggeredAbility(Effect effect, boolean optional) {
super(Zone.BATTLEFIELD, effect, optional);
+ setTriggerPhrase("Whenever {this} or enchanted creature deals combat damage to a player, ");
}
public ThassasEmissaryTriggeredAbility(final ThassasEmissaryTriggeredAbility ability) {
@@ -84,10 +85,4 @@ class ThassasEmissaryTriggeredAbility extends TriggeredAbilityImpl {
}
return false;
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever {this} or enchanted creature deals combat damage to a player, " ;
- }
-
}
diff --git a/Mage.Sets/src/mage/cards/t/TheRack.java b/Mage.Sets/src/mage/cards/t/TheRack.java
index 95eeb97c3c8..0613cd4ba0e 100644
--- a/Mage.Sets/src/mage/cards/t/TheRack.java
+++ b/Mage.Sets/src/mage/cards/t/TheRack.java
@@ -45,6 +45,7 @@ class TheRackTriggeredAbility extends TriggeredAbilityImpl {
public TheRackTriggeredAbility() {
super(Zone.BATTLEFIELD, new TheRackEffect(), false);
+ setTriggerPhrase("At the beginning of the chosen player's upkeep, ");
}
public TheRackTriggeredAbility(final TheRackTriggeredAbility ability) {
@@ -65,12 +66,6 @@ class TheRackTriggeredAbility extends TriggeredAbilityImpl {
public boolean checkTrigger(GameEvent event, Game game) {
return event.getPlayerId().equals(game.getState().getValue(this.getSourceId().toString() + ChooseOpponentEffect.VALUE_KEY));
}
-
- @Override
- public String getTriggerPhrase() {
- return "At the beginning of the chosen player's upkeep, " ;
- }
-
}
class TheRackEffect extends OneShotEffect {
diff --git a/Mage.Sets/src/mage/cards/t/ThoughtPrison.java b/Mage.Sets/src/mage/cards/t/ThoughtPrison.java
index f5eec32e33b..8d0ded12558 100644
--- a/Mage.Sets/src/mage/cards/t/ThoughtPrison.java
+++ b/Mage.Sets/src/mage/cards/t/ThoughtPrison.java
@@ -115,6 +115,7 @@ class ThoughtPrisonTriggeredAbility extends TriggeredAbilityImpl {
public ThoughtPrisonTriggeredAbility() {
super(Zone.BATTLEFIELD, new ThoughtPrisonDamageEffect(), false);
+ setTriggerPhrase("Whenever a player casts a spell that shares a color or mana value with the exiled card, ");
}
public ThoughtPrisonTriggeredAbility(final ThoughtPrisonTriggeredAbility ability) {
@@ -135,45 +136,42 @@ class ThoughtPrisonTriggeredAbility extends TriggeredAbilityImpl {
public boolean checkTrigger(GameEvent event, Game game) {
Spell spell = (Spell) game.getObject(event.getTargetId());
Permanent sourcePermanent = game.getPermanent(this.getSourceId());
-
- if (spell instanceof Spell) {
- if (sourcePermanent == null) {
- sourcePermanent = (Permanent) game.getLastKnownInformation(event.getSourceId(), Zone.BATTLEFIELD);
- }
- if (sourcePermanent != null && sourcePermanent.getImprinted() != null && !sourcePermanent.getImprinted().isEmpty()) {
- Card imprintedCard = game.getCard(sourcePermanent.getImprinted().get(0));
- if (imprintedCard != null && game.getState().getZone(imprintedCard.getId()) == Zone.EXILED) {
- // Check if spell's color matches the imprinted card
- ObjectColor spellColor = spell.getColor(game);
- ObjectColor imprintedColor = imprintedCard.getColor(game);
- boolean matches = false;
-
- if (spellColor.shares(imprintedColor)) {
- matches = true;
- }
- // Check if spell's CMC matches the imprinted card
- int cmc = spell.getManaValue();
- int imprintedCmc = imprintedCard.getManaValue();
- if (cmc == imprintedCmc) {
- matches = true;
- }
-
- if (matches) {
- for (Effect effect : this.getEffects()) {
- effect.setTargetPointer(new FixedTarget(event.getPlayerId()));
- }
- return matches;
- }
- }
- }
+ if (spell == null) {
+ return false;
}
- return false;
- }
+ if (sourcePermanent == null) {
+ sourcePermanent = (Permanent) game.getLastKnownInformation(event.getSourceId(), Zone.BATTLEFIELD);
+ }
+ if (sourcePermanent == null || sourcePermanent.getImprinted() == null || sourcePermanent.getImprinted().isEmpty()) {
+ return false;
+ }
- @Override
- public String getTriggerPhrase() {
- return "Whenever a player casts a spell that shares a color or mana value with the exiled card, " ;
+ Card imprintedCard = game.getCard(sourcePermanent.getImprinted().get(0));
+ if (imprintedCard == null || game.getState().getZone(imprintedCard.getId()) != Zone.EXILED) {
+ return false;
+ }
+ // Check if spell's color matches the imprinted card
+ ObjectColor spellColor = spell.getColor(game);
+ ObjectColor imprintedColor = imprintedCard.getColor(game);
+ boolean matches = false;
+ if (spellColor.shares(imprintedColor)) {
+ matches = true;
+ }
+
+ // Check if spell's CMC matches the imprinted card
+ int cmc = spell.getManaValue();
+ int imprintedCmc = imprintedCard.getManaValue();
+ if (cmc == imprintedCmc) {
+ matches = true;
+ }
+
+ if (matches) {
+ for (Effect effect : this.getEffects()) {
+ effect.setTargetPointer(new FixedTarget(event.getPlayerId()));
+ }
+ }
+ return matches;
}
}
diff --git a/Mage.Sets/src/mage/cards/t/Thraximundar.java b/Mage.Sets/src/mage/cards/t/Thraximundar.java
index c8c4c15d9ed..97c9161edd6 100644
--- a/Mage.Sets/src/mage/cards/t/Thraximundar.java
+++ b/Mage.Sets/src/mage/cards/t/Thraximundar.java
@@ -105,6 +105,7 @@ class PlayerSacrificesCreatureTriggeredAbility extends TriggeredAbilityImpl {
public PlayerSacrificesCreatureTriggeredAbility(Effect effect, boolean optional) {
super(Zone.BATTLEFIELD, effect, optional);
+ setTriggerPhrase("Whenever a player sacrifices a creature, ");
}
public PlayerSacrificesCreatureTriggeredAbility(final PlayerSacrificesCreatureTriggeredAbility ability) {
@@ -122,11 +123,6 @@ class PlayerSacrificesCreatureTriggeredAbility extends TriggeredAbilityImpl {
return mageObject != null && mageObject.isCreature(game);
}
- @Override
- public String getTriggerPhrase() {
- return "Whenever a player sacrifices a creature, " ;
- }
-
@Override
public PlayerSacrificesCreatureTriggeredAbility copy() {
return new PlayerSacrificesCreatureTriggeredAbility(this);
diff --git a/Mage.Sets/src/mage/cards/t/TianaShipsCaretaker.java b/Mage.Sets/src/mage/cards/t/TianaShipsCaretaker.java
index bc606080ae0..220567305a6 100644
--- a/Mage.Sets/src/mage/cards/t/TianaShipsCaretaker.java
+++ b/Mage.Sets/src/mage/cards/t/TianaShipsCaretaker.java
@@ -64,6 +64,7 @@ class TianaShipsCaretakerTriggeredAbility extends TriggeredAbilityImpl {
TianaShipsCaretakerTriggeredAbility() {
super(Zone.BATTLEFIELD, new TianaShipsCaretakerEffect(), true);
+ setTriggerPhrase("Whenever an Aura or Equipment you control is put into a graveyard from the battlefield, ");
}
TianaShipsCaretakerTriggeredAbility(final TianaShipsCaretakerTriggeredAbility ability) {
@@ -97,11 +98,6 @@ class TianaShipsCaretakerTriggeredAbility extends TriggeredAbilityImpl {
}
return false;
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever an Aura or Equipment you control is put into a graveyard from the battlefield, " ;
- }
}
class TianaShipsCaretakerEffect extends OneShotEffect {
diff --git a/Mage.Sets/src/mage/cards/t/TidalInfluence.java b/Mage.Sets/src/mage/cards/t/TidalInfluence.java
index 7ebe63234f3..4611ab5ac5a 100644
--- a/Mage.Sets/src/mage/cards/t/TidalInfluence.java
+++ b/Mage.Sets/src/mage/cards/t/TidalInfluence.java
@@ -116,6 +116,7 @@ class TidalInfluenceTriggeredAbility extends StateTriggeredAbility {
public TidalInfluenceTriggeredAbility(Effect effect) {
super(Zone.BATTLEFIELD, effect);
+ setTriggerPhrase("Whenever there are four tide counters on {this}, ");
}
public TidalInfluenceTriggeredAbility(final TidalInfluenceTriggeredAbility ability) {
@@ -131,10 +132,4 @@ class TidalInfluenceTriggeredAbility extends StateTriggeredAbility {
public boolean checkTrigger(GameEvent event, Game game) {
return new CountersSourceCount(CounterType.TIDE).calculate(game, this, null) == 4;
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever there are four tide counters on {this}, " ;
- }
-
}
diff --git a/Mage.Sets/src/mage/cards/t/TideOfWar.java b/Mage.Sets/src/mage/cards/t/TideOfWar.java
index ba0f7167a61..bf9fc602d08 100644
--- a/Mage.Sets/src/mage/cards/t/TideOfWar.java
+++ b/Mage.Sets/src/mage/cards/t/TideOfWar.java
@@ -48,6 +48,7 @@ class BlocksTriggeredAbility extends TriggeredAbilityImpl {
public BlocksTriggeredAbility(Effect effect, boolean optional) {
super(Zone.BATTLEFIELD, effect, optional);
+ setTriggerPhrase("Whenever one or more creatures block, ");
}
public BlocksTriggeredAbility(final BlocksTriggeredAbility ability) {
@@ -69,11 +70,6 @@ class BlocksTriggeredAbility extends TriggeredAbilityImpl {
return false;
}
- @Override
- public String getTriggerPhrase() {
- return "Whenever one or more creatures block, " ;
- }
-
@Override
public BlocksTriggeredAbility copy() {
return new BlocksTriggeredAbility(this);
diff --git a/Mage.Sets/src/mage/cards/t/TimeToFeed.java b/Mage.Sets/src/mage/cards/t/TimeToFeed.java
index d6b40306365..a3ec4ace1be 100644
--- a/Mage.Sets/src/mage/cards/t/TimeToFeed.java
+++ b/Mage.Sets/src/mage/cards/t/TimeToFeed.java
@@ -85,11 +85,12 @@ class TimeToFeedTextEffect extends OneShotEffect {
@Override
public boolean apply(Game game, Ability source) {
Permanent creature = game.getPermanent(this.getTargetPointer().getFirst(game, source));
- if (creature != null) {
- DelayedTriggeredAbility ability = new TimeToFeedDiesTriggeredAbility(creature.getId(), creature.getZoneChangeCounter(game));
- new CreateDelayedTriggeredAbilityEffect(ability, false).apply(game, source);
+ if (creature == null) {
+ return false;
}
+ DelayedTriggeredAbility ability = new TimeToFeedDiesTriggeredAbility(creature.getId(), creature.getZoneChangeCounter(game));
+ new CreateDelayedTriggeredAbilityEffect(ability, false).apply(game, source);
return true;
}
}
@@ -103,6 +104,7 @@ class TimeToFeedDiesTriggeredAbility extends DelayedTriggeredAbility {
super(new GainLifeEffect(3), Duration.EndOfTurn, false);
this.watchedCreatureId = watchedCreatureId;
this.zoneChangeCounter = zoneChangeCounter;
+ setTriggerPhrase("When that creature dies this turn, ");
}
public TimeToFeedDiesTriggeredAbility(final TimeToFeedDiesTriggeredAbility ability) {
@@ -123,19 +125,10 @@ class TimeToFeedDiesTriggeredAbility extends DelayedTriggeredAbility {
@Override
public boolean checkTrigger(GameEvent event, Game game) {
- if (((ZoneChangeEvent) event).isDiesEvent()) {
- if (event.getTargetId().equals(watchedCreatureId)) {
- Permanent creature = (Permanent) game.getLastKnownInformation(watchedCreatureId, Zone.BATTLEFIELD);
- if (creature.getZoneChangeCounter(game) == this.zoneChangeCounter) {
- return true;
- }
- }
+ if (!((ZoneChangeEvent) event).isDiesEvent() || !event.getTargetId().equals(watchedCreatureId)) {
+ return false;
}
- return false;
- }
-
- @Override
- public String getTriggerPhrase() {
- return "When that creature dies this turn, " ;
+ Permanent creature = (Permanent) game.getLastKnownInformation(watchedCreatureId, Zone.BATTLEFIELD);
+ return creature.getZoneChangeCounter(game) == this.zoneChangeCounter;
}
}
diff --git a/Mage.Sets/src/mage/cards/t/TirelessTracker.java b/Mage.Sets/src/mage/cards/t/TirelessTracker.java
index 5b8ec0f4dd3..2b7d003c33a 100644
--- a/Mage.Sets/src/mage/cards/t/TirelessTracker.java
+++ b/Mage.Sets/src/mage/cards/t/TirelessTracker.java
@@ -60,6 +60,7 @@ class TirelessTrackerTriggeredAbility extends TriggeredAbilityImpl {
public TirelessTrackerTriggeredAbility() {
super(Zone.BATTLEFIELD, new AddCountersSourceEffect(CounterType.P1P1.createInstance()));
setLeavesTheBattlefieldTrigger(true);
+ setTriggerPhrase("Whenever you sacrifice a Clue, ");
}
public TirelessTrackerTriggeredAbility(final TirelessTrackerTriggeredAbility ability) {
@@ -81,9 +82,4 @@ class TirelessTrackerTriggeredAbility extends TriggeredAbilityImpl {
return event.getPlayerId().equals(this.getControllerId())
&& game.getLastKnownInformation(event.getTargetId(), Zone.BATTLEFIELD).hasSubtype(SubType.CLUE, game);
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever you sacrifice a Clue, " ;
- }
}
diff --git a/Mage.Sets/src/mage/cards/t/TotalWar.java b/Mage.Sets/src/mage/cards/t/TotalWar.java
index f7614d79a37..e4aee4300eb 100644
--- a/Mage.Sets/src/mage/cards/t/TotalWar.java
+++ b/Mage.Sets/src/mage/cards/t/TotalWar.java
@@ -45,6 +45,7 @@ class TotalWarTriggeredAbility extends TriggeredAbilityImpl {
public TotalWarTriggeredAbility() {
super(Zone.BATTLEFIELD, new TotalWarDestroyEffect());
+ setTriggerPhrase("Whenever a player attacks with one or more creatures, ");
}
public TotalWarTriggeredAbility(final TotalWarTriggeredAbility ability) {
@@ -65,11 +66,6 @@ class TotalWarTriggeredAbility extends TriggeredAbilityImpl {
public boolean checkTrigger(GameEvent event, Game game) {
return !game.getCombat().getAttackers().isEmpty();
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever a player attacks with one or more creatures, " ;
- }
}
class TotalWarDestroyEffect extends OneShotEffect {
@@ -91,35 +87,36 @@ class TotalWarDestroyEffect extends OneShotEffect {
@Override
public boolean apply(Game game, Ability source) {
Player activePlayer = game.getPlayer(game.getActivePlayerId());
- if (activePlayer != null) {
- for (Permanent permanent : game.getBattlefield().getAllActivePermanents(activePlayer.getId())) {
- // Noncreature cards are safe.
- if (!permanent.isCreature(game)) {
- continue;
- }
- // Tapped cards are safe.
- if (permanent.isTapped()) {
- continue;
- }
- // Walls are safe.
- if (permanent.hasSubtype(SubType.WALL, game)) {
- continue;
- }
- // Creatures that attacked are safe.
- AttackedOrBlockedThisCombatWatcher watcher = game.getState().getWatcher(AttackedOrBlockedThisCombatWatcher.class);
- if (watcher != null
- && watcher.getAttackedThisTurnCreatures().contains(new MageObjectReference(permanent, game))) {
- continue;
- }
- // Creatures that weren't controlled since the beginning of turn are safe.
- if (!permanent.wasControlledFromStartOfControllerTurn()) {
- continue;
- }
- // Destroy the rest.
- permanent.destroy(source, game, false);
- }
- return true;
+ if (activePlayer == null) {
+ return false;
}
- return false;
+
+ for (Permanent permanent : game.getBattlefield().getAllActivePermanents(activePlayer.getId())) {
+ // Noncreature cards are safe.
+ if (!permanent.isCreature(game)) {
+ continue;
+ }
+ // Tapped cards are safe.
+ if (permanent.isTapped()) {
+ continue;
+ }
+ // Walls are safe.
+ if (permanent.hasSubtype(SubType.WALL, game)) {
+ continue;
+ }
+ // Creatures that attacked are safe.
+ AttackedOrBlockedThisCombatWatcher watcher = game.getState().getWatcher(AttackedOrBlockedThisCombatWatcher.class);
+ if (watcher != null
+ && watcher.getAttackedThisTurnCreatures().contains(new MageObjectReference(permanent, game))) {
+ continue;
+ }
+ // Creatures that weren't controlled since the beginning of turn are safe.
+ if (!permanent.wasControlledFromStartOfControllerTurn()) {
+ continue;
+ }
+ // Destroy the rest.
+ permanent.destroy(source, game, false);
+ }
+ return true;
}
}
diff --git a/Mage.Sets/src/mage/cards/t/TrailOfCrumbs.java b/Mage.Sets/src/mage/cards/t/TrailOfCrumbs.java
index 7639faa551e..1542e0cc212 100644
--- a/Mage.Sets/src/mage/cards/t/TrailOfCrumbs.java
+++ b/Mage.Sets/src/mage/cards/t/TrailOfCrumbs.java
@@ -53,6 +53,7 @@ class TrailOfCrumbsTriggeredAbility extends TriggeredAbilityImpl {
super(Zone.BATTLEFIELD, new DoIfCostPaid(new LookLibraryAndPickControllerEffect(
2, 1, StaticFilters.FILTER_CARD_PERMANENT, PutCards.HAND, PutCards.BOTTOM_ANY
), new GenericManaCost(1)));
+ setTriggerPhrase("Whenever you sacrifice a Food, ");
}
private TrailOfCrumbsTriggeredAbility(final TrailOfCrumbsTriggeredAbility ability) {
@@ -76,9 +77,4 @@ class TrailOfCrumbsTriggeredAbility extends TriggeredAbilityImpl {
&& event.getPlayerId().equals(this.getControllerId())
&& permanent.hasSubtype(SubType.FOOD, game);
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever you sacrifice a Food, ";
- }
}
diff --git a/Mage.Sets/src/mage/cards/t/TravelingPlague.java b/Mage.Sets/src/mage/cards/t/TravelingPlague.java
index 3475406f8ae..d6d7dbcfd84 100644
--- a/Mage.Sets/src/mage/cards/t/TravelingPlague.java
+++ b/Mage.Sets/src/mage/cards/t/TravelingPlague.java
@@ -74,6 +74,7 @@ class TravelingPlagueTriggeredAbility extends TriggeredAbilityImpl {
public TravelingPlagueTriggeredAbility() {
super(Zone.BATTLEFIELD, new TravelingPlagueEffect(), false);
+ setTriggerPhrase("When enchanted creature leaves the battlefield, ");
}
public TravelingPlagueTriggeredAbility(final TravelingPlagueTriggeredAbility ability) {
@@ -93,21 +94,19 @@ class TravelingPlagueTriggeredAbility extends TriggeredAbilityImpl {
@Override
public boolean checkTrigger(GameEvent event, Game game) {
ZoneChangeEvent zEvent = (ZoneChangeEvent) event;
- if (zEvent.getFromZone() == Zone.BATTLEFIELD) {
- Permanent enchantedCreature = game.getPermanentOrLKIBattlefield(event.getTargetId());
- Permanent travelingPlague = game.getPermanentOrLKIBattlefield(sourceId);
- if (enchantedCreature != null
- && enchantedCreature.getAttachments().contains(travelingPlague.getId())) {
- game.getState().setValue("travelingPlague" + sourceId, enchantedCreature);
- return true;
- }
+ if (zEvent.getFromZone() != Zone.BATTLEFIELD) {
+ return false;
}
- return false;
- }
- @Override
- public String getTriggerPhrase() {
- return "When enchanted creature leaves the battlefield, " ;
+ Permanent enchantedCreature = game.getPermanentOrLKIBattlefield(event.getTargetId());
+ Permanent travelingPlague = game.getPermanentOrLKIBattlefield(sourceId);
+ if (enchantedCreature == null
+ || !enchantedCreature.getAttachments().contains(travelingPlague.getId())) {
+ return false;
+ }
+
+ game.getState().setValue("travelingPlague" + sourceId, enchantedCreature);
+ return true;
}
}
diff --git a/Mage.Sets/src/mage/cards/t/TreacherousPitDweller.java b/Mage.Sets/src/mage/cards/t/TreacherousPitDweller.java
index a214ec30372..92e9861a1ba 100644
--- a/Mage.Sets/src/mage/cards/t/TreacherousPitDweller.java
+++ b/Mage.Sets/src/mage/cards/t/TreacherousPitDweller.java
@@ -49,11 +49,10 @@ public final class TreacherousPitDweller extends CardImpl {
class TreacherousPitDwellerTriggeredAbility extends TriggeredAbilityImpl {
- private static final String ruleText = "When {this} enters the battlefield from a graveyard, ";
-
public TreacherousPitDwellerTriggeredAbility() {
super(Zone.BATTLEFIELD, new TreacherousPitDwellerEffect(), false);
addTarget(new TargetOpponent());
+ setTriggerPhrase("When {this} enters the battlefield from a graveyard, ");
}
public TreacherousPitDwellerTriggeredAbility(final TreacherousPitDwellerTriggeredAbility ability) {
@@ -74,12 +73,6 @@ class TreacherousPitDwellerTriggeredAbility extends TriggeredAbilityImpl {
public TreacherousPitDwellerTriggeredAbility copy() {
return new TreacherousPitDwellerTriggeredAbility(this);
}
-
- @Override
- public String getTriggerPhrase() {
- return ruleText ;
- }
-
}
class TreacherousPitDwellerEffect extends ContinuousEffectImpl {
diff --git a/Mage.Sets/src/mage/cards/t/TrespassersCurse.java b/Mage.Sets/src/mage/cards/t/TrespassersCurse.java
index 31b9ecd8540..b5322598b27 100644
--- a/Mage.Sets/src/mage/cards/t/TrespassersCurse.java
+++ b/Mage.Sets/src/mage/cards/t/TrespassersCurse.java
@@ -57,6 +57,7 @@ class TrespassersCurseTriggeredAbility extends TriggeredAbilityImpl {
public TrespassersCurseTriggeredAbility() {
super(Zone.BATTLEFIELD, new TrespassersCurseEffect(), false); // false because handled in effect
+ setTriggerPhrase("Whenever a creature enters the battlefield under enchanted player's control, ");
}
public TrespassersCurseTriggeredAbility(final TrespassersCurseTriggeredAbility ability) {
@@ -83,16 +84,10 @@ class TrespassersCurseTriggeredAbility extends TriggeredAbilityImpl {
return false;
}
- @Override
- public String getTriggerPhrase() {
- return "Whenever a creature enters the battlefield under enchanted player's control, ";
- }
-
@Override
public TrespassersCurseTriggeredAbility copy() {
return new TrespassersCurseTriggeredAbility(this);
}
-
}
class TrespassersCurseEffect extends OneShotEffect {
diff --git a/Mage.Sets/src/mage/cards/t/TrostaniSelesnyasVoice.java b/Mage.Sets/src/mage/cards/t/TrostaniSelesnyasVoice.java
index 0ef9762c9b6..c10411d0031 100644
--- a/Mage.Sets/src/mage/cards/t/TrostaniSelesnyasVoice.java
+++ b/Mage.Sets/src/mage/cards/t/TrostaniSelesnyasVoice.java
@@ -62,6 +62,7 @@ class TrostaniSelesnyasVoiceTriggeredAbility extends TriggeredAbilityImpl {
public TrostaniSelesnyasVoiceTriggeredAbility() {
super(Zone.BATTLEFIELD, new TrostaniSelesnyasVoiceEffect(), false);
+ setTriggerPhrase("Whenever another creature enters the battlefield under your control, ");
}
public TrostaniSelesnyasVoiceTriggeredAbility(TrostaniSelesnyasVoiceTriggeredAbility ability) {
@@ -76,22 +77,18 @@ class TrostaniSelesnyasVoiceTriggeredAbility extends TriggeredAbilityImpl {
@Override
public boolean checkTrigger(GameEvent event, Game game) {
Permanent permanent = game.getPermanent(event.getTargetId());
- if (permanent != null
- && permanent.isCreature(game)
- && permanent.isControlledBy(this.controllerId)
- && !Objects.equals(event.getTargetId(), this.getSourceId())) {
- Effect effect = this.getEffects().get(0);
- // life is determined during resolution so it has to be retrieved there (e.g. Giant Growth before resolution)
- effect.setValue("lifeSource", event.getTargetId());
- effect.setValue("zoneChangeCounter", permanent.getZoneChangeCounter(game));
- return true;
+ if (permanent == null
+ || !permanent.isCreature(game)
+ || !permanent.isControlledBy(this.controllerId)
+ || Objects.equals(event.getTargetId(), this.getSourceId())) {
+ return false;
}
- return false;
- }
- @Override
- public String getTriggerPhrase() {
- return "Whenever another creature enters the battlefield under your control, " ;
+ Effect effect = this.getEffects().get(0);
+ // life is determined during resolution so it has to be retrieved there (e.g. Giant Growth before resolution)
+ effect.setValue("lifeSource", event.getTargetId());
+ effect.setValue("zoneChangeCounter", permanent.getZoneChangeCounter(game));
+ return true;
}
@Override
diff --git a/Mage.Sets/src/mage/cards/u/UlamogTheCeaselessHunger.java b/Mage.Sets/src/mage/cards/u/UlamogTheCeaselessHunger.java
index 1b6bb8f3cde..a54e0b44801 100644
--- a/Mage.Sets/src/mage/cards/u/UlamogTheCeaselessHunger.java
+++ b/Mage.Sets/src/mage/cards/u/UlamogTheCeaselessHunger.java
@@ -66,6 +66,7 @@ class UlamogExilePermanentsOnCastAbility extends TriggeredAbilityImpl {
UlamogExilePermanentsOnCastAbility() {
super(Zone.STACK, new ExileTargetEffect("exile two target permanents"));
this.addTarget(new TargetPermanent(2, new FilterPermanent()));
+ setTriggerPhrase("When you cast this spell, ");
}
UlamogExilePermanentsOnCastAbility(UlamogExilePermanentsOnCastAbility ability) {
@@ -87,17 +88,13 @@ class UlamogExilePermanentsOnCastAbility extends TriggeredAbilityImpl {
public UlamogExilePermanentsOnCastAbility copy() {
return new UlamogExilePermanentsOnCastAbility(this);
}
-
- @Override
- public String getTriggerPhrase() {
- return "When you cast this spell, " ;
- }
}
class UlamogAttackTriggeredAbility extends TriggeredAbilityImpl {
public UlamogAttackTriggeredAbility(Effect effect) {
super(Zone.BATTLEFIELD, effect);
+ setTriggerPhrase("Whenever {this} attacks, ");
}
public UlamogAttackTriggeredAbility(final UlamogAttackTriggeredAbility ability) {
@@ -126,11 +123,6 @@ class UlamogAttackTriggeredAbility extends TriggeredAbilityImpl {
}
return false;
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever {this} attacks, " ;
- }
}
class UlamogExileLibraryEffect extends OneShotEffect {
diff --git a/Mage.Sets/src/mage/cards/u/UlvenwaldMysteries.java b/Mage.Sets/src/mage/cards/u/UlvenwaldMysteries.java
index 10d274de9f5..edad8524c0a 100644
--- a/Mage.Sets/src/mage/cards/u/UlvenwaldMysteries.java
+++ b/Mage.Sets/src/mage/cards/u/UlvenwaldMysteries.java
@@ -59,6 +59,7 @@ class UlvenwaldMysteriesTriggeredAbility extends TriggeredAbilityImpl {
public UlvenwaldMysteriesTriggeredAbility() {
super(Zone.BATTLEFIELD, new CreateTokenEffect(new HumanSoldierToken()));
setLeavesTheBattlefieldTrigger(true);
+ setTriggerPhrase("Whenever you sacrifice a Clue, ");
}
public UlvenwaldMysteriesTriggeredAbility(final UlvenwaldMysteriesTriggeredAbility ability) {
@@ -80,9 +81,4 @@ class UlvenwaldMysteriesTriggeredAbility extends TriggeredAbilityImpl {
return event.getPlayerId().equals(this.getControllerId())
&& game.getLastKnownInformation(event.getTargetId(), Zone.BATTLEFIELD).hasSubtype(SubType.CLUE, game);
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever you sacrifice a Clue, " ;
- }
}
\ No newline at end of file
diff --git a/Mage.Sets/src/mage/cards/u/UnboundFlourishing.java b/Mage.Sets/src/mage/cards/u/UnboundFlourishing.java
index 526b17706de..ca717b8ad69 100644
--- a/Mage.Sets/src/mage/cards/u/UnboundFlourishing.java
+++ b/Mage.Sets/src/mage/cards/u/UnboundFlourishing.java
@@ -94,6 +94,8 @@ class UnboundFlourishingCopyAbility extends TriggeredAbilityImpl {
UnboundFlourishingCopyAbility() {
super(Zone.BATTLEFIELD, new UnboundFlourishingCopyEffect(), false);
+ setTriggerPhrase("Whenever you cast an instant or sorcery spell or activate an ability, " +
+ "if that spell's mana cost or that ability's activation cost contains {X}" );
}
UnboundFlourishingCopyAbility(final UnboundFlourishingCopyAbility ability) {
@@ -113,38 +115,33 @@ class UnboundFlourishingCopyAbility extends TriggeredAbilityImpl {
@Override
public boolean checkTrigger(GameEvent event, Game game) {
- if (event.getPlayerId().equals(getControllerId())) {
+ if (!event.getPlayerId().equals(getControllerId())) {
+ return false;
+ }
- // activated ability
- if (event.getType() == GameEvent.EventType.ACTIVATED_ABILITY) {
- StackAbility stackAbility = (StackAbility) game.getStack().getStackObject(event.getSourceId());
- if (stackAbility != null && !(stackAbility.getStackAbility() instanceof ActivatedManaAbilityImpl)) {
- if (stackAbility.getManaCostsToPay().containsX()) {
- game.getState().setValue(this.getSourceId() + UnboundFlourishing.needPrefix, stackAbility);
- return true;
- }
+ // activated ability
+ if (event.getType() == GameEvent.EventType.ACTIVATED_ABILITY) {
+ StackAbility stackAbility = (StackAbility) game.getStack().getStackObject(event.getSourceId());
+ if (stackAbility != null && !(stackAbility.getStackAbility() instanceof ActivatedManaAbilityImpl)) {
+ if (stackAbility.getManaCostsToPay().containsX()) {
+ game.getState().setValue(this.getSourceId() + UnboundFlourishing.needPrefix, stackAbility);
+ return true;
}
}
+ }
- // spell
- if (event.getType() == GameEvent.EventType.SPELL_CAST) {
- Spell spell = game.getStack().getSpell(event.getTargetId());
- if (spell != null && spell.isInstantOrSorcery(game)) {
- if (spell.getSpellAbility().getManaCostsToPay().containsX()) {
- game.getState().setValue(this.getSourceId() + UnboundFlourishing.needPrefix, spell);
- return true;
- }
+ // spell
+ if (event.getType() == GameEvent.EventType.SPELL_CAST) {
+ Spell spell = game.getStack().getSpell(event.getTargetId());
+ if (spell != null && spell.isInstantOrSorcery(game)) {
+ if (spell.getSpellAbility().getManaCostsToPay().containsX()) {
+ game.getState().setValue(this.getSourceId() + UnboundFlourishing.needPrefix, spell);
+ return true;
}
}
-
}
return false;
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever you cast an instant or sorcery spell or activate an ability, if that spell's mana cost or that ability's activation cost contains {X}" ;
- }
}
class UnboundFlourishingCopyEffect extends OneShotEffect {
diff --git a/Mage.Sets/src/mage/cards/u/UnscytheKillerOfKings.java b/Mage.Sets/src/mage/cards/u/UnscytheKillerOfKings.java
index 31b08ae29f7..e945c11a2f4 100644
--- a/Mage.Sets/src/mage/cards/u/UnscytheKillerOfKings.java
+++ b/Mage.Sets/src/mage/cards/u/UnscytheKillerOfKings.java
@@ -64,6 +64,7 @@ class UnscytheKillerOfKingsTriggeredAbility extends TriggeredAbilityImpl {
public UnscytheKillerOfKingsTriggeredAbility(Effect effect) {
super(Zone.ALL, effect, true);
+ setTriggerPhrase("Whenever a creature dealt damage by equipped creature this turn dies, ");
}
public UnscytheKillerOfKingsTriggeredAbility(final UnscytheKillerOfKingsTriggeredAbility ability) {
@@ -103,11 +104,6 @@ class UnscytheKillerOfKingsTriggeredAbility extends TriggeredAbilityImpl {
}
return false;
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever a creature dealt damage by equipped creature this turn dies, ";
- }
}
class UnscytheEffect extends OneShotEffect {
diff --git a/Mage.Sets/src/mage/cards/v/VeiledCrocodile.java b/Mage.Sets/src/mage/cards/v/VeiledCrocodile.java
index 6947b1cfef5..fba61bace7f 100644
--- a/Mage.Sets/src/mage/cards/v/VeiledCrocodile.java
+++ b/Mage.Sets/src/mage/cards/v/VeiledCrocodile.java
@@ -42,6 +42,7 @@ class VeiledCrocodileStateTriggeredAbility extends StateTriggeredAbility {
public VeiledCrocodileStateTriggeredAbility() {
super(Zone.BATTLEFIELD, new BecomesCreatureSourceEffect(new VeilCrocodileToken(), "", Duration.Custom, true, false));
+ setTriggerPhrase("When a player has no cards in hand, if {this} is an enchantment, ");
}
public VeiledCrocodileStateTriggeredAbility(final VeiledCrocodileStateTriggeredAbility ability) {
@@ -98,12 +99,6 @@ class VeiledCrocodileStateTriggeredAbility extends StateTriggeredAbility {
public void counter(Game game) {
game.getState().setValue(this.getSourceId().toString() + "triggered", Boolean.FALSE);
}
-
- @Override
- public String getTriggerPhrase() {
- return "When a player has no cards in hand, if {this} is an enchantment, " ;
- }
-
}
class VeilCrocodileToken extends TokenImpl {
diff --git a/Mage.Sets/src/mage/cards/v/VeilingOddity.java b/Mage.Sets/src/mage/cards/v/VeilingOddity.java
index 9772b69518f..d618f7e5ca1 100644
--- a/Mage.Sets/src/mage/cards/v/VeilingOddity.java
+++ b/Mage.Sets/src/mage/cards/v/VeilingOddity.java
@@ -52,6 +52,7 @@ class VeilingOddityTriggeredAbility extends TriggeredAbilityImpl {
public VeilingOddityTriggeredAbility() {
super(Zone.EXILED, new CantBeBlockedAllEffect(StaticFilters.FILTER_PERMANENT_CREATURES, Duration.EndOfTurn), false);
+ setTriggerPhrase("When the last time counter is removed from {this} while it's exiled, ");
}
public VeilingOddityTriggeredAbility(final VeilingOddityTriggeredAbility ability) {
@@ -68,11 +69,6 @@ class VeilingOddityTriggeredAbility extends TriggeredAbilityImpl {
return (event.getTargetId().equals(this.getSourceId()) && game.getCard(event.getTargetId()).getCounters(game).getCount(CounterType.TIME) == 0);
}
- @Override
- public String getTriggerPhrase() {
- return "When the last time counter is removed from {this} while it's exiled, " ;
- }
-
@Override
public VeilingOddityTriggeredAbility copy() {
return new VeilingOddityTriggeredAbility(this);
diff --git a/Mage.Sets/src/mage/cards/v/VengefulWarchief.java b/Mage.Sets/src/mage/cards/v/VengefulWarchief.java
index dbbf0c93e1b..8555a795f0f 100644
--- a/Mage.Sets/src/mage/cards/v/VengefulWarchief.java
+++ b/Mage.Sets/src/mage/cards/v/VengefulWarchief.java
@@ -49,6 +49,7 @@ class VengefulWarchiefTriggeredAbility extends TriggeredAbilityImpl {
VengefulWarchiefTriggeredAbility() {
super(Zone.BATTLEFIELD, new AddCountersSourceEffect(CounterType.P1P1.createInstance()), false);
+ setTriggerPhrase("Whenever you lose life for the first time each turn, ");
}
private VengefulWarchiefTriggeredAbility(final VengefulWarchiefTriggeredAbility ability) {
@@ -73,11 +74,6 @@ class VengefulWarchiefTriggeredAbility extends TriggeredAbilityImpl {
public VengefulWarchiefTriggeredAbility copy() {
return new VengefulWarchiefTriggeredAbility(this);
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever you lose life for the first time each turn, " ;
- }
}
class VengefulWarchiefWatcher extends Watcher {
diff --git a/Mage.Sets/src/mage/cards/v/VerdantSunsAvatar.java b/Mage.Sets/src/mage/cards/v/VerdantSunsAvatar.java
index 40cd8af8c98..92e324270e5 100644
--- a/Mage.Sets/src/mage/cards/v/VerdantSunsAvatar.java
+++ b/Mage.Sets/src/mage/cards/v/VerdantSunsAvatar.java
@@ -50,6 +50,7 @@ class VerdantSunsAvatarTriggeredAbility extends TriggeredAbilityImpl {
public VerdantSunsAvatarTriggeredAbility() {
super(Zone.BATTLEFIELD, new VerdantSunsAvatarEffect(), false);
+ setTriggerPhrase("Whenever {this} or another creature enters the battlefield under your control, ");
}
public VerdantSunsAvatarTriggeredAbility(VerdantSunsAvatarTriggeredAbility ability) {
@@ -64,20 +65,17 @@ class VerdantSunsAvatarTriggeredAbility extends TriggeredAbilityImpl {
@Override
public boolean checkTrigger(GameEvent event, Game game) {
Permanent permanent = game.getPermanent(event.getTargetId());
- if (permanent != null && permanent.isCreature(game)
- && permanent.isControlledBy(this.controllerId)) {
- Effect effect = this.getEffects().get(0);
- // Life is determined during resolution so it has to be retrieved there (e.g. Giant Growth before resolution)
- effect.setValue("lifeSource", event.getTargetId());
- effect.setValue("zoneChangeCounter", permanent.getZoneChangeCounter(game));
- return true;
+ if (permanent == null
+ || !permanent.isCreature(game)
+ || !permanent.isControlledBy(this.controllerId)) {
+ return false;
}
- return false;
- }
- @Override
- public String getTriggerPhrase() {
- return "Whenever {this} or another creature enters the battlefield under your control, " ;
+ Effect effect = this.getEffects().get(0);
+ // Life is determined during resolution so it has to be retrieved there (e.g. Giant Growth before resolution)
+ effect.setValue("lifeSource", event.getTargetId());
+ effect.setValue("zoneChangeCounter", permanent.getZoneChangeCounter(game));
+ return true;
}
@Override
diff --git a/Mage.Sets/src/mage/cards/v/VillageCannibals.java b/Mage.Sets/src/mage/cards/v/VillageCannibals.java
index 75d7aa4b3ef..1ffc36bc05d 100644
--- a/Mage.Sets/src/mage/cards/v/VillageCannibals.java
+++ b/Mage.Sets/src/mage/cards/v/VillageCannibals.java
@@ -47,6 +47,7 @@ class VillageCannibalsTriggeredAbility extends TriggeredAbilityImpl {
public VillageCannibalsTriggeredAbility() {
super(Zone.BATTLEFIELD, new AddCountersSourceEffect(CounterType.P1P1.createInstance()));
+ setTriggerPhrase("Whenever another Human creature dies, ");
}
public VillageCannibalsTriggeredAbility(final VillageCannibalsTriggeredAbility ability) {
@@ -66,18 +67,11 @@ class VillageCannibalsTriggeredAbility extends TriggeredAbilityImpl {
@Override
public boolean checkTrigger(GameEvent event, Game game) {
ZoneChangeEvent zEvent = (ZoneChangeEvent) event;
- if (zEvent.isDiesEvent()) {
- Permanent permanent = (Permanent) game.getLastKnownInformation(event.getTargetId(), Zone.BATTLEFIELD);
- if (permanent != null && permanent.isCreature(game) && permanent.hasSubtype(SubType.HUMAN, game)
- && !permanent.getId().equals(this.getSourceId())) {
- return true;
- }
+ if (!zEvent.isDiesEvent()) {
+ return false;
}
- return false;
- }
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever another Human creature dies, " ;
+ Permanent permanent = (Permanent) game.getLastKnownInformation(event.getTargetId(), Zone.BATTLEFIELD);
+ return permanent != null && permanent.isCreature(game) && permanent.hasSubtype(SubType.HUMAN, game)
+ && !permanent.getId().equals(this.getSourceId());
}
}
diff --git a/Mage.Sets/src/mage/cards/v/VindictiveVampire.java b/Mage.Sets/src/mage/cards/v/VindictiveVampire.java
index 380c1998d18..5f55feb1043 100644
--- a/Mage.Sets/src/mage/cards/v/VindictiveVampire.java
+++ b/Mage.Sets/src/mage/cards/v/VindictiveVampire.java
@@ -9,6 +9,7 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.SubType;
import mage.constants.TargetController;
+import mage.filter.StaticFilters;
import mage.filter.common.FilterControlledCreaturePermanent;
import mage.filter.predicate.mageobject.AnotherPredicate;
import java.util.UUID;
@@ -28,12 +29,6 @@ import mage.target.targetpointer.FixedTarget;
*/
public final class VindictiveVampire extends CardImpl {
- private static FilterControlledCreaturePermanent filter = new FilterControlledCreaturePermanent("another creature you control");
-
- static {
- filter.add(AnotherPredicate.instance);
- }
-
public VindictiveVampire(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{B}");
@@ -42,11 +37,7 @@ public final class VindictiveVampire extends CardImpl {
this.toughness = new MageInt(3);
// Whenever another creature you control dies, Vindictive Vampire deals 1 damage to each opponent and you gain 1 life.
- Ability ability = new VindictiveVampireTriggeredAbility(Zone.ALL, new DamagePlayersEffect(1, TargetController.OPPONENT),
- false,
- filter,
- true
- );
+ Ability ability = new VindictiveVampireTriggeredAbility(Zone.ALL, new DamagePlayersEffect(1, TargetController.OPPONENT));
ability.addEffect(new GainLifeEffect(1).concatBy("and"));
this.addAbility(ability);
}
@@ -63,20 +54,13 @@ public final class VindictiveVampire extends CardImpl {
class VindictiveVampireTriggeredAbility extends TriggeredAbilityImpl {
- protected FilterPermanent filter;
- private final boolean setTargetPointer;
-
- public VindictiveVampireTriggeredAbility(Zone zone, Effect effect,
- boolean optional, FilterPermanent filter, boolean setTargetPointer) {
- super(zone, effect, optional);
- this.filter = filter;
- this.setTargetPointer = setTargetPointer;
+ public VindictiveVampireTriggeredAbility(Zone zone, Effect effect) {
+ super(zone, effect, false);
+ setTriggerPhrase("Whenever another creature you control dies, ");
}
public VindictiveVampireTriggeredAbility(final VindictiveVampireTriggeredAbility ability) {
super(ability);
- this.filter = ability.filter;
- this.setTargetPointer = ability.setTargetPointer;
}
@Override
@@ -105,27 +89,20 @@ class VindictiveVampireTriggeredAbility extends TriggeredAbilityImpl {
@Override
public boolean checkTrigger(GameEvent event, Game game) {
- if (game.getPermanentOrLKIBattlefield(getSourceId()) == null) {
+ ZoneChangeEvent zEvent = (ZoneChangeEvent) event;
+ if (!zEvent.isDiesEvent()
+ || zEvent.getTarget() == null
+ || game.getPermanentOrLKIBattlefield(getSourceId()) == null) {
return false;
}
- ZoneChangeEvent zEvent = (ZoneChangeEvent) event;
- if (zEvent.isDiesEvent()) {
- if (zEvent.getTarget() != null) {
- if (filter.match(zEvent.getTarget(), getControllerId(), this, game)) {
- if (setTargetPointer) {
- for (Effect effect : this.getEffects()) {
- effect.setTargetPointer(new FixedTarget(event.getTargetId(), game));
- }
- }
- return true;
- }
- }
- }
- return false;
- }
- @Override
- public String getTriggerPhrase() {
- return "Whenever " + filter.getMessage() + " dies, " ;
+ if (!StaticFilters.FILTER_CONTROLLED_ANOTHER_CREATURE.match(zEvent.getTarget(), getControllerId(), this, game)) {
+ return false;
+ }
+
+ for (Effect effect : this.getEffects()) {
+ effect.setTargetPointer(new FixedTarget(event.getTargetId(), game));
+ }
+ return true;
}
}
diff --git a/Mage.Sets/src/mage/cards/v/VoltaicVisionary.java b/Mage.Sets/src/mage/cards/v/VoltaicVisionary.java
index 255aa63735f..cb66e0433cb 100644
--- a/Mage.Sets/src/mage/cards/v/VoltaicVisionary.java
+++ b/Mage.Sets/src/mage/cards/v/VoltaicVisionary.java
@@ -67,6 +67,7 @@ class VoltaicVisionaryTriggeredAbility extends TriggeredAbilityImpl {
VoltaicVisionaryTriggeredAbility() {
super(Zone.BATTLEFIELD, new TransformSourceEffect());
this.addWatcher(new VoltaicVisionaryWatcher());
+ setTriggerPhrase("When you play a card exiled with {this}, ");
}
private VoltaicVisionaryTriggeredAbility(final VoltaicVisionaryTriggeredAbility ability) {
@@ -95,11 +96,6 @@ class VoltaicVisionaryTriggeredAbility extends TriggeredAbilityImpl {
}
return VoltaicVisionaryWatcher.checkCard(card, this, game);
}
-
- @Override
- public String getTriggerPhrase() {
- return "When you play a card exiled with {this}, ";
- }
}
class VoltaicVisionaryWatcher extends Watcher {
diff --git a/Mage.Sets/src/mage/cards/v/VraskaSwarmsEminence.java b/Mage.Sets/src/mage/cards/v/VraskaSwarmsEminence.java
index 9302ca3d35a..29c1fc3b9f7 100644
--- a/Mage.Sets/src/mage/cards/v/VraskaSwarmsEminence.java
+++ b/Mage.Sets/src/mage/cards/v/VraskaSwarmsEminence.java
@@ -29,12 +29,6 @@ import java.util.UUID;
*/
public final class VraskaSwarmsEminence extends CardImpl {
- private static final FilterPermanent filter = new FilterControlledCreaturePermanent("creature you control with deathtouch");
-
- static {
- filter.add(new AbilityPredicate(DeathtouchAbility.class));
- }
-
public VraskaSwarmsEminence(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "{2}{B/G}{B/G}");
@@ -44,8 +38,7 @@ public final class VraskaSwarmsEminence extends CardImpl {
// Whenever a creature you control with deathtouch deals damage to a player or planeswalker, put a +1/+1 counter on that creature.
this.addAbility(new VraskaSwarmsEminenceTriggeredAbility(Zone.BATTLEFIELD,
- new AddCountersTargetEffect(CounterType.P1P1.createInstance()).setText("put a +1/+1 counter on that creature"),
- filter)
+ new AddCountersTargetEffect(CounterType.P1P1.createInstance()).setText("put a +1/+1 counter on that creature"))
);
// -2: Create a 1/1 black Assassin creature token with deathtouch and "Whenever this creature deals damage to a planeswalker, destroy that planeswalker."
@@ -64,16 +57,20 @@ public final class VraskaSwarmsEminence extends CardImpl {
class VraskaSwarmsEminenceTriggeredAbility extends TriggeredAbilityImpl {
- private final FilterPermanent filter;
- public VraskaSwarmsEminenceTriggeredAbility(Zone zone, Effect effect, FilterPermanent filter) {
+ private static final FilterPermanent filter = new FilterControlledCreaturePermanent("creature you control with deathtouch");
+
+ static {
+ filter.add(new AbilityPredicate(DeathtouchAbility.class));
+ }
+
+ public VraskaSwarmsEminenceTriggeredAbility(Zone zone, Effect effect) {
super(zone, effect, false);
- this.filter = filter;
+ setTriggerPhrase("Whenever a creature you control with deathtouch deals damage to a player or planeswalker, ");
}
public VraskaSwarmsEminenceTriggeredAbility(final VraskaSwarmsEminenceTriggeredAbility ability) {
super(ability);
- this.filter = ability.filter;
}
@Override
@@ -102,10 +99,4 @@ class VraskaSwarmsEminenceTriggeredAbility extends TriggeredAbilityImpl {
getEffects().setTargetPointer(new FixedTarget(permanent.getId(), permanent.getZoneChangeCounter(game)));
return true;
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever a creature you control with deathtouch deals damage to a player or planeswalker, ";
- }
-
}
diff --git a/Mage.Sets/src/mage/cards/w/WakeThrasher.java b/Mage.Sets/src/mage/cards/w/WakeThrasher.java
index 7832f188d11..a1a94c6ebcc 100644
--- a/Mage.Sets/src/mage/cards/w/WakeThrasher.java
+++ b/Mage.Sets/src/mage/cards/w/WakeThrasher.java
@@ -49,6 +49,7 @@ class BecomesUntappedControlledPermanentTriggeredAbility extends TriggeredAbilit
public BecomesUntappedControlledPermanentTriggeredAbility(Effect effect, boolean optional) {
super(Zone.BATTLEFIELD, effect, optional);
+ setTriggerPhrase("Whenever a permanent you control becomes untapped, ");
}
public BecomesUntappedControlledPermanentTriggeredAbility(final BecomesUntappedControlledPermanentTriggeredAbility ability) {
@@ -69,10 +70,4 @@ class BecomesUntappedControlledPermanentTriggeredAbility extends TriggeredAbilit
public boolean checkTrigger(GameEvent event, Game game) {
return game.getPermanent(event.getTargetId()).isControlledBy(this.controllerId);
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever a permanent you control becomes untapped, " ;
- }
-
}
diff --git a/Mage.Sets/src/mage/cards/w/WallOfEssence.java b/Mage.Sets/src/mage/cards/w/WallOfEssence.java
index 8056b4dda3d..4dbb3dc4212 100644
--- a/Mage.Sets/src/mage/cards/w/WallOfEssence.java
+++ b/Mage.Sets/src/mage/cards/w/WallOfEssence.java
@@ -52,6 +52,7 @@ class WallOfEssenceTriggeredAbility extends TriggeredAbilityImpl {
public WallOfEssenceTriggeredAbility() {
super(Zone.BATTLEFIELD, new PiousWarriorGainLifeEffect());
+ setTriggerPhrase("Whenever {this} is dealt combat damage, ");
}
public WallOfEssenceTriggeredAbility(final WallOfEssenceTriggeredAbility effect) {
@@ -80,11 +81,6 @@ class WallOfEssenceTriggeredAbility extends TriggeredAbilityImpl {
this.getEffects().setValue("damageAmount", event.getAmount());
return true;
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever {this} is dealt combat damage, " ;
- }
}
diff --git a/Mage.Sets/src/mage/cards/w/WallOfHope.java b/Mage.Sets/src/mage/cards/w/WallOfHope.java
index 28cdc4b8b9b..9a65c8fbad7 100644
--- a/Mage.Sets/src/mage/cards/w/WallOfHope.java
+++ b/Mage.Sets/src/mage/cards/w/WallOfHope.java
@@ -51,6 +51,7 @@ class WallOfHopeTriggeredAbility extends TriggeredAbilityImpl {
public WallOfHopeTriggeredAbility() {
super(Zone.BATTLEFIELD, new WallOfHopeGainLifeEffect());
+ setTriggerPhrase("Whenever {this} is dealt damage, ");
}
public WallOfHopeTriggeredAbility(final WallOfHopeTriggeredAbility effect) {
@@ -69,16 +70,11 @@ class WallOfHopeTriggeredAbility extends TriggeredAbilityImpl {
@Override
public boolean checkTrigger(GameEvent event, Game game) {
- if (event.getTargetId().equals(this.sourceId)) {
- this.getEffects().setValue("damageAmount", event.getAmount());
- return true;
+ if (!event.getTargetId().equals(this.sourceId)) {
+ return false;
}
- return false;
- }
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever {this} is dealt damage, " ;
+ this.getEffects().setValue("damageAmount", event.getAmount());
+ return true;
}
}
diff --git a/Mage.Sets/src/mage/cards/w/WallOfSouls.java b/Mage.Sets/src/mage/cards/w/WallOfSouls.java
index 1df5ee113c9..c554849fb31 100644
--- a/Mage.Sets/src/mage/cards/w/WallOfSouls.java
+++ b/Mage.Sets/src/mage/cards/w/WallOfSouls.java
@@ -52,6 +52,7 @@ class WallOfSoulsTriggeredAbility extends TriggeredAbilityImpl {
public WallOfSoulsTriggeredAbility() {
super(Zone.BATTLEFIELD, new DamageTargetEffect(SavedDamageValue.MUCH, "it"));
+ setTriggerPhrase("Whenever {this} is dealt combat damage, ");
}
public WallOfSoulsTriggeredAbility(final WallOfSoulsTriggeredAbility effect) {
@@ -76,9 +77,4 @@ class WallOfSoulsTriggeredAbility extends TriggeredAbilityImpl {
}
return false;
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever {this} is dealt combat damage, " ;
- }
}
diff --git a/Mage.Sets/src/mage/cards/w/WharfInfiltrator.java b/Mage.Sets/src/mage/cards/w/WharfInfiltrator.java
index 39a2f85509a..9cb9d307e6e 100644
--- a/Mage.Sets/src/mage/cards/w/WharfInfiltrator.java
+++ b/Mage.Sets/src/mage/cards/w/WharfInfiltrator.java
@@ -63,6 +63,7 @@ class WharfInfiltratorDiscardAbility extends TriggeredAbilityImpl {
WharfInfiltratorDiscardAbility(Effect effect) {
super(Zone.BATTLEFIELD, effect, false);
+ setTriggerPhrase("Whenever you discard a creature card, " );
}
WharfInfiltratorDiscardAbility(final WharfInfiltratorDiscardAbility ability) {
@@ -82,14 +83,6 @@ class WharfInfiltratorDiscardAbility extends TriggeredAbilityImpl {
@Override
public boolean checkTrigger(GameEvent event, Game game) {
Card card = game.getCard(event.getTargetId());
- if (isControlledBy(event.getPlayerId()) && card != null && card.isCreature(game)) {
- return true;
- }
- return false;
- }
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever you discard a creature card, " ;
+ return isControlledBy(event.getPlayerId()) && card != null && card.isCreature(game);
}
}
diff --git a/Mage.Sets/src/mage/cards/w/WidespreadPanic.java b/Mage.Sets/src/mage/cards/w/WidespreadPanic.java
index 51aa73afe69..925e1f26d9a 100644
--- a/Mage.Sets/src/mage/cards/w/WidespreadPanic.java
+++ b/Mage.Sets/src/mage/cards/w/WidespreadPanic.java
@@ -45,6 +45,7 @@ class WidespreadPanicTriggeredAbility extends TriggeredAbilityImpl {
public WidespreadPanicTriggeredAbility() {
super(Zone.BATTLEFIELD, new WidespreadPanicEffect(), false);
+ setTriggerPhrase("Whenever a spell or ability causes its controller to shuffle their library, ");
}
public WidespreadPanicTriggeredAbility(final WidespreadPanicTriggeredAbility ability) {
@@ -72,11 +73,6 @@ class WidespreadPanicTriggeredAbility extends TriggeredAbilityImpl {
}
return false;
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever a spell or ability causes its controller to shuffle their library, " ;
- }
}
class WidespreadPanicEffect extends OneShotEffect {
diff --git a/Mage.Sets/src/mage/cards/w/WindreaderSphinx.java b/Mage.Sets/src/mage/cards/w/WindreaderSphinx.java
index 8245d163f3d..ceef278b6d6 100644
--- a/Mage.Sets/src/mage/cards/w/WindreaderSphinx.java
+++ b/Mage.Sets/src/mage/cards/w/WindreaderSphinx.java
@@ -56,6 +56,7 @@ class WindreaderSphinxTriggeredAbility extends TriggeredAbilityImpl {
public WindreaderSphinxTriggeredAbility() {
super(Zone.BATTLEFIELD, new DrawCardSourceControllerEffect(1), true);
+ setTriggerPhrase("Whenever a creature with flying attacks, ");
}
public WindreaderSphinxTriggeredAbility(final WindreaderSphinxTriggeredAbility ability) {
@@ -73,11 +74,6 @@ class WindreaderSphinxTriggeredAbility extends TriggeredAbilityImpl {
return attacker != null && filter.match(attacker, game);
}
- @Override
- public String getTriggerPhrase() {
- return "Whenever a creature with flying attacks, " ;
- }
-
@Override
public WindreaderSphinxTriggeredAbility copy() {
return new WindreaderSphinxTriggeredAbility(this);
diff --git a/Mage.Sets/src/mage/cards/x/XantidSwarm.java b/Mage.Sets/src/mage/cards/x/XantidSwarm.java
index 92f8f92ffa2..99c4077d2e2 100644
--- a/Mage.Sets/src/mage/cards/x/XantidSwarm.java
+++ b/Mage.Sets/src/mage/cards/x/XantidSwarm.java
@@ -55,6 +55,7 @@ class XantidSwarmTriggeredAbility extends TriggeredAbilityImpl {
public XantidSwarmTriggeredAbility(Effect effect) {
super(Zone.BATTLEFIELD, effect);
+ setTriggerPhrase("Whenever {this} attacks, ");
}
public XantidSwarmTriggeredAbility(final XantidSwarmTriggeredAbility ability) {
@@ -73,17 +74,12 @@ class XantidSwarmTriggeredAbility extends TriggeredAbilityImpl {
@Override
public boolean checkTrigger(GameEvent event, Game game) {
- if (event.getSourceId().equals(this.getSourceId())) {
- UUID defender = game.getCombat().getDefendingPlayerId(this.getSourceId(), game);
- this.getEffects().get(0).setTargetPointer(new FixedTarget(defender));
- return true;
+ if (!event.getSourceId().equals(this.getSourceId())) {
+ return false;
}
- return false;
- }
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever {this} attacks, " ;
+ UUID defender = game.getCombat().getDefendingPlayerId(this.getSourceId(), game);
+ this.getEffects().get(0).setTargetPointer(new FixedTarget(defender));
+ return true;
}
}
@@ -116,9 +112,6 @@ class XantidSwarmReplacementEffect extends ContinuousRuleModifyingEffectImpl {
@Override
public boolean applies(GameEvent event, Ability source, Game game) {
Player player = game.getPlayer(getTargetPointer().getFirst(game, source));
- if (player != null && player.getId().equals(event.getPlayerId())) {
- return true;
- }
- return false;
+ return player != null && player.getId().equals(event.getPlayerId());
}
}
diff --git a/Mage.Sets/src/mage/cards/z/ZaxaraTheExemplary.java b/Mage.Sets/src/mage/cards/z/ZaxaraTheExemplary.java
index 3cdf2057214..c0e1fe18bfe 100644
--- a/Mage.Sets/src/mage/cards/z/ZaxaraTheExemplary.java
+++ b/Mage.Sets/src/mage/cards/z/ZaxaraTheExemplary.java
@@ -64,6 +64,7 @@ class ZaxaraTheExemplaryHydraTokenAbility extends TriggeredAbilityImpl {
public ZaxaraTheExemplaryHydraTokenAbility() {
super(Zone.BATTLEFIELD, new ZaxaraTheExemplaryHydraTokenEffect(), false);
+ setTriggerPhrase("Whenever you cast a spell with {X} in its mana cost");
}
public ZaxaraTheExemplaryHydraTokenAbility(final ZaxaraTheExemplaryHydraTokenAbility ability) {
@@ -77,17 +78,13 @@ class ZaxaraTheExemplaryHydraTokenAbility extends TriggeredAbilityImpl {
@Override
public boolean checkTrigger(GameEvent event, Game game) {
- if (event.getPlayerId().equals(getControllerId())) {
- if (event.getType() == GameEvent.EventType.SPELL_CAST) {
- Spell spell = game.getStack().getSpell(event.getTargetId());
- if (spell != null) {
- if (spell.getSpellAbility().getManaCostsToPay().containsX()) {
- game.getState().setValue(this.getSourceId() + ZaxaraTheExemplary.needPrefix, spell);
- return true;
- }
- }
- }
-
+ if (!event.getPlayerId().equals(getControllerId()) || event.getType() != GameEvent.EventType.SPELL_CAST) {
+ return false;
+ }
+ Spell spell = game.getStack().getSpell(event.getTargetId());
+ if (spell == null || !spell.getSpellAbility().getManaCostsToPay().containsX()) {
+ game.getState().setValue(this.getSourceId() + ZaxaraTheExemplary.needPrefix, spell);
+ return true;
}
return false;
}
@@ -96,11 +93,6 @@ class ZaxaraTheExemplaryHydraTokenAbility extends TriggeredAbilityImpl {
public TriggeredAbility copy() {
return new ZaxaraTheExemplaryHydraTokenAbility(this);
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever you cast a spell with {X} in its mana cost" ;
- }
}
class ZaxaraTheExemplaryHydraTokenEffect extends OneShotEffect {
diff --git a/Mage.Sets/src/mage/cards/z/ZellixSanityFlayer.java b/Mage.Sets/src/mage/cards/z/ZellixSanityFlayer.java
index 05c941dedc8..4682714f7c4 100644
--- a/Mage.Sets/src/mage/cards/z/ZellixSanityFlayer.java
+++ b/Mage.Sets/src/mage/cards/z/ZellixSanityFlayer.java
@@ -65,6 +65,7 @@ class ZellixSanityFlayerTriggeredAbility extends TriggeredAbilityImpl {
ZellixSanityFlayerTriggeredAbility() {
super(Zone.BATTLEFIELD, new CreateTokenEffect(new Horror2Token()));
this.withFlavorWord("Hive Mind");
+ setTriggerPhrase("Whenever a player mills one or more creature cards, you ");
}
private ZellixSanityFlayerTriggeredAbility(final ZellixSanityFlayerTriggeredAbility ability) {
@@ -85,9 +86,4 @@ class ZellixSanityFlayerTriggeredAbility extends TriggeredAbilityImpl {
public boolean checkTrigger(GameEvent event, Game game) {
return ((MilledCardsEvent) event).getCards().count(StaticFilters.FILTER_CARD_CREATURE, game) > 0;
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever a player mills one or more creature cards, you ";
- }
}
diff --git a/Mage.Sets/src/mage/cards/z/ZhurTaaDruid.java b/Mage.Sets/src/mage/cards/z/ZhurTaaDruid.java
index 2f2b8259b15..c06ba2dd9f8 100644
--- a/Mage.Sets/src/mage/cards/z/ZhurTaaDruid.java
+++ b/Mage.Sets/src/mage/cards/z/ZhurTaaDruid.java
@@ -50,6 +50,7 @@ class ZhurTaaDruidAbility extends TriggeredAbilityImpl {
ZhurTaaDruidAbility() {
super(Zone.BATTLEFIELD, new DamagePlayersEffect(1, TargetController.OPPONENT));
+ setTriggerPhrase("Whenever you tap {this} for mana, ");
}
private ZhurTaaDruidAbility(final ZhurTaaDruidAbility ability) {
@@ -73,11 +74,6 @@ class ZhurTaaDruidAbility extends TriggeredAbilityImpl {
&& isControlledBy(event.getPlayerId());
}
- @Override
- public String getTriggerPhrase() {
- return "Whenever you tap {this} for mana, " ;
- }
-
@Override
public ZhurTaaDruidAbility copy() {
return new ZhurTaaDruidAbility(this);
diff --git a/Mage/src/main/java/mage/abilities/TriggeredAbility.java b/Mage/src/main/java/mage/abilities/TriggeredAbility.java
index 838f0ea69bf..f2f00e1aee6 100644
--- a/Mage/src/main/java/mage/abilities/TriggeredAbility.java
+++ b/Mage/src/main/java/mage/abilities/TriggeredAbility.java
@@ -58,6 +58,11 @@ public interface TriggeredAbility extends Ability {
GameEvent getTriggerEvent();
+ /**
+ * Don't override this. Use setTriggerPhrase instead and let the base class handle it.
+ * @return
+ */
+ @Deprecated
String getTriggerPhrase();
TriggeredAbility setTriggerPhrase(String triggerPhrase);
diff --git a/Mage/src/main/java/mage/abilities/TriggeredAbilityImpl.java b/Mage/src/main/java/mage/abilities/TriggeredAbilityImpl.java
index 13bb83085f2..f00abee48e0 100644
--- a/Mage/src/main/java/mage/abilities/TriggeredAbilityImpl.java
+++ b/Mage/src/main/java/mage/abilities/TriggeredAbilityImpl.java
@@ -26,7 +26,7 @@ public abstract class TriggeredAbilityImpl extends AbilityImpl implements Trigge
private boolean triggersOnce = false;
private boolean doOnlyOnce = false;
private GameEvent triggerEvent = null;
- private String triggerPhrase = null;
+ private String triggerPhrase = null; // TODO: This should be change to final and all constructers to set a value
public TriggeredAbilityImpl(Zone zone, Effect effect) {
this(zone, effect, false);
@@ -175,8 +175,20 @@ public abstract class TriggeredAbilityImpl extends AbilityImpl implements Trigge
@Override
public String getRule() {
- String superRule = super.getRule(true);
StringBuilder sb = new StringBuilder();
+ String prefix;
+ if (abilityWord != null) {
+ prefix = abilityWord.formatWord();
+ } else if (flavorWord != null) {
+ prefix = CardUtil.italicizeWithEmDash(flavorWord);
+ } else {
+ prefix = "";
+ }
+ sb.append(prefix);
+
+ sb.append(triggerPhrase == null ? getTriggerPhrase() : triggerPhrase);
+
+ String superRule = super.getRule(true);
if (!superRule.isEmpty()) {
String ruleLow = superRule.toLowerCase(Locale.ENGLISH);
if (isOptional()) {
@@ -213,19 +225,12 @@ public abstract class TriggeredAbilityImpl extends AbilityImpl implements Trigge
sb.append(" Do this only once each turn.");
}
}
- String prefix;
- if (abilityWord != null) {
- prefix = abilityWord.formatWord();
- } else if (flavorWord != null) {
- prefix = CardUtil.italicizeWithEmDash(flavorWord);
- } else {
- prefix = "";
- }
- return prefix + (triggerPhrase == null ? getTriggerPhrase() : triggerPhrase) + sb;
+ return sb.toString();
}
@Override
+ @Deprecated
public String getTriggerPhrase() {
return "";
}
diff --git a/Mage/src/main/java/mage/abilities/abilityword/ConstellationAbility.java b/Mage/src/main/java/mage/abilities/abilityword/ConstellationAbility.java
index 45acd06a856..064c2c0d6ae 100644
--- a/Mage/src/main/java/mage/abilities/abilityword/ConstellationAbility.java
+++ b/Mage/src/main/java/mage/abilities/abilityword/ConstellationAbility.java
@@ -32,6 +32,8 @@ public class ConstellationAbility extends TriggeredAbilityImpl {
super(Zone.BATTLEFIELD, effect, optional);
this.thisOr = thisOr;
setAbilityWord(AbilityWord.CONSTELLATION);
+ setTriggerPhrase("Whenever " + (thisOr ? "{this} or another" : "an")
+ + " enchantment enters the battlefield under your control, ");
}
public ConstellationAbility(final ConstellationAbility ability) {
@@ -57,10 +59,4 @@ public class ConstellationAbility extends TriggeredAbilityImpl {
Permanent permanent = game.getPermanent(event.getTargetId());
return permanent != null && ((thisOr && permanent.getId().equals(getSourceId())) || permanent.isEnchantment(game));
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever " + (thisOr ? "{this} or another" : "an")
- + " enchantment enters the battlefield under your control, ";
- }
}
diff --git a/Mage/src/main/java/mage/abilities/abilityword/KinshipAbility.java b/Mage/src/main/java/mage/abilities/abilityword/KinshipAbility.java
index f48a73e4336..14d5ac4f194 100644
--- a/Mage/src/main/java/mage/abilities/abilityword/KinshipAbility.java
+++ b/Mage/src/main/java/mage/abilities/abilityword/KinshipAbility.java
@@ -27,6 +27,7 @@ public class KinshipAbility extends TriggeredAbilityImpl {
public KinshipAbility(Effect kinshipEffect) {
super(Zone.BATTLEFIELD, new KinshipBaseEffect(kinshipEffect), true);
this.setAbilityWord(AbilityWord.KINSHIP);
+ setTriggerPhrase("At the beginning of your upkeep, ");
}
public KinshipAbility(final KinshipAbility ability) {
@@ -56,12 +57,6 @@ public class KinshipAbility extends TriggeredAbilityImpl {
public boolean checkTrigger(GameEvent event, Game game) {
return event.getPlayerId().equals(this.controllerId);
}
-
- @Override
- public String getTriggerPhrase() {
- return "At the beginning of your upkeep, ";
- }
-
}
class KinshipBaseEffect extends OneShotEffect {
diff --git a/Mage/src/main/java/mage/abilities/common/ActivatePlaneswalkerLoyaltyAbilityTriggeredAbility.java b/Mage/src/main/java/mage/abilities/common/ActivatePlaneswalkerLoyaltyAbilityTriggeredAbility.java
index 807d96cd7de..465c9d096f6 100644
--- a/Mage/src/main/java/mage/abilities/common/ActivatePlaneswalkerLoyaltyAbilityTriggeredAbility.java
+++ b/Mage/src/main/java/mage/abilities/common/ActivatePlaneswalkerLoyaltyAbilityTriggeredAbility.java
@@ -17,6 +17,7 @@ public class ActivatePlaneswalkerLoyaltyAbilityTriggeredAbility extends Triggere
public ActivatePlaneswalkerLoyaltyAbilityTriggeredAbility(Effect effect, SubType planeswalkerSubType) {
super(Zone.BATTLEFIELD, effect, false);
this.planeswalkerSubType = planeswalkerSubType;
+ setTriggerPhrase("Whenever you activate a loyalty ability of a " + planeswalkerSubType.getDescription() + " planeswalker, ");
}
private ActivatePlaneswalkerLoyaltyAbilityTriggeredAbility(final ActivatePlaneswalkerLoyaltyAbilityTriggeredAbility ability) {
@@ -51,11 +52,4 @@ public class ActivatePlaneswalkerLoyaltyAbilityTriggeredAbility extends Triggere
this.getEffects().setValue("stackAbility", stackAbility);
return true;
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever you activate a loyalty ability of a "
- + planeswalkerSubType.getDescription()
- + " planeswalker, " ;
- }
}
diff --git a/Mage/src/main/java/mage/abilities/common/AllyEntersBattlefieldTriggeredAbility.java b/Mage/src/main/java/mage/abilities/common/AllyEntersBattlefieldTriggeredAbility.java
index 89bc09a3281..c58ff0c0542 100644
--- a/Mage/src/main/java/mage/abilities/common/AllyEntersBattlefieldTriggeredAbility.java
+++ b/Mage/src/main/java/mage/abilities/common/AllyEntersBattlefieldTriggeredAbility.java
@@ -18,6 +18,7 @@ public class AllyEntersBattlefieldTriggeredAbility extends TriggeredAbilityImpl
public AllyEntersBattlefieldTriggeredAbility(Effect effect, boolean optional) {
super(Zone.BATTLEFIELD, effect, optional);
this.setAbilityWord(AbilityWord.RALLY);
+ setTriggerPhrase("Whenever {this} or another Ally enters the battlefield under your control, ");
}
public AllyEntersBattlefieldTriggeredAbility(AllyEntersBattlefieldTriggeredAbility ability) {
@@ -37,11 +38,6 @@ public class AllyEntersBattlefieldTriggeredAbility extends TriggeredAbilityImpl
|| (ebe.getTarget().hasSubtype(SubType.ALLY, game) && !event.getTargetId().equals(this.getSourceId())));
}
- @Override
- public String getTriggerPhrase() {
- return "Whenever {this} or another Ally enters the battlefield under your control, ";
- }
-
@Override
public AllyEntersBattlefieldTriggeredAbility copy() {
return new AllyEntersBattlefieldTriggeredAbility(this);
diff --git a/Mage/src/main/java/mage/abilities/common/AttachedToCreatureSourceTriggeredAbility.java b/Mage/src/main/java/mage/abilities/common/AttachedToCreatureSourceTriggeredAbility.java
index f3d3d570c3f..c7b5508878f 100644
--- a/Mage/src/main/java/mage/abilities/common/AttachedToCreatureSourceTriggeredAbility.java
+++ b/Mage/src/main/java/mage/abilities/common/AttachedToCreatureSourceTriggeredAbility.java
@@ -14,6 +14,7 @@ public class AttachedToCreatureSourceTriggeredAbility extends TriggeredAbilityIm
public AttachedToCreatureSourceTriggeredAbility(Effect effect, boolean optional) {
super(Zone.BATTLEFIELD, effect, optional);
+ setTriggerPhrase("As {this} becomes attached to a creature, ");
}
public AttachedToCreatureSourceTriggeredAbility(final AttachedToCreatureSourceTriggeredAbility ability) {
@@ -33,11 +34,6 @@ public class AttachedToCreatureSourceTriggeredAbility extends TriggeredAbilityIm
return attachedPermanent != null && attachedPermanent.isCreature(game);
}
- @Override
- public String getTriggerPhrase() {
- return "As {this} becomes attached to a creature, " ;
- }
-
@Override
public AttachedToCreatureSourceTriggeredAbility copy() {
return new AttachedToCreatureSourceTriggeredAbility(this);
diff --git a/Mage/src/main/java/mage/abilities/common/AttackedByCreatureTriggeredAbility.java b/Mage/src/main/java/mage/abilities/common/AttackedByCreatureTriggeredAbility.java
index 3dcd7900a39..fe37f4dc27f 100644
--- a/Mage/src/main/java/mage/abilities/common/AttackedByCreatureTriggeredAbility.java
+++ b/Mage/src/main/java/mage/abilities/common/AttackedByCreatureTriggeredAbility.java
@@ -42,6 +42,7 @@ public class AttackedByCreatureTriggeredAbility extends TriggeredAbilityImpl {
super(zone, effect, optional);
this.setTargetPointer = setTargetPointer;
this.filter = filter;
+ setTriggerPhrase("Whenever " + filter.getMessage() + " attacks you, ");
}
public AttackedByCreatureTriggeredAbility(final AttackedByCreatureTriggeredAbility ability) {
@@ -79,10 +80,4 @@ public class AttackedByCreatureTriggeredAbility extends TriggeredAbilityImpl {
public AttackedByCreatureTriggeredAbility copy() {
return new AttackedByCreatureTriggeredAbility(this);
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever " + filter.getMessage() + " attacks you, " ;
- }
-
}
diff --git a/Mage/src/main/java/mage/abilities/common/AttackingCreaturePutIntoGraveyardTriggeredAbility.java b/Mage/src/main/java/mage/abilities/common/AttackingCreaturePutIntoGraveyardTriggeredAbility.java
index 8f83c2834cf..4173003c5e5 100644
--- a/Mage/src/main/java/mage/abilities/common/AttackingCreaturePutIntoGraveyardTriggeredAbility.java
+++ b/Mage/src/main/java/mage/abilities/common/AttackingCreaturePutIntoGraveyardTriggeredAbility.java
@@ -35,6 +35,11 @@ public class AttackingCreaturePutIntoGraveyardTriggeredAbility extends Triggered
this.filterPermanent = filterPermanent;
this.onlyToControllerGraveyard = onlyToControllerGraveyard;
this.itDies = itDies;
+ setTriggerPhrase("Whenever " + filterPermanent.getMessage() +
+ (itDies ?
+ " dies, " :
+ " is put into " + (onlyToControllerGraveyard ? "your" : "a") + " graveyard from the battlefield, ")
+ );
}
private AttackingCreaturePutIntoGraveyardTriggeredAbility(final AttackingCreaturePutIntoGraveyardTriggeredAbility ability) {
@@ -111,14 +116,4 @@ public class AttackingCreaturePutIntoGraveyardTriggeredAbility extends Triggered
return false;
}
}
-
- @Override
- public String getTriggerPhrase() {
- if (itDies) {
- return "Whenever " + filterPermanent.getMessage() + " dies, ";
- }
- return "Whenever " + filterPermanent.getMessage() + " is put into " + (onlyToControllerGraveyard ? "your" : "a")
- + " graveyard from the battlefield, ";
- }
-
}
diff --git a/Mage/src/main/java/mage/abilities/common/AttacksAllTriggeredAbility.java b/Mage/src/main/java/mage/abilities/common/AttacksAllTriggeredAbility.java
index 6f6c5ee1b07..7b30c75fea4 100644
--- a/Mage/src/main/java/mage/abilities/common/AttacksAllTriggeredAbility.java
+++ b/Mage/src/main/java/mage/abilities/common/AttacksAllTriggeredAbility.java
@@ -19,8 +19,8 @@ import java.util.UUID;
*/
public class AttacksAllTriggeredAbility extends TriggeredAbilityImpl {
- protected FilterCreaturePermanent filter;
- protected boolean attacksYouOrYourPlaneswalker;
+ protected final FilterCreaturePermanent filter;
+ protected final boolean attacksYouOrYourPlaneswalker;
protected SetTargetPointer setTargetPointer;
protected boolean controller;
@@ -42,11 +42,13 @@ public class AttacksAllTriggeredAbility extends TriggeredAbilityImpl {
this.attacksYouOrYourPlaneswalker = attacksYouOrYourPlaneswalker;
this.setTargetPointer = setTargetPointer;
this.controller = controller;
+ setTriggerPhrase("Whenever " + CardUtil.addArticle(filter.getMessage()) + " attacks"
+ + (attacksYouOrYourPlaneswalker ? " you or a planeswalker you control" : "") + ", ");
}
public AttacksAllTriggeredAbility(final AttacksAllTriggeredAbility ability) {
super(ability);
- this.filter = ability.filter.copy();
+ this.filter = ability.filter; // TODO: Does this have to be a copy?
this.attacksYouOrYourPlaneswalker = ability.attacksYouOrYourPlaneswalker;
this.setTargetPointer = ability.setTargetPointer;
this.controller = ability.controller;
@@ -96,11 +98,4 @@ public class AttacksAllTriggeredAbility extends TriggeredAbilityImpl {
public AttacksAllTriggeredAbility copy() {
return new AttacksAllTriggeredAbility(this);
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever " + CardUtil.addArticle(filter.getMessage()) + " attacks"
- + (attacksYouOrYourPlaneswalker ? " you or a planeswalker you control" : "") + ", ";
- }
-
}
diff --git a/Mage/src/main/java/mage/abilities/common/AttacksAloneControlledTriggeredAbility.java b/Mage/src/main/java/mage/abilities/common/AttacksAloneControlledTriggeredAbility.java
index b82bff6f801..25eb36beab4 100644
--- a/Mage/src/main/java/mage/abilities/common/AttacksAloneControlledTriggeredAbility.java
+++ b/Mage/src/main/java/mage/abilities/common/AttacksAloneControlledTriggeredAbility.java
@@ -10,6 +10,7 @@ import mage.game.events.GameEvent;
import mage.game.permanent.Permanent;
import mage.target.targetpointer.FixedTarget;
import mage.util.CardUtil;
+import mage.util.CardUtil;
/**
* @author TheElk801
@@ -35,6 +36,7 @@ public class AttacksAloneControlledTriggeredAbility extends TriggeredAbilityImpl
super(Zone.BATTLEFIELD, effect, optional);
this.filter = filter;
this.setTargetPointer = setTargetPointer;
+ setTriggerPhrase("Whenever " + CardUtil.addArticle(filter.getMessage()) + " attacks alone, ");
}
private AttacksAloneControlledTriggeredAbility(final AttacksAloneControlledTriggeredAbility ability) {
@@ -67,9 +69,4 @@ public class AttacksAloneControlledTriggeredAbility extends TriggeredAbilityImpl
}
return true;
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever " + CardUtil.addArticle(filter.getMessage()) + " attacks alone, ";
- }
}
diff --git a/Mage/src/main/java/mage/abilities/common/AttacksAloneSourceTriggeredAbility.java b/Mage/src/main/java/mage/abilities/common/AttacksAloneSourceTriggeredAbility.java
index 293eeac4367..a8c350f2c3b 100644
--- a/Mage/src/main/java/mage/abilities/common/AttacksAloneSourceTriggeredAbility.java
+++ b/Mage/src/main/java/mage/abilities/common/AttacksAloneSourceTriggeredAbility.java
@@ -18,6 +18,7 @@ public class AttacksAloneSourceTriggeredAbility extends TriggeredAbilityImpl {
public AttacksAloneSourceTriggeredAbility(Effect effect) {
super(Zone.BATTLEFIELD, effect);
+ setTriggerPhrase("Whenever {this} attacks alone, ");
}
public AttacksAloneSourceTriggeredAbility(final AttacksAloneSourceTriggeredAbility ability) {
@@ -52,9 +53,4 @@ public class AttacksAloneSourceTriggeredAbility extends TriggeredAbilityImpl {
}
return false;
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever {this} attacks alone, " ;
- }
}
diff --git a/Mage/src/main/java/mage/abilities/common/AttacksAndIsNotBlockedTriggeredAbility.java b/Mage/src/main/java/mage/abilities/common/AttacksAndIsNotBlockedTriggeredAbility.java
index 763994a16b4..385713940a8 100644
--- a/Mage/src/main/java/mage/abilities/common/AttacksAndIsNotBlockedTriggeredAbility.java
+++ b/Mage/src/main/java/mage/abilities/common/AttacksAndIsNotBlockedTriggeredAbility.java
@@ -23,6 +23,7 @@ public class AttacksAndIsNotBlockedTriggeredAbility extends TriggeredAbilityImpl
public AttacksAndIsNotBlockedTriggeredAbility(Effect effect, boolean optional, boolean setTargetPointer) {
super(Zone.BATTLEFIELD, effect, optional);
this.setTargetPointer = setTargetPointer;
+ setTriggerPhrase("Whenever {this} attacks and isn't blocked, ");
}
public AttacksAndIsNotBlockedTriggeredAbility(final AttacksAndIsNotBlockedTriggeredAbility ability) {
@@ -52,9 +53,4 @@ public class AttacksAndIsNotBlockedTriggeredAbility extends TriggeredAbilityImpl
}
return true;
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever {this} attacks and isn't blocked, " ;
- }
}
diff --git a/Mage/src/main/java/mage/abilities/common/AttacksAttachedTriggeredAbility.java b/Mage/src/main/java/mage/abilities/common/AttacksAttachedTriggeredAbility.java
index c7ec728ab2a..a694128dbc2 100644
--- a/Mage/src/main/java/mage/abilities/common/AttacksAttachedTriggeredAbility.java
+++ b/Mage/src/main/java/mage/abilities/common/AttacksAttachedTriggeredAbility.java
@@ -19,7 +19,7 @@ import java.util.Locale;
*/
public class AttacksAttachedTriggeredAbility extends TriggeredAbilityImpl {
- private AttachmentType attachmentType;
+ private final AttachmentType attachmentType;
private final boolean setTargetPointer;
public AttacksAttachedTriggeredAbility(Effect effect) {
@@ -38,6 +38,7 @@ public class AttacksAttachedTriggeredAbility extends TriggeredAbilityImpl {
super(Zone.BATTLEFIELD, effect, optional);
this.attachmentType = attachmentType;
this.setTargetPointer = setTargetPointer;
+ setTriggerPhrase("Whenever " + attachmentType.verb().toLowerCase(Locale.ENGLISH) + " creature attacks, ");
}
public AttacksAttachedTriggeredAbility(final AttacksAttachedTriggeredAbility abiltity) {
@@ -74,11 +75,4 @@ public class AttacksAttachedTriggeredAbility extends TriggeredAbilityImpl {
}
return false;
}
-
- @Override
- public String getTriggerPhrase() {
- StringBuilder sb = new StringBuilder("Whenever ");
- sb.append(attachmentType.verb().toLowerCase(Locale.ENGLISH));
- return sb.append(" creature attacks, ").toString();
- }
}
diff --git a/Mage/src/main/java/mage/abilities/common/AttacksCreatureYouControlTriggeredAbility.java b/Mage/src/main/java/mage/abilities/common/AttacksCreatureYouControlTriggeredAbility.java
index 2f2171a2d42..a203316ba84 100644
--- a/Mage/src/main/java/mage/abilities/common/AttacksCreatureYouControlTriggeredAbility.java
+++ b/Mage/src/main/java/mage/abilities/common/AttacksCreatureYouControlTriggeredAbility.java
@@ -16,8 +16,8 @@ import mage.util.CardUtil;
*/
public class AttacksCreatureYouControlTriggeredAbility extends TriggeredAbilityImpl {
- protected FilterControlledCreaturePermanent filter;
- protected boolean setTargetPointer;
+ protected final FilterControlledCreaturePermanent filter;
+ protected final boolean setTargetPointer;
protected boolean once = false;
public AttacksCreatureYouControlTriggeredAbility(Effect effect) {
@@ -40,6 +40,7 @@ public class AttacksCreatureYouControlTriggeredAbility extends TriggeredAbilityI
super(Zone.BATTLEFIELD, effect, optional);
this.filter = filter;
this.setTargetPointer = setTargetPointer;
+ setTriggerPhrase("Whenever " + CardUtil.addArticle(filter.getMessage()) + " attacks, ");
}
public AttacksCreatureYouControlTriggeredAbility(AttacksCreatureYouControlTriggeredAbility ability) {
@@ -51,6 +52,7 @@ public class AttacksCreatureYouControlTriggeredAbility extends TriggeredAbilityI
public void setOnce(boolean once) {
this.once = once;
+ setTriggerPhrase("When" + (once ? " " : "ever ") + CardUtil.addArticle(filter.getMessage()) + " attacks, ");
}
@Override
@@ -75,9 +77,4 @@ public class AttacksCreatureYouControlTriggeredAbility extends TriggeredAbilityI
public AttacksCreatureYouControlTriggeredAbility copy() {
return new AttacksCreatureYouControlTriggeredAbility(this);
}
-
- @Override
- public String getTriggerPhrase() {
- return "When" + (once ? "" : "ever") + " " + CardUtil.addArticle(filter.getMessage()) + " attacks, " ;
- }
}
diff --git a/Mage/src/main/java/mage/abilities/common/AttacksFirstTimeTriggeredAbility.java b/Mage/src/main/java/mage/abilities/common/AttacksFirstTimeTriggeredAbility.java
index 4951a6a5d52..0a51a616397 100644
--- a/Mage/src/main/java/mage/abilities/common/AttacksFirstTimeTriggeredAbility.java
+++ b/Mage/src/main/java/mage/abilities/common/AttacksFirstTimeTriggeredAbility.java
@@ -19,6 +19,7 @@ public class AttacksFirstTimeTriggeredAbility extends TriggeredAbilityImpl {
public AttacksFirstTimeTriggeredAbility(Effect effect, boolean optional) {
super(Zone.BATTLEFIELD, effect, optional);
this.addWatcher(new AttackedThisTurnWatcher());
+ setTriggerPhrase("Whenever {this} attacks for the first time each turn, ");
}
public AttacksFirstTimeTriggeredAbility(final AttacksFirstTimeTriggeredAbility ability) {
@@ -52,11 +53,6 @@ public class AttacksFirstTimeTriggeredAbility extends TriggeredAbilityImpl {
return true;
}
- @Override
- public String getTriggerPhrase() {
- return "Whenever {this} attacks for the first time each turn, " ;
- }
-
@Override
public AttacksFirstTimeTriggeredAbility copy() {
return new AttacksFirstTimeTriggeredAbility(this);
diff --git a/Mage/src/main/java/mage/abilities/common/AttacksOpponentWithMostLifeTriggeredAbility.java b/Mage/src/main/java/mage/abilities/common/AttacksOpponentWithMostLifeTriggeredAbility.java
index cc6b6d8e426..912f3cf5fff 100644
--- a/Mage/src/main/java/mage/abilities/common/AttacksOpponentWithMostLifeTriggeredAbility.java
+++ b/Mage/src/main/java/mage/abilities/common/AttacksOpponentWithMostLifeTriggeredAbility.java
@@ -16,6 +16,7 @@ public class AttacksOpponentWithMostLifeTriggeredAbility extends TriggeredAbilit
public AttacksOpponentWithMostLifeTriggeredAbility(Effect effect, boolean optional) {
super(Zone.BATTLEFIELD, effect, optional);
+ setTriggerPhrase("Whenever this creature attacks a player, if no opponent has more life than that player, ");
}
private AttacksOpponentWithMostLifeTriggeredAbility(final AttacksOpponentWithMostLifeTriggeredAbility ability) {
@@ -49,11 +50,6 @@ public class AttacksOpponentWithMostLifeTriggeredAbility extends TriggeredAbilit
.getLife();
}
- @Override
- public String getTriggerPhrase() {
- return "Whenever this creature attacks a player, if no opponent has more life than that player, ";
- }
-
@Override
public AttacksOpponentWithMostLifeTriggeredAbility copy() {
return new AttacksOpponentWithMostLifeTriggeredAbility(this);
diff --git a/Mage/src/main/java/mage/abilities/common/AttacksOrBlocksAttachedTriggeredAbility.java b/Mage/src/main/java/mage/abilities/common/AttacksOrBlocksAttachedTriggeredAbility.java
index d30f362e213..7ef0155e7b1 100644
--- a/Mage/src/main/java/mage/abilities/common/AttacksOrBlocksAttachedTriggeredAbility.java
+++ b/Mage/src/main/java/mage/abilities/common/AttacksOrBlocksAttachedTriggeredAbility.java
@@ -17,6 +17,7 @@ public class AttacksOrBlocksAttachedTriggeredAbility extends TriggeredAbilityImp
public AttacksOrBlocksAttachedTriggeredAbility(Effect effect, AttachmentType attachmentType) {
super(Zone.BATTLEFIELD, effect);
this.attachmentType = attachmentType;
+ setTriggerPhrase("Whenever " + attachmentType.verb().toLowerCase() + " creature attacks or blocks, ");
}
public AttacksOrBlocksAttachedTriggeredAbility(final AttacksOrBlocksAttachedTriggeredAbility ability) {
@@ -40,9 +41,4 @@ public class AttacksOrBlocksAttachedTriggeredAbility extends TriggeredAbilityImp
Permanent enchantment = getSourcePermanentOrLKI(game);
return enchantment != null && event.getSourceId().equals(enchantment.getAttachedTo());
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever " + attachmentType.verb().toLowerCase() + " creature attacks or blocks, ";
- }
}
diff --git a/Mage/src/main/java/mage/abilities/common/AttacksOrBlocksTriggeredAbility.java b/Mage/src/main/java/mage/abilities/common/AttacksOrBlocksTriggeredAbility.java
index 57455cf9f81..cf7a65bd387 100644
--- a/Mage/src/main/java/mage/abilities/common/AttacksOrBlocksTriggeredAbility.java
+++ b/Mage/src/main/java/mage/abilities/common/AttacksOrBlocksTriggeredAbility.java
@@ -9,18 +9,17 @@ import mage.game.events.GameEvent;
public class AttacksOrBlocksTriggeredAbility extends TriggeredAbilityImpl {
- protected String startText = "Whenever";
-
public AttacksOrBlocksTriggeredAbility(Effect effect, boolean optional) {
super(Zone.BATTLEFIELD, effect, optional);
if (effect instanceof CreateDelayedTriggeredAbilityEffect) {
- startText = "When";
+ setTriggerPhrase("When {this} attacks or blocks, ");
+ } else {
+ setTriggerPhrase("Whenever {this} attacks or blocks, ");
}
}
public AttacksOrBlocksTriggeredAbility(final AttacksOrBlocksTriggeredAbility ability) {
super(ability);
- this.startText = ability.startText;
}
@Override
@@ -28,11 +27,6 @@ public class AttacksOrBlocksTriggeredAbility extends TriggeredAbilityImpl {
return new AttacksOrBlocksTriggeredAbility(this);
}
- @Override
- public String getTriggerPhrase() {
- return startText + " {this} attacks or blocks, " ;
- }
-
@Override
public boolean checkEventType(GameEvent event, Game game) {
return event.getType() == GameEvent.EventType.ATTACKER_DECLARED || event.getType() == GameEvent.EventType.BLOCKER_DECLARED;
diff --git a/Mage/src/main/java/mage/abilities/common/AttacksTriggeredAbility.java b/Mage/src/main/java/mage/abilities/common/AttacksTriggeredAbility.java
index e3d8baf5cdb..5ae839e522b 100644
--- a/Mage/src/main/java/mage/abilities/common/AttacksTriggeredAbility.java
+++ b/Mage/src/main/java/mage/abilities/common/AttacksTriggeredAbility.java
@@ -34,6 +34,7 @@ public class AttacksTriggeredAbility extends TriggeredAbilityImpl {
super(Zone.BATTLEFIELD, effect, optional);
this.text = text;
this.setTargetPointer = setTargetPointer;
+ setTriggerPhrase("Whenever {this} attacks, ");
}
public AttacksTriggeredAbility(final AttacksTriggeredAbility ability) {
@@ -69,11 +70,6 @@ public class AttacksTriggeredAbility extends TriggeredAbilityImpl {
return text;
}
- @Override
- public String getTriggerPhrase() {
- return "Whenever {this} attacks, ";
- }
-
@Override
public AttacksTriggeredAbility copy() {
return new AttacksTriggeredAbility(this);
diff --git a/Mage/src/main/java/mage/abilities/common/AttacksWithCreaturesTriggeredAbility.java b/Mage/src/main/java/mage/abilities/common/AttacksWithCreaturesTriggeredAbility.java
index 1578bf435f3..cedd901d4e4 100644
--- a/Mage/src/main/java/mage/abilities/common/AttacksWithCreaturesTriggeredAbility.java
+++ b/Mage/src/main/java/mage/abilities/common/AttacksWithCreaturesTriggeredAbility.java
@@ -29,6 +29,16 @@ public class AttacksWithCreaturesTriggeredAbility extends TriggeredAbilityImpl {
super(zone, effect);
this.filter = filter;
this.minAttackers = minAttackers;
+ if (minAttackers == 1) {
+ setTriggerPhrase("Whenever you attack, ");
+ } else {
+ StringBuilder sb = new StringBuilder("Whenever you attack with ");
+ sb.append(CardUtil.numberToText(minAttackers));
+ sb.append(" or more ");
+ sb.append(filter.getMessage());
+ sb.append(", ");
+ setTriggerPhrase(sb.toString());
+ }
}
public AttacksWithCreaturesTriggeredAbility(final AttacksWithCreaturesTriggeredAbility ability) {
@@ -66,17 +76,4 @@ public class AttacksWithCreaturesTriggeredAbility extends TriggeredAbilityImpl {
getEffects().setValue("attackers", attackers);
return true;
}
-
- @Override
- public String getTriggerPhrase() {
- if (minAttackers == 1) {
- return "Whenever you attack, ";
- }
- StringBuilder sb = new StringBuilder("Whenever you attack with ");
- sb.append(CardUtil.numberToText(minAttackers));
- sb.append(" or more ");
- sb.append(filter.getMessage());
- sb.append(", ");
- return sb.toString();
- }
}
diff --git a/Mage/src/main/java/mage/abilities/common/AuraAttachedTriggeredAbility.java b/Mage/src/main/java/mage/abilities/common/AuraAttachedTriggeredAbility.java
index 5903f0f5381..60a344d187a 100644
--- a/Mage/src/main/java/mage/abilities/common/AuraAttachedTriggeredAbility.java
+++ b/Mage/src/main/java/mage/abilities/common/AuraAttachedTriggeredAbility.java
@@ -17,6 +17,7 @@ public class AuraAttachedTriggeredAbility extends TriggeredAbilityImpl {
public AuraAttachedTriggeredAbility(Effect effect, boolean optional) {
super(Zone.BATTLEFIELD, effect, optional);
+ setTriggerPhrase("Whenever an Aura becomes attached to {this}, ");
}
public AuraAttachedTriggeredAbility(final AuraAttachedTriggeredAbility ability) {
@@ -39,11 +40,6 @@ public class AuraAttachedTriggeredAbility extends TriggeredAbilityImpl {
return false;
}
- @Override
- public String getTriggerPhrase() {
- return "Whenever an Aura becomes attached to {this}, " ;
- }
-
@Override
public AuraAttachedTriggeredAbility copy() {
return new AuraAttachedTriggeredAbility(this);
diff --git a/Mage/src/main/java/mage/abilities/common/BecomesBlockedAllTriggeredAbility.java b/Mage/src/main/java/mage/abilities/common/BecomesBlockedAllTriggeredAbility.java
index ce84e8e227d..6618672c253 100644
--- a/Mage/src/main/java/mage/abilities/common/BecomesBlockedAllTriggeredAbility.java
+++ b/Mage/src/main/java/mage/abilities/common/BecomesBlockedAllTriggeredAbility.java
@@ -26,6 +26,7 @@ public class BecomesBlockedAllTriggeredAbility extends TriggeredAbilityImpl {
super(Zone.BATTLEFIELD, effect, optional);
this.filter = filter;
this.setTargetPointer = setTargetPointer;
+ setTriggerPhrase("Whenever " + filter.getMessage() + " becomes blocked, ");
}
public BecomesBlockedAllTriggeredAbility(final BecomesBlockedAllTriggeredAbility ability) {
@@ -51,11 +52,6 @@ public class BecomesBlockedAllTriggeredAbility extends TriggeredAbilityImpl {
return false;
}
- @Override
- public String getTriggerPhrase() {
- return "Whenever " + filter.getMessage() + " becomes blocked, " ;
- }
-
@Override
public BecomesBlockedAllTriggeredAbility copy() {
return new BecomesBlockedAllTriggeredAbility(this);
diff --git a/Mage/src/main/java/mage/abilities/common/BecomesBlockedAttachedTriggeredAbility.java b/Mage/src/main/java/mage/abilities/common/BecomesBlockedAttachedTriggeredAbility.java
index a06c626aa0e..da3dad5fefa 100644
--- a/Mage/src/main/java/mage/abilities/common/BecomesBlockedAttachedTriggeredAbility.java
+++ b/Mage/src/main/java/mage/abilities/common/BecomesBlockedAttachedTriggeredAbility.java
@@ -25,6 +25,7 @@ public class BecomesBlockedAttachedTriggeredAbility extends TriggeredAbilityImpl
public BecomesBlockedAttachedTriggeredAbility(Effect effect, boolean optional, SetTargetPointer setTargetPointer) {
super(Zone.BATTLEFIELD, effect, optional);
this.setTargetPointer = setTargetPointer;
+ setTriggerPhrase("Whenever enchanted creature becomes blocked, ");
}
public BecomesBlockedAttachedTriggeredAbility(final BecomesBlockedAttachedTriggeredAbility ability) {
@@ -58,11 +59,6 @@ public class BecomesBlockedAttachedTriggeredAbility extends TriggeredAbilityImpl
return true;
}
- @Override
- public String getTriggerPhrase() {
- return "Whenever enchanted creature becomes blocked, ";
- }
-
@Override
public BecomesBlockedAttachedTriggeredAbility copy() {
return new BecomesBlockedAttachedTriggeredAbility(this);
diff --git a/Mage/src/main/java/mage/abilities/common/BecomesBlockedByCreatureTriggeredAbility.java b/Mage/src/main/java/mage/abilities/common/BecomesBlockedByCreatureTriggeredAbility.java
index 0fb76640ff3..cd33740e025 100644
--- a/Mage/src/main/java/mage/abilities/common/BecomesBlockedByCreatureTriggeredAbility.java
+++ b/Mage/src/main/java/mage/abilities/common/BecomesBlockedByCreatureTriggeredAbility.java
@@ -24,6 +24,7 @@ public class BecomesBlockedByCreatureTriggeredAbility extends TriggeredAbilityIm
public BecomesBlockedByCreatureTriggeredAbility(Effect effect, FilterCreaturePermanent filter, boolean optional) {
super(Zone.BATTLEFIELD, effect, optional);
this.filter = filter;
+ setTriggerPhrase("Whenever {this} becomes blocked by " + CardUtil.addArticle(filter.getMessage()) + ", ");
}
public BecomesBlockedByCreatureTriggeredAbility(final BecomesBlockedByCreatureTriggeredAbility ability) {
@@ -48,11 +49,6 @@ public class BecomesBlockedByCreatureTriggeredAbility extends TriggeredAbilityIm
return true;
}
- @Override
- public String getTriggerPhrase() {
- return "Whenever {this} becomes blocked by " + CardUtil.addArticle(filter.getMessage()) + ", ";
- }
-
@Override
public BecomesBlockedByCreatureTriggeredAbility copy() {
return new BecomesBlockedByCreatureTriggeredAbility(this);
diff --git a/Mage/src/main/java/mage/abilities/common/BecomesBlockedSourceTriggeredAbility.java b/Mage/src/main/java/mage/abilities/common/BecomesBlockedSourceTriggeredAbility.java
index e09abd8e27b..b5a30db771a 100644
--- a/Mage/src/main/java/mage/abilities/common/BecomesBlockedSourceTriggeredAbility.java
+++ b/Mage/src/main/java/mage/abilities/common/BecomesBlockedSourceTriggeredAbility.java
@@ -22,6 +22,7 @@ public class BecomesBlockedSourceTriggeredAbility extends TriggeredAbilityImpl {
public BecomesBlockedSourceTriggeredAbility(Effect effect, boolean optional, boolean setTargetPointer) {
super(Zone.BATTLEFIELD, effect, optional);
this.setTargetPointer = setTargetPointer;
+ setTriggerPhrase("Whenever {this} becomes blocked, ");
}
public BecomesBlockedSourceTriggeredAbility(final BecomesBlockedSourceTriggeredAbility ability) {
@@ -44,11 +45,6 @@ public class BecomesBlockedSourceTriggeredAbility extends TriggeredAbilityImpl {
return event.getTargetId().equals(this.getSourceId());
}
- @Override
- public String getTriggerPhrase() {
- return "Whenever {this} becomes blocked, " ;
- }
-
@Override
public BecomesBlockedSourceTriggeredAbility copy() {
return new BecomesBlockedSourceTriggeredAbility(this);
diff --git a/Mage/src/main/java/mage/abilities/common/BecomesClassLevelTriggeredAbility.java b/Mage/src/main/java/mage/abilities/common/BecomesClassLevelTriggeredAbility.java
index 19535e2a87b..1a302bd4e14 100644
--- a/Mage/src/main/java/mage/abilities/common/BecomesClassLevelTriggeredAbility.java
+++ b/Mage/src/main/java/mage/abilities/common/BecomesClassLevelTriggeredAbility.java
@@ -16,6 +16,7 @@ public class BecomesClassLevelTriggeredAbility extends TriggeredAbilityImpl {
public BecomesClassLevelTriggeredAbility(Effect effect, int level) {
super(Zone.BATTLEFIELD, effect);
this.level = level;
+ setTriggerPhrase("When this Class becomes level " + level + ", " );
}
private BecomesClassLevelTriggeredAbility(final BecomesClassLevelTriggeredAbility ability) {
@@ -37,9 +38,4 @@ public class BecomesClassLevelTriggeredAbility extends TriggeredAbilityImpl {
public BecomesClassLevelTriggeredAbility copy() {
return new BecomesClassLevelTriggeredAbility(this);
}
-
- @Override
- public String getTriggerPhrase() {
- return "When this Class becomes level " + level + ", " ;
- }
}
diff --git a/Mage/src/main/java/mage/abilities/common/BecomesDayOrNightTriggeredAbility.java b/Mage/src/main/java/mage/abilities/common/BecomesDayOrNightTriggeredAbility.java
index 237805acbb7..68d9074dd3d 100644
--- a/Mage/src/main/java/mage/abilities/common/BecomesDayOrNightTriggeredAbility.java
+++ b/Mage/src/main/java/mage/abilities/common/BecomesDayOrNightTriggeredAbility.java
@@ -17,6 +17,7 @@ public class BecomesDayOrNightTriggeredAbility extends TriggeredAbilityImpl {
public BecomesDayOrNightTriggeredAbility(Zone zone, Effect effect) {
super(zone, effect, false);
+ setTriggerPhrase("Whenever day becomes night or night becomes day, ");
}
private BecomesDayOrNightTriggeredAbility(final BecomesDayOrNightTriggeredAbility ability) {
@@ -37,9 +38,4 @@ public class BecomesDayOrNightTriggeredAbility extends TriggeredAbilityImpl {
public BecomesDayOrNightTriggeredAbility copy() {
return new BecomesDayOrNightTriggeredAbility(this);
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever day becomes night or night becomes day, ";
- }
}
diff --git a/Mage/src/main/java/mage/abilities/common/BecomesExertSourceTriggeredAbility.java b/Mage/src/main/java/mage/abilities/common/BecomesExertSourceTriggeredAbility.java
index c162a171279..ee901f9819f 100644
--- a/Mage/src/main/java/mage/abilities/common/BecomesExertSourceTriggeredAbility.java
+++ b/Mage/src/main/java/mage/abilities/common/BecomesExertSourceTriggeredAbility.java
@@ -15,6 +15,7 @@ public class BecomesExertSourceTriggeredAbility extends TriggeredAbilityImpl {
public BecomesExertSourceTriggeredAbility(Effect effect) {
super(Zone.BATTLEFIELD, effect, false);
+ setTriggerPhrase("When {this} becomes exerted, ");
}
public BecomesExertSourceTriggeredAbility(final BecomesExertSourceTriggeredAbility ability) {
@@ -35,9 +36,4 @@ public class BecomesExertSourceTriggeredAbility extends TriggeredAbilityImpl {
public boolean checkTrigger(GameEvent event, Game game) {
return event.getTargetId().equals(this.getSourceId());
}
-
- @Override
- public String getTriggerPhrase() {
- return "When {this} becomes exerted, " ;
- }
}
diff --git a/Mage/src/main/java/mage/abilities/common/BecomesMonstrousSourceTriggeredAbility.java b/Mage/src/main/java/mage/abilities/common/BecomesMonstrousSourceTriggeredAbility.java
index 42c7bc44cfb..5c324bceec8 100644
--- a/Mage/src/main/java/mage/abilities/common/BecomesMonstrousSourceTriggeredAbility.java
+++ b/Mage/src/main/java/mage/abilities/common/BecomesMonstrousSourceTriggeredAbility.java
@@ -17,6 +17,7 @@ public class BecomesMonstrousSourceTriggeredAbility extends TriggeredAbilityImpl
public BecomesMonstrousSourceTriggeredAbility(Effect effect, boolean optional) {
super(Zone.BATTLEFIELD, effect, optional);
+ setTriggerPhrase("When {this} becomes monstrous, ");
}
public BecomesMonstrousSourceTriggeredAbility(Effect effect) {
@@ -50,9 +51,4 @@ public class BecomesMonstrousSourceTriggeredAbility extends TriggeredAbilityImpl
public int getMonstrosityValue() {
return monstrosityValue;
}
-
- @Override
- public String getTriggerPhrase() {
- return "When {this} becomes monstrous, " ;
- }
}
diff --git a/Mage/src/main/java/mage/abilities/common/BecomesMonstrousTriggeredAbility.java b/Mage/src/main/java/mage/abilities/common/BecomesMonstrousTriggeredAbility.java
index df51a7a3c21..ef22676f1dd 100644
--- a/Mage/src/main/java/mage/abilities/common/BecomesMonstrousTriggeredAbility.java
+++ b/Mage/src/main/java/mage/abilities/common/BecomesMonstrousTriggeredAbility.java
@@ -16,6 +16,7 @@ public class BecomesMonstrousTriggeredAbility extends TriggeredAbilityImpl {
public BecomesMonstrousTriggeredAbility(Effect effect) {
super(Zone.BATTLEFIELD, effect, false);
+ setTriggerPhrase("Whenever a creature you control becomes monstrous, ");
}
public BecomesMonstrousTriggeredAbility(final BecomesMonstrousTriggeredAbility ability) {
@@ -42,9 +43,4 @@ public class BecomesMonstrousTriggeredAbility extends TriggeredAbilityImpl {
}
return false;
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever a creature you control becomes monstrous, " ;
- }
}
diff --git a/Mage/src/main/java/mage/abilities/common/BecomesRenownedSourceTriggeredAbility.java b/Mage/src/main/java/mage/abilities/common/BecomesRenownedSourceTriggeredAbility.java
index 0474f4c1a04..19dba93dd3f 100644
--- a/Mage/src/main/java/mage/abilities/common/BecomesRenownedSourceTriggeredAbility.java
+++ b/Mage/src/main/java/mage/abilities/common/BecomesRenownedSourceTriggeredAbility.java
@@ -16,6 +16,7 @@ public class BecomesRenownedSourceTriggeredAbility extends TriggeredAbilityImpl
public BecomesRenownedSourceTriggeredAbility(Effect effect, boolean optional) {
super(Zone.BATTLEFIELD, effect, optional);
+ setTriggerPhrase("When {this} becomes renowned, ");
}
public BecomesRenownedSourceTriggeredAbility(final BecomesRenownedSourceTriggeredAbility ability) {
@@ -45,9 +46,4 @@ public class BecomesRenownedSourceTriggeredAbility extends TriggeredAbilityImpl
public int getRenownValue() {
return renownValue;
}
-
- @Override
- public String getTriggerPhrase() {
- return "When {this} becomes renowned, " ;
- }
}
diff --git a/Mage/src/main/java/mage/abilities/common/BecomesTappedAttachedTriggeredAbility.java b/Mage/src/main/java/mage/abilities/common/BecomesTappedAttachedTriggeredAbility.java
index d46697ade2a..0f753546f76 100644
--- a/Mage/src/main/java/mage/abilities/common/BecomesTappedAttachedTriggeredAbility.java
+++ b/Mage/src/main/java/mage/abilities/common/BecomesTappedAttachedTriggeredAbility.java
@@ -14,20 +14,17 @@ import mage.game.permanent.Permanent;
*/
public class BecomesTappedAttachedTriggeredAbility extends TriggeredAbilityImpl {
- private final String description;
-
public BecomesTappedAttachedTriggeredAbility(Effect effect, String description) {
this(effect, description, false);
}
public BecomesTappedAttachedTriggeredAbility(Effect effect, String description, boolean isOptional) {
super(Zone.BATTLEFIELD, effect, isOptional);
- this.description = description;
+ setTriggerPhrase("Whenever " + description + " becomes tapped, ");
}
public BecomesTappedAttachedTriggeredAbility(final BecomesTappedAttachedTriggeredAbility ability) {
super(ability);
- this.description = ability.description;
}
@Override
@@ -49,9 +46,4 @@ public class BecomesTappedAttachedTriggeredAbility extends TriggeredAbilityImpl
Permanent enchanted = game.getPermanent(enchantment.getAttachedTo());
return enchanted != null && event.getTargetId().equals(enchanted.getId());
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever " + description + " becomes tapped, " ;
- }
}
diff --git a/Mage/src/main/java/mage/abilities/common/BecomesTappedSourceTriggeredAbility.java b/Mage/src/main/java/mage/abilities/common/BecomesTappedSourceTriggeredAbility.java
index 3d89c330f21..eb5d6174f88 100644
--- a/Mage/src/main/java/mage/abilities/common/BecomesTappedSourceTriggeredAbility.java
+++ b/Mage/src/main/java/mage/abilities/common/BecomesTappedSourceTriggeredAbility.java
@@ -19,6 +19,7 @@ public class BecomesTappedSourceTriggeredAbility extends TriggeredAbilityImpl {
public BecomesTappedSourceTriggeredAbility(Effect effect) {
super(Zone.BATTLEFIELD, effect);
+ setTriggerPhrase("Whenever {this} becomes tapped, ");
}
public BecomesTappedSourceTriggeredAbility(final BecomesTappedSourceTriggeredAbility ability) {
@@ -39,9 +40,4 @@ public class BecomesTappedSourceTriggeredAbility extends TriggeredAbilityImpl {
public boolean checkTrigger(GameEvent event, Game game) {
return event.getTargetId().equals(sourceId);
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever {this} becomes tapped, " ;
- }
}
diff --git a/Mage/src/main/java/mage/abilities/common/BecomesTappedTriggeredAbility.java b/Mage/src/main/java/mage/abilities/common/BecomesTappedTriggeredAbility.java
index 856121d89b8..eae7941cb46 100644
--- a/Mage/src/main/java/mage/abilities/common/BecomesTappedTriggeredAbility.java
+++ b/Mage/src/main/java/mage/abilities/common/BecomesTappedTriggeredAbility.java
@@ -35,6 +35,7 @@ public class BecomesTappedTriggeredAbility extends TriggeredAbilityImpl {
super(zone, effect, optional);
this.filter = filter;
this.setTargetPointer = setTargetPointer;
+ setTriggerPhrase("Whenever " + CardUtil.addArticle(filter.getMessage()) + " becomes tapped, ");
}
public BecomesTappedTriggeredAbility(final BecomesTappedTriggeredAbility ability) {
@@ -64,9 +65,4 @@ public class BecomesTappedTriggeredAbility extends TriggeredAbilityImpl {
}
return true;
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever " + CardUtil.addArticle(filter.getMessage()) + " becomes tapped, ";
- }
}
diff --git a/Mage/src/main/java/mage/abilities/common/BecomesTargetAttachedTriggeredAbility.java b/Mage/src/main/java/mage/abilities/common/BecomesTargetAttachedTriggeredAbility.java
index 79d1fb27952..fd0d6bdb9c1 100644
--- a/Mage/src/main/java/mage/abilities/common/BecomesTargetAttachedTriggeredAbility.java
+++ b/Mage/src/main/java/mage/abilities/common/BecomesTargetAttachedTriggeredAbility.java
@@ -17,7 +17,6 @@ import mage.game.permanent.Permanent;
public class BecomesTargetAttachedTriggeredAbility extends TriggeredAbilityImpl {
private final FilterStackObject filter;
- private final String enchantType;
public BecomesTargetAttachedTriggeredAbility(Effect effect) {
this(effect, StaticFilters.FILTER_SPELL_OR_ABILITY_A);
@@ -30,13 +29,12 @@ public class BecomesTargetAttachedTriggeredAbility extends TriggeredAbilityImpl
public BecomesTargetAttachedTriggeredAbility(Effect effect, FilterStackObject filter, String enchantType) {
super(Zone.BATTLEFIELD, effect);
this.filter = filter.copy();
- this.enchantType = enchantType;
+ setTriggerPhrase("When enchanted " + enchantType + " becomes the target of " + filter.getMessage() + ", ");
}
public BecomesTargetAttachedTriggeredAbility(final BecomesTargetAttachedTriggeredAbility ability) {
super(ability);
this.filter = ability.filter.copy();
- this.enchantType = ability.enchantType;
}
@Override
@@ -61,9 +59,4 @@ public class BecomesTargetAttachedTriggeredAbility extends TriggeredAbilityImpl
}
return false;
}
-
- @Override
- public String getTriggerPhrase() {
- return "When enchanted " + enchantType + " becomes the target of " + filter.getMessage() + ", ";
- }
}
diff --git a/Mage/src/main/java/mage/abilities/common/BecomesTargetControlledPermanentTriggeredAbility.java b/Mage/src/main/java/mage/abilities/common/BecomesTargetControlledPermanentTriggeredAbility.java
index b6fcfafdeeb..980dadc3b09 100644
--- a/Mage/src/main/java/mage/abilities/common/BecomesTargetControlledPermanentTriggeredAbility.java
+++ b/Mage/src/main/java/mage/abilities/common/BecomesTargetControlledPermanentTriggeredAbility.java
@@ -18,6 +18,7 @@ public class BecomesTargetControlledPermanentTriggeredAbility extends TriggeredA
public BecomesTargetControlledPermanentTriggeredAbility(Effect effect, boolean optional) {
super(Zone.BATTLEFIELD, effect, optional);
+ setTriggerPhrase("Whenever a permanent you control becomes the target of a spell or ability an opponent controls, ");
}
private BecomesTargetControlledPermanentTriggeredAbility(final BecomesTargetControlledPermanentTriggeredAbility ability) {
@@ -69,9 +70,4 @@ public class BecomesTargetControlledPermanentTriggeredAbility extends TriggeredA
game.getState().setValue("targetMap" + this.id, targetMap);
return true;
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever a permanent you control becomes the target of a spell or ability an opponent controls, " ;
- }
}
diff --git a/Mage/src/main/java/mage/abilities/common/BecomesTargetControllerSpellTriggeredAbility.java b/Mage/src/main/java/mage/abilities/common/BecomesTargetControllerSpellTriggeredAbility.java
index c5d48bb11b3..e8c5100778d 100644
--- a/Mage/src/main/java/mage/abilities/common/BecomesTargetControllerSpellTriggeredAbility.java
+++ b/Mage/src/main/java/mage/abilities/common/BecomesTargetControllerSpellTriggeredAbility.java
@@ -16,6 +16,7 @@ public class BecomesTargetControllerSpellTriggeredAbility extends TriggeredAbili
public BecomesTargetControllerSpellTriggeredAbility(Effect effect, boolean optional) {
super(Zone.BATTLEFIELD, effect, optional);
+ setTriggerPhrase("When you become the target of a spell, ");
}
public BecomesTargetControllerSpellTriggeredAbility(final BecomesTargetControllerSpellTriggeredAbility ability) {
@@ -41,9 +42,4 @@ public class BecomesTargetControllerSpellTriggeredAbility extends TriggeredAbili
}
return false;
}
-
- @Override
- public String getTriggerPhrase() {
- return "When you become the target of a spell, " ;
- }
}
diff --git a/Mage/src/main/java/mage/abilities/common/BecomesTargetTriggeredAbility.java b/Mage/src/main/java/mage/abilities/common/BecomesTargetTriggeredAbility.java
index da8d10afcd0..de12cb4bc74 100644
--- a/Mage/src/main/java/mage/abilities/common/BecomesTargetTriggeredAbility.java
+++ b/Mage/src/main/java/mage/abilities/common/BecomesTargetTriggeredAbility.java
@@ -25,6 +25,7 @@ public class BecomesTargetTriggeredAbility extends TriggeredAbilityImpl {
public BecomesTargetTriggeredAbility(Effect effect, FilterStackObject filter) {
this(effect, filter, SetTargetPointer.NONE);
+ setTriggerPhrase("When {this} becomes the target of " + filter.getMessage() + ", ");
}
public BecomesTargetTriggeredAbility(Effect effect, FilterStackObject filter, SetTargetPointer setTargetPointer) {
@@ -76,9 +77,4 @@ public class BecomesTargetTriggeredAbility extends TriggeredAbilityImpl {
}
return true;
}
-
- @Override
- public String getTriggerPhrase() {
- return "When {this} becomes the target of " + filter.getMessage() + ", " ;
- }
}
diff --git a/Mage/src/main/java/mage/abilities/common/BeginningOfCombatTriggeredAbility.java b/Mage/src/main/java/mage/abilities/common/BeginningOfCombatTriggeredAbility.java
index 9165fc03c9e..68e9740781a 100644
--- a/Mage/src/main/java/mage/abilities/common/BeginningOfCombatTriggeredAbility.java
+++ b/Mage/src/main/java/mage/abilities/common/BeginningOfCombatTriggeredAbility.java
@@ -21,6 +21,7 @@ public class BeginningOfCombatTriggeredAbility extends TriggeredAbilityImpl {
super(zone, effect, isOptional);
this.targetController = targetController;
this.setTargetPointer = setTargetPointer;
+ setTriggerPhrase(generateTriggerPhrase());
}
public BeginningOfCombatTriggeredAbility(final BeginningOfCombatTriggeredAbility ability) {
@@ -74,8 +75,7 @@ public class BeginningOfCombatTriggeredAbility extends TriggeredAbilityImpl {
return false;
}
- @Override
- public String getTriggerPhrase() {
+ private String generateTriggerPhrase() {
switch (targetController) {
case YOU:
return "At the beginning of combat on your turn, " + generateZoneString();
diff --git a/Mage/src/main/java/mage/abilities/common/BeginningOfDrawTriggeredAbility.java b/Mage/src/main/java/mage/abilities/common/BeginningOfDrawTriggeredAbility.java
index e5cd4e62640..b0fde930d9c 100644
--- a/Mage/src/main/java/mage/abilities/common/BeginningOfDrawTriggeredAbility.java
+++ b/Mage/src/main/java/mage/abilities/common/BeginningOfDrawTriggeredAbility.java
@@ -28,6 +28,7 @@ public class BeginningOfDrawTriggeredAbility extends TriggeredAbilityImpl {
public BeginningOfDrawTriggeredAbility(Zone zone, Effect effect, TargetController targetController, boolean isOptional) {
super(zone, effect, isOptional);
this.targetController = targetController;
+ setTriggerPhrase(generateTriggerPhrase());
}
public BeginningOfDrawTriggeredAbility(final BeginningOfDrawTriggeredAbility ability) {
@@ -101,8 +102,7 @@ public class BeginningOfDrawTriggeredAbility extends TriggeredAbilityImpl {
return false;
}
- @Override
- public String getTriggerPhrase() {
+ private String generateTriggerPhrase() {
switch (targetController) {
case ACTIVE:
case YOU:
diff --git a/Mage/src/main/java/mage/abilities/common/BeginningOfEndStepTriggeredAbility.java b/Mage/src/main/java/mage/abilities/common/BeginningOfEndStepTriggeredAbility.java
index 87109b97466..6e76175cbc0 100644
--- a/Mage/src/main/java/mage/abilities/common/BeginningOfEndStepTriggeredAbility.java
+++ b/Mage/src/main/java/mage/abilities/common/BeginningOfEndStepTriggeredAbility.java
@@ -27,6 +27,7 @@ public class BeginningOfEndStepTriggeredAbility extends TriggeredAbilityImpl {
super(zone, effect, isOptional);
this.targetController = targetController;
this.interveningIfClauseCondition = interveningIfClauseCondition;
+ setTriggerPhrase(generateTriggerPhrase());
}
public BeginningOfEndStepTriggeredAbility(final BeginningOfEndStepTriggeredAbility ability) {
@@ -103,8 +104,7 @@ public class BeginningOfEndStepTriggeredAbility extends TriggeredAbilityImpl {
return true;
}
- @Override
- public String getTriggerPhrase() {
+ private String generateTriggerPhrase() {
switch (targetController) {
case YOU:
return "At the beginning of your end step, " + generateConditionString();
@@ -134,7 +134,7 @@ public class BeginningOfEndStepTriggeredAbility extends TriggeredAbilityImpl {
}
String clauseText = interveningIfClauseCondition.toString();
if (clauseText.startsWith("if")) {
- //Fixes punctuation on multiple sentence if-then construction
+ // Fixes punctuation on multiple sentence if-then construction
// see -- Colfenor's Urn
if (clauseText.endsWith(".")) {
return clauseText + " ";
diff --git a/Mage/src/main/java/mage/abilities/common/BeginningOfPostCombatMainTriggeredAbility.java b/Mage/src/main/java/mage/abilities/common/BeginningOfPostCombatMainTriggeredAbility.java
index e887477c882..e5f1ec59719 100644
--- a/Mage/src/main/java/mage/abilities/common/BeginningOfPostCombatMainTriggeredAbility.java
+++ b/Mage/src/main/java/mage/abilities/common/BeginningOfPostCombatMainTriggeredAbility.java
@@ -24,6 +24,7 @@ public class BeginningOfPostCombatMainTriggeredAbility extends TriggeredAbilityI
super(zone, effect, isOptional);
this.targetController = targetController;
this.setTargetPointer = setTargetPointer;
+ setTriggerPhrase(generateTriggerPhrase());
}
public BeginningOfPostCombatMainTriggeredAbility(final BeginningOfPostCombatMainTriggeredAbility ability) {
@@ -76,8 +77,7 @@ public class BeginningOfPostCombatMainTriggeredAbility extends TriggeredAbilityI
return false;
}
- @Override
- public String getTriggerPhrase() {
+ private String generateTriggerPhrase() {
switch (targetController) {
case YOU:
return "At the beginning of your postcombat main phase, " + generateZoneString();
diff --git a/Mage/src/main/java/mage/abilities/common/BeginningOfPreCombatMainTriggeredAbility.java b/Mage/src/main/java/mage/abilities/common/BeginningOfPreCombatMainTriggeredAbility.java
index d71962fe6dc..8001373ad2a 100644
--- a/Mage/src/main/java/mage/abilities/common/BeginningOfPreCombatMainTriggeredAbility.java
+++ b/Mage/src/main/java/mage/abilities/common/BeginningOfPreCombatMainTriggeredAbility.java
@@ -29,6 +29,7 @@ public class BeginningOfPreCombatMainTriggeredAbility extends TriggeredAbilityIm
super(zone, effect, isOptional);
this.targetController = targetController;
this.setTargetPointer = setTargetPointer;
+ setTriggerPhrase(generateTriggerPhrase());
}
public BeginningOfPreCombatMainTriggeredAbility(final BeginningOfPreCombatMainTriggeredAbility ability) {
@@ -81,8 +82,7 @@ public class BeginningOfPreCombatMainTriggeredAbility extends TriggeredAbilityIm
return false;
}
- @Override
- public String getTriggerPhrase() {
+ private String generateTriggerPhrase() {
switch (targetController) {
case YOU:
return "At the beginning of your precombat main phase, " + generateZoneString();
diff --git a/Mage/src/main/java/mage/abilities/common/BeginningOfUpkeepTriggeredAbility.java b/Mage/src/main/java/mage/abilities/common/BeginningOfUpkeepTriggeredAbility.java
index 7f49922366e..1d00f80c270 100644
--- a/Mage/src/main/java/mage/abilities/common/BeginningOfUpkeepTriggeredAbility.java
+++ b/Mage/src/main/java/mage/abilities/common/BeginningOfUpkeepTriggeredAbility.java
@@ -35,6 +35,7 @@ public class BeginningOfUpkeepTriggeredAbility extends TriggeredAbilityImpl {
this.targetController = targetController;
this.setTargetPointer = setTargetPointer;
this.ruleTrigger = ruleTrigger;
+ setTriggerPhrase(generateTriggerPhrase());
}
public BeginningOfUpkeepTriggeredAbility(final BeginningOfUpkeepTriggeredAbility ability) {
@@ -111,8 +112,7 @@ public class BeginningOfUpkeepTriggeredAbility extends TriggeredAbilityImpl {
return false;
}
- @Override
- public String getTriggerPhrase() {
+ private String generateTriggerPhrase() {
if (ruleTrigger != null && !ruleTrigger.isEmpty()) {
return ruleTrigger;
}
diff --git a/Mage/src/main/java/mage/abilities/common/BeginningOfYourEndStepTriggeredAbility.java b/Mage/src/main/java/mage/abilities/common/BeginningOfYourEndStepTriggeredAbility.java
index 88ec6574e6d..3e6a6ed9f9f 100644
--- a/Mage/src/main/java/mage/abilities/common/BeginningOfYourEndStepTriggeredAbility.java
+++ b/Mage/src/main/java/mage/abilities/common/BeginningOfYourEndStepTriggeredAbility.java
@@ -13,18 +13,18 @@ import mage.game.events.GameEvent;
*/
public class BeginningOfYourEndStepTriggeredAbility extends TriggeredAbilityImpl {
public BeginningOfYourEndStepTriggeredAbility(Effect effect, boolean optional) {
- super(Zone.BATTLEFIELD, effect, optional);
+ this(Zone.BATTLEFIELD, effect, optional);
}
public BeginningOfYourEndStepTriggeredAbility(Zone zone, Effect effect, boolean optional) {
super(zone, effect, optional);
+ setTriggerPhrase("At the beginning of your end step, ");
}
public BeginningOfYourEndStepTriggeredAbility(final BeginningOfYourEndStepTriggeredAbility ability) {
super(ability);
}
-
@Override
public BeginningOfYourEndStepTriggeredAbility copy() {
return new BeginningOfYourEndStepTriggeredAbility(this);
@@ -39,9 +39,4 @@ public class BeginningOfYourEndStepTriggeredAbility extends TriggeredAbilityImpl
public boolean checkTrigger(GameEvent event, Game game) {
return event.getPlayerId().equals(this.controllerId);
}
-
- @Override
- public String getTriggerPhrase() {
- return "At the beginning of your end step, ";
- }
}
diff --git a/Mage/src/main/java/mage/abilities/common/BlocksAttachedTriggeredAbility.java b/Mage/src/main/java/mage/abilities/common/BlocksAttachedTriggeredAbility.java
index ee1a7a5883e..b9df101caf5 100644
--- a/Mage/src/main/java/mage/abilities/common/BlocksAttachedTriggeredAbility.java
+++ b/Mage/src/main/java/mage/abilities/common/BlocksAttachedTriggeredAbility.java
@@ -15,31 +15,28 @@ import mage.target.targetpointer.FixedTarget;
*/
public class BlocksAttachedTriggeredAbility extends TriggeredAbilityImpl {
- private boolean setFixedTargetPointer;
- private String attachedDescription;
- private boolean setFixedTargetPointerToBlocked;
+ private final boolean setFixedTargetPointer;
+ private final boolean setFixedTargetPointerToBlocked;
public BlocksAttachedTriggeredAbility(Effect effect, String attachedDescription, boolean optional) {
this(effect, attachedDescription, optional, false);
}
public BlocksAttachedTriggeredAbility(Effect effect, String attachedDescription, boolean optional, boolean setFixedTargetPointer) {
- super(Zone.BATTLEFIELD, effect, optional);
- this.setFixedTargetPointer = setFixedTargetPointer;
- this.attachedDescription = attachedDescription;
+ this(effect, attachedDescription, optional, setFixedTargetPointer, false);
}
public BlocksAttachedTriggeredAbility(Effect effect, String attachedDescription, boolean optional, boolean setFixedTargetPointer, boolean setFixedTargetPointerToBlocked) {
super(Zone.BATTLEFIELD, effect, optional);
this.setFixedTargetPointer = setFixedTargetPointer;
- this.attachedDescription = attachedDescription;
this.setFixedTargetPointerToBlocked = setFixedTargetPointerToBlocked;
+ setTriggerPhrase("Whenever " + attachedDescription + " creature blocks" + (setFixedTargetPointerToBlocked ? " a creature, " : ", "));
}
public BlocksAttachedTriggeredAbility(final BlocksAttachedTriggeredAbility ability) {
super(ability);
this.setFixedTargetPointer = ability.setFixedTargetPointer;
- this.attachedDescription = ability.attachedDescription;
+ this.setFixedTargetPointerToBlocked = ability.setFixedTargetPointerToBlocked;
}
@Override
@@ -70,9 +67,4 @@ public class BlocksAttachedTriggeredAbility extends TriggeredAbilityImpl {
}
return false;
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever " + attachedDescription + " creature blocks" + (setFixedTargetPointerToBlocked ? " a creature, " : ", ") ;
- }
}
diff --git a/Mage/src/main/java/mage/abilities/common/BlocksCreatureTriggeredAbility.java b/Mage/src/main/java/mage/abilities/common/BlocksCreatureTriggeredAbility.java
index e8dc56c4c6f..dff1da4b078 100644
--- a/Mage/src/main/java/mage/abilities/common/BlocksCreatureTriggeredAbility.java
+++ b/Mage/src/main/java/mage/abilities/common/BlocksCreatureTriggeredAbility.java
@@ -23,6 +23,7 @@ public class BlocksCreatureTriggeredAbility extends TriggeredAbilityImpl {
public BlocksCreatureTriggeredAbility(Effect effect, boolean optional) {
this(effect, StaticFilters.FILTER_PERMANENT_CREATURE, optional);
+ setTriggerPhrase("Whenever {this} blocks " + CardUtil.addArticle(filter.getMessage()) + ", ");
}
public BlocksCreatureTriggeredAbility(Effect effect, FilterCreaturePermanent filter, boolean optional) {
@@ -52,11 +53,6 @@ public class BlocksCreatureTriggeredAbility extends TriggeredAbilityImpl {
return true;
}
- @Override
- public String getTriggerPhrase() {
- return "Whenever {this} blocks " + CardUtil.addArticle(filter.getMessage()) + ", ";
- }
-
@Override
public BlocksCreatureTriggeredAbility copy() {
return new BlocksCreatureTriggeredAbility(this);
diff --git a/Mage/src/main/java/mage/abilities/common/BlocksOrBecomesBlockedByOneOrMoreTriggeredAbility.java b/Mage/src/main/java/mage/abilities/common/BlocksOrBecomesBlockedByOneOrMoreTriggeredAbility.java
index 6899b7ddf2c..e6262e807f3 100644
--- a/Mage/src/main/java/mage/abilities/common/BlocksOrBecomesBlockedByOneOrMoreTriggeredAbility.java
+++ b/Mage/src/main/java/mage/abilities/common/BlocksOrBecomesBlockedByOneOrMoreTriggeredAbility.java
@@ -33,13 +33,13 @@ public class BlocksOrBecomesBlockedByOneOrMoreTriggeredAbility extends Triggered
super(Zone.BATTLEFIELD, effect, optional);
this.filter = filter;
this.rule = rule;
+ setTriggerPhrase("Whenever {this} blocks or becomes blocked by one or more " + (filter != null ? filter.getMessage() : "creatures") + ", ");
}
public BlocksOrBecomesBlockedByOneOrMoreTriggeredAbility(final BlocksOrBecomesBlockedByOneOrMoreTriggeredAbility ability) {
super(ability);
this.filter = ability.filter;
this.rule = ability.rule;
-
}
@Override
@@ -77,15 +77,7 @@ public class BlocksOrBecomesBlockedByOneOrMoreTriggeredAbility extends Triggered
@Override
public String getRule() {
- if (rule != null) {
- return rule;
- }
- return super.getRule();
- }
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever {this} blocks or becomes blocked by one or more " + (filter != null ? filter.getMessage() : "creatures") + ", ";
+ return rule != null ? rule : super.getRule();
}
@Override
diff --git a/Mage/src/main/java/mage/abilities/common/BlocksOrBecomesBlockedSourceTriggeredAbility.java b/Mage/src/main/java/mage/abilities/common/BlocksOrBecomesBlockedSourceTriggeredAbility.java
index 3cefef7c511..93fdfff9261 100644
--- a/Mage/src/main/java/mage/abilities/common/BlocksOrBecomesBlockedSourceTriggeredAbility.java
+++ b/Mage/src/main/java/mage/abilities/common/BlocksOrBecomesBlockedSourceTriggeredAbility.java
@@ -41,6 +41,7 @@ public class BlocksOrBecomesBlockedSourceTriggeredAbility extends TriggeredAbili
this.filter = filter;
this.rule = rule;
this.setTargetPointer = setTargetPointer;
+ setTriggerPhrase("Whenever {this} blocks or becomes blocked" + (setTargetPointer ? " by a " + filter.getMessage() : "") + ", ");
}
public BlocksOrBecomesBlockedSourceTriggeredAbility(final BlocksOrBecomesBlockedSourceTriggeredAbility ability) {
@@ -48,7 +49,6 @@ public class BlocksOrBecomesBlockedSourceTriggeredAbility extends TriggeredAbili
this.filter = ability.filter;
this.rule = ability.rule;
this.setTargetPointer = ability.setTargetPointer;
-
}
@Override
@@ -81,15 +81,7 @@ public class BlocksOrBecomesBlockedSourceTriggeredAbility extends TriggeredAbili
@Override
public String getRule() {
- if (rule != null) {
- return rule;
- }
- return super.getRule();
- }
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever {this} blocks or becomes blocked" + (setTargetPointer ? " by a " + filter.getMessage() : "") + ", ";
+ return rule != null ? rule : super.getRule();
}
@Override
diff --git a/Mage/src/main/java/mage/abilities/common/BlocksSourceTriggeredAbility.java b/Mage/src/main/java/mage/abilities/common/BlocksSourceTriggeredAbility.java
index 98b517163e4..47238414584 100644
--- a/Mage/src/main/java/mage/abilities/common/BlocksSourceTriggeredAbility.java
+++ b/Mage/src/main/java/mage/abilities/common/BlocksSourceTriggeredAbility.java
@@ -19,6 +19,7 @@ public class BlocksSourceTriggeredAbility extends TriggeredAbilityImpl {
public BlocksSourceTriggeredAbility(Effect effect, boolean optional) {
super(Zone.BATTLEFIELD, effect, optional);
+ setTriggerPhrase("Whenever {this} blocks, ");
}
public BlocksSourceTriggeredAbility(final BlocksSourceTriggeredAbility ability) {
@@ -36,11 +37,6 @@ public class BlocksSourceTriggeredAbility extends TriggeredAbilityImpl {
return permanent != null && permanent.getBlocking() > 0;
}
- @Override
- public String getTriggerPhrase() {
- return "Whenever {this} blocks, ";
- }
-
@Override
public BlocksSourceTriggeredAbility copy() {
return new BlocksSourceTriggeredAbility(this);
diff --git a/Mage/src/main/java/mage/abilities/common/CardsLeaveGraveyardTriggeredAbility.java b/Mage/src/main/java/mage/abilities/common/CardsLeaveGraveyardTriggeredAbility.java
index 0d6b2d8230f..b75b73e5355 100644
--- a/Mage/src/main/java/mage/abilities/common/CardsLeaveGraveyardTriggeredAbility.java
+++ b/Mage/src/main/java/mage/abilities/common/CardsLeaveGraveyardTriggeredAbility.java
@@ -17,6 +17,7 @@ public class CardsLeaveGraveyardTriggeredAbility extends TriggeredAbilityImpl {
public CardsLeaveGraveyardTriggeredAbility(Effect effect) {
super(Zone.BATTLEFIELD, effect, false);
+ setTriggerPhrase("Whenever one or more cards leave your graveyard, ");
}
private CardsLeaveGraveyardTriggeredAbility(final CardsLeaveGraveyardTriggeredAbility ability) {
@@ -46,9 +47,4 @@ public class CardsLeaveGraveyardTriggeredAbility extends TriggeredAbilityImpl {
public CardsLeaveGraveyardTriggeredAbility copy() {
return new CardsLeaveGraveyardTriggeredAbility(this);
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever one or more cards leave your graveyard, " ;
- }
}
diff --git a/Mage/src/main/java/mage/abilities/common/CastSecondSpellTriggeredAbility.java b/Mage/src/main/java/mage/abilities/common/CastSecondSpellTriggeredAbility.java
index 6dd478a6ab1..28baae38942 100644
--- a/Mage/src/main/java/mage/abilities/common/CastSecondSpellTriggeredAbility.java
+++ b/Mage/src/main/java/mage/abilities/common/CastSecondSpellTriggeredAbility.java
@@ -35,6 +35,7 @@ public class CastSecondSpellTriggeredAbility extends TriggeredAbilityImpl {
this.addHint(hint);
}
this.targetController = targetController;
+ setTriggerPhrase(generateTriggerPhrase());
}
private CastSecondSpellTriggeredAbility(final CastSecondSpellTriggeredAbility ability) {
@@ -77,8 +78,7 @@ public class CastSecondSpellTriggeredAbility extends TriggeredAbilityImpl {
return false;
}
- @Override
- public String getTriggerPhrase() {
+ private String generateTriggerPhrase() {
switch (targetController) {
case YOU:
return "Whenever you cast your second spell each turn, ";
diff --git a/Mage/src/main/java/mage/abilities/common/CompletedDungeonTriggeredAbility.java b/Mage/src/main/java/mage/abilities/common/CompletedDungeonTriggeredAbility.java
index c0596c2fe3c..b756a50254c 100644
--- a/Mage/src/main/java/mage/abilities/common/CompletedDungeonTriggeredAbility.java
+++ b/Mage/src/main/java/mage/abilities/common/CompletedDungeonTriggeredAbility.java
@@ -21,6 +21,7 @@ public class CompletedDungeonTriggeredAbility extends TriggeredAbilityImpl {
public CompletedDungeonTriggeredAbility(Zone zone, Effect effect, boolean optional) {
super(zone, effect, optional);
+ setTriggerPhrase("Whenever you complete a dungeon, ");
}
private CompletedDungeonTriggeredAbility(final CompletedDungeonTriggeredAbility ability) {
@@ -41,9 +42,4 @@ public class CompletedDungeonTriggeredAbility extends TriggeredAbilityImpl {
public CompletedDungeonTriggeredAbility copy() {
return new CompletedDungeonTriggeredAbility(this);
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever you complete a dungeon, " ;
- }
}
diff --git a/Mage/src/main/java/mage/abilities/common/ControllerPlaysLandTriggeredAbility.java b/Mage/src/main/java/mage/abilities/common/ControllerPlaysLandTriggeredAbility.java
index 559caa90616..9c510e8d645 100644
--- a/Mage/src/main/java/mage/abilities/common/ControllerPlaysLandTriggeredAbility.java
+++ b/Mage/src/main/java/mage/abilities/common/ControllerPlaysLandTriggeredAbility.java
@@ -15,6 +15,7 @@ public class ControllerPlaysLandTriggeredAbility extends TriggeredAbilityImpl {
public ControllerPlaysLandTriggeredAbility(Zone zone, Effect effect, Boolean optional) {
super(zone, effect, optional);
+ setTriggerPhrase("Whenever you play a land, ");
}
public ControllerPlaysLandTriggeredAbility(ControllerPlaysLandTriggeredAbility ability) {
@@ -36,9 +37,4 @@ public class ControllerPlaysLandTriggeredAbility extends TriggeredAbilityImpl {
public ControllerPlaysLandTriggeredAbility copy() {
return new ControllerPlaysLandTriggeredAbility(this);
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever you play a land, ";
- }
}
diff --git a/Mage/src/main/java/mage/abilities/common/ControlsPermanentsControllerTriggeredAbility.java b/Mage/src/main/java/mage/abilities/common/ControlsPermanentsControllerTriggeredAbility.java
index c8d9f974295..73957403d17 100644
--- a/Mage/src/main/java/mage/abilities/common/ControlsPermanentsControllerTriggeredAbility.java
+++ b/Mage/src/main/java/mage/abilities/common/ControlsPermanentsControllerTriggeredAbility.java
@@ -30,6 +30,7 @@ public class ControlsPermanentsControllerTriggeredAbility extends StateTriggered
this.filter = filter;
this.value = value;
this.type = type;
+ setTriggerPhrase("When you control " + filter.getMessage() + ", " );
}
public ControlsPermanentsControllerTriggeredAbility(final ControlsPermanentsControllerTriggeredAbility ability) {
@@ -49,9 +50,4 @@ public class ControlsPermanentsControllerTriggeredAbility extends StateTriggered
int inputValue = game.getBattlefield().countAll(filter, getControllerId(), game);
return ComparisonType.compare(inputValue, type, value);
}
-
- @Override
- public String getTriggerPhrase() {
- return "When you control " + filter.getMessage() + ", " ;
- }
}
diff --git a/Mage/src/main/java/mage/abilities/common/CycleAllTriggeredAbility.java b/Mage/src/main/java/mage/abilities/common/CycleAllTriggeredAbility.java
index f3a5fd7e016..a207f0b7b61 100644
--- a/Mage/src/main/java/mage/abilities/common/CycleAllTriggeredAbility.java
+++ b/Mage/src/main/java/mage/abilities/common/CycleAllTriggeredAbility.java
@@ -18,6 +18,7 @@ public class CycleAllTriggeredAbility extends TriggeredAbilityImpl {
public CycleAllTriggeredAbility(Effect effect, boolean optional) {
super(Zone.BATTLEFIELD, effect, optional);
+ setTriggerPhrase("Whenever a player cycles a card, ");
}
public CycleAllTriggeredAbility(final CycleAllTriggeredAbility ability) {
@@ -39,14 +40,8 @@ public class CycleAllTriggeredAbility extends TriggeredAbilityImpl {
&& item.getStackAbility() instanceof CyclingAbility;
}
- @Override
- public String getTriggerPhrase() {
- return "Whenever a player cycles a card, " ;
- }
-
@Override
public CycleAllTriggeredAbility copy() {
return new CycleAllTriggeredAbility(this);
}
-
}
diff --git a/Mage/src/main/java/mage/abilities/common/CycleControllerTriggeredAbility.java b/Mage/src/main/java/mage/abilities/common/CycleControllerTriggeredAbility.java
index 94333fde321..ba2fe63e01e 100644
--- a/Mage/src/main/java/mage/abilities/common/CycleControllerTriggeredAbility.java
+++ b/Mage/src/main/java/mage/abilities/common/CycleControllerTriggeredAbility.java
@@ -27,6 +27,7 @@ public class CycleControllerTriggeredAbility extends TriggeredAbilityImpl {
public CycleControllerTriggeredAbility(Effect effect, boolean optional, boolean excludeSource) {
super(Zone.BATTLEFIELD, effect, optional);
this.excludeSource = excludeSource;
+ setTriggerPhrase("Whenever you cycle " + (excludeSource ? "another" : "a") + " card, ");
}
private CycleControllerTriggeredAbility(final CycleControllerTriggeredAbility ability) {
@@ -51,11 +52,6 @@ public class CycleControllerTriggeredAbility extends TriggeredAbilityImpl {
&& item.getStackAbility() instanceof CyclingAbility;
}
- @Override
- public String getTriggerPhrase() {
- return "Whenever you cycle " + (excludeSource ? "another" : "a") + " card, " ;
- }
-
@Override
public CycleControllerTriggeredAbility copy() {
return new CycleControllerTriggeredAbility(this);
diff --git a/Mage/src/main/java/mage/abilities/common/CycleOrDiscardControllerTriggeredAbility.java b/Mage/src/main/java/mage/abilities/common/CycleOrDiscardControllerTriggeredAbility.java
index c197c4f78b2..9e2d053ffcc 100644
--- a/Mage/src/main/java/mage/abilities/common/CycleOrDiscardControllerTriggeredAbility.java
+++ b/Mage/src/main/java/mage/abilities/common/CycleOrDiscardControllerTriggeredAbility.java
@@ -19,6 +19,7 @@ public class CycleOrDiscardControllerTriggeredAbility extends TriggeredAbilityIm
public CycleOrDiscardControllerTriggeredAbility(Effect effect, boolean optional) {
super(Zone.BATTLEFIELD, effect, optional);
+ setTriggerPhrase("Whenever you cycle or discard a card, ");
}
public CycleOrDiscardControllerTriggeredAbility(final CycleOrDiscardControllerTriggeredAbility ability) {
@@ -35,11 +36,6 @@ public class CycleOrDiscardControllerTriggeredAbility extends TriggeredAbilityIm
return event.getPlayerId().equals(controllerId);
}
- @Override
- public String getTriggerPhrase() {
- return "Whenever you cycle or discard a card, " ;
- }
-
@Override
public CycleOrDiscardControllerTriggeredAbility copy() {
return new CycleOrDiscardControllerTriggeredAbility(this);
diff --git a/Mage/src/main/java/mage/abilities/common/DealCombatDamageControlledTriggeredAbility.java b/Mage/src/main/java/mage/abilities/common/DealCombatDamageControlledTriggeredAbility.java
index bbe23c9e11c..276bff62354 100644
--- a/Mage/src/main/java/mage/abilities/common/DealCombatDamageControlledTriggeredAbility.java
+++ b/Mage/src/main/java/mage/abilities/common/DealCombatDamageControlledTriggeredAbility.java
@@ -39,6 +39,8 @@ public class DealCombatDamageControlledTriggeredAbility extends TriggeredAbility
super(zone, effect, false);
this.setTargetPointer = setTargetPointer;
this.onlyOpponents = onlyOpponents;
+ setTriggerPhrase("Whenever one or more creatures you control deal combat damage to "
+ + (onlyOpponents ? "an opponent" : "a player") + ", ");
}
public DealCombatDamageControlledTriggeredAbility(final DealCombatDamageControlledTriggeredAbility ability) {
@@ -84,10 +86,4 @@ public class DealCombatDamageControlledTriggeredAbility extends TriggeredAbility
}
return true;
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever one or more creatures you control deal combat damage to "
- + (onlyOpponents ? "an opponent" : "a player") + ", " ;
- }
}
diff --git a/Mage/src/main/java/mage/abilities/common/DealsCombatDamageEquippedTriggeredAbility.java b/Mage/src/main/java/mage/abilities/common/DealsCombatDamageEquippedTriggeredAbility.java
index 2582311b75d..aadf4e593de 100644
--- a/Mage/src/main/java/mage/abilities/common/DealsCombatDamageEquippedTriggeredAbility.java
+++ b/Mage/src/main/java/mage/abilities/common/DealsCombatDamageEquippedTriggeredAbility.java
@@ -20,6 +20,7 @@ public class DealsCombatDamageEquippedTriggeredAbility extends TriggeredAbilityI
public DealsCombatDamageEquippedTriggeredAbility(Effect effect, boolean optional) {
super(Zone.BATTLEFIELD, effect, optional);
+ setTriggerPhrase("Whenever equipped creature deals combat damage, ");
}
public DealsCombatDamageEquippedTriggeredAbility(final DealsCombatDamageEquippedTriggeredAbility ability) {
@@ -56,9 +57,4 @@ public class DealsCombatDamageEquippedTriggeredAbility extends TriggeredAbilityI
this.getEffects().setValue("damage", amount);
return true;
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever equipped creature deals combat damage, ";
- }
}
diff --git a/Mage/src/main/java/mage/abilities/common/DealsCombatDamageToACreatureTriggeredAbility.java b/Mage/src/main/java/mage/abilities/common/DealsCombatDamageToACreatureTriggeredAbility.java
index c27ec9790bb..8ced5dd7b33 100644
--- a/Mage/src/main/java/mage/abilities/common/DealsCombatDamageToACreatureTriggeredAbility.java
+++ b/Mage/src/main/java/mage/abilities/common/DealsCombatDamageToACreatureTriggeredAbility.java
@@ -25,6 +25,7 @@ public class DealsCombatDamageToACreatureTriggeredAbility extends TriggeredAbili
public DealsCombatDamageToACreatureTriggeredAbility(Effect effect, boolean optional, boolean setTargetPointer) {
super(Zone.BATTLEFIELD, effect, optional);
this.setTargetPointer = setTargetPointer;
+ setTriggerPhrase("Whenever {this} deals combat damage to a creature, ");
}
public DealsCombatDamageToACreatureTriggeredAbility(final DealsCombatDamageToACreatureTriggeredAbility ability) {
@@ -59,10 +60,4 @@ public class DealsCombatDamageToACreatureTriggeredAbility extends TriggeredAbili
}
return true;
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever {this} deals combat damage to a creature, " ;
- }
-
}
diff --git a/Mage/src/main/java/mage/abilities/common/DealsCombatDamageToAPlayerTriggeredAbility.java b/Mage/src/main/java/mage/abilities/common/DealsCombatDamageToAPlayerTriggeredAbility.java
index 1d0bfcc6565..e2c0d872f72 100644
--- a/Mage/src/main/java/mage/abilities/common/DealsCombatDamageToAPlayerTriggeredAbility.java
+++ b/Mage/src/main/java/mage/abilities/common/DealsCombatDamageToAPlayerTriggeredAbility.java
@@ -98,6 +98,7 @@ public class DealsCombatDamageToAPlayerTriggeredAbility extends TriggeredAbility
return text;
}
+ // TODO: This class needs refactoring to specify onlyOppontns and OrPLaneswalkers in constructor
@Override
public String getTriggerPhrase() {
return "Whenever {this} deals combat damage to "
diff --git a/Mage/src/main/java/mage/abilities/common/DealsCombatDamageTriggeredAbility.java b/Mage/src/main/java/mage/abilities/common/DealsCombatDamageTriggeredAbility.java
index 96ecbbcdd1f..80377848171 100644
--- a/Mage/src/main/java/mage/abilities/common/DealsCombatDamageTriggeredAbility.java
+++ b/Mage/src/main/java/mage/abilities/common/DealsCombatDamageTriggeredAbility.java
@@ -21,6 +21,7 @@ public class DealsCombatDamageTriggeredAbility extends TriggeredAbilityImpl {
public DealsCombatDamageTriggeredAbility(Effect effect, boolean optional) {
super(Zone.BATTLEFIELD, effect, optional);
this.usedInPhase = false;
+ setTriggerPhrase("Whenever {this} deals combat damage, ");
}
public DealsCombatDamageTriggeredAbility(final DealsCombatDamageTriggeredAbility ability) {
@@ -53,9 +54,4 @@ public class DealsCombatDamageTriggeredAbility extends TriggeredAbilityImpl {
}
return false;
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever {this} deals combat damage, ";
- }
}
diff --git a/Mage/src/main/java/mage/abilities/common/DealsDamageAttachedTriggeredAbility.java b/Mage/src/main/java/mage/abilities/common/DealsDamageAttachedTriggeredAbility.java
index e740fc1033d..b67681140e3 100644
--- a/Mage/src/main/java/mage/abilities/common/DealsDamageAttachedTriggeredAbility.java
+++ b/Mage/src/main/java/mage/abilities/common/DealsDamageAttachedTriggeredAbility.java
@@ -15,6 +15,7 @@ public class DealsDamageAttachedTriggeredAbility extends TriggeredAbilityImpl {
public DealsDamageAttachedTriggeredAbility(Zone zone, Effect effect, boolean optional) {
super(zone, effect, optional);
+ setTriggerPhrase("Whenever enchanted creature deals damage, ");
}
public DealsDamageAttachedTriggeredAbility(final DealsDamageAttachedTriggeredAbility ability) {
@@ -47,9 +48,4 @@ public class DealsDamageAttachedTriggeredAbility extends TriggeredAbilityImpl {
}
return false;
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever enchanted creature deals damage, " ;
- }
}
diff --git a/Mage/src/main/java/mage/abilities/common/DealsDamageGainLifeSourceTriggeredAbility.java b/Mage/src/main/java/mage/abilities/common/DealsDamageGainLifeSourceTriggeredAbility.java
index 564b3f37bf4..2b963083f23 100644
--- a/Mage/src/main/java/mage/abilities/common/DealsDamageGainLifeSourceTriggeredAbility.java
+++ b/Mage/src/main/java/mage/abilities/common/DealsDamageGainLifeSourceTriggeredAbility.java
@@ -17,6 +17,7 @@ public class DealsDamageGainLifeSourceTriggeredAbility extends TriggeredAbilityI
public DealsDamageGainLifeSourceTriggeredAbility() {
super(Zone.BATTLEFIELD, new GainLifeEffect(SavedDamageValue.MUCH), false);
+ setTriggerPhrase("Whenever {this} deals damage, ");
}
public DealsDamageGainLifeSourceTriggeredAbility(final DealsDamageGainLifeSourceTriggeredAbility ability) {
@@ -43,9 +44,4 @@ public class DealsDamageGainLifeSourceTriggeredAbility extends TriggeredAbilityI
}
return false;
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever {this} deals damage, " ;
- }
}
diff --git a/Mage/src/main/java/mage/abilities/common/DealsDamageToACreatureAllTriggeredAbility.java b/Mage/src/main/java/mage/abilities/common/DealsDamageToACreatureAllTriggeredAbility.java
index e45cc5850ca..6bed123b57c 100644
--- a/Mage/src/main/java/mage/abilities/common/DealsDamageToACreatureAllTriggeredAbility.java
+++ b/Mage/src/main/java/mage/abilities/common/DealsDamageToACreatureAllTriggeredAbility.java
@@ -40,6 +40,8 @@ public class DealsDamageToACreatureAllTriggeredAbility extends TriggeredAbilityI
this.combatOnly = combatOnly;
this.setTargetPointer = setTargetPointer;
this.filterPermanent = filterPermanent;
+ setTriggerPhrase("Whenever " + filterPermanent.getMessage() + " deals "
+ + (combatOnly ? "combat " : "") + "damage to a creature, ");
}
public DealsDamageToACreatureAllTriggeredAbility(final DealsDamageToACreatureAllTriggeredAbility ability) {
@@ -90,10 +92,4 @@ public class DealsDamageToACreatureAllTriggeredAbility extends TriggeredAbilityI
}
return true;
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever " + filterPermanent.getMessage() + " deals "
- + (combatOnly ? "combat " : "") + "damage to a creature, ";
- }
}
diff --git a/Mage/src/main/java/mage/abilities/common/DealsDamageToACreatureAttachedTriggeredAbility.java b/Mage/src/main/java/mage/abilities/common/DealsDamageToACreatureAttachedTriggeredAbility.java
index dbab9650e67..40f5df426b8 100644
--- a/Mage/src/main/java/mage/abilities/common/DealsDamageToACreatureAttachedTriggeredAbility.java
+++ b/Mage/src/main/java/mage/abilities/common/DealsDamageToACreatureAttachedTriggeredAbility.java
@@ -25,6 +25,8 @@ public class DealsDamageToACreatureAttachedTriggeredAbility extends TriggeredAbi
this.combatOnly = combatOnly;
this.setTargetPointer = setTargetPointer;
this.attachedDescription = attachedDescription;
+ setTriggerPhrase("Whenever " + attachedDescription + " deals "
+ + (combatOnly ? "combat " : "") + "damage to a creature, ");
}
public DealsDamageToACreatureAttachedTriggeredAbility(final DealsDamageToACreatureAttachedTriggeredAbility ability) {
@@ -65,10 +67,4 @@ public class DealsDamageToACreatureAttachedTriggeredAbility extends TriggeredAbi
}
return true;
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever " + attachedDescription + " deals "
- + (combatOnly ? "combat " : "") + "damage to a creature, ";
- }
}
diff --git a/Mage/src/main/java/mage/abilities/common/DealsDamageToACreatureTriggeredAbility.java b/Mage/src/main/java/mage/abilities/common/DealsDamageToACreatureTriggeredAbility.java
index 4d7009a497d..746c5f7411a 100644
--- a/Mage/src/main/java/mage/abilities/common/DealsDamageToACreatureTriggeredAbility.java
+++ b/Mage/src/main/java/mage/abilities/common/DealsDamageToACreatureTriggeredAbility.java
@@ -30,6 +30,7 @@ public class DealsDamageToACreatureTriggeredAbility extends TriggeredAbilityImpl
this.combatOnly = combatOnly;
this.filter = filter;
this.setTargetPointer = setTargetPointer;
+ setTriggerPhrase("Whenever {this} deals " + (combatOnly ? "combat " : "") + "damage to " + filter.getMessage() + ", ");
}
public DealsDamageToACreatureTriggeredAbility(final DealsDamageToACreatureTriggeredAbility ability) {
@@ -67,9 +68,4 @@ public class DealsDamageToACreatureTriggeredAbility extends TriggeredAbilityImpl
}
return false;
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever {this} deals " + (combatOnly ? "combat " : "") + "damage to " + filter.getMessage() + ", ";
- }
}
diff --git a/Mage/src/main/java/mage/abilities/common/DealsDamageToAPlayerAllTriggeredAbility.java b/Mage/src/main/java/mage/abilities/common/DealsDamageToAPlayerAllTriggeredAbility.java
index 668e0d41408..fd549e66e77 100644
--- a/Mage/src/main/java/mage/abilities/common/DealsDamageToAPlayerAllTriggeredAbility.java
+++ b/Mage/src/main/java/mage/abilities/common/DealsDamageToAPlayerAllTriggeredAbility.java
@@ -43,6 +43,8 @@ public class DealsDamageToAPlayerAllTriggeredAbility extends TriggeredAbilityImp
this.onlyCombat = onlyCombat;
this.affectsDefendingPlayer = affectsDefendingPlayer;
this.targetController = targetController;
+ setTriggerPhrase("Whenever " + filter.getMessage() + " deals " + (onlyCombat ? "combat " : "") + "damage to "
+ + (targetController == TargetController.OPPONENT ? "an opponent" : "a player") + ", ");
}
public DealsDamageToAPlayerAllTriggeredAbility(final DealsDamageToAPlayerAllTriggeredAbility ability) {
@@ -93,10 +95,4 @@ public class DealsDamageToAPlayerAllTriggeredAbility extends TriggeredAbilityImp
}
return true;
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever " + filter.getMessage() + " deals " + (onlyCombat ? "combat " : "") + "damage to "
- + (targetController == TargetController.OPPONENT ? "an opponent" : "a player") + ", " ;
- }
}
diff --git a/Mage/src/main/java/mage/abilities/common/DealsDamageToAPlayerAttachedTriggeredAbility.java b/Mage/src/main/java/mage/abilities/common/DealsDamageToAPlayerAttachedTriggeredAbility.java
index 90978080273..47e2ea2c55a 100644
--- a/Mage/src/main/java/mage/abilities/common/DealsDamageToAPlayerAttachedTriggeredAbility.java
+++ b/Mage/src/main/java/mage/abilities/common/DealsDamageToAPlayerAttachedTriggeredAbility.java
@@ -38,6 +38,7 @@ public class DealsDamageToAPlayerAttachedTriggeredAbility extends TriggeredAbili
this.attachedDescription = attachedDescription;
this.targetController = targetController;
this.onlyCombat = onlyCombat;
+ setTriggerPhrase(generateTriggerPhrase());
}
public DealsDamageToAPlayerAttachedTriggeredAbility(final DealsDamageToAPlayerAttachedTriggeredAbility ability) {
@@ -84,8 +85,7 @@ public class DealsDamageToAPlayerAttachedTriggeredAbility extends TriggeredAbili
return true;
}
- @Override
- public String getTriggerPhrase() {
+ private String generateTriggerPhrase() {
StringBuilder sb = new StringBuilder("Whenever ");
sb.append(attachedDescription);
if (!attachedDescription.endsWith("creature")) {
diff --git a/Mage/src/main/java/mage/abilities/common/DealsDamageToAPlayerTriggeredAbility.java b/Mage/src/main/java/mage/abilities/common/DealsDamageToAPlayerTriggeredAbility.java
index 98e4f02cf3b..e339f53e51e 100644
--- a/Mage/src/main/java/mage/abilities/common/DealsDamageToAPlayerTriggeredAbility.java
+++ b/Mage/src/main/java/mage/abilities/common/DealsDamageToAPlayerTriggeredAbility.java
@@ -29,6 +29,7 @@ public class DealsDamageToAPlayerTriggeredAbility extends TriggeredAbilityImpl {
super(Zone.BATTLEFIELD, effect, optional);
this.setTargetPointer = setTargetPointer;
this.orPlaneswalker = orPlaneswalker;
+ setTriggerPhrase("Whenever {this} deals damage to a player" + (orPlaneswalker ? " or planeswalker" : "") + ", ");
}
public DealsDamageToAPlayerTriggeredAbility(final DealsDamageToAPlayerTriggeredAbility ability) {
@@ -67,10 +68,4 @@ public class DealsDamageToAPlayerTriggeredAbility extends TriggeredAbilityImpl {
}
return true;
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever {this} deals damage to a player" + (orPlaneswalker ? " or planeswalker" : "") + ", " ;
- }
-
}
diff --git a/Mage/src/main/java/mage/abilities/common/DealsDamageToOneOrMoreCreaturesTriggeredAbility.java b/Mage/src/main/java/mage/abilities/common/DealsDamageToOneOrMoreCreaturesTriggeredAbility.java
index c5ce962ac55..947dde9ed01 100644
--- a/Mage/src/main/java/mage/abilities/common/DealsDamageToOneOrMoreCreaturesTriggeredAbility.java
+++ b/Mage/src/main/java/mage/abilities/common/DealsDamageToOneOrMoreCreaturesTriggeredAbility.java
@@ -12,6 +12,7 @@ public class DealsDamageToOneOrMoreCreaturesTriggeredAbility extends DealsDamage
public DealsDamageToOneOrMoreCreaturesTriggeredAbility(Effect effect, boolean combatOnly, boolean optional, boolean setTargetPointer) {
super(effect, combatOnly, optional, setTargetPointer);
+ setTriggerPhrase("Whenever {this} deals " + (combatOnly ? "combat " : "") + "damage to one or more creatures, ");
}
public DealsDamageToOneOrMoreCreaturesTriggeredAbility(DealsDamageToOneOrMoreCreaturesTriggeredAbility ability) {
@@ -45,9 +46,4 @@ public class DealsDamageToOneOrMoreCreaturesTriggeredAbility extends DealsDamage
public DealsDamageToOneOrMoreCreaturesTriggeredAbility copy() {
return new DealsDamageToOneOrMoreCreaturesTriggeredAbility(this);
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever {this} deals " + (combatOnly ? "combat " : "") + "damage to one or more creatures, ";
- }
}
diff --git a/Mage/src/main/java/mage/abilities/common/DealsDamageToOpponentTriggeredAbility.java b/Mage/src/main/java/mage/abilities/common/DealsDamageToOpponentTriggeredAbility.java
index 9af79f042d8..17049983de3 100644
--- a/Mage/src/main/java/mage/abilities/common/DealsDamageToOpponentTriggeredAbility.java
+++ b/Mage/src/main/java/mage/abilities/common/DealsDamageToOpponentTriggeredAbility.java
@@ -32,6 +32,7 @@ public class DealsDamageToOpponentTriggeredAbility extends TriggeredAbilityImpl
super(Zone.BATTLEFIELD, effect, optional);
this.onlyCombat = onlyCombat;
this.setTargetPointer = setTargetPointer;
+ setTriggerPhrase("Whenever {this} deals " + (onlyCombat ? "combat " : "") + "damage to an opponent, ");
}
public DealsDamageToOpponentTriggeredAbility(final DealsDamageToOpponentTriggeredAbility ability) {
@@ -70,14 +71,4 @@ public class DealsDamageToOpponentTriggeredAbility extends TriggeredAbilityImpl
}
return false;
}
-
- @Override
- public String getTriggerPhrase() {
- StringBuilder sb = new StringBuilder("Whenever {this} deals ");
- if (onlyCombat) {
- sb.append("combat ");
- }
- sb.append("damage to an opponent, ");
- return sb.toString();
- }
}
diff --git a/Mage/src/main/java/mage/abilities/common/DealtDamageAndDiedTriggeredAbility.java b/Mage/src/main/java/mage/abilities/common/DealtDamageAndDiedTriggeredAbility.java
index a80afc10131..174b67a4229 100644
--- a/Mage/src/main/java/mage/abilities/common/DealtDamageAndDiedTriggeredAbility.java
+++ b/Mage/src/main/java/mage/abilities/common/DealtDamageAndDiedTriggeredAbility.java
@@ -33,6 +33,7 @@ public class DealtDamageAndDiedTriggeredAbility extends TriggeredAbilityImpl {
super(Zone.ALL, effect, optional);
this.filter = filter;
this.setTargetPointer = setTargetPointer;
+ setTriggerPhrase("Whenever a " + filter.getMessage() + " dealt damage by {this} this turn dies, ");
}
public DealtDamageAndDiedTriggeredAbility(final DealtDamageAndDiedTriggeredAbility ability) {
@@ -76,9 +77,4 @@ public class DealtDamageAndDiedTriggeredAbility extends TriggeredAbilityImpl {
}
return false;
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever a " + filter.getMessage() + " dealt damage by {this} this turn dies, ";
- }
}
diff --git a/Mage/src/main/java/mage/abilities/common/DealtDamageAttachedTriggeredAbility.java b/Mage/src/main/java/mage/abilities/common/DealtDamageAttachedTriggeredAbility.java
index e5ca0a8b8dc..933cc9f5850 100644
--- a/Mage/src/main/java/mage/abilities/common/DealtDamageAttachedTriggeredAbility.java
+++ b/Mage/src/main/java/mage/abilities/common/DealtDamageAttachedTriggeredAbility.java
@@ -27,6 +27,7 @@ public class DealtDamageAttachedTriggeredAbility extends TriggeredAbilityImpl {
public DealtDamageAttachedTriggeredAbility(Zone zone, Effect effect, boolean optional, SetTargetPointer setTargetPointer) {
super(zone, effect, optional);
this.setTargetPointer = setTargetPointer;
+ setTriggerPhrase("Whenever enchanted creature is dealt damage, ");
}
public DealtDamageAttachedTriggeredAbility(final DealtDamageAttachedTriggeredAbility ability) {
@@ -64,9 +65,4 @@ public class DealtDamageAttachedTriggeredAbility extends TriggeredAbilityImpl {
}
return false;
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever enchanted creature is dealt damage, " ;
- }
}
diff --git a/Mage/src/main/java/mage/abilities/common/DealtDamageToSourceTriggeredAbility.java b/Mage/src/main/java/mage/abilities/common/DealtDamageToSourceTriggeredAbility.java
index dea7681fae7..0e9a5ee72a9 100644
--- a/Mage/src/main/java/mage/abilities/common/DealtDamageToSourceTriggeredAbility.java
+++ b/Mage/src/main/java/mage/abilities/common/DealtDamageToSourceTriggeredAbility.java
@@ -22,6 +22,7 @@ public class DealtDamageToSourceTriggeredAbility extends TriggeredAbilityImpl {
if (enrage) {
this.setAbilityWord(AbilityWord.ENRAGE);
}
+ setTriggerPhrase("Whenever {this} is dealt damage, ");
}
public DealtDamageToSourceTriggeredAbility(final DealtDamageToSourceTriggeredAbility ability) {
@@ -53,9 +54,4 @@ public class DealtDamageToSourceTriggeredAbility extends TriggeredAbilityImpl {
this.getEffects().setValue("damage", damage);
return true;
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever {this} is dealt damage, ";
- }
}
diff --git a/Mage/src/main/java/mage/abilities/common/DiesAttachedTriggeredAbility.java b/Mage/src/main/java/mage/abilities/common/DiesAttachedTriggeredAbility.java
index 3b94b15b382..2e8ca9aa854 100644
--- a/Mage/src/main/java/mage/abilities/common/DiesAttachedTriggeredAbility.java
+++ b/Mage/src/main/java/mage/abilities/common/DiesAttachedTriggeredAbility.java
@@ -40,6 +40,7 @@ public class DiesAttachedTriggeredAbility extends TriggeredAbilityImpl {
this.attachedDescription = attachedDescription;
this.diesRuleText = diesRuleText;
this.setTargetPointer = setTargetPointer;
+ setTriggerPhrase(generateTriggerPhrase());
}
public DiesAttachedTriggeredAbility(final DiesAttachedTriggeredAbility ability) {
@@ -126,8 +127,7 @@ public class DiesAttachedTriggeredAbility extends TriggeredAbilityImpl {
return true;
}
- @Override
- public String getTriggerPhrase() {
+ private String generateTriggerPhrase() {
StringBuilder sb = new StringBuilder();
if (attachedDescription.startsWith("equipped")) {
sb.append("Whenever ");
diff --git a/Mage/src/main/java/mage/abilities/common/DiesCreatureTriggeredAbility.java b/Mage/src/main/java/mage/abilities/common/DiesCreatureTriggeredAbility.java
index 1a9fa39f56e..6d17483fefb 100644
--- a/Mage/src/main/java/mage/abilities/common/DiesCreatureTriggeredAbility.java
+++ b/Mage/src/main/java/mage/abilities/common/DiesCreatureTriggeredAbility.java
@@ -48,6 +48,7 @@ public class DiesCreatureTriggeredAbility extends TriggeredAbilityImpl {
super(zone, effect, optional);
this.filter = filter;
this.setTargetPointer = setTargetPointer;
+ setTriggerPhrase("Whenever " + filter.getMessage() + (filter.getMessage().startsWith("one or more") ? " die, " : " dies, "));
}
public DiesCreatureTriggeredAbility(final DiesCreatureTriggeredAbility ability) {
@@ -83,9 +84,4 @@ public class DiesCreatureTriggeredAbility extends TriggeredAbilityImpl {
public boolean isInUseableZone(Game game, MageObject source, GameEvent event) {
return TriggeredAbilityImpl.isInUseableZoneDiesTrigger(this, event, game);
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever " + filter.getMessage() + (filter.getMessage().startsWith("one or more") ? " die, " : " dies, ") ;
- }
}
diff --git a/Mage/src/main/java/mage/abilities/common/DiesThisOrAnotherCreatureOrPlaneswalkerTriggeredAbility.java b/Mage/src/main/java/mage/abilities/common/DiesThisOrAnotherCreatureOrPlaneswalkerTriggeredAbility.java
index c21e14145cd..36decf995c4 100644
--- a/Mage/src/main/java/mage/abilities/common/DiesThisOrAnotherCreatureOrPlaneswalkerTriggeredAbility.java
+++ b/Mage/src/main/java/mage/abilities/common/DiesThisOrAnotherCreatureOrPlaneswalkerTriggeredAbility.java
@@ -24,6 +24,7 @@ public class DiesThisOrAnotherCreatureOrPlaneswalkerTriggeredAbility extends Tri
public DiesThisOrAnotherCreatureOrPlaneswalkerTriggeredAbility(Effect effect, boolean optional, FilterCreatureOrPlaneswalkerPermanent filter) {
super(Zone.ALL, effect, optional); // Needs "ALL" if the source itself should trigger or multiple (incl. source go to grave)
this.filter = filter;
+ setTriggerPhrase("Whenever {this} or another " + filter.getMessage() + " dies, ");
}
public DiesThisOrAnotherCreatureOrPlaneswalkerTriggeredAbility(DiesThisOrAnotherCreatureOrPlaneswalkerTriggeredAbility ability) {
@@ -62,9 +63,4 @@ public class DiesThisOrAnotherCreatureOrPlaneswalkerTriggeredAbility extends Tri
public boolean isInUseableZone(Game game, MageObject source, GameEvent event) {
return TriggeredAbilityImpl.isInUseableZoneDiesTrigger(this, event, game);
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever {this} or another " + filter.getMessage() + " dies, " ;
- }
}
diff --git a/Mage/src/main/java/mage/abilities/common/DiesThisOrAnotherCreatureTriggeredAbility.java b/Mage/src/main/java/mage/abilities/common/DiesThisOrAnotherCreatureTriggeredAbility.java
index ab9ec39ce08..958934236b1 100644
--- a/Mage/src/main/java/mage/abilities/common/DiesThisOrAnotherCreatureTriggeredAbility.java
+++ b/Mage/src/main/java/mage/abilities/common/DiesThisOrAnotherCreatureTriggeredAbility.java
@@ -25,6 +25,7 @@ public class DiesThisOrAnotherCreatureTriggeredAbility extends TriggeredAbilityI
public DiesThisOrAnotherCreatureTriggeredAbility(Effect effect, boolean optional, FilterPermanent filter) {
super(Zone.ALL, effect, optional); // Needs "ALL" if the source itself should trigger or multiple (incl. source go to grave)
this.filter = filter;
+ setTriggerPhrase("Whenever {this} or another " + filter.getMessage() + " dies, ");
}
public DiesThisOrAnotherCreatureTriggeredAbility(DiesThisOrAnotherCreatureTriggeredAbility ability) {
@@ -69,9 +70,4 @@ public class DiesThisOrAnotherCreatureTriggeredAbility extends TriggeredAbilityI
public boolean isInUseableZone(Game game, MageObject source, GameEvent event) {
return TriggeredAbilityImpl.isInUseableZoneDiesTrigger(this, event, game);
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever {this} or another " + filter.getMessage() + " dies, ";
- }
}
diff --git a/Mage/src/main/java/mage/abilities/common/DiscardedByOpponentTriggeredAbility.java b/Mage/src/main/java/mage/abilities/common/DiscardedByOpponentTriggeredAbility.java
index c9dae6fc02b..6fa6de7214e 100644
--- a/Mage/src/main/java/mage/abilities/common/DiscardedByOpponentTriggeredAbility.java
+++ b/Mage/src/main/java/mage/abilities/common/DiscardedByOpponentTriggeredAbility.java
@@ -20,6 +20,7 @@ public class DiscardedByOpponentTriggeredAbility extends TriggeredAbilityImpl {
public DiscardedByOpponentTriggeredAbility(Effect effect, boolean optional) {
super(Zone.GRAVEYARD, effect, optional);
+ setTriggerPhrase("When a spell or ability an opponent controls causes you to discard this card, ");
}
public DiscardedByOpponentTriggeredAbility(final DiscardedByOpponentTriggeredAbility ability) {
@@ -46,9 +47,4 @@ public class DiscardedByOpponentTriggeredAbility extends TriggeredAbilityImpl {
}
return false;
}
-
- @Override
- public String getTriggerPhrase() {
- return "When a spell or ability an opponent controls causes you to discard this card, " ;
- }
}
diff --git a/Mage/src/main/java/mage/abilities/common/DiscardsACardOpponentTriggeredAbility.java b/Mage/src/main/java/mage/abilities/common/DiscardsACardOpponentTriggeredAbility.java
index 23860821507..fe3a609d2a5 100644
--- a/Mage/src/main/java/mage/abilities/common/DiscardsACardOpponentTriggeredAbility.java
+++ b/Mage/src/main/java/mage/abilities/common/DiscardsACardOpponentTriggeredAbility.java
@@ -27,6 +27,7 @@ public class DiscardsACardOpponentTriggeredAbility extends TriggeredAbilityImpl
public DiscardsACardOpponentTriggeredAbility(Effect effect, boolean isOptional, SetTargetPointer setTargetPointer) {
super(Zone.BATTLEFIELD, effect, isOptional);
this.setTargetPointer = setTargetPointer;
+ setTriggerPhrase("Whenever an opponent discards a card, ");
}
public DiscardsACardOpponentTriggeredAbility(final DiscardsACardOpponentTriggeredAbility ability) {
@@ -62,9 +63,4 @@ public class DiscardsACardOpponentTriggeredAbility extends TriggeredAbilityImpl
}
return false;
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever an opponent discards a card, " ;
- }
}
diff --git a/Mage/src/main/java/mage/abilities/common/DrawCardControllerTriggeredAbility.java b/Mage/src/main/java/mage/abilities/common/DrawCardControllerTriggeredAbility.java
index bb1e1d67dbb..b75aa6185c2 100644
--- a/Mage/src/main/java/mage/abilities/common/DrawCardControllerTriggeredAbility.java
+++ b/Mage/src/main/java/mage/abilities/common/DrawCardControllerTriggeredAbility.java
@@ -19,6 +19,7 @@ public class DrawCardControllerTriggeredAbility extends TriggeredAbilityImpl {
public DrawCardControllerTriggeredAbility(Zone zone, Effect effect, boolean optional) {
super(zone, effect, optional);
+ setTriggerPhrase("Whenever you draw a card, ");
}
public DrawCardControllerTriggeredAbility(final DrawCardControllerTriggeredAbility ability) {
@@ -35,11 +36,6 @@ public class DrawCardControllerTriggeredAbility extends TriggeredAbilityImpl {
return event.getPlayerId().equals(controllerId);
}
- @Override
- public String getTriggerPhrase() {
- return "Whenever you draw a card, " ;
- }
-
@Override
public DrawCardControllerTriggeredAbility copy() {
return new DrawCardControllerTriggeredAbility(this);
diff --git a/Mage/src/main/java/mage/abilities/common/DrawCardOpponentTriggeredAbility.java b/Mage/src/main/java/mage/abilities/common/DrawCardOpponentTriggeredAbility.java
index 9dff53ab192..64534da366b 100644
--- a/Mage/src/main/java/mage/abilities/common/DrawCardOpponentTriggeredAbility.java
+++ b/Mage/src/main/java/mage/abilities/common/DrawCardOpponentTriggeredAbility.java
@@ -21,6 +21,7 @@ public class DrawCardOpponentTriggeredAbility extends TriggeredAbilityImpl {
public DrawCardOpponentTriggeredAbility(Effect effect, boolean optional, boolean setTargetPointer) {
super(Zone.BATTLEFIELD, effect, optional);
this.setTargetPointer = setTargetPointer;
+ setTriggerPhrase("Whenever an opponent draws a card, ");
}
public DrawCardOpponentTriggeredAbility(final DrawCardOpponentTriggeredAbility ability) {
@@ -50,9 +51,4 @@ public class DrawCardOpponentTriggeredAbility extends TriggeredAbilityImpl {
}
return false;
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever an opponent draws a card, ";
- }
}
diff --git a/Mage/src/main/java/mage/abilities/common/DrawSecondCardTriggeredAbility.java b/Mage/src/main/java/mage/abilities/common/DrawSecondCardTriggeredAbility.java
index ba9b0d17e75..c0a38d83893 100644
--- a/Mage/src/main/java/mage/abilities/common/DrawSecondCardTriggeredAbility.java
+++ b/Mage/src/main/java/mage/abilities/common/DrawSecondCardTriggeredAbility.java
@@ -38,6 +38,7 @@ public class DrawSecondCardTriggeredAbility extends TriggeredAbilityImpl {
this.addWatcher(new DrawSecondCardWatcher());
this.targetController = targetController;
this.addHint(hint);
+ setTriggerPhrase(generateTriggerPhrase());
}
private DrawSecondCardTriggeredAbility(final DrawSecondCardTriggeredAbility ability) {
@@ -75,8 +76,7 @@ public class DrawSecondCardTriggeredAbility extends TriggeredAbilityImpl {
return DrawSecondCardWatcher.checkEvent(event.getPlayerId(), event, game);
}
- @Override
- public String getTriggerPhrase() {
+ public String generateTriggerPhrase() {
switch (targetController) {
case YOU:
return "Whenever you draw your second card each turn, ";
diff --git a/Mage/src/main/java/mage/abilities/common/EnchantedPlayerAttackedTriggeredAbility.java b/Mage/src/main/java/mage/abilities/common/EnchantedPlayerAttackedTriggeredAbility.java
index 3baad231a7b..05bb099c986 100644
--- a/Mage/src/main/java/mage/abilities/common/EnchantedPlayerAttackedTriggeredAbility.java
+++ b/Mage/src/main/java/mage/abilities/common/EnchantedPlayerAttackedTriggeredAbility.java
@@ -15,6 +15,7 @@ public class EnchantedPlayerAttackedTriggeredAbility extends TriggeredAbilityImp
public EnchantedPlayerAttackedTriggeredAbility(Effect effect) {
super(Zone.BATTLEFIELD, effect, false);
+ setTriggerPhrase("Whenever enchanted player is attacked, ");
}
public EnchantedPlayerAttackedTriggeredAbility(final EnchantedPlayerAttackedTriggeredAbility ability) {
@@ -36,11 +37,6 @@ public class EnchantedPlayerAttackedTriggeredAbility extends TriggeredAbilityImp
return false;
}
- @Override
- public String getTriggerPhrase() {
- return "Whenever enchanted player is attacked, " ;
- }
-
@Override
public EnchantedPlayerAttackedTriggeredAbility copy() {
return new EnchantedPlayerAttackedTriggeredAbility(this);
diff --git a/Mage/src/main/java/mage/abilities/common/EndOfCombatTriggeredAbility.java b/Mage/src/main/java/mage/abilities/common/EndOfCombatTriggeredAbility.java
index 4c06840bd2f..9333be7ad64 100644
--- a/Mage/src/main/java/mage/abilities/common/EndOfCombatTriggeredAbility.java
+++ b/Mage/src/main/java/mage/abilities/common/EndOfCombatTriggeredAbility.java
@@ -20,6 +20,7 @@ public class EndOfCombatTriggeredAbility extends TriggeredAbilityImpl {
public EndOfCombatTriggeredAbility(Effect effect, boolean optional, String rule) {
super(Zone.BATTLEFIELD, effect, optional);
this.rule = rule;
+ setTriggerPhrase("At end of combat, ");
}
public EndOfCombatTriggeredAbility(final EndOfCombatTriggeredAbility ability) {
@@ -42,11 +43,6 @@ public class EndOfCombatTriggeredAbility extends TriggeredAbilityImpl {
return true;
}
- @Override
- public String getTriggerPhrase() {
- return "At end of combat, ";
- }
-
@Override
public String getRule() {
if (rule != null) {
diff --git a/Mage/src/main/java/mage/abilities/common/EntersBattlefieldAllTriggeredAbility.java b/Mage/src/main/java/mage/abilities/common/EntersBattlefieldAllTriggeredAbility.java
index 48ac04769b2..4500ff169c9 100644
--- a/Mage/src/main/java/mage/abilities/common/EntersBattlefieldAllTriggeredAbility.java
+++ b/Mage/src/main/java/mage/abilities/common/EntersBattlefieldAllTriggeredAbility.java
@@ -64,6 +64,7 @@ public class EntersBattlefieldAllTriggeredAbility extends TriggeredAbilityImpl {
this.controlledText = controlledText;
this.setTargetPointer = setTargetPointer;
this.thisOrAnother = thisOrAnother;
+ setTriggerPhrase(generateTriggerPhrase());
}
public EntersBattlefieldAllTriggeredAbility(final EntersBattlefieldAllTriggeredAbility ability) {
@@ -111,8 +112,7 @@ public class EntersBattlefieldAllTriggeredAbility extends TriggeredAbilityImpl {
return super.getRule();
}
- @Override
- public String getTriggerPhrase() {
+ private String generateTriggerPhrase() {
StringBuilder sb = new StringBuilder("Whenever ");
if (thisOrAnother) {
sb.append("{this} or another ");
diff --git a/Mage/src/main/java/mage/abilities/common/EntersBattlefieldOrAttacksAllTriggeredAbility.java b/Mage/src/main/java/mage/abilities/common/EntersBattlefieldOrAttacksAllTriggeredAbility.java
index 2168b6857d2..114fa4fc622 100644
--- a/Mage/src/main/java/mage/abilities/common/EntersBattlefieldOrAttacksAllTriggeredAbility.java
+++ b/Mage/src/main/java/mage/abilities/common/EntersBattlefieldOrAttacksAllTriggeredAbility.java
@@ -59,6 +59,7 @@ public class EntersBattlefieldOrAttacksAllTriggeredAbility extends TriggeredAbil
this.rule = rule;
this.controlledText = controlledText;
this.setTargetPointer = setTargetPointer;
+ this.setTriggerPhrase(generateTriggerPhrase());
}
public EntersBattlefieldOrAttacksAllTriggeredAbility(final EntersBattlefieldOrAttacksAllTriggeredAbility ability) {
@@ -128,8 +129,7 @@ public class EntersBattlefieldOrAttacksAllTriggeredAbility extends TriggeredAbil
return super.getRule();
}
- @Override
- public String getTriggerPhrase() {
+ private String generateTriggerPhrase() {
StringBuilder sb = new StringBuilder("Whenever ").append(filter.getMessage());
sb.append(" enters the battlefield ");
if (controlledText) {
diff --git a/Mage/src/main/java/mage/abilities/common/EntersBattlefieldOrAttacksSourceTriggeredAbility.java b/Mage/src/main/java/mage/abilities/common/EntersBattlefieldOrAttacksSourceTriggeredAbility.java
index 4c23c891a99..559e4fe79b5 100644
--- a/Mage/src/main/java/mage/abilities/common/EntersBattlefieldOrAttacksSourceTriggeredAbility.java
+++ b/Mage/src/main/java/mage/abilities/common/EntersBattlefieldOrAttacksSourceTriggeredAbility.java
@@ -19,6 +19,7 @@ public class EntersBattlefieldOrAttacksSourceTriggeredAbility extends TriggeredA
public EntersBattlefieldOrAttacksSourceTriggeredAbility(Effect effect, boolean optional) {
super(Zone.BATTLEFIELD, effect, optional);
+ setTriggerPhrase("Whenever {this} enters the battlefield or attacks, ");
}
public EntersBattlefieldOrAttacksSourceTriggeredAbility(final EntersBattlefieldOrAttacksSourceTriggeredAbility ability) {
@@ -43,10 +44,4 @@ public class EntersBattlefieldOrAttacksSourceTriggeredAbility extends TriggeredA
}
return event.getType() == GameEvent.EventType.ENTERS_THE_BATTLEFIELD && event.getTargetId().equals(this.getSourceId());
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever {this} enters the battlefield or attacks, " ;
- }
-
}
diff --git a/Mage/src/main/java/mage/abilities/common/EntersBattlefieldOrDiesSourceTriggeredAbility.java b/Mage/src/main/java/mage/abilities/common/EntersBattlefieldOrDiesSourceTriggeredAbility.java
index 5a881f2f54a..405efd43124 100644
--- a/Mage/src/main/java/mage/abilities/common/EntersBattlefieldOrDiesSourceTriggeredAbility.java
+++ b/Mage/src/main/java/mage/abilities/common/EntersBattlefieldOrDiesSourceTriggeredAbility.java
@@ -22,6 +22,8 @@ public class EntersBattlefieldOrDiesSourceTriggeredAbility extends TriggeredAbil
super(Zone.BATTLEFIELD, effect, optional);
this.diesText = diesText;
setLeavesTheBattlefieldTrigger(true);
+ setTriggerPhrase("When {this} enters the battlefield or " +
+ (diesText ? "dies" : "is put into a graveyard from the battlefield") + ", ");
}
public EntersBattlefieldOrDiesSourceTriggeredAbility(final EntersBattlefieldOrDiesSourceTriggeredAbility ability) {
@@ -54,10 +56,4 @@ public class EntersBattlefieldOrDiesSourceTriggeredAbility extends TriggeredAbil
}
return false;
}
-
- @Override
- public String getTriggerPhrase() {
- return "When {this} enters the battlefield or " +
- (diesText ? "dies" : "is put into a graveyard from the battlefield") + ", ";
- }
}
diff --git a/Mage/src/main/java/mage/abilities/common/EntersBattlefieldOrLeavesSourceTriggeredAbility.java b/Mage/src/main/java/mage/abilities/common/EntersBattlefieldOrLeavesSourceTriggeredAbility.java
index 4b57bf3fad6..730334f5425 100644
--- a/Mage/src/main/java/mage/abilities/common/EntersBattlefieldOrLeavesSourceTriggeredAbility.java
+++ b/Mage/src/main/java/mage/abilities/common/EntersBattlefieldOrLeavesSourceTriggeredAbility.java
@@ -17,6 +17,7 @@ public class EntersBattlefieldOrLeavesSourceTriggeredAbility extends TriggeredAb
public EntersBattlefieldOrLeavesSourceTriggeredAbility(Effect effect, boolean optional) {
super(Zone.BATTLEFIELD, effect, optional);
setLeavesTheBattlefieldTrigger(true);
+ setTriggerPhrase("When {this} enters or leaves the battlefield, ");
}
public EntersBattlefieldOrLeavesSourceTriggeredAbility(final EntersBattlefieldOrLeavesSourceTriggeredAbility ability) {
@@ -47,9 +48,4 @@ public class EntersBattlefieldOrLeavesSourceTriggeredAbility extends TriggeredAb
}
return false;
}
-
- @Override
- public String getTriggerPhrase() {
- return "When {this} enters or leaves the battlefield, " ;
- }
}
diff --git a/Mage/src/main/java/mage/abilities/common/EntersBattlefieldTriggeredAbility.java b/Mage/src/main/java/mage/abilities/common/EntersBattlefieldTriggeredAbility.java
index 41f55259afc..8d18aeede38 100644
--- a/Mage/src/main/java/mage/abilities/common/EntersBattlefieldTriggeredAbility.java
+++ b/Mage/src/main/java/mage/abilities/common/EntersBattlefieldTriggeredAbility.java
@@ -25,6 +25,7 @@ public class EntersBattlefieldTriggeredAbility extends TriggeredAbilityImpl {
public EntersBattlefieldTriggeredAbility(Effect effect, boolean optional, boolean ignoreRulesGeneration) {
super(Zone.ALL, effect, optional); // Zone.All because a creature with trigger can be put into play and be sacrificed during the resolution of an effect (discard Obstinate Baloth with Smallpox)
this.ignoreRulesGeneration = ignoreRulesGeneration;
+ setTriggerPhrase("When {this} enters the battlefield, ");
}
public EntersBattlefieldTriggeredAbility(final EntersBattlefieldTriggeredAbility ability) {
@@ -47,11 +48,6 @@ public class EntersBattlefieldTriggeredAbility extends TriggeredAbilityImpl {
return false;
}
- @Override
- public String getTriggerPhrase() {
- return "When {this} enters the battlefield, ";
- }
-
@Override
public EntersBattlefieldTriggeredAbility copy() {
return new EntersBattlefieldTriggeredAbility(this);
diff --git a/Mage/src/main/java/mage/abilities/common/EntersBattlefieldUntappedTriggeredAbility.java b/Mage/src/main/java/mage/abilities/common/EntersBattlefieldUntappedTriggeredAbility.java
index de2e35601dd..22cd31cf5f0 100644
--- a/Mage/src/main/java/mage/abilities/common/EntersBattlefieldUntappedTriggeredAbility.java
+++ b/Mage/src/main/java/mage/abilities/common/EntersBattlefieldUntappedTriggeredAbility.java
@@ -13,6 +13,7 @@ public class EntersBattlefieldUntappedTriggeredAbility extends EntersBattlefield
public EntersBattlefieldUntappedTriggeredAbility(Effect effect, boolean optional) {
super(effect, optional);
this.ignoreRulesGeneration = true;
+ setTriggerPhrase("When {this} enters the battlefield untapped, ");
}
private EntersBattlefieldUntappedTriggeredAbility(final EntersBattlefieldUntappedTriggeredAbility ability) {
@@ -32,9 +33,4 @@ public class EntersBattlefieldUntappedTriggeredAbility extends EntersBattlefield
Permanent permanent = game.getPermanent(event.getTargetId());
return permanent != null && !permanent.isTapped();
}
-
- @Override
- public String getTriggerPhrase() {
- return "When {this} enters the battlefield untapped, " ;
- }
}
\ No newline at end of file
diff --git a/Mage/src/main/java/mage/abilities/common/ExertCreatureControllerTriggeredAbility.java b/Mage/src/main/java/mage/abilities/common/ExertCreatureControllerTriggeredAbility.java
index 061d5a0c8bf..0a29bbf2a7c 100644
--- a/Mage/src/main/java/mage/abilities/common/ExertCreatureControllerTriggeredAbility.java
+++ b/Mage/src/main/java/mage/abilities/common/ExertCreatureControllerTriggeredAbility.java
@@ -14,6 +14,7 @@ public class ExertCreatureControllerTriggeredAbility extends TriggeredAbilityImp
public ExertCreatureControllerTriggeredAbility(Effect effect) {
super(Zone.BATTLEFIELD, effect);
+ setTriggerPhrase("Whenever you exert a creature, ");
}
public ExertCreatureControllerTriggeredAbility(final ExertCreatureControllerTriggeredAbility ability) {
@@ -37,9 +38,4 @@ public class ExertCreatureControllerTriggeredAbility extends TriggeredAbilityImp
public ExertCreatureControllerTriggeredAbility copy() {
return new ExertCreatureControllerTriggeredAbility(this);
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever you exert a creature, " ;
- }
}
diff --git a/Mage/src/main/java/mage/abilities/common/ExploitCreatureTriggeredAbility.java b/Mage/src/main/java/mage/abilities/common/ExploitCreatureTriggeredAbility.java
index 1c9f7501967..d7d0269e4c6 100644
--- a/Mage/src/main/java/mage/abilities/common/ExploitCreatureTriggeredAbility.java
+++ b/Mage/src/main/java/mage/abilities/common/ExploitCreatureTriggeredAbility.java
@@ -30,6 +30,7 @@ public class ExploitCreatureTriggeredAbility extends TriggeredAbilityImpl {
this.setTargetPointer = setTargetPointer;
// For example: if the creature with the Exploit ability is sacrificed, the trigger ability must use the controller of the LKI, not the owner
setLeavesTheBattlefieldTrigger(true); // https://github.com/magefree/mage/issues/8317
+ setTriggerPhrase("When {this} exploits a creature, ");
}
public ExploitCreatureTriggeredAbility(final ExploitCreatureTriggeredAbility ability) {
@@ -75,9 +76,4 @@ public class ExploitCreatureTriggeredAbility extends TriggeredAbilityImpl {
}
return false;
}
-
- @Override
- public String getTriggerPhrase() {
- return "When {this} exploits a creature, ";
- }
}
diff --git a/Mage/src/main/java/mage/abilities/common/ForetellSourceControllerTriggeredAbility.java b/Mage/src/main/java/mage/abilities/common/ForetellSourceControllerTriggeredAbility.java
index fc9c8cf73ca..6f733affa8e 100644
--- a/Mage/src/main/java/mage/abilities/common/ForetellSourceControllerTriggeredAbility.java
+++ b/Mage/src/main/java/mage/abilities/common/ForetellSourceControllerTriggeredAbility.java
@@ -15,6 +15,7 @@ public class ForetellSourceControllerTriggeredAbility extends TriggeredAbilityIm
public ForetellSourceControllerTriggeredAbility(Effect effect) {
super(Zone.BATTLEFIELD, effect, false);
+ setTriggerPhrase("Whenever you foretell a card, ");
}
public ForetellSourceControllerTriggeredAbility(final ForetellSourceControllerTriggeredAbility ability) {
@@ -35,11 +36,6 @@ public class ForetellSourceControllerTriggeredAbility extends TriggeredAbilityIm
&& isControlledBy(player.getId()));
}
- @Override
- public String getTriggerPhrase() {
- return "Whenever you foretell a card, ";
- }
-
@Override
public ForetellSourceControllerTriggeredAbility copy() {
return new ForetellSourceControllerTriggeredAbility(this);
diff --git a/Mage/src/main/java/mage/abilities/common/GainLifeControllerTriggeredAbility.java b/Mage/src/main/java/mage/abilities/common/GainLifeControllerTriggeredAbility.java
index 90f01a19cc3..45ef253bc07 100644
--- a/Mage/src/main/java/mage/abilities/common/GainLifeControllerTriggeredAbility.java
+++ b/Mage/src/main/java/mage/abilities/common/GainLifeControllerTriggeredAbility.java
@@ -25,6 +25,7 @@ public class GainLifeControllerTriggeredAbility extends TriggeredAbilityImpl {
public GainLifeControllerTriggeredAbility(Effect effect, boolean optional, boolean setTargetPointer) {
super(Zone.BATTLEFIELD, effect, optional);
this.setTargetPointer = setTargetPointer;
+ setTriggerPhrase("Whenever you gain life, ");
}
public GainLifeControllerTriggeredAbility(final GainLifeControllerTriggeredAbility ability) {
@@ -53,9 +54,4 @@ public class GainLifeControllerTriggeredAbility extends TriggeredAbilityImpl {
}
return false;
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever you gain life, ";
- }
}
diff --git a/Mage/src/main/java/mage/abilities/common/GainLifeFirstTimeTriggeredAbility.java b/Mage/src/main/java/mage/abilities/common/GainLifeFirstTimeTriggeredAbility.java
index c34f32a3a03..6c1353ea51d 100644
--- a/Mage/src/main/java/mage/abilities/common/GainLifeFirstTimeTriggeredAbility.java
+++ b/Mage/src/main/java/mage/abilities/common/GainLifeFirstTimeTriggeredAbility.java
@@ -33,6 +33,7 @@ public class GainLifeFirstTimeTriggeredAbility extends TriggeredAbilityImpl {
this.when = when;
this.addWatcher(new GainLifeFirstTimeWatcher());
this.addHint(hint);
+ setTriggerPhrase("When" + (when ? "" : "ever") + " you gain life for the first time each turn, ");
}
private GainLifeFirstTimeTriggeredAbility(final GainLifeFirstTimeTriggeredAbility ability) {
@@ -51,11 +52,6 @@ public class GainLifeFirstTimeTriggeredAbility extends TriggeredAbilityImpl {
return watcher != null && watcher.checkEvent(getControllerId(), event);
}
- @Override
- public String getTriggerPhrase() {
- return "When" + (when ? "" : "ever") + " you gain life for the first time each turn, " ;
- }
-
@Override
public GainLifeFirstTimeTriggeredAbility copy() {
return new GainLifeFirstTimeTriggeredAbility(this);
diff --git a/Mage/src/main/java/mage/abilities/common/LandfallAbility.java b/Mage/src/main/java/mage/abilities/common/LandfallAbility.java
index 9d288ed019b..9fa9219366e 100644
--- a/Mage/src/main/java/mage/abilities/common/LandfallAbility.java
+++ b/Mage/src/main/java/mage/abilities/common/LandfallAbility.java
@@ -34,6 +34,7 @@ public class LandfallAbility extends TriggeredAbilityImpl {
super(zone, effect, optional);
this.setTargetPointer = setTargetPointer;
this.setAbilityWord(AbilityWord.LANDFALL);
+ setTriggerPhrase("Whenever a land enters the battlefield under your control, ");
}
public LandfallAbility(final LandfallAbility ability) {
@@ -64,11 +65,6 @@ public class LandfallAbility extends TriggeredAbilityImpl {
return false;
}
- @Override
- public String getTriggerPhrase() {
- return "Whenever a land enters the battlefield under your control, ";
- }
-
@Override
public LandfallAbility copy() {
return new LandfallAbility(this);
diff --git a/Mage/src/main/java/mage/abilities/common/LeavesBattlefieldAllTriggeredAbility.java b/Mage/src/main/java/mage/abilities/common/LeavesBattlefieldAllTriggeredAbility.java
index da979db570c..139059b683b 100644
--- a/Mage/src/main/java/mage/abilities/common/LeavesBattlefieldAllTriggeredAbility.java
+++ b/Mage/src/main/java/mage/abilities/common/LeavesBattlefieldAllTriggeredAbility.java
@@ -38,6 +38,7 @@ public class LeavesBattlefieldAllTriggeredAbility extends TriggeredAbilityImpl {
super(zone, effect, optional);
this.filter = filter;
this.setTargetPointer = setTargetPointer;
+ setTriggerPhrase("Whenever " + filter.getMessage() + " leaves the battlefield, ");
}
protected LeavesBattlefieldAllTriggeredAbility(final LeavesBattlefieldAllTriggeredAbility ability) {
@@ -80,9 +81,4 @@ public class LeavesBattlefieldAllTriggeredAbility extends TriggeredAbilityImpl {
}
return false;
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever " + filter.getMessage() + " leaves the battlefield, " ;
- }
}
diff --git a/Mage/src/main/java/mage/abilities/common/MagecraftAbility.java b/Mage/src/main/java/mage/abilities/common/MagecraftAbility.java
index 52fe52c65a2..bafe89f6156 100644
--- a/Mage/src/main/java/mage/abilities/common/MagecraftAbility.java
+++ b/Mage/src/main/java/mage/abilities/common/MagecraftAbility.java
@@ -22,6 +22,7 @@ public class MagecraftAbility extends TriggeredAbilityImpl {
public MagecraftAbility(Effect effect, boolean optional) {
super(Zone.BATTLEFIELD, effect, optional);
this.setAbilityWord(AbilityWord.MAGECRAFT);
+ setTriggerPhrase("Whenever you cast or copy an instant or sorcery spell, ");
}
private MagecraftAbility(final MagecraftAbility ability) {
@@ -46,11 +47,6 @@ public class MagecraftAbility extends TriggeredAbilityImpl {
return true;
}
- @Override
- public String getTriggerPhrase() {
- return "Whenever you cast or copy an instant or sorcery spell, ";
- }
-
@Override
public MagecraftAbility copy() {
return new MagecraftAbility(this);
diff --git a/Mage/src/main/java/mage/abilities/common/MutatesSourceTriggeredAbility.java b/Mage/src/main/java/mage/abilities/common/MutatesSourceTriggeredAbility.java
index 32275b5d808..c545f2dbacc 100644
--- a/Mage/src/main/java/mage/abilities/common/MutatesSourceTriggeredAbility.java
+++ b/Mage/src/main/java/mage/abilities/common/MutatesSourceTriggeredAbility.java
@@ -17,6 +17,7 @@ public class MutatesSourceTriggeredAbility extends TriggeredAbilityImpl {
public MutatesSourceTriggeredAbility(Effect effect, boolean optional) {
super(Zone.BATTLEFIELD, effect, optional);
+ setTriggerPhrase("Whenever this creature mutates, ");
}
private MutatesSourceTriggeredAbility(final MutatesSourceTriggeredAbility ability) {
@@ -39,9 +40,4 @@ public class MutatesSourceTriggeredAbility extends TriggeredAbilityImpl {
// TODO: implement this
return false;
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever this creature mutates, " ;
- }
}
diff --git a/Mage/src/main/java/mage/abilities/common/OnEventTriggeredAbility.java b/Mage/src/main/java/mage/abilities/common/OnEventTriggeredAbility.java
index 30ea3c164c3..2534c2865cf 100644
--- a/Mage/src/main/java/mage/abilities/common/OnEventTriggeredAbility.java
+++ b/Mage/src/main/java/mage/abilities/common/OnEventTriggeredAbility.java
@@ -35,6 +35,7 @@ public class OnEventTriggeredAbility extends TriggeredAbilityImpl {
this.eventType = eventType;
this.eventName = eventName;
this.allPlayers = allPlayers;
+ setTriggerPhrase("At the " + eventName + ", ");
}
public OnEventTriggeredAbility(final OnEventTriggeredAbility ability) {
@@ -54,11 +55,6 @@ public class OnEventTriggeredAbility extends TriggeredAbilityImpl {
return allPlayers || event.getPlayerId().equals(this.controllerId);
}
- @Override
- public String getTriggerPhrase() {
- return "At the " + eventName + ", " ;
- }
-
@Override
public OnEventTriggeredAbility copy() {
return new OnEventTriggeredAbility(this);
diff --git a/Mage/src/main/java/mage/abilities/common/OneOrMoreCountersAddedTriggeredAbility.java b/Mage/src/main/java/mage/abilities/common/OneOrMoreCountersAddedTriggeredAbility.java
index 06794b62394..170ea810380 100644
--- a/Mage/src/main/java/mage/abilities/common/OneOrMoreCountersAddedTriggeredAbility.java
+++ b/Mage/src/main/java/mage/abilities/common/OneOrMoreCountersAddedTriggeredAbility.java
@@ -22,6 +22,7 @@ public class OneOrMoreCountersAddedTriggeredAbility extends TriggeredAbilityImpl
public OneOrMoreCountersAddedTriggeredAbility(Effect effect, boolean optional, CounterType counterType) {
super(Zone.ALL, effect, optional);
this.counterType = counterType;
+ setTriggerPhrase("Whenever one or more " + counterType.getName() + " counters are put on {this}, ");
}
private OneOrMoreCountersAddedTriggeredAbility(final OneOrMoreCountersAddedTriggeredAbility ability) {
@@ -45,9 +46,4 @@ public class OneOrMoreCountersAddedTriggeredAbility extends TriggeredAbilityImpl
&& event.getAmount() > 0
&& event.getTargetId().equals(this.getSourceId());
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever one or more " + counterType.getName() + " counters are put on {this}, " ;
- }
}
diff --git a/Mage/src/main/java/mage/abilities/common/OneOrMoreDiceRolledTriggeredAbility.java b/Mage/src/main/java/mage/abilities/common/OneOrMoreDiceRolledTriggeredAbility.java
index 1afeb97784a..5c119a35695 100644
--- a/Mage/src/main/java/mage/abilities/common/OneOrMoreDiceRolledTriggeredAbility.java
+++ b/Mage/src/main/java/mage/abilities/common/OneOrMoreDiceRolledTriggeredAbility.java
@@ -20,6 +20,7 @@ public class OneOrMoreDiceRolledTriggeredAbility extends TriggeredAbilityImpl {
public OneOrMoreDiceRolledTriggeredAbility(Effect effect, boolean optional) {
super(Zone.BATTLEFIELD, effect, optional);
+ setTriggerPhrase("Whenever you roll one or more dice, ");
}
private OneOrMoreDiceRolledTriggeredAbility(final OneOrMoreDiceRolledTriggeredAbility effect) {
@@ -61,11 +62,6 @@ public class OneOrMoreDiceRolledTriggeredAbility extends TriggeredAbilityImpl {
return true;
}
- @Override
- public String getTriggerPhrase() {
- return "Whenever you roll one or more dice, ";
- }
-
@Override
public String getRule() {
return super.getRule();
diff --git a/Mage/src/main/java/mage/abilities/common/OpponentPlaysLandTriggeredAbility.java b/Mage/src/main/java/mage/abilities/common/OpponentPlaysLandTriggeredAbility.java
index f518e1a74e7..bbd90879091 100644
--- a/Mage/src/main/java/mage/abilities/common/OpponentPlaysLandTriggeredAbility.java
+++ b/Mage/src/main/java/mage/abilities/common/OpponentPlaysLandTriggeredAbility.java
@@ -14,6 +14,7 @@ public class OpponentPlaysLandTriggeredAbility extends TriggeredAbilityImpl {
public OpponentPlaysLandTriggeredAbility(Zone zone, Effect effect, Boolean optional) {
super(zone, effect, optional);
+ setTriggerPhrase("Whenever an opponent plays a land, ");
}
public OpponentPlaysLandTriggeredAbility(OpponentPlaysLandTriggeredAbility ability) {
@@ -35,9 +36,4 @@ public class OpponentPlaysLandTriggeredAbility extends TriggeredAbilityImpl {
public OpponentPlaysLandTriggeredAbility copy() {
return new OpponentPlaysLandTriggeredAbility(this);
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever an opponent plays a land, ";
- }
}
diff --git a/Mage/src/main/java/mage/abilities/common/OpponentSacrificesNonTokenPermanentTriggeredAbility.java b/Mage/src/main/java/mage/abilities/common/OpponentSacrificesNonTokenPermanentTriggeredAbility.java
index 401f17f19d9..e3d124a63e0 100644
--- a/Mage/src/main/java/mage/abilities/common/OpponentSacrificesNonTokenPermanentTriggeredAbility.java
+++ b/Mage/src/main/java/mage/abilities/common/OpponentSacrificesNonTokenPermanentTriggeredAbility.java
@@ -14,6 +14,7 @@ public class OpponentSacrificesNonTokenPermanentTriggeredAbility extends Trigger
public OpponentSacrificesNonTokenPermanentTriggeredAbility(Effect effect) {
super(Zone.BATTLEFIELD, effect, false);
+ setTriggerPhrase("Whenever an opponent sacrifices a nontoken permanent, ");
}
public OpponentSacrificesNonTokenPermanentTriggeredAbility(final OpponentSacrificesNonTokenPermanentTriggeredAbility ability) {
@@ -37,11 +38,6 @@ public class OpponentSacrificesNonTokenPermanentTriggeredAbility extends Trigger
return false;
}
- @Override
- public String getTriggerPhrase() {
- return "Whenever an opponent sacrifices a nontoken permanent, " ;
- }
-
@Override
public OpponentSacrificesNonTokenPermanentTriggeredAbility copy() {
return new OpponentSacrificesNonTokenPermanentTriggeredAbility(this);
diff --git a/Mage/src/main/java/mage/abilities/common/OpponentSacrificesPermanentTriggeredAbility.java b/Mage/src/main/java/mage/abilities/common/OpponentSacrificesPermanentTriggeredAbility.java
index 7cefb76c257..593c96b95ca 100644
--- a/Mage/src/main/java/mage/abilities/common/OpponentSacrificesPermanentTriggeredAbility.java
+++ b/Mage/src/main/java/mage/abilities/common/OpponentSacrificesPermanentTriggeredAbility.java
@@ -14,6 +14,7 @@ public class OpponentSacrificesPermanentTriggeredAbility extends TriggeredAbilit
public OpponentSacrificesPermanentTriggeredAbility(Effect effect) {
super(Zone.BATTLEFIELD, effect, false);
+ setTriggerPhrase("Whenever an opponent sacrifices a nontoken permanent, ");
}
public OpponentSacrificesPermanentTriggeredAbility(final OpponentSacrificesPermanentTriggeredAbility ability) {
@@ -39,11 +40,6 @@ public class OpponentSacrificesPermanentTriggeredAbility extends TriggeredAbilit
return false;
}
- @Override
- public String getTriggerPhrase() {
- return "Whenever an opponent sacrifices a nontoken permanent, " ;
- }
-
@Override
public OpponentSacrificesPermanentTriggeredAbility copy() {
return new OpponentSacrificesPermanentTriggeredAbility(this);
diff --git a/Mage/src/main/java/mage/abilities/common/PhaseInTriggeredAbility.java b/Mage/src/main/java/mage/abilities/common/PhaseInTriggeredAbility.java
index dca1e4ad41e..d24338a4912 100644
--- a/Mage/src/main/java/mage/abilities/common/PhaseInTriggeredAbility.java
+++ b/Mage/src/main/java/mage/abilities/common/PhaseInTriggeredAbility.java
@@ -14,6 +14,7 @@ public class PhaseInTriggeredAbility extends TriggeredAbilityImpl {
public PhaseInTriggeredAbility(Effect effect, boolean optional) {
super(Zone.BATTLEFIELD, effect, optional);
+ setTriggerPhrase("When {this} phases in, ");
}
public PhaseInTriggeredAbility(final PhaseInTriggeredAbility ability) {
@@ -34,9 +35,4 @@ public class PhaseInTriggeredAbility extends TriggeredAbilityImpl {
public boolean checkTrigger(GameEvent event, Game game) {
return getSourceId().equals(event.getTargetId());
}
-
- @Override
- public String getTriggerPhrase() {
- return "When {this} phases in, " ;
- }
}
diff --git a/Mage/src/main/java/mage/abilities/common/PutCardIntoGraveFromAnywhereAllTriggeredAbility.java b/Mage/src/main/java/mage/abilities/common/PutCardIntoGraveFromAnywhereAllTriggeredAbility.java
index 78313bcb411..5e6549feda4 100644
--- a/Mage/src/main/java/mage/abilities/common/PutCardIntoGraveFromAnywhereAllTriggeredAbility.java
+++ b/Mage/src/main/java/mage/abilities/common/PutCardIntoGraveFromAnywhereAllTriggeredAbility.java
@@ -19,7 +19,6 @@ import mage.target.targetpointer.FixedTarget;
public class PutCardIntoGraveFromAnywhereAllTriggeredAbility extends TriggeredAbilityImpl {
private final FilterCard filter;
- private final String ruleText;
private final SetTargetPointer setTargetPointer;
public PutCardIntoGraveFromAnywhereAllTriggeredAbility(Effect effect, boolean optional, TargetController targetController) {
@@ -54,14 +53,12 @@ public class PutCardIntoGraveFromAnywhereAllTriggeredAbility extends TriggeredAb
sb.append('a');
}
sb.append(" graveyard from anywhere, ");
- ruleText = sb.toString();
-
+ setTriggerPhrase(sb.toString());
}
public PutCardIntoGraveFromAnywhereAllTriggeredAbility(final PutCardIntoGraveFromAnywhereAllTriggeredAbility ability) {
super(ability);
this.filter = ability.filter;
- this.ruleText = ability.ruleText;
this.setTargetPointer = ability.setTargetPointer;
}
@@ -96,9 +93,4 @@ public class PutCardIntoGraveFromAnywhereAllTriggeredAbility extends TriggeredAb
}
return true;
}
-
- @Override
- public String getTriggerPhrase() {
- return ruleText;
- }
}
diff --git a/Mage/src/main/java/mage/abilities/common/PutIntoGraveFromBattlefieldAllTriggeredAbility.java b/Mage/src/main/java/mage/abilities/common/PutIntoGraveFromBattlefieldAllTriggeredAbility.java
index 32bc8aaf5bf..07dcf7aa16e 100644
--- a/Mage/src/main/java/mage/abilities/common/PutIntoGraveFromBattlefieldAllTriggeredAbility.java
+++ b/Mage/src/main/java/mage/abilities/common/PutIntoGraveFromBattlefieldAllTriggeredAbility.java
@@ -30,6 +30,8 @@ public class PutIntoGraveFromBattlefieldAllTriggeredAbility extends TriggeredAbi
this.filter = filter;
this.onlyToControllerGraveyard = onlyToControllerGraveyard;
this.setTargetPointer = setTargetPointer;
+ setTriggerPhrase("Whenever " + filter.getMessage() + " is put into " + (onlyToControllerGraveyard ? "your" : "a")
+ + " graveyard from the battlefield, ");
}
public PutIntoGraveFromBattlefieldAllTriggeredAbility(final PutIntoGraveFromBattlefieldAllTriggeredAbility ability) {
@@ -63,12 +65,6 @@ public class PutIntoGraveFromBattlefieldAllTriggeredAbility extends TriggeredAbi
return false;
}
- @Override
- public String getTriggerPhrase() {
- return "Whenever " + filter.getMessage() + " is put into " + (onlyToControllerGraveyard ? "your" : "a")
- + " graveyard from the battlefield, " ;
- }
-
@Override
public PutIntoGraveFromBattlefieldAllTriggeredAbility copy() {
return new PutIntoGraveFromBattlefieldAllTriggeredAbility(this);
diff --git a/Mage/src/main/java/mage/abilities/common/PutIntoGraveFromBattlefieldSourceTriggeredAbility.java b/Mage/src/main/java/mage/abilities/common/PutIntoGraveFromBattlefieldSourceTriggeredAbility.java
index d672f331100..f485217878d 100644
--- a/Mage/src/main/java/mage/abilities/common/PutIntoGraveFromBattlefieldSourceTriggeredAbility.java
+++ b/Mage/src/main/java/mage/abilities/common/PutIntoGraveFromBattlefieldSourceTriggeredAbility.java
@@ -23,6 +23,7 @@ public class PutIntoGraveFromBattlefieldSourceTriggeredAbility extends Triggered
super(Zone.ALL, effect, optional);
setLeavesTheBattlefieldTrigger(true);
this.onlyToControllerGraveyard = onlyToControllerGraveyard;
+ setTriggerPhrase("When {this} is put into " + (onlyToControllerGraveyard ? "your" : "a") + " graveyard from the battlefield, ");
}
public PutIntoGraveFromBattlefieldSourceTriggeredAbility(final PutIntoGraveFromBattlefieldSourceTriggeredAbility ability) {
@@ -54,9 +55,4 @@ public class PutIntoGraveFromBattlefieldSourceTriggeredAbility extends Triggered
this.getEffects().setValue("permanentWasCreature", permanent.isCreature(game));
return true;
}
-
- @Override
- public String getTriggerPhrase() {
- return "When {this} is put into " + (onlyToControllerGraveyard ? "your" : "a") + " graveyard from the battlefield, ";
- }
}
diff --git a/Mage/src/main/java/mage/abilities/common/SacrificeAllTriggeredAbility.java b/Mage/src/main/java/mage/abilities/common/SacrificeAllTriggeredAbility.java
index 589bf164a8d..d5fc7e994d6 100644
--- a/Mage/src/main/java/mage/abilities/common/SacrificeAllTriggeredAbility.java
+++ b/Mage/src/main/java/mage/abilities/common/SacrificeAllTriggeredAbility.java
@@ -23,6 +23,7 @@ public class SacrificeAllTriggeredAbility extends TriggeredAbilityImpl {
super(Zone.BATTLEFIELD, effect, optional);
this.filter = filter;
this.sacrificingPlayer = sacrificingPlayer;
+ setTriggerPhrase(generateTriggerPhrase());
}
public SacrificeAllTriggeredAbility(final SacrificeAllTriggeredAbility ability) {
@@ -61,9 +62,8 @@ public class SacrificeAllTriggeredAbility extends TriggeredAbilityImpl {
return sacrificed && filter.match(sacrificedPermanent, getControllerId(), this, game);
}
- @Override
- public String getTriggerPhrase() {
- String targetControllerText = "a player sacrifices ";
+ private String generateTriggerPhrase() {
+ String targetControllerText;
switch (sacrificingPlayer) {
case YOU:
targetControllerText = "you sacrifice ";
@@ -71,6 +71,9 @@ public class SacrificeAllTriggeredAbility extends TriggeredAbilityImpl {
case OPPONENT:
targetControllerText = "an opponent sacrifices ";
break;
+ default:
+ targetControllerText = "a player sacrifices ";
+ break;
}
return "Whenever " + targetControllerText + filter.getMessage() + ", ";
}
diff --git a/Mage/src/main/java/mage/abilities/common/SacrificePermanentTriggeredAbility.java b/Mage/src/main/java/mage/abilities/common/SacrificePermanentTriggeredAbility.java
index 016f5bcfea5..7d6407e33e5 100644
--- a/Mage/src/main/java/mage/abilities/common/SacrificePermanentTriggeredAbility.java
+++ b/Mage/src/main/java/mage/abilities/common/SacrificePermanentTriggeredAbility.java
@@ -35,6 +35,7 @@ public class SacrificePermanentTriggeredAbility extends TriggeredAbilityImpl {
setLeavesTheBattlefieldTrigger(true);
this.filter = filter;
this.setTargetPointer = setTargetPointer;
+ setTriggerPhrase("Whenever you sacrifice " + filter.getMessage() + ", ");
}
public SacrificePermanentTriggeredAbility(final SacrificePermanentTriggeredAbility ability) {
@@ -66,9 +67,4 @@ public class SacrificePermanentTriggeredAbility extends TriggeredAbilityImpl {
}
return true;
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever you sacrifice " + filter.getMessage() + ", ";
- }
}
diff --git a/Mage/src/main/java/mage/abilities/common/SacrificeSourceTriggeredAbility.java b/Mage/src/main/java/mage/abilities/common/SacrificeSourceTriggeredAbility.java
index cd25ab6809e..81fceb662ae 100644
--- a/Mage/src/main/java/mage/abilities/common/SacrificeSourceTriggeredAbility.java
+++ b/Mage/src/main/java/mage/abilities/common/SacrificeSourceTriggeredAbility.java
@@ -22,6 +22,7 @@ public class SacrificeSourceTriggeredAbility extends TriggeredAbilityImpl {
public SacrificeSourceTriggeredAbility(Effect effect, boolean optional, boolean setTargetPointer) {
super(Zone.ALL, effect, optional);
this.setTargetPointer = setTargetPointer;
+ setTriggerPhrase("When you sacrifice {this}, ");
}
public SacrificeSourceTriggeredAbility(final SacrificeSourceTriggeredAbility ability) {
@@ -49,9 +50,4 @@ public class SacrificeSourceTriggeredAbility extends TriggeredAbilityImpl {
}
return true;
}
-
- @Override
- public String getTriggerPhrase() {
- return "When you sacrifice {this}, ";
- }
}
diff --git a/Mage/src/main/java/mage/abilities/common/SpellCastAllTriggeredAbility.java b/Mage/src/main/java/mage/abilities/common/SpellCastAllTriggeredAbility.java
index f3eedd69081..81dfc5d431f 100644
--- a/Mage/src/main/java/mage/abilities/common/SpellCastAllTriggeredAbility.java
+++ b/Mage/src/main/java/mage/abilities/common/SpellCastAllTriggeredAbility.java
@@ -42,6 +42,7 @@ public class SpellCastAllTriggeredAbility extends TriggeredAbilityImpl {
super(zone, effect, optional);
this.filter = filter;
this.setTargetPointer = setTargetPointer;
+ setTriggerPhrase("Whenever a player casts " + CardUtil.addArticle(filter.getMessage()) + ", ");
}
public SpellCastAllTriggeredAbility(final SpellCastAllTriggeredAbility ability) {
@@ -82,11 +83,6 @@ public class SpellCastAllTriggeredAbility extends TriggeredAbilityImpl {
return super.getRule();
}
- @Override
- public String getTriggerPhrase() {
- return "Whenever a player casts " + CardUtil.addArticle(filter.getMessage()) + ", ";
- }
-
@Override
public SpellCastAllTriggeredAbility copy() {
return new SpellCastAllTriggeredAbility(this);
diff --git a/Mage/src/main/java/mage/abilities/common/SpellCastControllerTriggeredAbility.java b/Mage/src/main/java/mage/abilities/common/SpellCastControllerTriggeredAbility.java
index b49ffe73aae..9bfa87005e8 100644
--- a/Mage/src/main/java/mage/abilities/common/SpellCastControllerTriggeredAbility.java
+++ b/Mage/src/main/java/mage/abilities/common/SpellCastControllerTriggeredAbility.java
@@ -15,13 +15,13 @@ import mage.target.targetpointer.FixedTarget;
*/
public class SpellCastControllerTriggeredAbility extends TriggeredAbilityImpl {
- protected FilterSpell filter;
- protected String rule;
+ protected final FilterSpell filter;
+ protected String rule; // TODO: This sould be final, but is not because of the telescoping contructors
// The source SPELL that triggered the ability will be set as target to effect
- protected boolean rememberSource = false;
+ protected boolean rememberSource;
// Use it if you want remember CARD instead spell
- protected boolean rememberSourceAsCard = false;
+ protected boolean rememberSourceAsCard;
public SpellCastControllerTriggeredAbility(Effect effect, boolean optional) {
this(Zone.BATTLEFIELD, effect, StaticFilters.FILTER_SPELL_A, optional, false);
@@ -49,6 +49,7 @@ public class SpellCastControllerTriggeredAbility extends TriggeredAbilityImpl {
this.filter = filter;
this.rememberSource = rememberSource;
this.rememberSourceAsCard = rememberSourceAsCard;
+ setTriggerPhrase("Whenever you cast " + filter.getMessage() + ", ");
}
public SpellCastControllerTriggeredAbility(final SpellCastControllerTriggeredAbility ability) {
@@ -86,15 +87,7 @@ public class SpellCastControllerTriggeredAbility extends TriggeredAbilityImpl {
@Override
public String getRule() {
- if (rule != null && !rule.isEmpty()) {
- return rule;
- }
- return super.getRule();
- }
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever you cast " + filter.getMessage() + ", ";
+ return rule != null ? rule : super.getRule();
}
@Override
diff --git a/Mage/src/main/java/mage/abilities/common/SpellCastOpponentTriggeredAbility.java b/Mage/src/main/java/mage/abilities/common/SpellCastOpponentTriggeredAbility.java
index 5845b595a9b..ddc9a681dc9 100644
--- a/Mage/src/main/java/mage/abilities/common/SpellCastOpponentTriggeredAbility.java
+++ b/Mage/src/main/java/mage/abilities/common/SpellCastOpponentTriggeredAbility.java
@@ -42,6 +42,7 @@ public class SpellCastOpponentTriggeredAbility extends TriggeredAbilityImpl {
super(zone, effect, optional);
this.filter = filter;
this.setTargetPointer = setTargetPointer;
+ setTriggerPhrase("Whenever an opponent casts " + filter.getMessage() + ", ");
}
public SpellCastOpponentTriggeredAbility(final SpellCastOpponentTriggeredAbility ability) {
@@ -80,11 +81,6 @@ public class SpellCastOpponentTriggeredAbility extends TriggeredAbilityImpl {
return true;
}
- @Override
- public String getTriggerPhrase() {
- return "Whenever an opponent casts " + filter.getMessage() + ", " ;
- }
-
@Override
public SpellCastOpponentTriggeredAbility copy() {
return new SpellCastOpponentTriggeredAbility(this);
diff --git a/Mage/src/main/java/mage/abilities/common/SpellCounteredControllerTriggeredAbility.java b/Mage/src/main/java/mage/abilities/common/SpellCounteredControllerTriggeredAbility.java
index 66c78a55229..7e350dafc04 100644
--- a/Mage/src/main/java/mage/abilities/common/SpellCounteredControllerTriggeredAbility.java
+++ b/Mage/src/main/java/mage/abilities/common/SpellCounteredControllerTriggeredAbility.java
@@ -21,6 +21,7 @@ public class SpellCounteredControllerTriggeredAbility extends TriggeredAbilityIm
public SpellCounteredControllerTriggeredAbility(Effect effect, boolean optional) {
super(Zone.BATTLEFIELD, effect, optional);
+ setTriggerPhrase("Whenever a spell or ability you control counters a spell, ");
}
public SpellCounteredControllerTriggeredAbility(final SpellCounteredControllerTriggeredAbility ability) {
@@ -49,9 +50,4 @@ public class SpellCounteredControllerTriggeredAbility extends TriggeredAbilityIm
}
return false;
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever a spell or ability you control counters a spell, " ;
- }
}
diff --git a/Mage/src/main/java/mage/abilities/common/TapForManaAllTriggeredAbility.java b/Mage/src/main/java/mage/abilities/common/TapForManaAllTriggeredAbility.java
index a28ffeaa6d1..70c7f3e283d 100644
--- a/Mage/src/main/java/mage/abilities/common/TapForManaAllTriggeredAbility.java
+++ b/Mage/src/main/java/mage/abilities/common/TapForManaAllTriggeredAbility.java
@@ -27,6 +27,7 @@ public class TapForManaAllTriggeredAbility extends TriggeredAbilityImpl {
super(Zone.BATTLEFIELD, effect);
this.filter = filter;
this.setTargetPointer = setTargetPointer;
+ setTriggerPhrase("Whenever " + filter.getMessage() + " for mana, ");
}
public TapForManaAllTriggeredAbility(TapForManaAllTriggeredAbility ability) {
@@ -68,9 +69,4 @@ public class TapForManaAllTriggeredAbility extends TriggeredAbilityImpl {
public TapForManaAllTriggeredAbility copy() {
return new TapForManaAllTriggeredAbility(this);
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever " + filter.getMessage() + " for mana, " ;
- }
}
\ No newline at end of file
diff --git a/Mage/src/main/java/mage/abilities/common/TapForManaAllTriggeredManaAbility.java b/Mage/src/main/java/mage/abilities/common/TapForManaAllTriggeredManaAbility.java
index 3874f6ed155..cd5e4fc6490 100644
--- a/Mage/src/main/java/mage/abilities/common/TapForManaAllTriggeredManaAbility.java
+++ b/Mage/src/main/java/mage/abilities/common/TapForManaAllTriggeredManaAbility.java
@@ -25,6 +25,7 @@ public class TapForManaAllTriggeredManaAbility extends TriggeredManaAbility {
super(Zone.BATTLEFIELD, effect);
this.filter = filter;
this.setTargetPointer = setTargetPointer;
+ setTriggerPhrase("Whenever " + filter.getMessage() + " for mana, ");
}
public TapForManaAllTriggeredManaAbility(TapForManaAllTriggeredManaAbility ability) {
@@ -62,9 +63,4 @@ public class TapForManaAllTriggeredManaAbility extends TriggeredManaAbility {
public TapForManaAllTriggeredManaAbility copy() {
return new TapForManaAllTriggeredManaAbility(this);
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever " + filter.getMessage() + " for mana, " ;
- }
}
\ No newline at end of file
diff --git a/Mage/src/main/java/mage/abilities/common/TappedNotAttackingTriggeredAbility.java b/Mage/src/main/java/mage/abilities/common/TappedNotAttackingTriggeredAbility.java
index 3a136f02b0e..a713cdf5673 100644
--- a/Mage/src/main/java/mage/abilities/common/TappedNotAttackingTriggeredAbility.java
+++ b/Mage/src/main/java/mage/abilities/common/TappedNotAttackingTriggeredAbility.java
@@ -14,6 +14,8 @@ public class TappedNotAttackingTriggeredAbility extends TriggeredAbilityImpl {
public TappedNotAttackingTriggeredAbility(Effect effect, boolean optional) {
super(Zone.BATTLEFIELD, effect, optional);
+ setTriggerPhrase("Whenever a creature an opponent controls becomes tapped, " +
+ "if it isn't being declared as an attacker, ");
}
private TappedNotAttackingTriggeredAbility(final TappedNotAttackingTriggeredAbility ability) {
@@ -39,10 +41,4 @@ public class TappedNotAttackingTriggeredAbility extends TriggeredAbilityImpl {
return permanent != null && permanent.isCreature(game)
&& game.getOpponents(permanent.getControllerId()).contains(getControllerId());
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever a creature an opponent controls becomes tapped, " +
- "if it isn't being declared as an attacker, ";
- }
}
diff --git a/Mage/src/main/java/mage/abilities/common/TransformIntoSourceTriggeredAbility.java b/Mage/src/main/java/mage/abilities/common/TransformIntoSourceTriggeredAbility.java
index 4902f91d450..c1908819867 100644
--- a/Mage/src/main/java/mage/abilities/common/TransformIntoSourceTriggeredAbility.java
+++ b/Mage/src/main/java/mage/abilities/common/TransformIntoSourceTriggeredAbility.java
@@ -12,8 +12,6 @@ import mage.game.permanent.Permanent;
*/
public class TransformIntoSourceTriggeredAbility extends TriggeredAbilityImpl {
- private final boolean whenever;
-
public TransformIntoSourceTriggeredAbility(Effect effect) {
this(effect, false);
}
@@ -24,12 +22,11 @@ public class TransformIntoSourceTriggeredAbility extends TriggeredAbilityImpl {
public TransformIntoSourceTriggeredAbility(Effect effect, boolean optional, boolean whenever) {
super(Zone.BATTLEFIELD, effect, optional);
- this.whenever = whenever;
+ setTriggerPhrase("When" + (whenever ? "ever" : "") + " this creature transforms into {this}, ");
}
private TransformIntoSourceTriggeredAbility(final TransformIntoSourceTriggeredAbility ability) {
super(ability);
- this.whenever = ability.whenever;
}
@Override
@@ -50,9 +47,4 @@ public class TransformIntoSourceTriggeredAbility extends TriggeredAbilityImpl {
Permanent permanent = getSourcePermanentIfItStillExists(game);
return permanent != null && permanent.isTransformed();
}
-
- @Override
- public String getTriggerPhrase() {
- return "When" + (whenever ? "ever" : "") + " this creature transforms into {this}, ";
- }
}
diff --git a/Mage/src/main/java/mage/abilities/common/TransformsOrEntersTriggeredAbility.java b/Mage/src/main/java/mage/abilities/common/TransformsOrEntersTriggeredAbility.java
index de57ff9824d..c68b3d17559 100644
--- a/Mage/src/main/java/mage/abilities/common/TransformsOrEntersTriggeredAbility.java
+++ b/Mage/src/main/java/mage/abilities/common/TransformsOrEntersTriggeredAbility.java
@@ -14,6 +14,7 @@ public class TransformsOrEntersTriggeredAbility extends TriggeredAbilityImpl {
public TransformsOrEntersTriggeredAbility(Effect effect, boolean optional) {
super(Zone.BATTLEFIELD, effect, optional);
+ setTriggerPhrase("Whenever this creature enters the battlefield or transforms into {this}, ");
}
private TransformsOrEntersTriggeredAbility(final TransformsOrEntersTriggeredAbility ability) {
@@ -45,9 +46,4 @@ public class TransformsOrEntersTriggeredAbility extends TriggeredAbilityImpl {
}
return false;
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever this creature enters the battlefield or transforms into {this}, ";
- }
}
diff --git a/Mage/src/main/java/mage/abilities/common/TurnedFaceUpAllTriggeredAbility.java b/Mage/src/main/java/mage/abilities/common/TurnedFaceUpAllTriggeredAbility.java
index 48dbeee10f6..d3830747220 100644
--- a/Mage/src/main/java/mage/abilities/common/TurnedFaceUpAllTriggeredAbility.java
+++ b/Mage/src/main/java/mage/abilities/common/TurnedFaceUpAllTriggeredAbility.java
@@ -34,6 +34,7 @@ public class TurnedFaceUpAllTriggeredAbility extends TriggeredAbilityImpl {
this.setWorksFaceDown(true);
this.filter = filter;
this.setTargetPointer = setTargetPointer;
+ setTriggerPhrase("Whenever " + filter.getMessage() + " is turned face up, ");
}
public TurnedFaceUpAllTriggeredAbility(final TurnedFaceUpAllTriggeredAbility ability) {
@@ -77,10 +78,5 @@ public class TurnedFaceUpAllTriggeredAbility extends TriggeredAbilityImpl {
}
return false;
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever " + filter.getMessage() + " is turned face up, " ;
- }
}
diff --git a/Mage/src/main/java/mage/abilities/common/TurnedFaceUpSourceTriggeredAbility.java b/Mage/src/main/java/mage/abilities/common/TurnedFaceUpSourceTriggeredAbility.java
index 954c983252b..57a9952a347 100644
--- a/Mage/src/main/java/mage/abilities/common/TurnedFaceUpSourceTriggeredAbility.java
+++ b/Mage/src/main/java/mage/abilities/common/TurnedFaceUpSourceTriggeredAbility.java
@@ -30,6 +30,7 @@ public class TurnedFaceUpSourceTriggeredAbility extends TriggeredAbilityImpl {
// has to be set so the ability triggers if card is turn faced up
this.setWorksFaceDown(true);
this.setTargetPointer = setTargetPointer;
+ setTriggerPhrase("When {this} is turned face up, ");
}
public TurnedFaceUpSourceTriggeredAbility(final TurnedFaceUpSourceTriggeredAbility ability) {
@@ -59,9 +60,4 @@ public class TurnedFaceUpSourceTriggeredAbility extends TriggeredAbilityImpl {
}
return false;
}
-
- @Override
- public String getTriggerPhrase() {
- return "When {this} is turned face up, " ;
- }
}
diff --git a/Mage/src/main/java/mage/abilities/common/UnattachedTriggeredAbility.java b/Mage/src/main/java/mage/abilities/common/UnattachedTriggeredAbility.java
index 7dc8162c918..88dc79ee4b6 100644
--- a/Mage/src/main/java/mage/abilities/common/UnattachedTriggeredAbility.java
+++ b/Mage/src/main/java/mage/abilities/common/UnattachedTriggeredAbility.java
@@ -17,6 +17,7 @@ public class UnattachedTriggeredAbility extends TriggeredAbilityImpl {
public UnattachedTriggeredAbility(Effect effect, boolean optional) {
super(Zone.BATTLEFIELD, effect, optional);
+ setTriggerPhrase("Whenever {this} becomes unattached from a permanent, ");
}
public UnattachedTriggeredAbility(final UnattachedTriggeredAbility ability) {
@@ -37,11 +38,6 @@ public class UnattachedTriggeredAbility extends TriggeredAbilityImpl {
return false;
}
- @Override
- public String getTriggerPhrase() {
- return "Whenever {this} becomes unattached from a permanent, " ;
- }
-
@Override
public UnattachedTriggeredAbility copy() {
return new UnattachedTriggeredAbility(this);
diff --git a/Mage/src/main/java/mage/abilities/common/WinsCoinFlipTriggeredAbility.java b/Mage/src/main/java/mage/abilities/common/WinsCoinFlipTriggeredAbility.java
index ea94510663f..2043854b9ef 100644
--- a/Mage/src/main/java/mage/abilities/common/WinsCoinFlipTriggeredAbility.java
+++ b/Mage/src/main/java/mage/abilities/common/WinsCoinFlipTriggeredAbility.java
@@ -15,6 +15,7 @@ public class WinsCoinFlipTriggeredAbility extends TriggeredAbilityImpl {
public WinsCoinFlipTriggeredAbility(Effect effect) {
super(Zone.BATTLEFIELD, effect, false);
+ setTriggerPhrase("Whenever a player wins a coin flip, ");
}
public WinsCoinFlipTriggeredAbility(final WinsCoinFlipTriggeredAbility ability) {
@@ -36,9 +37,4 @@ public class WinsCoinFlipTriggeredAbility extends TriggeredAbilityImpl {
CoinFlippedEvent flipEvent = (CoinFlippedEvent) event;
return flipEvent.isWinnable() && (flipEvent.getChosen() == flipEvent.getResult());
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever a player wins a coin flip, " ;
- }
}
diff --git a/Mage/src/main/java/mage/abilities/common/ZoneChangeAllTriggeredAbility.java b/Mage/src/main/java/mage/abilities/common/ZoneChangeAllTriggeredAbility.java
index ec181d81956..518ad915a75 100644
--- a/Mage/src/main/java/mage/abilities/common/ZoneChangeAllTriggeredAbility.java
+++ b/Mage/src/main/java/mage/abilities/common/ZoneChangeAllTriggeredAbility.java
@@ -16,31 +16,29 @@ import mage.game.permanent.Permanent;
*/
public class ZoneChangeAllTriggeredAbility extends TriggeredAbilityImpl {
- protected FilterPermanent filter;
- protected Zone fromZone;
- protected Zone toZone;
- protected String rule;
+ protected final FilterPermanent filter;
+ protected final Zone fromZone;
+ protected final Zone toZone;
- public ZoneChangeAllTriggeredAbility(Zone zone, Zone toZone, Effect effect, FilterPermanent filter, String rule, boolean optional) {
- this(zone, null, toZone, effect, filter, rule, optional);
+ public ZoneChangeAllTriggeredAbility(Zone zone, Zone toZone, Effect effect, FilterPermanent filter, String triggerPhrase, boolean optional) {
+ this(zone, null, toZone, effect, filter, triggerPhrase, optional);
}
- public ZoneChangeAllTriggeredAbility(Zone zone, Zone fromZone, Zone toZone, Effect effect, FilterPermanent filter, String rule, boolean optional) {
+ public ZoneChangeAllTriggeredAbility(Zone zone, Zone fromZone, Zone toZone, Effect effect, FilterPermanent filter, String triggerPhrase, boolean optional) {
super(zone, effect, optional);
if (fromZone == Zone.BATTLEFIELD) {
setLeavesTheBattlefieldTrigger(true);
}
this.fromZone = fromZone;
this.toZone = toZone;
- this.rule = rule;
this.filter = filter;
+ setTriggerPhrase(triggerPhrase);
}
public ZoneChangeAllTriggeredAbility(final ZoneChangeAllTriggeredAbility ability) {
super(ability);
this.fromZone = ability.fromZone;
this.toZone = ability.toZone;
- this.rule = ability.rule;
this.filter = ability.filter;
}
@@ -67,11 +65,6 @@ public class ZoneChangeAllTriggeredAbility extends TriggeredAbilityImpl {
return false;
}
- @Override
- public String getTriggerPhrase() {
- return rule ;
- }
-
@Override
public ZoneChangeAllTriggeredAbility copy() {
return new ZoneChangeAllTriggeredAbility(this);
diff --git a/Mage/src/main/java/mage/abilities/common/ZoneChangeTriggeredAbility.java b/Mage/src/main/java/mage/abilities/common/ZoneChangeTriggeredAbility.java
index 903d881b035..5521060fd6e 100644
--- a/Mage/src/main/java/mage/abilities/common/ZoneChangeTriggeredAbility.java
+++ b/Mage/src/main/java/mage/abilities/common/ZoneChangeTriggeredAbility.java
@@ -17,36 +17,34 @@ import mage.game.permanent.Permanent;
*/
public class ZoneChangeTriggeredAbility extends TriggeredAbilityImpl {
- protected Zone fromZone;
- protected Zone toZone;
- protected String rule;
+ protected final Zone fromZone;
+ protected final Zone toZone;
- public ZoneChangeTriggeredAbility(Zone fromZone, Zone toZone, Effect effect, String rule, boolean optional) {
- this(toZone == null ? Zone.ALL : toZone, fromZone, toZone, effect, rule, optional);
+ public ZoneChangeTriggeredAbility(Zone fromZone, Zone toZone, Effect effect, String triggerPhrase, boolean optional) {
+ this(toZone == null ? Zone.ALL : toZone, fromZone, toZone, effect, triggerPhrase, optional);
}
- public ZoneChangeTriggeredAbility(Zone worksInZone, Zone fromZone, Zone toZone, Effect effect, String rule, boolean optional) {
+ public ZoneChangeTriggeredAbility(Zone worksInZone, Zone fromZone, Zone toZone, Effect effect, String triggerPhrase, boolean optional) {
super(worksInZone, effect, optional);
if (fromZone == Zone.BATTLEFIELD) {
setLeavesTheBattlefieldTrigger(true);
}
this.fromZone = fromZone;
this.toZone = toZone;
- this.rule = rule;
+ setTriggerPhrase(triggerPhrase);
}
- public ZoneChangeTriggeredAbility(Zone toZone, Effect effect, String rule, boolean optional) {
+ public ZoneChangeTriggeredAbility(Zone toZone, Effect effect, String triggerPhrase, boolean optional) {
super(toZone, effect, optional);
this.fromZone = null;
this.toZone = toZone;
- this.rule = rule;
+ setTriggerPhrase(triggerPhrase);
}
public ZoneChangeTriggeredAbility(final ZoneChangeTriggeredAbility ability) {
super(ability);
this.fromZone = ability.fromZone;
this.toZone = ability.toZone;
- this.rule = ability.rule;
}
@Override
@@ -65,11 +63,6 @@ public class ZoneChangeTriggeredAbility extends TriggeredAbilityImpl {
return false;
}
- @Override
- public String getTriggerPhrase() {
- return rule ;
- }
-
@Override
public ZoneChangeTriggeredAbility copy() {
return new ZoneChangeTriggeredAbility(this);
diff --git a/Mage/src/main/java/mage/abilities/common/delayed/AtTheBeginOfCombatDelayedTriggeredAbility.java b/Mage/src/main/java/mage/abilities/common/delayed/AtTheBeginOfCombatDelayedTriggeredAbility.java
index 5eb20bab771..6a8347e4e65 100644
--- a/Mage/src/main/java/mage/abilities/common/delayed/AtTheBeginOfCombatDelayedTriggeredAbility.java
+++ b/Mage/src/main/java/mage/abilities/common/delayed/AtTheBeginOfCombatDelayedTriggeredAbility.java
@@ -8,9 +8,10 @@ import mage.game.events.GameEvent;
public class AtTheBeginOfCombatDelayedTriggeredAbility extends DelayedTriggeredAbility {
public AtTheBeginOfCombatDelayedTriggeredAbility(Effect effect) {
super(effect);
+ setTriggerPhrase(" At the beginning of the next combat, ");
}
- public AtTheBeginOfCombatDelayedTriggeredAbility(AtTheBeginOfCombatDelayedTriggeredAbility ability) {
+ public AtTheBeginOfCombatDelayedTriggeredAbility(final AtTheBeginOfCombatDelayedTriggeredAbility ability) {
super(ability);
}
@@ -28,9 +29,4 @@ public class AtTheBeginOfCombatDelayedTriggeredAbility extends DelayedTriggeredA
public boolean checkTrigger(GameEvent event, Game game) {
return true;
}
-
- @Override
- public String getTriggerPhrase() {
- return " At the beginning of the next combat, ";
- }
}
diff --git a/Mage/src/main/java/mage/abilities/common/delayed/AtTheBeginOfMainPhaseDelayedTriggeredAbility.java b/Mage/src/main/java/mage/abilities/common/delayed/AtTheBeginOfMainPhaseDelayedTriggeredAbility.java
index e311d887b50..fa60ee8cf98 100644
--- a/Mage/src/main/java/mage/abilities/common/delayed/AtTheBeginOfMainPhaseDelayedTriggeredAbility.java
+++ b/Mage/src/main/java/mage/abilities/common/delayed/AtTheBeginOfMainPhaseDelayedTriggeredAbility.java
@@ -47,7 +47,7 @@ public class AtTheBeginOfMainPhaseDelayedTriggeredAbility extends DelayedTrigger
super(effect, phaseSelection.duration, true, optional);
this.targetController = targetController;
this.phaseSelection = phaseSelection;
-
+ setTriggerPhrase(generateTriggerPhrase());
}
public AtTheBeginOfMainPhaseDelayedTriggeredAbility(final AtTheBeginOfMainPhaseDelayedTriggeredAbility ability) {
@@ -73,23 +73,18 @@ public class AtTheBeginOfMainPhaseDelayedTriggeredAbility extends DelayedTrigger
return true;
case YOU:
return event.getPlayerId().equals(this.controllerId);
-
case OPPONENT:
- if (game.getPlayer(this.getControllerId()).hasOpponent(event.getPlayerId(), game)) {
- return true;
- }
- break;
-
+ return game.getPlayer(this.getControllerId()).hasOpponent(event.getPlayerId(), game);
case CONTROLLER_ATTACHED_TO:
Permanent attachment = game.getPermanent(sourceId);
- if (attachment != null && attachment.getAttachedTo() != null) {
- Permanent attachedTo = game.getPermanent(attachment.getAttachedTo());
- if (attachedTo != null && attachedTo.isControlledBy(event.getPlayerId())) {
- return true;
- }
+ if (attachment == null || attachment.getAttachedTo() == null) {
+ return false;
}
+ Permanent attachedTo = game.getPermanent(attachment.getAttachedTo());
+ return attachedTo != null && attachedTo.isControlledBy(event.getPlayerId());
+ default:
+ return false;
}
- return false;
}
private boolean checkPhase(EventType eventType) {
@@ -106,8 +101,7 @@ public class AtTheBeginOfMainPhaseDelayedTriggeredAbility extends DelayedTrigger
}
}
- @Override
- public String getTriggerPhrase() {
+ private String generateTriggerPhrase() {
switch (targetController) {
case YOU:
return "At the beginning of your " + phaseSelection + ", ";
diff --git a/Mage/src/main/java/mage/abilities/common/delayed/AtTheBeginOfNextEndStepDelayedTriggeredAbility.java b/Mage/src/main/java/mage/abilities/common/delayed/AtTheBeginOfNextEndStepDelayedTriggeredAbility.java
index 5a87f0dc469..1a645960bac 100644
--- a/Mage/src/main/java/mage/abilities/common/delayed/AtTheBeginOfNextEndStepDelayedTriggeredAbility.java
+++ b/Mage/src/main/java/mage/abilities/common/delayed/AtTheBeginOfNextEndStepDelayedTriggeredAbility.java
@@ -31,9 +31,9 @@ public class AtTheBeginOfNextEndStepDelayedTriggeredAbility extends DelayedTrigg
public AtTheBeginOfNextEndStepDelayedTriggeredAbility(Effect effect, TargetController targetController, Condition condition, boolean optional) {
super(effect, Duration.Custom, true, optional);
- this.zone = zone;
this.targetController = targetController;
this.condition = condition;
+ setTriggerPhrase(generateTriggerPhrase());
}
public AtTheBeginOfNextEndStepDelayedTriggeredAbility(final AtTheBeginOfNextEndStepDelayedTriggeredAbility ability) {
@@ -83,8 +83,7 @@ public class AtTheBeginOfNextEndStepDelayedTriggeredAbility extends DelayedTrigg
return new AtTheBeginOfNextEndStepDelayedTriggeredAbility(this);
}
- @Override
- public String getTriggerPhrase() {
+ private String generateTriggerPhrase() {
switch (targetController) {
case YOU:
return "At the beginning of your next end step, ";
diff --git a/Mage/src/main/java/mage/abilities/common/delayed/AtTheEndOfCombatDelayedTriggeredAbility.java b/Mage/src/main/java/mage/abilities/common/delayed/AtTheEndOfCombatDelayedTriggeredAbility.java
index 3219f7784a9..b9474166471 100644
--- a/Mage/src/main/java/mage/abilities/common/delayed/AtTheEndOfCombatDelayedTriggeredAbility.java
+++ b/Mage/src/main/java/mage/abilities/common/delayed/AtTheEndOfCombatDelayedTriggeredAbility.java
@@ -8,6 +8,7 @@ import mage.game.events.GameEvent;
public class AtTheEndOfCombatDelayedTriggeredAbility extends DelayedTriggeredAbility {
public AtTheEndOfCombatDelayedTriggeredAbility(Effect effect) {
super(effect);
+ setTriggerPhrase("At end of combat, ");
}
public AtTheEndOfCombatDelayedTriggeredAbility(AtTheEndOfCombatDelayedTriggeredAbility ability) {
@@ -28,9 +29,4 @@ public class AtTheEndOfCombatDelayedTriggeredAbility extends DelayedTriggeredAbi
public boolean checkTrigger(GameEvent event, Game game) {
return true;
}
-
- @Override
- public String getTriggerPhrase() {
- return "At end of combat, ";
- }
}
diff --git a/Mage/src/main/java/mage/abilities/common/delayed/AtTheEndOfTurnStepPostDelayedTriggeredAbility.java b/Mage/src/main/java/mage/abilities/common/delayed/AtTheEndOfTurnStepPostDelayedTriggeredAbility.java
index 19be9fd7918..d0078125fa3 100644
--- a/Mage/src/main/java/mage/abilities/common/delayed/AtTheEndOfTurnStepPostDelayedTriggeredAbility.java
+++ b/Mage/src/main/java/mage/abilities/common/delayed/AtTheEndOfTurnStepPostDelayedTriggeredAbility.java
@@ -18,9 +18,9 @@ public class AtTheEndOfTurnStepPostDelayedTriggeredAbility extends DelayedTrigge
public AtTheEndOfTurnStepPostDelayedTriggeredAbility(Effect effect, boolean usesStack) {
super(effect);
this.usesStack = usesStack;
+ setTriggerPhrase("At end of turn ");
}
-
public AtTheEndOfTurnStepPostDelayedTriggeredAbility(AtTheEndOfTurnStepPostDelayedTriggeredAbility ability) {
super(ability);
}
@@ -39,9 +39,4 @@ public class AtTheEndOfTurnStepPostDelayedTriggeredAbility extends DelayedTrigge
public boolean checkTrigger(GameEvent event, Game game) {
return true;
}
-
- @Override
- public String getTriggerPhrase() {
- return "At end of turn " ;
- }
}
diff --git a/Mage/src/main/java/mage/abilities/common/delayed/ManaSpentDelayedTriggeredAbility.java b/Mage/src/main/java/mage/abilities/common/delayed/ManaSpentDelayedTriggeredAbility.java
index 57d2147a174..61a30721951 100644
--- a/Mage/src/main/java/mage/abilities/common/delayed/ManaSpentDelayedTriggeredAbility.java
+++ b/Mage/src/main/java/mage/abilities/common/delayed/ManaSpentDelayedTriggeredAbility.java
@@ -24,6 +24,7 @@ public class ManaSpentDelayedTriggeredAbility extends DelayedTriggeredAbility {
public ManaSpentDelayedTriggeredAbility(Effect effect, FilterSpell filter) {
super(effect, Duration.Custom, true, false);
this.filter = filter;
+ setTriggerPhrase("When you spend this mana to cast " + filter.getMessage() + ", ");
}
private ManaSpentDelayedTriggeredAbility(final ManaSpentDelayedTriggeredAbility ability) {
@@ -76,9 +77,4 @@ public class ManaSpentDelayedTriggeredAbility extends DelayedTriggeredAbility {
.map(ManaPoolItem::getSourceId)
.noneMatch(getSourceId()::equals);
}
-
- @Override
- public String getTriggerPhrase() {
- return "When you spend this mana to cast " + filter.getMessage() + ", ";
- }
}
diff --git a/Mage/src/main/java/mage/abilities/common/delayed/PactDelayedTriggeredAbility.java b/Mage/src/main/java/mage/abilities/common/delayed/PactDelayedTriggeredAbility.java
index 1d4cb331724..89be8ce8ed6 100644
--- a/Mage/src/main/java/mage/abilities/common/delayed/PactDelayedTriggeredAbility.java
+++ b/Mage/src/main/java/mage/abilities/common/delayed/PactDelayedTriggeredAbility.java
@@ -16,6 +16,7 @@ public class PactDelayedTriggeredAbility extends DelayedTriggeredAbility {
public PactDelayedTriggeredAbility(ManaCosts cost) {
super(new PactEffect(cost));
+ setTriggerPhrase("
At the beginning of your next upkeep, ");
}
public PactDelayedTriggeredAbility(PactDelayedTriggeredAbility ability) {
@@ -36,11 +37,6 @@ public class PactDelayedTriggeredAbility extends DelayedTriggeredAbility {
public boolean checkTrigger(GameEvent event, Game game) {
return game.isActivePlayer(this.getControllerId());
}
-
- @Override
- public String getTriggerPhrase() {
- return "
At the beginning of your next upkeep, ";
- }
}
class PactEffect extends OneShotEffect {
diff --git a/Mage/src/main/java/mage/abilities/effects/common/CastSourceTriggeredAbility.java b/Mage/src/main/java/mage/abilities/effects/common/CastSourceTriggeredAbility.java
index 887685a3fda..1dcedf9a8d9 100644
--- a/Mage/src/main/java/mage/abilities/effects/common/CastSourceTriggeredAbility.java
+++ b/Mage/src/main/java/mage/abilities/effects/common/CastSourceTriggeredAbility.java
@@ -22,6 +22,7 @@ public class CastSourceTriggeredAbility extends TriggeredAbilityImpl {
public CastSourceTriggeredAbility(Effect effect, boolean optional) {
super(Zone.STACK, effect, optional);
this.ruleAtTheTop = true;
+ setTriggerPhrase("When you cast this spell, ");
}
public CastSourceTriggeredAbility(final CastSourceTriggeredAbility ability) {
@@ -54,9 +55,4 @@ public class CastSourceTriggeredAbility extends TriggeredAbilityImpl {
getEffects().setValue("spellCast", spell);
return true;
}
-
- @Override
- public String getTriggerPhrase() {
- return "When you cast this spell, ";
- }
}
diff --git a/Mage/src/main/java/mage/abilities/effects/common/CreatureExploresTriggeredAbility.java b/Mage/src/main/java/mage/abilities/effects/common/CreatureExploresTriggeredAbility.java
index f0de7a16945..73d5fcac147 100644
--- a/Mage/src/main/java/mage/abilities/effects/common/CreatureExploresTriggeredAbility.java
+++ b/Mage/src/main/java/mage/abilities/effects/common/CreatureExploresTriggeredAbility.java
@@ -11,6 +11,7 @@ public class CreatureExploresTriggeredAbility extends TriggeredAbilityImpl {
public CreatureExploresTriggeredAbility(Effect effect) {
super(Zone.BATTLEFIELD, effect, false);
+ setTriggerPhrase("Whenever a creature you control explores, ");
}
public CreatureExploresTriggeredAbility(final CreatureExploresTriggeredAbility effect) {
@@ -35,9 +36,4 @@ public class CreatureExploresTriggeredAbility extends TriggeredAbilityImpl {
public CreatureExploresTriggeredAbility copy() {
return new CreatureExploresTriggeredAbility(this);
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever a creature you control explores, " ;
- }
}
diff --git a/Mage/src/main/java/mage/abilities/effects/common/CrewsVehicleSourceTriggeredAbility.java b/Mage/src/main/java/mage/abilities/effects/common/CrewsVehicleSourceTriggeredAbility.java
index 35b2f0842dd..57298950b86 100644
--- a/Mage/src/main/java/mage/abilities/effects/common/CrewsVehicleSourceTriggeredAbility.java
+++ b/Mage/src/main/java/mage/abilities/effects/common/CrewsVehicleSourceTriggeredAbility.java
@@ -13,6 +13,7 @@ public class CrewsVehicleSourceTriggeredAbility extends TriggeredAbilityImpl {
public CrewsVehicleSourceTriggeredAbility(Effect effect) {
super(Zone.BATTLEFIELD, effect, false);
this.addIcon(CrewAbilityIcon.instance);
+ setTriggerPhrase("Whenever {this} crews a Vehicle, ");
}
public CrewsVehicleSourceTriggeredAbility(final CrewsVehicleSourceTriggeredAbility ability) {
@@ -40,9 +41,4 @@ public class CrewsVehicleSourceTriggeredAbility extends TriggeredAbilityImpl {
}
return false;
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever {this} crews a Vehicle, " ;
- }
}
diff --git a/Mage/src/main/java/mage/abilities/effects/common/DiscardCardControllerTriggeredAbility.java b/Mage/src/main/java/mage/abilities/effects/common/DiscardCardControllerTriggeredAbility.java
index 614abfa823d..a777e0ae11b 100644
--- a/Mage/src/main/java/mage/abilities/effects/common/DiscardCardControllerTriggeredAbility.java
+++ b/Mage/src/main/java/mage/abilities/effects/common/DiscardCardControllerTriggeredAbility.java
@@ -22,6 +22,7 @@ public class DiscardCardControllerTriggeredAbility extends TriggeredAbilityImpl
public DiscardCardControllerTriggeredAbility(Effect effect, boolean isOptional, FilterCard filter) {
super(Zone.BATTLEFIELD, effect, isOptional);
this.filter = filter;
+ setTriggerPhrase("Whenever you discard " + filter.getMessage() + ", ");
}
private DiscardCardControllerTriggeredAbility(final DiscardCardControllerTriggeredAbility ability) {
@@ -48,9 +49,4 @@ public class DiscardCardControllerTriggeredAbility extends TriggeredAbilityImpl
}
return false;
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever you discard " + filter.getMessage() + ", ";
- }
}
diff --git a/Mage/src/main/java/mage/abilities/effects/common/DiscardCardPlayerTriggeredAbility.java b/Mage/src/main/java/mage/abilities/effects/common/DiscardCardPlayerTriggeredAbility.java
index 50e8fe9d5db..5c00ca2973c 100644
--- a/Mage/src/main/java/mage/abilities/effects/common/DiscardCardPlayerTriggeredAbility.java
+++ b/Mage/src/main/java/mage/abilities/effects/common/DiscardCardPlayerTriggeredAbility.java
@@ -22,6 +22,7 @@ public class DiscardCardPlayerTriggeredAbility extends TriggeredAbilityImpl {
public DiscardCardPlayerTriggeredAbility(Effect effect, boolean isOptional, SetTargetPointer setTargetPointer) {
super(Zone.BATTLEFIELD, effect, isOptional);
this.setTargetPointer = setTargetPointer;
+ setTriggerPhrase("Whenever a player discards a card, ");
}
private DiscardCardPlayerTriggeredAbility(final DiscardCardPlayerTriggeredAbility ability) {
@@ -43,9 +44,4 @@ public class DiscardCardPlayerTriggeredAbility extends TriggeredAbilityImpl {
public boolean checkTrigger(GameEvent event, Game game) {
return true;
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever a player discards a card, " ;
- }
}
\ No newline at end of file
diff --git a/Mage/src/main/java/mage/abilities/keyword/BattalionAbility.java b/Mage/src/main/java/mage/abilities/keyword/BattalionAbility.java
index 9c1c2ee7c52..b9406c02e3c 100644
--- a/Mage/src/main/java/mage/abilities/keyword/BattalionAbility.java
+++ b/Mage/src/main/java/mage/abilities/keyword/BattalionAbility.java
@@ -18,13 +18,12 @@ import mage.game.events.GameEvent;
*
* @author LevelX2
*/
-
-
public class BattalionAbility extends TriggeredAbilityImpl {
public BattalionAbility(Effect effect) {
super(Zone.BATTLEFIELD, effect);
this.setAbilityWord(AbilityWord.BATTALION);
+ setTriggerPhrase("Whenever {this} and at least two other creatures attack, ");
}
public BattalionAbility(final BattalionAbility ability) {
@@ -45,10 +44,5 @@ public class BattalionAbility extends TriggeredAbilityImpl {
public boolean checkTrigger(GameEvent event, Game game) {
return game.getCombat().getAttackers().size() >= 3 && game.getCombat().getAttackers().contains(this.sourceId);
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever {this} and at least two other creatures attack, ";
- }
}
diff --git a/Mage/src/main/java/mage/abilities/keyword/BountyAbility.java b/Mage/src/main/java/mage/abilities/keyword/BountyAbility.java
index b4b4e33341d..19989d0de77 100644
--- a/Mage/src/main/java/mage/abilities/keyword/BountyAbility.java
+++ b/Mage/src/main/java/mage/abilities/keyword/BountyAbility.java
@@ -20,15 +20,16 @@ public class BountyAbility extends DiesCreatureTriggeredAbility {
}
public BountyAbility(Effect effect) {
- super(effect, false, bountyCounterFilter);
+ this(effect, false);
}
public BountyAbility(Effect effect, boolean optional) {
- super(effect, optional, bountyCounterFilter);
+ this(effect, optional, false);
}
public BountyAbility(Effect effect, boolean optional, boolean setTargetPointer) {
super(effect, optional, bountyCounterFilter, setTargetPointer);
+ setTriggerPhrase("Bounty — Whenever a creature an opponent controls with a bounty counter on it dies, ");
}
public BountyAbility(final BountyAbility ability) {
@@ -39,10 +40,4 @@ public class BountyAbility extends DiesCreatureTriggeredAbility {
public BountyAbility copy() {
return new BountyAbility(this);
}
-
- @Override
- public String getTriggerPhrase() {
- return "Bounty — " ;
- }
-
}
diff --git a/Mage/src/main/java/mage/abilities/keyword/HauntAbility.java b/Mage/src/main/java/mage/abilities/keyword/HauntAbility.java
index a9582a551a4..553dfd8847a 100644
--- a/Mage/src/main/java/mage/abilities/keyword/HauntAbility.java
+++ b/Mage/src/main/java/mage/abilities/keyword/HauntAbility.java
@@ -39,18 +39,19 @@ import mage.target.targetpointer.FixedTarget;
public class HauntAbility extends TriggeredAbilityImpl {
private boolean usedFromExile = false;
- private boolean creatureHaunt;
public HauntAbility(Card card, Effect effect) {
super(Zone.ALL, effect, false);
- creatureHaunt = card.isCreature();
+ boolean creatureHaunt = card.isCreature();
addSubAbility(new HauntExileAbility(creatureHaunt));
+ setTriggerPhrase((creatureHaunt ? "When {this} enters the battlefield or the creature it haunts dies, "
+ : "When the creature {this} haunts dies, ")
+ );
}
private HauntAbility(final HauntAbility ability) {
super(ability);
this.usedFromExile = ability.usedFromExile;
- this.creatureHaunt = ability.creatureHaunt;
}
@Override
@@ -103,13 +104,6 @@ public class HauntAbility extends TriggeredAbilityImpl {
}
return false;
}
-
- @Override
- public String getTriggerPhrase() {
- return (creatureHaunt ? "When {this} enters the battlefield or the creature it haunts dies, "
- : "When the creature {this} haunts dies, ")
- ;
- }
}
class HauntExileAbility extends ZoneChangeTriggeredAbility {
@@ -127,7 +121,6 @@ class HauntExileAbility extends ZoneChangeTriggeredAbility {
this.creatureHaunt = creatureHaunt;
this.setRuleAtTheTop(creatureHaunt);
this.addTarget(new TargetCreaturePermanent());
-
}
private HauntExileAbility(final HauntExileAbility ability) {
diff --git a/Mage/src/main/java/mage/abilities/keyword/HeroicAbility.java b/Mage/src/main/java/mage/abilities/keyword/HeroicAbility.java
index baeaaf6b6b8..61050bd3420 100644
--- a/Mage/src/main/java/mage/abilities/keyword/HeroicAbility.java
+++ b/Mage/src/main/java/mage/abilities/keyword/HeroicAbility.java
@@ -21,7 +21,6 @@ import java.util.UUID;
*/
public class HeroicAbility extends TriggeredAbilityImpl {
-
public HeroicAbility(Effect effect) {
this(effect, false);
}
@@ -35,6 +34,7 @@ public class HeroicAbility extends TriggeredAbilityImpl {
if (isHeroic) {
this.setAbilityWord(AbilityWord.HEROIC);
}
+ setTriggerPhrase("Whenever you cast a spell that targets {this}, ");
}
public HeroicAbility(final HeroicAbility ability) {
@@ -63,29 +63,25 @@ public class HeroicAbility extends TriggeredAbilityImpl {
}
private boolean checkSpell(Spell spell, Game game) {
- if (spell != null) {
- SpellAbility sa = spell.getSpellAbility();
- for (UUID modeId : sa.getModes().getSelectedModes()) {
- Mode mode = sa.getModes().get(modeId);
- for (Target target : mode.getTargets()) {
- if (!target.isNotTarget() && target.getTargets().contains(this.getSourceId())) {
- return true;
- }
+ if (spell == null) {
+ return false;
+ }
+ SpellAbility sa = spell.getSpellAbility();
+ for (UUID modeId : sa.getModes().getSelectedModes()) {
+ Mode mode = sa.getModes().get(modeId);
+ for (Target target : mode.getTargets()) {
+ if (!target.isNotTarget() && target.getTargets().contains(this.getSourceId())) {
+ return true;
}
- for (Effect effect : mode.getEffects()) {
- for (UUID targetId : effect.getTargetPointer().getTargets(game, sa)) {
- if (targetId.equals(this.getSourceId())) {
- return true;
- }
+ }
+ for (Effect effect : mode.getEffects()) {
+ for (UUID targetId : effect.getTargetPointer().getTargets(game, sa)) {
+ if (targetId.equals(this.getSourceId())) {
+ return true;
}
}
}
}
return false;
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever you cast a spell that targets {this}, ";
- }
}
diff --git a/Mage/src/main/java/mage/abilities/keyword/InspiredAbility.java b/Mage/src/main/java/mage/abilities/keyword/InspiredAbility.java
index dcf57d16f9c..3b077e244ce 100644
--- a/Mage/src/main/java/mage/abilities/keyword/InspiredAbility.java
+++ b/Mage/src/main/java/mage/abilities/keyword/InspiredAbility.java
@@ -27,6 +27,7 @@ public class InspiredAbility extends TriggeredAbilityImpl {
if (isInspired) {
setAbilityWord(AbilityWord.INSPIRED);
}
+ setTriggerPhrase("Whenever {this} becomes untapped, ");
}
public InspiredAbility(final InspiredAbility ability) {
@@ -47,9 +48,4 @@ public class InspiredAbility extends TriggeredAbilityImpl {
public boolean checkTrigger(GameEvent event, Game game) {
return event.getTargetId().equals(this.getSourceId());
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever {this} becomes untapped, ";
- }
}
diff --git a/Mage/src/main/java/mage/abilities/keyword/MadnessAbility.java b/Mage/src/main/java/mage/abilities/keyword/MadnessAbility.java
index 509739bf113..25a1e372743 100644
--- a/Mage/src/main/java/mage/abilities/keyword/MadnessAbility.java
+++ b/Mage/src/main/java/mage/abilities/keyword/MadnessAbility.java
@@ -172,6 +172,7 @@ class MadnessTriggeredAbility extends TriggeredAbilityImpl {
super(Zone.EXILED, new MadnessCastEffect(madnessCost, lifeCost), true);
this.madnessOriginalId = madnessOriginalId;
this.setRuleVisible(false);
+ setTriggerPhrase("When this card is exiled this way, ");
}
private MadnessTriggeredAbility(final MadnessTriggeredAbility ability) {
@@ -215,11 +216,6 @@ class MadnessTriggeredAbility extends TriggeredAbilityImpl {
owner.moveCards(card, Zone.GRAVEYARD, this, game);
return false;
}
-
- @Override
- public String getTriggerPhrase() {
- return "When this card is exiled this way, ";
- }
}
class MadnessCastEffect extends OneShotEffect {
diff --git a/Mage/src/main/java/mage/abilities/keyword/PackTacticsAbility.java b/Mage/src/main/java/mage/abilities/keyword/PackTacticsAbility.java
index 7b4fdde3fc8..1a1c9656821 100644
--- a/Mage/src/main/java/mage/abilities/keyword/PackTacticsAbility.java
+++ b/Mage/src/main/java/mage/abilities/keyword/PackTacticsAbility.java
@@ -18,6 +18,7 @@ public class PackTacticsAbility extends TriggeredAbilityImpl {
public PackTacticsAbility(Effect effect) {
super(Zone.BATTLEFIELD, effect, false);
this.setAbilityWord(AbilityWord.PACK_TACTICS);
+ setTriggerPhrase("Whenever {this} attacks, if you attacked with creatures with total power 6 or greater this combat, ");
}
private PackTacticsAbility(final PackTacticsAbility ability) {
@@ -48,10 +49,4 @@ public class PackTacticsAbility extends TriggeredAbilityImpl {
public PackTacticsAbility copy() {
return new PackTacticsAbility(this);
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever {this} attacks, if you attacked with creatures " +
- "with total power 6 or greater this combat, ";
- }
}
diff --git a/Mage/src/main/java/mage/abilities/keyword/ProwessAbility.java b/Mage/src/main/java/mage/abilities/keyword/ProwessAbility.java
index 5c16fac1131..3ffe9953df2 100644
--- a/Mage/src/main/java/mage/abilities/keyword/ProwessAbility.java
+++ b/Mage/src/main/java/mage/abilities/keyword/ProwessAbility.java
@@ -11,8 +11,7 @@ import mage.filter.StaticFilters;
public class ProwessAbility extends SpellCastControllerTriggeredAbility {
public ProwessAbility() {
- super(new BoostSourceEffect(1, 1, Duration.EndOfTurn), false);
- this.filter = StaticFilters.FILTER_SPELL_NON_CREATURE;
+ super(new BoostSourceEffect(1, 1, Duration.EndOfTurn), StaticFilters.FILTER_SPELL_NON_CREATURE, false);
}
public ProwessAbility(final ProwessAbility ability) {
diff --git a/Mage/src/main/java/mage/abilities/mana/EnchantedTappedTriggeredManaAbility.java b/Mage/src/main/java/mage/abilities/mana/EnchantedTappedTriggeredManaAbility.java
index 202899a2f07..2c224cd989f 100644
--- a/Mage/src/main/java/mage/abilities/mana/EnchantedTappedTriggeredManaAbility.java
+++ b/Mage/src/main/java/mage/abilities/mana/EnchantedTappedTriggeredManaAbility.java
@@ -12,20 +12,17 @@ import mage.target.targetpointer.FixedTarget;
*/
public class EnchantedTappedTriggeredManaAbility extends TriggeredManaAbility {
- private final String permName;
-
public EnchantedTappedTriggeredManaAbility(ManaEffect manaEffect) {
this(manaEffect, "land");
}
public EnchantedTappedTriggeredManaAbility(ManaEffect manaEffect, String permName) {
super(Zone.BATTLEFIELD, manaEffect);
- this.permName = permName;
+ setTriggerPhrase("Whenever enchanted " + permName + " is tapped for mana, ");
}
private EnchantedTappedTriggeredManaAbility(final EnchantedTappedTriggeredManaAbility ability) {
super(ability);
- this.permName = ability.permName;
}
@Override
@@ -47,9 +44,4 @@ public class EnchantedTappedTriggeredManaAbility extends TriggeredManaAbility {
public EnchantedTappedTriggeredManaAbility copy() {
return new EnchantedTappedTriggeredManaAbility(this);
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever enchanted " + permName + " is tapped for mana, " ;
- }
}
diff --git a/Mage/src/main/java/mage/abilities/meta/OrTriggeredAbility.java b/Mage/src/main/java/mage/abilities/meta/OrTriggeredAbility.java
index 0c9a502888d..b76def2fea2 100644
--- a/Mage/src/main/java/mage/abilities/meta/OrTriggeredAbility.java
+++ b/Mage/src/main/java/mage/abilities/meta/OrTriggeredAbility.java
@@ -42,6 +42,7 @@ public class OrTriggeredAbility extends TriggeredAbilityImpl {
//Remove useless data
ability.getEffects().clear();
}
+ setTriggerPhrase(generateTriggerPhrase());
}
public OrTriggeredAbility(OrTriggeredAbility ability) {
@@ -78,8 +79,7 @@ public class OrTriggeredAbility extends TriggeredAbilityImpl {
return new OrTriggeredAbility(this);
}
- @Override
- public String getTriggerPhrase() {
+ private String generateTriggerPhrase() {
if (ruleTrigger != null && !ruleTrigger.isEmpty()) {
return ruleTrigger;
}
diff --git a/Mage/src/main/java/mage/game/command/DungeonRoom.java b/Mage/src/main/java/mage/game/command/DungeonRoom.java
index 6a46de753cc..ba2174a7ecc 100644
--- a/Mage/src/main/java/mage/game/command/DungeonRoom.java
+++ b/Mage/src/main/java/mage/game/command/DungeonRoom.java
@@ -132,6 +132,7 @@ class RoomTriggeredAbility extends TriggeredAbilityImpl {
this.addEffect(effect);
}
this.setRuleVisible(false);
+ setTriggerPhrase("When you enter this room, ");
}
RoomTriggeredAbility(DungeonRoom room, final RoomTriggeredAbility ability) {
@@ -164,9 +165,4 @@ class RoomTriggeredAbility extends TriggeredAbilityImpl {
public String getRule() {
return super.getRule() + " (" + room.getName() + ")";
}
-
- @Override
- public String getTriggerPhrase() {
- return "When you enter this room, ";
- }
}
diff --git a/Mage/src/main/java/mage/game/command/emblems/DarettiScrapSavantEmblem.java b/Mage/src/main/java/mage/game/command/emblems/DarettiScrapSavantEmblem.java
index 5a4a07d2b24..31987866d51 100644
--- a/Mage/src/main/java/mage/game/command/emblems/DarettiScrapSavantEmblem.java
+++ b/Mage/src/main/java/mage/game/command/emblems/DarettiScrapSavantEmblem.java
@@ -38,6 +38,7 @@ class DarettiScrapSavantTriggeredAbility extends TriggeredAbilityImpl {
DarettiScrapSavantTriggeredAbility() {
super(Zone.COMMAND, new DarettiScrapSavantEffect(), false);
+ setTriggerPhrase("Whenever an artifact is put into your graveyard from the battlefield, ");
}
DarettiScrapSavantTriggeredAbility(final DarettiScrapSavantTriggeredAbility ability) {
@@ -65,11 +66,6 @@ class DarettiScrapSavantTriggeredAbility extends TriggeredAbilityImpl {
}
return false;
}
-
- @Override
- public String getTriggerPhrase() {
- return "Whenever an artifact is put into your graveyard from the battlefield, " ;
- }
}
class DarettiScrapSavantEffect extends OneShotEffect {