Suppose you have something like:
Every turn when monster is chasing, say "He's coming!"
Out-of-game actions don’t trigger this as they aren’t considered turns, nor do parser errors like trying to kiss something not animate. But checking inventory does, as well as other actions that have no real “result”. How do you specify whether an action should result in a turn or not?
I’m thinking specifically in cases like:
Instead of cutting apple with something dull, say "Not sharp enough."
I wouldn’t want that to take a turn because the player didn’t really do anything; they were preempted by the game from taking any real action. How do you treat this like a parser error or an impossibility, so that it doesn’t take a turn? Does this have to be done with a Check rule instead of an Instead? How does Inform decide when a turn occurs? Is it only when an in-game action succeeds?
Also, how do I prevent taking inventory from counting as a turn? I want to treat it as a report that refreshed your memory, not an “action” that would actually require time to go by, which is seemingly how Inform views a turn.
Someone pointed me toward the concept of making an action “timeless”, such as:
[code]Examining something is acting fast.
Looking is acting fast.
The take visual actions out of world rule is listed before the every turn stage rule in the turn sequence rules.
This is the take visual actions out of world rule: if acting fast, rule succeeds.[/code]
I’m not entirely sure how this is working. Is it simply that the rule is listed before the every turn stage rule, and the “if acting fast, rule succeeds” part is designed to be called 100% of the time on timeless actions, so the action gets referred to the rule placed before the ‘every turn stage rule’?
Gee, that’s confusing to explain. In other words, the ‘take visual actions out of world rule’ is simply declared and placed as a rule that preempts the usual ‘every turn stage rule’ and then the ‘if acting fast, rule succeeds’ statement simply ties every visual action to that particular rule every time they are called (by virtue of them being ‘acting fast’ actions)?