Index: binaries/data/mods/public/maps/scripts/Regicide.js =================================================================== --- binaries/data/mods/public/maps/scripts/Regicide.js +++ binaries/data/mods/public/maps/scripts/Regicide.js @@ -6,6 +6,20 @@ markForTranslation("%(player)s has been defeated (lost hero).")); }; +Trigger.prototype.CheckHeroRenaming = function(data) +{ + if (this.regicideHeroes.indexOf(data.entity) == -1) + return; + + let cmpOwnership = Engine.QueryInterface(data.entity, IID_Ownership); + if (cmpOwnership) + { + let playerID = cmpOwnership.GetOwner(); + if (playerID > 0) + this.regicideHeroes[playerID] = data.newentity; + } +}; + Trigger.prototype.InitRegicideGame = function(msg) { let cmpEndGameManager = Engine.QueryInterface(SYSTEM_ENTITY, IID_EndGameManager); @@ -128,4 +142,5 @@ cmpTrigger.regicideHeroes = []; cmpTrigger.DoAfterDelay(0, "InitRegicideGame", {}); cmpTrigger.RegisterTrigger("OnOwnershipChanged", "CheckRegicideDefeat", { "enabled": true }); + cmpTrigger.RegisterTrigger("OnEntityRenamed", "CheckHeroRenaming", { "enabled": true }); } Index: binaries/data/mods/public/simulation/components/Trigger.js =================================================================== --- binaries/data/mods/public/simulation/components/Trigger.js +++ binaries/data/mods/public/simulation/components/Trigger.js @@ -15,6 +15,7 @@ "Deserialized", "InitGame", "Interval", + "EntityRenamed", "OwnershipChanged", "PlayerCommand", "PlayerDefeated", @@ -265,6 +266,11 @@ this.CallEvent("Deserialized", msg); }; +Trigger.prototype.OnGlobalEntityRenamed = function(msg) +{ + this.CallEvent("EntityRenamed", msg); +}; + Trigger.prototype.OnGlobalOwnershipChanged = function(msg) { this.CallEvent("OwnershipChanged", msg);