: tr trigger @ location ; : ssay "The scribe says, " swap .quote strcat tr location #-1 rot notify_except ; : say me @ swap notify ; : all tr location #-1 rot notify_except ; : tonews tr "_total" getpropstr "_tmp-" 3 pick strcat tr over getpropstr tr rot remove_prop "_" rot strcat "-" strcat rot strcat tr swap rot 0 addprop ; : do_add "The scribe gets a pen and paper out." ssay 2 sleep "What will the subject matter of your article be?" ssay "Subject: " read tr "_tmp-s" rot 0 addprop "What would you like to title your arcticle?" ssay "Title: " read tr "_tmp-t" rot 0 addprop "What would you like the herald to announce?" ssay "Announce: " read tr "_tmp-c" rot 0 addprop tr "_tmp-a" me @ intostr 0 addprop tr "_tmp-d" systime intostr 0 addprop "Enter your article below. Please stay within the margins." " I will copy down what you relate. End by telling me you" " are 'done'. I will enter a maximum of 15 lines." strcat strcat ssay " | |" say 1 15 1 for dup intostr dup strlen 1 = if " " swap strcat then ":" strcat read dup "done" stringcmp if tr "_tmp-" 4 rotate intostr strcat rot 0 addprop else pop pop break then loop tr "_total" getpropstr atoi 1 + intostr tr "_total" rot 0 addprop "a" tonews "c" tonews "d" tonews "s" tonews "t" tonews 1 15 1 for intostr tonews loop "I have noted your article. It will be announced periodically." ssay ;