My story triggers require a number of different functionalities. For an example, I'll use the bar quest in my map. Essentially, you walk up to the bar, the bartender offers you a job, you question him further or accept the job, ect. If you accept the job, you go talk to the fellows at a table, tell them to leave, but they're hardasses so you have to battle them to get them to go. After they battle you, you can go back to the bartender and claim your reward, and for simplicities sake we'll end the example quest there.
From this example, a couple different "story functionalities" as I think of them are required. The most notable one is text. Not much of a story without dialogue. I've been using the transmission action instead of Display Text for its ability to show text for a given amount of time. The second one is what I think of as "one-time-events", for example, walking from the bar to the other table with your hero (which is trigger-controlled). The next thing I would consider is "out of story" events, like the battle which occurs, which teleports you to an arena where all your battles take place in the whole game. These sorts of events can be recurring. If you die and return to the location of the story, you jump right back into the battle, and can replay it as many times as necessary to win it. Another function is the activation of "story mode" triggers. It stops spell casting, item use, prevents you from walking away from the story, ect.
One problem I've run into is with the story battles. Say you're stuck in the dialogue while someone else who got there ahead of you is starting the battle. I decided to have the triggers skip whatever intermittent text there is so that you don't miss the battle and get left behind. Essentially there is an extra trigger that bumps up your DC. Unfortunately, this means there are now 2 triggers which can initiate the battle, so say you're in the middle of this trigger with the text running:
Condition:
DC = ("initiate battle value" - 1)
Actions:
Transmission("blah blah blah blah I'm a dirty whore")
Set DC to ("initiate battle value")
And your buddy starts his battle, which activates your "skip ahead to battle" trigger. Now, your "initiate battle" triggers will run, changing the DC value to "battle value", then the trigger with the transmission will finish, resetting the DC to "initiate battle value" accidentally.
Essentially I'm asking for help designing a control system for all these different events. They need to function sequentially but independant somehow.. I'm not exactly sure how to explain it. Any help is appreciated, and I'll answer any questions to the best of my ability. I'm starting to get crunched on free DC values, so I'm trying to make this work using 1 DC per story/cutscene.
None.