Outta world actions

I’ve got a light in the status bar of my game which comes on whenever your last command didn’t make time pass, since the whole game’s time-sensitive. (I’m using Eric Eve’s Variable Time Control.)

It works for all the things I explicitly designate to take ‘no time’ ala the extension, but I want it to light up for any out of world actions as well, since they also take no time.

Is there a way to catch the fact of any out of world action occurring and changing a text variable in response? (the variable is how I make my light)

Here is what I did in Inform ATTACK:

[code]Section - Out of game is fast

Quitting the game is acting fast.
Saving the game is acting fast.
Restoring the game is acting fast.
Restarting the game is acting fast.
Verifying the story file is acting fast.
Switching the story transcript on is acting fast.
Switching the story transcript off is acting fast.
Requesting the story file version is acting fast.
Requesting the score is acting fast.
Preferring abbreviated room descriptions is acting fast.
Preferring unabbreviated room descriptions is acting fast.
Preferring sometimes abbreviated room descriptions is acting fast.
Switching score notification on is acting fast.
Switching score notification off is acting fast.
Requesting the pronoun meanings is acting fast.

Rule for setting action variables when acting fast:
now the take no time boolean is true.[/code]
Those are all the out-of-world actions, and you can change the code to work with your way of stopping time.

Thanks a lot for that. The approach seems to be working. I’m having trouble defining some out of world actions from extensions as acting fast, though. If I don’t make them acting fast, the source compiles.

I tried putting the extension-related ‘acting fasts’ in the extension at the end of the extension, but that actually makes the non-troublesome definitions also compile as errors. I also tried pulling them out of the extension and putting them last thing in the source, and that makes those definitions alone throw errors.

Ugh, that was painful, but I worked it out.

I had an action with the same name as a truth state in an extension. As soon as it saw the truth state was ‘acting fast’, it decided they were all objects. Took me ages to work this out, changing action names one at a time, etc.