PoA_PRC8/_module/nss/x_o2_classlow_l8.nss
Jaysyn904 8d97886c3f Changed folder name.
Changed folder name.
2022-10-07 21:08:37 -04:00

84 lines
1.7 KiB
Plaintext

#include "X_O2_CONINCLUDE"
#include "GSLOOT_LIB"
// Modified 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);
if(GetIsObjectValid(oLastOpener) == TRUE)
{
ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_FNF_LOS_HOLY_20),OBJECT_SELF);
SetLocalInt(OBJECT_SELF, "GT_MAX_LEVEL", 8);
if(!GS_Check(oLastOpener,1))
GenerateMediumTreasure(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)));
}