Import v6.12.5 of the Inform 6 standard library
[informlib.git] / linklpa.h
1 ! ==============================================================================
2 !   LINKLPA:  Link declarations of common properties and attributes.
3 !
4 !   Supplied for use with Inform 6 -- Release 6.12.5 -- Serial number 210605
5 !
6 !   Copyright Graham Nelson 1993-2004 and David Griffith 2012-2021
7 !
8 !   This file is free software: you can redistribute it and/or modify
9 !   it under the terms of the GNU Affero General Public License as
10 !   published by the Free Software Foundation, either version 3 of the
11 !   License, or (at your option) any later version.
12 !
13 !   This file is distributed in the hope that it will be useful, but
14 !   WITHOUT ANY WARRANTY; without even the implied warranty of
15 !   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16 !   Affero General Public License for more details.
17 !
18 !   You should have received a copy of the GNU Affero General Public
19 !   License along with this program. If not, see
20 !   https://gnu.org/licenses/
21 !
22 !   This file is automatically Included in your game file by "parser".
23 ! ==============================================================================
24
25 System_file;
26
27 ! ------------------------------------------------------------------------------
28 !   Some VM-specific constants.
29 !   (WORDSIZE and TARGET_XXX are defined by the compiler.)
30 ! ------------------------------------------------------------------------------
31
32 #Ifdef TARGET_ZCODE;
33 Constant NULL         = $ffff;
34 Constant WORD_HIGHBIT = $8000;
35 #Ifnot; ! TARGET_GLULX
36 Constant NULL         = $ffffffff;
37 Constant WORD_HIGHBIT = $80000000;
38 #Endif; ! TARGET_
39
40 ! ------------------------------------------------------------------------------
41 !   The common attributes and properties.
42 ! ------------------------------------------------------------------------------
43
44 Attribute animate;
45 Attribute absent;       Attribute non_floating alias absent;
46 Attribute clothing;
47 Attribute concealed;
48 Attribute container;
49 Attribute door;
50 Attribute edible;
51 Attribute enterable;
52 Attribute general;
53 Attribute light;
54 Attribute lockable;
55 Attribute locked;
56 Attribute moved;
57 Attribute on;
58 Attribute open;
59 Attribute openable;
60 Attribute proper;
61 Attribute scenery;
62 Attribute scored;
63 Attribute static;
64 Attribute supporter;
65 Attribute switchable;
66 Attribute talkable;
67 Attribute transparent;
68 Attribute visited;
69 Attribute workflag;
70 Attribute worn;
71
72 Attribute male;
73 Attribute female;
74 Attribute neuter;
75 Attribute pluralname;
76
77 #Ifdef INFIX;
78 Attribute infix__watching;
79 #Endif;
80
81 ! ------------------------------------------------------------------------------
82
83 Property additive before NULL;
84 Property additive after  NULL;
85 Property additive life   NULL;
86
87 Property n_to;
88 Property s_to;
89 Property e_to;
90 Property w_to;
91 Property ne_to;
92 Property nw_to;
93 Property se_to;
94 Property sw_to;
95 Property u_to;
96 Property d_to;
97 Property in_to;
98 Property out_to;
99
100 Property door_to;
101 Property with_key;
102 Property door_dir;
103 Property invent;
104 Property plural;
105 Property add_to_scope;
106 Property list_together;
107 Property react_before;
108 Property react_after;
109 Property grammar;
110 Property additive orders;
111
112 Property initial;
113 Property when_open;
114 Property when_closed;
115 Property when_on;
116 Property when_off;
117 Property description;
118 Property additive describe NULL;
119 Property article "a";
120
121 Property cant_go;
122
123 Property found_in;          ! For fiddly reasons this can't alias
124
125 Property time_left;
126 Property number;
127 Property additive time_out NULL;
128 Property daemon;
129 Property additive each_turn NULL;
130
131 Property capacity 100;
132
133 Property short_name 0;
134 Property short_name_indef 0;
135 Property parse_name 0;
136
137 Property articles;
138 Property inside_description;
139
140 ! ==============================================================================