jaseowns Auto Necro Summoner flexibility edit by Hayes
Related: Magery
Description from the author:
# One hotkey mage cycle, nox, poison by Jaseowns
# UO Outlands - https://youtu.be/K3bVPhHcInE
#
# Cooldowns are live, so this script now attempts to display those
# Make cooldowns match the names of skills
# (check out for details: https://youtu.be/s8rRk2Bu1jQ)
#
// 12/11/2022
// - Added Necro symbol count and additional necro spells (blood oath, pain spike)
// - Added cast triggers for all the spells
// - Added Necro wither to summon (if correct necro skill)
// 12/10/2022
// - If you kill a mob and are low mana, we now target the next one and send the pets while med
// 12/9/2022
// - Added discordance checks
// - Added mushroom usage throughout the script
// - Better summoning of pets when they die
// - Added customized spam cooldown to prevent overhead spam
// - Make sure herding goes off
// November
// - Add heal to top of script during search of target
// - made a way to skip certain casts
//
##################
## Always room for improvment, thanks for watching!
############
# 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
# If you set this to 1 it will use mind blast
# If you set this to 2 it will alternate between the two
@setvar! spamMindBlastOverFlamestrike 2
# This will auto replay this script if you want it too
@setvar! autoBotEnabled 1
# Update this variable to 1 for ALL KILL
# Update this variable to 0 for target nearest
@setvar! setThisAsOneIfYouWantToTargetYourOwnKillOrItWillTargetClosestMonster 0
###############
### Choose your spells
######
@setvar! castCurse 1
@setvar! castManadrain 1
@setvar! castLightning 1
@setvar! castFireball 1
@setvar! castHarm 1
@setvar! castMagicArrow 1
### Buffs
@setvar! castBless 1
@setvar! castMagicShield 1
@setvar! castReactiveArmor 1
# Drink Magic resist potion (only if magic shield buff not found)
@setvar! drinkMagicResistPot 1
###############
### Choose your necro spells (ignored if less then required necro skill)
######
@setvar! castEvilOmen 1
@setvar! castCorpseSkin 1
@setvar! castVampiricEmbrace 1
@setvar! castMindRot 0
@setvar! castBloodOath 0
@setvar! castPainSpike 0
###############
### Edit these cooldowns to match your wizard grimoire
######
@setvar! canYouMakeAMushroom 1
@setvar! cdLightning 20000
@setvar! cdMagicArrow 20000
@setvar! cdHarm 20000
@setvar! cdFireball 20000
###############
### Necro Cooldowns
######
@setvar! cdEvilOmen 31000
@setvar! cdVampiricEmbrace 31000
@setvar! cdCorpseSkin 31000
@setvar! cdMindRot 31000
@setvar! cdWither 31000
@setvar! cdVengefulSpirit 31000
@setvar! cdBloodOath 31000
@setvar! cdPainSpike 61000
#### Buff Cooldowns
@setvar! cdMushroom 60000
@setvar! cdMagicShield 60000
@setvar! cdReactiveArmor 60000
@setvar! cdMeditation 10000
@setvar! cdMeditationMini 3000
@setvar! cdKillTarget 60000
#### Random cooldowns
@setvar! cdPreventOverheadSpam 2000
#### Pet Names, unique to you
if not listexists petNameList
createlist petNameList
endif
if list petNameList = 0
pushlist petNameList "BeyondSausage"
pushlist petNameList "CageFreeHens"
pushlist petNameList "InstantPotUltra"
pushlist petNameList "AirFryerLid"
pushlist petNameList "KingArthurFlour"
pushlist petNameList "BisquickBaking"
endif
##################################################################
#
# Hopefully you do not have to edit after this :)
#
##################################################################
if not gumpexists 622436516 and skill "Necromancy" >= 50
say '[NecromancyHotbar'
wait 500
endif
// 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 "Spellbook not found" 34
endif
// Setting current necro symbols - checks again it the attack loop
@setvar! necroSymbols 12
if gumpexists 622436516 and skill "Necromancy" >= 50
if ingump "12/" 622436516
@setvar! necroSymbols 12
elseif ingump "11/" 622436516
@setvar! necroSymbols 11
elseif ingump "10/" 622436516
@setvar! necroSymbols 10
elseif ingump "9/" 622436516
@setvar! necroSymbols 9
elseif ingump "8/" 622436516
@setvar! necroSymbols 8
elseif ingump "7/" 622436516
@setvar! necroSymbols 7
elseif ingump "6/" 622436516
@setvar! necroSymbols 6
elseif ingump "5/" 622436516
@setvar! necroSymbols 5
elseif ingump "4/" 622436516
@setvar! necroSymbols 4
elseif ingump "3/" 622436516
@setvar! necroSymbols 3
elseif ingump "2/" 622436516
@setvar! necroSymbols 2
elseif ingump "1/" 622436516
@setvar! necroSymbols 1
elseif ingump "0/" 622436516
@setvar! necroSymbols 0
endif
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
if not timerexists meditiationTimer
createtimer meditiationTimer
settimer meditiationTimer cdMeditation
endif
if not timerexists killTargetTimer
createtimer killTargetTimer
settimer killTargetTimer cdKillTarget
endif
if not timerexists witherTimer
createtimer witherTimer
settimer witherTimer cdWither
endif
if not timerexists vengefulSpiritTimer
createtimer vengefulSpiritTimer
settimer vengefulSpiritTimer cdVengefulSpirit
endif
if not timerexists bloodOathTimer
createtimer bloodOathTimer
settimer bloodOathTimer cdBloodOath
endif
if not timerexists painSpikeTimer
createtimer painSpikeTimer
settimer painSpikeTimer cdPainSpike
endif
if not timerexists preventOverheadSpamTimer
createtimer preventOverheadSpamTimer
settimer preventOverheadSpamTimer cdPreventOverheadSpam
endif
if not varexist myEarthPet
@setvar! myEarthPet 0
endif
if not varexist myWaterPet
@setvar! myWaterPet 0
endif
if not varexist mySummonAnimalPet
@setvar! mySummonAnimalPet 0
endif
// make sure we have enough symbols to summon (6 for wither + vengful spirit)
if skill "Necromancy" >= 90
while followers < 4 and 6 > necroSymbols
// we already have vengeful spirit active, skip the check
if timer vengefulSpiritTimer < cdVengefulSpirit
break
endif
if diffhits >= 30
if targetexists
hotkey 'Cancel Current Target'
endif
while not targetexists 'beneficial'
if diffhits >= 60
cast 'Heal'
else
cast 'Greater Heal'
endif
wait 50
if hp = maxhp
hotkey '> Interrupt'
break
endif
endwhile
if targetexists 'beneficial'
hotkey 'Target Self'
endif
endif
if timer preventOverheadSpamTimer >= cdPreventOverheadSpam
overhead "waiting for symbols" 88
settimer preventOverheadSpamTimer 0
endif
if gumpexists 622436516 and skill "Necromancy" >= 50
if ingump "12/" 622436516
@setvar! necroSymbols 12
elseif ingump "11/" 622436516
@setvar! necroSymbols 11
elseif ingump "10/" 622436516
@setvar! necroSymbols 10
elseif ingump "9/" 622436516
@setvar! necroSymbols 9
elseif ingump "8/" 622436516
@setvar! necroSymbols 8
elseif ingump "7/" 622436516
@setvar! necroSymbols 7
elseif ingump "6/" 622436516
@setvar! necroSymbols 6
elseif ingump "5/" 622436516
@setvar! necroSymbols 5
elseif ingump "4/" 622436516
@setvar! necroSymbols 4
elseif ingump "3/" 622436516
@setvar! necroSymbols 3
elseif ingump "2/" 622436516
@setvar! necroSymbols 2
elseif ingump "1/" 622436516
@setvar! necroSymbols 1
elseif ingump "0/" 622436516
@setvar! necroSymbols 0
endif
endif
endwhile
endif
if diffhits < 30
if followers = 0
@setvar! followCount 0
elseif followers = 1
@setvar! followCount 1
elseif followers = 2
@setvar! followCount 2
elseif followers = 3
@setvar! followCount 3
elseif followers = 4
@setvar! followCount 4
elseif followers = 5
@setvar! followCount 5
endif
if dead myEarthPet or not find myEarthPet ground -1 -1 12
if followers < 4
while mana < 50
if diffhits >= 30
replay
endif
if timer preventOverheadSpamTimer >= cdPreventOverheadSpam
overhead "waiting for mana" 88
settimer preventOverheadSpamTimer 0
endif
if not findbuff "Actively Meditating"
useskill "meditation"
endif
wait 200
endwhile
if skill "Necromancy" >= 50 and timer vengefulSpiritTimer >= cdVengefulSpirit
yell "[VengefulSpirit"
settimer vengefulSpiritTimer 0
wait 500
endif
while followers = followCount
cast "earth elemental"
wait 500
if skill "Necromancy" >= 90 and timer witherTimer >= cdWither
yell "[Wither"
settimer witherTimer 0
endif
if diffhits >= 30
hotkey '> Interrupt'
replay
break
endif
endwhile
// 158 - an ancient mummy
if findtype 158 ground -1 -1 6 as myPet
if noto myPet = "friend" and list petNameList > 0
overhead "Renaming..."
foreach petName in petNameList
rename myPet petName
break
endfor
poplist petNameList "front"
endif
@setvar! myEarthPet myPet
say "all guard me"
replay
endif
endif
endif
endif
if diffhits < 30
if followers = 0
@setvar! followCount 0
elseif followers = 1
@setvar! followCount 1
elseif followers = 2
@setvar! followCount 2
elseif followers = 3
@setvar! followCount 3
elseif followers = 4
@setvar! followCount 4
elseif followers = 5
@setvar! followCount 5
endif
if dead myWaterPet or not find myWaterPet ground -1 -1 12
if followers < 4
while mana < 50
if diffhits >= 30
replay
endif
if timer preventOverheadSpamTimer >= cdPreventOverheadSpam
overhead "waiting for mana" 88
settimer preventOverheadSpamTimer 0
endif
if not findbuff "Actively Meditating"
useskill "meditation"
endif
wait 200
endwhile
if timer vengefulSpiritTimer >= cdVengefulSpirit
yell "[VengefulSpirit"
settimer vengefulSpiritTimer 0
wait 500
endif
while followers = followCount
cast "fire elemental"
wait 500
if timer witherTimer >= cdWither
yell "[Wither"
settimer witherTimer 0
endif
if diffhits >= 30
hotkey '> Interrupt'
break
endif
endwhile
// 24 - a lich
if findtype 24 ground -1 -1 6 as myPet
if noto myPet = "friend" and list petNameList > 0
overhead "Renaming..."
foreach petName in petNameList
rename myPet petName
break
endfor
poplist petNameList "front"
endif
@setvar! myWaterPet myPet
say "all guard me"
replay
endif
endif
endif
endif
if followers = 4 and diffhits < 30
while mana < 14
if timer preventOverheadSpamTimer >= cdPreventOverheadSpam
overhead "waiting for mana" 88
settimer preventOverheadSpamTimer 0
endif
if diffhits >= 30
replay
endif
if not findbuff "Actively Meditating"
useskill "meditation"
endif
wait 200
endwhile
if timer vengefulSpiritTimer >= cdVengefulSpirit
yell "[VengefulSpirit"
settimer vengefulSpiritTimer 0
wait 200
endif
while followers = followCount
cast 'Summ. Creature'
wait 500
if diffhits >= 30
hotkey '> Interrupt'
replay
endif
endwhile
say "all guard me"
endif
if diffhits >= 30
if targetexists
hotkey 'Cancel Current Target'
endif
while not targetexists 'beneficial'
if diffhits >= 60
cast 'Heal'
else
cast 'Greater Heal'
endif
wait 50
if hp = maxhp
hotkey '> Interrupt'
break
endif
endwhile
if targetexists 'beneficial'
target self
endif
replay
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" and timer meditiationTimer >= 11000
useskill 'tasteidentification'
wft 500
target backpack
settimer meditiationTimer 0
endif
if setThisAsOneIfYouWantToTargetYourOwnKillOrItWillTargetClosestMonster = 1
say "all kill"
wait 200
while targetexists
// wait
wait 50
endwhile
else
hotkey 'Target Closest Non-Friendly Monster'
wait 200
if insysmsg "No one matching that was found"
if timer preventOverheadSpamTimer >= cdPreventOverheadSpam
overhead "found no one" 34
settimer preventOverheadSpamTimer 0
endif
if autoBotEnabled = 1
wait 500
replay
endif
stop
elseif not find lasttarget ground -1 -1 8
overhead "● ▼▼ HERE ▼▼ ●" 88 lasttarget
if timer preventOverheadSpamTimer >= cdPreventOverheadSpam
overhead "Move closer, more then 8 tiles away" 34
settimer preventOverheadSpamTimer 0
endif
if autoBotEnabled = 1
wait 500
replay
endif
stop
else
overhead "● ▼▼ HERE ▼▼ ●" 88 lasttarget
endif
endif
@setvar myKillTarget lasttarget
if not varexist myPreviousKillTarget
@setvar myPreviousKillTarget 0
endif
getlabel myKillTarget desc
overhead desc
if not varexist myEarthPet or dead myEarthPet
overhead "Resummoning" 34
if findtype "an ancient mummy" ground -1 -1 10 as maybePet
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 castBless = 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 not listexists myCursedTargets
createlist myCursedTargets
endif
if not listexists myManaDrainTargets
createlist myManaDrainTargets
endif
if find myKillTarget -1 -1 12 as killy
if myKillTarget = myPreviousKillTarget
// do nothing
else
// Herding using crook
if skill "Herding" > 0 and findtype 3713 backpack as jrook
dclick jrook
wft 500
target killy
endif
if inlist myManaDrainTargets myKillTarget
overhead "Target currently mana drained" 88
// do nothing
elseif castManadrain = 0
// do nothing
else
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
pushlist myManaDrainTargets myKillTarget
settimer killTargetTimer 0
wait 500
endif
endif
if inlist myCursedTargets myKillTarget
overhead "Target currently cursed" 88
// do nothing
elseif castCurse = 0
// do nothing
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
pushlist myCursedTargets myKillTarget
settimer killTargetTimer 0
wait 500
endif
endif
@setvar myPreviousKillTarget myKillTarget
endif
else
overhead "Out of range" 34
endif
clearsysmsg
say "all guard"
@setvar! isLethalPoison 0
@setvar! isDiscorded 0
@setvar! isHerded 0
while not dead myKillTarget and find myKillTarget -1 -1 12 as killy
if skill "Herding" > 0 and isHerded = 0 and timer meditiationTimer >= 11000 and findtype 3713 backpack as jrook
dclick jrook
wft 500
target myKillTarget
settimer meditiationTimer 8000
@setvar! isHerded 1
endif
if gumpexists 622436516 and skill "Necromancy" >= 50
if ingump "12/" 622436516
@setvar! necroSymbols 12
elseif ingump "11/" 622436516
@setvar! necroSymbols 11
elseif ingump "10/" 622436516
@setvar! necroSymbols 10
elseif ingump "9/" 622436516
@setvar! necroSymbols 9
elseif ingump "8/" 622436516
@setvar! necroSymbols 8
elseif ingump "7/" 622436516
@setvar! necroSymbols 7
elseif ingump "6/" 622436516
@setvar! necroSymbols 6
elseif ingump "5/" 622436516
@setvar! necroSymbols 5
elseif ingump "4/" 622436516
@setvar! necroSymbols 4
elseif ingump "3/" 622436516
@setvar! necroSymbols 3
elseif ingump "2/" 622436516
@setvar! necroSymbols 2
elseif ingump "1/" 622436516
@setvar! necroSymbols 1
elseif ingump "0/" 622436516
@setvar! necroSymbols 0
endif
endif
if skill "Discordance" >= 50
if isDiscorded = 0
getlabel myKillTarget discordDesc
if "discord" in discordDesc
@setvar! isDiscorded 1
elseif timer meditiationTimer >= 11000
useskill 'Discordance'
wft 500
if insysmsg "What instrument"
if findtype "bamboo flute" backpack as inny
target inny
elseif findtype "tambourine" backpack as inny
target inny
elseif findtype "drum" backpack as inny
target inny
elseif findtype "lute" backpack as inny
target inny
elseif findtype "harp" backpack as inny
target inny
elseif findtype "lap harp" backpack as inny
target inny
else
overhead "I do not have an inny" 34
@setvar! isDiscorded 1
endif
wft 500
endif
if targetexists
target myKillTarget
overhead "Discorded" 88 myKillTarget
endif
settimer meditiationTimer 5000
endif
endif
if not findbuff "song of discordance" and timer meditiationTimer >= 11000
useskill 'Discordance'
wft 500
if insysmsg "What instrument"
if findtype "bamboo flute" backpack as inny
target inny
elseif findtype "tambourine" backpack as inny
target inny
elseif findtype "drum" backpack as inny
target inny
elseif findtype "lute" backpack as inny
target inny
elseif findtype "harp" backpack as inny
target inny
elseif findtype "lap harp" backpack as inny
target inny
else
overhead "I do not have an inny" 34
@setvar! isDiscorded 1
endif
wft 500
endif
target backpack
settimer meditiationTimer 0
endif
endif
if followers < 4
replay
elseif castBloodOath = 1 and timer bloodOathTimer >= cdBloodOath and 5 < necroSymbols
yell "[BloodOath"
settimer bloodOathTimer 0
if gumpexists 622436516
if ingump "12/" 622436516
@setvar! necroSymbols 12
elseif ingump "11/" 622436516
@setvar! necroSymbols 11
elseif ingump "10/" 622436516
@setvar! necroSymbols 10
elseif ingump "9/" 622436516
@setvar! necroSymbols 9
elseif ingump "8/" 622436516
@setvar! necroSymbols 8
elseif ingump "7/" 622436516
@setvar! necroSymbols 7
elseif ingump "6/" 622436516
@setvar! necroSymbols 6
elseif ingump "5/" 622436516
@setvar! necroSymbols 5
elseif ingump "4/" 622436516
@setvar! necroSymbols 4
elseif ingump "3/" 622436516
@setvar! necroSymbols 3
elseif ingump "2/" 622436516
@setvar! necroSymbols 2
elseif ingump "1/" 622436516
@setvar! necroSymbols 1
elseif ingump "0/" 622436516
@setvar! necroSymbols 0
endif
endif
endif
if insysmsg "Target cannot be seen."
overhead "Target not in line of sight" 34
replay
endif
if castMagicShield = 1 and timer magicShieldTimer >= cdMagicShield and not findbuff "Magic Reflection"
cast "Magic Reflection"
wait 1000
elseif drinkMagicResistPot = 1 and 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 castReactiveArmor = 1 and timer reactiveArmorTimer >= cdReactiveArmor and not findbuff "Reactive Armor"
cast "Reactive Armor"
wait 200
endif
if findbuff "Reactive Armor"
settimer reactiveArmorTimer 0
endif
if castCorpseSkin = 1 and timer corpseSkinTimer >= cdCorpseSkin and skill "Necromancy" >= 65 and timer meditiationTimer >= cdMeditationMini and 2 < necroSymbols
yell "[CorpseSkin"
settimer corpseSkinTimer 0
cooldown CorpseSkin cdCorpseSkin
wait 500
if gumpexists 622436516
if ingump "12/" 622436516
@setvar! necroSymbols 12
elseif ingump "11/" 622436516
@setvar! necroSymbols 11
elseif ingump "10/" 622436516
@setvar! necroSymbols 10
elseif ingump "9/" 622436516
@setvar! necroSymbols 9
elseif ingump "8/" 622436516
@setvar! necroSymbols 8
elseif ingump "7/" 622436516
@setvar! necroSymbols 7
elseif ingump "6/" 622436516
@setvar! necroSymbols 6
elseif ingump "5/" 622436516
@setvar! necroSymbols 5
elseif ingump "4/" 622436516
@setvar! necroSymbols 4
elseif ingump "3/" 622436516
@setvar! necroSymbols 3
elseif ingump "2/" 622436516
@setvar! necroSymbols 2
elseif ingump "1/" 622436516
@setvar! necroSymbols 1
elseif ingump "0/" 622436516
@setvar! necroSymbols 0
endif
endif
endif
if skill "poisoning" >= 100 or castPoisonAnyway = 1
if timer meditiationTimer >= cdMeditationMini
if castMindRot = 1 and timer mindRotTimer >= cdMindRot and skill "Necromancy" >= 75 and 3 < necroSymbols
yell "[MindRot"
settimer mindRotTimer 0
wait 500
if gumpexists 622436516
if ingump "12/" 622436516
@setvar! necroSymbols 12
elseif ingump "11/" 622436516
@setvar! necroSymbols 11
elseif ingump "10/" 622436516
@setvar! necroSymbols 10
elseif ingump "9/" 622436516
@setvar! necroSymbols 9
elseif ingump "8/" 622436516
@setvar! necroSymbols 8
elseif ingump "7/" 622436516
@setvar! necroSymbols 7
elseif ingump "6/" 622436516
@setvar! necroSymbols 6
elseif ingump "5/" 622436516
@setvar! necroSymbols 5
elseif ingump "4/" 622436516
@setvar! necroSymbols 4
elseif ingump "3/" 622436516
@setvar! necroSymbols 3
elseif ingump "2/" 622436516
@setvar! necroSymbols 2
elseif ingump "1/" 622436516
@setvar! necroSymbols 1
elseif ingump "0/" 622436516
@setvar! necroSymbols 0
endif
endif
endif
while isLethalPoison = 0
if insysmsg "Target cannot be seen."
overhead "Target not in line of sight" 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
endif
if castEvilOmen = 1 and timer evilOmenTimer >= cdEvilOmen and skill "Necromancy" >= 60 and timer meditiationTimer >= cdMeditationMini and 2 < necroSymbols
yell "[EvilOmen"
settimer evilOmenTimer 0
cooldown EvilOmen cdEvilOmen
wait 500
if gumpexists 622436516
if ingump "12/" 622436516
@setvar! necroSymbols 12
elseif ingump "11/" 622436516
@setvar! necroSymbols 11
elseif ingump "10/" 622436516
@setvar! necroSymbols 10
elseif ingump "9/" 622436516
@setvar! necroSymbols 9
elseif ingump "8/" 622436516
@setvar! necroSymbols 8
elseif ingump "7/" 622436516
@setvar! necroSymbols 7
elseif ingump "6/" 622436516
@setvar! necroSymbols 6
elseif ingump "5/" 622436516
@setvar! necroSymbols 5
elseif ingump "4/" 622436516
@setvar! necroSymbols 4
elseif ingump "3/" 622436516
@setvar! necroSymbols 3
elseif ingump "2/" 622436516
@setvar! necroSymbols 2
elseif ingump "1/" 622436516
@setvar! necroSymbols 1
elseif ingump "0/" 622436516
@setvar! necroSymbols 0
endif
endif
endif
if castVampiricEmbrace = 1 and timer vampiricEmbraceTimer >= cdVampiricEmbrace and skill "Necromancy" >= 75 and timer meditiationTimer >= cdMeditationMini and 3 < necroSymbols and findtype 8198 ground -1 -1 4 as jorpse
yell "[VampiricEmbrace"
wft 500
target jorpse
settimer vampiricEmbraceTimer 0
cooldown VampiricEmbrace cdVampiricEmbrace
wait 500
if gumpexists 622436516
if ingump "12/" 622436516
@setvar! necroSymbols 12
elseif ingump "11/" 622436516
@setvar! necroSymbols 11
elseif ingump "10/" 622436516
@setvar! necroSymbols 10
elseif ingump "9/" 622436516
@setvar! necroSymbols 9
elseif ingump "8/" 622436516
@setvar! necroSymbols 8
elseif ingump "7/" 622436516
@setvar! necroSymbols 7
elseif ingump "6/" 622436516
@setvar! necroSymbols 6
elseif ingump "5/" 622436516
@setvar! necroSymbols 5
elseif ingump "4/" 622436516
@setvar! necroSymbols 4
elseif ingump "3/" 622436516
@setvar! necroSymbols 3
elseif ingump "2/" 622436516
@setvar! necroSymbols 2
elseif ingump "1/" 622436516
@setvar! necroSymbols 1
elseif ingump "0/" 622436516
@setvar! necroSymbols 0
endif
endif
endif
if castPainSpike = 1 and timer painSpikeTimer >= cdPainSpike and skill "Necromancy" >= 95 and timer meditiationTimer >= cdMeditationMini and 5 < necroSymbols and findtype 8198 ground -1 -1 6 as jorpse
yell "[PainSpike"
wft 500
target myKillTarget
wait 200
if insysmsg "You do not see any corpses"
overhead "No corpse in range" 34
else
settimer painSpikeTimer 0
cooldown PainSpike cdPainSpike
endif
if gumpexists 622436516
if ingump "12/" 622436516
@setvar! necroSymbols 12
elseif ingump "11/" 622436516
@setvar! necroSymbols 11
elseif ingump "10/" 622436516
@setvar! necroSymbols 10
elseif ingump "9/" 622436516
@setvar! necroSymbols 9
elseif ingump "8/" 622436516
@setvar! necroSymbols 8
elseif ingump "7/" 622436516
@setvar! necroSymbols 7
elseif ingump "6/" 622436516
@setvar! necroSymbols 6
elseif ingump "5/" 622436516
@setvar! necroSymbols 5
elseif ingump "4/" 622436516
@setvar! necroSymbols 4
elseif ingump "3/" 622436516
@setvar! necroSymbols 3
elseif ingump "2/" 622436516
@setvar! necroSymbols 2
elseif ingump "1/" 622436516
@setvar! necroSymbols 1
elseif ingump "0/" 622436516
@setvar! necroSymbols 0
endif
endif
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 diffmana >= 30 and timer magicMushroomTimer >= cdMushroom and findtype "mushroom" backpack as mushy
overhead "Eating shrooms" 66
dclick mushy
settimer magicMushroomTimer 0
endif
if castLightning = 1 and diffhits < 30 and mana >= 12 and timer lightningTimer >= cdLightning and timer meditiationTimer >= cdMeditationMini
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
cooldown Lightning cdLightning
wait 500
endif
endif
if castMagicArrow = 1 and diffhits < 30 and mana >= 5 and timer magicArrowTimer >= cdMagicArrow and timer meditiationTimer >= cdMeditationMini
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
cooldown MagicArrow cdMagicArrow
wait 500
endif
endif
if castHarm = 1 and diffhits < 30 and mana >= 9 and timer harmTimer >= cdHarm and timer meditiationTimer >= cdMeditationMini
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
cooldown Harm cdHarm
wait 500
endif
endif
if castFireball = 1 and diffhits < 30 and mana >= 12 and timer fireballTimer >= cdFireball and timer meditiationTimer >= cdMeditationMini
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
cooldown Fireball cdFireball
wait 500
endif
endif
if diffmana >= 30 and timer magicMushroomTimer >= cdMushroom and findtype "mushroom" backpack as mushy
overhead "Eating mushroom" 66
dclick mushy
settimer magicMushroomTimer 0
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 timer meditiationTimer < cdMeditationMini 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 spamMindBlastOverFlamestrike = 2 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
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 mana > 42
while not targetexists and mana > 40
if diffmana >= 30 and timer magicMushroomTimer >= cdMushroom and findtype "mushroom" backpack as mushy
overhead "Eating mushroom" 66
dclick mushy
settimer magicMushroomTimer 0
endif
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 "Eating mushroom" 66
dclick mushy
settimer magicMushroomTimer 0
elseif not findbuff "actively meditating" and timer meditiationTimer >= cdMeditation
say "all guard me"
useskill 'meditation'
settimer meditiationTimer 0
wait 500
endif
wait 50
endwhile
wait 500
if targetexists
hotkey 'Cancel Current Target'
endif
if not findbuff "actively meditating"
say "all guard me"
endif
while mana < 50
if setThisAsOneIfYouWantToTargetYourOwnKillOrItWillTargetClosestMonster = 0
hotkey 'Target Closest Non-Friendly Monster'
wait 200
if insysmsg "No one matching that was found"
if timer preventOverheadSpamTimer >= cdPreventOverheadSpam
overhead "no next target" 34
settimer preventOverheadSpamTimer 0
endif
elseif not find lasttarget ground -1 -1 8
overhead "● ▼▼ NEXT TARGET HERE ▼▼ ●" 88 lasttarget
if timer preventOverheadSpamTimer >= cdPreventOverheadSpam
overhead "Move closer, more then 8 tiles away" 34
settimer preventOverheadSpamTimer 0
endif
else
overhead "● ▼▼ NEXT TARGET HERE ▼▼ ●" 88 lasttarget
attack lasttarget
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
endif
if not findbuff "actively meditating"
useskill 'meditation'
endif
wait 500
endwhile
if canYouMakeAMushroom = 1 and counttype "mushroom" backpack < 5
while counttype "mushroom" backpack < 15
cast "Create Food"
wait 200
if diffhits >= 30 or counttype "mushroom" backpack = 0
break
endif
endwhile
endif
if castVampiricEmbrace = 1 and 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
cooldown VampiricEmbrace cdVampiricEmbrace
endif
if timer killTargetTimer >= cdKillTarget
overhead "Curse and mana drain target cleared" 34
removelist myCursedTargets
removelist myManaDrainTargets
endif
if autoBotEnabled = 1
replay
endif
// thanks for using a Jaseowns script!
// https://www.youtube.com/jaseownsEdited version of jaseown's auto necro script, fixed spelling errors, added mode to alternate between mind blast/flamestrike, to cover most pve situations.
Can ignore this for now, looks like jase added the mind blast/flamestrike interactions to his main script.