Clean up triggered ability text generation (#10627)

* move "or battle" to its own class

* move "or planeswalker" to its own class

* remove strange way of setting custom text

* finally remove getTriggerPhrase

* copy constructor visibility

* fix Vraska
This commit is contained in:
xenohedron 2023-07-15 16:49:40 -04:00 committed by GitHub
parent e2cff095b3
commit a7f78e8190
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
30 changed files with 232 additions and 191 deletions

View file

@ -27,7 +27,7 @@ public abstract class TriggeredAbilityImpl extends AbilityImpl implements Trigge
private boolean triggersOnceEachTurn = false;
private boolean doOnlyOnceEachTurn = false;
private GameEvent triggerEvent = null;
private String triggerPhrase = null; // TODO: This should be change to final and all constructers to set a value
private String triggerPhrase = null; // TODO: This could be changed to final if all constructors set a value
protected TriggeredAbilityImpl(Zone zone, Effect effect) {
this(zone, effect, false);
@ -67,7 +67,7 @@ public abstract class TriggeredAbilityImpl extends AbilityImpl implements Trigge
}
}
private final void setLastTrigger(Game game) {
private void setLastTrigger(Game game) {
if (!triggersOnceEachTurn) {
return;
}
@ -188,7 +188,7 @@ public abstract class TriggeredAbilityImpl extends AbilityImpl implements Trigge
}
sb.append(prefix);
sb.append(triggerPhrase == null ? getTriggerPhrase() : triggerPhrase);
sb.append(triggerPhrase == null ? "" : triggerPhrase);
String superRule = super.getRule(true);
if (!superRule.isEmpty()) {
@ -250,12 +250,6 @@ public abstract class TriggeredAbilityImpl extends AbilityImpl implements Trigge
return sb.toString();
}
@Override
@Deprecated
public String getTriggerPhrase() {
return "";
}
@Override
public boolean isInUseableZone(Game game, MageObject source, GameEvent event) {