@prog mazedesc.muf 1 999 d 1 i : say me @ swap notify ; : desc-room trigger @ dup location owner swap owner dbcmp not if exit then trigger @ dup location trigger ! prog "_desc_prog" #-1 getpropval "_dsc" swap call trigger ! prog "_ndir" getpropstr atoi 1 -1 for intostr "_dir" swap strcat prog swap getpropstr "/" explode dup 2 != if mpop continue then (longname shortname n) pop "_" swap strcat trigger @ swap getpropstr dup not if pop pop continue then "/" explode dup 2 > if mpop pop continue then (longname [ lock linkto 2 | linkto 1 ]) 1 - if (longname lock linkto) pop atoi dbref me @ over passlock? if (longname lock) pop caps ": the way is open." strcat say else swap caps ": a passage is barred by a steel plate with `" rot name "' painted on it." 4 "" rimplode say then else (longname linkto) pop caps ": the way is open." strcat say then loop ; : desc-exit trigger @ "_dir" getpropstr (dir) loc @ swap "_" swap strcat getpropstr dup not if pop "There is no exit in that direction." say exit then (linkto[/lock]) "/" explode dup 2 > if mpop "This direction is misconfigured." say exit then ([lock linkto 2 | linkto 1]) swap pop 1 - if (lock) atoi dbref me @ over passlock? not if "The passage is barred by a steel plate with `" swap name "' painted on it." 3 "" rimplode say exit then then "The way is open." say ; : main trigger @ room? if desc-room exit then trigger @ exit? if desc-exit exit then ; . c q