DANSTOCK'S ULTIMATE TRI-BARD/CHIVARLY/ARCHER AUTO PILOT SCRIPT 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 Nov 21, 2024 (email any bug reports/tips to dan@danstockman.com)
///// Compiled by DanStock.
//// ULTIMATE TRI-BARD/CHIVARLY/ARCHER AUTO PILOT SCRIPT
///
// Recommended skill template:
# 120 Peacemaking
# 120 Discordance
# 120 Provocation
# 120 Chivalry
# 100 Tactics
# 80+ Archery
# 59 Healing (or utility skill of choice)
# 1 Alchemy
// TIPS:
# Recommend using LYRIC ASPECT ARMOUR and DAMAGE TO BARDED CREATURES and/or EFFECTIVE BARDING 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)
# Toggle WAR MODE to clear barding cooldowns and retarget (while no REDS nearby)
# Otherwise, toggle WAR MODE to auto TARGET and ATTACK nearby REDS!
# 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
# Make sure [ShowBardingDurations is set to "Display All Barding Durations" in UO client under Commands -> Text Displays
# This script depends heavily on COOLDOWNS. Please make sure to add them all in UO client under Options -> Cooldowns (list below)
# The COOLDOWNS just need to exist - you don't need to set any triggers or anything (but they are very important!)
# Recommend using Razor FILTERS to cancel instrument sounds and redundant system messages
# This script can be used to play with a game controller (start script, stop script, warmode toggle and joystick movement is all that is needed)
// 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 Warning
# Cleanup
# Radar
# Ammunition
// The COOLDOWNS just need to exist... no further configuration necessary! //
// (though some are very helpful to add to your UI screen) //
#############################################
####### 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 0
@setvar! EnableAgilityPotion 0
@setvar! EnableMagicResistPotion 0
@setvar! EnableHolyLight 1
@setvar! EnableNobleSacrifice 1
@setvar! EnableCleanseByFire 1
@setvar! EnableCloseWounds 1
@setvar! HolyLightHPdiff 30
@setvar! HealPotHPdiff 45
@setvar! NobleSacrificeHPdiff 60
@setvar! CleanseByFireHPdiff 15
@setvar! RefreshPotSPdiff 10
@setvar! EnableShield 0
@setvar! EnableParalyzePouch 1
//////////////////////////
// OFFENSIVE: //
//////////////////////////
@setvar! EnableDivineFury 1
@setvar! EnableEnemyOfOne 1
@setvar! EnableConsecrateWeapon 0
@setvar! EnableWeaponAbility 1
@setvar! EnableSkirmish 0
# or
@setvar! EnableFullDraw 0
# or
@setvar! EnableRepeater 1
//////////////////////////
// UTILITY: //
//////////////////////////
@setvar! EnableAutoCarving 1
@setvar! EnableArrowCleanup 1
@setvar! EnableOverheadMessages 1
@setvar! EnableAmmoWarningMessage 1
@setvar! LowAmmoWarningAmount 15
@setvar! EnableWeightWarningMessage 1
@setvar! GreenWarningDiffWeight 50
@setvar! YellowWarningDiffWeight 20
@setvar! RedWeightLimitDiffWeight 5
#### 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 Nov 21, 2024" 84
wait 2500
overhead "Thank you for trying my barding 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 "Read the TIPS section at the beginning of the script"
wait 4000
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 500
endif
if not varexist StartFarming
if EnableOverheadMessages = 1
overhead "[ TIME TO FARM! ]" 77
wait 1000
endif
@setvar! StartFarming 1
endif
while not dead
##########################
### WEAPON CHECKS: ###
##########################
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 'long bow|bow|recurve bow|composite bow|stubnose crossbow|tower guard crossbow|balestra|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 'long bow|bow|recurve bow|composite bow|stubnose crossbow|tower guard crossbow|balestra|heavy crossbow|crossbow' hand
if findtype 'long bow|bow|recurve bow|composite bow|stubnose crossbow|tower guard crossbow|balestra|heavy crossbow|crossbow' backpack as weapon
for 5
getlabel weapon WeaponLabel
wait 250
if "unidentified" in WeaponLabel
@ignore weapon
if findtype 'long bow|bow|recurve bow|composite bow|stubnose crossbow|tower guard crossbow|balestra|heavy crossbow|crossbow' backpack as weapon
getlabel weapon WeaponLabel
endif
else
break
endif
endfor
dclick weapon
wait 250
endif
endif
if EnableShield = 1
if not findtype 'metal shield|Chaos shield|heater shield|bone shield|bronze shield|buckler|kite shield|Order shield|wooden shield|parrying gauche' lefthand
if findtype 'metal shield|Chaos shield|heater shield|bone shield|bronze shield|buckler|kite shield|Order shield|wooden shield|parrying gauche' backpack as shield
getlabel shield ShieldLabel
for 5
wait 250
if "unidentified" in ShieldLabel
@ignore shield
if findtype 'metal shield|Chaos shield|heater shield' backpack as shield
getlabel shield ShieldLabel
endif
endif
endfor
dclick shield
wait 250
endif
endif
endif
@setvar! PreviousTarget lasttarget
@setvar! SwitchStance 0
@setvar! NeedtoProvoke 0
@setvar! NeedtoDiscord 1
@setvar! NeedtoPacify 1
@setvar! ClosestTarget 0
@setvar! NextClosestTarget 0
@setvar! SongReapply 900000
hotkey 'Cancel Current Target'
if insysmsg "Captcha successful" and EnableOverheadMessages = 1
wait 500
overhead "[ CAPTCHA SUCCESSFUL! ]" 84
endif
clearsysmsg
if skill 'Tracking' > 50 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
if EnableOverheadMessages = 1
overhead "[ TRACKING ENABLED! ]" 149
endif
wait 1000
endif
if warmode
cooldown "Target Timer" 0
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 "[ NO NEARBY REDS... ]" 337
endif
wait 500
hotkey 'Toggle Peace Only'
replay
else
@setvar! MurdererTarget lasttarget
wait 500
while not dead MurdererTarget
if noto MurdererTarget = "Murderer" and find MurdererTarget ground -1 -1 10
if 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! ]" 339
endif
cooldown "Weapon Ability" 61000
cooldown "Skirmish" 15000
endif
endif
if not cooldown "Target Timer"
if EnableOverheadMessages = 1
overhead "[ STANDING GROUND! ]" 37
endif
cooldown "Target Timer" 3500
endif
wait 500
attack MurdererTarget
wait 750
if paralyzed and EnableParalyzePouch = 1
if findtype "pouch" self
yell "[pouch"
else
if EnableOverheadMessages = 1
overhead "[ NO MORE POUCHES! ]" 337
endif
endif
endif
if skill 'Healing' > 38
if not bandaging
if hp < maxhp or poisoned or findbuff "bleed" or findbuff "disease"
hotkey "Bandage Self"
cooldown "Healing Potion" 2500
endif
endif
endif
if not findtype 'crossbow|balestra|stubnose crossbow' hand
if findtype 'crossbow|balestra|stubnose crossbow' backpack as fastweapon
dclick fast weapon
wait 500
endif
endif
if not findtype 'metal shield|Chaos shield|heater shield|bone shield|bronze shield|buckler|kite shield|Order shield|wooden shield|parrying gauche' lefthand
if findtype '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 250
endif
endif
if findtype "Purple Potion" self as pot and not cooldown "Purple Potion"
getlabel pot desc
if "next usable in 15" in desc
@setvar! purplePotionCD 15000
elseif "next usable in 14" in desc
@setvar! purplePotionCD 14000
elseif "next usable in 13" in desc
@setvar! purplePotionCD 13000
elseif "next usable in 12" in desc
@setvar! purplePotionCD 12000
elseif "next usable in 11" in desc
@setvar! purplePotionCD 11000
elseif "next usable in 10" in desc
@setvar! purplePotionCD 10000
elseif "next usable in 9" in desc
@setvar! purplePotionCD 9000
elseif "next usable in 8" in desc
@setvar! purplePotionCD 8000
elseif "next usable in 7" in desc
@setvar! purplePotionCD 7000
elseif "next usable in 6" in desc
@setvar! purplePotionCD 6000
elseif "next usable in 5" in desc
@setvar! purplePotionCD 5000
elseif "next usable in 4" in desc
@setvar! purplePotionCD 4000
elseif "next usable in 3" in desc
@setvar! purplePotionCD 3000
elseif "next usable in 2" in desc
@setvar! purplePotionCD 2000
elseif "next usable in 1" in desc
@setvar! purplePotionCD 1000
else
@setvar! purplePotionCD 0
endif
cooldown "Purple Potion" purplePotionCD
wait 250
if find MurdererTarget ground -1 -1 10 and not cooldown "Purple Potion"
dclick pot
wft 1000
target MurdererTarget
wait 500
if insysmsg "Potion satchel used"
if EnableOverheadMessages = 1
overhead "[ FREE EXPLOSION POTION! ]" 419
endif
clearsysmsg
else
if EnableOverheadMessages = 1
overhead '[ EXPLOSION POTION... ]' 419
endif
clearsysmsg
endif
cooldown "Purple Potion" 15000
wait 250
endif
else
if EnableOverheadMessages = 1
overhead "[ NO EXPLOSION POTS! ]" 337
endif
cooldown "Purple Potion" 30000
endif
if diffhits > 10 and not cooldown "Healing Potion"
if findtype "Yellow Potion" self as healpot
dclick healpot
cooldown "Healing Potion" 11000
wait 500
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
cooldown "Cure Potion" 11000
wait 500
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 1000
endif
endwhile
if EnableOverheadMessages = 1
overhead "[ RED TARGET LOST... ]" 37
endif
wait 500
replay
endif
endif
if paralyzed and EnableParalyzePouch = 1
if findtype "pouch" self
yell "[pouch"
hotkey 'Toggle War Only'
replay
else
if EnableOverheadMessages = 1
overhead "[ NO MORE POUCHES! ]" 337
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 250
endif
endif
if EnableHealPotion = 1
if diffhits > HealPotHPdiff and not cooldown "Healing Potion"
if findtype "Yellow Potion" self as healpot
dclick healpot
wait 250
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
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 250
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 and not cooldown "Inventory Timer"
if EnableOverheadMessages = 1
overhead "[ BANDAGES LOW! ]" 339
endif
cooldown "Inventory Timer" 6000
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 250
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 250
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 250
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 250
endif
endif
hotkey 'Target Closest Grey Monster'
wait 500
#########################
### NO TARGET LOOP: ###
#########################
if insysmsg "No one matching that was found on your screen"
if not cooldown "No Target Timer"
overhead "[ NOTHING TO TARGET... ]" 6
cooldown "No Target Timer" 3500
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 findtype 'Elven SpellBlade' backpack and EnableAutoCarving = 1
if findtype "corpse" ground -1 -1 2 as body
wait 500
dclicktype "Elven Spellblade"
wft 1000
target 'self'
if EnableOverheadMessages = 1
overhead "[ SKINNING... ]" 339
endif
wait 500
@ignore body
endif
else
if not cooldown "Inventory Timer"
if EnableOverheadMessages = 1
overhead "[ NO SKINNING KNIFE! ]" 337
endif
cooldown "Inventory Timer" 6000
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 warmode
cooldown "Target Timer" 0
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 "[ NO NEARBY REDS... ]" 337
endif
wait 500
hotkey 'Toggle Peace Only'
replay
else
@setvar! MurdererTarget lasttarget
wait 500
while not dead MurdererTarget
if noto MurdererTarget = "Murderer" and find MurdererTarget ground -1 -1 10
if 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! ]" 339
endif
cooldown "Weapon Ability" 61000
cooldown "Skirmish" 15000
endif
endif
if not cooldown "Target Timer"
if EnableOverheadMessages = 1
overhead "[ STANDING GROUND!! ]" 37
endif
cooldown "Target Timer" 3500
endif
wait 500
attack MurdererTarget
wait 750
if paralyzed and EnableParalyzePouch = 1
if findtype "pouch" self
yell "[pouch"
else
if EnableOverheadMessages = 1
overhead "[ NO MORE POUCHES! ]" 337
endif
endif
endif
if skill 'Healing' > 38
if not bandaging
if hp < maxhp or poisoned or findbuff "bleed" or findbuff "disease"
hotkey "Bandage Self"
cooldown "Healing Potion" 2500
endif
endif
endif
if not findtype 'crossbow|balestra|stubnose crossbow' hand
if findtype 'crossbow|balestra|stubnose crossbow' backpack as fastweapon
dclick fast weapon
wait 500
endif
endif
if not findtype 'metal shield|Chaos shield|heater shield|bone shield|bronze shield|buckler|kite shield|Order shield|wooden shield|parrying gauche' lefthand
if findtype '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 250
endif
endif
if findtype "Purple Potion" self as pot and not cooldown "Purple Potion"
getlabel pot desc
if "next usable in 15" in desc
@setvar! purplePotionCD 15000
elseif "next usable in 14" in desc
@setvar! purplePotionCD 14000
elseif "next usable in 13" in desc
@setvar! purplePotionCD 13000
elseif "next usable in 12" in desc
@setvar! purplePotionCD 12000
elseif "next usable in 11" in desc
@setvar! purplePotionCD 11000
elseif "next usable in 10" in desc
@setvar! purplePotionCD 10000
elseif "next usable in 9" in desc
@setvar! purplePotionCD 9000
elseif "next usable in 8" in desc
@setvar! purplePotionCD 8000
elseif "next usable in 7" in desc
@setvar! purplePotionCD 7000
elseif "next usable in 6" in desc
@setvar! purplePotionCD 6000
elseif "next usable in 5" in desc
@setvar! purplePotionCD 5000
elseif "next usable in 4" in desc
@setvar! purplePotionCD 4000
elseif "next usable in 3" in desc
@setvar! purplePotionCD 3000
elseif "next usable in 2" in desc
@setvar! purplePotionCD 2000
elseif "next usable in 1" in desc
@setvar! purplePotionCD 1000
else
@setvar! purplePotionCD 0
endif
cooldown "Purple Potion" purplePotionCD
wait 250
if find MurdererTarget ground -1 -1 10 and not cooldown "Purple Potion"
dclick pot
wft 1000
target MurdererTarget
wait 500
if insysmsg "Potion satchel used"
if EnableOverheadMessages = 1
overhead "[ FREE EXPLOSION POTION! ]" 419
endif
clearsysmsg
else
if EnableOverheadMessages = 1
overhead '[ EXPLOSION POTION... ]' 419
endif
clearsysmsg
endif
cooldown "Purple Potion" 15000
wait 250
endif
else
if EnableOverheadMessages = 1
overhead "[ NO EXPLOSION POTS! ]" 337
endif
cooldown "Purple Potion" 30000
endif
if diffhits > 10 and not cooldown "Healing Potion"
if findtype "Yellow Potion" self as healpot
dclick healpot
cooldown "Healing Potion" 11000
wait 500
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
cooldown "Cure Potion" 11000
wait 500
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 1000
endif
endwhile
if EnableOverheadMessages = 1
overhead "[ RED TARGET LOST... ]" 37
endif
wait 500
replay
endif
endif
if paralyzed and EnableParalyzePouch = 1
if findtype "pouch" self
yell "[pouch"
hotkey 'Toggle War Only'
replay
else
if EnableOverheadMessages = 1
overhead "[ NO MORE POUCHES! ]" 337
endif
endif
endif
if EnableWeightWarningMessage = 1
if diffweight < GreenWarningDiffWeight and diffweight > YellowWarningDiffWeight and not cooldown "Weight Warning"
overhead "[ WEIGHT WARNING... ]" 77
cooldown "Weight Warning" 6000
elseif diffweight < YellowWarningDiffWeight and diffweight > RedWeightLimitDiffWeight and not cooldown "Weight Warning"
overhead "[ WEIGHT WARNING! ]" 153
cooldown "Weight Warning" 6000
elseif diffweight < RedWeightLimitDiffWeight and not cooldown "Weight Warning"
overhead "-[ WEIGHT LIMIT REACHED!! ]-" 37
cooldown "Weight Warning" 6000
sysmsg "Time to head home and unload our loot!" 0
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 EnableArrowCleanup = 1
if findtype 7163|3903 ground -1 -1 2 as item and not cooldown "Cleanup"
if EnableOverheadMessages = 1
overhead '[ CLEANUP... ]' 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" and EnableOverheadMessages = 1
overhead "▼ SOMEONE HIDING! ▼" 6
wait 500
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 and not cooldown "Inventory Timer"
if EnableOverheadMessages = 1
overhead "[ BANDAGES LOW! ]" 339
endif
cooldown "Inventory Timer" 6000
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
cooldown "Healing Potion" 11000
wait 500
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 250
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 250
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 250
endif
endif
if EnableCurePotion = 1
if poisoned and not cooldown "Cure Potion"
if findtype "Orange Potion" self as curepot
dclick curepot
cooldown "Cure Potion" 11000
wait 500
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 250
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 250
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 250
endif
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 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 "Inventory Timer" 6000
endif
endif
wait 250
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 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
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
wait 250
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
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
wait 250
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
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... ]" 334
endif
cooldown "Provocation Buff" SongReapply
cooldown "Song Buff Delay" 11000
endif
wait 250
endif
if not cooldown "Inventory Timer"
hotkey 'Organizer Agent-04'
wait 500
cooldown "Inventory Timer" 5000
endif
if targetexists
hotkey 'Cancel Current Target'
endif
clearsysmsg
replay
else
########################
#### TARGET ID: ####
########################
@setvar! ClosestTarget lasttarget
getlabel ClosestTarget descTarget
wait 100
if find ClosestTarget ground -1 -1 6
hotkey 'Next Grey Monster Target'
wait 100
@setvar! NextClosestTarget lasttarget
getlabel NextClosestTarget descNextTarget
for 4
if find NextClosestTarget ground -1 -1 6
break
else
hotkey 'Next Grey Monster Target'
wait 100
@setvar! NextClosestTarget lasttarget
getlabel NextClosestTarget descNextTarget
endif
endfor
else
if not cooldown "Target Timer"
overhead "[ GET CLOSER! ]" 69
cooldown "Target Timer" 3500
endif
replay
endif
if NextClosestTarget != ClosestTarget and find NextClosestTarget ground -1 -1 6
@setvar! NeedtoProvoke 1
else
@setvar! NeedtoProvoke 0
endif
if PreviousTarget != ClosestTarget
cooldown "Pacified" 0
cooldown "Discorded" 0
cooldown "Provoked" 0
endif
hotkey 'Target Closest Grey Monster'
wait 100
@setvar! ClosestTarget lasttarget
getlabel ClosestTarget descTarget
wait 100
cooldown "Target Check" 6000
#############################
#### COMBAT LOOP: ####
#############################
while not dead ClosestTarget
if not timerexists "FindTarget"
createtimer "FindTarget"
settimer "FindTarget" 3000
endif
if timer "FindTarget" >= 3000
getlabel ClosestTarget descTarget
if not cooldown "Target Timer"
if "Paragon" in descTarget
overhead " ▼ PARAGON! ▼ " 12 ClosestTarget
cooldown "Target Timer" 3500
attack ClosestTarget
else
overhead " ▼ TARGET ▼ " 253 ClosestTarget
cooldown "Target Timer" 3500
attack ClosestTarget
endif
endif
settimer "FindTarget" 0
endif
if not timerexists "FindNextTarget"
createtimer "FindNextTarget"
settimer "FindNextTarget" 3000
endif
if timer "FindNextTarget" >= 3000 and find NextClosestTarget ground -1 -1 6 and NextClosestTarget != ClosestTarget and NextClosestTarget != 0
getlabel NextClosestTarget descNextTarget
if not cooldown " Next Target Timer"
if "Paragon" in descNextTarget
overhead " ▼ PARAGON! ▼ " 12 NextClosestTarget
cooldown "Next Target Timer" 3500
else
overhead " ▼ TARGET ▼ " 2117 NextClosestTarget
cooldown "Next Target Timer" 3500
endif
endif
settimer "FindNextTarget" 0
@setvar! NeedToProvoke 1
endif
if not cooldown "Target Check"
hotkey 'Next Grey Monster Target'
wait 100
@setvar! NextClosestTarget lasttarget
getlabel NextClosestTarget descNextTarget
if NextClosestTarget != ClosestTarget
for 4
if find NextClosestTarget ground -1 -1 6
break
else
hotkey 'Next Grey Monster Target'
wait 100
@setvar! NextClosestTarget lasttarget
getlabel NextClosestTarget descNextTarget
endif
endfor
endif
if NextClosestTarget != ClosestTarget and find NextClosestTarget ground -1 -1 6
@setvar! NeedtoProvoke 1
else
@setvar! NeedtoProvoke 0
endif
hotkey 'Target Closest Grey Monster'
wait 100
@setvar! ClosestTarget lasttarget
getlabel ClosestTarget descTarget
cooldown "Target Check" 4000
endif
if paralyzed and EnableParalyzePouch = 1
if findtype "pouch" self
yell "[pouch"
hotkey 'Toggle War Only'
replay
else
if EnableOverheadMessages = 1
overhead "[ NO MORE POUCHES! ]" 337
endif
endif
endif
if warmode
cooldown "Target Timer" 0
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 "[ BREAK... ]" 43
endif
wait 500
hotkey 'Toggle Peace Only'
replay
else
@setvar! MurdererTarget lasttarget
wait 500
while not dead MurdererTarget
if noto MurdererTarget = "Murderer" and find MurdererTarget ground -1 -1 10
if 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! ]" 339
endif
cooldown "Weapon Ability" 61000
cooldown "Skirmish" 15000
endif
endif
if not cooldown "Target Timer"
if EnableOverheadMessages = 1
overhead "[ STANDING GROUND!! ]" 37
endif
cooldown "Target Timer" 3500
endif
wait 500
attack MurdererTarget
wait 750
if paralyzed and EnableParalyzePouch = 1
if findtype "pouch" self
yell "[pouch"
else
if EnableOverheadMessages = 1
overhead "[ NO MORE POUCHES! ]" 337
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 findtype 'crossbow|balestra|stubnose crossbow' hand
if findtype 'crossbow|balestra|stubnose crossbow' backpack as fastweapon
dclick fast weapon
wait 500
endif
endif
if not findtype 'metal shield|Chaos shield|heater shield|bone shield|bronze shield|buckler|kite shield|Order shield|wooden shield|parrying gauche' lefthand
if findtype '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 250
endif
endif
if findtype "Purple Potion" self as pot and not cooldown "Purple Potion"
getlabel pot desc
if "next usable in 15" in desc
@setvar! purplePotionCD 15000
elseif "next usable in 14" in desc
@setvar! purplePotionCD 14000
elseif "next usable in 13" in desc
@setvar! purplePotionCD 13000
elseif "next usable in 12" in desc
@setvar! purplePotionCD 12000
elseif "next usable in 11" in desc
@setvar! purplePotionCD 11000
elseif "next usable in 10" in desc
@setvar! purplePotionCD 10000
elseif "next usable in 9" in desc
@setvar! purplePotionCD 9000
elseif "next usable in 8" in desc
@setvar! purplePotionCD 8000
elseif "next usable in 7" in desc
@setvar! purplePotionCD 7000
elseif "next usable in 6" in desc
@setvar! purplePotionCD 6000
elseif "next usable in 5" in desc
@setvar! purplePotionCD 5000
elseif "next usable in 4" in desc
@setvar! purplePotionCD 4000
elseif "next usable in 3" in desc
@setvar! purplePotionCD 3000
elseif "next usable in 2" in desc
@setvar! purplePotionCD 2000
elseif "next usable in 1" in desc
@setvar! purplePotionCD 1000
else
@setvar! purplePotionCD 0
endif
cooldown "Purple Potion" purplePotionCD
wait 250
if find MurdererTarget ground -1 -1 10 and not cooldown "Purple Potion"
dclick pot
wft 1000
target MurdererTarget
wait 500
if insysmsg "Potion satchel used"
if EnableOverheadMessages = 1
overhead "[ FREE EXPLOSION POTION! ]" 419
endif
clearsysmsg
else
if EnableOverheadMessages = 1
overhead '[ EXPLOSION POTION... ]' 419
endif
clearsysmsg
endif
cooldown "Purple Potion" 15000
wait 250
endif
else
if EnableOverheadMessages = 1
overhead "[ NO EXPLOSION POTS! ]" 337
endif
cooldown "Purple Potion" 30000
endif
if diffhits > 10 and not cooldown "Healing Potion"
if findtype "Yellow Potion" self as healpot
dclick healpot
cooldown "Healing Potion" 11000
wait 500
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
cooldown "Cure Potion" 11000
wait 500
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 1000
endif
endwhile
if EnableOverheadMessages = 1
overhead "[ RED TARGET LOST... ]" 37
endif
wait 500
replay
endif
endif
if EnableOverheadMessages = 1
if insysmsg "Barding break avoided"
overhead "[ BREAK AVOIDED! ]" 84 ClosestTarget
wait 250
endif
if insysmsg "something invisible out of"
overhead "▼ SOMEONE HIDING! ▼" 6
wait 500
endif
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
if insysmsg "Cacophony activated"
overhead "[ CACOPHONY!!! ]" 2241
wait 250
endif
if insysmsg "causes you to bleed"
overhead "[ BLEEDING... ]" 2118
wait 250
endif
if insysmsg "Your shot hinders"
overhead "[ HINDERED! ]" 44 ClosestTarget
wait 250
endif
if insysmsg "Your target overpowers"
overhead "[ VICIOUS WOUND! ]" 1664 ClosestTarget
wait 250
endif
if insysmsg "Your shot turns the target into"
overhead "[ PIN CUSHION!! ]" 2115
wait 250
endif
if insysmsg "Your shot ricochets"
overhead "[ RICOCHET!! ]" 2115
wait 250
endif
endif
if targetexists
hotkey 'CancelCurrentTarget'
endif
if not find ClosestTarget ground -1 -1 6
break
endif
#################################
#### DEFENSIVE CHECKS: ####
#################################
if paralyzed and EnableParalyzePouch = 1
if findtype "pouch" self
yell "[pouch"
hotkey 'Toggle War Only'
replay
else
if EnableOverheadMessages = 1
overhead "[ NO MORE POUCHES! ]" 337
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 250
endif
endif
if EnableHealPotion = 1
if diffhits > HealPotHPdiff and not cooldown "Healing Potion"
if findtype "Yellow Potion" self as healpot
dclick healpot
wait 250
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
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 250
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 and not cooldown "Inventory Timer"
if EnableOverheadMessages = 1
overhead "[ BANDAGES LOW! ]" 339
endif
cooldown "Inventory Timer" 6000
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 250
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 250
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 250
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 250
endif
endif
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 250
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 250
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 not find ClosestTarget ground -1 -1 6
break
endif
###############################
#### BARDING SKILLS: ####
###############################
clearsysmsg
if not cooldown "Provo Check" and EnableProvocation = 1
if find ClosestTarget gound -1 -1 6 and find NextClosestTarget ground -1 -1 6 and ClosestTarget != NextClosestTarget
getlabel ClosestTarget descTarget
if "provoked" in descTarget
if not cooldown "Provoked"
cooldown "Provoked" 30000
endif
@setvar! NeedtoProvoke 0
cooldown "Provo Check" 1000
else
cooldown "Provoked" 0
@setvar! NeedtoProvoke 1
@setvar! NeedtoPacify 0
wait 750
cooldown "Provo Check" 1000
cooldown "Peace Check" 1000
cooldown "Peacemaking" 5000
endif
endif
endif
if not cooldown "Peace Check" and EnablePeacemaking = 1
getlabel ClosestTarget descTarget
if "pacified" in descTarget
if not cooldown "Pacified"
cooldown "Pacified" 30000
endif
@setvar! NeedtoPacify 0
cooldown "Peace Check" 1000
else
cooldown "Pacified" 0
@setvar! NeedtoPacify 1
wait 500
cooldown "Peace Check" 1000
endif
endif
if not cooldown "Disco Check" and EnableDiscordance = 1
getlabel ClosestTarget descTarget
if "discord" in descTarget
if not cooldown "Discorded"
cooldown "Discorded" 30000
endif
@setvar! NeedtoDiscord 0
cooldown "Disco Check" 1000
else
cooldown "Discorded" 0
@setvar! NeedtoDiscord 1
wait 500
cooldown "Disco Check" 1000
endif
endif
if NeedtoProvoke = 1
if ClosestTarget != NextClosestTarget and NextClosestTarget != 0 and not cooldown "Provoked" and not cooldown "Provocation" and not cooldown "Musicianship" and EnableProvocation = 1
skill "Provocation"
wft 1000
target NextClosestTarget
wft 1000
if insysmsg 'Target cannot be seen'
if EnableOverheadMessages = 1
overhead "[ TARGET CANNOT BE SEEN... ]" 339 NextClosestTarget
endif
cooldown "Provocation" 10000
elseif insysmsg "You must wait"
if EnableOverheadMessages = 1
overhead "[ WAITING... ]" 2117
endif
cooldown "Peacemaking" 5000
cooldown "Discordance" 5000
wait 250
clearsysmsg
elseif insysmsg 'That is too far away.'
if EnableOverheadMessages = 1
overhead '[ TOO FAR AWAY! ]' 339 NextClosestTarget
endif
cooldown "Provocation" 5000
else
if EnableOverheadMessages = 1
overhead "[ PROVOKING... ]" 2117
endif
target ClosestTarget
wait 500
endif
if insysmsg 'You play successfully, provoking'
if EnableOverheadMessages = 1
overhead '[ PROVOKED! ]' 2117 ClosestTarget
overhead '[ PROVOKED! ]' 2117 NextClosestTarget
else
overhead '▼' 2117 ClosestTarget
overhead '▼' 2117 NextClosestTarget
endif
sysmsg "You play successfully, provoking {{descTarget}} and {{descNextTarget}}!" 2117
cooldown "Musicianship" 5500
cooldown "Provocation" 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 500
endif
endif
elseif insysmsg 'You fail to incite'
if EnableOverheadMessages = 1
overhead '[ PROVO FAIL! ]' 153
endif
sysmsg "You fail to provoke {{descTarget}} and {{descNextTarget}}!" 339
cooldown "Provocation" 5500
wait 250
elseif insysmsg 'Target cannot be seen'
if EnableOverheadMessages = 1
overhead "[ TARGET CANNOT BE SEEN... ]" 337
endif
cooldown "Provocation" 5000
elseif insysmsg 'That is too far away.'
if EnableOverheadMessages = 1
overhead '[ TOO FAR AWAY! ]' 43 ClosestTarget
endif
cooldown "Provocation" 5000
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
cooldown "Provocation" 5000
elseif insysmsg 'tell someone to attack themselves!'
if EnableOverheadMessages = 1
overhead '[ SELF TARGETING FAIL... ]' 337
endif
else
if targetexists
hotkey 'CancelCurrentTarget'
endif
wft 250
endif
@setvar! NeedtoProvoke 0
endif
endif
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
wft 1000
else
if EnableOverheadMessages = 1
overhead "[ NO INSTRUMENT! ]" 337
endif
endif
endif
if not insysmsg "This is not a musical instrument"
target ClosestTarget
wait 500
endif
if insysmsg "Target cannot be seen"
if EnableOverheadMessages = 1
overhead "[ TARGET 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
endif
cooldown "Pacified" PeacemakingReapply
cooldown "Musicianship" 5500
cooldown "Peacemaking" 11000
if EnableOverheadMessages = 1
wait 500
overhead "[ PACIFIED! ]" 84 ClosestTarget
else
overhead '▼' 84 ClosestTarget
endif
sysmsg "You play successfully, 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
endif
elseif insysmsg "you fail to pacify your opponent"
if EnableOverheadMessages = 1
overhead "[ PACIFY FAIL! ]" 153
endif
sysmsg "You fail to pacify your target!" 337
cooldown "Peacemaking" 5500
wait 250
else
if targetexists
hotkey 'CancelCurrentTarget'
endif
if not find ClosestTarget ground -1 -1 6
break
endif
endif
endif
endif
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 500
if insysmsg "Target cannot be seen."
if EnableOverheadMessages = 1
overhead "[ TARGET CANNOT BE SEEN... ]" 337
endif
replay
elseif insysmsg "You must wait"
if EnableOverheadMessages = 1
overhead "[ WAITING... ]" 69
endif
cooldown "Peacemaking" 5000
cooldown "Provocation" 5000
wait 250
elseif insysmsg "You play successfully, disrupting your opponent"
if EnableOverheadMessages = 1
overhead "[ DISCORDING... ]" 69
wait 500
endif
cooldown "Discorded" DiscordanceReapply
cooldown "Musicianship" 5500
cooldown "Discordance" 11000
if EnableOverheadMessages = 1
overhead "[ DISCORDED! ]" 69 ClosestTarget
else
overhead '▼' 69 ClosestTarget
endif
sysmsg "You play successfully, disrupting your target!" 69
elseif insysmsg "fail to discord"
cooldown "Discordance" 5500
if EnableOverheadMessages = 1
overhead "[ DISCORD FAIL! ]" 153
endif
sysmsg "You fail to discord your target!" 337
wait 250
else
if targetexists
hotkey 'CancelCurrentTarget'
endif
if not find ClosestTarget ground -1 -1 6
break
endif
endif
else
if targetexists
hotkey 'CancelCurrentTarget'
endif
if not find ClosestTarget ground -1 -1 6
break
endif
endif
endif
endif
if targetexists
hotkey 'CancelCurrentTarget'
endif
if not find ClosestTarget ground -1 -1 6
break
endif
#################################
#### BUFFS & ABILITIES: ####
#################################
if EnableDivineFury = 1
if not cooldown "Divine Fury" and not cooldown "Chivalry" and not cooldown "Prevented" and diffhits < HolyLightHPdiff
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 250
endif
endif
if EnableEnemyOfOne = 1
if not cooldown "Enemy Of One" and not cooldown "Chivalry" and not cooldown "Prevented" and diffhits < HolyLightHPdiff
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 250
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 < HolyLightHPdiff
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 250
endif
endif
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
endif
endif
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"
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
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"
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
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"
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
endif
if not find ClosestTarget ground -1 -1 6
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 Warning"
overhead "[ WEIGHT WARNING... ]" 77
cooldown "Weight Warning" 6000
elseif diffweight < YellowWarningDiffWeight and diffweight > RedWeightLimitDiffWeight and not cooldown "Weight Warning"
overhead "[ WEIGHT WARNING! ]" 153
cooldown "Weight Warning" 6000
elseif diffweight < RedWeightLimitDiffWeight and not cooldown "Weight Warning"
overhead "-[ WEIGHT LIMIT REACHED!! ]-" 37
cooldown "Weight Warning" 6000
sysmsg "Time to head home and unload our loot!" 0
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
endif
endif
if findtype 'Elven SpellBlade' backpack and EnableAutoCarving = 1
if findtype "corpse" ground -1 -1 2 as body
dclicktype "Elven Spellblade"
wft 1000
if EnableOverheadMessages = 1
overhead "[ SKINNING... ]" 338
endif
target 'self'
wait 500
@ignore body
endif
else
if not cooldown "Inventory Timer"
if EnableOverheadMessages = 1
overhead "[ NO SKINNING KNIFE! ]" 337
endif
cooldown "Inventory Timer" 6000
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
endif
hotkey "Grab Item"
wft 1000
target item
wait 250
if findtype "quiver" self as MyQuiver
menu MyQuiver 0
wait 500
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 not findtype 'long bow|bow|recurve bow|composite bow|stubnose crossbow|tower guard crossbow|balestra|heavy crossbow|crossbow' hand
if findtype 'long bow|bow|recurve bow|composite bow|stubnose crossbow|tower guard crossbow|balestra|heavy crossbow|crossbow' backpack as weapon
for 5
getlabel weapon WeaponLabel
wait 250
if "unidentified" in WeaponLabel
@ignore weapon
if findtype 'long bow|bow|recurve bow|composite bow|stubnose crossbow|tower guard crossbow|balestra|heavy crossbow|crossbow' backpack as weapon
getlabel weapon WeaponLabel
endif
else
break
endif
endfor
dclick weapon
wait 250
endif
endif
if EnableShield = 1
if not findtype 'metal shield|Chaos shield|heater shield|bone shield|bronze shield|buckler|kite shield|Order shield|wooden shield|parrying gauche' lefthand
if findtype 'metal shield|Chaos shield|heater shield|bone shield|bronze shield|buckler|kite shield|Order shield|wooden shield|parrying gauche' backpack as shield
getlabel shield ShieldLabel
for 5
wait 250
if "unidentified" in ShieldLabel
@ignore shield
if findtype 'metal shield|Chaos shield|heater shield' backpack as shield
getlabel shield ShieldLabel
endif
endif
endfor
dclick shield
wait 250
endif
endif
endif
if not find ClosestTarget ground -1 -1 6
break
endif
if targetexists
hotkey 'CancelCurrentTarget'
endif
endwhile
endif
#################################
#### AFTER KILL: ####
#################################
if targetexists
hotkey 'Cancel Current Target'
endif
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
wait 1000
cooldown "Cleanup" 3500
cooldown "Satchel Timer" 5000
if findtype 'Elven SpellBlade' backpack and EnableAutoCarving = 1
if findtype "corpse" ground -1 -1 2 as mykill
wait 500
if EnableOverheadMessages = 1
overhead "[ SKINNING... ]" 338
endif
dclicktype "Elven Spellblade"
wft 1000
target 'self'
wait 500
@ignore mykill
endif
else
if not cooldown "Inventory Timer"
if EnableOverheadMessages = 1
overhead "[ NO SKINNING KNIFE! ]" 337
endif
cooldown "Inventory Timer" 4000
endif
endif
replay
endwhile
wait 1000
if dead
if EnableOverheadMessages = 1
wait 2500
overhead "Well... shit..." 6
wait 2000
overhead '[ STOPPING SCRIPT... ]' 37
endif
sysmsg "Stopping Ultimate Bard Auto Pilot script..." 0
stop
else
replay
endif
//////////////
// THE END! //
//////////////