Auto Bard Provo Dexxer Bot (NEW 7/5/2023) by Jaseowns
Description from the author:
# Automatic Bard Provo Dexxer Bot by Jaseowns
# NEW TARGET SYSTEM
# UO Outlands
#######
# Working on this during the live streams: Monday / Wednesday / Friday
# https://youtube.com/jaseowns/live
#######
#####
## Verison 1.0.0
## Last Edit: 7/5/2023
## - took exisitng dexxer bot and made new target system
## - Disclaimer: we only played an archer with provo and discord
###
# Basic Heal and Chivalry abilties to heal by Jaseowns
# UO Outlands
@setvar! showTargetOverheadMessages 1
@setvar! cdPreventOverheadSpam 2000
################################
###### Random abilities
################
@setvar! automaticallySkinCorpses 1
@setvar! automaticallyPoisonWeaponThatIsEquipped 1
################################
###### Bard abilities
################
@setvar! useAutomaticProvoke 1
################################
###### Potion Controllers
################
@setvar! automaticallyDrinkStrPot 1
@setvar! automaticallyDrinkAgiPot 1
@setvar! automaticallyDrinkMagicPot 1
@setvar! automaticallyDrinkHealPot 1
@setvar! automaticallyDrinkCurePot 1
@setvar! automaticallyDrinkRefreshPot 1
@setvar! hpCheckToTriggerHealPotion 45
@setvar! hpCheckToTriggerCurePotion 45
@setvar! stamDiffCheckToTriggerRedPotion 10
@setvar! drinkPotionsEvenIfInWarModeAndYouLoseHealth 1
################################
###### Chiv abilities
################
@setvar! useCleanseByFireAutomatically 1
@setvar! useCloseWoundsAutomatically 1
@setvar! useHolyLightAutomatically 1
@setvar! useDivineFuryAutomatically 1
@setvar! hpTriggerForHolyLight 35
@setvar! lowHealthTriggerForNobleSacrifice 40
@setvar! myRangeCheckForTarget 1
if skill "Archery" > 50
@setvar! myRangeCheckForTarget 8
endif
@setvar! cdCleanseByFire 31000
@setvar! cdCloseWounds 31000
@setvar! cdHolyLight 31000
@setvar! cdDivineFury 31000
@setvar! cdNobleSacrifice 31000
################################
###### Chiv abilities overheads
################
@setvar! showChivUsageAsOverhead 1
@setvar! showChivUsageAsSystemMessage 1
@setvar! showChivUsageAsOverheadColor 88
@setvar! showChivUsageAsSystemMessageColor 88
################################
###### Bard abilities overheads
################
@setvar! showDiscordDebuffAsOverhead 1
@setvar! showDiscordDebuffAsOverheadColor 55
@setvar! showPeaceDebuffAsOverhead 1
@setvar! showPeaceDebuffAsOverheadColor 77
################################
###### Codex Stance Switch
################
@setvar! switchShieldCodexAutomatically 1
@setvar! switchToWardingStanceDuringBleed 1
@setvar! switchToWardingStanceDuringDisease 1
@setvar! switchToWardingStanceDuringPoison 1
@setvar! switchToShieldBash 0
@setvar! switchToBulwark 1
@setvar! cdSwitchStance 10000
###########
# If shit is not working right, adjust this number to ping
#####
@setvar! minimumWaitForPing 200
@setvar! minimumWaitForPingUnequipping 650
@setvar! cdPreventChivAbilitySpam 750
@setvar! cdSkinningCheck 3000
###########
# Taming Stuff
#####
if skill "Animal Taming" > 50
@setvar! hpTriggerForHolyLight 80
if not varexist myJaseHelperText
overhead "Make sure to set totalPets to your pet count: default is 2" 88
@setvar! myJaseHelperText 1
endif
@setvar! totalPets 2
# Pets
if not varexist myDexxerTankPet
@setvar! myDexxerTankPet 0
endif
if not find myDexxerTankPet ground -1 -1 20
overhead "Select your main tank" 88
@setvar! myDexxerTankPet
wait 200
endif
if totalPets = 2 or totalPets = 3 or totalPets = 4 or totalPets = 5
if not varexist myOtherPet1
@setvar! myOtherPet1 0
endif
if not find myOtherPet1 ground -1 -1 20
overhead "Select your non tank pet 1" 88
@setvar! myOtherPet1
wait 200
endif
else
@setvar! myOtherPet1 0
endif
if totalPets = 3 or totalPets = 4 or totalPets = 5
if not varexist myOtherPet2
@setvar! myOtherPet2 0
endif
if not find myOtherPet2 ground -1 -1 20
overhead "Select your non tank pet 2" 88
@setvar! myOtherPet2
wait 200
endif
else
@setvar! myOtherPet2 0
endif
if totalPets = 4 or totalPets = 5
if not varexist myOtherPet3
@setvar! myOtherPet3 0
endif
if not find myOtherPet3 ground -1 -1 20
overhead "Select your non tank pet 3" 88
@setvar! myOtherPet3
wait 200
endif
else
@setvar! myOtherPet3 0
endif
if totalPets = 5
if not varexist myOtherPet4
@setvar! myOtherPet4 0
endif
if not find myOtherPet4 ground -1 -1 20
overhead "Select your non tank pet 4" 88
@setvar! myOtherPet4
wait 200
endif
else
@setvar! myOtherPet4 0
endif
endif
##############################################
########### DO NOT EDIT BELOW THIS
#######
@setvar! cdWorldSaveOver 15000
# function
// do find type
@setvar! JASE_ClosestGreyMob 0
@setvar! JASE_NextGreyMob 0
################
### Targetting
####
while not dead
// automatically find a target?
if warmode
// do nothing
else
hotkey "Target Closest Grey Monster"
wait 200
if insysmsg "No one matching"
overhead "No one there bro" 88
else
@setvar! JASE_ClosestGreyMob lasttarget
hotkey "Next Grey Monster Target"
wait 200
@setvar! JASE_NextGreyMob lasttarget
endif
@setvar! JASE_TargetRangeCheck 12
@setvar! JASE_NextTargetInRange 0
if JASE_ClosestGreyMob != 0
if find JASE_ClosestGreyMob ground -1 -1 JASE_TargetRangeCheck
overhead "Closest Target in Range" 88 JASE_ClosestGreyMob
else
overhead "Out of range" 88 JASE_ClosestGreyMob
endif
if JASE_ClosestGreyMob != JASE_NextGreyMob
for 5
if find JASE_NextGreyMob ground -1 -1 JASE_TargetRangeCheck
@setvar! JASE_NextTargetInRange 1
break
else
hotkey "Next Grey Monster Target"
wait 200
@setvar! JASE_NextGreyMob lasttarget
endif
endfor
if JASE_NextTargetInRange = 1
overhead "Next Closest Target in Range" 77 JASE_NextGreyMob
else
overhead "No next target in range" 34
endif
else
overhead "No next target in range" 34
endif
endif
// find a target
# target closest
# next target
# findtype
// is it nearby and can we fight it
# range check of the target
// if no target
// do we loop again or do some other logic
// if we are fighting it
# is it in range and combating? (attack command)
// check other mobs nearby
# target closest
# next target
# findtype
// if we have another mob.. do we provoke?
// discord, peace, etc
endif
if skill "Animal Taming" > 50
while dead myDexxerTankPet
if not bandaging and findtype "clean bandage%s%" backpack as item
dclick item
wft 500
target myDexxerTankPet
endif
if hp <= hpCheckToTriggerHealPotion or hp <= hpTriggerForHolyLight
break
endif
wait 100
endwhile
# want a timer to start healing pets
# if the timer passes certain time
# trigger a heal bandage
# we want to check system message to see
# if its working
@setvar! cdPetHeal 8000
if not timerexists petHealTimer
settimer petHealTimer cdPetHeal
endif
@setvar! cdPetGuard 8000
if not timerexists petGuardTimer
settimer petGuardTimer cdPetGuard
endif
if timer petGuardTimer >= cdPetGuard
menu myDexxerTankPet 3
if not dead myOtherPet1
wait 200
menu myOtherPet1 3
endif
settimer petGuardTimer 0
endif
if timer petHealTimer >= cdPetHeal
if findtype "veterinary supplies" backpack as item
if not bandaging
dclick item
wait 650
endif
else
if not bandaging and findtype "clean bandage%s%" backpack as item
dclick item
wft 500
target myDexxerTankPet
overhead "Heal Target" 77 myDexxerTankPet
wait 650
endif
if myOtherPet1 != 0 and not bandaging and findtype "clean bandage%s%" backpack as item
dclick item
wft 500
target myOtherPet1
overhead "Heal Target" 66 myOtherPet1
wait 650
endif
if myOtherPet2 != 0 and not bandaging and findtype "clean bandage%s%" backpack as item
dclick item
wft 500
target myOtherPet2
overhead "Heal Target" 55 myOtherPet2
wait 650
endif
if myOtherPet3 != 0 and not bandaging and findtype "clean bandage%s%" backpack as item
dclick item
wft 500
target myOtherPet3
overhead "Heal Target" 44 myOtherPet3
wait 650
endif
if myOtherPet4 != 0 and not bandaging and findtype "clean bandage%s%" backpack as item
dclick item
wft 500
target myOtherPet4
overhead "Heal Target" 33 myOtherPet4
wait 650
endif
endif
if not bandaging
settimer petHealTimer 0
endif
endif
endif
if not timerexists skinningCheckTimer
settimer skinningCheckTimer cdSkinningCheck
endif
if automaticallySkinCorpses = 1 and findtype "corpse" ground -1 -1 2 as jorpse
if findtype "Elven Spellblade" backpack and timer skinningCheckTimer >= cdSkinningCheck
while not targetexists
useskill 'forensicevaluation'
endwhile
if targetexists
hotkey "Target Self"
wait minimumWaitForPing
settimer skinningCheckTimer 0
@ignore jorpse
endif
endif
endif
// Trapped
if paralyzed
if findtype "pouch" backpack 38
yell "[pouch"
wait minimumWaitForPing
else
overhead "Out of Pouches!" 34
endif
endif
if findbuff "weaken" and weight > maxweight
if findtype "gold coin" backpack as item
lift item 2000
droprelloc 0 0
wait minimumWaitForPing
if insysmsg "cannot drop anything"
drop backpack -1 -1 -1
endif
wait minimumWaitForPingUnequipping
else
overhead "We are overweight and cannot drop anything" 34
endif
endif
if not varexist jaseCrimHealCheck
gumpclose 3587807212
while not gumpexists 3587807212
say '[commands'
wait 200
endwhile
gumpresponse 11 3587807212
waitforgump 3587807212 5000
gumpresponse 3 3587807212
waitforgump 3587807212 5000
if ingump "[PreventCriminalHealing" 3587807212
if ingump "Prevented"
gumpclose 3587807212
else
gumpresponse 29 3587807212
waitforgump 3587807212 5000
gumpclose 3587807212
endif
endif
@setvar! jaseCrimHealCheck 1
endif
if not timerexists worldSaveTimer
settimer worldSaveTimer cdWorldSaveOver
endif
if insysmsg 'world will save'
overhead "World save coming soon.."
settimer worldSaveTimer 0
elseif insysmsg 'world is saving'
for 100
overhead 'Waiting for world save...'
wait 100
if insysmsg 'save complete'
settimer worldSaveTimer cdWorldSaveOver
overhead 'Save complete - continue on!' 88
break
endif
endfor
endif
if timer worldSaveTimer >= cdWorldSaveOver
if automaticallyPoisonWeaponThatIsEquipped = 1 and skill "Poisoning" > 0
if findlayer self righthand as found
@setvar! weapon_equipped found
elseif findlayer self lefthand as found
@setvar! weapon_equipped found
else
overhead "Unknown or no weapon equipped" 34
stop
endif
getlabel weapon_equipped desc
if "poison charges" in desc
// do nothing
else
if findtype "Green Potion" backpack
menu weapon_equipped 0
else
overhead "No poison pots" 34
endif
endif
endif
endif
if not findtype "White Potion" backpack
@setvar! automaticallyDrinkStrPot 0
endif
if not findtype "Blue Potion" backpack
@setvar! automaticallyDrinkAgiPot 0
endif
if not findtype "Black Potion" backpack
@setvar! automaticallyDrinkMagicPot 0
endif
@setvar! cdAids 15000
if dex >= 100
@setvar! cdAids 10000
endif
if not timerexists preventOverheadSpamTimer
createtimer preventOverheadSpamTimer
settimer preventOverheadSpamTimer cdPreventOverheadSpam
endif
if not timerexists preventChivAbilitySpamTimer
createtimer preventChivAbilitySpamTimer
settimer preventChivAbilitySpamTimer cdPreventChivAbilitySpam
endif
if not timerexists aidsTimer
createtimer aidsTimer
settimer aidsTimer cdAids
endif
// JASE_ClosestGreyMob
// JASE_NextGreyMob
@setvar! myKillTarget JASE_ClosestGreyMob
@setvar! targetInRange 0
if not varexist myPreviousKillTarget
@setvar myPreviousKillTarget 0
endif
if warmode
// do nothing
else
if not varexist autoAttack
@setvar! autoAttack 1
endif
if myKillTarget != 0 and myPreviousKillTarget != myKillTarget
getlabel myKillTarget mobDesc
@setvar! myPreviousKillTarget myKillTarget
if "(summoned" in mobDesc or "(bonded" in mobDesc or "(tame" in mobDesc
overhead "▼ Player pet - IGNORE ▼" 77 lasttarget
@setvar! autoAttack 0
else
@setvar! autoAttack 1
endif
endif
if myKillTarget = 0
// do nothing
elseif not find lasttarget ground -1 -1 myRangeCheckForTarget
if showTargetOverheadMessages = 1 and timer preventOverheadSpamTimer >= cdPreventOverheadSpam
overhead "● ▼ OUT OF RANGE ▼ ●" 88 lasttarget
settimer preventOverheadSpamTimer 0
endif
if find lasttarget ground -1 -1 8 and autoAttack = 1
attack lasttarget
endif
elseif autoAttack = 1
@setvar! targetInRange 1
if showTargetOverheadMessages = 1 and timer preventOverheadSpamTimer >= cdPreventOverheadSpam
overhead "● ▼▼ HERE ▼▼ ●" 88 lasttarget
settimer preventOverheadSpamTimer 0
endif
attack lasttarget
endif
endif
# Eat food if we got it
if not findbuff "food" and findtype "tray" backpack as jood
dclick jood
wait minimumWaitForPing
endif
@setvar! needStrBuff 0
@setvar! needDexBuff 0
@setvar! needMagicBuff 0
@setvar! needHealPot 0
@setvar! needCurePot 0
@setvar! needRefreshPot 0
@setvar! drinkThosePots 0
if targetInRange = 1
@setvar! drinkThosePots 1
elseif warmode and drinkPotionsEvenIfInWarModeAndYouLoseHealth = 1 and hp < maxhp
@setvar! drinkThosePots 1
endif
if automaticallyDrinkStrPot = 1 and drinkThosePots = 1 and not findbuff "Strength"
@setvar! needStrBuff 1
endif
if automaticallyDrinkAgiPot = 1 and drinkThosePots = 1 and not findbuff "Agility"
@setvar! needDexBuff 1
endif
if automaticallyDrinkMagicPot = 1 and drinkThosePots = 1 and not findbuff "Magic Resist Potion"
@setvar! needMagicBuff 1
endif
if automaticallyDrinkHealPot = 1 and hp <= hpCheckToTriggerHealPotion
@setvar! needHealPot 1
endif
if automaticallyDrinkCurePot = 1 and poisoned and hp <= hpCheckToTriggerCurePotion
@setvar! needCurePot 1
endif
if automaticallyDrinkRefreshPot = 1 and diffstam >= stamDiffCheckToTriggerRedPotion
@setvar! needRefreshPot 1
endif
if needStrBuff = 1 and not findtype "White Potion" backpack
@setvar! needStrBuff 0
endif
if needDexBuff = 1 and not findtype "Blue Potion" backpack
@setvar! needDexBuff 0
endif
if needMagicBuff = 1 and not findtype "Black Potion" backpack
@setvar! needMagicBuff 0
endif
if needHealPot = 1 and not findtype "Yellow Potion" backpack
@setvar! needHealPot 0
elseif needHealPot = 1 and findtype "Yellow Potion" backpack as item
getlabel item healPotDesc
if "next usable" in healPotDesc
@setvar! needHealPot 0
else
@setvar! needHealPot 1
endif
endif
if needCurePot = 1 and not findtype "Orange Potion" backpack
@setvar! needCurePot 0
endif
if needRefreshPot = 1 and not findtype "Red Potion" backpack
@setvar! needRefreshPot 0
endif
@setvar! jaseCanDrinkPotion 0
if needStrBuff = 1 or needDexBuff = 1 or needMagicBuff = 1 or needHealPot = 1 or needCurePot = 1 or needRefreshPot = 1
@setvar! jaseRightHand 0
@setvar! jaseLeftHand 0
@setvar! needTwoHandSwap 0
@setvar! needShieldSwap 0
if skill "Alchemy" >= 80
@setvar! jaseCanDrinkPotion 1
else
if not findlayer self lefthand and not findlayer self righthand
@setvar! jaseCanDrinkPotion 1
else
if findlayer self lefthand as myLefthand
@setvar! jaseLeftHand myLefthand
endif
if findlayer self righthand as myRightHand
@setvar! jaseRightHand myRightHand
endif
if not lhandempty
if not rhandempty
@setvar! jaseCanDrinkPotion 0
else
// handle two handed weapons
getlabel jaseLeftHand desc
if skill "Swordsmanship" > 0
if "axe" in desc or "bardiche" in desc or "halberd" in desc
@setvar! jaseCanDrinkPotion 0
@setvar! needTwoHandSwap 1
else
@setvar! jaseCanDrinkPotion 1
endif
elseif skill "Mace Fighting" > 0
if "staff" in desc or "crook" in desc or "war hammer" in desc
@setvar! jaseCanDrinkPotion 0
@setvar! needTwoHandSwap 1
else
@setvar! jaseCanDrinkPotion 1
endif
elseif skill "Fencing" > 0
if "spear" in desc or "pitchfork" in desc
@setvar! jaseCanDrinkPotion 0
@setvar! needTwoHandSwap 1
else
@setvar! jaseCanDrinkPotion 1
endif
elseif skill "Archery" > 0
if "bow" in desc or "heavy crossbow" in desc
@setvar! jaseCanDrinkPotion 0
@setvar! needTwoHandSwap 1
else
@setvar! jaseCanDrinkPotion 1
endif
elseif skill "Wrestling" > 0
@setvar! jaseCanDrinkPotion 1
endif
endif
endif
if not rhandempty
if lhandempty
@setvar! jaseCanDrinkPotion 1
else
@setvar! needShieldSwap 1
endif
endif
endif
endif
if jaseCanDrinkPotion = 1
// do nothing
else
if needTwoHandSwap = 1
if skill "Swordsmanship" > 0 and findtype "cutlass|broadsword|scimitar|viking sword|longsword|katana" backpack as item
dclick item
wait minimumWaitForPing
elseif skill "Mace Fighting" > 0 and findtype "maul|war axe|war mace|mace|hammer pick|club" backpack as item
dclick item
wait minimumWaitForPing
elseif skill "Fencing" > 0 and findtype "kryss|war fork" backpack as item
dclick item
wait minimumWaitForPing
elseif skill "Archery" > 0 and findtype "crossbow" backpack as item
dclick item
wait minimumWaitForPing
else
hotkey 'Arm/Disarm Left Hand'
wait minimumWaitForPing
endif
@setvar! jaseCanDrinkPotion 1
elseif needShieldSwap = 1
overhead "we should be disarming left hand"
while not lhandempty
hotkey 'Arm/Disarm Left Hand'
wait minimumWaitForPingUnequipping
while queued
wait 100
endwhile
endwhile
setvar! jaseCanDrinkPotion 1
endif
endif
if jaseCanDrinkPotion = 1
if needHealPot = 1
if findtype "Yellow Potion" backpack as jotion
overhead "chug heal"
dclick jotion
wait minimumWaitForPing
cooldown "Yellow Potion" 10000
else
overhead "No Heal potion found!" 34
endif
endif
if needCurePot = 1
if findtype "Orange Potion" backpack as jotion
overhead "chug cure"
dclick jotion
wait minimumWaitForPing
else
overhead "No Cure potion found!" 34
endif
endif
if needDexBuff = 1
if findtype "Blue Potion" backpack as jotion
overhead "chug"
dclick jotion
wait minimumWaitForPing
else
overhead "No AGI potion found!" 34
endif
endif
if automaticallyDrinkRefreshPot = 1 and diffstam >= stamDiffCheckToTriggerRedPotion
@setvar! needRefreshPot 1
endif
if needRefreshPot = 1
if findtype "Red Potion" backpack as jotion
overhead "chug refresh"
dclick jotion
wait minimumWaitForPing
else
overhead "No Refresh potion found!" 34
endif
endif
if needStrBuff = 1
if findtype "White Potion" backpack as jotion
overhead "chug"
dclick jotion
wait minimumWaitForPing
else
overhead "No STR potion found!" 34
endif
endif
if needMagicBuff = 1
if findtype "Black Potion" backpack as jotion
overhead "chug"
dclick jotion
wait minimumWaitForPing
else
overhead "No MR potion found!" 34
endif
endif
if needTwoHandSwap = 1
dclick jaseLeftHand
wait minimumWaitForPing
elseif needShieldSwap = 1
hotkey 'Arm/Disarm Left Hand'
wait minimumWaitForPingUnequipping
endif
endif
endif
#############
### CODEX
#############
if timer worldSaveTimer >= cdWorldSaveOver and skill "Parrying" >= 80 and findtype "shield codex" backpack as item
if not timerexists jaseSwitchStanceTimer
settimer jaseSwitchStanceTimer cdSwitchStance
endif
if not varexist canUseShieldFinisher
@setvar! canUseShieldFinisher 1
endif
while not gumpexists 1066647553
overhead "Loading hotbar"
yell "[CodexHotBar"
wait minimumWaitForPing
endwhile
if switchShieldCodexAutomatically = 1 and timer jaseSwitchStanceTimer >= cdSwitchStance
getlabel item codexDesc
// make sure we are in warding stance
@setvar! switchToWarding 0
if switchToWardingStanceDuringBleed = 1 and findbuff "bleed"
@setvar! switchToWarding 1
elseif switchToWardingStanceDuringDisease = 1 and findbuff "disease"
@setvar! switchToWarding 1
elseif switchToWardingStanceDuringPoison = 1 and poisoned
@setvar! switchToWarding 1
endif
if switchToWarding = 1
if "Warding" in codexDesc
// we good
else
yell [ShieldsStance2
settimer jaseSwitchStanceTimer 0
wait 200
endif
if "Barrier" in codexDesc
// we good
elseif canUseShieldFinisher = 1
yell [ShieldsFinisher2
wait 200
if insysmsg "You must first reach rank 5"
@setvar! canUseShieldFinisher 0
endif
endif
elseif switchToBulwark = 1
if "Bulwark" in codexDesc
// we good
else
yell [ShieldsStance5
settimer jaseSwitchStanceTimer 0
wait 200
endif
if "Last Stand" in codexDesc
// we good
elseif canUseShieldFinisher = 1
yell [ShieldsFinisher1
wait 200
if insysmsg "You must first reach rank 5"
@setvar! canUseShieldFinisher 0
endif
endif
elseif switchToShieldBash = 1
if "Shield Bash" in codexDesc
// we good
else
yell [ShieldsStance1
settimer jaseSwitchStanceTimer 0
wait 200
endif
if "Last Stand" in codexDesc
// we good
elseif canUseShieldFinisher = 1
yell [ShieldsFinisher1
wait 200
if insysmsg "You must first reach rank 5"
@setvar! canUseShieldFinisher 0
endif
endif
endif
endif
endif
if skill "Tracking" > 0
if not findbuff "tracking"
clearsysmsg
while not gumpexists 4267467659
useskill 'tracking'
wait minimumWaitForPing
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 minimumWaitForPing
endif
gumpclose 4267467659
endif
endif
if skill "Chivalry" >= 50
@setvar! chivSymbols 0
@setvar! cdCleanseByFire 31000
@setvar! cdCloseWounds 31000
@setvar! cdHolyLight 31000
@setvar! cdDivineFury 31000
@setvar! cdNobleSacrifice 31000
if not timerexists nobleSacrificeTimer
createtimer nobleSacrificeTimer
settimer nobleSacrificeTimer cdCleanseByFire
endif
if not timerexists cleanseByFireTimer
createtimer cleanseByFireTimer
settimer cleanseByFireTimer cdCleanseByFire
endif
if not timerexists closeWoundsTimer
createtimer closeWoundsTimer
settimer closeWoundsTimer cdCloseWounds
endif
if not timerexists holyLightTimer
createtimer holyLightTimer
settimer holyLightTimer cdHolyLight
endif
if not timerexists divineFuryTimer
createtimer divineFuryTimer
settimer divineFuryTimer cdDivineFury
endif
while not gumpexists 1387930325
say "[ChivalryHotbar"
wait 200
endwhile
if gumpexists 1387930325
if ingump "12/" 1387930325
@setvar! chivSymbols 12
elseif ingump "13/" 1387930325
@setvar! chivSymbols 13
elseif ingump "14/" 1387930325
@setvar! chivSymbols 14
elseif ingump "15/" 1387930325
@setvar! chivSymbols 15
elseif ingump "16/" 1387930325
@setvar! chivSymbols 16
elseif ingump "17/" 1387930325
@setvar! chivSymbols 17
elseif ingump "18/" 1387930325
@setvar! chivSymbols 18
elseif ingump "19/" 1387930325
@setvar! chivSymbols 19
elseif ingump "20/" 1387930325
@setvar! chivSymbols 20
elseif ingump "21/" 1387930325
@setvar! chivSymbols 21
elseif ingump "11/" 1387930325
@setvar! chivSymbols 11
elseif ingump "10/" 1387930325
@setvar! chivSymbols 10
elseif ingump "9/" 1387930325
@setvar! chivSymbols 9
elseif ingump "8/" 1387930325
@setvar! chivSymbols 8
elseif ingump "7/" 1387930325
@setvar! chivSymbols 7
elseif ingump "6/" 1387930325
@setvar! chivSymbols 6
elseif ingump "5/" 1387930325
@setvar! chivSymbols 5
elseif ingump "4/" 1387930325
@setvar! chivSymbols 4
elseif ingump "3/" 1387930325
@setvar! chivSymbols 3
elseif ingump "2/" 1387930325
@setvar! chivSymbols 2
elseif ingump "1/" 1387930325
@setvar! chivSymbols 1
elseif ingump "0/" 1387930325
@setvar! chivSymbols 0
endif
endif
if hp <= lowHealthTriggerForNobleSacrifice and skill "Chivalry" >= 80
if timer preventChivAbilitySpamTimer >= cdPreventChivAbilitySpam and timer nobleSacrificeTimer >= cdNobleSacrifice and 4 < chivSymbols
if skill "Healing" > 0
hotkey 'Bandage Self'
settimer aidsTimer 0
wait minimumWaitForPing
endif
if showChivUsageAsOverhead = 1
overhead "Noble Sacrifice" showChivUsageAsOverheadColor
endif
if showChivUsageAsSystemMessage = 1
sysmsg "Noble Sacrifice" showChivUsageAsSystemMessageColor
endif
yell "[NobleSacrifice"
wft 500
hotkey "Target Self"
wait 200
if insysmsg "Holy symbols remaining:"
settimer nobleSacrificeTimer 0
settimer preventChivAbilitySpamTimer 0
cooldown NobleSacrifice cdNobleSacrifice
endif
if gumpexists 1387930325
if ingump "12/" 1387930325
@setvar! chivSymbols 12
elseif ingump "13/" 1387930325
@setvar! chivSymbols 13
elseif ingump "14/" 1387930325
@setvar! chivSymbols 14
elseif ingump "15/" 1387930325
@setvar! chivSymbols 15
elseif ingump "16/" 1387930325
@setvar! chivSymbols 16
elseif ingump "17/" 1387930325
@setvar! chivSymbols 17
elseif ingump "18/" 1387930325
@setvar! chivSymbols 18
elseif ingump "19/" 1387930325
@setvar! chivSymbols 19
elseif ingump "20/" 1387930325
@setvar! chivSymbols 20
elseif ingump "21/" 1387930325
@setvar! chivSymbols 21
elseif ingump "11/" 1387930325
@setvar! chivSymbols 11
elseif ingump "10/" 1387930325
@setvar! chivSymbols 10
elseif ingump "9/" 1387930325
@setvar! chivSymbols 9
elseif ingump "8/" 1387930325
@setvar! chivSymbols 8
elseif ingump "7/" 1387930325
@setvar! chivSymbols 7
elseif ingump "6/" 1387930325
@setvar! chivSymbols 6
elseif ingump "5/" 1387930325
@setvar! chivSymbols 5
elseif ingump "4/" 1387930325
@setvar! chivSymbols 4
elseif ingump "3/" 1387930325
@setvar! chivSymbols 3
elseif ingump "2/" 1387930325
@setvar! chivSymbols 2
elseif ingump "1/" 1387930325
@setvar! chivSymbols 1
elseif ingump "0/" 1387930325
@setvar! chivSymbols 0
endif
endif
endif
endif
if poisoned and skill "Chivalry" >= 60
if timer preventChivAbilitySpamTimer >= cdPreventChivAbilitySpam and useCleanseByFireAutomatically = 1 and timer cleanseByFireTimer >= cdCleanseByFire and 2 < chivSymbols
if showChivUsageAsOverhead = 1
overhead "Cleanse by fire" showChivUsageAsOverheadColor
endif
if showChivUsageAsSystemMessage = 1
sysmsg "Cleanse by fire" showChivUsageAsSystemMessageColor
endif
yell "[CleanseByFire"
wait 200
if insysmsg "Holy symbols remaining:"
settimer cleanseByFireTimer 0
settimer preventChivAbilitySpamTimer 0
cooldown CleanseByFire cdCleanseByFire
endif
endif
elseif findbuff "bleed" or findbuff "disease" and skill "Chivalry" >= 70
if timer preventChivAbilitySpamTimer >= cdPreventChivAbilitySpam and useCloseWoundsAutomatically = 1 and timer closeWoundsTimer >= cdCleanseByFire and 3 < chivSymbols
if showChivUsageAsOverhead = 1
overhead "Close Wounds" showChivUsageAsOverheadColor
endif
if showChivUsageAsSystemMessage = 1
sysmsg "Close Wounds" showChivUsageAsSystemMessageColor
endif
yell "[CloseWounds"
wait 200
if insysmsg "Holy symbols remaining:"
settimer closeWoundsTimer 0
settimer preventChivAbilitySpamTimer 0
cooldown CloseWounds cdCloseWounds
endif
endif
endif
if gumpexists 1387930325
if ingump "12/" 1387930325
@setvar! chivSymbols 12
elseif ingump "13/" 1387930325
@setvar! chivSymbols 13
elseif ingump "14/" 1387930325
@setvar! chivSymbols 14
elseif ingump "15/" 1387930325
@setvar! chivSymbols 15
elseif ingump "16/" 1387930325
@setvar! chivSymbols 16
elseif ingump "17/" 1387930325
@setvar! chivSymbols 17
elseif ingump "18/" 1387930325
@setvar! chivSymbols 18
elseif ingump "19/" 1387930325
@setvar! chivSymbols 19
elseif ingump "20/" 1387930325
@setvar! chivSymbols 20
elseif ingump "21/" 1387930325
@setvar! chivSymbols 21
elseif ingump "11/" 1387930325
@setvar! chivSymbols 11
elseif ingump "10/" 1387930325
@setvar! chivSymbols 10
elseif ingump "9/" 1387930325
@setvar! chivSymbols 9
elseif ingump "8/" 1387930325
@setvar! chivSymbols 8
elseif ingump "7/" 1387930325
@setvar! chivSymbols 7
elseif ingump "6/" 1387930325
@setvar! chivSymbols 6
elseif ingump "5/" 1387930325
@setvar! chivSymbols 5
elseif ingump "4/" 1387930325
@setvar! chivSymbols 4
elseif ingump "3/" 1387930325
@setvar! chivSymbols 3
elseif ingump "2/" 1387930325
@setvar! chivSymbols 2
elseif ingump "1/" 1387930325
@setvar! chivSymbols 1
elseif ingump "0/" 1387930325
@setvar! chivSymbols 0
endif
endif
if timer preventChivAbilitySpamTimer >= cdPreventChivAbilitySpam and useHolyLightAutomatically = 1 and hp <= hpTriggerForHolyLight and skill "Chivalry" >= 95
@setvar! doubleCheckHolyLight 1
if skill "Healing" > 0 and cdAids = 10000 and timer aidsTimer >= 9000
// skip holy light
overhead "Skipping Holy Light" 34
@setvar! doubleCheckHolyLight 0
// unless we gonna die
if hp <= 20 or poisoned
overhead "Just kidding, do not wanna die" 34
@setvar! doubleCheckHolyLight 1
endif
endif
if doubleCheckHolyLight = 1
if timer holyLightTimer >= cdHolyLight and 5 < chivSymbols
if showChivUsageAsOverhead = 1
overhead "Holy Light" showChivUsageAsOverheadColor
endif
if showChivUsageAsSystemMessage = 1
sysmsg "Holy Light" showChivUsageAsSystemMessageColor
endif
yell "[HolyLight"
wait 200
if insysmsg "Holy symbols remaining:"
settimer holyLightTimer 0
settimer preventChivAbilitySpamTimer 0
cooldown HolyLight cdHolyLight
endif
endif
endif
endif
if timer preventChivAbilitySpamTimer >= cdPreventChivAbilitySpam and targetInRange = 1 and useDivineFuryAutomatically = 1 and skill "Chivalry" >= 85
if timer divineFuryTimer >= cdDivineFury and 4 < chivSymbols
if showChivUsageAsOverhead = 1
overhead "Divine Fury" showChivUsageAsOverheadColor
endif
if showChivUsageAsSystemMessage = 1
sysmsg "Divine Fury" showChivUsageAsSystemMessageColor
endif
yell "[DivineFury"
wait 200
if insysmsg "Holy symbols remaining:"
settimer divineFuryTimer 0
settimer preventChivAbilitySpamTimer 0
cooldown DivineFury cdDivineFury
endif
endif
endif
endif
if skill "Healing" > 0
@setvar! cdAids 15000
if dex >= 100
@setvar! cdAids 10000
endif
if not timerexists aidsTimer
createtimer aidsTimer
settimer aidsTimer cdAids
endif
if findtype "clean bandage%s%" backpack
if not bandaging and hp < maxhp
hotkey 'Bandage Self'
settimer aidsTimer 0
elseif not bandaging and poisoned
hotkey 'Bandage Self'
settimer aidsTimer 0
elseif not bandaging and findbuff "bleed"
hotkey 'Bandage Self'
settimer aidsTimer 0
elseif not bandaging and findbuff "disease"
hotkey 'Bandage Self'
settimer aidsTimer 0
endif
else
overhead "No bandages" 34
endif
endif
if not timerexists sCheck
createtimer sCheck
settimer sCheck 11000
endif
if find myKillTarget ground -1 -1 10 and skill "Discordance" > 0
getlabel myKillTarget descBard
if "discord" in descBard
if showDiscordDebuffAsOverhead = 1
overhead "Already discorded" showDiscordDebuffAsOverheadColor myKillTarget
endif
elseif timer sCheck >= 5000
useskill 'Discordance'
wft 500
if insysmsg "What instrument"
if findtype "bamboo flute" backpack as inny
target inny
elseif findtype "tambourine" backpack as inny
target inny
elseif findtype "drum" backpack as inny
target inny
elseif findtype "lute" backpack as inny
target inny
elseif findtype "lap harp" backpack as inny
target inny
else
overhead "I do not have an inny" 34
wait 2000
endif
wft 500
endif
if targetexists
target myKillTarget
wait 200
if insysmsg "you play success"
settimer sCheck 0
elseif insysmsg "t incite that!"
// bad target
elseif insysmsg "You fail to"
settimer sCheck 0
endif
endif
else
overhead "Waiting for skill cooldown..." 88
endif
endif
if find myKillTarget ground -1 -1 10 and skill "Peacemaking" > 0
getlabel myKillTarget descBard
if "pacified" in descBard
if showPeaceDebuffAsOverhead = 1
overhead "Already peaced" showPeaceDebuffAsOverheadColor myKillTarget
endif
elseif timer sCheck >= 5000
useskill 'Peacemaking'
wft 500
if insysmsg "What instrument"
if findtype "bamboo flute" backpack as inny
target inny
elseif findtype "tambourine" backpack as inny
target inny
elseif findtype "drum" backpack as inny
target inny
elseif findtype "lute" backpack as inny
target inny
elseif findtype "lap harp" backpack as inny
target inny
else
overhead "I do not have an inny" 34
wait 2000
endif
wft 500
endif
if targetexists
target myKillTarget
wait 200
if insysmsg "you play success"
settimer sCheck 0
elseif insysmsg "t incite that!"
// bad target
elseif insysmsg "You fail to"
settimer sCheck 0
endif
endif
else
overhead "Waiting for skill cooldown..." 88
endif
endif
if skill "Discordance" > 0
if not findbuff "song of discordance" and timer sCheck >= 11000
useskill 'Discordance'
wft 500
target backpack
settimer sCheck 0
endif
endif
if skill "Provocation" > 0
if JASE_NextGreyMob != 0
if timer sCheck >= 5000
useskill 'Provocation'
wft 500
if insysmsg "What instrument"
if findtype "bamboo flute" backpack as inny
target inny
elseif findtype "tambourine" backpack as inny
target inny
elseif findtype "drum" backpack as inny
target inny
elseif findtype "lute" backpack as inny
target inny
elseif findtype "lap harp" backpack as inny
target inny
else
overhead "I do not have an inny" 34
wait 2000
replay
endif
wft 500
endif
if targetexists
target JASE_ClosestGreyMob
wft 500
target JASE_NextGreyMob
wait 200
if insysmsg "you play success"
settimer sCheck 0
break
elseif insysmsg "t incite that!"
break
endif
endif
else
overhead "Waiting for skill cooldown..." 88
endif
endif
if not findbuff "song of provocation" and timer sCheck >= 11000
useskill 'Provocation'
wft 500
target backpack
settimer sCheck 0
endif
endif
if skill "Peacemaking" > 0
if not findbuff "song of peacemaking" and timer sCheck >= 11000
useskill 'Peacemaking'
wft 500
target backpack
settimer sCheck 0
endif
endif
wait 200
endwhile
while dead
overhead "Rip" 34
if gumpexists 2957810225
gumpresponse 1 2957810225
break
endif
wait 500
endwhile
replay
We took the Auto Dexxer and tried to improve the targeting for provocation. Use with caution - you may become rich.