Changing responses, then changing back

I had a project idea long ago that involved a film noir detective interrogating the suspects on what they did the day of the murder. Now that I7 seems to allow on-the-fly changes to person and tense, I could see a game like this:

[code]> examine murphy
Mr Murphy, the gardener, is perched on the edge of the interrogation chair. His fingers drum nervously on the table.

grill murphy
“I was tending the garden, you see, out by the back door. I weren’t really paying much mind to the house. Let me tell you what happened…”

Back Garden
“It’s that little bit round the back, you see. Remember them dahlias? I work on those. Pretty proud of 'em, too. The shed was off east from there. And there’s a little porch going up to the back door.”

open door

“No, I didn’t open the door.”

go east

Garden Shed
“We keep a little shed back there filled with tools and such. That’s where the shovel is usually kept. You know, the shovel that … You know.”

get shovel

“I didn’t kill Mr James, if that’s what you’re suggesting. Anyhow, it wasn’t there.”[/code]
The thing is, I wonder if there is a seamless way to temporarily switch to one set of responses (how Murphy the gardener responds) then switch back to the default response (eg, You can’t XYZ) then switch to another set of responses (eg, the maid responds to GET SHOVEL with “I wouldn’t dare touch a dirty thing like that!”).

PS, as my computer is in the shop I haven’t tried the new build for myself, so I realize that it may already be answered in the documentation.

It’s rather tedious, but you can do something like this:

After interrogating Murphy:
    now the print empty inventory rule response (A) is "I wasn't carrying anything at the moment.";
    now the print standard inventory rule response (A) is "I had ";
    now the standard report taking rule response (A) is "Then I picked up [the noun].";

You can see these responses in the Rules and Actions panels of the Index, or with the RESPONSES testing command. Once you have Inform running, there’s more information in sections 14.11 and 14.12 of the documentation.

EDIT: If you have a custom rule for something like the shovel, that’s much easier. You can just write something like this:

Instead of taking the shovel when the player is Ethel:
    say "I wouldn't touch something that dirty!".

Before 6L02 the Default Messages extension could do this by changing a table-type variable. But now I think you’d have to do rules per response.

You could make a table with a column of responses and a column of the things you want to change them to:

Table of New Responses
response alteration
print empty inventory rule response (A) “Empty-handed.”
print standard inventory rule response (A) "Things held: "

Instead of jumping:
say “Your inventory responses change.”;
repeat through the table of new responses:
now the response entry is the alteration entry.

Lab is a room. A beaker is in Lab.[/code]

And then I suppose you could associate each narrator with one of these tables, so when you switched narrators you could run the repeat through the appropriate table. It’d still be a lot of typing, but less typing than if you had to write “now the foo rule response (A) is…” for every one.

EDIT: Hmm, this doesn’t seem to be displaying properly in my browser, but there’s a tab stop between “response” and “alteration.”