DanStock's ULTIMATE TRI-BARD/CHIVARLY/ARCHER AUTO PILOT by danstock._98439

Related: Musicianship

Description: I play often on a handheld gaming device (ROG Ally) so my goal is to create scripts that automate as much as possible! This script is a constant work in progress as I develop my first PVM character and relearn how to build scripts (I am no expert!). I update very often. Check back frequently. I am also working on a harvesting script with the same goal - check out my other uploads. Thanks!

Warning: This is potentially a huge script, skipping formatting.

You can still click [Copy Script] but you may want use [Download Script] as a file instead.

/////// ////// UO Outlands Razor script - Last updated Dec 14, 2024 (email any bug reports/tips to dan@danstockman.com) ///// Compiled by DanStock. //// DanStock's ULTIMATE TRI-BARD/CHIVARLY/ARCHER AUTO PILOT UO OUTLANDS RAZOR SCRIPT /// // // Recommended skill templates: // # 120 Chivalry # 120 Peacemaking # 120 Discordance # 120 Provocation # 100 Tactics # 80 Archery # 59 Focus (or utility skill of choice: Healing, Tracking, Camping, Forensic, etc.) # 1 Alchemy * // or # 120 Chivalry # 115 Peacemaking # 115 Discordance # 115 Provocation # 100 Tactics # 80 Archery # 74 Tracking (or skill of choice) # 1 Alchemy * // TIPS: // # IMPT: FIRST RUN OF SCRIPT SHOULD BE DONE IN HOUSE/INN ROOM AND TAKES ROUGHLY 30 SECONDS TO COMPLETE INITIAL (ONE TIME) SETUP! # Initial setup can be redone by setting 'ResetScriptPermanentVariable' variable to 1 below! # IMPT: Make sure [ShowBardingDurations is set to "Display All Barding Durations" in UO client under Commands -> Text Displays # VERY IMPT: This script depends heavily on COOLDOWNS. Please make sure to add them all in UO client under Options -> Cooldowns (see list below - or download the cooldown file from my profile!) # The COOLDOWNS just need to exist - you don't need to set any triggers or anything (but they are very important!) # Recommend using LYRIC ASPECT ARMOUR/WEAPON and DAMAGE TO BARDED CREATURES, EFFECTIVE BARDING SKILL and/or CHIVALRY SKILL links # BARD CODEX: Must have 6 pts in "Self Taught" in order to drop musicianship skill # If using 1H archery weapon, add a shield for extra AR (and enable variable below) # Script displays tons of OVERHEAD MESSAGES - these can be disabled in the variable section (minimal target indicators remain - it's a really nice mode!) # Recommend using Razor FILTERS to cancel instrument sounds and redundant system messages (or at least enable all "Filter repeating * messages" in Razor) # Having 1 point in Alchemy gives a 2m 5s potion duration w/ a 2m cooldown - allowing new strength pot to take effect before old one wears off * # Toggle WAR MODE manually while in COMBAT to throw PURPLE POTIONS (otherwise WAR MODE will reset barding cooldowns and retarget) # Script can auto TARGET and ATTACK nearby REDS (variable below) or AUTO RECALL instead # Optional AUTO RECALL when RED is in target range or when WEIGHT LIMIT reached # Built in AUTO RECALL only uses scrolls in charged runebooks (no Mage skill on template) and should be disabled if farming in dungeons (in variable section) # Added support for TRACKING skill and various range settings for AUTO RED RECALL triggers // VERY IMPT: MUST add the following COOLDOWNS (case sensitive - no triggers necessary): // # Musicianship # Peacemaking # Provocation # Discordance # Pacified # Provoked # Discorded # Peace Check # Disco Check # Provo Check # Peacemaking Buff # Provocation Buff # Discordance Buff # Song Buff Delay # Healing Potion # Cure Potion # Refresh Potion # Purple Potion # Holy Light # Noble Sacrifice # Cleanse By Fire # Close Wounds # Divine Fury # Enemy Of One # Chivalry # Prevented # Codex # Weapon Ability # Skirmish # Full Draw # Repeater # Target Timer # Target Check # Next Target Timer # No Target Timer # Satchel Timer # Inventory Timer # Weight Timer # Cleanup # Gold Vacuum # Gold Radar # Radar # Ammunition # PK Radar # Dungeon Escape # Infinite Loop // The COOLDOWNS just need to exist... no further configuration or triggers necessary to run the script! // // (though some are very helpful to add to your UI screen and/or colour code, etc.) // ### I HAVE UPLOADED A COOLDOWN FILE YOU CAN USE TO MAKE THIS SETUP EASIER - CHECK MY PROFILE! ### // SET THIS VALUE TO 1 AND RUN SCRIPT TO UNSET & RETARGET ALL PERMANENT SCRIPT VARIABLES: \\ @setvar! ResetScriptPermanentVariable 0 if ResetScriptPermanentVariable = 1 unsetvar LootChest unsetvar AutoRecallChargedRunebook unsetvar FurstRunUBAP unsetvar BardAutoPilot unsetvar LootBag overhead "[ SCRIPT VARIABLES RESET... ]" 333 sysmsg "Please return 'ResetScriptPermanentVariable' to 0 to continue!" 153 stop endif # \\ THEN RETURN ResetScriptPermanentVariable TO 0 IN ORDER TO CONTINUE! // # ############################################# ####### USER VARIABLES: ####### ############################################# ////////////////////////// // BARDING: // ////////////////////////// @setvar! EnablePeacemaking 1 @setvar! EnableDiscordance 1 @setvar! EnableProvocation 1 @setvar! EnablePeacemakingBuff 1 @setvar! EnableDiscordanceBuff 1 @setvar! EnableProvocationBuff 1 @setvar! PeacemakingReapply 30000 @setvar! DiscordanceReapply 30000 @setvar! ProvocationReapply 30000 ////////////////////////// // DEFENSIVE: // ////////////////////////// @setvar! EnableHealPotion 1 @setvar! EnableCurePotion 1 @setvar! EnableRefreshPotion 1 @setvar! EnableStrengthPotion 1 @setvar! EnableAgilityPotion 0 @setvar! EnableMagicResistPotion 1 @setvar! EnableHolyLight 1 @setvar! EnableNobleSacrifice 1 @setvar! EnableCleanseByFire 0 @setvar! EnableCloseWounds 1 @setvar! HealPotHPdiff 30 @setvar! HolyLightHPdiff 50 @setvar! NobleSacrificeHPdiff 70 @setvar! CleanseByFireHPdiff 25 @setvar! RefreshPotSPdiff 10 @setvar! EnableShield 0 @setvar! EnableParalyzePouch 1 ////////////////////////// // OFFENSIVE: // ////////////////////////// @setvar! EnableDivineFury 1 @setvar! EnableEnemyOfOne 1 @setvar! EnableConsecrateWeapon 0 @setvar! EnableExplosionPots 1 @setvar! EnableWeaponAbility 1 @setvar! EnableSkirmish 0 # or @setvar! EnableFullDraw 0 # or @setvar! EnableRepeater 1 ////////////////////////// // UTILITY: // ////////////////////////// @setvar! EnableLootChest 1 @setvar! EnableLootBag 1 @setvar! EnableAutoCarving 1 @setvar! EnableGoldVacuum 1 @setvar! EnableArrowCleanup 1 # Set to 1 for full overhead messages, 2 for reduced and 0 for none: @setvar! EnableOverheadMessages 2 @setvar! EnableAmmoWarningMessage 1 @setvar! LowAmmoWarningAmount 15 @setvar! EnableWeightWarningMessage 1 @setvar! GreenWarningDiffWeight 50 @setvar! YellowWarningDiffWeight 20 @setvar! RedWeightLimitDiffWeight 5 ////////////////////////// // AUTO-RECALL: // ////////////////////////// # PK radar must be enabled for Auto Red Recall to function: @setvar! EnablePKradar 1 # Auto Recall if PK comes into target range (overhead warning message only, if disabled but radar left on): @setvar! EnableAutoRedRecall 1 # If using tracking skill, this variable will trigger Auto Red Recall if PK is tracked: @setvar! EnableTrackingAutoRecall 1 # Auto Recall trigger range can be set to 30, 40, 50 or 60 tiles (set to 0 to trigger Auto Recall regardless of range): @setvar! PKTrackingRange 60 # Auto Recall when weight limit met (and coast is clear): @setvar! EnableAutoWeightRecall 1 # Infinite Loop will unload/resupply and then Chiv Gate to Custom location after unloading (weight recall only): @setvar! EnableInfiniteLoop 1 // ( Must use built-in Home Recall script if using Infinite Loop setting! ) \\ # Auto Recall should be disabled if farming in dungeons! # You can still use PK Radar. Just set both Auto Recall to 0 # Script will then default to running an Auto Dungeon Escape through moongates loop instead. # or you can fight back instead: @setvar! EnableStandYourGround 0 # Use this variable to enable your own Razor script for Auto Recall (otherwise script will prompt for Runebook and use mine): @setvar! EnableDIYHomeRecallScript 0 createlist HomeRecallScriptList # Type the name of your own Home Recall Razor script here: pushlist HomeRecallScriptList "HomeRecall" // ( Must use built-in Home Recall script if using Infinite Loop setting! ) // // I use this variable to setup multiple "modes" with different hotkeys. # Same script (copy and paste and update variables), just different setups (Dungeon, Infinite Loop, Wilderness, etc.) # Just change the number and overhead message for each one (will only display overhead when switching modes) if ScriptMode = 1 // Do nothing else overhead "[ WILDERNESS MODE ]" 1182 @setvar! ScriptMode 1 endif #### EDIT BELOW THIS LINE AT YOUR OWN RISK! #### EDIT BELOW THIS LINE AT YOUR OWN RISK! #### EDIT BELOW THIS LINE AT YOUR OWN RISK! #### EDIT BELOW THIS LINE AT YOUR OWN RISK! #### ############################################# ######### SCRIPT STARTS HERE: ######### ############################################# if not varexist BardAutoPilot overhead "DanStock's Ultimate Bard Auto Pilot Script" 77 overhead "Last updated Dec 14, 2024" 84 wait 2500 overhead "Thank you for trying my Barding AUTO PILOT script! It appears this may be your first time running it..." 0 wait 4000 overhead "IMPT: Please make sure to setup all the required COOLDOWNS and adjust any VARIABLES!" 153 wait 4500 overhead "A cooldown.xml file is available for download in my profile!" 153 wait 3500 overhead "Please read the TIPS section at the beginning of the script" 88 wait 3000 overhead "Email any questions/bugs to: dan@danstockman.com" 0 wait 4000 setvar BardAutoPilot 1 sysmsg "Beginning DanStock's Ultimate Bard Auto Pilot script...... " 0 wait 1000 endif if EnableAutoRedRecall = 1 or EnableAutoWeightRecall = 1 and EnableDIYHomeRecallScript != 1 if not varexist AutoRecallChargedRunebook wait 500 overhead "Please select your escape runebook..." 253 wait 500 overhead "You have enabled Auto Recall (PK or Weight) and must select a charged runebook to continue..." 0 setvar AutoRecallChargedRunebook sysmsg "Does not work with casting (Recall Scrolls in Runebook only - to default location) uness you modify the script." 153 wait 1500 endif endif if EnableAutoRedRecall = 1 or EnableAutoWeightRecall = 1 and EnableLootChest = 1 if not varexist LootChest wait 500 overhead "Please select a secure container to store your Loot..." 253 sysmsg "Can be disabled under script variables section." 0 wait 1000 overhead "Anything that won't go into a Resource Stockpile, Storage Shelf or Magic Recycler" 0 overhead "(ie. Skill Orbs, Treasure Maps, Paragon chest, etc.)" setvar LootChest sysmsg "Use Razor Organizer Agents 06 - 09 for the Loot Chest and it's contents - organize to your own liking!" 0 wait 1500 endif endif if EnableLootBag = 1 if not varexist LootBag or not find LootBag self wait 500 overhead "Please select your loot bag..." 0 wait 1000 overhead "This should be whatever is set as your 'Grab Bag' and will be opened when unloading loot" 0 setvar LootBag wait 1500 endif endif if not varexist FurstRunUBAP wait 1000 overhead "Good luck out there!" 6 overhead " - Dan" 6 wait 1500 setvar FurstRunUBAP 1 endif if not varexist StartFarming if EnableOverheadMessages = 1 overhead " [ TIME TO FARM! ] " 77 wait 500 elseif EnableOverheadMessages = 2 overhead " [ ♪ ♪ ♪ ] " 77 wait 500 else wait 250 endif @setvar! StartFarming 1 endif while not dead if EnableTrackingAutoRecall = 1 if skill 'Tracking' > 38 and not findbuff 'tracking' while not gumpexists 4267467659 useskill 'tracking' wait 250 endwhile if gumpexists 4267467659 while not insysmsg "You will now hunt all hostile players." gumpresponse 8 4267467659 waitforgump 4267467659 5000 endwhile gumpresponse 6 4267467659 wait 1000 clearsysmsg endif gumpclose 4267467659 overhead "[ AUTO RECALL ACTIVATED! ]" 334 endif endif if not findtype "standing harp|sackbut|bamboo flute|tambourine|drum|lute|lap harp|gemshorn|hurdy gurdy|psaltery|shawm|vielle" self overhead "[ NO INSTRUMENT! ]" 337 sysmsg "Please acquire a musical instrument before you start this script!" 0 wait 2000 stop endif if not findtype 'stubnose crossbow|tower guard crossbow|balestra|long bow|bow|recurve bow|composite bow|heavy crossbow|crossbow' self overhead "[ NO WEAPON! ]" 337 wait 2000 sysmsg "Please acquire an archery weapon before you start this script!" 0 stop endif if not findtype 'stubnose crossbow|tower guard crossbow|balestra|long bow|bow|recurve bow|composite bow|heavy crossbow|crossbow' hand wait 500 if findtype 'stubnose crossbow|tower guard crossbow|balestra|long bow|bow|recurve bow|composite bow|heavy crossbow|crossbow' backpack as weapon getlabel weapon WeaponLabel for 10 wait 500 if "lyric aspect" in WeaponLabel break elseif "unidentified" in WeaponLabel @ignore weapon wait 250 if findtype 'stubnose crossbow|tower guard crossbow|balestra|long bow|bow|recurve bow|composite bow|heavy crossbow|crossbow' backpack as weapon getlabel weapon WeaponLabel endif else wait 250 if findtype 'stubnose crossbow|tower guard crossbow|balestra|long bow|bow|recurve bow|composite bow|heavy crossbow|crossbow' backpack as weapon getlabel weapon WeaponLabel endif endif endfor wait 250 dclick weapon wait 500 endif endif if EnableShield = 1 if not findtype 'buckler |metal shield|Chaos shield|heater shield|bone shield|bronze shield|kite shield|Order shield|wooden shield|parrying gauche' lefthand if findtype 'buckler |metal shield|Chaos shield|heater shield|bone shield|bronze shield|kite shield|Order shield|wooden shield|parrying gauche' backpack as shield getlabel shield ShieldLabel for 5 wait 500 if "unidentified" in ShieldLabel @ignore shield wait 150 if findtype 'buckler |metal shield|Chaos shield|heater shield|bone shield|bronze shield|kite shield|Order shield|wooden shield|parrying gauche' backpack as shield getlabel shield ShieldLabel endif endif endfor wait 150 dclick shield wait 500 endif endif endif @setvar! PreviousTarget lasttarget @setvar! NextClosestTarget 0 @setvar! ClosestTarget 0 @setvar! SwitchStance 0 @setvar! NeedtoProvoke 0 @setvar! NeedtoPacify 1 @setvar! NeedtoDiscord 1 @setvar! SongReapply 900000 if targetexists if findtype " Elven Spellblade" self targettype "Elven Spellblade" else target backpack endif endif if insysmsg "Captcha successful" and EnableOverheadMessages = 1 overhead "[ CAPTCHA SUCCESSFUL! ]" 84 endif clearsysmsg if warmode if EnableStandYourGround = 1 and RedTargetFound = 1 cooldown "Target Timer" 0 hotkey 'Toggle Peace only' @setvar! RedTargetFound 0 while not dead MurdererTarget if noto MurdererTarget = "Murderer" and find MurdererTarget ground -1 -1 12 if not cooldown "Target Timer" overhead "[ STANDING GROUND!! ]" 2114 cooldown "Target Timer" 3500 endif if EnableParalyzePouch = 1 if paralyzed if findtype "pouch" self yell "[pouch" else if EnableOverheadMessages = 1 overhead "[ NO MORE POUCHES! ]" 337 endif endif endif endif if skill 'Healing' > 38 if not bandaging if hp < maxhp or poisoned or findbuff "bleed" or findbuff "disease" hotkey "Bandage Self" endif endif endif if not cooldown "Weapon Ability" and not cooldown "Skirmish" yell "[WeaponAbility1" wait 250 if insysmsg "You cannot" cooldown "Weapon Ability" 5000 else overhead "[ SKIRMISH! ]" 6 cooldown "Weapon Ability" 61000 cooldown "Skirmish" 15000 endif endif attack MurdererTarget wait 500 if not findtype 'stubnose crossbow|balestra|crossbow' hand if findtype 'stubnose crossbow|balestra|crossbow' backpack as fastweapon dclick fast weapon wait 500 endif endif if not findtype 'heater shield|metal shield|Chaos shield|bone shield|bronze shield|buckler |kite shield|Order shield|wooden shield|parrying gauche' lefthand if findtype 'heater shield|metal shield|Chaos shield|heater shield|bone shield|bronze shield|buckler |kite shield|Order shield|wooden shield|parrying gauche' backpack as shield dclick shield wait 500 endif endif if not cooldown "Provocation" and not cooldown "Musicianship" and not dead ClosestTarget and find ClosestTarget ground -1 -1 10 skill "Provocation" wft 1000 target ClosestTarget wft 1000 target MurdererTarget wait 500 if insysmsg 'You play successfully, provoking' cooldown "Musicianship" 5500 cooldown "Provocation" 11000 say " :) " elseif insysmsg 'You fail to incite' overhead '[ PROVO FAIL! ]' 153 cooldown "Provocation" 5000 elseif insysmsg 'Target cannot be seen' overhead "[ TARGET CANNOT BE SEEN... ]" 337 cooldown "Provocation" 1000 elseif insysmsg 'That is too far away.' overhead '[ TOO FAR AWAY! ]' 43 cooldown "Provocation" 1000 elseif insysmsg 'The creatures you are trying to provoke are too far away from each other for your music to have an effect.' overhead '[ TOO FAR APART! ]' 153 ClosestTarget overhead '[ TOO FAR APART! ]' 153 MurdererTarget cooldown "Provocation" 1000 elseif insysmsg 'tell someone to attack themselves!' overhead '[ SELF TARGETING FAIL... ]' 337 replay else say " :( " endif endif if diffhits > 30 and not cooldown "Healing Potion" if findtype "Yellow Potion" self as healpot dclick healpot wait 500 cooldown "Healing Potion" 11000 if insysmsg "Potion satchel used" if EnableOverheadMessages = 1 overhead "[ FREE HEAL POTION! ]" 253 endif clearsysmsg else if EnableOverheadMessages = 1 overhead '[ HEAL POTION... ]' 253 endif clearsysmsg endif else if not cooldown "Inventory Timer" if EnableOverheadMessages = 1 overhead '[ NO HEAL POTS! ]' 337 endif cooldown "Healing Potion" 30000 endif endif wait 500 endif if poisoned and not cooldown "Cure Potion" if findtype "Orange Potion" self as curepot dclick curepot wait 500 cooldown "Cure Potion" 11000 if insysmsg "Potion satchel used" if EnableOverheadMessages = 1 overhead "[ FREE CURE POTION! ]" 44 endif clearsysmsg else if EnableOverheadMessages = 1 overhead '[ CURE POTION... ]' 44 endif clearsysmsg endif else if not cooldown "Inventory Timer" if EnableOverheadMessages = 1 overhead '[ NO CURE POTS! ]' 337 endif cooldown "Cure Potion" 30000 endif endif wait 500 endif if stam < maxstam and not cooldown "Refresh Potion" if findtype "Red Potion" self as refreshpot dclick refreshpot cooldown "Refresh Potion" 11000 wait 500 if insysmsg "Potion satchel used" if EnableOverheadMessages = 1 overhead "[ FREE REFRESH POTION! ]" 34 endif clearsysmsg else if EnableOverheadMessages = 1 overhead '[ REFRESH POTION... ]' 34 endif clearsysmsg endif else if not cooldown "Inventory Timer" if EnableOverheadMessages = 1 overhead '[ NO REFRESH POTS! ]' 337 endif cooldown "Refresh Potion" 30000 endif endif wait 500 endif wait 1500 if findtype "Purple Potion" self as Molotov getlabel Molotov descMolotov if "next usable in 15" in desc @setvar! purplePotionCD 15000 elseif "next usable in 14" in descMolotov @setvar! purplePotionCD 14000 elseif "next usable in 13" in descMolotov @setvar! purplePotionCD 13000 elseif "next usable in 12" in descMolotov @setvar! purplePotionCD 12000 elseif "next usable in 11" in descMolotov @setvar! purplePotionCD 11000 elseif "next usable in 10" in descMolotov @setvar! purplePotionCD 10000 elseif "next usable in 9" in descMolotov @setvar! purplePotionCD 9000 elseif "next usable in 8" in descMolotov @setvar! purplePotionCD 8000 elseif "next usable in 7" in descMolotov @setvar! purplePotionCD 7000 elseif "next usable in 6" in descMolotov @setvar! purplePotionCD 6000 elseif "next usable in 5" in descMolotov @setvar! purplePotionCD 5000 elseif "next usable in 4" in descMolotov @setvar! purplePotionCD 4000 elseif "next usable in 3" in descMolotov @setvar! purplePotionCD 3000 elseif "next usable in 2" in descMolotov @setvar! purplePotionCD 2000 elseif "next usable in 1" in descMolotov @setvar! purplePotionCD 1000 else @setvar! purplePotionCD 0 endif cooldown "Purple Potion" purplePotionCD if find MurdererTarget ground -1 -1 10 and not cooldown "Purple Potion" dclick Molotov cooldown "Ammunition" 4250 while cooldown "Ammunition" attack MurdererTarget if not cooldown "Provocation" and not cooldown "Musicianship" and not dead ClosestTarget and find ClosestTarget ground -1 -1 10 skill "Provocation" wft 500 target ClosestTarget wft 500 target MurdererTarget wait 150 if insysmsg 'You play successfully, provoking' cooldown "Musicianship" 5500 cooldown "Provocation" 11000 say " :) " elseif insysmsg 'You fail to incite' overhead '[ PROVO FAIL! ]' 153 cooldown "Provocation" 5000 elseif insysmsg 'Target cannot be seen' overhead "[ TARGET CANNOT BE SEEN... ]" 337 cooldown "Provocation" 1000 elseif insysmsg 'That is too far away.' overhead '[ TOO FAR AWAY! ]' 43 cooldown "Provocation" 1000 elseif insysmsg 'The creatures you are trying to provoke are too far away from each other for your music to have an effect.' overhead '[ TOO FAR APART! ]' 153 ClosestTarget overhead '[ TOO FAR APART! ]' 153 MurdererTarget cooldown "Provocation" 1000 elseif insysmsg 'tell someone to attack themselves!' overhead '[ SELF TARGETING FAIL... ]' 337 else say " :( " endif endif if diffhits > 35 and not cooldown "Healing Potion" if findtype "Yellow Potion" self as healpot dclick healpot cooldown "Healing Potion" 11500 if insysmsg "Potion satchel used" if EnableOverheadMessages = 1 overhead "[ FREE HEAL POTION! ]" 253 endif clearsysmsg else if EnableOverheadMessages = 1 overhead '[ HEAL POTION... ]' 253 endif clearsysmsg endif else if not cooldown "Inventory Timer" if EnableOverheadMessages = 1 overhead '[ NO HEAL POTS! ]' 337 endif cooldown "Healing Potion" 30000 endif endif endif if poisoned and not cooldown "Cure Potion" if findtype "Orange Potion" self as curepot dclick curepot cooldown "Cure Potion" 11500 if insysmsg "Potion satchel used" if EnableOverheadMessages = 1 overhead "[ FREE CURE POTION! ]" 44 endif clearsysmsg else if EnableOverheadMessages = 1 overhead '[ CURE POTION... ]' 44 endif clearsysmsg endif else if not cooldown "Inventory Timer" if EnableOverheadMessages = 1 overhead '[ NO CURE POTS! ]' 337 endif cooldown "Cure Potion" 30000 endif endif endif if stam < maxstam and not cooldown "Refresh Potion" if findtype "Red Potion" self as refreshpot dclick refreshpot cooldown "Refresh Potion" 11500 if insysmsg "Potion satchel used" if EnableOverheadMessages = 1 overhead "[ FREE REFRESH POTION! ]" 34 endif clearsysmsg else if EnableOverheadMessages = 1 overhead '[ REFRESH POTION... ]' 34 endif clearsysmsg endif else if not cooldown "Inventory Timer" if EnableOverheadMessages = 1 overhead '[ NO REFRESH POTS! ]' 337 endif cooldown "Refresh Potion" 30000 endif endif endif endwhile target MurdererTarget wait 250 if insysmsg "Potion satchel used" overhead "[ FREE EXPLOSION POT! ]" 419 clearsysmsg else overhead '[ EXPLOSION POT! ]' 419 endif clearsysmsg cooldown "Purple Potion" 15000 endif else if EnableOverheadMessages = 1 overhead "[ NO EXPLOSION POTS! ]" 337 endif cooldown "Purple Potion" 30000 endif endif endwhile if EnableOverheadMessages = 1 overhead "[ RED TARGET LOST... ]" 37 endif elseif EnableAutoRedRecall = 1 or EnableAutoWeightRecall = 1 if RedTargetFound = 1 or TimeToGo = 1 if EnableDIYHomeRecallScript = 1 foreach RecallScript in HomeRecallScriptList script RecallScript endfor else if targetexists hotkey 'Cancel Current Target' endif hotkey 'Toggle Peace only' clearsysmsg if not varexist AutoRecallChargedRunebook and EnableDIYHomeRecallScript != 1 overhead "Select your escape runebook..." 253 setvar AutoRecallChargedRunebook wait 2000 replay endif if RedTargetFound = 1 @setvar! EnableInfiniteLoop 0 @setvar! RedTargetFound 0 wait 150 elseif AutoWeightRecall = 1 wait 1000 overhead "[ AUTO WEIGHT RECALL! ]" 88 @setvar! AutoWeightRecall 0 endif dclick AutoRecallChargedRunebook waitforgump 1551740969 gumpresponse 2 wait 1000 if insysmsg 'Your concentration is disturbed' for 2 clearsysmsg overhead '[ INTERUPTED! ]' 153 dclick AutoRecallChargedRunebook waitforgump 1551740969 gumpresponse 2 wait 1000 if insysmsg 'Your concentration is disturbed' wait 500 else break endif endfor endif wait 2000 if not findtype 'stubnose crossbow|tower guard crossbow|balestra|long bow|bow|recurve bow|composite bow|heavy crossbow|crossbow' hand wait 500 if findtype 'stubnose crossbow|tower guard crossbow|balestra|long bow|bow|recurve bow|composite bow|heavy crossbow|crossbow' backpack as weapon getlabel weapon WeaponLabel for 10 wait 500 if "lyric aspect" in WeaponLabel break elseif "unidentified" in WeaponLabel @ignore weapon wait 250 if findtype 'stubnose crossbow|tower guard crossbow|balestra|long bow|bow|recurve bow|composite bow|heavy crossbow|crossbow' backpack as weapon getlabel weapon WeaponLabel endif else wait 250 if findtype 'stubnose crossbow|tower guard crossbow|balestra|long bow|bow|recurve bow|composite bow|heavy crossbow|crossbow' backpack as weapon getlabel weapon WeaponLabel endif endif endfor wait 250 dclick weapon wait 500 endif endif if EnableShield = 1 if not findtype 'buckler |metal shield|Chaos shield|heater shield|bone shield|bronze shield|kite shield|Order shield|wooden shield|parrying gauche' lefthand if findtype 'buckler |metal shield|Chaos shield|heater shield|bone shield|bronze shield|kite shield|Order shield|wooden shield|parrying gauche' backpack as shield for 5 getlabel shield ShieldLabel wait 500 if "unidentified" in ShieldLabel @ignore shield wait 150 if findtype 'buckler |metal shield|Chaos shield|heater shield|bone shield|bronze shield|kite shield|Order shield|wooden shield|parrying gauche' backpack as shield getlabel shield ShieldLabel endif else break endif endfor dclick shield wait 500 endif endif endif useskill "Hiding" if EnableLootBag = 1 dclick LootBag wait 500 endif if findtype "bank deposit safe" ground -1 -1 2 as safe while findtype "gold coin" backpack as gold lift gold 60000 if EnableOverheadMessages = 1 overhead "[ DEPOSITING GOLD... ]" 149 elseif EnableOverheadMessages = 2 overhead " ▼ " 149 endif drop safe -1 -1 -1 wait 1500 endwhile while findtype 2539 backpack as dubs if EnableOverheadMessages = 1 overhead "[ DEPOSITING DUBS... ]" 149 elseif EnableOverheadMessages = 2 overhead " ▼ " 149 endif lift dubs 60000 drop safe -1 -1 -1 wait 1500 endwhile else overhead "[ NO BANK SAFE FOUND ]" 337 wait 1500 endif wait 500 if findtype "black market goods|seed of renewal|dirt patch|bag of seeds|void orb|rune|scroll of calling|bottle|dye bottle|map|research materials" self dclick LootChest if EnableOverheadMessages = 1 overhead "[ STASHING LOOT... ]" 69 elseif EnableOverheadMessages = 2 overhead " ▼ " 69 endif hotkey "Organizer Agent-06" wait 250 hotkey "Organizer Agent-07" wait 250 hotkey "Organizer Agent-08" wait 250 hotkey "Organizer Agent-09" wait 250 endif wait 500 if findtype "resource container" ground -1 -1 2 as resource menu resource 0 wft 500 target self if EnableOverheadMessages = 1 overhead "[ PILING RESOURCES... ]" 84 elseif EnableOverheadMessages = 2 overhead " ▼ " 84 endif wait 1500 else overhead "[ NO RESOURCE STOCKPILE FOUND ]" 337 wait 1500 endif wait 500 if findtype "repair bench" ground -1 -1 3 as RepairBench clearsysmsg dclick RepairBench wait 500 if insysmsg "You do not have any items equipped or in your backpack in need of repairs." if EnableOverheadMessages = 1 overhead "[ NOTHING TO REPAIR! ]" 0 endif wait 1500 else if EnableOverheadMessages = 1 overhead "[ REPAIRING EQUIPMENT... ]" 339 elseif EnableOverheadMessages = 2 overhead " ● " 339 endif settimer RepairTimer 0 while timer RepairTimer <= 5000 if insysmsg "Repair" break endif endwhile if EnableOverheadMessages = 1 overhead "[ ITEMS REPAIRED! ]" 0 wait 500 overhead "Repair took: {{RepairTimer}}ms" 37 elseif EnableOverheadMessages = 2 overhead " ● " 0 endif removetimer RepairTimer wait 500 endif else overhead "[ NO REPAIR BENCH FOUND ]" 337 wait 1500 endif wait 500 if findtype "storage shelf" ground -1 -1 2 as shelf menu shelf 0 wft 500 target self if EnableOverheadMessages = 1 overhead "[ STORING GOODS... ]" 2114 elseif EnableOverheadMessages = 2 overhead " ▼ " 2114 endif wait 500 gumpclose 3232825965 wait 1000 menu shelf 1 if EnableOverheadMessages = 1 overhead "[ RESUPPLYING... ]" 93 elseif EnableOverheadMessages = 2 overhead " ▲ " 93 endif wait 1500 else overhead "[ NO STORAGE SHELF FOUND ]" 337 wait 1500 endif wait 500 if findtype "ornate elven chest|magic item recycler" ground -1 -1 2 as recycler menu recycler 1 wait 500 if insysmsg "0 recyclable" if EnableOverheadMessages = 1 overhead "[ NO MAGIC LOOT! ]" 6 endif wait 1500 else if EnableOverheadMessages = 1 overhead "[ RECYCLING MAGIC LOOT... ]" 6 elseif EnableOverheadMessages = 2 overhead " ▼ " 6 endif wait 1500 endif else overhead "[ NO MAGIC ITEM RECYCLER FOUND ]" 337 wait 1500 endif wait 500 hotkey "Organizer Agent-04" @setvar! TimeToGo 0 @setvar! RedTargetFound 0 if EnableInfiniteLoop = 1 if skill 'Healing' > 38 if not bandaging if hp < maxhp or poisoned or findbuff "bleed" or findbuff "disease" if EnableOverheadMessages = 1 overhead '[ BANDAGING...]' 88 endif hotkey "Bandage Self" endif endif endif if EnableHolyLight = 1 if diffhits > 30 and skill "Chivalry" >= 95 and not cooldown "Holy Light" and not cooldown "Prevented" and not cooldown "Chivalry" clearsysmsg yell "[HolyLight" wait 250 if insysmsg "You do not have enough holy" cooldown "Prevented" 5000 clearsysmsg else if EnableOverheadMessages = 1 overhead "[ HOLY LIGHT! ]" 254 endif cooldown "Holy Light" 31000 cooldown "Chivalry" 500 endif wait 500 endif endif if EnableNobleSacrifice = 1 if diffhits > 50 and skill "Chivalry" >= 80 and not cooldown "Noble Sacrifice" and not cooldown "Prevented" and not cooldown "Chivalry" clearsysmsg yell "[NobleSacrifice" wait 250 if insysmsg "You do not have enough holy" cooldown "Prevented" 5000 clearsysmsg else wft 1000 target 'self' if EnableOverheadMessages = 1 overhead "[ NOBLE SACRIFICE! ]" 155 endif cooldown "Noble Sacrifice" 31000 cooldown "Chivalry" 500 endif wait 500 endif endif while cooldown "Infinite Loop" if not cooldown "No Target Timer" if EnableOverheadMessages = 1 overhead "[ WAITING TO LOOP... ]" 420 cooldown "No Target Timer" 4250 elseif EnableOverheadMessages = 2 overhead "[ . . . ]" 420 cooldown "No Target Timer" 4250 endif endif wait 500 endwhile overhead "[ ▌ !! INFINITE LOOP !! ▌ ]" 419 say '[SacredJourney' wait 1000 waitforgump 1482653814 gumpresponse 4 wait 1500 for 5 if findtype 30528 ground -1 -1 1 as ChivGate dclick ChivGate wait 1500 break else wait 1000 endif endfor waitforgump 3899019871 gumpresponse 2 wait 1000 replay else wait 500 overhead "[ SCRIPT COMPLETE! ]" 69 stop endif endif endif elseif EnableAutoRedRecall = 0 and EnableAutoWeightRecall = 0 and RedTargetFound = 1 overhead "[ !!RED ALERT!! ]" 37 cooldown "Target Timer" 0 cooldown "No Target Timer" 3500 cooldown "Dungeon Escape" 120000 @setvar! RedTargetFound 0 while cooldown "Dungeon Escape" while find MurdererTarget ground -1 -1 12 if not cooldown "No Target Timer" overhead "[ RUN TO NEAREST GATE!! ]" 153 cooldown "No Target Timer" 120000 endif if EnableParalyzePouch = 1 if paralyzed if findtype "pouch" self yell "[pouch" else if EnableOverheadMessages = 1 overhead "[ NO MORE POUCHES! ]" 337 endif endif endif endif if skill 'Healing' > 38 if not bandaging if hp < maxhp or poisoned or findbuff "bleed" or findbuff "disease" hotkey "Bandage Self" endif endif endif if not cooldown "Weapon Ability" and not cooldown "Skirmish" yell "[WeaponAbility1" wait 250 if insysmsg "You cannot" cooldown "Weapon Ability" 5000 else overhead "[ SKIRMISH! ]" 6 cooldown "Weapon Ability" 61000 cooldown "Skirmish" 15000 endif endif if not findtype 'stubnose crossbow|balestra|crossbow' hand if findtype 'stubnose crossbow|balestra|crossbow' backpack as fastweapon dclick fast weapon wait 500 endif endif if not findtype 'heater shield|metal shield|Chaos shield|bone shield|bronze shield|buckler |kite shield|Order shield|wooden shield|parrying gauche' lefthand if findtype 'heater shield|metal shield|Chaos shield|heater shield|bone shield|bronze shield|buckler |kite shield|Order shield|wooden shield|parrying gauche' backpack as shield dclick shield wait 500 endif endif if not cooldown "Provocation" and not cooldown "Musicianship" and not dead ClosestTarget and find ClosestTarget ground -1 -1 10 skill "Provocation" wft 1000 target ClosestTarget wft 1000 target MurdererTarget wait 500 if insysmsg 'You play successfully, provoking' cooldown "Musicianship" 5500 cooldown "Provocation" 11000 say " :) " elseif insysmsg 'You fail to incite' overhead '[ PROVO FAIL! ]' 153 cooldown "Provocation" 5000 elseif insysmsg 'Target cannot be seen' overhead "[ TARGET CANNOT BE SEEN... ]" 337 cooldown "Provocation" 1000 elseif insysmsg 'That is too far away.' overhead '[ TOO FAR AWAY! ]' 43 cooldown "Provocation" 1000 elseif insysmsg 'The creatures you are trying to provoke are too far away from each other for your music to have an effect.' overhead '[ TOO FAR APART! ]' 153 ClosestTarget overhead '[ TOO FAR APART! ]' 153 MurdererTarget cooldown "Provocation" 1000 elseif insysmsg 'tell someone to attack themselves!' overhead '[ SELF TARGETING FAIL... ]' 337 else say " :( " endif endif if diffhits > 30 and not cooldown "Healing Potion" if findtype "Yellow Potion" self as healpot dclick healpot wait 500 cooldown "Healing Potion" 11000 if insysmsg "Potion satchel used" if EnableOverheadMessages = 1 overhead "[ FREE HEAL POTION! ]" 253 endif clearsysmsg else if EnableOverheadMessages = 1 overhead '[ HEAL POTION... ]' 253 endif clearsysmsg endif else if not cooldown "Inventory Timer" if EnableOverheadMessages = 1 overhead '[ NO HEAL POTS! ]' 337 endif cooldown "Healing Potion" 30000 endif endif wait 500 endif if poisoned and not cooldown "Cure Potion" if findtype "Orange Potion" self as curepot dclick curepot wait 500 cooldown "Cure Potion" 11000 if insysmsg "Potion satchel used" if EnableOverheadMessages = 1 overhead "[ FREE CURE POTION! ]" 44 endif clearsysmsg else if EnableOverheadMessages = 1 overhead '[ CURE POTION... ]' 44 endif clearsysmsg endif else if not cooldown "Inventory Timer" if EnableOverheadMessages = 1 overhead '[ NO CURE POTS! ]' 337 endif cooldown "Cure Potion" 30000 endif endif wait 500 endif if stam < maxstam and not cooldown "Refresh Potion" if findtype "Red Potion" self as refreshpot dclick refreshpot cooldown "Refresh Potion" 11000 wait 500 if insysmsg "Potion satchel used" if EnableOverheadMessages = 1 overhead "[ FREE REFRESH POTION! ]" 34 endif clearsysmsg else if EnableOverheadMessages = 1 overhead '[ REFRESH POTION... ]' 34 endif clearsysmsg endif else if not cooldown "Inventory Timer" if EnableOverheadMessages = 1 overhead '[ NO REFRESH POTS! ]' 337 endif cooldown "Refresh Potion" 30000 endif endif wait 500 endif while not gumpexists 3899019871 and findtype "blue moongate" ground 0 1 2 as EscapeGate dclick EscapeGate endwhile if gumpexists 3899019871 and findtype "blue moongate" ground 0 1 2 as EscapeGate while gumpexists 3899019871 and findtype "blue moongate" ground 0 1 2 as EscapeGate gumpresponse 2 3899019871 wait 200 endwhile wait 1500 if EnableDIYHomeRecallScript = 1 foreach RecallScript in HomeRecallScriptList script RecallScript endfor else overhead "[ SCRIPT COMPLETE! ]" 69 stop endif endif while not gumpexists 3899019871 and findtype 30528 ground 2091 1 1 as EscapeGate dclick EscapeGate endwhile if gumpexists 3899019871 and findtype 30528 ground 2091 1 1 as EscapeGate while gumpexists 3899019871 and findtype 30528 ground 2091 1 1 as EscapeGate gumpresponse 2 3899019871 wait 200 endwhile wait 1500 if EnableDIYHomeRecallScript = 1 foreach RecallScript in HomeRecallScriptList script RecallScript endfor else overhead "[ SCRIPT COMPLETE! ]" 69 stop endif endif while not gumpexists 3773199800 and findtype "blue moongate" ground -1 1 2 as EscapeGate dclick EscapeGate endwhile if gumpexists 3773199800 and findtype "blue moongate" ground -1 1 2 as EscapeGate while gumpexists 3773199800 and findtype "blue moongate" ground -1 1 2 as EscapeGate gumpresponse 2 3773199800 wait 200 endwhile wait 1500 if EnableDIYHomeRecallScript = 1 foreach RecallScript in HomeRecallScriptList script RecallScript endfor else overhead "[ SCRIPT COMPLETE! ]" 69 stop endif endif while not gumpexists 3899019871 and findtype "moongate" ground -1 -1 2 as EscapeGate dclick EscapeGate endwhile if gumpexists 3899019871 and findtype "moongate" ground -1 -1 2 as EscapeGate while gumpexists 3899019871 and findtype "moongate" ground -1 -1 2 as EscapeGate gumpresponse 2 3899019871 wait 200 endwhile wait 1500 if EnableDIYHomeRecallScript = 1 foreach RecallScript in HomeRecallScriptList script RecallScript endfor else overhead "[ SCRIPT COMPLETE! ]" 69 stop endif endif if findtype "moongate" ground -1 1 12 or findtype "blue moongate" ground -1 1 12 as EscapeGate if not cooldown "Target Timer" overhead "[ GET CLOSER! ]" 84 cooldown "Target Timer" 3500 endif else if not cooldown "Target Timer" overhead "[ GET TO A GATE... ]" 88 cooldown "Target Timer" 4000 endif endif endwhile while not gumpexists 3899019871 and findtype "blue moongate" ground 0 1 2 as EscapeGate dclick EscapeGate endwhile if gumpexists 3899019871 and findtype "blue moongate" ground 0 1 2 as EscapeGate while gumpexists 3899019871 and findtype "blue moongate" ground 0 1 2 as EscapeGate gumpresponse 2 3899019871 wait 200 endwhile wait 1500 if EnableDIYHomeRecallScript = 1 foreach RecallScript in HomeRecallScriptList script RecallScript endfor else overhead "[ SCRIPT COMPLETE! ]" 69 stop endif endif while not gumpexists 3899019871 and findtype 30528 ground 2091 1 1 as EscapeGate dclick EscapeGate endwhile if gumpexists 3899019871 and findtype 30528 ground 2091 1 1 as EscapeGate while gumpexists 3899019871 and findtype 30528 ground 2091 1 1 as EscapeGate gumpresponse 2 3899019871 wait 200 endwhile if EnableDIYHomeRecallScript = 1 foreach RecallScript in HomeRecallScriptList script RecallScript endfor else overhead "[ SCRIPT COMPLETE! ]" 69 stop endif endif while not gumpexists 3773199800 and findtype "blue moongate" ground -1 1 2 as EscapeGate dclick EscapeGate endwhile if gumpexists 3773199800 and findtype "blue moongate" ground -1 1 2 as EscapeGate while gumpexists 3773199800 and findtype "blue moongate" ground -1 1 2 as EscapeGate gumpresponse 2 3773199800 wait 200 endwhile wait 1500 if EnableDIYHomeRecallScript = 1 foreach RecallScript in HomeRecallScriptList script RecallScript endfor else overhead "[ SCRIPT COMPLETE! ]" 69 stop endif endif while not gumpexists 3899019871 and findtype "moongate" ground -1 -1 2 as EscapeGate dclick EscapeGate endwhile if gumpexists 3899019871 and findtype "moongate" ground -1 -1 2 as EscapeGate while gumpexists 3899019871 and findtype "moongate" ground -1 -1 2 as EscapeGate gumpresponse 2 3899019871 wait 200 endwhile wait 1500 if EnableDIYHomeRecallScript = 1 foreach RecallScript in HomeRecallScriptList script RecallScript endfor else overhead "[ SCRIPT COMPLETE! ]" 69 stop endif endif if findtype "moongate" ground -1 1 12 or findtype "blue moongate" ground -1 1 12 as EscapeGate if not cooldown "Target Timer" overhead "[ GET CLOSER! ]" 84 cooldown "Target Timer" 3500 endif else if not cooldown "Target Timer" overhead "[ GET TO A GATE... ]" 88 cooldown "Target Timer" 4000 endif endif endwhile elseif EnableAutoRedRecall = 0 or EnableAutoWeightRecall = 0 and TimeToGo = 0 hotkey 'Toggle Peace only' else hotkey 'Toggle Peace only' endif endif if skill 'Healing' > 38 if not bandaging if hp < maxhp or poisoned or findbuff "bleed" or findbuff "disease" if EnableOverheadMessages = 1 overhead '[ BANDAGING...]' 88 endif hotkey "Bandage Self" elseif counttype 'clean bandage%s%' < 10 if EnableOverheadMessages = 1 and not cooldown "Inventory Timer" overhead "[ BANDAGES LOW! ]" 339 cooldown "Inventory Timer" 6000 endif hotkey "Bandage Self" elseif counttype 'clean bandage%s%' = 0 and not cooldown "Inventory Timer" if EnableOverheadMessages = 1 overhead "[ NO BANDAGES! ]" 337 endif cooldown "Inventory Timer" 6000 endif wait 500 endif endif if EnableHealPotion = 1 if diffhits > HealPotHPdiff and not cooldown "Healing Potion" if findtype "Yellow Potion" self as healpot dclick healpot wait 500 cooldown "Healing Potion" 11000 if insysmsg "Potion satchel used" if EnableOverheadMessages = 1 overhead "[ FREE HEAL POTION! ]" 253 endif clearsysmsg else if EnableOverheadMessages = 1 overhead '[ HEAL POTION... ]' 253 endif clearsysmsg endif else if not cooldown "Inventory Timer" if EnableOverheadMessages = 1 overhead '[ NO HEAL POTS! ]' 337 endif cooldown "Inventory Timer" 6000 endif endif wait 500 endif endif if EnableCurePotion = 1 if poisoned and not cooldown "Cure Potion" if findtype "Orange Potion" self as curepot dclick curepot wait 500 cooldown "Cure Potion" 11000 if insysmsg "Potion satchel used" if EnableOverheadMessages = 1 overhead "[ FREE CURE POTION! ]" 44 endif clearsysmsg else if EnableOverheadMessages = 1 overhead '[ CURE POTION... ]' 44 endif clearsysmsg endif else if not cooldown "Inventory Timer" if EnableOverheadMessages = 1 overhead '[ NO CURE POTS! ]' 337 endif cooldown "Inventory Timer" 6000 endif endif wait 500 endif endif if EnableRefreshPotion = 1 if diffstam >= RefreshPotSPdiff and not cooldown "Refresh Potion" if findtype "Red Potion" self as refreshpot dclick refreshpot cooldown "Refresh Potion" 11000 wait 250 if insysmsg "Potion satchel used" if EnableOverheadMessages = 1 overhead "[ FREE REFRESH POTION! ]" 34 endif clearsysmsg else if EnableOverheadMessages = 1 overhead '[ REFRESH POTION... ]' 34 endif clearsysmsg endif else if not cooldown "Inventory Timer" if EnableOverheadMessages = 1 overhead '[ NO REFRESH POTS! ]' 337 endif cooldown "Inventory Timer" 6000 endif endif wait 500 endif endif if EnableParalyzePouch = 1 if paralyzed if findtype "pouch" self yell "[pouch" hotkey 'Toggle War Only' @setvar! RedTargetFound 1 replay else if EnableOverheadMessages = 1 overhead "[ NO MORE POUCHES! ]" 337 endif endif endif endif if EnableTrackingAutoRecall = 1 if PKTrackingRange = 60 if insysmsg ": 60 step" or insysmsg "60 space" or insysmsg ": 59 step" or insysmsg "59 space" or insysmsg ": 58 step" or insysmsg "58 space" or insysmsg ": 57 step" or insysmsg "57 space" or insysmsg ": 56 step" or insysmsg "56 space" or insysmsg ": 55 step" or insysmsg "55 space" or insysmsg ": 54 step" or insysmsg "54 space" or insysmsg ": 53 step" or insysmsg "53 space" or insysmsg ": 52 step" or insysmsg "52 space" or insysmsg ": 51 step" or insysmsg "51 space" or insysmsg ": 50 step" or insysmsg "50 space" or insysmsg ": 49 step" or insysmsg "49 space" or insysmsg ": 48 step" or insysmsg "48 space" or insysmsg ": 47 step" or insysmsg "47 space" or insysmsg ": 46 step" or insysmsg "46 space" or insysmsg ": 45 step" or insysmsg "45 space" or insysmsg ": 44 step" or insysmsg "44 space" or insysmsg ": 43 step" or insysmsg "43 space" or insysmsg ": 42 step" or insysmsg "42 space" or insysmsg ": 41 step" or insysmsg "41 space" or insysmsg ": 40 step" or insysmsg "40 space" or insysmsg ": 39 step" or insysmsg "39 space" or insysmsg ": 38 step" or insysmsg "38 space" or insysmsg ": 37 step" or insysmsg "37 space" or insysmsg ": 36 step" or insysmsg "36 space" or insysmsg ": 35 step" or insysmsg "35 space" or insysmsg ": 34 step" or insysmsg "34 space" or insysmsg ": 33 step" or insysmsg "33 space" or insysmsg ": 32 step" or insysmsg "32 space" or insysmsg ": 31 step" or insysmsg "31 space" or insysmsg ": 30 step" or insysmsg "30 space" or insysmsg ": 29 step" or insysmsg "29 space" or insysmsg ": 28 step" or insysmsg "28 space" or insysmsg ": 27 step" or insysmsg "27 space" or insysmsg ": 26 step" or insysmsg "26 space" or insysmsg ": 25 step" or insysmsg "25 space" or insysmsg ": 24 step" or insysmsg "24 space" or insysmsg ": 23 step" or insysmsg "23 space" or insysmsg ": 22 step" or insysmsg "22 space" or insysmsg ": 21 step" or insysmsg "21 space" or insysmsg ": 20 step" or insysmsg "20 space" or insysmsg ": 19 step" or insysmsg "19 space" or insysmsg ": 18 step" or insysmsg "18 space" or insysmsg ": 17 step" or insysmsg "17 space" or insysmsg ": 16 step" or insysmsg "16 space" or insysmsg ": 15 step" or insysmsg "15 space" or insysmsg ": 14 step" or insysmsg "14 space" or insysmsg ": 13 step" or insysmsg "13 space" or insysmsg ": 12 step" or insysmsg "12 space" or insysmsg ": 11 step" or insysmsg "11 space" or insysmsg ": 10 step" or insysmsg "10 space" or insysmsg ": 9 step" or insysmsg "(9 space" or insysmsg ": 8 step" or insysmsg "(8 space" or insysmsg ": 7 step" or insysmsg "(7 space" or insysmsg ": 6 step" or insysmsg "(6 space" or insysmsg ": 5 step" or insysmsg "(5 space" or insysmsg ": 4 step" or insysmsg "(4 space" or insysmsg ": 3 step" or insysmsg "(3 space" or insysmsg ": 2 step" or insysmsg "(2 space" or insysmsg ": 1 step" or insysmsg "(1 space" or insysmsg ": 0 step" or insysmsg "(0 space" overhead "[ !! RED ALERT !! ]" 37 hotkey 'Toggle War Only' @setvar! RedTargetFound 1 clearsysmsg replay endif elseif PKTrackingRange = 50 if insysmsg ": 50 step" or insysmsg "50 space" or insysmsg ": 49 step" or insysmsg "49 space" or insysmsg ": 48 step" or insysmsg "48 space" or insysmsg ": 47 step" or insysmsg "47 space" or insysmsg ": 46 step" or insysmsg "46 space" or insysmsg ": 45 step" or insysmsg "45 space" or insysmsg ": 44 step" or insysmsg "44 space" or insysmsg ": 43 step" or insysmsg "43 space" or insysmsg ": 42 step" or insysmsg "42 space" or insysmsg ": 41 step" or insysmsg "41 space" or insysmsg ": 40 step" or insysmsg "40 space" or insysmsg ": 39 step" or insysmsg "39 space" or insysmsg ": 38 step" or insysmsg "38 space" or insysmsg ": 37 step" or insysmsg "37 space" or insysmsg ": 36 step" or insysmsg "36 space" or insysmsg ": 35 step" or insysmsg "35 space" or insysmsg ": 34 step" or insysmsg "34 space" or insysmsg ": 33 step" or insysmsg "33 space" or insysmsg ": 32 step" or insysmsg "32 space" or insysmsg ": 31 step" or insysmsg "31 space" or insysmsg ": 30 step" or insysmsg "30 space" or insysmsg ": 29 step" or insysmsg "29 space" or insysmsg ": 28 step" or insysmsg "28 space" or insysmsg ": 27 step" or insysmsg "27 space" or insysmsg ": 26 step" or insysmsg "26 space" or insysmsg ": 25 step" or insysmsg "25 space" or insysmsg ": 24 step" or insysmsg "24 space" or insysmsg ": 23 step" or insysmsg "23 space" or insysmsg ": 22 step" or insysmsg "22 space" or insysmsg ": 21 step" or insysmsg "21 space" or insysmsg ": 20 step" or insysmsg "20 space" or insysmsg ": 19 step" or insysmsg "19 space" or insysmsg ": 18 step" or insysmsg "18 space" or insysmsg ": 17 step" or insysmsg "17 space" or insysmsg ": 16 step" or insysmsg "16 space" or insysmsg ": 15 step" or insysmsg "15 space" or insysmsg ": 14 step" or insysmsg "14 space" or insysmsg ": 13 step" or insysmsg "13 space" or insysmsg ": 12 step" or insysmsg "12 space" or insysmsg ": 11 step" or insysmsg "11 space" or insysmsg ": 10 step" or insysmsg "10 space" or insysmsg ": 9 step" or insysmsg "(9 space" or insysmsg ": 8 step" or insysmsg "(8 space" or insysmsg ": 7 step" or insysmsg "(7 space" or insysmsg ": 6 step" or insysmsg "(6 space" or insysmsg ": 5 step" or insysmsg "(5 space" or insysmsg ": 4 step" or insysmsg "(4 space" or insysmsg ": 3 step" or insysmsg "(3 space" or insysmsg ": 2 step" or insysmsg "(2 space" or insysmsg ": 1 step" or insysmsg "(1 space" or insysmsg ": 0 step" or insysmsg "(0 space" overhead "[ !! RED ALERT !! ]" 37 hotkey 'Toggle War Only' @setvar! RedTargetFound 1 clearsysmsg replay endif elseif PKTrackingRange = 40 if insysmsg ": 40 step" or insysmsg "40 space" or insysmsg ": 39 step" or insysmsg "39 space" or insysmsg ": 38 step" or insysmsg "38 space" or insysmsg ": 37 step" or insysmsg "37 space" or insysmsg ": 36 step" or insysmsg "36 space" or insysmsg ": 35 step" or insysmsg "35 space" or insysmsg ": 34 step" or insysmsg "34 space" or insysmsg ": 33 step" or insysmsg "33 space" or insysmsg ": 32 step" or insysmsg "32 space" or insysmsg ": 31 step" or insysmsg "31 space" or insysmsg ": 30 step" or insysmsg "30 space" or insysmsg ": 29 step" or insysmsg "29 space" or insysmsg ": 28 step" or insysmsg "28 space" or insysmsg ": 27 step" or insysmsg "27 space" or insysmsg ": 26 step" or insysmsg "26 space" or insysmsg ": 25 step" or insysmsg "25 space" or insysmsg ": 24 step" or insysmsg "24 space" or insysmsg ": 23 step" or insysmsg "23 space" or insysmsg ": 22 step" or insysmsg "22 space" or insysmsg ": 21 step" or insysmsg "21 space" or insysmsg ": 20 step" or insysmsg "20 space" or insysmsg ": 19 step" or insysmsg "19 space" or insysmsg ": 18 step" or insysmsg "18 space" or insysmsg ": 17 step" or insysmsg "17 space" or insysmsg ": 16 step" or insysmsg "16 space" or insysmsg ": 15 step" or insysmsg "15 space" or insysmsg ": 14 step" or insysmsg "14 space" or insysmsg ": 13 step" or insysmsg "13 space" or insysmsg ": 12 step" or insysmsg "12 space" or insysmsg ": 11 step" or insysmsg "11 space" or insysmsg ": 10 step" or insysmsg "10 space" or insysmsg ": 9 step" or insysmsg "(9 space" or insysmsg ": 8 step" or insysmsg "(8 space" or insysmsg ": 7 step" or insysmsg "(7 space" or insysmsg ": 6 step" or insysmsg "(6 space" or insysmsg ": 5 step" or insysmsg "(5 space" or insysmsg ": 4 step" or insysmsg "(4 space" or insysmsg ": 3 step" or insysmsg "(3 space" or insysmsg ": 2 step" or insysmsg "(2 space" or insysmsg ": 1 step" or insysmsg "(1 space" or insysmsg ": 0 step" or insysmsg "(0 space" overhead "[ !! RED ALERT !! ]" 37 hotkey 'Toggle War Only' @setvar! RedTargetFound 1 clearsysmsg replay endif elseif PKTrackingRange = 30 if insysmsg ": 30 step" or insysmsg "30 space" or insysmsg ": 29 step" or insysmsg "29 space" or insysmsg ": 28 step" or insysmsg "28 space" or insysmsg ": 27 step" or insysmsg "27 space" or insysmsg ": 26 step" or insysmsg "26 space" or insysmsg ": 25 step" or insysmsg "25 space" or insysmsg ": 24 step" or insysmsg "24 space" or insysmsg ": 23 step" or insysmsg "23 space" or insysmsg ": 22 step" or insysmsg "22 space" or insysmsg ": 21 step" or insysmsg "21 space" or insysmsg ": 20 step" or insysmsg "20 space" or insysmsg ": 19 step" or insysmsg "19 space" or insysmsg ": 18 step" or insysmsg "18 space" or insysmsg ": 17 step" or insysmsg "17 space" or insysmsg ": 16 step" or insysmsg "16 space" or insysmsg ": 15 step" or insysmsg "15 space" or insysmsg ": 14 step" or insysmsg "14 space" or insysmsg ": 13 step" or insysmsg "13 space" or insysmsg ": 12 step" or insysmsg "12 space" or insysmsg ": 11 step" or insysmsg "11 space" or insysmsg ": 10 step" or insysmsg "10 space" or insysmsg ": 9 step" or insysmsg "(9 space" or insysmsg ": 8 step" or insysmsg "(8 space" or insysmsg ": 7 step" or insysmsg "(7 space" or insysmsg ": 6 step" or insysmsg "(6 space" or insysmsg ": 5 step" or insysmsg "(5 space" or insysmsg ": 4 step" or insysmsg "(4 space" or insysmsg ": 3 step" or insysmsg "(3 space" or insysmsg ": 2 step" or insysmsg "(2 space" or insysmsg ": 1 step" or insysmsg "(1 space" or insysmsg ": 0 step" or insysmsg "(0 space" overhead "[ !! RED ALERT !! ]" 37 hotkey 'Toggle War Only' @setvar! RedTargetFound 1 clearsysmsg replay endif elseif PKTrackingRange = 0 if insysmsg "Now tracking" overhead "[ !! RED ALERT !! ]" 37 hotkey 'Toggle War Only' @setvar! RedTargetFound 1 clearsysmsg replay endif endif endif if EnablePKradar = 1 if not cooldown "PK Radar" hotkey 'Next Murderer Player Target' wait 250 if insysmsg "No one matching that was found" cooldown "PK Radar" 500 clearsysmsg else overhead "[ !! RED ALERT !! ]" 37 hotkey 'Toggle War Only' @setvar! RedTargetFound 1 @setvar! MurdererTarget lasttarget replay endif endif endif if EnableHolyLight = 1 if diffhits > HolyLightHPdiff and skill "Chivalry" >= 95 and not cooldown "Holy Light" and not cooldown "Prevented" and not cooldown "Chivalry" clearsysmsg yell "[HolyLight" wait 250 if insysmsg "You do not have enough holy" cooldown "Prevented" 5000 clearsysmsg else if EnableOverheadMessages = 1 overhead "[ HOLY LIGHT! ]" 254 endif cooldown "Holy Light" 31000 cooldown "Chivalry" 500 endif wait 500 endif endif if EnableNobleSacrifice = 1 if diffhits > NobleSacrificeHPdiff and skill "Chivalry" >= 80 and not cooldown "Noble Sacrifice" and not cooldown "Prevented" and not cooldown "Chivalry" clearsysmsg yell "[NobleSacrifice" wait 250 if insysmsg "You do not have enough holy" cooldown "Prevented" 5000 clearsysmsg else wft 1000 target 'self' if EnableOverheadMessages = 1 overhead "[ NOBLE SACRIFICE! ]" 155 endif cooldown "Noble Sacrifice" 31000 cooldown "Chivalry" 500 endif wait 500 endif endif if EnableCloseWounds = 1 if findbuff "bleed" or findbuff "disease" if skill "chivalry" >= 70 and not cooldown "Close Wounds" and not cooldown "Chivalry" and not cooldown "Prevented" clearsysmsg yell "[CloseWounds" wait 250 if insysmsg "You do not have enough holy" cooldown "Prevented" 5000 clearsysmsg else cooldown "Close Wounds" 31000 cooldown "Chivalry" 500 if EnableOverheadMessages = 1 overhead "[ CLOSE WOUNDS! ]" 48 endif endif wait 500 endif endif endif if EnableCleanseByFire = 1 if diffhits > CleanseByFireHPdiff and poisoned and not cooldown "Cleanse By Fire" and not cooldown "Chivalry" and not cooldown "Prevented" clearsysmsg yell "[CleanseByFire" wait 250 if insysmsg "You do not have enough holy" cooldown "Prevented" 5000 clearsysmsg else cooldown "Cleanse By Fire" 31000 cooldown "Chivalry" 500 if EnableOverheadMessages = 1 overhead "[ CLEANSE BY FIRE! ]" 43 endif endif wait 500 endif endif if EnableAutoCarving = 1 if findtype 'Elven SpellBlade' self if findtype "corpse" ground -1 -1 2 as deadbody dclicktype "Elven Spellblade" wft 1000 targettype "Elven Spellblade" if EnableOverheadMessages = 1 overhead "[ SKINNING... ]" 339 endif wait 500 @ignore deadbody endif else if not cooldown "Inventory Timer" if EnableOverheadMessages = 1 overhead "[ NO SKINNING KNIFE! ]" 337 endif cooldown "Inventory Timer" 6000 endif endif endif hotkey 'Target Closest Grey Monster' wait 250 ######################### ### NO TARGET LOOP: ### ######################### if insysmsg "No one matching that was found on your screen" if targetexists if findtype " Elven Spellblade" self targettype "Elven Spellblade" else target backpack endif endif if not cooldown "No Target Timer" if EnableOverheadMessages = 1 overhead "[ NO TARGET... ]" 6 cooldown "No Target Timer" 3500 elseif EnableOverheadMessages = 2 overhead " ● " 6 cooldown "No Target Timer" 3500 endif endif if findtype "Ginseng|Garlic|Blood Moss|Sulfurous Ash|Mandrake Root%s%|Nightshade|Black Pearl%s%|Spider's Silk" backpack if not cooldown "Satchel Timer" and findtype "reagent satchel" self as MyWizardBag menu MyWizardBag 0 wait 500 cooldown "Satchel Timer" 15000 endif endif if findtype "arrow|crossbow bolt" backpack if not cooldown "Satchel Timer" and findtype "quiver" self as MyQuiver menu MyQuiver 0 wait 500 cooldown "Satchel Timer" 15000 endif endif if findtype "Yellow Potion|Orange Potion|Red Potion|White Potion|Blue Potion|Black Potion|" backpack if not cooldown "Satchel Timer" and findtype 31262 self as MyPotBag menu MyPotBag 0 wait 500 cooldown "Satchel Timer" 15000 endif endif if EnableAutoCarving = 1 if findtype 'Elven SpellBlade' self if findtype "corpse" ground -1 -1 2 as deadbody dclicktype "Elven Spellblade" wft 1000 targettype "Elven Spellblade" if EnableOverheadMessages = 1 overhead "[ SKINNING... ]" 339 endif wait 500 @ignore deadbody endif else if not cooldown "Inventory Timer" if EnableOverheadMessages = 1 overhead "[ NO SKINNING KNIFE! ]" 337 endif cooldown "Inventory Timer" 6000 endif endif endif if not findbuff 'food satisfaction' and findtype "tray" self if findtype "tray" backpack as Food if EnableOverheadMessages = 1 overhead "[ EATING FOOD... ]" 88 endif dclick Food wait 1000 endif endif if EnableTrackingAutoRecall = 1 if PKTrackingRange = 60 if insysmsg ": 60 step" or insysmsg "60 space" or insysmsg ": 59 step" or insysmsg "59 space" or insysmsg ": 58 step" or insysmsg "58 space" or insysmsg ": 57 step" or insysmsg "57 space" or insysmsg ": 56 step" or insysmsg "56 space" or insysmsg ": 55 step" or insysmsg "55 space" or insysmsg ": 54 step" or insysmsg "54 space" or insysmsg ": 53 step" or insysmsg "53 space" or insysmsg ": 52 step" or insysmsg "52 space" or insysmsg ": 51 step" or insysmsg "51 space" or insysmsg ": 50 step" or insysmsg "50 space" or insysmsg ": 49 step" or insysmsg "49 space" or insysmsg ": 48 step" or insysmsg "48 space" or insysmsg ": 47 step" or insysmsg "47 space" or insysmsg ": 46 step" or insysmsg "46 space" or insysmsg ": 45 step" or insysmsg "45 space" or insysmsg ": 44 step" or insysmsg "44 space" or insysmsg ": 43 step" or insysmsg "43 space" or insysmsg ": 42 step" or insysmsg "42 space" or insysmsg ": 41 step" or insysmsg "41 space" or insysmsg ": 40 step" or insysmsg "40 space" or insysmsg ": 39 step" or insysmsg "39 space" or insysmsg ": 38 step" or insysmsg "38 space" or insysmsg ": 37 step" or insysmsg "37 space" or insysmsg ": 36 step" or insysmsg "36 space" or insysmsg ": 35 step" or insysmsg "35 space" or insysmsg ": 34 step" or insysmsg "34 space" or insysmsg ": 33 step" or insysmsg "33 space" or insysmsg ": 32 step" or insysmsg "32 space" or insysmsg ": 31 step" or insysmsg "31 space" or insysmsg ": 30 step" or insysmsg "30 space" or insysmsg ": 29 step" or insysmsg "29 space" or insysmsg ": 28 step" or insysmsg "28 space" or insysmsg ": 27 step" or insysmsg "27 space" or insysmsg ": 26 step" or insysmsg "26 space" or insysmsg ": 25 step" or insysmsg "25 space" or insysmsg ": 24 step" or insysmsg "24 space" or insysmsg ": 23 step" or insysmsg "23 space" or insysmsg ": 22 step" or insysmsg "22 space" or insysmsg ": 21 step" or insysmsg "21 space" or insysmsg ": 20 step" or insysmsg "20 space" or insysmsg ": 19 step" or insysmsg "19 space" or insysmsg ": 18 step" or insysmsg "18 space" or insysmsg ": 17 step" or insysmsg "17 space" or insysmsg ": 16 step" or insysmsg "16 space" or insysmsg ": 15 step" or insysmsg "15 space" or insysmsg ": 14 step" or insysmsg "14 space" or insysmsg ": 13 step" or insysmsg "13 space" or insysmsg ": 12 step" or insysmsg "12 space" or insysmsg ": 11 step" or insysmsg "11 space" or insysmsg ": 10 step" or insysmsg "10 space" or insysmsg ": 9 step" or insysmsg "(9 space" or insysmsg ": 8 step" or insysmsg "(8 space" or insysmsg ": 7 step" or insysmsg "(7 space" or insysmsg ": 6 step" or insysmsg "(6 space" or insysmsg ": 5 step" or insysmsg "(5 space" or insysmsg ": 4 step" or insysmsg "(4 space" or insysmsg ": 3 step" or insysmsg "(3 space" or insysmsg ": 2 step" or insysmsg "(2 space" or insysmsg ": 1 step" or insysmsg "(1 space" or insysmsg ": 0 step" or insysmsg "(0 space" overhead "[ !! RED ALERT !! ]" 37 hotkey 'Toggle War Only' @setvar! RedTargetFound 1 clearsysmsg replay endif elseif PKTrackingRange = 50 if insysmsg ": 50 step" or insysmsg "50 space" or insysmsg ": 49 step" or insysmsg "49 space" or insysmsg ": 48 step" or insysmsg "48 space" or insysmsg ": 47 step" or insysmsg "47 space" or insysmsg ": 46 step" or insysmsg "46 space" or insysmsg ": 45 step" or insysmsg "45 space" or insysmsg ": 44 step" or insysmsg "44 space" or insysmsg ": 43 step" or insysmsg "43 space" or insysmsg ": 42 step" or insysmsg "42 space" or insysmsg ": 41 step" or insysmsg "41 space" or insysmsg ": 40 step" or insysmsg "40 space" or insysmsg ": 39 step" or insysmsg "39 space" or insysmsg ": 38 step" or insysmsg "38 space" or insysmsg ": 37 step" or insysmsg "37 space" or insysmsg ": 36 step" or insysmsg "36 space" or insysmsg ": 35 step" or insysmsg "35 space" or insysmsg ": 34 step" or insysmsg "34 space" or insysmsg ": 33 step" or insysmsg "33 space" or insysmsg ": 32 step" or insysmsg "32 space" or insysmsg ": 31 step" or insysmsg "31 space" or insysmsg ": 30 step" or insysmsg "30 space" or insysmsg ": 29 step" or insysmsg "29 space" or insysmsg ": 28 step" or insysmsg "28 space" or insysmsg ": 27 step" or insysmsg "27 space" or insysmsg ": 26 step" or insysmsg "26 space" or insysmsg ": 25 step" or insysmsg "25 space" or insysmsg ": 24 step" or insysmsg "24 space" or insysmsg ": 23 step" or insysmsg "23 space" or insysmsg ": 22 step" or insysmsg "22 space" or insysmsg ": 21 step" or insysmsg "21 space" or insysmsg ": 20 step" or insysmsg "20 space" or insysmsg ": 19 step" or insysmsg "19 space" or insysmsg ": 18 step" or insysmsg "18 space" or insysmsg ": 17 step" or insysmsg "17 space" or insysmsg ": 16 step" or insysmsg "16 space" or insysmsg ": 15 step" or insysmsg "15 space" or insysmsg ": 14 step" or insysmsg "14 space" or insysmsg ": 13 step" or insysmsg "13 space" or insysmsg ": 12 step" or insysmsg "12 space" or insysmsg ": 11 step" or insysmsg "11 space" or insysmsg ": 10 step" or insysmsg "10 space" or insysmsg ": 9 step" or insysmsg "(9 space" or insysmsg ": 8 step" or insysmsg "(8 space" or insysmsg ": 7 step" or insysmsg "(7 space" or insysmsg ": 6 step" or insysmsg "(6 space" or insysmsg ": 5 step" or insysmsg "(5 space" or insysmsg ": 4 step" or insysmsg "(4 space" or insysmsg ": 3 step" or insysmsg "(3 space" or insysmsg ": 2 step" or insysmsg "(2 space" or insysmsg ": 1 step" or insysmsg "(1 space" or insysmsg ": 0 step" or insysmsg "(0 space" overhead "[ !! RED ALERT !! ]" 37 hotkey 'Toggle War Only' @setvar! RedTargetFound 1 clearsysmsg replay endif elseif PKTrackingRange = 40 if insysmsg ": 40 step" or insysmsg "40 space" or insysmsg ": 39 step" or insysmsg "39 space" or insysmsg ": 38 step" or insysmsg "38 space" or insysmsg ": 37 step" or insysmsg "37 space" or insysmsg ": 36 step" or insysmsg "36 space" or insysmsg ": 35 step" or insysmsg "35 space" or insysmsg ": 34 step" or insysmsg "34 space" or insysmsg ": 33 step" or insysmsg "33 space" or insysmsg ": 32 step" or insysmsg "32 space" or insysmsg ": 31 step" or insysmsg "31 space" or insysmsg ": 30 step" or insysmsg "30 space" or insysmsg ": 29 step" or insysmsg "29 space" or insysmsg ": 28 step" or insysmsg "28 space" or insysmsg ": 27 step" or insysmsg "27 space" or insysmsg ": 26 step" or insysmsg "26 space" or insysmsg ": 25 step" or insysmsg "25 space" or insysmsg ": 24 step" or insysmsg "24 space" or insysmsg ": 23 step" or insysmsg "23 space" or insysmsg ": 22 step" or insysmsg "22 space" or insysmsg ": 21 step" or insysmsg "21 space" or insysmsg ": 20 step" or insysmsg "20 space" or insysmsg ": 19 step" or insysmsg "19 space" or insysmsg ": 18 step" or insysmsg "18 space" or insysmsg ": 17 step" or insysmsg "17 space" or insysmsg ": 16 step" or insysmsg "16 space" or insysmsg ": 15 step" or insysmsg "15 space" or insysmsg ": 14 step" or insysmsg "14 space" or insysmsg ": 13 step" or insysmsg "13 space" or insysmsg ": 12 step" or insysmsg "12 space" or insysmsg ": 11 step" or insysmsg "11 space" or insysmsg ": 10 step" or insysmsg "10 space" or insysmsg ": 9 step" or insysmsg "(9 space" or insysmsg ": 8 step" or insysmsg "(8 space" or insysmsg ": 7 step" or insysmsg "(7 space" or insysmsg ": 6 step" or insysmsg "(6 space" or insysmsg ": 5 step" or insysmsg "(5 space" or insysmsg ": 4 step" or insysmsg "(4 space" or insysmsg ": 3 step" or insysmsg "(3 space" or insysmsg ": 2 step" or insysmsg "(2 space" or insysmsg ": 1 step" or insysmsg "(1 space" or insysmsg ": 0 step" or insysmsg "(0 space" overhead "[ !! RED ALERT !! ]" 37 hotkey 'Toggle War Only' @setvar! RedTargetFound 1 clearsysmsg replay endif elseif PKTrackingRange = 30 if insysmsg ": 30 step" or insysmsg "30 space" or insysmsg ": 29 step" or insysmsg "29 space" or insysmsg ": 28 step" or insysmsg "28 space" or insysmsg ": 27 step" or insysmsg "27 space" or insysmsg ": 26 step" or insysmsg "26 space" or insysmsg ": 25 step" or insysmsg "25 space" or insysmsg ": 24 step" or insysmsg "24 space" or insysmsg ": 23 step" or insysmsg "23 space" or insysmsg ": 22 step" or insysmsg "22 space" or insysmsg ": 21 step" or insysmsg "21 space" or insysmsg ": 20 step" or insysmsg "20 space" or insysmsg ": 19 step" or insysmsg "19 space" or insysmsg ": 18 step" or insysmsg "18 space" or insysmsg ": 17 step" or insysmsg "17 space" or insysmsg ": 16 step" or insysmsg "16 space" or insysmsg ": 15 step" or insysmsg "15 space" or insysmsg ": 14 step" or insysmsg "14 space" or insysmsg ": 13 step" or insysmsg "13 space" or insysmsg ": 12 step" or insysmsg "12 space" or insysmsg ": 11 step" or insysmsg "11 space" or insysmsg ": 10 step" or insysmsg "10 space" or insysmsg ": 9 step" or insysmsg "(9 space" or insysmsg ": 8 step" or insysmsg "(8 space" or insysmsg ": 7 step" or insysmsg "(7 space" or insysmsg ": 6 step" or insysmsg "(6 space" or insysmsg ": 5 step" or insysmsg "(5 space" or insysmsg ": 4 step" or insysmsg "(4 space" or insysmsg ": 3 step" or insysmsg "(3 space" or insysmsg ": 2 step" or insysmsg "(2 space" or insysmsg ": 1 step" or insysmsg "(1 space" or insysmsg ": 0 step" or insysmsg "(0 space" overhead "[ !! RED ALERT !! ]" 37 hotkey 'Toggle War Only' @setvar! RedTargetFound 1 clearsysmsg replay endif elseif PKTrackingRange = 0 if insysmsg "Now tracking" overhead "[ !! RED ALERT !! ]" 37 hotkey 'Toggle War Only' @setvar! RedTargetFound 1 clearsysmsg replay endif endif endif if EnablePKradar = 1 if not cooldown "PK Radar" hotkey 'Next Murderer Player Target' wait 250 if insysmsg "No one matching that was found" cooldown "PK Radar" 500 clearsysmsg else overhead "[ !! RED ALERT !! ]" 37 hotkey 'Toggle War Only' @setvar! RedTargetFound 1 @setvar! MurdererTarget lasttarget replay endif endif endif if warmode hotkey 'Next Murderer Player Target' wait 500 if insysmsg "No one matching that was found" overhead "[ NO NEARBY REDS... ]" 37 hotkey 'Toggle Peace Only" clearsysmsg wait 500 else overhead "[ !! RED ALERT !! ]" 37 @setvar! RedTargetFound 1 @setvar! MurdererTarget lasttarget replay endif endif if EnableParalyzePouch = 1 if paralyzed if findtype "pouch" self yell "[pouch" hotkey 'Toggle War Only' replay else if EnableOverheadMessages = 1 overhead "[ NO MORE POUCHES! ]" 337 endif endif endif endif if EnableWeightWarningMessage = 1 if diffweight < GreenWarningDiffWeight and diffweight > YellowWarningDiffWeight and not cooldown "Weight Timer" if EnableOverheadMessages = 1 overhead "[ WEIGHT WARNING... ]" 77 cooldown "Weight Timer" 6000 elseif EnableOverheadMessages = 2 overhead " ▄ " 77 cooldown "Weight Timer" 6000 endif elseif diffweight < YellowWarningDiffWeight and diffweight > RedWeightLimitDiffWeight and not cooldown "Weight Timer" if EnableOverheadMessages = 1 overhead "[ WEIGHT WARNING! ]" 153 cooldown "Weight Timer" 6000 elseif EnableOverheadMessages = 2 overhead " ▄ " 153 cooldown "Weight Timer" 6000 endif elseif diffweight < RedWeightLimitDiffWeight and not cooldown "Weight Timer" if EnableOverheadMessages = 1 overhead "[ WEIGHT LIMIT REACHED! ]" 37 cooldown "Weight Timer" 6000 elseif EnableOverheadMessages = 2 overhead " ▄ " 37 cooldown "Weight Timer" 6000 endif if EnableAutoWeightRecall = 1 and not find ClosestTarget ground -1 -1 8 wait 1500 cooldown "Infinite Loop" 30000 hotkey 'Toggle War Only' @setvar! TimeToGo 1 @setvar! AutoWeightRecall 1 replay elseif EnableAutoWeightRecall = 1 and find ClosestTarget ground -1 -1 8 if not cooldown "Cleanup" overhead "[ WAITING TO RECALL... ]" 149 cooldown "Cleanup" 3500 endif wait 500 else overhead "[ OVERWEIGHT! ]" sysmsg "Time to head home and unload our loot!" 0 cooldown "Weight Timer" 5000 endif endif endif if EnableAmmoWarningMessage = 1 if findtype 'stubnose crossbow|tower guard crossbow|balestra|heavy crossbow|crossbow' hand # BOLTS @setvar! AMMO 1 elseif findtype 'long bow|bow|recurve bow|composite bow' hand # ARROWS @setvar AMMO 2 endif if counttype "crossbow bolt" self < LowAmmoWarningAmount and not cooldown "Ammunition" and AMMO = 1 overhead "[ AMMO LOW! ]" 37 cooldown "Ammunition" 6000 endif if counttype "arrow" self < LowAmmoWarningAmount and not cooldown "Ammunition" and AMMO = 2 overhead "[ AMMO LOW! ]" 37 cooldown "Ammunition" 6000 endif endif if EnableGoldVacuum = 1 if findtype "gold coin" ground -1 -1 12 as droppedmoney and not cooldown "Gold Radar" overhead "▼" 149 droppedmoney cooldown "Gold Radar" 3500 endif if findtype "gold coin" ground -1 -1 2 as droppedmoney and not cooldown "Gold Vacuum" overhead " ▲ " 149 hotkey "Grab Item" wft 2500 target droppedmoney wait 250 if insysmsg "Invalid or inaccessible item" wait 500 @ignore droppedmoney endif cooldown "Gold Vacuum" 500 endif endif if EnableArrowCleanup = 1 if findtype 7163|3903 ground -1 -1 2 as item and not cooldown "Cleanup" if EnableOverheadMessages = 1 overhead '[ CLEANUP... ]' 93 elseif EnableOverheadMessages = 2 overhead ' ▲ ' 93 endif hotkey "Grab Item" wft 1000 target item wait 500 if findtype "quiver" self as MyQuiver menu MyQuiver 0 wait 250 else hotkey 'Organizer Agent-03' wait 250 endif cooldown "Cleanup" 750 endif if findtype 7163 ground -1 -1 10 as bolt and not cooldown "Radar" overhead "▼" 93 bolt cooldown "Radar" 3500 endif if findtype 3903 ground -1 -1 10 as arrow and not cooldown "Radar" overhead "▼" 37 arrow cooldown "Radar" 3500 endif endif if insysmsg "something invisible out of" if EnableOverheadMessages = 1 overhead "▼ SOMEONE HIDING HERE! ▼" 6 wait 500 elseif EnableOverheadMessages = 2 overhead " ▼ " 6 endif endif if insysmsg "world is saving" if not timerexists "WorldSaveTimer" createtimer "WorldSaveTimer" endif settimer "WorldSaveTimer" 0 while timer "WorldSaveTimer" < 4000 if insysmsg "save complete" break endif wait 250 endwhile if EnableOverheadMessages = 1 overhead "[ SAVE COMPLETE! ]" 253 endif endif if skill 'Healing' > 38 if not bandaging if hp < maxhp or poisoned or findbuff "bleed" or findbuff "disease" if EnableOverheadMessages = 1 overhead '[ BANDAGING...]' 88 endif hotkey "Bandage Self" elseif counttype 'clean bandage%s%' < 10 if EnableOverheadMessages = 1 and not cooldown "Inventory Timer" overhead "[ BANDAGES LOW! ]" 339 cooldown "Inventory Timer" 6000 endif hotkey "Bandage Self" elseif counttype 'clean bandage%s%' = 0 and not cooldown "Inventory Timer" if EnableOverheadMessages = 1 overhead "[ NO BANDAGES! ]" 337 endif cooldown "Inventory Timer" 6000 endif endif endif if EnableHealPotion = 1 if diffhits > HealPotHPdiff and not cooldown "Healing Potion" if findtype "Yellow Potion" self as healpot dclick healpot wait 500 cooldown "Healing Potion" 11000 if insysmsg "Potion satchel used" if EnableOverheadMessages = 1 overhead "[ FREE HEAL POTION! ]" 253 endif clearsysmsg else if EnableOverheadMessages = 1 overhead '[ HEAL POTION... ]' 253 endif clearsysmsg endif else if not cooldown "Inventory Timer" if EnableOverheadMessages = 1 overhead '[ NO HEAL POTS! ]' 337 endif cooldown "Inventory Timer" 6000 endif endif wait 500 endif endif if EnableHolyLight = 1 if diffhits > HolyLightHPdiff and skill "Chivalry" >= 95 and not cooldown "Holy Light" and not cooldown "Prevented" and not cooldown "Chivalry" clearsysmsg yell "[HolyLight" wait 250 if insysmsg "You do not have enough holy" cooldown "Prevented" 5000 clearsysmsg else if EnableOverheadMessages = 1 overhead "[ HOLY LIGHT! ]" 254 endif cooldown "Holy Light" 31000 cooldown "Chivalry" 1000 endif wait 500 endif endif if EnableNobleSacrifice = 1 if diffhits > NobleSacrificeHPdiff and skill "Chivalry" >= 80 and not cooldown "Noble Sacrifice" and not cooldown "Prevented" and not cooldown "Chivalry" clearsysmsg yell "[NobleSacrifice" wait 250 if insysmsg "You do not have enough holy" cooldown "Prevented" 5000 clearsysmsg else wft 1000 target 'self' if EnableOverheadMessages = 1 overhead "[ NOBLE SACRIFICE! ]" 155 endif cooldown "Noble Sacrifice" 31000 cooldown "Chivalry" 1000 endif wait 500 endif endif if EnableCurePotion = 1 if poisoned and not cooldown "Cure Potion" if findtype "Orange Potion" self as curepot dclick curepot wait 500 cooldown "Cure Potion" 11000 if insysmsg "Potion satchel used" if EnableOverheadMessages = 1 overhead "[ FREE CURE POTION! ]" 44 endif clearsysmsg else if EnableOverheadMessages = 1 overhead '[ CURE POTION... ]' 44 endif clearsysmsg endif else if not cooldown "Inventory Timer" if EnableOverheadMessages = 1 overhead '[ NO CURE POTS! ]' 337 endif cooldown "Inventory Timer" 6000 endif endif wait 500 endif endif if EnableCleanseByFire = 1 if diffhits > CleanseByFireHPdiff and poisoned and not cooldown "Cleanse By Fire" and not cooldown "Chivalry" and not cooldown "Prevented" clearsysmsg yell "[CleanseByFire" wait 250 if not insysmsg "You do not have enough holy" cooldown "Cleanse By Fire" 31000 if EnableOverheadMessages = 1 overhead "[ CLEANSE BY FIRE! ]" 44 endif cooldown "Chivalry" 1000 else cooldown "Prevented" 5000 clearsysmsg endif wait 500 endif endif if EnableCloseWounds = 1 if findbuff "bleed" or findbuff "disease" if skill "chivalry" >= 70 and not cooldown "Close Wounds" and not cooldown "Chivalry" and not cooldown "Prevented" clearsysmsg yell "[CloseWounds" wait 250 if not insysmsg "You do not have enough holy" cooldown "Close Wounds" 31000 if EnableOverheadMessages = 1 overhead "[ CLOSE WOUNDS! ]" 2117 endif cooldown "Chivalry" 1000 else cooldown "Prevented" 5000 clearsysmsg endif wait 500 endif endif endif if EnableRefreshPotion = 1 if diffstam >= RefreshPotSPdiff and not cooldown "Refresh Potion" if findtype "Red Potion" self as refreshpot dclick refreshpot wait 500 cooldown "Refresh Potion" 11000 if insysmsg "Potion satchel used" if EnableOverheadMessages = 1 overhead "[ FREE REFRESH POTION! ]" 34 endif clearsysmsg else if EnableOverheadMessages = 1 overhead '[ REFRESH POTION... ]' 34 endif clearsysmsg endif else if not cooldown "Inventory Timer" if EnableOverheadMessages = 1 overhead '[ NO REFRESH POTS! ]' 337 endif cooldown "Inventory Timer" 6000 endif endif wait 500 endif endif if EnablePeacemakingBuff = 1 and not findbuff "Song Of Peacemaking" and not cooldown "Musicianship" and not cooldown "Peacemaking" and not cooldown "Song Buff Delay" skill "Peacemaking" wait 500 if insysmsg "What instrument shall you play?" if findtype "standing harp|sackbut|bamboo flute|tambourine|drum|lute|lap harp|gemshorn|hurdy gurdy|psaltery|shawm|vielle" as Instrument target Instrument else if EnableOverheadMessages = 1 overhead "[ NO INSTRUMENT! ]" 337 endif endif endif if not insysmsg "This is not a musical instrument" wft 1000 target backpack if EnableOverheadMessages = 1 overhead "[ PEACEMAKING BUFF... ]" 84 endif cooldown "Peacemaking Buff" SongReapply cooldown "Song Buff Delay" 11000 else target self endif endif if EnableDiscordanceBuff = 1 and not findbuff "Song Of Discordance" and not cooldown "Musicianship" and not cooldown "Discordance" and not cooldown "Song Buff Delay" skill "Discordance" wait 250 if insysmsg "What instrument shall you play?" if findtype "standing harp|sackbut|bamboo flute|tambourine|drum|lute|lap harp|gemshorn|hurdy gurdy|psaltery|shawm|vielle" as Instrument target Instrument else if EnableOverheadMessages = 1 overhead "[ NO INSTRUMENT! ]" 337 endif endif endif if not insysmsg "This is not a musical instrument" wft 1000 target backpack if EnableOverheadMessages = 1 overhead "[ DISCORDANCE BUFF... ]" 69 endif cooldown "Discordance Buff" SongReapply cooldown "Song Buff Delay" 11000 else target self endif endif if EnableProvocationBuff = 1 and not findbuff "Song of Provocation" and not cooldown "Musicianship" and not cooldown "Provocation" and not cooldown "Song Buff Delay" skill "Provocation" wait 250 if insysmsg "What instrument shall you play?" if findtype "standing harp|sackbut|bamboo flute|tambourine|drum|lute|lap harp|gemshorn|hurdy gurdy|psaltery|shawm|vielle" as Instrument target Instrument else if EnableOverheadMessages = 1 overhead "[ NO INSTRUMENT! ]" 337 endif endif endif if not insysmsg "This is not a musical instrument" wft 1000 target backpack if EnableOverheadMessages = 1 overhead "[ PROVOCATION BUFF... ]" 334 endif cooldown "Provocation Buff" SongReapply cooldown "Song Buff Delay" 11000 else target self endif endif if not cooldown "Inventory Timer" hotkey 'Organizer Agent-04' cooldown "Inventory Timer" 5000 endif clearsysmsg replay else ######################## #### TARGET ID: #### ######################## @setvar! ClosestTarget lasttarget getlabel ClosestTarget descTarget if not cooldown "No Target Timer" if EnableOverheadMessages = 1 overhead " ▌ TARGET ▌ " 253 ClosestTarget cooldown "No Target Timer" 5000 cooldown "Target Timer" 2500 elseif EnableOverheadMessages = 2 overhead " ● " 253 ClosestTarget cooldown "No Target Timer" 5000 cooldown "Target Timer" 2500 endif endif if find ClosestTarget ground -1 -1 8 hotkey 'Next Grey Monster Target' wait 100 @setvar! NextClosestTarget lasttarget getlabel NextClosestTarget descNextTarget if find NextClosestTarget ground -1 -1 12 and ClosestTarget != NextClosestTarget if not cooldown "Next Target Timer" overhead " ● " 2117 NextClosestTarget cooldown "Next Target Timer" 3500 endif wait 500 @setvar! NeedtoProvoke 1 else for 4 hotkey 'Next Grey Monster Target' wait 100 @setvar! NextClosestTarget lasttarget getlabel NextClosestTarget descNextTarget if find NextClosestTarget ground -1 -1 12 and ClosestTarget != NextClosestTarget if not cooldown "Next Target Timer" @setvar! NeedtoProvoke 1 overhead " ● " 2117 NextClosestTarget cooldown "Next Target Timer" 3500 endif wait 500 break endif endfor endif else if not cooldown "Target Timer" if EnableOverheadMessages = 1 overhead "[ GET CLOSER! ]" 69 cooldown "Target Timer" 3500 elseif EnableOverheadMessages = 2 overhead " ● " 69 cooldown "Target Timer" 3500 endif endif replay endif if NextClosestTarget != ClosestTarget and find NextClosestTarget ground -1 -1 12 @setvar! NeedtoProvoke 1 cooldown "Peace Check" 5000 cooldown "Provo Check" 5000 cooldown "Disco Check" 5000 cooldown "Discordance" 5000 else @setvar! NeedtoProvoke 0 @setvar! NeedtoPacify 1 cooldown "Peace Check" 5000 cooldown "Provo Check" 5000 cooldown "Disco Check" 5000 cooldown "Provocation" 5000 endif if PreviousTarget != ClosestTarget cooldown "Pacified" 0 cooldown "Discorded" 0 cooldown "Provoked" 0 endif hotkey 'Target Closest Grey Monster' @setvar! ClosestTarget lasttarget getlabel ClosestTarget descTarget cooldown "Target Check" 4000 wait 150 ############################# #### COMBAT LOOP: #### ############################# while not dead ClosestTarget if not cooldown "Target Check" hotkey 'Next Grey Monster Target' wait 100 @setvar! NextClosestTarget lasttarget getlabel NextClosestTarget descNextTarget if NextClosestTarget != ClosestTarget for 3 if find NextClosestTarget ground -1 -1 10 and ClosestTarget != NextClosestTarget if not cooldown "Next Target Timer" if EnableOverheadMessages = 1 overhead " ▼ TARGET ▼ " 2117 NextClosestTarget elseif EnableOverheadMessages = 2 overhead " ▼ " 2117 NextClosestTarget endif cooldown "Next Target Timer" 3500 else // Do nothing endif @setvar! NeedtoProvoke 1 @setvar! NeedtoPacify 0 @setvar! NeedtoDiscord 0 break else hotkey 'Next Grey Monster Target' wait 100 @setvar! NextClosestTarget lasttarget getlabel NextClosestTarget descNextTarget endif endfor endif hotkey 'Target Closest Grey Monster' wait 100 @setvar! ClosestTarget lasttarget getlabel ClosestTarget descTarget cooldown "Target Check" 5000 endif if not timerexists "FindTarget" createtimer "FindTarget" settimer "FindTarget" 2000 endif if timer "FindTarget" >= 2000 getlabel ClosestTarget descTarget if not cooldown "Target Timer" if "Paragon" in descTarget if EnableOverheadMessages = 1 overhead " ▼ PARAGON! ▼ " 12 ClosestTarget elseif EnableOverheadMessages = 2 overhead " ▼ " 12 ClosestTarget endif cooldown "Target Timer" 3500 else if EnableOverheadMessages = 1 overhead " ▼ TARGET ▼ " 253 ClosestTarget elseif EnableOverheadMessages = 2 overhead " ▼ " 253 ClosestTarget endif cooldown "Target Timer" 3500 endif endif attack ClosestTarget settimer "FindTarget" 0 endif if not timerexists "FindNextTarget" createtimer "FindNextTarget" settimer "FindNextTarget" 2000 endif if timer "FindNextTarget" >= 2000 and find NextClosestTarget ground -1 -1 10 and NextClosestTarget != ClosestTarget and NextClosestTarget != 0 getlabel NextClosestTarget descNextTarget if not cooldown " Next Target Timer" if "Paragon" in descNextTarget if EnableOverheadMessages = 1 overhead " ▼ PARAGON! ▼ " 12 NextClosestTarget elseif EnableOverheadMessages = 2 overhead " ▼ " 12 NextClosestTarget endif cooldown "Next Target Timer" 3500 else if EnableOverheadMessages = 1 overhead " ▼ TARGET ▼ " 2117 NextClosestTarget elseif EnableOverheadMessages = 2 overhead " ▼ " 2117 NextClosestTarget endif cooldown "Next Target Timer" 3500 endif endif settimer "FindNextTarget" 0 @setvar! NeedToProvoke 1 endif if insysmsg "world is saving" if not timerexists "WorldSaveTimer" createtimer "WorldSaveTimer" endif settimer "WorldSaveTimer" 0 while timer "WorldSaveTimer" < 4000 if insysmsg "save complete" break endif wait 250 endwhile if EnableOverheadMessages = 1 overhead "[ SAVE COMPLETE! ]" 253 endif endif if EnableParalyzePouch = 1 if paralyzed if findtype "pouch" self yell "[pouch" hotkey 'Toggle War Only' replay else if EnableOverheadMessages = 1 overhead "[ NO MORE POUCHES! ]" 337 endif endif endif endif if EnableTrackingAutoRecall = 1 if PKTrackingRange = 60 if insysmsg ": 60 step" or insysmsg "60 space" or insysmsg ": 59 step" or insysmsg "59 space" or insysmsg ": 58 step" or insysmsg "58 space" or insysmsg ": 57 step" or insysmsg "57 space" or insysmsg ": 56 step" or insysmsg "56 space" or insysmsg ": 55 step" or insysmsg "55 space" or insysmsg ": 54 step" or insysmsg "54 space" or insysmsg ": 53 step" or insysmsg "53 space" or insysmsg ": 52 step" or insysmsg "52 space" or insysmsg ": 51 step" or insysmsg "51 space" or insysmsg ": 50 step" or insysmsg "50 space" or insysmsg ": 49 step" or insysmsg "49 space" or insysmsg ": 48 step" or insysmsg "48 space" or insysmsg ": 47 step" or insysmsg "47 space" or insysmsg ": 46 step" or insysmsg "46 space" or insysmsg ": 45 step" or insysmsg "45 space" or insysmsg ": 44 step" or insysmsg "44 space" or insysmsg ": 43 step" or insysmsg "43 space" or insysmsg ": 42 step" or insysmsg "42 space" or insysmsg ": 41 step" or insysmsg "41 space" or insysmsg ": 40 step" or insysmsg "40 space" or insysmsg ": 39 step" or insysmsg "39 space" or insysmsg ": 38 step" or insysmsg "38 space" or insysmsg ": 37 step" or insysmsg "37 space" or insysmsg ": 36 step" or insysmsg "36 space" or insysmsg ": 35 step" or insysmsg "35 space" or insysmsg ": 34 step" or insysmsg "34 space" or insysmsg ": 33 step" or insysmsg "33 space" or insysmsg ": 32 step" or insysmsg "32 space" or insysmsg ": 31 step" or insysmsg "31 space" or insysmsg ": 30 step" or insysmsg "30 space" or insysmsg ": 29 step" or insysmsg "29 space" or insysmsg ": 28 step" or insysmsg "28 space" or insysmsg ": 27 step" or insysmsg "27 space" or insysmsg ": 26 step" or insysmsg "26 space" or insysmsg ": 25 step" or insysmsg "25 space" or insysmsg ": 24 step" or insysmsg "24 space" or insysmsg ": 23 step" or insysmsg "23 space" or insysmsg ": 22 step" or insysmsg "22 space" or insysmsg ": 21 step" or insysmsg "21 space" or insysmsg ": 20 step" or insysmsg "20 space" or insysmsg ": 19 step" or insysmsg "19 space" or insysmsg ": 18 step" or insysmsg "18 space" or insysmsg ": 17 step" or insysmsg "17 space" or insysmsg ": 16 step" or insysmsg "16 space" or insysmsg ": 15 step" or insysmsg "15 space" or insysmsg ": 14 step" or insysmsg "14 space" or insysmsg ": 13 step" or insysmsg "13 space" or insysmsg ": 12 step" or insysmsg "12 space" or insysmsg ": 11 step" or insysmsg "11 space" or insysmsg ": 10 step" or insysmsg "10 space" or insysmsg ": 9 step" or insysmsg "(9 space" or insysmsg ": 8 step" or insysmsg "(8 space" or insysmsg ": 7 step" or insysmsg "(7 space" or insysmsg ": 6 step" or insysmsg "(6 space" or insysmsg ": 5 step" or insysmsg "(5 space" or insysmsg ": 4 step" or insysmsg "(4 space" or insysmsg ": 3 step" or insysmsg "(3 space" or insysmsg ": 2 step" or insysmsg "(2 space" or insysmsg ": 1 step" or insysmsg "(1 space" or insysmsg ": 0 step" or insysmsg "(0 space" overhead "[ !! RED ALERT !! ]" 37 hotkey 'Toggle War Only' @setvar! RedTargetFound 1 clearsysmsg replay endif elseif PKTrackingRange = 50 if insysmsg ": 50 step" or insysmsg "50 space" or insysmsg ": 49 step" or insysmsg "49 space" or insysmsg ": 48 step" or insysmsg "48 space" or insysmsg ": 47 step" or insysmsg "47 space" or insysmsg ": 46 step" or insysmsg "46 space" or insysmsg ": 45 step" or insysmsg "45 space" or insysmsg ": 44 step" or insysmsg "44 space" or insysmsg ": 43 step" or insysmsg "43 space" or insysmsg ": 42 step" or insysmsg "42 space" or insysmsg ": 41 step" or insysmsg "41 space" or insysmsg ": 40 step" or insysmsg "40 space" or insysmsg ": 39 step" or insysmsg "39 space" or insysmsg ": 38 step" or insysmsg "38 space" or insysmsg ": 37 step" or insysmsg "37 space" or insysmsg ": 36 step" or insysmsg "36 space" or insysmsg ": 35 step" or insysmsg "35 space" or insysmsg ": 34 step" or insysmsg "34 space" or insysmsg ": 33 step" or insysmsg "33 space" or insysmsg ": 32 step" or insysmsg "32 space" or insysmsg ": 31 step" or insysmsg "31 space" or insysmsg ": 30 step" or insysmsg "30 space" or insysmsg ": 29 step" or insysmsg "29 space" or insysmsg ": 28 step" or insysmsg "28 space" or insysmsg ": 27 step" or insysmsg "27 space" or insysmsg ": 26 step" or insysmsg "26 space" or insysmsg ": 25 step" or insysmsg "25 space" or insysmsg ": 24 step" or insysmsg "24 space" or insysmsg ": 23 step" or insysmsg "23 space" or insysmsg ": 22 step" or insysmsg "22 space" or insysmsg ": 21 step" or insysmsg "21 space" or insysmsg ": 20 step" or insysmsg "20 space" or insysmsg ": 19 step" or insysmsg "19 space" or insysmsg ": 18 step" or insysmsg "18 space" or insysmsg ": 17 step" or insysmsg "17 space" or insysmsg ": 16 step" or insysmsg "16 space" or insysmsg ": 15 step" or insysmsg "15 space" or insysmsg ": 14 step" or insysmsg "14 space" or insysmsg ": 13 step" or insysmsg "13 space" or insysmsg ": 12 step" or insysmsg "12 space" or insysmsg ": 11 step" or insysmsg "11 space" or insysmsg ": 10 step" or insysmsg "10 space" or insysmsg ": 9 step" or insysmsg "(9 space" or insysmsg ": 8 step" or insysmsg "(8 space" or insysmsg ": 7 step" or insysmsg "(7 space" or insysmsg ": 6 step" or insysmsg "(6 space" or insysmsg ": 5 step" or insysmsg "(5 space" or insysmsg ": 4 step" or insysmsg "(4 space" or insysmsg ": 3 step" or insysmsg "(3 space" or insysmsg ": 2 step" or insysmsg "(2 space" or insysmsg ": 1 step" or insysmsg "(1 space" or insysmsg ": 0 step" or insysmsg "(0 space" overhead "[ !! RED ALERT !! ]" 37 hotkey 'Toggle War Only' @setvar! RedTargetFound 1 clearsysmsg replay endif elseif PKTrackingRange = 40 if insysmsg ": 40 step" or insysmsg "40 space" or insysmsg ": 39 step" or insysmsg "39 space" or insysmsg ": 38 step" or insysmsg "38 space" or insysmsg ": 37 step" or insysmsg "37 space" or insysmsg ": 36 step" or insysmsg "36 space" or insysmsg ": 35 step" or insysmsg "35 space" or insysmsg ": 34 step" or insysmsg "34 space" or insysmsg ": 33 step" or insysmsg "33 space" or insysmsg ": 32 step" or insysmsg "32 space" or insysmsg ": 31 step" or insysmsg "31 space" or insysmsg ": 30 step" or insysmsg "30 space" or insysmsg ": 29 step" or insysmsg "29 space" or insysmsg ": 28 step" or insysmsg "28 space" or insysmsg ": 27 step" or insysmsg "27 space" or insysmsg ": 26 step" or insysmsg "26 space" or insysmsg ": 25 step" or insysmsg "25 space" or insysmsg ": 24 step" or insysmsg "24 space" or insysmsg ": 23 step" or insysmsg "23 space" or insysmsg ": 22 step" or insysmsg "22 space" or insysmsg ": 21 step" or insysmsg "21 space" or insysmsg ": 20 step" or insysmsg "20 space" or insysmsg ": 19 step" or insysmsg "19 space" or insysmsg ": 18 step" or insysmsg "18 space" or insysmsg ": 17 step" or insysmsg "17 space" or insysmsg ": 16 step" or insysmsg "16 space" or insysmsg ": 15 step" or insysmsg "15 space" or insysmsg ": 14 step" or insysmsg "14 space" or insysmsg ": 13 step" or insysmsg "13 space" or insysmsg ": 12 step" or insysmsg "12 space" or insysmsg ": 11 step" or insysmsg "11 space" or insysmsg ": 10 step" or insysmsg "10 space" or insysmsg ": 9 step" or insysmsg "(9 space" or insysmsg ": 8 step" or insysmsg "(8 space" or insysmsg ": 7 step" or insysmsg "(7 space" or insysmsg ": 6 step" or insysmsg "(6 space" or insysmsg ": 5 step" or insysmsg "(5 space" or insysmsg ": 4 step" or insysmsg "(4 space" or insysmsg ": 3 step" or insysmsg "(3 space" or insysmsg ": 2 step" or insysmsg "(2 space" or insysmsg ": 1 step" or insysmsg "(1 space" or insysmsg ": 0 step" or insysmsg "(0 space" overhead "[ !! RED ALERT !! ]" 37 hotkey 'Toggle War Only' @setvar! RedTargetFound 1 clearsysmsg replay endif elseif PKTrackingRange = 30 if insysmsg ": 30 step" or insysmsg "30 space" or insysmsg ": 29 step" or insysmsg "29 space" or insysmsg ": 28 step" or insysmsg "28 space" or insysmsg ": 27 step" or insysmsg "27 space" or insysmsg ": 26 step" or insysmsg "26 space" or insysmsg ": 25 step" or insysmsg "25 space" or insysmsg ": 24 step" or insysmsg "24 space" or insysmsg ": 23 step" or insysmsg "23 space" or insysmsg ": 22 step" or insysmsg "22 space" or insysmsg ": 21 step" or insysmsg "21 space" or insysmsg ": 20 step" or insysmsg "20 space" or insysmsg ": 19 step" or insysmsg "19 space" or insysmsg ": 18 step" or insysmsg "18 space" or insysmsg ": 17 step" or insysmsg "17 space" or insysmsg ": 16 step" or insysmsg "16 space" or insysmsg ": 15 step" or insysmsg "15 space" or insysmsg ": 14 step" or insysmsg "14 space" or insysmsg ": 13 step" or insysmsg "13 space" or insysmsg ": 12 step" or insysmsg "12 space" or insysmsg ": 11 step" or insysmsg "11 space" or insysmsg ": 10 step" or insysmsg "10 space" or insysmsg ": 9 step" or insysmsg "(9 space" or insysmsg ": 8 step" or insysmsg "(8 space" or insysmsg ": 7 step" or insysmsg "(7 space" or insysmsg ": 6 step" or insysmsg "(6 space" or insysmsg ": 5 step" or insysmsg "(5 space" or insysmsg ": 4 step" or insysmsg "(4 space" or insysmsg ": 3 step" or insysmsg "(3 space" or insysmsg ": 2 step" or insysmsg "(2 space" or insysmsg ": 1 step" or insysmsg "(1 space" or insysmsg ": 0 step" or insysmsg "(0 space" overhead "[ !! RED ALERT !! ]" 37 hotkey 'Toggle War Only' @setvar! RedTargetFound 1 clearsysmsg replay endif elseif PKTrackingRange = 0 if insysmsg "Now tracking" overhead "[ !! RED ALERT !! ]" 37 hotkey 'Toggle War Only' @setvar! RedTargetFound 1 clearsysmsg replay endif endif endif if EnablePKradar = 1 if not cooldown "PK Radar" hotkey 'Next Murderer Player Target' wait 250 if insysmsg "No one matching that was found" cooldown "PK Radar" 500 clearsysmsg else overhead "[ !! RED ALERT !! ]" 37 hotkey 'Toggle War Only' @setvar! RedTargetFound 1 @setvar! MurdererTarget lasttarget replay endif endif endif if warmode if EnableExplosionPots = 1 hotkey 'Next Murderer Player Target' wait 250 if insysmsg "No one matching that was found" hotkey 'Toggle Peace Only' if findtype "Purple Potion" self as Molotov getlabel Molotov descMolotov if "next usable in 15" in desc @setvar! purplePotionCD 15000 elseif "next usable in 14" in descMolotov @setvar! purplePotionCD 14000 elseif "next usable in 13" in descMolotov @setvar! purplePotionCD 13000 elseif "next usable in 12" in descMolotov @setvar! purplePotionCD 12000 elseif "next usable in 11" in descMolotov @setvar! purplePotionCD 11000 elseif "next usable in 10" in descMolotov @setvar! purplePotionCD 10000 elseif "next usable in 9" in descMolotov @setvar! purplePotionCD 9000 elseif "next usable in 8" in descMolotov @setvar! purplePotionCD 8000 elseif "next usable in 7" in descMolotov @setvar! purplePotionCD 7000 elseif "next usable in 6" in descMolotov @setvar! purplePotionCD 6000 elseif "next usable in 5" in descMolotov @setvar! purplePotionCD 5000 elseif "next usable in 4" in descMolotov @setvar! purplePotionCD 4000 elseif "next usable in 3" in descMolotov @setvar! purplePotionCD 3000 elseif "next usable in 2" in descMolotov @setvar! purplePotionCD 2000 elseif "next usable in 1" in descMolotov @setvar! purplePotionCD 1000 else @setvar! purplePotionCD 0 endif cooldown "Purple Potion" purplePotionCD if not cooldown "Purple Potion" dclick Molotov wft 1000 target ClosestTarget wait 250 if insysmsg "Potion satchel used" if EnableOverheadMessages = 1 overhead "[ FREE EXPLOSION POT! ]" 419 endif clearsysmsg else if EnableOverheadMessages = 1 overhead '[ EXPLOSION POT! ]' 419 endif clearsysmsg endif cooldown "Purple Potion" 15000 else if EnableOverheadMessages = 1 overhead "[ COOLDOWN... ]" 419 endif endif else if EnableOverheadMessages = 1 overhead "[ NO EXPLOSION POTS... ]" 337 endif endif else @setvar! MurdererTarget lasttarget hotkey 'Toggle War Only' @setvar! RedTargetFound 1 replay endif else hotkey 'Cancel Current Target' wait 150 hotkey 'Next Murderer Player Target' wait 500 if insysmsg "No one matching that was found" cooldown "Pacified" 0 cooldown "Discorded" 0 cooldown "Provoked" 0 if EnableOverheadMessages = 1 overhead "[ RESETTING... ]" 337 endif hotkey 'Toggle Peace Only' replay endif endif endif ############################### #### BARDING SKILLS: #### ############################### if not cooldown "Provo Check" and EnableProvocation = 1 if find ClosestTarget gound -1 -1 6 and find NextClosestTarget ground -1 -1 10 and ClosestTarget != NextClosestTarget getlabel ClosestTarget descTarget getlabel NextClosestTarget descNextTarget wait 250 if "provoked" in descTarget if not cooldown "Provoked" cooldown "Provoked" 30000 endif @setvar! NeedtoProvoke 0 cooldown "Provo Check" 2000 else cooldown "Provoked" 0 @setvar! NeedtoProvoke 1 @setvar! NeedtoPacify 0 @setvar! NeedtoDiscord 0 cooldown "Provo Check" 2000 cooldown "Peace Check" 4000 cooldown "Disco Check" 4000 endif else @setvar! NeedtoProvoke 0 cooldown "Provo Check" 2000 endif endif if not cooldown "Peace Check" and EnablePeacemaking = 1 if find ClosestTarget gound -1 -1 6 getlabel ClosestTarget descTarget wait 250 if "pacified" in descTarget if not cooldown "Pacified" cooldown "Pacified" 30000 endif @setvar! NeedtoPacify 0 cooldown "Peace Check" 2000 elseif "provoked" in descTarget or "provoked" in descNextTarget @setvar! NeedtoPacify 0 cooldown "Peace Check" 2000 else cooldown "Pacified" 0 @setvar! NeedtoPacify 1 cooldown "Peace Check" 2000 endif else break endif endif if not cooldown "Disco Check" and EnableDiscordance = 1 if find ClosestTarget gound -1 -1 6 getlabel ClosestTarget descTarget wait 250 if "discord" in descTarget if find NextClosestTarget ground -1 -1 10 and ClosestTarget != NextClosestTarget and NextClosestTarget != 0 getlabel NextClosestTarget descNextTarget wait 150 if "discord" in descNextTarget @setvar! NeedtoDiscord 0 cooldown "Disco Check" 2000 else @setvar! NeedtoDiscord 2 cooldown "Disco Check" 2000 endif else if not cooldown "Discorded" cooldown "Discorded" 30000 endif @setvar! NeedtoDiscord 0 cooldown "Disco Check" 2000 endif else cooldown "Discorded" 0 @setvar! NeedtoDiscord 1 cooldown "Disco Check" 2000 endif endif endif if NeedtoProvoke = 1 and EnableProvocation = 1 wait 500 for 5 if cooldown "Provoked" or not find "NextClosestTarget" ground -1 -1 10 @setvar! NeedtoProvoke 0 @setvar! NeedtoPacify 0 @setvar! NeedtoDiscord 1 break elseif ClosestTarget = NextClosestTarget @setvar! NeedtoProvoke 0 @setvar! NeedtoPacify 1 @setvar! NeedtoDiscord 1 break elseif not cooldown "Provocation" and not cooldown "Musicianship" and not cooldown "Peacemaking" skill "Provocation" wft 1000 target NextClosestTarget wait 250 if insysmsg 'Target cannot be seen' if EnableOverheadMessages = 1 overhead "[ CANNOT SEE TARGET... ]" 339 NextClosestTarget elseif EnableOverheadMessages = 2 sysmsg "Provoke target cannot be seen..." 2117 endif @setvar! NeedtoProvoke 0 @setvar! NeedtoPacify 1 @setvar! NeedtoDiscord 1 wait 150 clearsysmsg break elseif insysmsg "You must wait another moment before you may provoke" if EnableOverheadMessages = 1 if not cooldown "Target Timer" overhead "[ WAITING... ]" 2117 cooldown "Target Timer" 3500 endif elseif EnableOverheadMessages = 2 if not cooldown "Target Timer" sysmsg "Waiting to Provoke... " 2117 cooldown "Target Timer" 3500 endif endif clearsysmsg wait 500 elseif insysmsg 'That is too far away.' if EnableOverheadMessages = 1 overhead '[ TOO FAR AWAY! ]' 339 NextClosestTarget elseif EnableOverheadMessages = 2 sysmsg "Provoke target is too far away... " 2117 endif @setvar! NeedtoProvoke 0 @setvar! NeedtoPacify 1 @setvar! NeedtoDiscord 1 wait 150 clearsysmsg break else if EnableOverheadMessages = 1 overhead "[ ♪ PROVOKING... ♪ ]" 2117 elseif EnableOverheadMessages = 2 overhead ' ♪ ' 2117 endif target ClosestTarget wait 250 endif if insysmsg 'You play successfully, provoking' if EnableOverheadMessages = 1 overhead '[ ♪ PROVOKED! ♪ ]' 2117 ClosestTarget overhead '[ ♪ PROVOKED! ♪ ]' 2117 NextClosestTarget cooldown "Target Timer" 3000 cooldown "Next Target Timer" 3000 elseif EnableOverheadMessages = 2 overhead ' ♪ ' 2117 ClosestTarget overhead ' ♪ ' 2117 NextClosestTarget cooldown "Target Timer" 3000 cooldown "Next Target Timer" 3000 endif sysmsg "You play an aggressive tune, provoking rage into your targets..." 2117 cooldown "Musicianship" 5500 cooldown "Provocation" 11000 cooldown "Peacemaking" 11000 cooldown "Provoked" ProvocationReapply @setvar! SwitchStance 1 wait 250 if mana > 10 and SwitchStance = 1 yell "[ArcheryAmmunition3" wait 150 yell "[ArcheryFinisher1" cooldown "Codex" 5000 wait 250 if insysmsg "You deactivate" yell "[ArcheryAmmunition3" wait 150 yell "[ArcheryFinisher1" cooldown "Codex" 5000 endif if EnableOverheadMessages = 1 overhead "[ FIRE AMMO! ]" 44 wait 250 elseif EnableOverheadMessages = 2 overhead " ▲ " 44 sysmsg "Lighting incendiary ammunition... " 44 endif endif @setvar! NeedtoProvoke 0 @setvar! NeedtoPacify 0 @setvar! NeedtoDiscord 1 break elseif insysmsg 'You fail to incite' if EnableOverheadMessages = 1 overhead '[ PROVO FAIL! ]' 37 cooldown "Target Timer" 3000 cooldown "Next Target Timer" 3000 elseif EnableOverheadMessages = 2 overhead ' ▄ ' 37 ClosestTarget overhead ' ▄ ' 37 NextClosestTarget cooldown "Target Timer" 3000 cooldown "Next Target Timer" 3000 endif sysmsg "You fail to provoke your targets!" 339 cooldown "Provocation" 5500 @setvar! NeedtoProvoke 1 @setvar! NeedtoPacify 0 @setvar! NeedtoDiscord 1 break elseif insysmsg 'Target cannot be seen' if EnableOverheadMessages = 1 overhead "[ CANNOT BE SEEN... ]" 337 endif break elseif insysmsg 'That is too far away.' if EnableOverheadMessages = 1 overhead '[ TOO FAR AWAY! ]' 43 ClosestTarget endif break elseif insysmsg 'The creatures you are trying to provoke are too far away from each other for your music to have an effect.' if EnableOverheadMessages = 1 overhead '[ TOO FAR APART! ]' 153 ClosestTarget overhead '[ TOO FAR APART! ]' 153 NextClosestTarget endif wait 250 @setvar! NeedtoProvoke 0 @setvar! NeedtoPacify 1 @setvar! NeedtoDiscord 1 break elseif insysmsg 'tell someone to attack themselves!' if EnableOverheadMessages = 1 overhead '[ SELF TARGET FAIL... ]' 337 elseif EnableOverheadMessages = 2 overhead ' ▄ ' 37 endif replay else wait 250 endif else // Do nothing endif endfor endif wait 500 if NeedtoPacify = 1 if not cooldown "Pacified" and not cooldown "Peacemaking" and not cooldown "Musicianship" and EnablePeacemaking = 1 skill "Peacemaking" wft 1000 if insysmsg "What instrument shall you play?" if findtype "standing harp|sackbut|bamboo flute|tambourine|drum|lute|lap harp|gemshorn|hurdy gurdy|psaltery|shawm|vielle" as Instrument target Instrument wait 250 else if EnableOverheadMessages = 1 overhead "[ NO INSTRUMENT! ]" 337 endif endif endif if not insysmsg "This is not a musical instrument" target ClosestTarget wait 250 endif if insysmsg "Target cannot be seen" if EnableOverheadMessages = 1 overhead "[ CANNOT BE SEEN... ]" 337 endif replay elseif insysmsg 'That is too far away.' if EnableOverheadMessages = 1 overhead '[ TOO FAR AWAY! ]' 43 ClosestTarget endif replay elseif insysmsg "You must wait" if EnableOverheadMessages = 1 overhead "[ WAITING... ]" 84 endif cooldown "Discordance" 5000 cooldown "Provocation" 5000 wait 250 elseif insysmsg "You play successfully, pacifying your" if EnableOverheadMessages = 1 overhead "[ ♪ PACIFYING... ♪ ]" 84 elseif EnableOverheadMessages = 2 overhead " ♪ " 84 endif cooldown "Pacified" PeacemakingReapply cooldown "Musicianship" 5500 cooldown "Peacemaking" 11000 if EnableOverheadMessages = 1 wait 250 overhead "[ ♪ PACIFIED! ♪ ]" 84 ClosestTarget elseif EnableOverheadMessages = 2 overhead ' ♪ ' 84 ClosestTarget cooldown "Target Timer" 3000 endif sysmsg "You play a calming tune, pacifying your target..." 84 wait 150 @setvar! SwitchStance 0 yell "[ArcheryAmmunition1" wait 150 yell "[ArcheryFinisher2" cooldown "Codex" 5000 @setvar! SwitchStance 0 wait 250 if insysmsg "You deactivate" yell "[ArcheryAmmunition1" wait 150 yell "[ArcheryFinisher2" cooldown "Codex" 5000 endif if EnableOverheadMessages = 1 overhead "[ ARCANE AMMO! ]" 12 wait 500 elseif EnableOverheadMessages = 2 overhead " ▲ " 12 wait 500 endif elseif insysmsg "you fail to pacify your opponent" if EnableOverheadMessages = 1 overhead "[ PACIFY FAIL! ]" 37 elseif EnableOverheadMessages = 2 overhead ' ▄ ' 37 ClosestTarget overhead ' ▄ ' 37 endif sysmsg "You fail to pacify your target!" 337 cooldown "Peacemaking" 5500 wait 250 else if not find ClosestTarget ground -1 -1 10 or dead ClosestTarget break endif endif endif endif wait 500 if NeedtoDiscord = 1 if not cooldown "Discorded" and not cooldown "Discordance" and not cooldown "Musicianship" and EnableDiscordance = 1 skill "Discordance" wft 1000 if insysmsg "What instrument shall you play?" if findtype "standing harp|sackbut|bamboo flute|tambourine|drum|lute|lap harp|gemshorn|hurdy gurdy|psaltery|shawm|vielle" as Instrument target Instrument wait 250 else if EnableOverheadMessages = 1 overhead "[ NO INSTRUMENT! ]" 337 endif endif elseif not insysmsg "This is not a musical instrument" target ClosestTarget wait 250 if insysmsg "Target cannot be seen." if EnableOverheadMessages = 1 overhead "[ CANNOT BE SEEN... ]" 337 endif replay elseif insysmsg "You must wait" if EnableOverheadMessages = 1 overhead "[ WAITING... ]" 69 endif cooldown "Peacemaking" 5000 wait 250 elseif insysmsg "You play successfully" if EnableOverheadMessages = 1 overhead "[ ♪ DISCORDING... ♪ ]" 69 wait 250 elseif EnableOverheadMessages = 2 overhead " ♪ " 69 endif cooldown "Discorded" DiscordanceReapply cooldown "Musicianship" 5500 cooldown "Discordance" 11000 if EnableOverheadMessages = 1 overhead "[ ♪ DISCORDED! ♪ ]" 69 ClosestTarget elseif EnableOverheadMessages = 2 overhead ' ♪ ' 69 ClosestTarget cooldown "Target Timer" 3000 endif sysmsg "You play a mesmerizing tune, disrupting your target's focus..." 69 elseif insysmsg "fail to discord" cooldown "Discordance" 5500 if EnableOverheadMessages = 1 overhead "[ DISCORD FAIL! ]" 37 elseif EnableOverheadMessages = 2 overhead ' ▄ ' 37 ClosestTarget overhead ' ▄ ' 37 cooldown "Target Timer" 3000 endif sysmsg "You fail to discord your target!" 337 wait 250 else if not find ClosestTarget ground -1 -1 10 or dead ClosestTarget break endif endif else if not find ClosestTarget ground -1 -1 10 or dead ClosestTarget break endif endif endif elseif NeedtoDiscord = 2 if not cooldown "Discorded" and not cooldown "Discordance" and not cooldown "Musicianship" and EnableDiscordance = 1 skill "Discordance" wft 1000 if insysmsg "What instrument shall you play?" if findtype "standing harp|sackbut|bamboo flute|tambourine|drum|lute|lap harp|gemshorn|hurdy gurdy|psaltery|shawm|vielle" as Instrument target Instrument wait 250 else if EnableOverheadMessages = 1 overhead "[ NO INSTRUMENT! ]" 337 endif endif elseif not insysmsg "This is not a musical instrument" target NextClosestTarget wait 250 if insysmsg "Target cannot be seen." if EnableOverheadMessages = 1 overhead "[ CANNOT BE SEEN... ]" 337 endif replay elseif insysmsg "You must wait" if EnableOverheadMessages = 1 overhead "[ WAITING... ]" 69 endif cooldown "Peacemaking" 5000 wait 250 elseif insysmsg "You play successfully, disrupting your opponent" if EnableOverheadMessages = 1 overhead "[ ♪ DISCORDING... ♪ ]" 69 elseif EnableOverheadMessages = 2 overhead " ♪ " 69 endif wait 250 cooldown "Discorded" DiscordanceReapply cooldown "Musicianship" 5500 cooldown "Discordance" 11000 if EnableOverheadMessages = 1 overhead "[ ♪ DISCORDED! ♪]" 69 NextClosestTarget elseif EnableOverheadMessages = 2 overhead ' ♪ ' 69 NextClosestTarget cooldown "Next Target Timer" 3000 endif sysmsg "You play another doozey and distract your provked target, too!" 69 elseif insysmsg "fail to discord" cooldown "Discordance" 5500 if EnableOverheadMessages = 1 overhead "[ DISCORD FAIL! ]" 37 elseif EnableOverheadMessages = 2 overhead ' ▄ ' 37 NextClosestTarget overhead ' ▄ ' 37 cooldown "Next Target Timer" 3000 endif sysmsg "You fail to discord your target!" 337 wait 250 else if not find ClosestTarget ground -1 -1 10 or dead ClosestTarget break endif endif else if not find ClosestTarget ground -1 -1 10 or dead ClosestTarget break endif endif endif endif ################################# #### DEFENSIVE CHECKS: #### ################################# if EnableParalyzePouch = 1 if paralyzed if findtype "pouch" self yell "[pouch" hotkey 'Toggle War Only' replay else if EnableOverheadMessages = 1 overhead "[ NO MORE POUCHES! ]" 337 endif endif endif endif if EnableNobleSacrifice = 1 if diffhits > NobleSacrificeHPdiff and skill "Chivalry" >= 80 and not cooldown "Noble Sacrifice" and not cooldown "Prevented" and not cooldown "Chivalry" clearsysmsg yell "[NobleSacrifice" wait 250 if insysmsg "You do not have enough holy" cooldown "Prevented" 5000 clearsysmsg else wft 1000 target 'self' if EnableOverheadMessages = 1 overhead "[ NOBLE SACRIFICE! ]" 155 endif cooldown "Noble Sacrifice" 31000 cooldown "Chivalry" 500 endif wait 500 endif endif if EnableHolyLight = 1 if diffhits > HolyLightHPdiff and skill "Chivalry" >= 95 and not cooldown "Holy Light" and not cooldown "Prevented" and not cooldown "Chivalry" clearsysmsg yell "[HolyLight" wait 250 if insysmsg "You do not have enough holy" cooldown "Prevented" 5000 clearsysmsg else if EnableOverheadMessages = 1 overhead "[ HOLY LIGHT! ]" 254 endif cooldown "Holy Light" 31000 cooldown "Chivalry" 500 endif wait 500 endif endif if EnableHealPotion = 1 if diffhits > HealPotHPdiff and not cooldown "Healing Potion" if findtype "Yellow Potion" self as healpot dclick healpot wait 500 cooldown "Healing Potion" 11000 if insysmsg "Potion satchel used" if EnableOverheadMessages = 1 overhead "[ FREE HEAL POTION! ]" 253 endif clearsysmsg else if EnableOverheadMessages = 1 overhead '[ HEAL POTION... ]' 253 endif clearsysmsg endif else if not cooldown "Inventory Timer" if EnableOverheadMessages = 1 overhead '[ NO HEAL POTS! ]' 337 endif cooldown "Inventory Timer" 6000 endif endif wait 500 endif endif if skill 'Healing' > 38 if not bandaging if hp < maxhp or poisoned or findbuff "bleed" or findbuff "disease" if EnableOverheadMessages = 1 overhead '[ BANDAGING...]' 88 endif hotkey "Bandage Self" elseif counttype 'clean bandage%s%' < 10 if EnableOverheadMessages = 1 and not cooldown "Inventory Timer" overhead "[ BANDAGES LOW! ]" 339 cooldown "Inventory Timer" 6000 endif hotkey "Bandage Self" elseif counttype 'clean bandage%s%' = 0 and not cooldown "Inventory Timer" if EnableOverheadMessages = 1 overhead "[ NO BANDAGES! ]" 337 endif cooldown "Inventory Timer" 6000 endif endif endif if EnableCloseWounds = 1 if findbuff "bleed" or findbuff "disease" if skill "chivalry" >= 70 and not cooldown "Close Wounds" and not cooldown "Chivalry" and not cooldown "Prevented" clearsysmsg yell "[CloseWounds" wait 250 if insysmsg "You do not have enough holy" cooldown "Prevented" 5000 clearsysmsg else cooldown "Close Wounds" 31000 cooldown "Chivalry" 500 if EnableOverheadMessages = 1 overhead "[ CLOSE WOUNDS! ]" 48 endif endif wait 500 endif endif endif if EnableCurePotion = 1 if poisoned and not cooldown "Cure Potion" if findtype "Orange Potion" self as curepot dclick curepot wait 500 cooldown "Cure Potion" 11000 if insysmsg "Potion satchel used" if EnableOverheadMessages = 1 overhead "[ FREE CURE POTION! ]" 44 endif clearsysmsg else if EnableOverheadMessages = 1 overhead '[ CURE POTION... ]' 44 endif clearsysmsg endif else if not cooldown "Inventory Timer" if EnableOverheadMessages = 1 overhead '[ NO CURE POTS! ]' 337 endif cooldown "Inventory Timer" 6000 endif endif wait 500 endif endif if EnableCleanseByFire = 1 if diffhits > CleanseByFireHPdiff and poisoned and not cooldown "Cleanse By Fire" and not cooldown "Chivalry" and not cooldown "Prevented" clearsysmsg yell "[CleanseByFire" wait 250 if insysmsg "You do not have enough holy" cooldown "Prevented" 5000 clearsysmsg else cooldown "Cleanse By Fire" 31000 cooldown "Chivalry" 500 if EnableOverheadMessages = 1 overhead "[ CLEANSE BY FIRE! ]" 43 endif endif wait 500 endif endif if EnableRefreshPotion = 1 if diffstam >= RefreshPotSPdiff and not cooldown "Refresh Potion" if findtype "Red Potion" self as refreshpot dclick refreshpot wait 500 cooldown "Refresh Potion" 11000 if insysmsg "Potion satchel used" if EnableOverheadMessages = 1 overhead "[ FREE REFRESH POTION! ]" 34 endif clearsysmsg else if EnableOverheadMessages = 1 overhead '[ REFRESH POTION... ]' 34 endif clearsysmsg endif else if not cooldown "Inventory Timer" if EnableOverheadMessages = 1 overhead '[ NO REFRESH POTS! ]' 337 endif cooldown "Inventory Timer" 6000 endif endif wait 500 endif endif if EnableTrackingAutoRecall = 1 if PKTrackingRange = 60 if insysmsg ": 60 step" or insysmsg "60 space" or insysmsg ": 59 step" or insysmsg "59 space" or insysmsg ": 58 step" or insysmsg "58 space" or insysmsg ": 57 step" or insysmsg "57 space" or insysmsg ": 56 step" or insysmsg "56 space" or insysmsg ": 55 step" or insysmsg "55 space" or insysmsg ": 54 step" or insysmsg "54 space" or insysmsg ": 53 step" or insysmsg "53 space" or insysmsg ": 52 step" or insysmsg "52 space" or insysmsg ": 51 step" or insysmsg "51 space" or insysmsg ": 50 step" or insysmsg "50 space" or insysmsg ": 49 step" or insysmsg "49 space" or insysmsg ": 48 step" or insysmsg "48 space" or insysmsg ": 47 step" or insysmsg "47 space" or insysmsg ": 46 step" or insysmsg "46 space" or insysmsg ": 45 step" or insysmsg "45 space" or insysmsg ": 44 step" or insysmsg "44 space" or insysmsg ": 43 step" or insysmsg "43 space" or insysmsg ": 42 step" or insysmsg "42 space" or insysmsg ": 41 step" or insysmsg "41 space" or insysmsg ": 40 step" or insysmsg "40 space" or insysmsg ": 39 step" or insysmsg "39 space" or insysmsg ": 38 step" or insysmsg "38 space" or insysmsg ": 37 step" or insysmsg "37 space" or insysmsg ": 36 step" or insysmsg "36 space" or insysmsg ": 35 step" or insysmsg "35 space" or insysmsg ": 34 step" or insysmsg "34 space" or insysmsg ": 33 step" or insysmsg "33 space" or insysmsg ": 32 step" or insysmsg "32 space" or insysmsg ": 31 step" or insysmsg "31 space" or insysmsg ": 30 step" or insysmsg "30 space" or insysmsg ": 29 step" or insysmsg "29 space" or insysmsg ": 28 step" or insysmsg "28 space" or insysmsg ": 27 step" or insysmsg "27 space" or insysmsg ": 26 step" or insysmsg "26 space" or insysmsg ": 25 step" or insysmsg "25 space" or insysmsg ": 24 step" or insysmsg "24 space" or insysmsg ": 23 step" or insysmsg "23 space" or insysmsg ": 22 step" or insysmsg "22 space" or insysmsg ": 21 step" or insysmsg "21 space" or insysmsg ": 20 step" or insysmsg "20 space" or insysmsg ": 19 step" or insysmsg "19 space" or insysmsg ": 18 step" or insysmsg "18 space" or insysmsg ": 17 step" or insysmsg "17 space" or insysmsg ": 16 step" or insysmsg "16 space" or insysmsg ": 15 step" or insysmsg "15 space" or insysmsg ": 14 step" or insysmsg "14 space" or insysmsg ": 13 step" or insysmsg "13 space" or insysmsg ": 12 step" or insysmsg "12 space" or insysmsg ": 11 step" or insysmsg "11 space" or insysmsg ": 10 step" or insysmsg "10 space" or insysmsg ": 9 step" or insysmsg "(9 space" or insysmsg ": 8 step" or insysmsg "(8 space" or insysmsg ": 7 step" or insysmsg "(7 space" or insysmsg ": 6 step" or insysmsg "(6 space" or insysmsg ": 5 step" or insysmsg "(5 space" or insysmsg ": 4 step" or insysmsg "(4 space" or insysmsg ": 3 step" or insysmsg "(3 space" or insysmsg ": 2 step" or insysmsg "(2 space" or insysmsg ": 1 step" or insysmsg "(1 space" or insysmsg ": 0 step" or insysmsg "(0 space" overhead "[ !! RED ALERT !! ]" 37 hotkey 'Toggle War Only' @setvar! RedTargetFound 1 clearsysmsg replay endif elseif PKTrackingRange = 50 if insysmsg ": 50 step" or insysmsg "50 space" or insysmsg ": 49 step" or insysmsg "49 space" or insysmsg ": 48 step" or insysmsg "48 space" or insysmsg ": 47 step" or insysmsg "47 space" or insysmsg ": 46 step" or insysmsg "46 space" or insysmsg ": 45 step" or insysmsg "45 space" or insysmsg ": 44 step" or insysmsg "44 space" or insysmsg ": 43 step" or insysmsg "43 space" or insysmsg ": 42 step" or insysmsg "42 space" or insysmsg ": 41 step" or insysmsg "41 space" or insysmsg ": 40 step" or insysmsg "40 space" or insysmsg ": 39 step" or insysmsg "39 space" or insysmsg ": 38 step" or insysmsg "38 space" or insysmsg ": 37 step" or insysmsg "37 space" or insysmsg ": 36 step" or insysmsg "36 space" or insysmsg ": 35 step" or insysmsg "35 space" or insysmsg ": 34 step" or insysmsg "34 space" or insysmsg ": 33 step" or insysmsg "33 space" or insysmsg ": 32 step" or insysmsg "32 space" or insysmsg ": 31 step" or insysmsg "31 space" or insysmsg ": 30 step" or insysmsg "30 space" or insysmsg ": 29 step" or insysmsg "29 space" or insysmsg ": 28 step" or insysmsg "28 space" or insysmsg ": 27 step" or insysmsg "27 space" or insysmsg ": 26 step" or insysmsg "26 space" or insysmsg ": 25 step" or insysmsg "25 space" or insysmsg ": 24 step" or insysmsg "24 space" or insysmsg ": 23 step" or insysmsg "23 space" or insysmsg ": 22 step" or insysmsg "22 space" or insysmsg ": 21 step" or insysmsg "21 space" or insysmsg ": 20 step" or insysmsg "20 space" or insysmsg ": 19 step" or insysmsg "19 space" or insysmsg ": 18 step" or insysmsg "18 space" or insysmsg ": 17 step" or insysmsg "17 space" or insysmsg ": 16 step" or insysmsg "16 space" or insysmsg ": 15 step" or insysmsg "15 space" or insysmsg ": 14 step" or insysmsg "14 space" or insysmsg ": 13 step" or insysmsg "13 space" or insysmsg ": 12 step" or insysmsg "12 space" or insysmsg ": 11 step" or insysmsg "11 space" or insysmsg ": 10 step" or insysmsg "10 space" or insysmsg ": 9 step" or insysmsg "(9 space" or insysmsg ": 8 step" or insysmsg "(8 space" or insysmsg ": 7 step" or insysmsg "(7 space" or insysmsg ": 6 step" or insysmsg "(6 space" or insysmsg ": 5 step" or insysmsg "(5 space" or insysmsg ": 4 step" or insysmsg "(4 space" or insysmsg ": 3 step" or insysmsg "(3 space" or insysmsg ": 2 step" or insysmsg "(2 space" or insysmsg ": 1 step" or insysmsg "(1 space" or insysmsg ": 0 step" or insysmsg "(0 space" overhead "[ !! RED ALERT !! ]" 37 hotkey 'Toggle War Only' @setvar! RedTargetFound 1 clearsysmsg replay endif elseif PKTrackingRange = 40 if insysmsg ": 40 step" or insysmsg "40 space" or insysmsg ": 39 step" or insysmsg "39 space" or insysmsg ": 38 step" or insysmsg "38 space" or insysmsg ": 37 step" or insysmsg "37 space" or insysmsg ": 36 step" or insysmsg "36 space" or insysmsg ": 35 step" or insysmsg "35 space" or insysmsg ": 34 step" or insysmsg "34 space" or insysmsg ": 33 step" or insysmsg "33 space" or insysmsg ": 32 step" or insysmsg "32 space" or insysmsg ": 31 step" or insysmsg "31 space" or insysmsg ": 30 step" or insysmsg "30 space" or insysmsg ": 29 step" or insysmsg "29 space" or insysmsg ": 28 step" or insysmsg "28 space" or insysmsg ": 27 step" or insysmsg "27 space" or insysmsg ": 26 step" or insysmsg "26 space" or insysmsg ": 25 step" or insysmsg "25 space" or insysmsg ": 24 step" or insysmsg "24 space" or insysmsg ": 23 step" or insysmsg "23 space" or insysmsg ": 22 step" or insysmsg "22 space" or insysmsg ": 21 step" or insysmsg "21 space" or insysmsg ": 20 step" or insysmsg "20 space" or insysmsg ": 19 step" or insysmsg "19 space" or insysmsg ": 18 step" or insysmsg "18 space" or insysmsg ": 17 step" or insysmsg "17 space" or insysmsg ": 16 step" or insysmsg "16 space" or insysmsg ": 15 step" or insysmsg "15 space" or insysmsg ": 14 step" or insysmsg "14 space" or insysmsg ": 13 step" or insysmsg "13 space" or insysmsg ": 12 step" or insysmsg "12 space" or insysmsg ": 11 step" or insysmsg "11 space" or insysmsg ": 10 step" or insysmsg "10 space" or insysmsg ": 9 step" or insysmsg "(9 space" or insysmsg ": 8 step" or insysmsg "(8 space" or insysmsg ": 7 step" or insysmsg "(7 space" or insysmsg ": 6 step" or insysmsg "(6 space" or insysmsg ": 5 step" or insysmsg "(5 space" or insysmsg ": 4 step" or insysmsg "(4 space" or insysmsg ": 3 step" or insysmsg "(3 space" or insysmsg ": 2 step" or insysmsg "(2 space" or insysmsg ": 1 step" or insysmsg "(1 space" or insysmsg ": 0 step" or insysmsg "(0 space" overhead "[ !! RED ALERT !! ]" 37 hotkey 'Toggle War Only' @setvar! RedTargetFound 1 clearsysmsg replay endif elseif PKTrackingRange = 30 if insysmsg ": 30 step" or insysmsg "30 space" or insysmsg ": 29 step" or insysmsg "29 space" or insysmsg ": 28 step" or insysmsg "28 space" or insysmsg ": 27 step" or insysmsg "27 space" or insysmsg ": 26 step" or insysmsg "26 space" or insysmsg ": 25 step" or insysmsg "25 space" or insysmsg ": 24 step" or insysmsg "24 space" or insysmsg ": 23 step" or insysmsg "23 space" or insysmsg ": 22 step" or insysmsg "22 space" or insysmsg ": 21 step" or insysmsg "21 space" or insysmsg ": 20 step" or insysmsg "20 space" or insysmsg ": 19 step" or insysmsg "19 space" or insysmsg ": 18 step" or insysmsg "18 space" or insysmsg ": 17 step" or insysmsg "17 space" or insysmsg ": 16 step" or insysmsg "16 space" or insysmsg ": 15 step" or insysmsg "15 space" or insysmsg ": 14 step" or insysmsg "14 space" or insysmsg ": 13 step" or insysmsg "13 space" or insysmsg ": 12 step" or insysmsg "12 space" or insysmsg ": 11 step" or insysmsg "11 space" or insysmsg ": 10 step" or insysmsg "10 space" or insysmsg ": 9 step" or insysmsg "(9 space" or insysmsg ": 8 step" or insysmsg "(8 space" or insysmsg ": 7 step" or insysmsg "(7 space" or insysmsg ": 6 step" or insysmsg "(6 space" or insysmsg ": 5 step" or insysmsg "(5 space" or insysmsg ": 4 step" or insysmsg "(4 space" or insysmsg ": 3 step" or insysmsg "(3 space" or insysmsg ": 2 step" or insysmsg "(2 space" or insysmsg ": 1 step" or insysmsg "(1 space" or insysmsg ": 0 step" or insysmsg "(0 space" overhead "[ !! RED ALERT !! ]" 37 hotkey 'Toggle War Only' @setvar! RedTargetFound 1 clearsysmsg replay endif elseif PKTrackingRange = 0 if insysmsg "Now tracking" overhead "[ !! RED ALERT !! ]" 37 hotkey 'Toggle War Only' @setvar! RedTargetFound 1 clearsysmsg replay endif endif endif if EnablePKradar = 1 if not cooldown "PK Radar" hotkey 'Next Murderer Player Target' wait 250 if insysmsg "No one matching that was found" cooldown "PK Radar" 500 clearsysmsg else overhead "[ !! RED ALERT !! ]" 37 hotkey 'Toggle War Only' @setvar! RedTargetFound 1 @setvar! MurdererTarget lasttarget replay endif endif endif if EnableOverheadMessages = 1 if insysmsg "Barding break avoided" overhead "[ BREAK AVOIDED! ]" 84 ClosestTarget endif if insysmsg "something invisible out of" overhead "▼ SOMEONE HIDING! ▼" 6 wait 500 endif if insysmsg "mastery chain" overhead "[ NEW LINK UNLOCKED!! ]" 149 endif if insysmsg "You have unlocked a codex upgrade point" overhead "[ CODEX POINT UNLOCKED! ]" 2114 endif if insysmsg "enough experience to upgrade" overhead "[ ASPECT TIER UNLOCKED!! ]" 2241 endif if insysmsg "Cacophony activated" overhead "[ ♪ ♪ CACOPHONY!!! ♪ ♪ ]" 2241 endif if insysmsg "causes you to bleed" overhead "[ BLEEDING... ]" 2118 endif if insysmsg "Your shot hinders" overhead "[ HINDERED! ]" 44 ClosestTarget endif if insysmsg "Your target overpowers" overhead "[ VICIOUS WOUND! ]" 1664 ClosestTarget endif if insysmsg "Your shot turns the target into" overhead "[ PIN CUSHION!! ]" 2115 endif if insysmsg "Your shot ricochets" overhead "[ RICOCHET!! ]" 2115 endif elseif EnableOverheadMessages = 2 if insysmsg "Your shot hinders" overhead " ▄ " 2114 ClosestTarget endif if insysmsg "something invisible out of" overhead " ▼ " 6 wait 500 endif if insysmsg "Cacophony activated" overhead " ♪ ♪ ♪ " 2241 endif endif if not find ClosestTarget ground -1 -1 10 or dead ClosestTarget break endif ################################# #### BUFFS & ABILITIES: #### ################################# if EnableStrengthPotion = 1 if insysmsg "You may now use a strength" or not findbuff 'Strength' if findtype "White Potion" self as strengthpot dclick strengthpot wait 500 if insysmsg "Potion satchel used" if EnableOverheadMessages = 1 overhead "[ FREE STRENGTH POTION! ]" 956 endif clearsysmsg else if EnableOverheadMessages = 1 overhead '[ STRENGTH POTION... ]' 956 endif clearsysmsg endif else if not cooldown "Inventory Timer" if EnableOverheadMessages = 1 overhead '[ NO STRENGTH POTS! ]' 337 endif cooldown "Inventory Timer" 15000 endif endif wait 500 endif endif if EnableAgilityPotion = 1 if insysmsg "You may now use an agility" or not findbuff 'Agility' if findtype "Blue Potion" self as agilitypot dclick agilitypot wait 500 if insysmsg "Potion satchel used" if EnableOverheadMessages = 1 overhead "[ FREE AGILITY POTION! ]" 93 endif clearsysmsg else if EnableOverheadMessages = 1 overhead '[ AGILITY POTION... ]' 93 endif clearsysmsg endif else if not cooldown "Inventory Timer" if EnableOverheadMessages = 1 overhead '[ NO AGILITY POTS! ]' 337 endif cooldown "Inventory Timer" 15000 endif endif wait 500 endif endif if EnableMagicResistPotion = 1 if not findbuff 'Magic Resist Potion' wait 500 if findtype "Black Potion" self as resistpot dclick resistpot wait 250 if insysmsg "Potion satchel used" if EnableOverheadMessages = 1 overhead "[ FREE RESIST POTION! ]" 808 endif clearsysmsg else if EnableOverheadMessages = 1 overhead '[ RESIST POTION... ]' 808 endif clearsysmsg endif else if not cooldown "Inventory Timer" if EnableOverheadMessages = 1 overhead '[ NO RESIST POTS! ]' 337 endif cooldown "Inventory Timer" 6000 endif endif wait 500 endif endif if EnableWeaponAbility = 1 if cooldown "Discorded" if cooldown "Pacified" or cooldown "Provoked" if EnableSkirmish = 1 and not cooldown "Weapon Ability" and not cooldown "Skirmish" yell "[WeaponAbility1" wait 250 if insysmsg "You cannot" cooldown "Weapon Ability" 5000 else if EnableOverheadMessages = 1 overhead "[ SKIRMISH! ]" 337 endif cooldown "Weapon Ability" 61000 cooldown "Skirmish" 15000 endif elseif EnableFullDraw = 1 and not cooldown "Weapon Ability" and not cooldown "Full Draw" yell "[WeaponAbility2" wait 250 if insysmsg "You cannot" cooldown "Weapon Ability" 5000 else if EnableOverheadMessages = 1 overhead "[ FULL DRAW! ]" 2117 endif cooldown "Weapon Ability" 61000 cooldown "Full Draw" 15000 endif elseif EnableRepeater = 1 and not cooldown "Weapon Ability" and not cooldown "Repeater" yell "[WeaponAbility3" wait 250 if insysmsg "You cannot" cooldown "Weapon Ability" 5000 else if EnableOverheadMessages = 1 overhead "[ REPEATER LOADED... ]" 2114 endif cooldown "Weapon Ability" 65000 cooldown "Repeater" 15000 cooldown "Target Timer" 2500 if EnableOverheadMessages = 1 wait 500 overhead "Uh oh..." 339 ClosestTarget endif endif else wait 250 endif endif endif endif if EnableDivineFury = 1 if not cooldown "Divine Fury" and not cooldown "Chivalry" and not cooldown "Prevented" and diffhits < HealPotHPdiff clearsysmsg yell "[DivineFury" wait 250 if not insysmsg "You do not have enough holy" and not insysmsg "You must wait a moment" cooldown "Divine Fury" 31000 cooldown "Chivalry" 10000 if EnableOverheadMessages = 1 overhead "[ DIVINE FURY! ]" 2117 endif else cooldown "Prevented" 5000 endif wait 500 endif endif if EnableEnemyOfOne = 1 if not cooldown "Enemy Of One" and not cooldown "Chivalry" and not cooldown "Prevented" and diffhits < HealPotHPdiff yell "[EnemyOfOne" wait 250 if not insysmsg "You do not have enough holy" and not insysmsg "You must wait a moment" cooldown "Enemy Of One" 31000 cooldown "Chivalry" 10000 if EnableOverheadMessages = 1 overhead "[ ENEMY OF ONE! ]" 332 endif else cooldown "Prevented" 5000 endif wait 500 endif endif if EnableConsecrateWeapon = 1 if cooldown "Discorded" wait 150 if cooldown "Pacified" or cooldown "Provoked" wait 150 if not cooldown "Consecrate Weapon" and not cooldown "Chivalry" and not cooldown "Prevented" and diffhits < HealPotHPdiff yell "[ConsecrateWeapon" wait 250 if not insysmsg "You do not have enough holy" and not insysmsg "You must wait a moment" cooldown "Consecrate Weapon" 31000 cooldown "Chivalry" 10000 if EnableOverheadMessages = 1 overhead "[ CONSECRATE WEAPON! ]" 2206 endif else cooldown "Prevented" 5000 endif wait 500 endif endif endif endif if EnablePeacemakingBuff = 1 and not findbuff "Song Of Peacemaking" and not cooldown "Provocation Buff" and not cooldown "Musicianship" and not cooldown "Peacemaking" and not cooldown "Song Buff Delay" skill "Peacemaking" wft 500 if insysmsg "What instrument shall you play?" if findtype "standing harp|sackbut|bamboo flute|tambourine|drum|lute|lap harp|gemshorn|hurdy gurdy|psaltery|shawm|vielle" as Instrument target Instrument wait 250 else if EnableOverheadMessages = 1 overhead "[ NO INSTRUMENT! ]" 337 endif endif endif if not insysmsg "This is not a musical instrument" wft 1000 target backpack if EnableOverheadMessages = 1 overhead "[ ♪ PEACEMAKING BUFF... ♪ ]" 84 endif cooldown "Peacemaking Buff" SongReapply cooldown "Song Buff Delay" 11000 endif if not find ClosestTarget ground -1 -1 10 or dead ClosestTarget break endif endif if EnableDiscordanceBuff = 1 and not findbuff "Song Of Discordance" and not cooldown "Discordance Buff" and not cooldown "Musicianship" and not cooldown "Discordance" and not cooldown "Song Buff Delay" skill "Discordance" wft 500 if insysmsg "What instrument shall you play?" if findtype "standing harp|sackbut|bamboo flute|tambourine|drum|lute|lap harp|gemshorn|hurdy gurdy|psaltery|shawm|vielle" as Instrument target Instrument wait 250 else if EnableOverheadMessages = 1 overhead "[ NO INSTRUMENT! ]" 337 endif endif endif if not insysmsg "This is not a musical instrument" wft 1000 target backpack if EnableOverheadMessages = 1 overhead "[ ♪ DISCORDANCE BUFF... ♪ ]" 69 endif cooldown "Discordance Buff" SongReapply cooldown "Song Buff Delay" 11000 endif if not find ClosestTarget ground -1 -1 10 or dead ClosestTarget break endif endif if EnableProvocationBuff = 1 and not findbuff "Song of Provocation" and not cooldown "Provocation Buff" and not cooldown "Musicianship" and not cooldown "Provocation" and not cooldown "Song Buff Delay" skill "Provocation" wft 500 if insysmsg "What instrument shall you play?" if findtype "standing harp|sackbut|bamboo flute|tambourine|drum|lute|lap harp|gemshorn|hurdy gurdy|psaltery|shawm|vielle" as Instrument target Instrument wait 250 else if EnableOverheadMessages = 1 overhead "[ NO INSTRUMENT! ]" 337 endif endif endif if not insysmsg "This is not a musical instrument" wft 1000 target backpack if EnableOverheadMessages = 1 overhead "[ ♪ PROVOCATION BUFF... ♪ ]" 2117 endif cooldown "Provocation Buff" SongReapply cooldown "Song Buff Delay" 11000 endif if not find ClosestTarget ground -1 -1 10 or dead ClosestTarget break endif endif if not find ClosestTarget ground -1 -1 10 or dead ClosestTarget break endif ################################# #### CLEANUP & UTILITY: #### ################################# if insysmsg "world is saving" if not timerexists "WorldSaveTimer" createtimer "WorldSaveTimer" endif settimer "WorldSaveTimer" 0 while timer "WorldSaveTimer" < 4000 if insysmsg "save complete" break endif wait 250 endwhile if EnableOverheadMessages = 1 overhead "[ SAVE COMPLETE! ]" 253 endif endif if EnableWeightWarningMessage = 1 if diffweight < GreenWarningDiffWeight and diffweight > YellowWarningDiffWeight and not cooldown "Weight Timer" if EnableOverheadMessages = 1 overhead "[ WEIGHT WARNING... ]" 77 cooldown "Weight Timer" 6000 elseif EnableOverheadMessages = 2 overhead " ▄ " 77 cooldown "Weight Timer" 6000 endif elseif diffweight < YellowWarningDiffWeight and diffweight > RedWeightLimitDiffWeight and not cooldown "Weight Timer" if EnableOverheadMessages = 1 overhead "[ WEIGHT WARNING! ]" 153 cooldown "Weight Timer" 6000 elseif EnableOverheadMessages = 2 overhead " ▄ " 153 cooldown "Weight Timer" 6000 endif elseif diffweight < RedWeightLimitDiffWeight and not cooldown "Weight Timer" if EnableOverheadMessages = 1 overhead "[ WEIGHT LIMIT REACHED! ]" 37 cooldown "Weight Timer" 6000 elseif EnableOverheadMessages = 2 overhead " ▄ " 37 cooldown "Weight Timer" 6000 endif if EnableAutoWeightRecall = 1 and not find ClosestTarget ground -1 -1 10 wait 1500 cooldown "Infinite Loop" 30000 toggle 'War Mode Only' @setvar! TimeToGo 1 @setvar! AutoWeightRecall 1 replay elseif EnableAutoWeightRecall = 1 and find ClosestTarget ground -1 -1 10 if not cooldown "Cleanup" overhead "[ WAITING TO RECALL... ]" 149 cooldown "Cleanup" 3500 endif wait 500 else overhead "[ OVERWEIGHT! ]" sysmsg "Time to head home and unload our loot!" 0 cooldown "Weight Timer" 5000 endif endif endif if EnableAmmoWarningMessage = 1 if findtype 'stubnose crossbow|tower guard crossbow|balestra|heavy crossbow|crossbow' hand # BOLTS @setvar! AMMO 1 elseif findtype 'long bow|bow|recurve bow|composite bow' hand # ARROWS @setvar AMMO 2 endif if counttype "crossbow bolt" self < LowAmmoWarningAmount and not cooldown "Ammunition" and AMMO = 1 overhead "[ AMMO LOW! ]" 37 cooldown "Ammunition" 6000 endif if counttype "arrow" self < LowAmmoWarningAmount and not cooldown "Ammunition" and AMMO = 2 overhead "[ AMMO LOW! ]" 37 cooldown "Ammunition" 6000 endif endif if findtype "arrow|crossbow bolt" backpack if not cooldown "Satchel Timer" and findtype "quiver" self as MyQuiver menu MyQuiver 0 wait 250 cooldown "Satchel Timer" 5000 endif endif if EnableAutoCarving = 1 if findtype 'Elven SpellBlade' self if findtype "corpse" ground -1 -1 2 as deadbody dclicktype "Elven Spellblade" wft 1000 targettype "Elven Spellblade" if EnableOverheadMessages = 1 overhead "[ SKINNING... ]" 339 endif wait 500 @ignore deadbody endif else if not cooldown "Inventory Timer" if EnableOverheadMessages = 1 overhead "[ NO SKINNING KNIFE! ]" 337 endif cooldown "Inventory Timer" 6000 endif endif endif if EnableGoldVacuum = 1 if findtype "gold coin" ground -1 -1 12 as droppedmoney and not cooldown "Gold Radar" overhead "▼" 149 droppedmoney cooldown "Gold Radar" 3500 endif if findtype "gold coin" ground -1 -1 2 as droppedmoney and not cooldown "Gold Vacuum" overhead " ▲ " 149 hotkey "Grab Item" wft 2500 target droppedmoney wait 250 if insysmsg "Invalid or inaccessible item" wait 500 @ignore droppedmoney endif cooldown "Gold Vacuum" 500 endif endif if EnableArrowCleanup = 1 if findtype 7163|3903 ground -1 -1 2 as item and not cooldown "Cleanup" if EnableOverheadMessages = 1 overhead '[ CLEANUP... ]' 93 elseif EnableOverheadMessages = 2 overhead ' ▲ ' 93 endif hotkey "Grab Item" wft 1000 target item wait 250 if findtype "quiver" self as MyQuiver menu MyQuiver 0 wait 250 else hotkey 'Organizer Agent-03' wait 150 endif cooldown "Cleanup" 1000 endif if findtype 7163 ground -1 -1 10 as bolt and not cooldown "Radar" overhead "▼" 93 bolt cooldown "Radar" 3500 endif if findtype 3903 ground -1 -1 10 as arrow and not cooldown "Radar" overhead "▼" 37 arrow cooldown "Radar" 3500 endif endif if not findtype "standing harp|sackbut|bamboo flute|tambourine|drum|lute|lap harp|gemshorn|hurdy gurdy|psaltery|shawm|vielle" self if EnableOverheadMessages = 1 overhead "[ NO INSTRUMENT! ]" 333 endif replay endif if EnableShield = 1 if not findtype 'buckler |metal shield|Chaos shield|heater shield|bone shield|bronze shield|kite shield|Order shield|wooden shield|parrying gauche' lefthand if findtype 'buckler |metal shield|Chaos shield|heater shield|bone shield|bronze shield|kite shield|Order shield|wooden shield|parrying gauche' backpack as shield getlabel shield ShieldLabel for 5 wait 500 if "unidentified" in ShieldLabel @ignore shield if findtype 'buckler |metal shield|Chaos shield|heater shield|bone shield|bronze shield|kite shield|Order shield|wooden shield|parrying gauche' backpack as shield getlabel shield ShieldLabel endif endif endfor dclick shield wait 250 endif endif endif if not findtype 'stubnose crossbow|tower guard crossbow|balestra|long bow|bow|recurve bow|composite bow|heavy crossbow|crossbow' hand if findtype 'stubnose crossbow|tower guard crossbow|balestra|long bow|bow|recurve bow|composite bow|heavy crossbow|crossbow' backpack as weapon for 5 getlabel weapon WeaponLabel wait 500 if "lyric aspect" in WeaponLabel break else @ignore weapon if findtype 'stubnose crossbow|tower guard crossbow|balestra|long bow|bow|recurve bow|composite bow|heavy crossbow|crossbow' backpack as weapon getlabel weapon WeaponLabel endif endif endfor dclick weapon wait 250 endif endif if not find ClosestTarget ground -1 -1 10 or dead ClosestTarget break endif endwhile ################################# #### AFTER KILL: #### ################################# if insysmsg "You have gained" if EnableOverheadMessages = 1 overhead "[ TARGET ELIMINATED!! ]" 149 endif sysmsg "You have killed {{descTarget}}!" 6 cooldown "Pacified" 0 cooldown "Discorded" 0 cooldown "Provoked" 0 else if EnableOverheadMessages = 1 overhead "[ TARGET LOST... ]" 339 endif cooldown "Pacified" 0 cooldown "Discorded" 0 cooldown "Provoked" 0 endif if EnableOverheadMessages = 1 if insysmsg "mastery chain" overhead "[ NEW LINK UNLOCKED!! ]" 149 wait 250 endif if insysmsg "You have unlocked a codex upgrade point" overhead "[ CODEX POINT UNLOCKED! ]" 2114 wait 250 endif if insysmsg "enough experience to upgrade" overhead "[ ASPECT TIER UNLOCKED! ]" 2241 wait 250 endif endif cooldown "Cleanup" 3500 cooldown "Satchel Timer" 6000 cooldown "Target Check" 0 while cooldown "Cleanup" if EnableAutoCarving = 1 if findtype 'Elven SpellBlade' self if findtype "corpse" ground -1 -1 2 as deadbody dclicktype "Elven Spellblade" wft 1000 targettype "Elven Spellblade" if EnableOverheadMessages = 1 overhead "[ SKINNING... ]" 339 endif wait 500 @ignore deadbody endif else if not cooldown "Inventory Timer" if EnableOverheadMessages = 1 overhead "[ NO SKINNING KNIFE! ]" 337 endif cooldown "Inventory Timer" 6000 endif endif endif if not cooldown "Target Check" hotkey 'Target Closest Grey Monster' wait 250 if insysmsg "No one matching that was found" // Do Nothing else break endif cooldown "Target Check" 1000 endif if EnableTrackingAutoRecall = 1 if PKTrackingRange = 60 if insysmsg ": 60 step" or insysmsg "60 space" or insysmsg ": 59 step" or insysmsg "59 space" or insysmsg ": 58 step" or insysmsg "58 space" or insysmsg ": 57 step" or insysmsg "57 space" or insysmsg ": 56 step" or insysmsg "56 space" or insysmsg ": 55 step" or insysmsg "55 space" or insysmsg ": 54 step" or insysmsg "54 space" or insysmsg ": 53 step" or insysmsg "53 space" or insysmsg ": 52 step" or insysmsg "52 space" or insysmsg ": 51 step" or insysmsg "51 space" or insysmsg ": 50 step" or insysmsg "50 space" or insysmsg ": 49 step" or insysmsg "49 space" or insysmsg ": 48 step" or insysmsg "48 space" or insysmsg ": 47 step" or insysmsg "47 space" or insysmsg ": 46 step" or insysmsg "46 space" or insysmsg ": 45 step" or insysmsg "45 space" or insysmsg ": 44 step" or insysmsg "44 space" or insysmsg ": 43 step" or insysmsg "43 space" or insysmsg ": 42 step" or insysmsg "42 space" or insysmsg ": 41 step" or insysmsg "41 space" or insysmsg ": 40 step" or insysmsg "40 space" or insysmsg ": 39 step" or insysmsg "39 space" or insysmsg ": 38 step" or insysmsg "38 space" or insysmsg ": 37 step" or insysmsg "37 space" or insysmsg ": 36 step" or insysmsg "36 space" or insysmsg ": 35 step" or insysmsg "35 space" or insysmsg ": 34 step" or insysmsg "34 space" or insysmsg ": 33 step" or insysmsg "33 space" or insysmsg ": 32 step" or insysmsg "32 space" or insysmsg ": 31 step" or insysmsg "31 space" or insysmsg ": 30 step" or insysmsg "30 space" or insysmsg ": 29 step" or insysmsg "29 space" or insysmsg ": 28 step" or insysmsg "28 space" or insysmsg ": 27 step" or insysmsg "27 space" or insysmsg ": 26 step" or insysmsg "26 space" or insysmsg ": 25 step" or insysmsg "25 space" or insysmsg ": 24 step" or insysmsg "24 space" or insysmsg ": 23 step" or insysmsg "23 space" or insysmsg ": 22 step" or insysmsg "22 space" or insysmsg ": 21 step" or insysmsg "21 space" or insysmsg ": 20 step" or insysmsg "20 space" or insysmsg ": 19 step" or insysmsg "19 space" or insysmsg ": 18 step" or insysmsg "18 space" or insysmsg ": 17 step" or insysmsg "17 space" or insysmsg ": 16 step" or insysmsg "16 space" or insysmsg ": 15 step" or insysmsg "15 space" or insysmsg ": 14 step" or insysmsg "14 space" or insysmsg ": 13 step" or insysmsg "13 space" or insysmsg ": 12 step" or insysmsg "12 space" or insysmsg ": 11 step" or insysmsg "11 space" or insysmsg ": 10 step" or insysmsg "10 space" or insysmsg ": 9 step" or insysmsg "(9 space" or insysmsg ": 8 step" or insysmsg "(8 space" or insysmsg ": 7 step" or insysmsg "(7 space" or insysmsg ": 6 step" or insysmsg "(6 space" or insysmsg ": 5 step" or insysmsg "(5 space" or insysmsg ": 4 step" or insysmsg "(4 space" or insysmsg ": 3 step" or insysmsg "(3 space" or insysmsg ": 2 step" or insysmsg "(2 space" or insysmsg ": 1 step" or insysmsg "(1 space" or insysmsg ": 0 step" or insysmsg "(0 space" overhead "[ !! RED ALERT !! ]" 37 hotkey 'Toggle War Only' @setvar! RedTargetFound 1 clearsysmsg replay endif elseif PKTrackingRange = 50 if insysmsg ": 50 step" or insysmsg "50 space" or insysmsg ": 49 step" or insysmsg "49 space" or insysmsg ": 48 step" or insysmsg "48 space" or insysmsg ": 47 step" or insysmsg "47 space" or insysmsg ": 46 step" or insysmsg "46 space" or insysmsg ": 45 step" or insysmsg "45 space" or insysmsg ": 44 step" or insysmsg "44 space" or insysmsg ": 43 step" or insysmsg "43 space" or insysmsg ": 42 step" or insysmsg "42 space" or insysmsg ": 41 step" or insysmsg "41 space" or insysmsg ": 40 step" or insysmsg "40 space" or insysmsg ": 39 step" or insysmsg "39 space" or insysmsg ": 38 step" or insysmsg "38 space" or insysmsg ": 37 step" or insysmsg "37 space" or insysmsg ": 36 step" or insysmsg "36 space" or insysmsg ": 35 step" or insysmsg "35 space" or insysmsg ": 34 step" or insysmsg "34 space" or insysmsg ": 33 step" or insysmsg "33 space" or insysmsg ": 32 step" or insysmsg "32 space" or insysmsg ": 31 step" or insysmsg "31 space" or insysmsg ": 30 step" or insysmsg "30 space" or insysmsg ": 29 step" or insysmsg "29 space" or insysmsg ": 28 step" or insysmsg "28 space" or insysmsg ": 27 step" or insysmsg "27 space" or insysmsg ": 26 step" or insysmsg "26 space" or insysmsg ": 25 step" or insysmsg "25 space" or insysmsg ": 24 step" or insysmsg "24 space" or insysmsg ": 23 step" or insysmsg "23 space" or insysmsg ": 22 step" or insysmsg "22 space" or insysmsg ": 21 step" or insysmsg "21 space" or insysmsg ": 20 step" or insysmsg "20 space" or insysmsg ": 19 step" or insysmsg "19 space" or insysmsg ": 18 step" or insysmsg "18 space" or insysmsg ": 17 step" or insysmsg "17 space" or insysmsg ": 16 step" or insysmsg "16 space" or insysmsg ": 15 step" or insysmsg "15 space" or insysmsg ": 14 step" or insysmsg "14 space" or insysmsg ": 13 step" or insysmsg "13 space" or insysmsg ": 12 step" or insysmsg "12 space" or insysmsg ": 11 step" or insysmsg "11 space" or insysmsg ": 10 step" or insysmsg "10 space" or insysmsg ": 9 step" or insysmsg "(9 space" or insysmsg ": 8 step" or insysmsg "(8 space" or insysmsg ": 7 step" or insysmsg "(7 space" or insysmsg ": 6 step" or insysmsg "(6 space" or insysmsg ": 5 step" or insysmsg "(5 space" or insysmsg ": 4 step" or insysmsg "(4 space" or insysmsg ": 3 step" or insysmsg "(3 space" or insysmsg ": 2 step" or insysmsg "(2 space" or insysmsg ": 1 step" or insysmsg "(1 space" or insysmsg ": 0 step" or insysmsg "(0 space" overhead "[ !! RED ALERT !! ]" 37 hotkey 'Toggle War Only' @setvar! RedTargetFound 1 clearsysmsg replay endif elseif PKTrackingRange = 40 if insysmsg ": 40 step" or insysmsg "40 space" or insysmsg ": 39 step" or insysmsg "39 space" or insysmsg ": 38 step" or insysmsg "38 space" or insysmsg ": 37 step" or insysmsg "37 space" or insysmsg ": 36 step" or insysmsg "36 space" or insysmsg ": 35 step" or insysmsg "35 space" or insysmsg ": 34 step" or insysmsg "34 space" or insysmsg ": 33 step" or insysmsg "33 space" or insysmsg ": 32 step" or insysmsg "32 space" or insysmsg ": 31 step" or insysmsg "31 space" or insysmsg ": 30 step" or insysmsg "30 space" or insysmsg ": 29 step" or insysmsg "29 space" or insysmsg ": 28 step" or insysmsg "28 space" or insysmsg ": 27 step" or insysmsg "27 space" or insysmsg ": 26 step" or insysmsg "26 space" or insysmsg ": 25 step" or insysmsg "25 space" or insysmsg ": 24 step" or insysmsg "24 space" or insysmsg ": 23 step" or insysmsg "23 space" or insysmsg ": 22 step" or insysmsg "22 space" or insysmsg ": 21 step" or insysmsg "21 space" or insysmsg ": 20 step" or insysmsg "20 space" or insysmsg ": 19 step" or insysmsg "19 space" or insysmsg ": 18 step" or insysmsg "18 space" or insysmsg ": 17 step" or insysmsg "17 space" or insysmsg ": 16 step" or insysmsg "16 space" or insysmsg ": 15 step" or insysmsg "15 space" or insysmsg ": 14 step" or insysmsg "14 space" or insysmsg ": 13 step" or insysmsg "13 space" or insysmsg ": 12 step" or insysmsg "12 space" or insysmsg ": 11 step" or insysmsg "11 space" or insysmsg ": 10 step" or insysmsg "10 space" or insysmsg ": 9 step" or insysmsg "(9 space" or insysmsg ": 8 step" or insysmsg "(8 space" or insysmsg ": 7 step" or insysmsg "(7 space" or insysmsg ": 6 step" or insysmsg "(6 space" or insysmsg ": 5 step" or insysmsg "(5 space" or insysmsg ": 4 step" or insysmsg "(4 space" or insysmsg ": 3 step" or insysmsg "(3 space" or insysmsg ": 2 step" or insysmsg "(2 space" or insysmsg ": 1 step" or insysmsg "(1 space" or insysmsg ": 0 step" or insysmsg "(0 space" overhead "[ !! RED ALERT !! ]" 37 hotkey 'Toggle War Only' @setvar! RedTargetFound 1 clearsysmsg replay endif elseif PKTrackingRange = 30 if insysmsg ": 30 step" or insysmsg "30 space" or insysmsg ": 29 step" or insysmsg "29 space" or insysmsg ": 28 step" or insysmsg "28 space" or insysmsg ": 27 step" or insysmsg "27 space" or insysmsg ": 26 step" or insysmsg "26 space" or insysmsg ": 25 step" or insysmsg "25 space" or insysmsg ": 24 step" or insysmsg "24 space" or insysmsg ": 23 step" or insysmsg "23 space" or insysmsg ": 22 step" or insysmsg "22 space" or insysmsg ": 21 step" or insysmsg "21 space" or insysmsg ": 20 step" or insysmsg "20 space" or insysmsg ": 19 step" or insysmsg "19 space" or insysmsg ": 18 step" or insysmsg "18 space" or insysmsg ": 17 step" or insysmsg "17 space" or insysmsg ": 16 step" or insysmsg "16 space" or insysmsg ": 15 step" or insysmsg "15 space" or insysmsg ": 14 step" or insysmsg "14 space" or insysmsg ": 13 step" or insysmsg "13 space" or insysmsg ": 12 step" or insysmsg "12 space" or insysmsg ": 11 step" or insysmsg "11 space" or insysmsg ": 10 step" or insysmsg "10 space" or insysmsg ": 9 step" or insysmsg "(9 space" or insysmsg ": 8 step" or insysmsg "(8 space" or insysmsg ": 7 step" or insysmsg "(7 space" or insysmsg ": 6 step" or insysmsg "(6 space" or insysmsg ": 5 step" or insysmsg "(5 space" or insysmsg ": 4 step" or insysmsg "(4 space" or insysmsg ": 3 step" or insysmsg "(3 space" or insysmsg ": 2 step" or insysmsg "(2 space" or insysmsg ": 1 step" or insysmsg "(1 space" or insysmsg ": 0 step" or insysmsg "(0 space" overhead "[ !! RED ALERT !! ]" 37 hotkey 'Toggle War Only' @setvar! RedTargetFound 1 clearsysmsg replay endif elseif PKTrackingRange = 0 if insysmsg "Now tracking" overhead "[ !! RED ALERT !! ]" 37 hotkey 'Toggle War Only' @setvar! RedTargetFound 1 clearsysmsg replay endif endif endif if EnablePKradar = 1 if not cooldown "PK Radar" hotkey 'Next Murderer Player Target' wait 250 if insysmsg "No one matching that was found" cooldown "PK Radar" 500 clearsysmsg else overhead "[ !! RED ALERT !! ]" 37 hotkey 'Toggle War Only' @setvar! RedTargetFound 1 @setvar! MurdererTarget lasttarget replay endif endif endif if EnableParalyzePouch = 1 if paralyzed if findtype "pouch" self yell "[pouch" hotkey 'Toggle War Only' replay else if EnableOverheadMessages = 1 overhead "[ NO MORE POUCHES! ]" 337 endif endif endif endif if warmode hotkey 'Next Murderer Player Target' wait 500 if insysmsg "No one matching that was found" overhead "[ NO NEARBY REDS... ]" 37 hotkey 'Toggle Peace Only" clearsysmsg wait 500 else overhead "[ !! RED ALERT !! ]" 37 @setvar! RedTargetFound 1 replay endif endif if insysmsg "world is saving" if not timerexists "WorldSaveTimer" createtimer "WorldSaveTimer" endif settimer "WorldSaveTimer" 0 while timer "WorldSaveTimer" < 4000 if insysmsg "save complete" break endif wait 250 endwhile if EnableOverheadMessages = 1 overhead "[ SAVE COMPLETE! ]" 253 endif endif if EnableWeightWarningMessage = 1 if diffweight < GreenWarningDiffWeight and diffweight > YellowWarningDiffWeight and not cooldown "Weight Timer" if EnableOverheadMessages = 1 overhead "[ WEIGHT WARNING... ]" 77 cooldown "Weight Timer" 6000 elseif EnableOverheadMessages = 2 overhead " ▄ " 77 cooldown "Weight Timer" 6000 endif elseif diffweight < YellowWarningDiffWeight and diffweight > RedWeightLimitDiffWeight and not cooldown "Weight Timer" if EnableOverheadMessages = 1 overhead "[ WEIGHT WARNING! ]" 153 cooldown "Weight Timer" 6000 elseif EnableOverheadMessages = 2 overhead " ▄ " 153 cooldown "Weight Timer" 6000 endif elseif diffweight < RedWeightLimitDiffWeight and not cooldown "Weight Timer" if EnableOverheadMessages = 1 overhead "[ WEIGHT LIMIT REACHED! ]" 37 cooldown "Weight Timer" 6000 elseif EnableOverheadMessages = 2 overhead " ▄ " 37 cooldown "Weight Timer" 6000 endif if EnableAutoWeightRecall = 1 and not find ClosestTarget ground -1 -1 8 wait 1500 cooldown "Infinite Loop" 30000 hotkey 'toggle War Only' @setvar! TimeToGo 1 @setvar! AutoWeightRecall 1 replay elseif EnableAutoWeightRecall = 1 and find ClosestTarget ground -1 -1 8 if not cooldown "Cleanup" overhead "[ WAITING TO RECALL... ]" 149 cooldown "Cleanup" 3500 endif wait 500 else overhead "[ OVERWEIGHT! ]" sysmsg "Time to head home and unload our loot!" 0 cooldown "Weight Timer" 5000 endif endif endif if EnableAmmoWarningMessage = 1 if findtype 'stubnose crossbow|tower guard crossbow|balestra|heavy crossbow|crossbow' hand # BOLTS @setvar! AMMO 1 elseif findtype 'long bow|bow|recurve bow|composite bow' hand # ARROWS @setvar AMMO 2 endif if counttype "crossbow bolt" self < LowAmmoWarningAmount and not cooldown "Ammunition" and AMMO = 1 overhead "[ AMMO LOW! ]" 37 cooldown "Ammunition" 6000 endif if counttype "arrow" self < LowAmmoWarningAmount and not cooldown "Ammunition" and AMMO = 2 overhead "[ AMMO LOW! ]" 37 cooldown "Ammunition" 6000 endif endif if findtype "arrow|crossbow bolt" backpack if not cooldown "Satchel Timer" and findtype "quiver" self as MyQuiver menu MyQuiver 0 wait 500 cooldown "Satchel Timer" 5000 endif endif if targetexists if findtype " Elven Spellblade" self targettype "Elven Spellblade" else target backpack endif endif endwhile replay endif endwhile wait 1000 if dead if EnableOverheadMessages = 1 wait 1500 overhead "Well... shit..." 6 wait 2000 overhead '[ STOPPING SCRIPT... ]' 37 endif sysmsg "Stopping Ultimate Bard Auto Pilot script... go find a healer!" 0 stop else replay endif replay ////////////// // THE END! // //////////////