How do I not advance the turn count or set it to some other value? Specifically, when a player types “help” or “inventory”, I don’t want the turn count to advance. I am looking for something like:
But I don’t seem to be able to set the value of this as a variable. I’m probably bringing my prejudices over from other languages. Is there an easy way to conditionally set the value of turn count?
Inform considers some actions, such as saving, to be “out of world” (see §12.15 in the “Writing with Inform” manual), those don’t advance the turn counter. A help command like the one you’re describing is probably a good example of that. The definition of the helping action would need to be changed to say:
Helping is an action out of world.
Taking inventory, however, is already defined as an action, so you can’t simply re-define it. The easiest (albeit somewhat hacky) way to change how some actions affect the turn count would be to write a Before rule that decreases the turn counter:
Before taking inventory:
decrease the turn count by one.
(Edit: Manually fiddling with the turn counter like in the example above might have unintended effects I’m not aware of. For more granular control of which actions take how much time, you can also try the extension Variable Time Control by Eric Eve.)
Both of these options will halt the turn count variable, but not other end-of-turn activities like “every turn” rules or “… has been true for three turns”.
You should look at the example “Timeless” in the Recipe Book.