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