Dexxer tamer bot (pretty good) (1) by Jaseowns
Description: 6/7/2024 updated to remove free hand potion drinking check.
We fixed focus aggression by removing it. Use all guard me in game.
Use https://outlands.uorazorscripts.com/script/eeddf9ef-078c-400a-b136-39499bfc1709 to set your pet
1# Dexxer tamer bot WIP by Jaseowns
2# UO Outlands
3########################################
4# V 3.2.0 - Last Updated: 06/07/2024 ##
5########################################
6# Lots to do still... youtube.com/jaseowns/live
7# set pet variable: https://outlands.uorazorscripts.com/script/eeddf9ef-078c-400a-b136-39499bfc1709
8####
9## Skills / Situations this script handles
10#####
11## Targeting (Warmode)
12## Healing (vet supplies)
13## Herding (no longer needed - 1/13/20245)
14## Chiv
15## Vet
16## Fencing
17## Stay alive, keep pets alive )
18##
19#### PETS
20# DO YOU WANT ME TO CHOOSE YOUR PET?
21# or do you just >info and set your value
22# FOR now: we will skip the pet selection
23
24## Assumptions
25# we are running 5 1 slot pets
26
27@setvar! requireWarModeToHealPets 1
28@setvar! ohCrapDrinkAHealthPotHpCheck 50
29@setvar! bandageCheckTimerCd 5000
30
31
32@setvar! automaticallySkinCorpses 1
33
34################################
35###### Potion Controllers
36################
37@setvar! automaticallyDrinkStrPot 0
38@setvar! automaticallyDrinkAgiPot 1
39@setvar! automaticallyDrinkMagicPot 1
40@setvar! automaticallyDrinkHealPot 1
41@setvar! automaticallyDrinkCurePot 1
42@setvar! automaticallyDrinkRefreshPot 1
43
44@setvar! hpCheckToTriggerHealPotion 45
45@setvar! hpCheckToTriggerCurePotion 45
46@setvar! stamDiffCheckToTriggerRedPotion 10
47
48@setvar! drinkPotionsEvenIfInWarModeAndYouLoseHealth 1
49
50
51################################
52###### Chiv abilities
53################
54@setvar! useCleanseByFireAutomatically 1
55@setvar! useCloseWoundsAutomatically 1
56@setvar! useHolyLightAutomatically 1
57@setvar! useDivineFuryAutomatically 1
58@setvar! hpTriggerForHolyLight 35
59@setvar! lowHealthTriggerForNobleSacrifice 40
60
61################################
62###### Chiv cooldowns
63################
64@setvar! cdCleanseByFire 31000
65@setvar! cdCloseWounds 31000
66@setvar! cdHolyLight 31000
67@setvar! cdDivineFury 31000
68@setvar! cdNobleSacrifice 31000
69
70################################
71###### Chiv abilities overheads
72################
73@setvar! showChivUsageAsOverhead 1
74@setvar! showChivUsageAsSystemMessage 1
75@setvar! showChivUsageAsOverheadColor 88
76@setvar! showChivUsageAsSystemMessageColor 88
77
78###########
79# If shit is not working right, adjust this number to ping
80#####
81@setvar! minimumWaitForPing 200
82@setvar! minimumWaitForPingUnequipping 650
83@setvar! cdPreventChivAbilitySpam 750
84@setvar! cdSkinningCheck 3000
85@setvar! cdPreventOverheadSpam 2000
86
87settimer bandageCheckTimer bandageCheckTimerCd
88settimer preventOverheadSpamTimer cdPreventOverheadSpam
89settimer preventChivAbilitySpamTimer cdPreventChivAbilitySpam
90settimer sCheck 12000
91
92@setvar! myRangeCheckForTarget 2
93@setvar! myPreviousKillTarget 0
94@setvar! jaseowns_OutputHerdingActiveOverheadHelper 0
95
96
97
98########
99### If this variable is 1 - you will only use vet kits if you get hurt yourself
100### You also want to make sure jaseowns_PetOne is set
101######
102@setvar! singleHealPetWithBandaids 0
103
104
105#####
106## Skill Check Timer
107####
108@setvar! jaseowns_SkillTimerCD 11500
109settimer jaseowns_SkillTimerCheck jaseowns_SkillTimerCD
110
111#####
112## System Message Check Timer
113####
114@setvar! jaseowns_SystemMsgCheckCD 1000
115settimer jaseowns_SystemMsgCheck jaseowns_SystemMsgCheckCD
116
117#####
118## Kill Target Check Timer
119####
120@setvar! jaseowns_KillTimerCD 1000
121settimer jaseowns_KillTimer jaseowns_KillTimerCD
122
123#####
124## Herd Again Check Timer
125####
126@setvar! jaseowns_HerdAgainTimerCD 8000
127settimer jaseowns_HerdAgainTimer jaseowns_HerdAgainTimerCD
128
129#####
130## Targeting Variables
131####
132@setvar! jaseowns_CurrentTargetFocus 0
133@setvar! jaseowns_LastFocusAggressionTarget 0
134@setvar! jaseowns_KillTarget 0
135
136if not varexist jaseowns_PetOne
137 @setvar jaseowns_PetOne 0
138endif
139
140if varexist jase_righthand
141 if not findlayer self righthand and jase_righthand != 0
142 dclick jase_righthand
143 wait 650
144 endif
145endif
146
147clearsysmsg
148
149
150@setvar! attemptDiscord 0
151if skill "Discordance" >= 50 and findtype "bamboo flute|tambourine|drum|lute|lap harp" backpack as inny
152 @setvar! attemptDiscord 1
153endif
154
155
156@setvar! jase_myHandCheckTimerCD 2000
157settimer jase_myHandCheckTimer jase_myHandCheckTimerCD
158
159if varexist jase_lefthand
160 if not findlayer self lefthand and jase_lefthand != 0 and find jase_lefthand backpack
161 if timer jase_myHandCheckTimer >= jase_myHandCheckTimerCD
162 dclick jase_lefthand
163 settimer jase_myHandCheckTimerCD 0
164 wait 650
165 endif
166 endif
167endif
168
169# Herding
170@setvar! isHerdingActive 0
171if findtype 3713 self as firstJrook
172 while isHerdingActive = 0
173 if counttype 3713 self > 1
174 @clearignore
175 while findtype 3713 self as jrook
176 getlabel jrook multiDesc
177 if 'activated' in multiDesc
178 @setvar! isHerdingActive 1
179 if jaseowns_OutputHerdingActiveOverheadHelper = 1
180 overhead 'Herding Active' 88
181 overhead '{{multiDesc}}'
182 endif
183 break
184 endif
185 @ignore jrook
186 endwhile
187 @clearignore
188 if isHerdingActive = 0
189 dclick firstJrook
190 endif
191 endif
192
193 if isHerdingActive = 0
194 getlabel firstJrook desc
195 if 'activated' in desc
196 @setvar! isHerdingActive 1
197 if jaseowns_OutputHerdingActiveOverheadHelper = 1
198 overhead 'Herding Active' 88
199 overhead '{{desc}}'
200 endif
201 else
202 dclick firstJrook
203 getlabel firstJrook desc
204 @setvar! isHerdingActive 1
205 if jaseowns_OutputHerdingActiveOverheadHelper = 1
206 overhead 'Herding Active' 88
207 overhead '{{desc}}'
208 endif
209 endif
210 endif
211 endwhile
212endif
213
214clearsysmsg
215while not dead
216
217 if varexist jase_righthand
218 if not findlayer self righthand and jase_righthand != 0 and find jase_righthand backpack
219 if timer jase_myHandCheckTimer >= jase_myHandCheckTimerCD
220 dclick jase_righthand
221 settimer jase_myHandCheckTimerCD 0
222 wait 650
223 endif
224 endif
225 endif
226
227
228
229
230 if not cooldown "MyDragon" and findtype "broken crystals" ground -1 -1 6
231 cooldown "MyDragon" 12500
232 endif
233
234
235
236
237 if insysmsg "The world will save in"
238 say "Jaseowns says the world is ending soon..." 88
239 elseif insysmsg "The world is saving"
240 settimer jaseowns_WorldSaveTimer 0
241 while not insysmsg "World save complete"
242 sysmsg "The world is saving..." 88
243 // wait
244 if timer jaseowns_WorldSaveTimer >= 10000
245 break
246 endif
247 endwhile
248 removetimer jaseowns_WorldSaveTimer
249 say "The world has been saved!" 88
250 endif
251
252 ###############
253 ### Skinning
254 #############
255 if automaticallySkinCorpses = 1 and findtype "corpse" ground -1 -1 2 as jorpse
256 if not timerexists skinningCheckTimer
257 settimer skinningCheckTimer cdSkinningCheck
258 endif
259 if findtype "Elven Spellblade" backpack and timer skinningCheckTimer >= cdSkinningCheck
260 while not targetexists
261 useskill 'forensicevaluation'
262 endwhile
263 if targetexists
264 hotkey "Target Self"
265 wait minimumWaitForPing
266 settimer skinningCheckTimer 0
267 @ignore jorpse
268 endif
269 endif
270 endif
271
272 ###############
273 ### Pet Healing
274 #############
275 @setvar! canUseKit 1
276 if requireWarModeToHealPets = 1 and not warmode
277 @setvar! canUseKit 0
278 endif
279
280 if not bandaging
281 if canUseKit = 1 and timer bandageCheckTimer > bandageCheckTimerCd
282
283 if singleHealPetWithBandaids = 1 and find jaseowns_PetOne ground -1 -1 2 and findtype "clean bandage%s%" backpack as item
284 if targetexists 'harmful'
285 hotkey "Cancel Current Target"
286 wait 200
287 endif
288 if not targetexists
289 dclick item
290 wft 500
291 endif
292 if targetexists
293 target jaseowns_PetOne
294 endif
295 elseif singleHealPetWithBandaids = 0 and findtype "veterinary supplies" backpack as item
296 dclick item
297 wait 650
298 endif
299 settimer bandageCheckTimer 0
300 endif
301 else
302 settimer bandageCheckTimer 0
303 endif
304
305
306 ###############
307 ### Potions
308 #############
309 if not findtype "White Potion" backpack
310 @setvar! automaticallyDrinkStrPot 0
311 endif
312
313 if not findtype "Blue Potion" backpack
314 @setvar! automaticallyDrinkAgiPot 0
315 endif
316
317 if not findtype "Black Potion" backpack
318 @setvar! automaticallyDrinkMagicPot 0
319 endif
320
321 # Eat food if we got it
322 if not findbuff "food" and findtype "tray" backpack as jood
323 dclick jood
324 wait minimumWaitForPing
325 endif
326
327 @setvar! needStrBuff 0
328 @setvar! needDexBuff 0
329 @setvar! needMagicBuff 0
330 @setvar! needHealPot 0
331 @setvar! needCurePot 0
332 @setvar! needRefreshPot 0
333
334 @setvar! drinkThosePots 0
335
336 if targetInRange = 1
337 @setvar! drinkThosePots 1
338 elseif warmode and drinkPotionsEvenIfInWarModeAndYouLoseHealth = 1 and hp < maxhp
339 @setvar! drinkThosePots 1
340 endif
341
342 if automaticallyDrinkStrPot = 1 and drinkThosePots = 1 and not findbuff "Strength"
343 @setvar! needStrBuff 1
344 endif
345
346 if automaticallyDrinkAgiPot = 1 and drinkThosePots = 1 and not findbuff "Agility"
347 @setvar! needDexBuff 1
348 endif
349
350 if automaticallyDrinkMagicPot = 1 and drinkThosePots = 1 and not findbuff "Magic Resist Potion"
351 @setvar! needMagicBuff 1
352 endif
353
354 if automaticallyDrinkHealPot = 1 and hp <= hpCheckToTriggerHealPotion
355 @setvar! needHealPot 1
356 endif
357
358 if automaticallyDrinkCurePot = 1 and poisoned and hp <= hpCheckToTriggerCurePotion
359 @setvar! needCurePot 1
360 endif
361
362 if automaticallyDrinkRefreshPot = 1 and diffstam >= stamDiffCheckToTriggerRedPotion
363 @setvar! needRefreshPot 1
364 endif
365
366 if needStrBuff = 1 and not findtype "White Potion" backpack
367 @setvar! needStrBuff 0
368 endif
369
370 if needDexBuff = 1 and not findtype "Blue Potion" backpack
371 @setvar! needDexBuff 0
372 endif
373
374 if needMagicBuff = 1 and not findtype "Black Potion" backpack
375 @setvar! needMagicBuff 0
376 endif
377
378 if needHealPot = 1 and not findtype "Yellow Potion" backpack
379 @setvar! needHealPot 0
380 elseif needHealPot = 1 and findtype "Yellow Potion" backpack as item
381 getlabel item healPotDesc
382 if "next usable" in healPotDesc
383 @setvar! needHealPot 0
384 else
385 @setvar! needHealPot 1
386 endif
387 endif
388
389 if needCurePot = 1 and not findtype "Orange Potion" backpack
390 @setvar! needCurePot 0
391 endif
392
393 if needRefreshPot = 1 and not findtype "Red Potion" backpack
394 @setvar! needRefreshPot 0
395 endif
396
397
398 if needHealPot = 1
399 if findtype "Yellow Potion" backpack as jotion
400 overhead "chug heal"
401 dclick jotion
402 wait minimumWaitForPing
403 cooldown "Yellow Potion" 10000
404 else
405 overhead "No Heal potion found!" 34
406 endif
407 endif
408
409 if needCurePot = 1
410 if findtype "Orange Potion" backpack as jotion
411 overhead "chug cure"
412 dclick jotion
413 wait minimumWaitForPing
414 else
415 overhead "No Cure potion found!" 34
416 endif
417 endif
418
419
420 if needDexBuff = 1
421 if findtype "Blue Potion" backpack as jotion
422 overhead "chug"
423 dclick jotion
424 wait minimumWaitForPing
425 else
426 overhead "No AGI potion found!" 34
427 endif
428 endif
429
430 if automaticallyDrinkRefreshPot = 1 and diffstam >= stamDiffCheckToTriggerRedPotion
431 @setvar! needRefreshPot 1
432 endif
433
434 if needRefreshPot = 1
435 if findtype "Red Potion" backpack as jotion
436 overhead "chug refresh"
437 dclick jotion
438 wait minimumWaitForPing
439 else
440 overhead "No Refresh potion found!" 34
441 endif
442 endif
443
444 if needStrBuff = 1
445 if findtype "White Potion" backpack as jotion
446 overhead "chug"
447 dclick jotion
448 wait minimumWaitForPing
449 else
450 overhead "No STR potion found!" 34
451 endif
452 endif
453
454 if needMagicBuff = 1
455 if findtype "Black Potion" backpack as jotion
456 overhead "chug"
457 dclick jotion
458 wait minimumWaitForPing
459 else
460 overhead "No MR potion found!" 34
461 endif
462 endif
463
464
465 ###############
466 ### Self Healing
467 #############
468 if hp < maxhp
469 // we need to heal
470 if findtype "veterinary supplies" backpack as item
471 dclick item
472 wait 650
473 endif
474
475 if diffhits >= ohCrapDrinkAHealthPotHpCheck
476 if findtype "Yellow Potion" backpack as pot
477 dclick pot
478 wait 650
479 endif
480 endif
481 endif
482
483
484 ###############
485 ### Targeting (based on warmode on)
486 #############
487 if timer jaseowns_KillTimer < jaseowns_KillTimerCD
488 overhead "Waiting for you to loot bro" 88
489 endif
490
491 if warmode and timer jaseowns_KillTimer >= jaseowns_KillTimerCD
492
493 if myKillTarget != 0 and dead myKillTarget and myKillTargetInRangeToLoot = 1
494 overhead "Waiting for you to loot"
495 settimer jaseowns_KillTimer 0
496 elseif not dead myKillTarget and find myKillTarget ground -1 -1 2
497 @setvar! myKillTargetInRangeToLoot 1
498 else
499 @setvar! myKillTargetInRangeToLoot 0
500 endif
501
502 @setvar! myKillTarget 0
503 @hotkey 'Target Closest Non-Friendly Monster'
504 wait minimumWaitForPing
505 if insysmsg "No one matching that was found"
506 if timer preventOverheadSpamTimer >= cdPreventOverheadSpam
507 overhead "No targets found" 34
508 settimer preventOverheadSpamTimer 0
509 endif
510 else
511 @setvar! myKillTarget lasttarget
512 endif
513
514 if not varexist autoAttack
515 @setvar! autoAttack 1
516 endif
517
518 if myKillTarget != 0 and myPreviousKillTarget != myKillTarget
519 getlabel myKillTarget mobDesc
520 @setvar! myPreviousKillTarget myKillTarget
521 if "(summoned" in mobDesc or "(bonded" in mobDesc or "(tame" in mobDesc
522 overhead "▼ Player pet - IGNORE ▼" 77 lasttarget
523 @setvar! autoAttack 0
524 @setvar! myKillTarget 0
525 else
526 @setvar! autoAttack 1
527 endif
528 endif
529
530 if myKillTarget = 0
531 // do nothing
532 elseif not find myKillTarget ground -1 -1 myRangeCheckForTarget
533 if showTargetOverheadMessages = 1 and timer preventOverheadSpamTimer >= cdPreventOverheadSpam
534 overhead "● ▼ OUT OF RANGE ▼ ●" 88 lasttarget
535 settimer preventOverheadSpamTimer 0
536 endif
537 if find myKillTarget ground -1 -1 8 and autoAttack = 1
538 attack myKillTarget
539 endif
540 elseif autoAttack = 1
541 @setvar! targetInRange 1
542 if showTargetOverheadMessages = 1 and timer preventOverheadSpamTimer >= cdPreventOverheadSpam
543 overhead "● ▼▼ HERE ▼▼ ●" 88 myKillTarget
544 settimer preventOverheadSpamTimer 0
545 endif
546 attack myKillTarget
547 endif
548 endif
549
550 ###############
551 ### Herding
552 #############
553 if myKillTarget != 0 and find myKillTarget ground -1 -1 12
554 @setvar jaseowns_KillTarget myKillTarget
555 if jaseowns_KillTarget != jaseowns_LastFocusAggressionTarget
556
557 if find jaseowns_PetOne
558 overhead "� Guarding �" 88 jaseowns_PetOne
559 menu jaseowns_PetOne 3
560 endif
561
562 if timer jaseowns_SkillTimerCheck >= jaseowns_SkillTimerCD and findtype 3713 self as jrook
563 settimer jaseowns_SystemMsgCheck 0
564 while timer jaseowns_SystemMsgCheck <= jaseowns_SystemMsgCheckCD
565 if targetexists 'beneficial'
566 hotkey "Cancel Current Target"
567 elseif not targetexists 'neutral'
568 overhead "� � Attempting Herd � �" 88 jaseowns_KillTarget
569 useskill "ArmsLore"
570 wft 500
571 else
572 break
573 endif
574 endwhile
575 if targetexists 'neutral'
576 target jaseowns_KillTarget
577 settimer jaseowns_SystemMsgCheck 0
578 while timer jaseowns_SystemMsgCheck <= jaseowns_SystemMsgCheckCD
579 if insysmsg "You cannot inspect that."
580 while not targetexists "harmful"
581 say "ALL KILL" 88
582 wft 500
583 endwhile
584 if targetexists "harmful"
585 target jaseowns_KillTarget
586 @setvar! jaseowns_LastFocusAggressionTarget jaseowns_KillTarget
587 settimer jaseowns_HerdAgainTimer 0
588 @setvar! jaseowns_DiscordThisTarget jaseowns_KillTarget
589 break
590 endif
591 elseif insysmsg "Target cannot be seen"
592
593 endif
594 endwhile
595 endif
596 endif
597 endif
598 else
599 @setvar! jaseowns_DiscordThisTarget 0
600 cooldown "Discord Jarget" 0
601 @setvar! jaseowns_LastFocusAggressionTarget 0
602 endif
603
604 if timer jaseowns_HerdAgainTimer >= jaseowns_HerdAgainTimerCD
605 @setvar! jaseowns_LastFocusAggressionTarget 0
606 endif
607
608 ###############
609 ### Discord Check
610 #############
611 if attemptDiscord = 1
612 if find jaseowns_DiscordThisTarget ground -1 -1 10
613 getlabel myKillTarget jaseowns_DiscordDesc
614 if "discord" in jaseowns_DiscordDesc
615 // do nothing
616 // potentially update the cooldown
617 elseif not cooldown "Discord Jarget" and findtype "bamboo flute|tambourine|drum|lute|lap harp" backpack as inny
618 if not targetexists "harmful"
619 useskill "Discordance"
620 wft 500
621 endif
622 if insysmsg "What instrument" and targetexists "neutral"
623 @setvar jase_MyInny inny
624 target inny
625 wft 500
626 endif
627 if targetexists "harmful"
628 target myKillTarget
629 endif
630 endif
631 elseif not find jaseowns_DiscordThisTarget ground -1 -1 10
632 cooldown "Discord Jarget" 0
633 endif
634
635 if not findbuff "song of discordance"
636 if not targetexists "harmful"
637 useskill "Discordance"
638 wft 500
639 endif
640 if insysmsg "What instrument" and targetexists "neutral"
641 @setvar jase_MyInny inny
642 target inny
643 wft 500
644 endif
645 if targetexists "harmful"
646 target backpack
647 endif
648 endif
649 endif
650
651
652
653 ###############
654 ### Chivalry
655 #############
656 if skill "Chivalry" >= 50
657
658 @setvar! chivSymbols 0
659 @setvar! cdCleanseByFire 31000
660 @setvar! cdCloseWounds 31000
661 @setvar! cdHolyLight 31000
662 @setvar! cdDivineFury 31000
663 @setvar! cdNobleSacrifice 31000
664
665 if not timerexists nobleSacrificeTimer
666 createtimer nobleSacrificeTimer
667 settimer nobleSacrificeTimer cdCleanseByFire
668 endif
669
670 if not timerexists cleanseByFireTimer
671 createtimer cleanseByFireTimer
672 settimer cleanseByFireTimer cdCleanseByFire
673 endif
674
675 if not timerexists closeWoundsTimer
676 createtimer closeWoundsTimer
677 settimer closeWoundsTimer cdCloseWounds
678 endif
679
680 if not timerexists holyLightTimer
681 createtimer holyLightTimer
682 settimer holyLightTimer cdHolyLight
683 endif
684
685 if not timerexists divineFuryTimer
686 createtimer divineFuryTimer
687 settimer divineFuryTimer cdDivineFury
688 endif
689
690 while not gumpexists 1387930325
691 say "[ChivalryHotbar"
692 wait 200
693 endwhile
694
695 if gumpexists 1387930325
696 if ingump "12/" 1387930325
697 @setvar! chivSymbols 12
698 elseif ingump "13/" 1387930325
699 @setvar! chivSymbols 13
700 elseif ingump "14/" 1387930325
701 @setvar! chivSymbols 14
702 elseif ingump "15/" 1387930325
703 @setvar! chivSymbols 15
704 elseif ingump "16/" 1387930325
705 @setvar! chivSymbols 16
706 elseif ingump "17/" 1387930325
707 @setvar! chivSymbols 17
708 elseif ingump "18/" 1387930325
709 @setvar! chivSymbols 18
710 elseif ingump "19/" 1387930325
711 @setvar! chivSymbols 19
712 elseif ingump "20/" 1387930325
713 @setvar! chivSymbols 20
714 elseif ingump "21/" 1387930325
715 @setvar! chivSymbols 21
716 elseif ingump "11/" 1387930325
717 @setvar! chivSymbols 11
718 elseif ingump "10/" 1387930325
719 @setvar! chivSymbols 10
720 elseif ingump "9/" 1387930325
721 @setvar! chivSymbols 9
722 elseif ingump "8/" 1387930325
723 @setvar! chivSymbols 8
724 elseif ingump "7/" 1387930325
725 @setvar! chivSymbols 7
726 elseif ingump "6/" 1387930325
727 @setvar! chivSymbols 6
728 elseif ingump "5/" 1387930325
729 @setvar! chivSymbols 5
730 elseif ingump "4/" 1387930325
731 @setvar! chivSymbols 4
732 elseif ingump "3/" 1387930325
733 @setvar! chivSymbols 3
734 elseif ingump "2/" 1387930325
735 @setvar! chivSymbols 2
736 elseif ingump "1/" 1387930325
737 @setvar! chivSymbols 1
738 elseif ingump "0/" 1387930325
739 @setvar! chivSymbols 0
740 endif
741 endif
742
743 if hp <= lowHealthTriggerForNobleSacrifice and skill "Chivalry" >= 80
744 if timer preventChivAbilitySpamTimer >= cdPreventChivAbilitySpam and timer nobleSacrificeTimer >= cdNobleSacrifice and 4 < chivSymbols
745 if skill "Healing" > 0
746 hotkey 'Bandage Self'
747 settimer aidsTimer 0
748 wait minimumWaitForPing
749 endif
750 if showChivUsageAsOverhead = 1
751 overhead "Noble Sacrifice" showChivUsageAsOverheadColor
752 endif
753 if showChivUsageAsSystemMessage = 1
754 sysmsg "Noble Sacrifice" showChivUsageAsSystemMessageColor
755 endif
756 yell "[NobleSacrifice"
757 wft 500
758 hotkey "Target Self"
759 wait 200
760 if insysmsg "Holy symbols remaining:"
761 settimer nobleSacrificeTimer 0
762 settimer preventChivAbilitySpamTimer 0
763 cooldown NobleSacrifice cdNobleSacrifice
764 endif
765 if gumpexists 1387930325
766 if ingump "12/" 1387930325
767 @setvar! chivSymbols 12
768 elseif ingump "13/" 1387930325
769 @setvar! chivSymbols 13
770 elseif ingump "14/" 1387930325
771 @setvar! chivSymbols 14
772 elseif ingump "15/" 1387930325
773 @setvar! chivSymbols 15
774 elseif ingump "16/" 1387930325
775 @setvar! chivSymbols 16
776 elseif ingump "17/" 1387930325
777 @setvar! chivSymbols 17
778 elseif ingump "18/" 1387930325
779 @setvar! chivSymbols 18
780 elseif ingump "19/" 1387930325
781 @setvar! chivSymbols 19
782 elseif ingump "20/" 1387930325
783 @setvar! chivSymbols 20
784 elseif ingump "21/" 1387930325
785 @setvar! chivSymbols 21
786 elseif ingump "11/" 1387930325
787 @setvar! chivSymbols 11
788 elseif ingump "10/" 1387930325
789 @setvar! chivSymbols 10
790 elseif ingump "9/" 1387930325
791 @setvar! chivSymbols 9
792 elseif ingump "8/" 1387930325
793 @setvar! chivSymbols 8
794 elseif ingump "7/" 1387930325
795 @setvar! chivSymbols 7
796 elseif ingump "6/" 1387930325
797 @setvar! chivSymbols 6
798 elseif ingump "5/" 1387930325
799 @setvar! chivSymbols 5
800 elseif ingump "4/" 1387930325
801 @setvar! chivSymbols 4
802 elseif ingump "3/" 1387930325
803 @setvar! chivSymbols 3
804 elseif ingump "2/" 1387930325
805 @setvar! chivSymbols 2
806 elseif ingump "1/" 1387930325
807 @setvar! chivSymbols 1
808 elseif ingump "0/" 1387930325
809 @setvar! chivSymbols 0
810 endif
811 endif
812 endif
813 endif
814
815 if poisoned and skill "Chivalry" >= 60
816 if timer preventChivAbilitySpamTimer >= cdPreventChivAbilitySpam and useCleanseByFireAutomatically = 1 and timer cleanseByFireTimer >= cdCleanseByFire and 2 < chivSymbols
817 if showChivUsageAsOverhead = 1
818 overhead "Cleanse by fire" showChivUsageAsOverheadColor
819 endif
820 if showChivUsageAsSystemMessage = 1
821 sysmsg "Cleanse by fire" showChivUsageAsSystemMessageColor
822 endif
823 yell "[CleanseByFire"
824 wait 200
825 if insysmsg "Holy symbols remaining:"
826 settimer cleanseByFireTimer 0
827 settimer preventChivAbilitySpamTimer 0
828 cooldown CleanseByFire cdCleanseByFire
829 endif
830 endif
831 elseif findbuff "bleed" or findbuff "disease" and skill "Chivalry" >= 70
832 if timer preventChivAbilitySpamTimer >= cdPreventChivAbilitySpam and useCloseWoundsAutomatically = 1 and timer closeWoundsTimer >= cdCleanseByFire and 3 < chivSymbols
833 if showChivUsageAsOverhead = 1
834 overhead "Close Wounds" showChivUsageAsOverheadColor
835 endif
836 if showChivUsageAsSystemMessage = 1
837 sysmsg "Close Wounds" showChivUsageAsSystemMessageColor
838 endif
839 yell "[CloseWounds"
840 wait 200
841 if insysmsg "Holy symbols remaining:"
842 settimer closeWoundsTimer 0
843 settimer preventChivAbilitySpamTimer 0
844 cooldown CloseWounds cdCloseWounds
845 endif
846 endif
847 endif
848
849 if gumpexists 1387930325
850 if ingump "12/" 1387930325
851 @setvar! chivSymbols 12
852 elseif ingump "13/" 1387930325
853 @setvar! chivSymbols 13
854 elseif ingump "14/" 1387930325
855 @setvar! chivSymbols 14
856 elseif ingump "15/" 1387930325
857 @setvar! chivSymbols 15
858 elseif ingump "16/" 1387930325
859 @setvar! chivSymbols 16
860 elseif ingump "17/" 1387930325
861 @setvar! chivSymbols 17
862 elseif ingump "18/" 1387930325
863 @setvar! chivSymbols 18
864 elseif ingump "19/" 1387930325
865 @setvar! chivSymbols 19
866 elseif ingump "20/" 1387930325
867 @setvar! chivSymbols 20
868 elseif ingump "21/" 1387930325
869 @setvar! chivSymbols 21
870 elseif ingump "11/" 1387930325
871 @setvar! chivSymbols 11
872 elseif ingump "10/" 1387930325
873 @setvar! chivSymbols 10
874 elseif ingump "9/" 1387930325
875 @setvar! chivSymbols 9
876 elseif ingump "8/" 1387930325
877 @setvar! chivSymbols 8
878 elseif ingump "7/" 1387930325
879 @setvar! chivSymbols 7
880 elseif ingump "6/" 1387930325
881 @setvar! chivSymbols 6
882 elseif ingump "5/" 1387930325
883 @setvar! chivSymbols 5
884 elseif ingump "4/" 1387930325
885 @setvar! chivSymbols 4
886 elseif ingump "3/" 1387930325
887 @setvar! chivSymbols 3
888 elseif ingump "2/" 1387930325
889 @setvar! chivSymbols 2
890 elseif ingump "1/" 1387930325
891 @setvar! chivSymbols 1
892 elseif ingump "0/" 1387930325
893 @setvar! chivSymbols 0
894 endif
895 endif
896
897 if timer preventChivAbilitySpamTimer >= cdPreventChivAbilitySpam and useHolyLightAutomatically = 1 and hp <= hpTriggerForHolyLight and skill "Chivalry" >= 95
898
899 @setvar! doubleCheckHolyLight 1
900
901 if skill "Healing" > 0 and cdAids = 10000 and timer aidsTimer >= 9000
902 // skip holy light
903 overhead "Skipping Holy Light" 34
904 @setvar! doubleCheckHolyLight 0
905 // unless we gonna die
906 if hp <= 20 or poisoned
907 overhead "Just kidding, do not wanna die" 34
908 @setvar! doubleCheckHolyLight 1
909 endif
910 endif
911
912 if doubleCheckHolyLight = 1
913 if timer holyLightTimer >= cdHolyLight and 5 < chivSymbols
914 if showChivUsageAsOverhead = 1
915 overhead "Holy Light" showChivUsageAsOverheadColor
916 endif
917 if showChivUsageAsSystemMessage = 1
918 sysmsg "Holy Light" showChivUsageAsSystemMessageColor
919 endif
920 yell "[HolyLight"
921 wait 200
922 if insysmsg "Holy symbols remaining:"
923 settimer holyLightTimer 0
924 settimer preventChivAbilitySpamTimer 0
925 cooldown HolyLight cdHolyLight
926 endif
927 endif
928 endif
929 endif
930
931 if timer preventChivAbilitySpamTimer >= cdPreventChivAbilitySpam and targetInRange = 1 and useDivineFuryAutomatically = 1 and skill "Chivalry" >= 85
932 if timer divineFuryTimer >= cdDivineFury and 4 < chivSymbols
933 if showChivUsageAsOverhead = 1
934 overhead "Divine Fury" showChivUsageAsOverheadColor
935 endif
936 if showChivUsageAsSystemMessage = 1
937 sysmsg "Divine Fury" showChivUsageAsSystemMessageColor
938 endif
939 yell "[DivineFury"
940 wait 200
941 if insysmsg "Holy symbols remaining:"
942 settimer divineFuryTimer 0
943 settimer preventChivAbilitySpamTimer 0
944 cooldown DivineFury cdDivineFury
945 endif
946 endif
947 endif
948 endif
949
950endwhile
951
952while dead
953 overhead "Rip" 34
954 if gumpexists 2957810225
955 gumpresponse 1 2957810225
956 break
957 endif
958 wait 500
959endwhile
960
961replay