#VAR travel 0 #FUNCTION fixnew { #IF {"%1" == "-N"} {#VAR result north}; #IF {"%1" == "-E"} {#VAR result east}; #IF {"%1" == "-S"} {#VAR result south}; #IF {"%1" == "-W"} {#VAR result west}; #IF {"%1" == "-U"} {#VAR result up}; #IF {"%1" == "-D"} {#VAR result down} } #FUNCTION revdir { #IF {"%1" == "north"} {#VAR result -S}; #IF {"%1" == "east"} {#VAR result -W}; #IF {"%1" == "south"} {#VAR result -N}; #IF {"%1" == "west"} {#VAR result -E}; #IF {"%1" == "up"} {#VAR result -D}; #IF {"%1" == "down"} {#VAR result -U} } #FUNCTION longdir { #IF {"%1" == "n"} {#VAR result north}; #IF {"%1" == "e"} {#VAR result east}; #IF {"%1" == "s"} {#VAR result south}; #IF {"%1" == "w"} {#VAR result west}; #IF {"%1" == "u"} {#VAR result up}; #IF {"%1" == "d"} {#VAR result down} } #FUNCTION shortdir { #IF {"%1" == "north"} {#VAR result n}; #IF {"%1" == "east"} {#VAR result e}; #IF {"%1" == "south"} {#VAR result s}; #IF {"%1" == "west"} {#VAR result w}; #IF {"%1" == "up"} {#VAR result u}; #IF {"%1" == "down"} {#VAR result d} } #FUNCTION finddir { #IF {"%1" == "%2"} { #VAR result %3 } { #VAR result %2 } } #ALIAS travel { #IF {$travel} { #VAR travel 0; #SHOWME <118>You stop traveling. } { #VAR travel 1; #VAR lastdir @longdir{%0}; #VAR lastdir @revdir{$lastdir}; #SHOWME <128>You travel %0.; %0 } } #ACT {Exits: %0} { #IF {$travel} { #IF {"%0" != "* *"} { #VAR travel 0; #SHOWME <118>You stop traveling due to a dead end. }; #IF {"%0" == "* * *"} { #VAR travel 0; #SHOWME <118>You stop traveling to pick up directions. }; #IF {$travel} { #VAR newdir @finddir{$lastdir %0}; #VAR newdir @fixnew{$newdir}; #SHOWME <118>You travel $newdir.; #VAR lastdir @revdir{$newdir}; @shortdir{$newdir} } } } {1} #ACT {You need to board a ship to travel the oceans.} { #IF {$travel} {travel}} #SHOWME __ TRAVEL.tt