#include "X_O2_CONINCLUDE" #include "gsloot_lib" // Modifed by AW Olorin 1-12-2004 // Anti-GS Looting 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() { object oLastOpener = GetLastOpener(); if (GetLocalInt(OBJECT_SELF,"NW_DO_ONCE") != 0) { string sReport; sReport = ">>> ID: " + GetPCPlayerName( oLastOpener ) + "; Name: "+ GetName( oLastOpener ) + "; CD Key:" + GetPCPublicCDKey( oLastOpener ) + "; IP:" + GetPCIPAddress( oLastOpener ); SendMessageToAllDMs(sReport + " Attempted Spam Looting!! " ); return; } // 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); SetLocalInt(OBJECT_SELF, "GT_MAX_LEVEL", 12); if (GetIsObjectValid(oLastOpener) == TRUE) { if(!GS_Check(oLastOpener,1)) GenerateHighTreasure(oLastOpener, OBJECT_SELF); else { RogueSpectreSpawn(oLastOpener); DropNote(lLoc); } } SetLocalInt(OBJECT_SELF,"NW_DO_ONCE",1); ShoutDisturbed(); string sTag = GetTag(OBJECT_SELF); int iType = GetObjectType(OBJECT_SELF); float fDelay = 1000.0; // 1000 second delay DestroyObject(OBJECT_SELF, 0.0); AssignCommand(GetArea(OBJECT_SELF), DelayCommand(fDelay, RespawnObject(sTag, iType, lLoc))); }