Why doesn't "[thing]" parse as a topic?

It seems to me that Conversation Framework, and indeed many conversation extensions and their related complexities, have all arisen from this one deficiency. I can’t understand why a thing can’t be used as a token in a topic.

Here’s an example:

The Stage is a room.

Bob is a man in The Stage.

The script is a thing.

Instead of asking Bob about "[script]":
	say "'There is no script.'"
Test me with "ask Bob about script"

In fact, if I change the token from [script] to [something], I get a compiler error:

This seems to be the actual problem, but the wording of the error doesn’t seem like much of a justification to me, since other tokens can be used to match topics. Of course section 16.1 has absolutely nothing to say about this situation.

Perhaps I’m missing something, but why do you need to use a text token in this case? I had thought that Conversation Framework allows a thing to be a topic of conversation in its own right (as long as it is “familiar” to the player). Thus, having declared the script to be a thing, and assuming it is familiar (either because the player has previously seen it or because it has been specifically declared to be familiar), you should be able to say

Instead of asking Bob about the script: say "'There is no script.'"

I know that this works with some of the extensions that build on Conversation Farmework; does it not work with the basic extension? Or am I misunderstanding what you want to do?

Robert Rothman

I was trying to get at why there is a need for Conversation Framework in the first place.

Conversation Framework adds its own complications in that it creates separate actions that apply to things instead of topics.

Instead of asking Bob about "script":


Instead of quizzing Bob about the script:

And then there’s:

Instead of telling Bob about "script":


Instead of informing Bob about the script:

It quickly gets very complicated so that it’s hard to tell if a conversation is going on because of the many different conversation actions. Conversation Responses attempts to gather them together into various kinds-of-action and to-decide-whether phrases, but it’s still a nasty tangle.

It does in fact parse as a topic, but in doing so the value of the global variable “the noun” is altered to match the object referred to in the topic, which has unfortunate side effects for rulebook processing.

There’s a discussion about it on this forum, which lead to an issue being raised which at time of writing is Confirmed but not fixed. (I’m not sure whether “Confirmed” means “this happens” or “this happens and is a bug.”)

I’ve also raised a UserVoice suggestion in this area. Feel free to vote for it, or not, as you see fit :slight_smile: