A Detailed Explanation On How Triggers Work

by Talon-Thorn

When a trigger is set off, the game is temporarily frozen while the computer evaluates the events tied to that trigger. That means that for “new turn” trigger, all flag values are fixed while all “new turn” events are evaluated for that turn. So, you can set a flag to true or false but it’s value won’t change until after all “new turn” events are evaluated. Any non “new turn” events occurring that day or later can use the flags, but the “new turn” events can’t use the updated flag values until the next “new turn” trigger the following turn.

This is confounded with a second “feature” of how the “new turn” trigger works with “control flag” events. An event based on a flag setting will occur ONLY if the event is in the events list BEFORE any “control flag” events which alter that flag. That is, if you have the following:

Event1: Fire storm, trigger: new turn, condition: flag 1
Event2: Lightning storm, trigger: new turn, condition: not flag 2
Event3: Control flag 1 = true, trigger: new turn
Event4: Control flag 2 = true, trigger: new turn, condition: flag 1 and not flag 2
Event5: Control flag 2 = false, trigger: new turn, condition: flag 1 and flag 2
Event6: Divine storm, trigger: new turn, condition: not flag 1
Event7: Ice storm, trigger: new turn, condition: flag 1
Event8: Death storm, trigger: new turn, condition: not flag 2

Well, on day 1, there is a lightning storm followed by a death storm. Day two brings a fire storm, lightning storm, and ice storm. Day three onward brings alternating fire-ice storms and fire-lightning-ice storms.

What is happening? Here is the details:

Day 1:
Event1: Flag 1 is false (default), so no fire storm.
Event2: Flag 2 is false (default), so lightning storm.
Event3: Flag 1 is set to true.
Event4: Flag 1 was changed, so this event does execute.
Event5: Flag 1 was changed, so this event does execute.
Event6: No divine storm since flag 1 was changed.
Event7: No ice storm since flag 1 was changed.
Event8: Death storm since flag 2 was not changed, and is false.

Day 2:
Event1: Fire storm, since flag 1 is now true.
Event2: Lightning storm since flag 2 is still false.
Event3: Flag1 is already set to true, so this has no effect.
Event4: Flag 1 is true and flag 2 is false, so flag 2 is set to true.
Event5: Flag 2 was changed, so this event does not execute. (how nice!)
Event6: No divine storm since flag 1 is now false.
Event7: Flag 1 is now true so ice storm.
Event8: Flag 2 was changed so no death storm.

Day 3:
Event1: Fire storm, since flag 1 is true.
Event2: No lightning storm since flag 2 is now true.
Event3: Flag1 is already set to true, so this has no effect.
Event4: Flag 1 is true and flag 2 is true, so nothing happens here.
Event5: Flag 2 is true as is flag 1, so flag 2 is set to false.
Event6: No divine storm since flag 1 is false.
Event7: Flag 1 is true so ice storm.
Event8: Flag 2 was changed (again) so no death storm.

BACK TO SCENARIO DESIGN MAIN MENU