Is there an easy way for “report” messages to be displayed for a room other than the location, or from one specific actor (or subset of charactars)?
I would rather build the actions, including conversational responses, of other characters using the standard action machinery, rather than jury-rigging my own ad hoc system. I’m doing enough of the latter already in this project!
[code]There is room. The player carries a phone.
Bot is a person.
The conversant is a person that varies.
Calling is an action applying to one visible thing.
Understand “call [any person]” and “call [any person] on/by [the phone]” as calling.
Report calling someone: say “You dial [the noun]'s number.”
Carry out calling someone:
now the conversant is the noun;
try the conversant greeting.
Greeting is an action applying to nothing.
Report an actor greeting: say “[The actor] greets you coolly.”[/code]
I believe REPORT only prints messages when the item described is in scope. You can circumvent this by using AFTER messages which don’t have such a check and by default succeed, not progressing to the Report stage unless you continue the action.
After someone (called hollerer) shouting:
if the location of hollerer is the location:
say "You see [the hollerer] call for help.";
otherwise:
say "You can hear [the hollerer] shouting from another location in the maze.";