Skip to content
Outlands Hub

Razor script

Auto Bard Provo Dexxer Bot (NEW 7/5/2023)

by Jaseowns · 1438 lines
Download

Compatibility unverified

This community Razor script has not been tested in game by the Hub. Read its setup and client requirements before use.

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…

CombatBardDiscordancePeacemakingProvocationTracking
Auto Bard Provo Dexxer Bot NEW 752023.razor
1# This is an automated backup - check out https://outlands.uorazorscripts.com/script/dcb820ca-4a02-4d93-9ebc-a2e5ffe0ac2d for latest2# Automation by Jaseowns3## Script: Auto Bard Provo Dexxer Bot (NEW 7/5/2023)4## Created by: Jaseowns#66945#############################################6 7# Automatic Bard Provo Dexxer Bot by Jaseowns8# NEW TARGET SYSTEM9# UO Outlands10#######11# Working on this during the live streams: Monday / Wednesday / Friday12# https://youtube.com/jaseowns/live13#######14#####15##  Verison 1.0.016##  Last Edit: 7/5/2023 17##    - took exisitng dexxer bot and made new target system18##    - Disclaimer: we only played an archer with provo and discord19###20    21# Basic Heal and Chivalry abilties to heal by Jaseowns22# UO Outlands23@setvar! showTargetOverheadMessages 124@setvar! cdPreventOverheadSpam 200025 26################################27###### Random abilities28################29@setvar! automaticallySkinCorpses 130@setvar! automaticallyPoisonWeaponThatIsEquipped 131 32################################33###### Bard abilities34################35@setvar! useAutomaticProvoke 136 37 38################################39###### Potion Controllers40################41@setvar! automaticallyDrinkStrPot 142@setvar! automaticallyDrinkAgiPot 143@setvar! automaticallyDrinkMagicPot 144@setvar! automaticallyDrinkHealPot 145@setvar! automaticallyDrinkCurePot 146@setvar! automaticallyDrinkRefreshPot 147 48@setvar! hpCheckToTriggerHealPotion 4549@setvar! hpCheckToTriggerCurePotion 4550@setvar! stamDiffCheckToTriggerRedPotion 1051 52@setvar! drinkPotionsEvenIfInWarModeAndYouLoseHealth 153 54################################55###### Chiv abilities56################57@setvar! useCleanseByFireAutomatically 158@setvar! useCloseWoundsAutomatically 159@setvar! useHolyLightAutomatically 160@setvar! useDivineFuryAutomatically 161@setvar! hpTriggerForHolyLight 3562@setvar! lowHealthTriggerForNobleSacrifice 4063 64@setvar! myRangeCheckForTarget 165 66if skill "Archery" > 5067    @setvar! myRangeCheckForTarget 8   68endif69 70@setvar! cdCleanseByFire 3100071@setvar! cdCloseWounds 3100072@setvar! cdHolyLight 3100073@setvar! cdDivineFury 3100074@setvar! cdNobleSacrifice 3100075 76################################77###### Chiv abilities overheads78################79@setvar! showChivUsageAsOverhead 180@setvar! showChivUsageAsSystemMessage 181@setvar! showChivUsageAsOverheadColor 8882@setvar! showChivUsageAsSystemMessageColor 8883 84################################85###### Bard abilities overheads86################87@setvar! showDiscordDebuffAsOverhead 188@setvar! showDiscordDebuffAsOverheadColor 5589@setvar! showPeaceDebuffAsOverhead 190@setvar! showPeaceDebuffAsOverheadColor 7791 92################################93###### Codex Stance Switch94################95@setvar! switchShieldCodexAutomatically 196@setvar! switchToWardingStanceDuringBleed 197@setvar! switchToWardingStanceDuringDisease 198@setvar! switchToWardingStanceDuringPoison 199@setvar! switchToShieldBash 0100@setvar! switchToBulwark 1101@setvar! cdSwitchStance 10000102 103###########104# If shit is not working right, adjust this number to ping105#####106@setvar! minimumWaitForPing 200107@setvar! minimumWaitForPingUnequipping 650108@setvar! cdPreventChivAbilitySpam 750109@setvar! cdSkinningCheck 3000110 111###########112# Taming Stuff113#####114if skill "Animal Taming" > 50115    @setvar! hpTriggerForHolyLight 80116 117    if not varexist myJaseHelperText118        overhead "Make sure to set totalPets to your pet count: default is 2" 88119        @setvar! myJaseHelperText 1120    endif121    @setvar! totalPets 2122 123    # Pets124    if not varexist myDexxerTankPet125        @setvar! myDexxerTankPet 0126    endif127    if not find myDexxerTankPet ground -1 -1 20128        overhead "Select your main tank" 88129        @setvar! myDexxerTankPet130        wait 200131    endif132    133    if totalPets = 2 or totalPets = 3 or totalPets = 4 or totalPets = 5134        if not varexist myOtherPet1135            @setvar! myOtherPet1 0136        endif137        if not find myOtherPet1 ground -1 -1 20138            overhead "Select your non tank pet 1" 88139            @setvar! myOtherPet1140            wait 200141        endif142    else143        @setvar! myOtherPet1 0144    endif145    146    if totalPets = 3 or totalPets = 4 or totalPets = 5147        if not varexist myOtherPet2148            @setvar! myOtherPet2 0149        endif150        if not find myOtherPet2 ground -1 -1 20151            overhead "Select your non tank pet 2" 88152            @setvar! myOtherPet2153            wait 200154        endif155    else156        @setvar! myOtherPet2 0157    endif158    159    if totalPets = 4 or totalPets = 5160        if not varexist myOtherPet3161            @setvar! myOtherPet3 0162        endif163        if not find myOtherPet3 ground -1 -1 20164            overhead "Select your non tank pet 3" 88165            @setvar! myOtherPet3166            wait 200167        endif168    else169        @setvar! myOtherPet3 0170    endif171 172    if totalPets = 5173        if not varexist myOtherPet4174            @setvar! myOtherPet4 0175        endif176       if not find myOtherPet4 ground -1 -1 20177            overhead "Select your non tank pet 4" 88178            @setvar! myOtherPet4179            wait 200180        endif181    else182        @setvar! myOtherPet4 0183    endif184endif185 186##############################################187###########  DO NOT EDIT BELOW THIS188#######189 190@setvar! cdWorldSaveOver 15000191# function192// do find type193 194@setvar! JASE_ClosestGreyMob 0195@setvar! JASE_NextGreyMob 0196 197################198### Targetting 199####200while not dead 201    202    // automatically find a target?203    if warmode204        // do nothing205    else206    207        hotkey "Target Closest Grey Monster"208        wait 200209        if insysmsg "No one matching"210            overhead "No one there bro" 88211        else212            @setvar! JASE_ClosestGreyMob lasttarget 213            hotkey "Next Grey Monster Target"214            wait 200215            @setvar! JASE_NextGreyMob lasttarget 216        endif217        218        @setvar! JASE_TargetRangeCheck 12219        @setvar! JASE_NextTargetInRange 0220        221        if JASE_ClosestGreyMob != 0222            223            if find JASE_ClosestGreyMob ground -1 -1 JASE_TargetRangeCheck224                overhead "Closest Target in Range" 88 JASE_ClosestGreyMob225            else226                overhead "Out of range" 88 JASE_ClosestGreyMob227            endif228  229            if JASE_ClosestGreyMob != JASE_NextGreyMob230                for 5231                    if find JASE_NextGreyMob ground -1 -1 JASE_TargetRangeCheck232                        @setvar! JASE_NextTargetInRange 1233                        break234                    else235                        hotkey "Next Grey Monster Target"236                        wait 200237                        @setvar! JASE_NextGreyMob lasttarget 238                    endif239                 endfor240                 241                 if JASE_NextTargetInRange = 1242                     overhead "Next Closest Target in Range" 77 JASE_NextGreyMob243                 else244                     overhead  "No next target in range" 34245                 endif246             else247                  overhead  "No next target in range" 34248             endif249        endif250        251        252        // find a target 253            # target closest254            # next target 255            # findtype256            257        // is it nearby and can we fight it258            # range check of the target259        260            // if no target261            // do we loop again or do some other logic262        263        // if we are fighting it264            # is it in range and combating? (attack command)265            266            267        // check other mobs nearby268            # target closest269            # next target 270            # findtype271            272            // if we have another mob.. do we provoke?273            // discord, peace, etc274    endif275    276    if skill "Animal Taming" > 50277        while dead myDexxerTankPet278            if not bandaging and findtype "clean bandage%s%" backpack as item279                dclick item280                wft 500281                target myDexxerTankPet282            endif283            284            if hp <= hpCheckToTriggerHealPotion or hp <= hpTriggerForHolyLight285                break286            endif287            wait 100288        endwhile289        290        # want a timer to start healing pets291        # if the timer passes certain time292        # trigger a heal bandage293        # we want to check system message to see294        # if its working295        296        @setvar! cdPetHeal 8000297        if not timerexists petHealTimer298            settimer petHealTimer cdPetHeal299        endif300        301        @setvar! cdPetGuard 8000302        if not timerexists petGuardTimer303            settimer petGuardTimer cdPetGuard304        endif305        306        if timer petGuardTimer >= cdPetGuard307                menu myDexxerTankPet 3308                if not dead myOtherPet1309                    wait 200310                    menu myOtherPet1 3311                endif312            settimer petGuardTimer 0313        endif314      315        if timer petHealTimer >= cdPetHeal316            317            if findtype "veterinary supplies" backpack as item318                if not bandaging319                    dclick item320                    wait 650321                endif322            else323                if not bandaging and findtype "clean bandage%s%" backpack as item324                    dclick item325                    wft 500326                    target myDexxerTankPet327                    overhead "Heal Target" 77 myDexxerTankPet328                    wait 650329                endif330                if myOtherPet1 != 0 and not bandaging and findtype "clean bandage%s%" backpack as item331                    dclick item332                    wft 500333                    target myOtherPet1334                    overhead "Heal Target" 66 myOtherPet1335                    wait 650336                endif337                if myOtherPet2 != 0 and not bandaging and findtype "clean bandage%s%" backpack as item338                    dclick item339                    wft 500340                    target myOtherPet2341                    overhead "Heal Target" 55 myOtherPet2342                    wait 650343                endif344                if myOtherPet3 != 0 and not bandaging and findtype "clean bandage%s%" backpack as item345                    dclick item346                    wft 500347                    target myOtherPet3348                    overhead "Heal Target" 44 myOtherPet3349                    wait 650350                endif351                if myOtherPet4 != 0 and not bandaging and findtype "clean bandage%s%" backpack as item352                    dclick item353                    wft 500354                    target myOtherPet4355                    overhead "Heal Target" 33 myOtherPet4356                    wait 650357                endif358            endif359        360            361            if not bandaging362                settimer petHealTimer 0363            endif364        endif365        366        367    endif368 369    if not timerexists skinningCheckTimer370        settimer skinningCheckTimer cdSkinningCheck371    endif372 373    if automaticallySkinCorpses = 1 and findtype "corpse" ground -1 -1 2 as jorpse374        if findtype "Elven Spellblade" backpack and timer skinningCheckTimer >= cdSkinningCheck 375            while not targetexists 376                useskill 'forensicevaluation'377            endwhile378            if targetexists 379                hotkey "Target Self"380                wait minimumWaitForPing381                settimer skinningCheckTimer 0382                @ignore jorpse383            endif384        endif385    endif386 387    // Trapped388    if paralyzed 389        if findtype "pouch" backpack 38 390            yell "[pouch"391            wait minimumWaitForPing392        else393            overhead "Out of Pouches!" 34394        endif395    endif396 397    if findbuff "weaken" and weight > maxweight 398        if findtype "gold coin" backpack as item399            lift item 2000400            droprelloc 0 0401            wait minimumWaitForPing402            if insysmsg "cannot drop anything"403                drop backpack -1 -1 -1404            endif405            wait minimumWaitForPingUnequipping406        else407            overhead "We are overweight and cannot drop anything" 34408        endif409    endif410 411    if not varexist jaseCrimHealCheck412        gumpclose 3587807212413        while not gumpexists 3587807212414            say '[commands'415            wait 200416        endwhile417        gumpresponse 11 3587807212418        waitforgump 3587807212 5000419        gumpresponse 3 3587807212420        waitforgump 3587807212 5000421        if ingump "[PreventCriminalHealing" 3587807212422            if ingump "Prevented"423                gumpclose 3587807212424            else425                gumpresponse 29 3587807212426                waitforgump 3587807212 5000427                gumpclose 3587807212428            endif429        endif430        @setvar! jaseCrimHealCheck 1431    endif432 433    if not timerexists worldSaveTimer434        settimer worldSaveTimer cdWorldSaveOver435    endif436 437    if insysmsg 'world will save'438        overhead "World save coming soon.."439        settimer worldSaveTimer 0440    elseif insysmsg 'world is saving'441        for 100442            overhead 'Waiting for world save...'443            wait 100444            if insysmsg 'save complete'445                settimer worldSaveTimer cdWorldSaveOver446                overhead 'Save complete - continue on!' 88447                break448            endif449        endfor450    endif451 452    if timer worldSaveTimer >= cdWorldSaveOver453        if automaticallyPoisonWeaponThatIsEquipped = 1 and skill "Poisoning" > 0454            if findlayer self righthand as found455                @setvar! weapon_equipped found456            elseif findlayer self lefthand as found457                @setvar! weapon_equipped found458            else459                overhead "Unknown or no weapon equipped" 34460                stop461            endif  462            getlabel weapon_equipped desc463            if "poison charges" in desc464                // do nothing465            else466                if findtype "Green Potion" backpack467                    menu weapon_equipped 0468                else469                    overhead "No poison pots" 34470                endif471            endif  472        endif473    endif474 475    if not findtype "White Potion" backpack476        @setvar! automaticallyDrinkStrPot 0477    endif478 479    if not findtype "Blue Potion" backpack480        @setvar! automaticallyDrinkAgiPot 0481    endif482 483    if not findtype "Black Potion" backpack484        @setvar! automaticallyDrinkMagicPot 0485    endif486 487    @setvar! cdAids 15000488    if dex >= 100489        @setvar! cdAids 10000    490    endif491 492    if not timerexists preventOverheadSpamTimer493        createtimer preventOverheadSpamTimer494        settimer preventOverheadSpamTimer cdPreventOverheadSpam495    endif496 497    if not timerexists preventChivAbilitySpamTimer498        createtimer preventChivAbilitySpamTimer499        settimer preventChivAbilitySpamTimer cdPreventChivAbilitySpam500    endif501 502    if not timerexists aidsTimer503        createtimer aidsTimer504        settimer aidsTimer cdAids505    endif506 507    // JASE_ClosestGreyMob 508    // JASE_NextGreyMob 509    510    @setvar! myKillTarget JASE_ClosestGreyMob511    @setvar! targetInRange 0 512 513    if not varexist myPreviousKillTarget514        @setvar myPreviousKillTarget 0     515    endif516 517    if warmode 518        // do nothing519    else520        521        if not varexist autoAttack522            @setvar! autoAttack 1523        endif524        525        if myKillTarget != 0 and myPreviousKillTarget != myKillTarget526            getlabel myKillTarget mobDesc527            @setvar! myPreviousKillTarget myKillTarget528        529            if "(summoned" in mobDesc or "(bonded" in mobDesc or "(tame" in mobDesc530                overhead "� Player pet - IGNORE �" 77 lasttarget531                @setvar! autoAttack 0532            else  533                @setvar! autoAttack 1534            endif    535        endif536        537 538        539        if myKillTarget = 0540            // do nothing541        elseif not find lasttarget ground -1 -1 myRangeCheckForTarget542            if showTargetOverheadMessages = 1 and timer preventOverheadSpamTimer >= cdPreventOverheadSpam543                overhead "� � OUT OF RANGE � �" 88 lasttarget544                settimer preventOverheadSpamTimer 0545            endif546            if find lasttarget ground -1 -1 8 and autoAttack = 1547                attack lasttarget 548            endif549        elseif autoAttack = 1550            @setvar! targetInRange 1551            if showTargetOverheadMessages = 1 and timer preventOverheadSpamTimer >= cdPreventOverheadSpam552                overhead "� �� HERE �� �" 88 lasttarget    553                settimer preventOverheadSpamTimer 0554            endif555            attack lasttarget 556        endif557    endif558 559    # Eat food if we got it560    if not findbuff "food" and findtype "tray" backpack as jood561        dclick jood562        wait minimumWaitForPing563    endif564 565    @setvar! needStrBuff 0566    @setvar! needDexBuff 0567    @setvar! needMagicBuff 0568    @setvar! needHealPot 0569    @setvar! needCurePot 0570    @setvar! needRefreshPot 0571 572    @setvar! drinkThosePots 0573 574    if targetInRange = 1 575       @setvar! drinkThosePots 1   576    elseif warmode and drinkPotionsEvenIfInWarModeAndYouLoseHealth = 1 and hp < maxhp577        @setvar! drinkThosePots 1   578    endif579 580    if automaticallyDrinkStrPot = 1 and drinkThosePots = 1 and not findbuff "Strength"581        @setvar! needStrBuff 1582    endif583 584    if automaticallyDrinkAgiPot = 1 and drinkThosePots = 1 and not findbuff "Agility"585        @setvar! needDexBuff 1 586    endif587 588    if automaticallyDrinkMagicPot = 1 and drinkThosePots = 1 and not findbuff "Magic Resist Potion"589        @setvar! needMagicBuff 1 590    endif591 592    if automaticallyDrinkHealPot = 1 and hp <= hpCheckToTriggerHealPotion593        @setvar! needHealPot 1 594    endif595 596    if automaticallyDrinkCurePot = 1 and poisoned and hp <= hpCheckToTriggerCurePotion597        @setvar! needCurePot 1 598    endif599 600    if automaticallyDrinkRefreshPot = 1 and diffstam >= stamDiffCheckToTriggerRedPotion601        @setvar! needRefreshPot 1 602    endif603 604    if needStrBuff = 1 and not findtype "White Potion" backpack605        @setvar! needStrBuff 0606    endif607 608    if needDexBuff = 1 and not findtype "Blue Potion" backpack609        @setvar! needDexBuff 0610    endif611 612    if needMagicBuff = 1 and not findtype "Black Potion" backpack613        @setvar! needMagicBuff 0614    endif615 616    if needHealPot = 1 and not findtype "Yellow Potion" backpack617        @setvar! needHealPot 0618    elseif needHealPot = 1 and findtype "Yellow Potion" backpack as item619        getlabel item healPotDesc620        if "next usable" in healPotDesc621            @setvar! needHealPot 0622        else623            @setvar! needHealPot 1624        endif625    endif626 627    if needCurePot = 1 and not findtype "Orange Potion" backpack628        @setvar! needCurePot 0629    endif630 631    if needRefreshPot = 1 and not findtype "Red Potion" backpack632        @setvar! needRefreshPot 0633    endif634 635    @setvar! jaseCanDrinkPotion 0636 637    if needStrBuff = 1 or needDexBuff = 1 or needMagicBuff = 1 or needHealPot = 1 or needCurePot = 1 or needRefreshPot = 1638 639        @setvar! jaseRightHand 0640        @setvar! jaseLeftHand 0641        @setvar! needTwoHandSwap 0642        @setvar! needShieldSwap 0643 644        if skill "Alchemy" >= 80645            @setvar! jaseCanDrinkPotion 1646        else647            if not findlayer self lefthand and not findlayer self righthand648                @setvar! jaseCanDrinkPotion 1649            else650                if findlayer self lefthand as myLefthand651                    @setvar! jaseLeftHand myLefthand652                endif653                if findlayer self righthand as myRightHand654                    @setvar! jaseRightHand myRightHand655                endif 656                if not lhandempty 657                    if not rhandempty 658                        @setvar! jaseCanDrinkPotion 0659                    else660                        // handle two handed weapons661                        getlabel jaseLeftHand desc662                        if skill "Swordsmanship" > 0663                           if "axe" in desc or "bardiche" in desc or "halberd" in desc664                                @setvar! jaseCanDrinkPotion 0665                                @setvar! needTwoHandSwap 1666                            else   667                                @setvar! jaseCanDrinkPotion 1668                            endif669                        elseif skill "Mace Fighting" > 0670                            if "staff" in desc or "crook" in desc or "war hammer" in desc671                                @setvar! jaseCanDrinkPotion 0672                                @setvar! needTwoHandSwap 1673                            else   674                                @setvar! jaseCanDrinkPotion 1675                            endif676                        elseif skill "Fencing" > 0677                            if "spear" in desc or "pitchfork" in desc678                                @setvar! jaseCanDrinkPotion 0679                                @setvar! needTwoHandSwap 1680                            else   681                                @setvar! jaseCanDrinkPotion 1682                            endif683                        elseif skill "Archery" > 0684                            if "bow" in desc or "heavy crossbow" in desc685                                @setvar! jaseCanDrinkPotion 0686                                @setvar! needTwoHandSwap 1687                            else   688                                @setvar! jaseCanDrinkPotion 1689                            endif690                        elseif skill "Wrestling" > 0691                            @setvar! jaseCanDrinkPotion 1692                        endif  693                    endif694                endif695                if not rhandempty 696                    if lhandempty 697                        @setvar! jaseCanDrinkPotion 1698                    else699                        @setvar! needShieldSwap 1700                    endif701                endif702            endif703        endif704 705        if jaseCanDrinkPotion = 1706            // do nothing707        else708            if needTwoHandSwap = 1709                if skill "Swordsmanship" > 0 and findtype "cutlass|broadsword|scimitar|viking sword|longsword|katana" backpack as item710                    dclick item711                    wait minimumWaitForPing712                elseif skill "Mace Fighting" > 0 and findtype "maul|war axe|war mace|mace|hammer pick|club" backpack as item713                    dclick item714                    wait minimumWaitForPing715                elseif skill "Fencing" > 0 and findtype "kryss|war fork" backpack as item716                    dclick item717                    wait minimumWaitForPing718                elseif skill "Archery" > 0 and findtype "crossbow" backpack as item719                    dclick item720                    wait minimumWaitForPing721                else722                    hotkey 'Arm/Disarm Left Hand'    723                    wait minimumWaitForPing724                endif725                @setvar! jaseCanDrinkPotion 1726            elseif needShieldSwap = 1727                overhead "we should be disarming left hand"728                while not lhandempty729                    hotkey 'Arm/Disarm Left Hand'730                    wait minimumWaitForPingUnequipping731                    while queued732                        wait 100733                    endwhile734                endwhile735                setvar! jaseCanDrinkPotion 1736            endif737        endif738 739        if jaseCanDrinkPotion = 1740            if needHealPot = 1741                if findtype "Yellow Potion" backpack as jotion742                    overhead "chug heal"743                    dclick jotion744                    wait minimumWaitForPing745                    cooldown "Yellow Potion" 10000746                else747                    overhead "No Heal potion found!" 34748                endif749            endif750            751            if needCurePot = 1752                if findtype "Orange Potion" backpack as jotion753                    overhead "chug cure"754                    dclick jotion755                    wait minimumWaitForPing756                else757                    overhead "No Cure potion found!" 34758                endif759            endif760            761                        762            if needDexBuff = 1763                if findtype "Blue Potion" backpack as jotion764                    overhead "chug"765                    dclick jotion766                    wait minimumWaitForPing767                else768                    overhead "No AGI potion found!" 34769                endif770            endif771            772            if automaticallyDrinkRefreshPot = 1 and diffstam >= stamDiffCheckToTriggerRedPotion773                @setvar! needRefreshPot 1 774            endif775        776            if needRefreshPot = 1777                if findtype "Red Potion" backpack as jotion778                    overhead "chug refresh"779                    dclick jotion780                    wait minimumWaitForPing781                else782                    overhead "No Refresh potion found!" 34783                endif784            endif785        786            if needStrBuff = 1787                if findtype "White Potion" backpack as jotion788                    overhead "chug"789                    dclick jotion790                    wait minimumWaitForPing791                else792                    overhead "No STR potion found!" 34793                endif794            endif795            796            if needMagicBuff = 1797                if findtype "Black Potion" backpack as jotion798                    overhead "chug"799                    dclick jotion800                    wait minimumWaitForPing801                else802                    overhead "No MR potion found!" 34803                endif804            endif805 806            if needTwoHandSwap = 1807                dclick jaseLeftHand808                wait minimumWaitForPing809            elseif needShieldSwap = 1810                hotkey 'Arm/Disarm Left Hand'811                wait minimumWaitForPingUnequipping812            endif813        endif814    endif815 816    #############817    ### CODEX818    #############819    if timer worldSaveTimer >= cdWorldSaveOver and skill "Parrying" >= 80 and findtype "shield codex" backpack as item820 821        if not timerexists jaseSwitchStanceTimer822            settimer jaseSwitchStanceTimer cdSwitchStance823        endif824        825        if not varexist canUseShieldFinisher826            @setvar! canUseShieldFinisher 1827        endif828        829        while not gumpexists 1066647553830            overhead "Loading hotbar"831            yell "[CodexHotBar"832            wait minimumWaitForPing833        endwhile834 835        if switchShieldCodexAutomatically = 1 and timer jaseSwitchStanceTimer >= cdSwitchStance836            getlabel item codexDesc837            838            // make sure we are in warding stance839            @setvar! switchToWarding 0840 841            if switchToWardingStanceDuringBleed = 1 and findbuff "bleed" 842                @setvar! switchToWarding 1843            elseif switchToWardingStanceDuringDisease = 1 and findbuff "disease" 844                @setvar! switchToWarding 1845            elseif switchToWardingStanceDuringPoison = 1 and poisoned846                @setvar! switchToWarding 1847            endif848 849            if switchToWarding = 1850                if "Warding" in codexDesc851                    // we good852                else853                    yell [ShieldsStance2854                    settimer jaseSwitchStanceTimer 0855                    wait 200856                endif    857                858                if "Barrier" in codexDesc859                    // we good860                elseif canUseShieldFinisher = 1861                    yell [ShieldsFinisher2862                    wait 200863                    if insysmsg "You must first reach rank 5"864                        @setvar! canUseShieldFinisher 0865                    endif866                endif    867            elseif switchToBulwark = 1868                if "Bulwark" in codexDesc869                    // we good870                else871                    yell [ShieldsStance5872                    settimer jaseSwitchStanceTimer 0873                    wait 200874                endif875                876                if "Last Stand" in codexDesc877                    // we good878                elseif canUseShieldFinisher = 1879                    yell [ShieldsFinisher1880                    wait 200881                    if insysmsg "You must first reach rank 5"882                        @setvar! canUseShieldFinisher 0883                    endif884                endif885            elseif switchToShieldBash = 1886                if "Shield Bash" in codexDesc887                    // we good888                else889                    yell [ShieldsStance1890                    settimer jaseSwitchStanceTimer 0891                    wait 200892                endif893                894                if "Last Stand" in codexDesc895                    // we good896                elseif canUseShieldFinisher = 1897                    yell [ShieldsFinisher1898                    wait 200899                    if insysmsg "You must first reach rank 5"900                        @setvar! canUseShieldFinisher 0901                    endif902                endif903            endif904        endif905    endif906 907    if skill "Tracking" > 0908        if not findbuff "tracking"909            clearsysmsg910            while not gumpexists 4267467659911                useskill 'tracking'912                wait minimumWaitForPing913            endwhile914            if gumpexists 4267467659915                while not insysmsg "You will now hunt all hostile players."916                    gumpresponse 8 4267467659917                    waitforgump 4267467659 5000918                endwhile919                gumpresponse 6 4267467659920                wait minimumWaitForPing921            endif922            gumpclose 4267467659923        endif924    endif925 926    if skill "Chivalry" >= 50927 928        @setvar! chivSymbols 0929        @setvar! cdCleanseByFire 31000930        @setvar! cdCloseWounds 31000931        @setvar! cdHolyLight 31000932        @setvar! cdDivineFury 31000933        @setvar! cdNobleSacrifice 31000934 935        if not timerexists nobleSacrificeTimer936            createtimer nobleSacrificeTimer937            settimer nobleSacrificeTimer cdCleanseByFire938        endif939 940        if not timerexists cleanseByFireTimer941            createtimer cleanseByFireTimer942            settimer cleanseByFireTimer cdCleanseByFire943        endif944 945        if not timerexists closeWoundsTimer946            createtimer closeWoundsTimer947            settimer closeWoundsTimer cdCloseWounds948        endif949        950        if not timerexists holyLightTimer951            createtimer holyLightTimer952            settimer holyLightTimer cdHolyLight953        endif954        955        if not timerexists divineFuryTimer956            createtimer divineFuryTimer957            settimer divineFuryTimer cdDivineFury958        endif959        960        while not gumpexists 1387930325961            say "[ChivalryHotbar"962            wait 200963        endwhile964        965        if gumpexists 1387930325966            if ingump "12/" 1387930325967                @setvar! chivSymbols 12968            elseif ingump "13/" 1387930325969                @setvar! chivSymbols 13970            elseif ingump "14/" 1387930325971                @setvar! chivSymbols 14972            elseif ingump "15/" 1387930325973                @setvar! chivSymbols 15974            elseif ingump "16/" 1387930325975                @setvar! chivSymbols 16976            elseif ingump "17/" 1387930325977                @setvar! chivSymbols 17978            elseif ingump "18/" 1387930325979                @setvar! chivSymbols 18980            elseif ingump "19/" 1387930325981                @setvar! chivSymbols 19982            elseif ingump "20/" 1387930325983                @setvar! chivSymbols 20984            elseif ingump "21/" 1387930325985                @setvar! chivSymbols 21986            elseif ingump "11/" 1387930325987                @setvar! chivSymbols 11988            elseif ingump "10/" 1387930325989                @setvar! chivSymbols 10990            elseif ingump "9/" 1387930325991                @setvar! chivSymbols 9992            elseif ingump "8/" 1387930325993                @setvar! chivSymbols 8994            elseif ingump "7/" 1387930325995                @setvar! chivSymbols 7996            elseif ingump "6/" 1387930325997                @setvar! chivSymbols 6998            elseif ingump "5/" 1387930325999                @setvar! chivSymbols 51000            elseif ingump "4/" 13879303251001                @setvar! chivSymbols 41002            elseif ingump "3/" 13879303251003                @setvar! chivSymbols 31004            elseif ingump "2/" 13879303251005                @setvar! chivSymbols 21006            elseif ingump "1/" 13879303251007                @setvar! chivSymbols 11008            elseif ingump "0/" 13879303251009                @setvar! chivSymbols 01010            endif1011        endif1012        1013        if hp <= lowHealthTriggerForNobleSacrifice and skill "Chivalry" >= 801014            if timer preventChivAbilitySpamTimer >= cdPreventChivAbilitySpam and timer nobleSacrificeTimer >= cdNobleSacrifice and 4 < chivSymbols1015                if skill "Healing" > 01016                    hotkey 'Bandage Self'1017                    settimer aidsTimer 01018                    wait minimumWaitForPing1019                endif1020                if showChivUsageAsOverhead = 11021                    overhead "Noble Sacrifice" showChivUsageAsOverheadColor1022                endif1023                if showChivUsageAsSystemMessage = 11024                    sysmsg "Noble Sacrifice" showChivUsageAsSystemMessageColor1025                endif1026                yell "[NobleSacrifice"1027                wft 5001028                hotkey "Target Self"1029                wait 2001030                if insysmsg "Holy symbols remaining:"1031                    settimer nobleSacrificeTimer 01032                    settimer preventChivAbilitySpamTimer 01033                    cooldown NobleSacrifice cdNobleSacrifice1034                endif1035                if gumpexists 13879303251036                    if ingump "12/" 13879303251037                        @setvar! chivSymbols 121038                    elseif ingump "13/" 13879303251039                        @setvar! chivSymbols 131040                    elseif ingump "14/" 13879303251041                        @setvar! chivSymbols 141042                    elseif ingump "15/" 13879303251043                        @setvar! chivSymbols 151044                    elseif ingump "16/" 13879303251045                        @setvar! chivSymbols 161046                    elseif ingump "17/" 13879303251047                        @setvar! chivSymbols 171048                    elseif ingump "18/" 13879303251049                        @setvar! chivSymbols 181050                    elseif ingump "19/" 13879303251051                        @setvar! chivSymbols 191052                    elseif ingump "20/" 13879303251053                        @setvar! chivSymbols 201054                    elseif ingump "21/" 13879303251055                        @setvar! chivSymbols 211056                    elseif ingump "11/" 13879303251057                        @setvar! chivSymbols 111058                    elseif ingump "10/" 13879303251059                        @setvar! chivSymbols 101060                    elseif ingump "9/" 13879303251061                        @setvar! chivSymbols 91062                    elseif ingump "8/" 13879303251063                        @setvar! chivSymbols 81064                    elseif ingump "7/" 13879303251065                        @setvar! chivSymbols 71066                    elseif ingump "6/" 13879303251067                        @setvar! chivSymbols 61068                    elseif ingump "5/" 13879303251069                        @setvar! chivSymbols 51070                    elseif ingump "4/" 13879303251071                        @setvar! chivSymbols 41072                    elseif ingump "3/" 13879303251073                        @setvar! chivSymbols 31074                    elseif ingump "2/" 13879303251075                        @setvar! chivSymbols 21076                    elseif ingump "1/" 13879303251077                        @setvar! chivSymbols 11078                    elseif ingump "0/" 13879303251079                        @setvar! chivSymbols 01080                    endif1081                endif1082            endif1083        endif1084        1085        if poisoned and skill "Chivalry" >= 601086            if timer preventChivAbilitySpamTimer >= cdPreventChivAbilitySpam and useCleanseByFireAutomatically = 1 and timer cleanseByFireTimer >= cdCleanseByFire and 2 < chivSymbols1087                if showChivUsageAsOverhead = 11088                    overhead "Cleanse by fire" showChivUsageAsOverheadColor1089                endif1090                if showChivUsageAsSystemMessage = 11091                    sysmsg "Cleanse by fire" showChivUsageAsSystemMessageColor1092                endif1093                yell "[CleanseByFire"1094                wait 2001095                if insysmsg "Holy symbols remaining:"1096                    settimer cleanseByFireTimer 01097                    settimer preventChivAbilitySpamTimer 01098                    cooldown CleanseByFire cdCleanseByFire1099                endif1100            endif1101        elseif findbuff "bleed" or findbuff "disease" and skill "Chivalry" >= 701102            if timer preventChivAbilitySpamTimer >= cdPreventChivAbilitySpam and useCloseWoundsAutomatically = 1 and timer closeWoundsTimer >= cdCleanseByFire and 3 < chivSymbols1103                if showChivUsageAsOverhead = 11104                    overhead "Close Wounds" showChivUsageAsOverheadColor1105                endif1106                if showChivUsageAsSystemMessage = 11107                    sysmsg "Close Wounds" showChivUsageAsSystemMessageColor1108                endif1109                yell "[CloseWounds"1110                wait 2001111                if insysmsg "Holy symbols remaining:"1112                    settimer closeWoundsTimer 01113                    settimer preventChivAbilitySpamTimer 01114                    cooldown CloseWounds cdCloseWounds1115                endif1116            endif1117        endif1118        1119        if gumpexists 13879303251120            if ingump "12/" 13879303251121                @setvar! chivSymbols 121122            elseif ingump "13/" 13879303251123                @setvar! chivSymbols 131124            elseif ingump "14/" 13879303251125                @setvar! chivSymbols 141126            elseif ingump "15/" 13879303251127                @setvar! chivSymbols 151128            elseif ingump "16/" 13879303251129                @setvar! chivSymbols 161130            elseif ingump "17/" 13879303251131                @setvar! chivSymbols 171132            elseif ingump "18/" 13879303251133                @setvar! chivSymbols 181134            elseif ingump "19/" 13879303251135                @setvar! chivSymbols 191136            elseif ingump "20/" 13879303251137                @setvar! chivSymbols 201138            elseif ingump "21/" 13879303251139                @setvar! chivSymbols 211140            elseif ingump "11/" 13879303251141                @setvar! chivSymbols 111142            elseif ingump "10/" 13879303251143                @setvar! chivSymbols 101144            elseif ingump "9/" 13879303251145                @setvar! chivSymbols 91146            elseif ingump "8/" 13879303251147                @setvar! chivSymbols 81148            elseif ingump "7/" 13879303251149                @setvar! chivSymbols 71150            elseif ingump "6/" 13879303251151                @setvar! chivSymbols 61152            elseif ingump "5/" 13879303251153                @setvar! chivSymbols 51154            elseif ingump "4/" 13879303251155                @setvar! chivSymbols 41156            elseif ingump "3/" 13879303251157                @setvar! chivSymbols 31158            elseif ingump "2/" 13879303251159                @setvar! chivSymbols 21160            elseif ingump "1/" 13879303251161                @setvar! chivSymbols 11162            elseif ingump "0/" 13879303251163                @setvar! chivSymbols 01164            endif1165        endif1166        1167        if timer preventChivAbilitySpamTimer >= cdPreventChivAbilitySpam and useHolyLightAutomatically = 1 and hp <= hpTriggerForHolyLight and skill "Chivalry" >= 951168            1169            @setvar! doubleCheckHolyLight 11170        1171            if skill "Healing" > 0 and cdAids = 10000 and timer aidsTimer >= 90001172                // skip holy light1173                overhead "Skipping Holy Light" 341174                @setvar! doubleCheckHolyLight 01175                // unless we gonna die1176                if hp <= 20 or poisoned1177                    overhead "Just kidding, do not wanna die" 341178                    @setvar! doubleCheckHolyLight 11179                endif1180            endif1181            1182            if doubleCheckHolyLight = 11183                if timer holyLightTimer >= cdHolyLight and 5 < chivSymbols1184                    if showChivUsageAsOverhead = 11185                        overhead "Holy Light" showChivUsageAsOverheadColor1186                    endif1187                    if showChivUsageAsSystemMessage = 11188                        sysmsg "Holy Light" showChivUsageAsSystemMessageColor1189                    endif1190                    yell "[HolyLight"1191                    wait 2001192                    if insysmsg "Holy symbols remaining:"1193                        settimer holyLightTimer 01194                        settimer preventChivAbilitySpamTimer 01195                        cooldown HolyLight cdHolyLight1196                    endif1197                endif1198            endif1199        endif1200        1201        if timer preventChivAbilitySpamTimer >= cdPreventChivAbilitySpam and targetInRange = 1 and useDivineFuryAutomatically = 1 and skill "Chivalry" >= 851202            if timer divineFuryTimer >= cdDivineFury and 4 < chivSymbols1203                if showChivUsageAsOverhead = 11204                    overhead "Divine Fury" showChivUsageAsOverheadColor1205                endif1206                if showChivUsageAsSystemMessage = 11207                    sysmsg "Divine Fury" showChivUsageAsSystemMessageColor1208                endif1209                yell "[DivineFury"1210                wait 2001211                if insysmsg "Holy symbols remaining:"1212                    settimer divineFuryTimer 01213                    settimer preventChivAbilitySpamTimer 01214                    cooldown DivineFury cdDivineFury1215                endif1216            endif1217        endif1218    endif1219 1220    if skill "Healing" > 01221            1222        @setvar! cdAids 150001223        if dex >= 1001224            @setvar! cdAids 10000    1225        endif1226 1227        if not timerexists aidsTimer1228            createtimer aidsTimer1229            settimer aidsTimer cdAids1230        endif1231 1232        if findtype "clean bandage%s%" backpack1233            if not bandaging and hp < maxhp1234                hotkey 'Bandage Self'1235                settimer aidsTimer 01236            elseif not bandaging and poisoned1237                hotkey 'Bandage Self'1238                settimer aidsTimer 01239            elseif not bandaging and findbuff "bleed"1240                hotkey 'Bandage Self'1241                settimer aidsTimer 01242            elseif not bandaging and findbuff "disease"1243                hotkey 'Bandage Self'1244                settimer aidsTimer 01245            endif1246        else1247            overhead "No bandages" 341248        endif1249    endif1250 1251    if not timerexists sCheck1252        createtimer sCheck1253        settimer sCheck 110001254    endif1255 1256       1257 1258    if find myKillTarget ground -1 -1 10 and skill "Discordance" > 01259        1260        getlabel myKillTarget descBard1261 1262        if "discord" in descBard1263            if showDiscordDebuffAsOverhead = 11264                overhead "Already discorded" showDiscordDebuffAsOverheadColor myKillTarget1265            endif1266        elseif timer sCheck >= 50001267            useskill 'Discordance'1268            wft 5001269            if insysmsg "What instrument"1270                if findtype "bamboo flute" backpack as inny1271                    target inny1272                elseif findtype "tambourine" backpack as inny1273                    target inny1274                elseif findtype "drum" backpack as inny1275                    target inny1276                elseif findtype "lute" backpack as inny1277                    target inny1278                elseif findtype "lap harp" backpack as inny1279                    target inny1280                else1281                    overhead "I do not have an inny" 341282                    wait 20001283                endif1284                wft 5001285            endif1286                1287            if targetexists 1288                target myKillTarget1289                wait 2001290                if insysmsg "you play success"1291                    settimer sCheck 01292                elseif insysmsg "t incite that!"1293                    // bad target1294                elseif insysmsg "You fail to"1295                    settimer sCheck 01296                endif1297            endif1298 1299        else1300            overhead "Waiting for skill cooldown..." 881301        endif1302    endif1303 1304 1305    if find myKillTarget ground -1 -1 10 and skill "Peacemaking" > 01306        1307        getlabel myKillTarget descBard1308        1309 1310        if "pacified" in descBard1311            if showPeaceDebuffAsOverhead = 11312                overhead "Already peaced" showPeaceDebuffAsOverheadColor myKillTarget1313            endif1314        elseif timer sCheck >= 50001315            useskill 'Peacemaking'1316            wft 5001317            if insysmsg "What instrument"1318                if findtype "bamboo flute" backpack as inny1319                    target inny1320                elseif findtype "tambourine" backpack as inny1321                    target inny1322                elseif findtype "drum" backpack as inny1323                    target inny1324                elseif findtype "lute" backpack as inny1325                    target inny1326                elseif findtype "lap harp" backpack as inny1327                    target inny1328                else1329                    overhead "I do not have an inny" 341330                    wait 20001331                endif1332                wft 5001333            endif1334                1335            if targetexists 1336                target myKillTarget1337                wait 2001338                if insysmsg "you play success"1339                    settimer sCheck 01340                elseif insysmsg "t incite that!"1341                    // bad target1342                elseif insysmsg "You fail to"1343                    settimer sCheck 01344                endif1345            endif1346 1347        else1348            overhead "Waiting for skill cooldown..." 881349        endif1350    endif1351 1352 1353     1354    if skill "Discordance" > 01355        if not findbuff "song of discordance" and timer sCheck >= 110001356            useskill 'Discordance'1357            wft 5001358            target backpack1359            settimer sCheck 01360        endif1361    endif1362 1363    if skill "Provocation" > 01364        1365        if JASE_NextGreyMob != 01366            if timer sCheck >= 50001367                useskill 'Provocation'1368                wft 5001369                if insysmsg "What instrument"1370                    if findtype "bamboo flute" backpack as inny1371                        target inny1372                    elseif findtype "tambourine" backpack as inny1373                        target inny1374                    elseif findtype "drum" backpack as inny1375                        target inny1376                    elseif findtype "lute" backpack as inny1377                        target inny1378                    elseif findtype "lap harp" backpack as inny1379                        target inny1380                    else1381                        overhead "I do not have an inny" 341382                        wait 20001383                        replay1384                    endif1385                    wft 5001386                endif1387                1388                if targetexists 1389                    target JASE_ClosestGreyMob1390                    wft 5001391                    target JASE_NextGreyMob1392                    wait 2001393                    if insysmsg "you play success"1394                        settimer sCheck 01395                        break1396                    elseif insysmsg "t incite that!"1397                        break1398                    endif1399                endif1400 1401            else1402                overhead "Waiting for skill cooldown..." 881403            endif1404        1405        endif1406    1407        if not findbuff "song of provocation" and timer sCheck >= 110001408            useskill 'Provocation'1409            wft 5001410            target backpack1411            settimer sCheck 01412        endif1413    endif1414 1415    if skill "Peacemaking" > 01416        if not findbuff "song of peacemaking" and timer sCheck >= 110001417            useskill 'Peacemaking'1418            wft 5001419            target backpack1420            settimer sCheck 01421        endif1422    endif1423 1424    wait 2001425endwhile1426 1427while dead 1428    overhead "Rip" 341429    if gumpexists 29578102251430        gumpresponse 1 29578102251431        break1432    endif        1433    wait 5001434endwhile1435 1436replay1437 1438