Mage Bot w/ Tamer by daklue
Description: # Modified Mage Bot By DaKlue V1.0.0
1# Modified Mage Bot By DaKlue V1.0.0
2#Dorrian requested more herding and vet for pets.
3# One hotkey mage cycle, nox, poison by Jaseowns
4# UO Outlands - https://outlands.uorazorscripts.com/mage-bot
5#
6# Version: v10.1.0
7#
8#
9// 8/18/2023
10// - add new target system - nearest/ next
11#
12##################
13## Always room for improvment, thanks for watching!
14############
15
16
17# continue to fight the same target even after summons
18# target not seen - (warmode maybe?)
19@setvar! minimumWaitForPing 200
20
21# make sure you add a friends list called: IgnoreMobs
22@setvar! didYouSetupIgnoreMobs 0
23
24
25// 0 you choose (all kill)
26// 1 will target nearest
27// 2 will be find type
28// 3 will be target next (newest one 8/14/2023)
29@setvar! useTargetSystem 3
30
31# Do you want to use the new FindType code? Use 1 here
32# Do you want to use the Target Nearest / Next? Use 2 here
33# Else it will use the Target Closest Mon functionality
34@setvar! useFindTypeToTargetMonster 2
35
36# after a kill you must have this amount of mana to continue to next target
37@setvar! minimumManaToCast 55
38
39# Set this to one, if you want to cast poison once no matter what
40# If you have 100 poisoning and want Lethal, set this to 0
41@setvar! castPoisonAnyway 0
42
43# This will auto replay this script if you want it too
44@setvar! autoBotEnabled 1
45
46# Tracking for reds 0 = Do Nothing
47# Tracking for reds Recall away with magery and runebook = 1
48@setvar! redsnearby 0
49
50# Update this variable to 1 for ALL KILL
51# Update this variable to 0 for target nearest
52@setvar! setThisAsOneIfYouWantToTargetYourOwnKillOrItWillTargetClosestMonster 0
53
54################################
55###### Random abilities
56################
57@setvar! automaticallySkinCorpses 1
58@setvar! manaReserve 50
59@setvar! cdRetryBasedOnTargetNotSeen 2000
60
61# Ultimate Summoner Hotkey Choose your summons by Jaseowns
62# UO Outlands
63# This is part of the mage bot, but you can have it
64# as its own hotkey
65
66###############
67### Choose your summons
68######
69@setvar! breakSpellCastAndResummonIfLessThanXFollowers 4
70@setvar! renamePets 0
71
72# Earth: 0, 1, 2
73@setvar! castSummonEarthElementalCount 0
74@setvar! castSummonMummyCount 1
75
76# Fire: 0, 1, 2
77@setvar! castSummonFireElementalCount 0
78@setvar! castSummonLichCount 1
79
80# Demon: 0, 1, 2
81@setvar! castSummonDemonCount 0
82@setvar! castSummonThrallCount 0
83
84# Air: 0, 1, 2
85@setvar! castSummonAirCount 0
86@setvar! castSummonFiendCount 0
87
88# Water: 0, 1, 2
89@setvar! castSummonWaterCount 0
90@setvar! castSummonRagWitchCount 0
91
92# Creature: 0, 1, 2, 3, 4, 5
93@setvar! castSummonCreatureCount 0
94
95# Energy Vortex: 0, 1
96@setvar! castEnergyVortexCount 0
97@setvar! castJackalSpiritCount 0
98
99# Blade Spirit: 0, 1
100@setvar! castBladeSpiritCount 0
101@setvar! castSkeletalHuskCount 0
102
103###############
104### Choose your spells
105######
106@setvar! castCurse 1
107@setvar! castManadrain 0
108@setvar! castManaVampire 0
109@setvar! castLightning 1
110@setvar! castChainLightning 0
111@setvar! castFireball 1
112@setvar! castHarm 1
113@setvar! castMagicArrow 1
114# When other spells are on cooldown, do you want to cast Ebolt, MindBlast, Flamestrike or all three
115@setvar! castEbolt 1
116@setvar! castMindBlast 1
117@setvar! castFlamestrike 0
118
119
120################################
121###### Heal Controllers
122################
123@setvar! hpCheckToTriggerGreaterHealSpell 30
124@setvar! hpCheckToTriggerMiniEmergencyHealSpell 60
125@setvar! hpCheckToTriggerHealPotion 45
126
127################################
128###### Potion Controllers
129################
130@setvar! automaticallyDrinkStrPotIfOverWeight 1
131# Drink Magic resist potion (only if magic shield buff not found)
132@setvar! automaticallyDrinkMagicPot 1
133@setvar! automaticallyDrinkHealPot 1
134@setvar! automaticallyDrinkCurePot 1
135#@setvar! automaticallyDrinkRefreshPot 1
136
137@setvar! hpCheckToTriggerCurePotion 45
138#@setvar! stamDiffCheckToTriggerRedPotion 10
139
140
141### Buffs
142@setvar! castBless 0
143@setvar! castArchProtection 0
144@setvar! castMagicShield 1
145@setvar! castReactiveArmor 1
146
147if skill "Inscription" >= 50
148 @setvar! castBless 1
149 @setvar! castArchProtection 1
150endif
151
152
153###############
154### Choose your necro spells (ignored if less then required necro skill)
155######
156@setvar! castEvilOmen 1
157@setvar! castCorpseSkin 1
158@setvar! castVampiricEmbrace 1
159@setvar! castMindRot 1
160@setvar! castPoisonStrike 1
161@setvar! castBloodOath 1
162@setvar! castPainSpike 1
163@setvar! requireWitherBeforeSummons 0
164
165###############
166### Edit these cooldowns to match your wizard grimoire
167######
168@setvar! canYouMakeAMushroom 1
169@setvar! cdLightning 20000
170@setvar! cdChainLightning 60000
171@setvar! cdMagicArrow 20000
172@setvar! cdHarm 20000
173@setvar! cdFireball 20000
174
175@setvar! cdAutoHealTamerPet 15000
176
177###############
178### Necro Cooldowns
179######
180@setvar! cdEvilOmen 30500
181@setvar! cdVampiricEmbrace 30500
182@setvar! cdCorpseSkin 30500
183@setvar! cdMindRot 30500
184@setvar! cdWither 30500
185@setvar! cdVengefulSpirit 30500
186@setvar! cdBloodOath 30500
187@setvar! cdPainSpike 30500
188@setvar! cdPoisonStrike 30500
189
190#### Buff Cooldowns
191@setvar! cdMushroom 61000
192@setvar! cdMagicShield 61000
193@setvar! cdReactiveArmor 61000
194@setvar! cdMeditation 10000
195@setvar! cdMeditationMini 3000
196@setvar! cdKillTarget 60000
197
198#### Random cooldowns
199@setvar! cdPreventOverheadSpam 2000
200@setvar! cdSkinningCheck 3000
201@setvar! cdCleansingBrew 125000
202@setvar! cdHerdingTimer 4000
203
204#### Mushroom count (I like a lot of shroomies)
205@setvar! makeThisManyMushroomsCount 15
206@setvar! butOnlyIHaveLessThenThisCount 5
207
208#### This will send in pet for out of range targets
209@setvar! patrolPetEvenIfLastTargetIsBeyondEightTiles 1
210
211if counttype "gold coin" backpack as total
212 if diffweight < 10 and 10000 < total
213 overhead "Warning: {{total}} gold and no weight!" 34
214 endif
215endif
216
217#### Pet Names, unique to you
218if not listexists petNameList
219 createlist petNameList
220endif
221if list petNameList = 0
222 pushlist petNameList "jaseneccy"
223 pushlist petNameList "jaseyoutube"
224 pushlist petNameList "jaseytfollow"
225 pushlist petNameList "jaseytfollower"
226 pushlist petNameList "jasesubscribed"
227 pushlist petNameList "jaseoutlands"
228 pushlist petNameList "jaseuorazorscripts"
229 pushlist petNameList "jaseyoutuber"
230 pushlist petNameList "jasefunez"
231 pushlist petNameList "jasetwitch"
232 pushlist petNameList "jasesubscribe"
233 pushlist petNameList "jasefueoz"
234endif
235
236@setvar! jaseDebugMode 0
237
238##################################################################
239#
240# Hopefully you do not have to edit after this :)
241#
242##################################################################
243
244if dead
245 overhead "Rip" 34
246 for 10
247 if gumpexists 2957810225
248 gumpresponse 1 2957810225
249 break
250 endif
251 wait 500
252 endfor
253 replay
254endif
255
256##################################################################
257#
258# TAMER MODE
259#
260##################################################################
261@setvar! tamerModeEngaged 0
262@setvar! vetTimerCd 8000
263// 0 = bandaid
264// 1 = vet supplies
265// 2 = both
266@setvar! Veterinaryhealtype 2
267
268if skill "Animal Taming" > 50
269 @setvar! tamerModeEngaged 1
270 if not varexist jaseTankPet or not find jaseTankPet ground -1 -1 12
271 overhead "Select your tank pet" 88
272 @setvar! jaseTankPet
273 endif
274endif
275
276// Vet Bandage timer
277if not timerexists 'vetTimer'
278 settimer vetTimer vetTimerCd
279endif
280
281// Bandage tankpet every 8 seconds
282if skill 'veterinary' > 50 and timer 'vetTimer' > 8000
283 if Veterinaryhealtype = 0 and not bandaging and findtype "clean bandage%s%" backpack as item
284 dclick item
285 wft 500
286 target jaseTankPet
287 wait 200
288 hotkey 'Cancel current target'
289 elseif Veterinaryhealtype = 1 and not bandaging and findtype "veterinary supplies" backpack as item
290 dclick item
291 wft 500
292 target jaseTankPet
293 wait 200
294 hotkey 'Cancel current target'
295 elseif Veterinaryhealtype = 2 and not bandaging and findtype "veterinary supplies|clean bandage%s%" backpack as item
296 dclick item
297 wft 500
298 target jaseTankPet
299 wait 200
300 hotkey 'Cancel current target'
301 endif
302
303 if insysmsg 'not damaged'
304 settimer 'vetTimer' 4000
305 else
306 settimer 'vetTimer' 0
307 endif
308endif
309
310if weight >= maxweight and not findbuff "strength" and automaticallyDrinkStrPotIfOverWeight = 1 and findtype "white potion" backpack as pot
311 dclick pot
312 wait 200
313endif
314
315if not gumpexists 622436516 and skill "Necromancy" >= 50
316 say '[NecromancyHotbar'
317 wait 500
318endif
319
320if skill "Tracking" >= 0
321 if not findbuff "tracking"
322 clearsysmsg
323 while not gumpexists 4267467659
324 useskill 'tracking'
325 wait minimumWaitForPing
326 endwhile
327 if gumpexists 4267467659
328 while not insysmsg "You will now hunt all hostile players."
329 gumpresponse 8 4267467659
330 waitforgump 4267467659 5000
331 endwhile
332 gumpresponse 6 4267467659
333 wait minimumWaitForPing
334 endif
335 gumpclose 4267467659
336 endif
337endif
338
339if not varexist red_recall_runebook
340 overhead "Select your escape runebook" 88
341 setvar red_recall_runebook
342endif
343
344if not listexists "red_recall_actions"
345 createlist "red_recall_actions"
346endif
347
348if inlist "red_recall_actions" "red_alert"
349 overhead "Red Alert!" 34
350 if redsnearby = 0
351 //Do Nothing.
352 elseif redsnearby = 1 and skill "Magery" >= 40
353 overhead 'Recalling...'
354 while not targetexists
355 cast "Recall"
356 wft 500
357 endwhile
358 target red_recall_runebook
359 endif
360 poplist "red_recall_actions" "red_alert"
361endif
362
363if not timerexists skinningCheckTimer
364 settimer skinningCheckTimer cdSkinningCheck
365endif
366
367if not timerexists retryBasedOnTargetNotSeenTimer
368 settimer retryBasedOnTargetNotSeenTimer cdRetryBasedOnTargetNotSeen
369endif
370
371
372if automaticallySkinCorpses = 1 and findtype "corpse" ground -1 -1 3 as jorpse
373 if findtype "Elven Spellblade" backpack and timer skinningCheckTimer >= cdSkinningCheck
374 while not targetexists
375 useskill 'forensicevaluation'
376 endwhile
377 if targetexists beneficial or targetexists neutral
378 hotkey "Target Self"
379 wait minimumWaitForPing
380 settimer skinningCheckTimer 0
381 @ignore jorpse
382 endif
383 if insysmsg "You must wait"
384 // Wait message
385 overhead 'You must wait..' 34
386 wait 500
387 replay
388 endif
389 endif
390endif
391
392// Make sure we have a spell book attached
393if findlayer self righthand as item
394 // do nothing
395elseif findtype "3834" backpack as item
396 getlabel item spellBookDesc
397 if "blessed" in spellBookDesc
398 @ignore item
399 else
400 dclick item
401 endif
402else
403 overhead "No book bro!" 34
404endif
405
406// Setting current necro symbols - checks again it the attack loop
407@setvar! necroSymbols 12
408if gumpexists 622436516 and skill "Necromancy" >= 50
409 if ingump "12/" 622436516
410 @setvar! necroSymbols 12
411 elseif ingump "13/" 622436516
412 @setvar! necroSymbols 13
413 elseif ingump "14/" 622436516
414 @setvar! necroSymbols 14
415 elseif ingump "15/" 622436516
416 @setvar! necroSymbols 15
417 elseif ingump "16/" 622436516
418 @setvar! necroSymbols 16
419 elseif ingump "17/" 622436516
420 @setvar! necroSymbols 17
421 elseif ingump "18/" 622436516
422 @setvar! necroSymbols 18
423 elseif ingump "19/" 622436516
424 @setvar! necroSymbols 19
425 elseif ingump "20/" 622436516
426 @setvar! necroSymbols 20
427 elseif ingump "21/" 622436516
428 @setvar! necroSymbols 21
429 elseif ingump "11/" 622436516
430 @setvar! necroSymbols 11
431 elseif ingump "10/" 622436516
432 @setvar! necroSymbols 10
433 elseif ingump "9/" 622436516
434 @setvar! necroSymbols 9
435 elseif ingump "8/" 622436516
436 @setvar! necroSymbols 8
437 elseif ingump "7/" 622436516
438 @setvar! necroSymbols 7
439 elseif ingump "6/" 622436516
440 @setvar! necroSymbols 6
441 elseif ingump "5/" 622436516
442 @setvar! necroSymbols 5
443 elseif ingump "4/" 622436516
444 @setvar! necroSymbols 4
445 elseif ingump "3/" 622436516
446 @setvar! necroSymbols 3
447 elseif ingump "2/" 622436516
448 @setvar! necroSymbols 2
449 elseif ingump "1/" 622436516
450 @setvar! necroSymbols 1
451 elseif ingump "0/" 622436516
452 @setvar! necroSymbols 0
453 endif
454endif
455
456if not timerexists reactiveArmorTimer
457 createtimer reactiveArmorTimer
458 settimer reactiveArmorTimer cdMagicShield
459endif
460
461if not timerexists cleansingBrewTimer
462 settimer cleansingBrewTimer cdCleansingBrew
463endif
464
465if not timerexists magicShieldTimer
466 createtimer magicShieldTimer
467 settimer magicShieldTimer cdMagicShield
468endif
469
470if not timerexists magicMushroomTimer
471 createtimer magicMushroomTimer
472 settimer magicMushroomTimer cdMushroom
473endif
474
475if not timerexists magicArrowTimer
476 createtimer magicArrowTimer
477 settimer magicArrowTimer cdMagicArrow
478endif
479
480if not timerexists lightningTimer
481 createtimer lightningTimer
482 settimer lightningTimer cdLightning
483endif
484
485if not timerexists chainLightningTimer
486 settimer chainLightningTimer cdChainLightning
487endif
488
489if not timerexists harmTimer
490 createtimer harmTimer
491 settimer harmTimer cdHarm
492endif
493
494if not timerexists autoHealTamerPet
495 createtimer autoHealTamerPet
496 settimer autoHealTamerPet cdAutoHealTamerPet
497endif
498
499if not timerexists fireballTimer
500 createtimer fireballTimer
501 settimer fireballTimer cdFireball
502endif
503
504if not timerexists evilOmenTimer
505 createtimer evilOmenTimer
506 settimer evilOmenTimer cdEvilOmen
507endif
508
509if not timerexists vampiricEmbraceTimer
510 createtimer vampiricEmbraceTimer
511 settimer vampiricEmbraceTimer cdVampiricEmbrace
512endif
513
514if not timerexists corpseSkinTimer
515 createtimer corpseSkinTimer
516 settimer corpseSkinTimer cdCorpseSkin
517endif
518
519if not timerexists mindRotTimer
520 createtimer mindRotTimer
521 settimer mindRotTimer cdMindRot
522endif
523
524if not timerexists meditiationTimer
525 createtimer meditiationTimer
526 settimer meditiationTimer cdMeditation
527endif
528
529if not timerexists killTargetTimer
530 createtimer killTargetTimer
531 settimer killTargetTimer cdKillTarget
532endif
533
534if not timerexists witherTimer
535 createtimer witherTimer
536 settimer witherTimer cdWither
537endif
538
539if not timerexists vengefulSpiritTimer
540 createtimer vengefulSpiritTimer
541 settimer vengefulSpiritTimer cdVengefulSpirit
542endif
543
544if not timerexists bloodOathTimer
545 createtimer bloodOathTimer
546 settimer bloodOathTimer cdBloodOath
547endif
548
549if not timerexists painSpikeTimer
550 createtimer painSpikeTimer
551 settimer painSpikeTimer cdPainSpike
552endif
553
554if not timerexists poisonStrikeTimer
555 createtimer poisonStrikeTimer
556 settimer poisonStrikeTimer cdPoisonStrike
557endif
558
559if not timerexists preventOverheadSpamTimer
560 createtimer preventOverheadSpamTimer
561 settimer preventOverheadSpamTimer cdPreventOverheadSpam
562endif
563
564if not timerexists HerdTimer
565 createtimer HerdTimer
566 settimer HerdTimer cdHerdingTimer
567endif
568
569@setvar! cdPreventSpamNecroAbilities 750
570if not timerexists preventSpamNecroAbilitiesTimer
571 createtimer preventSpamNecroAbilitiesTimer
572 settimer preventSpamNecroAbilitiesTimer cdPreventSpamNecroAbilities
573endif
574
575if not varexist myEarthPet
576 @setvar! myEarthPet 0
577endif
578
579// make sure we have enough symbols to summon (6 for wither + vengful spirit)
580if skill "Necromancy" >= 90 and requireWitherBeforeSummons = 1
581 while followers < 4 and 6 > necroSymbols
582 // we already have vengeful spirit active, skip the check
583 if timer vengefulSpiritTimer < cdVengefulSpirit
584 break
585 endif
586 if diffhits >= hpCheckToTriggerGreaterHealSpell
587 if targetexists
588 hotkey 'Cancel Current Target'
589 endif
590 while not targetexists 'beneficial'
591 if diffhits >= hpCheckToTriggerMiniEmergencyHealSpell
592 cast 'Heal'
593 else
594 cast 'Greater Heal'
595 endif
596 wait 50
597 if hp = maxhp
598 hotkey '> Interrupt'
599 break
600 endif
601 endwhile
602 if targetexists 'beneficial'
603 hotkey 'Target Self'
604 endif
605 endif
606 if timer preventOverheadSpamTimer >= cdPreventOverheadSpam
607 overhead "waiting for symbols" 88
608 settimer preventOverheadSpamTimer 0
609 endif
610 if gumpexists 622436516 and skill "Necromancy" >= 50
611 if ingump "12/" 622436516
612 @setvar! necroSymbols 12
613 elseif ingump "13/" 622436516
614 @setvar! necroSymbols 13
615 elseif ingump "14/" 622436516
616 @setvar! necroSymbols 14
617 elseif ingump "15/" 622436516
618 @setvar! necroSymbols 15
619 elseif ingump "16/" 622436516
620 @setvar! necroSymbols 16
621 elseif ingump "17/" 622436516
622 @setvar! necroSymbols 17
623 elseif ingump "18/" 622436516
624 @setvar! necroSymbols 18
625 elseif ingump "19/" 622436516
626 @setvar! necroSymbols 19
627 elseif ingump "20/" 622436516
628 @setvar! necroSymbols 20
629 elseif ingump "21/" 622436516
630 @setvar! necroSymbols 21
631 elseif ingump "11/" 622436516
632 @setvar! necroSymbols 11
633 elseif ingump "10/" 622436516
634 @setvar! necroSymbols 10
635 elseif ingump "9/" 622436516
636 @setvar! necroSymbols 9
637 elseif ingump "8/" 622436516
638 @setvar! necroSymbols 8
639 elseif ingump "7/" 622436516
640 @setvar! necroSymbols 7
641 elseif ingump "6/" 622436516
642 @setvar! necroSymbols 6
643 elseif ingump "5/" 622436516
644 @setvar! necroSymbols 5
645 elseif ingump "4/" 622436516
646 @setvar! necroSymbols 4
647 elseif ingump "3/" 622436516
648 @setvar! necroSymbols 3
649 elseif ingump "2/" 622436516
650 @setvar! necroSymbols 2
651 elseif ingump "1/" 622436516
652 @setvar! necroSymbols 1
653 elseif ingump "0/" 622436516
654 @setvar! necroSymbols 0
655 endif
656 endif
657 endwhile
658endif
659
660
661if diffhits >= hpCheckToTriggerGreaterHealSpell
662 if targetexists
663 hotkey 'Cancel Current Target'
664 endif
665 hotkey 'all guard me'
666 while not targetexists 'beneficial'
667 if diffhits >= hpCheckToTriggerMiniEmergencyHealSpell
668 cast 'Heal'
669 else
670 cast 'Greater Heal'
671 endif
672 wait 50
673 if hp = maxhp
674 hotkey '> Interrupt'
675 break
676 endif
677 endwhile
678 if targetexists 'beneficial'
679 hotkey "Target Self"
680 endif
681 replay
682endif
683
684if renamePets = 0
685 clearlist petNameList
686endif
687
688if castSummonFireElementalCount > 0 and castSummonLichCount > 0
689 overhead "I am not going to do that. Update lich/fire to one or the other." 34
690 sysmsg "I am not going to do that. Update lich/fire to one or the other." 34
691 wait 2000
692 replay
693elseif castSummonEarthElementalCount > 0 and castSummonMummyCount > 0
694 overhead "I am not going to do that. Update earth/mummy to one or the other." 34
695 sysmsg "I am not going to do that. Update earth/mummy to one or the other." 34
696 wait 2000
697 replay
698elseif castSummonDemonCount > 0 and castSummonThrallCount > 0
699 overhead "I am not going to do that. Update demon/thrall to one or the other." 34
700 sysmsg "I am not going to do that. Update demon/thrall to one or the other." 34
701 wait 2000
702 replay
703elseif castSummonAirCount > 0 and castSummonFiendCount > 0
704 overhead "I am not going to do that. Update air/fiend to one or the other." 34
705 sysmsg "I am not going to do that. Update air/fiend to one or the other." 34
706 wait 2000
707 replay
708elseif castSummonWaterCount > 0 and castSummonRagWitchCount > 0
709 overhead "I am not going to do that. Update water/witch to one or the other." 34
710 sysmsg "I am not going to do that. Update water/witch to one or the other." 34
711 wait 2000
712 replay
713endif
714
715if not gumpexists 622436516 and skill "Necromancy" >= 50
716 say '[NecromancyHotbar'
717 wait 500
718endif
719
720if not varexist myMainTankPet
721 @setvar! myMainTankPet 0
722endif
723
724if not varexist fireOne
725 @setvar! fireOne 0
726endif
727
728if not varexist fireTwo
729 @setvar! fireTwo 0
730endif
731
732if not varexist earthOne
733 @setvar! earthOne 0
734endif
735
736if not varexist earthTwo
737 @setvar! earthTwo 0
738endif
739
740if not varexist demonOne
741 @setvar! demonOne 0
742endif
743
744if not varexist demonTwo
745 @setvar! demonTwo 0
746endif
747
748if not varexist airOne
749 @setvar! airOne 0
750endif
751
752if not varexist airTwo
753 @setvar! airTwo 0
754endif
755
756if not varexist waterOne
757 @setvar! waterOne 0
758endif
759
760if not varexist waterTwo
761 @setvar! waterTwo 0
762endif
763
764if not varexist evOne
765 @setvar! evOne 0
766endif
767
768if not varexist bsOne
769 @setvar! bsOne 0
770endif
771
772removelist summonList
773createlist summonList
774
775if followers = 0
776 @setvar! followCount 0
777elseif followers = 1
778 @setvar! followCount 1
779elseif followers = 2
780 @setvar! followCount 2
781elseif followers = 3
782 @setvar! followCount 3
783elseif followers = 4
784 @setvar! followCount 4
785elseif followers = 5
786 @setvar! followCount 5
787endif
788
789if castSummonEarthElementalCount > 0 or castSummonMummyCount > 0
790 if dead earthOne or not find earthOne ground -1 -1 18
791 if followers < 4
792 pushlist summonList "Earth Elemental"
793 @setvar! earthOne 1
794 endif
795 endif
796 if castSummonEarthElementalCount > 1 or castSummonMummyCount > 1
797 if dead earthTwo or not find earthTwo ground -1 -1 18
798 if followers < 4
799 pushlist summonList "Earth Elemental"
800 @setvar! earthTwo 1
801 endif
802 endif
803 endif
804endif
805
806if castSummonFireElementalCount > 0 or castSummonLichCount > 0
807 if dead fireOne or not find fireOne ground -1 -1 18
808 if followers < 4
809 pushlist summonList "Fire Elemental"
810 @setvar! fireOne 1
811 endif
812 endif
813 if castSummonFireElementalCount > 1 or castSummonLichCount > 1
814 if dead fireTwo or not find fireTwo ground -1 -1 18
815 if followers < 4
816 pushlist summonList "Fire Elemental"
817 @setvar! fireTwo 1
818 endif
819 endif
820 endif
821endif
822
823if castSummonDemonCount > 0 or castSummonThrallCount > 0
824 if dead demonOne or not find demonOne ground -1 -1 18
825 if followers < 4
826 pushlist summonList "Summon Daemon"
827 @setvar! demonOne 1
828 endif
829 endif
830 if castSummonDemonCount > 1 or castSummonThrallCount > 1
831 if dead demonTwo or not find demonTwo ground -1 -1 18
832 if followers < 4
833 pushlist summonList "Summon Daemon"
834 @setvar! demonTwo 1
835 endif
836 endif
837 endif
838endif
839
840if castSummonAirCount > 0 or castSummonFiendCount > 0
841 if dead airOne or not find airOne ground -1 -1 18
842 if followers < 4
843 pushlist summonList "Air Elemental"
844 @setvar! airOne 1
845 endif
846 endif
847 if castSummonAirCount > 1 or castSummonFiendCount > 1
848 if dead airTwo or not find airTwo ground -1 -1 18
849 if followers < 4
850 pushlist summonList "Air Elemental"
851 @setvar! airTwo 1
852 endif
853 endif
854 endif
855endif
856
857if castSummonWaterCount > 0 or castSummonRagWitchCount > 0
858 if dead waterOne or not find waterOne ground -1 -1 18
859 if followers < 4
860 pushlist summonList "Water Elemental"
861 @setvar! waterOne 1
862 endif
863 endif
864 if castSummonWaterCount > 1 or castSummonRagWitchCount > 1
865 if dead waterTwo or not find waterTwo ground -1 -1 18
866 if followers < 4
867 pushlist summonList "Water Elemental"
868 @setvar! waterTwo 1
869 endif
870 endif
871 endif
872endif
873
874if castEnergyVortexCount > 0 or castJackalSpiritCount > 0
875 if dead evOne or not find evOne ground -1 -1 18
876 if followers < 5
877 pushlist summonList "Energy Vortex"
878 @setvar! evOne 1
879 endif
880 endif
881endif
882
883if castBladeSpiritCount > 0 or castSkeletalHuskCount > 0
884 if dead bsOne or not find bsOne ground -1 -1 18
885 if followers < 5
886 pushlist summonList "Blade Spirits"
887 @setvar! bsOne 1
888 endif
889 endif
890endif
891
892if followers < 5
893 if castSummonCreatureCount = 1
894 pushlist summonList "Summ. Creature"
895 elseif castSummonCreatureCount = 2
896 pushlist summonList "Summ. Creature"
897 pushlist summonList "Summ. Creature"
898 elseif castSummonCreatureCount = 3
899 pushlist summonList "Summ. Creature"
900 pushlist summonList "Summ. Creature"
901 pushlist summonList "Summ. Creature"
902 elseif castSummonCreatureCount = 4
903 pushlist summonList "Summ. Creature"
904 pushlist summonList "Summ. Creature"
905 pushlist summonList "Summ. Creature"
906 pushlist summonList "Summ. Creature"
907 elseif castSummonCreatureCount = 5
908 pushlist summonList "Summ. Creature"
909 pushlist summonList "Summ. Creature"
910 pushlist summonList "Summ. Creature"
911 pushlist summonList "Summ. Creature"
912 pushlist summonList "Summ. Creature"
913 endif
914 while targetexists
915 hotkey 'Cancel Current Target'
916 wait 200
917 endwhile
918endif
919
920foreach summon in summonList
921 if followers < 5
922 overhead "Casting Summon: {{summon}}" 88
923 while mana < 50
924 if timer magicMushroomTimer >= cdMushroom and findtype "mushroom" backpack as mushy
925 overhead "Eating shrooms" 66
926 dclick mushy
927 @setvar! jase_shrooms mushy
928 wait 200
929 if insysmsg "You consume a magic mushroom and restore some mana."
930 settimer magicMushroomTimer 0
931 elseif insysmsg "before you may consume another magic mushroom" or insysmsg "been in combat with another"
932 settimer magicMushroomTimer 30000
933 endif
934 endif
935 if diffhits >= hpCheckToTriggerGreaterHealSpell
936 replay
937 endif
938 if timer preventOverheadSpamTimer >= cdPreventOverheadSpam
939 overhead "waiting for mana" 88
940 settimer preventOverheadSpamTimer 0
941 endif
942 if not findbuff "Actively Meditating"
943 useskill "meditation"
944 endif
945 wait 200
946 endwhile
947
948 @setvar! needVengefulSpirit 0
949
950 if summon = "Earth Elemental" and castSummonMummyCount > 0
951 @setvar! needVengefulSpirit 1
952 elseif summon = "Fire Elemental" and castSummonLichCount > 0
953 @setvar! needVengefulSpirit 1
954 elseif summon = "Summon Daemon" and castSummonThrallCount > 0
955 @setvar! needVengefulSpirit 1
956 elseif summon = "Air Elemental" and castSummonFiendCount > 0
957 @setvar! needVengefulSpirit 1
958 elseif summon = "Water Elemental" and castSummonRagWitchCount > 0
959 @setvar! needVengefulSpirit 1
960 elseif summon = "Summ. Creature" and skill "Necromancy" >= 50
961 @setvar! needVengefulSpirit 1
962 elseif summon = "Energy Vortex" and castJackalSpiritCount > 0
963 @setvar! needVengefulSpirit 1
964 elseif summon = "Blade Spirits" and castSkeletalHuskCount > 0
965 @setvar! needVengefulSpirit 1
966 elseif timer vengefulSpiritTimer <= cdVengefulSpirit and skill "Necromancy" >= 50
967 if timer preventOverheadSpamTimer >= cdPreventOverheadSpam
968 overhead "Waiting for spirit to go away" 88
969 settimer preventOverheadSpamTimer 0
970 endif
971 replay
972 endif
973
974 if needVengefulSpirit = 1
975 if timer vengefulSpiritTimer >= cdVengefulSpirit and skill "Necromancy" >= 50
976 yell "[VengefulSpirit"
977 settimer vengefulSpiritTimer 0
978 wait 500
979 endif
980 elseif timer vengefulSpiritTimer <= cdVengefulSpirit and skill "Necromancy" >= 50
981 if timer preventOverheadSpamTimer >= cdPreventOverheadSpam
982 overhead "Waiting for spirit to go away" 88
983 settimer preventOverheadSpamTimer 0
984 endif
985 replay
986 endif
987
988 if followers = 0
989 @setvar! followCount 0
990 elseif followers = 1
991 @setvar! followCount 1
992 elseif followers = 2
993 @setvar! followCount 2
994 elseif followers = 3
995 @setvar! followCount 3
996 elseif followers = 4
997 @setvar! followCount 4
998 elseif followers = 5
999 @setvar! followCount 5
1000 endif
1001
1002 if summon = "Summ. Creature" or summon = "Blade Spirits"
1003 // these only take 1 - so keep trying to cast
1004 elseif followers >= 4
1005 // if we already at 4, skip to next summon
1006 break
1007 endif
1008
1009
1010 while followers = followCount
1011 if followers = 5
1012 break
1013 endif
1014 cast summon
1015 wft 500
1016 if targetexists
1017 hotkey "Target Self"
1018 wait 200
1019 endif
1020 if timer witherTimer >= cdWither and skill "Necromancy" >= 95
1021 yell "[Wither"
1022 settimer witherTimer 0
1023 endif
1024 if diffhits >= hpCheckToTriggerGreaterHealSpell
1025 if targetexists
1026 hotkey "Cancel Current target"
1027 endif
1028 overhead "Need a heal!"
1029 hotkey '> Interrupt'
1030 while diffhits >= hpCheckToTriggerGreaterHealSpell and mana > 12
1031 while not targetexists beneficial
1032 if diffhits >= hpCheckToTriggerMiniEmergencyHealSpell
1033 cast 'Heal'
1034 else
1035 cast 'Greater Heal'
1036 endif
1037 wait 50
1038 endwhile
1039 while targetexists beneficial
1040 hotkey "Target Self"
1041 wait 50
1042 endwhile
1043 endwhile
1044 endif
1045 endwhile
1046 wait 200
1047
1048 @setvar! myFreshlySummonedPet 0
1049
1050 // 158 - an ancient mummy
1051 // 14 - an earth elemental
1052 if summon = "Earth Elemental" and findtype 158|14 ground -1 -1 2 as myPet
1053 @setvar! myFreshlySummonedPet myPet
1054 if earthOne = 1
1055 @setvar! earthOne myPet
1056 elseif earthTwo = 1
1057 @setvar! earthTwo myPet
1058 endif
1059 // 24 - a lich
1060 // 15 - a fire elemental
1061 elseif summon = "Fire Elemental" and findtype 24|15 ground -1 -1 2 as myPet
1062 @setvar! myFreshlySummonedPet myPet
1063 if fireOne = 1
1064 @setvar! fireOne myPet
1065 elseif fireTwo = 1
1066 @setvar! fireTwo myPet
1067 endif
1068 // 9 - a deamon
1069 // 722 - a vampire thrall
1070 elseif summon = "Summon Daemon" and findtype 9|722 ground -1 -1 2 as myPet
1071 @setvar! myFreshlySummonedPet myPet
1072 if demonOne = 1
1073 @setvar! demonOne myPet
1074 elseif demonTwo = 1
1075 @setvar! demonTwo myPet
1076 endif
1077 // 16 - water elemental
1078 // 740 - a rage witch
1079 elseif summon = "Water Elemental" and findtype 16|740 ground -1 -1 2 as myPet
1080 @setvar! myFreshlySummonedPet myPet
1081 if waterOne = 1
1082 @setvar! waterOne myPet
1083 elseif waterTwo = 1
1084 @setvar! waterTwo myPet
1085 endif
1086 // 13 - air elemental
1087 // 306 - a skeletal fiend
1088 elseif summon = "Air Elemental" and findtype 13|306 ground -1 -1 2 as myPet
1089 @setvar! myFreshlySummonedPet myPet
1090 if airOne = 1
1091 @setvar! airOne myPet
1092 elseif airTwo = 1
1093 @setvar! airTwo myPet
1094 endif
1095 elseif summon = "Summ. Creature"
1096 // TODO: gather all summon creature types
1097
1098 // 13 - an energy vortex
1099 // 391 - a jackal spirit
1100 elseif summon = "Energy Vortex" and findtype 13|391 ground -1 -1 2 as myPet
1101 @setvar! myFreshlySummonedPet myPet
1102 if evOne = 1
1103 @setvar! evOne myPet
1104 endif
1105 // 574 - a blade spirit
1106 // 309 - a skeletal husk
1107 elseif summon = "Blade Spirits" and findtype 574|309 ground -1 -1 2 as myPet
1108 @setvar! myFreshlySummonedPet myPet
1109 if bsOne = 1
1110 @setvar! bsOne myPet
1111 endif
1112 endif
1113
1114 if summon = "Summ. Creature"
1115 overhead "Creature summoned!" 88
1116 elseif myFreshlySummonedPet = 0
1117 overhead "Not found" 88
1118 else
1119 if noto myFreshlySummonedPet = "friend" and list petNameList > 0
1120 overhead "Renaming..." 77
1121 foreach petName in petNameList
1122 overhead "Rename to {{petName}}..." 66 myFreshlySummonedPet
1123 rename myFreshlySummonedPet petName
1124 wait 200
1125 if insysmsg "That name is unacceptable."
1126 overhead "Unable to name pet: {{petName}}" 34
1127 sysmsg "Unable to name pet: {{petName}}" 34
1128 endif
1129 break
1130 endfor
1131 poplist petNameList "front"
1132 endif
1133 overhead "New Pet: {{summon}}" 88 myFreshlySummonedPet
1134 if summon = "Energy Vortex" or summon = "Blade Spirits"
1135 // do nothing
1136 elseif skill "herding" > 0
1137 // guard
1138 menu myFreshlySummonedPet 4
1139 else
1140 // guard
1141 menu myFreshlySummonedPet 3
1142 endif
1143 @ignore myFreshlySummonedPet
1144 endif
1145 wait 500
1146 else
1147 break
1148 endif
1149endfor
1150
1151if dead myMainTankPet
1152 if not dead earthOne
1153 @setvar! myMainTankPet earthOne
1154 elseif not dead earthTwo
1155 @setvar! myMainTankPet earthTwo
1156 elseif not dead waterOne
1157 @setvar! myMainTankPet waterOne
1158 elseif not dead waterTwo
1159 @setvar! myMainTankPet waterTwo
1160 elseif not dead demonOne
1161 @setvar! myMainTankPet demonOne
1162 elseif not dead demonTwo
1163 @setvar! myMainTankPet demonTwo
1164 elseif not dead fireOne
1165 @setvar! myMainTankPet fireOne
1166 elseif not dead fireTwo
1167 @setvar! myMainTankPet fireTwo
1168 elseif not dead airOne
1169 @setvar! myMainTankPet airOne
1170 elseif not dead airTwo
1171 @setvar! myMainTankPet airTwo
1172 endif
1173endif
1174
1175if not varexist lastCannotBeSeen
1176 @setvar! lastCannotBeSeen 0
1177endif
1178
1179if lastCannotBeSeen != 0 and dead lastCannotBeSeen
1180 @setvar! lastCannotBeSeen 0
1181 @setvar! lastCannotBeSeenLoopIndex 0
1182endif
1183
1184# Eat food if we got it
1185if not findbuff "food" and findtype "tray" backpack as jood
1186 dclick jood
1187 wait 200
1188endif
1189
1190if targetexists harmful
1191 hotkey "Cancel current target"
1192endif
1193
1194if useTargetSystem = 0
1195 say "all kill"
1196 wait 200
1197 while targetexists
1198 // wait
1199 wait 50
1200 endwhile
1201
1202 @setvar myKillTarget lasttarget
1203elseif useTargetSystem = 1
1204 hotkey 'Target Closest Non-Friendly Monster'
1205 wait 200
1206 if insysmsg "No one matching that was found"
1207 if timer preventOverheadSpamTimer >= cdPreventOverheadSpam
1208 overhead "found no one" 34
1209 settimer preventOverheadSpamTimer 0
1210 endif
1211 if autoBotEnabled = 1
1212 wait 500
1213 replay
1214 endif
1215 stop
1216 elseif not find lasttarget ground -1 -1 10
1217
1218 @setvar checkForSummons lasttarget
1219 getlabel checkForSummons checkForSummonsDesc
1220
1221 if "(summoned" in checkForSummonsDesc or "(bonded" in checkForSummonsDesc or "the battle trainer" in checkForSummonsDesc
1222 overhead "▼ Player pet - IGNORE ▼" 77 lasttarget
1223 while not targetexists
1224 hotkey 'Add Target To: IgnoreMobs'
1225 wait 200
1226 endwhile
1227 target myKillTarget
1228 replay
1229 endif
1230
1231 overhead "● ▼ OUT OF RANGE ▼ ●" 88 lasttarget
1232 if timer preventOverheadSpamTimer >= cdPreventOverheadSpam
1233 overhead "Move closer, more then 8 tiles away" 34
1234 settimer preventOverheadSpamTimer 0
1235 endif
1236 if autoBotEnabled = 1
1237 wait 500
1238 replay
1239 endif
1240 stop
1241 else
1242
1243 @setvar checkForSummons lasttarget
1244 getlabel checkForSummons checkForSummonsDesc
1245
1246 if "(summoned" in checkForSummonsDesc or "(bonded" in checkForSummonsDesc or "the battle trainer" in checkForSummonsDesc
1247 overhead "▼ Player pet - IGNORE ▼" 77 lasttarget
1248 while not targetexists
1249 hotkey 'Add Target To: IgnoreMobs'
1250 wait 200
1251 endwhile
1252 target myKillTarget
1253 replay
1254 endif
1255
1256 overhead "● ▼▼ HERE ▼▼ ●" 88 lasttarget
1257 endif
1258
1259 @setvar myKillTarget lasttarget
1260
1261elseif useTargetSystem = 2
1262
1263 // do find type
1264 if jaseDebugMode = 1
1265 overhead "do find type"
1266 endif
1267
1268 //@setvar! mobDiff 0
1269
1270 // should we cast spells
1271 // should our pets kill it only?
1272 // do we need to debuff the mob?
1273 // boss - do we want to do manadrain vs mana vampire
1274
1275 // targeting
1276
1277 @setvar! myFindTypeMob 0
1278
1279 if findtype 54|1|141|34|843|1081|44|42|68|88|28|159|11|631|612|281|280|313|385|21|727|689|735|74|400|732|24|776|39|400|215|717|51|716|14|12|60|37|37|21|155|14|138|787|787|395|79|259|783|782|781|58|715|738|727|1419|1504|310|99|113|214|736|204|158|29|75|9|59|61|16|303|306|30|241|730|393|17|314|48|21|721|53|42|1069|287|59|58|401|16|778|715|47|725|169|317|213|384|373|734|23|27|25|705|728|37|779|775|173|92|98|80|388|98|287|302|73|720|252|8|392|9|14|319|4|386|22|9|16|400|400|401|401|401|401|49|96|8|315|303|309|386|169|37|777|59|718|61|718|9|104|266|12|60|12|60|393|721|31|400|401|12|60|778|393|251|12|60|37|826|154|264|39|9|128|176|374|738|169|315|393|776|734|317|13|720|225|305|401|131|94|93|244|16|318|392|393|310|372|309|49|130|83|130|753|59|114|116|830|26|778|400|401|26|81|48|732|779|723|4|387|150|334|385|261|1069|390|304|379|307|729|384|160|74|400|400|400|9|4|784|400|400|400|400|401|4|391|214|13|724|206|16|293|40|43|24|24|285|705|199|199|829|256|160|573|259|400|776|263|375|9|241|39|39|206|202|380|13|30|8|51|4|154|16|312|79|148|401|204|1069|73|748|86|85|87|86|782|781|400|401|401|400|401|400|400|401|401|401|401|401|400|789|316|401|120|832|108|396|393|401|401|757|401|400|401|756|401|763|730|716|16|16|787|740|3|401|75|9|59|400|401|401|401|401|400|400|401|401|400|400|401|21|970|92|16|270|970|400|401|401|401|37|270|37|1419|1504|251|315|51|741|37|169|717|740|715|14|74|206|242|778|739|776|16|51|304|3|300|29|382|104|306|309|57|50|56|302|59|61|1503|24|14|13|51|252|31|400|390|23|27|400|400|704|689|383|25|293|371|21|705|30|36|8|1419|1504|721|12|60|736|788|69|71|738|72|70|780|242|400|37|737|199|401|400|401|722|317|258|229|300|380|22|59|61|15|42|45|394|1419|1504|47|97|47|285|65|225|73|30|382|739|743|62|733|17|80|18|55|41|317|81|215|31|24|35|400|225|30|3|390|72|9|384|41|58|400|400|119 ground -1 -1 2 as daklue
1280 @setvar! myFindTypeMob daklue
1281 getlabel myFindTypeMob helperDesc
1282 overhead "● ▼▼ HERE ▼▼ ●" 88 myFindTypeMob
1283
1284 if jaseDebugMode = 1
1285 overhead "● block 1 {{helperDesc}}" 88
1286 hotkey "Get InfoGump"
1287 wft 500
1288 target myFindTypeMob
1289 endif
1290
1291 elseif findtype 54|1|141|34|843|1081|44|42|68|88|28|159|11|631|612|281|280|313|385|21|727|689|735|74|400|732|24|776|39|400|215|717|51|716|14|12|60|37|37|21|155|14|138|787|787|395|79|259|783|782|781|58|715|738|727|1419|1504|310|99|113|214|736|204|158|29|75|9|59|61|16|303|306|30|241|730|393|17|314|48|21|721|53|42|1069|287|59|58|401|16|778|715|47|725|169|317|213|384|373|734|23|27|25|705|728|37|779|775|173|92|98|80|388|98|287|302|73|720|252|8|392|9|14|319|4|386|22|9|16|400|400|401|401|401|401|49|96|8|315|303|309|386|169|37|777|59|718|61|718|9|104|266|12|60|12|60|393|721|31|400|401|12|60|778|393|251|12|60|37|826|154|264|39|9|128|176|374|738|169|315|393|776|734|317|13|720|225|305|401|131|94|93|244|16|318|392|393|310|372|309|49|130|83|130|753|59|114|116|830|26|778|400|401|26|81|48|732|779|723|4|387|150|334|385|261|1069|390|304|379|307|729|384|160|74|400|400|400|9|4|784|400|400|400|400|401|4|391|214|13|724|206|16|293|40|43|24|24|285|705|199|199|829|256|160|573|259|400|776|263|375|9|241|39|39|206|202|380|13|30|8|51|4|154|16|312|79|148|401|204|1069|73|748|86|85|87|86|782|781|400|401|401|400|401|400|400|401|401|401|401|401|400|789|316|401|120|832|108|396|393|401|401|757|401|400|401|756|401|763|730|716|16|16|787|740|3|401|75|9|59|400|401|401|401|401|400|400|401|401|400|400|401|21|970|92|16|270|970|400|401|401|401|37|270|37|1419|1504|251|315|51|741|37|169|717|740|715|14|74|206|242|778|739|776|16|51|304|3|300|29|382|104|306|309|57|50|56|302|59|61|1503|24|14|13|51|252|31|400|390|23|27|400|400|704|689|383|25|293|371|21|705|30|36|8|1419|1504|721|12|60|736|788|69|71|738|72|70|780|242|400|37|737|199|401|400|401|722|317|258|229|300|380|22|59|61|15|42|45|394|1419|1504|47|97|47|285|65|225|73|30|382|739|743|62|733|17|80|18|55|41|317|81|215|31|24|35|400|225|30|3|390|72|9|384|41|58|400|400|119 ground -1 -1 4 as daklue
1292 @setvar! myFindTypeMob daklue
1293 getlabel myFindTypeMob helperDesc
1294 overhead "● ▼▼ HERE ▼▼ ●" 88 myFindTypeMob
1295 if jaseDebugMode = 1
1296 overhead "● block 2 {{helperDesc}}" 88
1297 hotkey "Get InfoGump"
1298 wft 500
1299 target myFindTypeMob
1300 endif
1301 elseif findtype 54|1|141|34|843|1081|44|42|68|88|28|159|11|631|612|281|280|313|385|21|727|689|735|74|400|732|24|776|39|400|215|717|51|716|14|12|60|37|37|21|155|14|138|787|787|395|79|259|783|782|781|58|715|738|727|1419|1504|310|99|113|214|736|204|158|29|75|9|59|61|16|303|306|30|241|730|393|17|314|48|21|721|53|42|1069|287|59|58|401|16|778|715|47|725|169|317|213|384|373|734|23|27|25|705|728|37|779|775|173|92|98|80|388|98|287|302|73|720|252|8|392|9|14|319|4|386|22|9|16|400|400|401|401|401|401|49|96|8|315|303|309|386|169|37|777|59|718|61|718|9|104|266|12|60|12|60|393|721|31|400|401|12|60|778|393|251|12|60|37|826|154|264|39|9|128|176|374|738|169|315|393|776|734|317|13|720|225|305|401|131|94|93|244|16|318|392|393|310|372|309|49|130|83|130|753|59|114|116|830|26|778|400|401|26|81|48|732|779|723|4|387|150|334|385|261|1069|390|304|379|307|729|384|160|74|400|400|400|9|4|784|400|400|400|400|401|4|391|214|13|724|206|16|293|40|43|24|24|285|705|199|199|829|256|160|573|259|400|776|263|375|9|241|39|39|206|202|380|13|30|8|51|4|154|16|312|79|148|401|204|1069|73|748|86|85|87|86|782|781|400|401|401|400|401|400|400|401|401|401|401|401|400|789|316|401|120|832|108|396|393|401|401|757|401|400|401|756|401|763|730|716|16|16|787|740|3|401|75|9|59|400|401|401|401|401|400|400|401|401|400|400|401|21|970|92|16|270|970|400|401|401|401|37|270|37|1419|1504|251|315|51|741|37|169|717|740|715|14|74|206|242|778|739|776|16|51|304|3|300|29|382|104|306|309|57|50|56|302|59|61|1503|24|14|13|51|252|31|400|390|23|27|400|400|704|689|383|25|293|371|21|705|30|36|8|1419|1504|721|12|60|736|788|69|71|738|72|70|780|242|400|37|737|199|401|400|401|722|317|258|229|300|380|22|59|61|15|42|45|394|1419|1504|47|97|47|285|65|225|73|30|382|739|743|62|733|17|80|18|55|41|317|81|215|31|24|35|400|225|30|3|390|72|9|384|41|58|400|400|119 ground -1 -1 10 as daklue
1302 @setvar! myFindTypeMob daklue
1303 getlabel myFindTypeMob helperDesc
1304 overhead "● ▼▼ HERE ▼▼ ●" 88 myFindTypeMob
1305 if jaseDebugMode = 1
1306 overhead "● block 3 {{helperDesc}}" 88
1307 hotkey "Get InfoGump"
1308 wft 500
1309 target myFindTypeMob
1310 endif
1311 elseif findtype 54|1|141|34|843|1081|44|42|68|88|28|159|11|631|612|281|280|313|385|21|727|689|735|74|400|732|24|776|39|400|215|717|51|716|14|12|60|37|37|21|155|14|138|787|787|395|79|259|783|782|781|58|715|738|727|1419|1504|310|99|113|214|736|204|158|29|75|9|59|61|16|303|306|30|241|730|393|17|314|48|21|721|53|42|1069|287|59|58|401|16|778|715|47|725|169|317|213|384|373|734|23|27|25|705|728|37|779|775|173|92|98|80|388|98|287|302|73|720|252|8|392|9|14|319|4|386|22|9|16|400|400|401|401|401|401|49|96|8|315|303|309|386|169|37|777|59|718|61|718|9|104|266|12|60|12|60|393|721|31|400|401|12|60|778|393|251|12|60|37|826|154|264|39|9|128|176|374|738|169|315|393|776|734|317|13|720|225|305|401|131|94|93|244|16|318|392|393|310|372|309|49|130|83|130|753|59|114|116|830|26|778|400|401|26|81|48|732|779|723|4|387|150|334|385|261|1069|390|304|379|307|729|384|160|74|400|400|400|9|4|784|400|400|400|400|401|4|391|214|13|724|206|16|293|40|43|24|24|285|705|199|199|829|256|160|573|259|400|776|263|375|9|241|39|39|206|202|380|13|30|8|51|4|154|16|312|79|148|401|204|1069|73|748|86|85|87|86|782|781|400|401|401|400|401|400|400|401|401|401|401|401|400|789|316|401|120|832|108|396|393|401|401|757|401|400|401|756|401|763|730|716|16|16|787|740|3|401|75|9|59|400|401|401|401|401|400|400|401|401|400|400|401|21|970|92|16|270|970|400|401|401|401|37|270|37|1419|1504|251|315|51|741|37|169|717|740|715|14|74|206|242|778|739|776|16|51|304|3|300|29|382|104|306|309|57|50|56|302|59|61|1503|24|14|13|51|252|31|400|390|23|27|400|400|704|689|383|25|293|371|21|705|30|36|8|1419|1504|721|12|60|736|788|69|71|738|72|70|780|242|400|37|737|199|401|400|401|722|317|258|229|300|380|22|59|61|15|42|45|394|1419|1504|47|97|47|285|65|225|73|30|382|739|743|62|733|17|80|18|55|41|317|81|215|31|24|35|400|225|30|3|390|72|9|384|41|58|400|400|119 ground -1 -1 12 as daklue
1312 @setvar! myFindTypeMob daklue
1313 overhead "● ▼ OUT OF RANGE ▼ ●" 88 daklue
1314 getlabel daklue helperDesc
1315 if jaseDebugMode = 1
1316 overhead "● block 4 {{helperDesc}}" 88
1317 hotkey "Get InfoGump"
1318 wft 500
1319 target myFindTypeMob
1320 endif
1321 if "(summoned" in helperDesc or "(bonded" in helperDesc or "(tamed" in helperDesc or "the battle trainer" in helperDesc
1322 overhead "▼ Player pet - IGNORE ▼" 77 daklue
1323 ignore daklue
1324 replay
1325 endif
1326 wait 200
1327
1328 if patrolPetEvenIfLastTargetIsBeyondEightTiles = 1
1329
1330 if not timerexists myPatrolPetTimer
1331 settimer myPatrolPetTimer 5000
1332 endif
1333
1334 if not varexist myPatrolPet
1335 @setvar! myPatrolPet 0
1336 endif
1337
1338 if find myPatrolPet ground -1 -1 10
1339 // do nothing
1340 elseif find earthOne ground -1 -1 10
1341 @setvar! myPatrolPet earthOne
1342 elseif find earthTwo ground -1 -1 10
1343 @setvar! myPatrolPet earthTwo
1344 elseif find fireOne ground -1 -1 10
1345 @setvar! myPatrolPet fireOne
1346 elseif find fireTwo ground -1 -1 10
1347 @setvar! myPatrolPet fireTwo
1348 elseif find demonOne ground -1 -1 10
1349 @setvar! myPatrolPet demonOne
1350 elseif find demonTwo ground -1 -1 10
1351 @setvar! myPatrolPet demonTwo
1352 elseif find airOne ground -1 -1 10
1353 @setvar! myPatrolPet airOne
1354 elseif find airTwo ground -1 -1 10
1355 @setvar! myPatrolPet airTwo
1356 elseif find waterOne ground -1 -1 10
1357 @setvar! myPatrolPet waterOne
1358 elseif find waterTwo ground -1 -1 10
1359 @setvar! myPatrolPet waterTwo
1360 else
1361 @setvar! myPatrolPet 0
1362 endif
1363
1364 if myPatrolPet = 0
1365 // do nothing
1366 elseif timer myPatrolPetTimer >= 5000
1367 overhead "● SEND IN PATROL PET ●" 77 myFindTypeMob
1368 if skill "Herding" > 0
1369 menu myPatrolPet 3
1370 else
1371 menu myPatrolPet 2
1372 endif
1373 wft 500
1374 target myFindTypeMob
1375 settimer myPatrolPetTimer 0
1376 endif
1377
1378 endif
1379
1380 replay
1381 else
1382 if jaseDebugMode = 1
1383 overhead "● block 5" 88
1384 endif
1385 if timer preventOverheadSpamTimer >= cdPreventOverheadSpam
1386 overhead "Found type found no one" 34
1387 settimer preventOverheadSpamTimer 0
1388 endif
1389 wait 200
1390 replay
1391 endif
1392
1393 if myFindTypeMob = 0
1394 wait 200
1395 replay
1396 elseif dead myFindTypeMob
1397 wait 200
1398 replay
1399 else
1400 getlabel myFindTypeMob checkForSummonsDesc
1401 overhead "Found: {{checkForSummonsDesc}}" 88 myFindTypeMob
1402
1403 if "(summoned" in checkForSummonsDesc or "(bonded" in checkForSummonsDesc or "(tamed" in checkForSummonsDesc or "the battle trainer" in checkForSummonsDesc
1404 overhead "▼ Player pet - IGNORE ▼" 77 myFindTypeMob
1405 @ignore myFindTypeMob
1406 replay
1407 endif
1408
1409 if noto myFindTypeMob = "friend"
1410 @ignore myFindTypeMob
1411 replay
1412 elseif noto myFindTypeMob = "innocent"
1413 @ignore myFindTypeMob
1414 replay
1415 elseif noto myFindTypeMob = "hostile" or noto myFindTypeMob = "criminal"
1416 //overhead "Gray" 88
1417 elseif noto myFindTypeMob = "murderer"
1418 //overhead "Red" 34
1419 elseif noto myFindTypeMob = "enemy"
1420 //overhead "Orange" 34
1421 elseif noto daklue = "invulnerable"
1422 @ignore myFindTypeMob
1423 replay
1424 else
1425 overhead "Unknown" 34
1426 wait 500
1427 @ignore myFindTypeMob
1428 replay
1429 endif
1430
1431 @setvar! myKillTarget myFindTypeMob
1432 endif
1433elseif useTargetSystem = 3
1434
1435 hotkey 'Next Non-Friendly Monster Target'
1436 wait 200
1437 if insysmsg "No one matching that was found"
1438 if timer preventOverheadSpamTimer >= cdPreventOverheadSpam
1439 overhead "found no one" 34
1440 settimer preventOverheadSpamTimer 0
1441 endif
1442 if autoBotEnabled = 1
1443 wait 500
1444 replay
1445 endif
1446 stop
1447 else
1448
1449 @setvar checkForSummons lasttarget
1450 getlabel checkForSummons checkForSummonsDesc
1451
1452 if "(summoned" in checkForSummonsDesc or "(bonded" in checkForSummonsDesc or "the battle trainer" in checkForSummonsDesc
1453 overhead "▼ Player pet - IGNORE ▼" 77 lasttarget
1454 replay
1455 endif
1456
1457 if find lasttarget ground -1 -1 8
1458 // we ready
1459 overhead "● ▼▼ HERE ▼▼ ●" 88 lasttarget
1460 elseif find lasttarget ground -1 -1 12
1461 if timer preventOverheadSpamTimer >= cdPreventOverheadSpam
1462 overhead "Move closer, more then 8 tiles away" 34
1463 settimer preventOverheadSpamTimer 0
1464 endif
1465 overhead "● ▼ OUT OF RANGE ▼ ●" 88 lasttarget
1466
1467 if patrolPetEvenIfLastTargetIsBeyondEightTiles = 1
1468
1469 if not timerexists myPatrolPetTimer
1470 settimer myPatrolPetTimer 5000
1471 endif
1472
1473 if not varexist myPatrolPet
1474 @setvar! myPatrolPet 0
1475 endif
1476
1477 if find myPatrolPet ground -1 -1 10
1478 // do nothing
1479 elseif find earthOne ground -1 -1 10
1480 @setvar! myPatrolPet earthOne
1481 elseif find earthTwo ground -1 -1 10
1482 @setvar! myPatrolPet earthTwo
1483 elseif find fireOne ground -1 -1 10
1484 @setvar! myPatrolPet fireOne
1485 elseif find fireTwo ground -1 -1 10
1486 @setvar! myPatrolPet fireTwo
1487 elseif find demonOne ground -1 -1 10
1488 @setvar! myPatrolPet demonOne
1489 elseif find demonTwo ground -1 -1 10
1490 @setvar! myPatrolPet demonTwo
1491 elseif find airOne ground -1 -1 10
1492 @setvar! myPatrolPet airOne
1493 elseif find airTwo ground -1 -1 10
1494 @setvar! myPatrolPet airTwo
1495 elseif find waterOne ground -1 -1 10
1496 @setvar! myPatrolPet waterOne
1497 elseif find waterTwo ground -1 -1 10
1498 @setvar! myPatrolPet waterTwo
1499 else
1500 @setvar! myPatrolPet 0
1501 endif
1502
1503 if myPatrolPet = 0
1504 // do nothing
1505 elseif timer myPatrolPetTimer >= 5000
1506 overhead "● SEND IN PATROL PET ●" 77 myFindTypeMob
1507 if skill "Herding" > 0
1508 menu myPatrolPet 3
1509 else
1510 menu myPatrolPet 2
1511 endif
1512 wft 500
1513 target lasttarget
1514 settimer myPatrolPetTimer 0
1515 endif
1516
1517 endif
1518
1519 if autoBotEnabled = 1
1520 wait 500
1521 replay
1522 endif
1523 stop
1524 else
1525 if timer preventOverheadSpamTimer >= cdPreventOverheadSpam
1526 overhead "Next mob too far" 34
1527 settimer preventOverheadSpamTimer 0
1528 endif
1529 wait 200
1530 replay
1531 endif
1532 endif
1533
1534 @setvar myKillTarget lasttarget
1535endif
1536
1537
1538if not varexist myPreviousKillTarget
1539 @setvar myPreviousKillTarget 0
1540endif
1541
1542getlabel myKillTarget desc
1543overhead desc
1544
1545if "(summoned" in desc or "(bonded" in desc or "(tame" in desc or "the battle trainer" in desc
1546 overhead "▼ Player pet - IGNORE ▼" 77 lasttarget
1547 while not targetexists
1548 hotkey 'Add Target To: IgnoreMobs'
1549 wait 200
1550 endwhile
1551 target myKillTarget
1552 replay
1553endif
1554
1555if not varexist myEarthPet or dead myEarthPet
1556 if not dead earthOne
1557 @setvar! myEarthPet earthOne
1558 elseif not dead earthTwo
1559 @setvar! myEarthPet earthTwo
1560 endif
1561endif
1562
1563if tamerModeEngaged = 1
1564 // jaseTankPet patrol maybe
1565 // overhead "We are a tamer"
1566elseif find myEarthPet ground -1 -1 12
1567 menu myEarthPet 2
1568 wft 500
1569 target myKillTarget
1570 wait 200
1571 if insysmsg "Target cannot be seen."
1572 if lastCannotBeSeen = 0
1573 @setvar! lastCannotBeSeen myKillTarget
1574 endif
1575 else
1576 @setvar! lastCannotBeSeen 0
1577 endif
1578endif
1579
1580if diffhits >= hpCheckToTriggerGreaterHealSpell and mana > 12
1581 while not targetexists beneficial
1582 if diffhits >= hpCheckToTriggerMiniEmergencyHealSpell
1583 cast 'Heal'
1584 else
1585 cast 'Greater Heal'
1586 endif
1587 wait 50
1588 if hp = maxhp
1589 hotkey '> Interrupt'
1590 break
1591 endif
1592 endwhile
1593 if targetexists beneficial
1594 hotkey "Target Self"
1595 endif
1596elseif castArchProtection = 1 and not findbuff "protection" and followers >= 4
1597 while not targetexists
1598 cast 'Arch Protection'
1599 wait 50
1600 if diffhits >= hpCheckToTriggerGreaterHealSpell
1601 hotkey '> Interrupt'
1602 break
1603 endif
1604 endwhile
1605 if targetexists
1606 target self
1607 endif
1608elseif castBless = 1 and str <= 100 and followers >= 4
1609 while not targetexists beneficial
1610 cast 'Bless'
1611 wait 50
1612 if diffhits >= hpCheckToTriggerGreaterHealSpell
1613 hotkey '> Interrupt'
1614 break
1615 endif
1616 endwhile
1617 if targetexists beneficial
1618 target self
1619 endif
1620endif
1621
1622if not listexists myCursedTargets
1623 createlist myCursedTargets
1624endif
1625
1626if not listexists myManaDrainTargets
1627 createlist myManaDrainTargets
1628endif
1629
1630if not listexists myManaVampireTargets
1631 createlist myManaVampireTargets
1632endif
1633
1634
1635if not varexist lastCannotBeSeenLoopIndex
1636 @setvar! lastCannotBeSeenLoopIndex 0
1637endif
1638
1639
1640if lastCannotBeSeen = myKillTarget
1641 if timer preventOverheadSpamTimer >= cdPreventOverheadSpam
1642 overhead "Target not seen, waiting.." 34
1643 settimer preventOverheadSpamTimer 0
1644 endif
1645 wait 200
1646 //overhead "{{lastCannotBeSeenLoopIndex}} : {{retryBasedOnTargetNotSeenTimer}}"
1647 if lastCannotBeSeenLoopIndex = 0
1648 @setvar! lastCannotBeSeenLoopIndex 1
1649 endif
1650 if timer retryBasedOnTargetNotSeenTimer >= cdRetryBasedOnTargetNotSeen
1651 settimer retryBasedOnTargetNotSeenTimer 0
1652 @setvar! lastCannotBeSeen 0
1653 else
1654 replay
1655 endif
1656
1657elseif find myKillTarget -1 -1 12 as killy
1658 if myKillTarget = myPreviousKillTarget
1659 // do nothing
1660 else
1661
1662 // Herding using crook
1663 if skill "Herding" > 0 and findtype 3713 backpack as jrook
1664 dclick jrook
1665 wft 500
1666 target killy
1667 endif
1668
1669 if inlist myManaVampireTargets myKillTarget
1670 overhead "We already mana vampired this guy" 88
1671 // do nothing
1672 elseif castManaVampire = 0
1673 // do nothing
1674 elseif followers >= 4 and mana >= manaReserve
1675 while not targetexists harmful
1676 if dead myKillTarget
1677 hotkey '> Interrupt'
1678 break
1679 elseif diffhits < 30
1680 if skill "Herding" > 0 and isHerded = 0 and timer meditiationTimer >= 11000 and findtype 3713 backpack as jrook
1681 dclick jrook
1682 wft 500
1683 target myKillTarget
1684 settimer meditiationTimer 8000
1685 @setvar! isHerded 1
1686 endif
1687 cast 'mana vampire'
1688 wait 50
1689 elseif diffhits >= hpCheckToTriggerGreaterHealSpell or dead myKillTarget
1690 hotkey '> Interrupt'
1691 break
1692 endif
1693 endwhile
1694 if targetexists harmful
1695 target myKillTarget
1696 pushlist myManaVampireTargets myKillTarget
1697 settimer killTargetTimer 0
1698 wait 500
1699 if insysmsg "Target cannot be seen."
1700 @setvar! lastCannotBeSeen myKillTarget
1701 overhead "CANNOT BE SEEN MOVE TO NEXT TARGET" 34
1702 replay
1703 endif
1704 endif
1705 if targetexists harmful
1706 hotkey "Cancel current target"
1707 endif
1708 endif
1709
1710 if inlist myManaDrainTargets myKillTarget
1711 overhead "We already mana drained this guy" 88
1712 // do nothing
1713 elseif castManadrain = 0
1714 // do nothing
1715 elseif followers >= 4 and mana >= manaReserve
1716 while not targetexists harmful
1717 if dead myKillTarget
1718 hotkey '> Interrupt'
1719 break
1720 elseif diffhits < 30
1721 if skill "Herding" > 0 and isHerded = 0 and timer meditiationTimer >= 11000 and findtype 3713 backpack as jrook
1722 dclick jrook
1723 wft 500
1724 target myKillTarget
1725 settimer meditiationTimer 8000
1726 @setvar! isHerded 1
1727 endif
1728 cast 'mana drain'
1729 wait 50
1730 elseif diffhits >= hpCheckToTriggerGreaterHealSpell or dead myKillTarget
1731 hotkey '> Interrupt'
1732 break
1733 endif
1734 endwhile
1735 if targetexists harmful
1736 target myKillTarget
1737 pushlist myManaDrainTargets myKillTarget
1738 settimer killTargetTimer 0
1739 wait 500
1740 if insysmsg "Target cannot be seen."
1741 @setvar! lastCannotBeSeen myKillTarget
1742 overhead "CANNOT BE SEEN MOVE TO NEXT TARGET" 34
1743 replay
1744 endif
1745 endif
1746 if targetexists harmful
1747 hotkey "Cancel current target"
1748 endif
1749 endif
1750
1751 if inlist myCursedTargets myKillTarget
1752 overhead "We already cursed this guy" 88
1753 // do nothing
1754 elseif castCurse = 0
1755 // do nothing
1756 elseif followers >= 4 and mana >= manaReserve
1757 while not targetexists harmful and not dead myKillTarget
1758 if diffhits < 30
1759 if skill "Herding" > 0 and isHerded = 0 and timer meditiationTimer >= 11000 and findtype 3713 backpack as jrook
1760 dclick jrook
1761 wft 500
1762 target myKillTarget
1763 settimer meditiationTimer 8000
1764 @setvar! isHerded 1
1765 endif
1766 cast 'Curse'
1767 wait 50
1768 elseif diffhits >= hpCheckToTriggerGreaterHealSpell
1769 hotkey '> Interrupt'
1770 break
1771 endif
1772 endwhile
1773 if targetexists harmful
1774 target myKillTarget
1775 pushlist myCursedTargets myKillTarget
1776 settimer killTargetTimer 0
1777 wait 500
1778 if insysmsg "Target cannot be seen."
1779 @setvar! lastCannotBeSeen myKillTarget
1780 overhead "CANNOT BE SEEN MOVE TO NEXT TARGET" 34
1781 replay
1782 endif
1783 else
1784 hotkey '> Interrupt'
1785 endif
1786 if targetexists harmful
1787 hotkey "Cancel current target"
1788 endif
1789 endif
1790 @setvar myPreviousKillTarget myKillTarget
1791 endif
1792else
1793 overhead "Out of range" 34
1794endif
1795
1796
1797clearsysmsg
1798
1799say "all guard"
1800
1801@setvar! isLethalPoison 0
1802@setvar! isHerded 0
1803
1804if skill "Peacemaking" >= 50
1805 @setvar! isPeaced 0
1806else
1807 @setvar! isPeaced 1
1808endif
1809
1810if skill "Discordance" >= 50
1811 @setvar! isDiscorded 0
1812else
1813 @setvar! isDiscorded 1
1814endif
1815
1816while not dead myKillTarget and find myKillTarget -1 -1 12 as killy
1817
1818 for 5
1819
1820 if findbuff "bleed" or findbuff "disease"
1821 if timer cleansingBrewTimer >= cdCleansingBrew and findtype 50675 backpack 2935 as jrew
1822 dclick jrew
1823 wait minimumWaitForPing
1824 settimer cleansingBrewTimer 0
1825 endif
1826 endif
1827
1828 // lost a follower
1829 if followers < breakSpellCastAndResummonIfLessThanXFollowers
1830 replay
1831 endif
1832
1833 if weight >= maxweight and not findbuff "strength" and automaticallyDrinkStrPotIfOverWeight = 1 and findtype "white potion" backpack as pot
1834 dclick pot
1835 wait 200
1836 endif
1837
1838 if dead myKillTarget
1839 break
1840 elseif insysmsg "Target cannot be seen."
1841 @setvar! lastCannotBeSeen myKillTarget
1842 overhead "CANNOT BE SEEN MOVE TO NEXT TARGET" 34
1843 replay
1844 elseif find myKillTarget -1 -1 12 as killy
1845 // do nothing - in range to kill
1846 else
1847 break
1848 endif
1849
1850 if skill "Herding" > 0 and isHerded = 0 and timer meditiationTimer >= 11000 and findtype 3713 backpack as jrook
1851 dclick jrook
1852 wft 500
1853 target myKillTarget
1854 settimer meditiationTimer 8000
1855 @setvar! isHerded 1
1856 endif
1857
1858 if gumpexists 622436516 and skill "Necromancy" >= 50
1859 if ingump "12/" 622436516
1860 @setvar! necroSymbols 12
1861 elseif ingump "13/" 622436516
1862 @setvar! necroSymbols 13
1863 elseif ingump "14/" 622436516
1864 @setvar! necroSymbols 14
1865 elseif ingump "15/" 622436516
1866 @setvar! necroSymbols 15
1867 elseif ingump "16/" 622436516
1868 @setvar! necroSymbols 16
1869 elseif ingump "17/" 622436516
1870 @setvar! necroSymbols 17
1871 elseif ingump "18/" 622436516
1872 @setvar! necroSymbols 18
1873 elseif ingump "19/" 622436516
1874 @setvar! necroSymbols 19
1875 elseif ingump "20/" 622436516
1876 @setvar! necroSymbols 20
1877 elseif ingump "21/" 622436516
1878 @setvar! necroSymbols 21
1879 elseif ingump "11/" 622436516
1880 @setvar! necroSymbols 11
1881 elseif ingump "10/" 622436516
1882 @setvar! necroSymbols 10
1883 elseif ingump "9/" 622436516
1884 @setvar! necroSymbols 9
1885 elseif ingump "8/" 622436516
1886 @setvar! necroSymbols 8
1887 elseif ingump "7/" 622436516
1888 @setvar! necroSymbols 7
1889 elseif ingump "6/" 622436516
1890 @setvar! necroSymbols 6
1891 elseif ingump "5/" 622436516
1892 @setvar! necroSymbols 5
1893 elseif ingump "4/" 622436516
1894 @setvar! necroSymbols 4
1895 elseif ingump "3/" 622436516
1896 @setvar! necroSymbols 3
1897 elseif ingump "2/" 622436516
1898 @setvar! necroSymbols 2
1899 elseif ingump "1/" 622436516
1900 @setvar! necroSymbols 1
1901 elseif ingump "0/" 622436516
1902 @setvar! necroSymbols 0
1903 endif
1904 endif
1905
1906 if skill "Discordance" >= 50
1907 if isDiscorded = 0
1908 getlabel myKillTarget discordDesc
1909 if "discord" in discordDesc
1910 @setvar! isDiscorded 1
1911 elseif timer meditiationTimer >= 11000
1912 useskill 'Discordance'
1913 wft 500
1914 if insysmsg "What instrument"
1915 if findtype "bamboo flute" backpack as inny
1916 target inny
1917 elseif findtype "tambourine" backpack as inny
1918 target inny
1919 elseif findtype "drum" backpack as inny
1920 target inny
1921 elseif findtype "lute" backpack as inny
1922 target inny
1923 elseif findtype "harp" backpack as inny
1924 target inny
1925 elseif findtype "lap harp" backpack as inny
1926 target inny
1927 else
1928 overhead "I do not have an inny" 34
1929 @setvar! isDiscorded 1
1930 endif
1931 wft 500
1932 endif
1933 if targetexists
1934 target myKillTarget
1935 overhead "Discorded" 88 myKillTarget
1936 endif
1937 settimer meditiationTimer 5000
1938 endif
1939 endif
1940
1941 if not findbuff "song of discordance" and timer meditiationTimer >= 11000
1942 useskill 'Discordance'
1943 wft 500
1944 if insysmsg "What instrument"
1945 if findtype "bamboo flute" backpack as inny
1946 target inny
1947 elseif findtype "tambourine" backpack as inny
1948 target inny
1949 elseif findtype "drum" backpack as inny
1950 target inny
1951 elseif findtype "lute" backpack as inny
1952 target inny
1953 elseif findtype "harp" backpack as inny
1954 target inny
1955 elseif findtype "lap harp" backpack as inny
1956 target inny
1957 else
1958 overhead "I do not have an inny" 34
1959 @setvar! isDiscorded 1
1960 endif
1961 wft 500
1962 endif
1963 target backpack
1964 settimer meditiationTimer 0
1965 endif
1966 endif
1967
1968 if skill "Peacemaking" >= 50
1969 if isPeaced = 0
1970 getlabel myKillTarget peaceDesc
1971 if "pacified" in peaceDesc
1972 @setvar! isPeaced 1
1973 elseif timer meditiationTimer >= 11000
1974 useskill 'Peacemaking'
1975 wft 500
1976 if insysmsg "What instrument"
1977 if findtype "bamboo flute" backpack as inny
1978 target inny
1979 elseif findtype "tambourine" backpack as inny
1980 target inny
1981 elseif findtype "drum" backpack as inny
1982 target inny
1983 elseif findtype "lute" backpack as inny
1984 target inny
1985 elseif findtype "harp" backpack as inny
1986 target inny
1987 elseif findtype "lap harp" backpack as inny
1988 target inny
1989 else
1990 overhead "I do not have an inny" 34
1991 @setvar! isPeaced 1
1992 endif
1993 wft 500
1994 endif
1995 if targetexists
1996 target myKillTarget
1997 overhead "Peacemaed" 88 myKillTarget
1998 endif
1999 settimer meditiationTimer 5000
2000 endif
2001 endif
2002
2003 if not findbuff "song of peacemaking" and timer meditiationTimer >= 11000
2004 useskill 'Peacemaking'
2005 wft 500
2006 if insysmsg "What instrument"
2007 if findtype "bamboo flute" backpack as inny
2008 target inny
2009 elseif findtype "tambourine" backpack as inny
2010 target inny
2011 elseif findtype "drum" backpack as inny
2012 target inny
2013 elseif findtype "lute" backpack as inny
2014 target inny
2015 elseif findtype "harp" backpack as inny
2016 target inny
2017 elseif findtype "lap harp" backpack as inny
2018 target inny
2019 else
2020 overhead "I do not have an inny" 34
2021 @setvar! isPeaced 1
2022 endif
2023 wft 500
2024 endif
2025 target backpack
2026 settimer meditiationTimer 0
2027 endif
2028 endif
2029
2030 if castMagicShield = 1 and timer magicShieldTimer >= cdMagicShield and not findbuff "Magic Reflection"
2031 if mana >= manaReserve
2032 cast "Magic Reflection"
2033 wait 1000
2034 endif
2035 elseif automaticallyDrinkMagicPot = 1 and not findbuff "Magic Reflection" and not findbuff "Magic Resist Potion" and findtype "Black Potion" backpack as pot
2036 dclick pot
2037 wait 200
2038 endif
2039
2040 if findbuff "Magic Reflection"
2041 settimer magicShieldTimer 0
2042 endif
2043
2044 if castReactiveArmor = 1 and timer reactiveArmorTimer >= cdReactiveArmor and not findbuff "Reactive Armor"
2045 if mana >= manaReserve
2046 cast "Reactive Armor"
2047 wait 200
2048 endif
2049 endif
2050
2051 if findbuff "Reactive Armor"
2052 settimer reactiveArmorTimer 0
2053 endif
2054
2055 if skill "poisoning" >= 100 or castPoisonAnyway = 1
2056 if timer meditiationTimer >= cdMeditationMini and mana >= manaReserve
2057 if castMindRot = 1 and timer preventSpamNecroAbilitiesTimer >= cdPreventSpamNecroAbilities and timer mindRotTimer >= cdMindRot and skill "Necromancy" >= 75 and 3 < necroSymbols
2058 yell "[MindRot"
2059 settimer preventSpamNecroAbilitiesTimer 0
2060 settimer mindRotTimer 0
2061 wait 500
2062 if gumpexists 622436516
2063 if ingump "12/" 622436516
2064 @setvar! necroSymbols 12
2065 elseif ingump "13/" 622436516
2066 @setvar! necroSymbols 13
2067 elseif ingump "14/" 622436516
2068 @setvar! necroSymbols 14
2069 elseif ingump "15/" 622436516
2070 @setvar! necroSymbols 15
2071 elseif ingump "16/" 622436516
2072 @setvar! necroSymbols 16
2073 elseif ingump "17/" 622436516
2074 @setvar! necroSymbols 17
2075 elseif ingump "18/" 622436516
2076 @setvar! necroSymbols 18
2077 elseif ingump "19/" 622436516
2078 @setvar! necroSymbols 19
2079 elseif ingump "20/" 622436516
2080 @setvar! necroSymbols 20
2081 elseif ingump "21/" 622436516
2082 @setvar! necroSymbols 21
2083 elseif ingump "11/" 622436516
2084 @setvar! necroSymbols 11
2085 elseif ingump "10/" 622436516
2086 @setvar! necroSymbols 10
2087 elseif ingump "9/" 622436516
2088 @setvar! necroSymbols 9
2089 elseif ingump "8/" 622436516
2090 @setvar! necroSymbols 8
2091 elseif ingump "7/" 622436516
2092 @setvar! necroSymbols 7
2093 elseif ingump "6/" 622436516
2094 @setvar! necroSymbols 6
2095 elseif ingump "5/" 622436516
2096 @setvar! necroSymbols 5
2097 elseif ingump "4/" 622436516
2098 @setvar! necroSymbols 4
2099 elseif ingump "3/" 622436516
2100 @setvar! necroSymbols 3
2101 elseif ingump "2/" 622436516
2102 @setvar! necroSymbols 2
2103 elseif ingump "1/" 622436516
2104 @setvar! necroSymbols 1
2105 elseif ingump "0/" 622436516
2106 @setvar! necroSymbols 0
2107 endif
2108 endif
2109 endif
2110
2111
2112 getlabel myKillTarget desc2
2113 overhead desc2
2114
2115 if castPoisonStrike = 1 and timer preventSpamNecroAbilitiesTimer >= cdPreventSpamNecroAbilities and timer poisonStrikeTimer >= cdPoisonStrike and skill "Necromancy" >= 55 and 1 < necroSymbols
2116 if "Ticks" in desc2
2117 if "[8" in desc2 or "[7" in desc2 or "[6" in desc2 or "[5" in desc2 or "[4" in desc2 or "[3" in desc2 or "[2" in desc2 or "[1 " in desc2
2118 yell "[PoisonStrike"
2119 wft 500
2120 target myKillTarget
2121 wait 200
2122 settimer preventSpamNecroAbilitiesTimer 0
2123 settimer poisonStrikeTimer 0
2124 wait 500
2125 if gumpexists 622436516
2126 if ingump "12/" 622436516
2127 @setvar! necroSymbols 12
2128 elseif ingump "13/" 622436516
2129 @setvar! necroSymbols 13
2130 elseif ingump "14/" 622436516
2131 @setvar! necroSymbols 14
2132 elseif ingump "15/" 622436516
2133 @setvar! necroSymbols 15
2134 elseif ingump "16/" 622436516
2135 @setvar! necroSymbols 16
2136 elseif ingump "17/" 622436516
2137 @setvar! necroSymbols 17
2138 elseif ingump "18/" 622436516
2139 @setvar! necroSymbols 18
2140 elseif ingump "19/" 622436516
2141 @setvar! necroSymbols 19
2142 elseif ingump "20/" 622436516
2143 @setvar! necroSymbols 20
2144 elseif ingump "21/" 622436516
2145 @setvar! necroSymbols 21
2146 elseif ingump "11/" 622436516
2147 @setvar! necroSymbols 11
2148 elseif ingump "10/" 622436516
2149 @setvar! necroSymbols 10
2150 elseif ingump "9/" 622436516
2151 @setvar! necroSymbols 9
2152 elseif ingump "8/" 622436516
2153 @setvar! necroSymbols 8
2154 elseif ingump "7/" 622436516
2155 @setvar! necroSymbols 7
2156 elseif ingump "6/" 622436516
2157 @setvar! necroSymbols 6
2158 elseif ingump "5/" 622436516
2159 @setvar! necroSymbols 5
2160 elseif ingump "4/" 622436516
2161 @setvar! necroSymbols 4
2162 elseif ingump "3/" 622436516
2163 @setvar! necroSymbols 3
2164 elseif ingump "2/" 622436516
2165 @setvar! necroSymbols 2
2166 elseif ingump "1/" 622436516
2167 @setvar! necroSymbols 1
2168 elseif ingump "0/" 622436516
2169 @setvar! necroSymbols 0
2170 endif
2171 endif
2172 endif
2173 endif
2174 endif
2175
2176 if isLethalPoison = 0
2177
2178 if diffmana >= 30 and timer magicMushroomTimer >= cdMushroom and findtype "mushroom" backpack as mushy
2179 overhead "Eating shrooms" 66
2180 dclick mushy
2181 @setvar! jase_shrooms mushy
2182 wait 200
2183 if insysmsg "You consume a magic mushroom and restore some mana."
2184 settimer magicMushroomTimer 0
2185 elseif insysmsg "before you may consume another magic mushroom" or insysmsg "been in combat with another"
2186 settimer magicMushroomTimer 30000
2187 endif
2188 endif
2189
2190 if insysmsg "Target cannot be seen."
2191 @setvar! lastCannotBeSeen myKillTarget
2192 overhead "CANNOT BE SEEN MOVE TO NEXT TARGET" 34
2193 replay
2194 endif
2195
2196 // poison lethal
2197 if "Lethal" in desc2
2198 @setvar! isLethalPoison 1
2199 break
2200 elseif castPoisonAnyway = 1 and "Ticks" in desc2
2201 @setvar! isLethalPoison 1
2202 break
2203 elseif castPoisonAnyway = 1 and "Poison" in desc2
2204 @setvar! isLethalPoison 1
2205 break
2206 elseif diffhits >= hpCheckToTriggerGreaterHealSpell
2207 // need a heal
2208 break
2209 elseif mana >= 9
2210 while not targetexists harmful
2211 cast 'poison'
2212 wait 50
2213 if dead myKillTarget
2214 hotkey '> Interrupt'
2215 replay
2216 endif
2217 endwhile
2218 target myKillTarget
2219 wait 200
2220 if insysmsg "Target cannot be seen."
2221 @setvar! lastCannotBeSeen myKillTarget
2222 overhead "CANNOT BE SEEN MOVE TO NEXT TARGET" 34
2223 @setvar! isLethalPoison 1
2224 endif
2225 else
2226 wait 200
2227 endif
2228 endif
2229 endif
2230 endif
2231
2232 if castCorpseSkin = 1 and timer preventSpamNecroAbilitiesTimer >= cdPreventSpamNecroAbilities and timer corpseSkinTimer >= cdCorpseSkin and skill "Necromancy" >= 65 and timer meditiationTimer >= cdMeditationMini and 2 < necroSymbols and mana >= manaReserve
2233 yell "[CorpseSkin"
2234 settimer preventSpamNecroAbilitiesTimer 0
2235 settimer corpseSkinTimer 0
2236 cooldown CorpseSkin cdCorpseSkin
2237 wait 500
2238 if gumpexists 622436516
2239 if ingump "12/" 622436516
2240 @setvar! necroSymbols 12
2241 elseif ingump "13/" 622436516
2242 @setvar! necroSymbols 13
2243 elseif ingump "14/" 622436516
2244 @setvar! necroSymbols 14
2245 elseif ingump "15/" 622436516
2246 @setvar! necroSymbols 15
2247 elseif ingump "16/" 622436516
2248 @setvar! necroSymbols 16
2249 elseif ingump "17/" 622436516
2250 @setvar! necroSymbols 17
2251 elseif ingump "18/" 622436516
2252 @setvar! necroSymbols 18
2253 elseif ingump "19/" 622436516
2254 @setvar! necroSymbols 19
2255 elseif ingump "20/" 622436516
2256 @setvar! necroSymbols 20
2257 elseif ingump "21/" 622436516
2258 @setvar! necroSymbols 21
2259 elseif ingump "11/" 622436516
2260 @setvar! necroSymbols 11
2261 elseif ingump "10/" 622436516
2262 @setvar! necroSymbols 10
2263 elseif ingump "9/" 622436516
2264 @setvar! necroSymbols 9
2265 elseif ingump "8/" 622436516
2266 @setvar! necroSymbols 8
2267 elseif ingump "7/" 622436516
2268 @setvar! necroSymbols 7
2269 elseif ingump "6/" 622436516
2270 @setvar! necroSymbols 6
2271 elseif ingump "5/" 622436516
2272 @setvar! necroSymbols 5
2273 elseif ingump "4/" 622436516
2274 @setvar! necroSymbols 4
2275 elseif ingump "3/" 622436516
2276 @setvar! necroSymbols 3
2277 elseif ingump "2/" 622436516
2278 @setvar! necroSymbols 2
2279 elseif ingump "1/" 622436516
2280 @setvar! necroSymbols 1
2281 elseif ingump "0/" 622436516
2282 @setvar! necroSymbols 0
2283 endif
2284 endif
2285 endif
2286
2287 if castBloodOath = 1 and timer preventSpamNecroAbilitiesTimer >= cdPreventSpamNecroAbilities and skill "Necromancy" >= 80 and timer bloodOathTimer >= cdBloodOath and 5 < necroSymbols and mana >= manaReserve
2288 yell "[BloodOath"
2289 settimer preventSpamNecroAbilitiesTimer 0
2290 settimer bloodOathTimer 0
2291 if gumpexists 622436516
2292 if ingump "12/" 622436516
2293 @setvar! necroSymbols 12
2294 elseif ingump "13/" 622436516
2295 @setvar! necroSymbols 13
2296 elseif ingump "14/" 622436516
2297 @setvar! necroSymbols 14
2298 elseif ingump "15/" 622436516
2299 @setvar! necroSymbols 15
2300 elseif ingump "16/" 622436516
2301 @setvar! necroSymbols 16
2302 elseif ingump "17/" 622436516
2303 @setvar! necroSymbols 17
2304 elseif ingump "18/" 622436516
2305 @setvar! necroSymbols 18
2306 elseif ingump "19/" 622436516
2307 @setvar! necroSymbols 19
2308 elseif ingump "20/" 622436516
2309 @setvar! necroSymbols 20
2310 elseif ingump "21/" 622436516
2311 @setvar! necroSymbols 21
2312 elseif ingump "11/" 622436516
2313 @setvar! necroSymbols 11
2314 elseif ingump "10/" 622436516
2315 @setvar! necroSymbols 10
2316 elseif ingump "9/" 622436516
2317 @setvar! necroSymbols 9
2318 elseif ingump "8/" 622436516
2319 @setvar! necroSymbols 8
2320 elseif ingump "7/" 622436516
2321 @setvar! necroSymbols 7
2322 elseif ingump "6/" 622436516
2323 @setvar! necroSymbols 6
2324 elseif ingump "5/" 622436516
2325 @setvar! necroSymbols 5
2326 elseif ingump "4/" 622436516
2327 @setvar! necroSymbols 4
2328 elseif ingump "3/" 622436516
2329 @setvar! necroSymbols 3
2330 elseif ingump "2/" 622436516
2331 @setvar! necroSymbols 2
2332 elseif ingump "1/" 622436516
2333 @setvar! necroSymbols 1
2334 elseif ingump "0/" 622436516
2335 @setvar! necroSymbols 0
2336 endif
2337 endif
2338 endif
2339
2340 if castEvilOmen = 1 and timer preventSpamNecroAbilitiesTimer >= cdPreventSpamNecroAbilities and timer evilOmenTimer >= cdEvilOmen and skill "Necromancy" >= 60 and timer meditiationTimer >= cdMeditationMini and 2 < necroSymbols and mana >= manaReserve
2341 yell "[EvilOmen"
2342 settimer evilOmenTimer 0
2343 settimer preventSpamNecroAbilitiesTimer 0
2344 cooldown EvilOmen cdEvilOmen
2345 wait 500
2346 if gumpexists 622436516
2347 if ingump "12/" 622436516
2348 @setvar! necroSymbols 12
2349 elseif ingump "13/" 622436516
2350 @setvar! necroSymbols 13
2351 elseif ingump "14/" 622436516
2352 @setvar! necroSymbols 14
2353 elseif ingump "15/" 622436516
2354 @setvar! necroSymbols 15
2355 elseif ingump "16/" 622436516
2356 @setvar! necroSymbols 16
2357 elseif ingump "17/" 622436516
2358 @setvar! necroSymbols 17
2359 elseif ingump "18/" 622436516
2360 @setvar! necroSymbols 18
2361 elseif ingump "19/" 622436516
2362 @setvar! necroSymbols 19
2363 elseif ingump "20/" 622436516
2364 @setvar! necroSymbols 20
2365 elseif ingump "21/" 622436516
2366 @setvar! necroSymbols 21
2367 elseif ingump "11/" 622436516
2368 @setvar! necroSymbols 11
2369 elseif ingump "10/" 622436516
2370 @setvar! necroSymbols 10
2371 elseif ingump "9/" 622436516
2372 @setvar! necroSymbols 9
2373 elseif ingump "8/" 622436516
2374 @setvar! necroSymbols 8
2375 elseif ingump "7/" 622436516
2376 @setvar! necroSymbols 7
2377 elseif ingump "6/" 622436516
2378 @setvar! necroSymbols 6
2379 elseif ingump "5/" 622436516
2380 @setvar! necroSymbols 5
2381 elseif ingump "4/" 622436516
2382 @setvar! necroSymbols 4
2383 elseif ingump "3/" 622436516
2384 @setvar! necroSymbols 3
2385 elseif ingump "2/" 622436516
2386 @setvar! necroSymbols 2
2387 elseif ingump "1/" 622436516
2388 @setvar! necroSymbols 1
2389 elseif ingump "0/" 622436516
2390 @setvar! necroSymbols 0
2391 endif
2392 endif
2393 endif
2394
2395 if castVampiricEmbrace = 1 and timer preventSpamNecroAbilitiesTimer >= cdPreventSpamNecroAbilities and timer vampiricEmbraceTimer >= cdVampiricEmbrace and skill "Necromancy" >= 75 and timer meditiationTimer >= cdMeditationMini and 3 < necroSymbols and findtype 8198 ground -1 -1 4 as jorpse
2396 yell "[VampiricEmbrace"
2397 wft 500
2398 target jorpse
2399 settimer preventSpamNecroAbilitiesTimer 0
2400 settimer vampiricEmbraceTimer 0
2401 cooldown VampiricEmbrace cdVampiricEmbrace
2402 wait 500
2403 if gumpexists 622436516
2404 if ingump "12/" 622436516
2405 @setvar! necroSymbols 12
2406 elseif ingump "13/" 622436516
2407 @setvar! necroSymbols 13
2408 elseif ingump "14/" 622436516
2409 @setvar! necroSymbols 14
2410 elseif ingump "15/" 622436516
2411 @setvar! necroSymbols 15
2412 elseif ingump "16/" 622436516
2413 @setvar! necroSymbols 16
2414 elseif ingump "17/" 622436516
2415 @setvar! necroSymbols 17
2416 elseif ingump "18/" 622436516
2417 @setvar! necroSymbols 18
2418 elseif ingump "19/" 622436516
2419 @setvar! necroSymbols 19
2420 elseif ingump "20/" 622436516
2421 @setvar! necroSymbols 20
2422 elseif ingump "21/" 622436516
2423 @setvar! necroSymbols 21
2424 elseif ingump "11/" 622436516
2425 @setvar! necroSymbols 11
2426 elseif ingump "10/" 622436516
2427 @setvar! necroSymbols 10
2428 elseif ingump "9/" 622436516
2429 @setvar! necroSymbols 9
2430 elseif ingump "8/" 622436516
2431 @setvar! necroSymbols 8
2432 elseif ingump "7/" 622436516
2433 @setvar! necroSymbols 7
2434 elseif ingump "6/" 622436516
2435 @setvar! necroSymbols 6
2436 elseif ingump "5/" 622436516
2437 @setvar! necroSymbols 5
2438 elseif ingump "4/" 622436516
2439 @setvar! necroSymbols 4
2440 elseif ingump "3/" 622436516
2441 @setvar! necroSymbols 3
2442 elseif ingump "2/" 622436516
2443 @setvar! necroSymbols 2
2444 elseif ingump "1/" 622436516
2445 @setvar! necroSymbols 1
2446 elseif ingump "0/" 622436516
2447 @setvar! necroSymbols 0
2448 endif
2449 endif
2450 endif
2451
2452 if castPainSpike = 1 and timer preventSpamNecroAbilitiesTimer >= cdPreventSpamNecroAbilities and timer painSpikeTimer >= cdPainSpike and skill "Necromancy" >= 95 and timer meditiationTimer >= cdMeditationMini and 5 < necroSymbols and findtype 8198 ground -1 -1 6 as jorpse
2453 yell "[PainSpike"
2454 wft 500
2455 target myKillTarget
2456 wait 200
2457 settimer preventSpamNecroAbilitiesTimer 0
2458 if insysmsg "You do not see any corpses"
2459 // do nothing
2460 else
2461 settimer painSpikeTimer 0
2462 cooldown PainSpike cdPainSpike
2463 endif
2464 if gumpexists 622436516
2465 if ingump "12/" 622436516
2466 @setvar! necroSymbols 12
2467 elseif ingump "13/" 622436516
2468 @setvar! necroSymbols 13
2469 elseif ingump "14/" 622436516
2470 @setvar! necroSymbols 14
2471 elseif ingump "15/" 622436516
2472 @setvar! necroSymbols 15
2473 elseif ingump "16/" 622436516
2474 @setvar! necroSymbols 16
2475 elseif ingump "17/" 622436516
2476 @setvar! necroSymbols 17
2477 elseif ingump "18/" 622436516
2478 @setvar! necroSymbols 18
2479 elseif ingump "19/" 622436516
2480 @setvar! necroSymbols 19
2481 elseif ingump "20/" 622436516
2482 @setvar! necroSymbols 20
2483 elseif ingump "21/" 622436516
2484 @setvar! necroSymbols 21
2485 elseif ingump "11/" 622436516
2486 @setvar! necroSymbols 11
2487 elseif ingump "10/" 622436516
2488 @setvar! necroSymbols 10
2489 elseif ingump "9/" 622436516
2490 @setvar! necroSymbols 9
2491 elseif ingump "8/" 622436516
2492 @setvar! necroSymbols 8
2493 elseif ingump "7/" 622436516
2494 @setvar! necroSymbols 7
2495 elseif ingump "6/" 622436516
2496 @setvar! necroSymbols 6
2497 elseif ingump "5/" 622436516
2498 @setvar! necroSymbols 5
2499 elseif ingump "4/" 622436516
2500 @setvar! necroSymbols 4
2501 elseif ingump "3/" 622436516
2502 @setvar! necroSymbols 3
2503 elseif ingump "2/" 622436516
2504 @setvar! necroSymbols 2
2505 elseif ingump "1/" 622436516
2506 @setvar! necroSymbols 1
2507 elseif ingump "0/" 622436516
2508 @setvar! necroSymbols 0
2509 endif
2510 endif
2511 endif
2512
2513 if diffhits >= hpCheckToTriggerHealPotion
2514 if findtype "Yellow Potion" backpack as pot
2515 getlabel pot desc
2516 if "next usable" in desc
2517 // do nothing
2518 else
2519 dclick pot
2520 wait 500
2521 endif
2522 endif
2523 endif
2524
2525 if diffhits >= hpCheckToTriggerGreaterHealSpell and mana >= 12
2526 while not targetexists beneficial
2527 if diffhits >= hpCheckToTriggerMiniEmergencyHealSpell
2528 cast 'Heal'
2529 else
2530 cast 'Greater Heal'
2531 endif
2532 wait 50
2533 if hp = maxhp
2534 hotkey '> Interrupt'
2535 break
2536 endif
2537 endwhile
2538 if targetexists beneficial
2539 hotkey "Target Self"
2540 wait 50
2541 endif
2542 endif
2543
2544 if poisoned
2545 if automaticallyDrinkCurePot = 1 and diffhits >= hpCheckToTriggerCurePotion and findtype "Orange Potion" backpack as pot
2546 dclick pot
2547 wait 200
2548 endif
2549
2550 while not targetexists beneficial
2551 if not poisoned
2552 hotkey '> Interrupt'
2553 break
2554 else
2555 cast 'Cure'
2556 wait 50
2557 endif
2558 endwhile
2559 if targetexists beneficial
2560 hotkey "Target Self"
2561 wait 500
2562 endif
2563 endif
2564
2565 if diffmana >= 30 and timer magicMushroomTimer >= cdMushroom and findtype "mushroom" backpack as mushy
2566 overhead "Eating shrooms" 66
2567 dclick mushy
2568 @setvar! jase_shrooms mushy
2569 wait 200
2570 if insysmsg "You consume a magic mushroom and restore some mana."
2571 settimer magicMushroomTimer 0
2572 elseif insysmsg "before you may consume another magic mushroom" or insysmsg "been in combat with another"
2573 settimer magicMushroomTimer 30000
2574 endif
2575 endif
2576
2577
2578
2579 if index = 0
2580
2581 if castLightning = 1 and diffhits < 30 and mana >= 12 and timer lightningTimer >= cdLightning and timer meditiationTimer >= cdMeditationMini and mana >= manaReserve
2582 while not targetexists harmful
2583 if followers < breakSpellCastAndResummonIfLessThanXFollowers or dead myKillTarget or diffhits >= hpCheckToTriggerGreaterHealSpell
2584 hotkey '> Interrupt'
2585 break
2586 else
2587 if skill "Herding" > 0 and timer HerdTimer >= cdHerdingTimer and timer meditiationTimer >= 11000 and findtype 3713 backpack as jrook
2588 dclick jrook
2589 wft 500
2590 target myKillTarget
2591 settimer meditiationTimer 8000
2592 settimer HerdTimer 0
2593 cooldown Herding cdHerdingTimer
2594 endif
2595 cast 'Lightning'
2596 wait 50
2597 endif
2598 endwhile
2599 if targetexists harmful
2600 target myKillTarget
2601 settimer lightningTimer 0
2602 cooldown Lightning cdLightning
2603 wait 500
2604 endif
2605 endif
2606
2607 elseif index = 1
2608
2609 if castMagicArrow = 1 and diffhits < 30 and mana >= 5 and timer magicArrowTimer >= cdMagicArrow and timer meditiationTimer >= cdMeditationMini and mana >= manaReserve
2610 while not targetexists harmful
2611 if followers < breakSpellCastAndResummonIfLessThanXFollowers or dead myKillTarget or diffhits >= hpCheckToTriggerGreaterHealSpell
2612 hotkey '> Interrupt'
2613 break
2614 else
2615 if skill "Herding" > 0 and timer HerdTimer >= cdHerdingTimer and timer meditiationTimer >= 11000 and findtype 3713 backpack as jrook
2616 dclick jrook
2617 wft 500
2618 target myKillTarget
2619 settimer meditiationTimer 8000
2620 settimer HerdTimer 0
2621 cooldown Herding cdHerdingTimer
2622 endif
2623 cast 'magic arrow'
2624 wait 50
2625 endif
2626 endwhile
2627 if targetexists harmful
2628 target myKillTarget
2629 settimer magicArrowTimer 0
2630 cooldown MagicArrow cdMagicArrow
2631 wait 500
2632 endif
2633 endif
2634
2635 elseif index = 2
2636
2637 if castHarm = 1 and diffhits < 30 and mana >= 9 and timer harmTimer >= cdHarm and timer meditiationTimer >= cdMeditationMini and mana >= manaReserve
2638 while not targetexists harmful
2639 if followers < breakSpellCastAndResummonIfLessThanXFollowers or dead myKillTarget or diffhits >= hpCheckToTriggerGreaterHealSpell
2640 hotkey '> Interrupt'
2641 break
2642 else
2643 if skill "Herding" > 0 and timer HerdTimer >= cdHerdingTimer and timer meditiationTimer >= 11000 and findtype 3713 backpack as jrook
2644 dclick jrook
2645 wft 500
2646 target myKillTarget
2647 settimer meditiationTimer 8000
2648 settimer HerdTimer 0
2649 cooldown Herding cdHerdingTimer
2650 endif
2651 cast 'harm'
2652 wait 50
2653 endif
2654 endwhile
2655 if targetexists harmful
2656 target myKillTarget
2657 settimer harmTimer 0
2658 cooldown Harm cdHarm
2659 wait 500
2660 endif
2661 endif
2662
2663 elseif index = 3
2664
2665 if castFireball = 1 and diffhits < 30 and mana >= 12 and timer fireballTimer >= cdFireball and timer meditiationTimer >= cdMeditationMini and mana >= manaReserve
2666 while not targetexists harmful
2667 if followers < breakSpellCastAndResummonIfLessThanXFollowers or dead myKillTarget or diffhits >= hpCheckToTriggerGreaterHealSpell
2668 hotkey '> Interrupt'
2669 break
2670 else
2671 if skill "Herding" > 0 and timer HerdTimer >= cdHerdingTimer and timer meditiationTimer >= 11000 and findtype 3713 backpack as jrook
2672 dclick jrook
2673 wft 500
2674 target myKillTarget
2675 settimer meditiationTimer 8000
2676 settimer HerdTimer 0
2677 cooldown Herding cdHerdingTimer
2678 endif
2679 cast 'fireball'
2680 wait 50
2681 endif
2682 endwhile
2683 if targetexists harmful
2684 target myKillTarget
2685 settimer fireballTimer 0
2686 cooldown Fireball cdFireball
2687 wait 500
2688 endif
2689 endif
2690
2691 endif
2692
2693 if tamerModeEngaged = 1
2694
2695 if timer autoHealTamerPet >= cdAutoHealTamerPet
2696 if not dead jaseTankPet
2697 while not targetexists beneficial
2698 hotkey 'Greater Heal'
2699 wft 200
2700 endwhile
2701 else
2702 while not targetexists beneficial
2703 hotkey 'Resurrection'
2704 wft 200
2705 if diffhits >= hpCheckToTriggerGreaterHealSpell
2706 break
2707 endif
2708 endwhile
2709 if targetexists beneficial
2710 target jaseTankPet
2711 endif
2712 while not targetexists beneficial
2713 hotkey 'Greater Heal'
2714 wft 200
2715 endwhile
2716 endif
2717 if targetexists beneficial
2718 target jaseTankPet
2719 settimer autoHealTamerPet 0
2720 cooldown AutoPetHeal cdAutoHealTamerPet
2721 endif
2722 endif
2723
2724 endif
2725
2726 endfor
2727
2728 if find myKillTarget -1 -1 12 as killy
2729 // do nothing
2730 else
2731 overhead "Out of range" 34
2732 break
2733 endif
2734
2735
2736 if diffhits >= hpCheckToTriggerGreaterHealSpell
2737
2738 if diffhits >= hpCheckToTriggerHealPotion and findtype "Yellow Potion" backpack as pot
2739 getlabel pot desc
2740 if "next usable" in desc
2741 // do nothing
2742 else
2743 dclick pot
2744 wait 500
2745 endif
2746 endif
2747
2748 if diffhits >= hpCheckToTriggerGreaterHealSpell and mana >= 12
2749 while not targetexists beneficial
2750 if diffhits >= hpCheckToTriggerMiniEmergencyHealSpell
2751 cast 'Heal'
2752 else
2753 cast 'Greater Heal'
2754 endif
2755 wait 50
2756 if hp = maxhp
2757 hotkey '> Interrupt'
2758 break
2759 endif
2760 endwhile
2761 if targetexists beneficial
2762 hotkey "Target Self"
2763 wait 50
2764 endif
2765 endif
2766 elseif mana < 55 and findbuff "actively meditating"
2767 // wait for mana
2768 elseif timer meditiationTimer < cdMeditationMini and findbuff "actively meditating"
2769 // wait for mana
2770 elseif castChainLightning = 1 and timer chainLightningTimer >= cdChainLightning
2771 while not targetexists and mana > 40 and mana >= manaReserve
2772 if diffmana >= 30 and timer magicMushroomTimer >= cdMushroom and findtype "mushroom" backpack as mushy
2773 overhead "Eating shrooms" 66
2774 dclick mushy
2775 @setvar! jase_shrooms mushy
2776 wait 200
2777 if insysmsg "You consume a magic mushroom and restore some mana."
2778 settimer magicMushroomTimer 0
2779 elseif insysmsg "before you may consume another magic mushroom" or insysmsg "been in combat with another"
2780 settimer magicMushroomTimer 30000
2781 endif
2782 endif
2783 if followers < breakSpellCastAndResummonIfLessThanXFollowers or dead myKillTarget or diffhits >= hpCheckToTriggerGreaterHealSpell
2784 hotkey '> Interrupt'
2785 break
2786 else
2787 if skill "Herding" > 0 and timer HerdTimer >= cdHerdingTimer and timer meditiationTimer >= 11000 and findtype 3713 backpack as jrook
2788 dclick jrook
2789 wft 500
2790 target myKillTarget
2791 settimer meditiationTimer 8000
2792 settimer HerdTimer 0
2793 cooldown Herding cdHerdingTimer
2794 endif
2795 cast 'Chain Lightning'
2796 wait 50
2797 endif
2798 endwhile
2799 if targetexists
2800 target myKillTarget
2801 wait 500
2802 if insysmsg "Target cannot be seen."
2803 @setvar! lastCannotBeSeen myKillTarget
2804 overhead "CANNOT BE SEEN MOVE TO NEXT TARGET" 34
2805 replay
2806 endif
2807 settimer chainLightningTimer 0
2808 cooldown ChainLightning cdChainLightning
2809 endif
2810 elseif castEbolt = 1 and mana >= 32 and mana >= manaReserve
2811 while not targetexists harmful and mana > 30 and mana >= manaReserve
2812 if diffmana >= 30 and timer magicMushroomTimer >= cdMushroom and findtype "mushroom" backpack as mushy
2813 overhead "Eating shrooms" 66
2814 dclick mushy
2815 @setvar! jase_shrooms mushy
2816 wait 200
2817 if insysmsg "You consume a magic mushroom and restore some mana."
2818 settimer magicMushroomTimer 0
2819 elseif insysmsg "before you may consume another magic mushroom" or insysmsg "been in combat with another"
2820 settimer magicMushroomTimer 30000
2821 endif
2822 endif
2823 if followers < breakSpellCastAndResummonIfLessThanXFollowers or dead myKillTarget or diffhits >= hpCheckToTriggerGreaterHealSpell
2824 hotkey '> Interrupt'
2825 break
2826 else
2827 if skill "Herding" > 0 and timer HerdTimer >= cdHerdingTimer and timer meditiationTimer >= 11000 and findtype 3713 backpack as jrook
2828 dclick jrook
2829 wft 500
2830 target myKillTarget
2831 settimer meditiationTimer 8000
2832 settimer HerdTimer 0
2833 cooldown Herding cdHerdingTimer
2834 endif
2835 cast 'Energy Bolt'
2836 wait 50
2837 endif
2838 endwhile
2839 if targetexists harmful
2840 target myKillTarget
2841 wait 500
2842 if insysmsg "Target cannot be seen."
2843 @setvar! lastCannotBeSeen myKillTarget
2844 overhead "CANNOT BE SEEN MOVE TO NEXT TARGET" 34
2845 replay
2846 endif
2847 endif
2848
2849 if castMindBlast = 1 and mana >= 32 and mana >= manaReserve
2850 while not targetexists harmful and mana > 30
2851 if diffmana >= 30 and timer magicMushroomTimer >= cdMushroom and findtype "mushroom" backpack as mushy
2852 overhead "Eating shrooms" 66
2853 dclick mushy
2854 @setvar! jase_shrooms mushy
2855 wait 200
2856 if insysmsg "You consume a magic mushroom and restore some mana."
2857 settimer magicMushroomTimer 0
2858 elseif insysmsg "before you may consume another magic mushroom" or insysmsg "been in combat with another"
2859 settimer magicMushroomTimer 30000
2860 endif
2861 endif
2862 if followers < breakSpellCastAndResummonIfLessThanXFollowers or dead myKillTarget or diffhits >= hpCheckToTriggerGreaterHealSpell
2863 hotkey '> Interrupt'
2864 break
2865 else
2866 if skill "Herding" > 0 and timer HerdTimer >= cdHerdingTimer and timer meditiationTimer >= 11000 and findtype 3713 backpack as jrook
2867 dclick jrook
2868 wft 500
2869 target myKillTarget
2870 settimer meditiationTimer 8000
2871 settimer HerdTimer 0
2872 cooldown Herding cdHerdingTimer
2873 endif
2874 cast 'Mind Blast'
2875 wait 50
2876 endif
2877 endwhile
2878 if targetexists harmful
2879 target myKillTarget
2880 wait 500
2881 if insysmsg "Target cannot be seen."
2882 @setvar! lastCannotBeSeen myKillTarget
2883 overhead "CANNOT BE SEEN MOVE TO NEXT TARGET" 34
2884 replay
2885 endif
2886 endif
2887 endif
2888 if castFlamestrike = 1 and mana > 42 and mana >= manaReserve
2889 while not targetexists harmful and mana > 40
2890
2891 if diffmana >= 30 and timer magicMushroomTimer >= cdMushroom and findtype "mushroom" backpack as mushy
2892 overhead "Eating shrooms" 66
2893 dclick mushy
2894 @setvar! jase_shrooms mushy
2895 wait 200
2896 if insysmsg "You consume a magic mushroom and restore some mana."
2897 settimer magicMushroomTimer 0
2898 elseif insysmsg "before you may consume another magic mushroom" or insysmsg "been in combat with another"
2899 settimer magicMushroomTimer 30000
2900 endif
2901 endif
2902
2903 if followers < breakSpellCastAndResummonIfLessThanXFollowers or dead myKillTarget or diffhits >= hpCheckToTriggerGreaterHealSpell
2904 hotkey '> Interrupt'
2905 break
2906 else
2907 if skill "Herding" > 0 and timer HerdTimer >= cdHerdingTimer and timer meditiationTimer >= 11000 and findtype 3713 backpack as jrook
2908 dclick jrook
2909 wft 500
2910 target myKillTarget
2911 settimer meditiationTimer 8000
2912 settimer HerdTimer 0
2913 cooldown Herding cdHerdingTimer
2914 endif
2915 cast 'Flamestrike'
2916 wait 50
2917 endif
2918 endwhile
2919 if targetexists harmful
2920 target myKillTarget
2921 wait 500
2922 if insysmsg "Target cannot be seen."
2923 @setvar! lastCannotBeSeen myKillTarget
2924 overhead "CANNOT BE SEEN MOVE TO NEXT TARGET" 34
2925 replay
2926 endif
2927 endif
2928 endif
2929 elseif castMindBlast = 1 and mana >= 32 and mana >= manaReserve
2930 while not targetexists harmful and mana > 30
2931 if diffmana >= 30 and timer magicMushroomTimer >= cdMushroom and findtype "mushroom" backpack as mushy
2932 overhead "Eating shrooms" 66
2933 dclick mushy
2934 @setvar! jase_shrooms mushy
2935 wait 200
2936 if insysmsg "You consume a magic mushroom and restore some mana."
2937 settimer magicMushroomTimer 0
2938 elseif insysmsg "before you may consume another magic mushroom" or insysmsg "been in combat with another"
2939 settimer magicMushroomTimer 30000
2940 endif
2941 endif
2942 if followers < breakSpellCastAndResummonIfLessThanXFollowers or dead myKillTarget or diffhits >= hpCheckToTriggerGreaterHealSpell
2943 hotkey '> Interrupt'
2944 break
2945 else
2946 if skill "Herding" > 0 and timer HerdTimer >= cdHerdingTimer and timer meditiationTimer >= 11000 and findtype 3713 backpack as jrook
2947 dclick jrook
2948 wft 500
2949 target myKillTarget
2950 settimer meditiationTimer 8000
2951 settimer HerdTimer 0
2952 cooldown Herding cdHerdingTimer
2953 endif
2954 cast 'Mind Blast'
2955 wait 50
2956 endif
2957 endwhile
2958 if targetexists harmful
2959 target myKillTarget
2960 wait 500
2961 if insysmsg "Target cannot be seen."
2962 @setvar! lastCannotBeSeen myKillTarget
2963 overhead "CANNOT BE SEEN MOVE TO NEXT TARGET" 34
2964 replay
2965 endif
2966 endif
2967 if castFlamestrike = 1 and mana > 42 and mana >= manaReserve
2968 while not targetexists harmful and mana > 40
2969
2970 if diffmana >= 30 and timer magicMushroomTimer >= cdMushroom and findtype "mushroom" backpack as mushy
2971 overhead "Eating shrooms" 66
2972 dclick mushy
2973 @setvar! jase_shrooms mushy
2974 wait 200
2975 if insysmsg "You consume a magic mushroom and restore some mana."
2976 settimer magicMushroomTimer 0
2977 elseif insysmsg "before you may consume another magic mushroom" or insysmsg "been in combat with another"
2978 settimer magicMushroomTimer 30000
2979 endif
2980 endif
2981
2982 if followers < breakSpellCastAndResummonIfLessThanXFollowers or dead myKillTarget or diffhits >= hpCheckToTriggerGreaterHealSpell
2983 hotkey '> Interrupt'
2984 break
2985 else
2986 if skill "Herding" > 0 and timer HerdTimer >= cdHerdingTimer and timer meditiationTimer >= 11000 and findtype 3713 backpack as jrook
2987 dclick jrook
2988 wft 500
2989 target myKillTarget
2990 settimer meditiationTimer 8000
2991 settimer HerdTimer 0
2992 cooldown Herding cdHerdingTimer
2993 endif
2994 cast 'Flamestrike'
2995 wait 50
2996 endif
2997 endwhile
2998 if targetexists harmful
2999 target myKillTarget
3000 wait 500
3001 if insysmsg "Target cannot be seen."
3002 @setvar! lastCannotBeSeen myKillTarget
3003 overhead "CANNOT BE SEEN MOVE TO NEXT TARGET" 34
3004 replay
3005 endif
3006 endif
3007 endif
3008 elseif castFlamestrike = 1 and mana > 42 and mana >= manaReserve
3009 while not targetexists harmful and mana > 40
3010
3011 if diffmana >= 30 and timer magicMushroomTimer >= cdMushroom and findtype "mushroom" backpack as mushy
3012 overhead "Eating shrooms" 66
3013 dclick mushy
3014 @setvar! jase_shrooms mushy
3015 wait 200
3016 if insysmsg "You consume a magic mushroom and restore some mana."
3017 settimer magicMushroomTimer 0
3018 elseif insysmsg "before you may consume another magic mushroom" or insysmsg "been in combat with another"
3019 settimer magicMushroomTimer 30000
3020 endif
3021 endif
3022
3023 if followers < breakSpellCastAndResummonIfLessThanXFollowers or dead myKillTarget or diffhits >= hpCheckToTriggerGreaterHealSpell
3024 hotkey '> Interrupt'
3025 break
3026 else
3027 if skill "Herding" > 0 and timer HerdTimer >= cdHerdingTimer and timer meditiationTimer >= 11000 and findtype 3713 backpack as jrook
3028 dclick jrook
3029 wft 500
3030 target myKillTarget
3031 settimer meditiationTimer 8000
3032 settimer HerdTimer 0
3033 cooldown Herding cdHerdingTimer
3034 endif
3035 cast 'Flamestrike'
3036 wait 50
3037 endif
3038 endwhile
3039 if targetexists harmful
3040 target myKillTarget
3041 wait 500
3042 if insysmsg "Target cannot be seen."
3043 @setvar! lastCannotBeSeen myKillTarget
3044 overhead "CANNOT BE SEEN MOVE TO NEXT TARGET" 34
3045 replay
3046 endif
3047 endif
3048 elseif not findbuff "actively meditating" and timer magicMushroomTimer >= cdMushroom and findtype "mushroom" backpack as mushy
3049 overhead "Eating shrooms" 66
3050 dclick mushy
3051 @setvar! jase_shrooms mushy
3052 wait 200
3053 if insysmsg "You consume a magic mushroom and restore some mana."
3054 settimer magicMushroomTimer 0
3055 elseif insysmsg "before you may consume another magic mushroom" or insysmsg "been in combat with another"
3056 settimer magicMushroomTimer 30000
3057 endif
3058 elseif not findbuff "actively meditating" and timer meditiationTimer >= cdMeditation and isDiscorded = 1 and isPeaced = 1
3059 if followers > 0
3060 say "all guard me"
3061 endif
3062 useskill 'meditation'
3063 settimer meditiationTimer 0
3064 wait 500
3065 endif
3066 wait 50
3067endwhile
3068wait 500
3069if targetexists
3070 hotkey 'Cancel Current Target'
3071endif
3072if not findbuff "actively meditating"
3073 if automaticallySkinCorpses = 1 and findtype "corpse" ground -1 -1 3 as jorpse
3074 if findtype "Elven Spellblade" backpack
3075 while not targetexists neutral
3076 useskill 'forensicevaluation'
3077 endwhile
3078 if targetexists neutral
3079 hotkey "Target Self"
3080 wait minimumWaitForPing
3081 @ignore jorpse
3082 endif
3083 endif
3084 endif
3085 if followers > 0
3086 say "all guard me"
3087 endif
3088endif
3089while mana < minimumManaToCast
3090 if setThisAsOneIfYouWantToTargetYourOwnKillOrItWillTargetClosestMonster = 0
3091 hotkey 'Target Closest Non-Friendly Monster'
3092 wait 200
3093 if insysmsg "No one matching that was found"
3094 if timer preventOverheadSpamTimer >= cdPreventOverheadSpam
3095 overhead "no next target" 34
3096 settimer preventOverheadSpamTimer 0
3097 endif
3098 elseif not find lasttarget ground -1 -1 8
3099 overhead "▼ NEXT TARGET HERE ▼" 88 lasttarget
3100 if timer preventOverheadSpamTimer >= cdPreventOverheadSpam
3101 overhead "Move closer, more then 8 tiles away" 34
3102 settimer preventOverheadSpamTimer 0
3103 endif
3104 else
3105 overhead "▼ NEXT TARGET HERE ▼" 88 lasttarget
3106 attack lasttarget
3107 endif
3108 endif
3109 if diffhits >= hpCheckToTriggerGreaterHealSpell
3110 if diffhits >= hpCheckToTriggerHealPotion and findtype "Yellow Potion" backpack as pot
3111 getlabel pot desc
3112 if "next usable" in desc
3113 // do nothing
3114 else
3115 dclick pot
3116 wait 650
3117 endif
3118 endif
3119 if diffhits >= hpCheckToTriggerGreaterHealSpell and mana >= 12
3120 while not targetexists beneficial
3121 if diffhits >= hpCheckToTriggerMiniEmergencyHealSpell
3122 cast 'Heal'
3123 else
3124 cast 'Greater Heal'
3125 endif
3126 wait 50
3127 if hp = maxhp
3128 hotkey '> Interrupt'
3129 break
3130 endif
3131 endwhile
3132 if targetexists beneficial
3133 hotkey "Target Self"
3134 wait 50
3135 endif
3136 endif
3137 endif
3138 if not findbuff "actively meditating"
3139 useskill 'meditation'
3140 endif
3141 wait 500
3142endwhile
3143if canYouMakeAMushroom = 1 and counttype "mushroom" backpack < butOnlyIHaveLessThenThisCount
3144 if mana >= manaReserve
3145 while counttype "mushroom" backpack < makeThisManyMushroomsCount
3146 cast "Create Food"
3147 wait 200
3148 if diffhits >= 20 or counttype "mushroom" backpack = 0
3149 break
3150 endif
3151 endwhile
3152 endif
3153endif
3154if castVampiricEmbrace = 1 and timer vampiricEmbraceTimer >= cdVampiricEmbrace and skill "Necromancy" >= 70 and findtype 8198 ground -1 -1 4 as jorpse
3155 say "[VampiricEmbrace"
3156 wft 500
3157 target jorpse
3158 settimer vampiricEmbraceTimer 0
3159 cooldown VampiricEmbrace cdVampiricEmbrace
3160endif
3161if castSummonEarthElementalCount = 1 or castSummonFireElementalCount = 1 or castSummonDemonCount = 1 or castSummonAirCount = 1 or castSummonWaterCount = 1
3162 useskill "spiritspeak"
3163 settimer meditiationTimer 8000
3164endif
3165if timer killTargetTimer >= cdKillTarget
3166 overhead "We cleared curse and mana drain targets" 34
3167 removelist myCursedTargets
3168 removelist myManaDrainTargets
3169 removelist myManaVampireTargets
3170endif
3171
3172if autoBotEnabled = 1
3173 replay
3174endif
3175
3176// other ways to handle line of sight:
3177
3178// animal lore
3179// You cannot see that from here.
3180
3181// we can herding maybe question mark?
3182// That target is out of your line of sight.
3183
3184// casting a spell
3185// Target cannot be seen.
3186
3187
3188// thanks for using a Jaseowns script!
3189// https://www.youtube.com/jaseowns
3190
3191// We did it