From 30d498b80f189af956fd24ea1104c767baea70a3 Mon Sep 17 00:00:00 2001 From: xenohedron Date: Thu, 2 May 2024 01:28:06 -0400 Subject: [PATCH] consolidate batch event constructor (related to 7c3bbed8) --- .../main/java/mage/game/events/BatchEvent.java | 15 ++++----------- .../mage/game/events/DamagedBatchAllEvent.java | 2 +- .../events/DamagedBatchForOnePermanentEvent.java | 2 +- .../events/DamagedBatchForOnePlayerEvent.java | 3 ++- .../events/DamagedBatchForPermanentsEvent.java | 2 +- .../game/events/DamagedBatchForPlayersEvent.java | 2 +- .../java/mage/game/events/LifeLostBatchEvent.java | 2 +- .../java/mage/game/events/TappedBatchEvent.java | 2 +- .../java/mage/game/events/UntappedBatchEvent.java | 2 +- 9 files changed, 13 insertions(+), 19 deletions(-) diff --git a/Mage/src/main/java/mage/game/events/BatchEvent.java b/Mage/src/main/java/mage/game/events/BatchEvent.java index 6460b5b69b4..f2dcdf76259 100644 --- a/Mage/src/main/java/mage/game/events/BatchEvent.java +++ b/Mage/src/main/java/mage/game/events/BatchEvent.java @@ -19,16 +19,6 @@ public abstract class BatchEvent extends GameEvent { private final boolean singleSourceId; private final boolean singlePlayerId; - /** - * @param eventType specific type of event - * @param singleSourceId if true, all included events must have same source id - * @param singleTargetId if true, all included events must have same target id - * @param firstEvent added to initialize the batch (batch is never empty) - */ - protected BatchEvent(EventType eventType, boolean singleTargetId, boolean singleSourceId, T firstEvent) { - this(eventType, singleTargetId, singleSourceId, false, firstEvent); - } - /** * @param eventType specific type of event * @param singleSourceId if true, all included events must have same source id @@ -67,7 +57,10 @@ public abstract class BatchEvent extends GameEvent { throw new IllegalStateException("Wrong code usage. Batch event initiated with single target id, but trying to add event with different target id"); } if (singleSourceId && !getSourceId().equals(event.getSourceId())) { - throw new IllegalStateException("Wrong code usage. Batch event initiated with single source id, but trying to add event with different target id"); + throw new IllegalStateException("Wrong code usage. Batch event initiated with single source id, but trying to add event with different source id"); + } + if (singlePlayerId && !getPlayerId().equals(event.getPlayerId())) { + throw new IllegalStateException("Wrong code usage. Batch event initiated with single player id, but trying to add event with different player id"); } this.events.add(event); } diff --git a/Mage/src/main/java/mage/game/events/DamagedBatchAllEvent.java b/Mage/src/main/java/mage/game/events/DamagedBatchAllEvent.java index 341b59de02c..aefc71bf7c2 100644 --- a/Mage/src/main/java/mage/game/events/DamagedBatchAllEvent.java +++ b/Mage/src/main/java/mage/game/events/DamagedBatchAllEvent.java @@ -6,6 +6,6 @@ package mage.game.events; public class DamagedBatchAllEvent extends BatchEvent { public DamagedBatchAllEvent(DamagedEvent firstEvent) { - super(EventType.DAMAGED_BATCH_FOR_ALL, false, false, firstEvent); + super(EventType.DAMAGED_BATCH_FOR_ALL, false, false, false, firstEvent); } } diff --git a/Mage/src/main/java/mage/game/events/DamagedBatchForOnePermanentEvent.java b/Mage/src/main/java/mage/game/events/DamagedBatchForOnePermanentEvent.java index b6cd7d817a7..e0ffebbddaf 100644 --- a/Mage/src/main/java/mage/game/events/DamagedBatchForOnePermanentEvent.java +++ b/Mage/src/main/java/mage/game/events/DamagedBatchForOnePermanentEvent.java @@ -3,7 +3,7 @@ package mage.game.events; public class DamagedBatchForOnePermanentEvent extends BatchEvent { public DamagedBatchForOnePermanentEvent(DamagedPermanentEvent firstEvent) { - super(GameEvent.EventType.DAMAGED_BATCH_FOR_ONE_PERMANENT, true, false, firstEvent); + super(GameEvent.EventType.DAMAGED_BATCH_FOR_ONE_PERMANENT, true, false, false, firstEvent); } public boolean isCombatDamage() { diff --git a/Mage/src/main/java/mage/game/events/DamagedBatchForOnePlayerEvent.java b/Mage/src/main/java/mage/game/events/DamagedBatchForOnePlayerEvent.java index b537fa60aa7..2b98159989d 100644 --- a/Mage/src/main/java/mage/game/events/DamagedBatchForOnePlayerEvent.java +++ b/Mage/src/main/java/mage/game/events/DamagedBatchForOnePlayerEvent.java @@ -6,7 +6,8 @@ package mage.game.events; public class DamagedBatchForOnePlayerEvent extends BatchEvent { public DamagedBatchForOnePlayerEvent(DamagedPlayerEvent firstEvent) { - super(EventType.DAMAGED_BATCH_FOR_ONE_PLAYER, true, false, firstEvent); + super(EventType.DAMAGED_BATCH_FOR_ONE_PLAYER, true, false, false, firstEvent); + // TODO: rework to support singlePlayerId = true } public boolean isCombatDamage() { diff --git a/Mage/src/main/java/mage/game/events/DamagedBatchForPermanentsEvent.java b/Mage/src/main/java/mage/game/events/DamagedBatchForPermanentsEvent.java index b31839d341c..2e2344b5384 100644 --- a/Mage/src/main/java/mage/game/events/DamagedBatchForPermanentsEvent.java +++ b/Mage/src/main/java/mage/game/events/DamagedBatchForPermanentsEvent.java @@ -6,6 +6,6 @@ package mage.game.events; public class DamagedBatchForPermanentsEvent extends BatchEvent { public DamagedBatchForPermanentsEvent(DamagedPermanentEvent firstEvent) { - super(EventType.DAMAGED_BATCH_FOR_PERMANENTS, false, false, firstEvent); + super(EventType.DAMAGED_BATCH_FOR_PERMANENTS, false, false, false, firstEvent); } } diff --git a/Mage/src/main/java/mage/game/events/DamagedBatchForPlayersEvent.java b/Mage/src/main/java/mage/game/events/DamagedBatchForPlayersEvent.java index 70f41bfc07d..3402eb35955 100644 --- a/Mage/src/main/java/mage/game/events/DamagedBatchForPlayersEvent.java +++ b/Mage/src/main/java/mage/game/events/DamagedBatchForPlayersEvent.java @@ -6,6 +6,6 @@ package mage.game.events; public class DamagedBatchForPlayersEvent extends BatchEvent { public DamagedBatchForPlayersEvent(DamagedPlayerEvent firstEvent) { - super(GameEvent.EventType.DAMAGED_BATCH_FOR_PLAYERS, false, false, firstEvent); + super(GameEvent.EventType.DAMAGED_BATCH_FOR_PLAYERS, false, false, false, firstEvent); } } diff --git a/Mage/src/main/java/mage/game/events/LifeLostBatchEvent.java b/Mage/src/main/java/mage/game/events/LifeLostBatchEvent.java index fd2d386920b..80c8f0b0b48 100644 --- a/Mage/src/main/java/mage/game/events/LifeLostBatchEvent.java +++ b/Mage/src/main/java/mage/game/events/LifeLostBatchEvent.java @@ -8,7 +8,7 @@ import java.util.UUID; public class LifeLostBatchEvent extends BatchEvent { public LifeLostBatchEvent(LifeLostEvent firstEvent) { - super(EventType.LOST_LIFE_BATCH, false, false, firstEvent); + super(EventType.LOST_LIFE_BATCH, false, false, false, firstEvent); } public int getLifeLostByPlayer(UUID playerID) { diff --git a/Mage/src/main/java/mage/game/events/TappedBatchEvent.java b/Mage/src/main/java/mage/game/events/TappedBatchEvent.java index 133509e36e5..b7846b17baf 100644 --- a/Mage/src/main/java/mage/game/events/TappedBatchEvent.java +++ b/Mage/src/main/java/mage/game/events/TappedBatchEvent.java @@ -6,7 +6,7 @@ package mage.game.events; public class TappedBatchEvent extends BatchEvent { public TappedBatchEvent(TappedEvent firstEvent) { - super(EventType.TAPPED_BATCH, false, false, firstEvent); + super(EventType.TAPPED_BATCH, false, false, false, firstEvent); } } diff --git a/Mage/src/main/java/mage/game/events/UntappedBatchEvent.java b/Mage/src/main/java/mage/game/events/UntappedBatchEvent.java index a358d8ebf68..a47aec3b7eb 100644 --- a/Mage/src/main/java/mage/game/events/UntappedBatchEvent.java +++ b/Mage/src/main/java/mage/game/events/UntappedBatchEvent.java @@ -6,7 +6,7 @@ package mage.game.events; public class UntappedBatchEvent extends BatchEvent { public UntappedBatchEvent(UntappedEvent firstEvent) { - super(EventType.UNTAPPED_BATCH, false, false, firstEvent); + super(EventType.UNTAPPED_BATCH, false, false, false, firstEvent); } }