: say ( s -- ) me @ swap notify ; : justify ( s i -- s ) over strlen over >= if strcut pop exit then " " swap strcut pop over strlen strcut swap pop strcat ; : main ( s -- ) pop "*----------------------------------------------------------------------------*" say "| Chancellor | Title & Duties | Status |" say "|------------------+-----------------------------------------------+---------|" say prog "_wizards" getpropstr atoi dup if 1 swap 1 for prog "wiz" rot intostr strcat getpropstr atoi dbref dup name 16 justify "| " swap strcat " | " strcat over "_title" getpropstr 45 justify strcat " | " strcat swap dup awake? not if pop "Offline" else dup "U" flag? if pop "Offline" else dup "B" flag? if pop "Busy " else pop "Online " then then then strcat " |" strcat say loop else pop then "|------------------+-----------------------------------------------+---------|" say "| Royal | Title & Duties | Status |" say "|------------------+-----------------------------------------------+---------|" say prog "_royals" getpropstr atoi dup if 1 swap 1 for prog "roy" rot intostr strcat getpropstr atoi dbref dup name 16 justify "| " swap strcat " | " strcat over "_title" getpropstr 45 justify strcat " | " strcat swap dup awake? not if pop "Offline" else dup "B" flag? if pop "Busy " else pop "Online " then then strcat " |" strcat say loop else pop then "*----------------------------------------------------------------------------*" say ;