Xonotic
effectinfo.inc
Go to the documentation of this file.
1 // docs: https://www.quakewiki.net/darkplaces-wiki/effectinfo-scripting-reference/
2 // use `cl_particles_reloadeffects` to reload effects without restarting engine
3 // use `chase_active 1` and `cl_lockview 1` to see effects from different perspectives
4 // `dumpeffectinfo` currently doesn't work so edit effectinfo.txt manually, just try to keep the files in sync
5 // always add new effects to the bottom of the list
6 
7 // `tex` are indices into particles/particlefont.tga (see particles/particlefont-template.tga for numbers)
8 // the first index is inclusive, second exclusive (so `tex 0 8` will use images 0 though 7)
9 // unless they're equal (`tex 69 69` is the same as `tex 69 70`)
10 
11 // item respawn effect
13 // flare particle and light
15  MY(alpha_min) = 128;
16  MY(alpha_max) = 128;
17  MY(alpha_fade) = 128;
18  MY(color_min) = "0x63F2EA";
19  MY(color_max) = "0x63f2EA";
20  MY(countabsolute) = 1;
21  MY(lightcolor) = '0.4 0.9 0.9';
22  MY(lightradiusfade) = 200;
23  MY(lightradius) = 200;
24  MY(size_min) = 20;
25  MY(size_max) = 20;
26  MY(type) = "static";
27 }
28 // cloud of particles which expand rapidly and then slow to form a ball
30  MY(airfriction) = 2;
31  MY(alpha_min) = 64;
32  MY(alpha_max) = 64;
33  MY(alpha_fade) = 64;
34  MY(color_min) = "0x63F2EA";
35  MY(color_max) = "0x63f2EA";
36  MY(count) = 50;
37  MY(liquidfriction) = 2;
38  MY(originjitter) = '16.0 16.0 16.0';
39  MY(size_min) = 2;
40  MY(size_max) = 2;
41  MY(type) = "static";
42  MY(velocityjitter) = '32.0 32.0 32.0';
43 }
44 
45 // laser impact
47 // decal
49  MY(alpha_min) = 256;
50  MY(alpha_max) = 256;
51  MY(countabsolute) = 1;
52  MY(lightcolor) = '4.0 0.2 0.2';
53  MY(lightradiusfade) = 1000;
54  MY(lightradius) = 200;
55  MY(originjitter) = '16.0 16.0 16.0';
56  MY(size_min) = 24;
57  MY(size_max) = 24;
58  MY(tex_min) = 47;
59  MY(tex_max) = 47;
60  MY(type) = "decal";
61 }
62 // flare effect
64  MY(alpha_min) = 256;
65  MY(alpha_max) = 256;
66  MY(alpha_fade) = 1024;
67  MY(color_min) = "0xFF2010";
68  MY(color_max) = "0xFF2010";
69  MY(countabsolute) = 1;
70  MY(size_min) = 24;
71  MY(size_max) = 24;
72  MY(tex_min) = 39;
73  MY(tex_max) = 39;
74  MY(type) = "static";
75 }
76 // sparks that rapidly expand and rapidly slow down to form an interesting spherical effect
78  MY(airfriction) = 6;
79  MY(alpha_min) = 256;
80  MY(alpha_max) = 256;
81  MY(alpha_fade) = 1024;
82  MY(color_min) = "0x800000";
83  MY(color_max) = "0xFF8020";
84  MY(count) = 128;
85  MY(liquidfriction) = 6;
86  MY(size_min) = 4;
87  MY(size_max) = 4;
88  MY(type) = "spark";
89  MY(velocityjitter) = '256.0 256.0 256.0';
90 }
91 
92 // machinegun bullet impact
93 DEF(TE_SPIKE);
94 // bullet impact decal
96  MY(alpha_min) = 256;
97  MY(alpha_max) = 256;
98  MY(countabsolute) = 1;
99  MY(originjitter) = '6.0 6.0 6.0';
100  MY(size_min) = 5;
101  MY(size_max) = 5;
102  MY(tex_min) = 56;
103  MY(tex_max) = 59;
104  MY(type) = "decal";
105 }
106 // dust/smoke drifting away from the impact
107 SUB(TE_SPIKE) {
108  MY(alpha_min) = 255;
109  MY(alpha_max) = 255;
110  MY(alpha_fade) = 256;
111  MY(color_min) = "0x101010";
112  MY(color_max) = "0x101010";
113  MY(count) = 4;
114  MY(sizeincrease) = 3;
115  MY(size_min) = 3;
116  MY(size_max) = 3;
117  MY(tex_max) = 8;
118  MY(type) = "smoke";
119  MY(velocityjitter) = '8.0 8.0 8.0';
120 }
121 // dust/smoke staying at the impact
122 SUB(TE_SPIKE) {
123  MY(alpha_min) = 255;
124  MY(alpha_max) = 255;
125  MY(alpha_fade) = 128;
126  MY(color_min) = "0x505050";
127  MY(color_max) = "0x505050";
128  MY(count) = 0.500000;
129  MY(sizeincrease) = 4;
130  MY(size_min) = 4;
131  MY(size_max) = 4;
132  MY(tex_max) = 8;
133  MY(type) = "smoke";
134 }
135 // bouncing sparks
136 SUB(TE_SPIKE) {
137  MY(alpha_max) = 256;
138  MY(alpha_fade) = 256;
139  MY(bounce) = 1.500000;
140  MY(color_min) = "0x8f4333";
141  MY(color_max) = "0xfff31b";
142  MY(count) = 10;
143  MY(gravity) = 1;
144  MY(size_min) = 0.400000;
145  MY(size_max) = 0.400000;
146  MY(type) = "spark";
147  MY(velocityjitter) = '64.0 64.0 64.0';
148  MY(velocityoffset) = '0.0 0.0 80.0';
149 }
150 
151 // electro combo explosion
153 // decal
155  MY(alpha_min) = 256;
156  MY(alpha_max) = 256;
157  MY(countabsolute) = 1;
158  MY(lightcolor) = '2.0 2.5 3.0';
159  MY(lightradiusfade) = 200;
160  MY(lightradius) = 400;
161  MY(originjitter) = '34.0 34.0 34.0';
162  MY(size_min) = 64;
163  MY(size_max) = 64;
164  MY(tex_min) = 59;
165  MY(tex_max) = 59;
166  MY(type) = "decal";
167 }
168 // flare effect
169 SUB(TE_SPIKEQUAD) {
170  MY(alpha_min) = 256;
171  MY(alpha_max) = 256;
172  MY(alpha_fade) = 128;
173  MY(color_min) = "0x80C0FF";
174  MY(color_max) = "0x80C0FF";
175  MY(countabsolute) = 1;
176  MY(size_min) = 48;
177  MY(size_max) = 48;
178  MY(tex_min) = 38;
179  MY(tex_max) = 38;
180  MY(type) = "static";
181 }
182 // large sparks
183 SUB(TE_SPIKEQUAD) {
184  MY(airfriction) = 4;
185  MY(alpha_min) = 256;
186  MY(alpha_max) = 256;
187  MY(alpha_fade) = 256;
188  MY(bounce) = 1.500000;
189  MY(color_min) = "0x2030FF";
190  MY(color_max) = "0x80C0FF";
191  MY(count) = 10;
192  MY(liquidfriction) = 16;
193  MY(size_min) = 32;
194  MY(size_max) = 32;
195  MY(type) = "static";
196  MY(velocityjitter) = '512.0 512.0 512.0';
197 }
198 
199 // quake effect
201 // decal
203  MY(alpha_min) = 256;
204  MY(alpha_max) = 256;
205  MY(countabsolute) = 1;
206  MY(originjitter) = '6.0 6.0 6.0';
207  MY(size_min) = 3;
208  MY(size_max) = 3;
209  MY(tex_min) = 56;
210  MY(tex_max) = 59;
211  MY(type) = "decal";
212 }
213 // dust/smoke drifting away from the impact
215  MY(alpha_min) = 255;
216  MY(alpha_max) = 255;
217  MY(alpha_fade) = 256;
218  MY(color_min) = "0x101010";
219  MY(color_max) = "0x101010";
220  MY(count) = 4;
221  MY(sizeincrease) = 3;
222  MY(size_min) = 3;
223  MY(size_max) = 3;
224  MY(tex_max) = 8;
225  MY(type) = "smoke";
226  MY(velocityjitter) = '8.0 8.0 8.0';
227 }
228 // dust/smoke staying at the impact
230  MY(alpha_min) = 255;
231  MY(alpha_max) = 255;
232  MY(alpha_fade) = 128;
233  MY(color_min) = "0x505050";
234  MY(color_max) = "0x505050";
235  MY(count) = 0.500000;
236  MY(sizeincrease) = 4;
237  MY(size_min) = 4;
238  MY(size_max) = 4;
239  MY(tex_max) = 8;
240  MY(type) = "smoke";
241 }
242 // sparks that disappear on impact
244  MY(alpha_max) = 256;
245  MY(alpha_fade) = 768;
246  MY(bounce) = -1;
247  MY(color_min) = "0x8f4333";
248  MY(color_max) = "0xfff31b";
249  MY(count) = 15;
250  MY(gravity) = 1;
251  MY(size_min) = 0.400000;
252  MY(size_max) = 0.400000;
253  MY(type) = "spark";
254  MY(velocityjitter) = '64.0 64.0 64.0';
255  MY(velocityoffset) = '0.0 0.0 80.0';
256 }
257 
258 // quake effect
260 // decal
262  MY(alpha_min) = 256;
263  MY(alpha_max) = 256;
264  MY(countabsolute) = 1;
265  MY(lightcolor) = '0.2 0.2 1.5';
266  MY(lightradiusfade) = 500;
267  MY(lightradius) = 100;
268  MY(originjitter) = '6.0 6.0 6.0';
269  MY(size_min) = 3;
270  MY(size_max) = 3;
271  MY(tex_min) = 56;
272  MY(tex_max) = 59;
273  MY(type) = "decal";
274 }
275 // dust/smoke drifting away from the impact
277  MY(alpha_min) = 255;
278  MY(alpha_max) = 255;
279  MY(alpha_fade) = 256;
280  MY(color_min) = "0x101010";
281  MY(color_max) = "0x101010";
282  MY(count) = 4;
283  MY(sizeincrease) = 3;
284  MY(size_min) = 3;
285  MY(size_max) = 3;
286  MY(tex_max) = 8;
287  MY(type) = "smoke";
288  MY(velocityjitter) = '8.0 8.0 8.0';
289 }
290 // dust/smoke staying at the impact
292  MY(alpha_min) = 255;
293  MY(alpha_max) = 255;
294  MY(alpha_fade) = 128;
295  MY(color_min) = "0x505050";
296  MY(color_max) = "0x505050";
297  MY(count) = 0.500000;
298  MY(sizeincrease) = 4;
299  MY(size_min) = 4;
300  MY(size_max) = 4;
301  MY(tex_max) = 8;
302  MY(type) = "smoke";
303 }
304 // sparks that disappear on impact
306  MY(alpha_max) = 256;
307  MY(alpha_fade) = 768;
308  MY(bounce) = -1;
309  MY(color_min) = "0x8f4333";
310  MY(color_max) = "0xfff31b";
311  MY(count) = 15;
312  MY(gravity) = 1;
313  MY(size_min) = 0.400000;
314  MY(size_max) = 0.400000;
315  MY(type) = "spark";
316  MY(velocityjitter) = '64.0 64.0 64.0';
317  MY(velocityoffset) = '0.0 0.0 80.0';
318 }
319 
320 // shotgun pellet impact
321 DEF(TE_GUNSHOT);
322 // decal
324  MY(alpha_min) = 256;
325  MY(alpha_max) = 256;
326  MY(countabsolute) = 1;
327  MY(originjitter) = '6.0 6.0 6.0';
328  MY(size_min) = 3;
329  MY(size_max) = 3;
330  MY(tex_min) = 56;
331  MY(tex_max) = 59;
332  MY(type) = "decal";
333 }
334 // dust/smoke drifting away from the impact
335 SUB(TE_GUNSHOT) {
336  MY(alpha_min) = 128;
337  MY(alpha_max) = 128;
338  MY(alpha_fade) = 64;
339  MY(color_min) = "0x101010";
340  MY(color_max) = "0x101010";
341  MY(count) = 0.800000;
342  MY(sizeincrease) = 3;
343  MY(size_min) = 3;
344  MY(size_max) = 3;
345  MY(tex_max) = 8;
346  MY(type) = "smoke";
347  MY(velocityjitter) = '8.0 8.0 8.0';
348 }
349 // dust/smoke staying at the impact
350 SUB(TE_GUNSHOT) {
351  MY(alpha_min) = 128;
352  MY(alpha_max) = 128;
353  MY(alpha_fade) = 64;
354  MY(color_min) = "0x505050";
355  MY(color_max) = "0x505050";
356  MY(count) = 0.200000;
357  MY(sizeincrease) = 4;
358  MY(size_min) = 4;
359  MY(size_max) = 4;
360  MY(tex_max) = 8;
361  MY(type) = "smoke";
362 }
363 // bouncing sparks
364 SUB(TE_GUNSHOT) {
365  MY(alpha_max) = 64;
366  MY(alpha_fade) = 64;
367  MY(bounce) = 1.500000;
368  MY(color_min) = "0x8f4333";
369  MY(color_max) = "0xfff31b";
370  MY(count) = 2.500000;
371  MY(gravity) = 1;
372  MY(size_min) = 0.400000;
373  MY(size_max) = 0.400000;
374  MY(type) = "spark";
375  MY(velocityjitter) = '64.0 64.0 64.0';
376  MY(velocityoffset) = '0.0 0.0 80.0';
377 }
378 
379 // crylink impact effect
381 // decal
383  MY(alpha_min) = 256;
384  MY(alpha_max) = 256;
385  MY(countabsolute) = 1;
386  MY(originjitter) = '12.0 12.0 12.0';
387  MY(size_min) = 8;
388  MY(size_max) = 8;
389  MY(tex_min) = 47;
390  MY(tex_max) = 47;
391  MY(type) = "decal";
392 }
393 // purple flare effect
395  MY(alpha_min) = 256;
396  MY(alpha_max) = 256;
397  MY(alpha_fade) = 512;
398  MY(color_min) = "0x504060";
399  MY(color_max) = "0x504060";
400  MY(countabsolute) = 1;
401  MY(size_min) = 8;
402  MY(size_max) = 8;
403  MY(tex_min) = 39;
404  MY(tex_max) = 39;
405  MY(type) = "static";
406 }
407 // purple sparks
409  MY(alpha_min) = 128;
410  MY(alpha_max) = 128;
411  MY(alpha_fade) = 384;
412  MY(bounce) = 1.500000;
413  MY(color_min) = "0xA040C0";
414  MY(color_max) = "0xFFFFFF";
415  MY(count) = 6;
416  MY(gravity) = 1;
417  MY(size_min) = 1;
418  MY(size_max) = 1;
419  MY(type) = "spark";
420  MY(velocityjitter) = '128.0 128.0 128.0';
421  MY(velocityoffset) = '0.0 0.0 80.0';
422 }
423 
424 // mortar/hagar explosion (smaller than rocket)
426 // decal
428  MY(alpha_min) = 256;
429  MY(alpha_max) = 256;
430  MY(countabsolute) = 1;
431  MY(lightcolor) = '4.0 2.0 0.5';
432  MY(lightradiusfade) = 300;
433  MY(lightradius) = 150;
434  MY(originjitter) = '40.0 40.0 40.0';
435  MY(size_min) = 48;
436  MY(size_max) = 48;
437  MY(tex_min) = 8;
438  MY(tex_max) = 16;
439  MY(type) = "decal";
440 }
441 // flare effect
442 SUB(TE_EXPLOSION) {
443  MY(alpha_min) = 192;
444  MY(alpha_max) = 192;
445  MY(alpha_fade) = 64;
446  MY(color_min) = "0x404040";
447  MY(color_max) = "0x404040";
448  MY(countabsolute) = 1;
449  MY(size_min) = 48;
450  MY(size_max) = 48;
451  MY(tex_min) = 35;
452  MY(tex_max) = 37;
453  MY(type) = "static";
454 }
455 // fire effect which expands then slows
456 SUB(TE_EXPLOSION) {
457  MY(airfriction) = 4;
458  MY(alpha_min) = 128;
459  MY(alpha_max) = 128;
460  MY(alpha_fade) = 256;
461  MY(bounce) = 1.500000;
462  MY(color_min) = "0x902010";
463  MY(color_max) = "0xFFD080";
464  MY(count) = 64;
465  MY(liquidfriction) = 4;
466  MY(notunderwater) = true;
467  MY(originjitter) = '8.0 8.0 8.0';
468  MY(size_min) = 16;
469  MY(size_max) = 16;
470  MY(tex_min) = 48;
471  MY(tex_max) = 55;
472  MY(type) = "static";
473  MY(velocityjitter) = '256.0 256.0 256.0';
474 }
475 // underwater bubbles
476 SUB(TE_EXPLOSION) {
477  MY(alpha_min) = 128;
478  MY(alpha_max) = 256;
479  MY(alpha_fade) = 64;
480  MY(bounce) = 1.500000;
481  MY(color_min) = "0x404040";
482  MY(color_max) = "0x808080";
483  MY(count) = 16;
484  MY(gravity) = -0.125000;
485  MY(liquidfriction) = 0.250000;
486  MY(originjitter) = '16.0 16.0 16.0';
487  MY(size_min) = 3;
488  MY(size_max) = 3;
489  MY(tex_min) = 62;
490  MY(tex_max) = 62;
491  MY(type) = "bubble";
492  MY(underwater) = true;
493  MY(velocityjitter) = '96.0 96.0 96.0';
494 }
495 // bouncing sparks
496 SUB(TE_EXPLOSION) {
497  MY(airfriction) = 0.200000;
498  MY(alpha_min) = 256;
499  MY(alpha_max) = 256;
500  MY(alpha_fade) = 384;
501  MY(bounce) = 1.500000;
502  MY(color_min) = "0x903010";
503  MY(color_max) = "0xFFD030";
504  MY(count) = 16;
505  MY(gravity) = 1;
506  MY(liquidfriction) = 0.800000;
507  MY(notunderwater) = true;
508  MY(size_min) = 2;
509  MY(size_max) = 2;
510  MY(type) = "spark";
511  MY(velocityjitter) = '256.0 256.0 256.0';
512  MY(velocityoffset) = '0.0 0.0 80.0';
513 }
514 
515 // quake effect
517 // decal
519  MY(alpha_min) = 256;
520  MY(alpha_max) = 256;
521  MY(countabsolute) = 1;
522  MY(lightcolor) = '4.0 2.0 8.0';
523  MY(lightradiusfade) = 700;
524  MY(lightradius) = 350;
525  MY(originjitter) = '40.0 40.0 40.0';
526  MY(size_min) = 48;
527  MY(size_max) = 48;
528  MY(tex_min) = 8;
529  MY(tex_max) = 16;
530  MY(type) = "decal";
531 }
532 // smoke cloud
534  MY(alpha_min) = 32;
535  MY(alpha_max) = 32;
536  MY(alpha_fade) = 64;
537  MY(color_min) = "0x202020";
538  MY(color_max) = "0x404040";
539  MY(count) = 16;
540  MY(notunderwater) = true;
541  MY(size_min) = 12;
542  MY(size_max) = 12;
543  MY(tex_max) = 8;
544  MY(type) = "smoke";
545  MY(velocityjitter) = '48.0 48.0 48.0';
546 }
547 // underwater bubbles
549  MY(alpha_min) = 128;
550  MY(alpha_max) = 256;
551  MY(alpha_fade) = 64;
552  MY(bounce) = 1.500000;
553  MY(color_min) = "0x404040";
554  MY(color_max) = "0x808080";
555  MY(count) = 16;
556  MY(gravity) = -0.125000;
557  MY(liquidfriction) = 0.250000;
558  MY(originjitter) = '16.0 16.0 16.0';
559  MY(size_min) = 3;
560  MY(size_max) = 3;
561  MY(tex_min) = 62;
562  MY(tex_max) = 62;
563  MY(type) = "bubble";
564  MY(underwater) = true;
565  MY(velocityjitter) = '96.0 96.0 96.0';
566 }
567 // sparks which go through walls
569  MY(airfriction) = 0.200000;
570  MY(alpha_max) = 256;
571  MY(alpha_fade) = 512;
572  MY(color_min) = "0x903010";
573  MY(color_max) = "0xFFD030";
574  MY(count) = 64;
575  MY(gravity) = 1;
576  MY(liquidfriction) = 0.800000;
577  MY(notunderwater) = true;
578  MY(size_min) = 1;
579  MY(size_max) = 1;
580  MY(type) = "spark";
581  MY(velocityjitter) = '256.0 256.0 256.0';
582  MY(velocityoffset) = '0.0 0.0 80.0';
583 }
584 
585 // quake effect
587 // decal
589  MY(alpha_min) = 256;
590  MY(alpha_max) = 256;
591  MY(countabsolute) = 1;
592  MY(lightcolor) = '1.6 0.8 2.0';
593  MY(lightradiusfade) = 1200;
594  MY(lightradius) = 600;
595  MY(originjitter) = '40.0 40.0 40.0';
596  MY(size_min) = 48;
597  MY(size_max) = 48;
598  MY(tex_min) = 8;
599  MY(tex_max) = 16;
600  MY(type) = "decal";
601 }
602 // smoke cloud
604  MY(alpha_min) = 32;
605  MY(alpha_max) = 32;
606  MY(alpha_fade) = 64;
607  MY(color_min) = "0x202020";
608  MY(color_max) = "0x404040";
609  MY(count) = 16;
610  MY(notunderwater) = true;
611  MY(size_min) = 12;
612  MY(size_max) = 12;
613  MY(tex_max) = 8;
614  MY(type) = "smoke";
615  MY(velocityjitter) = '48.0 48.0 48.0';
616 }
617 // underwater bubbles
619  MY(alpha_min) = 128;
620  MY(alpha_max) = 256;
621  MY(alpha_fade) = 64;
622  MY(bounce) = 1.500000;
623  MY(color_min) = "0x404040";
624  MY(color_max) = "0x808080";
625  MY(count) = 16;
626  MY(gravity) = -0.125000;
627  MY(liquidfriction) = 0.250000;
628  MY(originjitter) = '16.0 16.0 16.0';
629  MY(size_min) = 3;
630  MY(size_max) = 3;
631  MY(tex_min) = 62;
632  MY(tex_max) = 62;
633  MY(type) = "bubble";
634  MY(underwater) = true;
635  MY(velocityjitter) = '96.0 96.0 96.0';
636 }
637 // sparks which go through walls
639  MY(airfriction) = 0.200000;
640  MY(alpha_max) = 256;
641  MY(alpha_fade) = 512;
642  MY(color_min) = "0x903010";
643  MY(color_max) = "0xFFD030";
644  MY(count) = 64;
645  MY(gravity) = 1;
646  MY(liquidfriction) = 0.800000;
647  MY(notunderwater) = true;
648  MY(size_min) = 1;
649  MY(size_max) = 1;
650  MY(type) = "spark";
651  MY(velocityjitter) = '256.0 256.0 256.0';
652  MY(velocityoffset) = '0.0 0.0 80.0';
653 }
654 
655 // bloody impact effect indicating damage
656 DEF(TE_BLOOD);
658  MY(airfriction) = 1;
659  MY(alpha_min) = 256;
660  MY(alpha_max) = 256;
661  MY(alpha_fade) = 64;
662  MY(bounce) = -1;
663  MY(count) = 0.167000;
664  MY(liquidfriction) = 4;
665  MY(size_min) = 8;
666  MY(size_max) = 8;
667  MY(staincolor_min) = "0x808080";
668  MY(staincolor_max) = "0x808080";
669  MY(staintex_min) = 16;
670  MY(staintex_max) = 24;
671  MY(tex_min) = 24;
672  MY(tex_max) = 32;
673  MY(type) = "blood";
674  MY(velocityjitter) = '64.0 64.0 64.0';
675  MY(velocitymultiplier) = 1;
676 }
677 
678 // sparks (quake effect)
679 DEF(TE_SPARK);
680 SUB(TE_SPARK) {
681  MY(alpha_min) = 64;
682  MY(alpha_max) = 256;
683  MY(alpha_fade) = 768;
684  MY(bounce) = -1;
685  MY(color_min) = "0x8f4333";
686  MY(color_max) = "0xfff31b";
687  MY(count) = 0.500000;
688  MY(gravity) = 1;
689  MY(size_min) = 0.400000;
690  MY(size_max) = 0.600000;
691  MY(tex_min) = 40;
692  MY(tex_max) = 40;
693  MY(type) = "spark";
694  MY(velocityjitter) = '64.0 64.0 64.0';
695  MY(velocitymultiplier) = 1;
696  MY(velocityoffset) = '0.0 0.0 80.0';
697 }
698 
699 // vortex impact
700 DEF(TE_PLASMABURN);
701 // decal
702 SUB(TE_PLASMABURN) {
703  MY(alpha_min) = 256;
704  MY(alpha_max) = 256;
705  MY(countabsolute) = 1;
706  MY(lightcolor) = '1.0 1.0 1.0';
707  MY(lightradiusfade) = 400;
708  MY(lightradius) = 200;
709  MY(originjitter) = '16.0 16.0 16.0';
710  MY(size_min) = 24;
711  MY(size_max) = 24;
712  MY(tex_min) = 47;
713  MY(tex_max) = 47;
714  MY(type) = "decal";
715 }
716 // flare effect
717 SUB(TE_PLASMABURN) {
718  MY(alpha_min) = 256;
719  MY(alpha_max) = 256;
720  MY(alpha_fade) = 512;
721  MY(color_min) = "0x80C0FF";
722  MY(color_max) = "0x80C0FF";
723  MY(countabsolute) = 1;
724  MY(size_min) = 8;
725  MY(size_max) = 8;
726  MY(tex_min) = 37;
727  MY(tex_max) = 37;
728  MY(type) = "static";
729 }
730 // small sparks which form a sphere as they slow down
731 SUB(TE_PLASMABURN) {
732  MY(airfriction) = 8;
733  MY(alpha_min) = 256;
734  MY(alpha_max) = 256;
735  MY(alpha_fade) = 1024;
736  MY(bounce) = 2;
737  MY(color_min) = "0x2030FF";
738  MY(color_max) = "0x80C0FF";
739  MY(count) = 128;
740  MY(liquidfriction) = 8;
741  MY(size_min) = 1;
742  MY(size_max) = 2;
743  MY(type) = "spark";
744  MY(velocityjitter) = '128.0 128.0 128.0';
745 }
746 
747 // quake effect
748 DEF(TE_SMALLFLASH);
749 SUB(TE_SMALLFLASH) {
750  MY(lightcolor) = '2.0 2.0 2.0';
751  MY(lightradiusfade) = 1000;
752  MY(lightradius) = 200;
753 }
754 
755 // quake effect
756 DEF(TE_FLAMEJET);
757 SUB(TE_FLAMEJET) {
758  MY(airfriction) = 1;
759  MY(alpha_min) = 64;
760  MY(alpha_max) = 128;
761  MY(alpha_fade) = 384;
762  MY(bounce) = 1.100000;
763  MY(color_min) = "0x6f0f00";
764  MY(color_max) = "0xe3974f";
765  MY(count) = 0.500000;
766  MY(gravity) = -1;
767  MY(liquidfriction) = 4;
768  MY(size_min) = 4;
769  MY(size_max) = 4;
770  MY(type) = "smoke";
771  MY(velocityjitter) = '128.0 128.0 128.0';
772  MY(velocitymultiplier) = 1;
773 }
774 
775 // quake effect
778  MY(alpha_min) = 256;
779  MY(alpha_max) = 256;
780  MY(alpha_fade) = 256;
781  MY(color_min) = "0x6f0f00";
782  MY(color_max) = "0xe3974f";
783  MY(count) = 32;
784  MY(gravity) = 0.050000;
785  MY(originjitter) = '128.0 128.0 32.0';
786  MY(originoffset) = '0.0 0.0 32.0';
787  MY(size_min) = 12;
788  MY(size_max) = 12;
789  MY(type) = "alphastatic";
790  MY(velocityjitter) = '128.0 128.0 0.0';
791  MY(velocityoffset) = '0.0 0.0 256.0';
792 }
793 
794 // player teleport effect
797  MY(airfriction) = 1;
798  MY(alpha_min) = 64;
799  MY(alpha_max) = 128;
800  MY(alpha_fade) = 256;
801  MY(color_min) = "0xA0A0A0";
802  MY(color_max) = "0xFFFFFF";
803  MY(count) = 56;
804  MY(liquidfriction) = 4;
805  MY(originjitter) = '16.0 16.0 28.0';
806  MY(originoffset) = '0.0 0.0 28.0';
807  MY(size_min) = 10;
808  MY(size_max) = 10;
809  MY(type) = "static";
810  MY(velocityjitter) = '0.0 0.0 256.0';
811 }
812 
813 // vortex beam
814 DEF(TE_TEI_G3);
816  MY(alpha_min) = 128;
817  MY(alpha_max) = 128;
818  MY(alpha_fade) = 256;
819  MY(color_min) = "0xFFFFFF";
820  MY(color_max) = "0xFFFFFF";
821  MY(countabsolute) = 1;
822  MY(size_min) = 4;
823  MY(size_max) = 4;
824  MY(tex_min) = 200;
825  MY(tex_max) = 200;
826  MY(type) = "beam";
827 }
828 SUB(TE_TEI_G3) {
829  MY(airfriction) = -4;
830  MY(alpha_min) = 256;
831  MY(alpha_max) = 256;
832  MY(alpha_fade) = 512;
833  MY(color_min) = "0x202020";
834  MY(color_max) = "0x404040";
835  MY(size_min) = 1;
836  MY(size_max) = 1;
837  MY(trailspacing) = 4;
838  MY(type) = "smoke";
839  MY(velocityjitter) = '8.0 8.0 8.0';
840 }
841 
842 // smoke effect
843 DEF(TE_TEI_SMOKE);
844 SUB(TE_TEI_SMOKE) {
845  MY(alpha_min) = 256;
846  MY(alpha_max) = 256;
847  MY(alpha_fade) = 512;
848  MY(color_min) = "0x202020";
849  MY(color_max) = "0x404040";
850  MY(count) = 0.167000;
851  MY(originjitter) = '1.5 1.5 1.5';
852  MY(size_min) = 5;
853  MY(size_max) = 5;
854  MY(tex_max) = 8;
855  MY(type) = "smoke";
856  MY(velocityjitter) = '6.0 6.0 6.0';
857  MY(velocitymultiplier) = 1;
858 }
859 
860 // rocket explosion (bigger than mortar and hagar)
861 DEF(TE_TEI_BIGEXPLOSION);
862 // decal
863 SUB(TE_TEI_BIGEXPLOSION) {
864  MY(alpha_min) = 256;
865  MY(alpha_max) = 256;
866  MY(countabsolute) = 1;
867  MY(lightcolor) = '4.0 2.0 0.5';
868  MY(lightradiusfade) = 500;
869  MY(lightradius) = 500;
870  MY(originjitter) = '40.0 40.0 40.0';
871  MY(size_min) = 72;
872  MY(size_max) = 72;
873  MY(tex_min) = 8;
874  MY(tex_max) = 16;
875  MY(type) = "decal";
876 }
877 // flare effect
878 SUB(TE_TEI_BIGEXPLOSION) {
879  MY(alpha_min) = 192;
880  MY(alpha_max) = 192;
881  MY(alpha_fade) = 64;
882  MY(color_min) = "0x404040";
883  MY(color_max) = "0x404040";
884  MY(countabsolute) = 1;
885  MY(size_min) = 72;
886  MY(size_max) = 72;
887  MY(tex_min) = 35;
888  MY(tex_max) = 37;
889  MY(type) = "static";
890 }
891 // fire effect
892 SUB(TE_TEI_BIGEXPLOSION) {
893  MY(airfriction) = 4;
894  MY(alpha_min) = 128;
895  MY(alpha_max) = 128;
896  MY(alpha_fade) = 256;
897  MY(bounce) = 1.500000;
898  MY(color_min) = "0x902010";
899  MY(color_max) = "0xFFD080";
900  MY(count) = 128;
901  MY(liquidfriction) = 4;
902  MY(notunderwater) = true;
903  MY(originjitter) = '8.0 8.0 8.0';
904  MY(size_min) = 16;
905  MY(size_max) = 16;
906  MY(tex_min) = 48;
907  MY(tex_max) = 55;
908  MY(type) = "static";
909  MY(velocityjitter) = '512.0 512.0 512.0';
910 }
911 // underwater bubbles
912 SUB(TE_TEI_BIGEXPLOSION) {
913  MY(alpha_min) = 128;
914  MY(alpha_max) = 256;
915  MY(alpha_fade) = 64;
916  MY(bounce) = 1.500000;
917  MY(color_min) = "0x404040";
918  MY(color_max) = "0x808080";
919  MY(count) = 32;
920  MY(gravity) = -0.125000;
921  MY(liquidfriction) = 0.250000;
922  MY(originjitter) = '16.0 16.0 16.0';
923  MY(size_min) = 3;
924  MY(size_max) = 3;
925  MY(tex_min) = 62;
926  MY(tex_max) = 62;
927  MY(type) = "bubble";
928  MY(underwater) = true;
929  MY(velocityjitter) = '144.0 144.0 144.0';
930 }
931 // bouncing sparks
932 SUB(TE_TEI_BIGEXPLOSION) {
933  MY(airfriction) = 0.200000;
934  MY(alpha_min) = 256;
935  MY(alpha_max) = 256;
936  MY(alpha_fade) = 384;
937  MY(bounce) = 1.500000;
938  MY(color_min) = "0x903010";
939  MY(color_max) = "0xFFD030";
940  MY(count) = 64;
941  MY(gravity) = 1;
942  MY(liquidfriction) = 0.800000;
943  MY(notunderwater) = true;
944  MY(size_min) = 2;
945  MY(size_max) = 2;
946  MY(type) = "spark";
947  MY(velocityjitter) = '384.0 384.0 384.0';
948  MY(velocityoffset) = '0.0 0.0 80.0';
949 }
950 
951 // electro explosion
952 DEF(TE_TEI_PLASMAHIT);
953 // decal
954 SUB(TE_TEI_PLASMAHIT) {
955  MY(alpha_min) = 256;
956  MY(alpha_max) = 256;
957  MY(countabsolute) = 1;
958  MY(lightcolor) = '2.4 4.8 8.0';
959  MY(lightradiusfade) = 600;
960  MY(lightradius) = 200;
961  MY(originjitter) = '20.0 20.0 20.0';
962  MY(size_min) = 32;
963  MY(size_max) = 32;
964  MY(tex_min) = 59;
965  MY(tex_max) = 59;
966  MY(type) = "decal";
967 }
968 // flare effect
969 SUB(TE_TEI_PLASMAHIT) {
970  MY(alpha_min) = 256;
971  MY(alpha_max) = 256;
972  MY(alpha_fade) = 512;
973  MY(color_min) = "0x80C0FF";
974  MY(color_max) = "0x80C0FF";
975  MY(countabsolute) = 1;
976  MY(size_min) = 32;
977  MY(size_max) = 32;
978  MY(tex_min) = 38;
979  MY(tex_max) = 38;
980  MY(type) = "static";
981 }
982 // cloud of bouncing sparks
983 SUB(TE_TEI_PLASMAHIT) {
984  MY(alpha_min) = 256;
985  MY(alpha_max) = 256;
986  MY(alpha_fade) = 1024;
987  MY(bounce) = 1.500000;
988  MY(color_min) = "0x2030FF";
989  MY(color_max) = "0x80C0FF";
990  MY(count) = 0.500000;
991  MY(size_min) = 2;
992  MY(size_max) = 4;
993  MY(type) = "spark";
994  MY(velocityjitter) = '512.0 512.0 512.0';
995 }
996 
997 // bloody impact effect indicating damage
998 DEF(blood);
999 SUB(blood) {
1000  MY(airfriction) = 0.400000;
1001  MY(alpha_min) = 1560;
1002  MY(alpha_max) = 2560;
1003  MY(alpha_fade) = 7000;
1004  MY(blend) = "invmod";
1005  MY(bounce) = -1;
1006  MY(color_min) = "0xA8FFFF";
1007  MY(color_max) = "0xA8FFFFF";
1008  MY(count) = 0.400000;
1009  MY(sizeincrease) = 20;
1010  MY(size_min) = 5;
1011  MY(size_max) = 11;
1012  MY(staincolor_min) = "0x808080";
1013  MY(staincolor_max) = "0x808080";
1014  MY(stainsize_min) = 1;
1015  MY(stainsize_max) = 2;
1016  MY(staintex_min) = 16;
1017  MY(staintex_max) = 24;
1018  MY(stretchfactor) = 20;
1019  MY(tex_min) = 24;
1020  MY(tex_max) = 32;
1021  MY(type) = "spark";
1022  MY(velocityjitter) = '99.0 99.0 55.0';
1023 }
1024 //blood mist
1025 SUB(blood) {
1026  MY(alpha_min) = 100;
1027  MY(alpha_max) = 256;
1028  MY(alpha_fade) = 400;
1029  MY(blend) = "invmod";
1030  MY(color_min) = "0x000000";
1031  MY(color_max) = "0x420000";
1032  MY(countabsolute) = 1;
1033  MY(originjitter) = '11.0 11.0 11.0';
1034  MY(sizeincrease) = 20;
1035  MY(size_min) = 25;
1036  MY(size_max) = 30;
1037  MY(tex_min) = 24;
1038  MY(tex_max) = 32;
1039  MY(type) = "alphastatic";
1040 }
1041 
1042 // player teleport effect
1043 DEF(teleport);
1044 SUB(teleport) {
1045  MY(airfriction) = 2;
1046  MY(alpha_max) = 256;
1047  MY(alpha_fade) = 100;
1048  MY(bounce) = 1.500000;
1049  MY(color_min) = "0x807aff";
1050  MY(color_max) = "0x4463d5";
1051  MY(count) = 500;
1052  MY(originjitter) = '1.0 1.0 1.0';
1053  MY(size_min) = 1;
1054  MY(size_max) = 1;
1055  MY(stretchfactor) = 0.600000;
1056  MY(tex_min) = 64;
1057  MY(tex_max) = 64;
1058  MY(type) = "spark";
1059  MY(velocityjitter) = '1000.0 1000.0 1500.0';
1060  MY(velocitymultiplier) = 0.500000;
1061 }
1062 SUB(teleport) {
1063  MY(alpha_min) = 190;
1064  MY(alpha_max) = 190;
1065  MY(alpha_fade) = 180;
1066  MY(color_min) = "0x807aff";
1067  MY(color_max) = "0x4463d5";
1068  MY(countabsolute) = 1;
1069  MY(sizeincrease) = -80;
1070  MY(size_min) = 150;
1071  MY(size_max) = 150;
1072  MY(tex_min) = 65;
1073  MY(tex_max) = 65;
1074  MY(type) = "smoke";
1075 }
1076 
1077 // normal super gory blood trail (used by gibs)
1078 DEF(TR_BLOOD);
1079 SUB(TR_BLOOD) {
1080  MY(airfriction) = -2;
1081  MY(alpha_min) = 384;
1082  MY(alpha_max) = 984;
1083  MY(alpha_fade) = 1492;
1084  MY(blend) = "invmod";
1085  MY(bounce) = -1;
1086  MY(color_min) = "0xA8FFFF";
1087  MY(color_max) = "0xA8FFFF";
1088  MY(gravity) = 0.400000;
1089  MY(liquidfriction) = 1;
1090  MY(sizeincrease) = -5;
1091  MY(size_min) = 4;
1092  MY(size_max) = 19;
1093  MY(staincolor_min) = "0x808080";
1094  MY(staincolor_max) = "0x808080";
1095  MY(stainsize_min) = 1;
1096  MY(stainsize_max) = 2;
1097  MY(staintex_min) = 16;
1098  MY(staintex_max) = 24;
1099  MY(stretchfactor) = 7;
1100  MY(tex_min) = 24;
1101  MY(tex_max) = 32;
1102  MY(trailspacing) = 20;
1103  MY(type) = "spark";
1104  MY(velocityjitter) = '64.0 64.0 64.0';
1105  MY(velocitymultiplier) = -0.100000;
1106 }
1107 // splash around gib
1108 SUB(TR_BLOOD) {
1109  MY(alpha_min) = 684;
1110  MY(alpha_max) = 684;
1111  MY(alpha_fade) = 7492;
1112  MY(color_min) = "0xA8FFFF";
1113  MY(color_max) = "0xA8FFFF";
1114  MY(sizeincrease) = 500;
1115  MY(size_min) = 4;
1116  MY(size_max) = 6;
1117  MY(tex_min) = 24;
1118  MY(tex_max) = 32;
1119  MY(trailspacing) = 42;
1120  MY(type) = "blood";
1121 }
1122 
1123 // thinner blood trail (used by quake zombies)
1124 DEF(TR_SLIGHTBLOOD);
1125 SUB(TR_SLIGHTBLOOD) {
1126  MY(airfriction) = 1;
1127  MY(alpha_min) = 384;
1128  MY(alpha_max) = 384;
1129  MY(alpha_fade) = 192;
1130  MY(bounce) = -1;
1131  MY(color_min) = "0xA8FFFF";
1132  MY(color_max) = "0xA8FFFF";
1133  MY(liquidfriction) = 4;
1134  MY(size_min) = 8;
1135  MY(size_max) = 8;
1136  MY(staincolor_min) = "0x808080";
1137  MY(staincolor_max) = "0x808080";
1138  MY(staintex_min) = 16;
1139  MY(staintex_max) = 24;
1140  MY(tex_min) = 24;
1141  MY(tex_max) = 32;
1142  MY(trailspacing) = 64;
1143  MY(type) = "blood";
1144  MY(velocityjitter) = '64.0 64.0 64.0';
1145  MY(velocitymultiplier) = 0.500000;
1146 }
1147 
1148 // func_stardust effect, used in some maps to indicate teleporters
1149 DEF(EF_STARDUST);
1151  MY(airfriction) = 0.200000;
1152  MY(alpha_min) = 64;
1153  MY(alpha_max) = 128;
1154  MY(alpha_fade) = 128;
1155  MY(color_min) = "0xfff368";
1156  MY(color_max) = "0xfff368";
1157  MY(count) = 37.500000;
1158  MY(gravity) = -0.100000;
1159  MY(liquidfriction) = 0.800000;
1160  MY(originjitter) = '16.0 16.0 64.0';
1161  MY(size_min) = 1;
1162  MY(size_max) = 2;
1163  MY(type) = "static";
1164  MY(velocityjitter) = '32.0 32.0 0.0';
1165 }
1166 
1167 // flare particle and light
1168 DEF(item_respawn);
1169 SUB(item_respawn) {
1170  MY(alpha_min) = 128;
1171  MY(alpha_max) = 128;
1172  MY(alpha_fade) = 128;
1173  MY(color_min) = "0x63F2EA";
1174  MY(color_max) = "0x63f2EA";
1175  MY(countabsolute) = 1;
1176  MY(size_min) = 32;
1177  MY(size_max) = 32;
1178  MY(type) = "static";
1179 }
1180 // cloud of particles which expand rapidly and then slow to form a ball
1181 SUB(item_respawn) {
1182  MY(alpha_min) = 256;
1183  MY(alpha_max) = 256;
1184  MY(alpha_fade) = 1280;
1185  MY(color_min) = "0x63F2EA";
1186  MY(color_max) = "0x63f2EA";
1187  MY(count) = 128;
1188  MY(size_min) = 2;
1189  MY(size_max) = 2;
1190  MY(tex_min) = 41;
1191  MY(tex_max) = 41;
1192  MY(type) = "spark";
1193  MY(velocityjitter) = '256.0 256.0 256.0';
1194 }
1195 
1196 DEF(jumppad_activate);
1197 SUB(jumppad_activate) {
1198  MY(lightcolor) = '2.0 2.0 2.0';
1199  MY(lightradiusfade) = 2000;
1200  MY(lightradius) = 200;
1201 }
1202 
1203 DEF(laser_muzzleflash);
1204 // glow and light
1205 SUB(laser_muzzleflash) {
1206  MY(airfriction) = 10;
1207  MY(alpha_min) = 256;
1208  MY(alpha_max) = 512;
1209  MY(alpha_fade) = 6280;
1210  MY(color_min) = "0xcc0000";
1211  MY(color_max) = "0xff0000";
1212  MY(countabsolute) = 1;
1213  MY(lightcolor) = '3.0 0.1 0.1';
1214  MY(lightradiusfade) = 2000;
1215  MY(lightradius) = 200;
1216  MY(sizeincrease) = -100;
1217  MY(size_min) = 10;
1218  MY(size_max) = 15;
1219  MY(stretchfactor) = 2;
1220  MY(tex_min) = 65;
1221  MY(tex_max) = 65;
1222  MY(type) = "smoke";
1223 }
1224 // electricity
1225 SUB(laser_muzzleflash) {
1226  MY(airfriction) = 10;
1227  MY(alpha_min) = 256;
1228  MY(alpha_max) = 512;
1229  MY(alpha_fade) = 6280;
1230  MY(color_min) = "0xb44215";
1231  MY(color_max) = "0xff0000";
1232  MY(count) = 3;
1233  MY(originjitter) = '2.0 2.0 2.0';
1234  MY(startangle_min) = -180;
1235  MY(startangle_max) = 180;
1236  MY(spin_min) = 4000;
1237  MY(spin_max) = -4000;
1238  MY(sizeincrease) = -100;
1239  MY(size_min) = 5;
1240  MY(size_max) = 7;
1241  MY(stretchfactor) = 2.300000;
1242  MY(tex_min) = 43;
1243  MY(tex_max) = 43;
1244  MY(type) = "spark";
1245  MY(velocityjitter) = '150.0 150.0 150.0';
1246  MY(velocitymultiplier) = 0.200000;
1247 }
1248 // fire
1249 SUB(laser_muzzleflash) {
1250  MY(airfriction) = 12;
1251  MY(alpha_min) = 256;
1252  MY(alpha_max) = 512;
1253  MY(alpha_fade) = 6280;
1254  MY(color_min) = "0xff4200";
1255  MY(color_max) = "0xff0000";
1256  MY(count) = 6;
1257  MY(originjitter) = '2.0 2.0 2.0';
1258  MY(sizeincrease) = -100;
1259  MY(size_min) = 7;
1260  MY(size_max) = 9;
1261  MY(stretchfactor) = 2;
1262  MY(tex_min) = 8;
1263  MY(tex_max) = 15;
1264  MY(type) = "spark";
1265  MY(velocityjitter) = '100.0 100.0 100.0';
1266  MY(velocitymultiplier) = 0.200000;
1267 }
1268 
1269 DEF(laser_impact);
1270 // decal
1271 SUB(laser_impact) {
1272  MY(alpha_min) = 256;
1273  MY(alpha_max) = 256;
1274  MY(countabsolute) = 1;
1275  MY(lightcolor) = '8.0 0.4 0.4';
1276  MY(lightradiusfade) = 500;
1277  MY(lightradius) = 200;
1278  MY(originjitter) = '14.0 14.0 14.0';
1279  MY(size_min) = 24;
1280  MY(size_max) = 24;
1281  MY(tex_min) = 47;
1282  MY(tex_max) = 47;
1283  MY(type) = "decal";
1284 }
1285 // flare effect
1286 SUB(laser_impact) {
1287  MY(alpha_min) = 256;
1288  MY(alpha_max) = 256;
1289  MY(alpha_fade) = 1024;
1290  MY(color_min) = "0xFF2010";
1291  MY(color_max) = "0xFF2010";
1292  MY(countabsolute) = 1;
1293  MY(size_min) = 24;
1294  MY(size_max) = 24;
1295  MY(tex_min) = 39;
1296  MY(tex_max) = 39;
1297  MY(type) = "static";
1298 }
1299 // sparks that rapidly expand and rapidly slow down to form an interesting spherical effect
1300 SUB(laser_impact) {
1301  MY(airfriction) = 6;
1302  MY(alpha_min) = 256;
1303  MY(alpha_max) = 256;
1304  MY(alpha_fade) = 1024;
1305  MY(color_min) = "0x800000";
1306  MY(color_max) = "0xFF8020";
1307  MY(count) = 128;
1308  MY(liquidfriction) = 6;
1309  MY(size_min) = 4;
1310  MY(size_max) = 4;
1311  MY(type) = "spark";
1312  MY(velocityjitter) = '256.0 256.0 256.0';
1313 }
1314 SUB(laser_impact) {
1315  MY(alpha_min) = 128;
1316  MY(alpha_max) = 256;
1317  MY(alpha_fade) = 256;
1318  MY(color_min) = "0x800000";
1319  MY(color_max) = "0xFF8020";
1320  MY(count) = 4;
1321  MY(originjitter) = '1.0 1.0 1.0';
1322  MY(sizeincrease) = 6;
1323  MY(size_min) = 12;
1324  MY(size_max) = 12;
1325  MY(tex_min) = 48;
1326  MY(tex_max) = 55;
1327  MY(type) = "smoke";
1328  MY(velocityjitter) = '16.0 16.0 16.0';
1329  MY(velocitymultiplier) = 0.010000;
1330 }
1331 
1332 DEF(shotgun_muzzleflash);
1333 SUB(shotgun_muzzleflash) {
1334  MY(alpha_min) = 256;
1335  MY(alpha_max) = 256;
1336  MY(alpha_fade) = 512;
1337  MY(color_min) = "0x202020";
1338  MY(color_max) = "0x404040";
1339  MY(count) = 1.500000;
1340  MY(lightcolor) = '2.0 1.5 0.2';
1341  MY(lightradiusfade) = 2000;
1342  MY(lightradius) = 200;
1343  MY(originjitter) = '1.5 1.5 1.5';
1344  MY(sizeincrease) = 12;
1345  MY(size_min) = 5;
1346  MY(size_max) = 5;
1347  MY(tex_max) = 8;
1348  MY(type) = "smoke";
1349  MY(velocityjitter) = '6.0 6.0 6.0';
1350  MY(velocitymultiplier) = 0.050000;
1351 }
1352 SUB(shotgun_muzzleflash) {
1353  MY(airfriction) = 5;
1354  MY(alpha_max) = 128;
1355  MY(alpha_fade) = 1024;
1356  MY(color_min) = "0xffdb96";
1357  MY(color_max) = "0xff5400";
1358  MY(count) = 16;
1359  MY(originjitter) = '1.0 1.0 1.0';
1360  MY(size_min) = 10;
1361  MY(size_max) = 20;
1362  MY(stretchfactor) = 2.500000;
1363  MY(tex_min) = 48;
1364  MY(tex_max) = 55;
1365  MY(type) = "spark";
1366  MY(velocityjitter) = '100.0 100.0 100.0';
1367  MY(velocitymultiplier) = 0.500000;
1368 }
1369 
1370 // shotgun pellet impact
1371 DEF(shotgun_impact);
1372 // decal
1373 SUB(shotgun_impact) {
1374  MY(alpha_min) = 256;
1375  MY(alpha_max) = 256;
1376  MY(countabsolute) = 1;
1377  MY(originjitter) = '10.0 10.0 10.0';
1378  MY(size_min) = 5;
1379  MY(size_max) = 8;
1380  MY(tex_min) = 56;
1381  MY(tex_max) = 59;
1382  MY(type) = "decal";
1383 }
1384 // dust/smoke drifting away from the impact
1385 SUB(shotgun_impact) {
1386  MY(airfriction) = 5;
1387  MY(alpha_min) = 300;
1388  MY(alpha_max) = 550;
1389  MY(alpha_fade) = 756;
1390  MY(color_min) = "0x473a37";
1391  MY(color_max) = "0x0b0a07";
1392  MY(count) = 1;
1393  MY(notunderwater) = true;
1394  MY(startangle_max) = 360;
1395  MY(spin_min) = -50;
1396  MY(spin_max) = 50;
1397  MY(sizeincrease) = 25;
1398  MY(size_min) = 10;
1399  MY(size_max) = 20;
1400  MY(tex_max) = 8;
1401  MY(type) = "alphastatic";
1402  MY(velocityjitter) = '150.0 150.0 150.0';
1403  MY(velocitymultiplier) = 0.200000;
1404 }
1405 // dust/smoke staying at the impact
1406 SUB(shotgun_impact) {
1407  MY(airfriction) = 5;
1408  MY(alpha_min) = 200;
1409  MY(alpha_max) = 350;
1410  MY(alpha_fade) = 500;
1411  MY(bounce) = 6;
1412  MY(color_min) = "0x201d1a";
1413  MY(color_max) = "0x000000";
1414  MY(count) = 0.200000;
1415  MY(notunderwater) = true;
1416  MY(startangle_max) = 360;
1417  MY(spin_min) = -50;
1418  MY(spin_max) = 50;
1419  MY(sizeincrease) = 74;
1420  MY(size_min) = 10;
1421  MY(size_max) = 11;
1422  MY(tex_min) = 36;
1423  MY(tex_max) = 36;
1424  MY(type) = "alphastatic";
1425  MY(velocityjitter) = '11.0 11.0 11.0';
1426  MY(velocitymultiplier) = 0.030000;
1427 }
1428 // sparks
1429 SUB(shotgun_impact) {
1430  MY(airfriction) = 1.100000;
1431  MY(alpha_max) = 356;
1432  MY(alpha_fade) = 268;
1433  MY(bounce) = 1.500000;
1434  MY(color_min) = "0xFDFFD9";
1435  MY(color_max) = "0xFDFFD9";
1436  MY(count) = 0.500000;
1437  MY(gravity) = 1;
1438  MY(notunderwater) = true;
1439  MY(originjitter) = '1.0 1.0 1.0';
1440  MY(size_min) = 0.600000;
1441  MY(size_max) = 0.600000;
1442  MY(tex_min) = 40;
1443  MY(tex_max) = 40;
1444  MY(type) = "spark";
1445  MY(velocityjitter) = '200.0 200.0 200.0';
1446  MY(velocitymultiplier) = 0.200000;
1447 }
1448 
1449 DEF(uzi_muzzleflash);
1450 SUB(uzi_muzzleflash) {
1451  MY(alpha_min) = 256;
1452  MY(alpha_max) = 256;
1453  MY(alpha_fade) = 512;
1454  MY(color_min) = "0x202020";
1455  MY(color_max) = "0x404040";
1456  MY(count) = 1;
1457  MY(gravity) = -0.100000;
1458  MY(lightcolor) = '2.0 1.5 0.2';
1459  MY(lightradiusfade) = 2000;
1460  MY(lightradius) = 200;
1461  MY(originjitter) = '1.5 1.5 1.5';
1462  MY(size_min) = 5;
1463  MY(size_max) = 5;
1464  MY(tex_max) = 8;
1465  MY(type) = "static";
1466  MY(velocityjitter) = '1.0 1.0 1.0';
1467  MY(velocitymultiplier) = 0.030000;
1468 }
1469 SUB(uzi_muzzleflash) {
1470  MY(airfriction) = 12;
1471  MY(alpha_max) = 256;
1472  MY(alpha_fade) = 6000;
1473  MY(color_min) = "0xff9c00";
1474  MY(color_max) = "0xffd200";
1475  MY(count) = 3;
1476  MY(originjitter) = '1.0 1.0 1.0';
1477  MY(size_min) = 0.300000;
1478  MY(size_max) = 0.400000;
1479  MY(stretchfactor) = 0.150000;
1480  MY(tex_min) = 40;
1481  MY(tex_max) = 40;
1482  MY(type) = "spark";
1483  MY(velocityjitter) = '555.0 555.0 555.0';
1484  MY(velocitymultiplier) = 3;
1485 }
1486 
1487 DEF(machinegun_impact);
1488 // decal
1489 SUB(machinegun_impact) {
1490  MY(alpha_min) = 256;
1491  MY(alpha_max) = 256;
1492  MY(countabsolute) = 1;
1493  MY(lightcolor) = '6.0 3.6 0.6';
1494  MY(lightradiusfade) = 800;
1495  MY(lightradius) = 80;
1496  MY(originjitter) = '10.0 10.0 10.0';
1497  MY(size_min) = 5;
1498  MY(size_max) = 5;
1499  MY(tex_min) = 56;
1500  MY(tex_max) = 59;
1501  MY(type) = "decal";
1502 }
1503 // dust/smoke drifting away from the impact
1504 SUB(machinegun_impact) {
1505  MY(airfriction) = 5;
1506  MY(alpha_min) = 300;
1507  MY(alpha_max) = 550;
1508  MY(alpha_fade) = 456;
1509  MY(color_min) = "0x473a37";
1510  MY(color_max) = "0x0b0a07";
1511  MY(count) = 1.500000;
1512  MY(notunderwater) = true;
1513  MY(startangle_max) = 360;
1514  MY(spin_min) = -50;
1515  MY(spin_max) = 50;
1516  MY(sizeincrease) = 15;
1517  MY(size_min) = 10;
1518  MY(size_max) = 20;
1519  MY(tex_max) = 8;
1520  MY(type) = "alphastatic";
1521  MY(velocityjitter) = '150.0 150.0 150.0';
1522  MY(velocitymultiplier) = 0.100000;
1523 }
1524 // dust/smoke staying at the impact
1525 SUB(machinegun_impact) {
1526  MY(airfriction) = 5;
1527  MY(alpha_min) = 200;
1528  MY(alpha_max) = 350;
1529  MY(alpha_fade) = 500;
1530  MY(bounce) = 6;
1531  MY(color_min) = "0x201d1a";
1532  MY(color_max) = "0x000000";
1533  MY(count) = 0.500000;
1534  MY(notunderwater) = true;
1535  MY(startangle_max) = 360;
1536  MY(spin_min) = -50;
1537  MY(spin_max) = 50;
1538  MY(sizeincrease) = 74;
1539  MY(size_min) = 10;
1540  MY(size_max) = 11;
1541  MY(tex_min) = 36;
1542  MY(tex_max) = 36;
1543  MY(type) = "alphastatic";
1544  MY(velocityjitter) = '11.0 11.0 11.0';
1545  MY(velocitymultiplier) = 0.030000;
1546 }
1547 // debris
1548 SUB(machinegun_impact) {
1549  MY(airfriction) = 1;
1550  MY(alpha_min) = 300;
1551  MY(alpha_max) = 550;
1552  MY(alpha_fade) = 256;
1553  MY(bounce) = 1.700000;
1554  MY(color_min) = "0x63493e";
1555  MY(color_max) = "0xffffff";
1556  MY(count) = 1;
1557  MY(gravity) = 1.400000;
1558  MY(notunderwater) = true;
1559  MY(startangle_max) = 360;
1560  MY(spin_min) = -500;
1561  MY(spin_max) = 500;
1562  MY(size_min) = 1;
1563  MY(size_max) = 5;
1564  MY(tex_min) = 66;
1565  MY(tex_max) = 68;
1566  MY(type) = "alphastatic";
1567  MY(velocityjitter) = '350.0 350.0 350.0';
1568  MY(velocitymultiplier) = 0.200000;
1569 }
1570 // sparks
1571 SUB(machinegun_impact) {
1572  MY(airfriction) = 2;
1573  MY(alpha_min) = 256;
1574  MY(alpha_max) = 256;
1575  MY(alpha_fade) = 168;
1576  MY(bounce) = 1;
1577  MY(color_min) = "0xFDFFD9";
1578  MY(color_max) = "0xFDFFD9";
1579  MY(count) = 1;
1580  MY(gravity) = 1;
1581  MY(notunderwater) = true;
1582  MY(originjitter) = '1.0 1.0 1.0';
1583  MY(size_min) = 0.300000;
1584  MY(size_max) = 0.300000;
1585  MY(tex_min) = 40;
1586  MY(tex_max) = 40;
1587  MY(type) = "spark";
1588  MY(velocityjitter) = '300.0 300.0 300.0';
1589  MY(velocitymultiplier) = 0.200000;
1590 }
1591 
1592 DEF(grenadelauncher_muzzleflash);
1593 SUB(grenadelauncher_muzzleflash) {
1594  MY(airfriction) = 12;
1595  MY(alpha_min) = 256;
1596  MY(alpha_max) = 256;
1597  MY(alpha_fade) = 512;
1598  MY(color_min) = "0x202020";
1599  MY(color_max) = "0x404040";
1600  MY(count) = 1.500000;
1601  MY(lightcolor) = '2.0 1.5 0.2';
1602  MY(lightradiusfade) = 2000;
1603  MY(lightradius) = 200;
1604  MY(originjitter) = '1.5 1.5 1.5';
1605  MY(size_min) = 5;
1606  MY(size_max) = 5;
1607  MY(tex_max) = 8;
1608  MY(type) = "smoke";
1609  MY(velocityjitter) = '20.0 20.0 20.0';
1610  MY(velocitymultiplier) = 0.030000;
1611 }
1612 SUB(grenadelauncher_muzzleflash) {
1613  MY(airfriction) = 5;
1614  MY(alpha_max) = 128;
1615  MY(alpha_fade) = 1024;
1616  MY(color_min) = "0xffdb96";
1617  MY(color_max) = "0xff5400";
1618  MY(count) = 16;
1619  MY(originjitter) = '1.0 1.0 1.0';
1620  MY(size_min) = 10;
1621  MY(size_max) = 20;
1622  MY(stretchfactor) = 2.500000;
1623  MY(tex_min) = 48;
1624  MY(tex_max) = 55;
1625  MY(type) = "spark";
1626  MY(velocityjitter) = '100.0 100.0 100.0';
1627  MY(velocitymultiplier) = 0.500000;
1628 }
1629 
1630 // mortar trail
1631 DEF(TR_GRENADE);
1632 // smoke
1633 SUB(TR_GRENADE) {
1634  MY(alpha_min) = 300;
1635  MY(alpha_max) = 400;
1636  MY(alpha_fade) = 780;
1637  MY(bounce) = 1;
1638  MY(color_min) = "0x101010";
1639  MY(color_max) = "0x000000";
1640  MY(originjitter) = '1.0 1.0 1.0';
1641  MY(sizeincrease) = 10;
1642  MY(size_min) = 3;
1643  MY(size_max) = 2;
1644  MY(tex_max) = 8;
1645  MY(trailspacing) = 4;
1646  MY(type) = "smoke";
1647  MY(velocityjitter) = '1.0 1.0 1.0';
1648  MY(velocitymultiplier) = -0.020000;
1649 }
1650 // fire
1651 SUB(TR_GRENADE) {
1652  MY(airfriction) = 8;
1653  MY(alpha_min) = 100;
1654  MY(alpha_max) = 144;
1655  MY(alpha_fade) = 988;
1656  MY(color_min) = "0xffdf72";
1657  MY(color_max) = "0x811200";
1658  MY(notunderwater) = true;
1659  MY(sizeincrease) = -15;
1660  MY(size_min) = 5;
1661  MY(size_max) = 2;
1662  MY(tex_min) = 48;
1663  MY(tex_max) = 55;
1664  MY(trailspacing) = 4;
1665  MY(type) = "static";
1666  MY(velocityjitter) = '32.0 32.0 32.0';
1667  MY(velocitymultiplier) = -1;
1668 }
1669 // bubbles
1670 SUB(TR_GRENADE) {
1671  MY(alpha_min) = 256;
1672  MY(alpha_max) = 256;
1673  MY(alpha_fade) = 256;
1674  MY(bounce) = 1.500000;
1675  MY(color_min) = "0x404040";
1676  MY(color_max) = "0x808080";
1677  MY(gravity) = -0.125000;
1678  MY(liquidfriction) = 4;
1679  MY(size_min) = 1;
1680  MY(size_max) = 1;
1681  MY(tex_min) = 62;
1682  MY(tex_max) = 62;
1683  MY(trailspacing) = 16;
1684  MY(type) = "bubble";
1685  MY(underwater) = true;
1686  MY(velocityjitter) = '16.0 16.0 16.0';
1687 }
1688 
1689 // hookbomb trail
1690 DEF(TR_KNIGHTSPIKE);
1691 // smoke
1692 SUB(TR_KNIGHTSPIKE) {
1693  MY(alpha_min) = 300;
1694  MY(alpha_max) = 400;
1695  MY(alpha_fade) = 600;
1696  MY(bounce) = 1;
1697  MY(color_min) = "0x303030";
1698  MY(color_max) = "0x000000";
1699  MY(gravity) = -0.110000;
1700  MY(notunderwater) = true;
1701  MY(originjitter) = '2.0 2.0 2.0';
1702  MY(sizeincrease) = 11;
1703  MY(size_min) = 3;
1704  MY(size_max) = 3;
1705  MY(tex_max) = 8;
1706  MY(trailspacing) = 6;
1707  MY(type) = "smoke";
1708  MY(velocityjitter) = '3.0 3.0 3.0';
1709  MY(velocitymultiplier) = -0.020000;
1710 }
1711 // marker
1712 SUB(TR_KNIGHTSPIKE) {
1713  MY(alpha_min) = 256;
1714  MY(alpha_max) = 256;
1715  MY(alpha_fade) = 720;
1716  MY(color_min) = "0x666666";
1717  MY(color_max) = "0x000000";
1718  MY(sizeincrease) = -0.100000;
1719  MY(size_min) = 1;
1720  MY(size_max) = 1;
1721  MY(tex_min) = 62;
1722  MY(tex_max) = 62;
1723  MY(trailspacing) = 2;
1724  MY(type) = "alphastatic";
1725 }
1726 // bubbles
1727 SUB(TR_KNIGHTSPIKE) {
1728  MY(alpha_min) = 256;
1729  MY(alpha_max) = 256;
1730  MY(alpha_fade) = 256;
1731  MY(bounce) = 1.500000;
1732  MY(color_min) = "0x404040";
1733  MY(color_max) = "0x808080";
1734  MY(gravity) = -0.125000;
1735  MY(liquidfriction) = 4;
1736  MY(size_min) = 1;
1737  MY(size_max) = 1;
1738  MY(tex_min) = 62;
1739  MY(tex_max) = 62;
1740  MY(trailspacing) = 32;
1741  MY(type) = "bubble";
1742  MY(underwater) = true;
1743  MY(velocityjitter) = '16.0 16.0 16.0';
1744 }
1745 
1746 DEF(grenade_explode);
1747 // decal
1748 SUB(grenade_explode) {
1749  MY(alpha_min) = 256;
1750  MY(alpha_max) = 256;
1751  MY(countabsolute) = 1;
1752  MY(lightcolor) = '8.0 4.0 1.0';
1753  MY(lightradiusfade) = 400;
1754  MY(lightradius) = 250;
1755  MY(originjitter) = '26.0 26.0 26.0';
1756  MY(size_min) = 48;
1757  MY(size_max) = 48;
1758  MY(tex_min) = 8;
1759  MY(tex_max) = 16;
1760  MY(type) = "decal";
1761 }
1762 // fire effect which expands then slows
1763 SUB(grenade_explode) {
1764  MY(airfriction) = 8;
1765  MY(alpha_min) = 128;
1766  MY(alpha_max) = 228;
1767  MY(alpha_fade) = 356;
1768  MY(bounce) = 4.500000;
1769  MY(color_min) = "0xe03f00";
1770  MY(color_max) = "0x5e0000";
1771  MY(count) = 40;
1772  MY(liquidfriction) = 8;
1773  MY(notunderwater) = true;
1774  MY(originjitter) = '8.0 8.0 8.0';
1775  MY(sizeincrease) = 20;
1776  MY(size_min) = 16;
1777  MY(size_max) = 26;
1778  MY(tex_min) = 48;
1779  MY(tex_max) = 55;
1780  MY(type) = "static";
1781  MY(velocityjitter) = '256.0 256.0 256.0';
1782 }
1783 // fire effect which make bright dot inside
1784 SUB(grenade_explode) {
1785  MY(airfriction) = 8;
1786  MY(alpha_min) = 228;
1787  MY(alpha_max) = 328;
1788  MY(alpha_fade) = 756;
1789  MY(bounce) = 1;
1790  MY(color_min) = "0xe03f00";
1791  MY(color_max) = "0xffdf92";
1792  MY(count) = 15;
1793  MY(liquidfriction) = 8;
1794  MY(notunderwater) = true;
1795  MY(originjitter) = '8.0 8.0 8.0';
1796  MY(sizeincrease) = 40;
1797  MY(size_min) = 6;
1798  MY(size_max) = 16;
1799  MY(tex_min) = 48;
1800  MY(tex_max) = 55;
1801  MY(type) = "static";
1802  MY(velocityjitter) = '256.0 256.0 256.0';
1803 }
1804 // smoke
1805 SUB(grenade_explode) {
1806  MY(airfriction) = 5;
1807  MY(alpha_min) = 300;
1808  MY(alpha_max) = 550;
1809  MY(alpha_fade) = 556;
1810  MY(bounce) = 6;
1811  MY(color_min) = "0x000000";
1812  MY(color_max) = "0x111111";
1813  MY(count) = 10;
1814  MY(notunderwater) = true;
1815  MY(sizeincrease) = 34;
1816  MY(size_min) = 20;
1817  MY(size_max) = 40;
1818  MY(tex_max) = 8;
1819  MY(type) = "alphastatic";
1820  MY(velocityjitter) = '256.0 256.0 256.0';
1821 }
1822 // underwater bubbles
1823 SUB(grenade_explode) {
1824  MY(alpha_min) = 128;
1825  MY(alpha_max) = 256;
1826  MY(alpha_fade) = 64;
1827  MY(bounce) = 1.500000;
1828  MY(color_min) = "0x404040";
1829  MY(color_max) = "0x808080";
1830  MY(count) = 32;
1831  MY(gravity) = -0.125000;
1832  MY(liquidfriction) = 0.250000;
1833  MY(originjitter) = '16.0 16.0 16.0';
1834  MY(size_min) = 3;
1835  MY(size_max) = 6;
1836  MY(tex_min) = 62;
1837  MY(tex_max) = 62;
1838  MY(type) = "bubble";
1839  MY(underwater) = true;
1840  MY(velocityjitter) = '196.0 196.0 196.0';
1841 }
1842 // underwatershockwave
1843 SUB(grenade_explode) {
1844  MY(alpha_min) = 40;
1845  MY(alpha_max) = 40;
1846  MY(alpha_fade) = 300;
1847  MY(countabsolute) = 1;
1848  MY(sizeincrease) = 1500;
1849  MY(size_min) = 5;
1850  MY(size_max) = 5;
1851  MY(tex_min) = 33;
1852  MY(tex_max) = 33;
1853  MY(type) = "smoke";
1854  MY(underwater) = true;
1855  MY(velocitymultiplier) = 0.300000;
1856 }
1857 // bouncing sparks
1858 SUB(grenade_explode) {
1859  MY(airfriction) = 1;
1860  MY(alpha_min) = 644;
1861  MY(alpha_max) = 956;
1862  MY(alpha_fade) = 484;
1863  MY(bounce) = 1.600000;
1864  MY(color_min) = "0xffa35b";
1865  MY(color_max) = "0xfff2be";
1866  MY(count) = 16;
1867  MY(gravity) = 1;
1868  MY(liquidfriction) = 0.800000;
1869  MY(notunderwater) = true;
1870  MY(originjitter) = '16.0 16.0 16.0';
1871  MY(size_min) = 1;
1872  MY(size_max) = 0.100000;
1873  MY(tex_min) = 40;
1874  MY(tex_max) = 40;
1875  MY(type) = "spark";
1876  MY(velocityjitter) = '424.0 424.0 624.0';
1877  MY(velocityoffset) = '0.0 0.0 80.0';
1878 }
1879 // debris
1880 SUB(grenade_explode) {
1881  MY(airfriction) = 0.500000;
1882  MY(alpha_min) = 644;
1883  MY(alpha_max) = 956;
1884  MY(alpha_fade) = 684;
1885  MY(bounce) = 1.600000;
1886  MY(color_min) = "0x6a3d25";
1887  MY(color_max) = "0xcac5b4";
1888  MY(count) = 12;
1889  MY(gravity) = 1.300000;
1890  MY(notunderwater) = true;
1891  MY(startangle_min) = -180;
1892  MY(startangle_max) = 180;
1893  MY(spin_min) = -1000;
1894  MY(spin_max) = 1000;
1895  MY(size_min) = 2;
1896  MY(size_max) = 6;
1897  MY(tex_min) = 66;
1898  MY(tex_max) = 68;
1899  MY(type) = "alphastatic";
1900  MY(velocityjitter) = '324.0 324.0 524.0';
1901 }
1902 
1903 DEF(electro_muzzleflash);
1904 SUB(electro_muzzleflash) {
1905  MY(alpha_min) = 256;
1906  MY(alpha_max) = 256;
1907  MY(alpha_fade) = 512;
1908  MY(color_min) = "0x283880";
1909  MY(color_max) = "0x283880";
1910  MY(countabsolute) = 1;
1911  MY(lightcolor) = '1.5 3.0 6.0';
1912  MY(lightradiusfade) = 2000;
1913  MY(lightradius) = 200;
1914  MY(originjitter) = '1.5 1.5 1.5';
1915  MY(sizeincrease) = -10;
1916  MY(size_min) = 15;
1917  MY(size_max) = 15;
1918  MY(tex_min) = 65;
1919  MY(tex_max) = 65;
1920  MY(type) = "smoke";
1921  MY(velocityjitter) = '6.0 6.0 6.0';
1922  MY(velocitymultiplier) = 0.010000;
1923 }
1924 SUB(electro_muzzleflash) {
1925  MY(airfriction) = 2;
1926  MY(alpha_min) = 110;
1927  MY(alpha_max) = 228;
1928  MY(alpha_fade) = 2024;
1929  MY(color_min) = "0xD9FDFF";
1930  MY(color_max) = "0xD9FDFF";
1931  MY(count) = 7;
1932  MY(originjitter) = '1.0 1.0 1.0';
1933  MY(size_min) = 5;
1934  MY(size_max) = 15;
1935  MY(stretchfactor) = 1.500000;
1936  MY(tex_min) = 8;
1937  MY(tex_max) = 15;
1938  MY(type) = "spark";
1939  MY(velocityjitter) = '150.0 150.0 150.0';
1940  MY(velocitymultiplier) = 0.500000;
1941 }
1942 SUB(electro_muzzleflash) {
1943  MY(airfriction) = 8;
1944  MY(alpha_min) = 110;
1945  MY(alpha_max) = 228;
1946  MY(alpha_fade) = 1024;
1947  MY(color_min) = "0xD9FDFF";
1948  MY(color_max) = "0xD9FDFF";
1949  MY(count) = 5;
1950  MY(gravity) = 1.300000;
1951  MY(originjitter) = '1.0 1.0 1.0';
1952  MY(size_min) = 7;
1953  MY(size_max) = 6;
1954  MY(stretchfactor) = 0.100000;
1955  MY(tex_min) = 41;
1956  MY(tex_max) = 41;
1957  MY(type) = "spark";
1958  MY(velocityjitter) = '350.0 350.0 350.0';
1959  MY(velocitymultiplier) = 2.500000;
1960 }
1961 
1962 // electro trail
1963 DEF(TR_NEXUIZPLASMA);
1964 // glowing vapor trail
1965 SUB(TR_NEXUIZPLASMA) {
1966  MY(alpha_min) = 256;
1967  MY(alpha_max) = 256;
1968  MY(alpha_fade) = 968;
1969  MY(color_min) = "0x283880";
1970  MY(color_max) = "0x283880";
1971  MY(lightcolor) = '1.5 3.0 6.0';
1972  MY(lightradius) = 90;
1973  MY(size_min) = 3;
1974  MY(size_max) = 3;
1975  MY(tex_min) = 38;
1976  MY(tex_max) = 38;
1977  MY(trailspacing) = 2;
1978  MY(type) = "static";
1979  MY(velocitymultiplier) = -0.100000;
1980 }
1981 // bright sparks
1982 SUB(TR_NEXUIZPLASMA) {
1983  MY(airfriction) = 12;
1984  MY(alpha_min) = 444;
1985  MY(alpha_max) = 512;
1986  MY(alpha_fade) = 1866;
1987  MY(bounce) = 1;
1988  MY(color_min) = "0x629dff";
1989  MY(color_max) = "0x0018ff";
1990  MY(count) = 1.500000;
1991  MY(originjitter) = '1.0 1.0 1.0';
1992  MY(sizeincrease) = -20;
1993  MY(size_min) = 2;
1994  MY(size_max) = 4;
1995  MY(tex_min) = 42;
1996  MY(tex_max) = 42;
1997  MY(trailspacing) = 12;
1998  MY(type) = "snow";
1999  MY(velocityjitter) = '50.0 50.0 50.0';
2000  MY(velocityoffset) = '0.0 0.0 15.0';
2001 }
2002 
2003 DEF(electro_impact);
2004 // decal
2005 SUB(electro_impact) {
2006  MY(alpha_min) = 256;
2007  MY(alpha_max) = 256;
2008  MY(countabsolute) = 1;
2009  MY(lightcolor) = '3.1 4.4 10.0';
2010  MY(lightradiusfade) = 250;
2011  MY(lightradius) = 250;
2012  MY(originjitter) = '17.0 17.0 17.0';
2013  MY(size_min) = 32;
2014  MY(size_max) = 32;
2015  MY(tex_min) = 59;
2016  MY(tex_max) = 59;
2017  MY(type) = "decal";
2018 }
2019 // shockwave
2020 SUB(electro_impact) {
2021  MY(alpha_min) = 40;
2022  MY(alpha_max) = 40;
2023  MY(alpha_fade) = 350;
2024  MY(color_min) = "0x80C0FF";
2025  MY(color_max) = "0x80C0FF";
2026  MY(countabsolute) = 1;
2027  MY(sizeincrease) = 1000;
2028  MY(size_min) = 32;
2029  MY(size_max) = 32;
2030  MY(tex_min) = 33;
2031  MY(tex_max) = 33;
2032  MY(type) = "smoke";
2033  MY(velocitymultiplier) = 44;
2034 }
2035 // flare effect
2036 SUB(electro_impact) {
2037  MY(alpha_min) = 256;
2038  MY(alpha_max) = 256;
2039  MY(alpha_fade) = 512;
2040  MY(color_min) = "0x80C0FF";
2041  MY(color_max) = "0x80C0FF";
2042  MY(countabsolute) = 1;
2043  MY(size_min) = 12;
2044  MY(size_max) = 32;
2045  MY(tex_min) = 38;
2046  MY(tex_max) = 38;
2047  MY(type) = "static";
2048 }
2049 // cloud of bouncing sparks
2050 SUB(electro_impact) {
2051  MY(airfriction) = 6;
2052  MY(alpha_min) = 256;
2053  MY(alpha_max) = 256;
2054  MY(alpha_fade) = 1024;
2055  MY(bounce) = 2;
2056  MY(color_min) = "0x629dff";
2057  MY(color_max) = "0x0018ff";
2058  MY(count) = 30;
2059  MY(gravity) = -0.300000;
2060  MY(originjitter) = '1.0 1.0 1.0';
2061  MY(startangle_min) = -180;
2062  MY(startangle_max) = 180;
2063  MY(spin_min) = -9999;
2064  MY(spin_max) = 9999;
2065  MY(sizeincrease) = -50;
2066  MY(size_min) = 36;
2067  MY(size_max) = 36;
2068  MY(tex_min) = 42;
2069  MY(tex_max) = 42;
2070  MY(type) = "smoke";
2071  MY(velocityjitter) = '512.0 512.0 512.0';
2072 }
2073 // inner cloud of smoke
2074 SUB(electro_impact) {
2075  MY(airfriction) = 30;
2076  MY(alpha_min) = 200;
2077  MY(alpha_max) = 256;
2078  MY(alpha_fade) = 512;
2079  MY(color_min) = "0x629dff";
2080  MY(color_max) = "0x0018ff";
2081  MY(count) = 30;
2082  MY(originjitter) = '20.0 20.0 20.0';
2083  MY(sizeincrease) = 50;
2084  MY(size_min) = 20;
2085  MY(size_max) = 24;
2086  MY(tex_max) = 8;
2087  MY(type) = "smoke";
2088  MY(velocityjitter) = '320.0 320.0 320.0';
2089 }
2090 
2091 DEF(electro_ballexplode);
2092 // decal
2093 SUB(electro_ballexplode) {
2094  MY(alpha_min) = 256;
2095  MY(alpha_max) = 256;
2096  MY(countabsolute) = 1;
2097  MY(lightcolor) = '3.1 4.4 10.0';
2098  MY(lightradiusfade) = 250;
2099  MY(lightradius) = 250;
2100  MY(originjitter) = '17.0 17.0 17.0';
2101  MY(size_min) = 32;
2102  MY(size_max) = 32;
2103  MY(tex_min) = 59;
2104  MY(tex_max) = 59;
2105  MY(type) = "decal";
2106 }
2107 // flare effect
2108 SUB(electro_ballexplode) {
2109  MY(alpha_min) = 256;
2110  MY(alpha_max) = 256;
2111  MY(alpha_fade) = 512;
2112  MY(color_min) = "0x80C0FF";
2113  MY(color_max) = "0x80C0FF";
2114  MY(countabsolute) = 1;
2115  MY(size_min) = 32;
2116  MY(size_max) = 32;
2117  MY(tex_min) = 38;
2118  MY(tex_max) = 38;
2119  MY(type) = "static";
2120 }
2121 // cloud of bouncing sparks
2122 SUB(electro_ballexplode) {
2123  MY(alpha_min) = 256;
2124  MY(alpha_max) = 256;
2125  MY(alpha_fade) = 1024;
2126  MY(bounce) = 2;
2127  MY(color_min) = "0xFDFFD9";
2128  MY(color_max) = "0xFDFFD9";
2129  MY(count) = 64;
2130  MY(originjitter) = '1.0 1.0 1.0';
2131  MY(size_min) = 1;
2132  MY(size_max) = 2;
2133  MY(stretchfactor) = 0.400000;
2134  MY(tex_min) = 41;
2135  MY(tex_max) = 41;
2136  MY(type) = "spark";
2137  MY(velocityjitter) = '512.0 512.0 512.0';
2138 }
2139 // inner cloud of smoke
2140 SUB(electro_ballexplode) {
2141  MY(alpha_min) = 256;
2142  MY(alpha_max) = 256;
2143  MY(alpha_fade) = 512;
2144  MY(color_min) = "0x202020";
2145  MY(color_max) = "0x404040";
2146  MY(count) = 8;
2147  MY(originjitter) = '20.0 20.0 20.0';
2148  MY(size_min) = 24;
2149  MY(size_max) = 24;
2150  MY(tex_max) = 8;
2151  MY(type) = "smoke";
2152  MY(velocityjitter) = '32.0 32.0 32.0';
2153 }
2154 
2155 DEF(electro_combo);
2156 // decal
2157 SUB(electro_combo) {
2158  MY(alpha_min) = 256;
2159  MY(alpha_max) = 256;
2160  MY(countabsolute) = 1;
2161  MY(lightcolor) = '4.0 5.0 6.0';
2162  MY(lightradiusfade) = 300;
2163  MY(lightradius) = 400;
2164  MY(originjitter) = '17.0 17.0 17.0';
2165  MY(size_min) = 64;
2166  MY(size_max) = 64;
2167  MY(tex_min) = 59;
2168  MY(tex_max) = 59;
2169  MY(type) = "decal";
2170 }
2171 // flare effect
2172 SUB(electro_combo) {
2173  MY(alpha_min) = 128;
2174  MY(alpha_max) = 128;
2175  MY(alpha_fade) = 64;
2176  MY(color_min) = "0x80C0FF";
2177  MY(color_max) = "0x80C0FF";
2178  MY(countabsolute) = 1;
2179  MY(size_min) = 48;
2180  MY(size_max) = 48;
2181  MY(tex_min) = 38;
2182  MY(tex_max) = 38;
2183  MY(type) = "static";
2184 }
2185 // large sparks
2186 SUB(electro_combo) {
2187  MY(airfriction) = 6;
2188  MY(alpha_min) = 156;
2189  MY(alpha_max) = 156;
2190  MY(alpha_fade) = 156;
2191  MY(bounce) = 2;
2192  MY(color_min) = "0x2030FF";
2193  MY(color_max) = "0x80C0FF";
2194  MY(count) = 5;
2195  MY(liquidfriction) = 16;
2196  MY(sizeincrease) = 50;
2197  MY(size_min) = 32;
2198  MY(size_max) = 32;
2199  MY(tex_max) = 7;
2200  MY(type) = "static";
2201  MY(velocityjitter) = '512.0 512.0 512.0';
2202 }
2203 SUB(electro_combo) {
2204  MY(alpha_min) = 444;
2205  MY(alpha_max) = 512;
2206  MY(alpha_fade) = 700;
2207  MY(bounce) = 1.600000;
2208  MY(color_min) = "0xa9cacf";
2209  MY(color_max) = "0x0054ff";
2210  MY(count) = 32;
2211  MY(gravity) = 0.300000;
2212  MY(originjitter) = '1.0 1.0 1.0';
2213  MY(size_min) = 2;
2214  MY(size_max) = 4;
2215  MY(stretchfactor) = 2;
2216  MY(tex_min) = 41;
2217  MY(tex_max) = 41;
2218  MY(type) = "spark";
2219  MY(velocityjitter) = '312.0 312.0 312.0';
2220  MY(velocitymultiplier) = 3;
2221 }
2222 // inner cloud of smoke
2223 SUB(electro_combo) {
2224  MY(alpha_min) = 256;
2225  MY(alpha_max) = 256;
2226  MY(alpha_fade) = 256;
2227  MY(color_min) = "0x202020";
2228  MY(color_max) = "0x404040";
2229  MY(count) = 0.125000;
2230  MY(originjitter) = '20.0 20.0 20.0';
2231  MY(size_min) = 24;
2232  MY(size_max) = 24;
2233  MY(tex_max) = 8;
2234  MY(type) = "smoke";
2235  MY(velocityjitter) = '32.0 32.0 32.0';
2236 }
2237 // shockwave
2238 SUB(electro_combo) {
2239  MY(alpha_min) = 40;
2240  MY(alpha_max) = 40;
2241  MY(alpha_fade) = 100;
2242  MY(color_min) = "0xa9cacf";
2243  MY(color_max) = "0x0054ff";
2244  MY(countabsolute) = 1;
2245  MY(sizeincrease) = 600;
2246  MY(size_min) = 30;
2247  MY(size_max) = 30;
2248  MY(tex_min) = 33;
2249  MY(tex_max) = 33;
2250  MY(type) = "smoke";
2251  MY(velocitymultiplier) = 0.300000;
2252 }
2253 
2254 DEF(crylink_muzzleflash);
2255 SUB(crylink_muzzleflash) {
2256  MY(alpha_min) = 128;
2257  MY(alpha_max) = 128;
2258  MY(alpha_fade) = 2024;
2259  MY(color_min) = "0xdd9cff";
2260  MY(color_max) = "0xff0090";
2261  MY(count) = 0.500000;
2262  MY(lightcolor) = '1.6 0.2 2.0';
2263  MY(lightradiusfade) = 2000;
2264  MY(lightradius) = 200;
2265  MY(size_min) = 15;
2266  MY(size_max) = 20;
2267  MY(tex_min) = 65;
2268  MY(tex_max) = 65;
2269  MY(type) = "smoke";
2270  MY(velocitymultiplier) = 0.010000;
2271 }
2272 SUB(crylink_muzzleflash) {
2273  MY(airfriction) = 12;
2274  MY(alpha_max) = 128;
2275  MY(alpha_fade) = 1024;
2276  MY(color_min) = "0xA080C0";
2277  MY(color_max) = "0xA080C0";
2278  MY(count) = 5;
2279  MY(originjitter) = '1.0 1.0 1.0';
2280  MY(size_min) = 5;
2281  MY(size_max) = 10;
2282  MY(stretchfactor) = 1.500000;
2283  MY(tex_min) = 35;
2284  MY(tex_max) = 36;
2285  MY(type) = "spark";
2286  MY(velocityjitter) = '200.0 200.0 200.0';
2287  MY(velocitymultiplier) = 0.300000;
2288 }
2289 
2290 DEF(crylink_impact);
2291 // decal
2292 SUB(crylink_impact) {
2293  MY(alpha_min) = 256;
2294  MY(alpha_max) = 256;
2295  MY(countabsolute) = 1;
2296  MY(originjitter) = '12.0 12.0 12.0';
2297  MY(size_min) = 24;
2298  MY(size_max) = 24;
2299  MY(tex_min) = 47;
2300  MY(tex_max) = 47;
2301  MY(type) = "decal";
2302 }
2303 // purple flare effect
2304 SUB(crylink_impact) {
2305  MY(alpha_min) = 256;
2306  MY(alpha_max) = 256;
2307  MY(alpha_fade) = 512;
2308  MY(color_min) = "0x504060";
2309  MY(color_max) = "0x504060";
2310  MY(countabsolute) = 1;
2311  MY(size_min) = 24;
2312  MY(size_max) = 24;
2313  MY(tex_min) = 39;
2314  MY(tex_max) = 39;
2315  MY(type) = "static";
2316 }
2317 // purple sparks
2318 SUB(crylink_impact) {
2319  MY(alpha_min) = 256;
2320  MY(alpha_max) = 256;
2321  MY(alpha_fade) = 1024;
2322  MY(bounce) = 2;
2323  MY(color_min) = "0xA040C0";
2324  MY(color_max) = "0xA040C0";
2325  MY(count) = 40;
2326  MY(size_min) = 6;
2327  MY(size_max) = 6;
2328  MY(tex_min) = 41;
2329  MY(tex_max) = 41;
2330  MY(type) = "spark";
2331  MY(velocityjitter) = '512.0 512.0 512.0';
2332 }
2333 // purple splash
2334 SUB(crylink_impact) {
2335  MY(alpha_min) = 256;
2336  MY(alpha_max) = 256;
2337  MY(alpha_fade) = 512;
2338  MY(color_min) = "0xE070FF";
2339  MY(color_max) = "0xE070FF";
2340  MY(count) = 1.500000;
2341  MY(size_min) = 16;
2342  MY(size_max) = 16;
2343  MY(type) = "static";
2344  MY(velocityjitter) = '32.0 32.0 32.0';
2345 }
2346 // purple splash
2347 SUB(crylink_impact) {
2348  MY(alpha_min) = 256;
2349  MY(alpha_max) = 256;
2350  MY(alpha_fade) = 1024;
2351  MY(color_min) = "0xE070FF";
2352  MY(color_max) = "0xE070FF";
2353  MY(count) = 3;
2354  MY(size_min) = 16;
2355  MY(size_max) = 16;
2356  MY(type) = "static";
2357  MY(velocityjitter) = '256.0 256.0 256.0';
2358 }
2359 
2360 DEF(nex_muzzleflash);
2361 SUB(nex_muzzleflash) {
2362  MY(airfriction) = 9;
2363  MY(alpha_min) = 328;
2364  MY(alpha_max) = 328;
2365  MY(alpha_fade) = 4000;
2366  MY(color_min) = "0x202020";
2367  MY(color_max) = "0x0072ff";
2368  MY(count) = 12;
2369  MY(lightcolor) = '2.0 2.5 3.0';
2370  MY(lightradiusfade) = 200;
2371  MY(lightradius) = 200;
2372  MY(originjitter) = '4.0 4.0 4.0';
2373  MY(sizeincrease) = -100;
2374  MY(size_min) = 16;
2375  MY(size_max) = 16;
2376  MY(stretchfactor) = 2;
2377  MY(tex_min) = 48;
2378  MY(tex_max) = 55;
2379  MY(type) = "spark";
2380  MY(velocityjitter) = '180.0 180.0 180.0';
2381  MY(velocitymultiplier) = 1.400000;
2382 }
2383 SUB(nex_muzzleflash) {
2384  MY(airfriction) = 9;
2385  MY(alpha_max) = 128;
2386  MY(alpha_fade) = 1024;
2387  MY(color_min) = "0xD9FDFF";
2388  MY(color_max) = "0xD9FDFF";
2389  MY(count) = 50;
2390  MY(originjitter) = '1.0 1.0 1.0';
2391  MY(size_min) = 1;
2392  MY(size_max) = 1;
2393  MY(tex_min) = 41;
2394  MY(tex_max) = 41;
2395  MY(type) = "spark";
2396  MY(velocityjitter) = '600.0 600.0 600.0';
2397  MY(velocitymultiplier) = 1.500000;
2398 }
2399 
2400 // vortex beam
2401 DEF(nex_beam);
2402 SUB(nex_beam) {
2403  MY(airfriction) = 5;
2404  MY(alpha_min) = 64;
2405  MY(alpha_max) = 128;
2406  MY(alpha_fade) = 64;
2407  MY(color_min) = "0x1680A0";
2408  MY(color_max) = "0x1680A0";
2409  MY(sizeincrease) = 2;
2410  MY(size_min) = 4;
2411  MY(size_max) = 4;
2412  MY(tex_min) = 32;
2413  MY(tex_max) = 32;
2414  MY(trailspacing) = 64;
2415  MY(type) = "static";
2416 }
2417 // drifting smoke
2418 SUB(nex_beam) {
2419  MY(airfriction) = 9;
2420  MY(alpha_min) = 32;
2421  MY(alpha_max) = 64;
2422  MY(alpha_fade) = 32;
2423  MY(color_min) = "0x5080A0";
2424  MY(color_max) = "0x5080A0";
2425  MY(sizeincrease) = 8;
2426  MY(size_min) = 1;
2427  MY(size_max) = 1;
2428  MY(tex_max) = 8;
2429  MY(trailspacing) = 12;
2430  MY(type) = "static";
2431  MY(velocityjitter) = '64.0 64.0 64.0';
2432 }
2433 // bright core
2434 SUB(nex_beam) {
2435  MY(alpha_min) = 256;
2436  MY(alpha_max) = 256;
2437  MY(alpha_fade) = 1280;
2438  MY(color_min) = "0x80CDFF";
2439  MY(color_max) = "0x80CDFF";
2440  MY(size_min) = 4;
2441  MY(size_max) = 4;
2442  MY(trailspacing) = 12;
2443  MY(type) = "static";
2444 }
2445 // sparks
2446 SUB(nex_beam) {
2447  MY(airfriction) = 5;
2448  MY(alpha_min) = 64;
2449  MY(alpha_max) = 128;
2450  MY(alpha_fade) = 80;
2451  MY(color_min) = "0x1680A0";
2452  MY(color_max) = "0x1680A0";
2453  MY(gravity) = -0.010000;
2454  MY(size_min) = 1;
2455  MY(size_max) = 1;
2456  MY(tex_min) = 63;
2457  MY(tex_max) = 63;
2458  MY(trailspacing) = 16;
2459  MY(type) = "snow";
2460 }
2461 
2462 DEF(nex_impact);
2463 // decal
2464 SUB(nex_impact) {
2465  MY(alpha_min) = 256;
2466  MY(alpha_max) = 256;
2467  MY(countabsolute) = 1;
2468  MY(lightcolor) = '4.0 6.0 8.0';
2469  MY(lightradiusfade) = 250;
2470  MY(lightradius) = 200;
2471  MY(originjitter) = '14.0 14.0 14.0';
2472  MY(startangle_min) = -180;
2473  MY(startangle_max) = 180;
2474  MY(size_min) = 24;
2475  MY(size_max) = 24;
2476  MY(tex_min) = 47;
2477  MY(tex_max) = 47;
2478  MY(type) = "decal";
2479 }
2480 // rotating something
2481 SUB(nex_impact) {
2482  MY(alpha_min) = 55;
2483  MY(alpha_max) = 55;
2484  MY(alpha_fade) = 50;
2485  MY(color_min) = "0x1680A0";
2486  MY(color_max) = "0x1680A0";
2487  MY(count) = 5;
2488  MY(startangle_min) = 180;
2489  MY(startangle_max) = -180;
2490  MY(spin_min) = 500;
2491  MY(spin_max) = -500;
2492  MY(sizeincrease) = 20;
2493  MY(size_min) = 25;
2494  MY(size_max) = 28;
2495  MY(tex_min) = 46;
2496  MY(tex_max) = 46;
2497  MY(type) = "smoke";
2498 }
2499 // shockwave
2500 SUB(nex_impact) {
2501  MY(alpha_min) = 50;
2502  MY(alpha_max) = 50;
2503  MY(alpha_fade) = 400;
2504  MY(color_min) = "0x1680A0";
2505  MY(color_max) = "0x1680A0";
2506  MY(countabsolute) = 1;
2507  MY(sizeincrease) = 900;
2508  MY(size_min) = 16;
2509  MY(size_max) = 16;
2510  MY(tex_min) = 33;
2511  MY(tex_max) = 33;
2512  MY(type) = "static";
2513 }
2514 // shockwave2
2515 SUB(nex_impact) {
2516  MY(alpha_min) = 50;
2517  MY(alpha_max) = 50;
2518  MY(alpha_fade) = 100;
2519  MY(color_min) = "0x1680A0";
2520  MY(color_max) = "0x1680A0";
2521  MY(countabsolute) = 1;
2522  MY(sizeincrease) = 500;
2523  MY(size_min) = 5;
2524  MY(size_max) = 5;
2525  MY(tex_min) = 65;
2526  MY(tex_max) = 65;
2527  MY(type) = "static";
2528 }
2529 // flare effect
2530 SUB(nex_impact) {
2531  MY(alpha_min) = 256;
2532  MY(alpha_max) = 256;
2533  MY(alpha_fade) = 256;
2534  MY(color_min) = "0x80C0FF";
2535  MY(color_max) = "0x80C0FF";
2536  MY(countabsolute) = 1;
2537  MY(size_min) = 8;
2538  MY(size_max) = 8;
2539  MY(tex_min) = 37;
2540  MY(tex_max) = 37;
2541  MY(type) = "static";
2542 }
2543 // small sparks which glow brightly but live briefly
2544 SUB(nex_impact) {
2545  MY(airfriction) = 9;
2546  MY(alpha_max) = 128;
2547  MY(alpha_fade) = 512;
2548  MY(bounce) = 2;
2549  MY(color_min) = "0xD9FDFF";
2550  MY(color_max) = "0xD9FDFF";
2551  MY(count) = 64;
2552  MY(size_min) = 4;
2553  MY(size_max) = 4;
2554  MY(stretchfactor) = 3;
2555  MY(tex_min) = 41;
2556  MY(tex_max) = 41;
2557  MY(type) = "spark";
2558  MY(velocityjitter) = '600.0 600.0 600.0';
2559  MY(velocitymultiplier) = 0.500000;
2560 }
2561 // small sparks that live longer
2562 SUB(nex_impact) {
2563  MY(airfriction) = 2;
2564  MY(alpha_min) = 255;
2565  MY(alpha_max) = 255;
2566  MY(alpha_fade) = 112;
2567  MY(bounce) = 1.600000;
2568  MY(color_min) = "0xD9FDFF";
2569  MY(color_max) = "0xD9FDFF";
2570  MY(count) = 16;
2571  MY(gravity) = 1;
2572  MY(size_min) = 2;
2573  MY(size_max) = 2;
2574  MY(stretchfactor) = 0.700000;
2575  MY(tex_min) = 41;
2576  MY(tex_max) = 41;
2577  MY(type) = "spark";
2578  MY(velocityjitter) = '300.0 300.0 600.0';
2579  MY(velocitymultiplier) = 2.500000;
2580 }
2581 
2582 DEF(hagar_muzzleflash);
2583 SUB(hagar_muzzleflash) {
2584  MY(alpha_min) = 256;
2585  MY(alpha_max) = 256;
2586  MY(alpha_fade) = 512;
2587  MY(color_min) = "0x202020";
2588  MY(color_max) = "0x404040";
2589  MY(count) = 2;
2590  MY(lightcolor) = '2.0 1.5 0.2';
2591  MY(lightradiusfade) = 2000;
2592  MY(lightradius) = 200;
2593  MY(originjitter) = '1.5 1.5 1.5';
2594  MY(size_min) = 5;
2595  MY(size_max) = 5;
2596  MY(tex_max) = 8;
2597  MY(type) = "smoke";
2598  MY(velocityjitter) = '6.0 6.0 6.0';
2599  MY(velocitymultiplier) = 0.010000;
2600 }
2601 SUB(hagar_muzzleflash) {
2602  MY(airfriction) = 12;
2603  MY(alpha_max) = 128;
2604  MY(alpha_fade) = 1024;
2605  MY(color_min) = "0xff8400";
2606  MY(color_max) = "0xff4200";
2607  MY(count) = 15;
2608  MY(originjitter) = '1.0 1.0 1.0';
2609  MY(startangle_min) = -180;
2610  MY(startangle_max) = 180;
2611  MY(spin_min) = -400;
2612  MY(spin_max) = 400;
2613  MY(size_min) = 5;
2614  MY(size_max) = 10;
2615  MY(stretchfactor) = 2;
2616  MY(tex_min) = 48;
2617  MY(tex_max) = 55;
2618  MY(type) = "spark";
2619  MY(velocityjitter) = '200.0 200.0 200.0';
2620  MY(velocitymultiplier) = 0.500000;
2621 }
2622 
2623 DEF(hagar_bounce);
2624 SUB(hagar_bounce) {
2625  MY(alpha_min) = 256;
2626  MY(alpha_max) = 256;
2627  MY(alpha_fade) = 256;
2628  MY(color_min) = "0x202020";
2629  MY(color_max) = "0x404040";
2630  MY(count) = 2;
2631  MY(lightcolor) = '2.0 1.5 0.2';
2632  MY(lightradiusfade) = 300;
2633  MY(lightradius) = 60;
2634  MY(originjitter) = '1.5 1.5 1.5';
2635  MY(size_min) = 5;
2636  MY(size_max) = 5;
2637  MY(tex_max) = 8;
2638  MY(type) = "smoke";
2639  MY(velocityjitter) = '6.0 6.0 6.0';
2640  MY(velocitymultiplier) = 0.010000;
2641 }
2642 SUB(hagar_bounce) {
2643  MY(airfriction) = 12;
2644  MY(alpha_max) = 256;
2645  MY(alpha_fade) = 256;
2646  MY(bounce) = 1.500000;
2647  MY(color_min) = "0xFFFDD9";
2648  MY(color_max) = "0xFFFDD9";
2649  MY(count) = 15;
2650  MY(gravity) = 1;
2651  MY(originjitter) = '1.0 1.0 1.0';
2652  MY(size_min) = 3;
2653  MY(size_max) = 3;
2654  MY(tex_min) = 40;
2655  MY(tex_max) = 40;
2656  MY(type) = "spark";
2657  MY(velocityjitter) = '600.0 600.0 600.0';
2658  MY(velocitymultiplier) = 0.500000;
2659 }
2660 
2661 DEF(hagar_explode);
2662 // decal
2663 SUB(hagar_explode) {
2664  MY(alpha_min) = 256;
2665  MY(alpha_max) = 256;
2666  MY(countabsolute) = 1;
2667  MY(lightcolor) = '8.0 4.0 1.0';
2668  MY(lightradiusfade) = 400;
2669  MY(lightradius) = 120;
2670  MY(originjitter) = '14.0 14.0 14.0';
2671  MY(size_min) = 28;
2672  MY(size_max) = 38;
2673  MY(tex_min) = 8;
2674  MY(tex_max) = 16;
2675  MY(type) = "decal";
2676 }
2677 // fire effect which make bright dot inside
2678 SUB(hagar_explode) {
2679  MY(airfriction) = 8;
2680  MY(alpha_min) = 80;
2681  MY(alpha_max) = 200;
2682  MY(alpha_fade) = 356;
2683  MY(bounce) = 1.500000;
2684  MY(color_min) = "0xffe955";
2685  MY(color_max) = "0xff5a00";
2686  MY(count) = 3.500000;
2687  MY(liquidfriction) = 8;
2688  MY(notunderwater) = true;
2689  MY(originjitter) = '8.0 8.0 8.0';
2690  MY(sizeincrease) = 5;
2691  MY(size_min) = 16;
2692  MY(size_max) = 26;
2693  MY(tex_min) = 48;
2694  MY(tex_max) = 55;
2695  MY(type) = "smoke";
2696  MY(velocityjitter) = '156.0 156.0 156.0';
2697 }
2698 // fire effect which expands then slows
2699 SUB(hagar_explode) {
2700  MY(airfriction) = 12;
2701  MY(alpha_min) = 128;
2702  MY(alpha_max) = 256;
2703  MY(alpha_fade) = 456;
2704  MY(bounce) = 1.500000;
2705  MY(color_min) = "0x8f0d00";
2706  MY(color_max) = "0xff5a00";
2707  MY(count) = 12;
2708  MY(liquidfriction) = 8;
2709  MY(notunderwater) = true;
2710  MY(originjitter) = '8.0 8.0 8.0';
2711  MY(sizeincrease) = 15;
2712  MY(size_min) = 20;
2713  MY(size_max) = 26;
2714  MY(tex_min) = 48;
2715  MY(tex_max) = 55;
2716  MY(type) = "static";
2717  MY(velocityjitter) = '286.0 286.0 286.0';
2718 }
2719 // smoke
2720 SUB(hagar_explode) {
2721  MY(airfriction) = 5;
2722  MY(alpha_min) = 200;
2723  MY(alpha_max) = 500;
2724  MY(alpha_fade) = 600;
2725  MY(bounce) = 2;
2726  MY(color_min) = "0x000000";
2727  MY(color_max) = "0x111111";
2728  MY(count) = 7;
2729  MY(notunderwater) = true;
2730  MY(sizeincrease) = 20;
2731  MY(size_min) = 20;
2732  MY(size_max) = 40;
2733  MY(tex_max) = 8;
2734  MY(type) = "alphastatic";
2735  MY(velocityjitter) = '244.0 244.0 244.0';
2736 }
2737 // underwater bubbles
2738 SUB(hagar_explode) {
2739  MY(alpha_min) = 128;
2740  MY(alpha_max) = 256;
2741  MY(alpha_fade) = 64;
2742  MY(bounce) = 1.500000;
2743  MY(color_min) = "0x404040";
2744  MY(color_max) = "0x808080";
2745  MY(count) = 16;
2746  MY(gravity) = -0.125000;
2747  MY(liquidfriction) = 0.250000;
2748  MY(originjitter) = '16.0 16.0 16.0';
2749  MY(size_min) = 3;
2750  MY(size_max) = 3;
2751  MY(tex_min) = 62;
2752  MY(tex_max) = 62;
2753  MY(type) = "bubble";
2754  MY(underwater) = true;
2755  MY(velocityjitter) = '96.0 96.0 96.0';
2756 }
2757 // bouncing sparks
2758 SUB(hagar_explode) {
2759  MY(airfriction) = 1;
2760  MY(alpha_min) = 644;
2761  MY(alpha_max) = 956;
2762  MY(alpha_fade) = 684;
2763  MY(bounce) = 1.600000;
2764  MY(color_min) = "0xffa35b";
2765  MY(color_max) = "0xfff2be";
2766  MY(count) = 4;
2767  MY(gravity) = 1;
2768  MY(liquidfriction) = 0.800000;
2769  MY(notunderwater) = true;
2770  MY(originjitter) = '16.0 16.0 16.0';
2771  MY(size_min) = 1;
2772  MY(size_max) = 0.100000;
2773  MY(tex_min) = 40;
2774  MY(tex_max) = 40;
2775  MY(type) = "spark";
2776  MY(velocityjitter) = '224.0 224.0 224.0';
2777  MY(velocityoffset) = '0.0 0.0 80.0';
2778 }
2779 
2780 DEF(rocketlauncher_muzzleflash);
2781 SUB(rocketlauncher_muzzleflash) {
2782  MY(airfriction) = 2;
2783  MY(alpha_min) = 256;
2784  MY(alpha_max) = 256;
2785  MY(alpha_fade) = 256;
2786  MY(color_min) = "0x202020";
2787  MY(color_max) = "0x404040";
2788  MY(count) = 10;
2789  MY(originjitter) = '1.5 1.5 1.5';
2790  MY(sizeincrease) = 20;
2791  MY(size_min) = 1;
2792  MY(size_max) = 1;
2793  MY(tex_max) = 8;
2794  MY(type) = "smoke";
2795  MY(velocityjitter) = '40.0 40.0 40.0';
2796  MY(velocitymultiplier) = -0.130000;
2797 }
2798 SUB(rocketlauncher_muzzleflash) {
2799  MY(airfriction) = 9;
2800  MY(alpha_min) = 10;
2801  MY(alpha_max) = 25;
2802  MY(alpha_fade) = 20;
2803  MY(color_min) = "0xFFFDD9";
2804  MY(color_max) = "0xFFFDD9";
2805  MY(count) = 6;
2806  MY(originjitter) = '3.0 3.0 3.0';
2807  MY(startangle_min) = -180;
2808  MY(startangle_max) = 180;
2809  MY(spin_min) = -30;
2810  MY(spin_max) = 30;
2811  MY(sizeincrease) = 20;
2812  MY(size_min) = 5;
2813  MY(size_max) = 10;
2814  MY(tex_min) = 35;
2815  MY(tex_max) = 36;
2816  MY(type) = "smoke";
2817  MY(velocityjitter) = '100.0 100.0 100.0';
2818  MY(velocitymultiplier) = 0.300000;
2819 }
2820 
2821 // rocket trail
2822 DEF(TR_ROCKET);
2823 // smoke
2824 SUB(TR_ROCKET) {
2825  MY(alpha_min) = 200;
2826  MY(alpha_max) = 300;
2827  MY(alpha_fade) = 200;
2828  MY(bounce) = 1;
2829  MY(color_min) = "0x000000";
2830  MY(color_max) = "0x666666";
2831  MY(lightcolor) = '6.0 3.0 1.0';
2832  MY(lightradius) = 150;
2833  MY(notunderwater) = true;
2834  MY(originjitter) = '2.0 2.0 2.0';
2835  MY(startangle_min) = -180;
2836  MY(startangle_max) = 180;
2837  MY(spin_min) = -30;
2838  MY(spin_max) = 30;
2839  MY(sizeincrease) = 11;
2840  MY(size_min) = 3;
2841  MY(size_max) = 4;
2842  MY(tex_max) = 8;
2843  MY(trailspacing) = 10;
2844  MY(type) = "smoke";
2845  MY(velocityjitter) = '3.0 3.0 3.0';
2846  MY(velocitymultiplier) = -0.020000;
2847 }
2848 // fire
2849 SUB(TR_ROCKET) {
2850  MY(airfriction) = 8;
2851  MY(alpha_min) = 100;
2852  MY(alpha_max) = 144;
2853  MY(alpha_fade) = 588;
2854  MY(color_min) = "0xffdf72";
2855  MY(color_max) = "0x811200";
2856  MY(sizeincrease) = -30;
2857  MY(size_min) = 7;
2858  MY(size_max) = 7;
2859  MY(tex_min) = 48;
2860  MY(tex_max) = 55;
2861  MY(trailspacing) = 4;
2862  MY(type) = "static";
2863  MY(velocityjitter) = '32.0 32.0 32.0';
2864  MY(velocitymultiplier) = -1.500000;
2865 }
2866 // bubbles
2867 SUB(TR_ROCKET) {
2868  MY(alpha_min) = 256;
2869  MY(alpha_max) = 256;
2870  MY(alpha_fade) = 256;
2871  MY(bounce) = 1.500000;
2872  MY(gravity) = -0.125000;
2873  MY(liquidfriction) = 4;
2874  MY(size_min) = 1;
2875  MY(size_max) = 2;
2876  MY(tex_min) = 62;
2877  MY(tex_max) = 62;
2878  MY(trailspacing) = 16;
2879  MY(type) = "bubble";
2880  MY(underwater) = true;
2881  MY(velocityjitter) = '16.0 16.0 16.0';
2882  MY(velocitymultiplier) = -0.310000;
2883 }
2884 // sparks
2885 SUB(TR_ROCKET) {
2886  MY(airfriction) = 5;
2887  MY(alpha_min) = 444;
2888  MY(alpha_max) = 512;
2889  MY(alpha_fade) = 1866;
2890  MY(bounce) = 1;
2891  MY(color_min) = "0xFFFDD9";
2892  MY(color_max) = "0xFFFDD9";
2893  MY(notunderwater) = true;
2894  MY(originjitter) = '1.0 1.0 1.0';
2895  MY(size_min) = 0.500000;
2896  MY(size_max) = 0.500000;
2897  MY(stretchfactor) = 0.300000;
2898  MY(tex_min) = 40;
2899  MY(tex_max) = 40;
2900  MY(trailspacing) = 20;
2901  MY(type) = "spark";
2902  MY(velocityjitter) = '100.0 100.0 100.0';
2903  MY(velocitymultiplier) = -0.310000;
2904 }
2905 
2906 // rocket explosion (bigger than mortar and hagar)
2907 DEF(rocket_explode);
2908 SUB(rocket_explode) {
2909  MY(alpha_min) = 256;
2910  MY(alpha_max) = 256;
2911  MY(countabsolute) = 1;
2912  MY(lightcolor) = '8.0 4.0 1.0';
2913  MY(lightradiusfade) = 750;
2914  MY(lightradius) = 400;
2915  MY(originjitter) = '23.0 23.0 23.0';
2916  MY(size_min) = 72;
2917  MY(size_max) = 72;
2918  MY(tex_min) = 8;
2919  MY(tex_max) = 16;
2920  MY(type) = "decal";
2921 }
2922 // fire effect
2923 SUB(rocket_explode) {
2924  MY(airfriction) = 8;
2925  MY(alpha_min) = 200;
2926  MY(alpha_max) = 256;
2927  MY(alpha_fade) = 512;
2928  MY(bounce) = 1.500000;
2929  MY(color_min) = "0x8f0d00";
2930  MY(color_max) = "0xff5a00";
2931  MY(count) = 32;
2932  MY(liquidfriction) = 8;
2933  MY(notunderwater) = true;
2934  MY(originjitter) = '8.0 8.0 8.0';
2935  MY(sizeincrease) = 45;
2936  MY(size_min) = 33;
2937  MY(size_max) = 44;
2938  MY(tex_min) = 48;
2939  MY(tex_max) = 55;
2940  MY(type) = "static";
2941  MY(velocityjitter) = '512.0 512.0 512.0';
2942 }
2943 // fire effect 2
2944 SUB(rocket_explode) {
2945  MY(airfriction) = 19;
2946  MY(alpha_min) = 200;
2947  MY(alpha_max) = 256;
2948  MY(alpha_fade) = 612;
2949  MY(bounce) = 2.500000;
2950  MY(color_min) = "0xea691b";
2951  MY(color_max) = "0xeed05a";
2952  MY(count) = 14;
2953  MY(liquidfriction) = 19;
2954  MY(notunderwater) = true;
2955  MY(originjitter) = '8.0 8.0 8.0';
2956  MY(sizeincrease) = 55;
2957  MY(size_min) = 33;
2958  MY(size_max) = 44;
2959  MY(tex_min) = 48;
2960  MY(tex_max) = 55;
2961  MY(type) = "smoke";
2962  MY(velocityjitter) = '912.0 912.0 912.0';
2963 }
2964 // smoke
2965 SUB(rocket_explode) {
2966  MY(airfriction) = 5;
2967  MY(alpha_min) = 200;
2968  MY(alpha_max) = 450;
2969  MY(alpha_fade) = 456;
2970  MY(bounce) = 2;
2971  MY(color_min) = "0x000000";
2972  MY(color_max) = "0x111111";
2973  MY(count) = 32;
2974  MY(notunderwater) = true;
2975  MY(sizeincrease) = 44;
2976  MY(size_min) = 20;
2977  MY(size_max) = 40;
2978  MY(tex_max) = 8;
2979  MY(type) = "alphastatic";
2980  MY(velocityjitter) = '444.0 444.0 444.0';
2981 }
2982 // underwater bubbles
2983 SUB(rocket_explode) {
2984  MY(alpha_min) = 128;
2985  MY(alpha_max) = 256;
2986  MY(alpha_fade) = 64;
2987  MY(bounce) = 1.500000;
2988  MY(color_min) = "0x404040";
2989  MY(color_max) = "0x808080";
2990  MY(count) = 32;
2991  MY(gravity) = -0.125000;
2992  MY(liquidfriction) = 0.250000;
2993  MY(originjitter) = '16.0 16.0 16.0';
2994  MY(size_min) = 3;
2995  MY(size_max) = 3;
2996  MY(tex_min) = 62;
2997  MY(tex_max) = 62;
2998  MY(type) = "bubble";
2999  MY(underwater) = true;
3000  MY(velocityjitter) = '144.0 144.0 144.0';
3001 }
3002 // underwatershockwave
3003 SUB(rocket_explode) {
3004  MY(alpha_min) = 40;
3005  MY(alpha_max) = 40;
3006  MY(alpha_fade) = 300;
3007  MY(countabsolute) = 1;
3008  MY(sizeincrease) = 1900;
3009  MY(size_min) = 30;
3010  MY(size_max) = 30;
3011  MY(tex_min) = 33;
3012  MY(tex_max) = 33;
3013  MY(type) = "smoke";
3014  MY(underwater) = true;
3015  MY(velocitymultiplier) = 0.300000;
3016 }
3017 // bouncing sparks
3018 SUB(rocket_explode) {
3019  MY(airfriction) = 1;
3020  MY(alpha_min) = 644;
3021  MY(alpha_max) = 956;
3022  MY(alpha_fade) = 484;
3023  MY(bounce) = 1.600000;
3024  MY(color_min) = "0xffa35b";
3025  MY(color_max) = "0xfff2be";
3026  MY(count) = 16;
3027  MY(gravity) = 1;
3028  MY(liquidfriction) = 0.800000;
3029  MY(notunderwater) = true;
3030  MY(originjitter) = '16.0 16.0 16.0';
3031  MY(size_min) = 1;
3032  MY(size_max) = 0.100000;
3033  MY(tex_min) = 40;
3034  MY(tex_max) = 40;
3035  MY(type) = "spark";
3036  MY(velocityjitter) = '424.0 424.0 624.0';
3037  MY(velocityoffset) = '0.0 0.0 80.0';
3038 }
3039 // debris
3040 SUB(rocket_explode) {
3041  MY(airfriction) = 0.500000;
3042  MY(alpha_min) = 644;
3043  MY(alpha_max) = 956;
3044  MY(alpha_fade) = 684;
3045  MY(bounce) = 1.600000;
3046  MY(color_min) = "0x6a3d25";
3047  MY(color_max) = "0xcac5b4";
3048  MY(count) = 12;
3049  MY(gravity) = 1.300000;
3050  MY(notunderwater) = true;
3051  MY(startangle_min) = -180;
3052  MY(startangle_max) = 180;
3053  MY(spin_min) = -1000;
3054  MY(spin_max) = 1000;
3055  MY(size_min) = 2;
3056  MY(size_max) = 6;
3057  MY(tex_min) = 66;
3058  MY(tex_max) = 68;
3059  MY(type) = "alphastatic";
3060  MY(velocityjitter) = '324.0 324.0 524.0';
3061 }
3062 
3063 DEF(grapple_muzzleflash);
3064 SUB(grapple_muzzleflash) {
3065  MY(lightcolor) = '1.0 0.0 0.0';
3066  MY(lightradiusfade) = 800;
3067  MY(lightradius) = 160;
3068 }
3069 
3070 DEF(grapple_impact);
3071 SUB(grapple_impact) {
3072  MY(lightcolor) = '1.0 0.0 0.0';
3073  MY(lightradiusfade) = 800;
3074  MY(lightradius) = 160;
3075 }
3076 
3077 DEF(nex242_misc_laser_beam);
3078 SUB(nex242_misc_laser_beam) {
3079  MY(alpha_min) = 256;
3080  MY(alpha_max) = 256;
3081  MY(alpha_fade) = 64;
3082  MY(color_min) = "0xff0000";
3083  MY(color_max) = "0xff0000";
3084  MY(countabsolute) = 1;
3085  MY(sizeincrease) = 1;
3086  MY(size_min) = 1;
3087  MY(size_max) = 1;
3088  MY(tex_min) = 200;
3089  MY(tex_max) = 200;
3090  MY(type) = "beam";
3091 }
3092 
3093 DEF(nex242_misc_laser_beam_end);
3094 SUB(nex242_misc_laser_beam_end) {
3095  MY(alpha_min) = 128;
3096  MY(alpha_max) = 256;
3097  MY(alpha_fade) = 768;
3098  MY(bounce) = -1;
3099  MY(color_min) = "0x8f4333";
3100  MY(color_max) = "0xfff31b";
3101  MY(count) = 0.500000;
3102  MY(gravity) = 1;
3103  MY(size_min) = 0.400000;
3104  MY(size_max) = 0.400000;
3105  MY(type) = "spark";
3106  MY(velocityjitter) = '64.0 64.0 64.0';
3107  MY(velocitymultiplier) = 100;
3108 }
3109 
3110 DEF(nex242_misc_laser_beam_fast);
3111 SUB(nex242_misc_laser_beam_fast) {
3112  MY(alpha_min) = 256;
3113  MY(alpha_max) = 256;
3114  MY(alpha_fade) = 640;
3115  MY(color_min) = "0xff0000";
3116  MY(color_max) = "0xff0000";
3117  MY(countabsolute) = 1;
3118  MY(sizeincrease) = 0.100000;
3119  MY(size_min) = 1;
3120  MY(size_max) = 1;
3121  MY(tex_min) = 200;
3122  MY(tex_max) = 200;
3123  MY(type) = "beam";
3124 }
3125 
3126 DEF(nex242_misc_laser_beam_fast_end);
3127 SUB(nex242_misc_laser_beam_fast_end) {
3128  MY(alpha_min) = 128;
3129  MY(alpha_max) = 256;
3130  MY(alpha_fade) = 768;
3131  MY(bounce) = -1;
3132  MY(color_min) = "0x8f4333";
3133  MY(color_max) = "0xfff31b";
3134  MY(count) = 0.500000;
3135  MY(gravity) = 1;
3136  MY(size_min) = 0.400000;
3137  MY(size_max) = 0.400000;
3138  MY(type) = "spark";
3139  MY(velocityjitter) = '64.0 64.0 64.0';
3140  MY(velocitymultiplier) = 100;
3141 }
3142 
3143 DEF(nex242_misc_laser_green_beam);
3144 SUB(nex242_misc_laser_green_beam) {
3145  MY(alpha_min) = 256;
3146  MY(alpha_max) = 256;
3147  MY(alpha_fade) = 64;
3148  MY(color_min) = "0x00ff00";
3149  MY(color_max) = "0x00ff00";
3150  MY(countabsolute) = 1;
3151  MY(sizeincrease) = 1;
3152  MY(size_min) = 1;
3153  MY(size_max) = 1;
3154  MY(tex_min) = 200;
3155  MY(tex_max) = 200;
3156  MY(type) = "beam";
3157 }
3158 
3159 DEF(nex242_misc_laser_green_beam_end);
3160 SUB(nex242_misc_laser_green_beam_end) {
3161  MY(alpha_min) = 128;
3162  MY(alpha_max) = 256;
3163  MY(alpha_fade) = 768;
3164  MY(bounce) = -1;
3165  MY(color_min) = "0x8f4333";
3166  MY(color_max) = "0xfff31b";
3167  MY(count) = 0.500000;
3168  MY(gravity) = 1;
3169  MY(size_min) = 0.400000;
3170  MY(size_max) = 0.400000;
3171  MY(type) = "spark";
3172  MY(velocityjitter) = '64.0 64.0 64.0';
3173  MY(velocitymultiplier) = 100;
3174 }
3175 
3176 DEF(nex242_misc_laser_blue_beam);
3177 SUB(nex242_misc_laser_blue_beam) {
3178  MY(alpha_min) = 256;
3179  MY(alpha_max) = 256;
3180  MY(alpha_fade) = 64;
3181  MY(color_min) = "0x0000ff";
3182  MY(color_max) = "0x0000ff";
3183  MY(countabsolute) = 1;
3184  MY(sizeincrease) = 1;
3185  MY(size_min) = 1;
3186  MY(size_max) = 1;
3187  MY(tex_min) = 200;
3188  MY(tex_max) = 200;
3189  MY(type) = "beam";
3190 }
3191 
3192 DEF(nex242_misc_laser_blue_beam_end);
3193 SUB(nex242_misc_laser_blue_beam_end) {
3194  MY(alpha_min) = 128;
3195  MY(alpha_max) = 256;
3196  MY(alpha_fade) = 768;
3197  MY(bounce) = -1;
3198  MY(color_min) = "0x8f4333";
3199  MY(color_max) = "0xfff31b";
3200  MY(count) = 0.500000;
3201  MY(gravity) = 1;
3202  MY(size_min) = 0.400000;
3203  MY(size_max) = 0.400000;
3204  MY(type) = "spark";
3205  MY(velocityjitter) = '64.0 64.0 64.0';
3206  MY(velocitymultiplier) = 100;
3207 }
3208 
3209 DEF(nex242_misc_laser_yellow_beam);
3210 SUB(nex242_misc_laser_yellow_beam) {
3211  MY(alpha_min) = 256;
3212  MY(alpha_max) = 256;
3213  MY(alpha_fade) = 64;
3214  MY(color_min) = "0xffff00";
3215  MY(color_max) = "0xffff00";
3216  MY(countabsolute) = 1;
3217  MY(sizeincrease) = 1;
3218  MY(size_min) = 1;
3219  MY(size_max) = 1;
3220  MY(tex_min) = 200;
3221  MY(tex_max) = 200;
3222  MY(type) = "beam";
3223 }
3224 
3225 DEF(nex242_misc_laser_yellow_beam_end);
3226 SUB(nex242_misc_laser_yellow_beam_end) {
3227  MY(alpha_min) = 128;
3228  MY(alpha_max) = 256;
3229  MY(alpha_fade) = 768;
3230  MY(bounce) = -1;
3231  MY(color_min) = "0x8f4333";
3232  MY(color_max) = "0xfff31b";
3233  MY(count) = 0.500000;
3234  MY(gravity) = 1;
3235  MY(size_min) = 0.400000;
3236  MY(size_max) = 0.400000;
3237  MY(type) = "spark";
3238  MY(velocityjitter) = '64.0 64.0 64.0';
3239  MY(velocitymultiplier) = 100;
3240 }
3241 
3242 DEF(nex242_misc_laser_cyan_beam);
3243 SUB(nex242_misc_laser_cyan_beam) {
3244  MY(alpha_min) = 256;
3245  MY(alpha_max) = 256;
3246  MY(alpha_fade) = 64;
3247  MY(color_min) = "0x00ffff";
3248  MY(color_max) = "0x00ffff";
3249  MY(countabsolute) = 1;
3250  MY(sizeincrease) = 1;
3251  MY(size_min) = 1;
3252  MY(size_max) = 1;
3253  MY(tex_min) = 200;
3254  MY(tex_max) = 200;
3255  MY(type) = "beam";
3256 }
3257 
3258 DEF(nex242_misc_laser_cyan_beam_end);
3259 SUB(nex242_misc_laser_cyan_beam_end) {
3260  MY(alpha_min) = 128;
3261  MY(alpha_max) = 256;
3262  MY(alpha_fade) = 768;
3263  MY(bounce) = -1;
3264  MY(color_min) = "0x8f4333";
3265  MY(color_max) = "0xfff31b";
3266  MY(count) = 0.500000;
3267  MY(gravity) = 1;
3268  MY(size_min) = 0.400000;
3269  MY(size_max) = 0.400000;
3270  MY(type) = "spark";
3271  MY(velocityjitter) = '64.0 64.0 64.0';
3272  MY(velocitymultiplier) = 100;
3273 }
3274 
3275 DEF(nex242_misc_laser_magenta_beam);
3276 SUB(nex242_misc_laser_magenta_beam) {
3277  MY(alpha_min) = 256;
3278  MY(alpha_max) = 256;
3279  MY(alpha_fade) = 64;
3280  MY(color_min) = "0xff00ff";
3281  MY(color_max) = "0xff00ff";
3282  MY(countabsolute) = 1;
3283  MY(sizeincrease) = 1;
3284  MY(size_min) = 1;
3285  MY(size_max) = 1;
3286  MY(tex_min) = 200;
3287  MY(tex_max) = 200;
3288  MY(type) = "beam";
3289 }
3290 
3291 DEF(nex242_misc_laser_magenta_beam_end);
3292 SUB(nex242_misc_laser_magenta_beam_end) {
3293  MY(alpha_min) = 128;
3294  MY(alpha_max) = 256;
3295  MY(alpha_fade) = 768;
3296  MY(bounce) = -1;
3297  MY(color_min) = "0x8f4333";
3298  MY(color_max) = "0xfff31b";
3299  MY(count) = 0.500000;
3300  MY(gravity) = 1;
3301  MY(size_min) = 0.400000;
3302  MY(size_max) = 0.400000;
3303  MY(type) = "spark";
3304  MY(velocityjitter) = '64.0 64.0 64.0';
3305  MY(velocitymultiplier) = 100;
3306 }
3307 
3308 DEF(nex242_misc_laser_white_beam);
3309 SUB(nex242_misc_laser_white_beam) {
3310  MY(alpha_min) = 256;
3311  MY(alpha_max) = 256;
3312  MY(alpha_fade) = 64;
3313  MY(color_min) = "0xffffff";
3314  MY(color_max) = "0xffffff";
3315  MY(countabsolute) = 1;
3316  MY(sizeincrease) = 1;
3317  MY(size_min) = 1;
3318  MY(size_max) = 1;
3319  MY(tex_min) = 200;
3320  MY(tex_max) = 200;
3321  MY(type) = "beam";
3322 }
3323 
3324 DEF(nex242_misc_laser_white_beam_end);
3325 SUB(nex242_misc_laser_white_beam_end) {
3326  MY(alpha_min) = 128;
3327  MY(alpha_max) = 256;
3328  MY(alpha_fade) = 768;
3329  MY(bounce) = -1;
3330  MY(color_min) = "0x8f4333";
3331  MY(color_max) = "0xfff31b";
3332  MY(count) = 0.500000;
3333  MY(gravity) = 1;
3334  MY(size_min) = 0.400000;
3335  MY(size_max) = 0.400000;
3336  MY(type) = "spark";
3337  MY(velocityjitter) = '64.0 64.0 64.0';
3338  MY(velocitymultiplier) = 100;
3339 }
3340 
3341 DEF(nex242_misc_laser_black_beam);
3342 SUB(nex242_misc_laser_black_beam) {
3343  MY(alpha_min) = 256;
3344  MY(alpha_max) = 256;
3345  MY(alpha_fade) = 64;
3346  MY(color_min) = "0x000000";
3347  MY(color_max) = "0x000000";
3348  MY(countabsolute) = 1;
3349  MY(sizeincrease) = 1;
3350  MY(size_min) = 1;
3351  MY(size_max) = 1;
3352  MY(tex_min) = 200;
3353  MY(tex_max) = 200;
3354  MY(type) = "beam";
3355 }
3356 
3357 DEF(nex242_misc_laser_black_beam_end);
3358 SUB(nex242_misc_laser_black_beam_end) {
3359  MY(alpha_min) = 128;
3360  MY(alpha_max) = 256;
3361  MY(alpha_fade) = 768;
3362  MY(bounce) = -1;
3363  MY(color_min) = "0x8f4333";
3364  MY(color_max) = "0xfff31b";
3365  MY(count) = 0.500000;
3366  MY(gravity) = 1;
3367  MY(size_min) = 0.400000;
3368  MY(size_max) = 0.400000;
3369  MY(type) = "spark";
3370  MY(velocityjitter) = '64.0 64.0 64.0';
3371  MY(velocitymultiplier) = 100;
3372 }
3373 
3374 DEF(nex242_misc_laser_orange_beam);
3375 SUB(nex242_misc_laser_orange_beam) {
3376  MY(alpha_min) = 256;
3377  MY(alpha_max) = 256;
3378  MY(alpha_fade) = 64;
3379  MY(color_min) = "0xff6600";
3380  MY(color_max) = "0xff6600";
3381  MY(countabsolute) = 1;
3382  MY(sizeincrease) = 1;
3383  MY(size_min) = 1;
3384  MY(size_max) = 1;
3385  MY(tex_min) = 200;
3386  MY(tex_max) = 200;
3387  MY(type) = "beam";
3388 }
3389 
3390 DEF(nex242_misc_laser_orange_beam_end);
3391 SUB(nex242_misc_laser_orange_beam_end) {
3392  MY(alpha_min) = 128;
3393  MY(alpha_max) = 256;
3394  MY(alpha_fade) = 768;
3395  MY(bounce) = -1;
3396  MY(color_min) = "0x8f4333";
3397  MY(color_max) = "0xfff31b";
3398  MY(count) = 0.500000;
3399  MY(gravity) = 1;
3400  MY(size_min) = 0.400000;
3401  MY(size_max) = 0.400000;
3402  MY(type) = "spark";
3403  MY(velocityjitter) = '64.0 64.0 64.0';
3404  MY(velocitymultiplier) = 100;
3405 }
3406 
3407 // bigger crylink impact effect
3408 DEF(crylink_impactbig);
3409 // decal
3410 SUB(crylink_impactbig) {
3411  MY(alpha_min) = 256;
3412  MY(alpha_max) = 256;
3413  MY(countabsolute) = 1;
3414  MY(originjitter) = '12.0 12.0 12.0';
3415  MY(size_min) = 24;
3416  MY(size_max) = 24;
3417  MY(tex_min) = 47;
3418  MY(tex_max) = 47;
3419  MY(type) = "decal";
3420 }
3421 // purple flare effect
3422 SUB(crylink_impactbig) {
3423  MY(alpha_min) = 256;
3424  MY(alpha_max) = 256;
3425  MY(alpha_fade) = 512;
3426  MY(color_min) = "0x504060";
3427  MY(color_max) = "0x504060";
3428  MY(countabsolute) = 1;
3429  MY(size_min) = 24;
3430  MY(size_max) = 24;
3431  MY(tex_min) = 39;
3432  MY(tex_max) = 39;
3433  MY(type) = "static";
3434 }
3435 // purple sparks
3436 SUB(crylink_impactbig) {
3437  MY(alpha_min) = 256;
3438  MY(alpha_max) = 256;
3439  MY(alpha_fade) = 1024;
3440  MY(bounce) = 2;
3441  MY(color_min) = "0xA040C0";
3442  MY(color_max) = "0xA040C0";
3443  MY(count) = 40;
3444  MY(size_min) = 6;
3445  MY(size_max) = 6;
3446  MY(tex_min) = 41;
3447  MY(tex_max) = 41;
3448  MY(type) = "spark";
3449  MY(velocityjitter) = '512.0 512.0 512.0';
3450 }
3451 // purple splash
3452 SUB(crylink_impactbig) {
3453  MY(alpha_min) = 256;
3454  MY(alpha_max) = 256;
3455  MY(alpha_fade) = 512;
3456  MY(color_min) = "0xE070FF";
3457  MY(color_max) = "0xE070FF";
3458  MY(count) = 1.500000;
3459  MY(size_min) = 16;
3460  MY(size_max) = 16;
3461  MY(type) = "static";
3462  MY(velocityjitter) = '32.0 32.0 32.0';
3463 }
3464 // purple splash
3465 SUB(crylink_impactbig) {
3466  MY(alpha_min) = 256;
3467  MY(alpha_max) = 256;
3468  MY(alpha_fade) = 1024;
3469  MY(color_min) = "0xE070FF";
3470  MY(color_max) = "0xE070FF";
3471  MY(count) = 3;
3472  MY(size_min) = 16;
3473  MY(size_max) = 16;
3474  MY(type) = "static";
3475  MY(velocityjitter) = '256.0 256.0 256.0';
3476 }
3477 
3478 #include "effectinfo_gentle.inc"
3479 
3480 DEF(laser_deadly);
3481 // decal
3482 SUB(laser_deadly) {
3483  MY(alpha_min) = 256;
3484  MY(alpha_max) = 256;
3485  MY(countabsolute) = 1;
3486  MY(originjitter) = '6.0 6.0 6.0';
3487  MY(size_min) = 5;
3488  MY(size_max) = 5;
3489  MY(tex_min) = 56;
3490  MY(tex_max) = 59;
3491  MY(type) = "decal";
3492 }
3493 // dust/smoke drifting away from the impact
3494 SUB(laser_deadly) {
3495  MY(airfriction) = 7;
3496  MY(alpha_max) = 64;
3497  MY(alpha_fade) = 64;
3498  MY(color_min) = "0xFFFFFF";
3499  MY(color_max) = "0xFFFFFF";
3500  MY(count) = 0.025000;
3501  MY(liquidfriction) = 16;
3502  MY(originjitter) = '1.0 1.0 1.0';
3503  MY(sizeincrease) = 2;
3504  MY(size_min) = 3;
3505  MY(size_max) = 3;
3506  MY(tex_min) = 48;
3507  MY(tex_max) = 55;
3508  MY(type) = "smoke";
3509  MY(velocityjitter) = '15.0 15.0 15.0';
3510  MY(velocitymultiplier) = 20;
3511 }
3512 // sparks
3513 SUB(laser_deadly) {
3514  MY(airfriction) = 5;
3515  MY(alpha_min) = 256;
3516  MY(alpha_max) = 256;
3517  MY(alpha_fade) = 768;
3518  MY(bounce) = 1;
3519  MY(color_min) = "0xFDFFD9";
3520  MY(color_max) = "0xFDFFD9";
3521  MY(count) = 0.025000;
3522  MY(gravity) = 1;
3523  MY(notunderwater) = true;
3524  MY(originjitter) = '1.0 1.0 1.0';
3525  MY(size_min) = 0.600000;
3526  MY(size_max) = 0.600000;
3527  MY(tex_min) = 40;
3528  MY(tex_max) = 40;
3529  MY(type) = "spark";
3530  MY(velocityjitter) = '100.0 100.0 100.0';
3531  MY(velocitymultiplier) = 100;
3532 }
3533 
3534 DEF(torch_small);
3535 // fire
3536 SUB(torch_small) {
3537  MY(alpha_min) = 200;
3538  MY(alpha_max) = 256;
3539  MY(alpha_fade) = 512;
3540  MY(color_min) = "0x8f0d00";
3541  MY(color_max) = "0xff5a00";
3542  MY(count) = 8;
3543  MY(gravity) = -0.500000;
3544  MY(originjitter) = '5.0 5.0 5.0';
3545  MY(sizeincrease) = -1;
3546  MY(size_min) = 1;
3547  MY(size_max) = 11;
3548  MY(tex_min) = 48;
3549  MY(tex_max) = 55;
3550  MY(type) = "smoke";
3551  MY(velocityjitter) = '1.0 1.0 50.0';
3552 }
3553 // smoke
3554 SUB(torch_small) {
3555  MY(alpha_min) = 200;
3556  MY(alpha_max) = 256;
3557  MY(alpha_fade) = 200;
3558  MY(color_min) = "0x000000";
3559  MY(color_max) = "0x111111";
3560  MY(count) = 4;
3561  MY(gravity) = -0.300000;
3562  MY(originjitter) = '3.0 3.0 3.0';
3563  MY(sizeincrease) = 5;
3564  MY(size_min) = 5;
3565  MY(size_max) = 10;
3566  MY(tex_max) = 8;
3567  MY(type) = "alphastatic";
3568  MY(velocityjitter) = '11.0 11.0 50.0';
3569 }
3570 
3571 DEF(fountain01);
3572 SUB(fountain01) {
3573  MY(alpha_max) = 100;
3574  MY(alpha_fade) = 100;
3575  MY(bounce) = 1;
3576  MY(color_min) = "0x7cbaff";
3577  MY(color_max) = "0xcfd1ff";
3578  MY(count) = 16;
3579  MY(gravity) = 0.600000;
3580  MY(originjitter) = '5.0 5.0 5.0';
3581  MY(sizeincrease) = 20;
3582  MY(size_min) = 10;
3583  MY(size_max) = 15;
3584  MY(tex_max) = 8;
3585  MY(type) = "snow";
3586  MY(velocityjitter) = '81.0 81.0 150.0';
3587  MY(velocitymultiplier) = 2;
3588 }
3589 
3590 DEF(hookbomb_explode);
3591 // decal
3592 SUB(hookbomb_explode) {
3593  MY(airfriction) = 10;
3594  MY(alpha_max) = 256;
3595  MY(alpha_fade) = 200;
3596  MY(bounce) = 1.500000;
3597  MY(color_min) = "0x807aff";
3598  MY(color_max) = "0x4463d5";
3599  MY(count) = 25;
3600  MY(originjitter) = '10.0 10.0 10.0';
3601  MY(sizeincrease) = -160;
3602  MY(size_min) = 150;
3603  MY(size_max) = 200;
3604  MY(tex_min) = 38;
3605  MY(tex_max) = 38;
3606  MY(type) = "static";
3607  MY(velocityjitter) = '550.0 550.0 550.0';
3608 }
3609 // decal in the air
3610 SUB(hookbomb_explode) {
3611  MY(alpha_min) = 256;
3612  MY(alpha_max) = 265;
3613  MY(alpha_fade) = 100;
3614  MY(color_min) = "0x807aff";
3615  MY(color_max) = "0x4463d5";
3616  MY(countabsolute) = 3;
3617  MY(originoffset) = '0.0 0.0 6.0';
3618  MY(sizeincrease) = -60;
3619  MY(size_min) = 160;
3620  MY(size_max) = 200;
3621  MY(tex_min) = 38;
3622  MY(tex_max) = 38;
3623  MY(type) = "static";
3624 }
3625 // decal on the ground
3626 SUB(hookbomb_explode) {
3627  MY(alpha_min) = 256;
3628  MY(alpha_max) = 256;
3629  MY(countabsolute) = 1;
3630  MY(originjitter) = '6.0 6.0 6.0';
3631  MY(size_min) = 80;
3632  MY(size_max) = 100;
3633  MY(tex_min) = 39;
3634  MY(tex_max) = 39;
3635  MY(type) = "decal";
3636 }
3637 // some sparks
3638 SUB(hookbomb_explode) {
3639  MY(airfriction) = 2;
3640  MY(alpha_min) = 256;
3641  MY(alpha_max) = 256;
3642  MY(alpha_fade) = 456;
3643  MY(bounce) = 1.500000;
3644  MY(color_min) = "0x807aff";
3645  MY(color_max) = "0x4463d5";
3646  MY(count) = 30;
3647  MY(gravity) = 1;
3648  MY(originjitter) = '1.0 1.0 1.0';
3649  MY(sizeincrease) = -60;
3650  MY(size_min) = 20;
3651  MY(size_max) = 30;
3652  MY(tex_min) = 38;
3653  MY(tex_max) = 38;
3654  MY(type) = "spark";
3655  MY(velocityjitter) = '1900.0 1900.0 1300.0';
3656  MY(velocitymultiplier) = 0.500000;
3657 }
3658 
3659 DEF(EF_MGTURRETTRAIL);
3660 // smoke
3661 SUB(EF_MGTURRETTRAIL) {
3662  MY(alpha_min) = 128;
3663  MY(alpha_max) = 196;
3664  MY(alpha_fade) = 768;
3665  MY(color_min) = "0xd0d0a0";
3666  MY(color_max) = "0xffffff";
3667  MY(gravity) = -0.010000;
3668  MY(notunderwater) = true;
3669  MY(sizeincrease) = -8;
3670  MY(size_min) = 5;
3671  MY(size_max) = 4;
3672  MY(tex_max) = 8;
3673  MY(trailspacing) = 10;
3674  MY(type) = "smoke";
3675 }
3676 // bubbles
3677 SUB(EF_MGTURRETTRAIL) {
3678  MY(alpha_min) = 256;
3679  MY(alpha_max) = 256;
3680  MY(alpha_fade) = 256;
3681  MY(bounce) = 1.500000;
3682  MY(color_min) = "0x404040";
3683  MY(color_max) = "0x808080";
3684  MY(gravity) = -0.125000;
3685  MY(liquidfriction) = 4;
3686  MY(size_min) = 1;
3687  MY(size_max) = 1;
3688  MY(tex_min) = 62;
3689  MY(tex_max) = 62;
3690  MY(trailspacing) = 32;
3691  MY(type) = "bubble";
3692  MY(underwater) = true;
3693  MY(velocityjitter) = '16.0 16.0 16.0';
3694 }
3695 
3696 DEF(fire_big);
3697 // fire
3698 SUB(fire_big) {
3699  MY(alpha_min) = 200;
3700  MY(alpha_max) = 356;
3701  MY(alpha_fade) = 512;
3702  MY(bounce) = 2;
3703  MY(color_min) = "0x8f0d00";
3704  MY(color_max) = "0xff5a00";
3705  MY(count) = 26;
3706  MY(gravity) = -0.500000;
3707  MY(originjitter) = '33.0 33.0 33.0';
3708  MY(sizeincrease) = -3;
3709  MY(size_min) = 11;
3710  MY(size_max) = 31;
3711  MY(tex_min) = 48;
3712  MY(tex_max) = 55;
3713  MY(type) = "smoke";
3714  MY(velocityjitter) = '22.0 22.0 50.0';
3715 }
3716 // smoke
3717 SUB(fire_big) {
3718  MY(alpha_min) = 200;
3719  MY(alpha_max) = 256;
3720  MY(alpha_fade) = 200;
3721  MY(bounce) = 2;
3722  MY(color_min) = "0x000000";
3723  MY(color_max) = "0x111111";
3724  MY(count) = 11;
3725  MY(gravity) = -0.300000;
3726  MY(originjitter) = '44.0 44.0 44.0';
3727  MY(sizeincrease) = 11;
3728  MY(size_min) = 22;
3729  MY(size_max) = 33;
3730  MY(tex_max) = 8;
3731  MY(type) = "alphastatic";
3732  MY(velocityjitter) = '11.0 11.0 50.0';
3733 }
3734 
3735 #define flare(name, colormin, colormax) \
3736  DEF(name##_flare); \
3737  SUB(name##_flare) /* smoke */ { \
3738  MY(alpha_min) = 200; \
3739  MY(alpha_max) = 256; \
3740  MY(alpha_fade) = 160; \
3741  MY(bounce) = 1; \
3742  MY(color_min) = colormin; \
3743  MY(color_max) = colormax; \
3744  MY(count) = 10.500000; \
3745  MY(gravity) = -0.240000; \
3746  MY(originjitter) = '2.0 2.0 0.0'; \
3747  MY(sizeincrease) = 11; \
3748  MY(size_min) = 1; \
3749  MY(size_max) = 11; \
3750  MY(tex_max) = 8; \
3751  MY(type) = "alphastatic"; \
3752  MY(velocityjitter) = '15.0 15.0 30.0'; \
3753  }
3754 
3755 flare(red, "0xff0000", "0xdc7171")
3756 flare(blue, "0x0000ff", "0x7194dc")
3757 #undef flare
3758 
3759 DEF(smoke_ring);
3760 // smoke
3761 SUB(smoke_ring) {
3762  MY(airfriction) = 3;
3763  MY(alpha_min) = 100;
3764  MY(alpha_max) = 156;
3765  MY(alpha_fade) = 200;
3766  MY(bounce) = 1.100000;
3767  MY(color_min) = "0x111111";
3768  MY(color_max) = "0x979797";
3769  MY(count) = 45;
3770  MY(gravity) = 0.100000;
3771  MY(notunderwater) = true;
3772  MY(sizeincrease) = 21;
3773  MY(size_min) = 1;
3774  MY(size_max) = 11;
3775  MY(tex_max) = 8;
3776  MY(type) = "smoke";
3777  MY(velocityjitter) = '190.0 190.0 50.0';
3778 }
3779 
3780 DEF(smoke_large);
3781 // smoke
3782 SUB(smoke_large) {
3783  MY(airfriction) = 7;
3784  MY(alpha_min) = 140;
3785  MY(alpha_max) = 256;
3786  MY(alpha_fade) = 190;
3787  MY(bounce) = 1.100000;
3788  MY(color_min) = "0x9e895f";
3789  MY(color_max) = "0xffd39b";
3790  MY(count) = 25;
3791  MY(gravity) = -0.150000;
3792  MY(notunderwater) = true;
3793  MY(sizeincrease) = 21;
3794  MY(size_min) = 11;
3795  MY(size_max) = 21;
3796  MY(tex_max) = 8;
3797  MY(type) = "alphastatic";
3798  MY(velocityjitter) = '390.0 390.0 390.0';
3799 }
3800 
3801 DEF(sparks);
3802 SUB(sparks) {
3803  MY(airfriction) = 3;
3804  MY(alpha_max) = 256;
3805  MY(alpha_fade) = 256;
3806  MY(bounce) = 1.500000;
3807  MY(color_min) = "0xFFFDD9";
3808  MY(color_max) = "0xFFFDD9";
3809  MY(count) = 15;
3810  MY(gravity) = 1;
3811  MY(originjitter) = '1.0 1.0 1.0';
3812  MY(size_min) = 1;
3813  MY(size_max) = 3;
3814  MY(tex_min) = 40;
3815  MY(tex_max) = 40;
3816  MY(type) = "spark";
3817  MY(velocityjitter) = '300.0 300.0 200.0';
3818  MY(velocitymultiplier) = 1.500000;
3819 }
3820 
3821 DEF(electricity_sparks);
3822 SUB(electricity_sparks) {
3823  MY(airfriction) = 3;
3824  MY(alpha_max) = 256;
3825  MY(alpha_fade) = 556;
3826  MY(bounce) = 1.500000;
3827  MY(color_min) = "0x807aff";
3828  MY(color_max) = "0x4463d5";
3829  MY(count) = 35;
3830  MY(gravity) = 1;
3831  MY(originjitter) = '1.0 1.0 1.0';
3832  MY(size_min) = 1;
3833  MY(size_max) = 3;
3834  MY(tex_min) = 40;
3835  MY(tex_max) = 40;
3836  MY(type) = "spark";
3837  MY(velocityjitter) = '300.0 300.0 300.0';
3838  MY(velocitymultiplier) = 0.500000;
3839 }
3840 
3841 DEF(steam);
3842 SUB(steam) {
3843  MY(airfriction) = 5;
3844  MY(alpha_min) = 140;
3845  MY(alpha_max) = 256;
3846  MY(alpha_fade) = 190;
3847  MY(bounce) = 1.100000;
3848  MY(color_min) = "0xfffbdf";
3849  MY(color_max) = "0xffffff";
3850  MY(count) = 1;
3851  MY(gravity) = -0.250000;
3852  MY(notunderwater) = true;
3853  MY(sizeincrease) = 7;
3854  MY(size_min) = 1;
3855  MY(size_max) = 3;
3856  MY(tex_max) = 8;
3857  MY(type) = "smoke";
3858  MY(velocityjitter) = '19.0 19.0 19.0';
3859  MY(velocitymultiplier) = 14;
3860 }
3861 
3862 DEF(smoking);
3863 SUB(smoking) {
3864  MY(airfriction) = -1;
3865  MY(alpha_min) = 100;
3866  MY(alpha_max) = 256;
3867  MY(alpha_fade) = 100;
3868  MY(bounce) = 1.500000;
3869  MY(color_min) = "0x292929";
3870  MY(color_max) = "0x000000";
3871  MY(count) = 10;
3872  MY(gravity) = -0.100000;
3873  MY(originjitter) = '10.0 10.0 10.0';
3874  MY(sizeincrease) = 5;
3875  MY(size_min) = 10;
3876  MY(size_max) = 40;
3877  MY(tex_max) = 8;
3878  MY(type) = "alphastatic";
3879  MY(velocityjitter) = '5.0 5.0 20.0';
3880 }
3881 
3882 // golden dust (create it once per second to cover large area in small yellow particles)
3883 DEF(goldendust);
3884 SUB(goldendust) {
3885  MY(alpha_min) = 256;
3886  MY(alpha_max) = 256;
3887  MY(alpha_fade) = 70;
3888  MY(bounce) = 1.500000;
3889  MY(color_min) = "0xff9600";
3890  MY(color_max) = "0xffefb8";
3891  MY(count) = 25;
3892  MY(originjitter) = '500.0 500.0 500.0';
3893  MY(sizeincrease) = -0.300000;
3894  MY(size_min) = 2;
3895  MY(size_max) = 3;
3896  MY(tex_min) = 38;
3897  MY(tex_max) = 38;
3898  MY(type) = "snow";
3899  MY(velocityjitter) = '0.1 0.1 0.1';
3900 }
3901 
3902 DEF(healing_fx);
3903 SUB(healing_fx) {
3904  MY(airfriction) = -0.500000;
3905  MY(alpha_min) = 256;
3906  MY(alpha_max) = 256;
3907  MY(alpha_fade) = 170;
3908  MY(bounce) = 1.500000;
3909  MY(color_min) = "0xff0000";
3910  MY(color_max) = "0xff0000";
3911  MY(count) = 25;
3912  MY(gravity) = -0.100000;
3913  MY(originjitter) = '5.0 5.0 100.0';
3914  MY(sizeincrease) = -0.050000;
3915  MY(size_min) = 1;
3916  MY(size_max) = 3;
3917  MY(tex_min) = 40;
3918  MY(tex_max) = 40;
3919  MY(type) = "spark";
3920  MY(velocityjitter) = '50.0 50.0 0.0';
3921 }
3922 
3923 DEF(armorrepair_fx);
3924 SUB(armorrepair_fx) {
3925  MY(airfriction) = -0.500000;
3926  MY(alpha_min) = 256;
3927  MY(alpha_max) = 256;
3928  MY(alpha_fade) = 170;
3929  MY(bounce) = 1.500000;
3930  MY(color_min) = "0x00ff00";
3931  MY(color_max) = "0x00ff00";
3932  MY(count) = 25;
3933  MY(gravity) = -0.100000;
3934  MY(originjitter) = '5.0 5.0 50.0';
3935  MY(sizeincrease) = -0.050000;
3936  MY(size_min) = 1;
3937  MY(size_max) = 3;
3938  MY(tex_min) = 40;
3939  MY(tex_max) = 40;
3940  MY(type) = "spark";
3941  MY(velocityjitter) = '50.0 50.0 0.0';
3942 }
3943 
3944 DEF(ammoregen_fx);
3945 SUB(ammoregen_fx) {
3946  MY(airfriction) = -0.500000;
3947  MY(alpha_min) = 256;
3948  MY(alpha_max) = 256;
3949  MY(alpha_fade) = 170;
3950  MY(bounce) = 1.500000;
3951  MY(color_min) = "0x0000ff";
3952  MY(color_max) = "0x0000ff";
3953  MY(count) = 25;
3954  MY(gravity) = -0.100000;
3955  MY(originjitter) = '5.0 5.0 50.0';
3956  MY(sizeincrease) = -0.050000;
3957  MY(size_min) = 1;
3958  MY(size_max) = 3;
3959  MY(tex_min) = 40;
3960  MY(tex_max) = 40;
3961  MY(type) = "spark";
3962  MY(velocityjitter) = '50.0 50.0 0.0';
3963 }
3964 
3965 // red-yellow flame like fx
3966 DEF(rage);
3967 SUB(rage) {
3968  MY(airfriction) = 2;
3969  MY(alpha_min) = 256;
3970  MY(alpha_max) = 256;
3971  MY(alpha_fade) = 190;
3972  MY(color_min) = "0xff0000";
3973  MY(color_max) = "0xff7800";
3974  MY(count) = 2.500000;
3975  MY(gravity) = -0.060000;
3976  MY(originjitter) = '5.0 5.0 5.0';
3977  MY(sizeincrease) = 10;
3978  MY(size_min) = 1;
3979  MY(size_max) = 3;
3980  MY(tex_min) = 35;
3981  MY(tex_max) = 36;
3982  MY(type) = "smoke";
3983  MY(velocityjitter) = '25.0 25.0 25.0';
3984 }
3985 
3986 // pieces of glass or ice falling on the floor
3987 DEF(iceorglass);
3988 SUB(iceorglass) {
3989  MY(airfriction) = 3;
3990  MY(alpha_min) = 256;
3991  MY(alpha_max) = 256;
3992  MY(bounce) = 2;
3993  MY(color_min) = "0xffffff";
3994  MY(color_max) = "0xb2d3e6";
3995  MY(count) = 15;
3996  MY(gravity) = 1.300000;
3997  MY(originjitter) = '30.0 30.0 30.0';
3998  MY(size_min) = 3;
3999  MY(size_max) = 7;
4000  MY(tex_min) = 44;
4001  MY(tex_max) = 44;
4002  MY(time_min) = 1;
4003  MY(time_max) = 3;
4004  MY(type) = "alphastatic";
4005  MY(velocityjitter) = '100.0 100.0 100.0';
4006 }
4007 
4008 // cover small area in poison gas, spawn it once per second
4009 DEF(poisonfield);
4010 SUB(poisonfield) {
4011  MY(airfriction) = 1;
4012  MY(alpha_min) = 256;
4013  MY(alpha_max) = 256;
4014  MY(alpha_fade) = 50;
4015  MY(bounce) = 1.500000;
4016  MY(color_min) = "0x00ff00";
4017  MY(color_max) = "0x7db843";
4018  MY(count) = 15;
4019  MY(gravity) = -0.010000;
4020  MY(originjitter) = '333.0 333.0 50.0';
4021  MY(sizeincrease) = 30;
4022  MY(size_min) = 1;
4023  MY(size_max) = 1;
4024  MY(tex_max) = 8;
4025  MY(type) = "smoke";
4026  MY(velocityjitter) = '5.0 5.0 5.0';
4027 }
4028 
4029 // cover small area in icy mist, spawn it once per second
4030 DEF(icefield);
4031 SUB(icefield) {
4032  MY(airfriction) = 1;
4033  MY(alpha_min) = 256;
4034  MY(alpha_max) = 256;
4035  MY(alpha_fade) = 50;
4036  MY(bounce) = 1.500000;
4037  MY(color_min) = "0x008aff";
4038  MY(color_max) = "0x75e7ff";
4039  MY(count) = 10;
4040  MY(gravity) = -0.010000;
4041  MY(originjitter) = '333.0 333.0 0.0';
4042  MY(sizeincrease) = 10;
4043  MY(size_min) = 1;
4044  MY(size_max) = 1;
4045  MY(tex_max) = 8;
4046  MY(type) = "smoke";
4047  MY(velocityjitter) = '5.0 5.0 30.0';
4048 }
4049 SUB(icefield) {
4050  MY(alpha_min) = 256;
4051  MY(alpha_max) = 256;
4052  MY(alpha_fade) = 50;
4053  MY(color_min) = "0x008aff";
4054  MY(color_max) = "0x75e7ff";
4055  MY(count) = 5;
4056  MY(gravity) = -0.001000;
4057  MY(originjitter) = '333.0 333.0 0.0';
4058  MY(sizeincrease) = 10;
4059  MY(size_min) = 1;
4060  MY(size_max) = 1;
4061  MY(tex_min) = 48;
4062  MY(tex_max) = 55;
4063  MY(type) = "smoke";
4064 }
4065 
4066 // cover very small area in flames, spawn it 3 times per second (or more often to get better looking fire at cost of fps hit )
4067 DEF(firefield);
4068 // flames that go up
4069 SUB(firefield) {
4070  MY(airfriction) = 1;
4071  MY(alpha_min) = 50;
4072  MY(alpha_max) = 256;
4073  MY(alpha_fade) = 200;
4074  MY(bounce) = 1.500000;
4075  MY(color_min) = "0x8f0d00";
4076  MY(color_max) = "0xff5a00";
4077  MY(count) = 100;
4078  MY(gravity) = -0.060000;
4079  MY(originjitter) = '180.0 180.0 0.0';
4080  MY(sizeincrease) = 20;
4081  MY(size_min) = 1;
4082  MY(size_max) = 1;
4083  MY(tex_min) = 48;
4084  MY(tex_max) = 55;
4085  MY(type) = "smoke";
4086  MY(velocityjitter) = '5.0 5.0 30.0';
4087 }
4088 // flames that stay on the ground
4089 SUB(firefield) {
4090  MY(alpha_min) = 50;
4091  MY(alpha_max) = 256;
4092  MY(alpha_fade) = 200;
4093  MY(color_min) = "0x8f0d00";
4094  MY(color_max) = "0xff5a00";
4095  MY(count) = 50;
4096  MY(originjitter) = '180.0 180.0 0.0';
4097  MY(sizeincrease) = 40;
4098  MY(size_min) = 1;
4099  MY(size_max) = 1;
4100  MY(tex_min) = 48;
4101  MY(tex_max) = 55;
4102  MY(type) = "smoke";
4103 }
4104 // smoke
4105 SUB(firefield) {
4106  MY(alpha_min) = 256;
4107  MY(alpha_max) = 256;
4108  MY(alpha_fade) = 70;
4109  MY(color_min) = "0x000000";
4110  MY(color_max) = "0x111111";
4111  MY(count) = 20;
4112  MY(gravity) = -0.020000;
4113  MY(originjitter) = '180.0 180.0 0.0';
4114  MY(sizeincrease) = 7;
4115  MY(size_min) = 1;
4116  MY(size_max) = 1;
4117  MY(tex_max) = 8;
4118  MY(type) = "alphastatic";
4119 }
4120 
4121 // flamethrower, spawn it as fast as you can 20 times per second or more, it needs direction
4122 DEF(flamethrower);
4123 // fast fire
4124 SUB(flamethrower) {
4125  MY(airfriction) = 1.200000;
4126  MY(alpha_min) = 50;
4127  MY(alpha_max) = 256;
4128  MY(alpha_fade) = 250;
4129  MY(bounce) = 1.500000;
4130  MY(color_min) = "0x8f0d00";
4131  MY(color_max) = "0xff5a00";
4132  MY(count) = 3;
4133  MY(gravity) = -0.060000;
4134  MY(sizeincrease) = 20;
4135  MY(size_min) = 5;
4136  MY(size_max) = 5;
4137  MY(tex_min) = 48;
4138  MY(tex_max) = 55;
4139  MY(type) = "smoke";
4140  MY(velocityjitter) = '40.0 40.0 11.0';
4141  MY(velocitymultiplier) = 30;
4142 }
4143 // slow fire
4144 SUB(flamethrower) {
4145  MY(airfriction) = 1.200000;
4146  MY(alpha_min) = 50;
4147  MY(alpha_max) = 256;
4148  MY(alpha_fade) = 200;
4149  MY(bounce) = 1.500000;
4150  MY(color_min) = "0x8f0d00";
4151  MY(color_max) = "0xff5a00";
4152  MY(count) = 2.500000;
4153  MY(gravity) = -0.060000;
4154  MY(sizeincrease) = 20;
4155  MY(size_min) = 5;
4156  MY(size_max) = 5;
4157  MY(tex_min) = 48;
4158  MY(tex_max) = 55;
4159  MY(type) = "smoke";
4160  MY(velocityjitter) = '40.0 40.0 40.0';
4161  MY(velocitymultiplier) = 20;
4162 }
4163 // very slow and small fire
4164 SUB(flamethrower) {
4165  MY(airfriction) = 0.300000;
4166  MY(alpha_min) = 50;
4167  MY(alpha_max) = 256;
4168  MY(alpha_fade) = 200;
4169  MY(bounce) = 1.500000;
4170  MY(color_min) = "0x8f0d00";
4171  MY(color_max) = "0xff5a00";
4172  MY(count) = 1.500000;
4173  MY(gravity) = -0.060000;
4174  MY(sizeincrease) = 10;
4175  MY(size_min) = 5;
4176  MY(size_max) = 5;
4177  MY(tex_min) = 48;
4178  MY(tex_max) = 55;
4179  MY(type) = "smoke";
4180  MY(velocityjitter) = '30.0 30.0 30.0';
4181  MY(velocitymultiplier) = 10;
4182 }
4183 // decreasing fire
4184 SUB(flamethrower) {
4185  MY(airfriction) = 0.300000;
4186  MY(alpha_min) = 50;
4187  MY(alpha_max) = 256;
4188  MY(alpha_fade) = 200;
4189  MY(bounce) = 1.500000;
4190  MY(color_min) = "0x8f0d00";
4191  MY(color_max) = "0xff5a00";
4192  MY(count) = 2;
4193  MY(gravity) = -0.060000;
4194  MY(sizeincrease) = -10;
4195  MY(size_min) = 20;
4196  MY(size_max) = 30;
4197  MY(tex_min) = 48;
4198  MY(tex_max) = 55;
4199  MY(type) = "smoke";
4200  MY(velocityjitter) = '10.0 10.0 10.0';
4201  MY(velocitymultiplier) = 15;
4202 }
4203 // smoke
4204 SUB(flamethrower) {
4205  MY(airfriction) = 1;
4206  MY(alpha_min) = 256;
4207  MY(alpha_max) = 256;
4208  MY(alpha_fade) = 90;
4209  MY(color_min) = "0x000000";
4210  MY(color_max) = "0x111111";
4211  MY(count) = 0.500000;
4212  MY(originjitter) = '10.0 10.0 10.0';
4213  MY(sizeincrease) = 7;
4214  MY(size_min) = 5;
4215  MY(size_max) = 15;
4216  MY(tex_max) = 8;
4217  MY(type) = "alphastatic";
4218  MY(velocitymultiplier) = 20;
4219  MY(velocityoffset) = '0.0 0.0 10.0';
4220 }
4221 
4222 // port-o-launch trail
4223 DEF(TR_WIZSPIKE);
4224 // glowing vapor trail
4225 SUB(TR_WIZSPIKE) {
4226  MY(alpha_min) = 256;
4227  MY(alpha_max) = 256;
4228  MY(alpha_fade) = 968;
4229  MY(color_min) = "0x404040";
4230  MY(color_max) = "0x404040";
4231  MY(lightcolor) = '1.5 3.0 6.0';
4232  MY(lightradius) = 90;
4233  MY(size_min) = 3;
4234  MY(size_max) = 3;
4235  MY(tex_min) = 62;
4236  MY(tex_max) = 62;
4237  MY(trailspacing) = 4;
4238  MY(type) = "static";
4239  MY(velocitymultiplier) = -0.100000;
4240 }
4241 // bright sparks
4242 SUB(TR_WIZSPIKE) {
4243  MY(airfriction) = 12;
4244  MY(alpha_min) = 444;
4245  MY(alpha_max) = 512;
4246  MY(alpha_fade) = 1866;
4247  MY(bounce) = 1;
4248  MY(color_min) = "0x404040";
4249  MY(color_max) = "0x404040";
4250  MY(count) = 1.500000;
4251  MY(originjitter) = '1.0 1.0 1.0';
4252  MY(sizeincrease) = -20;
4253  MY(size_min) = 2;
4254  MY(size_max) = 4;
4255  MY(tex_min) = 42;
4256  MY(tex_max) = 42;
4257  MY(trailspacing) = 12;
4258  MY(type) = "snow";
4259  MY(velocityjitter) = '50.0 50.0 50.0';
4260  MY(velocityoffset) = '0.0 0.0 15.0';
4261 }
4262 
4263 // TAG trail
4264 DEF(TR_VORESPIKE);
4265 // glowing vapor trail
4266 SUB(TR_VORESPIKE) {
4267  MY(alpha_min) = 256;
4268  MY(alpha_max) = 256;
4269  MY(alpha_fade) = 968;
4270  MY(color_min) = "0x804000";
4271  MY(color_max) = "0x804000";
4272  MY(lightcolor) = '1.5 3.0 6.0';
4273  MY(lightradius) = 90;
4274  MY(size_min) = 3;
4275  MY(size_max) = 3;
4276  MY(tex_min) = 62;
4277  MY(tex_max) = 62;
4278  MY(trailspacing) = 4;
4279  MY(type) = "static";
4280  MY(velocitymultiplier) = -0.100000;
4281 }
4282 // bright sparks
4283 SUB(TR_VORESPIKE) {
4284  MY(airfriction) = 12;
4285  MY(alpha_min) = 444;
4286  MY(alpha_max) = 512;
4287  MY(alpha_fade) = 1866;
4288  MY(bounce) = 1;
4289  MY(color_min) = "0xff8000";
4290  MY(color_max) = "0xff8000";
4291  MY(count) = 1.500000;
4292  MY(originjitter) = '1.0 1.0 1.0';
4293  MY(sizeincrease) = -20;
4294  MY(size_min) = 2;
4295  MY(size_max) = 4;
4296  MY(tex_min) = 42;
4297  MY(tex_max) = 42;
4298  MY(trailspacing) = 12;
4299  MY(type) = "snow";
4300  MY(velocityjitter) = '50.0 50.0 50.0';
4301  MY(velocityoffset) = '0.0 0.0 15.0';
4302 }
4303 
4304 DEF(flac_explode);
4305 SUB(flac_explode) {
4306  MY(alpha_min) = 256;
4307  MY(alpha_max) = 256;
4308  MY(countabsolute) = 1;
4309  MY(lightcolor) = '8.0 4.0 1.0';
4310  MY(lightradiusfade) = 400;
4311  MY(lightradius) = 150;
4312  MY(originjitter) = '40.0 40.0 40.0';
4313  MY(size_min) = 18;
4314  MY(size_max) = 28;
4315  MY(tex_min) = 8;
4316  MY(tex_max) = 16;
4317  MY(type) = "decal";
4318 }
4319 // fire effect which make bright dot inside
4320 SUB(flac_explode) {
4321  MY(airfriction) = 8;
4322  MY(alpha_min) = 128;
4323  MY(alpha_max) = 256;
4324  MY(alpha_fade) = 456;
4325  MY(bounce) = 1.500000;
4326  MY(color_min) = "0xffe955";
4327  MY(color_max) = "0xff5a00";
4328  MY(count) = 3;
4329  MY(liquidfriction) = 8;
4330  MY(notunderwater) = true;
4331  MY(originjitter) = '8.0 8.0 8.0';
4332  MY(sizeincrease) = 5;
4333  MY(size_min) = 6;
4334  MY(size_max) = 16;
4335  MY(tex_min) = 48;
4336  MY(tex_max) = 55;
4337  MY(type) = "smoke";
4338  MY(velocityjitter) = '156.0 156.0 156.0';
4339 }
4340 // fire effect which expands then slows
4341 SUB(flac_explode) {
4342  MY(airfriction) = 12;
4343  MY(alpha_min) = 128;
4344  MY(alpha_max) = 256;
4345  MY(alpha_fade) = 456;
4346  MY(bounce) = 1.500000;
4347  MY(color_min) = "0x8f0d00";
4348  MY(color_max) = "0xff5a00";
4349  MY(count) = 6;
4350  MY(liquidfriction) = 8;
4351  MY(notunderwater) = true;
4352  MY(originjitter) = '8.0 8.0 8.0';
4353  MY(sizeincrease) = 15;
4354  MY(size_min) = 10;
4355  MY(size_max) = 16;
4356  MY(tex_min) = 48;
4357  MY(tex_max) = 55;
4358  MY(type) = "static";
4359  MY(velocityjitter) = '256.0 256.0 256.0';
4360 }
4361 // smoke
4362 SUB(flac_explode) {
4363  MY(airfriction) = 5;
4364  MY(alpha_min) = 500;
4365  MY(alpha_max) = 600;
4366  MY(alpha_fade) = 556;
4367  MY(bounce) = 2;
4368  MY(color_min) = "0x000000";
4369  MY(color_max) = "0x111111";
4370  MY(count) = 5;
4371  MY(notunderwater) = true;
4372  MY(sizeincrease) = 20;
4373  MY(size_min) = 10;
4374  MY(size_max) = 20;
4375  MY(tex_max) = 8;
4376  MY(type) = "alphastatic";
4377  MY(velocityjitter) = '244.0 244.0 244.0';
4378 }
4379 // underwater bubbles
4380 SUB(flac_explode) {
4381  MY(alpha_min) = 128;
4382  MY(alpha_max) = 256;
4383  MY(alpha_fade) = 64;
4384  MY(bounce) = 1.500000;
4385  MY(color_min) = "0x404040";
4386  MY(color_max) = "0x808080";
4387  MY(count) = 8;
4388  MY(gravity) = -0.125000;
4389  MY(liquidfriction) = 0.250000;
4390  MY(originjitter) = '16.0 16.0 16.0';
4391  MY(size_min) = 1;
4392  MY(size_max) = 2;
4393  MY(tex_min) = 62;
4394  MY(tex_max) = 62;
4395  MY(type) = "bubble";
4396  MY(underwater) = true;
4397  MY(velocityjitter) = '96.0 96.0 96.0';
4398 }
4399 // bouncing sparks
4400 SUB(flac_explode) {
4401  MY(airfriction) = 0.200000;
4402  MY(alpha_min) = 256;
4403  MY(alpha_max) = 256;
4404  MY(alpha_fade) = 384;
4405  MY(bounce) = 1.500000;
4406  MY(color_min) = "0x903010";
4407  MY(color_max) = "0xFFD030";
4408  MY(count) = 4;
4409  MY(gravity) = 1;
4410  MY(liquidfriction) = 0.800000;
4411  MY(notunderwater) = true;
4412  MY(size_min) = 2;
4413  MY(size_max) = 2;
4414  MY(tex_min) = 40;
4415  MY(tex_max) = 40;
4416  MY(type) = "spark";
4417  MY(velocityjitter) = '256.0 256.0 256.0';
4418  MY(velocityoffset) = '0.0 0.0 80.0';
4419 }
4420 
4421 // bullet trail (somewhat like a tracer)
4422 DEF(tr_bullet);
4423 SUB(tr_bullet) {
4424  MY(alpha) = '500 600 10000';
4425  MY(color_min) = "0xf03000";
4426  MY(color_max) = "0xff6010";
4427  MY(countabsolute) = 1;
4428  MY(sizeincrease) = -3;
4429  MY(size_min) = 0.6;
4430  MY(size_max) = 0.8;
4431  my(tex_min) = 200;
4432  my(tex_max) = 200;
4433  MY(type) = "beam";
4434 }
4435 SUB(tr_bullet) {
4436  MY(airfriction) = -4;
4437  MY(alpha) = '256 256 350';
4438  MY(color_min) = "0x202020";
4439  MY(color_max) = "0x404040";
4440  MY(notunderwater) = true;
4441  MY(sizeincrease) = 0.4;
4442  MY(size_min) = 1;
4443  MY(size_max) = 2;
4444  MY(tex_min) = 0;
4445  MY(tex_max) = 8;
4446  MY(trailspacing) = 16;
4447  MY(type) = "smoke";
4448  MY(velocityjitter) = '4 4 4';
4449 }
4450 SUB(tr_bullet) {
4451  MY(alpha_min) = 256;
4452  MY(alpha_max) = 256;
4453  MY(alpha_fade) = 128;
4454  MY(bounce) = 1.500000;
4455  MY(color_min) = "0x404040";
4456  MY(color_max) = "0x808080";
4457  MY(gravity) = -0.125000;
4458  MY(liquidfriction) = 4;
4459  MY(size_min) = 0.5;
4460  MY(size_max) = 0.6;
4461  MY(tex_min) = 62;
4462  MY(tex_max) = 62;
4463  MY(trailspacing) = 16;
4464  MY(type) = "bubble";
4465  MY(underwater) = true;
4466  MY(velocityjitter) = '16.0 16.0 16.0';
4467 }
4468 
4469 // smoke emitter for small pipes
4470 DEF(smoking_smallemitter);
4471 SUB(smoking_smallemitter) {
4472  MY(airfriction) = -1;
4473  MY(alpha_min) = 200;
4474  MY(alpha_max) = 256;
4475  MY(alpha_fade) = 100;
4476  MY(color_min) = "0x292929";
4477  MY(color_max) = "0x000000";
4478  MY(count) = 10;
4479  MY(gravity) = -0.100000;
4480  MY(originjitter) = '10.0 10.0 10.0';
4481  MY(sizeincrease) = 20;
4482  MY(size_min) = 6;
4483  MY(size_max) = 15;
4484  MY(tex_max) = 8;
4485  MY(type) = "alphastatic";
4486  MY(velocityjitter) = '5.0 5.0 20.0';
4487 }
4488 
4489 // crylink trail
4490 DEF(TR_CRYLINKPLASMA);
4491 // plasma smoke
4492 SUB(TR_CRYLINKPLASMA) {
4493  MY(alpha_min) = 256;
4494  MY(alpha_max) = 256;
4495  MY(alpha_fade) = 1024;
4496  MY(color_min) = "0x5522aa";
4497  MY(color_max) = "0x6622ff";
4498  MY(sizeincrease) = 8;
4499  MY(size_min) = 2;
4500  MY(size_max) = 2;
4501  MY(tex_min) = 32;
4502  MY(tex_max) = 32;
4503  MY(trailspacing) = 128;
4504  MY(type) = "static";
4505  MY(velocityjitter) = '8.0 8.0 8.0';
4506  MY(velocitymultiplier) = -0.010000;
4507 }
4508 // crylink main trail
4509 SUB(TR_CRYLINKPLASMA) {
4510  MY(alpha_min) = 256;
4511  MY(alpha_max) = 256;
4512  MY(alpha_fade) = 2600;
4513  MY(color_min) = "0x5522aa";
4514  MY(color_max) = "0x6622ff";
4515  MY(sizeincrease) = 15;
4516  MY(size_min) = 3;
4517  MY(size_max) = 3;
4518  MY(tex_min) = 3;
4519  MY(tex_max) = 3;
4520  MY(trailspacing) = 16;
4521  MY(type) = "static";
4522  MY(velocityjitter) = '2.0 2.0 2.0';
4523  MY(velocitymultiplier) = 0.010000;
4524 }
4525 
4526 DEF(cherryblossom);
4527 SUB(cherryblossom) {
4528  MY(airfriction) = 1;
4529  MY(alpha_min) = 128;
4530  MY(alpha_max) = 256;
4531  MY(alpha_fade) = 32;
4532  MY(bounce) = 1.500000;
4533  MY(color_min) = "0xb123ff";
4534  MY(color_max) = "0xb183ff";
4535  MY(count) = 1.500000;
4536  MY(gravity) = 0.050000;
4537  MY(liquidfriction) = 1;
4538  MY(originjitter) = '16.0 16.0 16.0';
4539  MY(size_min) = 1.500000;
4540  MY(size_max) = 2;
4541  MY(tex_min) = 40;
4542  MY(tex_max) = 40;
4543  MY(type) = "static";
4544  MY(velocityjitter) = '32.0 32.0 0.0';
4545 }
4546 
4547 DEF(alien_blood);
4548 SUB(alien_blood) {
4549  MY(airfriction) = 0.400000;
4550  MY(alpha_min) = 1560;
4551  MY(alpha_max) = 2560;
4552  MY(alpha_fade) = 7000;
4553  MY(blend) = "invmod";
4554  MY(bounce) = -1;
4555  MY(color_min) = "0xDC9BCD";
4556  MY(color_max) = "0xDC9BCD";
4557  MY(count) = 0.400000;
4558  MY(sizeincrease) = 20;
4559  MY(size_min) = 5;
4560  MY(size_max) = 11;
4561  MY(staincolor_min) = "0xDC9BCD";
4562  MY(staincolor_max) = "0xDC9BCD";
4563  MY(stainsize_min) = 1;
4564  MY(stainsize_max) = 2;
4565  MY(staintex_min) = 16;
4566  MY(staintex_max) = 24;
4567  MY(stretchfactor) = 25;
4568  MY(tex_min) = 24;
4569  MY(tex_max) = 32;
4570  MY(type) = "spark";
4571  MY(velocityjitter) = '99.0 99.0 55.0';
4572 }
4573 // blood mist
4574 SUB(alien_blood) {
4575  MY(alpha_min) = 3000;
4576  MY(alpha_max) = 5560;
4577  MY(alpha_fade) = 12000;
4578  MY(blend) = "invmod";
4579  MY(color_min) = "0xDC9BCD";
4580  MY(color_max) = "0xDC9BCD";
4581  MY(countabsolute) = 1;
4582  MY(originjitter) = '11.0 11.0 11.0';
4583  MY(sizeincrease) = 20;
4584  MY(size_min) = 25;
4585  MY(size_max) = 30;
4586  MY(tex_min) = 24;
4587  MY(tex_max) = 32;
4588  MY(type) = "smoke";
4589 }
4590 
4591 DEF(robot_blood);
4592 SUB(robot_blood) {
4593  MY(airfriction) = 1;
4594  MY(alpha_min) = 256;
4595  MY(alpha_max) = 256;
4596  MY(alpha_fade) = 64;
4597  MY(bounce) = -1;
4598  MY(color_min) = "0xff3000";
4599  MY(color_max) = "0xff7373";
4600  MY(count) = 0.167000;
4601  MY(gravity) = 1;
4602  MY(liquidfriction) = 4;
4603  MY(size_min) = 1;
4604  MY(size_max) = 2;
4605  MY(tex_min) = 70;
4606  MY(tex_max) = 70;
4607  MY(type) = "spark";
4608  MY(velocityjitter) = '264.0 264.0 264.0';
4609  MY(velocityoffset) = '0.0 0.0 100.0';
4610 }
4611 // shockwave
4612 SUB(robot_blood) {
4613  MY(alpha_max) = 90;
4614  MY(alpha_fade) = 1000;
4615  MY(color_min) = "0xff8400";
4616  MY(color_max) = "0xffbb72";
4617  MY(countabsolute) = 1;
4618  MY(originjitter) = '11.0 11.0 11.0';
4619  MY(sizeincrease) = 800;
4620  MY(size_min) = 2;
4621  MY(size_max) = 2;
4622  MY(tex_min) = 74;
4623  MY(tex_max) = 74;
4624  MY(type) = "smoke";
4625 }
4626 // electo sparks
4627 SUB(robot_blood) {
4628  MY(alpha_min) = 256;
4629  MY(alpha_max) = 256;
4630  MY(alpha_fade) = 5120;
4631  MY(color_min) = "0xff3000";
4632  MY(color_max) = "0xff8585";
4633  MY(count) = 0.100000;
4634  MY(originjitter) = '41.0 41.0 21.0';
4635  MY(startangle_min) = -180;
4636  MY(startangle_max) = 180;
4637  MY(spin_min) = 4000;
4638  MY(spin_max) = -4000;
4639  MY(size_min) = 20;
4640  MY(size_max) = 40;
4641  MY(tex_min) = 71;
4642  MY(tex_max) = 73;
4643  MY(type) = "smoke";
4644 }
4645 
4646 DEF(alien_TR_BLOOD);
4647 SUB(alien_TR_BLOOD) {
4648  MY(airfriction) = -2;
4649  MY(alpha_min) = 384;
4650  MY(alpha_max) = 984;
4651  MY(alpha_fade) = 1492;
4652  MY(blend) = "invmod";
4653  MY(bounce) = -1;
4654  MY(color_min) = "0xC080B0";
4655  MY(color_max) = "0xC080B0";
4656  MY(gravity) = 0.400000;
4657  MY(liquidfriction) = 1;
4658  MY(sizeincrease) = -5;
4659  MY(size_min) = 4;
4660  MY(size_max) = 19;
4661  MY(staincolor_min) = "0xC080B0";
4662  MY(staincolor_max) = "0xC080B0";
4663  MY(stainsize_min) = 1;
4664  MY(stainsize_max) = 2;
4665  MY(staintex_min) = 16;
4666  MY(staintex_max) = 24;
4667  MY(stretchfactor) = 7;
4668  MY(tex_min) = 24;
4669  MY(tex_max) = 32;
4670  MY(trailspacing) = 20;
4671  MY(type) = "spark";
4672  MY(velocityjitter) = '64.0 64.0 64.0';
4673  MY(velocitymultiplier) = -0.100000;
4674 }
4675 
4676 // splash around gib
4677 SUB(TR_BLOOD) {
4678  MY(alpha_min) = 684;
4679  MY(alpha_max) = 684;
4680  MY(alpha_fade) = 7492;
4681  MY(color_min) = "0xA8FFFF";
4682  MY(color_max) = "0xA8FFFF";
4683  MY(sizeincrease) = 500;
4684  MY(size_min) = 4;
4685  MY(size_max) = 6;
4686  MY(tex_min) = 24;
4687  MY(tex_max) = 32;
4688  MY(trailspacing) = 42;
4689  MY(type) = "blood";
4690 }
4691 
4692 DEF(robot_TR_BLOOD);
4693 SUB(robot_TR_BLOOD) {
4694  MY(airfriction) = -2;
4695  MY(alpha_min) = 384;
4696  MY(alpha_max) = 984;
4697  MY(alpha_fade) = 1892;
4698  MY(blend) = "invmod";
4699  MY(bounce) = -1;
4700  MY(color_min) = "0xC0D890";
4701  MY(color_max) = "0xC0D890";
4702  MY(gravity) = 0.400000;
4703  MY(liquidfriction) = 1;
4704  MY(sizeincrease) = -6;
4705  MY(size_min) = 4;
4706  MY(size_max) = 13;
4707  MY(staincolor_min) = "0x808080";
4708  MY(staincolor_max) = "0x808080";
4709  MY(stainsize_min) = 1;
4710  MY(stainsize_max) = 3;
4711  MY(staintex_min) = 16;
4712  MY(staintex_max) = 24;
4713  MY(stretchfactor) = 6;
4714  MY(tex_min) = 24;
4715  MY(tex_max) = 32;
4716  MY(trailspacing) = 16;
4717  MY(type) = "spark";
4718  MY(velocityjitter) = '64.0 64.0 64.0';
4719  MY(velocitymultiplier) = -0.300000;
4720 }
4721 // fire
4722 SUB(robot_TR_BLOOD) {
4723  MY(airfriction) = 4;
4724  MY(alpha_min) = 128;
4725  MY(alpha_max) = 256;
4726  MY(alpha_fade) = 900;
4727  MY(color_min) = "0x902010";
4728  MY(color_max) = "0xff3600";
4729  MY(gravity) = -1;
4730  MY(liquidfriction) = 4;
4731  MY(notunderwater) = true;
4732  MY(sizeincrease) = 10;
4733  MY(size_min) = 5;
4734  MY(size_max) = 20;
4735  MY(stretchfactor) = 5;
4736  MY(tex_min) = 48;
4737  MY(tex_max) = 55;
4738  MY(trailspacing) = 16;
4739  MY(type) = "spark";
4740  MY(velocityjitter) = '44.0 44.0 44.0';
4741 }
4742 // arcs
4743 SUB(robot_TR_BLOOD) {
4744  MY(alpha_min) = 1128;
4745  MY(alpha_max) = 1256;
4746  MY(alpha_fade) = 44900;
4747  MY(color_min) = "0xff3000";
4748  MY(color_max) = "0xff8585";
4749  MY(startangle_min) = -180;
4750  MY(startangle_max) = 180;
4751  MY(spin_min) = 4000;
4752  MY(spin_max) = -4000;
4753  MY(size_min) = 25;
4754  MY(size_max) = 30;
4755  MY(tex_min) = 71;
4756  MY(tex_max) = 73;
4757  MY(trailspacing) = 128;
4758  MY(type) = "smoke";
4759  MY(velocityjitter) = '44.0 44.0 44.0';
4760 }
4761 
4762 DEF(alien_TR_SLIGHTBLOOD);
4763 SUB(alien_TR_SLIGHTBLOOD) {
4764  MY(airfriction) = 1;
4765  MY(alpha_min) = 384;
4766  MY(alpha_max) = 384;
4767  MY(alpha_fade) = 192;
4768  MY(bounce) = -1;
4769  MY(color_min) = "0xC080B0";
4770  MY(color_max) = "0xC080B0";
4771  MY(liquidfriction) = 4;
4772  MY(size_min) = 80;
4773  MY(size_max) = 80;
4774  MY(staincolor_min) = "0x808080";
4775  MY(staincolor_max) = "0x808080";
4776  MY(staintex_min) = 16;
4777  MY(staintex_max) = 24;
4778  MY(tex_min) = 24;
4779  MY(tex_max) = 32;
4780  MY(trailspacing) = 64;
4781  MY(type) = "blood";
4782  MY(velocityjitter) = '64.0 64.0 64.0';
4783  MY(velocitymultiplier) = 0.500000;
4784 }
4785 
4786 DEF(robot_TR_SLIGHTBLOOD);
4787 SUB(robot_TR_SLIGHTBLOOD) {
4788  MY(airfriction) = 1;
4789  MY(alpha_min) = 384;
4790  MY(alpha_max) = 384;
4791  MY(alpha_fade) = 192;
4792  MY(bounce) = -1;
4793  MY(color_min) = "0xC0D890";
4794  MY(color_max) = "0xC0D890";
4795  MY(liquidfriction) = 4;
4796  MY(size_min) = 8;
4797  MY(size_max) = 8;
4798  MY(staincolor_min) = "0x808080";
4799  MY(staincolor_max) = "0x808080";
4800  MY(staintex_min) = 16;
4801  MY(staintex_max) = 24;
4802  MY(tex_min) = 24;
4803  MY(tex_max) = 32;
4804  MY(trailspacing) = 64;
4805  MY(type) = "blood";
4806  MY(velocityjitter) = '64.0 64.0 64.0';
4807  MY(velocitymultiplier) = 0.500000;
4808 }
4809 
4810 DEF(item_pickup);
4811 // flare particle and light
4812 SUB(item_pickup) {
4813  MY(alpha_min) = 128;
4814  MY(alpha_max) = 64;
4815  MY(alpha_fade) = 64;
4816  MY(color_min) = "0x63F2EA";
4817  MY(color_max) = "0xB0C5C4";
4818  MY(countabsolute) = 1;
4819  MY(size_min) = 8;
4820  MY(size_max) = 16;
4821  MY(type) = "static";
4822 }
4823 // cloud of particles which expand rapidly and then slow to form a ball
4824 SUB(item_pickup) {
4825  MY(alpha_min) = 256;
4826  MY(alpha_max) = 256;
4827  MY(alpha_fade) = 1280;
4828  MY(color_min) = "0x63F2EA";
4829  MY(color_max) = "0xB0C5C4";
4830  MY(count) = 32;
4831  MY(size_min) = 1;
4832  MY(size_max) = 1;
4833  MY(tex_min) = 41;
4834  MY(tex_max) = 41;
4835  MY(type) = "spark";
4836  MY(velocityjitter) = '256.0 256.0 256.0';
4837 }
4838 
4839 DEF(bloodshower);
4840 SUB(bloodshower) {
4841  MY(alpha_min) = 156;
4842  MY(alpha_max) = 656;
4843  MY(alpha_fade) = 1664;
4844  MY(blend) = "invmod";
4845  MY(bounce) = -1;
4846  MY(color_min) = "0xA8FFFF";
4847  MY(color_max) = "0xA8FFFFF";
4848  MY(count) = 125;
4849  MY(gravity) = 1;
4850  MY(liquidfriction) = 4;
4851  MY(size_min) = 8;
4852  MY(size_max) = 28;
4853  MY(staincolor_min) = "0x808080";
4854  MY(staincolor_max) = "0x808080";
4855  MY(stainsize_min) = 1;
4856  MY(stainsize_max) = 2;
4857  MY(staintex_min) = 16;
4858  MY(staintex_max) = 24;
4859  MY(stretchfactor) = 3;
4860  MY(tex_min) = 24;
4861  MY(tex_max) = 32;
4862  MY(type) = "spark";
4863  MY(velocityjitter) = '764.0 764.0 764.0';
4864 }
4865 // center blood
4866 SUB(bloodshower) {
4867  MY(alpha_min) = 156;
4868  MY(alpha_max) = 656;
4869  MY(alpha_fade) = 1664;
4870  MY(blend) = "invmod";
4871  MY(color_min) = "0xA8FFFF";
4872  MY(color_max) = "0xA8FFFFF";
4873  MY(countabsolute) = 0.100000;
4874  MY(originjitter) = '50.0 50.0 50.0';
4875  MY(sizeincrease) = 300;
4876  MY(size_min) = 1;
4877  MY(size_max) = 28;
4878  MY(tex_min) = 24;
4879  MY(tex_max) = 32;
4880  MY(type) = "smoke";
4881 }
4882 
4883 DEF(alien_bloodshower);
4884 SUB(alien_bloodshower) {
4885  MY(alpha_min) = 156;
4886  MY(alpha_max) = 656;
4887  MY(alpha_fade) = 1664;
4888  MY(blend) = "invmod";
4889  MY(bounce) = -1;
4890  MY(color_min) = "0xC080B0";
4891  MY(color_max) = "0xC080B0";
4892  MY(count) = 125;
4893  MY(gravity) = 1;
4894  MY(liquidfriction) = 4;
4895  MY(size_min) = 8;
4896  MY(size_max) = 28;
4897  MY(staincolor_min) = "0xC080B0";
4898  MY(staincolor_max) = "0xC080B0";
4899  MY(stainsize_min) = 1;
4900  MY(stainsize_max) = 2;
4901  MY(staintex_min) = 16;
4902  MY(staintex_max) = 24;
4903  MY(stretchfactor) = 3;
4904  MY(tex_min) = 24;
4905  MY(tex_max) = 32;
4906  MY(type) = "spark";
4907  MY(velocityjitter) = '764.0 764.0 764.0';
4908 }
4909 // center blood
4910 SUB(bloodshower) {
4911  MY(alpha_min) = 156;
4912  MY(alpha_max) = 656;
4913  MY(alpha_fade) = 1664;
4914  MY(blend) = "invmod";
4915  MY(color_min) = "0xA8FFFF";
4916  MY(color_max) = "0xA8FFFFF";
4917  MY(countabsolute) = 0.100000;
4918  MY(originjitter) = '50.0 50.0 50.0';
4919  MY(sizeincrease) = 300;
4920  MY(size_min) = 1;
4921  MY(size_max) = 28;
4922  MY(tex_min) = 24;
4923  MY(tex_max) = 32;
4924  MY(type) = "smoke";
4925 }
4926 
4927 DEF(robot_bloodshower);
4928 SUB(robot_bloodshower) {
4929  MY(alpha_min) = 156;
4930  MY(alpha_max) = 656;
4931  MY(alpha_fade) = 1664;
4932  MY(blend) = "invmod";
4933  MY(bounce) = -1;
4934  MY(color_min) = "0xC0D890";
4935  MY(color_max) = "0xC0D890";
4936  MY(count) = 100;
4937  MY(gravity) = 1;
4938  MY(liquidfriction) = 4;
4939  MY(size_min) = 8;
4940  MY(size_max) = 28;
4941  MY(staincolor_min) = "0xC0D890";
4942  MY(staincolor_max) = "0xC0D890";
4943  MY(stainsize_min) = 1;
4944  MY(stainsize_max) = 2;
4945  MY(staintex_min) = 16;
4946  MY(staintex_max) = 24;
4947  MY(stretchfactor) = 3;
4948  MY(tex_min) = 24;
4949  MY(tex_max) = 32;
4950  MY(type) = "spark";
4951  MY(velocityjitter) = '764.0 764.0 764.0';
4952 }
4953 // arc
4954 SUB(robot_bloodshower) {
4955  MY(alpha_min) = 1128;
4956  MY(alpha_max) = 1256;
4957  MY(alpha_fade) = 4200;
4958  MY(color_min) = "0xff3000";
4959  MY(color_max) = "0xff8585";
4960  MY(count) = 2.500000;
4961  MY(originjitter) = '150.0 150.0 150.0';
4962  MY(startangle_min) = -180;
4963  MY(startangle_max) = 180;
4964  MY(spin_min) = 99;
4965  MY(spin_max) = -99;
4966  MY(size_min) = 25;
4967  MY(size_max) = 40;
4968  MY(tex_min) = 71;
4969  MY(tex_max) = 73;
4970  MY(type) = "smoke";
4971  MY(velocityjitter) = '44.0 44.0 44.0';
4972 }
4973 // shockwave
4974 SUB(robot_bloodshower) {
4975  MY(alpha_min) = 11;
4976  MY(alpha_max) = 125;
4977  MY(alpha_fade) = 990;
4978  MY(color_min) = "0xff3000";
4979  MY(color_max) = "0xff8585";
4980  MY(count) = 2.500000;
4981  MY(sizeincrease) = 3000;
4982  MY(size_min) = 5;
4983  MY(size_max) = 50;
4984  MY(tex_min) = 74;
4985  MY(tex_max) = 74;
4986  MY(type) = "smoke";
4987 }
4988 
4989 #define ground_quake(name, colormin, colormax) \
4990  DEF(name##_ground_quake); \
4991  SUB(name##_ground_quake) /* smoke */ { \
4992  MY(airfriction) = 3; \
4993  MY(alpha_min) = 100; \
4994  MY(alpha_max) = 126; \
4995  MY(alpha_fade) = 200; \
4996  MY(bounce) = 1.100000; \
4997  MY(color_min) = "0x111111"; \
4998  MY(color_max) = "0xbbbbbb"; \
4999  MY(count) = 90; \
5000  MY(gravity) = 0.500000; \
5001  MY(notunderwater) = true; \
5002  MY(sizeincrease) = 100; \
5003  MY(size_min) = 20; \
5004  MY(size_max) = 50; \
5005  MY(tex_max) = 8; \
5006  MY(time_min) = 5; \
5007  MY(time_max) = 10; \
5008  MY(type) = "smoke"; \
5009  MY(velocityjitter) = '190.0 190.0 50.0'; \
5010  } \
5011  SUB(name##_ground_quake) { \
5012  MY(airfriction) = 4; \
5013  MY(alpha_min) = 100; \
5014  MY(alpha_max) = 126; \
5015  MY(alpha_fade) = 200; \
5016  MY(bounce) = 1.200000; \
5017  MY(color_min) = "0x111111"; \
5018  MY(color_max) = "0x979797"; \
5019  MY(count) = 40; \
5020  MY(gravity) = 0.200000; \
5021  MY(notunderwater) = true; \
5022  MY(sizeincrease) = 60; \
5023  MY(size_min) = 10; \
5024  MY(size_max) = 30; \
5025  MY(tex_max) = 8; \
5026  MY(time_min) = 10; \
5027  MY(time_max) = 15; \
5028  MY(type) = "smoke"; \
5029  MY(velocityjitter) = '190.0 190.0 50.0'; \
5030  } \
5031  SUB(name##_ground_quake) { \
5032  MY(alpha_min) = 200; \
5033  MY(alpha_max) = 356; \
5034  MY(alpha_fade) = 512; \
5035  MY(bounce) = 6; \
5036  MY(color_min) = colormin; \
5037  MY(color_max) = colormax; \
5038  MY(count) = 16; \
5039  MY(gravity) = -0.500000; \
5040  MY(originjitter) = '33.0 33.0 33.0'; \
5041  MY(sizeincrease) = 5; \
5042  MY(size_min) = 4; \
5043  MY(size_max) = 20; \
5044  MY(tex_min) = 48; \
5045  MY(tex_max) = 55; \
5046  MY(time_min) = 15; \
5047  MY(time_max) = 25; \
5048  MY(type) = "smoke"; \
5049  MY(velocityjitter) = '22.0 22.0 50.0'; \
5050  } \
5051  SUB(name##_ground_quake) /* smoke */ { \
5052  MY(alpha_min) = 200; \
5053  MY(alpha_max) = 256; \
5054  MY(alpha_fade) = 200; \
5055  MY(bounce) = 2; \
5056  MY(color_min) = "0x000000"; \
5057  MY(color_max) = "0xffffff"; \
5058  MY(count) = 11; \
5059  MY(gravity) = -0.300000; \
5060  MY(originjitter) = '44.0 44.0 44.0'; \
5061  MY(sizeincrease) = 11; \
5062  MY(size_min) = 22; \
5063  MY(size_max) = 33; \
5064  MY(tex_max) = 8; \
5065  MY(time_min) = 25; \
5066  MY(time_max) = 35; \
5067  MY(type) = "alphastatic"; \
5068  MY(velocityjitter) = '11.0 11.0 50.0'; \
5069  } \
5070 
5071 
5072 ground_quake(red, "0x9E6A64", "0x91302D")
5073 ground_quake(blue, "0x64679E", "0x2D4C91")
5074 #undef ground_quake
5075 
5077 
5078 // Team / hit vaporizer effects
5079 #define TE_TEI_G3(name, colormin1, colormax1, colormin2, colormax2) \
5080  DEF(TE_TEI_G3##name); \
5081  SUB(TE_TEI_G3##name) { \
5082  MY(alpha_min) = 128; \
5083  MY(alpha_max) = 128; \
5084  MY(alpha_fade) = 256; \
5085  MY(color_min) = colormin1; \
5086  MY(color_max) = colormax1; \
5087  MY(countabsolute) = 1; \
5088  MY(size_min) = 4; \
5089  MY(size_max) = 4; \
5090  MY(tex_min) = 200; \
5091  MY(tex_max) = 200; \
5092  MY(type) = "beam"; \
5093  } \
5094  SUB(TE_TEI_G3##name) { \
5095  MY(airfriction) = -4; \
5096  MY(alpha_min) = 256; \
5097  MY(alpha_max) = 256; \
5098  MY(alpha_fade) = 512; \
5099  MY(color_min) = colormin2; \
5100  MY(color_max) = colormax2; \
5101  MY(sizeincrease) = 3; \
5102  MY(size_min) = 0.300000; \
5103  MY(size_max) = 0.300000; \
5104  MY(tex_min) = 46; \
5105  MY(tex_max) = 46; \
5106  MY(trailspacing) = 8; \
5107  MY(type) = "smoke"; \
5108  MY(velocityjitter) = '3.0 3.0 3.0'; \
5109  } \
5110  DEF(TE_TEI_G3##name##_HIT); \
5111  SUB(TE_TEI_G3##name##_HIT) { \
5112  MY(alpha_min) = 128; \
5113  MY(alpha_max) = 128; \
5114  MY(alpha_fade) = 256; \
5115  MY(color_min) = colormin1; \
5116  MY(color_max) = colormax1; \
5117  MY(countabsolute) = 1; \
5118  MY(size_min) = 8; \
5119  MY(size_max) = 8; \
5120  MY(tex_min) = 200; \
5121  MY(tex_max) = 200; \
5122  MY(type) = "beam"; \
5123  } \
5124  SUB(TE_TEI_G3##name##_HIT) /* rings */ { \
5125  MY(airfriction) = -4; \
5126  MY(alpha_min) = 256; \
5127  MY(alpha_max) = 256; \
5128  MY(alpha_fade) = 512; \
5129  MY(color_min) = "0xFFFFFF"; \
5130  MY(color_max) = colormax1; \
5131  MY(sizeincrease) = -2; \
5132  MY(size_min) = 2; \
5133  MY(size_max) = 2; \
5134  MY(trailspacing) = 20; \
5135  MY(type) = "smoke"; \
5136  MY(velocityjitter) = '2.0 2.0 2.0'; \
5137  } \
5138  SUB(TE_TEI_G3##name##_HIT) { \
5139  MY(airfriction) = -4; \
5140  MY(alpha_min) = 256; \
5141  MY(alpha_max) = 256; \
5142  MY(alpha_fade) = 512; \
5143  MY(color_min) = colormin1; \
5144  MY(color_max) = colormax1; \
5145  MY(sizeincrease) = -6; \
5146  MY(size_min) = 10; \
5147  MY(size_max) = 10; \
5148  MY(trailspacing) = 40; \
5149  MY(type) = "smoke"; \
5150  } \
5151 
5152 TE_TEI_G3(RED, "0xFF0000", "0xFF0011", "0x200000", "0x400000")
5153 TE_TEI_G3(BLUE, "0x0000FF", "0x1100FF", "0x000020", "0x000040")
5154 TE_TEI_G3(YELLOW, "0xffff00", "0xffff11", "0x202000", "0x404000")
5155 TE_TEI_G3(PINK, "0xFF00FF", "0xFF11FF", "0x200020", "0x400040")
5156 #undef TE_TEI_G3
5157 
5159 
5160 #include "effectinfo_onslaught.inc"
5161 
5162 DEF(firemine);
5163 SUB(firemine) {
5164  MY(airfriction) = 1.200000;
5165  MY(alpha_min) = 50;
5166  MY(alpha_max) = 256;
5167  MY(alpha_fade) = 250;
5168  MY(bounce) = 1.500000;
5169  MY(color_min) = "0x8f0d00";
5170  MY(color_max) = "0xff5a00";
5171  MY(count) = 0.500000;
5172  MY(gravity) = -0.060000;
5173  MY(sizeincrease) = 5;
5174  MY(size_min) = 1;
5175  MY(size_max) = 1;
5176  MY(tex_min) = 48;
5177  MY(tex_max) = 55;
5178  MY(trailspacing) = 2;
5179  MY(type) = "smoke";
5180  MY(velocityjitter) = '10.0 10.0 2.0';
5181 }
5182 // slowfire
5183 SUB(firemine) {
5184  MY(airfriction) = 1.200000;
5185  MY(alpha_min) = 50;
5186  MY(alpha_max) = 256;
5187  MY(alpha_fade) = 200;
5188  MY(bounce) = 1.500000;
5189  MY(color_min) = "0x8f0d00";
5190  MY(color_max) = "0xff5a00";
5191  MY(count) = 0.500000;
5192  MY(gravity) = -0.060000;
5193  MY(sizeincrease) = 5;
5194  MY(size_min) = 1;
5195  MY(size_max) = 1;
5196  MY(tex_min) = 48;
5197  MY(tex_max) = 55;
5198  MY(trailspacing) = 2;
5199  MY(type) = "smoke";
5200  MY(velocityjitter) = '10.0 10.0 10.0';
5201 }
5202 // very slow and small fire
5203 SUB(firemine) {
5204  MY(airfriction) = 0.300000;
5205  MY(alpha_min) = 50;
5206  MY(alpha_max) = 256;
5207  MY(alpha_fade) = 200;
5208  MY(bounce) = 1.500000;
5209  MY(color_min) = "0x8f0d00";
5210  MY(color_max) = "0xff5a00";
5211  MY(count) = 0.500000;
5212  MY(gravity) = -0.060000;
5213  MY(sizeincrease) = 2;
5214  MY(size_min) = 1;
5215  MY(size_max) = 1;
5216  MY(tex_min) = 48;
5217  MY(tex_max) = 55;
5218  MY(trailspacing) = 4;
5219  MY(type) = "smoke";
5220  MY(velocityjitter) = '8.0 8.0 8.0';
5221 }
5222 // decreasing fire
5223 SUB(firemine) {
5224  MY(airfriction) = 0.300000;
5225  MY(alpha_min) = 50;
5226  MY(alpha_max) = 256;
5227  MY(alpha_fade) = 200;
5228  MY(bounce) = 1.500000;
5229  MY(color_min) = "0x8f0d00";
5230  MY(color_max) = "0xff5a00";
5231  MY(count) = 0.500000;
5232  MY(gravity) = -0.060000;
5233  MY(sizeincrease) = -3;
5234  MY(size_min) = 5;
5235  MY(size_max) = 7;
5236  MY(tex_min) = 48;
5237  MY(tex_max) = 55;
5238  MY(trailspacing) = 4;
5239  MY(type) = "smoke";
5240  MY(velocityjitter) = '3.0 3.0 3.0';
5241 }
5242 // smoke
5243 SUB(firemine) {
5244  MY(airfriction) = 1;
5245  MY(alpha_min) = 256;
5246  MY(alpha_max) = 256;
5247  MY(alpha_fade) = 90;
5248  MY(color_min) = "0x000000";
5249  MY(color_max) = "0x111111";
5250  MY(count) = 0.500000;
5251  MY(originjitter) = '2.0 2.0 2.0';
5252  MY(sizeincrease) = 1;
5253  MY(size_min) = 1;
5254  MY(size_max) = 4;
5255  MY(tex_max) = 8;
5256  MY(trailspacing) = 8;
5257  MY(type) = "alphastatic";
5258  MY(velocityoffset) = '0.0 0.0 3.0';
5259 }
5260 // fastfire
5261 SUB(firemine) {
5262  MY(airfriction) = 1.200000;
5263  MY(alpha_min) = 50;
5264  MY(alpha_max) = 256;
5265  MY(alpha_fade) = 1600;
5266  MY(bounce) = 1.500000;
5267  MY(color_min) = "0x8f0d00";
5268  MY(color_max) = "0xff5a00";
5269  MY(count) = 0.500000;
5270  MY(size_min) = 12;
5271  MY(size_max) = 12;
5272  MY(tex_min) = 48;
5273  MY(tex_max) = 55;
5274  MY(trailspacing) = 1;
5275  MY(type) = "smoke";
5276 }
5277 // light only
5278 SUB(firemine) {
5279  MY(lightcolor) = '2.7 2.7 0.6';
5280  MY(lightradiusfade) = 50000;
5281  MY(lightradius) = 50;
5282  MY(trailspacing) = 16;
5283 }
5284 
5285 DEF(fireball);
5286 SUB(fireball) {
5287  MY(airfriction) = 1.200000;
5288  MY(alpha_min) = 50;
5289  MY(alpha_max) = 256;
5290  MY(alpha_fade) = 250;
5291  MY(bounce) = 1.500000;
5292  MY(color_min) = "0x8f0d00";
5293  MY(color_max) = "0xff5a00";
5294  MY(count) = 0.500000;
5295  MY(gravity) = -0.060000;
5296  MY(sizeincrease) = 20;
5297  MY(size_min) = 5;
5298  MY(size_max) = 5;
5299  MY(tex_min) = 48;
5300  MY(tex_max) = 55;
5301  MY(trailspacing) = 2;
5302  MY(type) = "smoke";
5303  MY(velocityjitter) = '40.0 40.0 11.0';
5304 }
5305 // slow fire
5306 SUB(fireball) {
5307  MY(airfriction) = 1.200000;
5308  MY(alpha_min) = 50;
5309  MY(alpha_max) = 256;
5310  MY(alpha_fade) = 200;
5311  MY(bounce) = 1.500000;
5312  MY(color_min) = "0x8f0d00";
5313  MY(color_max) = "0xff5a00";
5314  MY(count) = 0.500000;
5315  MY(gravity) = -0.060000;
5316  MY(sizeincrease) = 20;
5317  MY(size_min) = 5;
5318  MY(size_max) = 5;
5319  MY(tex_min) = 48;
5320  MY(tex_max) = 55;
5321  MY(trailspacing) = 2;
5322  MY(type) = "smoke";
5323  MY(velocityjitter) = '40.0 40.0 40.0';
5324 }
5325 // very slow and small fire
5326 SUB(fireball) {
5327  MY(airfriction) = 0.300000;
5328  MY(alpha_min) = 50;
5329  MY(alpha_max) = 256;
5330  MY(alpha_fade) = 200;
5331  MY(bounce) = 1.500000;
5332  MY(color_min) = "0x8f0d00";
5333  MY(color_max) = "0xff5a00";
5334  MY(count) = 0.500000;
5335  MY(gravity) = -0.060000;
5336  MY(sizeincrease) = 10;
5337  MY(size_min) = 5;
5338  MY(size_max) = 5;
5339  MY(tex_min) = 48;
5340  MY(tex_max) = 55;
5341  MY(trailspacing) = 4;
5342  MY(type) = "smoke";
5343  MY(velocityjitter) = '30.0 30.0 30.0';
5344 }
5345 // decreasing fire
5346 SUB(fireball) {
5347  MY(airfriction) = 0.300000;
5348  MY(alpha_min) = 50;
5349  MY(alpha_max) = 256;
5350  MY(alpha_fade) = 200;
5351  MY(bounce) = 1.500000;
5352  MY(color_min) = "0x8f0d00";
5353  MY(color_max) = "0xff5a00";
5354  MY(count) = 0.500000;
5355  MY(gravity) = -0.060000;
5356  MY(sizeincrease) = -10;
5357  MY(size_min) = 20;
5358  MY(size_max) = 30;
5359  MY(tex_min) = 48;
5360  MY(tex_max) = 55;
5361  MY(trailspacing) = 4;
5362  MY(type) = "smoke";
5363  MY(velocityjitter) = '10.0 10.0 10.0';
5364 }
5365 // smoke
5366 SUB(fireball) {
5367  MY(airfriction) = 1;
5368  MY(alpha_min) = 256;
5369  MY(alpha_max) = 256;
5370  MY(alpha_fade) = 90;
5371  MY(color_min) = "0x000000";
5372  MY(color_max) = "0x111111";
5373  MY(count) = 0.500000;
5374  MY(originjitter) = '10.0 10.0 10.0';
5375  MY(sizeincrease) = 7;
5376  MY(size_min) = 5;
5377  MY(size_max) = 15;
5378  MY(tex_max) = 8;
5379  MY(trailspacing) = 8;
5380  MY(type) = "alphastatic";
5381  MY(velocityoffset) = '0.0 0.0 10.0';
5382 }
5383 // fast fire
5384 SUB(fireball) {
5385  MY(airfriction) = 1.200000;
5386  MY(alpha_min) = 50;
5387  MY(alpha_max) = 256;
5388  MY(alpha_fade) = 1600;
5389  MY(bounce) = 1.500000;
5390  MY(color_min) = "0x8f0d00";
5391  MY(color_max) = "0xff5a00";
5392  MY(count) = 0.500000;
5393  MY(size_min) = 48;
5394  MY(size_max) = 48;
5395  MY(tex_min) = 48;
5396  MY(tex_max) = 55;
5397  MY(trailspacing) = 1;
5398  MY(type) = "smoke";
5399 }
5400 // light only
5401 SUB(fireball) {
5402  MY(lightcolor) = '2.7 2.7 0.6';
5403  MY(lightradiusfade) = 3000;
5404  MY(lightradius) = 300;
5405  MY(trailspacing) = 16;
5406 }
5407 
5408 DEF(fireball_laser);
5409 SUB(fireball_laser) {
5410  MY(alpha_min) = 192;
5411  MY(alpha_max) = 256;
5412  MY(alpha_fade) = 2560;
5413  MY(color_min) = "0x800000";
5414  MY(color_max) = "0xFF8020";
5415  MY(count) = 10;
5416  MY(size_min) = 1;
5417  MY(size_max) = 1;
5418  MY(stretchfactor) = 0.700000;
5419  MY(type) = "spark";
5420  MY(velocityjitter) = '1.0 1.0 1.0';
5421  MY(velocitymultiplier) = 10;
5422 }
5423 
5424 // rocket explosion (bigger than mortar and hagar)
5425 DEF(fireball_explode);
5426 // decal
5427 SUB(fireball_explode) {
5428  MY(alpha_min) = 256;
5429  MY(alpha_max) = 256;
5430  MY(countabsolute) = 1;
5431  MY(lightcolor) = '4.0 2.0 0.5';
5432  MY(lightradiusfade) = 500;
5433  MY(lightradius) = 500;
5434  MY(originjitter) = '56.0 56.0 56.0';
5435  MY(size_min) = 72;
5436  MY(size_max) = 72;
5437  MY(tex_min) = 8;
5438  MY(tex_max) = 16;
5439  MY(type) = "decal";
5440 }
5441 // flare effect
5442 SUB(fireball_explode) {
5443  MY(alpha_min) = 192;
5444  MY(alpha_max) = 192;
5445  MY(alpha_fade) = 64;
5446  MY(color_min) = "0x404040";
5447  MY(color_max) = "0x404040";
5448  MY(countabsolute) = 1;
5449  MY(size_min) = 72;
5450  MY(size_max) = 72;
5451  MY(tex_min) = 35;
5452  MY(tex_max) = 37;
5453  MY(type) = "static";
5454 }
5455 // fire effect
5456 SUB(fireball_explode) {
5457  MY(airfriction) = 4;
5458  MY(alpha_min) = 128;
5459  MY(alpha_max) = 128;
5460  MY(alpha_fade) = 256;
5461  MY(bounce) = 1.500000;
5462  MY(color_min) = "0x902010";
5463  MY(color_max) = "0xFFD080";
5464  MY(count) = 128;
5465  MY(liquidfriction) = 4;
5466  MY(notunderwater) = true;
5467  MY(originjitter) = '8.0 8.0 8.0';
5468  MY(size_min) = 16;
5469  MY(size_max) = 16;
5470  MY(tex_min) = 48;
5471  MY(tex_max) = 55;
5472  MY(type) = "static";
5473  MY(velocityjitter) = '512.0 512.0 512.0';
5474 }
5475 // underwater bubbles
5476 SUB(fireball_explode) {
5477  MY(alpha_min) = 128;
5478  MY(alpha_max) = 256;
5479  MY(alpha_fade) = 64;
5480  MY(bounce) = 1.500000;
5481  MY(color_min) = "0x404040";
5482  MY(color_max) = "0x808080";
5483  MY(count) = 32;
5484  MY(gravity) = -0.125000;
5485  MY(liquidfriction) = 0.250000;
5486  MY(originjitter) = '16.0 16.0 16.0';
5487  MY(size_min) = 3;
5488  MY(size_max) = 3;
5489  MY(tex_min) = 62;
5490  MY(tex_max) = 62;
5491  MY(type) = "bubble";
5492  MY(underwater) = true;
5493  MY(velocityjitter) = '144.0 144.0 144.0';
5494 }
5495 // bouncing sparks
5496 SUB(fireball_explode) {
5497  MY(airfriction) = 0.200000;
5498  MY(alpha_min) = 256;
5499  MY(alpha_max) = 256;
5500  MY(alpha_fade) = 384;
5501  MY(bounce) = 1.500000;
5502  MY(color_min) = "0x903010";
5503  MY(color_max) = "0xFFD030";
5504  MY(count) = 64;
5505  MY(gravity) = 1;
5506  MY(liquidfriction) = 0.800000;
5507  MY(notunderwater) = true;
5508  MY(size_min) = 2;
5509  MY(size_max) = 2;
5510  MY(type) = "spark";
5511  MY(velocityjitter) = '384.0 384.0 384.0';
5512  MY(velocityoffset) = '0.0 0.0 80.0';
5513 }
5514 
5515 DEF(fireball_muzzleflash);
5516 SUB(fireball_muzzleflash) {
5517  MY(alpha_min) = 256;
5518  MY(alpha_max) = 256;
5519  MY(alpha_fade) = 512;
5520  MY(color_min) = "0x202020";
5521  MY(color_max) = "0x404040";
5522  MY(count) = 2;
5523  MY(lightcolor) = '2.0 1.5 0.2';
5524  MY(lightradiusfade) = 2000;
5525  MY(lightradius) = 200;
5526  MY(originjitter) = '1.5 1.5 1.5';
5527  MY(size_min) = 5;
5528  MY(size_max) = 5;
5529  MY(tex_max) = 8;
5530  MY(type) = "smoke";
5531  MY(velocityjitter) = '6.0 6.0 6.0';
5532  MY(velocitymultiplier) = 0.010000;
5533 }
5534 SUB(fireball_muzzleflash) {
5535  MY(airfriction) = 12;
5536  MY(alpha_max) = 128;
5537  MY(alpha_fade) = 1024;
5538  MY(color_min) = "0xFFFDD9";
5539  MY(color_max) = "0xFFFDD9";
5540  MY(count) = 15;
5541  MY(originjitter) = '1.0 1.0 1.0';
5542  MY(size_min) = 3;
5543  MY(size_max) = 3;
5544  MY(tex_min) = 40;
5545  MY(tex_max) = 40;
5546  MY(type) = "spark";
5547  MY(velocityjitter) = '300.0 300.0 300.0';
5548  MY(velocitymultiplier) = 0.500000;
5549 }
5550 
5551 DEF(fireball_preattack_muzzleflash);
5552 SUB(fireball_preattack_muzzleflash) {
5553  MY(alpha_min) = 256;
5554  MY(alpha_max) = 256;
5555  MY(alpha_fade) = 512;
5556  MY(color_min) = "0x202020";
5557  MY(color_max) = "0x404040";
5558  MY(count) = 2;
5559  MY(lightcolor) = '2.0 1.5 0.2';
5560  MY(lightradiusfade) = 2000;
5561  MY(lightradius) = 200;
5562  MY(originjitter) = '1.5 1.5 1.5';
5563  MY(size_min) = 5;
5564  MY(size_max) = 5;
5565  MY(tex_max) = 8;
5566  MY(type) = "smoke";
5567  MY(velocityjitter) = '6.0 6.0 6.0';
5568  MY(velocitymultiplier) = 0.010000;
5569 }
5570 SUB(fireball_preattack_muzzleflash) {
5571  MY(airfriction) = 12;
5572  MY(alpha_max) = 128;
5573  MY(alpha_fade) = 1024;
5574  MY(color_min) = "0xFFFDD9";
5575  MY(color_max) = "0xFFFDD9";
5576  MY(count) = 15;
5577  MY(originjitter) = '1.0 1.0 1.0';
5578  MY(size_min) = 3;
5579  MY(size_max) = 3;
5580  MY(tex_min) = 40;
5581  MY(tex_max) = 40;
5582  MY(type) = "spark";
5583  MY(velocityjitter) = '300.0 300.0 300.0';
5584  MY(velocitymultiplier) = 0.500000;
5585 }
5586 
5587 DEF(fireball_bfgdamage);
5588 SUB(fireball_bfgdamage) {
5589  MY(alpha_min) = 256;
5590  MY(alpha_max) = 256;
5591  MY(alpha_fade) = 512;
5592  MY(color_min) = "0x202020";
5593  MY(color_max) = "0x404040";
5594  MY(count) = 2;
5595  MY(lightcolor) = '2.0 1.5 0.2';
5596  MY(lightradiusfade) = 2000;
5597  MY(lightradius) = 200;
5598  MY(originjitter) = '1.5 1.5 1.5';
5599  MY(size_min) = 5;
5600  MY(size_max) = 5;
5601  MY(tex_max) = 8;
5602  MY(type) = "smoke";
5603  MY(velocityjitter) = '6.0 6.0 6.0';
5604  MY(velocitymultiplier) = 0.010000;
5605 }
5606 SUB(fireball_bfgdamage) {
5607  MY(airfriction) = 12;
5608  MY(alpha_max) = 128;
5609  MY(alpha_fade) = 1024;
5610  MY(color_min) = "0xFFFDD9";
5611  MY(color_max) = "0xFFFDD9";
5612  MY(count) = 15;
5613  MY(originjitter) = '1.0 1.0 1.0';
5614  MY(size_min) = 3;
5615  MY(size_max) = 3;
5616  MY(tex_min) = 40;
5617  MY(tex_max) = 40;
5618  MY(type) = "spark";
5619  MY(velocityjitter) = '300.0 300.0 300.0';
5620  MY(velocitymultiplier) = 0.500000;
5621 }
5622 
5623 DEF(EF_FLAME);
5624 // fire
5626  MY(alpha_min) = 200;
5627  MY(alpha_max) = 356;
5628  MY(alpha_fade) = 512;
5629  MY(bounce) = 2;
5630  MY(color_min) = "0x8f0d00";
5631  MY(color_max) = "0xff5a00";
5632  MY(count) = 100;
5633  MY(gravity) = -0.500000;
5634  MY(originjitter) = '12.0 12.0 34.0';
5635  MY(originoffset) = '0.0 0.0 10.0';
5636  MY(sizeincrease) = -1;
5637  MY(size_min) = 5;
5638  MY(size_max) = 21;
5639  MY(tex_min) = 48;
5640  MY(tex_max) = 55;
5641  MY(type) = "smoke";
5642  MY(velocityjitter) = '22.0 22.0 50.0';
5643 }
5644 // smoke
5645 SUB(EF_FLAME) {
5646  MY(alpha_min) = 200;
5647  MY(alpha_max) = 256;
5648  MY(alpha_fade) = 200;
5649  MY(bounce) = 2;
5650  MY(color_min) = "0x000000";
5651  MY(color_max) = "0x111111";
5652  MY(count) = 50;
5653  MY(gravity) = -0.300000;
5654  MY(originjitter) = '12.0 12.0 34.0';
5655  MY(originoffset) = '0.0 0.0 10.0';
5656  MY(sizeincrease) = 6;
5657  MY(size_min) = 11;
5658  MY(size_max) = 15;
5659  MY(tex_max) = 8;
5660  MY(type) = "alphastatic";
5661  MY(velocityjitter) = '11.0 11.0 50.0';
5662 }
5663 SUB(EF_FLAME) {
5664  MY(count) = 0.500000;
5665  MY(lightcolor) = '0.9 0.9 0.2';
5666  MY(lightradiusfade) = 10000;
5667  MY(lightradius) = 200;
5668 }
5669 
5670 // rifle bullet trail (somewhat like a tracer)
5671 DEF(tr_rifle);
5672 SUB(tr_rifle) {
5673  MY(alpha_min) = 256;
5674  MY(alpha_max) = 256;
5675  MY(alpha_fade) = 2560;
5676  MY(color_min) = "0x800000";
5677  MY(color_max) = "0xFF8020";
5678  MY(size_min) = 1.500000;
5679  MY(size_max) = 1.500000;
5680  MY(stretchfactor) = 1;
5681  MY(trailspacing) = 128;
5682  MY(type) = "spark";
5683  MY(velocitymultiplier) = 0.700000;
5684 }
5685 SUB(tr_rifle) {
5686  MY(airfriction) = -4;
5687  MY(alpha_min) = 256;
5688  MY(alpha_max) = 256;
5689  MY(alpha_fade) = 256;
5690  MY(color_min) = "0x202020";
5691  MY(color_max) = "0x404040";
5692  MY(notunderwater) = true;
5693  MY(sizeincrease) = 0.400000;
5694  MY(size_min) = 4;
5695  MY(size_max) = 4;
5696  MY(tex_max) = 8;
5697  MY(trailspacing) = 8;
5698  MY(type) = "smoke";
5699  MY(velocityjitter) = '4.0 4.0 4.0';
5700 }
5701 SUB(tr_rifle) {
5702  MY(alpha_min) = 256;
5703  MY(alpha_max) = 256;
5704  MY(alpha_fade) = 128;
5705  MY(bounce) = 1.500000;
5706  MY(color_min) = "0x404040";
5707  MY(color_max) = "0x808080";
5708  MY(gravity) = -0.125000;
5709  MY(liquidfriction) = 4;
5710  MY(size_min) = 2;
5711  MY(size_max) = 2;
5712  MY(tex_min) = 62;
5713  MY(tex_max) = 62;
5714  MY(trailspacing) = 32;
5715  MY(type) = "bubble";
5716  MY(underwater) = true;
5717  MY(velocityjitter) = '16.0 16.0 16.0';
5718 }
5719 
5720 // rocket guiding start
5721 DEF(rocket_guide);
5722 // underwater bubbles
5723 SUB(rocket_guide) {
5724  MY(alpha_min) = 128;
5725  MY(alpha_max) = 256;
5726  MY(alpha_fade) = 64;
5727  MY(bounce) = 1.500000;
5728  MY(color_min) = "0x404040";
5729  MY(color_max) = "0x808080";
5730  MY(count) = 2;
5731  MY(gravity) = -0.125000;
5732  MY(liquidfriction) = 0.250000;
5733  MY(originjitter) = '8.0 8.0 8.0';
5734  MY(size_min) = 1.500000;
5735  MY(size_max) = 1.500000;
5736  MY(tex_min) = 62;
5737  MY(tex_max) = 62;
5738  MY(type) = "bubble";
5739  MY(underwater) = true;
5740  MY(velocityjitter) = '48.0 48.0 48.0';
5741  MY(velocitymultiplier) = -0.100000;
5742 }
5743 // bouncing sparks
5744 SUB(rocket_guide) {
5745  MY(airfriction) = 0.200000;
5746  MY(alpha_min) = 256;
5747  MY(alpha_max) = 256;
5748  MY(alpha_fade) = 984;
5749  MY(bounce) = 1.500000;
5750  MY(color_min) = "0x903010";
5751  MY(color_max) = "0xFFD030";
5752  MY(count) = 8;
5753  MY(gravity) = 1;
5754  MY(liquidfriction) = 0.800000;
5755  MY(notunderwater) = true;
5756  MY(size_min) = 0.300000;
5757  MY(size_max) = 0.700000;
5758  MY(stretchfactor) = 0.400000;
5759  MY(tex_min) = 40;
5760  MY(tex_max) = 40;
5761  MY(type) = "spark";
5762  MY(velocityjitter) = '156.0 156.0 156.0';
5763  MY(velocitymultiplier) = -0.300000;
5764  MY(velocityoffset) = '0.0 0.0 80.0';
5765 }
5766 SUB(rocket_guide) {
5767  MY(alpha_min) = 100;
5768  MY(alpha_max) = 100;
5769  MY(alpha_fade) = 500;
5770  MY(color_min) = "0x903010";
5771  MY(color_max) = "0xFFD030";
5772  MY(countabsolute) = 1;
5773  MY(sizeincrease) = 300;
5774  MY(size_min) = 10;
5775  MY(size_max) = 10;
5776  MY(tex_min) = 65;
5777  MY(tex_max) = 65;
5778  MY(type) = "smoke";
5779 }
5780 
5781 // gauntlet laser
5782 DEF(laser_gauntlet);
5783 SUB(laser_gauntlet) {
5784  MY(airfriction) = 10;
5785  MY(alpha_min) = 128;
5786  MY(alpha_max) = 512;
5787  MY(alpha_fade) = 6280;
5788  MY(color_min) = "0xb44215";
5789  MY(color_max) = "0x880000";
5790  MY(count) = 3;
5791  MY(originjitter) = '2.0 2.0 2.0';
5792  MY(startangle_min) = -180;
5793  MY(startangle_max) = 180;
5794  MY(spin_min) = 4000;
5795  MY(spin_max) = -4000;
5796  MY(sizeincrease) = -100;
5797  MY(size_min) = 7;
5798  MY(size_max) = 10;
5799  MY(stretchfactor) = 2.300000;
5800  MY(tex_min) = 43;
5801  MY(tex_max) = 43;
5802  MY(type) = "spark";
5803  MY(velocityjitter) = '150.0 150.0 150.0';
5804  MY(velocitymultiplier) = 0.200000;
5805 }
5806 SUB(laser_gauntlet) {
5807  MY(airfriction) = 12;
5808  MY(alpha_min) = 256;
5809  MY(alpha_max) = 512;
5810  MY(alpha_fade) = 6280;
5811  MY(color_min) = "0xff4200";
5812  MY(color_max) = "0xff0000";
5813  MY(count) = 6;
5814  MY(originjitter) = '2.0 2.0 2.0';
5815  MY(sizeincrease) = -100;
5816  MY(size_min) = 7;
5817  MY(size_max) = 9;
5818  MY(stretchfactor) = 2;
5819  MY(tex_min) = 8;
5820  MY(tex_max) = 15;
5821  MY(type) = "spark";
5822  MY(velocityjitter) = '100.0 100.0 100.0';
5823  MY(velocitymultiplier) = 0.200000;
5824 }
5825 
5826 DEF(laser_gauntletmuzzleflash);
5827 // glow and light
5828 SUB(laser_gauntletmuzzleflash) {
5829  MY(airfriction) = 10;
5830  MY(alpha_min) = 256;
5831  MY(alpha_max) = 512;
5832  MY(alpha_fade) = 6280;
5833  MY(color_min) = "0x220000";
5834  MY(color_max) = "0x880000";
5835  MY(countabsolute) = 1;
5836  MY(lightcolor) = '3.0 0.1 0.1';
5837  MY(lightradiusfade) = 500;
5838  MY(lightradius) = 150;
5839  MY(sizeincrease) = -100;
5840  MY(size_min) = 10;
5841  MY(size_max) = 15;
5842  MY(stretchfactor) = 2;
5843  MY(tex_min) = 65;
5844  MY(tex_max) = 65;
5845  MY(type) = "smoke";
5846 }
5847 // electricity
5848 SUB(laser_gauntletmuzzleflash) {
5849  MY(airfriction) = 10;
5850  MY(alpha_min) = 128;
5851  MY(alpha_max) = 512;
5852  MY(alpha_fade) = 6280;
5853  MY(color_min) = "0xb44215";
5854  MY(color_max) = "0x880000";
5855  MY(count) = 3;
5856  MY(originjitter) = '2.0 2.0 2.0';
5857  MY(startangle_min) = -180;
5858  MY(startangle_max) = 180;
5859  MY(spin_min) = 4000;
5860  MY(spin_max) = -4000;
5861  MY(sizeincrease) = -100;
5862  MY(size_min) = 7;
5863  MY(size_max) = 10;
5864  MY(stretchfactor) = 2.300000;
5865  MY(tex_min) = 43;
5866  MY(tex_max) = 43;
5867  MY(type) = "spark";
5868  MY(velocityjitter) = '150.0 150.0 150.0';
5869  MY(velocitymultiplier) = 0.200000;
5870 }
5871 // fire
5872 SUB(laser_gauntletmuzzleflash) {
5873  MY(airfriction) = 12;
5874  MY(alpha_min) = 256;
5875  MY(alpha_max) = 512;
5876  MY(alpha_fade) = 6280;
5877  MY(color_min) = "0xff4200";
5878  MY(color_max) = "0xff0000";
5879  MY(count) = 6;
5880  MY(originjitter) = '2.0 2.0 2.0';
5881  MY(sizeincrease) = -100;
5882  MY(size_min) = 7;
5883  MY(size_max) = 9;
5884  MY(stretchfactor) = 2;
5885  MY(tex_min) = 8;
5886  MY(tex_max) = 15;
5887  MY(type) = "spark";
5888  MY(velocityjitter) = '100.0 100.0 100.0';
5889  MY(velocitymultiplier) = 0.200000;
5890 }
5891 
5892 // torch flame, spawn it as fast as you can 20 times per second or more, supports direction but not required
5893 DEF(torchflame);
5894 // fast fire
5895 SUB(torchflame) {
5896  MY(airfriction) = 1.200000;
5897  MY(alpha_min) = 50;
5898  MY(alpha_max) = 256;
5899  MY(alpha_fade) = 250;
5900  MY(color_min) = "0x8f0d00";
5901  MY(color_max) = "0xff5a00";
5902  MY(count) = 3;
5903  MY(gravity) = -0.060000;
5904  MY(sizeincrease) = 20;
5905  MY(size_min) = 5;
5906  MY(size_max) = 5;
5907  MY(tex_min) = 48;
5908  MY(tex_max) = 55;
5909  MY(type) = "smoke";
5910  MY(velocityjitter) = '40.0 40.0 11.0';
5911  MY(velocitymultiplier) = 30;
5912 }
5913 // slow fire
5914 SUB(torchflame) {
5915  MY(airfriction) = 1.200000;
5916  MY(alpha_min) = 50;
5917  MY(alpha_max) = 256;
5918  MY(alpha_fade) = 200;
5919  MY(color_min) = "0x8f0d00";
5920  MY(color_max) = "0xff5a00";
5921  MY(count) = 2.500000;
5922  MY(gravity) = -0.060000;
5923  MY(sizeincrease) = 20;
5924  MY(size_min) = 5;
5925  MY(size_max) = 5;
5926  MY(tex_min) = 48;
5927  MY(tex_max) = 55;
5928  MY(type) = "smoke";
5929  MY(velocityjitter) = '40.0 40.0 40.0';
5930  MY(velocitymultiplier) = 20;
5931 }
5932 // very slow and small fire
5933 SUB(torchflame) {
5934  MY(airfriction) = 0.300000;
5935  MY(alpha_min) = 50;
5936  MY(alpha_max) = 256;
5937  MY(alpha_fade) = 200;
5938  MY(color_min) = "0x8f0d00";
5939  MY(color_max) = "0xff5a00";
5940  MY(count) = 1.500000;
5941  MY(gravity) = -0.060000;
5942  MY(sizeincrease) = 10;
5943  MY(size_min) = 5;
5944  MY(size_max) = 5;
5945  MY(tex_min) = 48;
5946  MY(tex_max) = 55;
5947  MY(type) = "smoke";
5948  MY(velocityjitter) = '30.0 30.0 30.0';
5949  MY(velocitymultiplier) = 10;
5950 }
5951 // decreasing fire
5952 SUB(torchflame) {
5953  MY(airfriction) = 0.300000;
5954  MY(alpha_min) = 50;
5955  MY(alpha_max) = 256;
5956  MY(alpha_fade) = 200;
5957  MY(color_min) = "0x8f0d00";
5958  MY(color_max) = "0xff5a00";
5959  MY(count) = 2;
5960  MY(gravity) = -0.060000;
5961  MY(sizeincrease) = -10;
5962  MY(size_min) = 20;
5963  MY(size_max) = 30;
5964  MY(tex_min) = 48;
5965  MY(tex_max) = 55;
5966  MY(type) = "smoke";
5967  MY(velocityjitter) = '10.0 10.0 10.0';
5968  MY(velocitymultiplier) = 15;
5969 }
5970 // smoke
5971 SUB(torchflame) {
5972  MY(airfriction) = 1;
5973  MY(alpha_min) = 256;
5974  MY(alpha_max) = 256;
5975  MY(alpha_fade) = 90;
5976  MY(color_min) = "0x000000";
5977  MY(color_max) = "0x111111";
5978  MY(count) = 0.500000;
5979  MY(originjitter) = '10.0 10.0 10.0';
5980  MY(sizeincrease) = 7;
5981  MY(size_min) = 5;
5982  MY(size_max) = 15;
5983  MY(tex_max) = 8;
5984  MY(type) = "alphastatic";
5985  MY(velocitymultiplier) = 20;
5986  MY(velocityoffset) = '0.0 0.0 10.0';
5987 }
5988 
5989 #include "effectinfo_gentle_happy.inc"
5990 
5991 DEF(electro_lightning);
5992 SUB(electro_lightning) {
5993  MY(alpha_min) = 256;
5994  MY(alpha_max) = 256;
5995  MY(countabsolute) = 1;
5996  MY(lightcolor) = '3.1 4.4 10.0';
5997  MY(lightradiusfade) = 500;
5998  MY(lightradius) = 50;
5999  MY(originjitter) = '2.0 2.0 2.0';
6000  MY(size_min) = 16;
6001  MY(size_max) = 16;
6002  MY(tex_min) = 59;
6003  MY(tex_max) = 59;
6004  MY(type) = "decal";
6005 }
6006 SUB(electro_lightning) {
6007  MY(alpha_min) = 100;
6008  MY(alpha_max) = 206;
6009  MY(alpha_fade) = 1724;
6010  MY(color_min) = "0x2030FF";
6011  MY(color_max) = "0x80C0FF";
6012  MY(count) = 300;
6013  MY(originjitter) = '1.5 1.5 1.5';
6014  MY(sizeincrease) = 10;
6015  MY(size_min) = 6;
6016  MY(size_max) = 6;
6017  MY(tex_min) = 65;
6018  MY(tex_max) = 65;
6019  MY(type) = "spark";
6020  MY(velocityjitter) = '6.0 6.0 6.0';
6021  MY(velocitymultiplier) = 2000;
6022 }
6023 SUB(electro_lightning) {
6024  MY(airfriction) = 2;
6025  MY(alpha_min) = 110;
6026  MY(alpha_max) = 170;
6027  MY(alpha_fade) = 1500;
6028  MY(color_min) = "0xDDFDFF";
6029  MY(color_max) = "0xFDFDFF";
6030  MY(count) = 30;
6031  MY(originjitter) = '1.0 1.0 1.0';
6032  MY(size_min) = 2;
6033  MY(size_max) = 5;
6034  MY(stretchfactor) = 1.500000;
6035  MY(tex_min) = 8;
6036  MY(tex_max) = 15;
6037  MY(type) = "spark";
6038  MY(velocityjitter) = '150.0 150.0 150.0';
6039  MY(velocitymultiplier) = 0.500000;
6040 }
6041 SUB(electro_lightning) {
6042  MY(airfriction) = 8;
6043  MY(alpha_min) = 110;
6044  MY(alpha_max) = 170;
6045  MY(alpha_fade) = 1500;
6046  MY(color_min) = "0xFDFDFF";
6047  MY(color_max) = "0xF9FDFF";
6048  MY(count) = 50;
6049  MY(gravity) = 1.300000;
6050  MY(originjitter) = '1.0 1.0 1.0';
6051  MY(size_min) = 2;
6052  MY(size_max) = 3;
6053  MY(stretchfactor) = 0.100000;
6054  MY(tex_min) = 41;
6055  MY(tex_max) = 41;
6056  MY(type) = "spark";
6057  MY(velocityjitter) = '350.0 350.0 350.0';
6058  MY(velocitymultiplier) = 2.500000;
6059 }
6060 
6061 DEF(gauntlet_lightning);
6062 SUB(gauntlet_lightning) {
6063  MY(alpha_min) = 256;
6064  MY(alpha_max) = 256;
6065  MY(alpha_fade) = 1024;
6066  MY(color_min) = "0x280000";
6067  MY(color_max) = "0x280000";
6068  MY(count) = 300;
6069  MY(originjitter) = '1.5 1.5 1.5';
6070  MY(sizeincrease) = 15;
6071  MY(size_min) = 3;
6072  MY(size_max) = 3;
6073  MY(tex_min) = 65;
6074  MY(tex_max) = 65;
6075  MY(type) = "spark";
6076  MY(velocityjitter) = '6.0 6.0 6.0';
6077  MY(velocitymultiplier) = 2000;
6078 }
6079 SUB(gauntlet_lightning) {
6080  MY(airfriction) = 2;
6081  MY(alpha_min) = 110;
6082  MY(alpha_max) = 228;
6083  MY(alpha_fade) = 1024;
6084  MY(color_min) = "0xDD0000";
6085  MY(color_max) = "0xFD0000";
6086  MY(count) = 30;
6087  MY(originjitter) = '1.0 1.0 1.0';
6088  MY(size_min) = 2;
6089  MY(size_max) = 5;
6090  MY(stretchfactor) = 1.500000;
6091  MY(tex_min) = 8;
6092  MY(tex_max) = 15;
6093  MY(type) = "spark";
6094  MY(velocityjitter) = '150.0 150.0 150.0';
6095  MY(velocitymultiplier) = 0.500000;
6096 }
6097 SUB(gauntlet_lightning) {
6098  MY(airfriction) = 8;
6099  MY(alpha_min) = 110;
6100  MY(alpha_max) = 228;
6101  MY(alpha_fade) = 600;
6102  MY(color_min) = "0xFD0000";
6103  MY(color_max) = "0xF90000";
6104  MY(count) = 50;
6105  MY(gravity) = 1.300000;
6106  MY(originjitter) = '1.0 1.0 1.0';
6107  MY(size_min) = 2;
6108  MY(size_max) = 3;
6109  MY(stretchfactor) = 0.100000;
6110  MY(tex_min) = 41;
6111  MY(tex_max) = 41;
6112  MY(type) = "spark";
6113  MY(velocityjitter) = '350.0 350.0 350.0';
6114  MY(velocitymultiplier) = 2.500000;
6115 }
6116 
6117 DEF(crylink_joinexplode);
6118 // decal
6119 SUB(crylink_joinexplode) {
6120  MY(alpha_min) = 256;
6121  MY(alpha_max) = 256;
6122  MY(countabsolute) = 1;
6123  MY(originjitter) = '12.0 12.0 12.0';
6124  MY(size_min) = 24;
6125  MY(size_max) = 24;
6126  MY(tex_min) = 47;
6127  MY(tex_max) = 47;
6128  MY(type) = "decal";
6129 }
6130 // purple flare effect
6131 SUB(crylink_joinexplode) {
6132  MY(alpha_min) = 256;
6133  MY(alpha_max) = 256;
6134  MY(alpha_fade) = 512;
6135  MY(color_min) = "0x504060";
6136  MY(color_max) = "0x504060";
6137  MY(countabsolute) = 1;
6138  MY(size_min) = 24;
6139  MY(size_max) = 24;
6140  MY(tex_min) = 39;
6141  MY(tex_max) = 39;
6142  MY(type) = "static";
6143 }
6144 // purple sparks
6145 SUB(crylink_joinexplode) {
6146  MY(alpha_min) = 256;
6147  MY(alpha_max) = 256;
6148  MY(alpha_fade) = 1024;
6149  MY(bounce) = 2;
6150  MY(color_min) = "0xA040C0";
6151  MY(color_max) = "0xA040C0";
6152  MY(count) = 40;
6153  MY(size_min) = 6;
6154  MY(size_max) = 6;
6155  MY(tex_min) = 41;
6156  MY(tex_max) = 41;
6157  MY(type) = "spark";
6158  MY(velocityjitter) = '512.0 512.0 512.0';
6159 }
6160 // purple splash
6161 SUB(crylink_joinexplode) {
6162  MY(alpha_min) = 256;
6163  MY(alpha_max) = 256;
6164  MY(alpha_fade) = 512;
6165  MY(color_min) = "0xE070FF";
6166  MY(color_max) = "0xE070FF";
6167  MY(count) = 1.500000;
6168  MY(size_min) = 16;
6169  MY(size_max) = 16;
6170  MY(type) = "static";
6171  MY(velocityjitter) = '32.0 32.0 32.0';
6172 }
6173 // purple splash
6174 SUB(crylink_joinexplode) {
6175  MY(alpha_min) = 256;
6176  MY(alpha_max) = 256;
6177  MY(alpha_fade) = 1024;
6178  MY(color_min) = "0xE070FF";
6179  MY(color_max) = "0xE070FF";
6180  MY(count) = 3;
6181  MY(size_min) = 16;
6182  MY(size_max) = 16;
6183  MY(type) = "static";
6184  MY(velocityjitter) = '256.0 256.0 256.0';
6185 }
6186 
6187 // sparks for keepaway ball touch
6188 DEF(kaball_sparks);
6189 SUB(kaball_sparks) {
6190  MY(airfriction) = 3;
6191  MY(alpha_max) = 256;
6192  MY(alpha_fade) = 556;
6193  MY(bounce) = 1.500000;
6194  MY(color_min) = "0xa9cacf";
6195  MY(color_max) = "0x0054ff";
6196  MY(count) = 35;
6197  MY(gravity) = 1;
6198  MY(originjitter) = '1.0 1.0 1.0';
6199  MY(size_min) = 1;
6200  MY(size_max) = 3;
6201  MY(tex_min) = 40;
6202  MY(tex_max) = 40;
6203  MY(type) = "spark";
6204  MY(velocityjitter) = '300.0 300.0 300.0';
6205  MY(velocitymultiplier) = 0.500000;
6206 }
6207 
6208 // weak rifle bullet trail (somewhat like a tracer)
6209 DEF(tr_rifle_weak);
6210 SUB(tr_rifle_weak) {
6211  MY(alpha_min) = 256;
6212  MY(alpha_max) = 256;
6213  MY(alpha_fade) = 2560;
6214  MY(color_min) = "0x800000";
6215  MY(color_max) = "0xFF8020";
6216  MY(size_min) = 1.500000;
6217  MY(size_max) = 1.500000;
6218  MY(stretchfactor) = 1;
6219  MY(trailspacing) = 128;
6220  MY(type) = "spark";
6221  MY(velocitymultiplier) = 0.700000;
6222 }
6223 SUB(tr_rifle_weak) {
6224  MY(airfriction) = -4;
6225  MY(alpha_min) = 256;
6226  MY(alpha_max) = 256;
6227  MY(alpha_fade) = 256;
6228  MY(color_min) = "0x202020";
6229  MY(color_max) = "0x404040";
6230  MY(notunderwater) = true;
6231  MY(sizeincrease) = 0.400000;
6232  MY(size_min) = 4;
6233  MY(size_max) = 4;
6234  MY(tex_max) = 8;
6235  MY(trailspacing) = 48;
6236  MY(type) = "smoke";
6237  MY(velocityjitter) = '4.0 4.0 4.0';
6238 }
6239 SUB(tr_rifle_weak) {
6240  MY(alpha_min) = 256;
6241  MY(alpha_max) = 256;
6242  MY(alpha_fade) = 128;
6243  MY(bounce) = 1.500000;
6244  MY(color_min) = "0x404040";
6245  MY(color_max) = "0x808080";
6246  MY(gravity) = -0.125000;
6247  MY(liquidfriction) = 4;
6248  MY(size_min) = 2;
6249  MY(size_max) = 2;
6250  MY(tex_min) = 62;
6251  MY(tex_max) = 62;
6252  MY(trailspacing) = 192;
6253  MY(type) = "bubble";
6254  MY(underwater) = true;
6255  MY(velocityjitter) = '16.0 16.0 16.0';
6256 }
6257 
6258 // red smoke emiter
6259 DEF(red_smoke);
6260 SUB(red_smoke) {
6261  MY(airfriction) = -1;
6262  MY(alpha_min) = 32;
6263  MY(alpha_max) = 64;
6264  MY(alpha_fade) = 32;
6265  MY(color_min) = "0xff8866";
6266  MY(color_max) = "0x331100";
6267  MY(count) = 2;
6268  MY(gravity) = -0.007000;
6269  MY(startangle_max) = 360;
6270  MY(spin_min) = -30;
6271  MY(spin_max) = 30;
6272  MY(size_min) = 60;
6273  MY(size_max) = 120;
6274  MY(tex_max) = 8;
6275  MY(type) = "smoke";
6276  MY(velocitymultiplier) = 5;
6277 }
6278 
6279 // pipe smoke emiter
6280 DEF(pipe_smoke);
6281 SUB(pipe_smoke) {
6282  MY(airfriction) = -1;
6283  MY(alpha_min) = 32;
6284  MY(alpha_max) = 64;
6285  MY(alpha_fade) = 48;
6286  MY(color_min) = "0x999999";
6287  MY(color_max) = "0x555555";
6288  MY(count) = 2;
6289  MY(gravity) = -0.015000;
6290  MY(startangle_max) = 360;
6291  MY(spin_min) = -180;
6292  MY(spin_max) = 180;
6293  MY(sizeincrease) = 35;
6294  MY(size_min) = 5;
6295  MY(size_max) = 10;
6296  MY(tex_max) = 8;
6297  MY(type) = "smoke";
6298  MY(velocityjitter) = '0.0 0.0 5.0';
6299  MY(velocitymultiplier) = 15;
6300 }
6301 
6302 // seeker missile trail
6303 DEF(TR_SEEKER);
6304 SUB(TR_SEEKER) {
6305  MY(alpha_min) = 200;
6306  MY(alpha_max) = 300;
6307  MY(alpha_fade) = 200;
6308  MY(bounce) = 1;
6309  MY(color_min) = "0x000000";
6310  MY(color_max) = "0x666666";
6311  MY(lightcolor) = '6.0 3.0 1.0';
6312  MY(lightradius) = 100;
6313  MY(notunderwater) = true;
6314  MY(originjitter) = '2.0 2.0 2.0';
6315  MY(startangle_min) = -180;
6316  MY(startangle_max) = 180;
6317  MY(spin_min) = -30;
6318  MY(spin_max) = 30;
6319  MY(sizeincrease) = 11;
6320  MY(size_min) = 2;
6321  MY(size_max) = 2;
6322  MY(tex_max) = 8;
6323  MY(trailspacing) = 10;
6324  MY(type) = "smoke";
6325  MY(velocityjitter) = '3.0 3.0 3.0';
6326  MY(velocitymultiplier) = -0.020000;
6327 }
6328 // fire
6329 SUB(TR_SEEKER) {
6330  MY(airfriction) = 8;
6331  MY(alpha_min) = 100;
6332  MY(alpha_max) = 144;
6333  MY(alpha_fade) = 588;
6334  MY(color_min) = "0xffdf72";
6335  MY(color_max) = "0x811200";
6336  MY(sizeincrease) = -30;
6337  MY(size_min) = 5;
6338  MY(size_max) = 5;
6339  MY(tex_min) = 48;
6340  MY(tex_max) = 55;
6341  MY(trailspacing) = 4;
6342  MY(type) = "static";
6343  MY(velocityjitter) = '32.0 32.0 32.0';
6344  MY(velocitymultiplier) = -1.500000;
6345 }
6346 // bubbles
6347 SUB(TR_SEEKER) {
6348  MY(alpha_min) = 256;
6349  MY(alpha_max) = 256;
6350  MY(alpha_fade) = 256;
6351  MY(bounce) = 1.500000;
6352  MY(gravity) = -0.125000;
6353  MY(liquidfriction) = 4;
6354  MY(size_min) = 1;
6355  MY(size_max) = 2;
6356  MY(tex_min) = 62;
6357  MY(tex_max) = 62;
6358  MY(trailspacing) = 16;
6359  MY(type) = "bubble";
6360  MY(underwater) = true;
6361  MY(velocityjitter) = '16.0 16.0 16.0';
6362  MY(velocitymultiplier) = -0.310000;
6363 }
6364 // sparks
6365 SUB(TR_SEEKER) {
6366  MY(airfriction) = 5;
6367  MY(alpha_min) = 444;
6368  MY(alpha_max) = 512;
6369  MY(alpha_fade) = 1866;
6370  MY(bounce) = 1;
6371  MY(color_min) = "0xFFFDD9";
6372  MY(color_max) = "0xFFFDD9";
6373  MY(notunderwater) = true;
6374  MY(originjitter) = '1.0 1.0 1.0';
6375  MY(size_min) = 0.500000;
6376  MY(size_max) = 0.500000;
6377  MY(stretchfactor) = 0.300000;
6378  MY(tex_min) = 40;
6379  MY(tex_max) = 40;
6380  MY(trailspacing) = 20;
6381  MY(type) = "spark";
6382  MY(velocityjitter) = '100.0 100.0 100.0';
6383  MY(velocitymultiplier) = -0.310000;
6384 }
6385 
6386 #include "effectinfo_vehicles.inc"
6387 
6388 // generic explosion size:big (biggest explosion ever)
6389 DEF(explosion_big);
6390 // decal
6391 SUB(explosion_big) {
6392  MY(alpha_min) = 256;
6393  MY(alpha_max) = 256;
6394  MY(countabsolute) = 1;
6395  MY(lightcolor) = '8.0 4.0 0.0';
6396  MY(lightradiusfade) = 1750;
6397  MY(lightradius) = 600;
6398  MY(originjitter) = '23.0 23.0 23.0';
6399  MY(size_min) = 172;
6400  MY(size_max) = 172;
6401  MY(tex_min) = 8;
6402  MY(tex_max) = 16;
6403  MY(type) = "decal";
6404 }
6405 // shockwave
6406 SUB(explosion_big) {
6407  MY(alpha_min) = 56;
6408  MY(alpha_max) = 56;
6409  MY(alpha_fade) = 330;
6410  MY(color_min) = "0x8f0d00";
6411  MY(color_max) = "0xff5a00";
6412  MY(countabsolute) = 1;
6413  MY(sizeincrease) = 4400;
6414  MY(size_min) = 72;
6415  MY(size_max) = 72;
6416  MY(tex_min) = 33;
6417  MY(tex_max) = 33;
6418  MY(type) = "static";
6419 }
6420 // fire effect
6421 SUB(explosion_big) {
6422  MY(airfriction) = 8;
6423  MY(alpha_min) = 200;
6424  MY(alpha_max) = 256;
6425  MY(alpha_fade) = 712;
6426  MY(color_min) = "0x8f0d00";
6427  MY(color_max) = "0xff5a00";
6428  MY(count) = 64;
6429  MY(liquidfriction) = 8;
6430  MY(notunderwater) = true;
6431  MY(originjitter) = '80.0 80.0 80.0';
6432  MY(sizeincrease) = 45;
6433  MY(size_min) = 133;
6434  MY(size_max) = 144;
6435  MY(tex_min) = 48;
6436  MY(tex_max) = 55;
6437  MY(type) = "static";
6438  MY(velocityjitter) = '2512.0 2512.0 2512.0';
6439 }
6440 // fire rays
6441 SUB(explosion_big) {
6442  MY(airfriction) = -5;
6443  MY(alpha_min) = 200;
6444  MY(alpha_max) = 256;
6445  MY(alpha_fade) = 800;
6446  MY(color_min) = "0x8f0d00";
6447  MY(color_max) = "0xff5a00";
6448  MY(count) = 64;
6449  MY(liquidfriction) = 8;
6450  MY(notunderwater) = true;
6451  MY(originjitter) = '40.0 40.0 40.0';
6452  MY(sizeincrease) = 45;
6453  MY(size_min) = 133;
6454  MY(size_max) = 144;
6455  MY(stretchfactor) = 10;
6456  MY(tex_min) = 48;
6457  MY(tex_max) = 55;
6458  MY(type) = "spark";
6459  MY(velocityjitter) = '512.0 512.0 512.0';
6460 }
6461 // smoke
6462 SUB(explosion_big) {
6463  MY(airfriction) = 8;
6464  MY(alpha_min) = 300;
6465  MY(alpha_max) = 650;
6466  MY(alpha_fade) = 456;
6467  MY(color_min) = "0x4F4B46";
6468  MY(color_max) = "0x000000";
6469  MY(count) = 32;
6470  MY(notunderwater) = true;
6471  MY(sizeincrease) = 244;
6472  MY(size_min) = 50;
6473  MY(size_max) = 100;
6474  MY(tex_max) = 8;
6475  MY(type) = "alphastatic";
6476  MY(velocityjitter) = '3444.0 3444.0 3444.0';
6477 }
6478 // bouncing sparks
6479 SUB(explosion_big) {
6480  MY(airfriction) = 1;
6481  MY(alpha_min) = 644;
6482  MY(alpha_max) = 956;
6483  MY(alpha_fade) = 1284;
6484  MY(color_min) = "0xffa35b";
6485  MY(color_max) = "0xfff2be";
6486  MY(count) = 34;
6487  MY(gravity) = 1;
6488  MY(liquidfriction) = 0.800000;
6489  MY(notunderwater) = true;
6490  MY(originjitter) = '160.0 160.0 160.0';
6491  MY(size_min) = 3;
6492  MY(size_max) = 4;
6493  MY(stretchfactor) = 0.700000;
6494  MY(tex_min) = 40;
6495  MY(tex_max) = 40;
6496  MY(type) = "spark";
6497  MY(velocityjitter) = '924.0 924.0 924.0';
6498  MY(velocityoffset) = '0.0 0.0 370.0';
6499 }
6500 // debris
6501 SUB(explosion_big) {
6502  MY(airfriction) = 0.500000;
6503  MY(alpha_min) = 444;
6504  MY(alpha_max) = 1356;
6505  MY(alpha_fade) = 1184;
6506  MY(color_min) = "0xFFFFFF";
6507  MY(color_max) = "0xcac5b4";
6508  MY(count) = 16;
6509  MY(gravity) = 2.300000;
6510  MY(notunderwater) = true;
6511  MY(startangle_min) = -180;
6512  MY(startangle_max) = 180;
6513  MY(spin_min) = -1000;
6514  MY(spin_max) = 1000;
6515  MY(sizeincrease) = -5;
6516  MY(size_min) = 10;
6517  MY(size_max) = 16;
6518  MY(tex_min) = 66;
6519  MY(tex_max) = 68;
6520  MY(type) = "alphastatic";
6521  MY(velocityjitter) = '1800.0 1800.0 1800.0';
6522  MY(velocityoffset) = '0.0 0.0 970.0';
6523 }
6524 // underwater bubbles
6525 SUB(explosion_big) {
6526  MY(alpha_min) = 128;
6527  MY(alpha_max) = 256;
6528  MY(alpha_fade) = 64;
6529  MY(bounce) = 1.500000;
6530  MY(color_min) = "0x404040";
6531  MY(color_max) = "0x808080";
6532  MY(count) = 32;
6533  MY(gravity) = -0.125000;
6534  MY(liquidfriction) = 0.250000;
6535  MY(originjitter) = '160.0 160.0 160.0';
6536  MY(size_min) = 3;
6537  MY(size_max) = 3;
6538  MY(tex_min) = 62;
6539  MY(tex_max) = 62;
6540  MY(type) = "bubble";
6541  MY(underwater) = true;
6542  MY(velocityjitter) = '444.0 444.0 444.0';
6543 }
6544 // underwatershockwave
6545 SUB(explosion_big) {
6546  MY(alpha_min) = 40;
6547  MY(alpha_max) = 40;
6548  MY(alpha_fade) = 300;
6549  MY(countabsolute) = 1;
6550  MY(sizeincrease) = 2900;
6551  MY(size_min) = 30;
6552  MY(size_max) = 30;
6553  MY(tex_min) = 33;
6554  MY(tex_max) = 33;
6555  MY(type) = "smoke";
6556  MY(underwater) = true;
6557  MY(velocitymultiplier) = 0.300000;
6558 }
6559 
6560 // generic explosion size:medium (it leaves rising smoke for a longer time)
6561 DEF(explosion_medium);
6562 // shockwave
6563 SUB(explosion_medium) {
6564  MY(alpha_min) = 56;
6565  MY(alpha_max) = 56;
6566  MY(alpha_fade) = 330;
6567  MY(color_min) = "0x8f0d00";
6568  MY(color_max) = "0xff5a00";
6569  MY(countabsolute) = 1;
6570  MY(sizeincrease) = 2400;
6571  MY(size_min) = 72;
6572  MY(size_max) = 72;
6573  MY(tex_min) = 33;
6574  MY(tex_max) = 33;
6575  MY(type) = "static";
6576 }
6577 // fire effect
6578 SUB(explosion_medium) {
6579  MY(airfriction) = 8;
6580  MY(alpha_min) = 200;
6581  MY(alpha_max) = 256;
6582  MY(alpha_fade) = 712;
6583  MY(color_min) = "0x8f0d00";
6584  MY(color_max) = "0xff5a00";
6585  MY(count) = 32;
6586  MY(liquidfriction) = 8;
6587  MY(notunderwater) = true;
6588  MY(originjitter) = '30.0 30.0 30.0';
6589  MY(startangle_min) = -180;
6590  MY(startangle_max) = 180;
6591  MY(spin_min) = -500;
6592  MY(spin_max) = 500;
6593  MY(sizeincrease) = 45;
6594  MY(size_min) = 133;
6595  MY(size_max) = 144;
6596  MY(tex_min) = 48;
6597  MY(tex_max) = 55;
6598  MY(type) = "static";
6599  MY(velocityjitter) = '1512.0 1512.0 1512.0';
6600 }
6601 // fire effect 2
6602 SUB(explosion_medium) {
6603  MY(airfriction) = 8;
6604  MY(alpha_min) = 200;
6605  MY(alpha_max) = 256;
6606  MY(alpha_fade) = 612;
6607  MY(color_min) = "0x8f0d00";
6608  MY(color_max) = "0xff5a00";
6609  MY(count) = 32;
6610  MY(gravity) = -2;
6611  MY(liquidfriction) = 8;
6612  MY(notunderwater) = true;
6613  MY(originjitter) = '30.0 30.0 30.0';
6614  MY(startangle_min) = -180;
6615  MY(startangle_max) = 180;
6616  MY(spin_min) = -150;
6617  MY(spin_max) = 150;
6618  MY(sizeincrease) = 40;
6619  MY(size_min) = 73;
6620  MY(size_max) = 94;
6621  MY(tex_min) = 48;
6622  MY(tex_max) = 55;
6623  MY(type) = "static";
6624  MY(velocityjitter) = '1512.0 1512.0 1512.0';
6625 }
6626 // fire rays
6627 SUB(explosion_medium) {
6628  MY(airfriction) = -3;
6629  MY(alpha_min) = 200;
6630  MY(alpha_max) = 256;
6631  MY(alpha_fade) = 800;
6632  MY(color_min) = "0x8f0d00";
6633  MY(color_max) = "0xff5a00";
6634  MY(count) = 14;
6635  MY(liquidfriction) = 8;
6636  MY(notunderwater) = true;
6637  MY(originjitter) = '40.0 40.0 40.0';
6638  MY(sizeincrease) = 40;
6639  MY(size_min) = 43;
6640  MY(size_max) = 74;
6641  MY(stretchfactor) = 8;
6642  MY(tex_min) = 48;
6643  MY(tex_max) = 55;
6644  MY(type) = "spark";
6645  MY(velocityjitter) = '512.0 512.0 512.0';
6646 }
6647 // smoke
6648 SUB(explosion_medium) {
6649  MY(airfriction) = 3;
6650  MY(alpha_min) = 300;
6651  MY(alpha_max) = 650;
6652  MY(alpha_fade) = 756;
6653  MY(color_min) = "0x4F4B46";
6654  MY(color_max) = "0x000000";
6655  MY(count) = 5;
6656  MY(notunderwater) = true;
6657  MY(originjitter) = '100.0 100.0 100.0';
6658  MY(startangle_min) = -180;
6659  MY(startangle_max) = 180;
6660  MY(spin_min) = -20;
6661  MY(spin_max) = 20;
6662  MY(sizeincrease) = -30;
6663  MY(size_min) = 250;
6664  MY(size_max) = 300;
6665  MY(tex_max) = 8;
6666  MY(type) = "alphastatic";
6667  MY(velocityjitter) = '200.0 200.0 200.0';
6668 }
6669 // smoke 2
6670 SUB(explosion_medium) {
6671  MY(airfriction) = 3;
6672  MY(alpha_min) = 300;
6673  MY(alpha_max) = 650;
6674  MY(alpha_fade) = 256;
6675  MY(color_min) = "0x4F4B46";
6676  MY(color_max) = "0x000000";
6677  MY(count) = 10;
6678  MY(gravity) = -0.300000;
6679  MY(notunderwater) = true;
6680  MY(originjitter) = '100.0 100.0 100.0';
6681  MY(startangle_min) = -180;
6682  MY(startangle_max) = 180;
6683  MY(spin_min) = -20;
6684  MY(spin_max) = 20;
6685  MY(sizeincrease) = 50;
6686  MY(size_min) = 50;
6687  MY(size_max) = 100;
6688  MY(tex_max) = 8;
6689  MY(type) = "alphastatic";
6690  MY(velocityjitter) = '500.0 500.0 500.0';
6691  MY(velocityoffset) = '0.0 0.0 200.0';
6692 }
6693 // smoke rays
6694 SUB(explosion_medium) {
6695  MY(alpha_min) = 140;
6696  MY(alpha_max) = 255;
6697  MY(alpha_fade) = 350;
6698  MY(color_min) = "0x4F4B46";
6699  MY(color_max) = "0x000000";
6700  MY(count) = 13;
6701  MY(notunderwater) = true;
6702  MY(originjitter) = '40.0 40.0 40.0';
6703  MY(sizeincrease) = 100;
6704  MY(size_min) = 150;
6705  MY(size_max) = 200;
6706  MY(stretchfactor) = 50;
6707  MY(tex_max) = 8;
6708  MY(type) = "spark";
6709  MY(velocityjitter) = '250.0 250.0 250.0';
6710 }
6711 // bouncing sparks
6712 SUB(explosion_medium) {
6713  MY(airfriction) = 1;
6714  MY(alpha_min) = 644;
6715  MY(alpha_max) = 956;
6716  MY(alpha_fade) = 984;
6717  MY(color_min) = "0xffa35b";
6718  MY(color_max) = "0xfff2be";
6719  MY(count) = 14;
6720  MY(gravity) = 1;
6721  MY(liquidfriction) = 0.800000;
6722  MY(notunderwater) = true;
6723  MY(originjitter) = '100.0 100.0 100.0';
6724  MY(size_min) = 2;
6725  MY(size_max) = 3;
6726  MY(stretchfactor) = 0.700000;
6727  MY(tex_min) = 40;
6728  MY(tex_max) = 40;
6729  MY(type) = "spark";
6730  MY(velocityjitter) = '624.0 624.0 624.0';
6731  MY(velocityoffset) = '0.0 0.0 370.0';
6732 }
6733 // underwater bubbles
6734 SUB(explosion_medium) {
6735  MY(alpha_min) = 128;
6736  MY(alpha_max) = 256;
6737  MY(alpha_fade) = 64;
6738  MY(bounce) = 1.500000;
6739  MY(color_min) = "0x404040";
6740  MY(color_max) = "0x808080";
6741  MY(count) = 32;
6742  MY(gravity) = -0.125000;
6743  MY(liquidfriction) = 0.250000;
6744  MY(originjitter) = '160.0 160.0 160.0';
6745  MY(size_min) = 3;
6746  MY(size_max) = 3;
6747  MY(tex_min) = 62;
6748  MY(tex_max) = 62;
6749  MY(type) = "bubble";
6750  MY(underwater) = true;
6751  MY(velocityjitter) = '444.0 444.0 444.0';
6752 }
6753 // underwatershockwave
6754 SUB(explosion_medium) {
6755  MY(alpha_min) = 40;
6756  MY(alpha_max) = 40;
6757  MY(alpha_fade) = 300;
6758  MY(countabsolute) = 1;
6759  MY(sizeincrease) = 2900;
6760  MY(size_min) = 30;
6761  MY(size_max) = 30;
6762  MY(tex_min) = 33;
6763  MY(tex_max) = 33;
6764  MY(type) = "smoke";
6765  MY(underwater) = true;
6766  MY(velocitymultiplier) = 0.300000;
6767 }
6768 
6769 // generic explosion size:small (its fire only, made to support other explosions)
6770 DEF(explosion_small);
6771 // shockwave
6772 SUB(explosion_small) {
6773  MY(alpha_min) = 56;
6774  MY(alpha_max) = 56;
6775  MY(alpha_fade) = 330;
6776  MY(color_min) = "0x8f0d00";
6777  MY(color_max) = "0xff5a00";
6778  MY(countabsolute) = 1;
6779  MY(sizeincrease) = 2400;
6780  MY(size_min) = 22;
6781  MY(size_max) = 22;
6782  MY(tex_min) = 33;
6783  MY(tex_max) = 33;
6784  MY(type) = "static";
6785 }
6786 // fire effect
6787 SUB(explosion_small) {
6788  MY(airfriction) = 5;
6789  MY(alpha_min) = 200;
6790  MY(alpha_max) = 256;
6791  MY(alpha_fade) = 1212;
6792  MY(color_min) = "0x8f0d00";
6793  MY(color_max) = "0xff5a00";
6794  MY(count) = 16;
6795  MY(liquidfriction) = 8;
6796  MY(notunderwater) = true;
6797  MY(startangle_min) = -180;
6798  MY(startangle_max) = 180;
6799  MY(spin_min) = -500;
6800  MY(spin_max) = 500;
6801  MY(sizeincrease) = 45;
6802  MY(size_min) = 1;
6803  MY(size_max) = 44;
6804  MY(tex_min) = 48;
6805  MY(tex_max) = 55;
6806  MY(type) = "static";
6807  MY(velocityjitter) = '512.0 512.0 512.0';
6808 }
6809 // fire effect 2
6810 SUB(explosion_small) {
6811  MY(airfriction) = 8;
6812  MY(alpha_min) = 200;
6813  MY(alpha_max) = 256;
6814  MY(alpha_fade) = 812;
6815  MY(color_min) = "0x8f0d00";
6816  MY(color_max) = "0xff5a00";
6817  MY(count) = 16;
6818  MY(liquidfriction) = 8;
6819  MY(notunderwater) = true;
6820  MY(startangle_min) = -180;
6821  MY(startangle_max) = 180;
6822  MY(spin_min) = -150;
6823  MY(spin_max) = 150;
6824  MY(sizeincrease) = 40;
6825  MY(size_min) = 73;
6826  MY(size_max) = 94;
6827  MY(tex_min) = 48;
6828  MY(tex_max) = 55;
6829  MY(type) = "static";
6830  MY(velocityjitter) = '912.0 912.0 912.0';
6831 }
6832 // fire rays
6833 SUB(explosion_small) {
6834  MY(airfriction) = -3;
6835  MY(alpha_min) = 200;
6836  MY(alpha_max) = 256;
6837  MY(alpha_fade) = 1300;
6838  MY(color_min) = "0x8f0d00";
6839  MY(color_max) = "0xff5a00";
6840  MY(count) = 14;
6841  MY(liquidfriction) = 8;
6842  MY(notunderwater) = true;
6843  MY(originjitter) = '40.0 40.0 40.0';
6844  MY(sizeincrease) = 30;
6845  MY(size_min) = 13;
6846  MY(size_max) = 54;
6847  MY(stretchfactor) = 8;
6848  MY(tex_min) = 48;
6849  MY(tex_max) = 55;
6850  MY(type) = "spark";
6851  MY(velocityjitter) = '512.0 512.0 512.0';
6852 }
6853 // underwater bubbles
6854 SUB(explosion_small) {
6855  MY(alpha_min) = 128;
6856  MY(alpha_max) = 256;
6857  MY(alpha_fade) = 64;
6858  MY(bounce) = 1.500000;
6859  MY(color_min) = "0x404040";
6860  MY(color_max) = "0x808080";
6861  MY(count) = 32;
6862  MY(gravity) = -0.125000;
6863  MY(liquidfriction) = 0.250000;
6864  MY(originjitter) = '160.0 160.0 160.0';
6865  MY(size_min) = 1;
6866  MY(size_max) = 3;
6867  MY(tex_min) = 62;
6868  MY(tex_max) = 62;
6869  MY(type) = "bubble";
6870  MY(underwater) = true;
6871  MY(velocityjitter) = '144.0 144.0 144.0';
6872 }
6873 // underwatershockwave
6874 SUB(explosion_small) {
6875  MY(alpha_min) = 40;
6876  MY(alpha_max) = 40;
6877  MY(alpha_fade) = 300;
6878  MY(countabsolute) = 1;
6879  MY(sizeincrease) = 1200;
6880  MY(size_min) = 30;
6881  MY(size_max) = 30;
6882  MY(tex_min) = 33;
6883  MY(tex_max) = 33;
6884  MY(type) = "smoke";
6885  MY(underwater) = true;
6886 }
6887 
6888 // big smoke ( for spamming on damaged stuff )
6889 DEF(smoke_big);
6890 SUB(smoke_big) {
6891  MY(airfriction) = 4;
6892  MY(alpha_min) = 200;
6893  MY(alpha_max) = 750;
6894  MY(alpha_fade) = 200;
6895  MY(color_min) = "0x4F4B46";
6896  MY(color_max) = "0x000000";
6897  MY(count) = 3;
6898  MY(gravity) = -0.500000;
6899  MY(notunderwater) = true;
6900  MY(originjitter) = '55.0 55.0 55.0';
6901  MY(startangle_min) = -180;
6902  MY(startangle_max) = 180;
6903  MY(spin_min) = -20;
6904  MY(spin_max) = 20;
6905  MY(sizeincrease) = 15;
6906  MY(size_min) = 30;
6907  MY(size_max) = 60;
6908  MY(tex_max) = 8;
6909  MY(type) = "alphastatic";
6910  MY(velocityjitter) = '140.0 140.0 200.0';
6911  MY(velocityoffset) = '0.0 0.0 200.0';
6912 }
6913 
6914 // small smoke ( more precise than big one, for spamming on damaged parts like raptors spinner )
6915 DEF(smoke_small);
6916 SUB(smoke_small) {
6917  MY(airfriction) = 4;
6918  MY(alpha_min) = 200;
6919  MY(alpha_max) = 750;
6920  MY(alpha_fade) = 200;
6921  MY(color_min) = "0x4F4B46";
6922  MY(color_max) = "0x000000";
6923  MY(count) = 3;
6924  MY(gravity) = -0.500000;
6925  MY(notunderwater) = true;
6926  MY(startangle_min) = -180;
6927  MY(startangle_max) = 180;
6928  MY(spin_min) = -20;
6929  MY(spin_max) = 20;
6930  MY(sizeincrease) = -10;
6931  MY(size_min) = 60;
6932  MY(size_max) = 100;
6933  MY(tex_max) = 8;
6934  MY(type) = "alphastatic";
6935  MY(velocityjitter) = '40.0 40.0 400.0';
6936  MY(velocityoffset) = '0.0 0.0 200.0';
6937 }
6938 
6939 // metal impact effect
6940 DEF(impact_metal);
6941 SUB(impact_metal) {
6942  MY(alpha_min) = 25;
6943  MY(alpha_max) = 64;
6944  MY(alpha_fade) = 50;
6945  MY(color_min) = "0x000000";
6946  MY(color_max) = "0x886666";
6947  MY(count) = 1;
6948  MY(gravity) = -0.010000;
6949  MY(originjitter) = '20.0 20.0 5.0';
6950  MY(sizeincrease) = 10;
6951  MY(size_min) = 3;
6952  MY(size_max) = 6;
6953  MY(tex_max) = 8;
6954  MY(type) = "alphastatic";
6955 }
6956 // sparks
6957 SUB(impact_metal) {
6958  MY(airfriction) = 2;
6959  MY(alpha_min) = 255;
6960  MY(alpha_max) = 255;
6961  MY(alpha_fade) = 112;
6962  MY(bounce) = 1.800000;
6963  MY(color_min) = "0xFFCC22";
6964  MY(color_max) = "0xFF4422";
6965  MY(count) = 2;
6966  MY(gravity) = 1;
6967  MY(size_min) = 2;
6968  MY(size_max) = 2;
6969  MY(stretchfactor) = 0.500000;
6970  MY(tex_min) = 41;
6971  MY(tex_max) = 41;
6972  MY(type) = "spark";
6973  MY(velocityjitter) = '200.0 200.0 300.0';
6974  MY(velocitymultiplier) = 2;
6975 }
6976 
6977 // stone impact effect
6978 DEF(impact_stone);
6979 SUB(impact_stone) {
6980  MY(alpha_min) = 50;
6981  MY(alpha_max) = 128;
6982  MY(alpha_fade) = 75;
6983  MY(color_min) = "0x000000";
6984  MY(color_max) = "0xcc9966";
6985  MY(count) = 1;
6986  MY(gravity) = -0.010000;
6987  MY(originjitter) = '20.0 20.0 5.0';
6988  MY(sizeincrease) = 15;
6989  MY(size_min) = 3;
6990  MY(size_max) = 6;
6991  MY(tex_max) = 8;
6992  MY(type) = "alphastatic";
6993 }
6994 // debris
6995 SUB(impact_stone) {
6996  MY(airfriction) = 0.500000;
6997  MY(alpha_min) = 450;
6998  MY(alpha_max) = 750;
6999  MY(alpha_fade) = 300;
7000  MY(bounce) = 1.200000;
7001  MY(color_min) = "0x000000";
7002  MY(color_max) = "0x886644";
7003  MY(count) = 1;
7004  MY(gravity) = 1.300000;
7005  MY(notunderwater) = true;
7006  MY(startangle_min) = -180;
7007  MY(startangle_max) = 180;
7008  MY(spin_min) = -1000;
7009  MY(spin_max) = 1000;
7010  MY(size_min) = 1;
7011  MY(size_max) = 2;
7012  MY(tex_min) = 66;
7013  MY(tex_max) = 68;
7014  MY(type) = "alphastatic";
7015  MY(velocityjitter) = '124.0 124.0 324.0';
7016 }
7017 
7018 // wood impact effect
7019 DEF(impact_wood);
7020 SUB(impact_wood) {
7021  MY(alpha_min) = 50;
7022  MY(alpha_max) = 128;
7023  MY(alpha_fade) = 75;
7024  MY(color_min) = "0x000000";
7025  MY(color_max) = "0xcc9966";
7026  MY(count) = 1;
7027  MY(gravity) = -0.010000;
7028  MY(originjitter) = '20.0 20.0 5.0';
7029  MY(sizeincrease) = 10;
7030  MY(size_min) = 3;
7031  MY(size_max) = 6;
7032  MY(tex_max) = 8;
7033  MY(type) = "alphastatic";
7034 }
7035 // sparks
7036 SUB(impact_wood) {
7037  MY(airfriction) = 2;
7038  MY(alpha_min) = 255;
7039  MY(alpha_max) = 255;
7040  MY(alpha_fade) = 75;
7041  MY(bounce) = 1.500000;
7042  MY(color_min) = "0x221100";
7043  MY(color_max) = "0x221100";
7044  MY(count) = 2;
7045  MY(gravity) = 1;
7046  MY(size_min) = 1;
7047  MY(size_max) = 8;
7048  MY(tex_min) = 41;
7049  MY(tex_max) = 41;
7050  MY(type) = "spark";
7051  MY(velocityjitter) = '180.0 180.0 260.0';
7052  MY(velocitymultiplier) = 2;
7053 }
7054 
7055 // flesh impact effect
7056 DEF(impact_flesh);
7057 SUB(impact_flesh) {
7058  MY(alpha_min) = 100;
7059  MY(alpha_max) = 256;
7060  MY(alpha_fade) = 400;
7061  MY(color_min) = "0x000000";
7062  MY(color_max) = "0x420000";
7063  MY(count) = 0.500000;
7064  MY(originjitter) = '11.0 11.0 11.0';
7065  MY(size_min) = 8;
7066  MY(size_max) = 12;
7067  MY(tex_max) = 8;
7068  MY(type) = "alphastatic";
7069 }
7070 // blood splash
7071 SUB(impact_flesh) {
7072  MY(airfriction) = 1;
7073  MY(alpha_min) = 256;
7074  MY(alpha_max) = 256;
7075  MY(alpha_fade) = 64;
7076  MY(bounce) = -1;
7077  MY(color_min) = "0xA8FFFF";
7078  MY(color_max) = "0xA8FFFFF";
7079  MY(count) = 0.300000;
7080  MY(liquidfriction) = 4;
7081  MY(size_min) = 2;
7082  MY(size_max) = 6;
7083  MY(staincolor_min) = "0x808080";
7084  MY(staincolor_max) = "0x808080";
7085  MY(staintex_min) = 16;
7086  MY(staintex_max) = 24;
7087  MY(tex_min) = 24;
7088  MY(tex_max) = 32;
7089  MY(type) = "blood";
7090  MY(velocityjitter) = '96.0 96.0 96.0';
7091  MY(velocitymultiplier) = 5;
7092 }
7093 
7094 // hagar trail
7095 DEF(tr_hagar);
7096 // smoke
7097 SUB(tr_hagar) {
7098  MY(alpha_min) = 300;
7099  MY(alpha_max) = 400;
7100  MY(alpha_fade) = 780;
7101  MY(bounce) = 1;
7102  MY(color_min) = "0x101010";
7103  MY(color_max) = "0x000000";
7104  MY(originjitter) = '1.0 1.0 1.0';
7105  MY(sizeincrease) = 10;
7106  MY(size_min) = 3;
7107  MY(size_max) = 2;
7108  MY(tex_max) = 8;
7109  MY(trailspacing) = 4;
7110  MY(type) = "smoke";
7111  MY(velocityjitter) = '1.0 1.0 1.0';
7112  MY(velocitymultiplier) = -0.020000;
7113 }
7114 // fire
7115 SUB(tr_hagar) {
7116  MY(airfriction) = 8;
7117  MY(alpha_min) = 100;
7118  MY(alpha_max) = 144;
7119  MY(alpha_fade) = 988;
7120  MY(color_min) = "0xffdf72";
7121  MY(color_max) = "0x811200";
7122  MY(notunderwater) = true;
7123  MY(sizeincrease) = -15;
7124  MY(size_min) = 5;
7125  MY(size_max) = 2;
7126  MY(tex_min) = 48;
7127  MY(tex_max) = 55;
7128  MY(trailspacing) = 4;
7129  MY(type) = "static";
7130  MY(velocityjitter) = '32.0 32.0 32.0';
7131  MY(velocitymultiplier) = -1;
7132 }
7133 // bubbles
7134 SUB(tr_hagar) {
7135  MY(alpha_min) = 256;
7136  MY(alpha_max) = 256;
7137  MY(alpha_fade) = 256;
7138  MY(bounce) = 1.500000;
7139  MY(color_min) = "0x404040";
7140  MY(color_max) = "0x808080";
7141  MY(gravity) = -0.125000;
7142  MY(liquidfriction) = 4;
7143  MY(size_min) = 1;
7144  MY(size_max) = 1;
7145  MY(tex_min) = 62;
7146  MY(tex_max) = 62;
7147  MY(trailspacing) = 16;
7148  MY(type) = "bubble";
7149  MY(underwater) = true;
7150  MY(velocityjitter) = '16.0 16.0 16.0';
7151 }
7152 
7153 // laser damage effect
7154 DEF(damage_blaster);
7155 SUB(damage_blaster) {
7156  MY(airfriction) = -0.350000;
7157  MY(alpha_min) = 128;
7158  MY(alpha_max) = 16;
7159  MY(alpha_fade) = 128;
7160  MY(color_min) = "0x880000";
7161  MY(color_max) = "0xff4400";
7162  MY(count) = 3;
7163  MY(notunderwater) = true;
7164  MY(originjitter) = '2.0 2.0 2.0';
7165  MY(startangle_max) = 180;
7166  MY(spin_min) = -30;
7167  MY(spin_max) = 30;
7168  MY(sizeincrease) = 8;
7169  MY(size_min) = 2;
7170  MY(size_max) = 4;
7171  MY(tex_max) = 8;
7172  MY(type) = "smoke";
7173  MY(velocityjitter) = '0.4 0.4 0.6';
7174 }
7175 
7176 // shotgun damage effect, normal blood
7177 DEF(damage_shotgun);
7178 SUB(damage_shotgun) {
7179  MY(airfriction) = 1;
7180  MY(alpha_min) = 256;
7181  MY(alpha_max) = 256;
7182  MY(alpha_fade) = 64;
7183  MY(bounce) = -1;
7184  MY(color_min) = "0xA8FFFF";
7185  MY(color_max) = "0xA8FFFFF";
7186  MY(count) = 0.600000;
7187  MY(liquidfriction) = 4;
7188  MY(size_min) = 2;
7189  MY(size_max) = 4;
7190  MY(staincolor_min) = "0x808080";
7191  MY(staincolor_max) = "0x808080";
7192  MY(staintex_min) = 16;
7193  MY(staintex_max) = 24;
7194  MY(tex_min) = 24;
7195  MY(tex_max) = 32;
7196  MY(type) = "blood";
7197  MY(velocityjitter) = '64.0 64.0 64.0';
7198  MY(velocitymultiplier) = 5;
7199 }
7200 // blood mist
7201 SUB(damage_shotgun) {
7202  MY(alpha_min) = 100;
7203  MY(alpha_max) = 256;
7204  MY(alpha_fade) = 400;
7205  MY(color_min) = "0x000000";
7206  MY(color_max) = "0x420000";
7207  MY(count) = 1;
7208  MY(originjitter) = '1.0 1.0 1.0';
7209  MY(size_min) = 8;
7210  MY(size_max) = 16;
7211  MY(tex_max) = 8;
7212  MY(type) = "alphastatic";
7213 }
7214 
7215 // shotgun damage effect, alien blood
7216 DEF(alien_damage_shotgun);
7217 SUB(alien_damage_shotgun) {
7218  MY(airfriction) = 1;
7219  MY(alpha_min) = 256;
7220  MY(alpha_max) = 256;
7221  MY(alpha_fade) = 64;
7222  MY(bounce) = -1;
7223  MY(color_min) = "0xDC9BCD";
7224  MY(color_max) = "0xDC9BCD";
7225  MY(count) = 0.600000;
7226  MY(liquidfriction) = 4;
7227  MY(size_min) = 2;
7228  MY(size_max) = 4;
7229  MY(staincolor_min) = "0x808080";
7230  MY(staincolor_max) = "0x808080";
7231  MY(staintex_min) = 16;
7232  MY(staintex_max) = 24;
7233  MY(tex_min) = 24;
7234  MY(tex_max) = 32;
7235  MY(type) = "blood";
7236  MY(velocityjitter) = '64.0 64.0 64.0';
7237  MY(velocitymultiplier) = 5;
7238 }
7239 // blood mist
7240 SUB(alien_damage_shotgun) {
7241  MY(alpha_min) = 100;
7242  MY(alpha_max) = 256;
7243  MY(alpha_fade) = 400;
7244  MY(color_min) = "0x000000";
7245  MY(color_max) = "0x204010";
7246  MY(count) = 1;
7247  MY(originjitter) = '1.0 1.0 1.0';
7248  MY(size_min) = 8;
7249  MY(size_max) = 16;
7250  MY(tex_max) = 8;
7251  MY(type) = "alphastatic";
7252 }
7253 
7254 // shotgun damage effect, robot blood
7255 DEF(robot_damage_shotgun);
7256 SUB(robot_damage_shotgun) {
7257  MY(airfriction) = 1;
7258  MY(alpha_min) = 256;
7259  MY(alpha_max) = 256;
7260  MY(alpha_fade) = 64;
7261  MY(bounce) = -1;
7262  MY(color_min) = "0xC0D890";
7263  MY(color_max) = "0xC0D890";
7264  MY(count) = 0.600000;
7265  MY(liquidfriction) = 4;
7266  MY(size_min) = 2;
7267  MY(size_max) = 4;
7268  MY(staincolor_min) = "0x808080";
7269  MY(staincolor_max) = "0x808080";
7270  MY(staintex_min) = 16;
7271  MY(staintex_max) = 24;
7272  MY(tex_min) = 24;
7273  MY(tex_max) = 32;
7274  MY(type) = "blood";
7275  MY(velocityjitter) = '64.0 64.0 64.0';
7276  MY(velocitymultiplier) = 5;
7277 }
7278 // blood mist
7279 SUB(robot_damage_shotgun) {
7280  MY(alpha_min) = 100;
7281  MY(alpha_max) = 256;
7282  MY(alpha_fade) = 400;
7283  MY(color_min) = "0x000000";
7284  MY(color_max) = "0x301860";
7285  MY(count) = 1;
7286  MY(originjitter) = '1.0 1.0 1.0';
7287  MY(size_min) = 8;
7288  MY(size_max) = 16;
7289  MY(tex_max) = 8;
7290  MY(type) = "alphastatic";
7291 }
7292 
7293 // machinegun damage effect, normal blood
7294 DEF(damage_machinegun);
7295 SUB(damage_machinegun) {
7296  MY(airfriction) = 1;
7297  MY(alpha_min) = 256;
7298  MY(alpha_max) = 256;
7299  MY(alpha_fade) = 64;
7300  MY(bounce) = -1;
7301  MY(color_min) = "0xA8FFFF";
7302  MY(color_max) = "0xA8FFFFF";
7303  MY(count) = 0.300000;
7304  MY(liquidfriction) = 4;
7305  MY(size_min) = 2;
7306  MY(size_max) = 4;
7307  MY(staincolor_min) = "0x808080";
7308  MY(staincolor_max) = "0x808080";
7309  MY(staintex_min) = 16;
7310  MY(staintex_max) = 24;
7311  MY(tex_min) = 24;
7312  MY(tex_max) = 32;
7313  MY(type) = "blood";
7314  MY(velocityjitter) = '32.0 32.0 32.0';
7315  MY(velocitymultiplier) = 5;
7316 }
7317 // blood mist
7318 SUB(damage_machinegun) {
7319  MY(alpha_min) = 100;
7320  MY(alpha_max) = 256;
7321  MY(alpha_fade) = 400;
7322  MY(color_min) = "0x000000";
7323  MY(color_max) = "0x420000";
7324  MY(count) = 1;
7325  MY(size_min) = 6;
7326  MY(size_max) = 12;
7327  MY(tex_max) = 8;
7328  MY(type) = "alphastatic";
7329 }
7330 
7331 // machinegun damage effect, alien blood
7332 DEF(alien_damage_machinegun);
7333 SUB(alien_damage_machinegun) {
7334  MY(airfriction) = 1;
7335  MY(alpha_min) = 256;
7336  MY(alpha_max) = 256;
7337  MY(alpha_fade) = 64;
7338  MY(bounce) = -1;
7339  MY(color_min) = "0xDC9BCD";
7340  MY(color_max) = "0xDC9BCD";
7341  MY(count) = 0.300000;
7342  MY(liquidfriction) = 4;
7343  MY(size_min) = 2;
7344  MY(size_max) = 4;
7345  MY(staincolor_min) = "0x808080";
7346  MY(staincolor_max) = "0x808080";
7347  MY(staintex_min) = 16;
7348  MY(staintex_max) = 24;
7349  MY(tex_min) = 24;
7350  MY(tex_max) = 32;
7351  MY(type) = "blood";
7352  MY(velocityjitter) = '32.0 32.0 32.0';
7353  MY(velocitymultiplier) = 5;
7354 }
7355 // blood mist
7356 SUB(alien_damage_machinegun) {
7357  MY(alpha_min) = 100;
7358  MY(alpha_max) = 256;
7359  MY(alpha_fade) = 400;
7360  MY(color_min) = "0x000000";
7361  MY(color_max) = "0x204010";
7362  MY(count) = 1;
7363  MY(size_min) = 6;
7364  MY(size_max) = 12;
7365  MY(tex_max) = 8;
7366  MY(type) = "alphastatic";
7367 }
7368 
7369 // machinegun damage effect, robot blood
7370 DEF(robot_damage_machinegun);
7371 SUB(robot_damage_machinegun) {
7372  MY(airfriction) = 1;
7373  MY(alpha_min) = 256;
7374  MY(alpha_max) = 256;
7375  MY(alpha_fade) = 64;
7376  MY(bounce) = -1;
7377  MY(color_min) = "0xC0D890";
7378  MY(color_max) = "0xC0D890";
7379  MY(count) = 0.300000;
7380  MY(liquidfriction) = 4;
7381  MY(size_min) = 2;
7382  MY(size_max) = 4;
7383  MY(staincolor_min) = "0x808080";
7384  MY(staincolor_max) = "0x808080";
7385  MY(staintex_min) = 16;
7386  MY(staintex_max) = 24;
7387  MY(tex_min) = 24;
7388  MY(tex_max) = 32;
7389  MY(type) = "blood";
7390  MY(velocityjitter) = '32.0 32.0 32.0';
7391  MY(velocitymultiplier) = 5;
7392 }
7393 // blood mist
7394 SUB(robot_damage_machinegun) {
7395  MY(alpha_min) = 100;
7396  MY(alpha_max) = 256;
7397  MY(alpha_fade) = 400;
7398  MY(color_min) = "0x000000";
7399  MY(color_max) = "0x301860";
7400  MY(count) = 1;
7401  MY(size_min) = 6;
7402  MY(size_max) = 12;
7403  MY(tex_max) = 8;
7404  MY(type) = "alphastatic";
7405 }
7406 
7407 // minelayer damage effect
7408 DEF(damage_minelayer);
7409 SUB(damage_minelayer) {
7410  MY(alpha_min) = 512;
7411  MY(alpha_max) = 64;
7412  MY(alpha_fade) = 1024;
7413  MY(color_min) = "0x8f0d00";
7414  MY(color_max) = "0xff5a00";
7415  MY(count) = 3;
7416  MY(gravity) = -0.500000;
7417  MY(notunderwater) = true;
7418  MY(originjitter) = '2.0 2.0 2.0';
7419  MY(sizeincrease) = -15;
7420  MY(size_min) = 4;
7421  MY(size_max) = 8;
7422  MY(tex_min) = 48;
7423  MY(tex_max) = 55;
7424  MY(type) = "smoke";
7425  MY(velocityjitter) = '22.0 22.0 50.0';
7426 }
7427 // smoke
7428 SUB(damage_minelayer) {
7429  MY(alpha_min) = 128;
7430  MY(alpha_max) = 32;
7431  MY(alpha_fade) = 128;
7432  MY(color_min) = "0x000000";
7433  MY(color_max) = "0x111111";
7434  MY(count) = 2;
7435  MY(gravity) = -0.300000;
7436  MY(notunderwater) = true;
7437  MY(originjitter) = '4.0 4.0 4.0';
7438  MY(sizeincrease) = 5;
7439  MY(size_min) = 4;
7440  MY(size_max) = 8;
7441  MY(tex_max) = 8;
7442  MY(type) = "alphastatic";
7443  MY(velocityjitter) = '11.0 11.0 50.0';
7444 }
7445 
7446 // mortar damage effect
7447 DEF(damage_mortar);
7448 SUB(damage_mortar) {
7449  MY(alpha_min) = 512;
7450  MY(alpha_max) = 64;
7451  MY(alpha_fade) = 1024;
7452  MY(color_min) = "0x8f0d00";
7453  MY(color_max) = "0xff5a00";
7454  MY(count) = 3;
7455  MY(gravity) = -0.500000;
7456  MY(notunderwater) = true;
7457  MY(originjitter) = '2.0 2.0 2.0';
7458  MY(sizeincrease) = -15;
7459  MY(size_min) = 4;
7460  MY(size_max) = 8;
7461  MY(tex_min) = 48;
7462  MY(tex_max) = 55;
7463  MY(type) = "smoke";
7464  MY(velocityjitter) = '22.0 22.0 50.0';
7465 }
7466 // smoke
7467 SUB(damage_mortar) {
7468  MY(alpha_min) = 128;
7469  MY(alpha_max) = 32;
7470  MY(alpha_fade) = 128;
7471  MY(color_min) = "0x000000";
7472  MY(color_max) = "0x111111";
7473  MY(count) = 2;
7474  MY(gravity) = -0.300000;
7475  MY(notunderwater) = true;
7476  MY(originjitter) = '4.0 4.0 4.0';
7477  MY(sizeincrease) = 5;
7478  MY(size_min) = 4;
7479  MY(size_max) = 8;
7480  MY(tex_max) = 8;
7481  MY(type) = "alphastatic";
7482  MY(velocityjitter) = '11.0 11.0 50.0';
7483 }
7484 
7485 // arc damage effect
7486 DEF(damage_arc);
7487 SUB(damage_arc) {
7488  MY(airfriction) = -0.650000;
7489  MY(alpha_min) = 48;
7490  MY(alpha_max) = 8;
7491  MY(alpha_fade) = 48;
7492  MY(color_min) = "0x66ffff";
7493  MY(color_max) = "0x2288ff";
7494  MY(count) = 2;
7495  MY(gravity) = -0.000100;
7496  MY(liquidfriction) = 0.600000;
7497  MY(notunderwater) = true;
7498  MY(originjitter) = '2.0 2.0 2.0';
7499  MY(startangle_min) = 180;
7500  MY(startangle_max) = 360;
7501  MY(spin_min) = -30;
7502  MY(spin_max) = 30;
7503  MY(sizeincrease) = -14;
7504  MY(size_min) = 4;
7505  MY(size_max) = 8;
7506  MY(tex_min) = 47;
7507  MY(tex_max) = 47;
7508  MY(type) = "static";
7509  MY(velocityjitter) = '6.0 6.0 12.0';
7510 }
7511 // plasma smoke
7512 SUB(damage_arc) {
7513  MY(airfriction) = -0.500000;
7514  MY(alpha_min) = 64;
7515  MY(alpha_max) = 16;
7516  MY(alpha_fade) = 64;
7517  MY(color_min) = "0x2244ff";
7518  MY(color_max) = "0x002266";
7519  MY(count) = 4;
7520  MY(notunderwater) = true;
7521  MY(originjitter) = '3.0 3.0 3.0';
7522  MY(startangle_max) = 180;
7523  MY(spin_min) = -30;
7524  MY(spin_max) = 30;
7525  MY(sizeincrease) = 10;
7526  MY(size_min) = 3;
7527  MY(size_max) = 6;
7528  MY(tex_max) = 8;
7529  MY(type) = "smoke";
7530  MY(velocityjitter) = '0.3 0.3 0.5';
7531 }
7532 // bouncing sparks
7533 SUB(damage_arc) {
7534  MY(airfriction) = 1;
7535  MY(alpha_min) = 768;
7536  MY(alpha_max) = 64;
7537  MY(alpha_fade) = 256;
7538  MY(bounce) = 1.500000;
7539  MY(color_min) = "0x003090";
7540  MY(color_max) = "0x00CCFF";
7541  MY(count) = 0.500000;
7542  MY(gravity) = 0.150000;
7543  MY(liquidfriction) = 0.600000;
7544  MY(size_min) = 1;
7545  MY(size_max) = 1;
7546  MY(tex_min) = 66;
7547  MY(tex_max) = 68;
7548  MY(type) = "spark";
7549  MY(velocityjitter) = '24.0 24.0 24.0';
7550 }
7551 
7552 // electro damage effect
7553 DEF(damage_electro);
7554 SUB(damage_electro) {
7555  MY(airfriction) = -0.500000;
7556  MY(alpha_min) = 48;
7557  MY(alpha_max) = 8;
7558  MY(alpha_fade) = 48;
7559  MY(color_min) = "0x66ffff";
7560  MY(color_max) = "0x2288ff";
7561  MY(count) = 2;
7562  MY(gravity) = -0.000100;
7563  MY(liquidfriction) = 0.800000;
7564  MY(notunderwater) = true;
7565  MY(originjitter) = '3.0 3.0 3.0';
7566  MY(startangle_min) = 180;
7567  MY(startangle_max) = 360;
7568  MY(spin_min) = -30;
7569  MY(spin_max) = 30;
7570  MY(sizeincrease) = -14;
7571  MY(size_min) = 6;
7572  MY(size_max) = 10;
7573  MY(tex_min) = 47;
7574  MY(tex_max) = 47;
7575  MY(type) = "static";
7576  MY(velocityjitter) = '8.0 8.0 16.0';
7577 }
7578 // plasma smoke
7579 SUB(damage_electro) {
7580  MY(airfriction) = -0.350000;
7581  MY(alpha_min) = 64;
7582  MY(alpha_max) = 16;
7583  MY(alpha_fade) = 64;
7584  MY(color_min) = "0x2244ff";
7585  MY(color_max) = "0x002266";
7586  MY(count) = 4;
7587  MY(notunderwater) = true;
7588  MY(originjitter) = '4.0 4.0 4.0';
7589  MY(startangle_max) = 180;
7590  MY(spin_min) = -30;
7591  MY(spin_max) = 30;
7592  MY(sizeincrease) = 10;
7593  MY(size_min) = 4;
7594  MY(size_max) = 8;
7595  MY(tex_max) = 8;
7596  MY(type) = "smoke";
7597  MY(velocityjitter) = '0.4 0.4 0.6';
7598 }
7599 // bouncing sparks
7600 SUB(damage_electro) {
7601  MY(airfriction) = 1;
7602  MY(alpha_min) = 768;
7603  MY(alpha_max) = 64;
7604  MY(alpha_fade) = 256;
7605  MY(bounce) = 1.500000;
7606  MY(color_min) = "0x003090";
7607  MY(color_max) = "0x00CCFF";
7608  MY(count) = 0.500000;
7609  MY(gravity) = 0.200000;
7610  MY(liquidfriction) = 0.800000;
7611  MY(size_min) = 1;
7612  MY(size_max) = 1;
7613  MY(tex_min) = 66;
7614  MY(tex_max) = 68;
7615  MY(type) = "spark";
7616  MY(velocityjitter) = '32.0 32.0 32.0';
7617 }
7618 
7619 // crylink damage effect
7620 DEF(damage_crylink);
7621 SUB(damage_crylink) {
7622  MY(airfriction) = -0.500000;
7623  MY(alpha_min) = 48;
7624  MY(alpha_max) = 16;
7625  MY(alpha_fade) = 48;
7626  MY(color_min) = "0xff44ff";
7627  MY(color_max) = "0x9966ff";
7628  MY(count) = 2;
7629  MY(gravity) = -0.000100;
7630  MY(liquidfriction) = 0.800000;
7631  MY(notunderwater) = true;
7632  MY(originjitter) = '3.0 3.0 3.0';
7633  MY(startangle_min) = 180;
7634  MY(startangle_max) = 360;
7635  MY(spin_min) = -30;
7636  MY(spin_max) = 30;
7637  MY(sizeincrease) = -8;
7638  MY(size_min) = 0.500000;
7639  MY(size_max) = 1;
7640  MY(tex_min) = 38;
7641  MY(tex_max) = 38;
7642  MY(type) = "static";
7643  MY(velocityjitter) = '10.0 10.0 20.0';
7644 }
7645 // plasma smoke
7646 SUB(damage_crylink) {
7647  MY(airfriction) = -0.350000;
7648  MY(alpha_min) = 64;
7649  MY(alpha_max) = 16;
7650  MY(alpha_fade) = 64;
7651  MY(color_min) = "0x8844ff";
7652  MY(color_max) = "0x662244";
7653  MY(count) = 4;
7654  MY(gravity) = 0.001000;
7655  MY(notunderwater) = true;
7656  MY(originjitter) = '4.0 4.0 4.0';
7657  MY(startangle_max) = 180;
7658  MY(spin_min) = -30;
7659  MY(spin_max) = 30;
7660  MY(sizeincrease) = 6;
7661  MY(size_min) = 5;
7662  MY(size_max) = 10;
7663  MY(tex_max) = 8;
7664  MY(type) = "smoke";
7665  MY(velocityjitter) = '0.4 0.4 0.6';
7666 }
7667 // floating sparks
7668 SUB(damage_crylink) {
7669  MY(airfriction) = 0.200000;
7670  MY(alpha_min) = 192;
7671  MY(alpha_max) = 192;
7672  MY(alpha_fade) = 128;
7673  MY(color_min) = "0x903090";
7674  MY(color_max) = "0xFFD0FF";
7675  MY(count) = 0.300000;
7676  MY(liquidfriction) = 0.800000;
7677  MY(sizeincrease) = -5;
7678  MY(size_min) = 0.500000;
7679  MY(size_max) = 0.500000;
7680  MY(type) = "spark";
7681  MY(velocityjitter) = '12.0 12.0 12.0';
7682 }
7683 
7684 // hlac damage effect
7685 DEF(damage_hlac);
7686 SUB(damage_hlac) {
7687  MY(airfriction) = -0.350000;
7688  MY(alpha_min) = 128;
7689  MY(alpha_max) = 16;
7690  MY(alpha_fade) = 128;
7691  MY(color_min) = "0x880000";
7692  MY(color_max) = "0xff4400";
7693  MY(count) = 3;
7694  MY(notunderwater) = true;
7695  MY(originjitter) = '4.0 4.0 4.0';
7696  MY(startangle_max) = 180;
7697  MY(spin_min) = -30;
7698  MY(spin_max) = 30;
7699  MY(sizeincrease) = 10;
7700  MY(size_min) = 2;
7701  MY(size_max) = 4;
7702  MY(tex_max) = 8;
7703  MY(type) = "smoke";
7704  MY(velocityjitter) = '0.4 0.4 0.6';
7705 }
7706 
7707 // vortex damage effect
7708 DEF(damage_vortex);
7709 SUB(damage_vortex) {
7710  MY(airfriction) = -0.500000;
7711  MY(alpha_min) = 64;
7712  MY(alpha_max) = 8;
7713  MY(alpha_fade) = 64;
7714  MY(color_min) = "0xffffff";
7715  MY(color_max) = "0x88ffff";
7716  MY(count) = 1;
7717  MY(gravity) = -0.000100;
7718  MY(liquidfriction) = 0.600000;
7719  MY(originjitter) = '4.0 4.0 4.0';
7720  MY(startangle_min) = 180;
7721  MY(startangle_max) = 360;
7722  MY(spin_min) = -30;
7723  MY(spin_max) = 30;
7724  MY(sizeincrease) = -14;
7725  MY(size_min) = 5;
7726  MY(size_max) = 10;
7727  MY(tex_min) = 47;
7728  MY(tex_max) = 47;
7729  MY(type) = "static";
7730  MY(velocityjitter) = '8.0 8.0 16.0';
7731 }
7732 // plasma smoke
7733 SUB(damage_vortex) {
7734  MY(airfriction) = -0.350000;
7735  MY(alpha_min) = 64;
7736  MY(alpha_max) = 16;
7737  MY(alpha_fade) = 64;
7738  MY(color_min) = "0x6688ff";
7739  MY(color_max) = "0x226688";
7740  MY(count) = 2;
7741  MY(originjitter) = '2.0 2.0 2.0';
7742  MY(startangle_max) = 180;
7743  MY(spin_min) = -30;
7744  MY(spin_max) = 30;
7745  MY(sizeincrease) = 8;
7746  MY(size_min) = 4;
7747  MY(size_max) = 8;
7748  MY(tex_max) = 8;
7749  MY(type) = "smoke";
7750  MY(velocityjitter) = '0.5 0.5 0.8';
7751 }
7752 // bouncing sparks
7753 SUB(damage_vortex) {
7754  MY(airfriction) = 2;
7755  MY(alpha_min) = 255;
7756  MY(alpha_max) = 255;
7757  MY(alpha_fade) = 112;
7758  MY(bounce) = 1.600000;
7759  MY(color_min) = "0xD9FDFF";
7760  MY(color_max) = "0xD9FDFF";
7761  MY(count) = 0.200000;
7762  MY(gravity) = 1;
7763  MY(size_min) = 1;
7764  MY(size_max) = 1;
7765  MY(stretchfactor) = 0.700000;
7766  MY(tex_min) = 41;
7767  MY(tex_max) = 41;
7768  MY(type) = "spark";
7769  MY(velocityjitter) = '100.0 100.0 300.0';
7770  MY(velocitymultiplier) = 3;
7771 }
7772 
7773 // vaporizer damage effect
7774 DEF(damage_vaporizer);
7775 SUB(damage_vaporizer) {
7776  MY(airfriction) = -0.500000;
7777  MY(alpha_min) = 64;
7778  MY(alpha_max) = 8;
7779  MY(alpha_fade) = 64;
7780  MY(color_min) = "0xffffff";
7781  MY(color_max) = "0x88ffff";
7782  MY(count) = 2;
7783  MY(gravity) = -0.000100;
7784  MY(liquidfriction) = 0.600000;
7785  MY(originjitter) = '4.0 4.0 4.0';
7786  MY(startangle_min) = 180;
7787  MY(startangle_max) = 360;
7788  MY(spin_min) = -30;
7789  MY(spin_max) = 30;
7790  MY(sizeincrease) = -14;
7791  MY(size_min) = 5;
7792  MY(size_max) = 10;
7793  MY(tex_min) = 47;
7794  MY(tex_max) = 47;
7795  MY(type) = "static";
7796  MY(velocityjitter) = '8.0 8.0 16.0';
7797 }
7798 // plasma smoke
7799 SUB(damage_vaporizer) {
7800  MY(airfriction) = -0.350000;
7801  MY(alpha_min) = 64;
7802  MY(alpha_max) = 16;
7803  MY(alpha_fade) = 64;
7804  MY(color_min) = "0x6688ff";
7805  MY(color_max) = "0x226688";
7806  MY(count) = 4;
7807  MY(originjitter) = '2.0 2.0 2.0';
7808  MY(startangle_max) = 180;
7809  MY(spin_min) = -30;
7810  MY(spin_max) = 30;
7811  MY(sizeincrease) = 8;
7812  MY(size_min) = 4;
7813  MY(size_max) = 8;
7814  MY(tex_max) = 8;
7815  MY(type) = "smoke";
7816  MY(velocityjitter) = '0.5 0.5 0.8';
7817 }
7818 // bouncing sparks
7819 SUB(damage_vaporizer) {
7820  MY(airfriction) = 2;
7821  MY(alpha_min) = 255;
7822  MY(alpha_max) = 255;
7823  MY(alpha_fade) = 112;
7824  MY(bounce) = 1.600000;
7825  MY(color_min) = "0xD9FDFF";
7826  MY(color_max) = "0xD9FDFF";
7827  MY(count) = 0.200000;
7828  MY(gravity) = 1;
7829  MY(size_min) = 1;
7830  MY(size_max) = 1;
7831  MY(stretchfactor) = 0.700000;
7832  MY(tex_min) = 41;
7833  MY(tex_max) = 41;
7834  MY(type) = "spark";
7835  MY(velocityjitter) = '100.0 100.0 300.0';
7836  MY(velocitymultiplier) = 3;
7837 }
7838 
7839 // rifle damage effect, normal blood
7840 DEF(damage_rifle);
7841 SUB(damage_rifle) {
7842  MY(airfriction) = 1;
7843  MY(alpha_min) = 256;
7844  MY(alpha_max) = 256;
7845  MY(alpha_fade) = 64;
7846  MY(bounce) = -1;
7847  MY(color_min) = "0xA8FFFF";
7848  MY(color_max) = "0xA8FFFFF";
7849  MY(count) = 0.300000;
7850  MY(liquidfriction) = 4;
7851  MY(size_min) = 2;
7852  MY(size_max) = 4;
7853  MY(staincolor_min) = "0x808080";
7854  MY(staincolor_max) = "0x808080";
7855  MY(staintex_min) = 16;
7856  MY(staintex_max) = 24;
7857  MY(tex_min) = 24;
7858  MY(tex_max) = 32;
7859  MY(type) = "blood";
7860  MY(velocityjitter) = '32.0 32.0 32.0';
7861  MY(velocitymultiplier) = 5;
7862 }
7863 // blood mist
7864 SUB(damage_rifle) {
7865  MY(alpha_min) = 100;
7866  MY(alpha_max) = 256;
7867  MY(alpha_fade) = 400;
7868  MY(color_min) = "0x000000";
7869  MY(color_max) = "0x420000";
7870  MY(count) = 1;
7871  MY(size_min) = 6;
7872  MY(size_max) = 12;
7873  MY(tex_max) = 8;
7874  MY(type) = "alphastatic";
7875 }
7876 
7877 // rifle damage effect, alien blood
7878 DEF(damage_rifle_alien);
7879 SUB(damage_rifle_alien) {
7880  MY(airfriction) = 1;
7881  MY(alpha_min) = 256;
7882  MY(alpha_max) = 256;
7883  MY(alpha_fade) = 64;
7884  MY(bounce) = -1;
7885  MY(color_min) = "0xDC9BCD";
7886  MY(color_max) = "0xDC9BCD";
7887  MY(count) = 0.300000;
7888  MY(liquidfriction) = 4;
7889  MY(size_min) = 2;
7890  MY(size_max) = 4;
7891  MY(staincolor_min) = "0x808080";
7892  MY(staincolor_max) = "0x808080";
7893  MY(staintex_min) = 16;
7894  MY(staintex_max) = 24;
7895  MY(tex_min) = 24;
7896  MY(tex_max) = 32;
7897  MY(type) = "blood";
7898  MY(velocityjitter) = '32.0 32.0 32.0';
7899  MY(velocitymultiplier) = 5;
7900 }
7901 // blood mist
7902 SUB(damage_rifle_alien) {
7903  MY(alpha_min) = 100;
7904  MY(alpha_max) = 256;
7905  MY(alpha_fade) = 400;
7906  MY(color_min) = "0x000000";
7907  MY(color_max) = "0x204010";
7908  MY(count) = 1;
7909  MY(size_min) = 6;
7910  MY(size_max) = 12;
7911  MY(tex_max) = 8;
7912  MY(type) = "alphastatic";
7913 }
7914 
7915 // rifle damage effect, robot blood
7916 DEF(damage_rifle_robot);
7917 SUB(damage_rifle_robot) {
7918  MY(airfriction) = 1;
7919  MY(alpha_min) = 256;
7920  MY(alpha_max) = 256;
7921  MY(alpha_fade) = 64;
7922  MY(bounce) = -1;
7923  MY(color_min) = "0xC0D890";
7924  MY(color_max) = "0xC0D890";
7925  MY(count) = 0.300000;
7926  MY(liquidfriction) = 4;
7927  MY(size_min) = 2;
7928  MY(size_max) = 4;
7929  MY(staincolor_min) = "0x808080";
7930  MY(staincolor_max) = "0x808080";
7931  MY(staintex_min) = 16;
7932  MY(staintex_max) = 24;
7933  MY(tex_min) = 24;
7934  MY(tex_max) = 32;
7935  MY(type) = "blood";
7936  MY(velocityjitter) = '32.0 32.0 32.0';
7937  MY(velocitymultiplier) = 5;
7938 }
7939 // blood mist
7940 SUB(damage_rifle_robot) {
7941  MY(alpha_min) = 100;
7942  MY(alpha_max) = 256;
7943  MY(alpha_fade) = 400;
7944  MY(color_min) = "0x000000";
7945  MY(color_max) = "0x301860";
7946  MY(count) = 1;
7947  MY(size_min) = 6;
7948  MY(size_max) = 12;
7949  MY(tex_max) = 8;
7950  MY(type) = "alphastatic";
7951 }
7952 
7953 // seeker damage effect
7954 DEF(damage_seeker);
7955 SUB(damage_seeker) {
7956  MY(alpha_min) = 512;
7957  MY(alpha_max) = 32;
7958  MY(alpha_fade) = 1024;
7959  MY(color_min) = "0x8f0c00";
7960  MY(color_max) = "0xff2200";
7961  MY(count) = 3;
7962  MY(gravity) = -0.300000;
7963  MY(notunderwater) = true;
7964  MY(originjitter) = '2.0 2.0 2.0';
7965  MY(sizeincrease) = -10;
7966  MY(size_min) = 4;
7967  MY(size_max) = 8;
7968  MY(tex_min) = 48;
7969  MY(tex_max) = 55;
7970  MY(type) = "smoke";
7971  MY(velocityjitter) = '22.0 22.0 50.0';
7972 }
7973 // smoke
7974 SUB(damage_seeker) {
7975  MY(alpha_min) = 128;
7976  MY(alpha_max) = 32;
7977  MY(alpha_fade) = 128;
7978  MY(color_min) = "0x000000";
7979  MY(color_max) = "0x111111";
7980  MY(count) = 2;
7981  MY(gravity) = -0.300000;
7982  MY(notunderwater) = true;
7983  MY(originjitter) = '4.0 4.0 4.0';
7984  MY(sizeincrease) = 10;
7985  MY(size_min) = 2;
7986  MY(size_max) = 4;
7987  MY(tex_max) = 8;
7988  MY(type) = "alphastatic";
7989  MY(velocityjitter) = '11.0 11.0 50.0';
7990 }
7991 
7992 // hagar damage effect
7993 DEF(damage_hagar);
7994 SUB(damage_hagar) {
7995  MY(alpha_min) = 512;
7996  MY(alpha_max) = 32;
7997  MY(alpha_fade) = 1024;
7998  MY(color_min) = "0x8f0c00";
7999  MY(color_max) = "0xff3a00";
8000  MY(count) = 3;
8001  MY(gravity) = -0.300000;
8002  MY(notunderwater) = true;
8003  MY(originjitter) = '2.0 2.0 2.0';
8004  MY(sizeincrease) = -10;
8005  MY(size_min) = 4;
8006  MY(size_max) = 8;
8007  MY(tex_min) = 48;
8008  MY(tex_max) = 55;
8009  MY(type) = "smoke";
8010  MY(velocityjitter) = '22.0 22.0 50.0';
8011 }
8012 // smoke
8013 SUB(damage_hagar) {
8014  MY(alpha_min) = 128;
8015  MY(alpha_max) = 32;
8016  MY(alpha_fade) = 128;
8017  MY(color_min) = "0x000000";
8018  MY(color_max) = "0x111111";
8019  MY(count) = 2;
8020  MY(gravity) = -0.300000;
8021  MY(notunderwater) = true;
8022  MY(originjitter) = '4.0 4.0 4.0';
8023  MY(sizeincrease) = 10;
8024  MY(size_min) = 2;
8025  MY(size_max) = 4;
8026  MY(tex_max) = 8;
8027  MY(type) = "alphastatic";
8028  MY(velocityjitter) = '11.0 11.0 50.0';
8029 }
8030 
8031 // fireball damage effect
8032 DEF(damage_fireball);
8033 SUB(damage_fireball) {
8034  MY(alpha_min) = 256;
8035  MY(alpha_max) = 16;
8036  MY(alpha_fade) = 512;
8037  MY(color_min) = "0x8f0d00";
8038  MY(color_max) = "0xff5a00";
8039  MY(count) = 4;
8040  MY(gravity) = -0.500000;
8041  MY(notunderwater) = true;
8042  MY(originjitter) = '8.0 8.0 8.0';
8043  MY(sizeincrease) = -10;
8044  MY(size_min) = 5;
8045  MY(size_max) = 10;
8046  MY(tex_min) = 48;
8047  MY(tex_max) = 55;
8048  MY(type) = "smoke";
8049  MY(velocityjitter) = '22.0 22.0 50.0';
8050 }
8051 // smoke
8052 SUB(damage_fireball) {
8053  MY(alpha_min) = 128;
8054  MY(alpha_max) = 32;
8055  MY(alpha_fade) = 128;
8056  MY(color_min) = "0x000000";
8057  MY(color_max) = "0x111111";
8058  MY(count) = 4;
8059  MY(gravity) = -0.300000;
8060  MY(notunderwater) = true;
8061  MY(originjitter) = '6.0 6.0 6.0';
8062  MY(sizeincrease) = 10;
8063  MY(size_min) = 4;
8064  MY(size_max) = 8;
8065  MY(tex_max) = 8;
8066  MY(type) = "alphastatic";
8067  MY(velocityjitter) = '11.0 11.0 50.0';
8068 }
8069 
8070 // rocketlauncher damage effect
8071 DEF(damage_devastator);
8072 SUB(damage_devastator) {
8073  MY(alpha_min) = 512;
8074  MY(alpha_max) = 64;
8075  MY(alpha_fade) = 1024;
8076  MY(color_min) = "0x8f0c00";
8077  MY(color_max) = "0xff2a00";
8078  MY(count) = 3;
8079  MY(gravity) = -0.700000;
8080  MY(notunderwater) = true;
8081  MY(originjitter) = '4.0 4.0 4.0';
8082  MY(sizeincrease) = -10;
8083  MY(size_min) = 5;
8084  MY(size_max) = 10;
8085  MY(tex_min) = 48;
8086  MY(tex_max) = 55;
8087  MY(type) = "smoke";
8088  MY(velocityjitter) = '22.0 22.0 30.0';
8089 }
8090 // smoke
8091 SUB(damage_devastator) {
8092  MY(alpha_min) = 128;
8093  MY(alpha_max) = 32;
8094  MY(alpha_fade) = 128;
8095  MY(color_min) = "0x000000";
8096  MY(color_max) = "0x111111";
8097  MY(count) = 3;
8098  MY(gravity) = -0.300000;
8099  MY(notunderwater) = true;
8100  MY(originjitter) = '4.0 4.0 4.0';
8101  MY(sizeincrease) = 10;
8102  MY(size_min) = 4;
8103  MY(size_max) = 8;
8104  MY(tex_max) = 8;
8105  MY(type) = "alphastatic";
8106  MY(velocityjitter) = '11.0 11.0 50.0';
8107 }
8108 
8109 // fireflies
8110 DEF(fireflies);
8111 SUB(fireflies) {
8112  MY(airfriction) = 5;
8113  MY(alpha_min) = 256;
8114  MY(alpha_max) = 256;
8115  MY(alpha_fade) = 70;
8116  MY(bounce) = -1;
8117  MY(color_min) = "0xff9600";
8118  MY(color_max) = "0xffefb8";
8119  MY(count) = 1;
8120  MY(originjitter) = '32.0 32.0 32.0';
8121  MY(originoffset) = '8.0 8.0 8.0';
8122  MY(sizeincrease) = -0.300000;
8123  MY(size_min) = 2;
8124  MY(size_max) = 3;
8125  MY(tex_min) = 38;
8126  MY(tex_max) = 38;
8127  MY(time_min) = 1;
8128  MY(time_max) = 2;
8129  MY(type) = "static";
8130  MY(velocityjitter) = '64.0 64.0 64.0';
8131  MY(velocityoffset) = '2.0 2.0 2.0';
8132 }
8133 
8134 DEF(healray_muzzleflash);
8135 SUB(healray_muzzleflash) {
8136  MY(alpha_min) = 256;
8137  MY(alpha_max) = 256;
8138  MY(alpha_fade) = 512;
8139  MY(color_min) = "0x283880";
8140  MY(color_max) = "0x283880";
8141  MY(countabsolute) = 1;
8142  MY(lightcolor) = '1.5 3.0 6.0';
8143  MY(lightradiusfade) = 2000;
8144  MY(lightradius) = 200;
8145  MY(originjitter) = '1.5 1.5 1.5';
8146  MY(sizeincrease) = -10;
8147  MY(size_min) = 20;
8148  MY(size_max) = 20;
8149  MY(tex_min) = 65;
8150  MY(tex_max) = 65;
8151  MY(type) = "smoke";
8152  MY(velocityjitter) = '6.0 6.0 6.0';
8153  MY(velocitymultiplier) = 0.010000;
8154 }
8155 SUB(healray_muzzleflash) {
8156  MY(airfriction) = 5;
8157  MY(alpha_min) = 50;
8158  MY(alpha_max) = 150;
8159  MY(alpha_fade) = 1924;
8160  MY(color_min) = "0xD9FDFF";
8161  MY(color_max) = "0x00f0ff";
8162  MY(count) = 22;
8163  MY(originjitter) = '1.0 1.0 1.0';
8164  MY(sizeincrease) = 3;
8165  MY(size_min) = 1;
8166  MY(size_max) = 15;
8167  MY(stretchfactor) = 3.900000;
8168  MY(tex_min) = 71;
8169  MY(tex_max) = 73;
8170  MY(type) = "spark";
8171  MY(velocityjitter) = '150.0 150.0 150.0';
8172  MY(velocitymultiplier) = 0.400000;
8173 }
8174 SUB(healray_muzzleflash) {
8175  MY(alpha_min) = 110;
8176  MY(alpha_max) = 228;
8177  MY(alpha_fade) = 4024;
8178  MY(color_min) = "0xD9FDFF";
8179  MY(color_max) = "0x00f0ff";
8180  MY(count) = 4;
8181  MY(originjitter) = '1.0 1.0 1.0';
8182  MY(size_min) = 1;
8183  MY(size_max) = 1;
8184  MY(stretchfactor) = 0.200000;
8185  MY(tex_min) = 70;
8186  MY(tex_max) = 70;
8187  MY(type) = "spark";
8188  MY(velocityjitter) = '650.0 650.0 650.0';
8189  MY(velocitymultiplier) = 1.100000;
8190 }
8191 
8192 DEF(healray_impact);
8193 SUB(healray_impact) {
8194  MY(alpha_min) = 256;
8195  MY(alpha_max) = 256;
8196  MY(color_min) = "0xd800ff";
8197  MY(color_max) = "0xd800ff";
8198  MY(countabsolute) = 1;
8199  MY(lightcolor) = '0.0 4.4 0.0';
8200  MY(lightradiusfade) = 450;
8201  MY(lightradius) = 125;
8202  MY(originjitter) = '17.0 17.0 17.0';
8203  MY(size_min) = 32;
8204  MY(size_max) = 32;
8205  MY(tex_min) = 59;
8206  MY(tex_max) = 59;
8207  MY(type) = "decal";
8208 }
8209 // shockwave
8210 SUB(healray_impact) {
8211  MY(alpha_min) = 40;
8212  MY(alpha_max) = 40;
8213  MY(alpha_fade) = 350;
8214  MY(color_min) = "0x00ff00";
8215  MY(color_max) = "0x84c52f";
8216  MY(countabsolute) = 1;
8217  MY(sizeincrease) = 1400;
8218  MY(size_min) = 32;
8219  MY(size_max) = 32;
8220  MY(tex_min) = 33;
8221  MY(tex_max) = 33;
8222  MY(type) = "smoke";
8223  MY(velocitymultiplier) = 44;
8224 }
8225 // cloud of bouncing sparks
8226 SUB(healray_impact) {
8227  MY(airfriction) = 6;
8228  MY(alpha_min) = 156;
8229  MY(alpha_max) = 300;
8230  MY(alpha_fade) = 1024;
8231  MY(color_min) = "0x00ff00";
8232  MY(color_max) = "0x84c52f";
8233  MY(count) = 30;
8234  MY(gravity) = 2;
8235  MY(originjitter) = '1.0 1.0 1.0';
8236  MY(size_min) = 1;
8237  MY(size_max) = 2;
8238  MY(tex_min) = 70;
8239  MY(tex_max) = 70;
8240  MY(type) = "spark";
8241  MY(velocityjitter) = '1112.0 1112.0 1112.0';
8242 }
8243 // inner cloud of smoke
8244 SUB(healray_impact) {
8245  MY(airfriction) = 3;
8246  MY(alpha_min) = 200;
8247  MY(alpha_max) = 456;
8248  MY(alpha_fade) = 512;
8249  MY(color_min) = "0x00ff00";
8250  MY(color_max) = "0x84c52f";
8251  MY(count) = 15;
8252  MY(gravity) = -2;
8253  MY(startangle_min) = -180;
8254  MY(startangle_max) = 180;
8255  MY(spin_min) = -90;
8256  MY(spin_max) = 90;
8257  MY(size_min) = 2;
8258  MY(size_max) = 3;
8259  MY(tex_min) = 40;
8260  MY(tex_max) = 40;
8261  MY(type) = "smoke";
8262  MY(velocityjitter) = '120.0 120.0 420.0';
8263 }
8264 
8265 DEF(bigplasma_muzzleflash);
8266 SUB(bigplasma_muzzleflash) {
8267  MY(alpha_min) = 256;
8268  MY(alpha_max) = 256;
8269  MY(alpha_fade) = 812;
8270  MY(color_min) = "0x283880";
8271  MY(color_max) = "0x283880";
8272  MY(countabsolute) = 1;
8273  MY(lightcolor) = '1.5 3.0 6.0';
8274  MY(lightradiusfade) = 2000;
8275  MY(lightradius) = 200;
8276  MY(originjitter) = '1.5 1.5 1.5';
8277  MY(sizeincrease) = -10;
8278  MY(size_min) = 50;
8279  MY(size_max) = 50;
8280  MY(tex_min) = 65;
8281  MY(tex_max) = 65;
8282  MY(type) = "smoke";
8283  MY(velocityjitter) = '6.0 6.0 6.0';
8284  MY(velocitymultiplier) = 0.010000;
8285 }
8286 SUB(bigplasma_muzzleflash) {
8287  MY(alpha_min) = 56;
8288  MY(alpha_max) = 56;
8289  MY(alpha_fade) = 1112;
8290  MY(color_min) = "0x00f0ff";
8291  MY(color_max) = "0x00f0ff";
8292  MY(countabsolute) = 1;
8293  MY(sizeincrease) = 300;
8294  MY(size_min) = 20;
8295  MY(size_max) = 20;
8296  MY(tex_min) = 74;
8297  MY(tex_max) = 74;
8298  MY(type) = "smoke";
8299 }
8300 SUB(bigplasma_muzzleflash) {
8301  MY(airfriction) = 5;
8302  MY(alpha_min) = 50;
8303  MY(alpha_max) = 150;
8304  MY(alpha_fade) = 1924;
8305  MY(color_min) = "0xD9FDFF";
8306  MY(color_max) = "0x00f0ff";
8307  MY(count) = 14;
8308  MY(originjitter) = '1.0 1.0 1.0';
8309  MY(sizeincrease) = 135;
8310  MY(size_min) = 5;
8311  MY(size_max) = 10;
8312  MY(stretchfactor) = 1.900000;
8313  MY(tex_min) = 51;
8314  MY(tex_max) = 55;
8315  MY(type) = "spark";
8316  MY(velocityjitter) = '350.0 350.0 350.0';
8317  MY(velocitymultiplier) = 0.400000;
8318 }
8319 SUB(bigplasma_muzzleflash) {
8320  MY(alpha_min) = 110;
8321  MY(alpha_max) = 228;
8322  MY(alpha_fade) = 4024;
8323  MY(color_min) = "0xD9FDFF";
8324  MY(color_max) = "0x00f0ff";
8325  MY(count) = 4;
8326  MY(originjitter) = '1.0 1.0 1.0';
8327  MY(size_min) = 20;
8328  MY(size_max) = 20;
8329  MY(stretchfactor) = 0.200000;
8330  MY(tex_min) = 70;
8331  MY(tex_max) = 70;
8332  MY(type) = "spark";
8333  MY(velocityjitter) = '650.0 650.0 650.0';
8334  MY(velocitymultiplier) = 1.100000;
8335 }
8336 
8337 DEF(bigplasma_impact);
8338 SUB(bigplasma_impact) {
8339  MY(alpha_min) = 256;
8340  MY(alpha_max) = 256;
8341  MY(countabsolute) = 1;
8342  MY(lightcolor) = '3.1 4.4 10.0';
8343  MY(lightradiusfade) = 450;
8344  MY(lightradius) = 125;
8345  MY(originjitter) = '17.0 17.0 17.0';
8346  MY(size_min) = 32;
8347  MY(size_max) = 32;
8348  MY(tex_min) = 59;
8349  MY(tex_max) = 59;
8350  MY(type) = "decal";
8351 }
8352 // shockwave
8353 SUB(bigplasma_impact) {
8354  MY(alpha_min) = 40;
8355  MY(alpha_max) = 40;
8356  MY(alpha_fade) = 350;
8357  MY(color_min) = "0x80C0FF";
8358  MY(color_max) = "0x80C0FF";
8359  MY(countabsolute) = 1;
8360  MY(sizeincrease) = 1400;
8361  MY(size_min) = 32;
8362  MY(size_max) = 32;
8363  MY(tex_min) = 33;
8364  MY(tex_max) = 33;
8365  MY(type) = "smoke";
8366  MY(velocitymultiplier) = 44;
8367 }
8368 // cloud of bouncing sparks
8369 SUB(bigplasma_impact) {
8370  MY(airfriction) = 6;
8371  MY(alpha_min) = 156;
8372  MY(alpha_max) = 300;
8373  MY(alpha_fade) = 1024;
8374  MY(color_min) = "0x629dff";
8375  MY(color_max) = "0x0018ff";
8376  MY(count) = 30;
8377  MY(gravity) = 2;
8378  MY(originjitter) = '1.0 1.0 1.0';
8379  MY(size_min) = 1;
8380  MY(size_max) = 2;
8381  MY(tex_min) = 70;
8382  MY(tex_max) = 70;
8383  MY(type) = "spark";
8384  MY(velocityjitter) = '1512.0 1512.0 1512.0';
8385 }
8386 // inner cloud of smoke
8387 SUB(bigplasma_impact) {
8388  MY(airfriction) = 30;
8389  MY(alpha_min) = 200;
8390  MY(alpha_max) = 456;
8391  MY(alpha_fade) = 1512;
8392  MY(color_min) = "0x629dff";
8393  MY(color_max) = "0x0018ff";
8394  MY(count) = 15;
8395  MY(originjitter) = '20.0 20.0 20.0';
8396  MY(startangle_min) = -180;
8397  MY(startangle_max) = 180;
8398  MY(spin_min) = -9;
8399  MY(spin_max) = 9;
8400  MY(sizeincrease) = 555;
8401  MY(size_min) = 20;
8402  MY(size_max) = 24;
8403  MY(tex_min) = 48;
8404  MY(tex_max) = 55;
8405  MY(type) = "smoke";
8406  MY(velocityjitter) = '320.0 320.0 320.0';
8407 }
8408 // smoke
8409 SUB(bigplasma_impact) {
8410  MY(airfriction) = 0.040000;
8411  MY(alpha_min) = 128;
8412  MY(alpha_max) = 328;
8413  MY(alpha_fade) = 390;
8414  MY(blend) = "alpha";
8415  MY(color_min) = "0x222222";
8416  MY(color_max) = "0x000000";
8417  MY(count) = 16;
8418  MY(gravity) = 0.400000;
8419  MY(originjitter) = '80.0 80.0 10.0';
8420  MY(startangle_min) = -180;
8421  MY(startangle_max) = 180;
8422  MY(spin_min) = 2;
8423  MY(spin_max) = -2;
8424  MY(sizeincrease) = 30;
8425  MY(size_min) = 60;
8426  MY(size_max) = 30;
8427  MY(tex_max) = 7;
8428  MY(type) = "smoke";
8429  MY(velocityjitter) = '100.0 100.0 200.0';
8430  MY(velocityoffset) = '0.0 0.0 180.0';
8431 }
8432 // smoke in the middle
8433 SUB(bigplasma_impact) {
8434  MY(airfriction) = 0.040000;
8435  MY(alpha_min) = 128;
8436  MY(alpha_max) = 328;
8437  MY(alpha_fade) = 310;
8438  MY(color_min) = "0x222222";
8439  MY(color_max) = "0x000000";
8440  MY(count) = 10;
8441  MY(gravity) = -0.200000;
8442  MY(originjitter) = '80.0 80.0 80.0';
8443  MY(startangle_min) = -180;
8444  MY(startangle_max) = 180;
8445  MY(spin_min) = 20;
8446  MY(spin_max) = -20;
8447  MY(sizeincrease) = -10;
8448  MY(size_min) = 60;
8449  MY(size_max) = 70;
8450  MY(tex_max) = 7;
8451  MY(type) = "alphastatic";
8452  MY(velocityjitter) = '10.0 10.0 10.0';
8453 }
8454 
8455 #include "effectinfo_ctf.inc"
8456 
8457 // spawn_point -- team idle spawn point effect
8458 #define spawn_point(name, color) \
8459  DEF(spawn_point_##name); \
8460  SUB(spawn_point_##name) { \
8461  MY(airfriction) = 0.200000; \
8462  MY(alpha_min) = 64; \
8463  MY(alpha_max) = 128; \
8464  MY(alpha_fade) = 128; \
8465  MY(color_min) = color; \
8466  MY(color_max) = color; \
8467  MY(count) = 37.500000; \
8468  MY(gravity) = -0.100000; \
8469  MY(liquidfriction) = 0.800000; \
8470  MY(originjitter) = '16.0 16.0 64.0'; \
8471  MY(size_min) = 1; \
8472  MY(size_max) = 2; \
8473  MY(type) = "static"; \
8474  MY(velocityjitter) = '32.0 32.0 0.0'; \
8475  }
8476 
8477 spawn_point(red, "0xFF0F0F")
8478 spawn_point(blue, "0x0F0FFF")
8479 spawn_point(yellow, "0xFFFF0F")
8480 spawn_point(pink, "0xFF0FFF")
8481 spawn_point(neutral, "0xFFFFFF")
8482 #undef spawn_point
8483 
8484 // spawn_event -- team spawning effect
8485 #define spawn_event(name, color) \
8486  DEF(spawn_event_##name); \
8487  SUB(spawn_event_##name) { \
8488  MY(airfriction) = 2; \
8489  MY(alpha_max) = 256; \
8490  MY(alpha_fade) = 256; \
8491  MY(bounce) = 1; \
8492  MY(color_min) = color; \
8493  MY(color_max) = color; \
8494  MY(count) = 100; \
8495  MY(originjitter) = '1.0 1.0 1.0'; \
8496  MY(size_min) = 1; \
8497  MY(size_max) = 1; \
8498  MY(stretchfactor) = 0.600000; \
8499  MY(tex_min) = 64; \
8500  MY(tex_max) = 64; \
8501  MY(type) = "spark"; \
8502  MY(velocityjitter) = '500.0 500.0 500.0'; \
8503  MY(velocitymultiplier) = 0.100000; \
8504  } \
8505  SUB(spawn_event_##name) { \
8506  MY(alpha_min) = 190; \
8507  MY(alpha_max) = 190; \
8508  MY(alpha_fade) = 180; \
8509  MY(color_min) = color; \
8510  MY(color_max) = color; \
8511  MY(countabsolute) = 1; \
8512  MY(sizeincrease) = -80; \
8513  MY(size_min) = 100; \
8514  MY(size_max) = 100; \
8515  MY(tex_min) = 65; \
8516  MY(tex_max) = 65; \
8517  MY(type) = "smoke"; \
8518  } \
8519 
8520 
8521 spawn_event(red, "0xFF0F0F")
8522 spawn_event(blue, "0x0F0FFF")
8523 spawn_event(yellow, "0xFFFF0F")
8524 spawn_event(pink, "0xFF0FFF")
8525 spawn_event(neutral, "0xFFFFFF")
8526 #undef spawn_event
8527 
8528 #include "effectinfo_nades.inc"
8529 
8530 DEF(shockwave_attack);
8531 // electricity
8532 SUB(shockwave_attack) {
8533  MY(airfriction) = 1;
8534  MY(alpha_min) = 4096;
8535  MY(alpha_max) = 4096;
8536  MY(alpha_fade) = 20000;
8537  MY(color_min) = "0xb44215";
8538  MY(color_max) = "0xff0000";
8539  MY(count) = 1;
8540  MY(originjitter) = '2.0 2.0 2.0';
8541  MY(startangle_min) = -180;
8542  MY(startangle_max) = 180;
8543  MY(spin_min) = 4000;
8544  MY(spin_max) = -4000;
8545  MY(sizeincrease) = 1.500000;
8546  MY(size_min) = 5;
8547  MY(size_max) = 7;
8548  MY(stretchfactor) = 2.300000;
8549  MY(tex_min) = 43;
8550  MY(tex_max) = 43;
8551  MY(type) = "spark";
8552  MY(velocityjitter) = '10.0 10.0 10.0';
8553  MY(velocitymultiplier) = 10;
8554 }
8555 // fire
8556 SUB(shockwave_attack) {
8557  MY(airfriction) = 1;
8558  MY(alpha_min) = 4096;
8559  MY(alpha_max) = 4096;
8560  MY(alpha_fade) = 20000;
8561  MY(color_min) = "0xff4200";
8562  MY(color_max) = "0xff0000";
8563  MY(count) = 1;
8564  MY(originjitter) = '2.0 2.0 2.0';
8565  MY(sizeincrease) = 1.500000;
8566  MY(size_min) = 7;
8567  MY(size_max) = 9;
8568  MY(stretchfactor) = 2;
8569  MY(tex_min) = 8;
8570  MY(tex_max) = 15;
8571  MY(type) = "spark";
8572  MY(velocityjitter) = '10.0 10.0 10.0';
8573  MY(velocitymultiplier) = 10;
8574 }
8575 
8576 DEF(arc_lightning);
8577 // impact decal
8578 SUB(arc_lightning) {
8579  MY(alpha_min) = 32;
8580  MY(alpha_max) = 32;
8581  MY(countabsolute) = 1;
8582  MY(lightcolor) = '3.1 4.4 10.0';
8583  MY(lightradiusfade) = 200;
8584  MY(lightradius) = 50;
8585  MY(originjitter) = '2.0 2.0 2.0';
8586  MY(size_min) = 16;
8587  MY(size_max) = 16;
8588  MY(tex_min) = 16;
8589  MY(tex_max) = 32;
8590  MY(type) = "decal";
8591 }
8592 // impact sparks
8593 SUB(arc_lightning) {
8594  MY(airfriction) = 110;
8595  MY(alpha_min) = 256;
8596  MY(alpha_max) = 256;
8597  MY(alpha_fade) = 512;
8598  MY(color_min) = "0xDDFDFF";
8599  MY(color_max) = "0xFDFDFF";
8600  MY(count) = 100;
8601  MY(originjitter) = '20.0 20.0 20.0';
8602  MY(startangle_max) = 360;
8603  MY(spin_min) = -36000;
8604  MY(spin_max) = 36000;
8605  MY(sizeincrease) = -5;
8606  MY(size_max) = 5;
8607  MY(stretchfactor) = 1;
8608  MY(tex_min) = 71;
8609  MY(tex_max) = 74;
8610  MY(type) = "static";
8611  MY(velocityjitter) = '250.0 250.0 250.0';
8612  MY(velocitymultiplier) = 100;
8613 }
8614 // impact sparks (underwater)
8615 SUB(arc_lightning) {
8616  MY(airfriction) = 5;
8617  MY(alpha_min) = 256;
8618  MY(alpha_max) = 256;
8619  MY(alpha_fade) = 512;
8620  MY(color_min) = "0xDDFDFF";
8621  MY(color_max) = "0xFDFDFF";
8622  MY(count) = 100;
8623  MY(liquidfriction) = 5;
8624  MY(orientation) = "spark";
8625  MY(originjitter) = '20.0 20.0 20.0';
8626  MY(startangle_max) = 360;
8627  MY(spin_min) = -36000;
8628  MY(spin_max) = 36000;
8629  MY(sizeincrease) = -5;
8630  MY(size_max) = 5;
8631  MY(stretchfactor) = 1;
8632  MY(tex_min) = 71;
8633  MY(tex_max) = 74;
8634  MY(type) = "static";
8635  MY(underwater) = true;
8636  MY(velocityjitter) = '250.0 250.0 250.0';
8637  MY(velocitymultiplier) = 20;
8638 }
8639 // impact smoke
8640 SUB(arc_lightning) {
8641  MY(alpha_min) = 40;
8642  MY(alpha_max) = 40;
8643  MY(alpha_fade) = 350;
8644  MY(color_min) = "0x80C0FF";
8645  MY(color_max) = "0x80C0FF";
8646  MY(countabsolute) = 1;
8647  MY(sizeincrease) = 400;
8648  MY(size_min) = 4;
8649  MY(size_max) = 4;
8650  MY(tex_min) = 38;
8651  MY(tex_max) = 38;
8652  MY(type) = "smoke";
8653  MY(velocitymultiplier) = 100;
8654 }
8655 
8656 DEF(arc_beam);
8657 // sparks on beam
8658 SUB(arc_beam) {
8659  MY(airfriction) = -10;
8660  MY(alpha_min) = 256;
8661  MY(alpha_max) = 256;
8662  MY(alpha_fade) = 16384;
8663  MY(color_min) = "0xfafad2";
8664  MY(color_max) = "0xffffff";
8665  MY(originjitter) = '3.0 3.0 3.0';
8666  MY(relativeoriginoffset) = '10.0 0.0 0.0';
8667  MY(startangle_max) = 360;
8668  MY(spin_min) = 360;
8669  MY(spin_max) = 1000;
8670  MY(stretchfactor) = 1;
8671  MY(tex_min) = 71;
8672  MY(tex_max) = 74;
8673  MY(time_min) = 0.050000;
8674  MY(time_max) = 0.050000;
8675  MY(trailspacing) = 10;
8676  MY(type) = "spark";
8677  MY(velocityjitter) = '100.0 100.0 100.0';
8678  MY(velocitymultiplier) = 200;
8679 }
8680 // sparks on beam (underwater)
8681 SUB(arc_beam) {
8682  MY(alpha_min) = 256;
8683  MY(alpha_max) = 256;
8684  MY(alpha_fade) = 16384;
8685  MY(color_min) = "0xfafad2";
8686  MY(color_max) = "0xffffff";
8687  MY(liquidfriction) = -10;
8688  MY(originjitter) = '30.0 30.0 30.0';
8689  MY(relativeoriginoffset) = '10.0 0.0 0.0';
8690  MY(startangle_max) = 360;
8691  MY(spin_min) = 360;
8692  MY(spin_max) = 1000;
8693  MY(stretchfactor) = 1;
8694  MY(tex_min) = 71;
8695  MY(tex_max) = 74;
8696  MY(time_min) = 0.001000;
8697  MY(time_max) = 0.001000;
8698  MY(trailspacing) = 10;
8699  MY(type) = "spark";
8700  MY(underwater) = true;
8701  MY(velocityjitter) = '100.0 100.0 100.0';
8702  MY(velocitymultiplier) = 200;
8703 }
8704 
8705 DEF(arc_beam_heal);
8706 // bubble this...
8707 SUB(arc_beam_heal) {
8708  MY(airfriction) = -20;
8709  MY(alpha_min) = 2048;
8710  MY(alpha_max) = 2048;
8711  MY(alpha_fade) = 256;
8712  MY(color_min) = "0x20FF20";
8713  MY(color_max) = "0x40FF40";
8714  MY(relativeoriginoffset) = '5.0 0.0 0.0';
8715  MY(relativevelocityoffset) = '100.0 0.0 0.0';
8716  MY(sizeincrease) = 20;
8717  MY(size_min) = 0.100000;
8718  MY(size_max) = 0.100000;
8719  MY(tex_min) = 74;
8720  MY(tex_max) = 74;
8721  MY(trailspacing) = 1500;
8722  MY(type) = "smoke";
8723  MY(velocityjitter) = '3.0 3.0 3.0';
8724  MY(velocitymultiplier) = 200;
8725 }
8726 
8727 DEF(arc_beam_healimpact);
8728 // healing "aura"
8729 SUB(arc_beam_healimpact) {
8730  MY(alpha_min) = 40;
8731  MY(alpha_max) = 40;
8732  MY(alpha_fade) = 350;
8733  MY(color_min) = "0x00ff00";
8734  MY(color_max) = "0x84c52f";
8735  MY(countabsolute) = 1;
8736  MY(lightcolor) = '0.0 4.4 0.0';
8737  MY(lightradiusfade) = 150;
8738  MY(lightradius) = 20;
8739  MY(sizeincrease) = -1000;
8740  MY(size_min) = 32;
8741  MY(size_max) = 32;
8742  MY(tex_min) = 33;
8743  MY(tex_max) = 33;
8744  MY(type) = "smoke";
8745  MY(velocitymultiplier) = 44;
8746 }
8747 // rising "smoke"
8748 SUB(arc_beam_healimpact) {
8749  MY(airfriction) = 3;
8750  MY(alpha_min) = 200;
8751  MY(alpha_max) = 456;
8752  MY(alpha_fade) = 512;
8753  MY(color_min) = "0x00ff00";
8754  MY(color_max) = "0x84c52f";
8755  MY(count) = 15;
8756  MY(gravity) = -2;
8757  MY(startangle_min) = -180;
8758  MY(startangle_max) = 180;
8759  MY(spin_min) = -90;
8760  MY(spin_max) = 90;
8761  MY(size_min) = 0.500000;
8762  MY(size_max) = 1;
8763  MY(tex_min) = 40;
8764  MY(tex_max) = 40;
8765  MY(type) = "smoke";
8766  MY(velocityjitter) = '120.0 120.0 420.0';
8767 }
8768 
8769 DEF(arc_smoke);
8770 // arc heat smoke (notunderwater)
8771 SUB(arc_smoke) {
8772  MY(airfriction) = 1;
8773  MY(alpha_min) = 32;
8774  MY(alpha_max) = 64;
8775  MY(alpha_fade) = 48;
8776  MY(color_min) = "0x4c453f";
8777  MY(color_max) = "0x2a241f";
8778  MY(count) = 2;
8779  MY(gravity) = -0.125000;
8780  MY(notunderwater) = true;
8781  MY(startangle_max) = 360;
8782  MY(spin_min) = -180;
8783  MY(spin_max) = 180;
8784  MY(sizeincrease) = 10;
8785  MY(size_min) = 5;
8786  MY(size_max) = 10;
8787  MY(tex_max) = 8;
8788  MY(type) = "smoke";
8789  MY(velocityjitter) = '0.0 0.0 16.0';
8790 }
8791 // arc heat bubbles (underwater)
8792 SUB(arc_smoke) {
8793  MY(alpha_min) = 170;
8794  MY(alpha_max) = 256;
8795  MY(alpha_fade) = 64;
8796  MY(bounce) = 1.500000;
8797  MY(color_min) = "0x404040";
8798  MY(color_max) = "0x808080";
8799  MY(count) = 2;
8800  MY(gravity) = -0.125000;
8801  MY(liquidfriction) = 0.250000;
8802  MY(originjitter) = '6.0 6.0 6.0';
8803  MY(size_min) = 0.100000;
8804  MY(size_max) = 1;
8805  MY(tex_min) = 62;
8806  MY(tex_max) = 62;
8807  MY(type) = "bubble";
8808  MY(underwater) = true;
8809  MY(velocityjitter) = '16.0 16.0 16.0';
8810 }
8811 
8812 DEF(arc_overheat);
8813 // arc overheat electric bolts
8814 SUB(arc_overheat) {
8815  MY(airfriction) = 5;
8816  MY(alpha_min) = 128;
8817  MY(alpha_max) = 128;
8818  MY(alpha_fade) = 292;
8819  MY(color_min) = "0xffffff";
8820  MY(color_max) = "0x9271fb";
8821  MY(count) = 24;
8822  MY(gravity) = -0.400000;
8823  MY(liquidfriction) = 10;
8824  MY(originjitter) = '10.0 10.0 10.0';
8825  MY(sizeincrease) = -24;
8826  MY(size_min) = 6;
8827  MY(size_max) = 12;
8828  MY(tex_min) = 43;
8829  MY(tex_max) = 43;
8830  MY(type) = "spark";
8831  MY(velocityjitter) = '256.0 256.0 256.0';
8832 }
8833 
8834 DEF(arc_overheat_fire);
8835 // arc overheat bouncing sparks
8836 SUB(arc_overheat_fire) {
8837  MY(alpha_max) = 256;
8838  MY(alpha_fade) = 640;
8839  MY(bounce) = 1.500000;
8840  MY(color_min) = "0x4444ff";
8841  MY(color_max) = "0xeeeeff";
8842  MY(count) = 1;
8843  MY(gravity) = 1;
8844  MY(liquidfriction) = 5;
8845  MY(originjitter) = '6.0 6.0 6.0';
8846  MY(size_min) = 0.400000;
8847  MY(size_max) = 1;
8848  MY(type) = "spark";
8849  MY(velocityjitter) = '92.0 92.0 92.0';
8850  MY(velocitymultiplier) = 80;
8851  MY(velocityoffset) = '0.0 0.0 80.0';
8852 }
8853 
8854 #include "effectinfo_buffs.inc"
8855 
8856 #include "effectinfo_instagib.inc"
8857 
8858 DEF(arc_muzzleflash);
8859 SUB(arc_muzzleflash) {
8860  MY(alpha_min) = 256;
8861  MY(alpha_max) = 256;
8862  MY(alpha_fade) = 512;
8863  MY(color_min) = "0x00ff00";
8864  MY(color_max) = "0x8f4333";
8865  MY(count) = 2;
8866  MY(lightcolor) = '0.3 2.0 0.2';
8867  MY(lightradiusfade) = 2000;
8868  MY(lightradius) = 200;
8869  MY(originjitter) = '1.5 1.5 1.5';
8870  MY(size_min) = 5;
8871  MY(size_max) = 5;
8872  MY(tex_max) = 8;
8873  MY(type) = "smoke";
8874  MY(velocityjitter) = '6.0 6.0 6.0';
8875  MY(velocitymultiplier) = 0.010000;
8876 }
8877 SUB(arc_muzzleflash) {
8878  MY(airfriction) = 12;
8879  MY(alpha_max) = 128;
8880  MY(alpha_fade) = 1024;
8881  MY(color_min) = "0x00ff00";
8882  MY(color_max) = "0x8f4333";
8883  MY(count) = 15;
8884  MY(originjitter) = '1.0 1.0 1.0';
8885  MY(startangle_min) = -180;
8886  MY(startangle_max) = 180;
8887  MY(spin_min) = -400;
8888  MY(spin_max) = 400;
8889  MY(size_min) = 5;
8890  MY(size_max) = 10;
8891  MY(stretchfactor) = 2;
8892  MY(tex_min) = 48;
8893  MY(tex_max) = 55;
8894  MY(type) = "spark";
8895  MY(velocityjitter) = '200.0 200.0 200.0';
8896  MY(velocitymultiplier) = 0.500000;
8897 }
8898 
8899 DEF(arc_bolt_explode);
8900 // decal
8901 SUB(arc_bolt_explode) {
8902  MY(alpha_min) = 256;
8903  MY(alpha_max) = 256;
8904  MY(countabsolute) = 1;
8905  MY(lightcolor) = '8.0 4.0 1.0';
8906  MY(lightradiusfade) = 400;
8907  MY(lightradius) = 120;
8908  MY(originjitter) = '14.0 14.0 14.0';
8909  MY(size_min) = 28;
8910  MY(size_max) = 38;
8911  MY(tex_min) = 8;
8912  MY(tex_max) = 16;
8913  MY(type) = "decal";
8914 }
8915 // fire effect which make bright dot inside
8916 SUB(arc_bolt_explode) {
8917  MY(airfriction) = 8;
8918  MY(alpha_min) = 80;
8919  MY(alpha_max) = 200;
8920  MY(alpha_fade) = 356;
8921  MY(bounce) = 1.500000;
8922  MY(color_min) = "0x00ffff";
8923  MY(color_max) = "0x00ffff";
8924  MY(count) = 3.500000;
8925  MY(liquidfriction) = 8;
8926  MY(notunderwater) = true;
8927  MY(originjitter) = '8.0 8.0 8.0';
8928  MY(sizeincrease) = 5;
8929  MY(size_min) = 16;
8930  MY(size_max) = 26;
8931  MY(tex_min) = 48;
8932  MY(tex_max) = 55;
8933  MY(type) = "smoke";
8934  MY(velocityjitter) = '156.0 156.0 156.0';
8935 }
8936 // fire effect which expands then slows
8937 SUB(arc_bolt_explode) {
8938  MY(airfriction) = 12;
8939  MY(alpha_min) = 128;
8940  MY(alpha_max) = 256;
8941  MY(alpha_fade) = 456;
8942  MY(bounce) = 1.500000;
8943  MY(color_min) = "0x00ff00";
8944  MY(color_max) = "0x8f4333";
8945  MY(count) = 12;
8946  MY(liquidfriction) = 8;
8947  MY(notunderwater) = true;
8948  MY(originjitter) = '8.0 8.0 8.0';
8949  MY(sizeincrease) = 15;
8950  MY(size_min) = 20;
8951  MY(size_max) = 26;
8952  MY(tex_min) = 48;
8953  MY(tex_max) = 55;
8954  MY(type) = "static";
8955  MY(velocityjitter) = '286.0 286.0 286.0';
8956 }
8957 // underwater bubbles
8958 SUB(arc_bolt_explode) {
8959  MY(alpha_min) = 128;
8960  MY(alpha_max) = 256;
8961  MY(alpha_fade) = 64;
8962  MY(bounce) = 1.500000;
8963  MY(color_min) = "0x404040";
8964  MY(color_max) = "0x808080";
8965  MY(count) = 16;
8966  MY(gravity) = -0.125000;
8967  MY(liquidfriction) = 0.250000;
8968  MY(originjitter) = '16.0 16.0 16.0';
8969  MY(size_min) = 3;
8970  MY(size_max) = 3;
8971  MY(tex_min) = 62;
8972  MY(tex_max) = 62;
8973  MY(type) = "bubble";
8974  MY(underwater) = true;
8975  MY(velocityjitter) = '96.0 96.0 96.0';
8976 }
8977 // bouncing sparks
8978 SUB(arc_bolt_explode) {
8979  MY(airfriction) = 1;
8980  MY(alpha_min) = 644;
8981  MY(alpha_max) = 956;
8982  MY(alpha_fade) = 684;
8983  MY(bounce) = 1.600000;
8984  MY(color_min) = "0x00ff00";
8985  MY(color_max) = "0x8f4333";
8986  MY(count) = 16;
8987  MY(gravity) = 1;
8988  MY(liquidfriction) = 0.800000;
8989  MY(notunderwater) = true;
8990  MY(originjitter) = '16.0 16.0 16.0';
8991  MY(size_min) = 1;
8992  MY(size_max) = 0.100000;
8993  MY(tex_min) = 40;
8994  MY(tex_max) = 40;
8995  MY(type) = "spark";
8996  MY(velocityjitter) = '224.0 224.0 224.0';
8997  MY(velocityoffset) = '0.0 0.0 80.0';
8998 }
8999 
9000 // weak bullet trail (somewhat like a tracer)
9001 DEF(tr_bullet_weak);
9002 SUB(tr_bullet_weak) {
9003  MY(alpha) = '75 100 3000';
9004  MY(color_min) = "0xf03000";
9005  MY(color_max) = "0xff6010";
9006  MY(countabsolute) = 1;
9007  MY(sizeincrease) = -3;
9008  MY(size_min) = 0.6;
9009  MY(size_max) = 0.8;
9010  my(tex_min) = 200;
9011  my(tex_max) = 200;
9012  MY(type) = "beam";
9013 }
9014 SUB(tr_bullet_weak) {
9015  MY(airfriction) = -4;
9016  MY(alpha) = '256 256 350';
9017  MY(color_min) = "0x202020";
9018  MY(color_max) = "0x404040";
9019  MY(notunderwater) = true;
9020  MY(sizeincrease) = 0.4;
9021  MY(size_min) = 1;
9022  MY(size_max) = 2;
9023  MY(tex_min) = 0;
9024  MY(tex_max) = 8;
9025  MY(trailspacing) = 16;
9026  MY(type) = "smoke";
9027  MY(velocityjitter) = '4 4 4';
9028 }
9029 SUB(tr_bullet_weak) {
9030  MY(alpha_min) = 256;
9031  MY(alpha_max) = 256;
9032  MY(alpha_fade) = 128;
9033  MY(bounce) = 1.500000;
9034  MY(color_min) = "0x404040";
9035  MY(color_max) = "0x808080";
9036  MY(gravity) = -0.125000;
9037  MY(liquidfriction) = 4;
9038  MY(size_min) = 0.5;
9039  MY(size_max) = 0.6;
9040  MY(tex_min) = 62;
9041  MY(tex_max) = 62;
9042  MY(trailspacing) = 32;
9043  MY(type) = "bubble";
9044  MY(underwater) = true;
9045  MY(velocityjitter) = '16.0 16.0 16.0';
9046 }
9047 
9048 // Vaporizer hit effect
9049 DEF(TE_TEI_G3_HIT);
9050 SUB(TE_TEI_G3_HIT) {
9051  MY(alpha_min) = 128;
9052  MY(alpha_max) = 128;
9053  MY(alpha_fade) = 256;
9054  MY(color_min) = "0xFFFFFF";
9055  MY(color_max) = "0xFFFFFF";
9056  MY(countabsolute) = 1;
9057  MY(size_min) = 8;
9058  MY(size_max) = 8;
9059  MY(tex_min) = 200;
9060  MY(tex_max) = 200;
9061  MY(type) = "beam";
9062 }
9063 SUB(TE_TEI_G3_HIT) /* rings */ {
9064  MY(airfriction) = -4;
9065  MY(alpha_min) = 256;
9066  MY(alpha_max) = 256;
9067  MY(alpha_fade) = 512;
9068  MY(color_min) = "0xFFFFFF";
9069  MY(color_max) = "0xFFFFFF";
9070  MY(sizeincrease) = -2;
9071  MY(size_min) = 2;
9072  MY(size_max) = 2;
9073  MY(trailspacing) = 20;
9074  MY(type) = "smoke";
9075  MY(velocityjitter) = '2.0 2.0 2.0';
9076 }
9077 SUB(TE_TEI_G3_HIT) {
9078  MY(airfriction) = -4;
9079  MY(alpha_min) = 256;
9080  MY(alpha_max) = 256;
9081  MY(alpha_fade) = 512;
9082  MY(color_min) = "0xFFFFFF";
9083  MY(color_max) = "0xFFFFFF";
9084  MY(sizeincrease) = -6;
9085  MY(size_min) = 10;
9086  MY(size_max) = 10;
9087  MY(trailspacing) = 40;
9088  MY(type) = "smoke";
9089 }
9090 
9091 // respawn ghosts effect
9092 DEF(respawn_ghost);
9093 SUB(respawn_ghost) {
9094  MY(count) = 75;
9095  MY(type) = "static";
9096  MY(color_min) = "0xA0A0A0";
9097  MY(color_max) = "0xFFFFFF";
9098  MY(size_min) = 2;
9099  MY(size_max) = 2;
9100  MY(alpha_min) = 32;
9101  MY(alpha_max) = 64;
9102  MY(alpha_fade) = 128;
9103  MY(airfriction) = 1;
9104  MY(liquidfriction) = 4;
9105  MY(originoffset) = '0 0 -8';
9106  MY(originjitter) = '28 28 16';
9107  MY(velocityjitter) = '0 0 256';
9108 }
9109 
9110 // always add new effects to the bottom of the list. And keep this comment in the bottom line of this file!
float alpha
Definition: items.qc:14
float alpha_max
Definition: models.qh:20
#define flare(name, colormin, colormax)
const float EF_FLAME
Definition: csprogsdefs.qc:302
const float TE_SUPERSPIKEQUAD
Definition: csprogsdefs.qc:293
const float TE_SPIKE
Definition: csprogsdefs.qc:275
const float TE_TAREXPLOSION
Definition: csprogsdefs.qc:279
const float TE_SPIKEQUAD
Definition: csprogsdefs.qc:292
const float TE_EXPLOSIONQUAD
Definition: csprogsdefs.qc:291
#define spawn_point(name, color)
const float TE_KNIGHTSPIKE
Definition: csprogsdefs.qc:283
vector originjitter
Definition: main.qc:348
float alpha_min
Definition: models.qh:20
#define TE_TEI_G3(name, colormin1, colormax1, colormin2, colormax2)
const float TE_TELEPORT
Definition: csprogsdefs.qc:286
const float TE_GUNSHOT
Definition: csprogsdefs.qc:277
const float TE_SUPERSPIKE
Definition: csprogsdefs.qc:276
const float TE_LAVASPLASH
Definition: csprogsdefs.qc:285
const float TE_WIZSPIKE
Definition: csprogsdefs.qc:282
SUB(TE_WIZSPIKE)
Definition: effectinfo.inc:14
#define ground_quake(name, colormin, colormax)
float gravity
Definition: items.qh:16
#define spawn_event(name, color)
float count
Definition: powerups.qc:22
const float TE_GUNSHOTQUAD
Definition: csprogsdefs.qc:290
float TE_BLOOD
DEF(TE_WIZSPIKE)
const float TE_EXPLOSION
Definition: csprogsdefs.qc:278
const float EF_STARDUST
Definition: csprogsdefs.qc:308