From 1ae48593a8fb5a909f1519c816eb9330eb1bb39a Mon Sep 17 00:00:00 2001 From: Susucre <34709007+Susucre@users.noreply.github.com> Date: Thu, 25 Apr 2024 18:58:32 +0200 Subject: [PATCH] have separate turn events for extra beginning. I did check the BEGINNING_PHASE_PRE usage, and found none that wanted to watch the extra beginning phases. Of note, we may want to have separate 'beginning of turn'/'beginning of game' events, if there is ever a way to skip beginning phases. --- Mage/src/main/java/mage/game/events/GameEvent.java | 3 ++- Mage/src/main/java/mage/game/turn/BeginningPhase.java | 6 +++--- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/Mage/src/main/java/mage/game/events/GameEvent.java b/Mage/src/main/java/mage/game/events/GameEvent.java index ffa1e303cdf..abea9ecbc75 100644 --- a/Mage/src/main/java/mage/game/events/GameEvent.java +++ b/Mage/src/main/java/mage/game/events/GameEvent.java @@ -43,7 +43,8 @@ public class GameEvent implements Serializable { PLAY_TURN, EXTRA_TURN, CHANGE_PHASE, PHASE_CHANGED, CHANGE_STEP, STEP_CHANGED, - BEGINNING_PHASE, BEGINNING_PHASE_PRE, BEGINNING_PHASE_POST, + BEGINNING_PHASE, BEGINNING_PHASE_PRE, BEGINNING_PHASE_POST, // The normal beginning phase -- at the beginning of turn + BEGINNING_PHASE_EXTRA, BEGINNING_PHASE_PRE_EXTRA, BEGINNING_PHASE_POST_EXTRA, // Extra beginning phase, 'as turn begun' watchers don't want to react on thoses. UNTAP_STEP_PRE, UNTAP_STEP, UNTAP_STEP_POST, UPKEEP_STEP_PRE, UPKEEP_STEP, UPKEEP_STEP_POST, DRAW_STEP_PRE, DRAW_STEP, DRAW_STEP_POST, diff --git a/Mage/src/main/java/mage/game/turn/BeginningPhase.java b/Mage/src/main/java/mage/game/turn/BeginningPhase.java index 432de4f0ca3..c62795ccc74 100644 --- a/Mage/src/main/java/mage/game/turn/BeginningPhase.java +++ b/Mage/src/main/java/mage/game/turn/BeginningPhase.java @@ -21,9 +21,9 @@ public class BeginningPhase extends Phase { public BeginningPhase(boolean isExtra) { this.type = TurnPhase.BEGINNING; - this.event = EventType.BEGINNING_PHASE; - this.preEvent = EventType.BEGINNING_PHASE_PRE; - this.postEvent = EventType.BEGINNING_PHASE_POST; + this.event = isExtra ? EventType.BEGINNING_PHASE_EXTRA : EventType.BEGINNING_PHASE; + this.preEvent = isExtra ? EventType.BEGINNING_PHASE_PRE_EXTRA : EventType.BEGINNING_PHASE_PRE; + this.postEvent = isExtra ? EventType.BEGINNING_PHASE_PRE_EXTRA : EventType.BEGINNING_PHASE_POST; this.steps.add(new UntapStep()); this.steps.add(new UpkeepStep()); this.steps.add(new DrawStep());