#include "X_O2_CONINCLUDE" #include "GSLOOT_LIB" void RespawnObject(string sTag, int iType, location lLoc) { // ResRef must be derivable from Tag string sResRef = GetStringLowerCase(GetStringLeft(sTag, 16)); CreateObject(iType, sResRef, lLoc); } void main() { SetPlotFlag(OBJECT_SELF, FALSE); float fDelay2 = 0.0; DestroyObject(OBJECT_SELF, fDelay2); string sTag = GetTag(OBJECT_SELF); int iType = GetObjectType(OBJECT_SELF); object oLastOpener = GetLastOpener(); // For creatures, save the location at spawn-time as a local location and // use it instead. Otherwise, the creature will respawn where it died. location lLoc = GetLocation(OBJECT_SELF); if(GS_Check(oLastOpener,1)) { RogueSpectreSpawn(oLastOpener); DropNote(lLoc); DestroyInventory(OBJECT_SELF); } float fDelay = 10.0; // 1000 second delay AssignCommand(GetArea(OBJECT_SELF), DelayCommand(fDelay, RespawnObject(sTag, iType, lLoc))); }