Back to "b" tags

Ultimate Auto Dexxer Hotkey (1) by Jaseowns

1# Dexxer Bot by Jaseowns
2# UO Outlands
3#######
4# Working on this during the live streams: Monday / Wednesday / Friday
5# https://youtube.com/jaseowns/live
6#######
7#####
8##  Verison 4.5.1
9##  9/29/2024
10##     - fixed missing timer
11##
12##  9/25/2024
13##     - add kegs
14##
15##  8/23/2024
16##     - adding explosion potions
17##
18##  8/16/2024
19##     - fix potion check for satchel equipped or not
20##
21##  7/22/2024
22##     - updated the codex bar to be an option
23##
24##  7/1/2024
25##     - add weapon abilities + fixed timer (after stream)
26##  5/28/2024
27##    - add preference for taunt jaseowns_AutoTaunting and skinning default off
28###
29
30
31
32
33#### Notes for next time:
34    ## Cooldown check for pvp timer to avoid chiv abiltiies
35    ## add a check for warmode to still drink pots if you lose health
36    
37# Basic Heal and Chivalry abilties to heal by Jaseowns
38# UO Outlands
39@setvar! showTargetOverheadMessages 1
40@setvar! cdPreventOverheadSpam 2000
41
42################################
43###### Random abilities
44################
45@setvar! automaticallySkinCorpses 0
46@setvar! automaticallyPoisonWeaponThatIsEquipped 1
47
48###
49## Alchemy Throw Pot (will disable automatically if less than 80 alchemy)
50###
51@setvar! jaseowns_AutoExplodePot 1
52
53
54###
55## Auto Taunt
56###
57@setvar! jaseowns_AutoTaunting 0
58
59
60################################
61###### Potion Controllers
62################
63@setvar! automaticallyDrinkStrPot 1
64@setvar! automaticallyDrinkAgiPot 1
65@setvar! automaticallyDrinkMagicPot 1
66@setvar! automaticallyDrinkHealPot 1
67@setvar! automaticallyDrinkCurePot 1
68@setvar! automaticallyDrinkRefreshPot 1
69
70@setvar! hpCheckToTriggerHealPotion 45
71@setvar! hpCheckToTriggerCurePotion 45
72@setvar! stamDiffCheckToTriggerRedPotion 10
73
74@setvar! drinkPotionsEvenIfInWarModeAndYouLoseHealth 1
75
76# This will be used to grab from keg if you have one
77@setvar! jaseowns_HealthPotCountInBackpack 2
78@setvar! jaseowns_CurePotCountInBackpack 2
79@setvar! jaseowns_ExplosionPotCountInBackpack 2
80@setvar! jaseowns_StrengthPotCountInBackpack 2
81@setvar! jaseowns_MagicResistPotCountInBackpack 2
82@setvar! jaseowns_RefreshPotCountInBackpack 2
83@setvar! jaseowns_AgilityPotCountInBackpack 2
84
85# Overhead counts (helps to know when low)
86@setvar! jaseowns_OverheadAlertsAboutPotionsTimerCD 5000
87@setvar! jaseowns_NoEmptyBottlesAlert 1
88@setvar! jaseowns_HealPotOverheadAlert 1
89@setvar! jaseowns_CurePotOverheadAlert 1
90@setvar! jaseowns_ExplosionPotOverheadAlert 0
91@setvar! jaseowns_StrengthPotOverheadAlert 1
92@setvar! jaseowns_MagicResistPotOverheadAlert 0
93@setvar! jaseowns_RefreshPotOverheadAlert 0
94@setvar! jaseowns_AgilityPotOverheadAlert 0
95
96################################
97###### Chiv abilities
98################
99@setvar! useCleanseByFireAutomatically 1
100@setvar! useCloseWoundsAutomatically 1
101@setvar! useHolyLightAutomatically 1
102@setvar! useDivineFuryAutomatically 1
103@setvar! hpTriggerForHolyLight 35
104@setvar! lowHealthTriggerForNobleSacrifice 40
105
106################################
107###### Weapon abilities
108################
109@setvar! jaseowns_LoadFullCodexBar 0
110@setvar! jaseowns_LoadWeaponAbilityBar 1
111
112@setvar! jaseowns_UseAbilityTimerCD 5000
113
114@setvar! jaseowns_UseAbility1 1
115@setvar! jaseowns_UseAbility2 0
116@setvar! jaseowns_UseAbility3 0
117
118@setvar! myRangeCheckForTarget 1
119
120# Herding
121if skill "Herding" > 0 and findtype 3713 self as firstJrook
122    @setvar! isHerdingActive 0
123    while isHerdingActive = 0
124        if counttype 3713 self > 1
125            @clearignore 
126            while findtype 3713 self as jrook
127                getlabel jrook multiDesc
128                if 'activated' in multiDesc
129                    @setvar! isHerdingActive 1
130                    break
131                endif
132                @ignore jrook
133            endwhile
134            @clearignore 
135            if isHerdingActive = 0
136                dclick firstJrook
137            endif
138        endif
139        
140        if isHerdingActive = 0
141            getlabel firstJrook desc
142            if 'activated' in desc
143                @setvar! isHerdingActive 1
144            else
145                dclick firstJrook
146                getlabel firstJrook desc
147                @setvar! isHerdingActive 1
148            endif 
149        endif
150    endwhile
151endif
152
153if skill "Archery" > 50 or skill "Fishing" > 50
154    @setvar! myRangeCheckForTarget 8   
155endif
156
157if skill "Animal Taming" > 100
158    @setvar! hpTriggerForHolyLight 80
159
160    if not varexist myJaseHelperText
161        overhead "Make sure to set totalPets to your pet count: default is 2" 88
162        @setvar! myJaseHelperText 1
163    endif
164    @setvar! totalPets 2
165
166    # Pets
167    if not varexist myDexxerTankPet
168        @setvar! myDexxerTankPet 0
169    endif
170    if not find myDexxerTankPet ground -1 -1 20
171        overhead "Select your main tank" 88
172        @setvar! myDexxerTankPet
173        wait 200
174    endif
175    
176    if totalPets = 2 or totalPets = 3 or totalPets = 4 or totalPets = 5
177        if not varexist myOtherPet1
178            @setvar! myOtherPet1 0
179        endif
180        if not find myOtherPet1 ground -1 -1 20
181            overhead "Select your non tank pet 1" 88
182            @setvar! myOtherPet1
183            wait 200
184        endif
185    else
186        @setvar! myOtherPet1 0
187    endif
188    
189    if totalPets = 3 or totalPets = 4 or totalPets = 5
190        if not varexist myOtherPet2
191            @setvar! myOtherPet2 0
192        endif
193        if not find myOtherPet2 ground -1 -1 20
194            overhead "Select your non tank pet 2" 88
195            @setvar! myOtherPet2
196            wait 200
197        endif
198    else
199        @setvar! myOtherPet2 0
200    endif
201    
202    if totalPets = 4 or totalPets = 5
203        if not varexist myOtherPet3
204            @setvar! myOtherPet3 0
205        endif
206        if not find myOtherPet3 ground -1 -1 20
207            overhead "Select your non tank pet 3" 88
208            @setvar! myOtherPet3
209            wait 200
210        endif
211    else
212        @setvar! myOtherPet3 0
213    endif
214
215    if totalPets = 5
216        if not varexist myOtherPet4
217            @setvar! myOtherPet4 0
218        endif
219       if not find myOtherPet4 ground -1 -1 20
220            overhead "Select your non tank pet 4" 88
221            @setvar! myOtherPet4
222            wait 200
223        endif
224    else
225        @setvar! myOtherPet4 0
226    endif
227endif
228
229@setvar! cdCleanseByFire 31000
230@setvar! cdCloseWounds 31000
231@setvar! cdHolyLight 31000
232@setvar! cdDivineFury 31000
233@setvar! cdNobleSacrifice 31000
234
235################################
236###### Chiv abilities overheads
237################
238@setvar! showChivUsageAsOverhead 1
239@setvar! showChivUsageAsSystemMessage 1
240@setvar! showChivUsageAsOverheadColor 88
241@setvar! showChivUsageAsSystemMessageColor 88
242
243################################
244###### Bard abilities overheads
245################
246@setvar! showDiscordDebuffAsOverhead 1
247@setvar! showDiscordDebuffAsOverheadColor 55
248@setvar! showPeaceDebuffAsOverhead 1
249@setvar! showPeaceDebuffAsOverheadColor 77
250
251################################
252###### Codex Stance Switch
253################
254@setvar! lowHealthSwitchToWarding 60
255@setvar! switchShieldCodexAutomatically 1
256@setvar! switchToWardingStanceDuringBleed 1
257@setvar! switchToWardingStanceDuringDisease 1
258@setvar! switchToWardingStanceDuringPoison 1
259@setvar! switchToShieldBash 0
260@setvar! switchToBulwark 1
261@setvar! cdSwitchStance 10000
262
263###########
264# If shit is not working right, adjust this number to ping
265#####
266@setvar! minimumWaitForPing 200
267@setvar! minimumWaitForPingUnequipping 650
268@setvar! cdPreventChivAbilitySpam 750
269@setvar! cdSkinningCheck 3000
270
271# This only checks for my specific character and changes stuff for me
272if name = "Jase Rents"
273    @setvar! jaseowns_AutoTaunting 1
274    @setvar! switchShieldCodexAutomatically 0
275    @setvar! switchToShieldBash 1
276    @setvar! switchToBulwark 0
277endif
278
279##############################################
280###########  DO NOT EDIT BELOW THIS
281#######
282        
283
284@setvar! jaseowns_AutoExplodePotTimerCD 15000
285if not timerexists jaseowns_AutoExplodePotTimer
286    settimer jaseowns_AutoExplodePotTimer jaseowns_AutoExplodePotTimerCD
287endif
288
289if skill "Alchemy" < 80
290    @setvar! jaseowns_AutoExplodePot 0
291endif
292
293@setvar! jaseowns_TauntingTimerCD 15000
294
295if not timerexists jaseowns_TauntingTimer
296    settimer jaseowns_TauntingTimer jaseowns_TauntingTimerCD
297endif
298
299if not timerexists jaseowns_UseAbility1Timer
300    settimer jaseowns_UseAbility1Timer 30000
301endif
302
303if not timerexists jaseowns_UseAbility2Timer
304    settimer jaseowns_UseAbility2Timer 30000
305endif
306
307if not timerexists jaseowns_UseAbility3Timer
308    settimer jaseowns_UseAbility3Timer 30000
309endif
310
311if not timerexists jaseowns_OverheadAlertsAboutPotionsTimer
312  settimer jaseowns_OverheadAlertsAboutPotionsTimer jaseowns_OverheadAlertsAboutPotionsTimerCD
313endif
314# This will be used to grab from keg if you have one
315if not varexist jaseowns_HealthPotCountInBackpack
316    @setvar! jaseowns_HealthPotCountInBackpack 2
317endif
318if not varexist jaseowns_CurePotCountInBackpack
319    @setvar! jaseowns_CurePotCountInBackpack 2
320endif
321if not varexist jaseowns_ExplosionPotCountInBackpack
322    @setvar! jaseowns_ExplosionPotCountInBackpack 2
323endif
324if not varexist jaseowns_StrengthPotCountInBackpack
325    @setvar! jaseowns_StrengthPotCountInBackpack 2
326endif
327if not varexist jaseowns_MagicResistPotCountInBackpack
328    @setvar! jaseowns_MagicResistPotCountInBackpack 2
329endif
330if not varexist jaseowns_RefreshPotCountInBackpack
331    @setvar! jaseowns_RefreshPotCountInBackpack 2
332endif
333if not varexist jaseowns_AgilityPotCountInBackpack
334    @setvar! jaseowns_AgilityPotCountInBackpack 2
335endif
336
337@setvar! jaseowns_UseItemTimerCD 500
338settimer jaseowns_UseItemTimer jaseowns_UseItemTimerCD
339
340
341@setvar! cdWorldSaveOver 15000
342
343while not dead
344
345    ## KEG CHECK (need empty bottles)
346    if findtype 3854 self 0
347
348        @setvar! jaseowns_TempOverheadHelper 0
349    
350        if timer jaseowns_UseItemTimer >= jaseowns_UseItemTimerCD and findtype 3854 self 0 and counttype 3852 self 0 < jaseowns_HealthPotCountInBackpack
351            if findtype 6464 self 253 as jaseowns_Keg
352                settimer jaseowns_UseItemTimer 0
353                dclick jaseowns_Keg
354                wait 200
355            endif
356            if jaseowns_HealPotOverheadAlert = 1 and timer jaseowns_OverheadAlertsAboutPotionsTimer >= jaseowns_OverheadAlertsAboutPotionsTimerCD
357                @setvar! jaseowns_TempOverheadHelper 1
358                if counttype 3852 self 0 as jaseowns_PotCount
359                    overhead "Heal potions: {{jaseowns_PotCount}} / {{jaseowns_HealthPotCountInBackpack}}" 253
360                else
361                    overhead "Heal potions: 0 / {{jaseowns_HealthPotCountInBackpack}}" 253
362                endif
363            endif
364        endif
365        
366        if timer jaseowns_UseItemTimer >= jaseowns_UseItemTimerCD and findtype 3854 self 0 and counttype 3847 self 0 < jaseowns_CurePotCountInBackpack
367            if findtype 6464 self 44 as jaseowns_Keg
368                settimer jaseowns_UseItemTimer 0
369                dclick jaseowns_Keg
370                wait 200
371            endif
372            if jaseowns_CurePotOverheadAlert = 1 and timer jaseowns_OverheadAlertsAboutPotionsTimer >= jaseowns_OverheadAlertsAboutPotionsTimerCD
373                @setvar! jaseowns_TempOverheadHelper 1
374                if counttype 3847 self 0 as jaseowns_PotCount
375                    overhead "Cure potions: {{jaseowns_PotCount}} / {{jaseowns_CurePotCountInBackpack}}" 44
376                else
377                    overhead "Cure potions: 0 / {{jaseowns_CurePotCountInBackpack}}" 44
378                endif
379            endif
380        endif
381                
382        if timer jaseowns_UseItemTimer >= jaseowns_UseItemTimerCD and findtype 3854 self 0 and counttype 3853 self 0 < jaseowns_ExplosionPotCountInBackpack
383            if findtype 6464 self 419 as jaseowns_Keg
384                settimer jaseowns_UseItemTimer 0
385                dclick jaseowns_Keg
386                wait 200
387            endif
388            if jaseowns_ExplosionPotOverheadAlert = 1 and timer jaseowns_OverheadAlertsAboutPotionsTimer >= jaseowns_OverheadAlertsAboutPotionsTimerCD
389                if counttype 3853 self 0 as jaseowns_PotCount
390                    @setvar! jaseowns_TempOverheadHelper 1
391                    overhead "Explosion potions: {{jaseowns_PotCount}} / {{jaseowns_ExplosionPotCountInBackpack}}" 419
392                else
393                    overhead "Explosion potions: 0 / {{jaseowns_ExplosionPotCountInBackpack}}" 419
394                endif
395            endif
396        endif
397
398        if timer jaseowns_UseItemTimer >= jaseowns_UseItemTimerCD and findtype 3854 self 0 and counttype 3849 self 0 < jaseowns_StrengthPotCountInBackpack
399            if findtype 6464 self 956 as jaseowns_Keg
400                settimer jaseowns_UseItemTimer 0
401                dclick jaseowns_Keg
402                wait 200
403            endif
404            if jaseowns_StrengthPotOverheadAlert = 1 and timer jaseowns_OverheadAlertsAboutPotionsTimer >= jaseowns_OverheadAlertsAboutPotionsTimerCD
405                @setvar! jaseowns_TempOverheadHelper 1
406                if counttype 3849 self 0 as jaseowns_PotCount
407                    overhead "Strength potions: {{jaseowns_PotCount}} / {{jaseowns_StrengthPotCountInBackpack}}" 956
408                else
409                    overhead "Strength potions: 0 / {{jaseowns_StrengthPotCountInBackpack}}" 956
410                endif
411            endif
412        endif
413        
414        if timer jaseowns_UseItemTimer >= jaseowns_UseItemTimerCD and findtype 3854 self 0 and counttype 3846 self 0 < jaseowns_MagicResistPotCountInBackpack
415            if findtype 6464 self 1109 as jaseowns_Keg
416                settimer jaseowns_UseItemTimer 0
417                dclick jaseowns_Keg
418                wait 200
419            endif
420            if jaseowns_MagicResistPotOverheadAlert = 1 and timer jaseowns_OverheadAlertsAboutPotionsTimer >= jaseowns_OverheadAlertsAboutPotionsTimerCD
421                @setvar! jaseowns_TempOverheadHelper 1
422                if counttype 3846 self 0 as jaseowns_PotCount
423                    overhead "Resist potions: {{jaseowns_PotCount}} / {{jaseowns_MagicResistPotCountInBackpack}}" 1109
424                else
425                    overhead "Resist potions: 0 / {{jaseowns_MagicResistPotCountInBackpack}}" 1109
426                endif
427            endif
428        endif
429
430        if timer jaseowns_UseItemTimer >= jaseowns_UseItemTimerCD and findtype 3854 self 0 and counttype 3851 self 0 < jaseowns_RefreshPotCountInBackpack
431            if findtype 6464 self 37 as jaseowns_Keg
432                settimer jaseowns_UseItemTimer 0
433                dclick jaseowns_Keg
434                wait 200
435            endif
436            if jaseowns_RefreshPotOverheadAlert = 1 and timer jaseowns_OverheadAlertsAboutPotionsTimer >= jaseowns_OverheadAlertsAboutPotionsTimerCD
437                @setvar! jaseowns_TempOverheadHelper 1
438                if counttype 3851 self 0 as jaseowns_PotCount
439                    overhead "Refresh potions: {{jaseowns_PotCount}} / {{jaseowns_RefreshPotCountInBackpack}}" 37
440                else
441                    overhead "Refresh potions: 0 / {{jaseowns_RefreshPotCountInBackpack}}" 37
442                endif
443            endif
444        endif
445        
446        if timer jaseowns_UseItemTimer >= jaseowns_UseItemTimerCD and findtype 3854 self 0 and counttype 3848 self 0 < jaseowns_AgilityPotCountInBackpack
447            if findtype 6464 self 93 as jaseowns_Keg
448                settimer jaseowns_UseItemTimer 0
449                dclick jaseowns_Keg
450                wait 200
451            endif
452            if jaseowns_AgilityPotOverheadAlert = 1 and timer jaseowns_OverheadAlertsAboutPotionsTimer >= jaseowns_OverheadAlertsAboutPotionsTimerCD
453                @setvar! jaseowns_TempOverheadHelper 1
454                if counttype 3848 self 0 as jaseowns_PotCount
455                    overhead "Agility potions: {{jaseowns_PotCount}} / {{jaseowns_AgilityPotCountInBackpack}}" 93
456                else
457                    overhead "Agility potions: 0 / {{jaseowns_AgilityPotCountInBackpack}}" 93
458                endif
459            endif
460        endif
461        
462        if jaseowns_TempOverheadHelper = 1
463            settimer jaseowns_OverheadAlertsAboutPotionsTimer 0
464        endif
465    elseif jaseowns_NoEmptyBottlesAlert = 1 and timer jaseowns_OverheadAlertsAboutPotionsTimer >= jaseowns_OverheadAlertsAboutPotionsTimerCD and findtype "keg" self
466        overhead "No empty bottles, you might be missing potions" 34
467        settimer jaseowns_OverheadAlertsAboutPotionsTimer 0
468    endif
469
470    if not gumpexists 3954121934 and jaseowns_LoadWeaponAbilityBar = 1
471        say '[abilitieshotbar'
472        waitforgump 3954121934 5000
473    endif
474
475    if skill "Animal Taming" > 100
476        while dead myDexxerTankPet
477            if not bandaging and findtype "clean bandage%s%" backpack as item
478                dclick item
479                wft 500
480                target myDexxerTankPet
481            endif
482            
483            if hp <= hpCheckToTriggerHealPotion or hp <= hpTriggerForHolyLight
484                break
485            endif
486            wait 100
487        endwhile
488        
489        # want a timer to start healing pets
490        # if the timer passes certain time
491        # trigger a heal bandage
492        # we want to check system message to see
493        # if its working
494        
495        @setvar! cdPetHeal 8000
496        if not timerexists petHealTimer
497            settimer petHealTimer cdPetHeal
498        endif
499        
500        @setvar! cdPetGuard 8000
501        if not timerexists petGuardTimer
502            settimer petGuardTimer cdPetGuard
503        endif
504        
505        if timer petGuardTimer >= cdPetGuard
506            menu myDexxerTankPet 3
507            if not dead myOtherPet1
508                wait 200
509                menu myOtherPet1 3
510            endif
511            settimer petGuardTimer 0
512        endif
513      
514        if timer petHealTimer >= cdPetHeal
515            
516            if findtype "veterinary supplies" backpack as item
517                if not bandaging
518                    dclick item
519                    wait 650
520                endif
521            else
522                if not bandaging and findtype "clean bandage%s%" backpack as item
523                    dclick item
524                    wft 500
525                    target myDexxerTankPet
526                    overhead "Heal Target" 77 myDexxerTankPet
527                    wait 650
528                endif
529                if myOtherPet1 != 0 and not bandaging and findtype "clean bandage%s%" backpack as item
530                    dclick item
531                    wft 500
532                    target myOtherPet1
533                    overhead "Heal Target" 66 myOtherPet1
534                    wait 650
535                endif
536                if myOtherPet2 != 0 and not bandaging and findtype "clean bandage%s%" backpack as item
537                    dclick item
538                    wft 500
539                    target myOtherPet2
540                    overhead "Heal Target" 55 myOtherPet2
541                    wait 650
542                endif
543                if myOtherPet3 != 0 and not bandaging and findtype "clean bandage%s%" backpack as item
544                    dclick item
545                    wft 500
546                    target myOtherPet3
547                    overhead "Heal Target" 44 myOtherPet3
548                    wait 650
549                endif
550                if myOtherPet4 != 0 and not bandaging and findtype "clean bandage%s%" backpack as item
551                    dclick item
552                    wft 500
553                    target myOtherPet4
554                    overhead "Heal Target" 33 myOtherPet4
555                    wait 650
556                endif
557            endif
558        
559            
560            if not bandaging
561                settimer petHealTimer 0
562            endif
563        endif
564        
565        
566    endif
567
568    if not timerexists skinningCheckTimer
569        settimer skinningCheckTimer cdSkinningCheck
570    endif
571
572    if automaticallySkinCorpses = 1 and findtype "corpse" ground -1 -1 2 as jorpse
573        if findtype "Elven Spellblade" backpack and timer skinningCheckTimer >= cdSkinningCheck 
574            while not targetexists 
575                useskill 'forensicevaluation'
576            endwhile
577            if targetexists 
578                hotkey "Target Self"
579                wait minimumWaitForPing
580                settimer skinningCheckTimer 0
581                @ignore jorpse
582            endif
583        endif
584    endif
585
586    // Trapped
587    if paralyzed 
588        if findtype "pouch" backpack 38 
589            yell "[pouch"
590            wait minimumWaitForPing
591        else
592            overhead "Out of Pouches!" 34
593        endif
594    endif
595
596    if findbuff "weaken" and weight > maxweight 
597        if findtype "gold coin" backpack as item
598            lift item 2000
599            droprelloc 0 0
600            wait minimumWaitForPing
601            if insysmsg "cannot drop anything"
602                drop backpack -1 -1 -1
603            endif
604            wait minimumWaitForPingUnequipping
605        else
606            overhead "We are overweight and cannot drop anything" 34
607        endif
608    endif
609#
610#    if not varexist jaseCrimHealCheck
611#        gumpclose 3587807212
612#        while not gumpexists 3587807212
613#            say '[commands'
614#            wait 200
615#        endwhile
616#        gumpresponse 11 3587807212
617#        waitforgump 3587807212 5000
618#        gumpresponse 3 3587807212
619#        waitforgump 3587807212 5000
620#        if ingump "[PreventCriminalHealing" 3587807212
621#            if ingump "Prevented"
622#                gumpclose 3587807212
623#            else
624#                gumpresponse 29 3587807212
625#                waitforgump 3587807212 5000
626#                gumpclose 3587807212
627#            endif
628#        endif
629#        @setvar! jaseCrimHealCheck 1
630#    endif
631
632    if not timerexists worldSaveTimer
633        settimer worldSaveTimer cdWorldSaveOver
634    endif
635
636    if insysmsg 'world will save'
637        overhead "World save coming soon.."
638        settimer worldSaveTimer 0
639    elseif insysmsg 'world is saving'
640        for 100
641            overhead 'Waiting for world save...'
642            wait 100
643            if insysmsg 'save complete'
644                settimer worldSaveTimer cdWorldSaveOver
645                overhead 'Save complete - continue on!' 88
646                break
647            endif
648        endfor
649    endif
650
651    if timer worldSaveTimer >= cdWorldSaveOver
652        if automaticallyPoisonWeaponThatIsEquipped = 1 and skill "Poisoning" > 0
653            if findlayer self righthand as found
654                @setvar! weapon_equipped found
655            elseif findlayer self lefthand as found
656                @setvar! weapon_equipped found
657            else
658                overhead "Unknown or no weapon equipped" 34
659                stop
660            endif  
661            getlabel weapon_equipped desc
662            if "poison charges" in desc
663                // do nothing
664            else
665                if findtype "Green Potion" backpack
666                    menu weapon_equipped 0
667                else
668                    overhead "No poison pots" 34
669                endif
670            endif  
671        endif
672    endif
673
674    if not findtype "White Potion" self
675        @setvar! automaticallyDrinkStrPot 0
676    endif
677
678    if not findtype "Blue Potion" self
679        @setvar! automaticallyDrinkAgiPot 0
680    endif
681
682    if not findtype "Black Potion" self
683        @setvar! automaticallyDrinkMagicPot 0
684    endif
685
686    @setvar! cdAids 15000
687    if dex >= 100
688        @setvar! cdAids 10000    
689    endif
690
691    if not timerexists preventOverheadSpamTimer
692        createtimer preventOverheadSpamTimer
693        settimer preventOverheadSpamTimer cdPreventOverheadSpam
694    endif
695
696    if not timerexists preventChivAbilitySpamTimer
697        createtimer preventChivAbilitySpamTimer
698        settimer preventChivAbilitySpamTimer cdPreventChivAbilitySpam
699    endif
700
701    if not timerexists aidsTimer
702        createtimer aidsTimer
703        settimer aidsTimer cdAids
704    endif
705
706    @setvar! myKillTarget 0 
707    @setvar! targetInRange 0 
708
709    if not varexist myPreviousKillTarget
710        @setvar myPreviousKillTarget 0     
711    endif
712
713    if warmode 
714        // do nothing
715    else
716        @hotkey 'Target Closest Non-Friendly Monster'
717        wait minimumWaitForPing
718        if insysmsg "No one matching that was found"
719            if timer preventOverheadSpamTimer >= cdPreventOverheadSpam
720                overhead "found no one" 34
721                settimer preventOverheadSpamTimer 0
722            endif
723        else
724            @setvar! myKillTarget lasttarget 
725        endif    
726        
727        if not varexist autoAttack
728            @setvar! autoAttack 1
729        endif
730        
731        if myKillTarget != 0 and myPreviousKillTarget != myKillTarget
732            getlabel myKillTarget mobDesc
733            @setvar! myPreviousKillTarget myKillTarget
734        
735            if "(summoned" in mobDesc or "(bonded" in mobDesc or "(tame" in mobDesc
736                overhead "▼ Player pet - IGNORE ▼" 77 lasttarget
737                @setvar! autoAttack 0
738            else  
739                @setvar! autoAttack 1
740            endif    
741        endif
742        
743
744        
745        if myKillTarget = 0
746            // do nothing
747        elseif not find lasttarget ground -1 -1 myRangeCheckForTarget
748            if showTargetOverheadMessages = 1 and timer preventOverheadSpamTimer >= cdPreventOverheadSpam
749                overhead "● ▼ OUT OF RANGE ▼ ●" 88 lasttarget
750                settimer preventOverheadSpamTimer 0
751            endif
752            if find lasttarget ground -1 -1 8 and autoAttack = 1
753                attack lasttarget 
754            endif
755        elseif autoAttack = 1
756            @setvar! targetInRange 1
757            if showTargetOverheadMessages = 1 and timer preventOverheadSpamTimer >= cdPreventOverheadSpam
758                overhead "● ▼▼ HERE ▼▼ ●" 88 lasttarget    
759                settimer preventOverheadSpamTimer 0
760            endif
761            attack lasttarget 
762
763            # Purple Potion
764            if jaseowns_AutoExplodePot = 1 and timer jaseowns_AutoExplodePotTimer >= jaseowns_AutoExplodePotTimerCD and findtype 3853 self 0 as jaseowns_Pot
765                
766                dclick jaseowns_Pot
767
768                if findtype 3853 self 0 as jaseowns_Pot2
769                    getlabel jaseowns_Pot2 jaseowns_PotDesc    
770                    if "next" in jaseowns_PotDesc
771                        if "12 seconds" in jaseowns_PotDesc
772                            @setvar! jaseowns_AutoExplodePotTimerCD 12000
773                        elseif "13 seconds" in jaseowns_PotDesc
774                            @setvar! jaseowns_AutoExplodePotTimerCD 13000
775                        elseif "14 seconds" in jaseowns_PotDesc
776                            @setvar! jaseowns_AutoExplodePotTimerCD 14000
777                        elseif "15 seconds" in jaseowns_PotDesc
778                            @setvar! jaseowns_AutoExplodePotTimerCD 15000
779                        endif
780                        settimer jaseowns_AutoExplodePotTimer 0
781                        cooldown "Purple Pot" jaseowns_AutoExplodePotTimerCD
782                    endif
783                endif
784                
785                wft 500
786                target lasttarget
787            endif
788            
789
790            if jaseowns_UseAbility1 = 1 and timer jaseowns_UseAbility1Timer >= jaseowns_UseAbilityTimerCD
791                say "[WeaponAbility1"
792                getlabel backpack jaseowns_PingCheck 
793                if insysmsg "You do cannot perform that ability yet."
794                    settimer jaseowns_UseAbility1Timer 0
795                elseif insysmsg "You have not yet unlocked that weapon ability."
796                    @setvar! jaseowns_UseAbility1 0
797                else
798                    settimer jaseowns_UseAbility1Timer 0 
799                endif
800            endif 
801
802            if jaseowns_UseAbility2 = 1 and timer jaseowns_UseAbility2Timer >= jaseowns_UseAbilityTimerCD
803                say "[WeaponAbility2"
804                getlabel backpack jaseowns_PingCheck 
805                if insysmsg "You do cannot perform that ability yet."
806                    settimer jaseowns_UseAbility2Timer 0
807                elseif insysmsg "You have not yet unlocked that weapon ability."
808                    @setvar! jaseowns_UseAbility2 0
809                else
810                    settimer jaseowns_UseAbility2Timer 0 
811                endif
812            endif   
813            
814            if jaseowns_UseAbility3 = 1 and timer jaseowns_UseAbility3Timer >= jaseowns_UseAbilityTimerCD
815                say "[WeaponAbility3"
816                getlabel backpack jaseowns_PingCheck 
817                if insysmsg "You do cannot perform that ability yet."
818                    settimer jaseowns_UseAbility3Timer 0
819                elseif insysmsg "You have not yet unlocked that weapon ability."
820                    @setvar! jaseowns_UseAbility3 0
821                else
822                    settimer jaseowns_UseAbility3Timer 0 
823                endif
824            endif   
825
826            
827        endif
828    endif
829
830    # Eat food if we got it
831    if not findbuff "food" and findtype "tray" backpack as jood
832        dclick jood
833        wait minimumWaitForPing
834    endif
835
836    @setvar! needStrBuff 0
837    @setvar! needDexBuff 0
838    @setvar! needMagicBuff 0
839    @setvar! needHealPot 0
840    @setvar! needCurePot 0
841    @setvar! needRefreshPot 0
842
843    @setvar! drinkThosePots 0
844
845    if targetInRange = 1 
846       @setvar! drinkThosePots 1   
847    elseif warmode and drinkPotionsEvenIfInWarModeAndYouLoseHealth = 1 and hp < maxhp
848        @setvar! drinkThosePots 1   
849    endif
850
851    if automaticallyDrinkStrPot = 1 and drinkThosePots = 1 and not findbuff "Strength"
852        @setvar! needStrBuff 1
853    endif
854
855    if automaticallyDrinkAgiPot = 1 and drinkThosePots = 1 and not findbuff "Agility"
856        @setvar! needDexBuff 1 
857    endif
858
859    if automaticallyDrinkMagicPot = 1 and drinkThosePots = 1 and not findbuff "Magic Resist Potion"
860        @setvar! needMagicBuff 1 
861    endif
862
863    if automaticallyDrinkHealPot = 1 and hp <= hpCheckToTriggerHealPotion
864        @setvar! needHealPot 1 
865    endif
866
867    if automaticallyDrinkCurePot = 1 and poisoned and hp <= hpCheckToTriggerCurePotion
868        @setvar! needCurePot 1 
869    endif
870
871    if automaticallyDrinkRefreshPot = 1 and diffstam >= stamDiffCheckToTriggerRedPotion
872        @setvar! needRefreshPot 1 
873    endif
874
875    if needStrBuff = 1 and not findtype "White Potion" self
876        @setvar! needStrBuff 0
877    endif
878
879    if needDexBuff = 1 and not findtype "Blue Potion" self
880        @setvar! needDexBuff 0
881    endif
882
883    if needMagicBuff = 1 and not findtype "Black Potion" self
884        @setvar! needMagicBuff 0
885    endif
886
887    if needHealPot = 1 and not findtype "Yellow Potion" self
888        @setvar! needHealPot 0
889    elseif needHealPot = 1 and findtype "Yellow Potion" self as item
890        getlabel item healPotDesc
891        if "next usable" in healPotDesc
892            @setvar! needHealPot 0
893        else
894            @setvar! needHealPot 1
895        endif
896    endif
897
898    if needCurePot = 1 and not findtype "Orange Potion" self
899        @setvar! needCurePot 0
900    endif
901
902    if needRefreshPot = 1 and not findtype "Red Potion" self
903        @setvar! needRefreshPot 0
904    endif
905
906
907    if needStrBuff = 1 or needDexBuff = 1 or needMagicBuff = 1 or needHealPot = 1 or needCurePot = 1 or needRefreshPot = 1
908
909            if needHealPot = 1
910                if findtype "Yellow Potion" self as jotion
911                    overhead "chug heal"
912                    dclick jotion
913                    wait minimumWaitForPing
914                    cooldown "Yellow Potion" 10000
915                else
916                    overhead "No Heal potion found!" 34
917                endif
918            endif
919            
920            if needCurePot = 1
921                if findtype "Orange Potion" self as jotion
922                    overhead "chug cure"
923                    dclick jotion
924                    wait minimumWaitForPing
925                else
926                    overhead "No Cure potion found!" 34
927                endif
928            endif
929            
930                        
931            if needDexBuff = 1
932                if findtype "Blue Potion" self as jotion
933                    overhead "chug"
934                    dclick jotion
935                    wait minimumWaitForPing
936                else
937                    overhead "No AGI potion found!" 34
938                endif
939            endif
940            
941            if automaticallyDrinkRefreshPot = 1 and diffstam >= stamDiffCheckToTriggerRedPotion
942                @setvar! needRefreshPot 1 
943            endif
944        
945            if needRefreshPot = 1
946                if findtype "Red Potion" self as jotion
947                    overhead "chug refresh"
948                    dclick jotion
949                    wait minimumWaitForPing
950                else
951                    overhead "No Refresh potion found!" 34
952                endif
953            endif
954        
955            if needStrBuff = 1
956                if findtype "White Potion" self as jotion
957                    overhead "chug"
958                    dclick jotion
959                    wait minimumWaitForPing
960                else
961                    overhead "No STR potion found!" 34
962                endif
963            endif
964            
965            if needMagicBuff = 1
966                if findtype "Black Potion" self as jotion
967                    overhead "chug"
968                    dclick jotion
969                    wait minimumWaitForPing
970                else
971                    overhead "No MR potion found!" 34
972                endif
973            endif
974
975    endif
976
977    #############
978    ### CODEX
979    #############
980    if timer worldSaveTimer >= cdWorldSaveOver and skill "Parrying" >= 80 and findtype "shield codex" backpack as item
981
982        if not timerexists jaseSwitchStanceTimer
983            settimer jaseSwitchStanceTimer cdSwitchStance
984        endif
985        
986        if not varexist canUseShieldFinisher
987            @setvar! canUseShieldFinisher 1
988        endif
989
990        if not gumpexists 2016719803 and jaseowns_LoadFullCodexBar = 1
991            while not gumpexists 1066647553
992                overhead "Loading hotbar"
993                yell "[CodexHotBar"
994                getlabel backpack jaseowns_PingCheck
995                if gumpexists 2016719803
996                    break
997                endif
998            endwhile
999        endif
1000
1001        if switchShieldCodexAutomatically = 1 and timer jaseSwitchStanceTimer >= cdSwitchStance
1002            getlabel item codexDesc
1003            
1004            // make sure we are in warding stance
1005            @setvar! switchToWarding 0
1006
1007            if switchToWardingStanceDuringBleed = 1 and findbuff "bleed" 
1008                @setvar! switchToWarding 1
1009            elseif switchToWardingStanceDuringDisease = 1 and findbuff "disease" 
1010                @setvar! switchToWarding 1
1011            elseif switchToWardingStanceDuringPoison = 1 and poisoned
1012                @setvar! switchToWarding 1
1013            endif
1014
1015            if switchToWarding = 1 and hp < lowHealthSwitchToWarding
1016                if "Warding" in codexDesc
1017                    // we good
1018                else
1019                    yell [ShieldsStance2
1020                    settimer jaseSwitchStanceTimer 0
1021                    wait 200
1022                endif    
1023                
1024                if "Barrier" in codexDesc
1025                    // we good
1026                elseif canUseShieldFinisher = 1
1027                    yell [ShieldsFinisher2
1028                    wait 200
1029                    if insysmsg "You must first reach rank 5"
1030                        @setvar! canUseShieldFinisher 0
1031                    endif
1032                endif    
1033            elseif switchToBulwark = 1
1034                if "Bulwark" in codexDesc
1035                    // we good
1036                else
1037                    yell [ShieldsStance5
1038                    settimer jaseSwitchStanceTimer 0
1039                    wait 200
1040                endif
1041                
1042                if "Last Stand" in codexDesc
1043                    // we good
1044                elseif canUseShieldFinisher = 1
1045                    yell [ShieldsFinisher1
1046                    wait 200
1047                    if insysmsg "You must first reach rank 5"
1048                        @setvar! canUseShieldFinisher 0
1049                    endif
1050                endif
1051            elseif switchToShieldBash = 1
1052                if "Shield Bash" in codexDesc
1053                    // we good
1054                else
1055                    yell [ShieldsStance1
1056                    settimer jaseSwitchStanceTimer 0
1057                    wait 200
1058                endif
1059                
1060                if "Last Stand" in codexDesc
1061                    // we good
1062                elseif canUseShieldFinisher = 1
1063                    yell [ShieldsFinisher1
1064                    wait 200
1065                    if insysmsg "You must first reach rank 5"
1066                        @setvar! canUseShieldFinisher 0
1067                    endif
1068                endif
1069            endif
1070        endif
1071    endif
1072
1073    if skill "Tracking" > 0
1074        if not findbuff "tracking"
1075            clearsysmsg
1076            while not gumpexists 4267467659
1077                useskill 'tracking'
1078                wait minimumWaitForPing
1079            endwhile
1080            if gumpexists 4267467659
1081                while not insysmsg "You will now hunt all hostile players."
1082                    gumpresponse 8 4267467659
1083                    waitforgump 4267467659 5000
1084                endwhile
1085                gumpresponse 6 4267467659
1086                wait minimumWaitForPing
1087            endif
1088            gumpclose 4267467659
1089        endif
1090    endif
1091
1092    if skill "Chivalry" >= 50
1093
1094        @setvar! chivSymbols 0
1095        @setvar! cdCleanseByFire 31000
1096        @setvar! cdCloseWounds 31000
1097        @setvar! cdHolyLight 31000
1098        @setvar! cdDivineFury 31000
1099        @setvar! cdNobleSacrifice 31000
1100
1101        if not timerexists nobleSacrificeTimer
1102            createtimer nobleSacrificeTimer
1103            settimer nobleSacrificeTimer cdCleanseByFire
1104        endif
1105
1106        if not timerexists cleanseByFireTimer
1107            createtimer cleanseByFireTimer
1108            settimer cleanseByFireTimer cdCleanseByFire
1109        endif
1110
1111        if not timerexists closeWoundsTimer
1112            createtimer closeWoundsTimer
1113            settimer closeWoundsTimer cdCloseWounds
1114        endif
1115        
1116        if not timerexists holyLightTimer
1117            createtimer holyLightTimer
1118            settimer holyLightTimer cdHolyLight
1119        endif
1120        
1121        if not timerexists divineFuryTimer
1122            createtimer divineFuryTimer
1123            settimer divineFuryTimer cdDivineFury
1124        endif
1125        
1126        while not gumpexists 1387930325
1127            say "[ChivalryHotbar"
1128            wait 200
1129        endwhile
1130        
1131        if gumpexists 1387930325
1132            if ingump "12/" 1387930325
1133                @setvar! chivSymbols 12
1134            elseif ingump "13/" 1387930325
1135                @setvar! chivSymbols 13
1136            elseif ingump "14/" 1387930325
1137                @setvar! chivSymbols 14
1138            elseif ingump "15/" 1387930325
1139                @setvar! chivSymbols 15
1140            elseif ingump "16/" 1387930325
1141                @setvar! chivSymbols 16
1142            elseif ingump "17/" 1387930325
1143                @setvar! chivSymbols 17
1144            elseif ingump "18/" 1387930325
1145                @setvar! chivSymbols 18
1146            elseif ingump "19/" 1387930325
1147                @setvar! chivSymbols 19
1148            elseif ingump "20/" 1387930325
1149                @setvar! chivSymbols 20
1150            elseif ingump "21/" 1387930325
1151                @setvar! chivSymbols 21
1152            elseif ingump "11/" 1387930325
1153                @setvar! chivSymbols 11
1154            elseif ingump "10/" 1387930325
1155                @setvar! chivSymbols 10
1156            elseif ingump "9/" 1387930325
1157                @setvar! chivSymbols 9
1158            elseif ingump "8/" 1387930325
1159                @setvar! chivSymbols 8
1160            elseif ingump "7/" 1387930325
1161                @setvar! chivSymbols 7
1162            elseif ingump "6/" 1387930325
1163                @setvar! chivSymbols 6
1164            elseif ingump "5/" 1387930325
1165                @setvar! chivSymbols 5
1166            elseif ingump "4/" 1387930325
1167                @setvar! chivSymbols 4
1168            elseif ingump "3/" 1387930325
1169                @setvar! chivSymbols 3
1170            elseif ingump "2/" 1387930325
1171                @setvar! chivSymbols 2
1172            elseif ingump "1/" 1387930325
1173                @setvar! chivSymbols 1
1174            elseif ingump "0/" 1387930325
1175                @setvar! chivSymbols 0
1176            endif
1177        endif
1178        
1179        if hp <= lowHealthTriggerForNobleSacrifice and skill "Chivalry" >= 80
1180            if timer preventChivAbilitySpamTimer >= cdPreventChivAbilitySpam and timer nobleSacrificeTimer >= cdNobleSacrifice and 4 < chivSymbols
1181                if skill "Healing" > 0
1182                    hotkey 'Bandage Self'
1183                    settimer aidsTimer 0
1184                    wait minimumWaitForPing
1185                endif
1186                if showChivUsageAsOverhead = 1
1187                    overhead "Noble Sacrifice" showChivUsageAsOverheadColor
1188                endif
1189                if showChivUsageAsSystemMessage = 1
1190                    sysmsg "Noble Sacrifice" showChivUsageAsSystemMessageColor
1191                endif
1192                yell "[NobleSacrifice"
1193                wft 500
1194                hotkey "Target Self"
1195                wait 200
1196                if insysmsg "Holy symbols remaining:"
1197                    settimer nobleSacrificeTimer 0
1198                    settimer preventChivAbilitySpamTimer 0
1199                    cooldown NobleSacrifice cdNobleSacrifice
1200                endif
1201                if gumpexists 1387930325
1202                    if ingump "12/" 1387930325
1203                        @setvar! chivSymbols 12
1204                    elseif ingump "13/" 1387930325
1205                        @setvar! chivSymbols 13
1206                    elseif ingump "14/" 1387930325
1207                        @setvar! chivSymbols 14
1208                    elseif ingump "15/" 1387930325
1209                        @setvar! chivSymbols 15
1210                    elseif ingump "16/" 1387930325
1211                        @setvar! chivSymbols 16
1212                    elseif ingump "17/" 1387930325
1213                        @setvar! chivSymbols 17
1214                    elseif ingump "18/" 1387930325
1215                        @setvar! chivSymbols 18
1216                    elseif ingump "19/" 1387930325
1217                        @setvar! chivSymbols 19
1218                    elseif ingump "20/" 1387930325
1219                        @setvar! chivSymbols 20
1220                    elseif ingump "21/" 1387930325
1221                        @setvar! chivSymbols 21
1222                    elseif ingump "11/" 1387930325
1223                        @setvar! chivSymbols 11
1224                    elseif ingump "10/" 1387930325
1225                        @setvar! chivSymbols 10
1226                    elseif ingump "9/" 1387930325
1227                        @setvar! chivSymbols 9
1228                    elseif ingump "8/" 1387930325
1229                        @setvar! chivSymbols 8
1230                    elseif ingump "7/" 1387930325
1231                        @setvar! chivSymbols 7
1232                    elseif ingump "6/" 1387930325
1233                        @setvar! chivSymbols 6
1234                    elseif ingump "5/" 1387930325
1235                        @setvar! chivSymbols 5
1236                    elseif ingump "4/" 1387930325
1237                        @setvar! chivSymbols 4
1238                    elseif ingump "3/" 1387930325
1239                        @setvar! chivSymbols 3
1240                    elseif ingump "2/" 1387930325
1241                        @setvar! chivSymbols 2
1242                    elseif ingump "1/" 1387930325
1243                        @setvar! chivSymbols 1
1244                    elseif ingump "0/" 1387930325
1245                        @setvar! chivSymbols 0
1246                    endif
1247                endif
1248            endif
1249        endif
1250        
1251        if poisoned and skill "Chivalry" >= 60
1252            if timer preventChivAbilitySpamTimer >= cdPreventChivAbilitySpam and useCleanseByFireAutomatically = 1 and timer cleanseByFireTimer >= cdCleanseByFire and 2 < chivSymbols
1253                if showChivUsageAsOverhead = 1
1254                    overhead "Cleanse by fire" showChivUsageAsOverheadColor
1255                endif
1256                if showChivUsageAsSystemMessage = 1
1257                    sysmsg "Cleanse by fire" showChivUsageAsSystemMessageColor
1258                endif
1259                yell "[CleanseByFire"
1260                wait 200
1261                if insysmsg "Holy symbols remaining:"
1262                    settimer cleanseByFireTimer 0
1263                    settimer preventChivAbilitySpamTimer 0
1264                    cooldown CleanseByFire cdCleanseByFire
1265                endif
1266            endif
1267        elseif findbuff "bleed" or findbuff "disease" and skill "Chivalry" >= 70
1268            if timer preventChivAbilitySpamTimer >= cdPreventChivAbilitySpam and useCloseWoundsAutomatically = 1 and timer closeWoundsTimer >= cdCleanseByFire and 3 < chivSymbols
1269                if showChivUsageAsOverhead = 1
1270                    overhead "Close Wounds" showChivUsageAsOverheadColor
1271                endif
1272                if showChivUsageAsSystemMessage = 1
1273                    sysmsg "Close Wounds" showChivUsageAsSystemMessageColor
1274                endif
1275                yell "[CloseWounds"
1276                wait 200
1277                if insysmsg "Holy symbols remaining:"
1278                    settimer closeWoundsTimer 0
1279                    settimer preventChivAbilitySpamTimer 0
1280                    cooldown CloseWounds cdCloseWounds
1281                endif
1282            endif
1283        endif
1284        
1285        if gumpexists 1387930325
1286            if ingump "12/" 1387930325
1287                @setvar! chivSymbols 12
1288            elseif ingump "13/" 1387930325
1289                @setvar! chivSymbols 13
1290            elseif ingump "14/" 1387930325
1291                @setvar! chivSymbols 14
1292            elseif ingump "15/" 1387930325
1293                @setvar! chivSymbols 15
1294            elseif ingump "16/" 1387930325
1295                @setvar! chivSymbols 16
1296            elseif ingump "17/" 1387930325
1297                @setvar! chivSymbols 17
1298            elseif ingump "18/" 1387930325
1299                @setvar! chivSymbols 18
1300            elseif ingump "19/" 1387930325
1301                @setvar! chivSymbols 19
1302            elseif ingump "20/" 1387930325
1303                @setvar! chivSymbols 20
1304            elseif ingump "21/" 1387930325
1305                @setvar! chivSymbols 21
1306            elseif ingump "11/" 1387930325
1307                @setvar! chivSymbols 11
1308            elseif ingump "10/" 1387930325
1309                @setvar! chivSymbols 10
1310            elseif ingump "9/" 1387930325
1311                @setvar! chivSymbols 9
1312            elseif ingump "8/" 1387930325
1313                @setvar! chivSymbols 8
1314            elseif ingump "7/" 1387930325
1315                @setvar! chivSymbols 7
1316            elseif ingump "6/" 1387930325
1317                @setvar! chivSymbols 6
1318            elseif ingump "5/" 1387930325
1319                @setvar! chivSymbols 5
1320            elseif ingump "4/" 1387930325
1321                @setvar! chivSymbols 4
1322            elseif ingump "3/" 1387930325
1323                @setvar! chivSymbols 3
1324            elseif ingump "2/" 1387930325
1325                @setvar! chivSymbols 2
1326            elseif ingump "1/" 1387930325
1327                @setvar! chivSymbols 1
1328            elseif ingump "0/" 1387930325
1329                @setvar! chivSymbols 0
1330            endif
1331        endif
1332        
1333        if timer preventChivAbilitySpamTimer >= cdPreventChivAbilitySpam and useHolyLightAutomatically = 1 and hp <= hpTriggerForHolyLight and skill "Chivalry" >= 95
1334            
1335            @setvar! doubleCheckHolyLight 1
1336        
1337            if skill "Healing" > 0 and cdAids = 10000 and timer aidsTimer >= 9000
1338                // skip holy light
1339                overhead "Skipping Holy Light" 34
1340                @setvar! doubleCheckHolyLight 0
1341                // unless we gonna die
1342                if hp <= 20 or poisoned
1343                    overhead "Just kidding, do not wanna die" 34
1344                    @setvar! doubleCheckHolyLight 1
1345                endif
1346            endif
1347            
1348            if doubleCheckHolyLight = 1
1349                if timer holyLightTimer >= cdHolyLight and 5 < chivSymbols
1350                    if showChivUsageAsOverhead = 1
1351                        overhead "Holy Light" showChivUsageAsOverheadColor
1352                    endif
1353                    if showChivUsageAsSystemMessage = 1
1354                        sysmsg "Holy Light" showChivUsageAsSystemMessageColor
1355                    endif
1356                    yell "[HolyLight"
1357                    wait 200
1358                    if insysmsg "Holy symbols remaining:"
1359                        settimer holyLightTimer 0
1360                        settimer preventChivAbilitySpamTimer 0
1361                        cooldown HolyLight cdHolyLight
1362                    endif
1363                endif
1364            endif
1365        endif
1366        
1367        if timer preventChivAbilitySpamTimer >= cdPreventChivAbilitySpam and targetInRange = 1 and useDivineFuryAutomatically = 1 and skill "Chivalry" >= 85
1368            if timer divineFuryTimer >= cdDivineFury and 4 < chivSymbols
1369                if showChivUsageAsOverhead = 1
1370                    overhead "Divine Fury" showChivUsageAsOverheadColor
1371                endif
1372                if showChivUsageAsSystemMessage = 1
1373                    sysmsg "Divine Fury" showChivUsageAsSystemMessageColor
1374                endif
1375                yell "[DivineFury"
1376                wait 200
1377                if insysmsg "Holy symbols remaining:"
1378                    settimer divineFuryTimer 0
1379                    settimer preventChivAbilitySpamTimer 0
1380                    cooldown DivineFury cdDivineFury
1381                endif
1382            endif
1383        endif
1384    endif
1385
1386    if not targetexists and skill "Healing" > 0
1387            
1388        @setvar! cdAids 15000
1389        if dex >= 100
1390            @setvar! cdAids 10000    
1391        endif
1392
1393        if not timerexists aidsTimer
1394            createtimer aidsTimer
1395            settimer aidsTimer cdAids
1396        endif
1397
1398        if findtype "clean bandage%s%" backpack
1399            if not bandaging and hp < maxhp
1400                hotkey 'Bandage Self'
1401                settimer aidsTimer 0
1402            elseif not bandaging and poisoned
1403                hotkey 'Bandage Self'
1404                settimer aidsTimer 0
1405            elseif not bandaging and findbuff "bleed"
1406                hotkey 'Bandage Self'
1407                settimer aidsTimer 0
1408            elseif not bandaging and findbuff "disease"
1409                hotkey 'Bandage Self'
1410                settimer aidsTimer 0
1411            endif
1412        else
1413            overhead "No bandages" 34
1414        endif
1415    endif
1416
1417    if not timerexists sCheck
1418        createtimer sCheck
1419        settimer sCheck 11000
1420    endif
1421    
1422    if jaseowns_AutoTaunting = 1 and find myKillTarget ground -1 -1 2 and skill "Parry" >= 80
1423        if not cooldown "Taunting" and timer jaseowns_TauntingTimer >= jaseowns_TauntingTimerCD
1424            say "[Taunt"
1425            wft 500
1426            if targetexists 
1427                target myKillTarget
1428                getlabel backpack jaseowns_PingCheck
1429                if not targetexists 
1430                    if insysmsg "Cannot be seen"
1431                        // do nothing
1432                    else
1433                        cooldown "Taunting" jaseowns_TauntingTimerCD
1434                        settimer jaseowns_TauntingTimer 0
1435                    endif
1436                endif
1437            endif
1438        endif
1439    endif
1440
1441       
1442
1443    if find myKillTarget ground -1 -1 10 and skill "Discordance" > 0
1444        
1445        getlabel myKillTarget descBard
1446
1447        if "discord" in descBard
1448            if showDiscordDebuffAsOverhead = 1
1449                overhead "Already discorded" showDiscordDebuffAsOverheadColor myKillTarget
1450            endif
1451        elseif timer sCheck >= 5000
1452            useskill 'Discordance'
1453            wft 500
1454            if insysmsg "What instrument"
1455                if findtype "bamboo flute" backpack as inny
1456                    target inny
1457                elseif findtype "tambourine" backpack as inny
1458                    target inny
1459                elseif findtype "drum" backpack as inny
1460                    target inny
1461                elseif findtype "lute" backpack as inny
1462                    target inny
1463                elseif findtype "lap harp" backpack as inny
1464                    target inny
1465                else
1466                    overhead "I do not have an inny" 34
1467                    wait 2000
1468                endif
1469                wft 500
1470            endif
1471                
1472            if targetexists 
1473                target myKillTarget
1474                wait 200
1475                if insysmsg "you play success"
1476                    settimer sCheck 0
1477                elseif insysmsg "t incite that!"
1478                    // bad target
1479                elseif insysmsg "You fail to"
1480                    settimer sCheck 0
1481                endif
1482            endif
1483
1484        else
1485            overhead "Waiting for skill cooldown..." 88
1486        endif
1487    endif
1488
1489
1490    if find myKillTarget ground -1 -1 10 and skill "Peacemaking" > 0
1491        
1492        getlabel myKillTarget descBard
1493        
1494
1495        if "pacified" in descBard
1496            if showPeaceDebuffAsOverhead = 1
1497                overhead "Already peaced" showPeaceDebuffAsOverheadColor myKillTarget
1498            endif
1499        elseif timer sCheck >= 5000
1500            useskill 'Peacemaking'
1501            wft 500
1502            if insysmsg "What instrument"
1503                if findtype "bamboo flute" backpack as inny
1504                    target inny
1505                elseif findtype "tambourine" backpack as inny
1506                    target inny
1507                elseif findtype "drum" backpack as inny
1508                    target inny
1509                elseif findtype "lute" backpack as inny
1510                    target inny
1511                elseif findtype "lap harp" backpack as inny
1512                    target inny
1513                else
1514                    overhead "I do not have an inny" 34
1515                    wait 2000
1516                endif
1517                wft 500
1518            endif
1519                
1520            if targetexists 
1521                target myKillTarget
1522                wait 200
1523                if insysmsg "you play success"
1524                    settimer sCheck 0
1525                elseif insysmsg "t incite that!"
1526                    // bad target
1527                elseif insysmsg "You fail to"
1528                    settimer sCheck 0
1529                endif
1530            endif
1531
1532        else
1533            overhead "Waiting for skill cooldown..." 88
1534        endif
1535    endif
1536
1537
1538     
1539    if skill "Discordance" > 0
1540        if not findbuff "song of discordance" and timer sCheck >= 11000
1541            useskill 'Discordance'
1542            wft 500
1543            target backpack
1544            settimer sCheck 0
1545        endif
1546    endif
1547
1548    if skill "Provocation" > 0
1549        if not findbuff "song of provocation" and timer sCheck >= 11000
1550            useskill 'Provocation'
1551            wft 500
1552            target backpack
1553            settimer sCheck 0
1554        endif
1555    endif
1556
1557    if skill "Peacemaking" > 0
1558        if not findbuff "song of peacemaking" and timer sCheck >= 11000
1559            useskill 'Peacemaking'
1560            wft 500
1561            target backpack
1562            settimer sCheck 0
1563        endif
1564    endif
1565
1566    wait 200
1567endwhile
1568
1569while dead 
1570    overhead "Rip" 34
1571    if gumpexists 2957810225
1572        gumpresponse 1 2957810225
1573        break
1574    endif        
1575    wait 500
1576endwhile
1577
1578replay