: loop2 dup #-1 dbcmp if exit then dup dup "D" flag? swap "dark" getpropstr "" stringcmp or not if dup name dup ";" instr if dup ";" instr 1 - strcut pop then 4 rotate swap strcat ", " strcat rot rot 4 rotate 1 + 4 rotate 4 rotate 4 rotate then next loop2 ; : doloop dup #-1 dbcmp if pop exit then dup dup "D" flag? swap "dark" getpropstr "" stringcmp or not if dup name dup ";" instr if dup ";" instr 1 - strcut pop then rot swap strcat ", " strcat swap rot 1 + rot rot then next doloop ; : parenting dup #0 dbcmp if pop exit then dup exits loop2 pop location parenting ; : main 1 "[Obvious exits: " trigger @ "loc" getpropstr "here" stringcmp not if loc @ trigger ! then trigger @ exits doloop trigger @ room? if trigger @ location parenting then swap 1 = if pop "[No obvious exits]" else dup strlen 2 - strcut pop "]" strcat then me @ swap notify ;