Don't break the entire JS simulation if someone starts this map with treasures disabled.

They are deleted before InitGame, resulting in the ownershipChange
handler wanting to read from the entity ID arrays which weren't
initialized yet.

Reported By: mapkoc
Refs
https://wildfiregames.com/forum/index.php?/topic/24153-is-this-fixed/

This was SVN commit r21615.
This commit is contained in:
elexis
2018-03-24 15:08:34 +00:00
parent 870a0b54d0
commit 7ccf0cd7bf
@@ -350,6 +350,8 @@ Trigger.prototype.debugLog = function(txt)
Trigger.prototype.JebelBarkal_Init = function()
{
this.JebelBarkal_TrackUnits();
this.RegisterTrigger("OnOwnershipChanged", "JebelBarkal_OwnershipChange", { "enabled": true });
this.JebelBarkal_SetDefenderStance();
this.JebelBarkal_StartRitualAnimations();
this.JebelBarkal_GarrisonBuildings();
@@ -600,7 +602,5 @@ Trigger.prototype.JebelBarkal_OwnershipChange = function(data)
{
let cmpTrigger = Engine.QueryInterface(SYSTEM_ENTITY, IID_Trigger);
cmpTrigger.RegisterTrigger("OnInitGame", "JebelBarkal_Init", { "enabled": true });
cmpTrigger.RegisterTrigger("OnOwnershipChanged", "JebelBarkal_OwnershipChange", { "enabled": true });
Engine.QueryInterface(SYSTEM_ENTITY, IID_Trigger).RegisterTrigger("OnInitGame", "JebelBarkal_Init", { "enabled": true });
}