Skip to content
Outlands Hub

Razor script

Ultimate Summoner Hotkey Choose Your Summons

by Jaseowns · 571 lines
Download

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