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) {
boolean checkAgain = false;
if (!c.isSaga()) {
if (!c.isSaga() || !c.hasChapter()) {
return false;
}
// 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;
}
public final boolean hasChapter() {
return getCurrentState().hasChapter();
}
public final int 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() {
int n = 0;
for (final Trigger t : getTriggers()) {

View File

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