Back to "reaper of souls" tags
Halloween 2022 - Reaper of Souls mage bot by Jaseowns
1# One hotkey mage cycle, nox, poison looking for Reaper of Souls by Jaseowns
2# UO Outlands - https://youtu.be/K3bVPhHcInE
3
4// Beta client for cooldowns
5// cooldowns for mushrooms, mana vampire and healpots
6// for now using timers
7
8# Set this to one, if you want to cast poison once no matter what
9# If you have 100 poisoning and want Lethal, set this to 0
10@setvar! castPoisonAnyway 0
11
12# We will spam mind blast when other skills are on cooldown
13# If you set this to 0 it will use flamestrike
14@setvar! spamMindBlastOverFlamestrike 0
15
16# This will auto replay this script if you want it too
17@setvar! autoBotEnabled 1
18
19# This will make sure you have bless on
20@setvar! blessYourself 1
21
22# Update this variable to 1 for ALL KILL
23# Update this variable to 0 for target nearest
24@setvar! setThisAsOneIfYouWantToTargetYourOwnKillOrItWillTargetClosestMonster 0
25
26###############
27### Edit these cooldowns to match your wizard grimoire
28######
29@setvar! canYouMakeAMushroom 1
30@setvar! cdLightning 60000
31@setvar! cdMagicArrow 20000
32@setvar! cdHarm 20000
33@setvar! cdFireball 60000
34
35###############
36### Necro Cooldowns
37######
38@setvar! cdEvilOmen 30000
39@setvar! cdVampiricEmbrace 30000
40@setvar! cdCorpseSkin 30000
41@setvar! cdMindRot 30000
42
43#### Buff Cooldowns
44@setvar! cdMushroom 60000
45@setvar! cdMagicShield 60000
46@setvar! cdReactiveArmor 60000
47
48##################################################################
49#
50# Hopefully you do not have to edit after this :)
51#
52##################################################################
53
54// Make sure we have a spell book attached
55if findlayer self righthand as item
56 // do nothing
57elseif findtype "3834" backpack as item
58 dclick item
59else
60 overhead "No book bro!" 34
61endif
62
63if not timerexists reactiveArmorTimer
64 createtimer reactiveArmorTimer
65 settimer reactiveArmorTimer cdMagicShield
66endif
67
68if not timerexists magicShieldTimer
69 createtimer magicShieldTimer
70 settimer magicShieldTimer cdMagicShield
71endif
72
73if not timerexists magicMushroomTimer
74 createtimer magicMushroomTimer
75 settimer magicMushroomTimer cdMushroom
76endif
77
78if not timerexists magicArrowTimer
79 createtimer magicArrowTimer
80 settimer magicArrowTimer cdMagicArrow
81endif
82
83if not timerexists lightningTimer
84 createtimer lightningTimer
85 settimer lightningTimer cdLightning
86endif
87
88if not timerexists harmTimer
89 createtimer harmTimer
90 settimer harmTimer cdHarm
91endif
92
93if not timerexists fireballTimer
94 createtimer fireballTimer
95 settimer fireballTimer cdFireball
96endif
97
98if not timerexists evilOmenTimer
99 createtimer evilOmenTimer
100 settimer evilOmenTimer cdEvilOmen
101endif
102
103if not timerexists vampiricEmbraceTimer
104 createtimer vampiricEmbraceTimer
105 settimer vampiricEmbraceTimer cdVampiricEmbrace
106endif
107
108if not timerexists corpseSkinTimer
109 createtimer corpseSkinTimer
110 settimer corpseSkinTimer cdCorpseSkin
111endif
112
113if not timerexists mindRotTimer
114 createtimer mindRotTimer
115 settimer mindRotTimer cdMindRot
116endif
117
118# Eat food if we got it
119if not findbuff "food" and findtype "tray" backpack as jood
120 dclick jood
121 wait 200
122endif
123
124
125# Use Taste ID if possible
126if skill "Taste Identification" >= 50 and not findbuff "herb"
127 useskill 'tasteidentification'
128 wft 500
129 target backpack
130endif
131
132if setThisAsOneIfYouWantToTargetYourOwnKillOrItWillTargetClosestMonster = 1
133 say "all kill"
134 wait 200
135 while targetexists
136 // wait
137 wait 50
138 endwhile
139elseif findtype "a reaper of souls|Ayleth Geste" ground -1 -1 12 as nukethisguy
140 @setvar myKillTarget nukethisguy
141else
142 overhead "found no one" 34
143 if autoBotEnabled = 1
144 wait 500
145 replay
146 endif
147endif
148
149
150
151if not varexist myPreviousKillTarget
152 @setvar myPreviousKillTarget 0
153endif
154
155getlabel myKillTarget desc
156overhead desc
157
158if not varexist myEarthPet or dead myEarthPet
159 overhead "Your pet is dead, demonic summon time..." 34
160 if findtype "an ancient mummy" ground -1 -1 10 as maybePet
161 overhead "Found a mate.. maybe?" 88
162 if noto maybePet = "friend"
163 @setvar! myEarthPet maybePet
164 replay
165 endif
166 endif
167else
168 menu myEarthPet 2
169 wft 500
170 target myKillTarget
171endif
172
173if diffhits >= 30 and mana > 12
174 while not targetexists
175 if diffhits >= 60
176 cast 'Heal'
177 else
178 cast 'Greater Heal'
179 endif
180 wait 50
181 if hp = maxhp
182 hotkey '> Interrupt'
183 break
184 endif
185 endwhile
186 if targetexists
187 target self
188 endif
189elseif blessYourself = 1 and str <= 100
190 while not targetexists
191 cast 'Bless'
192 wait 50
193 if diffhits >= 30
194 hotkey '> Interrupt'
195 break
196 endif
197 endwhile
198 if targetexists
199 target self
200 endif
201endif
202
203if find myKillTarget -1 -1 12 as killy
204 if myKillTarget = myPreviousKillTarget
205 // do nthoing
206 else
207
208
209 while not targetexists and not dead myKillTarget
210 if diffhits < 30
211 cast 'Curse'
212 wait 50
213 elseif diffhits >= 30
214 hotkey '> Interrupt'
215 break
216 endif
217 endwhile
218 if targetexists
219 target myKillTarget
220 wait 500
221 endif
222
223
224 while not targetexists and not dead myKillTarget
225 if diffhits < 30
226 cast 'mana drain'
227 wait 50
228 elseif diffhits >= 30
229 hotkey '> Interrupt'
230 break
231 endif
232 endwhile
233 if targetexists
234 target myKillTarget
235 wait 500
236 endif
237 @setvar myPreviousKillTarget myKillTarget
238 endif
239else
240 overhead "Out of range" 34
241endif
242
243
244
245clearsysmsg
246
247say "all guard"
248
249@setvar! isLethalPoison 0
250
251while not dead myKillTarget and find myKillTarget -1 -1 12 as killy
252
253 if insysmsg "Target cannot be seen."
254 overhead "CANNOT BE SEEN MOVE TO NEXT TARGET" 34
255 endif
256
257 if timer magicShieldTimer >= cdMagicShield and not findbuff "Magic Reflection"
258 cast "Magic Reflection"
259 wait 1000
260 elseif not findbuff "Magic Reflection" and not findbuff "Magic Resist Potion" and findtype "Black Potion" backpack as pot
261 dclick pot
262 wait 200
263 endif
264
265 if findbuff "Magic Reflection"
266 settimer magicShieldTimer 0
267 endif
268
269 if timer reactiveArmorTimer >= cdReactiveArmor and not findbuff "Reactive Armor"
270 cast "Reactive Armor"
271 wait 200
272 endif
273
274 if findbuff "Reactive Armor"
275 settimer reactiveArmorTimer 0
276 endif
277
278 if timer corpseSkinTimer >= cdCorpseSkin and skill "Necromancy" >= 65
279 overhead "Should be CorpseSkin!" 34
280 say "[CorpseSkin"
281 settimer corpseSkinTimer 0
282 wait 500
283 endif
284
285 if skill "poisoning" >= 100 or castPoisonAnyway = 1
286
287 if timer mindRotTimer >= cdMindRot and skill "Necromancy" >= 75
288 overhead "Should be mind rotting!" 34
289 say "[MindRot"
290 settimer mindRotTimer 0
291 wait 500
292 endif
293
294 while isLethalPoison = 0
295
296 if insysmsg "Target cannot be seen."
297 overhead "CANNOT BE SEEN MOVE TO NEXT TARGET" 34
298 replay
299 endif
300
301 getlabel myKillTarget desc2
302 overhead desc2 66
303 // poison lethal
304 if "Lethal" in desc2
305 @setvar! isLethalPoison 1
306 break
307 elseif castPoisonAnyway = 1 and "Ticks" in desc2
308 @setvar! isLethalPoison 1
309 break
310 elseif castPoisonAnyway = 1 and "Poison" in desc2
311 @setvar! isLethalPoison 1
312 break
313 elseif diffhits >= 30
314 // need a heal
315 break
316 elseif mana >= 9
317 while not targetexists
318 cast 'poison'
319 wait 50
320 if dead myKillTarget
321 hotkey '> Interrupt'
322 replay
323 endif
324 endwhile
325 target myKillTarget
326 wait 200
327 if insysmsg "Target cannot be seen."
328 overhead "CANNOT BE SEEN MOVE TO NEXT TARGET" 34
329 @setvar! isLethalPoison 1
330 endif
331 else
332 wait 200
333 endif
334 endwhile
335 endif
336 if timer evilOmenTimer >= cdEvilOmen and skill "Necromancy" >= 60
337 say "[EvilOmen"
338 settimer evilOmenTimer 0
339 wait 200
340 endif
341
342 if timer vampiricEmbraceTimer >= cdVampiricEmbrace and skill "Necromancy" >= 75 and findtype 8198 ground -1 -1 4 as jorpse
343 say "[VampiricEmbrace"
344 wft 500
345 target jorpse
346 settimer vampiricEmbraceTimer 0
347 endif
348
349 if find myKillTarget -1 -1 12 as killy
350 // do nothing
351 else
352 overhead "Out of range" 34
353 break
354 endif
355
356 if poisoned
357 if findtype "Orange Potion" backpack as pot
358 dclick pot
359 wait 200
360 else
361 while not targetexists
362 if not poisoned
363 hotkey '> Interrupt'
364 break
365 else
366 cast 'Cure'
367 wait 50
368 endif
369 endwhile
370 if targetexists
371 target self
372 wait 500
373 endif
374 endif
375 endif
376
377
378 if diffhits < 30 and mana >= 12 and timer lightningTimer >= cdLightning
379 while not targetexists
380 if dead myKillTarget or diffhits >= 30
381 hotkey '> Interrupt'
382 break
383 else
384 cast 'Lightning'
385 wait 50
386 endif
387 endwhile
388 if targetexists
389 target myKillTarget
390 settimer lightningTimer 0
391 wait 500
392 endif
393 endif
394
395 if diffhits < 30 and mana >= 5 and timer magicArrowTimer >= cdMagicArrow
396 while not targetexists
397 if dead myKillTarget or diffhits >= 30
398 hotkey '> Interrupt'
399 break
400 else
401 cast 'magic arrow'
402 wait 50
403 endif
404 endwhile
405 if targetexists
406 target myKillTarget
407 settimer magicArrowTimer 0
408 wait 500
409 endif
410 endif
411
412 if diffhits < 30 and mana >= 9 and timer harmTimer >= cdHarm
413 while not targetexists
414 if dead myKillTarget or diffhits >= 30
415 hotkey '> Interrupt'
416 break
417 else
418 cast 'harm'
419 wait 50
420 endif
421 endwhile
422 if targetexists
423 target myKillTarget
424 settimer harmTimer 0
425 wait 500
426 endif
427 endif
428
429 if diffhits < 30 and mana >= 12 and timer fireballTimer >= cdFireball
430 while not targetexists
431 if dead myKillTarget or diffhits >= 30
432 hotkey '> Interrupt'
433 break
434 else
435 cast 'fireball'
436 wait 50
437 endif
438 endwhile
439 if targetexists
440 target myKillTarget
441 settimer fireballTimer 0
442 wait 500
443 endif
444 endif
445
446 if diffhits >= 30
447
448 if findtype "Yellow Potion" backpack as pot
449 getlabel pot desc
450 if "next usable" in desc
451 // do nothing
452 else
453 dclick pot
454 wait 200
455 endif
456 endif
457
458 if diffhits >= 30 and mana >= 12
459 while not targetexists
460 if diffhits >= 60
461 cast 'Heal'
462 else
463 cast 'Greater Heal'
464 endif
465 wait 50
466 if hp = maxhp
467 hotkey '> Interrupt'
468 break
469 endif
470 endwhile
471 if targetexists
472 target self
473 wait 50
474 endif
475 endif
476 elseif mana < 55 and findbuff "actively meditating"
477 // wait for mana
478 elseif spamMindBlastOverFlamestrike = 1 mana > 42
479 while not targetexists and mana > 40
480 if dead myKillTarget or diffhits >= 30
481 hotkey '> Interrupt'
482 break
483 else
484 cast 'Mind Blast'
485 wait 50
486 endif
487 endwhile
488 if targetexists
489 target myKillTarget
490 wait 500
491 endif
492 elseif mana > 42
493 while not targetexists and mana > 40
494 if dead myKillTarget or diffhits >= 30
495 hotkey '> Interrupt'
496 break
497 else
498 cast 'Flamestrike'
499 wait 50
500 endif
501 endwhile
502 if targetexists
503 target myKillTarget
504 wait 500
505 endif
506 elseif not findbuff "actively meditating" and timer magicMushroomTimer >= cdMushroom and findtype "mushroom" backpack as mushy
507 overhead "Eatting shrooms" 66
508 dclick mushy
509 settimer magicMushroomTimer 0
510 elseif not findbuff "actively meditating"
511 useskill 'meditation'
512 wait 500
513 endif
514 wait 50
515endwhile
516wait 500
517if targetexists
518 hotkey 'Cancel Current Target'
519endif
520say "all guard me"
521if canYouMakeAMushroom = 1 and counttype "mushroom" backpack < 5
522 while counttype "mushroom" backpack < 15
523 cast "Create Food"
524 wait 200
525 if counttype "mushroom" backpack = 0
526 break
527 endif
528 endwhile
529endif
530while mana < 50
531 if not findbuff "actively meditating"
532 useskill 'meditation'
533 endif
534 wait 500
535endwhile
536if timer vampiricEmbraceTimer >= cdVampiricEmbrace and skill "Necromancy" >= 70 and findtype 8198 ground -1 -1 4 as jorpse
537 say "[VampiricEmbrace"
538 wft 500
539 target jorpse
540 settimer vampiricEmbraceTimer 0
541endif
542
543if autoBotEnabled = 1
544 replay
545endif
546
547
548// curse
549// mana drain
550// magic arrrow
551// harm
552// fireball
553// lightening