1# DOOM - Default Particle Effects
2#
3# For further information on Generator definition syntax and semantics see:
4#
5#   http://dengine.net/dew/?title=Generator
6#
7
8Header { Version = 6; }
9
10SkipIf -nodefaultfx;
11
12######=====---- PLAYER WEAPONS ----=====######
13# Rocket smoke trail.
14Generator {
15  State = "ROCKET";
16  Flags = spawn;
17  Center { -16 0 5 };
18  Speed = .8; Speed rnd = 1;
19  Spawn age = -1; Max age = 1200;
20  Particles = 150;
21  Spawn rate = 1.4; Spawn Rnd = 0.4;
22  Vector { 0 0 0 }; Vector rnd = 1;
23
24  Stage {
25    Type = point; Flags = bright;
26    Radius = 1; Color { 1 1 1 1 };
27  };
28
29  Stage {
30    Type = point; Flags = bright;
31    Tics = 4; Rnd = .2;
32    Radius = 5; Color { 1 .95 .7 1 };
33  };
34
35  Stage {
36    Type = point; Flags = bright;
37    Tics = 2; Rnd = .2;
38    Radius = 5; Color { 1 .7 .3 1 };
39  };
40
41  Stage {
42    Type = point;
43    Tics = 15;
44    Radius = 6; Color { .6 .6 .6 .5 };
45    Resistance = 0.01;
46  };
47
48  Stage {
49    Type = point;
50    Tics = 130;
51    Radius = 22;
52    Bounce = 0;
53    Resistance = 0.1;
54    Gravity = 0;
55    Color { 0.5 0.5 0.55 0.3 };
56  };
57
58  Stage {
59    Type = point;
60    Radius = 30;
61    Color { 0.2 0.2 0.22 0 };
62  };
63}
64
65# Bullet ricochet. Happens pretty rarely.
66Generator {
67  State = "PUFF1";
68  Flags = "gnf_blend";
69  Speed = 20;
70  Speed rnd = 0.1;
71  Spawn age = 2;
72  Max age = 50;
73  Particles = 20;
74  Spawn rate = .65;
75  Spawn rnd = 1;
76  Vector rnd = 1;
77  Stage {
78    Type = "pt_line";
79    Flags = "ptf_bright";
80    Tics = 20; Rnd = 0.5;
81    Radius = 1; Color { 1 1 .9 1 };
82    Bounce = 0.5; Resistance = 0.01; Gravity = 0.04;
83  };
84  Stage {
85    Type = "pt_line";
86    Flags = "ptf_bright";
87    Tics = 10; Rnd = 0.5;
88    Radius = 1; Color { 1 .9 .3 .5 };
89    Bounce = 0.5; Resistance = 0.01; Gravity = 0.04;
90  };
91  Stage {
92    Type = "pt_line";
93    Flags = "ptf_bright";
94    Radius = 1;
95    Resistance = 0.01; Gravity = 0.02;
96  };
97}
98
99# Plasma sparks (blue).
100Generator {
101  State = "PLASEXP";
102  Flags = "gnf_blend";
103  Speed = 3;
104  Speed rnd = 0.8;
105  Spawn age = 3;
106  Spawn radius = 20;
107  Max age = 50;
108  Particles = 30;
109  Spawn rate = 10;
110  Spawn rnd = 1;
111  Vector rnd = 1;
112  Stage {
113    Type = "pt_point";
114    Flags = "ptf_bright";
115    Tics = 5; Rnd = 0.5;
116    Radius = 15; Color { 1 1 1 .7 };
117    Resistance = 0.3;
118  };
119  Stage {
120    Type = "pt_point";
121    Flags = "ptf_bright";
122    Tics = 20; Rnd = 0.5;
123    Radius = 13; Color { .45 .5 1 .4 };
124    Resistance = 0.3;
125  };
126  Stage {
127    Type = "pt_point";
128    Flags = "ptf_bright";
129    Tics = 10; Rnd = 0.5;
130    Radius = 12; Color { .05 .15 1 .4 };
131    Resistance = 0.2;
132  };
133  Stage {
134    Type = "pt_point";
135    Flags = "ptf_bright";
136    Color { .2 .2 1 0 };
137    Radius = 10;
138  };
139}
140
141# BFG explosion effect.
142Generator {
143  State = "BFGLAND";
144  Flags = "gnf_blend";
145  Speed = 7;
146  Speed rnd = 0.2;
147  Spawn radius = 10;
148  Spawn age = 7;
149  Max age = 70;
150  Particles = 200;
151  Spawn rate = 25;
152  Vector rnd = 1;
153  Stage {
154    Type = "pt_point";
155    Flags = "ptf_bright";
156    Tics = 30;
157    Rnd = 0.2;
158    Radius = 4;
159    Bounce = 0.8;
160    Resistance = .03;
161    Gravity = 0.01;
162    Color { 1 1 1 1 };
163  };
164  Stage {
165    Type = "pt_point";
166    Flags = "ptf_bright";
167    Radius = 3;
168    Tics = 30;
169    Resistance = .05;
170    Gravity = 0.02;
171    Color { .5 1 .5 .8 };
172  };
173  Stage {
174    Type = "pt_point";
175    Flags = "ptf_bright";
176    Tics = 3;
177    Color { 0 1 0 .5 };
178  };
179}
180
181######=====---- EXPLOSIONS ----=====######
182# Rocket explosions.
183Generator {
184  State = "EXPLODE1";
185  Center { 0 0 5 };
186  Flags = "gnf_blend";
187  Speed = 8;
188  Speed rnd = 0.5;
189  Spawn age = 2;
190  Spawn radius = 15;
191  Max age = 200;
192  Particles = 100;
193  Spawn rate = 14;
194  Spawn Rnd = 0.1;
195  Vector rnd = 1;
196  Stage {
197    Type = "pt_point";
198    Flags = "ptf_bright";
199    Tics = 20; Rnd = .5;
200    Radius = 18; Color { 1 1 1 1 };
201    Resistance = 0.2;
202  };
203  Stage {
204    Type = "pt_point";
205    Flags = "ptf_bright";
206    Tics = 13; Rnd = .5;
207    Radius = 17; Color { 1 .9 .5 .7 };
208    Resistance = 0.2;
209  };
210  Stage {
211    Type = "pt_point";
212    Flags = "ptf_bright";
213    Tics = 7; Rnd = 0.2;
214    Radius = 10; Color { 1 .5 .2 .5 };
215    Resistance = 0.2;
216  };
217  Stage {
218    Type = "pt_point";
219    Flags = "ptf_bright";
220    Tics = 20; Rnd = .8;
221    Radius = 12; Color { .4 .4 .42 .3 };
222    Resistance = 0.5;
223  };
224  Stage {
225    Type = "pt_point";
226    Radius = 5; Color { .2 .2 .2 0 };
227  };
228}
229
230# Barrel explosion.
231Copy Generator {
232  State = "BEXP";
233  Flags = "gnf_blend gnf_srcvel";
234  Center { 0 0 20 };
235}
236
237# Rocket sparks.
238Generator {
239  State = "EXPLODE0";
240  Speed = 10;
241  Speed rnd = 0.9;
242  Spawn age = 2;
243  Spawn radius = 3;
244  Max age = 200;
245  Particles = 100;
246  Spawn rate = 30;
247  Spawn Rnd = 0.3;
248  Vector { 0 0 0 };
249  Vector rnd = 1;
250
251  Stage {
252    Type = point;
253    Flags = bright;
254    Tics = 32;
255    Rnd = 0.5;
256    Radius = 2;
257    Bounce = 0.45;
258    Resistance = 0.01;
259    Gravity = 0.1;
260    Color { 1 1 1 1 };
261  };
262
263  Stage {
264    Type = point;
265    Flags = bright;
266    Tics = 15;
267    Rnd = 0.5;
268    Radius = 1.5;
269    Bounce = 0.3;
270    Resistance = 0.03;
271    Gravity = 0.1;
272    Color { 1 1 .5 1 };
273  };
274
275  Stage {
276    Type = point;
277    Tics = 4;
278    Radius = 1.25;
279    Bounce = 0.3;
280    Resistance = 0.1;
281    Gravity = 0.1;
282    Color { 1 .1 .1 1 };
283  };
284
285  Stage {
286    Type = point;
287    Tics = 4;
288    Radius = 1;
289    Bounce = 0.3;
290    Resistance = 0.1;
291    Gravity = 0.1;
292    Radius = 1;
293    Color { .5 .1 0 .7 };
294  };
295
296  Stage {
297    Type = point;
298    Tics = 30;
299    Radius = 10;
300    Resistance = 0.2;
301    Gravity = 0.01;
302    Color { .3 .3 .3 .3 };
303  };
304
305  Stage {
306    Type = point;
307    Tics = 30;
308    Radius = 20;
309    Resistance = 0.2;
310    Gravity = 0.01;
311    Color { .15 .15 .15 .15 };
312  };
313
314  Stage {
315    Type = point;
316    Radius = 10;
317  };
318}
319
320# Low-energy (small and red) explosion. Red fireballs.
321Generator {
322  State = "TBALLX1";
323  Flags = "gnf_blend";
324  Speed = 5;
325  Speed rnd = 0.6;
326  Spawn age = 2;
327  Spawn radius = 12;
328  Max age = 200;
329  Particles = 50;
330  Spawn rate = 20;
331  Spawn Rnd = 0.2;
332  Vector rnd = 1;
333  Stage {
334    Type = "pt_point";
335    Flags = "ptf_bright";
336    Tics = 12; Rnd = .5;
337    Radius = 15; Color { 1 .9 .5 .8 };
338    Resistance = 0.2;
339  };
340  Stage {
341    Type = "pt_point";
342    Flags = "ptf_bright";
343    Tics = 10; Rnd = .5;
344    Radius = 13; Color { 1 .7 .5 .7 };
345    Resistance = 0.2;
346  };
347  Stage {
348    Type = "pt_point";
349    Flags = "ptf_bright";
350    Tics = 15; Rnd = 0.2;
351    Radius = 10; Color { 1 .2 .1 .5 };
352    Resistance = 0.2;
353  };
354  Stage {
355    Type = "pt_point";
356    Radius = 10; Color { .5 0 0 0 };
357  };
358}
359
360# Cacodemon fireball explosion.
361Copy Generator { State = "RBALLX1"; }
362
363# Skull explosion.
364Copy Generator {
365  State = "SKULL_DIE3";
366  Center { 0 0 24 };
367  Flags = "gnf_blend";
368  Speed = 4;
369  Speed rnd = 0.8;
370  Spawn age = 2;
371  Spawn radius = 30;
372  Max age = 200;
373  Particles = 100;
374  Spawn rate = 30;
375  Spawn rnd = 0.1;
376  Vector rnd = 1;
377  Stage {
378    Type = "pt_point";
379    Flags = "ptf_bright";
380    Tics = 6; Rnd = .5;
381    Radius = 13; Color { 1 1 1 1 };
382    Resistance = 0.2;
383  };
384  Stage {
385    Type = "pt_point";
386    Flags = "ptf_bright";
387    Tics = 13; Rnd = .6;
388    Radius = 12; Color { 1 .8 .5 1 };
389    Resistance = 0.3; Gravity = -0.15;
390  };
391  Stage {
392    Type = "pt_point";
393    Flags = "ptf_bright";
394    Tics = 13; Rnd = .7;
395    Radius = 15; Color { 1 .3 .1 .7 };
396    Resistance = 0.2; Gravity = -0.15;
397  };
398  Stage {
399    Type = "pt_point";
400    Flags = "ptf_bright";
401    Tics = 10; Rnd = .8;
402    Radius = 13; Color { .5 .1 .1 .3 };
403    Resistance = 0.2; Gravity = -0.15;
404  };
405  Stage {
406    Type = "pt_point";
407    Radius = 10;
408  };
409}
410
411# Green blast explosion.
412Generator {
413  State = "BRBALLX1";
414  Flags = "gnf_blend";
415  Center { 0 0 -4 };
416  Speed = 3;
417  Speed rnd = 0.6;
418  Spawn age = 2;
419  Spawn radius = 14;
420  Max age = 200;
421  Particles = 50;
422  Spawn rate = 20;
423  Spawn Rnd = 0.2;
424  Vector rnd = 1;
425  Stage {
426    Type = "pt_point";
427    Flags = "ptf_bright";
428    Tics = 12; Rnd = .5;
429    Radius = 10; Color { .5 1 .5 .8 };
430    Resistance = 0.2;
431  };
432  Stage {
433    Type = "pt_point";
434    Flags = "ptf_bright";
435    Tics = 10; Rnd = .5;
436    Radius = 8; Color { .2 1 .2 .7 };
437    Resistance = 0.2;
438  };
439  Stage {
440    Type = "pt_point";
441    Flags = "ptf_bright";
442    Tics = 15; Rnd = 0.2;
443    Radius = 6; Color { 0 1 0 .5 };
444    Resistance = 0.2;
445  };
446  Stage {
447    Type = "pt_point";
448    Radius = 10; Color { 0 .5 0 0 };
449  };
450}
451
452######=====---- PICK-UP OBJECTS ----=====######
453# Invulnerability.
454Generator {
455  State = "PINV";
456  Flags = "gnf_blend gnf_spawn";
457  Center { 0 0 12 };
458  Spawn age = -1;
459  Max age = -1;
460  Particles = 80;
461  Spawn rate = .6;
462  Spawn rnd = 1;
463  Min spawn radius = 10;
464  Spawn radius = 15;
465  Vector rnd = 1;
466  Force radius = 15;
467  Force = 0.02;
468  Force axis { 0 0 1.5 };
469
470  Stage {
471    Type = "pt_point"; Flags = "ptf_bright ptf_force";
472    Radius = 0; Color { 0 1 0 0 };
473    Tics = 20;
474    Resistance = 0.05;
475  };
476  Stage {
477    Type = "pt_point"; Flags = "ptf_bright ptf_force";
478    Radius = 2.5; Color { .3 1 .3 .8 };
479    Tics = 20;
480    Resistance = 0.05;
481  };
482  Stage {
483    Type = "pt_point"; Flags = "ptf_bright ptf_force";
484    Radius = 2.5; Color { .3 1 .3 .8 };
485    Tics = 30;
486    Resistance = 0.05;
487  };
488  Stage {
489    Type = "pt_point"; Flags = "ptf_bright ptf_force";
490    Radius = 0; Color { 0 1 0 0 };
491  };
492}
493
494######=====---- DAMAGE ----=====######
495# Gibbed blood spurt.
496Generator {
497  State = "POSS_XDIE2";
498  Flags = "gnf_srcvel";
499  Center { 0 0 30 };
500  Speed = 6;
501  Speed rnd = 0.7;
502  Spawn age = 4;
503  Max age = 300;
504  Particles = 200;
505  Spawn rate = 30;
506  Spawn Rnd = 0.1;
507  Vector rnd = 1;
508  Stage {
509    Type = "pt_point"; Flags = "ptf_flat ptf_stagetouch";
510    Radius = 1.5; Color { .7 0 0 1 };
511    Tics = 300;
512    Resistance = 0.01; Gravity = 0.15;
513  };
514  Stage {
515    Type = "pt_point"; Flags = "ptf_flat";
516    Radius = 16; Radius rnd = 0.8; Color { .7 0 0 1 };
517    Tics = 200;
518    Resistance = 1;
519  };
520  Stage {
521    Type = "pt_point";
522    Radius = 9; Radius rnd = 0.8; Color { .45 0 0 0 };
523  };
524}
525
526Copy Generator { State = "PLAY_XDIE2"; }
527Copy Generator { State = "SPOS_XDIE2"; }
528Copy Generator { State = "TROO_XDIE2"; }
529
530# Pink demon death blood.
531Copy Generator {
532  State = "SARG_DIE1";
533  Speed = 4;
534  Spawn age = 3;
535  Spawn rate = 20;
536}
537
538# Trooper death blood.
539Copy Generator {
540  State = "TROO_DIE1";
541  Speed = 3;
542  Spawn age = 2;
543  Spawn rate = 15;
544}
545
546# Cacodemon blue blood.
547Copy Generator {
548  State = "HEAD_DIE3";
549  Stage {
550    Type = "pt_point"; Flags = "ptf_flat ptf_stagetouch";
551    Radius = 1.5; Color { 0 0 .7 1 };
552    Tics = 300;
553    Resistance = 0.01; Gravity = 0.15;
554  };
555  Stage {
556    Type = "pt_point"; Flags = "ptf_flat";
557    Radius = 13; Color { 0 0 .7 1 };
558    Tics = 200;
559    Resistance = 1;
560  };
561  Stage {
562    Type = "pt_point";
563    Radius = 7; Color { 0 0 .4 0 };
564  };
565}
566