Saga: do State-Based and Turn-Based Action only with Chapters (#7737)

This commit is contained in:
Hans Mackowiak
2025-05-30 19:16:15 +02:00
committed by GitHub
parent f33f780b25
commit c2ffa227e2
4 changed files with 10 additions and 2 deletions

View File

@@ -1628,7 +1628,7 @@ public class GameAction {
private boolean stateBasedAction_Saga(Card c, CardCollection sacrificeList) { private boolean stateBasedAction_Saga(Card c, CardCollection sacrificeList) {
boolean checkAgain = false; boolean checkAgain = false;
if (!c.isSaga()) { if (!c.isSaga() || !c.hasChapter()) {
return false; return false;
} }
// needs to be effect, because otherwise it might be a cost? // needs to be effect, because otherwise it might be a cost?

View File

@@ -7968,6 +7968,10 @@ public class Card extends GameEntity implements Comparable<Card>, IHasSVars, ITr
this.savedLastKnownZone = zone; this.savedLastKnownZone = zone;
} }
public final boolean hasChapter() {
return getCurrentState().hasChapter();
}
public final int getFinalChapterNr() { public final int getFinalChapterNr() {
return getCurrentState().getFinalChapterNr(); return getCurrentState().getFinalChapterNr();
} }

View File

@@ -807,6 +807,10 @@ public class CardState extends GameObject implements IHasSVars, ITranslatable {
} }
} }
public final boolean hasChapter() {
return getTriggers().anyMatch(Trigger::isChapter);
}
public final int getFinalChapterNr() { public final int getFinalChapterNr() {
int n = 0; int n = 0;
for (final Trigger t : getTriggers()) { for (final Trigger t : getTriggers()) {

View File

@@ -277,7 +277,7 @@ public class PhaseHandler implements java.io.Serializable {
GameEntityCounterTable table = new GameEntityCounterTable(); GameEntityCounterTable table = new GameEntityCounterTable();
// all Sagas get a Lore counter at the beginning of pre combat // all Sagas get a Lore counter at the beginning of pre combat
for (Card c : playerTurn.getCardsIn(ZoneType.Battlefield)) { for (Card c : playerTurn.getCardsIn(ZoneType.Battlefield)) {
if (c.isSaga()) { if (c.isSaga() && c.hasChapter()) {
c.addCounter(CounterEnumType.LORE, 1, playerTurn, table); c.addCounter(CounterEnumType.LORE, 1, playerTurn, table);
} }
} }