diff --git a/forge-game/src/main/java/forge/game/ability/effects/EffectEffect.java b/forge-game/src/main/java/forge/game/ability/effects/EffectEffect.java index 4ebefefb612..e8b67a8920f 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/EffectEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/EffectEffect.java @@ -322,11 +322,18 @@ public class EffectEffect extends SpellAbilityEffect { game.getUpkeep().addUntil(controller, endEffect); } else if (duration.equals("UntilEndOfCombat")) { game.getEndOfCombat().addUntil(endEffect); - } else if (duration.equals("UntilEndOfYourNextCombat")) { - if (game.getPhaseHandler().inCombat()) { - game.getEndOfCombat().registerUntilEnd(controller, endEffect); + } else if (duration.equals("UntilEndOfCombatYourNextTurn")) { + if (game.getPhaseHandler().isPlayerTurn(controller)) { + game.getEndOfTurn().addUntil(controller, new GameCommand() { + private static final long serialVersionUID = -5054153666503075717L; + + @Override + public void run() { + game.getEndOfCombat().addUntil(controller, endEffect); + } + }); } else { - game.getEndOfCombat().addUntilEnd(controller, endEffect); + game.getEndOfCombat().addUntil(controller, endEffect); } } else if (duration.equals("UntilYourNextEndStep")) { game.getEndOfTurn().addUntil(controller, endEffect); diff --git a/forge-game/src/main/java/forge/game/phase/PhaseHandler.java b/forge-game/src/main/java/forge/game/phase/PhaseHandler.java index 2617e306759..382ae17b18d 100644 --- a/forge-game/src/main/java/forge/game/phase/PhaseHandler.java +++ b/forge-game/src/main/java/forge/game/phase/PhaseHandler.java @@ -1239,6 +1239,7 @@ public class PhaseHandler implements java.io.Serializable { game.getEndOfCombat().executeUntil(); if (combat != null) { combat.endCombat(); + game.getEndOfCombat().executeUntil(playerTurn); combat = null; } game.updateCombatForView(); diff --git a/forge-gui/res/cardsfolder/upcoming/brazen_cannonade.txt b/forge-gui/res/cardsfolder/upcoming/brazen_cannonade.txt index 8f7914692fc..3826f75d93b 100644 --- a/forge-gui/res/cardsfolder/upcoming/brazen_cannonade.txt +++ b/forge-gui/res/cardsfolder/upcoming/brazen_cannonade.txt @@ -5,7 +5,7 @@ T:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Graveyard | ValidCard$ SVar:TrigDamage:DB$ DealDamage | Defined$ Opponent | NumDmg$ 2 T:Mode$ Phase | Phase$ Main2 | ValidPlayer$ You | TriggerZones$ Battlefield | CheckSVar$ RaidTest | Execute$ TrigExile | TriggerDescription$ Raid — At the beginning of your postcombat main phase, if you attacked with a creature this turn, exile the top card of your library. Until end of combat on your next turn, you may play that card. SVar:TrigExile:DB$ Dig | DigNum$ 1 | ChangeNum$ All | DestinationZone$ Exile | RememberChanged$ True | SubAbility$ DBEffect -SVar:DBEffect:DB$ Effect | RememberObjects$ RememberedCard | StaticAbilities$ Play | SubAbility$ DBCleanup | ExileOnMoved$ Exile | Duration$ UntilEndOfYourNextCombat +SVar:DBEffect:DB$ Effect | RememberObjects$ RememberedCard | StaticAbilities$ Play | SubAbility$ DBCleanup | ExileOnMoved$ Exile | Duration$ UntilEndOfCombatYourNextTurn SVar:Play:Mode$ Continuous | MayPlay$ True | EffectZone$ Command | Affected$ Card.IsRemembered | AffectedZone$ Exile | Description$ Until end of combat on your next turn, you may play that card. SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True SVar:RaidTest:Count$AttackersDeclared