refactor: clean up triggered abilities from graveyard (#13044)

* some improvements to counter removing triggers

* fix Zone.GRAVEYARD text/conditions for beginning of upkeep triggers

* remaining refactors

* add condition text

* text corrections

* remove remaining generateZoneString

* remove superfluous hardcoded rules text param
This commit is contained in:
xenohedron 2024-10-27 15:23:54 -04:00 committed by GitHub
parent 90623b6a0e
commit aa7a610db2
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
49 changed files with 331 additions and 737 deletions

View file

@ -16,8 +16,8 @@ import mage.watchers.Watcher;
*/
public class BeginningOfSecondMainTriggeredAbility extends TriggeredAbilityImpl {
private TargetController targetController;
private boolean setTargetPointer;
private final TargetController targetController;
private final boolean setTargetPointer;
public BeginningOfSecondMainTriggeredAbility(Effect effect, TargetController targetController, boolean isOptional) {
this(Zone.BATTLEFIELD, effect, targetController, isOptional, false);
@ -101,24 +101,17 @@ public class BeginningOfSecondMainTriggeredAbility extends TriggeredAbilityImpl
private String generateTriggerPhrase() {
switch (targetController) {
case YOU:
return "At the beginning of your second main phase, " + generateZoneString();
return "At the beginning of your second main phase, ";
case OPPONENT:
return "At the beginning of each opponent's second main phase, " + generateZoneString();
return "At the beginning of each opponent's second main phase, ";
case ANY:
return "At the beginning of each player's second main phase, " + generateZoneString();
return "At the beginning of each player's second main phase, ";
case ENCHANTED:
return "At the beginning of enchanted player's second main phase, " + generateZoneString();
return "At the beginning of enchanted player's second main phase, ";
}
return "";
}
private String generateZoneString() {
switch (getZone()) {
case GRAVEYARD:
return "if {this} is in your graveyard, ";
}
return "";
}
}
class MainPhaseWatcher extends Watcher {