Threaded Conversation "ask about"

Hello everyone. I’m very new to inform and still wrapping my head around it for the most part. In my testing bed I wanted to set up what I thought was very simple dialog using Threaded Conversation by Chris Conley. I’m running into an issue in which my NPC only responds when the player “asks about [subject]” and will not respond if the player “asks [subject]”. I looked through the source of Threaded Conversation and I can see a line that says

Understand
“tell [someone] [a typable informative quip]” or
“ask [someone] [a typable questioning quip]” or
“tell [someone] that/about [a typable informative quip]” or
“ask [someone] that/about [a typable questioning quip]” as discussing it with (with nouns reversed)
when the current interlocutor is a person.

So it should work, but this is my issue.

The code is

where we be is a questioning quip.
The printed name of where we be is “where we are”.
Understand “where are we”, “where we are” as where we be.
The comment is “‘Where are we?’ You ask.”.
The reply is “[if God is named]God[otherwise]The man[end if] lets out a small exhalation and continues to stare at the horizon.”.

And this is my output

ask the man where we are
That doesn’t seem to be a topic of conversation at the moment.

ask the man where are we
That doesn’t seem to be a topic of conversation at the moment.

ask the man about where we are
“Where are we?” You ask.

The man lets out a small exhalation and continues to stare at the horizon.

1 Like

It’s worse than that. It looks like “ask the man about where we are” doesn’t work the second time you try it.

It’s a bug and it’s complicated. This extension does some really funky stuff to reinterpret and re-dispatch your commands. I’m not seeing an easy fix here, sorry.

I believe that repeating the question doesn’t work because I did not specify the quip as repeatable, so that’s a feature.

Ok, commenting out this bit of this rule makes this case work:

After reading a command when the player's command includes "say/ask/answer/discuss/tell/a/t" [and the player's command includes "about"] and the player's command does not include "ask/tell/a/t about":
    if the player's command includes "[someone talk-eligible]":
        cut the matched text.

Unfortunately, the rule isn’t named so you have to replace the extension’s whole section in your story to patch it (or modify a local copy of the extension).

Looks like it could cause problems if there are quips whose texts include the names of people in the game, though.

Fantastic! Thanks so much, I will test it out.

This doesn’t seem to work unfortunately. I’ve been tearing my hair out over it. I added what I thought would be a sloppy fix but it just confused me even more. I added the following just above my dialogue section:

After reading a command when the player's command includes "ask" and the player's command does not include "about":
	if the player's command includes "[someone talk-eligible]":
		let T be "[the player's command]";
		replace the regular expression "ask [printed name of current interlocutor]" in T with "ask [printed name of current interlocutor] about";
		change the text of the player's command to T;
		say "Current I: [printed name of current interlocutor]. T = [T].".

This led to the following:

>ask the man where we are

Current I: the man. T = ask the man about where we are.
That doesn't seem to be a topic of conversation at the moment.

>ask the man about where we are
"Where are we?" You ask.

The man lets out a small exhalation and continues to stare at the horizon.

Truly baffling.