Back to "magery" skill

Halloween 2022 - Reaper of Souls mage bot by Jaseowns

# One hotkey mage cycle, nox, poison looking for Reaper of Souls by Jaseowns # UO Outlands - https://youtu.be/K3bVPhHcInE // Beta client for cooldowns // cooldowns for mushrooms, mana vampire and healpots // for now using timers # Set this to one, if you want to cast poison once no matter what # If you have 100 poisoning and want Lethal, set this to 0 @setvar! castPoisonAnyway 0 # We will spam mind blast when other skills are on cooldown # If you set this to 0 it will use flamestrike @setvar! spamMindBlastOverFlamestrike 0 # This will auto replay this script if you want it too @setvar! autoBotEnabled 1 # This will make sure you have bless on @setvar! blessYourself 1 # Update this variable to 1 for ALL KILL # Update this variable to 0 for target nearest @setvar! setThisAsOneIfYouWantToTargetYourOwnKillOrItWillTargetClosestMonster 0 ############### ### Edit these cooldowns to match your wizard grimoire ###### @setvar! canYouMakeAMushroom 1 @setvar! cdLightning 60000 @setvar! cdMagicArrow 20000 @setvar! cdHarm 20000 @setvar! cdFireball 60000 ############### ### Necro Cooldowns ###### @setvar! cdEvilOmen 30000 @setvar! cdVampiricEmbrace 30000 @setvar! cdCorpseSkin 30000 @setvar! cdMindRot 30000 #### Buff Cooldowns @setvar! cdMushroom 60000 @setvar! cdMagicShield 60000 @setvar! cdReactiveArmor 60000 ################################################################## # # Hopefully you do not have to edit after this :) # ################################################################## // Make sure we have a spell book attached if findlayer self righthand as item // do nothing elseif findtype "3834" backpack as item dclick item else overhead "No book bro!" 34 endif if not timerexists reactiveArmorTimer createtimer reactiveArmorTimer settimer reactiveArmorTimer cdMagicShield endif if not timerexists magicShieldTimer createtimer magicShieldTimer settimer magicShieldTimer cdMagicShield endif if not timerexists magicMushroomTimer createtimer magicMushroomTimer settimer magicMushroomTimer cdMushroom endif if not timerexists magicArrowTimer createtimer magicArrowTimer settimer magicArrowTimer cdMagicArrow endif if not timerexists lightningTimer createtimer lightningTimer settimer lightningTimer cdLightning endif if not timerexists harmTimer createtimer harmTimer settimer harmTimer cdHarm endif if not timerexists fireballTimer createtimer fireballTimer settimer fireballTimer cdFireball endif if not timerexists evilOmenTimer createtimer evilOmenTimer settimer evilOmenTimer cdEvilOmen endif if not timerexists vampiricEmbraceTimer createtimer vampiricEmbraceTimer settimer vampiricEmbraceTimer cdVampiricEmbrace endif if not timerexists corpseSkinTimer createtimer corpseSkinTimer settimer corpseSkinTimer cdCorpseSkin endif if not timerexists mindRotTimer createtimer mindRotTimer settimer mindRotTimer cdMindRot endif # Eat food if we got it if not findbuff "food" and findtype "tray" backpack as jood dclick jood wait 200 endif # Use Taste ID if possible if skill "Taste Identification" >= 50 and not findbuff "herb" useskill 'tasteidentification' wft 500 target backpack endif if setThisAsOneIfYouWantToTargetYourOwnKillOrItWillTargetClosestMonster = 1 say "all kill" wait 200 while targetexists // wait wait 50 endwhile elseif findtype "a reaper of souls|Ayleth Geste" ground -1 -1 12 as nukethisguy @setvar myKillTarget nukethisguy else overhead "found no one" 34 if autoBotEnabled = 1 wait 500 replay endif endif if not varexist myPreviousKillTarget @setvar myPreviousKillTarget 0 endif getlabel myKillTarget desc overhead desc if not varexist myEarthPet or dead myEarthPet overhead "Your pet is dead, demonic summon time..." 34 if findtype "an ancient mummy" ground -1 -1 10 as maybePet overhead "Found a mate.. maybe?" 88 if noto maybePet = "friend" @setvar! myEarthPet maybePet replay endif endif else menu myEarthPet 2 wft 500 target myKillTarget endif if diffhits >= 30 and mana > 12 while not targetexists if diffhits >= 60 cast 'Heal' else cast 'Greater Heal' endif wait 50 if hp = maxhp hotkey '> Interrupt' break endif endwhile if targetexists target self endif elseif blessYourself = 1 and str <= 100 while not targetexists cast 'Bless' wait 50 if diffhits >= 30 hotkey '> Interrupt' break endif endwhile if targetexists target self endif endif if find myKillTarget -1 -1 12 as killy if myKillTarget = myPreviousKillTarget // do nthoing else while not targetexists and not dead myKillTarget if diffhits < 30 cast 'Curse' wait 50 elseif diffhits >= 30 hotkey '> Interrupt' break endif endwhile if targetexists target myKillTarget wait 500 endif while not targetexists and not dead myKillTarget if diffhits < 30 cast 'mana drain' wait 50 elseif diffhits >= 30 hotkey '> Interrupt' break endif endwhile if targetexists target myKillTarget wait 500 endif @setvar myPreviousKillTarget myKillTarget endif else overhead "Out of range" 34 endif clearsysmsg say "all guard" @setvar! isLethalPoison 0 while not dead myKillTarget and find myKillTarget -1 -1 12 as killy if insysmsg "Target cannot be seen." overhead "CANNOT BE SEEN MOVE TO NEXT TARGET" 34 endif if timer magicShieldTimer >= cdMagicShield and not findbuff "Magic Reflection" cast "Magic Reflection" wait 1000 elseif not findbuff "Magic Reflection" and not findbuff "Magic Resist Potion" and findtype "Black Potion" backpack as pot dclick pot wait 200 endif if findbuff "Magic Reflection" settimer magicShieldTimer 0 endif if timer reactiveArmorTimer >= cdReactiveArmor and not findbuff "Reactive Armor" cast "Reactive Armor" wait 200 endif if findbuff "Reactive Armor" settimer reactiveArmorTimer 0 endif if timer corpseSkinTimer >= cdCorpseSkin and skill "Necromancy" >= 65 overhead "Should be CorpseSkin!" 34 say "[CorpseSkin" settimer corpseSkinTimer 0 wait 500 endif if skill "poisoning" >= 100 or castPoisonAnyway = 1 if timer mindRotTimer >= cdMindRot and skill "Necromancy" >= 75 overhead "Should be mind rotting!" 34 say "[MindRot" settimer mindRotTimer 0 wait 500 endif while isLethalPoison = 0 if insysmsg "Target cannot be seen." overhead "CANNOT BE SEEN MOVE TO NEXT TARGET" 34 replay endif getlabel myKillTarget desc2 overhead desc2 66 // poison lethal if "Lethal" in desc2 @setvar! isLethalPoison 1 break elseif castPoisonAnyway = 1 and "Ticks" in desc2 @setvar! isLethalPoison 1 break elseif castPoisonAnyway = 1 and "Poison" in desc2 @setvar! isLethalPoison 1 break elseif diffhits >= 30 // need a heal break elseif mana >= 9 while not targetexists cast 'poison' wait 50 if dead myKillTarget hotkey '> Interrupt' replay endif endwhile target myKillTarget wait 200 if insysmsg "Target cannot be seen." overhead "CANNOT BE SEEN MOVE TO NEXT TARGET" 34 @setvar! isLethalPoison 1 endif else wait 200 endif endwhile endif if timer evilOmenTimer >= cdEvilOmen and skill "Necromancy" >= 60 say "[EvilOmen" settimer evilOmenTimer 0 wait 200 endif if timer vampiricEmbraceTimer >= cdVampiricEmbrace and skill "Necromancy" >= 75 and findtype 8198 ground -1 -1 4 as jorpse say "[VampiricEmbrace" wft 500 target jorpse settimer vampiricEmbraceTimer 0 endif if find myKillTarget -1 -1 12 as killy // do nothing else overhead "Out of range" 34 break endif if poisoned if findtype "Orange Potion" backpack as pot dclick pot wait 200 else while not targetexists if not poisoned hotkey '> Interrupt' break else cast 'Cure' wait 50 endif endwhile if targetexists target self wait 500 endif endif endif if diffhits < 30 and mana >= 12 and timer lightningTimer >= cdLightning while not targetexists if dead myKillTarget or diffhits >= 30 hotkey '> Interrupt' break else cast 'Lightning' wait 50 endif endwhile if targetexists target myKillTarget settimer lightningTimer 0 wait 500 endif endif if diffhits < 30 and mana >= 5 and timer magicArrowTimer >= cdMagicArrow while not targetexists if dead myKillTarget or diffhits >= 30 hotkey '> Interrupt' break else cast 'magic arrow' wait 50 endif endwhile if targetexists target myKillTarget settimer magicArrowTimer 0 wait 500 endif endif if diffhits < 30 and mana >= 9 and timer harmTimer >= cdHarm while not targetexists if dead myKillTarget or diffhits >= 30 hotkey '> Interrupt' break else cast 'harm' wait 50 endif endwhile if targetexists target myKillTarget settimer harmTimer 0 wait 500 endif endif if diffhits < 30 and mana >= 12 and timer fireballTimer >= cdFireball while not targetexists if dead myKillTarget or diffhits >= 30 hotkey '> Interrupt' break else cast 'fireball' wait 50 endif endwhile if targetexists target myKillTarget settimer fireballTimer 0 wait 500 endif endif if diffhits >= 30 if findtype "Yellow Potion" backpack as pot getlabel pot desc if "next usable" in desc // do nothing else dclick pot wait 200 endif endif if diffhits >= 30 and mana >= 12 while not targetexists if diffhits >= 60 cast 'Heal' else cast 'Greater Heal' endif wait 50 if hp = maxhp hotkey '> Interrupt' break endif endwhile if targetexists target self wait 50 endif endif elseif mana < 55 and findbuff "actively meditating" // wait for mana elseif spamMindBlastOverFlamestrike = 1 mana > 42 while not targetexists and mana > 40 if dead myKillTarget or diffhits >= 30 hotkey '> Interrupt' break else cast 'Mind Blast' wait 50 endif endwhile if targetexists target myKillTarget wait 500 endif elseif mana > 42 while not targetexists and mana > 40 if dead myKillTarget or diffhits >= 30 hotkey '> Interrupt' break else cast 'Flamestrike' wait 50 endif endwhile if targetexists target myKillTarget wait 500 endif elseif not findbuff "actively meditating" and timer magicMushroomTimer >= cdMushroom and findtype "mushroom" backpack as mushy overhead "Eatting shrooms" 66 dclick mushy settimer magicMushroomTimer 0 elseif not findbuff "actively meditating" useskill 'meditation' wait 500 endif wait 50 endwhile wait 500 if targetexists hotkey 'Cancel Current Target' endif say "all guard me" if canYouMakeAMushroom = 1 and counttype "mushroom" backpack < 5 while counttype "mushroom" backpack < 15 cast "Create Food" wait 200 if counttype "mushroom" backpack = 0 break endif endwhile endif while mana < 50 if not findbuff "actively meditating" useskill 'meditation' endif wait 500 endwhile if timer vampiricEmbraceTimer >= cdVampiricEmbrace and skill "Necromancy" >= 70 and findtype 8198 ground -1 -1 4 as jorpse say "[VampiricEmbrace" wft 500 target jorpse settimer vampiricEmbraceTimer 0 endif if autoBotEnabled = 1 replay endif // curse // mana drain // magic arrrow // harm // fireball // lightening