Depending on how much variation you have where, you could maybe sort them into two actions.
The docs could be much clearer on this point. Consider this code, and this will confuse more than enlighten until you stare at it a while – sorry.
As I described above, the reckoning of “was” states happens in the update chronological records rule, which happens almost at the end of the turn sequence (right after the turn count is incremented) and before the second check for whether scenes begin or end. The update chronological records rule is also followed once at the start of the game before the initial command prompt. so if X was Y
is really asking “Was X Y at the moment of the previous following of the update chronological records rule?”
Edited: I realized this would be more useful with rules tracing.
Rules-traced example
Lab
Untitled
An Interactive Fiction
Release 1 / Serial number 220519 / Inform 7 v10.1.0 / D
Turn 1. Before the lantern is unlit.
Turn 1. Before the lantern was unlit.
Lab
test me
(Testing.)
[1] rules
Rules tracing now switched on. Type “rules off” to switch it off again, or “rules all” to include even rules which do not apply.
[Rule “parse command rule” applies.]
[2] turn on lamp
[Rule “declare everything initially unmentioned rule” applies.]
[Rule “generate action rule” applies.]
[Rule “announce items from multiple object lists rule” applies.]
[Rule “set pronouns from items from multiple object lists rule” applies.]
[Rule “before stage rule” applies.]
[Rule “before doing anything” applies.]
Turn 1. Before the lantern is unlit.
Turn 1. Before the lantern was unlit.
[Rule “basic visibility rule” applies.]
[Rule “basic accessibility rule” applies.]
[Rule “access through barriers rule” applies.]
[Rule “carrying requirements rule” applies.]
[Rule “instead stage rule” applies.]
[Rule “requested actions require persuasion rule” applies.]
[Rule “carry out requested actions rule” applies.]
[Rule “descend to specific action-processing rule” applies.]
[Rule “work out details of specific action rule” applies.]
[Rule “investigate player’s awareness before action rule” applies.]
[Rule “player aware of his own actions rule” applies.]
[Rule “check stage rule” applies.]
[Rule “can’t switch on unless switchable rule” applies.]
[Rule “can’t switch on what’s already on rule” applies.]
[Rule “carry out stage rule” applies.]
[Rule “carry out switching on the lantern” applies.]
[Rule “standard switching on rule” applies.]
[Rule “after stage rule” applies.]
[Rule “investigate player’s awareness after action rule” applies.]
[Rule “report stage rule” applies.]
[Rule “standard report switching on rule” applies.]
You switch the lantern on.
[Rule “last report switching on” applies.]
Turn 1. Report the lantern is lit.
Turn 1. Report the lantern was unlit.
[Rule “last specific action-processing rule” applies.]
[Rule “A first turn sequence rule” applies.]
[Rule “scene change machinery rule” applies.]
[Rule “scene description text rule” applies.]
[Rule “When toggle begins” applies.]
Turn 1. first scene check the lantern is lit.
Turn 1. first scene check the lantern was unlit.
[Rule “every turn stage rule” applies.]
[Rule “every turn stage rule” applies.]
[Rule “every turn” applies.]
Turn 1. Every the lantern is lit.
Turn 1. Every the lantern was unlit.
[Rule “timed events rule” applies.]
[Rule “advance time rule” applies.]
[Rule “update chronological records rule” applies.]
[Rule “A last turn sequence rule” applies.]
[Rule “scene change machinery rule” applies.]
[Rule “When toggle ends” applies.]
Turn 2. second scene check the lantern is lit.
Turn 2. second scene check the lantern was lit.
[Rule “adjust light rule” applies.]
[Rule “note object acquisitions rule” applies.]
[Rule “notify score changes rule” applies.]
[Rule “parse command rule” applies.]
[3] z
[Rule “After reading a command when foo is true” applies.]
[Rule “declare everything initially unmentioned rule” applies.]
[Rule “generate action rule” applies.]
[Rule “announce items from multiple object lists rule” applies.]
[Rule “set pronouns from items from multiple object lists rule” applies.]
[Rule “before stage rule” applies.]
[Rule “before doing anything” applies.]
Turn 2. Before the lantern is lit.
Turn 2. Before the lantern was lit.
[Rule “basic visibility rule” applies.]
[Rule “basic accessibility rule” applies.]
[Rule “carrying requirements rule” applies.]
[Rule “instead stage rule” applies.]
[Rule “requested actions require persuasion rule” applies.]
[Rule “carry out requested actions rule” applies.]
[Rule “descend to specific action-processing rule” applies.]
[Rule “work out details of specific action rule” applies.]
[Rule “investigate player’s awareness before action rule” applies.]
[Rule “player aware of his own actions rule” applies.]
[Rule “check stage rule” applies.]
[Rule “carry out stage rule” applies.]
[Rule “after stage rule” applies.]
[Rule “investigate player’s awareness after action rule” applies.]
[Rule “report stage rule” applies.]
[Rule “standard report waiting rule” applies.]
Time passes.
[Rule “last specific action-processing rule” applies.]
[Rule “A first turn sequence rule” applies.]
[Rule “scene change machinery rule” applies.]
[Rule “scene description text rule” applies.]
[Rule “When toggle begins” applies.]
Turn 2. first scene check the lantern is lit.
Turn 2. first scene check the lantern was lit.
[Rule “every turn stage rule” applies.]
[Rule “every turn” applies.]
Turn 2. Every the lantern is lit.
Turn 2. Every the lantern was lit.
[Rule “timed events rule” applies.]
[Rule “advance time rule” applies.]
[Rule “update chronological records rule” applies.]
[Rule “A last turn sequence rule” applies.]
[Rule “scene change machinery rule” applies.]
[Rule “When toggle ends” applies.]
Turn 3. second scene check the lantern is lit.
Turn 3. second scene check the lantern was lit.
[Rule “adjust light rule” applies.]
[Rule “note object acquisitions rule” applies.]
[Rule “notify score changes rule” applies.]
[Rule “parse command rule” applies.]
[4] turn off lamp
[Rule “After reading a command when foo is true” applies.]
[Rule “declare everything initially unmentioned rule” applies.]
[Rule “generate action rule” applies.]
[Rule “announce items from multiple object lists rule” applies.]
[Rule “set pronouns from items from multiple object lists rule” applies.]
[Rule “before stage rule” applies.]
[Rule “before doing anything” applies.]
Turn 3. Before the lantern is lit.
Turn 3. Before the lantern was lit.
[Rule “basic visibility rule” applies.]
[Rule “basic accessibility rule” applies.]
[Rule “access through barriers rule” applies.]
[Rule “carrying requirements rule” applies.]
[Rule “instead stage rule” applies.]
[Rule “requested actions require persuasion rule” applies.]
[Rule “carry out requested actions rule” applies.]
[Rule “descend to specific action-processing rule” applies.]
[Rule “work out details of specific action rule” applies.]
[Rule “investigate player’s awareness before action rule” applies.]
[Rule “player aware of his own actions rule” applies.]
[Rule “check stage rule” applies.]
[Rule “can’t switch off unless switchable rule” applies.]
[Rule “can’t switch off what’s already off rule” applies.]
[Rule “carry out stage rule” applies.]
[Rule “carry out switching off the lantern” applies.]
[Rule “standard switching off rule” applies.]
[Rule “after stage rule” applies.]
[Rule “investigate player’s awareness after action rule” applies.]
[Rule “report stage rule” applies.]
[Rule “standard report switching off rule” applies.]
You switch the lantern off.
[Rule “last report switching off” applies.]
Turn 3. Report the lantern is unlit.
Turn 3. Report the lantern was lit.
[Rule “last specific action-processing rule” applies.]
[Rule “A first turn sequence rule” applies.]
[Rule “scene change machinery rule” applies.]
[Rule “scene description text rule” applies.]
[Rule “When toggle begins” applies.]
Turn 3. first scene check the lantern is unlit.
Turn 3. first scene check the lantern was lit.
[Rule “every turn stage rule” applies.]
[Rule “every turn” applies.]
Turn 3. Every the lantern is unlit.
Turn 3. Every the lantern was lit.
[Rule “timed events rule” applies.]
[Rule “advance time rule” applies.]
[Rule “update chronological records rule” applies.]
[Rule “A last turn sequence rule” applies.]
[Rule “scene change machinery rule” applies.]
[Rule “When toggle ends” applies.]
Turn 4. second scene check the lantern is unlit.
Turn 4. second scene check the lantern was unlit.
[Rule “adjust light rule” applies.]
[Rule “note object acquisitions rule” applies.]
[Rule “notify score changes rule” applies.]
[Rule “parse command rule” applies.]