Files
dsrc/sku.0/sys.server/compiled/game/script/systems/spawning/spawned_tracker.java
T
2018-03-26 01:21:00 +01:00

73 lines
2.6 KiB
Java
Executable File

package script.systems.spawning;
import script.dictionary;
import script.library.utils;
import script.location;
import script.obj_id;
public class spawned_tracker extends script.base_script
{
public spawned_tracker()
{
}
public int OnIncapacitated(obj_id self, obj_id objAttacker) throws InterruptedException
{
if (!utils.hasScriptVar(self, "intCleanedUp"))
{
utils.setScriptVar(self, "intCleanedUp", 1);
obj_id objParent = getObjIdObjVar(self, "objParent");
float fltRespawnTime = getFloatObjVar(self, "fltRespawnTime");
if (utils.hasScriptVar(self, "deathTracker"))
{
location loc = utils.getLocationScriptVar(self, "deathTracker");
dictionary params = new dictionary();
params.put("loc", loc);
messageTo(objParent, "spawnDestroyed", params, fltRespawnTime, false);
return SCRIPT_CONTINUE;
}
messageTo(objParent, "spawnDestroyed", null, fltRespawnTime, false);
}
return SCRIPT_CONTINUE;
}
public int OnDestroy(obj_id self) throws InterruptedException
{
if (hasObjVar(self, "dontCountDeath"))
{
return SCRIPT_CONTINUE;
}
if (!utils.hasScriptVar(self, "intCleanedUp"))
{
utils.setScriptVar(self, "intCleanedUp", 1);
obj_id objParent = getObjIdObjVar(self, "objParent");
if (!isIdValid(objParent))
{
return SCRIPT_CONTINUE;
}
float fltRespawnTime = getFloatObjVar(self, "fltRespawnTime");
if (utils.hasScriptVar(self, "deathTracker"))
{
location loc = utils.getLocationScriptVar(self, "deathTracker");
dictionary params = new dictionary();
params.put("loc", loc);
messageTo(objParent, "spawnDestroyed", params, fltRespawnTime, false);
return SCRIPT_CONTINUE;
}
messageTo(objParent, "spawnDestroyed", null, fltRespawnTime, false);
}
return SCRIPT_CONTINUE;
}
public int selfDestruct(obj_id self, dictionary params) throws InterruptedException
{
if (hasObjVar(self, "force_cleanup"))
{
setPosture(self, POSTURE_INCAPACITATED);
}
destroyObject(self);
return SCRIPT_CONTINUE;
}
public int OnRemovingFromWorld(obj_id self) throws InterruptedException
{
return SCRIPT_CONTINUE;
}
}