Prefixing the ask-tell action

Currently, I’m using Eric Eve’s conversation extensions to Inform7:

Include Conversation Framework by Eric Eve.
Include Conversational Defaults by Eric Eve.
Include Conversation Responses by Eric Eve.

And as I understand it, they are not defining any new actions, only providing a convenient handle to the core ask-tell actions. I have a series of relatively simple (but numerous) ask-tell subjects that NPCs can provide responses to:

Response of mom when asked-or-told about player:
	say "Mom looks serious. 'You don't need me to tell you anything. You know who you are, and you always have from the time you were a baby,' mom says.".

Response of mom when asked-or-told about mom:
	say "'Me?' mom asks, 'You know everything about me already.' I should be asking you!'".

Response of mom when asked-or-told about Honey:
	say "'Your Honey?' mom says, 'She really loves you, even if she's strict with you. You know that, don't you?'".

In one scene that happens in one location, I would like to provide text that prefixes the response that the NPC provides.

To say looks_away_from_movie:
	if player is in Room_Car_With_Mom and a random chance of 1 in 2 succeeds:
		say "[one of]Mom turns away from the movie[or]Mom, absorbed in the movie, takes a second to respond[or]Mom turns toward you[at random]. [run paragraph on]";

I am loathe to put this prefix in front of each of the utterances of this NPC:

Response of mom when asked-or-told about mom:
	say "'[looks_away_from_movie]Me?' mom asks, 'You know everything about me already.' I should be asking you!'".

Is there a way to do this without abuse of the system? Something graceful like:

Before speaking to mom:
	say looks_away_from_movie;
	continue the action.

If it can be done, my follow up question will be whether I can make it appear as part of the same paragraph.

These responses are given in Report rules, so to prefix something you need to add a rule saying your prefix at the very end of the After rulebook, so that it only triggers if no other After rule has given a response instead, then run the paragraph on and continue the action so that the relevant Report rulebook runs (After rules otherwise stop the action by default) e.g.:

Last after conversing when the current interlocutor is mom and player is in Room_Car_With_Mom and a random chance of 1 in 2 succeeds:
	say "[looks_away_from_movie][run paragraph on]";
	continue the action.

NB1 ‘the current interlocutor’ in Eric Eve’s Conversation extensions is the person the player last addressed in any conversational action

NB2 You can’t list a rule like this at the start of the Report rulebooks rather than the end of the After rulebook, because Report rules have to refer to a specific action, not a group of actions like ‘conversing’, which is defined in Eric Eve’s Conversation extensions to include all the conversational actions

1 Like