Astral Travel (script)
General Information
This script automatically travels the astral plane for you.
Front end: Stormfront
Recommend name: ap
Usage: ".ap [destination]" while standing at a Grazhir shard. [destination] can be any name from the list you get when you run the script with no arguments.
Change Log
EDITED by Uversy (5-20-2008)
1. The script does not notice when casting the moongate spell to get out of the Astral Plane fails. As such, you release your mana and then die. I've added a check when moongate is cast to see if it failed. If it does, then a the user pulls some more mana together and calls exitAP again.
2. Addition of the ability for the user to define just how much mana they harness when the script requires it. By setting the variable "mana", the user is better set for their particular casting ability. The default is '15'. I did this because having only 30 mana harnessed while in the planes is a bit dicey for me. I personally set "mana" to '20'.
3. Addition of deletevariable commands under the "cleanup:" label to remove variables used by this script.
EDITED by Uversy (5-23-2008)
1. Asharshpar'i wasn't being recognized from the starting point. Included a "look shard" command and altered the match text for this shard.
2. Altered how the mana harness engine works and added the variable "myCounter". Users can now define "myCounter" to a number 1-4
which will determine how many times your moon mage harnesses before casting. Along with the use of the "mana" variable, this will allow users the most flexible control of how they obtain the mana they will use in the moongate spell.
3. Changed "harnessMana3" label to "harnessEmergency" and utilized the new harness engine in order to condense the code some.
EDITED by Uversy (5-28-2008) -- Version 1.0
1. When a starting or destination shard is not know to you, then an error message will pop up letting you know this along with a reminder to release any mana or spells you are holding if it is safe to do so. The error also makes the casual suggestion that you find your way to a shard you do know ASAP. Thanks for the match strings, Anobi!
TODO
1. Define %2 variable as number of times to harness mana
2. Define %3 variable as how much mana to harness each time.
3. Design method for when a destination shard is not know to return the user to their starting point. Though many will wind up dying on the return attempt anyhow, for those it saves, they will feel like Meraud himself touched them. :)
The Script
debug off echo echo ============================================== echo = Astral Travel script by Foresee echo = Last edited: 5/28/08 echo = Edited by: Uversy echo = Version 1.0 echo = echo = Valid Destination names: echo = Dor'na'torna - Dornatorna - Hibarnhvidar - Hib - Cherulisa echo = Undarverjah - Taisgath - Islands - Ratha - Lomtaun echo = Tamigen - Raven'sPoint - RavenPoint - Raven - RP echo = Rolagi - Crossing - Xing - Kssarh echo = Marendin - Shard - Ilithi - Mortom echo = Emalerje - Volcano - LesserFist - Fist - Tiv echo = Asharshpar'i - Asharshpari - LethDeriel - Leth echo = Dinegavren - Therenborough - Theren echo = Mintais - ThroneCity - Throne - TC echo = Taniendar - Riverhaven - Haven - Gylwyn echo ============================================== echo setvariable stepsToAxis 0 setvariable stepsFromAxis 0 setvariable mana 15 setvariable myCounter 3 # These four variables are defined later in the script. setvariable Start setvariable Destination setvariable Pillar setvariable afterHarness if_1 goto setStart goto error_noArguments setStart: match Dor'na'torna the silvery-white shard Dor'na'torna match Undarverjah the silvery-white shard Undarverjah match Tamigen [Cragstone Vale, Shrine of the Shell] match Rolagi the silvery-white shard Rolagi match Marendin the silvery-white shard Marendin match Emalerje the silvery-white shard Emalerje match Asharshpar'i the silvery shard Asharshpar'i match Dinegavren [Gealeranendae College, Tear of Grazhir Exhibit] match Mintais [Phelim's Sanctum, Tear of Grazhir] match Taniendar the silvery-white shard Taniendar match error_badStart Obvious exits: match error_badStart Obvious paths: put look shard put look matchwait Dor'na'torna: setvariable Start Dor'na'torna goto setDestination Undarverjah: setvariable Start Undarverjah goto setDestination Tamigen: setvariable Start Tamigen goto setDestination Rolagi: setvariable Start Rolagi goto setDestination Marendin: setvariable Start Marendin goto setDestination Emalerje: setvariable Start Emalerje goto setDestination Asharshpar'i: setvariable Start Asharshpar'i goto setDestination Dinegavren: setvariable Start Dinegavren goto setDestination Mintais: setvariable Start Mintais goto setDestination Taniendar: setvariable Start Taniendar goto setDestination # Valid destinations setDestination: goto setDestination_%1% setDestination_Rolagi: setDestination_Crossing: setDestination_Xing: setDestination_Kssarh: setvariable Destination Rolagi setvariable Pillar Nightmares goto prepMoongate setDestination_Dor'na'torna: setDestination_Dornatorna: setDestination_Hibarnhvidar: setDestination_Hib: setDestination_Cherulisa: setvariable Destination Dor'na'torna setvariable Pillar Tradition goto prepMoongate setDestination_Tamigen: setDestination_Raven'sPoint: setDestination_RavenPoint: setDestination_Raven: setDestination_RP: setvariable Destination Tamigen setvariable Pillar Convergence goto prepMoongate setDestination_Asharshpar'i: setDestination_Asharshpari: setDestination_LethDeriel: setDestination_Leth: setvariable Destination Asharshpar'i setvariable Pillar Heavens goto prepMoongate setDestination_Emalerje: setDestination_Volcano: setDestinatoin_LesserFist: setDestination_Fist: setDestination_Tiv: setvariable Destination Emalerje setvariable Pillar Shrew goto prepMoongate setDestination_Taniendar: setDestination_Riverhaven: setDestination_Haven: setDestination_Gylwyn: setvariable Destination Taniendar setvariable Pillar Broken goto prepMoongate setDestination_Dinegavren: setDestination_Therenborough: setDestination_Theren: setvariable Destination Dinegavren setvariable Pillar Introspection goto prepMoongate setDestination_Mintais: setDestination_ThroneCity: setDestination_Throne: setDestination_TC: setvariable Destination Mintais setvariable Pillar Fortune goto prepMoongate setDestination_Marendin: setDestination_Shard: setDestination_Ilithi: setDestination_Mortom: setvariable Destination Marendin setvariable Pillar Secrets goto prepMoongate setDestination_Undarverjah: setDestination_Taisgath: setDestination_Ratha: setDestinatoin_Islands: setDestination_Lomtaun: setvariable Destination Undarverjah setvariable Pillar Heavens goto prepMoongate prepMoongate: put prep moongate goto focusShard focusShard: setvariable afterHarness enterAP counter set %myCounter match error_UnknownShard You do not recognize this shard match harnessMana%c You feel fully prepared put focus %Start% matchwait harnessMana0: goto %afterHarness harnessMana1: harnessMana2: harnessMana3: harnessMana4: match wait_harnessMana ...wait match wait_harnessMana Sorry, you may only type match harnessCount You tap into the mana put harness %mana% matchwait harnessCount: counter subtract 1 goto harnessMana%c harnessEmergency: setvariable afterHarness exitAP counter set 1 goto harnessMana%c enterAP: match wait_enterAP ...wait match wait_enterAP Sorry, you may only type match toAxis You are pulled through put cast %Start% matchwait toAxis: counter set %stepsToAxis% counter add 1 setvariable stepsToAxis %c% toAxis1: match wait_toAxis1 ...wait match wait_toAxis1 Sorry, you may only type match toAxis_N the microcosm is to the north. match toAxis_NE the microcosm is to the northeast. match toAxis_E the microcosm is to the east. match toAxis_SE the microcosm is to the southeast. match toAxis_S the microcosm is to the south. match toAxis_SW the microcosm is to the southwest. match toAxis_W the microcosm is to the west. match toAxis_NW the microcosm is to the northwest. match error_expanse You cannot sense even a single thread of Lunar energy match error_dead You are a ghost! put perceive matchwait toAxis_N: match wait_toAxis_N ...wait match wait_toAxis_N Sorry, you may only type match toAxis Obvious exits: none. match atAxis Obvious exits: north, match atAxis Obvious exits: east, put north matchwait toAxis_NE: match wait_toAxis_NE ...wait match wait_toAxis_NE Sorry, you may only type match toAxis Obvious exits: none. match atAxis Obvious exits: north, match atAxis Obvious exits: east, put northeast matchwait toAxis_E: match wait_toAxis_E ...wait match wait_toAxis_E Sorry, you may only type match toAxis Obvious exits: none. match atAxis Obvious exits: north, match atAxis Obvious exits: east, put east matchwait toAxis_SE: match wait_toAxis_SE ...wait match wait_toAxis_SE Sorry, you may only type match toAxis Obvious exits: none. match atAxis Obvious exits: north, match atAxis Obvious exits: east, put southeast matchwait toAxis_S: match wait_toAxis_S ...wait match wait_toAxis_S Sorry, you may only type match toAxis Obvious exits: none. match atAxis Obvious exits: north, match atAxis Obvious exits: east, put south matchwait toAxis_SW: match wait_toAxis_SW ...wait match wait_toAxis_SW Sorry, you may only type match toAxis Obvious exits: none. match atAxis Obvious exits: north, match atAxis Obvious exits: east, put southwest matchwait toAxis_W: match wait_toAxis_W ...wait match wait_toAxis_W Sorry, you may only type match toAxis Obvious exits: none. match atAxis Obvious exits: north, match atAxis Obvious exits: east, put west matchwait toAxis_NW: match wait_toAxis_NW ...wait match wait_toAxis_NW Sorry, you may only type match toAxis Obvious exits: none. match atAxis Obvious exits: north, match atAxis Obvious exits: east, put northwest matchwait atAxis: move east move up goto Convergence_to_%Pillar% Convergence_to_Convergence: goto exitAxis Convergence_to_Nightmares: move south goto exitAxis Convergence_to_Tradition: move southeast goto exitAxis Convergence_to_Secrets: move east goto exitAxis Convergence_to_Unity: move northeast goto exitAxis Convergence_to_Shrew: move north goto exitAxis Convergence_to_Heavens: move northwest goto exitAxis Convergence_to_Introspection: move west goto exitAxis Convergence_to_Fortune: move southwest goto exitAxis Convergence_to_Broken: move south move down goto exitAxis exitAxis: put focus %Destination% goto fromAxis fromAxis: counter set %stepsFromAxis% counter add 1 setvariable stepsFromAxis %c% fromAxis1: match wait_fromAxis1 ...wait match wait_fromAxis1 Sorry, you may only type match fromAxis_N the conduit lies north. match fromAxis_NE the conduit lies northeast. match fromAxis_E the conduit lies east. match fromAxis_SE the conduit lies southeast. match fromAxis_S the conduit lies south. match fromAxis_SW the conduit lies southwest. match fromAxis_W the conduit lies west. match fromAxis_NW the conduit lies northwest. match error_expanse You cannot sense even a single thread of Lunar energy match error_dead You are a ghost! put perceive matchwait fromAxis_N: match wait_fromAxis_N ...wait match wait_fromAxis_N Sorry, you may only type match exitAP You also see the silvery-white shard match fromAxis Obvious exits: none. match atAxis Obvious exits: north, match atAxis Obvious exits: east, put north matchwait fromAxis_NE: match wait_fromAxis_NE ...wait match wait_fromAxis_NE Sorry, you may only type match exitAP You also see the silvery-white shard match fromAxis Obvious exits: none. match atAxis Obvious exits: north, match atAxis Obvious exits: east, put northeast matchwait fromAxis_E: match wait_fromAxis_E ...wait match wait_fromAxis_E Sorry, you may only type match exitAP You also see the silvery-white shard match fromAxis Obvious exits: none. match atAxis Obvious exits: north, match atAxis Obvious exits: east, put east matchwait fromAxis_SE: match wait_fromAxis_SE ...wait match wait_fromAxis_SE Sorry, you may only type match exitAP You also see the silvery-white shard match fromAxis Obvious exits: none. match atAxis Obvious exits: north, match atAxis Obvious exits: east, put southeast matchwait fromAxis_S: match wait_fromAxis_S ...wait match wait_fromAxis_S Sorry, you may only type match exitAP You also see the silvery-white shard match fromAxis Obvious exits: none. match atAxis Obvious exits: north, match atAxis Obvious exits: east, put south matchwait fromAxis_SW: match wait_fromAxis_SW ...wait match wait_fromAxis_SW Sorry, you may only type match exitAP You also see the silvery-white shard match fromAxis Obvious exits: none. match atAxis Obvious exits: north, match atAxis Obvious exits: east, put southwest matchwait fromAxis_W: match wait_fromAxis_W ...wait match wait_fromAxis_W Sorry, you may only type match exitAP You also see the silvery-white shard match fromAxis Obvious exits: none. match atAxis Obvious exits: north, match atAxis Obvious exits: east, put west matchwait fromAxis_NW: match wait_fromAxis_NW ...wait match wait_fromAxis_NW Sorry, you may only type match exitAP You also see the silvery-white shard match fromAxis Obvious exits: none. match atAxis Obvious exits: north, match atAxis Obvious exits: east, put northwest matchwait exitAP: put prep moongate match error_UnknownShard You do not recognize this shard match exitAP_cast You feel fully prepared put focus %Destination% matchwait exitAP_cast: match wait_exitAP_cast ...wait match wait_exitAP_cast Sorry, you may only type match harnessEmergency The spell goes awry! match release You are pulled through put cast %Destination% matchwait release: put release pause 1 echo Statistics: %stepsToAxis% from %Start% to Axis echo Statistics: %stepsFromAxis% from Axis to %Destination% goto cleanup cleanup: deletevariable stepsToAxis deletevariable stepsFromAxis deletevariable mana deletevariable Start deletevariable Destination deletevariable Pillar deletevariable counter deletevariable afterHarness exit ################################# # Wait section wait_harnessMana: pause 1 goto harnessMana wait_harnessEmergency: pause 1 goto harnessEmergency wait_enterAP: pause 1 goto enterAP wait_toAxis1: pause 1 goto toAxis1 wait_toAxis_N: pause 1 goto toAxis_N wait_toAxis_NE: pause 1 goto toAxis_NE wait_toAxis_E: pause 1 goto toAxis_E wait_toAxis_SE: pause 1 goto toAxis_SE wait_toAxis_S: pause 1 goto toAxis_S wait_toAxis_SW: pause 1 goto toAxis_SW wait_toAxis_W: pause 1 goto toAxis_W wait_toAxis_NW: pause 1 goto toAxis_NW wait_fromAxis1: pause 1 goto fromAxis1 wait_fromAxis_N: pause 1 goto fromAxis_N wait_fromAxis_NE: pause 1 goto fromAxis_NE wait_fromAxis_E: pause 1 goto fromAxis_E wait_fromAxis_SE: pause 1 goto fromAxis_SE wait_fromAxis_S: pause 1 goto fromAxis_S wait_fromAxis_SW: pause 1 goto fromAxis_SW wait_fromAxis_W: pause 1 goto fromAxis_W wait_fromAxis_NW: pause 1 goto fromAxis_NW wait_exitAP_cast: pause 1 goto exitAP_cast ##################################### # Errors error_UnknownShard: echo echo ERROR: You do not know this shard yet! echo "study %Start%" to learn this shard. echo echo Until this shard is learned, you can not enter echo or exit the Astral Planes here. echo echo Don't forget to "release" if it is safe to do so! echo echo If you are still in the Astral Plane, find your echo way to the nearest known shard, ASAP! goto cleanup error_NoArguments: echo echo ERROR: This script requires a name for your destination. echo Please see the starting text for a list. echo Proper usage is ".ap destination" echo goto cleanup error_badStart: echo echo ERROR: You are not at a known Grazhir shard echo and this script cannot be used for the 100th circle ability. echo goto cleanup error_expanse: echo echo *** Uh oh, you're trapped in the grey expanse. echo *** You may get out, but it isn't likely. Good luck! echo echo Statistics: %stepsToAxis% from %Start% to Axis echo Statistics: %stepsFromAxis% from Axis to %Destination% goto cleanup error_dead: echo echo *** Uh oh, you didn't survive this trip. echo *** I hope the empath likes extra crispy! echo echo Statistics: %stepsToAxis% from %Start% to Axis echo Statistics: %stepsFromAxis% from Axis to %Destination% goto cleanup labelError: echo echo ERROR: You did not type in a valid name for your destination. echo Please see the starting text for a list. echo If you did type in a listed destination or got this error echo while already moving, this this is a bug with the script's labels. echo goto cleanup