| St 1 Standards | Xt 2 Extras | Rules Index Inform's general workings

St 1 | Standards — From the Standard Rules About rulebooks ; About activities ; Moving or abolishing rules

Rules governing actions

These rules are the ones which tell Inform how actions work, and which affect how they happen in particular cases.

persuasion ... rulebook (0 rules)

persuasion ... rulebook | name
There are no rules in this rulebook. |

unsuccessful attempt by ... rulebook (0 rules)

unsuccessful attempt by ... rulebook | name
There are no rules in this rulebook. |

before ... rulebook (8 rules)

before ... rulebook | name
someone trying going through a closed door (called the blocking door) intelligently opening doors rule name unlist going through a closed door (called the blocking door) opening doors before entering rule name unlist 1 A "(first opening [the blocking door])[command clarification break]" name set someone trying locking an open thing (called the door ajar) with something intelligently closing doors rule name unlist locking an open thing (called the door ajar) with something closing doors before locking rule name unlist 1 A "(first closing [the door ajar])[command clarification break]" name set someone trying locking keylessly an open thing (called the door ajar) intelligently closing keyless doors rule name unlist someone trying opening a locked thing (called the sealed chest) intelligently opening containers rule name unlist locking keylessly an open thing (called the door ajar) closing doors before locking keylessly rule name unlist 1 A "(first closing [the door ajar])[command clarification break]" name set opening a locked thing (called the sealed chest) unlocking before opening rule name unlist 1 A "(first unlocking [the sealed chest])[command clarification break]" name set |

instead ... rulebook (41 rules)

instead ... rulebook | name
going east in the Mysterious Room going west in the Mysterious Room going up in the Mysterious Room going down in the Mysterious Room going north in the Testing Area going east in the Testing Area going south in the Testing Area going west in the Testing Area going up in the Testing Area going down in the Testing Area going down in the Lower Landing going up in the Lower Landing going down in the Upper Landing going south in the Observation Room exiting in the Mysterious Room going in the Testing Area putting something which is not a passkey on a keychain limiting keychains rule name unlist 1 A "[The noun] [are] not a key." name set listening to the Mysterious Room smelling the Mysterious Room going south taking the lamp opening the journal opening the compartment pushing the left switch pushing the right switch attacking the slide puzzle box attacking the block of ice taking the wooden box attacking the wall touching the wall taking the equipment taking the fake room entering the first staircase climbing the first staircase entering the second staircase climbing the second staircase attacking the window taking the table opening the wooden door entering the door escaping default outcome is failure |

check ... rulebook (0 rules)

check ... rulebook | name
Check rules are tied to specific actions, and there are too many to index here. For instance, the check taking rules can only ever affect the taking action, so they are indexed on the detailed index page for taking. |

carry out ... rulebook (0 rules)

carry out ... rulebook | name
Carry out rules are tied to specific actions, and there are too many to index here. |

after ... rulebook (6 rules)

after ... rulebook | name
unlocking the beige door with the thin key unlocking the lockbox with the wide key putting orange berry on the block of ice typing Code examining an identified passkey passkey description rule name unlist 1 A "[The noun] [unlock] [the list of things unbolted by the noun]." name set hinting more than seven times default outcome is success |

report ... rulebook (0 rules)

report ... rulebook | name
Report rules are tied to specific actions, and there are too many to index here. |

Rules added to the sequence of play

These rulebooks are the best places to put rules timed to happen at the start, at the end, or once each turn. (Each is run through at a carefully chosen moment in the relevant top-level rulebook.) It is also possible to have rules take effect at specific times of day or when certain events happen. Those are listed in the Scenes index, alongside rules taking place when scenes begin or end.

when play begins ... rulebook (1 rule)

when play begins ... rulebook | name

every turn ... rulebook (3 rules)

every turn ... rulebook | name
when the player is in the Mysterious Room and SOS is 0 when the player is in the Mysterious Room |

when play ends ... rulebook (1 rule)

when play ends ... rulebook | name

How commands are understood

