Overwriting ThinkAbout

Hello,

>think about it
Nothing comes to mind.

“it” in this case, was after a yes or no topic was asked by a NPC to the PC.

How do I go about changing the default response here to something more meaningful?

I found ThinkAbout in the manual, but it doesn’t really demonstrate how to overwrite the message. It is a TopicAction. How can I ensure the reply is specific to the current question being asked?

As always, thank you for your help.

Deborah

Adv3 o A3Lite ?

Anyway, in Adv3 I guess (both libraries’s documentation depth being what are), after re-reading the initiateConversation page of the tourguide, the best approach is adding thinking to the canEndConversation method.

on a3Lite, I have a pair of ideas, but I should ask Azuj & Miyai’s opinion (BTW, thanks for the excuse for tinkering around Isekai !)

Best regards from Italy,
dott. Piergiorgio.

1 Like

Azuj’s first opinion is that “it” don’t refer to topics:

>topics

You could ask her about (1) her horns, (2) her bosom, (3) herself, (4) her cousin, (5) Miyai’s wings, (6) Miyai’s bosom or (7) her wings.

>ask about it
Azuj does not respond. 

>x her horns
seeing live her horns....

>ask about it
Azuj does not respond. 

dunno if the same (“it” don’t refer to the last topic) applies to adv3, and Miyai concurs:

>think about Miyai
Miryarai Nilasi Yie, a tall, phlegmatic angel with white wings.

>think about her
You find that your mind start to wander; for some reason you can’t concentrate on that topic right now. 

so, in a3Lite a topic isn’t considered the last-referred noun (“it”, and also “her” and “him”) and I suspect that the same holds for adv3.

so, the problem should be attacked from the action perspective. but I have no idea about how to check in an action if there’s a pending yes/no question. But at least we know that “it” don’t refer to the last topic brought.

Now are the 03:00 in Italy, so let’s call it a day (or is more precise “call it a night” ? :smiley: )

Best regards from Italy,
dott. Piergiorgio.

1 Like

Ok, I’m already on thin ice even TRYING to answer an adv3lite question, really I’m hoping I’ll trigger actual expertise to step in.

dott. Piergiorgio is plumbing the pronoun assignment piece of the problem. I think maybe the question is more direct? It looks to me like default response to ThinkAbout is defined in the verb definition itself, the ‘Nothing comes to mind.’ sentence below.

ThinkAbout : TopicAction
    // a whole bunch of methods/properties, then
    noThought = BMsg(no thought comes to mind, 'Nothing comes to mind. ')
;

It also further looks to me like adv3lite has a mechanism to override these messages with CustomMessages objects. Following comments in the code, it appears this might get it done?

overrideMessages : CustomMessages
    messages = [Msg(no thought comes to mind, 'My new message.')]
;

Do I have that right?

Why do I feel compelled to dig into something I have no working knowledge of? ARE WE NOT AWARE OF MY SICKNESS???

2 Likes

I suggest you look at the section on Thoughts in the adv3Lite Library Manual. While you can use a CustomMessages object, it might be more straightforward to define a DefaultThought, for example:

myThoughts: ThoughtManager
;

+ DefaultThought
    "You find your thoughts start to wander; for some reason you can't
    concentrate on that topic right now. "
;

You can also define the response to specific THINK ABOUT WHATEVER commands by defining the appropriate Thought objects located under your ThoughtManager object, for example:

+ Thought @george
    "To be honest, you're not really sure what he's doing here. "
;

+ Thought @tFire
    "It's a wretched nuiscance. Your nephew's probably to blame for it
    somehow, but the important thing right now is just to escape from it. "
;
3 Likes