GameAction: stop always trigger before etb counter (#4449)

* GameAction: stop always trigger before etb counter

* ~ always clear trigger and check for static abilities again
This commit is contained in:
Hans Mackowiak
2023-12-30 16:35:46 +01:00
committed by GitHub
parent 78cfe1d839
commit c29b6b7fcb

View File

@@ -583,14 +583,19 @@ public class GameAction {
}
}
if (!table.isEmpty()) {
// we don't want always trigger before counters are placed
game.getTriggerHandler().suppressMode(TriggerType.Always);
// Need to apply any static effects to produce correct triggers
checkStaticAbilities();
if (table.replaceCounterEffect(game, null, true, true, params)) {
// update static abilities after etb counters have been placed
checkStaticAbilities();
}
table.replaceCounterEffect(game, null, true, true, params);
// update static abilities after etb counters have been placed
game.getTriggerHandler().clearSuppression(TriggerType.Always);
checkStaticAbilities();
// 400.7g try adding keyword back into card if it doesn't already have it
if (zoneTo.is(ZoneType.Stack) && cause != null && cause.isSpell() && !cause.isIntrinsic() && c.equals(cause.getHostCard())) {
if (cause.getKeyword() != null && !copied.getKeywords().contains(cause.getKeyword())) {