if ${TravelState} == SELLING { call CheckHostileList if ${Return.Find[HOSTILENEAR]} { TargetGUID:Set[${HostileList[0]}] HeartBeat:Inc echo "Selling, hostile near, kicking its ass" NoTargetCount:Set[0] return } echo "Selling, no hostiles near, continuing on my way" NoTargetCount:Set[4] return } if ${Questing} { call CheckQuestmobList if ${Return.Find[MOBNEAR]} { TargetGUID:Set[${QuestmobList[0]}] HeartBeat:Inc echo "Questing, quest mob near, kicking its ass" NoTargetCount:Set[0] return } echo "${Return} Questmob Return Check" call CheckHostileList if ${Return.Find[HOSTILENEAR]} { TargetGUID:Set[${HostileList[0]}] HeartBeat:Inc echo "Questing, no quest mob near, hostile near, kicking its ass" NoTargetCount:Set[0] return } echo "${Return} Hostile Return Check" echo "Questing, no questmobs avail, no hostiles, continuing my patrol" NoTargetCount:Set[4] return } if (${Leveling}||${Chaining}) && !${Questing} { call CheckHostileList if ${Return.Find[HOSTILENEAR]} { TargetGUID:Set[${HostileList[0]}] HeartBeat:Inc echo "Need skills or chaining, but hostile near, kicking its ass" NoTargetCount:Set[0] return } echo "Leveled and need skills or chaining, no hostiles near, continuing to move" NoTargetCount:Set[4] return } ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; Passive Hostile GUIDList populate and check, used for efficiency in ; C Stealthy 2007 targeting and movement ; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; function CheckHostileList() { ;Clear the GUIDList since it's a declare instead of variable if ${HostileList.Count} >= 1 HostileList:Clear ;Populate the GUIDlist HostileList:Search[-units,-hostile,-range 0-15] ;Check through it if ${HostileList.Count} > 0 { ;If there are any results, there's a hostile near and it's unsafe to proceed without risking aggro return "HOSTILENEAR" } if ${HostileList.Count} == 0 { return "NOHOSTILE" } } ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; Passive QuestMob GUIDList populate and check, used for targeting period ; C Stealthy 2007 ; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; function CheckQuestmobList() { variable int Indexx = 1 ;Clear the GUIDList since it's a declare instead of a variable if ${QuestmobList.Count} >= 1 QuestmobList:Clear ;Populate the GUIDList do { QuestmobList:Search[-range 0-25,-units,${questing.QuestMobName[${questing.CurrentQuest},${Indexx}]}] echo "Current Quest Mob Target: ${questing.QuestMobName[${questing.CurrentQuest},${Indexx}]}" echo "Current Quest Mob Count: ${QuestmobList.Count}" Indexx:Inc } while !${questing.QuestMobName[${questing.CurrentQuest},${Indexx}].Equal[NULL]} ;Check it if ${QuestmobList.Count} >= 1 { ;Return that there's a quest mob near return "MOBNEAR" } if ${QuesTMob.Count} == 0 { ;Return that I'm a stuipd SOB and no mobs are near return "NOMOB" } }