When an actor leaves a stage in Siboot using the “want to find” or “want to go to” verbs, it’s necessary to reset the conversation they were engaged in (if any) to -0.99 and do the same for the person they were conversing with.
In the InConversation3 storyworld I had a verb called “ResetActorConversation” which was called by the role Fate when the protagonist chose the “want to find” verb.
The first five Consequences (SetTalingtoKate|Sawyer|AnaLucia|Hurley|Locke) use the subject of the “want to find” verb (passed into the verb as a This14Actor parameter) and reset their TalkingTo traits to -0.99.
The next five SetTalkingToJack Consequences reset these traits for Kate, Sawyer, Ana Lucia, Hurley, and Locke.
It all worked find and good in the InConversation3 test storyworld where only Jack could initiate conversations. However, when I moved all of the InConversation3 “greet” code over to the Siboot storyworld a strange thing happened – I could “greet” other actors but when I left a stage and returned, I couldn’t “greet” them a second time. Somehow an actor’s conversation with me wasn’t being reset when I left a stage.
After some checking I found out that when I implemented the “ResetActorConversation” in Siboot, I only included the Consequences where the This14Actor traits were set and had neglected to include any resets of the other side of the conversation. And when I looked back at those reset Consequences in InConversation3, I realized I’d need more than the five SetTalkingToJack’s that I used since the Siboot storyworld was going to by more dynamic: we wouldn’t know who had been talking to who so hardcoding Kate’s, Sawyer’s, Ana Lucia’s, Hurley’s, and Locke’s SetTalkingToJack to -0.99 wouldn’t work.
I ended up coming up with a new method
That has to be used with the N^2 (N x N) consequences that have to be set up to make sure all conversations are broken down correctly when an actor leaves a stage.