void main() { { object oLeaving=GetExitingObject(); if (!GetIsPC(oLeaving)) { return; } object oObject = GetFirstObjectInArea(); int nPCinArea=FALSE; location lLoc; object oItem; // first of all, check every object in the area and see if it is a PC. object oTest=GetFirstPC(); // Test to make sure the activator is a DM, or is a DM // controlling a creature. while (GetIsObjectValid(oTest) == TRUE) { if ((GetArea(oTest) == OBJECT_SELF)&&(!GetIsDM(oTest))) { nPCinArea = TRUE; return; } oTest=GetNextPC(); } //while (GetIsObjectValid(oObject)) // { // if (GetIsPC(oObject)) // { // nPCinArea = TRUE; // return; // } // oObject=GetNextObjectInArea(); // } // if not, then run the next bit of the script if (nPCinArea != TRUE) { // see if the cabinet has the salve, and if not, put it there if (!GetIsObjectValid(GetItemPossessedBy(GetObjectByTag("jw_bright_chest"),"jw_bright_salve"))) { CreateItemOnObject("jw_bright_salve",GetObjectByTag("jw_bright_chest")); } oObject = GetFirstObjectInArea(); while (GetIsObjectValid(oObject) == TRUE) { // if (GetIsEncounterCreature(oObject)&&!GetPlotFlag(oObject)) // { // DestroyObject(oObject); // } // if (GetObjectType(oObject)==OBJECT_TYPE_TRIGGER) // { // SetEncounterActive(TRUE,oObject); // } if (GetTag(oObject) == "BodyBag") { oItem = GetFirstItemInInventory(oObject); while (GetIsObjectValid(oItem) == TRUE) { DestroyObject(oItem); oItem=GetNextItemInInventory(oObject); } SetPlotFlag(oObject,FALSE); DestroyObject(oObject); } if (GetResRef(oObject)=="jw_trap_trigger") { SetLocalInt(oObject,"done",0); SetLocalInt(oObject,"triggered",FALSE); } if (GetTag(oObject) == "jw_trap_1_plate"||GetTag(oObject) == "jw_trap_2_plate"||GetTag(oObject) == "jw_trap_3_plate"||GetTag(oObject) == "jw_trap_4_plate"||GetTag(oObject) == "jw_trap_5_plate") { SetPlotFlag(oObject,0); DestroyObject(oObject); } if (GetResRef(oObject)=="secretitemtrigge"||GetResRef(oObject)=="secretitemtri001"||GetResRef(oObject)=="jw_secret_dr_tri") { SetLocalInt(oObject,"triggered",FALSE); } if (GetResRef(oObject)=="jw_mobstransf_tr") { SignalEvent(oObject,EventUserDefined(50)); } if (GetLocalInt(oObject,"jw_hidden_int")==TRUE) { SetPlotFlag(oObject,0); DestroyObject(oObject); } oObject=GetNextObjectInArea(); } } } }