From a7b4d4203270fcb2aa22985745faa85ada39cdc8 Mon Sep 17 00:00:00 2001 From: Angen Date: Sat, 24 Oct 2020 12:11:24 +0000 Subject: [PATCH] Fix handling of fixed ai defined by map after 5ca68a38ef Gamesetup fails to handle cases with fixed ai 5ca68a38ef. Removing wrong 'this' and checking for 'undefined' to fix additional warnings when switching maps. Differential Revision: D3038 Fixes: #5844 This was SVN commit r24109. --- .../gui/gamesetup/Pages/AIConfigPage/Controls/AIBehavior.js | 6 ++++-- .../gamesetup/Pages/AIConfigPage/Controls/AIDifficulty.js | 6 ++++-- .../GameSettings/PerPlayer/Dropdowns/PlayerAssignment.js | 2 +- 3 files changed, 9 insertions(+), 5 deletions(-) diff --git a/binaries/data/mods/public/gui/gamesetup/Pages/AIConfigPage/Controls/AIBehavior.js b/binaries/data/mods/public/gui/gamesetup/Pages/AIConfigPage/Controls/AIBehavior.js index 00fa0ea910..eeb8b87a84 100644 --- a/binaries/data/mods/public/gui/gamesetup/Pages/AIConfigPage/Controls/AIBehavior.js +++ b/binaries/data/mods/public/gui/gamesetup/Pages/AIConfigPage/Controls/AIBehavior.js @@ -28,7 +28,7 @@ AIGameSettingControls.AIBehavior = class extends AIGameSettingControlDropdown mapPData && mapPData.AI ? (mapPData.AIBehavior !== undefined ? mapPData.AIBehavior : - g_Settings.PlayerDefaults[this.playerIndex + 1].AIBehavior) : + g_Settings.PlayerDefaults[playerIndex + 1].AIBehavior) : undefined; } } @@ -41,7 +41,9 @@ AIGameSettingControls.AIBehavior = class extends AIGameSettingControlDropdown if (pData.AI) { - if (this.fixedAIBehavior[playerIndex] && pData.AIBehavior !== this.fixedAIBehavior[playerIndex]) + if (this.fixedAIBehavior[playerIndex] && + (pData.AIBehavior === undefined || + pData.AIBehavior !== this.fixedAIBehavior[playerIndex])) { pData.AIBehavior = this.fixedAIBehavior[playerIndex]; this.gameSettingsControl.updateGameAttributes(); diff --git a/binaries/data/mods/public/gui/gamesetup/Pages/AIConfigPage/Controls/AIDifficulty.js b/binaries/data/mods/public/gui/gamesetup/Pages/AIConfigPage/Controls/AIDifficulty.js index cb096aca34..b77169c36d 100644 --- a/binaries/data/mods/public/gui/gamesetup/Pages/AIConfigPage/Controls/AIDifficulty.js +++ b/binaries/data/mods/public/gui/gamesetup/Pages/AIConfigPage/Controls/AIDifficulty.js @@ -28,7 +28,7 @@ AIGameSettingControls.AIDifficulty = class extends AIGameSettingControlDropdown mapPData && mapPData.AI ? (mapPData.AIDiff !== undefined ? mapPData.AIDiff : - g_Settings.PlayerDefaults[this.playerIndex + 1].AIDiff) : + g_Settings.PlayerDefaults[playerIndex + 1].AIDiff) : undefined; } } @@ -41,7 +41,9 @@ AIGameSettingControls.AIDifficulty = class extends AIGameSettingControlDropdown if (pData.AI) { - if (this.fixedAIDiff[playerIndex] !== undefined && pData.AIDiff !== this.fixedAIDiff[playerIndex]) + if (this.fixedAIDiff[playerIndex] !== undefined && + (pData.AIDiff === undefined || + pData.AIDiff !== this.fixedAIDiff[playerIndex])) { pData.AIDiff = this.fixedAIDiff[playerIndex]; this.gameSettingsControl.updateGameAttributes(); 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 c0f1ce8567..bd1a22a166 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 @@ -93,7 +93,7 @@ PlayerSettingControls.PlayerAssignment = class extends GameSettingControlDropdow if (!pData) return; - if (this.fixedAI && pData.AI != this.fixedAI) + if (this.fixedAI && (pData.AI === undefined || pData.AI != this.fixedAI)) { pData.AI = this.fixedAI; this.gameSettingsControl.updateGameAttributes();