// consolidation rescue void main() { object oWP=GetObjectByTag("UNC_HOLDING"); int nC=1; object oCR=GetNearestCreature(CREATURE_TYPE_IS_ALIVE,TRUE,oWP,nC); object oDest; object oLead; location lLoc; while(oCR!=OBJECT_INVALID) { // check to see if should be deconsolidated oLead=GetLocalObject(oCR,"oConsolidationLeader"); if (oLead==OBJECT_INVALID||GetIsDead(oLead)==TRUE) { // need to deconsolidate SetCommandable(TRUE,oCR); SetAILevel(oCR,AI_LEVEL_NORMAL); SetLocalInt(oCR,"nSState",0); oDest=GetWaypointByTag(GetLocalString(oCR,"sTeamToRaid")+"_RECOVER"); if (oLead!=OBJECT_INVALID) lLoc=GetLocation(oLead); else if (oDest!=OBJECT_INVALID) lLoc=GetLocation(oDest); else { oDest=GetWaypointByTag(GetLocalString(oCR,"sTeamID")+"_RECOVER"); lLoc=GetLocation(oDest); } DelayCommand(0.3,AssignCommand(oCR,ClearAllActions(TRUE))); DelayCommand(0.4,AssignCommand(oCR,ActionJumpToLocation(lLoc))); DeleteLocalObject(oCR,"oConsolidationLeader"); DeleteLocalInt(oCR,"bConsolidationLeader"); } // need to deconsolidate nC++; oCR=GetNearestCreature(CREATURE_TYPE_IS_ALIVE,TRUE,oWP,nC); } // check to see if should be deconsolidated }