I apologize, I can’t come up with a better subject…
So I got all up in Matt Wigdahl’s “Keywords for Conversation” extension, which includes (individually, it seems) all of Dr. Eve’s conversation extensions. I like the idea of guided conversation, since conversation is pretty much the most ambiguous crime you can inflict on a game without some direction. (Obvious exceptions notwithstanding.)
I’m thinking that there are several aspects of this system that I don’t care for and some things that need some additional capability.
First of all, I’m not a fan of the player being told that there’s nothing s/he needs to discuss with an NPC if I don’t specify topic suggestions. There are, of course, things that need to be discussed, but I’d like to handle that prompting differently. I haven’t attempted to alter this behavior because I’m not familiar enough with the language to try to delve into the extension and modify it manually. Is there a setting somewhere that just… disables this?
Second, I’d like to be able to end a conversation. Once it gets to a certain point (or a certain topic has been discussed), I’d really like to disallow further interrogation. I dunno, maybe set a flag or something and use an “Instead” rule to prevent the player from pestering the NPC further.
Is this possible? I tried just setting a variable for it, but Inform apparently doesn’t care for it. Maybe it’s a syntax thing. Here’s a mock-up, since I don’t know the underlying rule for “talking”.
Done_With_You is a truth state variable.
Instead of talking to NPC: [Throws an error]
If Done_With_You is true:
say "He doesn't have anything else to say."
Response of NPC when asked about blinker fluid:
say "It's on aisle five. I'm busy, so get lost.";
Now Done_With_You is true.
I’m sure that there’s a way to do exactly what I’m wanting to do. Is it built into the Conversation Package? Do I need to look elsewhere? Or am I just doing the “Instead of talking” thing wrong, since that was the only thing giving me an error message on the last build?