From 48d8238354075ff50d5f167f06c6af7b91f849dc Mon Sep 17 00:00:00 2001 From: Vantha Date: Thu, 9 Oct 2025 17:15:36 +0200 Subject: [PATCH] Reset 'removed' flag before autoassigning players Fixes #8396 --- .../PerPlayer/Dropdowns/PlayerAssignment.js | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/binaries/data/mods/public/gui/gamesetup/Pages/GameSetupPage/GameSettings/PerPlayer/Dropdowns/PlayerAssignment.js b/binaries/data/mods/public/gui/gamesetup/Pages/GameSetupPage/GameSettings/PerPlayer/Dropdowns/PlayerAssignment.js index b2a27adbd3..2ac691280f 100644 --- a/binaries/data/mods/public/gui/gamesetup/Pages/GameSetupPage/GameSettings/PerPlayer/Dropdowns/PlayerAssignment.js +++ b/binaries/data/mods/public/gui/gamesetup/Pages/GameSetupPage/GameSettings/PerPlayer/Dropdowns/PlayerAssignment.js @@ -88,11 +88,17 @@ PlayerSettingControls.PlayerAssignment = class PlayerAssignment extends GameSett if (this.assignedGUID === newGUID) return; this.assignedGUID = newGUID; - // Remove the AI from the slot if there was one. - if (this.assignedGUID && g_GameSettings.playerAI.get(this.playerIndex)) + if (this.assignedGUID) { - g_GameSettings.playerAI.setAI(this.playerIndex, undefined); - this.gameSettingsController.setNetworkInitAttributes(); + const wasAI = g_GameSettings.playerAI.get(this.playerIndex); + const wasRemoved = g_GameSettings.playerRemoved.get(this.playerIndex); + if (wasAI) + g_GameSettings.playerAI.setAI(this.playerIndex, undefined); + else if (wasRemoved) + g_GameSettings.playerRemoved.set(this.playerIndex, false); + + if (wasAI || wasRemoved) + this.gameSettingsController.setNetworkInitAttributes(); } this.render(); }