Ask NPC about "this phrase" OR "that phrase"

Hi. I’ve been playing around with NPC conversation in Inform 7 and cannot seem to figure out how to include more than one phrase (with the same meaning) in a single ‘ask’ query. I know I can say:

Instead of asking Connie about “when she is leaving”, say “‘When are you going, Connie?’”

But what I want to be able to say is:

Instead of asking Connie about “when she is leaving” or “when she is going” or “when she is moving” or “when she has to go” or “when the job starts” or “when she starts”: say “When are you going, Connie?”

Which doesn’t work. Is it possible to do this without coding each phrase separately?

You could make a new token:

Understand "when she is leaving" or "when she is going" or "when she is moving" or "when she has to go" or "when the job starts" or "when she starts" as "[leaving]". Instead of asking Connie about "[leaving]", say "When are you going, Connie?"

You could also try this:

Instead of asking Connie about something when the topic understood matches "When she is leaving" or the topic understood matches "when she is going" or...

but that’s far more annoying to deal with. Note that, in general, “or” has to join complete conditions–you have to say something like “If the noun is the ball or the noun is the bat” rather than “If the noun is the ball or the bat.” Yet another way Inform isn’t really English.

Also, a warning, which is that trying to capture all the ways the player might think to phrase something like this might turn very headachey. You’ll have to be very careful about how you clue this to avoid a guess-the-question puzzle.

Thanks, Matt W! That looks like just the thing: I’m going to give tokens a try.

Fantastic! Works like a charm.

Your tip re: attempting to anticipate every variation on a player’s input is appreciated as well, but I just can’t resist.

Thanks again!

Anticipating variations is good, but the examples that you’ve given mostly fit into a strict template: ask connie about when she is …

A common practice is to be a bit more flexible and to look for specific keywords in the input. With this approach, the game accepts some nonsense, but it doesn’t require the player to be as much of a mind reader.

Living Room is a room.

Connie is a woman in Living Room.

Instead of asking Connie about something when the topic understood includes "going/moving/job/leaving":
	say "[quotation mark]When are you going, Connie?[quotation mark][line break]".

[allow more natural sounding "ask connie when she is leaving" instead of "ask connie about when she is leaving"]
Understand "ask [someone] [text]" as asking it about.

Test me with "ask connie about job / ask connie about when she is leaving / ask connie when she is leaving / ask connie when she's leaving / ask connie about leaving".

You might also want to trap the “answering it that” action, which will get commands like CONNIE, WHEN ARE YOU LEAVING?

Above all, have other people test your game. That will tell you how well clued your interactions are.

Thank you, thank you, thank you Vince and Matt. I was reticent to post here as I imagine you get the same questions over and over again, but searching the forum proved difficult and impatience to get rolling trumped my usual tendency to bang my head against things until they work. People here are certainly gracious with their time, and I really appreciate it.

I’m off to play with the new code you guys have given me!