Back to "tame" tags

Ultimate Magery Summoner Nox Necro Discord Tamer Autobot Hotkey (1) by Jaseowns

Description: Check out https://outlands.uorazorscripts.com/mage-bot for additional details about this script

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