Ultimate Summoner Hotkey Choose Your Summons by Jaseowns

# 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 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 1 # Blade Spirit: 0, 1 @setvar! castBladeSpiritCount 0 @setvar! castSkeletalHuskCount 1 #### Pet Names, unique to you if not listexists petNameList createlist petNameList endif if list petNameList = 0 and renamePets = 1 pushlist petNameList "jaseneccy" pushlist petNameList "jaseyoutube" pushlist petNameList "jaseytfollow" pushlist petNameList "jaseytfollower" pushlist petNameList "jasesubscribed" pushlist petNameList "jaseoutlands" pushlist petNameList "uorazorscripts" pushlist petNameList "jaseyoutuber" pushlist petNameList "jasefunez" pushlist petNameList "jasetwitch" pushlist petNameList "jasesubscribe" pushlist petNameList "jasefueoz" 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' endwhile endif ############## ##### Items from the main loop.. just make sure they exist if not varexist cdPreventOverheadSpam @setvar! cdPreventOverheadSpam 2000 endif if not varexist cdMushroom @setvar! cdMushroom 60000 endif if not varexist cdMushroom @setvar! cdMushroom 60000 endif if not varexist cdVengefulSpirit @setvar! cdVengefulSpirit 31000 endif if not varexist cdWither @setvar! cdWither 31000 endif if not timerexists vengefulSpiritTimer settimer vengefulSpiritTimer cdVengefulSpirit endif if not timerexists witherTimer settimer witherTimer cdWither endif if not timerexists magicMushroomTimer settimer magicMushroomTimer cdMushroom endif if not timerexists preventOverheadSpamTimer settimer preventOverheadSpamTimer cdPreventOverheadSpam endif if not varexist hpCheckToTriggerGreaterHealSpell @setvar! hpCheckToTriggerGreaterHealSpell 35 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 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 overhead "Need a heal!" hotkey '> Interrupt' break 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 dead myMainTankPet overhead "Cannot find main tank pet" 34 else overhead "My main tank pet" 88 myMainTankPet endif