'Understanding' here means turning a typed command, like GET FISH, into one or more actions, like taking the red herring. This is all handled by a single large rule (the parse command rule), but that rule makes use of the following activities and rulebooks in its work.

does the player mean ... rulebook (2 rules)

does the player mean ... rulebook | name
taking something which is carried by the player very unlikely to mean taking what's already carried rule name unlist taking off something worn outcome it is very likely - a success outcome it is likely - a success outcome it is possible - a success outcome it is unlikely - a success outcome it is very unlikely - a success |

reading a command ... activity (1 rule)

reading a command ... activity | b f a
after |

deciding the scope ... activity (0 rules)

deciding the scope ... activity | b f a
There are no rules before, for or after this activity. |

deciding the concealed possessions ... activity (0 rules)

deciding the concealed possessions ... activity | b f a
There are no rules before, for or after this activity. |

deciding whether all includes ... activity (6 rules)

deciding whether all includes ... activity | b f a
for a person while dropping or throwing or inserting or putting exclude people from drop all rule name unlist for scenery while taking or taking off or removing exclude scenery from take all rule name unlist for things enclosed by the person reaching while taking or taking off or removing exclude indirect possessions from take all rule name unlist for fixed in place things while taking or taking off or removing exclude fixed in place things from take all rule name unlist for people while taking or taking off or removing exclude people from take all rule name unlist for passkeys which are on a keychain don't strip keys rule name unlist outcome it does not - a failure outcome it does - a success default outcome is success |

clarifying the parser's choice ... activity (0 rules)

clarifying the parser's choice ... activity | b f a
There are no rules before, for or after this activity. |

asking which do you mean ... activity (0 rules)

asking which do you mean ... activity | b f a
There are no rules before, for or after this activity. |

printing a parser error ... activity (0 rules)

printing a parser error ... activity | b f a
There are no rules before, for or after this activity. |

supplying a missing noun ... activity (4 rules)

supplying a missing noun ... activity | b f a
for while an actor smelling ambient odour rule name unlist for while an actor listening ambient sound rule name unlist for while an actor going block vaguely going rule name unlist 1 A "You'll have to say which compass direction to go in." name set for while entering find what to enter rule name unlist default outcome is success |

supplying a missing second noun ... activity (0 rules)

supplying a missing second noun ... activity | b f a
There are no rules before, for or after this activity. |

implicitly taking ... activity (1 rule)

implicitly taking ... activity | b f a
for standard implicit taking rule name unlist 2 A "(first taking [the noun])[command clarification break]" name set B "([the second noun] first taking [the noun])[command clarification break]" name set default outcome is success |

How things are described

These activities control what is printed when naming rooms or things, and their descriptions.

printing the name ... activity (3 rules)

printing the name ... activity | b f a
before a thing (called the item being printed) make named things mentioned rule name unlist for standard name printing rule name unlist default outcome is success after an identified passkey (called the item) while taking inventory identify passkeys in inventory rule name unlist 1 A " (which [open] [the list of things unbolted by the item])" name set |

printing the plural name ... activity (1 rule)

printing the plural name ... activity | b f a
for something (called the item) standard printing the plural name rule name unlist default outcome is success |

printing a number ... activity (1 rule)

printing a number ... activity | b f a
for something (called the item) standard printing a number of something rule name unlist default outcome is success |

printing room description details ... activity (0 rules)

printing room description details ... activity | b f a
There are no rules before, for or after this activity. |

printing inventory details ... activity (0 rules)

printing inventory details ... activity | b f a
There are no rules before, for or after this activity. |

listing contents ... activity (1 rule)

listing contents ... activity | b f a
for standard contents listing rule name unlist default outcome is success |

grouping together ... activity (0 rules)

grouping together ... activity | b f a
There are no rules before, for or after this activity. |

writing a paragraph about ... activity (0 rules)

writing a paragraph about ... activity | b f a
There are no rules before, for or after this activity. |

listing nondescript items ... activity (0 rules)

