Back to "b" tags

poison necro mage summoner 1 button v1.1 ( work in progress ) by stoned summoner

1//One hotkey necro mage cycle by Jaseowns
2//edited by stoned summoner. any problems are probly my fault not jase's =)
3//UO Outlands - https://youtu.be/K3bVPhHcInE
4
5//v1.1 added bless to buffs
6//v1.1 added protection spell
7//v1.1 added poison strike between fs and meditate. mabey a poison tick check would be better
8//v1.1 added a check for deadly and lethal poison. to move onto cds before dumping mana on poison
9//v1.1 added food buff check and eat
10//v1.1 added item id buff check and use. targets someplace... gets blocked once in awhile... gotta fix that
11//v1.1 
12
13# Update this variable to 1 for ALL KILL
14# Update this variable to 0 for target nearest
15@setvar! setThisAsOneIfYouWantToTargetYourOwnKillOrItWillTargetClosestMonster 0
16
17// these cd are your wizard book timers. they could be different than mine
18@setvar! cdLightning 20000
19@setvar! cdMagicArrow 20000
20@setvar! cdHarm 20000
21@setvar! cdFireball 20000
22@setvar! cdMushroom 60000
23
24// cd below should not need to change
25@setvar! cdEvilOmen 30000
26@setvar! cdVampiricEmbrace 30000
27@setvar! cdCorpse 30000
28@setvar! cdMindRot 30000
29@setvar! cdMagicShield 60000
30@setvar! cdReactiveArmor 60000
31@setvar! cdstrike 30000
32@setvar! cdoath 30000
33
34if not timerexists oathTimer
35    createtimer oathTimer
36    settimer oathTimer cdoath
37endif
38
39if not timerexists strikeTimer
40    createtimer strikeTimer
41    settimer strikeTimer cdstrike
42endif
43
44if not timerexists reactiveArmorTimer
45    createtimer reactiveArmorTimer
46    settimer reactiveArmorTimer cdMagicShield
47endif
48
49if not timerexists magicShieldTimer
50    createtimer magicShieldTimer
51    settimer magicShieldTimer cdMagicShield
52endif
53
54
55if not timerexists magicMushroomTimer
56    createtimer magicMushroomTimer
57    settimer magicMushroomTimer cdMushroom
58endif
59
60if not timerexists magicArrowTimer
61    createtimer magicArrowTimer
62    settimer magicArrowTimer cdMagicArrow
63endif
64
65if not timerexists lightningTimer
66    createtimer lightningTimer
67    settimer lightningTimer cdLightning
68endif
69
70if not timerexists harmTimer
71    createtimer harmTimer
72    settimer harmTimer cdHarm
73endif
74
75if not timerexists fireballTimer
76    createtimer fireballTimer
77    settimer fireballTimer cdFireball
78endif
79
80if not timerexists evilOmenTimer
81    createtimer evilOmenTimer
82    settimer evilOmenTimer cdEvilOmen
83endif
84
85if not timerexists vampiricEmbraceTimer
86    createtimer vampiricEmbraceTimer
87    settimer vampiricEmbraceTimer cdVampiricEmbrace
88endif
89
90if not timerexists corpseTimer
91    createtimer corpseTimer
92    settimer corpseTimer cdCorpse
93endif
94
95if not timerexists mindRotTimer
96    createtimer mindRotTimer
97    settimer mindRotTimer cdMindRot
98endif
99
100
101// check for item id buff
102if not findbuff 'herbal poultice' and skill 'tasteidentification' >= 100 
103    skill 'tasteidentification'
104    waitfortarget 
105    targettype 'backpack'
106    wait 50
107   endif
108
109 // check for food buff
110if not findbuff 'food satisfaction' and findtype 'tray' backpack
111    overhead '[ Eating Food ]' 54
112dclicktype 'tray' backpack
113wait 50
114endif   
115
116// check for tank pet change name to ur pets name
117    if findtype "shield" ground -1 -1 2 as myPet
118       if noto myPet = "friend"
119            wait 50
120       endif
121            @setvar! myEarthPet myPet
122       endif
123            say "all guard me"
124            ## endif
125
126if setThisAsOneIfYouWantToTargetYourOwnKillOrItWillTargetClosestMonster = 1
127    say "all kill"
128    wait 200
129    while targetexists 
130        // wait
131        wait 50
132    endwhile
133else
134    hotkey 'Target Closest Non-Friendly Monster'
135    wait 200
136    if insysmsg "No one matching that was found" or insysmsg "cannot be seen"
137        overhead "[ Target Not Found ]" 54
138        stop
139    endif    
140endif
141
142@setvar myKillTarget lasttarget 
143
144if not varexist myPreviousKillTarget
145    @setvar myPreviousKillTarget 0     
146endif
147
148getlabel myKillTarget desc
149
150if not varexist myEarthPet or dead myEarthPet
151    overhead "[ Dead Pet ]" 54
152else
153    menu myEarthPet 2
154    wft 500
155    target myKillTarget
156endif
157
158if diffhits >= 30 and mana > 12
159    while not targetexists
160        if diffhits >= 60
161            cast 'Heal'
162        else
163            cast 'Greater Heal'                
164        endif
165        wait 50
166        if hp = maxhp
167            hotkey '> Interrupt'
168            break
169        endif
170    endwhile
171    if targetexists
172        target self
173    endif
174endif
175
176if find myKillTarget -1 -1 12 as killy
177    if myKillTarget = myPreviousKillTarget
178        // do nthoing
179    else
180        
181        while not targetexists and not dead myKillTarget
182            if diffhits < 30
183                cast 'Curse'
184                wait 50
185            elseif diffhits >= 30 
186                hotkey '> Interrupt'
187                break
188            endif
189        endwhile
190        if targetexists
191            target myKillTarget
192            wait 500
193        endif
194
195        while not targetexists and not dead myKillTarget
196            if diffhits < 30
197                cast 'mana drain'
198                wait 50
199            elseif diffhits >= 30 
200                hotkey '> Interrupt'
201                break
202            endif 
203        endwhile
204        if targetexists
205            target myKillTarget
206            wait 500
207        endif
208        @setvar myPreviousKillTarget myKillTarget
209    endif
210else
211    overhead "[ Out of range ]" 54
212endif
213
214clearsysmsg 
215
216say "all guard"
217
218@setvar! poisonlevel 0
219
220while not dead myKillTarget and find myKillTarget -1 -1 12 as killy
221    
222// spellbook check
223if findlayer self righthand as item
224    // do nothing
225elseif findtype "3834" backpack as item
226    dclick item
227else 
228    overhead "[ No Book Equiped ]" 34
229endif
230
231    if not findbuff 'strength' 
232        cast 'bless'
233    waitfortarget 
234    target self
235    wait 200
236    endif
237    
238if not findbuff 'protection'
239    cast 'protection'
240wait 200
241endif
242    
243    if timer magicShieldTimer >= cdMagicShield and not findbuff "Magic Reflection"
244        cast "Magic Reflection"
245        wait 1000
246    elseif not findbuff "Magic Reflection" and not findbuff "Magic Resist Potion" and findtype "Black Potion" backpack as pot
247        dclick pot
248        wait 200
249    endif
250
251    if findbuff "Magic Reflection"
252        settimer magicShieldTimer 0
253    endif
254    
255    if timer reactiveArmorTimer >= cdReactiveArmor and not findbuff "Reactive Armor"
256        cast "Reactive Armor"
257        wait 200
258    endif
259
260    if findbuff "Reactive Armor"
261        settimer reactiveArmorTimer 0
262    endif
263    
264    if timer corpseTimer >= cdCorpse and skill 'necromancy' >= 100
265        overhead "[ Corpse Skin ]" 54
266        say "[CorpseSkin"
267        settimer corpseTimer 0
268        wait 750
269    endif
270 
271    if skill "poisoning" >= 100
272          
273    if timer evilOmenTimer >= cdEvilOmen and skill 'necromancy' >= 100
274            overhead '[ Evil Omen ]' 54
275    say "[evilomen"
276    settimer evilOmenTimer 0
277    wait 750
278      endif
279
280      if timer mindRotTimer >= cdMindRot and skill 'necromancy' >= 100
281          overhead '[ Mind Rot ]' 54
282        say '[mindrot'
283        settimer mindRotTimer 0
284        wait 750
285      endif
286    
287      while poisonlevel = 0
288            getlabel myKillTarget desc2
289            overhead desc2 66
290            // poison lethal
291            if "Lethal" in desc2 or "Deadly" in desc2
292                @setvar! poisonlevel 1
293                break
294            elseif diffhits >= 30 
295                // need a heal
296                break
297            elseif mana >= 9
298                while not targetexists
299                    cast 'poison'
300                    wait 50
301                    if dead myKillTarget
302                        hotkey '> Interrupt'
303                        break
304                    endif
305                endwhile
306                target myKillTarget
307            else
308                wait 200
309            endif
310        endwhile
311    endif
312   
313    if find myKillTarget -1 -1 12 as killy
314       // do nothing
315    else
316        overhead "[ Out of range] " 54
317        break
318    endif
319    
320    if poisoned
321        if findtype "Orange Potion" backpack as pot 
322            dclick pot
323            wait 200
324        else
325            while not targetexists
326                if not poisoned
327                    hotkey '> Interrupt'
328                    break
329                else
330                    cast 'Cure'
331                    wait 50
332                endif 
333            endwhile
334            if targetexists
335                target self
336                wait 500
337            endif
338        endif
339    endif
340    
341    if diffhits < 30 and timer evilOmenTimer >= cdEvilOmen and skill 'necromancy' >= 100
342            overhead '[ Evil Omen ]' 54
343     say '[evilomen'
344        settimer evilOmenTimer 0
345            wait 650
346      endif
347      
348      if diffhits < 30 and timer mindRotTimer >= cdMindRot and skill 'necromancy' >= 100
349          overhead '[ Mind Rot ]' 54
350        say '[mindrot'
351        settimer mindRotTimer 0
352        wait 750
353      endif
354    
355      
356      if diffhits < 30 and timer corpseTimer >= cdCorpse and skill 'necromancy' >= 100
357        overhead "[ Corpse Skin ]" 54
358        say "[CorpseSkin"
359        settimer corpseTimer 0
360        wait 750
361    endif
362
363
364    if diffhits < 30 and mana >= 12 and timer lightningTimer >= cdLightning
365        while not targetexists
366            if dead myKillTarget or diffhits >= 30
367                hotkey '> Interrupt'
368                break
369            else
370                cast 'Lightning'
371                wait 50
372            endif 
373        endwhile
374        if targetexists
375            target myKillTarget
376            settimer lightningTimer 0
377            wait 500
378        endif
379    endif
380    
381        if diffhits < 30 and mana >= 12 and timer fireballTimer >= cdFireball
382        while not targetexists
383            if dead myKillTarget or diffhits >= 30
384                hotkey '> Interrupt'
385                break
386            else
387                cast 'fireball'
388                wait 50
389            endif 
390        endwhile
391        if targetexists
392            target myKillTarget
393            settimer fireballTimer 0
394            wait 500
395        endif
396    endif
397    
398
399    if diffhits < 30 and mana >= 5 and timer magicArrowTimer >= cdMagicArrow
400        while not targetexists
401            if dead myKillTarget or diffhits >= 30
402                hotkey '> Interrupt'
403                break
404            else
405                cast 'magic arrow'
406                wait 50
407            endif 
408        endwhile
409        if targetexists
410            target myKillTarget
411            settimer magicArrowTimer 0
412            wait 500
413        endif
414    endif
415
416    if diffhits < 30 and mana >= 9 and timer harmTimer >= cdHarm
417        while not targetexists
418            if dead myKillTarget or diffhits >= 30
419                hotkey '> Interrupt'
420                break
421            else
422                cast 'harm'
423                wait 50
424            endif 
425        endwhile
426        if targetexists
427            target myKillTarget
428            settimer harmTimer 0
429            wait 500
430        endif
431    endif
432    
433    if diffhits >= 30
434            
435        if findtype "Yellow Potion" backpack as pot 
436            getlabel pot desc
437            if "next usable" in desc
438                // do nothing
439            else
440                overhead '[ Drinking Heal ]' 54
441                dclick pot
442                wait 200
443            endif
444        endif
445
446        if diffhits >= 30 and mana >= 12
447            while not targetexists
448                if diffhits >= 60
449                    cast 'Heal'
450                else
451                    cast 'Greater Heal'                
452                endif
453                wait 50
454                if hp = maxhp
455                    hotkey '> Interrupt'
456                    break
457                endif
458            endwhile
459            if targetexists
460                target self
461                wait 50
462            endif
463        endif
464        
465        if skill 'poisoning' >= 100
466        while poisonlevel = 1
467            getlabel myKillTarget desc2
468            overhead desc2 66
469            if "Lethal" in desc2
470                @setvar! poisonlevel 2
471                break
472            elseif diffhits >= 30 
473                // need a heal
474                break
475            elseif mana >= 9
476                while not targetexists
477                    cast 'poison'
478                    wait 50
479                    if dead myKillTarget
480                        hotkey '> Interrupt'
481                        break
482                    endif
483                endwhile
484                target myKillTarget
485            else
486                wait 200
487            endif
488        endwhile
489        endif
490           
491        elseif mana < 42 and findbuff "actively meditating" 
492        // wait for mana
493      elseif mana > 42    
494        while not targetexists and mana > 40 
495            if dead myKillTarget or diffhits >= 30
496                hotkey '> Interrupt'
497                break
498            else
499                cast 'Flamestrike'
500                wait 50
501            endif 
502        endwhile
503        if targetexists
504            target myKillTarget
505            wait 500
506        endif
507      
508        elseif not findbuff 'actively meditating' and timer strikeTimer >= cdstrike 
509            overhead '[ Poison Strike ]' 54   
510        say '[poisonstrike'   
511        waitfortarget 
512        target myKillTarget
513        settimer strikeTimer 0
514    
515        elseif not findbuff "actively meditating" and timer magicMushroomTimer >= cdMushroom and findtype "mushroom" backpack as mushy
516        dclick mushy
517        settimer magicMushroomTimer 0
518    
519        elseif not findbuff "actively meditating" 
520        useskill 'meditation'
521        wait 500
522    endif
523    wait 50
524endwhile
525wait 500
526if targetexists 
527    hotkey 'Cancel Current Target'
528endif
529say "all guard me"
530if counttype "mushroom" backpack < 5
531    while counttype "mushroom" backpack < 5
532        cast "Create Food"
533        wait 200
534    endwhile
535endif
536while mana < 50
537    if not findbuff "actively meditating" 
538        useskill 'meditation'
539    endif
540    wait 500
541endwhile
542loop