flee now seems to mostly work, fixed an issue with l alias, add room desc capture (used for flee)

master
rascul 2 years ago
parent 1959874b7d
commit 02e882dce6

@ -13,10 +13,10 @@
#list dirs create
#action {~\e[36m%1$} {#regex {%1} {%w speaks from the %*} {#line {log} {.wotmud-comms}} {roomname {%1}}} {1}
#action {^[ obvious exits: %1 ]$} {roomexits {%1};dirmove} {1}
#action {^[ obvious exits: ]$} {roomexits {};dirmove} {1}
#action {~%1 HP:%2 MV:%3 > \e[36m%4$} {#regex {%4} {%w speaks from the %*} {#nop} {roomname {%4}}} {1}
#action {~\e[36m%1$} {#regex {%1} {%w speaks from the %*} {#line {log} {.wotmud-comms}} {roomname {%1};desc_start}} {1}
#action {^[ obvious exits: %1 ]$} {roomexits {%1};desc_stop;dirmove} {1}
#action {^[ obvious exits: ]$} {roomexits {};desc_stop;dirmove} {1}
#action {~%1 HP:%2 MV:%3 > \e[36m%4$} {#regex {%4} {%w speaks from the %*} {#nop} {roomname {%4};desc_start}} {1}
#action {It is pitch black...} {dirmove} {1}
#action {Alas, you cannot go that way...} {dirpop} {1}
@ -46,6 +46,22 @@
#action {%1 (Head of group)} {leader %1}
#action {You are now a member of %1's group.} {leader %1} {1}
#alias desc_start {
#var desc {};
#action {^%%*$} {desc_append {%%1}} {2};
};
#alias desc_stop {
#unaction {^%*$};
#format {desc} {%p} {$desc};
}
#var desc {}
#alias desc_append {
#var desc {$desc %1}
};
#alias maprows {#var maprows %1}
#alias mapcols {#var mapcols %1}
#alias mapout {#var mapout %1}
@ -62,9 +78,25 @@
#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"} {
#list lastexitrooms add {$vnum};
};
};
#if {&lastexitrooms[%+] == 0} {
#showme UNFOUND
}; #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} {
@ -77,21 +109,41 @@
#var roommatch true;
#if {"$foundexits[$cre]" == ""} {
#var roommatch false;
};
#else {
}; #else {
#unvar {foundexits[$cre]};
};
};
#if {"$roommatch" == "true" && &foundexits[%+] == 0} {
#map get roomvnum lastroom;
#map goto {$vnum};
#map get roomvnum currentroom;
showmap;
#map get {roomname} {newname} {$vnum};
#showme MATCHED $newname $vnum;
#var moved true;
movemap;
#break;
}
}
}
}
};
#if {"$moved" != "true"} {
#showme SEARCHING DESCRIPTION;
};
};
};
#var od {You are stunned by the size and splendor of Queen Morgase's Throne Room. The walls present hunting scenes carved in relief in stone of the purest white. Tapestries between the carvings are of bright flowers and brilliantly plumaged hummingbirds, except for the ones flanking the throne which proudly display the White Lion of Andor. On a dais at the room's far wall is a throne of marble. A greatdoor opens south into a large hall and an officedoor opens east into the Queen's private study. A smaller archway lies to the west.}
#alias findme {
#map list {roomname} {$roomname} {roomdesc} {$desc};
};
#alias movemap {
#map get roomvnum lastroom;
#map goto $vnum;
#map get roomvnum currentroom;
showmap;
};
#alias roomexits #var roomexits %1
@ -111,8 +163,7 @@
#alias w {#send west;dirpush w}
#alias u {#send up;dirpush u}
#alias d {#send down;dirpush d}
#alias l {#send look %1;dirpush l}
#alias l {#regex {%1} {%+} {#send look %1} {#send look}}
#alias l {#regex {%1} {%+} {#send look %1} {#send look;dirpush l}}
#alias f {#send flee;dirpush f}
#alias flee {#send flee;dirpush f}
@ -124,4 +175,3 @@
#var maprows 30
#var mapcols 60
#var mapout map.out

Loading…
Cancel
Save