Add User-defined constants
[inform-resources.git] / inflibqr / inflibqr.md
1 % InfoLib At Your Fingertips
2 % Roger Firth <roger@firthworks.com>
3
4 A quick reference to the Inform Library.
5
6 Copyright © 2002 Roger Firth <roger@firthworks.com>. Copying and
7 distribution, with or without modification, are permitted in any
8 medium without royalty provided the copyright notice and this notice
9 are preserved.
10
11 <http://www.firthworks.com/roger/>
12
13 Version 1.5 (March 2002)
14
15 The road to brevity is via solecism and imprecision.
16
17 Library objects
18 ---------------
19
20 `compass` - A `container` object holding the twelve direction objects
21 `d_obj` `e_obj` `in_obj` `n_obj` `ne_obj` `nw_obj` `out_obj` `s_obj`
22 `se_obj` `sw_obj` `u_obj` `w_obj`.
23
24 `LibraryMessages` - If defined (between Includes of `Parser` and
25 `VerbLib`), changes standard library messages:
26
27     Object  LibraryMessages
28       with  before [;
29                 action : "string";
30                 action : "string";
31                 action : switch (lm_n) {
32                     value : "string";
33                     value : "string ",(a) lm_o,".";
34                     ...
35                     }
36                 ...
37                 ];
38
39 `selfobj` - The default player object. Avoid: use instead the `player`
40 variable, which usually refers to `selfobj`.
41
42 `thedark` - A pseudo-room which becomes the `location` when there is
43 no light (although the player object is not moved there).
44
45 Library constants
46 -----------------
47
48 In addition to the standard constants `true` (1), `false` (0) and
49 `nothing` (0), the Library defines `NULL` (-1) for an action, property
50 or pronoun whose current value is undefined.
51
52 User-defined constants
53 ----------------------
54
55 Some constants control features rather than represent values.
56
57 AMUSING_PROVIDED - Activates the `Amusing` entry_point.
58
59 DEATH_MENTION_UNDO - Offers "UNDO the last move" when the game is
60 over.
61
62 DEBUG - Activates the debug commands.
63
64 Headline = "*string*" - **Mandatory**: the game style, copyright
65 information, etc.
66
67 MANUAL_PRONOUNS - Pronouns reflect only objects mentioned by the
68 player.
69
70 MAX_CARRIED = *expr* - Maximum number of direct possessions that the
71 player can carry (default 100).
72
73 MAX_SCORE = *expr* - Maximum game score (default 0).
74
75 MAX_TIMERS = *expr* - Maximum number of active timers/daemons
76 (default 32).
77
78 NO_PLACES - The "`OBJECTS`" and "`PLACES`" verbs are not allowed.
79
80 NUMBER_TASKS = *expr* - Number of `scored` tasks to be performed
81 (default 1).
82
83 OBJECT_SCORE = *expr* - For taking a `scored` object for the first
84 time (default 4).
85
86 ROOM_SCORE = *expr* - For visiting a `scored` room for the first time
87 (default 5).
88
89 SACK_OBJECT = *object* - A `container` object where the game places
90 held objects.
91
92 Story = "*string*" - **Mandatory**: the name of the story.
93
94 TASKS_PROVIDED - Activates the task scoring system.
95
96 USE_MODULES - Activates linking with pre-compiled library modules.
97
98 WITHOUT_DIRECTIONS - De-activates standard compass directions (bar
99 "IN" and "OUT"). Place alternative directions in the compass.