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