Battledale_PRC8/_module/nss/tri_crystal_exit.nss

74 lines
1.2 KiB
Plaintext
Raw Permalink Normal View History

void main()
{
object oObject = GetFirstObjectInArea();
int nPCinArea=FALSE;
location lLoc;
object oItem;
object nCyan1 = GetObjectByTag("tri_lightcyan");
object nCyan2 = GetObjectByTag("tri_lightcyan2");
object nCrystal = GetObjectByTag ("tri_crystalballx");
int nActive = GetLocalInt(nCrystal, "tri_crsActive");
// first of all, check every object in the area and see if it is a PC.
while (GetIsObjectValid(oObject))
{
if (GetIsPC(oObject))
{
nPCinArea = TRUE;
}
oObject=GetNextObjectInArea();
}
// if not, then run the next bit of the script
if (nPCinArea != TRUE)
{
if (GetIsObjectValid(GetObjectByTag("tri_lightcyan")))
{
DestroyObject(nCyan1);
}
if (GetIsObjectValid(GetObjectByTag("tri_lightcyan2")))
{
DestroyObject(nCyan2);
}
if (nActive == 1)
{
SignalEvent(nCrystal,EventUserDefined(401));
}
//clean bodybags
if (GetTag(oObject) == "BodyBag")
{
oItem = GetFirstItemInInventory(oObject);
while (GetIsObjectValid(oItem) == TRUE)
{
DestroyObject(oItem);
oItem=GetNextItemInInventory(oObject);
}
SetPlotFlag(oObject,FALSE);
DestroyObject(oObject);
}
}
}