Ultimate Magery Summoner Nox Necro Discord Tamer Autobot Hotkey (1) by Jaseowns
Related: Mageryautobotdiscordfull autojaseownsmagemushroomsnecropoisonstreamsummonertamerwiz grimoire
Description from the author:
# One hotkey mage cycle, nox, poison by Jaseowns
# UO Outlands - https://outlands.uorazorscripts.com/mage-bot
#
# Version: v12.2.0
#
#
# 04/12/2024
# - update followers to use breakSpellCastAndResummonIfLessThanXFollowers
# 06/14/2024
# - allow no pets
# 01/19/2024
# - new target / all kill no skill
#
##################
## Always room for improvment, thanks for watching!
############
# continue to fight the same target even after summons
# target not seen - (warmode maybe?)
@setvar! minimumWaitForPing 200
# make sure you add a friends list called: IgnoreMobs
@setvar! didYouSetupIgnoreMobs 0
###
# Vet Kit Usage - 5000 or lower means always (increase to use less kits)
##
@setvar! vetKitTimerCD 5000
// 0 you choose (all kill)
// 1 will target nearest
// 2 will be find type
// 3 will be target next (newest one 8/14/2023)
@setvar! useTargetSystem 2
# Do you want to use the new FindType code? Use 1 here
# Do you want to use the Target Nearest / Next? Use 2 here
# Else it will use the Target Closest Mon functionality
@setvar! useFindTypeToTargetMonster 1
# after a kill you must have this amount of mana to continue to next target
@setvar! minimumManaToCast 40
# 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
# 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
################################
###### Random abilities
################
@setvar! automaticallySkinCorpses 1
@setvar! manaReserve 50
@setvar! cdRetryBasedOnTargetNotSeen 2000
# Ultimate Summoner Hotkey Choose your summons by Jaseowns
# UO Outlands
# This is part of the mage bot, but you can have it
# as its own hotkey
###############
### Choose your summons
######
@setvar! breakSpellCastAndResummonIfLessThanXFollowers 4
@setvar! renamePets 1
# Earth: 0, 1, 2
@setvar! castSummonEarthElementalCount 0
@setvar! castSummonMummyCount 1
# Fire: 0, 1, 2
@setvar! castSummonFireElementalCount 0
@setvar! castSummonLichCount 0
# Demon: 0, 1, 2
@setvar! castSummonDemonCount 0
@setvar! castSummonThrallCount 1
# Air: 0, 1, 2
@setvar! castSummonAirCount 0
@setvar! castSummonFiendCount 0
# Water: 0, 1, 2
@setvar! castSummonWaterCount 0
@setvar! castSummonRagWitchCount 0
# Creature: 0, 1, 2, 3, 4, 5
@setvar! castSummonCreatureCount 1
# Energy Vortex: 0, 1
@setvar! castEnergyVortexCount 0
@setvar! castJackalSpiritCount 0
# Blade Spirit: 0, 1
@setvar! castBladeSpiritCount 0
@setvar! castSkeletalHuskCount 0
if skill "Arcane" >= 80
@setvar! breakSpellCastAndResummonIfLessThanXFollowers 0
# Earth: 0, 1, 2
@setvar! castSummonEarthElementalCount 0
@setvar! castSummonMummyCount 0
# Fire: 0, 1, 2
@setvar! castSummonFireElementalCount 0
@setvar! castSummonLichCount 0
# Demon: 0, 1, 2
@setvar! castSummonDemonCount 0
@setvar! castSummonThrallCount 0
# Air: 0, 1, 2
@setvar! castSummonAirCount 0
@setvar! castSummonFiendCount 0
# Water: 0, 1, 2
@setvar! castSummonWaterCount 0
@setvar! castSummonRagWitchCount 0
# Creature: 0, 1, 2, 3, 4, 5
@setvar! castSummonCreatureCount 0
# Energy Vortex: 0, 1
@setvar! castEnergyVortexCount 0
@setvar! castJackalSpiritCount 0
# Blade Spirit: 0, 1
@setvar! castBladeSpiritCount 0
@setvar! castSkeletalHuskCount 0
endif
###############
### Choose your spells
######
@setvar! castCurse 0
@setvar! castManadrain 0
@setvar! castManaVampire 0
@setvar! castLightning 1
@setvar! castChainLightning 0
@setvar! castFireball 0
@setvar! castHarm 1
@setvar! castMagicArrow 1
# When other spells are on cooldown, do you want to cast Ebolt, MindBlast, Flamestrike or all three
@setvar! castEbolt 1
@setvar! castMindBlast 1
@setvar! castFlamestrike 0
################################
###### Heal Controllers
################
@setvar! hpCheckToTriggerGreaterHealSpell 30
@setvar! hpCheckToTriggerMiniEmergencyHealSpell 60
@setvar! hpCheckToTriggerHealPotion 45
################################
###### Potion Controllers
################
@setvar! automaticallyDrinkStrPotIfOverWeight 1
# Drink Magic resist potion (only if magic shield buff not found)
@setvar! automaticallyDrinkMagicPot 1
@setvar! automaticallyDrinkHealPot 1
@setvar! automaticallyDrinkCurePot 1
#@setvar! automaticallyDrinkRefreshPot 1
@setvar! hpCheckToTriggerCurePotion 45
#@setvar! stamDiffCheckToTriggerRedPotion 10
### Buffs
@setvar! castBless 0
@setvar! castArchProtection 0
@setvar! castMagicShield 1
@setvar! castReactiveArmor 1
if skill "Inscription" >= 50
@setvar! castBless 1
@setvar! castArchProtection 1
endif
###############
### Choose your necro spells (ignored if less then required necro skill)
######
@setvar! castEvilOmen 1
@setvar! castCorpseSkin 1
@setvar! castVampiricEmbrace 0
@setvar! castMindRot 1
@setvar! castPoisonStrike 1
@setvar! castBloodOath 1
@setvar! castPainSpike 1
@setvar! requireWitherBeforeSummons 0
###############
### Edit these cooldowns to match your wizard grimoire
######
@setvar! canYouMakeAMushroom 1
@setvar! cdLightning 20000
@setvar! cdChainLightning 60000
@setvar! cdMagicArrow 20000
@setvar! cdHarm 20000
@setvar! cdFireball 60000
@setvar! cdAutoHealTamerPet 15000
###############
### Necro Cooldowns
######
@setvar! cdEvilOmen 30500
@setvar! cdVampiricEmbrace 30500
@setvar! cdCorpseSkin 30500
@setvar! cdMindRot 30500
@setvar! cdWither 30500
@setvar! cdVengefulSpirit 30500
@setvar! cdBloodOath 30500
@setvar! cdPainSpike 30500
@setvar! cdPoisonStrike 30500
#### Buff Cooldowns
@setvar! cdMushroom 61000
@setvar! cdMagicShield 61000
@setvar! cdReactiveArmor 61000
@setvar! cdMeditation 10000
@setvar! cdMeditationMini 3000
@setvar! cdKillTarget 60000
#### Random cooldowns
@setvar! cdPreventOverheadSpam 2000
@setvar! cdSkinningCheck 3000
@setvar! cdCleansingBrew 125000
#### Mushroom count (I like a lot of shroomies)
@setvar! makeThisManyMushroomsCount 15
@setvar! butOnlyIHaveLessThenThisCount 5
#### This will send in pet for out of range targets
@setvar! patrolPetEvenIfLastTargetIsBeyondEightTiles 1
if counttype "gold coin" backpack as total
if diffweight < 10 and 10000 < total
overhead "Warning: {{total}} gold and no weight!" 34
endif
endif
#### Pet Names, unique to you
if not listexists petNameList
createlist petNameList
endif
if list petNameList = 0
pushlist petNameList "jaseneccy"
pushlist petNameList "jaseyoutube"
pushlist petNameList "jaseytfollow"
pushlist petNameList "jaseytfollower"
pushlist petNameList "jasesubscribed"
pushlist petNameList "jaseoutlands"
pushlist petNameList "jaseuorazorscripts"
pushlist petNameList "jaseyoutuber"
pushlist petNameList "jasefunez"
pushlist petNameList "jasetwitch"
pushlist petNameList "jasesubscribe"
pushlist petNameList "jasefueoz"
endif
@setvar! jaseDebugMode 0
##################################################################
#
# Hopefully you do not have to edit after this :)
#
##################################################################
if not varexist JaseOwns
overhead "v11.2.0" 34
overhead "uorazorscripts.com/mage-bot" 34
say "This script was brought to you by youtube.com/Jaseowns" 88
wait 500
@setvar! JaseOwns 1
endif
#### Herding
if not varexist myAwesomeCrookThatIsActivated
@setvar! myAwesomeCrookThatIsActivated 0
endif
if not find myAwesomeCrookThatIsActivated self
if skill "Herding" > 0 and findtype 3713 self as firstJrook
@setvar! isHerdingActive 0
while isHerdingActive = 0
if counttype 3713 self > 1
@clearignore
while findtype 3713 self as jrook
getlabel jrook multiDesc
if 'activated' in multiDesc
@setvar! isHerdingActive jrook
break
endif
@ignore jrook
endwhile
@clearignore
if isHerdingActive = 0
dclick firstJrook
endif
endif
if isHerdingActive = 0
getlabel firstJrook desc
if 'activated' in desc
@setvar! isHerdingActive firstJrook
else
dclick firstJrook
getlabel firstJrook desc
@setvar! isHerdingActive firstJrook
endif
endif
endwhile
@setvar! myAwesomeCrookThatIsActivated isHerdingActive
endif
endif
if didYouSetupIgnoreMobs = 0 and useFindTypeToTargetMonster = 0
overhead "For this script to work, make sure you add a friends list called: IgnoreMobs" 34
sysmsg "For this script to work, make sure you add a friends list called: IgnoreMobs" 34
wait 1500
overhead "Click Friends Tab -> [checkmark] enabled -> [checkmark] Next/Prev Target ignores 'IgnoreMobs'" 88
sysmsg "Click Friends Tab -> [checkmark] enabled -> [checkmark] Next/Prev Target ignores 'IgnoreMobs'" 88
wait 5000
overhead "If everything is setup, update didYouSetupIgnoreMobs to 1"
sysmsg "If everything is setup, update didYouSetupIgnoreMobs to 1"
wait 5000
replay
endif
if dead
overhead "Rip" 34
for 10
if gumpexists 2957810225
gumpresponse 1 2957810225
break
endif
wait 500
endfor
replay
endif
@setvar! tamerModeEngaged 0
if not timerexists vetKitTimer
settimer vetKitTimer vetKitTimerCD
endif
if skill "Veterinary" >= 50 and timer vetKitTimer >= vetKitTimerCD
if not bandaging and findtype 25750 backpack as item
dclick item
wait 200
endif
settimer vetKitTimer 0
endif
if skill "Animal Taming" > 50
@setvar! tamerModeEngaged 1
if not varexist jaseTankPet or not find jaseTankPet ground -1 -1 12
overhead "Select your tank pet" 88
@setvar! jaseTankPet
endif
if jaseTankPet != 0 and find jaseTankPet ground -1 -1 2 and dead jaseTankPet and mana >= 50
if targetexists
hotkey "Cancel Current Target"
endif
while not targetexists beneficial
hotkey 'Resurrection'
wft 200
if diffhits >= hpCheckToTriggerGreaterHealSpell
break
endif
endwhile
if targetexists beneficial
target jaseTankPet
endif
while not targetexists beneficial and mana >= 12
hotkey 'Greater Heal'
wft 200
if diffhits >= hpCheckToTriggerGreaterHealSpell
break
endif
endwhile
if targetexists beneficial
target jaseTankPet
settimer autoHealTamerPet 0
cooldown AutoPetHeal cdAutoHealTamerPet
endif
endif
endif
if weight >= maxweight and not findbuff "strength" and automaticallyDrinkStrPotIfOverWeight = 1 and findtype "white potion" backpack as pot
dclick pot
wait 200
endif
if not gumpexists 622436516 and skill "Necromancy" >= 50
say '[NecromancyHotbar'
wait 500
endif
if skill "Tracking" > 0
if not findbuff "tracking"
clearsysmsg
while not gumpexists 4267467659
useskill 'tracking'
wait minimumWaitForPing
endwhile
if gumpexists 4267467659
while not insysmsg "You will now hunt all hostile players."
gumpresponse 8 4267467659
waitforgump 4267467659 5000
endwhile
gumpresponse 6 4267467659
wait minimumWaitForPing
endif
gumpclose 4267467659
endif
endif
if not timerexists skinningCheckTimer
settimer skinningCheckTimer cdSkinningCheck
endif
if not timerexists retryBasedOnTargetNotSeenTimer
settimer retryBasedOnTargetNotSeenTimer cdRetryBasedOnTargetNotSeen
endif
if automaticallySkinCorpses = 1 and findtype "corpse" ground -1 -1 2 as jorpse
if findtype "Elven Spellblade" backpack and timer skinningCheckTimer >= cdSkinningCheck
while not targetexists
useskill 'forensicevaluation'
endwhile
if targetexists beneficial or targetexists neutral
hotkey "Target Self"
wait minimumWaitForPing
settimer skinningCheckTimer 0
@ignore jorpse
endif
endif
endif
if skill "Arcane" >= 80
// do nothing
else
// Make sure we have a spell book attached
if findlayer self righthand as item
// do nothing
elseif findtype "3834" backpack as item
getlabel item spellBookDesc
if "blessed" in spellBookDesc
@ignore item
else
dclick item
endif
else
overhead "No book bro!" 34
endif
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 "13/" 622436516
@setvar! necroSymbols 13
elseif ingump "14/" 622436516
@setvar! necroSymbols 14
elseif ingump "15/" 622436516
@setvar! necroSymbols 15
elseif ingump "16/" 622436516
@setvar! necroSymbols 16
elseif ingump "17/" 622436516
@setvar! necroSymbols 17
elseif ingump "18/" 622436516
@setvar! necroSymbols 18
elseif ingump "19/" 622436516
@setvar! necroSymbols 19
elseif ingump "20/" 622436516
@setvar! necroSymbols 20
elseif ingump "21/" 622436516
@setvar! necroSymbols 21
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 cleansingBrewTimer
settimer cleansingBrewTimer cdCleansingBrew
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 chainLightningTimer
settimer chainLightningTimer cdChainLightning
endif
if not timerexists harmTimer
createtimer harmTimer
settimer harmTimer cdHarm
endif
if not timerexists autoHealTamerPet
createtimer autoHealTamerPet
settimer autoHealTamerPet cdAutoHealTamerPet
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 jaseowns_SkillTimerCheck
createtimer jaseowns_SkillTimerCheck
settimer jaseowns_SkillTimerCheck 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 poisonStrikeTimer
createtimer poisonStrikeTimer
settimer poisonStrikeTimer cdPoisonStrike
endif
if not timerexists preventOverheadSpamTimer
createtimer preventOverheadSpamTimer
settimer preventOverheadSpamTimer cdPreventOverheadSpam
endif
@setvar! cdPreventSpamNecroAbilities 750
if not timerexists preventSpamNecroAbilitiesTimer
createtimer preventSpamNecroAbilitiesTimer
settimer preventSpamNecroAbilitiesTimer cdPreventSpamNecroAbilities
endif
if not varexist myEarthPet
@setvar! myEarthPet 0
endif
// make sure we have enough symbols to summon (6 for wither + vengful spirit)
if skill "Necromancy" >= 90 and requireWitherBeforeSummons = 1
while followers < breakSpellCastAndResummonIfLessThanXFollowers and 6 > necroSymbols
// we already have vengeful spirit active, skip the check
if timer vengefulSpiritTimer < cdVengefulSpirit
break
endif
if diffhits >= hpCheckToTriggerGreaterHealSpell
if targetexists
hotkey 'Cancel Current Target'
endif
while not targetexists 'beneficial'
if diffhits >= hpCheckToTriggerMiniEmergencyHealSpell
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 "13/" 622436516
@setvar! necroSymbols 13
elseif ingump "14/" 622436516
@setvar! necroSymbols 14
elseif ingump "15/" 622436516
@setvar! necroSymbols 15
elseif ingump "16/" 622436516
@setvar! necroSymbols 16
elseif ingump "17/" 622436516
@setvar! necroSymbols 17
elseif ingump "18/" 622436516
@setvar! necroSymbols 18
elseif ingump "19/" 622436516
@setvar! necroSymbols 19
elseif ingump "20/" 622436516
@setvar! necroSymbols 20
elseif ingump "21/" 622436516
@setvar! necroSymbols 21
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 >= hpCheckToTriggerGreaterHealSpell
if targetexists
hotkey 'Cancel Current Target'
endif
while not targetexists 'beneficial'
if diffhits >= hpCheckToTriggerMiniEmergencyHealSpell
cast 'Heal'
else
cast 'Greater Heal'
endif
wait 50
if hp = maxhp
hotkey '> Interrupt'
break
endif
endwhile
if targetexists 'beneficial'
hotkey "Target Self"
endif
replay
endif
if renamePets = 0
clearlist petNameList
endif
if castSummonFireElementalCount > 0 and castSummonLichCount > 0
overhead "I am not going to do that. Update lich/fire to one or the other." 34
sysmsg "I am not going to do that. Update lich/fire to one or the other." 34
wait 2000
replay
elseif castSummonEarthElementalCount > 0 and castSummonMummyCount > 0
overhead "I am not going to do that. Update earth/mummy to one or the other." 34
sysmsg "I am not going to do that. Update earth/mummy to one or the other." 34
wait 2000
replay
elseif castSummonDemonCount > 0 and castSummonThrallCount > 0
overhead "I am not going to do that. Update demon/thrall to one or the other." 34
sysmsg "I am not going to do that. Update demon/thrall to one or the other." 34
wait 2000
replay
elseif castSummonAirCount > 0 and castSummonFiendCount > 0
overhead "I am not going to do that. Update air/fiend to one or the other." 34
sysmsg "I am not going to do that. Update air/fiend to one or the other." 34
wait 2000
replay
elseif castSummonWaterCount > 0 and castSummonRagWitchCount > 0
overhead "I am not going to do that. Update water/witch to one or the other." 34
sysmsg "I am not going to do that. Update water/witch to one or the other." 34
wait 2000
replay
endif
if not gumpexists 622436516 and skill "Necromancy" >= 50
say '[NecromancyHotbar'
wait 500
endif
if not varexist myMainTankPet
@setvar! myMainTankPet 0
endif
if not varexist fireOne
@setvar! fireOne 0
endif
if not varexist fireTwo
@setvar! fireTwo 0
endif
if not varexist earthOne
@setvar! earthOne 0
endif
if not varexist earthTwo
@setvar! earthTwo 0
endif
if not varexist demonOne
@setvar! demonOne 0
endif
if not varexist demonTwo
@setvar! demonTwo 0
endif
if not varexist airOne
@setvar! airOne 0
endif
if not varexist airTwo
@setvar! airTwo 0
endif
if not varexist waterOne
@setvar! waterOne 0
endif
if not varexist waterTwo
@setvar! waterTwo 0
endif
if not varexist evOne
@setvar! evOne 0
endif
if not varexist bsOne
@setvar! bsOne 0
endif
removelist summonList
createlist summonList
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 castSummonEarthElementalCount > 0 or castSummonMummyCount > 0
if dead earthOne or not find earthOne ground -1 -1 18
if followers < breakSpellCastAndResummonIfLessThanXFollowers
pushlist summonList "Earth Elemental"
@setvar! earthOne 1
endif
endif
if castSummonEarthElementalCount > 1 or castSummonMummyCount > 1
if dead earthTwo or not find earthTwo ground -1 -1 18
if followers < breakSpellCastAndResummonIfLessThanXFollowers
pushlist summonList "Earth Elemental"
@setvar! earthTwo 1
endif
endif
endif
endif
if castSummonFireElementalCount > 0 or castSummonLichCount > 0
if dead fireOne or not find fireOne ground -1 -1 18
if followers < breakSpellCastAndResummonIfLessThanXFollowers
pushlist summonList "Fire Elemental"
@setvar! fireOne 1
endif
endif
if castSummonFireElementalCount > 1 or castSummonLichCount > 1
if dead fireTwo or not find fireTwo ground -1 -1 18
if followers < breakSpellCastAndResummonIfLessThanXFollowers
pushlist summonList "Fire Elemental"
@setvar! fireTwo 1
endif
endif
endif
endif
if castSummonDemonCount > 0 or castSummonThrallCount > 0
if dead demonOne or not find demonOne ground -1 -1 18
if followers < breakSpellCastAndResummonIfLessThanXFollowers
pushlist summonList "Summon Daemon"
@setvar! demonOne 1
endif
endif
if castSummonDemonCount > 1 or castSummonThrallCount > 1
if dead demonTwo or not find demonTwo ground -1 -1 18
if followers < breakSpellCastAndResummonIfLessThanXFollowers
pushlist summonList "Summon Daemon"
@setvar! demonTwo 1
endif
endif
endif
endif
if castSummonAirCount > 0 or castSummonFiendCount > 0
if dead airOne or not find airOne ground -1 -1 18
if followers < breakSpellCastAndResummonIfLessThanXFollowers
pushlist summonList "Air Elemental"
@setvar! airOne 1
endif
endif
if castSummonAirCount > 1 or castSummonFiendCount > 1
if dead airTwo or not find airTwo ground -1 -1 18
if followers < breakSpellCastAndResummonIfLessThanXFollowers
pushlist summonList "Air Elemental"
@setvar! airTwo 1
endif
endif
endif
endif
if castSummonWaterCount > 0 or castSummonRagWitchCount > 0
if dead waterOne or not find waterOne ground -1 -1 18
if followers < breakSpellCastAndResummonIfLessThanXFollowers
pushlist summonList "Water Elemental"
@setvar! waterOne 1
endif
endif
if castSummonWaterCount > 1 or castSummonRagWitchCount > 1
if dead waterTwo or not find waterTwo ground -1 -1 18
if followers < breakSpellCastAndResummonIfLessThanXFollowers
pushlist summonList "Water Elemental"
@setvar! waterTwo 1
endif
endif
endif
endif
if castEnergyVortexCount > 0 or castJackalSpiritCount > 0
if dead evOne or not find evOne ground -1 -1 18
if followers < 5
pushlist summonList "Energy Vortex"
@setvar! evOne 1
endif
endif
endif
if castBladeSpiritCount > 0 or castSkeletalHuskCount > 0
if dead bsOne or not find bsOne ground -1 -1 18
if followers < 5
pushlist summonList "Blade Spirits"
@setvar! bsOne 1
endif
endif
endif
if followers < 5
if castSummonCreatureCount = 1
pushlist summonList "Summ. Creature"
elseif castSummonCreatureCount = 2
pushlist summonList "Summ. Creature"
pushlist summonList "Summ. Creature"
elseif castSummonCreatureCount = 3
pushlist summonList "Summ. Creature"
pushlist summonList "Summ. Creature"
pushlist summonList "Summ. Creature"
elseif castSummonCreatureCount = 4
pushlist summonList "Summ. Creature"
pushlist summonList "Summ. Creature"
pushlist summonList "Summ. Creature"
pushlist summonList "Summ. Creature"
elseif castSummonCreatureCount = 5
pushlist summonList "Summ. Creature"
pushlist summonList "Summ. Creature"
pushlist summonList "Summ. Creature"
pushlist summonList "Summ. Creature"
pushlist summonList "Summ. Creature"
endif
while targetexists
hotkey 'Cancel Current Target'
wait 200
endwhile
endif
foreach summon in summonList
if followers < 5
overhead "Casting Summon: {{summon}}" 88
while mana < 50
if timer magicMushroomTimer >= cdMushroom and findtype "mushroom" backpack as mushy
overhead "Eating shrooms" 66
dclick mushy
@setvar! jase_shrooms mushy
wait 200
if insysmsg "You consume a magic mushroom and restore some mana."
settimer magicMushroomTimer 0
elseif insysmsg "before you may consume another magic mushroom" or insysmsg "been in combat with another"
settimer magicMushroomTimer 30000
endif
endif
if diffhits >= hpCheckToTriggerGreaterHealSpell
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
@setvar! needVengefulSpirit 0
if summon = "Earth Elemental" and castSummonMummyCount > 0
@setvar! needVengefulSpirit 1
elseif summon = "Fire Elemental" and castSummonLichCount > 0
@setvar! needVengefulSpirit 1
elseif summon = "Summon Daemon" and castSummonThrallCount > 0
@setvar! needVengefulSpirit 1
elseif summon = "Air Elemental" and castSummonFiendCount > 0
@setvar! needVengefulSpirit 1
elseif summon = "Water Elemental" and castSummonRagWitchCount > 0
@setvar! needVengefulSpirit 1
elseif summon = "Summ. Creature" and skill "Necromancy" >= 50
@setvar! needVengefulSpirit 1
elseif summon = "Energy Vortex" and castJackalSpiritCount > 0
@setvar! needVengefulSpirit 1
elseif summon = "Blade Spirits" and castSkeletalHuskCount > 0
@setvar! needVengefulSpirit 1
elseif timer vengefulSpiritTimer <= cdVengefulSpirit and skill "Necromancy" >= 50
if timer preventOverheadSpamTimer >= cdPreventOverheadSpam
overhead "Waiting for spirit to go away" 88
settimer preventOverheadSpamTimer 0
endif
replay
endif
if needVengefulSpirit = 1
if timer vengefulSpiritTimer >= cdVengefulSpirit and skill "Necromancy" >= 50
yell "[VengefulSpirit"
settimer vengefulSpiritTimer 0
wait 500
endif
elseif timer vengefulSpiritTimer <= cdVengefulSpirit and skill "Necromancy" >= 50
if timer preventOverheadSpamTimer >= cdPreventOverheadSpam
overhead "Waiting for spirit to go away" 88
settimer preventOverheadSpamTimer 0
endif
replay
endif
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 summon = "Summ. Creature" or summon = "Blade Spirits"
// these only take 1 - so keep trying to cast
elseif followers >= 4
// if we already at 4, skip to next summon
break
endif
while followers = followCount
if followers = 5
break
endif
cast summon
wft 500
if targetexists
hotkey "Target Self"
wait 200
endif
if timer witherTimer >= cdWither and skill "Necromancy" >= 95
yell "[Wither"
settimer witherTimer 0
endif
if diffhits >= hpCheckToTriggerGreaterHealSpell
if targetexists
hotkey "Cancel Current target"
endif
overhead "Need a heal!"
hotkey '> Interrupt'
while diffhits >= hpCheckToTriggerGreaterHealSpell and mana > 12
while not targetexists beneficial
if diffhits >= hpCheckToTriggerMiniEmergencyHealSpell
cast 'Heal'
else
cast 'Greater Heal'
endif
wait 50
endwhile
while targetexists beneficial
hotkey "Target Self"
wait 50
endwhile
endwhile
endif
endwhile
wait 200
@setvar! myFreshlySummonedPet 0
// 158 - an ancient mummy
// 14 - an earth elemental
if summon = "Earth Elemental" and findtype 158|14 ground -1 -1 2 as myPet
@setvar! myFreshlySummonedPet myPet
if earthOne = 1
@setvar! earthOne myPet
elseif earthTwo = 1
@setvar! earthTwo myPet
endif
// 24 - a lich
// 15 - a fire elemental
elseif summon = "Fire Elemental" and findtype 24|15 ground -1 -1 2 as myPet
@setvar! myFreshlySummonedPet myPet
if fireOne = 1
@setvar! fireOne myPet
elseif fireTwo = 1
@setvar! fireTwo myPet
endif
// 9 - a deamon
// 722 - a vampire thrall
elseif summon = "Summon Daemon" and findtype 9|722 ground -1 -1 2 as myPet
@setvar! myFreshlySummonedPet myPet
if demonOne = 1
@setvar! demonOne myPet
elseif demonTwo = 1
@setvar! demonTwo myPet
endif
// 16 - water elemental
// 740 - a rage witch
elseif summon = "Water Elemental" and findtype 16|740 ground -1 -1 2 as myPet
@setvar! myFreshlySummonedPet myPet
if waterOne = 1
@setvar! waterOne myPet
elseif waterTwo = 1
@setvar! waterTwo myPet
endif
// 13 - air elemental
// 306 - a skeletal fiend
elseif summon = "Air Elemental" and findtype 13|306 ground -1 -1 2 as myPet
@setvar! myFreshlySummonedPet myPet
if airOne = 1
@setvar! airOne myPet
elseif airTwo = 1
@setvar! airTwo myPet
endif
elseif summon = "Summ. Creature"
// TODO: gather all summon creature types
// 13 - an energy vortex
// 391 - a jackal spirit
elseif summon = "Energy Vortex" and findtype 13|391 ground -1 -1 2 as myPet
@setvar! myFreshlySummonedPet myPet
if evOne = 1
@setvar! evOne myPet
endif
// 574 - a blade spirit
// 309 - a skeletal husk
elseif summon = "Blade Spirits" and findtype 574|309 ground -1 -1 2 as myPet
@setvar! myFreshlySummonedPet myPet
if bsOne = 1
@setvar! bsOne myPet
endif
endif
if summon = "Summ. Creature"
overhead "Creature summoned!" 88
elseif myFreshlySummonedPet = 0
overhead "Not found" 88
else
if noto myFreshlySummonedPet = "friend" and list petNameList > 0
overhead "Renaming..." 77
foreach petName in petNameList
overhead "Rename to {{petName}}..." 66 myFreshlySummonedPet
rename myFreshlySummonedPet petName
wait 200
if insysmsg "That name is unacceptable."
overhead "Unable to name pet: {{petName}}" 34
sysmsg "Unable to name pet: {{petName}}" 34
endif
break
endfor
poplist petNameList "front"
endif
overhead "New Pet: {{summon}}" 88 myFreshlySummonedPet
if summon = "Energy Vortex" or summon = "Blade Spirits"
// do nothing
else
// guard
menu myFreshlySummonedPet 3
endif
@ignore myFreshlySummonedPet
endif
wait 500
else
break
endif
endfor
if dead myMainTankPet
if not dead earthOne
@setvar! myMainTankPet earthOne
elseif not dead earthTwo
@setvar! myMainTankPet earthTwo
elseif not dead waterOne
@setvar! myMainTankPet waterOne
elseif not dead waterTwo
@setvar! myMainTankPet waterTwo
elseif not dead demonOne
@setvar! myMainTankPet demonOne
elseif not dead demonTwo
@setvar! myMainTankPet demonTwo
elseif not dead fireOne
@setvar! myMainTankPet fireOne
elseif not dead fireTwo
@setvar! myMainTankPet fireTwo
elseif not dead airOne
@setvar! myMainTankPet airOne
elseif not dead airTwo
@setvar! myMainTankPet airTwo
endif
endif
if not varexist lastCannotBeSeen
@setvar! lastCannotBeSeen 0
endif
if lastCannotBeSeen != 0 and dead lastCannotBeSeen
@setvar! lastCannotBeSeen 0
@setvar! lastCannotBeSeenLoopIndex 0
endif
# Eat food if we got it
if not findbuff "food" and findtype "tray" backpack as jood
dclick jood
wait 200
endif
if targetexists harmful
hotkey "Cancel current target"
endif
if useTargetSystem = 0
if followers > 0
say "all kill"
wait 200
else
hotkey "Set Last Target"
wait 200
endif
while targetexists
// wait
wait 50
endwhile
@setvar myKillTarget lasttarget
elseif useTargetSystem = 1
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 10
@setvar checkForSummons lasttarget
getlabel checkForSummons checkForSummonsDesc
if "(summoned" in checkForSummonsDesc or "(bonded" in checkForSummonsDesc or "the battle trainer" in checkForSummonsDesc
overhead "▼ Player pet - IGNORE ▼" 77 lasttarget
while not targetexists
hotkey 'Add Target To: IgnoreMobs'
wait 200
endwhile
target myKillTarget
replay
endif
overhead "● ▼ OUT OF RANGE ▼ ●" 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
@setvar checkForSummons lasttarget
getlabel checkForSummons checkForSummonsDesc
if "(summoned" in checkForSummonsDesc or "(bonded" in checkForSummonsDesc or "the battle trainer" in checkForSummonsDesc
overhead "▼ Player pet - IGNORE ▼" 77 lasttarget
while not targetexists
hotkey 'Add Target To: IgnoreMobs'
wait 200
endwhile
target myKillTarget
replay
endif
overhead "● ▼▼ HERE ▼▼ ●" 88 lasttarget
endif
@setvar myKillTarget lasttarget
elseif useTargetSystem = 2
// do find type
if jaseDebugMode = 1
overhead "do find type"
endif
//@setvar! mobDiff 0
// should we cast spells
// should our pets kill it only?
// do we need to debuff the mob?
// boss - do we want to do manadrain vs mana vampire
// targeting
@setvar! myFindTypeMob 0
if findtype 141|34|843|1081|44|42|68|88|28|159|11|631|612|281|280|313|385|21|727|689|735|74|400|732|24|776|39|400|215|717|51|716|14|12|60|37|37|21|155|14|138|787|787|395|79|259|783|782|781|58|715|738|727|1419|1504|310|99|113|214|736|204|158|29|75|9|59|61|16|303|306|30|241|730|393|17|314|48|21|721|53|42|1069|287|59|58|401|16|778|715|47|725|169|317|213|384|373|734|23|27|25|705|728|37|779|775|173|92|98|80|388|98|287|302|73|720|252|8|392|9|14|319|4|386|22|9|16|400|400|401|401|401|401|49|96|8|315|303|309|386|169|37|777|59|718|61|718|9|104|266|12|60|12|60|393|721|31|400|401|12|60|778|393|251|12|60|37|826|154|264|39|9|128|176|374|738|169|315|393|776|734|317|13|720|225|305|401|131|94|93|244|16|318|392|393|310|372|309|49|130|83|130|753|59|114|116|830|26|778|400|401|26|81|48|732|779|723|4|387|150|334|385|261|1069|390|304|379|307|729|384|160|74|400|400|400|9|4|784|400|400|400|400|401|4|391|214|13|724|206|16|293|40|43|24|24|285|705|199|199|829|256|160|573|259|400|776|263|375|9|241|39|39|206|202|380|13|30|8|51|4|154|16|312|79|148|401|204|1069|73|748|86|85|87|86|782|781|400|401|401|400|401|400|400|401|401|401|401|401|400|789|316|401|120|832|108|396|393|401|401|757|401|400|401|756|401|763|730|716|16|16|787|740|3|401|75|9|59|400|401|401|401|401|400|400|401|401|400|400|401|21|970|92|16|270|970|400|401|401|401|37|270|37|1419|1504|251|315|51|741|37|169|717|740|715|14|74|206|242|778|739|776|16|51|304|3|300|29|382|104|306|309|57|50|56|302|59|61|1503|24|14|13|51|252|31|400|390|23|27|400|400|704|689|383|25|293|371|21|705|30|36|8|1419|1504|721|12|60|736|788|69|71|738|72|70|780|242|400|37|737|199|401|400|401|722|317|258|229|300|380|22|59|61|15|42|45|394|1419|1504|47|97|47|285|65|225|73|30|382|739|743|62|733|17|80|18|55|41|317|81|215|31|24|35|400|225|30|3|390|72|9|384|41|58|400|400|119 ground -1 -1 2 as daklue
@setvar! myFindTypeMob daklue
getlabel myFindTypeMob helperDesc
overhead "● ▼▼ HERE ▼▼ ●" 88 myFindTypeMob
if jaseDebugMode = 1
overhead "● block 1 {{helperDesc}}" 88
hotkey "Get InfoGump"
wft 500
target myFindTypeMob
endif
elseif findtype 141|34|843|1081|44|42|68|88|28|159|11|631|612|281|280|313|385|21|727|689|735|74|400|732|24|776|39|400|215|717|51|716|14|12|60|37|37|21|155|14|138|787|787|395|79|259|783|782|781|58|715|738|727|1419|1504|310|99|113|214|736|204|158|29|75|9|59|61|16|303|306|30|241|730|393|17|314|48|21|721|53|42|1069|287|59|58|401|16|778|715|47|725|169|317|213|384|373|734|23|27|25|705|728|37|779|775|173|92|98|80|388|98|287|302|73|720|252|8|392|9|14|319|4|386|22|9|16|400|400|401|401|401|401|49|96|8|315|303|309|386|169|37|777|59|718|61|718|9|104|266|12|60|12|60|393|721|31|400|401|12|60|778|393|251|12|60|37|826|154|264|39|9|128|176|374|738|169|315|393|776|734|317|13|720|225|305|401|131|94|93|244|16|318|392|393|310|372|309|49|130|83|130|753|59|114|116|830|26|778|400|401|26|81|48|732|779|723|4|387|150|334|385|261|1069|390|304|379|307|729|384|160|74|400|400|400|9|4|784|400|400|400|400|401|4|391|214|13|724|206|16|293|40|43|24|24|285|705|199|199|829|256|160|573|259|400|776|263|375|9|241|39|39|206|202|380|13|30|8|51|4|154|16|312|79|148|401|204|1069|73|748|86|85|87|86|782|781|400|401|401|400|401|400|400|401|401|401|401|401|400|789|316|401|120|832|108|396|393|401|401|757|401|400|401|756|401|763|730|716|16|16|787|740|3|401|75|9|59|400|401|401|401|401|400|400|401|401|400|400|401|21|970|92|16|270|970|400|401|401|401|37|270|37|1419|1504|251|315|51|741|37|169|717|740|715|14|74|206|242|778|739|776|16|51|304|3|300|29|382|104|306|309|57|50|56|302|59|61|1503|24|14|13|51|252|31|400|390|23|27|400|400|704|689|383|25|293|371|21|705|30|36|8|1419|1504|721|12|60|736|788|69|71|738|72|70|780|242|400|37|737|199|401|400|401|722|317|258|229|300|380|22|59|61|15|42|45|394|1419|1504|47|97|47|285|65|225|73|30|382|739|743|62|733|17|80|18|55|41|317|81|215|31|24|35|400|225|30|3|390|72|9|384|41|58|400|400|119 ground -1 -1 4 as daklue
@setvar! myFindTypeMob daklue
getlabel myFindTypeMob helperDesc
overhead "● ▼▼ HERE ▼▼ ●" 88 myFindTypeMob
if jaseDebugMode = 1
overhead "● block 2 {{helperDesc}}" 88
hotkey "Get InfoGump"
wft 500
target myFindTypeMob
endif
elseif findtype 141|34|843|1081|44|42|68|88|28|159|11|631|612|281|280|313|385|21|727|689|735|74|400|732|24|776|39|400|215|717|51|716|14|12|60|37|37|21|155|14|138|787|787|395|79|259|783|782|781|58|715|738|727|1419|1504|310|99|113|214|736|204|158|29|75|9|59|61|16|303|306|30|241|730|393|17|314|48|21|721|53|42|1069|287|59|58|401|16|778|715|47|725|169|317|213|384|373|734|23|27|25|705|728|37|779|775|173|92|98|80|388|98|287|302|73|720|252|8|392|9|14|319|4|386|22|9|16|400|400|401|401|401|401|49|96|8|315|303|309|386|169|37|777|59|718|61|718|9|104|266|12|60|12|60|393|721|31|400|401|12|60|778|393|251|12|60|37|826|154|264|39|9|128|176|374|738|169|315|393|776|734|317|13|720|225|305|401|131|94|93|244|16|318|392|393|310|372|309|49|130|83|130|753|59|114|116|830|26|778|400|401|26|81|48|732|779|723|4|387|150|334|385|261|1069|390|304|379|307|729|384|160|74|400|400|400|9|4|784|400|400|400|400|401|4|391|214|13|724|206|16|293|40|43|24|24|285|705|199|199|829|256|160|573|259|400|776|263|375|9|241|39|39|206|202|380|13|30|8|51|4|154|16|312|79|148|401|204|1069|73|748|86|85|87|86|782|781|400|401|401|400|401|400|400|401|401|401|401|401|400|789|316|401|120|832|108|396|393|401|401|757|401|400|401|756|401|763|730|716|16|16|787|740|3|401|75|9|59|400|401|401|401|401|400|400|401|401|400|400|401|21|970|92|16|270|970|400|401|401|401|37|270|37|1419|1504|251|315|51|741|37|169|717|740|715|14|74|206|242|778|739|776|16|51|304|3|300|29|382|104|306|309|57|50|56|302|59|61|1503|24|14|13|51|252|31|400|390|23|27|400|400|704|689|383|25|293|371|21|705|30|36|8|1419|1504|721|12|60|736|788|69|71|738|72|70|780|242|400|37|737|199|401|400|401|722|317|258|229|300|380|22|59|61|15|42|45|394|1419|1504|47|97|47|285|65|225|73|30|382|739|743|62|733|17|80|18|55|41|317|81|215|31|24|35|400|225|30|3|390|72|9|384|41|58|400|400|119 ground -1 -1 8 as daklue
@setvar! myFindTypeMob daklue
getlabel myFindTypeMob helperDesc
overhead "● ▼▼ HERE ▼▼ ●" 88 myFindTypeMob
if jaseDebugMode = 1
overhead "● block 3 {{helperDesc}}" 88
hotkey "Get InfoGump"
wft 500
target myFindTypeMob
endif
elseif findtype 141|34|843|1081|44|42|68|88|28|159|11|631|612|281|280|313|385|21|727|689|735|74|400|732|24|776|39|400|215|717|51|716|14|12|60|37|37|21|155|14|138|787|787|395|79|259|783|782|781|58|715|738|727|1419|1504|310|99|113|214|736|204|158|29|75|9|59|61|16|303|306|30|241|730|393|17|314|48|21|721|53|42|1069|287|59|58|401|16|778|715|47|725|169|317|213|384|373|734|23|27|25|705|728|37|779|775|173|92|98|80|388|98|287|302|73|720|252|8|392|9|14|319|4|386|22|9|16|400|400|401|401|401|401|49|96|8|315|303|309|386|169|37|777|59|718|61|718|9|104|266|12|60|12|60|393|721|31|400|401|12|60|778|393|251|12|60|37|826|154|264|39|9|128|176|374|738|169|315|393|776|734|317|13|720|225|305|401|131|94|93|244|16|318|392|393|310|372|309|49|130|83|130|753|59|114|116|830|26|778|400|401|26|81|48|732|779|723|4|387|150|334|385|261|1069|390|304|379|307|729|384|160|74|400|400|400|9|4|784|400|400|400|400|401|4|391|214|13|724|206|16|293|40|43|24|24|285|705|199|199|829|256|160|573|259|400|776|263|375|9|241|39|39|206|202|380|13|30|8|51|4|154|16|312|79|148|401|204|1069|73|748|86|85|87|86|782|781|400|401|401|400|401|400|400|401|401|401|401|401|400|789|316|401|120|832|108|396|393|401|401|757|401|400|401|756|401|763|730|716|16|16|787|740|3|401|75|9|59|400|401|401|401|401|400|400|401|401|400|400|401|21|970|92|16|270|970|400|401|401|401|37|270|37|1419|1504|251|315|51|741|37|169|717|740|715|14|74|206|242|778|739|776|16|51|304|3|300|29|382|104|306|309|57|50|56|302|59|61|1503|24|14|13|51|252|31|400|390|23|27|400|400|704|689|383|25|293|371|21|705|30|36|8|1419|1504|721|12|60|736|788|69|71|738|72|70|780|242|400|37|737|199|401|400|401|722|317|258|229|300|380|22|59|61|15|42|45|394|1419|1504|47|97|47|285|65|225|73|30|382|739|743|62|733|17|80|18|55|41|317|81|215|31|24|35|400|225|30|3|390|72|9|384|41|58|400|400|119 ground -1 -1 12 as daklue
@setvar! myFindTypeMob daklue
overhead "● ▼ OUT OF RANGE ▼ ●" 88 daklue
getlabel daklue helperDesc
if jaseDebugMode = 1
overhead "● block 4 {{helperDesc}}" 88
hotkey "Get InfoGump"
wft 500
target myFindTypeMob
endif
if "(summoned" in helperDesc or "(bonded" in helperDesc or "(tamed" in helperDesc or "the battle trainer" in helperDesc
overhead "▼ Player pet - IGNORE ▼" 77 daklue
ignore daklue
replay
endif
wait 200
if patrolPetEvenIfLastTargetIsBeyondEightTiles = 1
if not timerexists myPatrolPetTimer
settimer myPatrolPetTimer 5000
endif
if not varexist myPatrolPet
@setvar! myPatrolPet 0
endif
if find myPatrolPet ground -1 -1 10
// do nothing
elseif find earthOne ground -1 -1 10
@setvar! myPatrolPet earthOne
elseif find earthTwo ground -1 -1 10
@setvar! myPatrolPet earthTwo
elseif find fireOne ground -1 -1 10
@setvar! myPatrolPet fireOne
elseif find fireTwo ground -1 -1 10
@setvar! myPatrolPet fireTwo
elseif find demonOne ground -1 -1 10
@setvar! myPatrolPet demonOne
elseif find demonTwo ground -1 -1 10
@setvar! myPatrolPet demonTwo
elseif find airOne ground -1 -1 10
@setvar! myPatrolPet airOne
elseif find airTwo ground -1 -1 10
@setvar! myPatrolPet airTwo
elseif find waterOne ground -1 -1 10
@setvar! myPatrolPet waterOne
elseif find waterTwo ground -1 -1 10
@setvar! myPatrolPet waterTwo
else
@setvar! myPatrolPet 0
endif
if myPatrolPet = 0
// do nothing
elseif timer myPatrolPetTimer >= 5000
overhead "● SEND IN PATROL PET ●" 77 myFindTypeMob
menu myPatrolPet 2
wft 500
target myFindTypeMob
settimer myPatrolPetTimer 0
endif
endif
replay
else
if jaseDebugMode = 1
overhead "● block 5" 88
endif
if timer preventOverheadSpamTimer >= cdPreventOverheadSpam
overhead "Found type found no one" 34
settimer preventOverheadSpamTimer 0
endif
wait 200
replay
endif
if myFindTypeMob = 0
wait 200
replay
elseif dead myFindTypeMob
wait 200
replay
else
getlabel myFindTypeMob checkForSummonsDesc
overhead "Found: {{checkForSummonsDesc}}" 88 myFindTypeMob
if "(summoned" in checkForSummonsDesc or "(bonded" in checkForSummonsDesc or "(tamed" in checkForSummonsDesc or "the battle trainer" in checkForSummonsDesc
overhead "▼ Player pet - IGNORE ▼" 77 myFindTypeMob
@ignore myFindTypeMob
replay
endif
if noto myFindTypeMob = "friend"
@ignore myFindTypeMob
replay
elseif noto myFindTypeMob = "innocent"
@ignore myFindTypeMob
replay
elseif noto myFindTypeMob = "hostile" or noto myFindTypeMob = "criminal"
//overhead "Gray" 88
elseif noto myFindTypeMob = "murderer"
//overhead "Red" 34
elseif noto myFindTypeMob = "enemy"
//overhead "Orange" 34
elseif noto daklue = "invulnerable"
@ignore myFindTypeMob
replay
else
overhead "Unknown" 34
wait 500
@ignore myFindTypeMob
replay
endif
@setvar! myKillTarget myFindTypeMob
endif
elseif useTargetSystem = 3
hotkey 'Next Non-Friendly Monster Target'
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
else
@setvar checkForSummons lasttarget
getlabel checkForSummons checkForSummonsDesc
if "(summoned" in checkForSummonsDesc or "(bonded" in checkForSummonsDesc or "the battle trainer" in checkForSummonsDesc
overhead "▼ Player pet - IGNORE ▼" 77 lasttarget
replay
endif
if find lasttarget ground -1 -1 8
// we ready
overhead "● ▼▼ HERE ▼▼ ●" 88 lasttarget
elseif find lasttarget ground -1 -1 12
if timer preventOverheadSpamTimer >= cdPreventOverheadSpam
overhead "Move closer, more then 8 tiles away" 34
settimer preventOverheadSpamTimer 0
endif
overhead "● ▼ OUT OF RANGE ▼ ●" 88 lasttarget
if patrolPetEvenIfLastTargetIsBeyondEightTiles = 1
if not timerexists myPatrolPetTimer
settimer myPatrolPetTimer 5000
endif
if not varexist myPatrolPet
@setvar! myPatrolPet 0
endif
if find myPatrolPet ground -1 -1 10
// do nothing
elseif find earthOne ground -1 -1 10
@setvar! myPatrolPet earthOne
elseif find earthTwo ground -1 -1 10
@setvar! myPatrolPet earthTwo
elseif find fireOne ground -1 -1 10
@setvar! myPatrolPet fireOne
elseif find fireTwo ground -1 -1 10
@setvar! myPatrolPet fireTwo
elseif find demonOne ground -1 -1 10
@setvar! myPatrolPet demonOne
elseif find demonTwo ground -1 -1 10
@setvar! myPatrolPet demonTwo
elseif find airOne ground -1 -1 10
@setvar! myPatrolPet airOne
elseif find airTwo ground -1 -1 10
@setvar! myPatrolPet airTwo
elseif find waterOne ground -1 -1 10
@setvar! myPatrolPet waterOne
elseif find waterTwo ground -1 -1 10
@setvar! myPatrolPet waterTwo
else
@setvar! myPatrolPet 0
endif
if myPatrolPet = 0
// do nothing
elseif timer myPatrolPetTimer >= 5000
overhead "● SEND IN PATROL PET ●" 77 myFindTypeMob
menu myPatrolPet 2
wft 500
target lasttarget
settimer myPatrolPetTimer 0
endif
endif
if autoBotEnabled = 1
wait 500
replay
endif
stop
else
if timer preventOverheadSpamTimer >= cdPreventOverheadSpam
overhead "Next mob too far" 34
settimer preventOverheadSpamTimer 0
endif
wait 200
replay
endif
endif
@setvar myKillTarget lasttarget
endif
if not varexist myPreviousKillTarget
@setvar myPreviousKillTarget 0
endif
getlabel myKillTarget desc
overhead desc
if "(summoned" in desc or "(bonded" in desc or "(tame" in desc or "the battle trainer" in desc
overhead "▼ Player pet - IGNORE ▼" 77 lasttarget
while not targetexists
hotkey 'Add Target To: IgnoreMobs'
wait 200
endwhile
target myKillTarget
replay
endif
if not varexist myEarthPet or dead myEarthPet
if not dead earthOne
@setvar! myEarthPet earthOne
elseif not dead earthTwo
@setvar! myEarthPet earthTwo
endif
endif
#####
## Skill Check Timer
####
@setvar! jaseowns_SkillTimerCD 11500
if not timerexists jaseowns_SkillTimerCheck
settimer jaseowns_SkillTimerCheck jaseowns_SkillTimerCD
endif
#####
## System Message Check Timer
####
@setvar! jaseowns_SystemMsgCheckCD 1000
if not timerexists jaseowns_SystemMsgCheck
settimer jaseowns_SystemMsgCheck jaseowns_SystemMsgCheckCD
endif
#####
## Kill Target Check Timer
####
@setvar! jaseowns_KillTimerCD 1000
if not timerexists jaseowns_KillTimer
settimer jaseowns_KillTimer jaseowns_KillTimerCD
endif
#####
## Herd Again Check Timer
####
@setvar! jaseowns_HerdAgainTimerCD 8000
if not timerexists jaseowns_HerdAgainTimer
settimer jaseowns_HerdAgainTimer jaseowns_HerdAgainTimerCD
endif
if not varexist jaseowns_LastFocusAggressionTarget or timer jaseowns_HerdAgainTimer >= jaseowns_HerdAgainTimerCD
@setvar! jaseowns_LastFocusAggressionTarget 0
endif
if targetexists 'harmful'
hotkey "Cancel Current Target"
endif
##############
#### Target Line of sight check
##########
if myKillTarget != 0 and find myKillTarget ground -1 -1 12
@setvar jaseowns_KillTarget myKillTarget
if jaseowns_KillTarget != jaseowns_LastFocusAggressionTarget
# TODO: maybe change to be based on your summon and not just pet
if varexist jaseowns_PetOne and find jaseowns_PetOne ground -1 -1 12
overhead "� Guarding �" 88 jaseowns_PetOne
menu jaseowns_PetOne 3
endif
if timer jaseowns_SkillTimerCheck >= jaseowns_SkillTimerCD
settimer jaseowns_SystemMsgCheck 0
while timer jaseowns_SystemMsgCheck <= jaseowns_SystemMsgCheckCD
if targetexists 'beneficial'
hotkey "Cancel Current Target"
elseif not targetexists 'neutral'
overhead "� � Attempting Kill � �" 88 jaseowns_KillTarget
useskill "ArmsLore"
wft 500
else
break
endif
endwhile
if targetexists 'neutral'
target jaseowns_KillTarget
settimer jaseowns_SystemMsgCheck 0
while timer jaseowns_SystemMsgCheck <= jaseowns_SystemMsgCheckCD
if insysmsg "You cannot inspect that."
if followers > 0
while not targetexists "harmful"
say "ALL KILL" 88
wft 500
endwhile
if targetexists "harmful"
target jaseowns_KillTarget
@setvar! lastCannotBeSeen 0
@setvar! jaseowns_LastFocusAggressionTarget jaseowns_KillTarget
settimer jaseowns_HerdAgainTimer 0
@setvar! jaseowns_DiscordThisTarget jaseowns_KillTarget
break
endif
else
target jaseowns_KillTarget
@setvar! lastCannotBeSeen 0
@setvar! jaseowns_LastFocusAggressionTarget jaseowns_KillTarget
settimer jaseowns_HerdAgainTimer 0
@setvar! jaseowns_DiscordThisTarget jaseowns_KillTarget
break
endif
elseif insysmsg "Target cannot be seen"
# overhead "Cannot be seen inside the arms lore check"
# sysmsg "Cannot be seen inside the arms lore check"
@setvar! lastCannotBeSeen myKillTarget
else
# overhead "some other reason" 11
# sysmsg "some other reason" 11
# @setvar! lastCannotBeSeen myKillTarget
endif
endwhile
endif
endif
endif
endif
if diffhits >= hpCheckToTriggerGreaterHealSpell and mana > 12
while not targetexists beneficial
if diffhits >= hpCheckToTriggerMiniEmergencyHealSpell
cast 'Heal'
else
cast 'Greater Heal'
endif
wait 50
if hp = maxhp
hotkey '> Interrupt'
break
endif
endwhile
if targetexists beneficial
hotkey "Target Self"
endif
elseif castArchProtection = 1 and not findbuff "protection" and followers >= 4
while not targetexists
cast 'Arch Protection'
wait 50
if diffhits >= hpCheckToTriggerGreaterHealSpell
hotkey '> Interrupt'
break
endif
endwhile
if targetexists
target self
endif
elseif castBless = 1 and str <= 100 and followers >= 4
while not targetexists beneficial
cast 'Bless'
wait 50
if diffhits >= hpCheckToTriggerGreaterHealSpell
hotkey '> Interrupt'
break
endif
endwhile
if targetexists beneficial
target self
endif
endif
if not listexists myCursedTargets
createlist myCursedTargets
endif
if not listexists myManaDrainTargets
createlist myManaDrainTargets
endif
if not listexists myManaVampireTargets
createlist myManaVampireTargets
endif
if not varexist lastCannotBeSeenLoopIndex
@setvar! lastCannotBeSeenLoopIndex 0
endif
if lastCannotBeSeen = myKillTarget
if timer preventOverheadSpamTimer >= cdPreventOverheadSpam
overhead "Target not seen, waiting.." 34
settimer preventOverheadSpamTimer 0
endif
wait 200
replay
# //overhead "{{lastCannotBeSeenLoopIndex}} : {{retryBasedOnTargetNotSeenTimer}}"
# if lastCannotBeSeenLoopIndex = 0
# @setvar! lastCannotBeSeenLoopIndex 1
# endif
# if timer retryBasedOnTargetNotSeenTimer >= cdRetryBasedOnTargetNotSeen
# settimer retryBasedOnTargetNotSeenTimer 0
# @setvar! lastCannotBeSeen 0
# else
# replay
# endif
elseif find myKillTarget -1 -1 12 as killy
if myKillTarget = myPreviousKillTarget
// do nothing
else
if inlist myManaVampireTargets myKillTarget
overhead "We already mana vampired this guy" 88
// do nothing
elseif castManaVampire = 0
// do nothing
elseif followers >= 4 and mana >= manaReserve
while not targetexists harmful
if dead myKillTarget
hotkey '> Interrupt'
break
elseif diffhits < 30
cast 'mana vampire'
wait 50
elseif diffhits >= hpCheckToTriggerGreaterHealSpell or dead myKillTarget
hotkey '> Interrupt'
break
endif
endwhile
if targetexists harmful
target myKillTarget
pushlist myManaVampireTargets myKillTarget
settimer killTargetTimer 0
wait 500
if insysmsg "Target cannot be seen."
@setvar! lastCannotBeSeen myKillTarget
overhead "CANNOT BE SEEN MOVE TO NEXT TARGET" 34
replay
endif
endif
if targetexists harmful
hotkey "Cancel current target"
endif
endif
if inlist myManaDrainTargets myKillTarget
overhead "We already mana drained this guy" 88
// do nothing
elseif castManadrain = 0
// do nothing
elseif followers >= 4 and mana >= manaReserve
while not targetexists harmful
if dead myKillTarget
hotkey '> Interrupt'
break
elseif diffhits < 30
cast 'mana drain'
wait 50
elseif diffhits >= hpCheckToTriggerGreaterHealSpell or dead myKillTarget
hotkey '> Interrupt'
break
endif
endwhile
if targetexists harmful
target myKillTarget
pushlist myManaDrainTargets myKillTarget
settimer killTargetTimer 0
wait 500
if insysmsg "Target cannot be seen."
@setvar! lastCannotBeSeen myKillTarget
overhead "CANNOT BE SEEN MOVE TO NEXT TARGET" 34
replay
endif
endif
if targetexists harmful
hotkey "Cancel current target"
endif
endif
if inlist myCursedTargets myKillTarget
overhead "We already cursed this guy" 88
// do nothing
elseif castCurse = 0
// do nothing
elseif followers >= 4 and mana >= manaReserve
while not targetexists harmful and not dead myKillTarget
if diffhits < 30
cast 'Curse'
wait 50
elseif diffhits >= hpCheckToTriggerGreaterHealSpell
hotkey '> Interrupt'
break
endif
endwhile
if targetexists harmful
target myKillTarget
pushlist myCursedTargets myKillTarget
settimer killTargetTimer 0
wait 500
if insysmsg "Target cannot be seen."
@setvar! lastCannotBeSeen myKillTarget
overhead "CANNOT BE SEEN MOVE TO NEXT TARGET" 34
replay
endif
else
hotkey '> Interrupt'
endif
if targetexists harmful
hotkey "Cancel current target"
endif
endif
@setvar myPreviousKillTarget myKillTarget
endif
else
overhead "Out of range" 34
endif
clearsysmsg
if followers > 0
say "all guard"
endif
@setvar! isLethalPoison 0
if skill "Peacemaking" >= 50
@setvar! isPeaced 0
else
@setvar! isPeaced 1
endif
if skill "Discordance" >= 50
@setvar! isDiscorded 0
else
@setvar! isDiscorded 1
endif
while not dead myKillTarget and find myKillTarget -1 -1 12 as killy
if skill "Veterinary" >= 50 and timer vetKitTimer >= vetKitTimerCD
if not bandaging and findtype 25750 backpack as item
dclick item
wait 200
endif
settimer vetKitTimer 0
endif
for 5
if findbuff "bleed" or findbuff "disease"
if timer cleansingBrewTimer >= cdCleansingBrew and findtype 50675 backpack 2935 as jrew
dclick jrew
wait minimumWaitForPing
settimer cleansingBrewTimer 0
endif
endif
// lost a follower
if followers < breakSpellCastAndResummonIfLessThanXFollowers
replay
endif
if weight >= maxweight and not findbuff "strength" and automaticallyDrinkStrPotIfOverWeight = 1 and findtype "white potion" backpack as pot
dclick pot
wait 200
endif
if dead myKillTarget
break
elseif insysmsg "Target cannot be seen."
@setvar! lastCannotBeSeen myKillTarget
overhead "CANNOT BE SEEN MOVE TO NEXT TARGET" 34
replay
elseif find myKillTarget -1 -1 12 as killy
// do nothing - in range to kill
else
break
endif
if gumpexists 622436516 and skill "Necromancy" >= 50
if ingump "12/" 622436516
@setvar! necroSymbols 12
elseif ingump "13/" 622436516
@setvar! necroSymbols 13
elseif ingump "14/" 622436516
@setvar! necroSymbols 14
elseif ingump "15/" 622436516
@setvar! necroSymbols 15
elseif ingump "16/" 622436516
@setvar! necroSymbols 16
elseif ingump "17/" 622436516
@setvar! necroSymbols 17
elseif ingump "18/" 622436516
@setvar! necroSymbols 18
elseif ingump "19/" 622436516
@setvar! necroSymbols 19
elseif ingump "20/" 622436516
@setvar! necroSymbols 20
elseif ingump "21/" 622436516
@setvar! necroSymbols 21
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 jaseowns_SkillTimerCheck >= 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 jaseowns_SkillTimerCheck 5000
endif
endif
if not findbuff "song of discordance" and timer jaseowns_SkillTimerCheck >= 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 jaseowns_SkillTimerCheck 0
endif
endif
if skill "Peacemaking" >= 50
if isPeaced = 0
getlabel myKillTarget peaceDesc
if "pacified" in peaceDesc
@setvar! isPeaced 1
elseif timer jaseowns_SkillTimerCheck >= 11000
useskill 'Peacemaking'
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! isPeaced 1
endif
wft 500
endif
if targetexists
target myKillTarget
overhead "Peacemaed" 88 myKillTarget
endif
settimer jaseowns_SkillTimerCheck 5000
endif
endif
if not findbuff "song of peacemaking" and timer jaseowns_SkillTimerCheck >= 11000
useskill 'Peacemaking'
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! isPeaced 1
endif
wft 500
endif
target backpack
settimer jaseowns_SkillTimerCheck 0
endif
endif
if castMagicShield = 1 and timer magicShieldTimer >= cdMagicShield and not findbuff "Magic Reflection"
if mana >= manaReserve
cast "Magic Reflection"
wait 1000
endif
elseif automaticallyDrinkMagicPot = 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"
if mana >= manaReserve
cast "Reactive Armor"
wait 200
endif
endif
if findbuff "Reactive Armor"
settimer reactiveArmorTimer 0
endif
if skill "poisoning" >= 100 or castPoisonAnyway = 1
if timer jaseowns_SkillTimerCheck >= cdMeditationMini and mana >= manaReserve
if castMindRot = 1 and timer preventSpamNecroAbilitiesTimer >= cdPreventSpamNecroAbilities and timer mindRotTimer >= cdMindRot and skill "Necromancy" >= 75 and 3 < necroSymbols
yell "[MindRot"
settimer preventSpamNecroAbilitiesTimer 0
settimer mindRotTimer 0
wait 500
if gumpexists 622436516
if ingump "12/" 622436516
@setvar! necroSymbols 12
elseif ingump "13/" 622436516
@setvar! necroSymbols 13
elseif ingump "14/" 622436516
@setvar! necroSymbols 14
elseif ingump "15/" 622436516
@setvar! necroSymbols 15
elseif ingump "16/" 622436516
@setvar! necroSymbols 16
elseif ingump "17/" 622436516
@setvar! necroSymbols 17
elseif ingump "18/" 622436516
@setvar! necroSymbols 18
elseif ingump "19/" 622436516
@setvar! necroSymbols 19
elseif ingump "20/" 622436516
@setvar! necroSymbols 20
elseif ingump "21/" 622436516
@setvar! necroSymbols 21
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
getlabel myKillTarget desc2
overhead desc2
if castPoisonStrike = 1 and timer preventSpamNecroAbilitiesTimer >= cdPreventSpamNecroAbilities and timer poisonStrikeTimer >= cdPoisonStrike and skill "Necromancy" >= 55 and 1 < necroSymbols
if "Ticks" in desc2
if "[8" in desc2 or "[7" in desc2 or "[6" in desc2 or "[5" in desc2 or "[4" in desc2 or "[3" in desc2 or "[2" in desc2 or "[1 " in desc2
yell "[PoisonStrike"
wft 500
target myKillTarget
wait 200
settimer preventSpamNecroAbilitiesTimer 0
settimer poisonStrikeTimer 0
wait 500
if gumpexists 622436516
if ingump "12/" 622436516
@setvar! necroSymbols 12
elseif ingump "13/" 622436516
@setvar! necroSymbols 13
elseif ingump "14/" 622436516
@setvar! necroSymbols 14
elseif ingump "15/" 622436516
@setvar! necroSymbols 15
elseif ingump "16/" 622436516
@setvar! necroSymbols 16
elseif ingump "17/" 622436516
@setvar! necroSymbols 17
elseif ingump "18/" 622436516
@setvar! necroSymbols 18
elseif ingump "19/" 622436516
@setvar! necroSymbols 19
elseif ingump "20/" 622436516
@setvar! necroSymbols 20
elseif ingump "21/" 622436516
@setvar! necroSymbols 21
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
endif
endif
if isLethalPoison = 0
if diffmana >= 30 and timer magicMushroomTimer >= cdMushroom and findtype "mushroom" backpack as mushy
overhead "Eating shrooms" 66
dclick mushy
@setvar! jase_shrooms mushy
wait 200
if insysmsg "You consume a magic mushroom and restore some mana."
settimer magicMushroomTimer 0
elseif insysmsg "before you may consume another magic mushroom" or insysmsg "been in combat with another"
settimer magicMushroomTimer 30000
endif
endif
if insysmsg "Target cannot be seen."
@setvar! lastCannotBeSeen myKillTarget
overhead "CANNOT BE SEEN MOVE TO NEXT TARGET" 34
replay
endif
// 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 >= hpCheckToTriggerGreaterHealSpell
// need a heal
break
elseif mana >= 9
while not targetexists harmful
cast 'poison'
wait 50
if dead myKillTarget
hotkey '> Interrupt'
replay
endif
endwhile
target myKillTarget
wait 200
if insysmsg "Target cannot be seen."
@setvar! lastCannotBeSeen myKillTarget
overhead "CANNOT BE SEEN MOVE TO NEXT TARGET" 34
@setvar! isLethalPoison 1
endif
else
wait 200
endif
endif
endif
endif
if castCorpseSkin = 1 and timer preventSpamNecroAbilitiesTimer >= cdPreventSpamNecroAbilities and timer corpseSkinTimer >= cdCorpseSkin and skill "Necromancy" >= 65 and timer jaseowns_SkillTimerCheck >= cdMeditationMini and 2 < necroSymbols and mana >= manaReserve
yell "[CorpseSkin"
settimer preventSpamNecroAbilitiesTimer 0
settimer corpseSkinTimer 0
cooldown CorpseSkin cdCorpseSkin
wait 500
if gumpexists 622436516
if ingump "12/" 622436516
@setvar! necroSymbols 12
elseif ingump "13/" 622436516
@setvar! necroSymbols 13
elseif ingump "14/" 622436516
@setvar! necroSymbols 14
elseif ingump "15/" 622436516
@setvar! necroSymbols 15
elseif ingump "16/" 622436516
@setvar! necroSymbols 16
elseif ingump "17/" 622436516
@setvar! necroSymbols 17
elseif ingump "18/" 622436516
@setvar! necroSymbols 18
elseif ingump "19/" 622436516
@setvar! necroSymbols 19
elseif ingump "20/" 622436516
@setvar! necroSymbols 20
elseif ingump "21/" 622436516
@setvar! necroSymbols 21
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 castBloodOath = 1 and timer preventSpamNecroAbilitiesTimer >= cdPreventSpamNecroAbilities and skill "Necromancy" >= 80 and timer bloodOathTimer >= cdBloodOath and 5 < necroSymbols and mana >= manaReserve
yell "[BloodOath"
settimer preventSpamNecroAbilitiesTimer 0
settimer bloodOathTimer 0
if gumpexists 622436516
if ingump "12/" 622436516
@setvar! necroSymbols 12
elseif ingump "13/" 622436516
@setvar! necroSymbols 13
elseif ingump "14/" 622436516
@setvar! necroSymbols 14
elseif ingump "15/" 622436516
@setvar! necroSymbols 15
elseif ingump "16/" 622436516
@setvar! necroSymbols 16
elseif ingump "17/" 622436516
@setvar! necroSymbols 17
elseif ingump "18/" 622436516
@setvar! necroSymbols 18
elseif ingump "19/" 622436516
@setvar! necroSymbols 19
elseif ingump "20/" 622436516
@setvar! necroSymbols 20
elseif ingump "21/" 622436516
@setvar! necroSymbols 21
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 castEvilOmen = 1 and timer preventSpamNecroAbilitiesTimer >= cdPreventSpamNecroAbilities and timer evilOmenTimer >= cdEvilOmen and skill "Necromancy" >= 60 and timer jaseowns_SkillTimerCheck >= cdMeditationMini and 2 < necroSymbols and mana >= manaReserve
yell "[EvilOmen"
settimer evilOmenTimer 0
settimer preventSpamNecroAbilitiesTimer 0
cooldown EvilOmen cdEvilOmen
wait 500
if gumpexists 622436516
if ingump "12/" 622436516
@setvar! necroSymbols 12
elseif ingump "13/" 622436516
@setvar! necroSymbols 13
elseif ingump "14/" 622436516
@setvar! necroSymbols 14
elseif ingump "15/" 622436516
@setvar! necroSymbols 15
elseif ingump "16/" 622436516
@setvar! necroSymbols 16
elseif ingump "17/" 622436516
@setvar! necroSymbols 17
elseif ingump "18/" 622436516
@setvar! necroSymbols 18
elseif ingump "19/" 622436516
@setvar! necroSymbols 19
elseif ingump "20/" 622436516
@setvar! necroSymbols 20
elseif ingump "21/" 622436516
@setvar! necroSymbols 21
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 preventSpamNecroAbilitiesTimer >= cdPreventSpamNecroAbilities and timer vampiricEmbraceTimer >= cdVampiricEmbrace and skill "Necromancy" >= 75 and timer jaseowns_SkillTimerCheck >= cdMeditationMini and 3 < necroSymbols and findtype 8198 ground -1 -1 4 as jorpse
yell "[VampiricEmbrace"
wft 500
target jorpse
settimer preventSpamNecroAbilitiesTimer 0
settimer vampiricEmbraceTimer 0
cooldown VampiricEmbrace cdVampiricEmbrace
wait 500
if gumpexists 622436516
if ingump "12/" 622436516
@setvar! necroSymbols 12
elseif ingump "13/" 622436516
@setvar! necroSymbols 13
elseif ingump "14/" 622436516
@setvar! necroSymbols 14
elseif ingump "15/" 622436516
@setvar! necroSymbols 15
elseif ingump "16/" 622436516
@setvar! necroSymbols 16
elseif ingump "17/" 622436516
@setvar! necroSymbols 17
elseif ingump "18/" 622436516
@setvar! necroSymbols 18
elseif ingump "19/" 622436516
@setvar! necroSymbols 19
elseif ingump "20/" 622436516
@setvar! necroSymbols 20
elseif ingump "21/" 622436516
@setvar! necroSymbols 21
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 preventSpamNecroAbilitiesTimer >= cdPreventSpamNecroAbilities and timer painSpikeTimer >= cdPainSpike and skill "Necromancy" >= 95 and timer jaseowns_SkillTimerCheck >= cdMeditationMini and 5 < necroSymbols and findtype 8198 ground -1 -1 6 as jorpse
yell "[PainSpike"
wft 500
target myKillTarget
wait 200
settimer preventSpamNecroAbilitiesTimer 0
if insysmsg "You do not see any corpses"
// do nothing
else
settimer painSpikeTimer 0
cooldown PainSpike cdPainSpike
endif
if gumpexists 622436516
if ingump "12/" 622436516
@setvar! necroSymbols 12
elseif ingump "13/" 622436516
@setvar! necroSymbols 13
elseif ingump "14/" 622436516
@setvar! necroSymbols 14
elseif ingump "15/" 622436516
@setvar! necroSymbols 15
elseif ingump "16/" 622436516
@setvar! necroSymbols 16
elseif ingump "17/" 622436516
@setvar! necroSymbols 17
elseif ingump "18/" 622436516
@setvar! necroSymbols 18
elseif ingump "19/" 622436516
@setvar! necroSymbols 19
elseif ingump "20/" 622436516
@setvar! necroSymbols 20
elseif ingump "21/" 622436516
@setvar! necroSymbols 21
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 diffhits >= hpCheckToTriggerHealPotion
if findtype "Yellow Potion" backpack as pot
getlabel pot desc
if "next usable" in desc
// do nothing
else
dclick pot
wait 500
endif
endif
endif
if diffhits >= hpCheckToTriggerGreaterHealSpell and mana >= 12
while not targetexists beneficial
if diffhits >= hpCheckToTriggerMiniEmergencyHealSpell
cast 'Heal'
else
cast 'Greater Heal'
endif
wait 50
if hp = maxhp
hotkey '> Interrupt'
break
endif
endwhile
if targetexists beneficial
hotkey "Target Self"
wait 50
endif
endif
if poisoned
if automaticallyDrinkCurePot = 1 and diffhits >= hpCheckToTriggerCurePotion and findtype "Orange Potion" backpack as pot
dclick pot
wait 200
endif
while not targetexists beneficial
if not poisoned
hotkey '> Interrupt'
break
else
cast 'Cure'
wait 50
endif
endwhile
if targetexists beneficial
hotkey "Target Self"
wait 500
endif
endif
if diffmana >= 30 and timer magicMushroomTimer >= cdMushroom and findtype "mushroom" backpack as mushy
overhead "Eating shrooms" 66
dclick mushy
@setvar! jase_shrooms mushy
wait 200
if insysmsg "You consume a magic mushroom and restore some mana."
settimer magicMushroomTimer 0
elseif insysmsg "before you may consume another magic mushroom" or insysmsg "been in combat with another"
settimer magicMushroomTimer 30000
endif
endif
if index = 0
if castLightning = 1 and diffhits < 30 and mana >= 12 and timer lightningTimer >= cdLightning and timer jaseowns_SkillTimerCheck >= cdMeditationMini and mana >= manaReserve
while not targetexists harmful
if followers < breakSpellCastAndResummonIfLessThanXFollowers or dead myKillTarget or diffhits >= hpCheckToTriggerGreaterHealSpell
hotkey '> Interrupt'
break
else
cast 'Lightning'
wait 50
endif
endwhile
if targetexists harmful
target myKillTarget
settimer lightningTimer 0
cooldown Lightning cdLightning
wait 500
endif
endif
elseif index = 1
if castMagicArrow = 1 and diffhits < 30 and mana >= 5 and timer magicArrowTimer >= cdMagicArrow and timer jaseowns_SkillTimerCheck >= cdMeditationMini and mana >= manaReserve
while not targetexists harmful
if followers < breakSpellCastAndResummonIfLessThanXFollowers or dead myKillTarget or diffhits >= hpCheckToTriggerGreaterHealSpell
hotkey '> Interrupt'
break
else
cast 'magic arrow'
wait 50
endif
endwhile
if targetexists harmful
target myKillTarget
settimer magicArrowTimer 0
cooldown MagicArrow cdMagicArrow
wait 500
endif
endif
elseif index = 2
if castHarm = 1 and diffhits < 30 and mana >= 9 and timer harmTimer >= cdHarm and timer jaseowns_SkillTimerCheck >= cdMeditationMini and mana >= manaReserve
while not targetexists harmful
if followers < breakSpellCastAndResummonIfLessThanXFollowers or dead myKillTarget or diffhits >= hpCheckToTriggerGreaterHealSpell
hotkey '> Interrupt'
break
else
cast 'harm'
wait 50
endif
endwhile
if targetexists harmful
target myKillTarget
settimer harmTimer 0
cooldown Harm cdHarm
wait 500
endif
endif
elseif index = 3
if castFireball = 1 and diffhits < 30 and mana >= 12 and timer fireballTimer >= cdFireball and timer jaseowns_SkillTimerCheck >= cdMeditationMini and mana >= manaReserve
while not targetexists harmful
if followers < breakSpellCastAndResummonIfLessThanXFollowers or dead myKillTarget or diffhits >= hpCheckToTriggerGreaterHealSpell
hotkey '> Interrupt'
break
else
cast 'fireball'
wait 50
endif
endwhile
if targetexists harmful
target myKillTarget
settimer fireballTimer 0
cooldown Fireball cdFireball
wait 500
endif
endif
endif
if tamerModeEngaged = 1
if find jaseTankPet ground -1 -1 8 and dead jaseTankPet
settimer autoHealTamerPet cdAutoHealTamerPet
endif
if timer autoHealTamerPet >= cdAutoHealTamerPet
if targetexists
hotkey "Cancel Current Target"
endif
if not dead jaseTankPet and find jaseTankPet ground -1 -1 12
while not targetexists beneficial
hotkey 'Greater Heal'
wft 200
endwhile
elseif mana >= 50 and find jaseTankPet ground -1 -1 4
while not targetexists beneficial
hotkey 'Resurrection'
wft 200
if diffhits >= hpCheckToTriggerGreaterHealSpell
break
endif
endwhile
if targetexists beneficial
target jaseTankPet
endif
while not targetexists beneficial and mana >= 12
hotkey 'Greater Heal'
wft 200
if diffhits >= hpCheckToTriggerGreaterHealSpell
break
endif
endwhile
endif
if targetexists beneficial
target jaseTankPet
settimer autoHealTamerPet 0
cooldown AutoPetHeal cdAutoHealTamerPet
endif
endif
endif
endfor
if find myKillTarget -1 -1 12 as killy
// do nothing
else
overhead "Out of range" 34
break
endif
if diffhits >= hpCheckToTriggerGreaterHealSpell
if diffhits >= hpCheckToTriggerHealPotion and findtype "Yellow Potion" backpack as pot
getlabel pot desc
if "next usable" in desc
// do nothing
else
dclick pot
wait 500
endif
endif
if diffhits >= hpCheckToTriggerGreaterHealSpell and mana >= 12
while not targetexists beneficial
if diffhits >= hpCheckToTriggerMiniEmergencyHealSpell
cast 'Heal'
else
cast 'Greater Heal'
endif
wait 50
if hp = maxhp
hotkey '> Interrupt'
break
endif
endwhile
if targetexists beneficial
hotkey "Target Self"
wait 50
endif
endif
elseif mana < 55 and findbuff "actively meditating"
// wait for mana
elseif timer jaseowns_SkillTimerCheck < cdMeditationMini and findbuff "actively meditating"
// wait for mana
elseif castChainLightning = 1 and timer chainLightningTimer >= cdChainLightning
while not targetexists and mana > 40 and mana >= manaReserve
if diffmana >= 30 and timer magicMushroomTimer >= cdMushroom and findtype "mushroom" backpack as mushy
overhead "Eating shrooms" 66
dclick mushy
@setvar! jase_shrooms mushy
wait 200
if insysmsg "You consume a magic mushroom and restore some mana."
settimer magicMushroomTimer 0
elseif insysmsg "before you may consume another magic mushroom" or insysmsg "been in combat with another"
settimer magicMushroomTimer 30000
endif
endif
if followers < breakSpellCastAndResummonIfLessThanXFollowers or dead myKillTarget or diffhits >= hpCheckToTriggerGreaterHealSpell
hotkey '> Interrupt'
break
else
cast 'Chain Lightning'
wait 50
endif
endwhile
if targetexists
target myKillTarget
wait 500
if insysmsg "Target cannot be seen."
@setvar! lastCannotBeSeen myKillTarget
overhead "CANNOT BE SEEN MOVE TO NEXT TARGET" 34
replay
endif
settimer chainLightningTimer 0
cooldown ChainLightning cdChainLightning
endif
elseif castEbolt = 1 and mana >= 32 and mana >= manaReserve
while not targetexists harmful and mana > 30 and mana >= manaReserve
if diffmana >= 30 and timer magicMushroomTimer >= cdMushroom and findtype "mushroom" backpack as mushy
overhead "Eating shrooms" 66
dclick mushy
@setvar! jase_shrooms mushy
wait 200
if insysmsg "You consume a magic mushroom and restore some mana."
settimer magicMushroomTimer 0
elseif insysmsg "before you may consume another magic mushroom" or insysmsg "been in combat with another"
settimer magicMushroomTimer 30000
endif
endif
if followers < breakSpellCastAndResummonIfLessThanXFollowers or dead myKillTarget or diffhits >= hpCheckToTriggerGreaterHealSpell
hotkey '> Interrupt'
break
else
cast 'Energy Bolt'
wait 50
endif
endwhile
if targetexists harmful
target myKillTarget
wait 500
if insysmsg "Target cannot be seen."
@setvar! lastCannotBeSeen myKillTarget
overhead "CANNOT BE SEEN MOVE TO NEXT TARGET" 34
replay
endif
endif
if castMindBlast = 1 and mana >= 32 and mana >= manaReserve
while not targetexists harmful and mana > 30
if diffmana >= 30 and timer magicMushroomTimer >= cdMushroom and findtype "mushroom" backpack as mushy
overhead "Eating shrooms" 66
dclick mushy
@setvar! jase_shrooms mushy
wait 200
if insysmsg "You consume a magic mushroom and restore some mana."
settimer magicMushroomTimer 0
elseif insysmsg "before you may consume another magic mushroom" or insysmsg "been in combat with another"
settimer magicMushroomTimer 30000
endif
endif
if followers < breakSpellCastAndResummonIfLessThanXFollowers or dead myKillTarget or diffhits >= hpCheckToTriggerGreaterHealSpell
hotkey '> Interrupt'
break
else
cast 'Mind Blast'
wait 50
endif
endwhile
if targetexists harmful
target myKillTarget
wait 500
if insysmsg "Target cannot be seen."
@setvar! lastCannotBeSeen myKillTarget
overhead "CANNOT BE SEEN MOVE TO NEXT TARGET" 34
replay
endif
endif
endif
if castFlamestrike = 1 and mana > 42 and mana >= manaReserve
while not targetexists harmful and mana > 40
if diffmana >= 30 and timer magicMushroomTimer >= cdMushroom and findtype "mushroom" backpack as mushy
overhead "Eating shrooms" 66
dclick mushy
@setvar! jase_shrooms mushy
wait 200
if insysmsg "You consume a magic mushroom and restore some mana."
settimer magicMushroomTimer 0
elseif insysmsg "before you may consume another magic mushroom" or insysmsg "been in combat with another"
settimer magicMushroomTimer 30000
endif
endif
if followers < breakSpellCastAndResummonIfLessThanXFollowers or dead myKillTarget or diffhits >= hpCheckToTriggerGreaterHealSpell
hotkey '> Interrupt'
break
else
cast 'Flamestrike'
wait 50
endif
endwhile
if targetexists harmful
target myKillTarget
wait 500
if insysmsg "Target cannot be seen."
@setvar! lastCannotBeSeen myKillTarget
overhead "CANNOT BE SEEN MOVE TO NEXT TARGET" 34
replay
endif
endif
endif
elseif castMindBlast = 1 and mana >= 32 and mana >= manaReserve
while not targetexists harmful and mana > 30
if diffmana >= 30 and timer magicMushroomTimer >= cdMushroom and findtype "mushroom" backpack as mushy
overhead "Eating shrooms" 66
dclick mushy
@setvar! jase_shrooms mushy
wait 200
if insysmsg "You consume a magic mushroom and restore some mana."
settimer magicMushroomTimer 0
elseif insysmsg "before you may consume another magic mushroom" or insysmsg "been in combat with another"
settimer magicMushroomTimer 30000
endif
endif
if followers < breakSpellCastAndResummonIfLessThanXFollowers or dead myKillTarget or diffhits >= hpCheckToTriggerGreaterHealSpell
hotkey '> Interrupt'
break
else
cast 'Mind Blast'
wait 50
endif
endwhile
if targetexists harmful
target myKillTarget
wait 500
if insysmsg "Target cannot be seen."
@setvar! lastCannotBeSeen myKillTarget
overhead "CANNOT BE SEEN MOVE TO NEXT TARGET" 34
replay
endif
endif
if castFlamestrike = 1 and mana > 42 and mana >= manaReserve
while not targetexists harmful and mana > 40
if diffmana >= 30 and timer magicMushroomTimer >= cdMushroom and findtype "mushroom" backpack as mushy
overhead "Eating shrooms" 66
dclick mushy
@setvar! jase_shrooms mushy
wait 200
if insysmsg "You consume a magic mushroom and restore some mana."
settimer magicMushroomTimer 0
elseif insysmsg "before you may consume another magic mushroom" or insysmsg "been in combat with another"
settimer magicMushroomTimer 30000
endif
endif
if followers < breakSpellCastAndResummonIfLessThanXFollowers or dead myKillTarget or diffhits >= hpCheckToTriggerGreaterHealSpell
hotkey '> Interrupt'
break
else
cast 'Flamestrike'
wait 50
endif
endwhile
if targetexists harmful
target myKillTarget
wait 500
if insysmsg "Target cannot be seen."
@setvar! lastCannotBeSeen myKillTarget
overhead "CANNOT BE SEEN MOVE TO NEXT TARGET" 34
replay
endif
endif
endif
elseif castFlamestrike = 1 and mana > 42 and mana >= manaReserve
while not targetexists harmful and mana > 40
if diffmana >= 30 and timer magicMushroomTimer >= cdMushroom and findtype "mushroom" backpack as mushy
overhead "Eating shrooms" 66
dclick mushy
@setvar! jase_shrooms mushy
wait 200
if insysmsg "You consume a magic mushroom and restore some mana."
settimer magicMushroomTimer 0
elseif insysmsg "before you may consume another magic mushroom" or insysmsg "been in combat with another"
settimer magicMushroomTimer 30000
endif
endif
if followers < breakSpellCastAndResummonIfLessThanXFollowers or dead myKillTarget or diffhits >= hpCheckToTriggerGreaterHealSpell
hotkey '> Interrupt'
break
else
cast 'Flamestrike'
wait 50
endif
endwhile
if targetexists harmful
target myKillTarget
wait 500
if insysmsg "Target cannot be seen."
@setvar! lastCannotBeSeen myKillTarget
overhead "CANNOT BE SEEN MOVE TO NEXT TARGET" 34
replay
endif
endif
elseif not findbuff "actively meditating" and timer magicMushroomTimer >= cdMushroom and findtype "mushroom" backpack as mushy
overhead "Eating shrooms" 66
dclick mushy
@setvar! jase_shrooms mushy
wait 200
if insysmsg "You consume a magic mushroom and restore some mana."
settimer magicMushroomTimer 0
elseif insysmsg "before you may consume another magic mushroom" or insysmsg "been in combat with another"
settimer magicMushroomTimer 30000
endif
elseif not findbuff "actively meditating" and timer jaseowns_SkillTimerCheck >= cdMeditation and isDiscorded = 1 and isPeaced = 1
if followers > 0
say "all guard me"
endif
useskill 'meditation'
settimer jaseowns_SkillTimerCheck 0
wait 500
endif
wait 50
endwhile
wait 500
if targetexists
hotkey 'Cancel Current Target'
endif
if not findbuff "actively meditating"
if automaticallySkinCorpses = 1 and findtype "corpse" ground -1 -1 2 as jorpse
if findtype "Elven Spellblade" backpack
while not targetexists neutral
useskill 'forensicevaluation'
endwhile
if targetexists neutral
hotkey "Target Self"
wait minimumWaitForPing
@ignore jorpse
endif
endif
endif
if followers > 0
say "all guard me"
endif
endif
while mana < minimumManaToCast
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 >= hpCheckToTriggerGreaterHealSpell
if diffhits >= hpCheckToTriggerHealPotion and findtype "Yellow Potion" backpack as pot
getlabel pot desc
if "next usable" in desc
// do nothing
else
dclick pot
wait 650
endif
endif
if diffhits >= hpCheckToTriggerGreaterHealSpell and mana >= 12
while not targetexists beneficial
if diffhits >= hpCheckToTriggerMiniEmergencyHealSpell
cast 'Heal'
else
cast 'Greater Heal'
endif
wait 50
if hp = maxhp
hotkey '> Interrupt'
break
endif
endwhile
if targetexists beneficial
hotkey "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 < butOnlyIHaveLessThenThisCount
if mana >= manaReserve
while counttype "mushroom" backpack < makeThisManyMushroomsCount
cast "Create Food"
wait 200
if diffhits >= 20 or counttype "mushroom" backpack = 0
break
endif
endwhile
endif
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 castSummonEarthElementalCount = 1 or castSummonFireElementalCount = 1 or castSummonDemonCount = 1 or castSummonAirCount = 1 or castSummonWaterCount = 1
useskill "spiritspeak"
settimer jaseowns_SkillTimerCheck 8000
endif
if timer killTargetTimer >= cdKillTarget
overhead "We cleared curse and mana drain targets" 34
removelist myCursedTargets
removelist myManaDrainTargets
removelist myManaVampireTargets
endif
if autoBotEnabled = 1
replay
endif
// other ways to handle line of sight:
// animal lore
// You cannot see that from here.
// casting a spell
// Target cannot be seen.
// thanks for using a Jaseowns script!
// https://www.youtube.com/jaseowns
// https://jaseowns.com/discord
// We did itCheck out https://outlands.uorazorscripts.com/mage-bot for additional details about this script. A premium one is available for channel supporters in the Jaseowns Discord.