forked from External/mage
Replace Overriden getTriggerPhrase() with setTriggerPhrase() usage (#9343)
This commit is contained in:
parent
188e6dd8c1
commit
ebdb6b53a4
406 changed files with 918 additions and 2665 deletions
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -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 "";
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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, ";
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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 {
|
||||
|
|
|
|||
|
|
@ -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, " ;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -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, " ;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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, ";
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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" : "") + ", ";
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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, ";
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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, " ;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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, " ;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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();
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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, " ;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -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, ";
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -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();
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -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 + ", " ;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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, ";
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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, " ;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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, " ;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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, " ;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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, " ;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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, " ;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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, " ;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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, ";
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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() + ", ";
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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, " ;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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, " ;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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() + ", " ;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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();
|
||||
|
|
|
|||
|
|
@ -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:
|
||||
|
|
|
|||
|
|
@ -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 + " ";
|
||||
|
|
|
|||
|
|
@ -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();
|
||||
|
|
|
|||
|
|
@ -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();
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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, ";
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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, " : ", ") ;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -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, " ;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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, ";
|
||||
|
|
|
|||
|
|
@ -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, " ;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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, ";
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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() + ", " ;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -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") + ", " ;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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, ";
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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, " ;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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 "
|
||||
|
|
|
|||
|
|
@ -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, ";
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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, " ;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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, " ;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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, ";
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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, ";
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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() + ", ";
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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") + ", " ;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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")) {
|
||||
|
|
|
|||
|
|
@ -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" : "") + ", " ;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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, ";
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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();
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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, ";
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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, " ;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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, ";
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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 ");
|
||||
|
|
|
|||
|
|
@ -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, ") ;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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, " ;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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, ";
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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, " ;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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, " ;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -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, ";
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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, ";
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -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) {
|
||||
|
|
|
|||
|
|
@ -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 ");
|
||||
|
|
|
|||
|
|
@ -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) {
|
||||
|
|
|
|||
|
|
@ -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, " ;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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") + ", ";
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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, " ;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -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, " ;
|
||||
}
|
||||
}
|
||||
|
|
@ -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, " ;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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, ";
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -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, ";
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue