CantUntap Third Step (#7393)

This commit is contained in:
tool4ever
2025-04-13 14:49:07 +02:00
committed by GitHub
parent 9c14ba49a3
commit b4af62eda7
27 changed files with 62 additions and 49 deletions

View File

@@ -897,6 +897,8 @@ public abstract class SpellAbilityEffect {
} else {
game.getUpkeep().addUntilEnd(controller, until);
}
} else if ("UntilTheEndOfYourNextUntap".equals(duration)) {
game.getUntap().addUntilEnd(controller, until);
} else if ("UntilNextEndStep".equals(duration)) {
game.getEndOfTurn().addAt(until);
} else if ("UntilYourNextEndStep".equals(duration)) {

View File

@@ -246,9 +246,7 @@ public abstract class AnimateEffectBase extends SpellAbilityEffect {
}
if (!"Permanent".equals(duration) && !perpetual) {
if ("UntilControllerNextUntap".equals(duration)) {
game.getUntap().addUntil(c.getController(), unanimate);
} else if ("UntilAnimatedFaceup".equals(duration)) {
if ("UntilAnimatedFaceup".equals(duration)) {
c.addFaceupCommand(unanimate);
} else {
addUntilCommand(sa, unanimate);

View File

@@ -481,6 +481,9 @@ public class PhaseHandler implements java.io.Serializable {
game.getUpkeep().registerUntilEndCommand(playerTurn);
break;
case UNTAP:
game.getUntap().executeUntilEndOfPhase(playerTurn);
case COMBAT_END:
GameEventCombatEnded eventEndCombat = null;
if (inCombat()) {

View File

@@ -164,7 +164,7 @@ public class Untap extends Phase {
for (final Card c : active.getCardsIn(ZoneType.Battlefield)) {
c.removeHiddenExtrinsicKeyword("This card doesn't untap during your next untap step.");
}
// remove exerted flags from all things in play
// even if they are not creatures
for (final Card c : game.getCardsIn(ZoneType.Battlefield)) {