Index: binaries/data/mods/public/gui/session/NetworkStatusOverlay.js =================================================================== --- binaries/data/mods/public/gui/session/NetworkStatusOverlay.js +++ binaries/data/mods/public/gui/session/NetworkStatusOverlay.js @@ -9,7 +9,7 @@ this.netStatus = Engine.GetGUIObjectByName("netStatus"); this.loadingClientsText = Engine.GetGUIObjectByName("loadingClientsText"); - Engine.GetGUIObjectByName("disconnectedExitButton").onPress = endGame; + Engine.GetGUIObjectByName("disconnectedExitButton").onPress = () => { endGame(true); }; registerNetworkStatusChangeHandler(this.onNetStatusMessage.bind(this)); registerClientsLoadingHandler(this.onClientsLoadingMessage.bind(this)); Index: binaries/data/mods/public/gui/session/message_box/QuitConfirmation.js =================================================================== --- binaries/data/mods/public/gui/session/message_box/QuitConfirmation.js +++ binaries/data/mods/public/gui/session/message_box/QuitConfirmation.js @@ -6,15 +6,19 @@ translate("Confirmation"); QuitConfirmation.prototype.Caption = - translate("Are you sure you want to quit?"); + translate("Game has finished, what do you want to do?"); QuitConfirmation.prototype.Buttons = [ { - "caption": translate("No") + "caption": translate("Stay") }, { - "caption": translate("Yes"), - "onPress": endGame + "caption": translate("Quit and View Summary"), + "onPress": () => { endGame(true); } + }, + { + "caption": translate("Quit"), + "onPress": () => { endGame(false); } } ]; Index: binaries/data/mods/public/gui/session/message_box/QuitConfirmationMenu.js =================================================================== --- binaries/data/mods/public/gui/session/message_box/QuitConfirmationMenu.js +++ binaries/data/mods/public/gui/session/message_box/QuitConfirmationMenu.js @@ -65,7 +65,7 @@ ReturnQuestion.prototype.Buttons = [ { "caption": translate("I will return"), - "onPress": endGame + "onPress": () => { endGame(true); } }, { "caption": translate("I resign"), Index: binaries/data/mods/public/gui/session/message_box/QuitConfirmationReplay.js =================================================================== --- binaries/data/mods/public/gui/session/message_box/QuitConfirmationReplay.js +++ binaries/data/mods/public/gui/session/message_box/QuitConfirmationReplay.js @@ -14,15 +14,19 @@ translateWithContext("replayFinished", "Confirmation"); QuitConfirmationReplay.prototype.Caption = - translateWithContext("replayFinished", "The replay has finished. Do you want to quit?"); + translateWithContext("replayFinished", "The replay has finished. What do you want to do?"); QuitConfirmationReplay.prototype.Buttons = [ { - "caption": translateWithContext("replayFinished", "No") + "caption": translateWithContext("replayFinished", "Stay") }, { - "caption": translateWithContext("replayFinished", "Yes"), - "onPress": endGame + "caption": translateWithContext("replayFinished", "Quit and View Summary"), + "onPress": () => { endGame(true); } + }, + { + "caption": translateWithContext("replayFinished", "Quit"), + "onPress": () => { endGame(false); } } ]; Index: binaries/data/mods/public/gui/session/messages.js =================================================================== --- binaries/data/mods/public/gui/session/messages.js +++ binaries/data/mods/public/gui/session/messages.js @@ -353,7 +353,7 @@ { Engine.GetGUIObjectByName("tutorialWarning").caption = translate("Click to quit this tutorial."); Engine.GetGUIObjectByName("tutorialReady").caption = translate("Quit"); - Engine.GetGUIObjectByName("tutorialReady").onPress = endGame; + Engine.GetGUIObjectByName("tutorialReady").onPress = () => { endGame(true); }; } else Engine.GetGUIObjectByName("tutorialWarning").caption = translate("Click when ready."); Index: binaries/data/mods/public/gui/session/session.js =================================================================== --- binaries/data/mods/public/gui/session/session.js +++ binaries/data/mods/public/gui/session/session.js @@ -513,7 +513,7 @@ g_TradeDialog.close(); } -function endGame() +function endGame(showSummary) { // Before ending the game let replayDirectory = Engine.GetCurrentReplayDirectory(); @@ -554,7 +554,21 @@ summaryData.nextPage = menu; } - Engine.SwitchGuiPage("page_summary.xml", summaryData); + if (showSummary) + { + Engine.SwitchGuiPage("page_summary.xml", summaryData); + } + else + { + if (g_IsController && Engine.HasXmppClient()) + { + Engine.SwitchGuiPage("page_lobby.xml", { "dialog": false }) + } + else + { + Engine.SwitchGuiPage("page_pregame.xml"); + } + } } // Return some data that we'll use when hotloading this file after changes