In short, was wondering if there was a way when using two actions (one asking a person about a topic, one asking a person about any thing), to force the game to check the topics first before moving onto the second action? I’m hoping it is easy and I’m just wracking my brain over something simple =P
I used a pretty basic way of using the ask command:
[ If there is a topic that exists, give the reply matching it ] After asking a person (called the NPC) about a topic listed in the Convo Table of the NPC: say "[reply entry][line break]". [ First row of convo table should be what is said if the NPC has nothing to say about the topic - basically an error, no topic found message in a story-friendly way ] Report asking someone (called the NPC) about: choose row 1 from the Convo Table of the NPC; say "[Reply entry][line break]"; Understand "Talk to/with [something] about [text]" as asking it about. The block asking rule is not listed in the report asking it about rulebook.
That part works fine. However, I also wanted to add the ability for the player to ask the person about any thing in the world. The issue I am having is if I want a topic (text) to be used even if there is an object that also may have that text or part of it.
An example would be asking a character about “party/celebration/festivities”. Having that alone as a topic in their conversation table works great. But when I add, say a “party streamer”, the game will assume I mean the object and use the new action (which I called inquiring it about) instead.
What I’m looking for, if possible, is a way to go through the conversation table first, if it fails, then move on to the inquiry action (and it’s associated inquiry table).
I know I could just use the topic route and make a topic for every object, but I think that would require making loads of text similar to:
Understand "party streamer", "pink streamer/streamers", "streamer/streamers" as "[PartyStreamerTopic]".
for each object to handle all the variety of possible text combinations used in “Understand xxx as object.” so it would catch them all.
If there was some way to convert the topic to an object (or an attempt at it), I could check for the “ask about topic”, and if none is found, then “try inquiring the noun about” the object (which was a noun) or at least check for it and assign it to a variable and then inquire about that, but I don’t know if that is possible
Does that make sense? Sorry for the ramblings, but if you have any ideas or where I should look, let me know. Thanks in advance!
Edit: I marked @otisdog 's first answer as the solution, as it answered the specific question I was asking. It should be noted, however, for anyone reading this in the future, it might be worth simply using objects instead of topics at all as @rileypb to avoid the issue altogether.