1 // FraggleScript constants
2 
3 // Thing numbers
4 const PLAYER = 0;
5 const TROOPER = 1;
6 const SHOTGUY = 2;
7 const ARCHVILE = 3;
8 const VILEFIRE = 4;
9 const REVENANT = 5;
10 const REVENANTMISL = 6;
11 const SMOKE = 7;             // Revenant fireball trail
12 const MANCUBUS = 8;
13 const MANCUBUSSHOT = 9;
14 const CHAINGUY = 10;
15 const IMP = 11;
16 const DEMON = 12;
17 const SPECTRE = 13;
18 const CACODEMON = 14;
19 const BARONOFHELL = 15;
20 const BARONSHOT = 16;
21 const HELLKNIGHT = 17;
22 const LOSTSOUL = 18;
23 const SPIDERMASTERMIND = 19;
24 const ARACHNOTRON = 20;
25 const CYBERDEMON = 21;
26 const PAINELEMENTAL = 22;
27 const WOLFSS = 23;
28 const KEEN = 24;
29 const BOSSBRAIN = 25;
30 const BOSSSPIT = 26;
31 const BOSSTARGET = 27;
32 const SPAWNSHOT = 28;
33 const SPAWNFIRE = 29;
34 const BARREL = 30;
35 const IMPSHOT = 31;
36 const CACOSHOT = 32;
37 const FLYINGROCKET = 33;
38 const FLYINGPLASMA = 34;
39 const FLYINGBFG = 35;
40 const ARACHPLAZ = 36;
41 const PUFF = 37;                   // Bullet puff
42 const BLOOD = 38;
43 const TFOG = 39;                   // Teleport fog
44 const IFOG = 40;                   // Item respawn fog
45 const TELEPORTMAN = 41;
46 const EXTRABFG = 42;
47 const GREENARMOR = 43;
48 const BLUEARMOR = 44;
49 const HEALTHPOTION = 45;
50 const ARMORHELMET = 46;
51 const BLUEKEYCARD = 47;
52 const REDKEYCARD = 48;
53 const YELLOWKEYCARD = 49;
54 const YELLOWSKULLKEY = 50;
55 const REDSKULLKEY = 51;
56 const BLUESKULLKEY = 52;
57 const STIMPACK = 53;
58 const MEDIKIT = 54;
59 const SUPERCHARGE = 55;
60 const INVULNERABILITY = 56;
61 const BESERKPACK = 57;
62 const INVISIBILITY = 58;
63 const RADSUIT = 59;
64 const AUTOMAP = 60;
65 const LITEAMP = 61;
66 const MEGASPHERE = 62;
67 const CLIP = 63;
68 const BULLETBOX = 64;
69 const ROCKET = 65;
70 const ROCKETBOX = 66;
71 const ECELL = 67;
72 const ECELLPACK = 68;
73 const SHELLS = 69;
74 const SHELLBOX = 70;
75 const BACKPACK = 71;
76 const BFG = 72;
77 const CHAINGUN = 73;
78 const CHAINSAW = 74;
79 const RLAUNCHER = 75;
80 const PLASMAGUN = 76;
81 const SHOTGUN = 77;
82 const SUPERSHOTGUN = 78;
83 const TALLTECHLAMP = 79;
84 const SHORTTECHLAMP = 80;
85 const FLOORLAMP = 81;
86 const TALLGRNPILLAR = 82;
87 const SHRTGRNPILLAR = 83;
88 const TALLREDPILLAR = 84;
89 const SHRTREDPILLAR = 85;
90 const SKULLCOLUMN = 86;
91 const HEARTCOLUMN = 87;
92 const EVILEYE = 88;
93 const SKULLROCK = 89;
94 const GRAYTREE = 90;
95 const TALLBLUFIRESTICK = 91;
96 const TALLGRNFIRESTICK = 92;
97 const TALLREDFIRESTICK = 93;
98 const SHRTBLUFIRESTICK = 94;
99 const SHRTGRNFIRESTICK = 95;
100 const SHRTREDFIRESTICK = 96;
101 const STALAGMITE = 97;
102 const TALLTECHPILLAR = 98;
103 const CANDLE = 99;
104 const CANDELABRA = 100;
105 const TWITCHCORPSE1 = 101;
106 const HANGINGMAN1 = 102;
107 const HANGINGMAN2 = 103;
108 const HANGINGMAN3 = 104;
109 const HANGINGMAN4 = 105;
110 const HANGINGMAN5 = 106;
111 const HANGINGMAN6 = 107;
112 const HANGINGMAN7 = 108;
113 const HANGINGMAN8 = 109;
114 const TWITCHCORPSE2 = 110;
115 const DEADCACO = 111;
116 const DEADPLAYER = 112;
117 const DEADTROOPER = 113;
118 const DEADDEMON = 114;
119 const DEADLOSTSOUL = 115;
120 const DEADIMP = 116;
121 const DEADSERGEANT = 117;
122 const SLOP = 118;
123 const SLOP2 = 119;
124 const SKULLPOLE1 = 120;
125 const BLOODPOOL1 = 121;
126 const SKULLPOLE2 = 122;
127 const SKULLPILE = 123;
128 const DEADCORPSE1 = 124;
129 const TWITCHCORPSE3 = 125;
130 const TREE = 126;
131 const BURNINGBARREL = 127;
132 const HANGINGMAN9 = 128;
133 const HANGINGMAN10 = 129;
134 const HANGINGMAN11 = 130;
135 const HANGINGMAN12 = 131;
136 const HANGINGMAN13 = 132;
137 const HANGINGMAN14 = 133;
138 const BLOODPOOL2 = 134;
139 const BLOODPOOL3 = 135;
140 const BLOODPOOL4 = 136;
141 
142 const PUSH = 141;
143 const PULL = 142;
144 const DOGS = 143;
145 const PLASMA1 = 144;
146 const PLASMA2 = 145;
147 const CAMERA = 146;
148 const NODE = 147;
149 
150 //const SCEPTRE = ;
151 //const BIBLE = ;
152 //const PARTICLE = ;
153 
154 
155 // Mapthing property constants, for use with the set/getobjproperty() and objstate() functions
156 const RADIUS = 0;
157 const HEIGHT = 1;
158 const MASS = 2;
159 const HEALTH = 3;
160 const DAMAGE = 4;
161 const SPEED = 5;
162 const REACTIONTIME = 6;
163 const PAINCHANCE = 7;
164 const ST_SPAWNSTATE = 8;
165 const ST_SEESTATE = 9;
166 const ST_MELEESTATE = 10;
167 const ST_MISSILESTATE = 11;
168 const ST_PAINSTATE = 12;
169 const ST_DEATHSTATE = 13;
170 const ST_XDEATHSTATE = 14;
171 const ST_CRASHSTATE = 15;
172 const ST_RAISESTATE = 16;
173 const SEESOUND = 17;
174 const ACTIVESOUND = 18;
175 const ATTACKSOUND = 19;
176 const PAINSOUND = 20;
177 const DEATHSOUND = 21;
178 
179 
180 
181 // Thing flags (objflag)
182 const MF_SPECIAL = 0;
183 const MF_SOLID = 1;
184 const MF_SHOOTABLE = 2;
185 const MF_NOSECTOR = 3;
186 const MF_NOBLOCKMAP = 4;
187 const MF_AMBUSH = 5;
188 const MF_JUSTHIT = 6;
189 const MF_JUSTATTACKED = 7;
190 const MF_SPAWNCEILING = 8;
191 const MF_NOGRAVITY = 9;
192 const MF_DROPOFF = 10;
193 const MF_PICKUP = 11;
194 const MF_NOCLIP = 12;
195 const MF_SLIDE = 13;
196 const MF_FLOAT = 14;
197 const MF_TELEPORT = 15;
198 const MF_MISSILE = 16;
199 const MF_DROPPED = 17;
200 const MF_SHADOW = 18;
201 const MF_NOBLOOD = 19;
202 const MF_CORPSE = 20;
203 const MF_INFLOAT = 21;
204 const MF_COUNTKILL = 22;
205 const MF_COUNTITEM = 23;
206 const MF_SKULLFLY = 24;
207 const MF_NOTDMATCH = 25;
208 const MF_TRANSLATION = 26;
209 const MF_TOUCHY = 28;
210 const MF_BOUNCES = 29;
211 const MF_FRIEND = 30;
212 const MF_TRANSLUCENT = 31;
213 
214 
215 
216 // Player property types
217 const PROP_SPEED = 0;
218 const PROP_JUMPHEIGHT = 1;
219 const PROP_LOCKED = 2;
220 
221 
222 // Line flags
223 const ML_BLOCKING = 0;        // Solid, blocks things
224 const ML_BLOCKMONSTERS = 1;   // Blocks monsters
225 const ML_TWOSIDED = 2;        // Is two sided
226 const ML_DONTPEGTOP = 3;      // Is upper-unpegged
227 const ML_DONTPEGBOTTOM = 4;   // Is lower-unpegged
228 const ML_SECRET = 5;          // Is secret
229 const ML_SOUNDBLOCK = 6;      // Blocks sound
230 const ML_DONTDRAW = 7;        // Don't draw on the automap at all.
231 const ML_MAPPED = 8;          // Set if already seen, thus drawn in automap.
232 const ML_REPEAT_SPECIAL = 9;  // Special is repeatable
233 // TODO SPAC takes 3 bits here
234 const ML_ALLTRIGGER = 13;     // If flag is set, anything can trigger the line.
235 
236 
237 // Corona or dynamic light numbers for use with setcorona
238 const PLASMA_L = 1;
239 const PLASMAEXP_L = 2;
240 const ROCKET_L = 3;
241 const ROCKETEXP_L = 4;
242 const BFG_L = 5;
243 const BFGEXP_L = 6;
244 const BLUETALL_L = 7;
245 const GREENTALL_L = 8;
246 const REDTALL_L = 9;
247 const BLUESMALL_L = 10;
248 const GREENSMALL_L = 11;
249 const REDSMALL_L = 12;
250 const TECHLAMP_L = 13;
251 const TECHLAMP2_L = 14;
252 const COLUMN_L = 15;
253 const CANDLE_L = 16;
254 const CANDLEABRE_L = 17;
255 const REDBALL_L = 18;
256 const GREENBALL_L = 19;
257 const ROCKET2_L = 20;
258 const FX03_L = 21;  // Shows up for sprite no. 224
259 const FX17_L = 22;  // Shows up for sprite no. 204
260 const FX00_L = 23;  // Shows up for sprite no. 210
261 const FX08_L = 24;  // 220
262 const FX04_L = 25;  // 219
263 const FX02_L = 26;  // 207
264 const WTRH_L = 27;  // 182
265 const SRTC_L = 28;  // 171
266 const CHDL_L = 29;  // 170
267 const KFR1_L = 30;  // 177
268 
269 // Setcorona constants
270 const CORONA_TYPE = 0;
271 const CORONA_OFFX = 1;
272 const CORONA_OFFY = 2;
273 const CORONA_COLOR = 3;
274 const CORONA_SIZE = 4;
275 const LIGHT_COLOR = 5;
276 const LIGHT_RADIUS = 6;
277 
278 // Corona sprites, for use with the CORONA_TYPE function
279 // bit flags
280 const CORONA_SPR = 1;
281 const DYNLIGHT_SPR = 2;
282 // types
283 const UNDEFINED_SPR = 0;
284 const LAMP_C = 32;     // 0x20
285 const FIRE_C = 48;     // 0x30
286 const LIGHT_C = 96;    // 0x60
287 const FIREFLY_C = 208; // 0xD0
288 const RANDOM_C = 224;  // 0xE0
289 const PULSE_C = 240;   // 0xF0
290 // combinations
291 const LIGHT_SPR = 3;
292 const ROCKET_SPR = 19; // 0x13
293 const LAMP_SPR = 35;   // 0x23
294 const FIRE_SPR = 51;   // 0x33
295