//============================================= //============================================= //Automatic Item Decay //Written by Gary Blauvelt, Ithalyan of // Grim's Tavern //============================================= //============================================= void main() { //Cleans finds objects that are flagged for decay and counts down the timer //that should have been placed on them. int nDecay; object oArea = GetArea(OBJECT_SELF); object oItem = GetFirstObjectInArea(oArea); while(GetIsObjectValid(oItem)) { if(GetObjectType(oItem)==OBJECT_TYPE_ITEM || (GetObjectType(oItem)==64 && GetTag(oItem) == "Body Bag")) { if(GetLocalInt(oItem,"DecayFlag")==0) { //Set Plot Flag Decay here //AssignCommand(oItem,ActionSpeakString("Decay Flag Set")); SetLocalInt(oItem,"DecayFlag",1); //Set the flags that aren't set SetLocalInt(oItem,"DecayTime",50); } else //Count Down { nDecay = GetLocalInt(oItem,"DecayTime"); nDecay--; if(nDecay < 1) //DestroyObject the item { if (GetObjectType(oItem)==64) { object oInven = GetFirstItemInInventory(oItem); while(GetIsObjectValid(oInven)) { DestroyObject(oInven,0.0); oInven = GetNextItemInInventory(oItem); } } else { DestroyObject(oItem,0.0); } } else { //AssignCommand(oItem,ActionSpeakString("Decay Going")); SetLocalInt(oItem,"DecayTime",nDecay); } } } oItem = GetNextObjectInArea(oArea); } }