Don't advance turn count

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:

Instead of helping, say:
“help text”;
turn count = turn count -1.

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?

Thanks,
Christopher

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.)

1 Like

Alternatively, you could selectively unlist timekeeping for the given action.

The advance time rule does nothing if the current action is the action of taking inventory.
1 Like

Thank you both for your quick responses. I tried your suggestions and they both work great.

Take care,
Christopher

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.

2 Likes

Thanks Andrew. I read that example and gave it a try. It’s working perfectly.