listing nondescript items ... activity | b f a
There are no rules before, for or after this activity. |

printing the locale description ... activity (4 rules)

printing the locale description ... activity | b f a
before initialise locale description rule name unlist before find notable locale objects rule name unlist for interesting locale paragraphs rule name unlist for you-can-also-see rule name unlist 6 A "[We] " name set B "On [the domain] [we] " name set C "In [the domain] [we] " name set D "[regarding the player][can] also see " name set E "[regarding the player][can] see " name set F " here" name set default outcome is success |

choosing notable locale objects ... activity (1 rule)

choosing notable locale objects ... activity | b f a
for standard notable locale objects rule name unlist default outcome is success |

printing a locale paragraph about ... activity (9 rules)

printing a locale paragraph about ... activity | b f a
for a supporter (called the tabletop) initial appearance on supporters rule name unlist for a thing (called the item) don't mention player's supporter in room descriptions rule name unlist for a thing (called the item) don't mention scenery in room descriptions rule name unlist for a thing (called the item) don't mention undescribed items in room descriptions rule name unlist for a thing (called the item) set pronouns from items in room descriptions rule name unlist for a thing (called the item) offer items to writing a paragraph about rule name unlist for a thing (called the item) use initial appearance in room descriptions rule name unlist 1 A "On [the item] " name set for a thing (called the item) describe what's on scenery supporters in room descriptions rule name unlist 1 A "On [the item] " name set for a thing (called the item) describe what's on mentioned supporters in room descriptions rule name unlist 1 A "On [the item] " name set default outcome is success |

How accessibility is judged

These rulebooks are used when deciding who can reach what, and who can see what.

reaching inside ... an object based rulebook (2 rules)

reaching inside ... an object based rulebook | name
can't reach inside rooms rule name unlist 1 A "[We] [can't] reach into [the noun]." name set can't reach inside closed containers rule name unlist 1 A "[The noun] [aren't] open." name set outcome allow access - a success outcome deny access - a failure |

reaching outside ... an object based rulebook (1 rule)

reaching outside ... an object based rulebook | name
can't reach outside closed containers rule name unlist 1 A "[The noun] [aren't] open." name set outcome allow access - a success outcome deny access - a failure |

visibility ... rulebook (1 rule)

visibility ... rulebook | name
can't act in the dark rule name unlist outcome there is sufficient light - a failure outcome there is insufficient light - a success |

Light and darkness

These activities control how we describe darkness.

printing the name of a dark room ... activity (0 rules)

printing the name of a dark room ... activity | b f a
There are no rules before, for or after this activity. |

printing the description of a dark room ... activity (0 rules)

printing the description of a dark room ... activity | b f a
There are no rules before, for or after this activity. |

printing the announcement of darkness ... activity (0 rules)

printing the announcement of darkness ... activity | b f a
There are no rules before, for or after this activity. |

printing the announcement of light ... activity (1 rule)

printing the announcement of light ... activity | b f a
for look around once light available rule name unlist default outcome is success |

printing a refusal to act in the dark ... activity (0 rules)

printing a refusal to act in the dark ... activity | b f a
There are no rules before, for or after this activity. |

The top level

An Inform story file spends its whole time working through these three master rulebooks. They can be altered, just as all rulebooks can, but it's generally better to leave them alone.

startup rules ... rulebook (11 rules)

startup rules ... rulebook | name
initialise memory rule name unlist virtual machine startup rule name unlist seed random number generator rule name unlist update chronological records rule name unlist declare everything initially unmentioned rule name unlist position player in model world rule name unlist start in the correct scenes rule name unlist when play begins stage rule name unlist fix baseline scoring rule name unlist display banner rule name unlist initial room description rule name unlist |

starting the virtual machine ... activity (1 rule)

starting the virtual machine ... activity | b f a
for enable Glulx acceleration rule name unlist default outcome is success |

printing the banner text ... activity (0 rules)

printing the banner text ... activity | b f a
There are no rules before, for or after this activity. |

turn sequence rules ... rulebook (12 rules)

