: mortal_show "| " 3 pick awake? 4 pick "U" flag? not and if "+ " else "- " then strcat 3 pick name dup strlen " " swap strcut swap pop strcat strcat " | " strcat 3 pick dup dup location "private" getpropstr "" stringcmp rot "D" flag? rot "private" getpropstr "" stringcmp or or if "(Location Private)" else 3 pick location name then dup strlen dup 48 > if pop 48 strcut pop strcat else " " dup strcat swap strcut swap pop strcat strcat then " |" strcat me @ swap notify ; : wizard_show "| " 3 pick awake? if "+ " else "- " then strcat 3 pick .fmatch dup strlen " " dup strcat swap strcut swap pop strcat strcat " | " strcat 3 pick location intostr "#" swap strcat " " over strlen strcut swap pop swap strcat strcat " | " strcat 3 pick location name dup strlen dup 30 > if pop 30 strcut pop strcat else " " swap strcut swap pop strcat strcat then " |" strcat me @ swap notify ; : find_all dup 0 = if pop exit then me @ wizard? if wizard_show else over "U" flag? if depth 2 - over = if mortal_show then else mortal_show then then swap pop 1 - find_all ; : main .sstrip me @ wizard? if "+----------------------------------+" "--------+" "--------------------------------+" strcat strcat dup me @ swap notify "| ? Player Name |" " Room # |" " Room Name |" strcat strcat me @ swap notify me @ swap notify else "+------------------------+" "--------------------------------------------------+" strcat dup me @ swap notify "| ? Player Name |" " Location (Room Name) |" strcat me @ swap notify me @ swap notify then dup "" stringcmp not if pop online find_all else .pmatch+ dup #-1 dbcmp if pop me @ "> No player with that name." notify exit else "one" swap 1 find_all pop then then me @ wizard? if "+----------------------------------+" "--------+" "--------------------------------+" strcat strcat me @ swap notify else "+------------------------+" "--------------------------------------------------+" strcat me @ swap notify then ;