Astral Travel (script)

From Elanthipedia
Revision as of 19:57, 19 February 2008 by Maintenance script (talk | contribs)
Jump to navigation Jump to search


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.

debug off

echo
echo ==============================================
echo = Astral Travel script by Foresee
echo = Last edited: 2/19/08
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

# TODO:  - This script will choke if you haven't learned
#          the destination shard.  Need a log of it to fix.
#        - The script will choke if you haven't learned
#          the starting shard.  Need a log of it to fix.

setvariable stepsToAxis 0
setvariable stepsFromAxis 0

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-white 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
    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:
    put focus %Start%
    waitfor You feel fully prepared
    goto harnessMana

harnessMana:
    match wait_harnessMana		...wait
    match wait_harnessMana		Sorry, you may only type
    match harnessMana2		You tap into the mana
    put harness 15
    matchwait

harnessMana2:
    match wait_harnessMana2	...wait
    match wait_harnessMana2	Sorry, you may only type
    match enterAP			You tap into the mana
    put harness 15
    matchwait

enterAP:
    match wait_enterAP	...wait
    match wait_enterAP	Sorry, you may only type
    match toAxis		You gesture.
    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
    put focus %Destination%
    waitfor You focus your magical senses
    goto exitAP_cast
exitAP_cast:
    match wait_exitAP_cast	...wait
    match wait_exitAP_cast	Sorry, you may only type
    match release		You gesture.
    put cast %Destination%
    matchwait
release:
    put release
    pause 1
    echo Statistics:  %stepsToAxis% from %Start% to Axis
    echo Statistics:  %stepsFromAxis% from Axis to %Destination%
    exit





#################################
# Wait section
wait_harnessMana:
    pause 1
    goto harnessMana
wait_harnessMana2:
    pause 1
    goto harnessMana2
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_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
    exit
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
    exit
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%
    exit
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%
    exit
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
    exit