Back to "jase" tags

Ultimate Summoner Hotkey Choose Your Summons by Jaseowns

1# Ultimate Summoner Hotkey Choose your summons by Jaseowns
2# UO Outlands
3# This is part of the mage bot, but you can have it
4# as its own hotkey
5
6###############
7###  Choose your summons
8######
9@setvar! breakSpellCastAndResummonIfLessThanXFollowers 4
10@setvar! renamePets 1
11
12# Earth: 0, 1, 2
13@setvar! castSummonEarthElementalCount 0
14@setvar! castSummonMummyCount 1
15
16# Fire: 0, 1, 2
17@setvar! castSummonFireElementalCount 0
18@setvar! castSummonLichCount 0
19
20# Demon: 0, 1, 2
21@setvar! castSummonDemonCount 0
22@setvar! castSummonThrallCount 0
23
24# Air: 0, 1, 2
25@setvar! castSummonAirCount 0
26@setvar! castSummonFiendCount 0
27
28# Water: 0, 1, 2
29@setvar! castSummonWaterCount 0
30@setvar! castSummonRagWitchCount 0
31
32# Creature: 0, 1, 2, 3, 4, 5
33@setvar! castSummonCreatureCount 0
34
35# Energy Vortex: 0, 1
36@setvar! castEnergyVortexCount 0
37@setvar! castJackalSpiritCount 1
38
39# Blade Spirit: 0, 1
40@setvar! castBladeSpiritCount 0
41@setvar! castSkeletalHuskCount 1
42
43    
44#### Pet Names, unique to you
45if not listexists petNameList
46    createlist petNameList
47endif
48if list petNameList = 0 and renamePets = 1
49    pushlist petNameList "jaseneccy"
50    pushlist petNameList "jaseyoutube"
51    pushlist petNameList "jaseytfollow"
52    pushlist petNameList "jaseytfollower"
53    pushlist petNameList "jasesubscribed"
54    pushlist petNameList "jaseoutlands"
55    pushlist petNameList "uorazorscripts"
56    pushlist petNameList "jaseyoutuber"
57    pushlist petNameList "jasefunez"
58    pushlist petNameList "jasetwitch"
59    pushlist petNameList "jasesubscribe"
60    pushlist petNameList "jasefueoz"
61endif
62
63if renamePets = 0
64    clearlist petNameList
65endif
66 
67if castSummonFireElementalCount > 0 and castSummonLichCount > 0
68    overhead "I am not going to do that. Update lich/fire to one or the other." 34
69    sysmsg "I am not going to do that. Update lich/fire to one or the other." 34
70    wait 2000
71    replay
72elseif castSummonEarthElementalCount > 0 and castSummonMummyCount > 0
73    overhead "I am not going to do that. Update earth/mummy to one or the other." 34
74    sysmsg "I am not going to do that. Update earth/mummy to one or the other." 34
75    wait 2000
76    replay
77elseif castSummonDemonCount > 0 and castSummonThrallCount > 0
78    overhead "I am not going to do that. Update demon/thrall to one or the other." 34
79    sysmsg "I am not going to do that. Update demon/thrall to one or the other." 34
80    wait 2000
81    replay
82elseif castSummonAirCount > 0 and castSummonFiendCount > 0
83    overhead "I am not going to do that. Update air/fiend to one or the other." 34
84    sysmsg "I am not going to do that. Update air/fiend to one or the other." 34
85    wait 2000
86    replay
87elseif castSummonWaterCount > 0 and castSummonRagWitchCount > 0
88    overhead "I am not going to do that. Update water/witch to one or the other." 34
89    sysmsg "I am not going to do that. Update water/witch to one or the other." 34
90    wait 2000
91    replay
92endif
93
94if not gumpexists 622436516 and skill "Necromancy" >= 50
95    say '[NecromancyHotbar'
96    wait 500
97endif
98
99if not varexist myMainTankPet
100    @setvar! myMainTankPet 0
101endif
102
103if not varexist fireOne
104    @setvar! fireOne 0
105endif
106
107if not varexist fireTwo
108    @setvar! fireTwo 0
109endif
110
111if not varexist earthOne
112    @setvar! earthOne 0
113endif
114
115if not varexist earthTwo
116    @setvar! earthTwo 0
117endif
118
119if not varexist demonOne
120    @setvar! demonOne 0
121endif
122
123if not varexist demonTwo
124    @setvar! demonTwo 0
125endif
126
127if not varexist airOne
128    @setvar! airOne 0
129endif
130
131if not varexist airTwo
132    @setvar! airTwo 0
133endif
134
135if not varexist waterOne
136    @setvar! waterOne 0
137endif
138
139if not varexist waterTwo
140    @setvar! waterTwo 0
141endif
142
143if not varexist evOne
144    @setvar! evOne 0
145endif
146
147if not varexist bsOne
148    @setvar! bsOne 0
149endif
150
151removelist summonList
152createlist summonList
153    
154if followers = 0
155    @setvar! followCount 0
156elseif followers = 1
157    @setvar! followCount 1
158elseif followers = 2
159    @setvar! followCount 2
160elseif followers = 3
161    @setvar! followCount 3
162elseif followers = 4
163    @setvar! followCount 4
164elseif followers = 5
165    @setvar! followCount 5
166endif
167
168if castSummonEarthElementalCount > 0 or castSummonMummyCount > 0
169    if dead earthOne or not find earthOne ground -1 -1 18
170        if followers < 4
171            pushlist summonList "Earth Elemental"
172            @setvar! earthOne 1
173        endif
174    endif
175    if castSummonEarthElementalCount > 1 or castSummonMummyCount > 1
176        if dead earthTwo or not find earthTwo ground -1 -1 18
177            if followers < 4
178                pushlist summonList "Earth Elemental"
179                @setvar! earthTwo 1
180            endif
181        endif
182    endif
183endif
184
185if castSummonFireElementalCount > 0 or castSummonLichCount > 0
186    if dead fireOne or not find fireOne ground -1 -1 18
187        if followers < 4
188            pushlist summonList "Fire Elemental"
189            @setvar! fireOne 1
190        endif
191    endif
192    if castSummonFireElementalCount > 1 or castSummonLichCount > 1
193        if dead fireTwo or not find fireTwo ground -1 -1 18
194            if followers < 4
195                pushlist summonList "Fire Elemental"
196                @setvar! fireTwo 1
197            endif
198        endif
199    endif
200endif
201
202if castSummonDemonCount > 0 or castSummonThrallCount > 0
203    if dead demonOne or not find demonOne ground -1 -1 18
204        if followers < 4
205            pushlist summonList "Summon Daemon"
206            @setvar! demonOne 1
207        endif
208    endif
209    if castSummonDemonCount > 1 or castSummonThrallCount > 1
210        if dead demonTwo or not find demonTwo ground -1 -1 18
211            if followers < 4
212                pushlist summonList "Summon Daemon"
213                @setvar! demonTwo 1
214            endif
215        endif
216    endif
217endif
218
219if castSummonAirCount > 0 or castSummonFiendCount > 0
220    if dead airOne or not find airOne ground -1 -1 18
221        if followers < 4
222            pushlist summonList "Air Elemental"
223            @setvar! airOne 1
224        endif
225    endif
226    if castSummonAirCount > 1 or castSummonFiendCount > 1
227        if dead airTwo or not find airTwo ground -1 -1 18
228            if followers < 4
229                pushlist summonList "Air Elemental"
230                @setvar! airTwo 1
231            endif
232        endif
233    endif
234endif
235
236if castSummonWaterCount > 0 or castSummonRagWitchCount > 0
237    if dead waterOne or not find waterOne ground -1 -1 18
238        if followers < 4
239            pushlist summonList "Water Elemental"
240            @setvar! waterOne 1
241        endif
242    endif
243    if castSummonWaterCount > 1 or castSummonRagWitchCount > 1
244        if dead waterTwo or not find waterTwo ground -1 -1 18
245            if followers < 4
246                pushlist summonList "Water Elemental"
247                @setvar! waterTwo 1
248            endif
249        endif
250    endif
251endif
252
253if castEnergyVortexCount > 0 or castJackalSpiritCount > 0
254    if dead evOne or not find evOne ground -1 -1 18
255        if followers < 5
256            pushlist summonList "Energy Vortex"
257            @setvar! evOne 1
258        endif
259    endif
260endif
261
262if castBladeSpiritCount > 0 or castSkeletalHuskCount > 0
263    if dead bsOne or not find bsOne ground -1 -1 18
264        if followers < 5
265            pushlist summonList "Blade Spirits"
266            @setvar! bsOne 1
267        endif
268    endif
269endif
270
271
272
273if followers < 5
274    if castSummonCreatureCount = 1
275        pushlist summonList "Summ. Creature"
276    elseif castSummonCreatureCount = 2
277        pushlist summonList "Summ. Creature"
278        pushlist summonList "Summ. Creature"
279    elseif castSummonCreatureCount = 3
280        pushlist summonList "Summ. Creature"
281        pushlist summonList "Summ. Creature"
282        pushlist summonList "Summ. Creature"
283    elseif castSummonCreatureCount = 4
284        pushlist summonList "Summ. Creature"
285        pushlist summonList "Summ. Creature"
286        pushlist summonList "Summ. Creature"
287        pushlist summonList "Summ. Creature"
288    elseif castSummonCreatureCount = 5
289        pushlist summonList "Summ. Creature"
290        pushlist summonList "Summ. Creature"
291        pushlist summonList "Summ. Creature"
292        pushlist summonList "Summ. Creature"
293        pushlist summonList "Summ. Creature"
294    endif
295    while targetexists 
296        hotkey 'Cancel Current Target'
297    endwhile
298endif
299
300##############
301##### Items from the main loop.. just make sure they exist
302if not varexist cdPreventOverheadSpam
303    @setvar! cdPreventOverheadSpam 2000
304endif
305if not varexist cdMushroom
306    @setvar! cdMushroom 60000
307endif
308if not varexist cdMushroom
309    @setvar! cdMushroom 60000
310endif
311if not varexist cdVengefulSpirit
312    @setvar! cdVengefulSpirit 31000
313endif
314if not varexist cdWither
315    @setvar! cdWither 31000
316endif
317if not timerexists vengefulSpiritTimer
318    settimer vengefulSpiritTimer cdVengefulSpirit
319endif
320if not timerexists witherTimer
321    settimer witherTimer cdWither
322endif
323if not timerexists magicMushroomTimer
324    settimer magicMushroomTimer cdMushroom
325endif
326if not timerexists preventOverheadSpamTimer
327    settimer preventOverheadSpamTimer cdPreventOverheadSpam
328endif
329if not varexist hpCheckToTriggerGreaterHealSpell
330    @setvar! hpCheckToTriggerGreaterHealSpell 35
331endif
332        
333foreach summon in summonList
334    if followers < 5
335        overhead "Casting Summon: {{summon}}" 88
336        while mana < 50
337            if timer magicMushroomTimer >= cdMushroom and findtype "mushroom" backpack as mushy
338                overhead "Eating shrooms" 66
339                dclick mushy
340                @setvar! jase_shrooms mushy
341                wait 200
342                if insysmsg "You consume a magic mushroom and restore some mana."
343                    settimer magicMushroomTimer 0    
344                elseif insysmsg "before you may consume another magic mushroom" or insysmsg "been in combat with another"
345                    settimer magicMushroomTimer 30000
346                endif
347            endif
348            if diffhits >= hpCheckToTriggerGreaterHealSpell
349                replay
350            endif
351            if timer preventOverheadSpamTimer >= cdPreventOverheadSpam
352                overhead "waiting for mana" 88
353                settimer preventOverheadSpamTimer 0
354            endif
355            if not findbuff "Actively Meditating"
356                useskill "meditation"
357            endif
358            wait 200
359        endwhile
360        
361        @setvar! needVengefulSpirit 0
362        
363        if summon = "Earth Elemental" and castSummonMummyCount > 0
364            @setvar! needVengefulSpirit 1
365        elseif summon = "Fire Elemental" and castSummonLichCount > 0
366            @setvar! needVengefulSpirit 1
367        elseif summon = "Summon Daemon" and castSummonThrallCount > 0
368            @setvar! needVengefulSpirit 1
369        elseif summon = "Air Elemental" and castSummonFiendCount > 0
370            @setvar! needVengefulSpirit 1
371        elseif summon = "Water Elemental" and castSummonRagWitchCount > 0
372            @setvar! needVengefulSpirit 1
373        elseif summon = "Summ. Creature" and skill "Necromancy" >= 50
374            @setvar! needVengefulSpirit 1
375        elseif summon = "Energy Vortex" and castJackalSpiritCount > 0
376            @setvar! needVengefulSpirit 1
377        elseif summon = "Blade Spirits" and castSkeletalHuskCount > 0
378            @setvar! needVengefulSpirit 1
379        elseif timer vengefulSpiritTimer <= cdVengefulSpirit and skill "Necromancy" >= 50
380            if timer preventOverheadSpamTimer >= cdPreventOverheadSpam
381                overhead  "Waiting for spirit to go away" 88
382                settimer preventOverheadSpamTimer 0
383            endif
384            replay
385        endif
386        
387        if needVengefulSpirit = 1
388            if timer vengefulSpiritTimer >= cdVengefulSpirit and skill "Necromancy" >= 50
389                yell "[VengefulSpirit"
390                settimer vengefulSpiritTimer 0
391                wait 500
392            endif
393        elseif timer vengefulSpiritTimer <= cdVengefulSpirit and skill "Necromancy" >= 50
394            if timer preventOverheadSpamTimer >= cdPreventOverheadSpam
395                overhead  "Waiting for spirit to go away" 88
396                settimer preventOverheadSpamTimer 0
397            endif
398            replay
399        endif
400
401        if followers = 0
402            @setvar! followCount 0
403        elseif followers = 1
404            @setvar! followCount 1
405        elseif followers = 2
406            @setvar! followCount 2
407        elseif followers = 3
408            @setvar! followCount 3
409        elseif followers = 4
410            @setvar! followCount 4
411        elseif followers = 5
412            @setvar! followCount 5
413        endif
414        
415        while followers = followCount
416            if followers = 5
417                break
418            endif
419            cast summon
420            wft 500
421            if targetexists 
422                hotkey "Target Self"
423                wait 200
424            endif
425            if timer witherTimer >= cdWither and skill "Necromancy" >= 95
426                yell "[Wither"
427                settimer witherTimer 0
428            endif
429            if diffhits >= hpCheckToTriggerGreaterHealSpell
430                overhead "Need a heal!"
431                hotkey '> Interrupt'
432                break
433            endif
434        endwhile
435        wait 200
436        
437        @setvar! myFreshlySummonedPet 0
438
439        // 158 - an ancient mummy
440        // 14 - an earth elemental
441        if summon = "Earth Elemental" and findtype 158|14 ground -1 -1 2 as myPet
442            @setvar! myFreshlySummonedPet myPet
443            if earthOne = 1
444                @setvar! earthOne myPet
445            elseif earthTwo = 1
446                @setvar! earthTwo myPet
447            endif
448        // 24 - a lich
449        // 15 - a fire elemental
450        elseif summon = "Fire Elemental" and findtype 24|15 ground -1 -1 2 as myPet
451            @setvar! myFreshlySummonedPet myPet
452            if fireOne = 1
453                @setvar! fireOne myPet
454            elseif fireTwo = 1
455                @setvar! fireTwo myPet
456            endif
457        // 9 - a deamon
458        // 722 - a vampire thrall
459        elseif summon = "Summon Daemon" and findtype 9|722 ground -1 -1 2 as myPet
460            @setvar! myFreshlySummonedPet myPet
461            if demonOne = 1
462                @setvar! demonOne myPet
463            elseif demonTwo = 1
464                @setvar! demonTwo myPet
465            endif
466        // 16 - water elemental
467        // 740 - a rage witch
468        elseif summon = "Water Elemental" and findtype 16|740 ground -1 -1 2 as myPet
469            @setvar! myFreshlySummonedPet myPet
470            if waterOne = 1
471                @setvar! waterOne myPet
472            elseif waterTwo = 1
473                @setvar! waterTwo myPet
474            endif
475        // 13 - air elemental
476        // 306 - a skeletal fiend
477        elseif summon = "Air Elemental" and findtype 13|306 ground -1 -1 2 as myPet
478            @setvar! myFreshlySummonedPet myPet
479            if airOne = 1
480                @setvar! airOne myPet
481            elseif airTwo = 1
482                @setvar! airTwo myPet
483            endif
484        elseif summon = "Summ. Creature"
485            // TODO: gather all summon creature types
486            
487        // 13 - an energy vortex
488        // 391 - a jackal spirit
489        elseif summon = "Energy Vortex" and findtype 13|391 ground -1 -1 2 as myPet
490            @setvar! myFreshlySummonedPet myPet
491            if evOne = 1
492                @setvar! evOne myPet
493            endif
494        // 574 - a blade spirit
495        // 309 - a skeletal husk
496        elseif summon = "Blade Spirits" and findtype 574|309 ground -1 -1 2 as myPet
497            @setvar! myFreshlySummonedPet myPet
498            if bsOne = 1
499                @setvar! bsOne myPet
500            endif
501        endif
502        
503        if summon = "Summ. Creature"
504           overhead "Creature summoned!" 88
505        elseif myFreshlySummonedPet = 0
506           overhead "Not found" 88
507        else
508            if noto myFreshlySummonedPet = "friend" and list petNameList > 0
509                overhead "Renaming..." 77
510                foreach petName in petNameList
511                    overhead "Rename to {{petName}}..." 66 myFreshlySummonedPet
512                    rename myFreshlySummonedPet petName
513                    wait 200
514                    if insysmsg "That name is unacceptable."
515                        overhead "Unable to name pet: {{petName}}" 34
516                        sysmsg "Unable to name pet: {{petName}}" 34
517                    endif
518                    break
519                endfor
520                poplist petNameList "front"
521            endif
522            overhead "New Pet: {{summon}}" 88 myFreshlySummonedPet
523            if summon = "Energy Vortex" or summon = "Blade Spirits"
524                // do nothing
525            else
526                // guard
527                menu myFreshlySummonedPet 3
528            endif
529            @ignore myFreshlySummonedPet
530        endif
531        wait 500
532    else
533        break
534    endif
535endfor
536
537if dead myMainTankPet
538    if not dead earthOne
539        @setvar! myMainTankPet earthOne
540    elseif not dead earthTwo
541        @setvar! myMainTankPet earthTwo
542    elseif not dead waterOne
543        @setvar! myMainTankPet waterOne
544    elseif not dead waterTwo
545        @setvar! myMainTankPet waterTwo
546    elseif not dead demonOne
547        @setvar! myMainTankPet demonOne
548    elseif not dead demonTwo
549        @setvar! myMainTankPet demonTwo
550    elseif not dead fireOne
551        @setvar! myMainTankPet fireOne
552    elseif not dead fireTwo
553        @setvar! myMainTankPet fireTwo
554    elseif not dead airOne
555        @setvar! myMainTankPet airOne
556    elseif not dead airTwo
557        @setvar! myMainTankPet airTwo
558    endif
559endif
560
561if dead myMainTankPet
562    overhead "Cannot find main tank pet" 34
563else
564    overhead "My main tank pet" 88 myMainTankPet    
565endif