by Jaseowns UO Outlands This is part of the mage bot, but you can have it as its own hotkey
MagicMeditation
Ultimate Summoner Hotkey Choose Your Summons.razor
1# This is an automated backup - check out https://outlands.uorazorscripts.com/script/e402d90d-999e-42da-a51a-d6f21c12335e for latest2# Automation by Jaseowns3## Script: Ultimate Summoner Hotkey Choose Your Summons4## Created by: Jaseowns#66945#############################################6 7# Ultimate Summoner Hotkey Choose your summons by Jaseowns8# UO Outlands9# This is part of the mage bot, but you can have it10# as its own hotkey11 12###############13### Choose your summons14######15@setvar! breakSpellCastAndResummonIfLessThanXFollowers 416@setvar! renamePets 117 18# Earth: 0, 1, 219@setvar! castSummonEarthElementalCount 020@setvar! castSummonMummyCount 121 22# Fire: 0, 1, 223@setvar! castSummonFireElementalCount 024@setvar! castSummonLichCount 025 26# Demon: 0, 1, 227@setvar! castSummonDemonCount 028@setvar! castSummonThrallCount 029 30# Air: 0, 1, 231@setvar! castSummonAirCount 032@setvar! castSummonFiendCount 033 34# Water: 0, 1, 235@setvar! castSummonWaterCount 036@setvar! castSummonRagWitchCount 037 38# Creature: 0, 1, 2, 3, 4, 539@setvar! castSummonCreatureCount 040 41# Energy Vortex: 0, 142@setvar! castEnergyVortexCount 043@setvar! castJackalSpiritCount 144 45# Blade Spirit: 0, 146@setvar! castBladeSpiritCount 047@setvar! castSkeletalHuskCount 148 49 50#### Pet Names, unique to you51if not listexists petNameList52 createlist petNameList53endif54if list petNameList = 0 and renamePets = 155 pushlist petNameList "jaseneccy"56 pushlist petNameList "jaseyoutube"57 pushlist petNameList "jaseytfollow"58 pushlist petNameList "jaseytfollower"59 pushlist petNameList "jasesubscribed"60 pushlist petNameList "jaseoutlands"61 pushlist petNameList "uorazorscripts"62 pushlist petNameList "jaseyoutuber"63 pushlist petNameList "jasefunez"64 pushlist petNameList "jasetwitch"65 pushlist petNameList "jasesubscribe"66 pushlist petNameList "jasefueoz"67endif68 69if renamePets = 070 clearlist petNameList71endif72 73if castSummonFireElementalCount > 0 and castSummonLichCount > 074 overhead "I am not going to do that. Update lich/fire to one or the other." 3475 sysmsg "I am not going to do that. Update lich/fire to one or the other." 3476 wait 200077 replay78elseif castSummonEarthElementalCount > 0 and castSummonMummyCount > 079 overhead "I am not going to do that. Update earth/mummy to one or the other." 3480 sysmsg "I am not going to do that. Update earth/mummy to one or the other." 3481 wait 200082 replay83elseif castSummonDemonCount > 0 and castSummonThrallCount > 084 overhead "I am not going to do that. Update demon/thrall to one or the other." 3485 sysmsg "I am not going to do that. Update demon/thrall to one or the other." 3486 wait 200087 replay88elseif castSummonAirCount > 0 and castSummonFiendCount > 089 overhead "I am not going to do that. Update air/fiend to one or the other." 3490 sysmsg "I am not going to do that. Update air/fiend to one or the other." 3491 wait 200092 replay93elseif castSummonWaterCount > 0 and castSummonRagWitchCount > 094 overhead "I am not going to do that. Update water/witch to one or the other." 3495 sysmsg "I am not going to do that. Update water/witch to one or the other." 3496 wait 200097 replay98endif99 100if not gumpexists 622436516 and skill "Necromancy" >= 50101 say '[NecromancyHotbar'102 wait 500103endif104 105if not varexist myMainTankPet106 @setvar! myMainTankPet 0107endif108 109if not varexist fireOne110 @setvar! fireOne 0111endif112 113if not varexist fireTwo114 @setvar! fireTwo 0115endif116 117if not varexist earthOne118 @setvar! earthOne 0119endif120 121if not varexist earthTwo122 @setvar! earthTwo 0123endif124 125if not varexist demonOne126 @setvar! demonOne 0127endif128 129if not varexist demonTwo130 @setvar! demonTwo 0131endif132 133if not varexist airOne134 @setvar! airOne 0135endif136 137if not varexist airTwo138 @setvar! airTwo 0139endif140 141if not varexist waterOne142 @setvar! waterOne 0143endif144 145if not varexist waterTwo146 @setvar! waterTwo 0147endif148 149if not varexist evOne150 @setvar! evOne 0151endif152 153if not varexist bsOne154 @setvar! bsOne 0155endif156 157removelist summonList158createlist summonList159 160if followers = 0161 @setvar! followCount 0162elseif followers = 1163 @setvar! followCount 1164elseif followers = 2165 @setvar! followCount 2166elseif followers = 3167 @setvar! followCount 3168elseif followers = 4169 @setvar! followCount 4170elseif followers = 5171 @setvar! followCount 5172endif173 174if castSummonEarthElementalCount > 0 or castSummonMummyCount > 0175 if dead earthOne or not find earthOne ground -1 -1 18176 if followers < 4177 pushlist summonList "Earth Elemental"178 @setvar! earthOne 1179 endif180 endif181 if castSummonEarthElementalCount > 1 or castSummonMummyCount > 1182 if dead earthTwo or not find earthTwo ground -1 -1 18183 if followers < 4184 pushlist summonList "Earth Elemental"185 @setvar! earthTwo 1186 endif187 endif188 endif189endif190 191if castSummonFireElementalCount > 0 or castSummonLichCount > 0192 if dead fireOne or not find fireOne ground -1 -1 18193 if followers < 4194 pushlist summonList "Fire Elemental"195 @setvar! fireOne 1196 endif197 endif198 if castSummonFireElementalCount > 1 or castSummonLichCount > 1199 if dead fireTwo or not find fireTwo ground -1 -1 18200 if followers < 4201 pushlist summonList "Fire Elemental"202 @setvar! fireTwo 1203 endif204 endif205 endif206endif207 208if castSummonDemonCount > 0 or castSummonThrallCount > 0209 if dead demonOne or not find demonOne ground -1 -1 18210 if followers < 4211 pushlist summonList "Summon Daemon"212 @setvar! demonOne 1213 endif214 endif215 if castSummonDemonCount > 1 or castSummonThrallCount > 1216 if dead demonTwo or not find demonTwo ground -1 -1 18217 if followers < 4218 pushlist summonList "Summon Daemon"219 @setvar! demonTwo 1220 endif221 endif222 endif223endif224 225if castSummonAirCount > 0 or castSummonFiendCount > 0226 if dead airOne or not find airOne ground -1 -1 18227 if followers < 4228 pushlist summonList "Air Elemental"229 @setvar! airOne 1230 endif231 endif232 if castSummonAirCount > 1 or castSummonFiendCount > 1233 if dead airTwo or not find airTwo ground -1 -1 18234 if followers < 4235 pushlist summonList "Air Elemental"236 @setvar! airTwo 1237 endif238 endif239 endif240endif241 242if castSummonWaterCount > 0 or castSummonRagWitchCount > 0243 if dead waterOne or not find waterOne ground -1 -1 18244 if followers < 4245 pushlist summonList "Water Elemental"246 @setvar! waterOne 1247 endif248 endif249 if castSummonWaterCount > 1 or castSummonRagWitchCount > 1250 if dead waterTwo or not find waterTwo ground -1 -1 18251 if followers < 4252 pushlist summonList "Water Elemental"253 @setvar! waterTwo 1254 endif255 endif256 endif257endif258 259if castEnergyVortexCount > 0 or castJackalSpiritCount > 0260 if dead evOne or not find evOne ground -1 -1 18261 if followers < 5262 pushlist summonList "Energy Vortex"263 @setvar! evOne 1264 endif265 endif266endif267 268if castBladeSpiritCount > 0 or castSkeletalHuskCount > 0269 if dead bsOne or not find bsOne ground -1 -1 18270 if followers < 5271 pushlist summonList "Blade Spirits"272 @setvar! bsOne 1273 endif274 endif275endif276 277 278 279if followers < 5280 if castSummonCreatureCount = 1281 pushlist summonList "Summ. Creature"282 elseif castSummonCreatureCount = 2283 pushlist summonList "Summ. Creature"284 pushlist summonList "Summ. Creature"285 elseif castSummonCreatureCount = 3286 pushlist summonList "Summ. Creature"287 pushlist summonList "Summ. Creature"288 pushlist summonList "Summ. Creature"289 elseif castSummonCreatureCount = 4290 pushlist summonList "Summ. Creature"291 pushlist summonList "Summ. Creature"292 pushlist summonList "Summ. Creature"293 pushlist summonList "Summ. Creature"294 elseif castSummonCreatureCount = 5295 pushlist summonList "Summ. Creature"296 pushlist summonList "Summ. Creature"297 pushlist summonList "Summ. Creature"298 pushlist summonList "Summ. Creature"299 pushlist summonList "Summ. Creature"300 endif301 while targetexists 302 hotkey 'Cancel Current Target'303 endwhile304endif305 306##############307##### Items from the main loop.. just make sure they exist308if not varexist cdPreventOverheadSpam309 @setvar! cdPreventOverheadSpam 2000310endif311if not varexist cdMushroom312 @setvar! cdMushroom 60000313endif314if not varexist cdMushroom315 @setvar! cdMushroom 60000316endif317if not varexist cdVengefulSpirit318 @setvar! cdVengefulSpirit 31000319endif320if not varexist cdWither321 @setvar! cdWither 31000322endif323if not timerexists vengefulSpiritTimer324 settimer vengefulSpiritTimer cdVengefulSpirit325endif326if not timerexists witherTimer327 settimer witherTimer cdWither328endif329if not timerexists magicMushroomTimer330 settimer magicMushroomTimer cdMushroom331endif332if not timerexists preventOverheadSpamTimer333 settimer preventOverheadSpamTimer cdPreventOverheadSpam334endif335if not varexist hpCheckToTriggerGreaterHealSpell336 @setvar! hpCheckToTriggerGreaterHealSpell 35337endif338 339foreach summon in summonList340 if followers < 5341 overhead "Casting Summon: {{summon}}" 88342 while mana < 50343 if timer magicMushroomTimer >= cdMushroom and findtype "mushroom" backpack as mushy344 overhead "Eating shrooms" 66345 dclick mushy346 @setvar! jase_shrooms mushy347 wait 200348 if insysmsg "You consume a magic mushroom and restore some mana."349 settimer magicMushroomTimer 0 350 elseif insysmsg "before you may consume another magic mushroom" or insysmsg "been in combat with another"351 settimer magicMushroomTimer 30000352 endif353 endif354 if diffhits >= hpCheckToTriggerGreaterHealSpell355 replay356 endif357 if timer preventOverheadSpamTimer >= cdPreventOverheadSpam358 overhead "waiting for mana" 88359 settimer preventOverheadSpamTimer 0360 endif361 if not findbuff "Actively Meditating"362 useskill "meditation"363 endif364 wait 200365 endwhile366 367 @setvar! needVengefulSpirit 0368 369 if summon = "Earth Elemental" and castSummonMummyCount > 0370 @setvar! needVengefulSpirit 1371 elseif summon = "Fire Elemental" and castSummonLichCount > 0372 @setvar! needVengefulSpirit 1373 elseif summon = "Summon Daemon" and castSummonThrallCount > 0374 @setvar! needVengefulSpirit 1375 elseif summon = "Air Elemental" and castSummonFiendCount > 0376 @setvar! needVengefulSpirit 1377 elseif summon = "Water Elemental" and castSummonRagWitchCount > 0378 @setvar! needVengefulSpirit 1379 elseif summon = "Summ. Creature" and skill "Necromancy" >= 50380 @setvar! needVengefulSpirit 1381 elseif summon = "Energy Vortex" and castJackalSpiritCount > 0382 @setvar! needVengefulSpirit 1383 elseif summon = "Blade Spirits" and castSkeletalHuskCount > 0384 @setvar! needVengefulSpirit 1385 elseif timer vengefulSpiritTimer <= cdVengefulSpirit and skill "Necromancy" >= 50386 if timer preventOverheadSpamTimer >= cdPreventOverheadSpam387 overhead "Waiting for spirit to go away" 88388 settimer preventOverheadSpamTimer 0389 endif390 replay391 endif392 393 if needVengefulSpirit = 1394 if timer vengefulSpiritTimer >= cdVengefulSpirit and skill "Necromancy" >= 50395 yell "[VengefulSpirit"396 settimer vengefulSpiritTimer 0397 wait 500398 endif399 elseif timer vengefulSpiritTimer <= cdVengefulSpirit and skill "Necromancy" >= 50400 if timer preventOverheadSpamTimer >= cdPreventOverheadSpam401 overhead "Waiting for spirit to go away" 88402 settimer preventOverheadSpamTimer 0403 endif404 replay405 endif406 407 if followers = 0408 @setvar! followCount 0409 elseif followers = 1410 @setvar! followCount 1411 elseif followers = 2412 @setvar! followCount 2413 elseif followers = 3414 @setvar! followCount 3415 elseif followers = 4416 @setvar! followCount 4417 elseif followers = 5418 @setvar! followCount 5419 endif420 421 while followers = followCount422 if followers = 5423 break424 endif425 cast summon426 wft 500427 if targetexists 428 hotkey "Target Self"429 wait 200430 endif431 if timer witherTimer >= cdWither and skill "Necromancy" >= 95432 yell "[Wither"433 settimer witherTimer 0434 endif435 if diffhits >= hpCheckToTriggerGreaterHealSpell436 overhead "Need a heal!"437 hotkey '> Interrupt'438 break439 endif440 endwhile441 wait 200442 443 @setvar! myFreshlySummonedPet 0444 445 // 158 - an ancient mummy446 // 14 - an earth elemental447 if summon = "Earth Elemental" and findtype 158|14 ground -1 -1 2 as myPet448 @setvar! myFreshlySummonedPet myPet449 if earthOne = 1450 @setvar! earthOne myPet451 elseif earthTwo = 1452 @setvar! earthTwo myPet453 endif454 // 24 - a lich455 // 15 - a fire elemental456 elseif summon = "Fire Elemental" and findtype 24|15 ground -1 -1 2 as myPet457 @setvar! myFreshlySummonedPet myPet458 if fireOne = 1459 @setvar! fireOne myPet460 elseif fireTwo = 1461 @setvar! fireTwo myPet462 endif463 // 9 - a deamon464 // 722 - a vampire thrall465 elseif summon = "Summon Daemon" and findtype 9|722 ground -1 -1 2 as myPet466 @setvar! myFreshlySummonedPet myPet467 if demonOne = 1468 @setvar! demonOne myPet469 elseif demonTwo = 1470 @setvar! demonTwo myPet471 endif472 // 16 - water elemental473 // 740 - a rage witch474 elseif summon = "Water Elemental" and findtype 16|740 ground -1 -1 2 as myPet475 @setvar! myFreshlySummonedPet myPet476 if waterOne = 1477 @setvar! waterOne myPet478 elseif waterTwo = 1479 @setvar! waterTwo myPet480 endif481 // 13 - air elemental482 // 306 - a skeletal fiend483 elseif summon = "Air Elemental" and findtype 13|306 ground -1 -1 2 as myPet484 @setvar! myFreshlySummonedPet myPet485 if airOne = 1486 @setvar! airOne myPet487 elseif airTwo = 1488 @setvar! airTwo myPet489 endif490 elseif summon = "Summ. Creature"491 // TODO: gather all summon creature types492 493 // 13 - an energy vortex494 // 391 - a jackal spirit495 elseif summon = "Energy Vortex" and findtype 13|391 ground -1 -1 2 as myPet496 @setvar! myFreshlySummonedPet myPet497 if evOne = 1498 @setvar! evOne myPet499 endif500 // 574 - a blade spirit501 // 309 - a skeletal husk502 elseif summon = "Blade Spirits" and findtype 574|309 ground -1 -1 2 as myPet503 @setvar! myFreshlySummonedPet myPet504 if bsOne = 1505 @setvar! bsOne myPet506 endif507 endif508 509 if summon = "Summ. Creature"510 overhead "Creature summoned!" 88511 elseif myFreshlySummonedPet = 0512 overhead "Not found" 88513 else514 if noto myFreshlySummonedPet = "friend" and list petNameList > 0515 overhead "Renaming..." 77516 foreach petName in petNameList517 overhead "Rename to {{petName}}..." 66 myFreshlySummonedPet518 rename myFreshlySummonedPet petName519 wait 200520 if insysmsg "That name is unacceptable."521 overhead "Unable to name pet: {{petName}}" 34522 sysmsg "Unable to name pet: {{petName}}" 34523 endif524 break525 endfor526 poplist petNameList "front"527 endif528 overhead "New Pet: {{summon}}" 88 myFreshlySummonedPet529 if summon = "Energy Vortex" or summon = "Blade Spirits"530 // do nothing531 else532 // guard533 menu myFreshlySummonedPet 3534 endif535 @ignore myFreshlySummonedPet536 endif537 wait 500538 else539 break540 endif541endfor542 543if dead myMainTankPet544 if not dead earthOne545 @setvar! myMainTankPet earthOne546 elseif not dead earthTwo547 @setvar! myMainTankPet earthTwo548 elseif not dead waterOne549 @setvar! myMainTankPet waterOne550 elseif not dead waterTwo551 @setvar! myMainTankPet waterTwo552 elseif not dead demonOne553 @setvar! myMainTankPet demonOne554 elseif not dead demonTwo555 @setvar! myMainTankPet demonTwo556 elseif not dead fireOne557 @setvar! myMainTankPet fireOne558 elseif not dead fireTwo559 @setvar! myMainTankPet fireTwo560 elseif not dead airOne561 @setvar! myMainTankPet airOne562 elseif not dead airTwo563 @setvar! myMainTankPet airTwo564 endif565endif566 567if dead myMainTankPet568 overhead "Cannot find main tank pet" 34569else570 overhead "My main tank pet" 88 myMainTankPet 571endif