-
Notifications
You must be signed in to change notification settings - Fork 9
/
Copy pathACTORDEF.readme.txt
391 lines (329 loc) · 8.44 KB
/
ACTORDEF.readme.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
Custom actor support for DelphiDoom is supported via ACTORDEF lump.
This is a text file, quite similar, with zDoom's DECORATE lumps (at the time of writting these lines ~year 2008).
You can take a look inside at DelphiDoom monsters pak (DDMONSTERS.WAD) which contains more than 70 new defined actors in ACTORDEF lumps.
Lastest version of DDMONSTERS.WAD can be downloaded at https://sourceforge.net/projects/delphidoom/files/Tools%2C%20maps%20and%20examples/DD_MONSTERS_20190917.zip/download
To define the enemy flag FLOATBOB you can write:
+FLOATBOB or
FLOATBOB or
MF_FLOATBOB or
MF_EX_FLOATBOB
All the above means the same to DelphiDoom ACTORDEF parser.
In addition to define a missile you can either specify the
DEFAULTMISSILE flag or define individual the flags that describe a missile:
MISSILE
NOGRAVITY
NOBLOCKMAP
DROPOFF
There is also the DEFAULTTRANSPARENT flag to define default transparency (equivelant to RENDERSTYLE TRANSLUCENT and ALPHA 0.67).
Sound aliases are located in SNDINFO lumps. $RANDOM directive is not supported but you can specify RANDOMSEESOUND, RANDOMPAINSOUND etc as the actor flags. Random sound system will do the following search for random sounds: For example we have an actor with
+RANDOMSEESOUND
seesound "DSSEE1"
DelphiDoom automatically will check DSSEE2, DSSEE3, .. DSSEE9 if present in WADs and create a random sound list.
Also DelphiDoom supports some more actor fields such as:
CUSTOMSOUND1
CUSTOMSOUND2
CUSTOMSOUND3
There are also some DelphiDoom specific flags:
FLAGS_EX:
MF_EX_TRANSPARENT // Sprite is transparent
MF_EX_WHITELIGHT // Sprite emits white light
MF_EX_REDLIGHT // Sprite emits red light
MF_EX_GREENLIGHT // Sprite emits green light
MF_EX_BLUELIGHT // Sprite emits blue light
MF_EX_YELLOWLIGHT // Sprite emits yellow light
MF_EX_FLOATBOB // Float BOB
MF_EX_NORADIUSDMG // No Radius Damage
MF_EX_FIRERESIST // Half the damage
MF_EX_RANDOMSEESOUND // Random see sound
MF_EX_RANDOMPAINSOUND // Random pain sound
MF_EX_RANDOMATTACKSOUND // Random attack sound
MF_EX_RANDOMDEATHSOUND // Random death sound
MF_EX_RANDOMACTIVESOUND // Random active sound
MF_EX_RANDOMCUSTOMSOUND1 // Random customsound1
MF_EX_RANDOMCUSTOMSOUND2 // Random customsound2
MF_EX_RANDOMCUSTOMSOUND3 // Random customsound3
MF_EX_CUSTOMEXPLODE // Custom Explosion (see A_Explode)
MF_EX_BOSS // The think is boss
MF_EX_FLOORHUGGER // Missile stays on floor
MF_EX_CEILINGHUGGER // Missile stays on ceiling
MF_EX_SEEKERMISSILE // Missile is a seeker
MF_EX_SPAWNFLOAT // Mobj spawn on random float z
MF_EX_DONTHURTSPECIES // Don't hurt one's own kind with explosions
MF_EX_LOWGRAVITY // Low gravity
MF_EX_INVULNERABLE // Invulnerable
MF_EX_RANDOMMELEESOUND // Random meleesound
MF_EX_DONOTREMOVE // Don't remove missile
MF_EX_GHOST // Thing is a ghost
MF_EX_THRUGHOST // Pass thru ghosts
MF_EX_LOOKALLAROUND // Monster can look all around, has eyes in the back
FLAGS2_EX:
MF2_EX_MEDIUMGRAVITY // Medium gravity
MF2_EX_NOHITFLOOR // No P_HitFloor call
MF2_EX_GREENBLOOD // Green Blood
MF2_EX_BLUEBLOOD // Blue Blood
MF2_EX_NOTELEPORT // No teleport flag
MF2_EX_PUSHABLE // Pushable things
MF2_EX_CANNOTPUSH // Mobj can not push
MF2_EX_DONTDRAW // don't generate a vissprite
MF2_EX_INTERACTIVE // Interactive mobj - can be set to interact state
MF2_EX_DONTINFIGHTMONSTERS // Don't return fire if attacker has same inheritance
MF2_EX_FLOORCLIP // Floorclip
MF2_EX_FRIGHTENED // Monster walks away
MF2_EX_NODAMAGE // No damage
MF2_EX_ONMOBJ // mobj is resting on top of another mobj
MF2_EX_PASSMOBJ // Enable z block checking. If on, this flag will allow the mobj to pass over/under other mobjs.
MF2_EX_DONTRUNSCRIPTS // Dissable scripts
MF2_EX_PRECISESPAWNANGLE // Use precise spawnangle
MF2_EX_CUSTOMDROPITEM // Use custom drop item
MF2_EX_CANTLEAVEFLOORPIC // Can not go to sector with different floor picture
// From zDoom wiki:
// Actors with this flag set will often (about 92% chance) decide to jump down
// tall ledges to pursue their target, if said target is hostile
MF2_EX_JUMPDOWN
MF2_EX_FULLVOLACTIVE // Active Sound at full volume
MF2_EX_FULLVOLDEATH // Death Sound at full volume
MF2_EX_FULLVOLSEE // See Sound at full volume
MF2_EX_FULLVOLPAIN // Pain Sound at full volume
MF2_EX_FULLVOLATTACK // Attack Sound at full volume
MF2_EX_DONOTRENDERSHADOW // Do not render shadow
Current ACTORDEF functions that DelphiDoom supports:
(DelphiHeretic, DelphiHexen & DelphiStrife will use additional/other standard functions).
----------------------------------------------------
// Standard functions:
A_LIGHT0
A_WEAPONREADY
A_LOWER
A_RAISE
A_PUNCH
A_REFIRE
A_FIREPISTOL
A_LIGHT1
A_FIRESHOTGUN
A_LIGHT2
A_FIRESHOTGUN2
A_CHECKRELOAD
A_OPENSHOTGUN2
A_LOADSHOTGUN2
A_CLOSESHOTGUN2
A_FIRECGUN
A_GUNFLASH
A_FIREMISSILE
A_SAW
A_FIREPLASMA
A_BFGSOUND
A_FIREBFG
A_BFGSPRAY
A_EXPLODE
A_PAIN
A_PLAYERSCREAM
A_FALL
A_XSCREAM
A_LOOK
A_CHASE
A_FACETARGET
A_POSATTACK
A_SCREAM
A_SPOSATTACK
A_VILECHASE
A_VILESTART
A_VILETARGET
A_VILEATTACK
A_STARTFIRE
A_FIRE
A_FIRECRACKLE
A_TRACER
A_SKELWHOOSH
A_SKELFIST
A_SKELMISSILE
A_FATRAISE
A_FATATTACK1
A_FATATTACK2
A_FATATTACK3
A_BOSSDEATH
A_CPOSATTACK
A_CPOSREFIRE
A_TROOPATTACK
A_SARGATTACK
A_HEADATTACK
A_BRUISATTACK
A_SKULLATTACK
A_METAL
A_SPIDREFIRE
A_BABYMETAL
A_BSPIATTACK
A_HOOF
A_CYBERATTACK
A_PAINATTACK
A_PAINDIE
A_KEENDIE
A_BRAINPAIN
A_BRAINSCREAM
A_BRAINDIE
A_BRAINAWAKE
A_BRAINSPIT
A_SPAWNSOUND
A_SPAWNFLY
A_BRAINEXPLODE
// The following are custom defined actions:
A_CUSTOMSOUND1
A_CUSTOMSOUND2
A_CUSTOMSOUND3
A_RANDOMPAINSOUND
A_RANDOMSEESOUND
A_RANDOMATTACKSOUND
A_RANDOMDEATHSOUND
A_RANDOMACTIVESOUND
A_RANDOMCUSTOMSOUND1
A_RANDOMCUSTOMSOUND2
A_RANDOMCUSTOMSOUND3
A_RANDOMCUSTOMSOUND
A_ANNIHILATORATTACK
A_PLAYSOUND
A_RANDOMSOUND
A_STOP
A_JUMP
A_CUSTOMMISSILE
A_NOGRAVITY
A_GRAVITY
A_NOBLOCKING
A_MELEEATTACK
A_SPAWNITEM
A_SEEKERMISSILE
A_CSTAFFMISSILESLITHER
A_SETTRANSLUCENT
A_DIE
A_CUSTOMBULLETATTACK
A_FADEOUT
A_FADEIN
A_MISSILEATTACK
A_ADJUSTSIDESPOT
A_COUNTDOWN
A_FASTCHASE
A_LOWGRAVITY
A_THRUSTZ
A_THRUSTXY
A_TURN
A_JUMPIFCLOSER
A_JUMPIFHEALTHLOWER
A_SCREAMANDUNBLOCK
A_PLAYWEAPONSOUND
A_SETINVULNERABLE
A_UNSETINVULNERABLE
A_RANDOMMELEESOUND
A_FLOATBOB
A_NOFLOATBOB
A_MISSILE
A_NOMISSILE
A_COMBOATTACK
A_BULLETATTACK
A_MEDIUMGRAVITY
A_WANDER
A_FadeOut10
A_FadeOut20
A_FadeOut30
A_FadeIn10
A_FadeIn20
A_FadeIn30
A_SpawnItemEx
A_RandomMissile
A_HideThing
A_UnHideThing
A_SpawnDebris
A_Turn5
A_Turn10
A_SpawnSmokeUp
A_SpawnSmokeDown
A_SpawnSmokeHorz
A_SetInteractive
A_UnSetInteractive
A_SetMonsterInfight
A_UnSetMonsterInfight
A_RemoveMobj
A_NoiseAlert
A_ConsoleCommand
A_SetCustomParam
A_AddCustomParam
A_SubtractCustomParam
A_SetTargetCustomParam
A_AddTargetCustomParam
A_SubtractTargetCustomParam
A_JumpIfCustomParam
A_JumpIfCustomParamLess
A_JumpIfCustomParamGreater
A_JumpIfTargetCustomParam
A_JumpIfTargetCustomParamLess
A_JumpIfTargetCustomParamGreater
A_SetShootable
A_UnSetShootable
A_PlayerMessage
A_PlayerFaceMe
A_GoTo
A_GoToIfCloser
A_GoToIfHealthLower
A_GoToIfCustomParam
A_GoToIfCustomParamLess
A_GoToIfCustomParamGreater
A_GoToIfTargetCustomParam
A_GoToIfTargetCustomParamLess
A_GoToIfTargetCustomParamGreater
A_SetFloorClip
A_UnSetFloorClip
A_SetFrightened
A_UnSetFrightened
A_SetNoDamage
A_UnSetNoDamage
A_RunScript
A_GhostOn
A_GhostOff
A_Blocking
A_DoNotRunScripts
A_DoRunScripts
A_TargetDropItem
A_DefaultTargetDropItem
A_SetDropItem
A_SetDefaultDropItem
A_GlobalEarthQuake
A_JumpIfMapStringEqual
A_JumpIfMapStringLess
A_JumpIfMapStringGreater
A_JumpIfMapIntegerEqual
A_JumpIfMapIntegerLess
A_JumpIfMapIntegerGreater
A_JumpIfMapFloatEqual
A_JumpIfMapFloatLess
A_JumpIfMapFloatGreater
A_JumpIfWorldStringEqual
A_JumpIfWorldStringLess
A_JumpIfWorldStringGreater
A_JumpIfWorldIntegerEqual
A_JumpIfWorldIntegerLess
A_JumpIfWorldIntegerGreater
A_JumpIfWorldFloatEqual
A_JumpIfWorldFloatLess
A_JumpIfWorldFloatGreater
A_GoToIfMapStringEqual
A_GoToIfMapStringLess
A_GoToIfMapStringGreater
A_GoToIfMapIntegerEqual
A_GoToIfMapIntegerLess
A_GoToIfMapIntegerGreater
A_GoToIfMapFloatEqual
A_GoToIfMapFloatLess
A_GoToIfMapFloatGreater
A_GoToIfWorldStringEqual
A_GoToIfWorldStringLess
A_GoToIfWorldStringGreater
A_GoToIfWorldIntegerEqual
A_GoToIfWorldIntegerLess
A_GoToIfWorldIntegerGreater
A_GoToIfWorldFloatEqual
A_GoToIfWorldFloatLess
A_GoToIfWorldFloatGreater
A_SetMapStr
A_SetWorldStr
A_SetMapInt
A_SetWorldInt
A_SetMapFloat
A_SetWorldFloat
A_RandomGoto
A_ResetHealth