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) { // destroy placeables int nIdx=0; oObject = GetObjectByTag("jw_transf_obj"); while (GetIsObjectValid(oObject)) { SetPlotFlag(oObject,0); DestroyObject(oObject); nIdx++; oObject = GetObjectByTag("jw_transf_obj",nIdx); } // create birdcage nIdx=0; oObject = GetObjectByTag("jw_wp_obj_bc"); while (GetIsObjectValid(oObject)) { CreateObject(OBJECT_TYPE_PLACEABLE,"jw_transf_obj_bc",GetLocation(oObject)); nIdx++; oObject = GetObjectByTag("jw_wp_obj_bc",nIdx); } // create bookshelf nIdx=0; oObject = GetObjectByTag("jw_wp_obj_bk"); while (GetIsObjectValid(oObject)) { CreateObject(OBJECT_TYPE_PLACEABLE,"jw_transf_obj_bk",GetLocation(oObject)); nIdx++; oObject = GetObjectByTag("jw_wp_obj_bk",nIdx); } // create urn nIdx=0; oObject = GetObjectByTag("jw_wp_obj_ur"); while (GetIsObjectValid(oObject)) { CreateObject(OBJECT_TYPE_PLACEABLE,"jw_transf_obj_ur",GetLocation(oObject)); nIdx++; oObject = GetObjectByTag("jw_wp_obj_ur",nIdx); } // create brazier nIdx=0; oObject = GetObjectByTag("jw_wp_obj_br"); while (GetIsObjectValid(oObject)) { CreateObject(OBJECT_TYPE_PLACEABLE,"jw_transf_obj_br",GetLocation(oObject)); nIdx++; oObject = GetObjectByTag("jw_wp_obj_br",nIdx); } // create statue nIdx=0; oObject = GetObjectByTag("jw_wp_obj_st"); while (GetIsObjectValid(oObject)) { CreateObject(OBJECT_TYPE_PLACEABLE,"jw_transf_obj_st",GetLocation(oObject)); nIdx++; oObject = GetObjectByTag("jw_wp_obj_st",nIdx); } // create chest nIdx=0; oObject = GetObjectByTag("jw_wp_obj_ch"); while (GetIsObjectValid(oObject)) { CreateObject(OBJECT_TYPE_PLACEABLE,"jw_transf_obj_ch",GetLocation(oObject)); nIdx++; oObject = GetObjectByTag("jw_wp_obj_ch",nIdx); } 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 (GetTag(oObject)=="jw_trans_trig") { SetLocalInt(oObject,"triggered",FALSE); } oObject=GetNextObjectInArea(); } } } }