include library.camping; trigger OnAttach() { createTriggerVolume("campsite", camping.getAdvancedCampRadius(self), true); return SCRIPT_CONTINUE; } trigger OnDestroy() { if(!hasObjVar(self, "modules.ids")) return SCRIPT_CONTINUE; obj_id[] modules = getObjIdArrayObjVar(self, "modules.ids"); if(modules == null || modules.length == 0) return SCRIPT_CONTINUE; for(int i = 0; i < modules.length; i++) { destroyObject(modules[i]); } return SCRIPT_CONTINUE; } messageHandler handleControlTerminalLocation() { float radius = camping.getAdvancedCampRadius(self); obj_id[] objects = getNonCreaturesInRange(self, radius); if(objects == null || objects.length == 0) return SCRIPT_CONTINUE; for(int i = 0; i < objects.length; i++) { if(hasScript(objects[i], "terminal.terminal_camp")) { setObjVar(objects[i], "camp", self); return SCRIPT_CONTINUE; } } return SCRIPT_CONTINUE; } messageHandler handleCampDecay() { destroyObject(self); return SCRIPT_CONTINUE; }