Change after multiple quips in Michael Martin's extensions

I’ve been using Michael Martin’s Quip-based Conversation and Reactable Quips to make some conversations, but I’ve run into a slight problem. I can’t seem to make an efficient way of allowing some effect to occur after the player has quipped a certain group of quips in the game as a whole rather than just the most recent single quip. Since quips are a value, I can’t seem to make a “done” or “undone” adjective for a quip that allows me to automatically create a rule of some sort that makes a quip done after quipping it.

The best I can muster is to make separate switched off devices off-stage that switch on after quipping a quip, and then making the effect happen when all the devices required are switched on. Here is an example of this idea:

[code]“Quip Issue”

Include Quip-based Conversation by Michael Martin.

Table of Quip Texts (continued)
quip quiptext
whatisit “‘Yes?’”
testgame “‘Yes it is.’”
unimportant “‘That isn’t important.’”

Test is a room. The stranger is a man in Test. The greeting of the stranger is whatisit. The litany of the stranger is Table of Stranger Talk.

Table of Stranger Talk
prompt response enabled
“Is this a test game?” testgame 1
“Who are you?” unimportant 1

testgamedone is a switched off device.

unimportantdone is a switched off device.

After quipping when the current quip is testgame:
now testgamedone is switched on;
if unimportantdone is switched on:
do the goodbye activity.

After quipping when the current quip is unimportant:
now unimportantdone is switched on;
if testgamedone is switched on:
do the goodbye activity.

To do the goodbye activity:
say “‘Well, you’ve went through all the conversation options, so goodbye!’”;
end the story finally.[/code]

There has to be a better way of doing this…

I haven’t tested this with the extensions, but kinds-of-value can have properties attached.

A quip is a kind of value.  
The quips are foo, bar, and baz.
A quip can be done or undone.

That’s bizarre. I thought for sure that I tried that and it gave an error message that I couldn’t give those adjectives to a kind of value, but it worked perfectly this time. Thanks.

Can’t you just do something like this?

[code]“Quip Issue”

Include Quip-based Conversation by Michael Martin.

Table of Quip Texts (continued)
quip quiptext
whatisit “‘Yes?’”
testgame “‘Yes it is.’”
unimportant “‘That isn’t important.’”

Test is a room. The stranger is a man in Test. The greeting of the stranger is whatisit. The litany of the stranger is Table of Stranger Talk.

Table of Stranger Talk
prompt response enabled
“Is this a test game?” testgame 1
“Who are you?” unimportant 1

testgamedone is a switched off device.

unimportantdone is a switched off device.

After quipping when the current quip is testgame: now testgamedone is switched on.

After quipping when the current quip is unimportant: now unimportantdone is switched on.

Every turn when testgamedone is switched on and unimportantdone is switched on:
say “‘Well, you’ve went through all the conversation options, so goodbye!’”;
end the story finally.[/code]

Well, first off, if that wasn’t the end of the game that would result in it being repeated for the entire rest of the game, but, forgetting that, the problem would be that, in this extension, the conversation terminates if no options are available, so if the result was, instead of the end of the game, another quip, you’d have to restart the conversation to get the new option. However, if there was more than two to do, some adaptation of that would probably work along with a silently try to talk while not being too wordy.