Add Library routines
[inform-resources.git] / inflibqr / inflibqr.md
index 3735567affae10c58f6844163ecc7da9927eb03b..713e86a78762741f7b8b227cc99078ca87f003b8 100644 (file)
@@ -96,4 +96,99 @@ 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.
\ No newline at end of file
+"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.
+
+Library routines
+----------------
+
+Achieved(*expr*) - A scored task has been achieved.
+
+AfterRoutines() - In a group 2 action, controls output of 'after'
+messages.
+
+AllowPushDir() - An object can be pushed from one location to another.
+
+Banner() - Prints the game banner.
+
+ChangePlayer(*object*,*flag*) - Player assumes the persona of the
+*object*. If the optional *flag* is *true*, room descriptions include
+"(as *object*)".
+
+CommonAncestor(*object1*,*object2*) - Returns the nearest object which
+a parental relationship to both *objects*, or `nothing`.
+
+DictionaryLookup(*byte_array*,*length*) - Returns address of word in
+dictionary, or 0 if not found.
+
+DrawStatusLine() - Refreshes the status line.
+
+GetGNAOfObject(*object*) - Returns gender-number-animation 0..11 of
+the *object*.
+
+HasLightSource(*object*) - Returns `true` if the *object* has light.
+
+IndirectlyContains(*parent_object*,*object*) - Returns true if object
+is currently a child or grand-child or great-grand-child... of the
+*parent_object*.
+
+IsSeeThrough(*object*) - Returns `true` if light can pass through the
+*object*.
+
+Locale(*object*,"*string1*","*string2*") - Describes the contents of
+object, and returns their number. After objects with own paragraphs,
+the rest are listed preceded by *string1* or *string2*.
+
+LoopOverScope(*routine*,*actor*) - Calls *routine*(*object*) for each
+*object* in scope. If the optional *actor* is supplied, that defines
+the scope.
+
+MoveFloatingObjects() - Adjusts positions of game's `found_in`
+objects.
+
+NextWord() - Returns the next dictionary word in the input stream,
+incrementing *wn* by one. Returns `false` if the word is not in the
+dictionary, or if the input stream is exhausted.
\ No newline at end of file