diff --git a/map.tin b/map.tin index 5dc2746..2f899d8 100644 --- a/map.tin +++ b/map.tin @@ -42,7 +42,7 @@ #action {You now follow %1.} {leader %1} #action {You stop following %1.} {#unvar leader} #action {%1 leaves %2.} {#if {"%1" == "$leader"} {dirpush %2}} {2} -#action {%1 leaves %2 riding a %3.} {#if {"%1" == "$leader"} {dirpush move %2}} {1} +#action {%1 leaves %2 riding a %3.} {#if {"%1" == "$leader"} {dirpush %2}} {1} #action {%1 (Head of group)} {leader %1} #action {You are now a member of %1's group.} {leader %1} {1} @@ -67,19 +67,48 @@ #alias mapout {#var mapout %1} #alias showmap {#map map $maprows $mapcols overwrite $mapout} -#alias dirpush #list dirs insert -1 %1 +#alias dirpush { + #format {newdir} {%.1l} {%1}; + #list dirs insert -1 $newdir +} + #alias dirget #list dirs get 1 dir -#alias dirpop {#list dirs size dirsize;#if {$dirsize == 0} {#nop} {#list dirs delete 1}} -#alias dirmove {dirget;#if {"$dir" !== "0"} {dirpop;#if {"$dir" !== "l"} {#if {"$dir" == "f"} {doflee}; #else {domove}}}} -#alias domove {#map get roomvnum lastroom;#map move $dir;#map get roomvnum currentroom;showmap} +#alias dirpop { + #list dirs size dirsize; + #if {$dirsize == 0} { + #nop + }; #else { + #list dirs delete 1 + } +} + +#alias dirmove { + dirget; + #if {"$dir" !== "0"} { + dirpop; + #if {"$dir" !== "l"} { + #if {"$dir" == "f"} { + doflee + }; #else { + domove + } + } + } +} + +#alias domove { + #map get roomvnum lastroom; + #map move $dir; + #map get roomvnum currentroom; + showmap +} #alias doflee { #map get roomvnum lastroom; #map get {roomexits} {lastexits} {$lastroom}; #list lastexitrooms create; - #showme SEARCH ROOM NAMES; #foreach {$lastexits[%+]} {vnum} { #map get {roomname} {exitname} {$vnum}; #if {"$exitname" == "$roomname"} { @@ -91,48 +120,21 @@ }; #elseif {&lastexitrooms[%+] == 1} { #var {vnum} {$lastexitrooms[1]}; #map get {roomname} {newname} {$vnum}; - #showme MATCHED $newname $vnum; movemap; }; #else { - #showme SEARCHING EXITS; - #foreach {$lastexits[%+]} {vnum} { - if {"$exitname" == "$roomname"} { - #map get {roomexits} {foundexits} {$vnum}; - #list currentroomexits create; - #parse {$roomexits} {pexit} { - #if {"$pexit" != " "} { - #format {pexit} {%l} {$pexit}; - #list currentroomexits add {$pexit}; - } - }; - #foreach {$currentroomexits[%+]} {cre} { - #var roommatch true; - #if {"$foundexits[$cre]" == ""} { - #var roommatch false; - }; #else { - #unvar {foundexits[$cre]}; - }; - }; - #if {"$roommatch" == "true" && &foundexits[%+] == 0} { - #map get {roomname} {newname} {$vnum}; - #showme MATCHED $newname $vnum; - #var moved true; - movemap; - #break; - } - } - }; - #if {"$moved" != "true"} { - #showme SEARCHING DESCRIPTION; - findme - }; + findme; }; }; -#alias findme { +#alias findrooms { #map list {roomname} {$roomname} {roomdesc} {$desc}; }; +#alias findme { + #map goto {roomname} {$roomname} {roomdesc} {$desc}; + showmap +}; + #alias movemap {