Add Library variables
[inform-resources.git] / inflibqr / inflibqr.md
index 67fdb4e8a262d6b9b0a488a471491864e2fa8b65..d351e8789ec11b85e5ce7f7cb1b43eecb53e7823 100644 (file)
@@ -47,4 +47,97 @@ Library constants
 
 In addition to the standard constants `true` (1), `false` (0) and
 `nothing` (0), the Library defines `NULL` (-1) for an action, property
-or pronoun whose current value is undefined.
\ No newline at end of file
+or pronoun whose current value is undefined.
+
+User-defined constants
+----------------------
+
+Some constants control features rather than represent values.
+
+AMUSING_PROVIDED - Activates the `Amusing` entry_point.
+
+DEATH_MENTION_UNDO - Offers "UNDO the last move" when the game is
+over.
+
+DEBUG - Activates the debug commands.
+
+Headline = "*string*" - **Mandatory**: the game style, copyright
+information, etc.
+
+MANUAL_PRONOUNS - Pronouns reflect only objects mentioned by the
+player.
+
+MAX_CARRIED = *expr* - Maximum number of direct possessions that the
+player can carry (default 100).
+
+MAX_SCORE = *expr* - Maximum game score (default 0).
+
+MAX_TIMERS = *expr* - Maximum number of active timers/daemons
+(default 32).
+
+NO_PLACES - The "`OBJECTS`" and "`PLACES`" verbs are not allowed.
+
+NUMBER_TASKS = *expr* - Number of `scored` tasks to be performed
+(default 1).
+
+OBJECT_SCORE = *expr* - For taking a `scored` object for the first
+time (default 4).
+
+ROOM_SCORE = *expr* - For visiting a `scored` room for the first time
+(default 5).
+
+SACK_OBJECT = *object* - A `container` object where the game places
+held objects.
+
+Story = "*string*" - **Mandatory**: the name of the story.
+
+TASKS_PROVIDED - Activates the task scoring system.
+
+USE_MODULES - Activates linking with pre-compiled library modules.
+
+WITHOUT_DIRECTIONS - De-activates standard compass directions (bar
+"IN" and "OUT"). Place alternative directions in the compass.
+
+Library variables
+-----------------
+
+action - The current *action*.
+
+actor - The target of an instruction: the player, or an NPC.
+
+deadflag - Normally 0: 1 indicates a regular death, 2 indicates that
+the player has won, 3 or more denotes a user-defined end.
+
+inventory_stage - Used by `invent` and `list_together` properties.
+
+keep_silent - Normally false; true makes most group 2 actions silent.
+
+location - The player's current room; unless that's dark, when it
+contains `thedark`, `real_location` contains the room.
+
+notify_mode - Normally `true`: `false` remains silent when score
+changes.
+
+noun - The primary focus object for the current action.
+
+player - The object acting on behalf of the human player.
+
+real_location -The player's current room when in the dark.
+
+score - The current score.
+
+second - The secondary focus object for the current action.
+
+self - The object which received a message. (Note: a run-time
+variable, not a compile-time constant.)
+
+sender - The object which sent a message (or `nothing`).
+
+task_scores - A byte array holding scores for the task scoring
+system.
+
+the_time - The game's clock, in minutes 0..1439 since midnight.
+
+turns - The game's turn counter.
+
+wn - The input stream word number, counting from 1.
\ No newline at end of file