From 3498aa3ee950b736f78c3af95339bdc0a3c3d80e Mon Sep 17 00:00:00 2001 From: Christian 'ketura' McCarty Date: Sun, 14 May 2023 19:11:02 -0500 Subject: [PATCH] Fixed the end-of-regroup reconcile skipping code not triggering a true reconcile for the end-of-game detection to work. As a result, re-enabled the flag for PC formats. --- .../gemp-lotr-cards/src/main/resources/lotrFormats.json | 6 +++--- .../lotro/logic/actions/PlayerReconcilesAction.java | 5 ++++- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/gemp-lotr/gemp-lotr-cards/src/main/resources/lotrFormats.json b/gemp-lotr/gemp-lotr-cards/src/main/resources/lotrFormats.json index a5c98045d..7d1bcbe75 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/resources/lotrFormats.json +++ b/gemp-lotr/gemp-lotr-cards/src/main/resources/lotrFormats.json @@ -23,7 +23,7 @@ "order": 2, "sites":"FELLOWSHIP", "cancelRingBearerSkirmish":true, - "winAtEndOfRegroup":false, + "winAtEndOfRegroup":true, "discardPileIsPublic":true, "set":[1, 2, 3, 101], "erratasets": [ @@ -43,7 +43,7 @@ "code":"pc_movie", "order": 4, "sites":"KING", - "winAtEndOfRegroup":false, + "winAtEndOfRegroup":true, "discardPileIsPublic":true, "set":[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 101], "erratasets": [ @@ -64,7 +64,7 @@ "code":"pc_expanded", "order": 6, "sites":"SHADOWS", - "winAtEndOfRegroup":false, + "winAtEndOfRegroup":true, "discardPileIsPublic":true, "set":[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 100, 101], "erratasets": [ diff --git a/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/actions/PlayerReconcilesAction.java b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/actions/PlayerReconcilesAction.java index f7953b163..f7198f727 100644 --- a/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/actions/PlayerReconcilesAction.java +++ b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/actions/PlayerReconcilesAction.java @@ -88,9 +88,12 @@ public class PlayerReconcilesAction implements Action { GameState gameState = _game.getGameState(); final Set cardsInHand = new HashSet(gameState.getHand(_playerId)); + // Formats which are set to end the game at the end of the regroup phase instead of at the start of the regroup phase + // should prematurely end the game instead of doing a true reconcile. if(game.getFormat().winWhenShadowReconciles() && game.getGameState().getCurrentPhase() == Phase.REGROUP - && game.getGameState().getCurrentSiteNumber() == 9) { + && game.getGameState().getCurrentSiteNumber() == 9 && !_playerId.equals(game.getGameState().getCurrentPlayerId())) { game.getGameState().sendMessage("End of regroup phase reached."); + _effectQueue.add(new TriggeringResultEffect(new ReconcileResult(_playerId), "Player reconciled")); } else { game.getGameState().sendMessage(_playerId + " reconciles");