Index: ps/trunk/binaries/data/mods/public/maps/scripts/Regicide.js =================================================================== --- ps/trunk/binaries/data/mods/public/maps/scripts/Regicide.js +++ ps/trunk/binaries/data/mods/public/maps/scripts/Regicide.js @@ -1,11 +1,3 @@ -Trigger.prototype.CheckRegicideDefeat = function(data) -{ - if (data.entity == this.regicideHeroes[data.from]) - TriggerHelper.DefeatPlayer( - data.from, - markForTranslation("%(player)s has been defeated (lost hero).")); -}; - Trigger.prototype.InitRegicideGame = function(msg) { let cmpEndGameManager = Engine.QueryInterface(SYSTEM_ENTITY, IID_EndGameManager); @@ -123,9 +115,25 @@ return undefined; }; +Trigger.prototype.RenameRegicideHero = function(data) +{ + let index = this.regicideHeroes.indexOf(data.entity); + if (index != -1) + this.regicideHeroes[index] = data.newentity; +}; + +Trigger.prototype.CheckRegicideDefeat = function(data) +{ + if (data.entity == this.regicideHeroes[data.from]) + TriggerHelper.DefeatPlayer( + data.from, + markForTranslation("%(player)s has been defeated (lost hero).")); +}; + { let cmpTrigger = Engine.QueryInterface(SYSTEM_ENTITY, IID_Trigger); cmpTrigger.regicideHeroes = []; cmpTrigger.DoAfterDelay(0, "InitRegicideGame", {}); cmpTrigger.RegisterTrigger("OnOwnershipChanged", "CheckRegicideDefeat", { "enabled": true }); + cmpTrigger.RegisterTrigger("OnEntityRenamed", "RenameRegicideHero", { "enabled": true }); } Index: ps/trunk/binaries/data/mods/public/simulation/components/Trigger.js =================================================================== --- ps/trunk/binaries/data/mods/public/simulation/components/Trigger.js +++ ps/trunk/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);