From babe9e5c181bfbab8fb88a8d02eab9364c918d9c Mon Sep 17 00:00:00 2001 From: phosit Date: Sun, 7 Sep 2025 14:53:56 +0200 Subject: [PATCH] Remove this.events from AIs `this.events` is only valid during one turn. When it is used in the next turnn it might be outdated. So it makes no sense to keep it alive untill the next turn. --- .../data/mods/public/simulation/ai/common-api/baseAI.js | 1 - binaries/data/mods/public/simulation/ai/petra/_petrabot.js | 6 +++--- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/binaries/data/mods/public/simulation/ai/common-api/baseAI.js b/binaries/data/mods/public/simulation/ai/common-api/baseAI.js index 0230aef112..84fdf255d7 100644 --- a/binaries/data/mods/public/simulation/ai/common-api/baseAI.js +++ b/binaries/data/mods/public/simulation/ai/common-api/baseAI.js @@ -49,7 +49,6 @@ BaseAI.prototype.CustomInit = function() BaseAI.prototype.HandleMessage = function(state, playerID, sharedAI) { PlayerID = playerID; - this.events = sharedAI.events; this.territoryMap = sharedAI.territoryMap; if (this.isDeserialized) diff --git a/binaries/data/mods/public/simulation/ai/petra/_petrabot.js b/binaries/data/mods/public/simulation/ai/petra/_petrabot.js index 647370fd96..3f009e1833 100644 --- a/binaries/data/mods/public/simulation/ai/petra/_petrabot.js +++ b/binaries/data/mods/public/simulation/ai/petra/_petrabot.js @@ -92,14 +92,14 @@ PetraBot.prototype.OnUpdate = function(sharedScript) if (this.gameFinished || this.gameState.playerData.state == "defeated") return; - for (const i in this.events) + for (const i in sharedScript.events) { if (i == "AIMetadata") // not used inside petra continue; if (this.savedEvents[i] !== undefined) - this.savedEvents[i] = this.savedEvents[i].concat(this.events[i]); + this.savedEvents[i] = this.savedEvents[i].concat(sharedScript.events[i]); else - this.savedEvents[i] = this.events[i]; + this.savedEvents[i] = sharedScript.events[i]; } // Run the update every n turns, offset depending on player ID to balance the load