turn sequence rules ... rulebook | name
parse command rule name unlist declare everything initially unmentioned rule name unlist generate action rule name unlist 2 A "(considering the first sixteen objects only)[command clarification break]" name set B "Nothing to do!" name set every turn stage rule name unlist timed events rule name unlist advance time rule name unlist update chronological records rule name unlist adjust light rule name unlist 1 A "[It] [are] [if story tense is present tense]now [end if]pitch dark in [if story tense is present tense]here[else]there[end if]!" name set note object acquisitions rule name unlist notify score changes rule name unlist |

constructing the status line ... activity (0 rules)

constructing the status line ... activity | b f a
There are no rules before, for or after this activity. |

shutdown rules ... rulebook (4 rules)

shutdown rules ... rulebook | name
when play ends stage rule name unlist resurrect player if asked rule name unlist print player's obituary rule name unlist ask the final question rule name unlist |

amusing a victorious player ... activity (0 rules)

amusing a victorious player ... activity | b f a
There are no rules before, for or after this activity. |

printing the player's obituary ... activity (2 rules)

printing the player's obituary ... activity | b f a
for print final score rule name unlist for display final status line rule name unlist default outcome is success |

handling the final question ... activity (4 rules)

handling the final question ... activity | b f a
before print the final question rule name unlist 2 A "Would you like to " name set B " or " name set before print the final prompt rule name unlist 1 A "> [run paragraph on]" name set before read the final answer rule name unlist for standard respond to final question rule name unlist 1 A "Please give one of the answers above." name set default outcome is success |

How actions are processed

These form the technical machinery for dealing with actions, and are called on at least once every turn. They seldom need to be changed.

action-processing rules ... rulebook (11 rules)

action-processing rules ... rulebook | name
announce items from multiple object lists rule name unlist 1 A "[current item from the multiple object list]: [run paragraph on]" name set set pronouns from items from multiple object lists rule name unlist before stage rule name unlist basic visibility rule name unlist 1 A "[It] [are] pitch dark, and [we] [can't see] a thing." name set basic accessibility rule name unlist 1 A "You must name something more substantial." name set keychain-aware carrying requirements rule name unlist instead stage rule name unlist requested actions require persuasion rule name unlist 1 A "[The noun] [have] better things to do." name set carry out requested actions rule name unlist 1 A "[The noun] [are] unable to do that." name set descend to specific action-processing rule name unlist end action-processing in success rule name unlist NB: the keychain-aware carrying requirements rule is listed instead of the carrying requirements rule in the action-processing rules |

specific action-processing rules ... rulebook (8 rules)

specific action-processing rules ... rulebook | name
work out details of specific action rule name unlist investigate player's awareness before action rule name unlist check stage rule name unlist carry out stage rule name unlist after stage rule name unlist investigate player's awareness after action rule name unlist report stage rule name unlist |

player's action awareness rules ... rulebook (4 rules)

player's action awareness rules ... rulebook | name
player aware of his own actions rule name unlist player aware of actions by visible actors rule name unlist player aware of actions on visible nouns rule name unlist player aware of actions on visible second nouns rule name unlist |

How responses are printed

The Standard Rules, and some extensions, reply to the player's commands with messages which are able to be modified.

issuing the response text ... activity (1 rule)

issuing the response text ... activity | b f a
for standard issuing the response text rule name unlist default outcome is success |

Xt 2 | Extras — Further rulebooks, from the source or extensions About rulebooks ; About activities ; Moving or abolishing rules

From the extension Basic Screen Effects by Emily Short

pausing the game ... activity (1 rule)

pausing the game ... activity | b f a
for standard pausing the game rule name unlist 1 A "[paragraph break]Please press SPACE to continue." name set default outcome is success |

From the extension Locksmith by Emily Short

refusing keys ... activity (1 rule)

refusing keys ... activity | b f a
for something (called locked-thing) standard printing key lack rule name unlist 1 A "[We] [lack] a key that fits [the locked-thing]." name set default outcome is success |