Back to "mage bot" tags

Mod: Mage Bot v10.1.0 by Daklue Herding spamable by daklue

Description: Mod: Mage Bot v10.1.0 by Daklue Herding spamable

# One hotkey mage cycle, nox, poison by Jaseowns # UO Outlands - https://outlands.uorazorscripts.com/mage-bot # # Version: v10.1.0 # # // 8/18/2023 // - add new target system - nearest/ next # ################## ## 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 // 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 2 # after a kill you must have this amount of mana to continue to next target @setvar! minimumManaToCast 55 # 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 0 # Earth: 0, 1, 2 @setvar! castSummonEarthElementalCount 0 @setvar! castSummonMummyCount 1 # Fire: 0, 1, 2 @setvar! castSummonFireElementalCount 0 @setvar! castSummonLichCount 1 # 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 ############### ### Choose your spells ###### @setvar! castCurse 1 @setvar! castManadrain 0 @setvar! castManaVampire 0 @setvar! castLightning 1 @setvar! castChainLightning 0 @setvar! castFireball 1 @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 1 @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 20000 @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 @setvar! cdHerdingTimer 4000 #### 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 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 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 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 // 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 // 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 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 poisonStrikeTimer createtimer poisonStrikeTimer settimer poisonStrikeTimer cdPoisonStrike endif if not timerexists preventOverheadSpamTimer createtimer preventOverheadSpamTimer settimer preventOverheadSpamTimer cdPreventOverheadSpam endif if not timerexists HerdTimer createtimer HerdTimer settimer HerdTimer cdHerdingTimer 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 < 4 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 < 4 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 < 4 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 < 4 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 < 4 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 < 4 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 < 4 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 < 4 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 < 4 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 < 4 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 < 4 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 elseif skill "herding" > 0 // guard menu myFreshlySummonedPet 4 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 say "all kill" wait 200 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 10 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 if skill "Herding" > 0 menu myPatrolPet 3 else menu myPatrolPet 2 endif 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 if skill "Herding" > 0 menu myPatrolPet 3 else menu myPatrolPet 2 endif 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 if tamerModeEngaged = 1 // jaseTankPet patrol maybe // overhead "We are a tamer" elseif find myEarthPet ground -1 -1 12 menu myEarthPet 2 wft 500 target myKillTarget wait 200 if insysmsg "Target cannot be seen." if lastCannotBeSeen = 0 @setvar! lastCannotBeSeen myKillTarget endif else @setvar! lastCannotBeSeen 0 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 //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 // Herding using crook if skill "Herding" > 0 and findtype 3713 backpack as jrook dclick jrook wft 500 target killy endif 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 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 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 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 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 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 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 say "all guard" @setvar! isLethalPoison 0 @setvar! isHerded 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 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 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 "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 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 skill "Peacemaking" >= 50 if isPeaced = 0 getlabel myKillTarget peaceDesc if "pacified" in peaceDesc @setvar! isPeaced 1 elseif timer meditiationTimer >= 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 meditiationTimer 5000 endif endif if not findbuff "song of peacemaking" and timer meditiationTimer >= 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 meditiationTimer 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 meditiationTimer >= 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 meditiationTimer >= 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 meditiationTimer >= 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 meditiationTimer >= 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 meditiationTimer >= 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 meditiationTimer >= cdMeditationMini and mana >= manaReserve while not targetexists harmful if followers < breakSpellCastAndResummonIfLessThanXFollowers or dead myKillTarget or diffhits >= hpCheckToTriggerGreaterHealSpell hotkey '> Interrupt' break else if skill "Herding" > 0 and timer HerdTimer >= cdHerdingTimer and timer meditiationTimer >= 11000 and findtype 3713 backpack as jrook dclick jrook wft 500 target myKillTarget settimer meditiationTimer 8000 settimer HerdTimer 0 cooldown Herding cdHerdingTimer endif 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 meditiationTimer >= cdMeditationMini and mana >= manaReserve while not targetexists harmful if followers < breakSpellCastAndResummonIfLessThanXFollowers or dead myKillTarget or diffhits >= hpCheckToTriggerGreaterHealSpell hotkey '> Interrupt' break else if skill "Herding" > 0 and timer HerdTimer >= cdHerdingTimer and timer meditiationTimer >= 11000 and findtype 3713 backpack as jrook dclick jrook wft 500 target myKillTarget settimer meditiationTimer 8000 settimer HerdTimer 0 cooldown Herding cdHerdingTimer endif 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 meditiationTimer >= cdMeditationMini and mana >= manaReserve while not targetexists harmful if followers < breakSpellCastAndResummonIfLessThanXFollowers or dead myKillTarget or diffhits >= hpCheckToTriggerGreaterHealSpell hotkey '> Interrupt' break else if skill "Herding" > 0 and timer HerdTimer >= cdHerdingTimer and timer meditiationTimer >= 11000 and findtype 3713 backpack as jrook dclick jrook wft 500 target myKillTarget settimer meditiationTimer 8000 settimer HerdTimer 0 cooldown Herding cdHerdingTimer endif 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 meditiationTimer >= cdMeditationMini and mana >= manaReserve while not targetexists harmful if followers < breakSpellCastAndResummonIfLessThanXFollowers or dead myKillTarget or diffhits >= hpCheckToTriggerGreaterHealSpell hotkey '> Interrupt' break else if skill "Herding" > 0 and timer HerdTimer >= cdHerdingTimer and timer meditiationTimer >= 11000 and findtype 3713 backpack as jrook dclick jrook wft 500 target myKillTarget settimer meditiationTimer 8000 settimer HerdTimer 0 cooldown Herding cdHerdingTimer endif 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 timer autoHealTamerPet >= cdAutoHealTamerPet if not dead jaseTankPet while not targetexists beneficial hotkey 'Greater Heal' wft 200 endwhile else while not targetexists beneficial hotkey 'Resurrection' wft 200 if diffhits >= hpCheckToTriggerGreaterHealSpell break endif endwhile if targetexists beneficial target jaseTankPet endif while not targetexists beneficial hotkey 'Greater Heal' wft 200 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 meditiationTimer < 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 if skill "Herding" > 0 and timer HerdTimer >= cdHerdingTimer and timer meditiationTimer >= 11000 and findtype 3713 backpack as jrook dclick jrook wft 500 target myKillTarget settimer meditiationTimer 8000 settimer HerdTimer 0 cooldown Herding cdHerdingTimer endif 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 if skill "Herding" > 0 and timer HerdTimer >= cdHerdingTimer and timer meditiationTimer >= 11000 and findtype 3713 backpack as jrook dclick jrook wft 500 target myKillTarget settimer meditiationTimer 8000 settimer HerdTimer 0 cooldown Herding cdHerdingTimer endif 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 if skill "Herding" > 0 and timer HerdTimer >= cdHerdingTimer and timer meditiationTimer >= 11000 and findtype 3713 backpack as jrook dclick jrook wft 500 target myKillTarget settimer meditiationTimer 8000 settimer HerdTimer 0 cooldown Herding cdHerdingTimer endif 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 if skill "Herding" > 0 and timer HerdTimer >= cdHerdingTimer and timer meditiationTimer >= 11000 and findtype 3713 backpack as jrook dclick jrook wft 500 target myKillTarget settimer meditiationTimer 8000 settimer HerdTimer 0 cooldown Herding cdHerdingTimer endif 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 if skill "Herding" > 0 and timer HerdTimer >= cdHerdingTimer and timer meditiationTimer >= 11000 and findtype 3713 backpack as jrook dclick jrook wft 500 target myKillTarget settimer meditiationTimer 8000 settimer HerdTimer 0 cooldown Herding cdHerdingTimer endif 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 if skill "Herding" > 0 and timer HerdTimer >= cdHerdingTimer and timer meditiationTimer >= 11000 and findtype 3713 backpack as jrook dclick jrook wft 500 target myKillTarget settimer meditiationTimer 8000 settimer HerdTimer 0 cooldown Herding cdHerdingTimer endif 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 if skill "Herding" > 0 and timer HerdTimer >= cdHerdingTimer and timer meditiationTimer >= 11000 and findtype 3713 backpack as jrook dclick jrook wft 500 target myKillTarget settimer meditiationTimer 8000 settimer HerdTimer 0 cooldown Herding cdHerdingTimer endif 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 meditiationTimer >= cdMeditation and isDiscorded = 1 and isPeaced = 1 if followers > 0 say "all guard me" endif 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" 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 meditiationTimer 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