]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blob - qcsrc/common/effects/effectinfo.inc
1316197169a9017483c5d51a56f739e738b963aa
[xonotic/xonotic-data.pk3dir.git] / qcsrc / common / effects / effectinfo.inc
1 // item respawn effect
2 DEF(TE_WIZSPIKE);
3 // flare particle and light
4 SUB(TE_WIZSPIKE) {
5         MY(alpha_min) = 128;
6         MY(alpha_max) = 128;
7         MY(alpha_fade) = 128;
8         MY(color_min) = "0x63F2EA";
9         MY(color_max) = "0x63f2EA";
10         MY(countabsolute) = 1;
11         MY(lightcolor) = '0.4 0.9 0.9';
12         MY(lightradiusfade) = 200;
13         MY(lightradius) = 200;
14         MY(size_min) = 20;
15         MY(size_max) = 20;
16         MY(type) = "static";
17 }
18 // cloud of particles which expand rapidly and then slow to form a ball
19 SUB(TE_WIZSPIKE) {
20         MY(airfriction) = 2;
21         MY(alpha_min) = 64;
22         MY(alpha_max) = 64;
23         MY(alpha_fade) = 64;
24         MY(color_min) = "0x63F2EA";
25         MY(color_max) = "0x63f2EA";
26         MY(count) = 50;
27         MY(liquidfriction) = 2;
28         MY(originjitter) = '16.0 16.0 16.0';
29         MY(size_min) = 2;
30         MY(size_max) = 2;
31         MY(type) = "static";
32         MY(velocityjitter) = '32.0 32.0 32.0';
33 }
34
35 // laser impact
36 DEF(TE_KNIGHTSPIKE);
37 // decal
38 SUB(TE_KNIGHTSPIKE) {
39         MY(alpha_min) = 256;
40         MY(alpha_max) = 256;
41         MY(countabsolute) = 1;
42         MY(lightcolor) = '4.0 0.2 0.2';
43         MY(lightradiusfade) = 1000;
44         MY(lightradius) = 200;
45         MY(originjitter) = '16.0 16.0 16.0';
46         MY(size_min) = 24;
47         MY(size_max) = 24;
48         MY(tex_min) = 47;
49         MY(tex_max) = 47;
50         MY(type) = "decal";
51 }
52 // flare effect
53 SUB(TE_KNIGHTSPIKE) {
54         MY(alpha_min) = 256;
55         MY(alpha_max) = 256;
56         MY(alpha_fade) = 1024;
57         MY(color_min) = "0xFF2010";
58         MY(color_max) = "0xFF2010";
59         MY(countabsolute) = 1;
60         MY(size_min) = 24;
61         MY(size_max) = 24;
62         MY(tex_min) = 39;
63         MY(tex_max) = 39;
64         MY(type) = "static";
65 }
66 // sparks that rapidly expand and rapidly slow down to form an interesting spherical effect
67 SUB(TE_KNIGHTSPIKE) {
68         MY(airfriction) = 6;
69         MY(alpha_min) = 256;
70         MY(alpha_max) = 256;
71         MY(alpha_fade) = 1024;
72         MY(color_min) = "0x800000";
73         MY(color_max) = "0xFF8020";
74         MY(count) = 128;
75         MY(liquidfriction) = 6;
76         MY(size_min) = 4;
77         MY(size_max) = 4;
78         MY(type) = "spark";
79         MY(velocityjitter) = '256.0 256.0 256.0';
80 }
81
82 // machinegun bullet impact
83 DEF(TE_SPIKE);
84 // bullet impact decal
85 SUB(TE_SPIKE) {
86         MY(alpha_min) = 256;
87         MY(alpha_max) = 256;
88         MY(countabsolute) = 1;
89         MY(originjitter) = '6.0 6.0 6.0';
90         MY(size_min) = 5;
91         MY(size_max) = 5;
92         MY(tex_min) = 56;
93         MY(tex_max) = 59;
94         MY(type) = "decal";
95 }
96 // dust/smoke drifting away from the impact
97 SUB(TE_SPIKE) {
98         MY(alpha_min) = 255;
99         MY(alpha_max) = 255;
100         MY(alpha_fade) = 256;
101         MY(color_min) = "0x101010";
102         MY(color_max) = "0x101010";
103         MY(count) = 4;
104         MY(sizeincrease) = 3;
105         MY(size_min) = 3;
106         MY(size_max) = 3;
107         MY(tex_max) = 8;
108         MY(type) = "smoke";
109         MY(velocityjitter) = '8.0 8.0 8.0';
110 }
111 // dust/smoke staying at the impact
112 SUB(TE_SPIKE) {
113         MY(alpha_min) = 255;
114         MY(alpha_max) = 255;
115         MY(alpha_fade) = 128;
116         MY(color_min) = "0x505050";
117         MY(color_max) = "0x505050";
118         MY(count) = 0.500000;
119         MY(sizeincrease) = 4;
120         MY(size_min) = 4;
121         MY(size_max) = 4;
122         MY(tex_max) = 8;
123         MY(type) = "smoke";
124 }
125 // bouncing sparks
126 SUB(TE_SPIKE) {
127         MY(alpha_max) = 256;
128         MY(alpha_fade) = 256;
129         MY(bounce) = 1.500000;
130         MY(color_min) = "0x8f4333";
131         MY(color_max) = "0xfff31b";
132         MY(count) = 10;
133         MY(gravity) = 1;
134         MY(size_min) = 0.400000;
135         MY(size_max) = 0.400000;
136         MY(type) = "spark";
137         MY(velocityjitter) = '64.0 64.0 64.0';
138         MY(velocityoffset) = '0.0 0.0 80.0';
139 }
140
141 // electro combo explosion
142 DEF(TE_SPIKEQUAD);
143 // decal
144 SUB(TE_SPIKEQUAD) {
145         MY(alpha_min) = 256;
146         MY(alpha_max) = 256;
147         MY(countabsolute) = 1;
148         MY(lightcolor) = '2.0 2.5 3.0';
149         MY(lightradiusfade) = 200;
150         MY(lightradius) = 400;
151         MY(originjitter) = '34.0 34.0 34.0';
152         MY(size_min) = 64;
153         MY(size_max) = 64;
154         MY(tex_min) = 59;
155         MY(tex_max) = 59;
156         MY(type) = "decal";
157 }
158 // flare effect
159 SUB(TE_SPIKEQUAD) {
160         MY(alpha_min) = 256;
161         MY(alpha_max) = 256;
162         MY(alpha_fade) = 128;
163         MY(color_min) = "0x80C0FF";
164         MY(color_max) = "0x80C0FF";
165         MY(countabsolute) = 1;
166         MY(size_min) = 48;
167         MY(size_max) = 48;
168         MY(tex_min) = 38;
169         MY(tex_max) = 38;
170         MY(type) = "static";
171 }
172 // large sparks
173 SUB(TE_SPIKEQUAD) {
174         MY(airfriction) = 4;
175         MY(alpha_min) = 256;
176         MY(alpha_max) = 256;
177         MY(alpha_fade) = 256;
178         MY(bounce) = 1.500000;
179         MY(color_min) = "0x2030FF";
180         MY(color_max) = "0x80C0FF";
181         MY(count) = 10;
182         MY(liquidfriction) = 16;
183         MY(size_min) = 32;
184         MY(size_max) = 32;
185         MY(type) = "static";
186         MY(velocityjitter) = '512.0 512.0 512.0';
187 }
188
189 // quake effect
190 DEF(TE_SUPERSPIKE);
191 // decal
192 SUB(TE_SUPERSPIKE) {
193         MY(alpha_min) = 256;
194         MY(alpha_max) = 256;
195         MY(countabsolute) = 1;
196         MY(originjitter) = '6.0 6.0 6.0';
197         MY(size_min) = 3;
198         MY(size_max) = 3;
199         MY(tex_min) = 56;
200         MY(tex_max) = 59;
201         MY(type) = "decal";
202 }
203 // dust/smoke drifting away from the impact
204 SUB(TE_SUPERSPIKE) {
205         MY(alpha_min) = 255;
206         MY(alpha_max) = 255;
207         MY(alpha_fade) = 256;
208         MY(color_min) = "0x101010";
209         MY(color_max) = "0x101010";
210         MY(count) = 4;
211         MY(sizeincrease) = 3;
212         MY(size_min) = 3;
213         MY(size_max) = 3;
214         MY(tex_max) = 8;
215         MY(type) = "smoke";
216         MY(velocityjitter) = '8.0 8.0 8.0';
217 }
218 // dust/smoke staying at the impact
219 SUB(TE_SUPERSPIKE) {
220         MY(alpha_min) = 255;
221         MY(alpha_max) = 255;
222         MY(alpha_fade) = 128;
223         MY(color_min) = "0x505050";
224         MY(color_max) = "0x505050";
225         MY(count) = 0.500000;
226         MY(sizeincrease) = 4;
227         MY(size_min) = 4;
228         MY(size_max) = 4;
229         MY(tex_max) = 8;
230         MY(type) = "smoke";
231 }
232 // sparks that disappear on impact
233 SUB(TE_SUPERSPIKE) {
234         MY(alpha_max) = 256;
235         MY(alpha_fade) = 768;
236         MY(bounce) = -1;
237         MY(color_min) = "0x8f4333";
238         MY(color_max) = "0xfff31b";
239         MY(count) = 15;
240         MY(gravity) = 1;
241         MY(size_min) = 0.400000;
242         MY(size_max) = 0.400000;
243         MY(type) = "spark";
244         MY(velocityjitter) = '64.0 64.0 64.0';
245         MY(velocityoffset) = '0.0 0.0 80.0';
246 }
247
248 // quake effect
249 DEF(TE_SUPERSPIKEQUAD);
250 // decal
251 SUB(TE_SUPERSPIKEQUAD) {
252         MY(alpha_min) = 256;
253         MY(alpha_max) = 256;
254         MY(countabsolute) = 1;
255         MY(lightcolor) = '0.2 0.2 1.5';
256         MY(lightradiusfade) = 500;
257         MY(lightradius) = 100;
258         MY(originjitter) = '6.0 6.0 6.0';
259         MY(size_min) = 3;
260         MY(size_max) = 3;
261         MY(tex_min) = 56;
262         MY(tex_max) = 59;
263         MY(type) = "decal";
264 }
265 // dust/smoke drifting away from the impact
266 SUB(TE_SUPERSPIKEQUAD) {
267         MY(alpha_min) = 255;
268         MY(alpha_max) = 255;
269         MY(alpha_fade) = 256;
270         MY(color_min) = "0x101010";
271         MY(color_max) = "0x101010";
272         MY(count) = 4;
273         MY(sizeincrease) = 3;
274         MY(size_min) = 3;
275         MY(size_max) = 3;
276         MY(tex_max) = 8;
277         MY(type) = "smoke";
278         MY(velocityjitter) = '8.0 8.0 8.0';
279 }
280 // dust/smoke staying at the impact
281 SUB(TE_SUPERSPIKEQUAD) {
282         MY(alpha_min) = 255;
283         MY(alpha_max) = 255;
284         MY(alpha_fade) = 128;
285         MY(color_min) = "0x505050";
286         MY(color_max) = "0x505050";
287         MY(count) = 0.500000;
288         MY(sizeincrease) = 4;
289         MY(size_min) = 4;
290         MY(size_max) = 4;
291         MY(tex_max) = 8;
292         MY(type) = "smoke";
293 }
294 // sparks that disappear on impact
295 SUB(TE_SUPERSPIKEQUAD) {
296         MY(alpha_max) = 256;
297         MY(alpha_fade) = 768;
298         MY(bounce) = -1;
299         MY(color_min) = "0x8f4333";
300         MY(color_max) = "0xfff31b";
301         MY(count) = 15;
302         MY(gravity) = 1;
303         MY(size_min) = 0.400000;
304         MY(size_max) = 0.400000;
305         MY(type) = "spark";
306         MY(velocityjitter) = '64.0 64.0 64.0';
307         MY(velocityoffset) = '0.0 0.0 80.0';
308 }
309
310 // shotgun pellet impact
311 DEF(TE_GUNSHOT);
312 // decal
313 SUB(TE_GUNSHOT) {
314         MY(alpha_min) = 256;
315         MY(alpha_max) = 256;
316         MY(countabsolute) = 1;
317         MY(originjitter) = '6.0 6.0 6.0';
318         MY(size_min) = 3;
319         MY(size_max) = 3;
320         MY(tex_min) = 56;
321         MY(tex_max) = 59;
322         MY(type) = "decal";
323 }
324 // dust/smoke drifting away from the impact
325 SUB(TE_GUNSHOT) {
326         MY(alpha_min) = 128;
327         MY(alpha_max) = 128;
328         MY(alpha_fade) = 64;
329         MY(color_min) = "0x101010";
330         MY(color_max) = "0x101010";
331         MY(count) = 0.800000;
332         MY(sizeincrease) = 3;
333         MY(size_min) = 3;
334         MY(size_max) = 3;
335         MY(tex_max) = 8;
336         MY(type) = "smoke";
337         MY(velocityjitter) = '8.0 8.0 8.0';
338 }
339 // dust/smoke staying at the impact
340 SUB(TE_GUNSHOT) {
341         MY(alpha_min) = 128;
342         MY(alpha_max) = 128;
343         MY(alpha_fade) = 64;
344         MY(color_min) = "0x505050";
345         MY(color_max) = "0x505050";
346         MY(count) = 0.200000;
347         MY(sizeincrease) = 4;
348         MY(size_min) = 4;
349         MY(size_max) = 4;
350         MY(tex_max) = 8;
351         MY(type) = "smoke";
352 }
353 // bouncing sparks
354 SUB(TE_GUNSHOT) {
355         MY(alpha_max) = 64;
356         MY(alpha_fade) = 64;
357         MY(bounce) = 1.500000;
358         MY(color_min) = "0x8f4333";
359         MY(color_max) = "0xfff31b";
360         MY(count) = 2.500000;
361         MY(gravity) = 1;
362         MY(size_min) = 0.400000;
363         MY(size_max) = 0.400000;
364         MY(type) = "spark";
365         MY(velocityjitter) = '64.0 64.0 64.0';
366         MY(velocityoffset) = '0.0 0.0 80.0';
367 }
368
369 // crylink impact effect
370 DEF(TE_GUNSHOTQUAD);
371 // decal
372 SUB(TE_GUNSHOTQUAD) {
373         MY(alpha_min) = 256;
374         MY(alpha_max) = 256;
375         MY(countabsolute) = 1;
376         MY(originjitter) = '12.0 12.0 12.0';
377         MY(size_min) = 8;
378         MY(size_max) = 8;
379         MY(tex_min) = 47;
380         MY(tex_max) = 47;
381         MY(type) = "decal";
382 }
383 // purple flare effect
384 SUB(TE_GUNSHOTQUAD) {
385         MY(alpha_min) = 256;
386         MY(alpha_max) = 256;
387         MY(alpha_fade) = 512;
388         MY(color_min) = "0x504060";
389         MY(color_max) = "0x504060";
390         MY(countabsolute) = 1;
391         MY(size_min) = 8;
392         MY(size_max) = 8;
393         MY(tex_min) = 39;
394         MY(tex_max) = 39;
395         MY(type) = "static";
396 }
397 // purple sparks
398 SUB(TE_GUNSHOTQUAD) {
399         MY(alpha_min) = 128;
400         MY(alpha_max) = 128;
401         MY(alpha_fade) = 384;
402         MY(bounce) = 1.500000;
403         MY(color_min) = "0xA040C0";
404         MY(color_max) = "0xFFFFFF";
405         MY(count) = 6;
406         MY(gravity) = 1;
407         MY(size_min) = 1;
408         MY(size_max) = 1;
409         MY(type) = "spark";
410         MY(velocityjitter) = '128.0 128.0 128.0';
411         MY(velocityoffset) = '0.0 0.0 80.0';
412 }
413
414 // mortar/hagar explosion (smaller than rocket)
415 DEF(TE_EXPLOSION);
416 // decal
417 SUB(TE_EXPLOSION) {
418         MY(alpha_min) = 256;
419         MY(alpha_max) = 256;
420         MY(countabsolute) = 1;
421         MY(lightcolor) = '4.0 2.0 0.5';
422         MY(lightradiusfade) = 300;
423         MY(lightradius) = 150;
424         MY(originjitter) = '40.0 40.0 40.0';
425         MY(size_min) = 48;
426         MY(size_max) = 48;
427         MY(tex_min) = 8;
428         MY(tex_max) = 16;
429         MY(type) = "decal";
430 }
431 // flare effect
432 SUB(TE_EXPLOSION) {
433         MY(alpha_min) = 192;
434         MY(alpha_max) = 192;
435         MY(alpha_fade) = 64;
436         MY(color_min) = "0x404040";
437         MY(color_max) = "0x404040";
438         MY(countabsolute) = 1;
439         MY(size_min) = 48;
440         MY(size_max) = 48;
441         MY(tex_min) = 35;
442         MY(tex_max) = 37;
443         MY(type) = "static";
444 }
445 // fire effect which expands then slows
446 SUB(TE_EXPLOSION) {
447         MY(airfriction) = 4;
448         MY(alpha_min) = 128;
449         MY(alpha_max) = 128;
450         MY(alpha_fade) = 256;
451         MY(bounce) = 1.500000;
452         MY(color_min) = "0x902010";
453         MY(color_max) = "0xFFD080";
454         MY(count) = 64;
455         MY(liquidfriction) = 4;
456         MY(notunderwater) = true;
457         MY(originjitter) = '8.0 8.0 8.0';
458         MY(size_min) = 16;
459         MY(size_max) = 16;
460         MY(tex_min) = 48;
461         MY(tex_max) = 55;
462         MY(type) = "static";
463         MY(velocityjitter) = '256.0 256.0 256.0';
464 }
465 // underwater bubbles
466 SUB(TE_EXPLOSION) {
467         MY(alpha_min) = 128;
468         MY(alpha_max) = 256;
469         MY(alpha_fade) = 64;
470         MY(bounce) = 1.500000;
471         MY(color_min) = "0x404040";
472         MY(color_max) = "0x808080";
473         MY(count) = 16;
474         MY(gravity) = -0.125000;
475         MY(liquidfriction) = 0.250000;
476         MY(originjitter) = '16.0 16.0 16.0';
477         MY(size_min) = 3;
478         MY(size_max) = 3;
479         MY(tex_min) = 62;
480         MY(tex_max) = 62;
481         MY(type) = "bubble";
482         MY(underwater) = true;
483         MY(velocityjitter) = '96.0 96.0 96.0';
484 }
485 // bouncing sparks
486 SUB(TE_EXPLOSION) {
487         MY(airfriction) = 0.200000;
488         MY(alpha_min) = 256;
489         MY(alpha_max) = 256;
490         MY(alpha_fade) = 384;
491         MY(bounce) = 1.500000;
492         MY(color_min) = "0x903010";
493         MY(color_max) = "0xFFD030";
494         MY(count) = 16;
495         MY(gravity) = 1;
496         MY(liquidfriction) = 0.800000;
497         MY(notunderwater) = true;
498         MY(size_min) = 2;
499         MY(size_max) = 2;
500         MY(type) = "spark";
501         MY(velocityjitter) = '256.0 256.0 256.0';
502         MY(velocityoffset) = '0.0 0.0 80.0';
503 }
504
505 // quake effect
506 DEF(TE_EXPLOSIONQUAD);
507 // decal
508 SUB(TE_EXPLOSIONQUAD) {
509         MY(alpha_min) = 256;
510         MY(alpha_max) = 256;
511         MY(countabsolute) = 1;
512         MY(lightcolor) = '4.0 2.0 8.0';
513         MY(lightradiusfade) = 700;
514         MY(lightradius) = 350;
515         MY(originjitter) = '40.0 40.0 40.0';
516         MY(size_min) = 48;
517         MY(size_max) = 48;
518         MY(tex_min) = 8;
519         MY(tex_max) = 16;
520         MY(type) = "decal";
521 }
522 // smoke cloud
523 SUB(TE_EXPLOSIONQUAD) {
524         MY(alpha_min) = 32;
525         MY(alpha_max) = 32;
526         MY(alpha_fade) = 64;
527         MY(color_min) = "0x202020";
528         MY(color_max) = "0x404040";
529         MY(count) = 16;
530         MY(notunderwater) = true;
531         MY(size_min) = 12;
532         MY(size_max) = 12;
533         MY(tex_max) = 8;
534         MY(type) = "smoke";
535         MY(velocityjitter) = '48.0 48.0 48.0';
536 }
537 // underwater bubbles
538 SUB(TE_EXPLOSIONQUAD) {
539         MY(alpha_min) = 128;
540         MY(alpha_max) = 256;
541         MY(alpha_fade) = 64;
542         MY(bounce) = 1.500000;
543         MY(color_min) = "0x404040";
544         MY(color_max) = "0x808080";
545         MY(count) = 16;
546         MY(gravity) = -0.125000;
547         MY(liquidfriction) = 0.250000;
548         MY(originjitter) = '16.0 16.0 16.0';
549         MY(size_min) = 3;
550         MY(size_max) = 3;
551         MY(tex_min) = 62;
552         MY(tex_max) = 62;
553         MY(type) = "bubble";
554         MY(underwater) = true;
555         MY(velocityjitter) = '96.0 96.0 96.0';
556 }
557 // sparks which go through walls
558 SUB(TE_EXPLOSIONQUAD) {
559         MY(airfriction) = 0.200000;
560         MY(alpha_max) = 256;
561         MY(alpha_fade) = 512;
562         MY(color_min) = "0x903010";
563         MY(color_max) = "0xFFD030";
564         MY(count) = 64;
565         MY(gravity) = 1;
566         MY(liquidfriction) = 0.800000;
567         MY(notunderwater) = true;
568         MY(size_min) = 1;
569         MY(size_max) = 1;
570         MY(type) = "spark";
571         MY(velocityjitter) = '256.0 256.0 256.0';
572         MY(velocityoffset) = '0.0 0.0 80.0';
573 }
574
575 // quake effect
576 DEF(TE_TAREXPLOSION);
577 // decal
578 SUB(TE_TAREXPLOSION) {
579         MY(alpha_min) = 256;
580         MY(alpha_max) = 256;
581         MY(countabsolute) = 1;
582         MY(lightcolor) = '1.6 0.8 2.0';
583         MY(lightradiusfade) = 1200;
584         MY(lightradius) = 600;
585         MY(originjitter) = '40.0 40.0 40.0';
586         MY(size_min) = 48;
587         MY(size_max) = 48;
588         MY(tex_min) = 8;
589         MY(tex_max) = 16;
590         MY(type) = "decal";
591 }
592 // smoke cloud
593 SUB(TE_TAREXPLOSION) {
594         MY(alpha_min) = 32;
595         MY(alpha_max) = 32;
596         MY(alpha_fade) = 64;
597         MY(color_min) = "0x202020";
598         MY(color_max) = "0x404040";
599         MY(count) = 16;
600         MY(notunderwater) = true;
601         MY(size_min) = 12;
602         MY(size_max) = 12;
603         MY(tex_max) = 8;
604         MY(type) = "smoke";
605         MY(velocityjitter) = '48.0 48.0 48.0';
606 }
607 // underwater bubbles
608 SUB(TE_TAREXPLOSION) {
609         MY(alpha_min) = 128;
610         MY(alpha_max) = 256;
611         MY(alpha_fade) = 64;
612         MY(bounce) = 1.500000;
613         MY(color_min) = "0x404040";
614         MY(color_max) = "0x808080";
615         MY(count) = 16;
616         MY(gravity) = -0.125000;
617         MY(liquidfriction) = 0.250000;
618         MY(originjitter) = '16.0 16.0 16.0';
619         MY(size_min) = 3;
620         MY(size_max) = 3;
621         MY(tex_min) = 62;
622         MY(tex_max) = 62;
623         MY(type) = "bubble";
624         MY(underwater) = true;
625         MY(velocityjitter) = '96.0 96.0 96.0';
626 }
627 // sparks which go through walls
628 SUB(TE_TAREXPLOSION) {
629         MY(airfriction) = 0.200000;
630         MY(alpha_max) = 256;
631         MY(alpha_fade) = 512;
632         MY(color_min) = "0x903010";
633         MY(color_max) = "0xFFD030";
634         MY(count) = 64;
635         MY(gravity) = 1;
636         MY(liquidfriction) = 0.800000;
637         MY(notunderwater) = true;
638         MY(size_min) = 1;
639         MY(size_max) = 1;
640         MY(type) = "spark";
641         MY(velocityjitter) = '256.0 256.0 256.0';
642         MY(velocityoffset) = '0.0 0.0 80.0';
643 }
644
645 // bloody impact effect indicating damage
646 DEF(TE_BLOOD);
647 SUB(TE_BLOOD) {
648         MY(airfriction) = 1;
649         MY(alpha_min) = 256;
650         MY(alpha_max) = 256;
651         MY(alpha_fade) = 64;
652         MY(bounce) = -1;
653         MY(count) = 0.167000;
654         MY(liquidfriction) = 4;
655         MY(size_min) = 8;
656         MY(size_max) = 8;
657         MY(staincolor_min) = "0x808080";
658         MY(staincolor_max) = "0x808080";
659         MY(staintex_min) = 16;
660         MY(staintex_max) = 24;
661         MY(tex_min) = 24;
662         MY(tex_max) = 32;
663         MY(type) = "blood";
664         MY(velocityjitter) = '64.0 64.0 64.0';
665         MY(velocitymultiplier) = 1;
666 }
667
668 // sparks (quake effect)
669 DEF(TE_SPARK);
670 SUB(TE_SPARK) {
671         MY(alpha_min) = 64;
672         MY(alpha_max) = 256;
673         MY(alpha_fade) = 768;
674         MY(bounce) = -1;
675         MY(color_min) = "0x8f4333";
676         MY(color_max) = "0xfff31b";
677         MY(count) = 0.500000;
678         MY(gravity) = 1;
679         MY(size_min) = 0.400000;
680         MY(size_max) = 0.600000;
681         MY(tex_min) = 40;
682         MY(tex_max) = 40;
683         MY(type) = "spark";
684         MY(velocityjitter) = '64.0 64.0 64.0';
685         MY(velocitymultiplier) = 1;
686         MY(velocityoffset) = '0.0 0.0 80.0';
687 }
688
689 // vortex impact
690 DEF(TE_PLASMABURN);
691 // decal
692 SUB(TE_PLASMABURN) {
693         MY(alpha_min) = 256;
694         MY(alpha_max) = 256;
695         MY(countabsolute) = 1;
696         MY(lightcolor) = '1.0 1.0 1.0';
697         MY(lightradiusfade) = 400;
698         MY(lightradius) = 200;
699         MY(originjitter) = '16.0 16.0 16.0';
700         MY(size_min) = 24;
701         MY(size_max) = 24;
702         MY(tex_min) = 47;
703         MY(tex_max) = 47;
704         MY(type) = "decal";
705 }
706 // flare effect
707 SUB(TE_PLASMABURN) {
708         MY(alpha_min) = 256;
709         MY(alpha_max) = 256;
710         MY(alpha_fade) = 512;
711         MY(color_min) = "0x80C0FF";
712         MY(color_max) = "0x80C0FF";
713         MY(countabsolute) = 1;
714         MY(size_min) = 8;
715         MY(size_max) = 8;
716         MY(tex_min) = 37;
717         MY(tex_max) = 37;
718         MY(type) = "static";
719 }
720 // small sparks which form a sphere as they slow down
721 SUB(TE_PLASMABURN) {
722         MY(airfriction) = 8;
723         MY(alpha_min) = 256;
724         MY(alpha_max) = 256;
725         MY(alpha_fade) = 1024;
726         MY(bounce) = 2;
727         MY(color_min) = "0x2030FF";
728         MY(color_max) = "0x80C0FF";
729         MY(count) = 128;
730         MY(liquidfriction) = 8;
731         MY(size_min) = 1;
732         MY(size_max) = 2;
733         MY(type) = "spark";
734         MY(velocityjitter) = '128.0 128.0 128.0';
735 }
736
737 // quake effect
738 DEF(TE_SMALLFLASH);
739 SUB(TE_SMALLFLASH) {
740         MY(lightcolor) = '2.0 2.0 2.0';
741         MY(lightradiusfade) = 1000;
742         MY(lightradius) = 200;
743 }
744
745 // quake effect
746 DEF(TE_FLAMEJET);
747 SUB(TE_FLAMEJET) {
748         MY(airfriction) = 1;
749         MY(alpha_min) = 64;
750         MY(alpha_max) = 128;
751         MY(alpha_fade) = 384;
752         MY(bounce) = 1.100000;
753         MY(color_min) = "0x6f0f00";
754         MY(color_max) = "0xe3974f";
755         MY(count) = 0.500000;
756         MY(gravity) = -1;
757         MY(liquidfriction) = 4;
758         MY(size_min) = 4;
759         MY(size_max) = 4;
760         MY(type) = "smoke";
761         MY(velocityjitter) = '128.0 128.0 128.0';
762         MY(velocitymultiplier) = 1;
763 }
764
765 // quake effect
766 DEF(TE_LAVASPLASH);
767 SUB(TE_LAVASPLASH) {
768         MY(alpha_min) = 256;
769         MY(alpha_max) = 256;
770         MY(alpha_fade) = 256;
771         MY(color_min) = "0x6f0f00";
772         MY(color_max) = "0xe3974f";
773         MY(count) = 32;
774         MY(gravity) = 0.050000;
775         MY(originjitter) = '128.0 128.0 32.0';
776         MY(originoffset) = '0.0 0.0 32.0';
777         MY(size_min) = 12;
778         MY(size_max) = 12;
779         MY(type) = "alphastatic";
780         MY(velocityjitter) = '128.0 128.0 0.0';
781         MY(velocityoffset) = '0.0 0.0 256.0';
782 }
783
784 // player teleport effect
785 DEF(TE_TELEPORT);
786 SUB(TE_TELEPORT) {
787         MY(airfriction) = 1;
788         MY(alpha_min) = 64;
789         MY(alpha_max) = 128;
790         MY(alpha_fade) = 256;
791         MY(color_min) = "0xA0A0A0";
792         MY(color_max) = "0xFFFFFF";
793         MY(count) = 56;
794         MY(liquidfriction) = 4;
795         MY(originjitter) = '16.0 16.0 28.0';
796         MY(originoffset) = '0.0 0.0 28.0';
797         MY(size_min) = 10;
798         MY(size_max) = 10;
799         MY(type) = "static";
800         MY(velocityjitter) = '0.0 0.0 256.0';
801 }
802
803 // vortex beam
804 DEF(TE_TEI_G3);
805 SUB(TE_TEI_G3) {
806         MY(alpha_min) = 128;
807         MY(alpha_max) = 128;
808         MY(alpha_fade) = 256;
809         MY(color_min) = "0xFFFFFF";
810         MY(color_max) = "0xFFFFFF";
811         MY(countabsolute) = 1;
812         MY(size_min) = 4;
813         MY(size_max) = 4;
814         MY(tex_min) = 200;
815         MY(tex_max) = 200;
816         MY(type) = "beam";
817 }
818 SUB(TE_TEI_G3) {
819         MY(airfriction) = -4;
820         MY(alpha_min) = 256;
821         MY(alpha_max) = 256;
822         MY(alpha_fade) = 512;
823         MY(color_min) = "0x202020";
824         MY(color_max) = "0x404040";
825         MY(size_min) = 1;
826         MY(size_max) = 1;
827         MY(trailspacing) = 4;
828         MY(type) = "smoke";
829         MY(velocityjitter) = '8.0 8.0 8.0';
830 }
831
832 // smoke effect
833 DEF(TE_TEI_SMOKE);
834 SUB(TE_TEI_SMOKE) {
835         MY(alpha_min) = 256;
836         MY(alpha_max) = 256;
837         MY(alpha_fade) = 512;
838         MY(color_min) = "0x202020";
839         MY(color_max) = "0x404040";
840         MY(count) = 0.167000;
841         MY(originjitter) = '1.5 1.5 1.5';
842         MY(size_min) = 5;
843         MY(size_max) = 5;
844         MY(tex_max) = 8;
845         MY(type) = "smoke";
846         MY(velocityjitter) = '6.0 6.0 6.0';
847         MY(velocitymultiplier) = 1;
848 }
849
850 // rocket explosion (bigger than mortar and hagar)
851 DEF(TE_TEI_BIGEXPLOSION);
852 // decal
853 SUB(TE_TEI_BIGEXPLOSION) {
854         MY(alpha_min) = 256;
855         MY(alpha_max) = 256;
856         MY(countabsolute) = 1;
857         MY(lightcolor) = '4.0 2.0 0.5';
858         MY(lightradiusfade) = 500;
859         MY(lightradius) = 500;
860         MY(originjitter) = '40.0 40.0 40.0';
861         MY(size_min) = 72;
862         MY(size_max) = 72;
863         MY(tex_min) = 8;
864         MY(tex_max) = 16;
865         MY(type) = "decal";
866 }
867 // flare effect
868 SUB(TE_TEI_BIGEXPLOSION) {
869         MY(alpha_min) = 192;
870         MY(alpha_max) = 192;
871         MY(alpha_fade) = 64;
872         MY(color_min) = "0x404040";
873         MY(color_max) = "0x404040";
874         MY(countabsolute) = 1;
875         MY(size_min) = 72;
876         MY(size_max) = 72;
877         MY(tex_min) = 35;
878         MY(tex_max) = 37;
879         MY(type) = "static";
880 }
881 // fire effect
882 SUB(TE_TEI_BIGEXPLOSION) {
883         MY(airfriction) = 4;
884         MY(alpha_min) = 128;
885         MY(alpha_max) = 128;
886         MY(alpha_fade) = 256;
887         MY(bounce) = 1.500000;
888         MY(color_min) = "0x902010";
889         MY(color_max) = "0xFFD080";
890         MY(count) = 128;
891         MY(liquidfriction) = 4;
892         MY(notunderwater) = true;
893         MY(originjitter) = '8.0 8.0 8.0';
894         MY(size_min) = 16;
895         MY(size_max) = 16;
896         MY(tex_min) = 48;
897         MY(tex_max) = 55;
898         MY(type) = "static";
899         MY(velocityjitter) = '512.0 512.0 512.0';
900 }
901 // underwater bubbles
902 SUB(TE_TEI_BIGEXPLOSION) {
903         MY(alpha_min) = 128;
904         MY(alpha_max) = 256;
905         MY(alpha_fade) = 64;
906         MY(bounce) = 1.500000;
907         MY(color_min) = "0x404040";
908         MY(color_max) = "0x808080";
909         MY(count) = 32;
910         MY(gravity) = -0.125000;
911         MY(liquidfriction) = 0.250000;
912         MY(originjitter) = '16.0 16.0 16.0';
913         MY(size_min) = 3;
914         MY(size_max) = 3;
915         MY(tex_min) = 62;
916         MY(tex_max) = 62;
917         MY(type) = "bubble";
918         MY(underwater) = true;
919         MY(velocityjitter) = '144.0 144.0 144.0';
920 }
921 // bouncing sparks
922 SUB(TE_TEI_BIGEXPLOSION) {
923         MY(airfriction) = 0.200000;
924         MY(alpha_min) = 256;
925         MY(alpha_max) = 256;
926         MY(alpha_fade) = 384;
927         MY(bounce) = 1.500000;
928         MY(color_min) = "0x903010";
929         MY(color_max) = "0xFFD030";
930         MY(count) = 64;
931         MY(gravity) = 1;
932         MY(liquidfriction) = 0.800000;
933         MY(notunderwater) = true;
934         MY(size_min) = 2;
935         MY(size_max) = 2;
936         MY(type) = "spark";
937         MY(velocityjitter) = '384.0 384.0 384.0';
938         MY(velocityoffset) = '0.0 0.0 80.0';
939 }
940
941 // electro explosion
942 DEF(TE_TEI_PLASMAHIT);
943 // decal
944 SUB(TE_TEI_PLASMAHIT) {
945         MY(alpha_min) = 256;
946         MY(alpha_max) = 256;
947         MY(countabsolute) = 1;
948         MY(lightcolor) = '2.4 4.8 8.0';
949         MY(lightradiusfade) = 600;
950         MY(lightradius) = 200;
951         MY(originjitter) = '20.0 20.0 20.0';
952         MY(size_min) = 32;
953         MY(size_max) = 32;
954         MY(tex_min) = 59;
955         MY(tex_max) = 59;
956         MY(type) = "decal";
957 }
958 // flare effect
959 SUB(TE_TEI_PLASMAHIT) {
960         MY(alpha_min) = 256;
961         MY(alpha_max) = 256;
962         MY(alpha_fade) = 512;
963         MY(color_min) = "0x80C0FF";
964         MY(color_max) = "0x80C0FF";
965         MY(countabsolute) = 1;
966         MY(size_min) = 32;
967         MY(size_max) = 32;
968         MY(tex_min) = 38;
969         MY(tex_max) = 38;
970         MY(type) = "static";
971 }
972 // cloud of bouncing sparks
973 SUB(TE_TEI_PLASMAHIT) {
974         MY(alpha_min) = 256;
975         MY(alpha_max) = 256;
976         MY(alpha_fade) = 1024;
977         MY(bounce) = 1.500000;
978         MY(color_min) = "0x2030FF";
979         MY(color_max) = "0x80C0FF";
980         MY(count) = 0.500000;
981         MY(size_min) = 2;
982         MY(size_max) = 4;
983         MY(type) = "spark";
984         MY(velocityjitter) = '512.0 512.0 512.0';
985 }
986
987 // bloody impact effect indicating damage
988 DEF(blood);
989 SUB(blood) {
990         MY(airfriction) = 0.400000;
991         MY(alpha_min) = 1560;
992         MY(alpha_max) = 2560;
993         MY(alpha_fade) = 7000;
994         MY(blend) = "invmod";
995         MY(bounce) = -1;
996         MY(color_min) = "0xA8FFFF";
997         MY(color_max) = "0xA8FFFFF";
998         MY(count) = 0.400000;
999         MY(sizeincrease) = 20;
1000         MY(size_min) = 5;
1001         MY(size_max) = 11;
1002         MY(staincolor_min) = "0x808080";
1003         MY(staincolor_max) = "0x808080";
1004         MY(stainsize_min) = 1;
1005         MY(stainsize_max) = 2;
1006         MY(staintex_min) = 16;
1007         MY(staintex_max) = 24;
1008         MY(stretchfactor) = 20;
1009         MY(tex_min) = 24;
1010         MY(tex_max) = 32;
1011         MY(type) = "spark";
1012         MY(velocityjitter) = '99.0 99.0 55.0';
1013 }
1014 //blood mist
1015 SUB(blood) {
1016         MY(alpha_min) = 100;
1017         MY(alpha_max) = 256;
1018         MY(alpha_fade) = 400;
1019         MY(blend) = "invmod";
1020         MY(color_min) = "0x000000";
1021         MY(color_max) = "0x420000";
1022         MY(countabsolute) = 1;
1023         MY(originjitter) = '11.0 11.0 11.0';
1024         MY(sizeincrease) = 20;
1025         MY(size_min) = 25;
1026         MY(size_max) = 30;
1027         MY(tex_min) = 24;
1028         MY(tex_max) = 32;
1029         MY(type) = "alphastatic";
1030 }
1031
1032 // player teleport effect
1033 DEF(teleport);
1034 SUB(teleport) {
1035         MY(airfriction) = 2;
1036         MY(alpha_max) = 256;
1037         MY(alpha_fade) = 100;
1038         MY(bounce) = 1.500000;
1039         MY(color_min) = "0x807aff";
1040         MY(color_max) = "0x4463d5";
1041         MY(count) = 500;
1042         MY(originjitter) = '1.0 1.0 1.0';
1043         MY(size_min) = 1;
1044         MY(size_max) = 1;
1045         MY(stretchfactor) = 0.600000;
1046         MY(tex_min) = 64;
1047         MY(tex_max) = 64;
1048         MY(type) = "spark";
1049         MY(velocityjitter) = '1000.0 1000.0 1500.0';
1050         MY(velocitymultiplier) = 0.500000;
1051 }
1052 SUB(teleport) {
1053         MY(alpha_min) = 190;
1054         MY(alpha_max) = 190;
1055         MY(alpha_fade) = 180;
1056         MY(color_min) = "0x807aff";
1057         MY(color_max) = "0x4463d5";
1058         MY(countabsolute) = 1;
1059         MY(sizeincrease) = -80;
1060         MY(size_min) = 150;
1061         MY(size_max) = 150;
1062         MY(tex_min) = 65;
1063         MY(tex_max) = 65;
1064         MY(type) = "smoke";
1065 }
1066
1067 // normal super gory blood trail (used by gibs)
1068 DEF(TR_BLOOD);
1069 SUB(TR_BLOOD) {
1070         MY(airfriction) = -2;
1071         MY(alpha_min) = 384;
1072         MY(alpha_max) = 984;
1073         MY(alpha_fade) = 1492;
1074         MY(blend) = "invmod";
1075         MY(bounce) = -1;
1076         MY(color_min) = "0xA8FFFF";
1077         MY(color_max) = "0xA8FFFF";
1078         MY(gravity) = 0.400000;
1079         MY(liquidfriction) = 1;
1080         MY(sizeincrease) = -5;
1081         MY(size_min) = 4;
1082         MY(size_max) = 19;
1083         MY(staincolor_min) = "0x808080";
1084         MY(staincolor_max) = "0x808080";
1085         MY(stainsize_min) = 1;
1086         MY(stainsize_max) = 2;
1087         MY(staintex_min) = 16;
1088         MY(staintex_max) = 24;
1089         MY(stretchfactor) = 7;
1090         MY(tex_min) = 24;
1091         MY(tex_max) = 32;
1092         MY(trailspacing) = 20;
1093         MY(type) = "spark";
1094         MY(velocityjitter) = '64.0 64.0 64.0';
1095         MY(velocitymultiplier) = -0.100000;
1096 }
1097 // splash around gib
1098 SUB(TR_BLOOD) {
1099         MY(alpha_min) = 684;
1100         MY(alpha_max) = 684;
1101         MY(alpha_fade) = 7492;
1102         MY(color_min) = "0xA8FFFF";
1103         MY(color_max) = "0xA8FFFF";
1104         MY(sizeincrease) = 500;
1105         MY(size_min) = 4;
1106         MY(size_max) = 6;
1107         MY(tex_min) = 24;
1108         MY(tex_max) = 32;
1109         MY(trailspacing) = 42;
1110         MY(type) = "blood";
1111 }
1112
1113 // thinner blood trail (used by quake zombies)
1114 DEF(TR_SLIGHTBLOOD);
1115 SUB(TR_SLIGHTBLOOD) {
1116         MY(airfriction) = 1;
1117         MY(alpha_min) = 384;
1118         MY(alpha_max) = 384;
1119         MY(alpha_fade) = 192;
1120         MY(bounce) = -1;
1121         MY(color_min) = "0xA8FFFF";
1122         MY(color_max) = "0xA8FFFF";
1123         MY(liquidfriction) = 4;
1124         MY(size_min) = 8;
1125         MY(size_max) = 8;
1126         MY(staincolor_min) = "0x808080";
1127         MY(staincolor_max) = "0x808080";
1128         MY(staintex_min) = 16;
1129         MY(staintex_max) = 24;
1130         MY(tex_min) = 24;
1131         MY(tex_max) = 32;
1132         MY(trailspacing) = 64;
1133         MY(type) = "blood";
1134         MY(velocityjitter) = '64.0 64.0 64.0';
1135         MY(velocitymultiplier) = 0.500000;
1136 }
1137
1138 // func_stardust effect, used in some maps to indicate teleporters
1139 DEF(EF_STARDUST);
1140 SUB(EF_STARDUST) {
1141         MY(airfriction) = 0.200000;
1142         MY(alpha_min) = 64;
1143         MY(alpha_max) = 128;
1144         MY(alpha_fade) = 128;
1145         MY(color_min) = "0xfff368";
1146         MY(color_max) = "0xfff368";
1147         MY(count) = 37.500000;
1148         MY(gravity) = -0.100000;
1149         MY(liquidfriction) = 0.800000;
1150         MY(originjitter) = '16.0 16.0 64.0';
1151         MY(size_min) = 1;
1152         MY(size_max) = 2;
1153         MY(type) = "static";
1154         MY(velocityjitter) = '32.0 32.0 0.0';
1155 }
1156
1157 // flare particle and light
1158 DEF(item_respawn);
1159 SUB(item_respawn) {
1160         MY(alpha_min) = 128;
1161         MY(alpha_max) = 128;
1162         MY(alpha_fade) = 128;
1163         MY(color_min) = "0x63F2EA";
1164         MY(color_max) = "0x63f2EA";
1165         MY(countabsolute) = 1;
1166         MY(size_min) = 32;
1167         MY(size_max) = 32;
1168         MY(type) = "static";
1169 }
1170 // cloud of particles which expand rapidly and then slow to form a ball
1171 SUB(item_respawn) {
1172         MY(alpha_min) = 256;
1173         MY(alpha_max) = 256;
1174         MY(alpha_fade) = 1280;
1175         MY(color_min) = "0x63F2EA";
1176         MY(color_max) = "0x63f2EA";
1177         MY(count) = 128;
1178         MY(size_min) = 2;
1179         MY(size_max) = 2;
1180         MY(tex_min) = 41;
1181         MY(tex_max) = 41;
1182         MY(type) = "spark";
1183         MY(velocityjitter) = '256.0 256.0 256.0';
1184 }
1185
1186 DEF(jumppad_activate);
1187 SUB(jumppad_activate) {
1188         MY(lightcolor) = '2.0 2.0 2.0';
1189         MY(lightradiusfade) = 2000;
1190         MY(lightradius) = 200;
1191 }
1192
1193 DEF(laser_muzzleflash);
1194 // glow and light
1195 SUB(laser_muzzleflash) {
1196         MY(airfriction) = 10;
1197         MY(alpha_min) = 256;
1198         MY(alpha_max) = 512;
1199         MY(alpha_fade) = 6280;
1200         MY(color_min) = "0xcc0000";
1201         MY(color_max) = "0xff0000";
1202         MY(countabsolute) = 1;
1203         MY(lightcolor) = '3.0 0.1 0.1';
1204         MY(lightradiusfade) = 2000;
1205         MY(lightradius) = 200;
1206         MY(sizeincrease) = -100;
1207         MY(size_min) = 10;
1208         MY(size_max) = 15;
1209         MY(stretchfactor) = 2;
1210         MY(tex_min) = 65;
1211         MY(tex_max) = 65;
1212         MY(type) = "smoke";
1213 }
1214 // electricity
1215 SUB(laser_muzzleflash) {
1216         MY(airfriction) = 10;
1217         MY(alpha_min) = 256;
1218         MY(alpha_max) = 512;
1219         MY(alpha_fade) = 6280;
1220         MY(color_min) = "0xb44215";
1221         MY(color_max) = "0xff0000";
1222         MY(count) = 3;
1223         MY(originjitter) = '2.0 2.0 2.0';
1224         MY(startangle_min) = -180;
1225         MY(startangle_max) = 180;
1226         MY(spin_min) = 4000;
1227         MY(spin_max) = -4000;
1228         MY(sizeincrease) = -100;
1229         MY(size_min) = 5;
1230         MY(size_max) = 7;
1231         MY(stretchfactor) = 2.300000;
1232         MY(tex_min) = 43;
1233         MY(tex_max) = 43;
1234         MY(type) = "spark";
1235         MY(velocityjitter) = '150.0 150.0 150.0';
1236         MY(velocitymultiplier) = 0.200000;
1237 }
1238 // fire
1239 SUB(laser_muzzleflash) {
1240         MY(airfriction) = 12;
1241         MY(alpha_min) = 256;
1242         MY(alpha_max) = 512;
1243         MY(alpha_fade) = 6280;
1244         MY(color_min) = "0xff4200";
1245         MY(color_max) = "0xff0000";
1246         MY(count) = 6;
1247         MY(originjitter) = '2.0 2.0 2.0';
1248         MY(sizeincrease) = -100;
1249         MY(size_min) = 7;
1250         MY(size_max) = 9;
1251         MY(stretchfactor) = 2;
1252         MY(tex_min) = 8;
1253         MY(tex_max) = 15;
1254         MY(type) = "spark";
1255         MY(velocityjitter) = '100.0 100.0 100.0';
1256         MY(velocitymultiplier) = 0.200000;
1257 }
1258
1259 DEF(laser_impact);
1260 // decal
1261 SUB(laser_impact) {
1262         MY(alpha_min) = 256;
1263         MY(alpha_max) = 256;
1264         MY(countabsolute) = 1;
1265         MY(lightcolor) = '8.0 0.4 0.4';
1266         MY(lightradiusfade) = 500;
1267         MY(lightradius) = 200;
1268         MY(originjitter) = '14.0 14.0 14.0';
1269         MY(size_min) = 24;
1270         MY(size_max) = 24;
1271         MY(tex_min) = 47;
1272         MY(tex_max) = 47;
1273         MY(type) = "decal";
1274 }
1275 // flare effect
1276 SUB(laser_impact) {
1277         MY(alpha_min) = 256;
1278         MY(alpha_max) = 256;
1279         MY(alpha_fade) = 1024;
1280         MY(color_min) = "0xFF2010";
1281         MY(color_max) = "0xFF2010";
1282         MY(countabsolute) = 1;
1283         MY(size_min) = 24;
1284         MY(size_max) = 24;
1285         MY(tex_min) = 39;
1286         MY(tex_max) = 39;
1287         MY(type) = "static";
1288 }
1289 // sparks that rapidly expand and rapidly slow down to form an interesting spherical effect
1290 SUB(laser_impact) {
1291         MY(airfriction) = 6;
1292         MY(alpha_min) = 256;
1293         MY(alpha_max) = 256;
1294         MY(alpha_fade) = 1024;
1295         MY(color_min) = "0x800000";
1296         MY(color_max) = "0xFF8020";
1297         MY(count) = 128;
1298         MY(liquidfriction) = 6;
1299         MY(size_min) = 4;
1300         MY(size_max) = 4;
1301         MY(type) = "spark";
1302         MY(velocityjitter) = '256.0 256.0 256.0';
1303 }
1304 SUB(laser_impact) {
1305         MY(alpha_min) = 128;
1306         MY(alpha_max) = 256;
1307         MY(alpha_fade) = 256;
1308         MY(color_min) = "0x800000";
1309         MY(color_max) = "0xFF8020";
1310         MY(count) = 4;
1311         MY(originjitter) = '1.0 1.0 1.0';
1312         MY(sizeincrease) = 6;
1313         MY(size_min) = 12;
1314         MY(size_max) = 12;
1315         MY(tex_min) = 48;
1316         MY(tex_max) = 55;
1317         MY(type) = "smoke";
1318         MY(velocityjitter) = '16.0 16.0 16.0';
1319         MY(velocitymultiplier) = 0.010000;
1320 }
1321
1322 DEF(shotgun_muzzleflash);
1323 SUB(shotgun_muzzleflash) {
1324         MY(alpha_min) = 256;
1325         MY(alpha_max) = 256;
1326         MY(alpha_fade) = 512;
1327         MY(color_min) = "0x202020";
1328         MY(color_max) = "0x404040";
1329         MY(count) = 1.500000;
1330         MY(lightcolor) = '2.0 1.5 0.2';
1331         MY(lightradiusfade) = 2000;
1332         MY(lightradius) = 200;
1333         MY(originjitter) = '1.5 1.5 1.5';
1334         MY(sizeincrease) = 12;
1335         MY(size_min) = 5;
1336         MY(size_max) = 5;
1337         MY(tex_max) = 8;
1338         MY(type) = "smoke";
1339         MY(velocityjitter) = '6.0 6.0 6.0';
1340         MY(velocitymultiplier) = 0.050000;
1341 }
1342 SUB(shotgun_muzzleflash) {
1343         MY(airfriction) = 5;
1344         MY(alpha_max) = 128;
1345         MY(alpha_fade) = 1024;
1346         MY(color_min) = "0xffdb96";
1347         MY(color_max) = "0xff5400";
1348         MY(count) = 16;
1349         MY(originjitter) = '1.0 1.0 1.0';
1350         MY(size_min) = 10;
1351         MY(size_max) = 20;
1352         MY(stretchfactor) = 2.500000;
1353         MY(tex_min) = 48;
1354         MY(tex_max) = 55;
1355         MY(type) = "spark";
1356         MY(velocityjitter) = '100.0 100.0 100.0';
1357         MY(velocitymultiplier) = 0.500000;
1358 }
1359
1360 // shotgun pellet impact
1361 DEF(shotgun_impact);
1362 // decal
1363 SUB(shotgun_impact) {
1364         MY(alpha_min) = 256;
1365         MY(alpha_max) = 256;
1366         MY(countabsolute) = 1;
1367         MY(originjitter) = '10.0 10.0 10.0';
1368         MY(size_min) = 5;
1369         MY(size_max) = 8;
1370         MY(tex_min) = 56;
1371         MY(tex_max) = 59;
1372         MY(type) = "decal";
1373 }
1374 // dust/smoke drifting away from the impact
1375 SUB(shotgun_impact) {
1376         MY(airfriction) = 5;
1377         MY(alpha_min) = 300;
1378         MY(alpha_max) = 550;
1379         MY(alpha_fade) = 756;
1380         MY(color_min) = "0x473a37";
1381         MY(color_max) = "0x0b0a07";
1382         MY(count) = 1;
1383         MY(notunderwater) = true;
1384         MY(startangle_max) = 360;
1385         MY(spin_min) = -50;
1386         MY(spin_max) = 50;
1387         MY(sizeincrease) = 25;
1388         MY(size_min) = 10;
1389         MY(size_max) = 20;
1390         MY(tex_max) = 8;
1391         MY(type) = "alphastatic";
1392         MY(velocityjitter) = '150.0 150.0 150.0';
1393         MY(velocitymultiplier) = 0.200000;
1394 }
1395 // dust/smoke staying at the impact
1396 SUB(shotgun_impact) {
1397         MY(airfriction) = 5;
1398         MY(alpha_min) = 200;
1399         MY(alpha_max) = 350;
1400         MY(alpha_fade) = 500;
1401         MY(bounce) = 6;
1402         MY(color_min) = "0x201d1a";
1403         MY(color_max) = "0x000000";
1404         MY(count) = 0.200000;
1405         MY(notunderwater) = true;
1406         MY(startangle_max) = 360;
1407         MY(spin_min) = -50;
1408         MY(spin_max) = 50;
1409         MY(sizeincrease) = 74;
1410         MY(size_min) = 10;
1411         MY(size_max) = 11;
1412         MY(tex_min) = 36;
1413         MY(tex_max) = 36;
1414         MY(type) = "alphastatic";
1415         MY(velocityjitter) = '11.0 11.0 11.0';
1416         MY(velocitymultiplier) = 0.030000;
1417 }
1418 // sparks
1419 SUB(shotgun_impact) {
1420         MY(airfriction) = 1.100000;
1421         MY(alpha_max) = 356;
1422         MY(alpha_fade) = 268;
1423         MY(bounce) = 1.500000;
1424         MY(color_min) = "0xFDFFD9";
1425         MY(color_max) = "0xFDFFD9";
1426         MY(count) = 0.500000;
1427         MY(gravity) = 1;
1428         MY(notunderwater) = true;
1429         MY(originjitter) = '1.0 1.0 1.0';
1430         MY(size_min) = 0.600000;
1431         MY(size_max) = 0.600000;
1432         MY(tex_min) = 40;
1433         MY(tex_max) = 40;
1434         MY(type) = "spark";
1435         MY(velocityjitter) = '200.0 200.0 200.0';
1436         MY(velocitymultiplier) = 0.200000;
1437 }
1438
1439 DEF(uzi_muzzleflash);
1440 SUB(uzi_muzzleflash) {
1441         MY(alpha_min) = 256;
1442         MY(alpha_max) = 256;
1443         MY(alpha_fade) = 512;
1444         MY(color_min) = "0x202020";
1445         MY(color_max) = "0x404040";
1446         MY(count) = 1;
1447         MY(gravity) = -0.100000;
1448         MY(lightcolor) = '2.0 1.5 0.2';
1449         MY(lightradiusfade) = 2000;
1450         MY(lightradius) = 200;
1451         MY(originjitter) = '1.5 1.5 1.5';
1452         MY(size_min) = 5;
1453         MY(size_max) = 5;
1454         MY(tex_max) = 8;
1455         MY(type) = "static";
1456         MY(velocityjitter) = '1.0 1.0 1.0';
1457         MY(velocitymultiplier) = 0.030000;
1458 }
1459 SUB(uzi_muzzleflash) {
1460         MY(airfriction) = 12;
1461         MY(alpha_max) = 256;
1462         MY(alpha_fade) = 6000;
1463         MY(color_min) = "0xff9c00";
1464         MY(color_max) = "0xffd200";
1465         MY(count) = 3;
1466         MY(originjitter) = '1.0 1.0 1.0';
1467         MY(size_min) = 0.300000;
1468         MY(size_max) = 0.400000;
1469         MY(stretchfactor) = 0.150000;
1470         MY(tex_min) = 40;
1471         MY(tex_max) = 40;
1472         MY(type) = "spark";
1473         MY(velocityjitter) = '555.0 555.0 555.0';
1474         MY(velocitymultiplier) = 3;
1475 }
1476
1477 DEF(machinegun_impact);
1478 // decal
1479 SUB(machinegun_impact) {
1480         MY(alpha_min) = 256;
1481         MY(alpha_max) = 256;
1482         MY(countabsolute) = 1;
1483         MY(lightcolor) = '6.0 3.6 0.6';
1484         MY(lightradiusfade) = 800;
1485         MY(lightradius) = 80;
1486         MY(originjitter) = '10.0 10.0 10.0';
1487         MY(size_min) = 5;
1488         MY(size_max) = 5;
1489         MY(tex_min) = 56;
1490         MY(tex_max) = 59;
1491         MY(type) = "decal";
1492 }
1493 // dust/smoke drifting away from the impact
1494 SUB(machinegun_impact) {
1495         MY(airfriction) = 5;
1496         MY(alpha_min) = 300;
1497         MY(alpha_max) = 550;
1498         MY(alpha_fade) = 456;
1499         MY(color_min) = "0x473a37";
1500         MY(color_max) = "0x0b0a07";
1501         MY(count) = 1.500000;
1502         MY(notunderwater) = true;
1503         MY(startangle_max) = 360;
1504         MY(spin_min) = -50;
1505         MY(spin_max) = 50;
1506         MY(sizeincrease) = 15;
1507         MY(size_min) = 10;
1508         MY(size_max) = 20;
1509         MY(tex_max) = 8;
1510         MY(type) = "alphastatic";
1511         MY(velocityjitter) = '150.0 150.0 150.0';
1512         MY(velocitymultiplier) = 0.100000;
1513 }
1514 // dust/smoke staying at the impact
1515 SUB(machinegun_impact) {
1516         MY(airfriction) = 5;
1517         MY(alpha_min) = 200;
1518         MY(alpha_max) = 350;
1519         MY(alpha_fade) = 500;
1520         MY(bounce) = 6;
1521         MY(color_min) = "0x201d1a";
1522         MY(color_max) = "0x000000";
1523         MY(count) = 0.500000;
1524         MY(notunderwater) = true;
1525         MY(startangle_max) = 360;
1526         MY(spin_min) = -50;
1527         MY(spin_max) = 50;
1528         MY(sizeincrease) = 74;
1529         MY(size_min) = 10;
1530         MY(size_max) = 11;
1531         MY(tex_min) = 36;
1532         MY(tex_max) = 36;
1533         MY(type) = "alphastatic";
1534         MY(velocityjitter) = '11.0 11.0 11.0';
1535         MY(velocitymultiplier) = 0.030000;
1536 }
1537 // debris
1538 SUB(machinegun_impact) {
1539         MY(airfriction) = 1;
1540         MY(alpha_min) = 300;
1541         MY(alpha_max) = 550;
1542         MY(alpha_fade) = 256;
1543         MY(bounce) = 1.700000;
1544         MY(color_min) = "0x63493e";
1545         MY(color_max) = "0xffffff";
1546         MY(count) = 1;
1547         MY(gravity) = 1.400000;
1548         MY(notunderwater) = true;
1549         MY(startangle_max) = 360;
1550         MY(spin_min) = -500;
1551         MY(spin_max) = 500;
1552         MY(size_min) = 1;
1553         MY(size_max) = 5;
1554         MY(tex_min) = 66;
1555         MY(tex_max) = 68;
1556         MY(type) = "alphastatic";
1557         MY(velocityjitter) = '350.0 350.0 350.0';
1558         MY(velocitymultiplier) = 0.200000;
1559 }
1560 // sparks
1561 SUB(machinegun_impact) {
1562         MY(airfriction) = 2;
1563         MY(alpha_min) = 256;
1564         MY(alpha_max) = 256;
1565         MY(alpha_fade) = 168;
1566         MY(bounce) = 1;
1567         MY(color_min) = "0xFDFFD9";
1568         MY(color_max) = "0xFDFFD9";
1569         MY(count) = 1;
1570         MY(gravity) = 1;
1571         MY(notunderwater) = true;
1572         MY(originjitter) = '1.0 1.0 1.0';
1573         MY(size_min) = 0.300000;
1574         MY(size_max) = 0.300000;
1575         MY(tex_min) = 40;
1576         MY(tex_max) = 40;
1577         MY(type) = "spark";
1578         MY(velocityjitter) = '300.0 300.0 300.0';
1579         MY(velocitymultiplier) = 0.200000;
1580 }
1581
1582 DEF(grenadelauncher_muzzleflash);
1583 SUB(grenadelauncher_muzzleflash) {
1584         MY(airfriction) = 12;
1585         MY(alpha_min) = 256;
1586         MY(alpha_max) = 256;
1587         MY(alpha_fade) = 512;
1588         MY(color_min) = "0x202020";
1589         MY(color_max) = "0x404040";
1590         MY(count) = 1.500000;
1591         MY(lightcolor) = '2.0 1.5 0.2';
1592         MY(lightradiusfade) = 2000;
1593         MY(lightradius) = 200;
1594         MY(originjitter) = '1.5 1.5 1.5';
1595         MY(size_min) = 5;
1596         MY(size_max) = 5;
1597         MY(tex_max) = 8;
1598         MY(type) = "smoke";
1599         MY(velocityjitter) = '20.0 20.0 20.0';
1600         MY(velocitymultiplier) = 0.030000;
1601 }
1602 SUB(grenadelauncher_muzzleflash) {
1603         MY(airfriction) = 5;
1604         MY(alpha_max) = 128;
1605         MY(alpha_fade) = 1024;
1606         MY(color_min) = "0xffdb96";
1607         MY(color_max) = "0xff5400";
1608         MY(count) = 16;
1609         MY(originjitter) = '1.0 1.0 1.0';
1610         MY(size_min) = 10;
1611         MY(size_max) = 20;
1612         MY(stretchfactor) = 2.500000;
1613         MY(tex_min) = 48;
1614         MY(tex_max) = 55;
1615         MY(type) = "spark";
1616         MY(velocityjitter) = '100.0 100.0 100.0';
1617         MY(velocitymultiplier) = 0.500000;
1618 }
1619
1620 // mortar trail
1621 DEF(TR_GRENADE);
1622 // smoke
1623 SUB(TR_GRENADE) {
1624         MY(alpha_min) = 300;
1625         MY(alpha_max) = 400;
1626         MY(alpha_fade) = 780;
1627         MY(bounce) = 1;
1628         MY(color_min) = "0x101010";
1629         MY(color_max) = "0x000000";
1630         MY(originjitter) = '1.0 1.0 1.0';
1631         MY(sizeincrease) = 10;
1632         MY(size_min) = 3;
1633         MY(size_max) = 2;
1634         MY(tex_max) = 8;
1635         MY(trailspacing) = 4;
1636         MY(type) = "smoke";
1637         MY(velocityjitter) = '1.0 1.0 1.0';
1638         MY(velocitymultiplier) = -0.020000;
1639 }
1640 // fire
1641 SUB(TR_GRENADE) {
1642         MY(airfriction) = 8;
1643         MY(alpha_min) = 100;
1644         MY(alpha_max) = 144;
1645         MY(alpha_fade) = 988;
1646         MY(color_min) = "0xffdf72";
1647         MY(color_max) = "0x811200";
1648         MY(notunderwater) = true;
1649         MY(sizeincrease) = -15;
1650         MY(size_min) = 5;
1651         MY(size_max) = 2;
1652         MY(tex_min) = 48;
1653         MY(tex_max) = 55;
1654         MY(trailspacing) = 4;
1655         MY(type) = "static";
1656         MY(velocityjitter) = '32.0 32.0 32.0';
1657         MY(velocitymultiplier) = -1;
1658 }
1659 // bubbles
1660 SUB(TR_GRENADE) {
1661         MY(alpha_min) = 256;
1662         MY(alpha_max) = 256;
1663         MY(alpha_fade) = 256;
1664         MY(bounce) = 1.500000;
1665         MY(color_min) = "0x404040";
1666         MY(color_max) = "0x808080";
1667         MY(gravity) = -0.125000;
1668         MY(liquidfriction) = 4;
1669         MY(size_min) = 1;
1670         MY(size_max) = 1;
1671         MY(tex_min) = 62;
1672         MY(tex_max) = 62;
1673         MY(trailspacing) = 16;
1674         MY(type) = "bubble";
1675         MY(underwater) = true;
1676         MY(velocityjitter) = '16.0 16.0 16.0';
1677 }
1678
1679 // hookbomb trail
1680 DEF(TR_KNIGHTSPIKE);
1681 // smoke
1682 SUB(TR_KNIGHTSPIKE) {
1683         MY(alpha_min) = 300;
1684         MY(alpha_max) = 400;
1685         MY(alpha_fade) = 600;
1686         MY(bounce) = 1;
1687         MY(color_min) = "0x303030";
1688         MY(color_max) = "0x000000";
1689         MY(gravity) = -0.110000;
1690         MY(notunderwater) = true;
1691         MY(originjitter) = '2.0 2.0 2.0';
1692         MY(sizeincrease) = 11;
1693         MY(size_min) = 3;
1694         MY(size_max) = 3;
1695         MY(tex_max) = 8;
1696         MY(trailspacing) = 6;
1697         MY(type) = "smoke";
1698         MY(velocityjitter) = '3.0 3.0 3.0';
1699         MY(velocitymultiplier) = -0.020000;
1700 }
1701 // marker
1702 SUB(TR_KNIGHTSPIKE) {
1703         MY(alpha_min) = 256;
1704         MY(alpha_max) = 256;
1705         MY(alpha_fade) = 720;
1706         MY(color_min) = "0x666666";
1707         MY(color_max) = "0x000000";
1708         MY(sizeincrease) = -0.100000;
1709         MY(size_min) = 1;
1710         MY(size_max) = 1;
1711         MY(tex_min) = 62;
1712         MY(tex_max) = 62;
1713         MY(trailspacing) = 2;
1714         MY(type) = "alphastatic";
1715 }
1716 // bubbles
1717 SUB(TR_KNIGHTSPIKE) {
1718         MY(alpha_min) = 256;
1719         MY(alpha_max) = 256;
1720         MY(alpha_fade) = 256;
1721         MY(bounce) = 1.500000;
1722         MY(color_min) = "0x404040";
1723         MY(color_max) = "0x808080";
1724         MY(gravity) = -0.125000;
1725         MY(liquidfriction) = 4;
1726         MY(size_min) = 1;
1727         MY(size_max) = 1;
1728         MY(tex_min) = 62;
1729         MY(tex_max) = 62;
1730         MY(trailspacing) = 32;
1731         MY(type) = "bubble";
1732         MY(underwater) = true;
1733         MY(velocityjitter) = '16.0 16.0 16.0';
1734 }
1735
1736 DEF(grenade_explode);
1737 // decal
1738 SUB(grenade_explode) {
1739         MY(alpha_min) = 256;
1740         MY(alpha_max) = 256;
1741         MY(countabsolute) = 1;
1742         MY(lightcolor) = '8.0 4.0 1.0';
1743         MY(lightradiusfade) = 400;
1744         MY(lightradius) = 250;
1745         MY(originjitter) = '26.0 26.0 26.0';
1746         MY(size_min) = 48;
1747         MY(size_max) = 48;
1748         MY(tex_min) = 8;
1749         MY(tex_max) = 16;
1750         MY(type) = "decal";
1751 }
1752 // fire effect which expands then slows
1753 SUB(grenade_explode) {
1754         MY(airfriction) = 8;
1755         MY(alpha_min) = 128;
1756         MY(alpha_max) = 228;
1757         MY(alpha_fade) = 356;
1758         MY(bounce) = 4.500000;
1759         MY(color_min) = "0xe03f00";
1760         MY(color_max) = "0x5e0000";
1761         MY(count) = 40;
1762         MY(liquidfriction) = 8;
1763         MY(notunderwater) = true;
1764         MY(originjitter) = '8.0 8.0 8.0';
1765         MY(sizeincrease) = 20;
1766         MY(size_min) = 16;
1767         MY(size_max) = 26;
1768         MY(tex_min) = 48;
1769         MY(tex_max) = 55;
1770         MY(type) = "static";
1771         MY(velocityjitter) = '256.0 256.0 256.0';
1772 }
1773 // fire effect which make bright dot inside
1774 SUB(grenade_explode) {
1775         MY(airfriction) = 8;
1776         MY(alpha_min) = 228;
1777         MY(alpha_max) = 328;
1778         MY(alpha_fade) = 756;
1779         MY(bounce) = 1;
1780         MY(color_min) = "0xe03f00";
1781         MY(color_max) = "0xffdf92";
1782         MY(count) = 15;
1783         MY(liquidfriction) = 8;
1784         MY(notunderwater) = true;
1785         MY(originjitter) = '8.0 8.0 8.0';
1786         MY(sizeincrease) = 40;
1787         MY(size_min) = 6;
1788         MY(size_max) = 16;
1789         MY(tex_min) = 48;
1790         MY(tex_max) = 55;
1791         MY(type) = "static";
1792         MY(velocityjitter) = '256.0 256.0 256.0';
1793 }
1794 // smoke
1795 SUB(grenade_explode) {
1796         MY(airfriction) = 5;
1797         MY(alpha_min) = 300;
1798         MY(alpha_max) = 550;
1799         MY(alpha_fade) = 556;
1800         MY(bounce) = 6;
1801         MY(color_min) = "0x000000";
1802         MY(color_max) = "0x111111";
1803         MY(count) = 10;
1804         MY(notunderwater) = true;
1805         MY(sizeincrease) = 34;
1806         MY(size_min) = 20;
1807         MY(size_max) = 40;
1808         MY(tex_max) = 8;
1809         MY(type) = "alphastatic";
1810         MY(velocityjitter) = '256.0 256.0 256.0';
1811 }
1812 // underwater bubbles
1813 SUB(grenade_explode) {
1814         MY(alpha_min) = 128;
1815         MY(alpha_max) = 256;
1816         MY(alpha_fade) = 64;
1817         MY(bounce) = 1.500000;
1818         MY(color_min) = "0x404040";
1819         MY(color_max) = "0x808080";
1820         MY(count) = 32;
1821         MY(gravity) = -0.125000;
1822         MY(liquidfriction) = 0.250000;
1823         MY(originjitter) = '16.0 16.0 16.0';
1824         MY(size_min) = 3;
1825         MY(size_max) = 6;
1826         MY(tex_min) = 62;
1827         MY(tex_max) = 62;
1828         MY(type) = "bubble";
1829         MY(underwater) = true;
1830         MY(velocityjitter) = '196.0 196.0 196.0';
1831 }
1832 // underwatershockwave
1833 SUB(grenade_explode) {
1834         MY(alpha_min) = 40;
1835         MY(alpha_max) = 40;
1836         MY(alpha_fade) = 300;
1837         MY(countabsolute) = 1;
1838         MY(sizeincrease) = 1500;
1839         MY(size_min) = 5;
1840         MY(size_max) = 5;
1841         MY(tex_min) = 33;
1842         MY(tex_max) = 33;
1843         MY(type) = "smoke";
1844         MY(underwater) = true;
1845         MY(velocitymultiplier) = 0.300000;
1846 }
1847 // bouncing sparks
1848 SUB(grenade_explode) {
1849         MY(airfriction) = 1;
1850         MY(alpha_min) = 644;
1851         MY(alpha_max) = 956;
1852         MY(alpha_fade) = 484;
1853         MY(bounce) = 1.600000;
1854         MY(color_min) = "0xffa35b";
1855         MY(color_max) = "0xfff2be";
1856         MY(count) = 16;
1857         MY(gravity) = 1;
1858         MY(liquidfriction) = 0.800000;
1859         MY(notunderwater) = true;
1860         MY(originjitter) = '16.0 16.0 16.0';
1861         MY(size_min) = 1;
1862         MY(size_max) = 0.100000;
1863         MY(tex_min) = 40;
1864         MY(tex_max) = 40;
1865         MY(type) = "spark";
1866         MY(velocityjitter) = '424.0 424.0 624.0';
1867         MY(velocityoffset) = '0.0 0.0 80.0';
1868 }
1869 // debris
1870 SUB(grenade_explode) {
1871         MY(airfriction) = 0.500000;
1872         MY(alpha_min) = 644;
1873         MY(alpha_max) = 956;
1874         MY(alpha_fade) = 684;
1875         MY(bounce) = 1.600000;
1876         MY(color_min) = "0x6a3d25";
1877         MY(color_max) = "0xcac5b4";
1878         MY(count) = 12;
1879         MY(gravity) = 1.300000;
1880         MY(notunderwater) = true;
1881         MY(startangle_min) = -180;
1882         MY(startangle_max) = 180;
1883         MY(spin_min) = -1000;
1884         MY(spin_max) = 1000;
1885         MY(size_min) = 2;
1886         MY(size_max) = 6;
1887         MY(tex_min) = 66;
1888         MY(tex_max) = 68;
1889         MY(type) = "alphastatic";
1890         MY(velocityjitter) = '324.0 324.0 524.0';
1891 }
1892
1893 DEF(electro_muzzleflash);
1894 SUB(electro_muzzleflash) {
1895         MY(alpha_min) = 256;
1896         MY(alpha_max) = 256;
1897         MY(alpha_fade) = 512;
1898         MY(color_min) = "0x283880";
1899         MY(color_max) = "0x283880";
1900         MY(countabsolute) = 1;
1901         MY(lightcolor) = '1.5 3.0 6.0';
1902         MY(lightradiusfade) = 2000;
1903         MY(lightradius) = 200;
1904         MY(originjitter) = '1.5 1.5 1.5';
1905         MY(sizeincrease) = -10;
1906         MY(size_min) = 15;
1907         MY(size_max) = 15;
1908         MY(tex_min) = 65;
1909         MY(tex_max) = 65;
1910         MY(type) = "smoke";
1911         MY(velocityjitter) = '6.0 6.0 6.0';
1912         MY(velocitymultiplier) = 0.010000;
1913 }
1914 SUB(electro_muzzleflash) {
1915         MY(airfriction) = 2;
1916         MY(alpha_min) = 110;
1917         MY(alpha_max) = 228;
1918         MY(alpha_fade) = 2024;
1919         MY(color_min) = "0xD9FDFF";
1920         MY(color_max) = "0xD9FDFF";
1921         MY(count) = 7;
1922         MY(originjitter) = '1.0 1.0 1.0';
1923         MY(size_min) = 5;
1924         MY(size_max) = 15;
1925         MY(stretchfactor) = 1.500000;
1926         MY(tex_min) = 8;
1927         MY(tex_max) = 15;
1928         MY(type) = "spark";
1929         MY(velocityjitter) = '150.0 150.0 150.0';
1930         MY(velocitymultiplier) = 0.500000;
1931 }
1932 SUB(electro_muzzleflash) {
1933         MY(airfriction) = 8;
1934         MY(alpha_min) = 110;
1935         MY(alpha_max) = 228;
1936         MY(alpha_fade) = 1024;
1937         MY(color_min) = "0xD9FDFF";
1938         MY(color_max) = "0xD9FDFF";
1939         MY(count) = 5;
1940         MY(gravity) = 1.300000;
1941         MY(originjitter) = '1.0 1.0 1.0';
1942         MY(size_min) = 7;
1943         MY(size_max) = 6;
1944         MY(stretchfactor) = 0.100000;
1945         MY(tex_min) = 41;
1946         MY(tex_max) = 41;
1947         MY(type) = "spark";
1948         MY(velocityjitter) = '350.0 350.0 350.0';
1949         MY(velocitymultiplier) = 2.500000;
1950 }
1951
1952 // electro trail
1953 DEF(TR_NEXUIZPLASMA);
1954 // glowing vapor trail
1955 SUB(TR_NEXUIZPLASMA) {
1956         MY(alpha_min) = 256;
1957         MY(alpha_max) = 256;
1958         MY(alpha_fade) = 968;
1959         MY(color_min) = "0x283880";
1960         MY(color_max) = "0x283880";
1961         MY(lightcolor) = '1.5 3.0 6.0';
1962         MY(lightradius) = 90;
1963         MY(size_min) = 3;
1964         MY(size_max) = 3;
1965         MY(tex_min) = 38;
1966         MY(tex_max) = 38;
1967         MY(trailspacing) = 2;
1968         MY(type) = "static";
1969         MY(velocitymultiplier) = -0.100000;
1970 }
1971 // bright sparks
1972 SUB(TR_NEXUIZPLASMA) {
1973         MY(airfriction) = 12;
1974         MY(alpha_min) = 444;
1975         MY(alpha_max) = 512;
1976         MY(alpha_fade) = 1866;
1977         MY(bounce) = 1;
1978         MY(color_min) = "0x629dff";
1979         MY(color_max) = "0x0018ff";
1980         MY(count) = 1.500000;
1981         MY(originjitter) = '1.0 1.0 1.0';
1982         MY(sizeincrease) = -20;
1983         MY(size_min) = 2;
1984         MY(size_max) = 4;
1985         MY(tex_min) = 42;
1986         MY(tex_max) = 42;
1987         MY(trailspacing) = 12;
1988         MY(type) = "snow";
1989         MY(velocityjitter) = '50.0 50.0 50.0';
1990         MY(velocityoffset) = '0.0 0.0 15.0';
1991 }
1992
1993 DEF(electro_impact);
1994 // decal
1995 SUB(electro_impact) {
1996         MY(alpha_min) = 256;
1997         MY(alpha_max) = 256;
1998         MY(countabsolute) = 1;
1999         MY(lightcolor) = '3.1 4.4 10.0';
2000         MY(lightradiusfade) = 250;
2001         MY(lightradius) = 250;
2002         MY(originjitter) = '17.0 17.0 17.0';
2003         MY(size_min) = 32;
2004         MY(size_max) = 32;
2005         MY(tex_min) = 59;
2006         MY(tex_max) = 59;
2007         MY(type) = "decal";
2008 }
2009 // shockwave
2010 SUB(electro_impact) {
2011         MY(alpha_min) = 40;
2012         MY(alpha_max) = 40;
2013         MY(alpha_fade) = 350;
2014         MY(color_min) = "0x80C0FF";
2015         MY(color_max) = "0x80C0FF";
2016         MY(countabsolute) = 1;
2017         MY(sizeincrease) = 1000;
2018         MY(size_min) = 32;
2019         MY(size_max) = 32;
2020         MY(tex_min) = 33;
2021         MY(tex_max) = 33;
2022         MY(type) = "smoke";
2023         MY(velocitymultiplier) = 44;
2024 }
2025 // flare effect
2026 SUB(electro_impact) {
2027         MY(alpha_min) = 256;
2028         MY(alpha_max) = 256;
2029         MY(alpha_fade) = 512;
2030         MY(color_min) = "0x80C0FF";
2031         MY(color_max) = "0x80C0FF";
2032         MY(countabsolute) = 1;
2033         MY(size_min) = 12;
2034         MY(size_max) = 32;
2035         MY(tex_min) = 38;
2036         MY(tex_max) = 38;
2037         MY(type) = "static";
2038 }
2039 // cloud of bouncing sparks
2040 SUB(electro_impact) {
2041         MY(airfriction) = 6;
2042         MY(alpha_min) = 256;
2043         MY(alpha_max) = 256;
2044         MY(alpha_fade) = 1024;
2045         MY(bounce) = 2;
2046         MY(color_min) = "0x629dff";
2047         MY(color_max) = "0x0018ff";
2048         MY(count) = 30;
2049         MY(gravity) = -0.300000;
2050         MY(originjitter) = '1.0 1.0 1.0';
2051         MY(startangle_min) = -180;
2052         MY(startangle_max) = 180;
2053         MY(spin_min) = -9999;
2054         MY(spin_max) = 9999;
2055         MY(sizeincrease) = -50;
2056         MY(size_min) = 36;
2057         MY(size_max) = 36;
2058         MY(tex_min) = 42;
2059         MY(tex_max) = 42;
2060         MY(type) = "smoke";
2061         MY(velocityjitter) = '512.0 512.0 512.0';
2062 }
2063 // inner cloud of smoke
2064 SUB(electro_impact) {
2065         MY(airfriction) = 30;
2066         MY(alpha_min) = 200;
2067         MY(alpha_max) = 256;
2068         MY(alpha_fade) = 512;
2069         MY(color_min) = "0x629dff";
2070         MY(color_max) = "0x0018ff";
2071         MY(count) = 30;
2072         MY(originjitter) = '20.0 20.0 20.0';
2073         MY(sizeincrease) = 50;
2074         MY(size_min) = 20;
2075         MY(size_max) = 24;
2076         MY(tex_max) = 8;
2077         MY(type) = "smoke";
2078         MY(velocityjitter) = '320.0 320.0 320.0';
2079 }
2080
2081 DEF(electro_ballexplode);
2082 // decal
2083 SUB(electro_ballexplode) {
2084         MY(alpha_min) = 256;
2085         MY(alpha_max) = 256;
2086         MY(countabsolute) = 1;
2087         MY(lightcolor) = '3.1 4.4 10.0';
2088         MY(lightradiusfade) = 250;
2089         MY(lightradius) = 250;
2090         MY(originjitter) = '17.0 17.0 17.0';
2091         MY(size_min) = 32;
2092         MY(size_max) = 32;
2093         MY(tex_min) = 59;
2094         MY(tex_max) = 59;
2095         MY(type) = "decal";
2096 }
2097 // flare effect
2098 SUB(electro_ballexplode) {
2099         MY(alpha_min) = 256;
2100         MY(alpha_max) = 256;
2101         MY(alpha_fade) = 512;
2102         MY(color_min) = "0x80C0FF";
2103         MY(color_max) = "0x80C0FF";
2104         MY(countabsolute) = 1;
2105         MY(size_min) = 32;
2106         MY(size_max) = 32;
2107         MY(tex_min) = 38;
2108         MY(tex_max) = 38;
2109         MY(type) = "static";
2110 }
2111 // cloud of bouncing sparks
2112 SUB(electro_ballexplode) {
2113         MY(alpha_min) = 256;
2114         MY(alpha_max) = 256;
2115         MY(alpha_fade) = 1024;
2116         MY(bounce) = 2;
2117         MY(color_min) = "0xFDFFD9";
2118         MY(color_max) = "0xFDFFD9";
2119         MY(count) = 64;
2120         MY(originjitter) = '1.0 1.0 1.0';
2121         MY(size_min) = 1;
2122         MY(size_max) = 2;
2123         MY(stretchfactor) = 0.400000;
2124         MY(tex_min) = 41;
2125         MY(tex_max) = 41;
2126         MY(type) = "spark";
2127         MY(velocityjitter) = '512.0 512.0 512.0';
2128 }
2129 // inner cloud of smoke
2130 SUB(electro_ballexplode) {
2131         MY(alpha_min) = 256;
2132         MY(alpha_max) = 256;
2133         MY(alpha_fade) = 512;
2134         MY(color_min) = "0x202020";
2135         MY(color_max) = "0x404040";
2136         MY(count) = 8;
2137         MY(originjitter) = '20.0 20.0 20.0';
2138         MY(size_min) = 24;
2139         MY(size_max) = 24;
2140         MY(tex_max) = 8;
2141         MY(type) = "smoke";
2142         MY(velocityjitter) = '32.0 32.0 32.0';
2143 }
2144
2145 DEF(electro_combo);
2146 // decal
2147 SUB(electro_combo) {
2148         MY(alpha_min) = 256;
2149         MY(alpha_max) = 256;
2150         MY(countabsolute) = 1;
2151         MY(lightcolor) = '4.0 5.0 6.0';
2152         MY(lightradiusfade) = 300;
2153         MY(lightradius) = 400;
2154         MY(originjitter) = '17.0 17.0 17.0';
2155         MY(size_min) = 64;
2156         MY(size_max) = 64;
2157         MY(tex_min) = 59;
2158         MY(tex_max) = 59;
2159         MY(type) = "decal";
2160 }
2161 // flare effect
2162 SUB(electro_combo) {
2163         MY(alpha_min) = 128;
2164         MY(alpha_max) = 128;
2165         MY(alpha_fade) = 64;
2166         MY(color_min) = "0x80C0FF";
2167         MY(color_max) = "0x80C0FF";
2168         MY(countabsolute) = 1;
2169         MY(size_min) = 48;
2170         MY(size_max) = 48;
2171         MY(tex_min) = 38;
2172         MY(tex_max) = 38;
2173         MY(type) = "static";
2174 }
2175 // large sparks
2176 SUB(electro_combo) {
2177         MY(airfriction) = 6;
2178         MY(alpha_min) = 156;
2179         MY(alpha_max) = 156;
2180         MY(alpha_fade) = 156;
2181         MY(bounce) = 2;
2182         MY(color_min) = "0x2030FF";
2183         MY(color_max) = "0x80C0FF";
2184         MY(count) = 5;
2185         MY(liquidfriction) = 16;
2186         MY(sizeincrease) = 50;
2187         MY(size_min) = 32;
2188         MY(size_max) = 32;
2189         MY(tex_max) = 7;
2190         MY(type) = "static";
2191         MY(velocityjitter) = '512.0 512.0 512.0';
2192 }
2193 SUB(electro_combo) {
2194         MY(alpha_min) = 444;
2195         MY(alpha_max) = 512;
2196         MY(alpha_fade) = 700;
2197         MY(bounce) = 1.600000;
2198         MY(color_min) = "0xa9cacf";
2199         MY(color_max) = "0x0054ff";
2200         MY(count) = 32;
2201         MY(gravity) = 0.300000;
2202         MY(originjitter) = '1.0 1.0 1.0';
2203         MY(size_min) = 2;
2204         MY(size_max) = 4;
2205         MY(stretchfactor) = 2;
2206         MY(tex_min) = 41;
2207         MY(tex_max) = 41;
2208         MY(type) = "spark";
2209         MY(velocityjitter) = '312.0 312.0 312.0';
2210         MY(velocitymultiplier) = 3;
2211 }
2212 // inner cloud of smoke
2213 SUB(electro_combo) {
2214         MY(alpha_min) = 256;
2215         MY(alpha_max) = 256;
2216         MY(alpha_fade) = 256;
2217         MY(color_min) = "0x202020";
2218         MY(color_max) = "0x404040";
2219         MY(count) = 0.125000;
2220         MY(originjitter) = '20.0 20.0 20.0';
2221         MY(size_min) = 24;
2222         MY(size_max) = 24;
2223         MY(tex_max) = 8;
2224         MY(type) = "smoke";
2225         MY(velocityjitter) = '32.0 32.0 32.0';
2226 }
2227 // shockwave
2228 SUB(electro_combo) {
2229         MY(alpha_min) = 40;
2230         MY(alpha_max) = 40;
2231         MY(alpha_fade) = 100;
2232         MY(color_min) = "0xa9cacf";
2233         MY(color_max) = "0x0054ff";
2234         MY(countabsolute) = 1;
2235         MY(sizeincrease) = 600;
2236         MY(size_min) = 30;
2237         MY(size_max) = 30;
2238         MY(tex_min) = 33;
2239         MY(tex_max) = 33;
2240         MY(type) = "smoke";
2241         MY(velocitymultiplier) = 0.300000;
2242 }
2243
2244 DEF(crylink_muzzleflash);
2245 SUB(crylink_muzzleflash) {
2246         MY(alpha_min) = 128;
2247         MY(alpha_max) = 128;
2248         MY(alpha_fade) = 2024;
2249         MY(color_min) = "0xdd9cff";
2250         MY(color_max) = "0xff0090";
2251         MY(count) = 0.500000;
2252         MY(lightcolor) = '1.6 0.2 2.0';
2253         MY(lightradiusfade) = 2000;
2254         MY(lightradius) = 200;
2255         MY(size_min) = 15;
2256         MY(size_max) = 20;
2257         MY(tex_min) = 65;
2258         MY(tex_max) = 65;
2259         MY(type) = "smoke";
2260         MY(velocitymultiplier) = 0.010000;
2261 }
2262 SUB(crylink_muzzleflash) {
2263         MY(airfriction) = 12;
2264         MY(alpha_max) = 128;
2265         MY(alpha_fade) = 1024;
2266         MY(color_min) = "0xA080C0";
2267         MY(color_max) = "0xA080C0";
2268         MY(count) = 5;
2269         MY(originjitter) = '1.0 1.0 1.0';
2270         MY(size_min) = 5;
2271         MY(size_max) = 10;
2272         MY(stretchfactor) = 1.500000;
2273         MY(tex_min) = 35;
2274         MY(tex_max) = 36;
2275         MY(type) = "spark";
2276         MY(velocityjitter) = '200.0 200.0 200.0';
2277         MY(velocitymultiplier) = 0.300000;
2278 }
2279
2280 DEF(crylink_impact);
2281 // decal
2282 SUB(crylink_impact) {
2283         MY(alpha_min) = 256;
2284         MY(alpha_max) = 256;
2285         MY(countabsolute) = 1;
2286         MY(originjitter) = '12.0 12.0 12.0';
2287         MY(size_min) = 24;
2288         MY(size_max) = 24;
2289         MY(tex_min) = 47;
2290         MY(tex_max) = 47;
2291         MY(type) = "decal";
2292 }
2293 // purple flare effect
2294 SUB(crylink_impact) {
2295         MY(alpha_min) = 256;
2296         MY(alpha_max) = 256;
2297         MY(alpha_fade) = 512;
2298         MY(color_min) = "0x504060";
2299         MY(color_max) = "0x504060";
2300         MY(countabsolute) = 1;
2301         MY(size_min) = 24;
2302         MY(size_max) = 24;
2303         MY(tex_min) = 39;
2304         MY(tex_max) = 39;
2305         MY(type) = "static";
2306 }
2307 // purple sparks
2308 SUB(crylink_impact) {
2309         MY(alpha_min) = 256;
2310         MY(alpha_max) = 256;
2311         MY(alpha_fade) = 1024;
2312         MY(bounce) = 2;
2313         MY(color_min) = "0xA040C0";
2314         MY(color_max) = "0xA040C0";
2315         MY(count) = 40;
2316         MY(size_min) = 6;
2317         MY(size_max) = 6;
2318         MY(tex_min) = 41;
2319         MY(tex_max) = 41;
2320         MY(type) = "spark";
2321         MY(velocityjitter) = '512.0 512.0 512.0';
2322 }
2323 // purple splash
2324 SUB(crylink_impact) {
2325         MY(alpha_min) = 256;
2326         MY(alpha_max) = 256;
2327         MY(alpha_fade) = 512;
2328         MY(color_min) = "0xE070FF";
2329         MY(color_max) = "0xE070FF";
2330         MY(count) = 1.500000;
2331         MY(size_min) = 16;
2332         MY(size_max) = 16;
2333         MY(type) = "static";
2334         MY(velocityjitter) = '32.0 32.0 32.0';
2335 }
2336 // purple splash
2337 SUB(crylink_impact) {
2338         MY(alpha_min) = 256;
2339         MY(alpha_max) = 256;
2340         MY(alpha_fade) = 1024;
2341         MY(color_min) = "0xE070FF";
2342         MY(color_max) = "0xE070FF";
2343         MY(count) = 3;
2344         MY(size_min) = 16;
2345         MY(size_max) = 16;
2346         MY(type) = "static";
2347         MY(velocityjitter) = '256.0 256.0 256.0';
2348 }
2349
2350 DEF(nex_muzzleflash);
2351 SUB(nex_muzzleflash) {
2352         MY(airfriction) = 9;
2353         MY(alpha_min) = 328;
2354         MY(alpha_max) = 328;
2355         MY(alpha_fade) = 4000;
2356         MY(color_min) = "0x202020";
2357         MY(color_max) = "0x0072ff";
2358         MY(count) = 12;
2359         MY(lightcolor) = '2.0 2.5 3.0';
2360         MY(lightradiusfade) = 200;
2361         MY(lightradius) = 200;
2362         MY(originjitter) = '4.0 4.0 4.0';
2363         MY(sizeincrease) = -100;
2364         MY(size_min) = 16;
2365         MY(size_max) = 16;
2366         MY(stretchfactor) = 2;
2367         MY(tex_min) = 48;
2368         MY(tex_max) = 55;
2369         MY(type) = "spark";
2370         MY(velocityjitter) = '180.0 180.0 180.0';
2371         MY(velocitymultiplier) = 1.400000;
2372 }
2373 SUB(nex_muzzleflash) {
2374         MY(airfriction) = 9;
2375         MY(alpha_max) = 128;
2376         MY(alpha_fade) = 1024;
2377         MY(color_min) = "0xD9FDFF";
2378         MY(color_max) = "0xD9FDFF";
2379         MY(count) = 50;
2380         MY(originjitter) = '1.0 1.0 1.0';
2381         MY(size_min) = 1;
2382         MY(size_max) = 1;
2383         MY(tex_min) = 41;
2384         MY(tex_max) = 41;
2385         MY(type) = "spark";
2386         MY(velocityjitter) = '600.0 600.0 600.0';
2387         MY(velocitymultiplier) = 1.500000;
2388 }
2389
2390 // vortex beam
2391 DEF(nex_beam);
2392 SUB(nex_beam) {
2393         MY(airfriction) = 5;
2394         MY(alpha_min) = 64;
2395         MY(alpha_max) = 128;
2396         MY(alpha_fade) = 64;
2397         MY(color_min) = "0x1680A0";
2398         MY(color_max) = "0x1680A0";
2399         MY(sizeincrease) = 2;
2400         MY(size_min) = 4;
2401         MY(size_max) = 4;
2402         MY(tex_min) = 32;
2403         MY(tex_max) = 32;
2404         MY(trailspacing) = 64;
2405         MY(type) = "static";
2406 }
2407 // drifting smoke
2408 SUB(nex_beam) {
2409         MY(airfriction) = 9;
2410         MY(alpha_min) = 32;
2411         MY(alpha_max) = 64;
2412         MY(alpha_fade) = 32;
2413         MY(color_min) = "0x5080A0";
2414         MY(color_max) = "0x5080A0";
2415         MY(sizeincrease) = 8;
2416         MY(size_min) = 1;
2417         MY(size_max) = 1;
2418         MY(tex_max) = 8;
2419         MY(trailspacing) = 12;
2420         MY(type) = "static";
2421         MY(velocityjitter) = '64.0 64.0 64.0';
2422 }
2423 // bright core
2424 SUB(nex_beam) {
2425         MY(alpha_min) = 256;
2426         MY(alpha_max) = 256;
2427         MY(alpha_fade) = 1280;
2428         MY(color_min) = "0x80CDFF";
2429         MY(color_max) = "0x80CDFF";
2430         MY(size_min) = 4;
2431         MY(size_max) = 4;
2432         MY(trailspacing) = 12;
2433         MY(type) = "static";
2434 }
2435 // sparks
2436 SUB(nex_beam) {
2437         MY(airfriction) = 5;
2438         MY(alpha_min) = 64;
2439         MY(alpha_max) = 128;
2440         MY(alpha_fade) = 80;
2441         MY(color_min) = "0x1680A0";
2442         MY(color_max) = "0x1680A0";
2443         MY(gravity) = -0.010000;
2444         MY(size_min) = 1;
2445         MY(size_max) = 1;
2446         MY(tex_min) = 63;
2447         MY(tex_max) = 63;
2448         MY(trailspacing) = 16;
2449         MY(type) = "snow";
2450 }
2451
2452 DEF(nex_impact);
2453 // decal
2454 SUB(nex_impact) {
2455         MY(alpha_min) = 256;
2456         MY(alpha_max) = 256;
2457         MY(countabsolute) = 1;
2458         MY(lightcolor) = '4.0 6.0 8.0';
2459         MY(lightradiusfade) = 250;
2460         MY(lightradius) = 200;
2461         MY(originjitter) = '14.0 14.0 14.0';
2462         MY(startangle_min) = -180;
2463         MY(startangle_max) = 180;
2464         MY(size_min) = 24;
2465         MY(size_max) = 24;
2466         MY(tex_min) = 47;
2467         MY(tex_max) = 47;
2468         MY(type) = "decal";
2469 }
2470 // rotating something
2471 SUB(nex_impact) {
2472         MY(alpha_min) = 55;
2473         MY(alpha_max) = 55;
2474         MY(alpha_fade) = 50;
2475         MY(color_min) = "0x1680A0";
2476         MY(color_max) = "0x1680A0";
2477         MY(count) = 5;
2478         MY(startangle_min) = 180;
2479         MY(startangle_max) = -180;
2480         MY(spin_min) = 500;
2481         MY(spin_max) = -500;
2482         MY(sizeincrease) = 20;
2483         MY(size_min) = 25;
2484         MY(size_max) = 28;
2485         MY(tex_min) = 46;
2486         MY(tex_max) = 46;
2487         MY(type) = "smoke";
2488 }
2489 // shockwave
2490 SUB(nex_impact) {
2491         MY(alpha_min) = 50;
2492         MY(alpha_max) = 50;
2493         MY(alpha_fade) = 400;
2494         MY(color_min) = "0x1680A0";
2495         MY(color_max) = "0x1680A0";
2496         MY(countabsolute) = 1;
2497         MY(sizeincrease) = 900;
2498         MY(size_min) = 16;
2499         MY(size_max) = 16;
2500         MY(tex_min) = 33;
2501         MY(tex_max) = 33;
2502         MY(type) = "static";
2503 }
2504 // shockwave2
2505 SUB(nex_impact) {
2506         MY(alpha_min) = 50;
2507         MY(alpha_max) = 50;
2508         MY(alpha_fade) = 100;
2509         MY(color_min) = "0x1680A0";
2510         MY(color_max) = "0x1680A0";
2511         MY(countabsolute) = 1;
2512         MY(sizeincrease) = 500;
2513         MY(size_min) = 5;
2514         MY(size_max) = 5;
2515         MY(tex_min) = 65;
2516         MY(tex_max) = 65;
2517         MY(type) = "static";
2518 }
2519 // flare effect
2520 SUB(nex_impact) {
2521         MY(alpha_min) = 256;
2522         MY(alpha_max) = 256;
2523         MY(alpha_fade) = 256;
2524         MY(color_min) = "0x80C0FF";
2525         MY(color_max) = "0x80C0FF";
2526         MY(countabsolute) = 1;
2527         MY(size_min) = 8;
2528         MY(size_max) = 8;
2529         MY(tex_min) = 37;
2530         MY(tex_max) = 37;
2531         MY(type) = "static";
2532 }
2533 // small sparks which glow brightly but live briefly
2534 SUB(nex_impact) {
2535         MY(airfriction) = 9;
2536         MY(alpha_max) = 128;
2537         MY(alpha_fade) = 512;
2538         MY(bounce) = 2;
2539         MY(color_min) = "0xD9FDFF";
2540         MY(color_max) = "0xD9FDFF";
2541         MY(count) = 64;
2542         MY(size_min) = 4;
2543         MY(size_max) = 4;
2544         MY(stretchfactor) = 3;
2545         MY(tex_min) = 41;
2546         MY(tex_max) = 41;
2547         MY(type) = "spark";
2548         MY(velocityjitter) = '600.0 600.0 600.0';
2549         MY(velocitymultiplier) = 0.500000;
2550 }
2551 // small sparks that live longer
2552 SUB(nex_impact) {
2553         MY(airfriction) = 2;
2554         MY(alpha_min) = 255;
2555         MY(alpha_max) = 255;
2556         MY(alpha_fade) = 112;
2557         MY(bounce) = 1.600000;
2558         MY(color_min) = "0xD9FDFF";
2559         MY(color_max) = "0xD9FDFF";
2560         MY(count) = 16;
2561         MY(gravity) = 1;
2562         MY(size_min) = 2;
2563         MY(size_max) = 2;
2564         MY(stretchfactor) = 0.700000;
2565         MY(tex_min) = 41;
2566         MY(tex_max) = 41;
2567         MY(type) = "spark";
2568         MY(velocityjitter) = '300.0 300.0 600.0';
2569         MY(velocitymultiplier) = 2.500000;
2570 }
2571
2572 DEF(hagar_muzzleflash);
2573 SUB(hagar_muzzleflash) {
2574         MY(alpha_min) = 256;
2575         MY(alpha_max) = 256;
2576         MY(alpha_fade) = 512;
2577         MY(color_min) = "0x202020";
2578         MY(color_max) = "0x404040";
2579         MY(count) = 2;
2580         MY(lightcolor) = '2.0 1.5 0.2';
2581         MY(lightradiusfade) = 2000;
2582         MY(lightradius) = 200;
2583         MY(originjitter) = '1.5 1.5 1.5';
2584         MY(size_min) = 5;
2585         MY(size_max) = 5;
2586         MY(tex_max) = 8;
2587         MY(type) = "smoke";
2588         MY(velocityjitter) = '6.0 6.0 6.0';
2589         MY(velocitymultiplier) = 0.010000;
2590 }
2591 SUB(hagar_muzzleflash) {
2592         MY(airfriction) = 12;
2593         MY(alpha_max) = 128;
2594         MY(alpha_fade) = 1024;
2595         MY(color_min) = "0xff8400";
2596         MY(color_max) = "0xff4200";
2597         MY(count) = 15;
2598         MY(originjitter) = '1.0 1.0 1.0';
2599         MY(startangle_min) = -180;
2600         MY(startangle_max) = 180;
2601         MY(spin_min) = -400;
2602         MY(spin_max) = 400;
2603         MY(size_min) = 5;
2604         MY(size_max) = 10;
2605         MY(stretchfactor) = 2;
2606         MY(tex_min) = 48;
2607         MY(tex_max) = 55;
2608         MY(type) = "spark";
2609         MY(velocityjitter) = '200.0 200.0 200.0';
2610         MY(velocitymultiplier) = 0.500000;
2611 }
2612
2613 DEF(hagar_bounce);
2614 SUB(hagar_bounce) {
2615         MY(alpha_min) = 256;
2616         MY(alpha_max) = 256;
2617         MY(alpha_fade) = 256;
2618         MY(color_min) = "0x202020";
2619         MY(color_max) = "0x404040";
2620         MY(count) = 2;
2621         MY(lightcolor) = '2.0 1.5 0.2';
2622         MY(lightradiusfade) = 300;
2623         MY(lightradius) = 60;
2624         MY(originjitter) = '1.5 1.5 1.5';
2625         MY(size_min) = 5;
2626         MY(size_max) = 5;
2627         MY(tex_max) = 8;
2628         MY(type) = "smoke";
2629         MY(velocityjitter) = '6.0 6.0 6.0';
2630         MY(velocitymultiplier) = 0.010000;
2631 }
2632 SUB(hagar_bounce) {
2633         MY(airfriction) = 12;
2634         MY(alpha_max) = 256;
2635         MY(alpha_fade) = 256;
2636         MY(bounce) = 1.500000;
2637         MY(color_min) = "0xFFFDD9";
2638         MY(color_max) = "0xFFFDD9";
2639         MY(count) = 15;
2640         MY(gravity) = 1;
2641         MY(originjitter) = '1.0 1.0 1.0';
2642         MY(size_min) = 3;
2643         MY(size_max) = 3;
2644         MY(tex_min) = 40;
2645         MY(tex_max) = 40;
2646         MY(type) = "spark";
2647         MY(velocityjitter) = '600.0 600.0 600.0';
2648         MY(velocitymultiplier) = 0.500000;
2649 }
2650
2651 DEF(hagar_explode);
2652 // decal
2653 SUB(hagar_explode) {
2654         MY(alpha_min) = 256;
2655         MY(alpha_max) = 256;
2656         MY(countabsolute) = 1;
2657         MY(lightcolor) = '8.0 4.0 1.0';
2658         MY(lightradiusfade) = 400;
2659         MY(lightradius) = 120;
2660         MY(originjitter) = '14.0 14.0 14.0';
2661         MY(size_min) = 28;
2662         MY(size_max) = 38;
2663         MY(tex_min) = 8;
2664         MY(tex_max) = 16;
2665         MY(type) = "decal";
2666 }
2667 // fire effect which make bright dot inside
2668 SUB(hagar_explode) {
2669         MY(airfriction) = 8;
2670         MY(alpha_min) = 80;
2671         MY(alpha_max) = 200;
2672         MY(alpha_fade) = 356;
2673         MY(bounce) = 1.500000;
2674         MY(color_min) = "0xffe955";
2675         MY(color_max) = "0xff5a00";
2676         MY(count) = 3.500000;
2677         MY(liquidfriction) = 8;
2678         MY(notunderwater) = true;
2679         MY(originjitter) = '8.0 8.0 8.0';
2680         MY(sizeincrease) = 5;
2681         MY(size_min) = 16;
2682         MY(size_max) = 26;
2683         MY(tex_min) = 48;
2684         MY(tex_max) = 55;
2685         MY(type) = "smoke";
2686         MY(velocityjitter) = '156.0 156.0 156.0';
2687 }
2688 // fire effect which expands then slows
2689 SUB(hagar_explode) {
2690         MY(airfriction) = 12;
2691         MY(alpha_min) = 128;
2692         MY(alpha_max) = 256;
2693         MY(alpha_fade) = 456;
2694         MY(bounce) = 1.500000;
2695         MY(color_min) = "0x8f0d00";
2696         MY(color_max) = "0xff5a00";
2697         MY(count) = 12;
2698         MY(liquidfriction) = 8;
2699         MY(notunderwater) = true;
2700         MY(originjitter) = '8.0 8.0 8.0';
2701         MY(sizeincrease) = 15;
2702         MY(size_min) = 20;
2703         MY(size_max) = 26;
2704         MY(tex_min) = 48;
2705         MY(tex_max) = 55;
2706         MY(type) = "static";
2707         MY(velocityjitter) = '286.0 286.0 286.0';
2708 }
2709 // smoke
2710 SUB(hagar_explode) {
2711         MY(airfriction) = 5;
2712         MY(alpha_min) = 200;
2713         MY(alpha_max) = 500;
2714         MY(alpha_fade) = 600;
2715         MY(bounce) = 2;
2716         MY(color_min) = "0x000000";
2717         MY(color_max) = "0x111111";
2718         MY(count) = 7;
2719         MY(notunderwater) = true;
2720         MY(sizeincrease) = 20;
2721         MY(size_min) = 20;
2722         MY(size_max) = 40;
2723         MY(tex_max) = 8;
2724         MY(type) = "alphastatic";
2725         MY(velocityjitter) = '244.0 244.0 244.0';
2726 }
2727 // underwater bubbles
2728 SUB(hagar_explode) {
2729         MY(alpha_min) = 128;
2730         MY(alpha_max) = 256;
2731         MY(alpha_fade) = 64;
2732         MY(bounce) = 1.500000;
2733         MY(color_min) = "0x404040";
2734         MY(color_max) = "0x808080";
2735         MY(count) = 16;
2736         MY(gravity) = -0.125000;
2737         MY(liquidfriction) = 0.250000;
2738         MY(originjitter) = '16.0 16.0 16.0';
2739         MY(size_min) = 3;
2740         MY(size_max) = 3;
2741         MY(tex_min) = 62;
2742         MY(tex_max) = 62;
2743         MY(type) = "bubble";
2744         MY(underwater) = true;
2745         MY(velocityjitter) = '96.0 96.0 96.0';
2746 }
2747 // bouncing sparks
2748 SUB(hagar_explode) {
2749         MY(airfriction) = 1;
2750         MY(alpha_min) = 644;
2751         MY(alpha_max) = 956;
2752         MY(alpha_fade) = 684;
2753         MY(bounce) = 1.600000;
2754         MY(color_min) = "0xffa35b";
2755         MY(color_max) = "0xfff2be";
2756         MY(count) = 4;
2757         MY(gravity) = 1;
2758         MY(liquidfriction) = 0.800000;
2759         MY(notunderwater) = true;
2760         MY(originjitter) = '16.0 16.0 16.0';
2761         MY(size_min) = 1;
2762         MY(size_max) = 0.100000;
2763         MY(tex_min) = 40;
2764         MY(tex_max) = 40;
2765         MY(type) = "spark";
2766         MY(velocityjitter) = '224.0 224.0 224.0';
2767         MY(velocityoffset) = '0.0 0.0 80.0';
2768 }
2769
2770 DEF(rocketlauncher_muzzleflash);
2771 SUB(rocketlauncher_muzzleflash) {
2772         MY(airfriction) = 2;
2773         MY(alpha_min) = 256;
2774         MY(alpha_max) = 256;
2775         MY(alpha_fade) = 256;
2776         MY(color_min) = "0x202020";
2777         MY(color_max) = "0x404040";
2778         MY(count) = 10;
2779         MY(originjitter) = '1.5 1.5 1.5';
2780         MY(sizeincrease) = 20;
2781         MY(size_min) = 1;
2782         MY(size_max) = 1;
2783         MY(tex_max) = 8;
2784         MY(type) = "smoke";
2785         MY(velocityjitter) = '40.0 40.0 40.0';
2786         MY(velocitymultiplier) = -0.130000;
2787 }
2788 SUB(rocketlauncher_muzzleflash) {
2789         MY(airfriction) = 9;
2790         MY(alpha_min) = 10;
2791         MY(alpha_max) = 25;
2792         MY(alpha_fade) = 20;
2793         MY(color_min) = "0xFFFDD9";
2794         MY(color_max) = "0xFFFDD9";
2795         MY(count) = 6;
2796         MY(originjitter) = '3.0 3.0 3.0';
2797         MY(startangle_min) = -180;
2798         MY(startangle_max) = 180;
2799         MY(spin_min) = -30;
2800         MY(spin_max) = 30;
2801         MY(sizeincrease) = 20;
2802         MY(size_min) = 5;
2803         MY(size_max) = 10;
2804         MY(tex_min) = 35;
2805         MY(tex_max) = 36;
2806         MY(type) = "smoke";
2807         MY(velocityjitter) = '100.0 100.0 100.0';
2808         MY(velocitymultiplier) = 0.300000;
2809 }
2810
2811 // rocket trail
2812 DEF(TR_ROCKET);
2813 // smoke
2814 SUB(TR_ROCKET) {
2815         MY(alpha_min) = 200;
2816         MY(alpha_max) = 300;
2817         MY(alpha_fade) = 200;
2818         MY(bounce) = 1;
2819         MY(color_min) = "0x000000";
2820         MY(color_max) = "0x666666";
2821         MY(lightcolor) = '6.0 3.0 1.0';
2822         MY(lightradius) = 150;
2823         MY(notunderwater) = true;
2824         MY(originjitter) = '2.0 2.0 2.0';
2825         MY(startangle_min) = -180;
2826         MY(startangle_max) = 180;
2827         MY(spin_min) = -30;
2828         MY(spin_max) = 30;
2829         MY(sizeincrease) = 11;
2830         MY(size_min) = 3;
2831         MY(size_max) = 4;
2832         MY(tex_max) = 8;
2833         MY(trailspacing) = 10;
2834         MY(type) = "smoke";
2835         MY(velocityjitter) = '3.0 3.0 3.0';
2836         MY(velocitymultiplier) = -0.020000;
2837 }
2838 // fire
2839 SUB(TR_ROCKET) {
2840         MY(airfriction) = 8;
2841         MY(alpha_min) = 100;
2842         MY(alpha_max) = 144;
2843         MY(alpha_fade) = 588;
2844         MY(color_min) = "0xffdf72";
2845         MY(color_max) = "0x811200";
2846         MY(sizeincrease) = -30;
2847         MY(size_min) = 7;
2848         MY(size_max) = 7;
2849         MY(tex_min) = 48;
2850         MY(tex_max) = 55;
2851         MY(trailspacing) = 4;
2852         MY(type) = "static";
2853         MY(velocityjitter) = '32.0 32.0 32.0';
2854         MY(velocitymultiplier) = -1.500000;
2855 }
2856 // bubbles
2857 SUB(TR_ROCKET) {
2858         MY(alpha_min) = 256;
2859         MY(alpha_max) = 256;
2860         MY(alpha_fade) = 256;
2861         MY(bounce) = 1.500000;
2862         MY(gravity) = -0.125000;
2863         MY(liquidfriction) = 4;
2864         MY(size_min) = 1;
2865         MY(size_max) = 2;
2866         MY(tex_min) = 62;
2867         MY(tex_max) = 62;
2868         MY(trailspacing) = 16;
2869         MY(type) = "bubble";
2870         MY(underwater) = true;
2871         MY(velocityjitter) = '16.0 16.0 16.0';
2872         MY(velocitymultiplier) = -0.310000;
2873 }
2874 // sparks
2875 SUB(TR_ROCKET) {
2876         MY(airfriction) = 5;
2877         MY(alpha_min) = 444;
2878         MY(alpha_max) = 512;
2879         MY(alpha_fade) = 1866;
2880         MY(bounce) = 1;
2881         MY(color_min) = "0xFFFDD9";
2882         MY(color_max) = "0xFFFDD9";
2883         MY(notunderwater) = true;
2884         MY(originjitter) = '1.0 1.0 1.0';
2885         MY(size_min) = 0.500000;
2886         MY(size_max) = 0.500000;
2887         MY(stretchfactor) = 0.300000;
2888         MY(tex_min) = 40;
2889         MY(tex_max) = 40;
2890         MY(trailspacing) = 20;
2891         MY(type) = "spark";
2892         MY(velocityjitter) = '100.0 100.0 100.0';
2893         MY(velocitymultiplier) = -0.310000;
2894 }
2895
2896 // rocket explosion (bigger than mortar and hagar)
2897 DEF(rocket_explode);
2898 SUB(rocket_explode) {
2899         MY(alpha_min) = 256;
2900         MY(alpha_max) = 256;
2901         MY(countabsolute) = 1;
2902         MY(lightcolor) = '8.0 4.0 1.0';
2903         MY(lightradiusfade) = 750;
2904         MY(lightradius) = 400;
2905         MY(originjitter) = '23.0 23.0 23.0';
2906         MY(size_min) = 72;
2907         MY(size_max) = 72;
2908         MY(tex_min) = 8;
2909         MY(tex_max) = 16;
2910         MY(type) = "decal";
2911 }
2912 // fire effect
2913 SUB(rocket_explode) {
2914         MY(airfriction) = 8;
2915         MY(alpha_min) = 200;
2916         MY(alpha_max) = 256;
2917         MY(alpha_fade) = 512;
2918         MY(bounce) = 1.500000;
2919         MY(color_min) = "0x8f0d00";
2920         MY(color_max) = "0xff5a00";
2921         MY(count) = 32;
2922         MY(liquidfriction) = 8;
2923         MY(notunderwater) = true;
2924         MY(originjitter) = '8.0 8.0 8.0';
2925         MY(sizeincrease) = 45;
2926         MY(size_min) = 33;
2927         MY(size_max) = 44;
2928         MY(tex_min) = 48;
2929         MY(tex_max) = 55;
2930         MY(type) = "static";
2931         MY(velocityjitter) = '512.0 512.0 512.0';
2932 }
2933 // fire effect 2
2934 SUB(rocket_explode) {
2935         MY(airfriction) = 19;
2936         MY(alpha_min) = 200;
2937         MY(alpha_max) = 256;
2938         MY(alpha_fade) = 612;
2939         MY(bounce) = 2.500000;
2940         MY(color_min) = "0xea691b";
2941         MY(color_max) = "0xeed05a";
2942         MY(count) = 14;
2943         MY(liquidfriction) = 19;
2944         MY(notunderwater) = true;
2945         MY(originjitter) = '8.0 8.0 8.0';
2946         MY(sizeincrease) = 55;
2947         MY(size_min) = 33;
2948         MY(size_max) = 44;
2949         MY(tex_min) = 48;
2950         MY(tex_max) = 55;
2951         MY(type) = "smoke";
2952         MY(velocityjitter) = '912.0 912.0 912.0';
2953 }
2954 // smoke
2955 SUB(rocket_explode) {
2956         MY(airfriction) = 5;
2957         MY(alpha_min) = 200;
2958         MY(alpha_max) = 450;
2959         MY(alpha_fade) = 456;
2960         MY(bounce) = 2;
2961         MY(color_min) = "0x000000";
2962         MY(color_max) = "0x111111";
2963         MY(count) = 32;
2964         MY(notunderwater) = true;
2965         MY(sizeincrease) = 44;
2966         MY(size_min) = 20;
2967         MY(size_max) = 40;
2968         MY(tex_max) = 8;
2969         MY(type) = "alphastatic";
2970         MY(velocityjitter) = '444.0 444.0 444.0';
2971 }
2972 // underwater bubbles
2973 SUB(rocket_explode) {
2974         MY(alpha_min) = 128;
2975         MY(alpha_max) = 256;
2976         MY(alpha_fade) = 64;
2977         MY(bounce) = 1.500000;
2978         MY(color_min) = "0x404040";
2979         MY(color_max) = "0x808080";
2980         MY(count) = 32;
2981         MY(gravity) = -0.125000;
2982         MY(liquidfriction) = 0.250000;
2983         MY(originjitter) = '16.0 16.0 16.0';
2984         MY(size_min) = 3;
2985         MY(size_max) = 3;
2986         MY(tex_min) = 62;
2987         MY(tex_max) = 62;
2988         MY(type) = "bubble";
2989         MY(underwater) = true;
2990         MY(velocityjitter) = '144.0 144.0 144.0';
2991 }
2992 // underwatershockwave
2993 SUB(rocket_explode) {
2994         MY(alpha_min) = 40;
2995         MY(alpha_max) = 40;
2996         MY(alpha_fade) = 300;
2997         MY(countabsolute) = 1;
2998         MY(sizeincrease) = 1900;
2999         MY(size_min) = 30;
3000         MY(size_max) = 30;
3001         MY(tex_min) = 33;
3002         MY(tex_max) = 33;
3003         MY(type) = "smoke";
3004         MY(underwater) = true;
3005         MY(velocitymultiplier) = 0.300000;
3006 }
3007 // bouncing sparks
3008 SUB(rocket_explode) {
3009         MY(airfriction) = 1;
3010         MY(alpha_min) = 644;
3011         MY(alpha_max) = 956;
3012         MY(alpha_fade) = 484;
3013         MY(bounce) = 1.600000;
3014         MY(color_min) = "0xffa35b";
3015         MY(color_max) = "0xfff2be";
3016         MY(count) = 16;
3017         MY(gravity) = 1;
3018         MY(liquidfriction) = 0.800000;
3019         MY(notunderwater) = true;
3020         MY(originjitter) = '16.0 16.0 16.0';
3021         MY(size_min) = 1;
3022         MY(size_max) = 0.100000;
3023         MY(tex_min) = 40;
3024         MY(tex_max) = 40;
3025         MY(type) = "spark";
3026         MY(velocityjitter) = '424.0 424.0 624.0';
3027         MY(velocityoffset) = '0.0 0.0 80.0';
3028 }
3029 // debris
3030 SUB(rocket_explode) {
3031         MY(airfriction) = 0.500000;
3032         MY(alpha_min) = 644;
3033         MY(alpha_max) = 956;
3034         MY(alpha_fade) = 684;
3035         MY(bounce) = 1.600000;
3036         MY(color_min) = "0x6a3d25";
3037         MY(color_max) = "0xcac5b4";
3038         MY(count) = 12;
3039         MY(gravity) = 1.300000;
3040         MY(notunderwater) = true;
3041         MY(startangle_min) = -180;
3042         MY(startangle_max) = 180;
3043         MY(spin_min) = -1000;
3044         MY(spin_max) = 1000;
3045         MY(size_min) = 2;
3046         MY(size_max) = 6;
3047         MY(tex_min) = 66;
3048         MY(tex_max) = 68;
3049         MY(type) = "alphastatic";
3050         MY(velocityjitter) = '324.0 324.0 524.0';
3051 }
3052
3053 DEF(grapple_muzzleflash);
3054 SUB(grapple_muzzleflash) {
3055         MY(lightcolor) = '1.0 0.0 0.0';
3056         MY(lightradiusfade) = 800;
3057         MY(lightradius) = 160;
3058 }
3059
3060 DEF(grapple_impact);
3061 SUB(grapple_impact) {
3062         MY(lightcolor) = '1.0 0.0 0.0';
3063         MY(lightradiusfade) = 800;
3064         MY(lightradius) = 160;
3065 }
3066
3067 DEF(nex242_misc_laser_beam);
3068 SUB(nex242_misc_laser_beam) {
3069         MY(alpha_min) = 256;
3070         MY(alpha_max) = 256;
3071         MY(alpha_fade) = 64;
3072         MY(color_min) = "0xff0000";
3073         MY(color_max) = "0xff0000";
3074         MY(countabsolute) = 1;
3075         MY(sizeincrease) = 1;
3076         MY(size_min) = 1;
3077         MY(size_max) = 1;
3078         MY(tex_min) = 200;
3079         MY(tex_max) = 200;
3080         MY(type) = "beam";
3081 }
3082
3083 DEF(nex242_misc_laser_beam_end);
3084 SUB(nex242_misc_laser_beam_end) {
3085         MY(alpha_min) = 128;
3086         MY(alpha_max) = 256;
3087         MY(alpha_fade) = 768;
3088         MY(bounce) = -1;
3089         MY(color_min) = "0x8f4333";
3090         MY(color_max) = "0xfff31b";
3091         MY(count) = 0.500000;
3092         MY(gravity) = 1;
3093         MY(size_min) = 0.400000;
3094         MY(size_max) = 0.400000;
3095         MY(type) = "spark";
3096         MY(velocityjitter) = '64.0 64.0 64.0';
3097         MY(velocitymultiplier) = 100;
3098 }
3099
3100 DEF(nex242_misc_laser_beam_fast);
3101 SUB(nex242_misc_laser_beam_fast) {
3102         MY(alpha_min) = 256;
3103         MY(alpha_max) = 256;
3104         MY(alpha_fade) = 640;
3105         MY(color_min) = "0xff0000";
3106         MY(color_max) = "0xff0000";
3107         MY(countabsolute) = 1;
3108         MY(sizeincrease) = 0.100000;
3109         MY(size_min) = 1;
3110         MY(size_max) = 1;
3111         MY(tex_min) = 200;
3112         MY(tex_max) = 200;
3113         MY(type) = "beam";
3114 }
3115
3116 DEF(nex242_misc_laser_beam_fast_end);
3117 SUB(nex242_misc_laser_beam_fast_end) {
3118         MY(alpha_min) = 128;
3119         MY(alpha_max) = 256;
3120         MY(alpha_fade) = 768;
3121         MY(bounce) = -1;
3122         MY(color_min) = "0x8f4333";
3123         MY(color_max) = "0xfff31b";
3124         MY(count) = 0.500000;
3125         MY(gravity) = 1;
3126         MY(size_min) = 0.400000;
3127         MY(size_max) = 0.400000;
3128         MY(type) = "spark";
3129         MY(velocityjitter) = '64.0 64.0 64.0';
3130         MY(velocitymultiplier) = 100;
3131 }
3132
3133 DEF(nex242_misc_laser_green_beam);
3134 SUB(nex242_misc_laser_green_beam) {
3135         MY(alpha_min) = 256;
3136         MY(alpha_max) = 256;
3137         MY(alpha_fade) = 64;
3138         MY(color_min) = "0x00ff00";
3139         MY(color_max) = "0x00ff00";
3140         MY(countabsolute) = 1;
3141         MY(sizeincrease) = 1;
3142         MY(size_min) = 1;
3143         MY(size_max) = 1;
3144         MY(tex_min) = 200;
3145         MY(tex_max) = 200;
3146         MY(type) = "beam";
3147 }
3148
3149 DEF(nex242_misc_laser_green_beam_end);
3150 SUB(nex242_misc_laser_green_beam_end) {
3151         MY(alpha_min) = 128;
3152         MY(alpha_max) = 256;
3153         MY(alpha_fade) = 768;
3154         MY(bounce) = -1;
3155         MY(color_min) = "0x8f4333";
3156         MY(color_max) = "0xfff31b";
3157         MY(count) = 0.500000;
3158         MY(gravity) = 1;
3159         MY(size_min) = 0.400000;
3160         MY(size_max) = 0.400000;
3161         MY(type) = "spark";
3162         MY(velocityjitter) = '64.0 64.0 64.0';
3163         MY(velocitymultiplier) = 100;
3164 }
3165
3166 DEF(nex242_misc_laser_blue_beam);
3167 SUB(nex242_misc_laser_blue_beam) {
3168         MY(alpha_min) = 256;
3169         MY(alpha_max) = 256;
3170         MY(alpha_fade) = 64;
3171         MY(color_min) = "0x0000ff";
3172         MY(color_max) = "0x0000ff";
3173         MY(countabsolute) = 1;
3174         MY(sizeincrease) = 1;
3175         MY(size_min) = 1;
3176         MY(size_max) = 1;
3177         MY(tex_min) = 200;
3178         MY(tex_max) = 200;
3179         MY(type) = "beam";
3180 }
3181
3182 DEF(nex242_misc_laser_blue_beam_end);
3183 SUB(nex242_misc_laser_blue_beam_end) {
3184         MY(alpha_min) = 128;
3185         MY(alpha_max) = 256;
3186         MY(alpha_fade) = 768;
3187         MY(bounce) = -1;
3188         MY(color_min) = "0x8f4333";
3189         MY(color_max) = "0xfff31b";
3190         MY(count) = 0.500000;
3191         MY(gravity) = 1;
3192         MY(size_min) = 0.400000;
3193         MY(size_max) = 0.400000;
3194         MY(type) = "spark";
3195         MY(velocityjitter) = '64.0 64.0 64.0';
3196         MY(velocitymultiplier) = 100;
3197 }
3198
3199 DEF(nex242_misc_laser_yellow_beam);
3200 SUB(nex242_misc_laser_yellow_beam) {
3201         MY(alpha_min) = 256;
3202         MY(alpha_max) = 256;
3203         MY(alpha_fade) = 64;
3204         MY(color_min) = "0xffff00";
3205         MY(color_max) = "0xffff00";
3206         MY(countabsolute) = 1;
3207         MY(sizeincrease) = 1;
3208         MY(size_min) = 1;
3209         MY(size_max) = 1;
3210         MY(tex_min) = 200;
3211         MY(tex_max) = 200;
3212         MY(type) = "beam";
3213 }
3214
3215 DEF(nex242_misc_laser_yellow_beam_end);
3216 SUB(nex242_misc_laser_yellow_beam_end) {
3217         MY(alpha_min) = 128;
3218         MY(alpha_max) = 256;
3219         MY(alpha_fade) = 768;
3220         MY(bounce) = -1;
3221         MY(color_min) = "0x8f4333";
3222         MY(color_max) = "0xfff31b";
3223         MY(count) = 0.500000;
3224         MY(gravity) = 1;
3225         MY(size_min) = 0.400000;
3226         MY(size_max) = 0.400000;
3227         MY(type) = "spark";
3228         MY(velocityjitter) = '64.0 64.0 64.0';
3229         MY(velocitymultiplier) = 100;
3230 }
3231
3232 DEF(nex242_misc_laser_cyan_beam);
3233 SUB(nex242_misc_laser_cyan_beam) {
3234         MY(alpha_min) = 256;
3235         MY(alpha_max) = 256;
3236         MY(alpha_fade) = 64;
3237         MY(color_min) = "0x00ffff";
3238         MY(color_max) = "0x00ffff";
3239         MY(countabsolute) = 1;
3240         MY(sizeincrease) = 1;
3241         MY(size_min) = 1;
3242         MY(size_max) = 1;
3243         MY(tex_min) = 200;
3244         MY(tex_max) = 200;
3245         MY(type) = "beam";
3246 }
3247
3248 DEF(nex242_misc_laser_cyan_beam_end);
3249 SUB(nex242_misc_laser_cyan_beam_end) {
3250         MY(alpha_min) = 128;
3251         MY(alpha_max) = 256;
3252         MY(alpha_fade) = 768;
3253         MY(bounce) = -1;
3254         MY(color_min) = "0x8f4333";
3255         MY(color_max) = "0xfff31b";
3256         MY(count) = 0.500000;
3257         MY(gravity) = 1;
3258         MY(size_min) = 0.400000;
3259         MY(size_max) = 0.400000;
3260         MY(type) = "spark";
3261         MY(velocityjitter) = '64.0 64.0 64.0';
3262         MY(velocitymultiplier) = 100;
3263 }
3264
3265 DEF(nex242_misc_laser_magenta_beam);
3266 SUB(nex242_misc_laser_magenta_beam) {
3267         MY(alpha_min) = 256;
3268         MY(alpha_max) = 256;
3269         MY(alpha_fade) = 64;
3270         MY(color_min) = "0xff00ff";
3271         MY(color_max) = "0xff00ff";
3272         MY(countabsolute) = 1;
3273         MY(sizeincrease) = 1;
3274         MY(size_min) = 1;
3275         MY(size_max) = 1;
3276         MY(tex_min) = 200;
3277         MY(tex_max) = 200;
3278         MY(type) = "beam";
3279 }
3280
3281 DEF(nex242_misc_laser_magenta_beam_end);
3282 SUB(nex242_misc_laser_magenta_beam_end) {
3283         MY(alpha_min) = 128;
3284         MY(alpha_max) = 256;
3285         MY(alpha_fade) = 768;
3286         MY(bounce) = -1;
3287         MY(color_min) = "0x8f4333";
3288         MY(color_max) = "0xfff31b";
3289         MY(count) = 0.500000;
3290         MY(gravity) = 1;
3291         MY(size_min) = 0.400000;
3292         MY(size_max) = 0.400000;
3293         MY(type) = "spark";
3294         MY(velocityjitter) = '64.0 64.0 64.0';
3295         MY(velocitymultiplier) = 100;
3296 }
3297
3298 DEF(nex242_misc_laser_white_beam);
3299 SUB(nex242_misc_laser_white_beam) {
3300         MY(alpha_min) = 256;
3301         MY(alpha_max) = 256;
3302         MY(alpha_fade) = 64;
3303         MY(color_min) = "0xffffff";
3304         MY(color_max) = "0xffffff";
3305         MY(countabsolute) = 1;
3306         MY(sizeincrease) = 1;
3307         MY(size_min) = 1;
3308         MY(size_max) = 1;
3309         MY(tex_min) = 200;
3310         MY(tex_max) = 200;
3311         MY(type) = "beam";
3312 }
3313
3314 DEF(nex242_misc_laser_white_beam_end);
3315 SUB(nex242_misc_laser_white_beam_end) {
3316         MY(alpha_min) = 128;
3317         MY(alpha_max) = 256;
3318         MY(alpha_fade) = 768;
3319         MY(bounce) = -1;
3320         MY(color_min) = "0x8f4333";
3321         MY(color_max) = "0xfff31b";
3322         MY(count) = 0.500000;
3323         MY(gravity) = 1;
3324         MY(size_min) = 0.400000;
3325         MY(size_max) = 0.400000;
3326         MY(type) = "spark";
3327         MY(velocityjitter) = '64.0 64.0 64.0';
3328         MY(velocitymultiplier) = 100;
3329 }
3330
3331 DEF(nex242_misc_laser_black_beam);
3332 SUB(nex242_misc_laser_black_beam) {
3333         MY(alpha_min) = 256;
3334         MY(alpha_max) = 256;
3335         MY(alpha_fade) = 64;
3336         MY(color_min) = "0x000000";
3337         MY(color_max) = "0x000000";
3338         MY(countabsolute) = 1;
3339         MY(sizeincrease) = 1;
3340         MY(size_min) = 1;
3341         MY(size_max) = 1;
3342         MY(tex_min) = 200;
3343         MY(tex_max) = 200;
3344         MY(type) = "beam";
3345 }
3346
3347 DEF(nex242_misc_laser_black_beam_end);
3348 SUB(nex242_misc_laser_black_beam_end) {
3349         MY(alpha_min) = 128;
3350         MY(alpha_max) = 256;
3351         MY(alpha_fade) = 768;
3352         MY(bounce) = -1;
3353         MY(color_min) = "0x8f4333";
3354         MY(color_max) = "0xfff31b";
3355         MY(count) = 0.500000;
3356         MY(gravity) = 1;
3357         MY(size_min) = 0.400000;
3358         MY(size_max) = 0.400000;
3359         MY(type) = "spark";
3360         MY(velocityjitter) = '64.0 64.0 64.0';
3361         MY(velocitymultiplier) = 100;
3362 }
3363
3364 DEF(nex242_misc_laser_orange_beam);
3365 SUB(nex242_misc_laser_orange_beam) {
3366         MY(alpha_min) = 256;
3367         MY(alpha_max) = 256;
3368         MY(alpha_fade) = 64;
3369         MY(color_min) = "0xff6600";
3370         MY(color_max) = "0xff6600";
3371         MY(countabsolute) = 1;
3372         MY(sizeincrease) = 1;
3373         MY(size_min) = 1;
3374         MY(size_max) = 1;
3375         MY(tex_min) = 200;
3376         MY(tex_max) = 200;
3377         MY(type) = "beam";
3378 }
3379
3380 DEF(nex242_misc_laser_orange_beam_end);
3381 SUB(nex242_misc_laser_orange_beam_end) {
3382         MY(alpha_min) = 128;
3383         MY(alpha_max) = 256;
3384         MY(alpha_fade) = 768;
3385         MY(bounce) = -1;
3386         MY(color_min) = "0x8f4333";
3387         MY(color_max) = "0xfff31b";
3388         MY(count) = 0.500000;
3389         MY(gravity) = 1;
3390         MY(size_min) = 0.400000;
3391         MY(size_max) = 0.400000;
3392         MY(type) = "spark";
3393         MY(velocityjitter) = '64.0 64.0 64.0';
3394         MY(velocitymultiplier) = 100;
3395 }
3396
3397 // bigger crylink impact effect
3398 DEF(crylink_impactbig);
3399 // decal
3400 SUB(crylink_impactbig) {
3401         MY(alpha_min) = 256;
3402         MY(alpha_max) = 256;
3403         MY(countabsolute) = 1;
3404         MY(originjitter) = '12.0 12.0 12.0';
3405         MY(size_min) = 24;
3406         MY(size_max) = 24;
3407         MY(tex_min) = 47;
3408         MY(tex_max) = 47;
3409         MY(type) = "decal";
3410 }
3411 // purple flare effect
3412 SUB(crylink_impactbig) {
3413         MY(alpha_min) = 256;
3414         MY(alpha_max) = 256;
3415         MY(alpha_fade) = 512;
3416         MY(color_min) = "0x504060";
3417         MY(color_max) = "0x504060";
3418         MY(countabsolute) = 1;
3419         MY(size_min) = 24;
3420         MY(size_max) = 24;
3421         MY(tex_min) = 39;
3422         MY(tex_max) = 39;
3423         MY(type) = "static";
3424 }
3425 // purple sparks
3426 SUB(crylink_impactbig) {
3427         MY(alpha_min) = 256;
3428         MY(alpha_max) = 256;
3429         MY(alpha_fade) = 1024;
3430         MY(bounce) = 2;
3431         MY(color_min) = "0xA040C0";
3432         MY(color_max) = "0xA040C0";
3433         MY(count) = 40;
3434         MY(size_min) = 6;
3435         MY(size_max) = 6;
3436         MY(tex_min) = 41;
3437         MY(tex_max) = 41;
3438         MY(type) = "spark";
3439         MY(velocityjitter) = '512.0 512.0 512.0';
3440 }
3441 // purple splash
3442 SUB(crylink_impactbig) {
3443         MY(alpha_min) = 256;
3444         MY(alpha_max) = 256;
3445         MY(alpha_fade) = 512;
3446         MY(color_min) = "0xE070FF";
3447         MY(color_max) = "0xE070FF";
3448         MY(count) = 1.500000;
3449         MY(size_min) = 16;
3450         MY(size_max) = 16;
3451         MY(type) = "static";
3452         MY(velocityjitter) = '32.0 32.0 32.0';
3453 }
3454 // purple splash
3455 SUB(crylink_impactbig) {
3456         MY(alpha_min) = 256;
3457         MY(alpha_max) = 256;
3458         MY(alpha_fade) = 1024;
3459         MY(color_min) = "0xE070FF";
3460         MY(color_max) = "0xE070FF";
3461         MY(count) = 3;
3462         MY(size_min) = 16;
3463         MY(size_max) = 16;
3464         MY(type) = "static";
3465         MY(velocityjitter) = '256.0 256.0 256.0';
3466 }
3467
3468 // Zero-violence effects
3469
3470 // cl_gentle impact effect indicating damage
3471 // NOTE: maintained by div0, make your own new effect instead of changing this one without asking!
3472 DEF(damage_hit);
3473 SUB(damage_hit) {
3474         MY(airfriction) = 5;
3475         MY(alpha_min) = 128;
3476         MY(alpha_max) = 128;
3477         MY(alpha_fade) = 192;
3478         MY(bounce) = 1.500000;
3479         MY(color_min) = "0x00FFFF";
3480         MY(color_max) = "0xFF00FF";
3481         MY(count) = 0.500000;
3482         MY(gravity) = -0.400000;
3483         MY(liquidfriction) = 10;
3484         MY(sizeincrease) = -24;
3485         MY(size_min) = 16;
3486         MY(size_max) = 16;
3487         MY(tex_min) = 48;
3488         MY(tex_max) = 55;
3489         MY(type) = "alphastatic";
3490         MY(velocityjitter) = '256.0 256.0 256.0';
3491 }
3492 SUB(damage_hit) {
3493         MY(airfriction) = 5;
3494         MY(alpha_min) = 128;
3495         MY(alpha_max) = 128;
3496         MY(alpha_fade) = 192;
3497         MY(bounce) = 1.500000;
3498         MY(color_min) = "0xFF00FF";
3499         MY(color_max) = "0xFFFF00";
3500         MY(count) = 0.500000;
3501         MY(gravity) = -0.400000;
3502         MY(liquidfriction) = 10;
3503         MY(sizeincrease) = -24;
3504         MY(size_min) = 16;
3505         MY(size_max) = 16;
3506         MY(tex_min) = 48;
3507         MY(tex_max) = 55;
3508         MY(type) = "alphastatic";
3509         MY(velocityjitter) = '256.0 256.0 256.0';
3510 }
3511 SUB(damage_hit) {
3512         MY(airfriction) = 5;
3513         MY(alpha_min) = 128;
3514         MY(alpha_max) = 128;
3515         MY(alpha_fade) = 192;
3516         MY(bounce) = 1.500000;
3517         MY(color_min) = "0xFFFF00";
3518         MY(color_max) = "0x00FFFF";
3519         MY(count) = 0.500000;
3520         MY(gravity) = -0.400000;
3521         MY(liquidfriction) = 10;
3522         MY(sizeincrease) = -24;
3523         MY(size_min) = 16;
3524         MY(size_max) = 16;
3525         MY(tex_min) = 48;
3526         MY(tex_max) = 55;
3527         MY(type) = "alphastatic";
3528         MY(velocityjitter) = '256.0 256.0 256.0';
3529 }
3530
3531 // effect for removing player model
3532 DEF(damage_dissolve);
3533 // large sparks
3534 SUB(damage_dissolve) {
3535         MY(airfriction) = 3;
3536         MY(alpha_min) = 256;
3537         MY(alpha_max) = 256;
3538         MY(alpha_fade) = 128;
3539         MY(bounce) = 1.500000;
3540         MY(color_min) = "0x00FFFF";
3541         MY(color_max) = "0xFF00FF";
3542         MY(count) = 15;
3543         MY(gravity) = -0.400000;
3544         MY(liquidfriction) = 6;
3545         MY(sizeincrease) = -16;
3546         MY(size_min) = 32;
3547         MY(size_max) = 32;
3548         MY(tex_min) = 48;
3549         MY(tex_max) = 55;
3550         MY(type) = "alphastatic";
3551         MY(velocityjitter) = '512.0 512.0 512.0';
3552 }
3553 SUB(damage_dissolve) {
3554         MY(airfriction) = 3;
3555         MY(alpha_min) = 256;
3556         MY(alpha_max) = 256;
3557         MY(alpha_fade) = 128;
3558         MY(bounce) = 1.500000;
3559         MY(color_min) = "0xFF00FF";
3560         MY(color_max) = "0xFFFF00";
3561         MY(count) = 15;
3562         MY(gravity) = -0.400000;
3563         MY(liquidfriction) = 6;
3564         MY(sizeincrease) = -16;
3565         MY(size_min) = 32;
3566         MY(size_max) = 32;
3567         MY(tex_min) = 48;
3568         MY(tex_max) = 55;
3569         MY(type) = "alphastatic";
3570         MY(velocityjitter) = '512.0 512.0 512.0';
3571 }
3572 SUB(damage_dissolve) {
3573         MY(airfriction) = 3;
3574         MY(alpha_min) = 256;
3575         MY(alpha_max) = 256;
3576         MY(alpha_fade) = 128;
3577         MY(bounce) = 1.500000;
3578         MY(color_min) = "0xFFFF00";
3579         MY(color_max) = "0x00FFFF";
3580         MY(count) = 15;
3581         MY(gravity) = -0.400000;
3582         MY(liquidfriction) = 6;
3583         MY(sizeincrease) = -16;
3584         MY(size_min) = 32;
3585         MY(size_max) = 32;
3586         MY(tex_min) = 48;
3587         MY(tex_max) = 55;
3588         MY(type) = "alphastatic";
3589         MY(velocityjitter) = '512.0 512.0 512.0';
3590 }
3591
3592 DEF(laser_deadly);
3593 // decal
3594 SUB(laser_deadly) {
3595         MY(alpha_min) = 256;
3596         MY(alpha_max) = 256;
3597         MY(countabsolute) = 1;
3598         MY(originjitter) = '6.0 6.0 6.0';
3599         MY(size_min) = 5;
3600         MY(size_max) = 5;
3601         MY(tex_min) = 56;
3602         MY(tex_max) = 59;
3603         MY(type) = "decal";
3604 }
3605 // dust/smoke drifting away from the impact
3606 SUB(laser_deadly) {
3607         MY(airfriction) = 7;
3608         MY(alpha_max) = 64;
3609         MY(alpha_fade) = 64;
3610         MY(color_min) = "0xFFFFFF";
3611         MY(color_max) = "0xFFFFFF";
3612         MY(count) = 0.025000;
3613         MY(liquidfriction) = 16;
3614         MY(originjitter) = '1.0 1.0 1.0';
3615         MY(sizeincrease) = 2;
3616         MY(size_min) = 3;
3617         MY(size_max) = 3;
3618         MY(tex_min) = 48;
3619         MY(tex_max) = 55;
3620         MY(type) = "smoke";
3621         MY(velocityjitter) = '15.0 15.0 15.0';
3622         MY(velocitymultiplier) = 20;
3623 }
3624 // sparks
3625 SUB(laser_deadly) {
3626         MY(airfriction) = 5;
3627         MY(alpha_min) = 256;
3628         MY(alpha_max) = 256;
3629         MY(alpha_fade) = 768;
3630         MY(bounce) = 1;
3631         MY(color_min) = "0xFDFFD9";
3632         MY(color_max) = "0xFDFFD9";
3633         MY(count) = 0.025000;
3634         MY(gravity) = 1;
3635         MY(notunderwater) = true;
3636         MY(originjitter) = '1.0 1.0 1.0';
3637         MY(size_min) = 0.600000;
3638         MY(size_max) = 0.600000;
3639         MY(tex_min) = 40;
3640         MY(tex_max) = 40;
3641         MY(type) = "spark";
3642         MY(velocityjitter) = '100.0 100.0 100.0';
3643         MY(velocitymultiplier) = 100;
3644 }
3645
3646 DEF(torch_small);
3647 // fire
3648 SUB(torch_small) {
3649         MY(alpha_min) = 200;
3650         MY(alpha_max) = 256;
3651         MY(alpha_fade) = 512;
3652         MY(color_min) = "0x8f0d00";
3653         MY(color_max) = "0xff5a00";
3654         MY(count) = 8;
3655         MY(gravity) = -0.500000;
3656         MY(originjitter) = '5.0 5.0 5.0';
3657         MY(sizeincrease) = -1;
3658         MY(size_min) = 1;
3659         MY(size_max) = 11;
3660         MY(tex_min) = 48;
3661         MY(tex_max) = 55;
3662         MY(type) = "smoke";
3663         MY(velocityjitter) = '1.0 1.0 50.0';
3664 }
3665 // smoke
3666 SUB(torch_small) {
3667         MY(alpha_min) = 200;
3668         MY(alpha_max) = 256;
3669         MY(alpha_fade) = 200;
3670         MY(color_min) = "0x000000";
3671         MY(color_max) = "0x111111";
3672         MY(count) = 4;
3673         MY(gravity) = -0.300000;
3674         MY(originjitter) = '3.0 3.0 3.0';
3675         MY(sizeincrease) = 5;
3676         MY(size_min) = 5;
3677         MY(size_max) = 10;
3678         MY(tex_max) = 8;
3679         MY(type) = "alphastatic";
3680         MY(velocityjitter) = '11.0 11.0 50.0';
3681 }
3682
3683 DEF(fountain01);
3684 SUB(fountain01) {
3685         MY(alpha_max) = 100;
3686         MY(alpha_fade) = 100;
3687         MY(bounce) = 1;
3688         MY(color_min) = "0x7cbaff";
3689         MY(color_max) = "0xcfd1ff";
3690         MY(count) = 16;
3691         MY(gravity) = 0.600000;
3692         MY(originjitter) = '5.0 5.0 5.0';
3693         MY(sizeincrease) = 20;
3694         MY(size_min) = 10;
3695         MY(size_max) = 15;
3696         MY(tex_max) = 8;
3697         MY(type) = "snow";
3698         MY(velocityjitter) = '81.0 81.0 150.0';
3699         MY(velocitymultiplier) = 2;
3700 }
3701
3702 DEF(hookbomb_explode);
3703 // decal
3704 SUB(hookbomb_explode) {
3705         MY(airfriction) = 10;
3706         MY(alpha_max) = 256;
3707         MY(alpha_fade) = 200;
3708         MY(bounce) = 1.500000;
3709         MY(color_min) = "0x807aff";
3710         MY(color_max) = "0x4463d5";
3711         MY(count) = 25;
3712         MY(originjitter) = '10.0 10.0 10.0';
3713         MY(sizeincrease) = -160;
3714         MY(size_min) = 150;
3715         MY(size_max) = 200;
3716         MY(tex_min) = 38;
3717         MY(tex_max) = 38;
3718         MY(type) = "static";
3719         MY(velocityjitter) = '550.0 550.0 550.0';
3720 }
3721 // decal in the air
3722 SUB(hookbomb_explode) {
3723         MY(alpha_min) = 256;
3724         MY(alpha_max) = 265;
3725         MY(alpha_fade) = 100;
3726         MY(color_min) = "0x807aff";
3727         MY(color_max) = "0x4463d5";
3728         MY(countabsolute) = 3;
3729         MY(originoffset) = '0.0 0.0 6.0';
3730         MY(sizeincrease) = -60;
3731         MY(size_min) = 160;
3732         MY(size_max) = 200;
3733         MY(tex_min) = 38;
3734         MY(tex_max) = 38;
3735         MY(type) = "static";
3736 }
3737 // decal on the ground
3738 SUB(hookbomb_explode) {
3739         MY(alpha_min) = 256;
3740         MY(alpha_max) = 256;
3741         MY(countabsolute) = 1;
3742         MY(originjitter) = '6.0 6.0 6.0';
3743         MY(size_min) = 80;
3744         MY(size_max) = 100;
3745         MY(tex_min) = 39;
3746         MY(tex_max) = 39;
3747         MY(type) = "decal";
3748 }
3749 // some sparks
3750 SUB(hookbomb_explode) {
3751         MY(airfriction) = 2;
3752         MY(alpha_min) = 256;
3753         MY(alpha_max) = 256;
3754         MY(alpha_fade) = 456;
3755         MY(bounce) = 1.500000;
3756         MY(color_min) = "0x807aff";
3757         MY(color_max) = "0x4463d5";
3758         MY(count) = 30;
3759         MY(gravity) = 1;
3760         MY(originjitter) = '1.0 1.0 1.0';
3761         MY(sizeincrease) = -60;
3762         MY(size_min) = 20;
3763         MY(size_max) = 30;
3764         MY(tex_min) = 38;
3765         MY(tex_max) = 38;
3766         MY(type) = "spark";
3767         MY(velocityjitter) = '1900.0 1900.0 1300.0';
3768         MY(velocitymultiplier) = 0.500000;
3769 }
3770
3771 DEF(EF_MGTURRETTRAIL);
3772 // smoke
3773 SUB(EF_MGTURRETTRAIL) {
3774         MY(alpha_min) = 128;
3775         MY(alpha_max) = 196;
3776         MY(alpha_fade) = 768;
3777         MY(color_min) = "0xd0d0a0";
3778         MY(color_max) = "0xffffff";
3779         MY(gravity) = -0.010000;
3780         MY(notunderwater) = true;
3781         MY(sizeincrease) = -8;
3782         MY(size_min) = 5;
3783         MY(size_max) = 4;
3784         MY(tex_max) = 8;
3785         MY(trailspacing) = 10;
3786         MY(type) = "smoke";
3787 }
3788 // bubbles
3789 SUB(EF_MGTURRETTRAIL) {
3790         MY(alpha_min) = 256;
3791         MY(alpha_max) = 256;
3792         MY(alpha_fade) = 256;
3793         MY(bounce) = 1.500000;
3794         MY(color_min) = "0x404040";
3795         MY(color_max) = "0x808080";
3796         MY(gravity) = -0.125000;
3797         MY(liquidfriction) = 4;
3798         MY(size_min) = 1;
3799         MY(size_max) = 1;
3800         MY(tex_min) = 62;
3801         MY(tex_max) = 62;
3802         MY(trailspacing) = 32;
3803         MY(type) = "bubble";
3804         MY(underwater) = true;
3805         MY(velocityjitter) = '16.0 16.0 16.0';
3806 }
3807
3808 DEF(fire_big);
3809 // fire
3810 SUB(fire_big) {
3811         MY(alpha_min) = 200;
3812         MY(alpha_max) = 356;
3813         MY(alpha_fade) = 512;
3814         MY(bounce) = 2;
3815         MY(color_min) = "0x8f0d00";
3816         MY(color_max) = "0xff5a00";
3817         MY(count) = 26;
3818         MY(gravity) = -0.500000;
3819         MY(originjitter) = '33.0 33.0 33.0';
3820         MY(sizeincrease) = -3;
3821         MY(size_min) = 11;
3822         MY(size_max) = 31;
3823         MY(tex_min) = 48;
3824         MY(tex_max) = 55;
3825         MY(type) = "smoke";
3826         MY(velocityjitter) = '22.0 22.0 50.0';
3827 }
3828 // smoke
3829 SUB(fire_big) {
3830         MY(alpha_min) = 200;
3831         MY(alpha_max) = 256;
3832         MY(alpha_fade) = 200;
3833         MY(bounce) = 2;
3834         MY(color_min) = "0x000000";
3835         MY(color_max) = "0x111111";
3836         MY(count) = 11;
3837         MY(gravity) = -0.300000;
3838         MY(originjitter) = '44.0 44.0 44.0';
3839         MY(sizeincrease) = 11;
3840         MY(size_min) = 22;
3841         MY(size_max) = 33;
3842         MY(tex_max) = 8;
3843         MY(type) = "alphastatic";
3844         MY(velocityjitter) = '11.0 11.0 50.0';
3845 }
3846
3847 #define flare(name, colormin, colormax) \
3848         DEF(name##_flare); \
3849         SUB(name##_flare) /* smoke */ { \
3850                 MY(alpha_min) = 200; \
3851                 MY(alpha_max) = 256; \
3852                 MY(alpha_fade) = 160; \
3853                 MY(bounce) = 1; \
3854                 MY(color_min) = colormin; \
3855                 MY(color_max) = colormax; \
3856                 MY(count) = 10.500000; \
3857                 MY(gravity) = -0.240000; \
3858                 MY(originjitter) = '2.0 2.0 0.0'; \
3859                 MY(sizeincrease) = 11; \
3860                 MY(size_min) = 1; \
3861                 MY(size_max) = 11; \
3862                 MY(tex_max) = 8; \
3863                 MY(type) = "alphastatic"; \
3864                 MY(velocityjitter) = '15.0 15.0 30.0'; \
3865         }
3866
3867 flare(red,      "0xff0000", "0xdc7171")
3868 flare(blue, "0x0000ff", "0x7194dc")
3869 #undef flare
3870
3871 DEF(smoke_ring);
3872 // smoke
3873 SUB(smoke_ring) {
3874         MY(airfriction) = 3;
3875         MY(alpha_min) = 100;
3876         MY(alpha_max) = 156;
3877         MY(alpha_fade) = 200;
3878         MY(bounce) = 1.100000;
3879         MY(color_min) = "0x111111";
3880         MY(color_max) = "0x979797";
3881         MY(count) = 45;
3882         MY(gravity) = 0.100000;
3883         MY(notunderwater) = true;
3884         MY(sizeincrease) = 21;
3885         MY(size_min) = 1;
3886         MY(size_max) = 11;
3887         MY(tex_max) = 8;
3888         MY(type) = "smoke";
3889         MY(velocityjitter) = '190.0 190.0 50.0';
3890 }
3891
3892 DEF(smoke_large);
3893 // smoke
3894 SUB(smoke_large) {
3895         MY(airfriction) = 7;
3896         MY(alpha_min) = 140;
3897         MY(alpha_max) = 256;
3898         MY(alpha_fade) = 190;
3899         MY(bounce) = 1.100000;
3900         MY(color_min) = "0x9e895f";
3901         MY(color_max) = "0xffd39b";
3902         MY(count) = 25;
3903         MY(gravity) = -0.150000;
3904         MY(notunderwater) = true;
3905         MY(sizeincrease) = 21;
3906         MY(size_min) = 11;
3907         MY(size_max) = 21;
3908         MY(tex_max) = 8;
3909         MY(type) = "alphastatic";
3910         MY(velocityjitter) = '390.0 390.0 390.0';
3911 }
3912
3913 DEF(sparks);
3914 SUB(sparks) {
3915         MY(airfriction) = 3;
3916         MY(alpha_max) = 256;
3917         MY(alpha_fade) = 256;
3918         MY(bounce) = 1.500000;
3919         MY(color_min) = "0xFFFDD9";
3920         MY(color_max) = "0xFFFDD9";
3921         MY(count) = 15;
3922         MY(gravity) = 1;
3923         MY(originjitter) = '1.0 1.0 1.0';
3924         MY(size_min) = 1;
3925         MY(size_max) = 3;
3926         MY(tex_min) = 40;
3927         MY(tex_max) = 40;
3928         MY(type) = "spark";
3929         MY(velocityjitter) = '300.0 300.0 200.0';
3930         MY(velocitymultiplier) = 1.500000;
3931 }
3932
3933 DEF(electricity_sparks);
3934 SUB(electricity_sparks) {
3935         MY(airfriction) = 3;
3936         MY(alpha_max) = 256;
3937         MY(alpha_fade) = 556;
3938         MY(bounce) = 1.500000;
3939         MY(color_min) = "0x807aff";
3940         MY(color_max) = "0x4463d5";
3941         MY(count) = 35;
3942         MY(gravity) = 1;
3943         MY(originjitter) = '1.0 1.0 1.0';
3944         MY(size_min) = 1;
3945         MY(size_max) = 3;
3946         MY(tex_min) = 40;
3947         MY(tex_max) = 40;
3948         MY(type) = "spark";
3949         MY(velocityjitter) = '300.0 300.0 300.0';
3950         MY(velocitymultiplier) = 0.500000;
3951 }
3952
3953 DEF(steam);
3954 SUB(steam) {
3955         MY(airfriction) = 5;
3956         MY(alpha_min) = 140;
3957         MY(alpha_max) = 256;
3958         MY(alpha_fade) = 190;
3959         MY(bounce) = 1.100000;
3960         MY(color_min) = "0xfffbdf";
3961         MY(color_max) = "0xffffff";
3962         MY(count) = 1;
3963         MY(gravity) = -0.250000;
3964         MY(notunderwater) = true;
3965         MY(sizeincrease) = 7;
3966         MY(size_min) = 1;
3967         MY(size_max) = 3;
3968         MY(tex_max) = 8;
3969         MY(type) = "smoke";
3970         MY(velocityjitter) = '19.0 19.0 19.0';
3971         MY(velocitymultiplier) = 14;
3972 }
3973
3974 DEF(smoking);
3975 SUB(smoking) {
3976         MY(airfriction) = -1;
3977         MY(alpha_min) = 100;
3978         MY(alpha_max) = 256;
3979         MY(alpha_fade) = 100;
3980         MY(bounce) = 1.500000;
3981         MY(color_min) = "0x292929";
3982         MY(color_max) = "0x000000";
3983         MY(count) = 10;
3984         MY(gravity) = -0.100000;
3985         MY(originjitter) = '10.0 10.0 10.0';
3986         MY(sizeincrease) = 5;
3987         MY(size_min) = 10;
3988         MY(size_max) = 40;
3989         MY(tex_max) = 8;
3990         MY(type) = "alphastatic";
3991         MY(velocityjitter) = '5.0 5.0 20.0';
3992 }
3993
3994 // golden dust (create it once per second to cover large area in small yellow particles)
3995 DEF(goldendust);
3996 SUB(goldendust) {
3997         MY(alpha_min) = 256;
3998         MY(alpha_max) = 256;
3999         MY(alpha_fade) = 70;
4000         MY(bounce) = 1.500000;
4001         MY(color_min) = "0xff9600";
4002         MY(color_max) = "0xffefb8";
4003         MY(count) = 25;
4004         MY(originjitter) = '500.0 500.0 500.0';
4005         MY(sizeincrease) = -0.300000;
4006         MY(size_min) = 2;
4007         MY(size_max) = 3;
4008         MY(tex_min) = 38;
4009         MY(tex_max) = 38;
4010         MY(type) = "snow";
4011         MY(velocityjitter) = '0.1 0.1 0.1';
4012 }
4013
4014 DEF(healing_fx);
4015 SUB(healing_fx) {
4016         MY(airfriction) = -0.500000;
4017         MY(alpha_min) = 256;
4018         MY(alpha_max) = 256;
4019         MY(alpha_fade) = 170;
4020         MY(bounce) = 1.500000;
4021         MY(color_min) = "0xff0000";
4022         MY(color_max) = "0xff0000";
4023         MY(count) = 25;
4024         MY(gravity) = -0.100000;
4025         MY(originjitter) = '5.0 5.0 100.0';
4026         MY(sizeincrease) = -0.050000;
4027         MY(size_min) = 1;
4028         MY(size_max) = 3;
4029         MY(tex_min) = 40;
4030         MY(tex_max) = 40;
4031         MY(type) = "spark";
4032         MY(velocityjitter) = '50.0 50.0 0.0';
4033 }
4034
4035 DEF(armorrepair_fx);
4036 SUB(armorrepair_fx) {
4037         MY(airfriction) = -0.500000;
4038         MY(alpha_min) = 256;
4039         MY(alpha_max) = 256;
4040         MY(alpha_fade) = 170;
4041         MY(bounce) = 1.500000;
4042         MY(color_min) = "0x00ff00";
4043         MY(color_max) = "0x00ff00";
4044         MY(count) = 25;
4045         MY(gravity) = -0.100000;
4046         MY(originjitter) = '5.0 5.0 50.0';
4047         MY(sizeincrease) = -0.050000;
4048         MY(size_min) = 1;
4049         MY(size_max) = 3;
4050         MY(tex_min) = 40;
4051         MY(tex_max) = 40;
4052         MY(type) = "spark";
4053         MY(velocityjitter) = '50.0 50.0 0.0';
4054 }
4055
4056 DEF(ammoregen_fx);
4057 SUB(ammoregen_fx) {
4058         MY(airfriction) = -0.500000;
4059         MY(alpha_min) = 256;
4060         MY(alpha_max) = 256;
4061         MY(alpha_fade) = 170;
4062         MY(bounce) = 1.500000;
4063         MY(color_min) = "0x0000ff";
4064         MY(color_max) = "0x0000ff";
4065         MY(count) = 25;
4066         MY(gravity) = -0.100000;
4067         MY(originjitter) = '5.0 5.0 50.0';
4068         MY(sizeincrease) = -0.050000;
4069         MY(size_min) = 1;
4070         MY(size_max) = 3;
4071         MY(tex_min) = 40;
4072         MY(tex_max) = 40;
4073         MY(type) = "spark";
4074         MY(velocityjitter) = '50.0 50.0 0.0';
4075 }
4076
4077 // red-yellow flame like fx
4078 DEF(rage);
4079 SUB(rage) {
4080         MY(airfriction) = 2;
4081         MY(alpha_min) = 256;
4082         MY(alpha_max) = 256;
4083         MY(alpha_fade) = 190;
4084         MY(color_min) = "0xff0000";
4085         MY(color_max) = "0xff7800";
4086         MY(count) = 2.500000;
4087         MY(gravity) = -0.060000;
4088         MY(originjitter) = '5.0 5.0 5.0';
4089         MY(sizeincrease) = 10;
4090         MY(size_min) = 1;
4091         MY(size_max) = 3;
4092         MY(tex_min) = 35;
4093         MY(tex_max) = 36;
4094         MY(type) = "smoke";
4095         MY(velocityjitter) = '25.0 25.0 25.0';
4096 }
4097
4098 // pieces of glass or ice falling on the floor
4099 DEF(iceorglass);
4100 SUB(iceorglass) {
4101         MY(airfriction) = 3;
4102         MY(alpha_min) = 256;
4103         MY(alpha_max) = 256;
4104         MY(bounce) = 2;
4105         MY(color_min) = "0xffffff";
4106         MY(color_max) = "0xb2d3e6";
4107         MY(count) = 15;
4108         MY(gravity) = 1.300000;
4109         MY(originjitter) = '30.0 30.0 30.0';
4110         MY(size_min) = 3;
4111         MY(size_max) = 7;
4112         MY(tex_min) = 44;
4113         MY(tex_max) = 44;
4114         MY(time_min) = 1;
4115         MY(time_max) = 3;
4116         MY(type) = "alphastatic";
4117         MY(velocityjitter) = '100.0 100.0 100.0';
4118 }
4119
4120 // cover small area in poison gas, spawn it once per second
4121 DEF(poisonfield);
4122 SUB(poisonfield) {
4123         MY(airfriction) = 1;
4124         MY(alpha_min) = 256;
4125         MY(alpha_max) = 256;
4126         MY(alpha_fade) = 50;
4127         MY(bounce) = 1.500000;
4128         MY(color_min) = "0x00ff00";
4129         MY(color_max) = "0x7db843";
4130         MY(count) = 15;
4131         MY(gravity) = -0.010000;
4132         MY(originjitter) = '333.0 333.0 50.0';
4133         MY(sizeincrease) = 30;
4134         MY(size_min) = 1;
4135         MY(size_max) = 1;
4136         MY(tex_max) = 8;
4137         MY(type) = "smoke";
4138         MY(velocityjitter) = '5.0 5.0 5.0';
4139 }
4140
4141 // cover small area in icy mist, spawn it once per second
4142 DEF(icefield);
4143 SUB(icefield) {
4144         MY(airfriction) = 1;
4145         MY(alpha_min) = 256;
4146         MY(alpha_max) = 256;
4147         MY(alpha_fade) = 50;
4148         MY(bounce) = 1.500000;
4149         MY(color_min) = "0x008aff";
4150         MY(color_max) = "0x75e7ff";
4151         MY(count) = 10;
4152         MY(gravity) = -0.010000;
4153         MY(originjitter) = '333.0 333.0 0.0';
4154         MY(sizeincrease) = 10;
4155         MY(size_min) = 1;
4156         MY(size_max) = 1;
4157         MY(tex_max) = 8;
4158         MY(type) = "smoke";
4159         MY(velocityjitter) = '5.0 5.0 30.0';
4160 }
4161 SUB(icefield) {
4162         MY(alpha_min) = 256;
4163         MY(alpha_max) = 256;
4164         MY(alpha_fade) = 50;
4165         MY(color_min) = "0x008aff";
4166         MY(color_max) = "0x75e7ff";
4167         MY(count) = 5;
4168         MY(gravity) = -0.001000;
4169         MY(originjitter) = '333.0 333.0 0.0';
4170         MY(sizeincrease) = 10;
4171         MY(size_min) = 1;
4172         MY(size_max) = 1;
4173         MY(tex_min) = 48;
4174         MY(tex_max) = 55;
4175         MY(type) = "smoke";
4176 }
4177
4178 // 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 )
4179 DEF(firefield);
4180 // flames that go up
4181 SUB(firefield) {
4182         MY(airfriction) = 1;
4183         MY(alpha_min) = 50;
4184         MY(alpha_max) = 256;
4185         MY(alpha_fade) = 200;
4186         MY(bounce) = 1.500000;
4187         MY(color_min) = "0x8f0d00";
4188         MY(color_max) = "0xff5a00";
4189         MY(count) = 100;
4190         MY(gravity) = -0.060000;
4191         MY(originjitter) = '180.0 180.0 0.0';
4192         MY(sizeincrease) = 20;
4193         MY(size_min) = 1;
4194         MY(size_max) = 1;
4195         MY(tex_min) = 48;
4196         MY(tex_max) = 55;
4197         MY(type) = "smoke";
4198         MY(velocityjitter) = '5.0 5.0 30.0';
4199 }
4200 // flames that stay on the ground
4201 SUB(firefield) {
4202         MY(alpha_min) = 50;
4203         MY(alpha_max) = 256;
4204         MY(alpha_fade) = 200;
4205         MY(color_min) = "0x8f0d00";
4206         MY(color_max) = "0xff5a00";
4207         MY(count) = 50;
4208         MY(originjitter) = '180.0 180.0 0.0';
4209         MY(sizeincrease) = 40;
4210         MY(size_min) = 1;
4211         MY(size_max) = 1;
4212         MY(tex_min) = 48;
4213         MY(tex_max) = 55;
4214         MY(type) = "smoke";
4215 }
4216 // smoke
4217 SUB(firefield) {
4218         MY(alpha_min) = 256;
4219         MY(alpha_max) = 256;
4220         MY(alpha_fade) = 70;
4221         MY(color_min) = "0x000000";
4222         MY(color_max) = "0x111111";
4223         MY(count) = 20;
4224         MY(gravity) = -0.020000;
4225         MY(originjitter) = '180.0 180.0 0.0';
4226         MY(sizeincrease) = 7;
4227         MY(size_min) = 1;
4228         MY(size_max) = 1;
4229         MY(tex_max) = 8;
4230         MY(type) = "alphastatic";
4231 }
4232
4233 // flamethrower, spawn it as fast as you can  20 times per second or more, it needs direction
4234 DEF(flamethrower);
4235 // fast fire
4236 SUB(flamethrower) {
4237         MY(airfriction) = 1.200000;
4238         MY(alpha_min) = 50;
4239         MY(alpha_max) = 256;
4240         MY(alpha_fade) = 250;
4241         MY(bounce) = 1.500000;
4242         MY(color_min) = "0x8f0d00";
4243         MY(color_max) = "0xff5a00";
4244         MY(count) = 3;
4245         MY(gravity) = -0.060000;
4246         MY(sizeincrease) = 20;
4247         MY(size_min) = 5;
4248         MY(size_max) = 5;
4249         MY(tex_min) = 48;
4250         MY(tex_max) = 55;
4251         MY(type) = "smoke";
4252         MY(velocityjitter) = '40.0 40.0 11.0';
4253         MY(velocitymultiplier) = 30;
4254 }
4255 // slow fire
4256 SUB(flamethrower) {
4257         MY(airfriction) = 1.200000;
4258         MY(alpha_min) = 50;
4259         MY(alpha_max) = 256;
4260         MY(alpha_fade) = 200;
4261         MY(bounce) = 1.500000;
4262         MY(color_min) = "0x8f0d00";
4263         MY(color_max) = "0xff5a00";
4264         MY(count) = 2.500000;
4265         MY(gravity) = -0.060000;
4266         MY(sizeincrease) = 20;
4267         MY(size_min) = 5;
4268         MY(size_max) = 5;
4269         MY(tex_min) = 48;
4270         MY(tex_max) = 55;
4271         MY(type) = "smoke";
4272         MY(velocityjitter) = '40.0 40.0 40.0';
4273         MY(velocitymultiplier) = 20;
4274 }
4275 // very slow and small fire
4276 SUB(flamethrower) {
4277         MY(airfriction) = 0.300000;
4278         MY(alpha_min) = 50;
4279         MY(alpha_max) = 256;
4280         MY(alpha_fade) = 200;
4281         MY(bounce) = 1.500000;
4282         MY(color_min) = "0x8f0d00";
4283         MY(color_max) = "0xff5a00";
4284         MY(count) = 1.500000;
4285         MY(gravity) = -0.060000;
4286         MY(sizeincrease) = 10;
4287         MY(size_min) = 5;
4288         MY(size_max) = 5;
4289         MY(tex_min) = 48;
4290         MY(tex_max) = 55;
4291         MY(type) = "smoke";
4292         MY(velocityjitter) = '30.0 30.0 30.0';
4293         MY(velocitymultiplier) = 10;
4294 }
4295 // decreasing fire
4296 SUB(flamethrower) {
4297         MY(airfriction) = 0.300000;
4298         MY(alpha_min) = 50;
4299         MY(alpha_max) = 256;
4300         MY(alpha_fade) = 200;
4301         MY(bounce) = 1.500000;
4302         MY(color_min) = "0x8f0d00";
4303         MY(color_max) = "0xff5a00";
4304         MY(count) = 2;
4305         MY(gravity) = -0.060000;
4306         MY(sizeincrease) = -10;
4307         MY(size_min) = 20;
4308         MY(size_max) = 30;
4309         MY(tex_min) = 48;
4310         MY(tex_max) = 55;
4311         MY(type) = "smoke";
4312         MY(velocityjitter) = '10.0 10.0 10.0';
4313         MY(velocitymultiplier) = 15;
4314 }
4315 // smoke
4316 SUB(flamethrower) {
4317         MY(airfriction) = 1;
4318         MY(alpha_min) = 256;
4319         MY(alpha_max) = 256;
4320         MY(alpha_fade) = 90;
4321         MY(color_min) = "0x000000";
4322         MY(color_max) = "0x111111";
4323         MY(count) = 0.500000;
4324         MY(originjitter) = '10.0 10.0 10.0';
4325         MY(sizeincrease) = 7;
4326         MY(size_min) = 5;
4327         MY(size_max) = 15;
4328         MY(tex_max) = 8;
4329         MY(type) = "alphastatic";
4330         MY(velocitymultiplier) = 20;
4331         MY(velocityoffset) = '0.0 0.0 10.0';
4332 }
4333
4334 // port-o-launch trail
4335 DEF(TR_WIZSPIKE);
4336 // glowing vapor trail
4337 SUB(TR_WIZSPIKE) {
4338         MY(alpha_min) = 256;
4339         MY(alpha_max) = 256;
4340         MY(alpha_fade) = 968;
4341         MY(color_min) = "0x404040";
4342         MY(color_max) = "0x404040";
4343         MY(lightcolor) = '1.5 3.0 6.0';
4344         MY(lightradius) = 90;
4345         MY(size_min) = 3;
4346         MY(size_max) = 3;
4347         MY(tex_min) = 62;
4348         MY(tex_max) = 62;
4349         MY(trailspacing) = 4;
4350         MY(type) = "static";
4351         MY(velocitymultiplier) = -0.100000;
4352 }
4353 // bright sparks
4354 SUB(TR_WIZSPIKE) {
4355         MY(airfriction) = 12;
4356         MY(alpha_min) = 444;
4357         MY(alpha_max) = 512;
4358         MY(alpha_fade) = 1866;
4359         MY(bounce) = 1;
4360         MY(color_min) = "0x404040";
4361         MY(color_max) = "0x404040";
4362         MY(count) = 1.500000;
4363         MY(originjitter) = '1.0 1.0 1.0';
4364         MY(sizeincrease) = -20;
4365         MY(size_min) = 2;
4366         MY(size_max) = 4;
4367         MY(tex_min) = 42;
4368         MY(tex_max) = 42;
4369         MY(trailspacing) = 12;
4370         MY(type) = "snow";
4371         MY(velocityjitter) = '50.0 50.0 50.0';
4372         MY(velocityoffset) = '0.0 0.0 15.0';
4373 }
4374
4375 // TAG trail
4376 DEF(TR_VORESPIKE);
4377 // glowing vapor trail
4378 SUB(TR_VORESPIKE) {
4379         MY(alpha_min) = 256;
4380         MY(alpha_max) = 256;
4381         MY(alpha_fade) = 968;
4382         MY(color_min) = "0x804000";
4383         MY(color_max) = "0x804000";
4384         MY(lightcolor) = '1.5 3.0 6.0';
4385         MY(lightradius) = 90;
4386         MY(size_min) = 3;
4387         MY(size_max) = 3;
4388         MY(tex_min) = 62;
4389         MY(tex_max) = 62;
4390         MY(trailspacing) = 4;
4391         MY(type) = "static";
4392         MY(velocitymultiplier) = -0.100000;
4393 }
4394 // bright sparks
4395 SUB(TR_VORESPIKE) {
4396         MY(airfriction) = 12;
4397         MY(alpha_min) = 444;
4398         MY(alpha_max) = 512;
4399         MY(alpha_fade) = 1866;
4400         MY(bounce) = 1;
4401         MY(color_min) = "0xff8000";
4402         MY(color_max) = "0xff8000";
4403         MY(count) = 1.500000;
4404         MY(originjitter) = '1.0 1.0 1.0';
4405         MY(sizeincrease) = -20;
4406         MY(size_min) = 2;
4407         MY(size_max) = 4;
4408         MY(tex_min) = 42;
4409         MY(tex_max) = 42;
4410         MY(trailspacing) = 12;
4411         MY(type) = "snow";
4412         MY(velocityjitter) = '50.0 50.0 50.0';
4413         MY(velocityoffset) = '0.0 0.0 15.0';
4414 }
4415
4416 DEF(flac_explode);
4417 SUB(flac_explode) {
4418         MY(alpha_min) = 256;
4419         MY(alpha_max) = 256;
4420         MY(countabsolute) = 1;
4421         MY(lightcolor) = '8.0 4.0 1.0';
4422         MY(lightradiusfade) = 400;
4423         MY(lightradius) = 150;
4424         MY(originjitter) = '40.0 40.0 40.0';
4425         MY(size_min) = 18;
4426         MY(size_max) = 28;
4427         MY(tex_min) = 8;
4428         MY(tex_max) = 16;
4429         MY(type) = "decal";
4430 }
4431 // fire effect which make bright dot inside
4432 SUB(flac_explode) {
4433         MY(airfriction) = 8;
4434         MY(alpha_min) = 128;
4435         MY(alpha_max) = 256;
4436         MY(alpha_fade) = 456;
4437         MY(bounce) = 1.500000;
4438         MY(color_min) = "0xffe955";
4439         MY(color_max) = "0xff5a00";
4440         MY(count) = 3;
4441         MY(liquidfriction) = 8;
4442         MY(notunderwater) = true;
4443         MY(originjitter) = '8.0 8.0 8.0';
4444         MY(sizeincrease) = 5;
4445         MY(size_min) = 6;
4446         MY(size_max) = 16;
4447         MY(tex_min) = 48;
4448         MY(tex_max) = 55;
4449         MY(type) = "smoke";
4450         MY(velocityjitter) = '156.0 156.0 156.0';
4451 }
4452 // fire effect which expands then slows
4453 SUB(flac_explode) {
4454         MY(airfriction) = 12;
4455         MY(alpha_min) = 128;
4456         MY(alpha_max) = 256;
4457         MY(alpha_fade) = 456;
4458         MY(bounce) = 1.500000;
4459         MY(color_min) = "0x8f0d00";
4460         MY(color_max) = "0xff5a00";
4461         MY(count) = 6;
4462         MY(liquidfriction) = 8;
4463         MY(notunderwater) = true;
4464         MY(originjitter) = '8.0 8.0 8.0';
4465         MY(sizeincrease) = 15;
4466         MY(size_min) = 10;
4467         MY(size_max) = 16;
4468         MY(tex_min) = 48;
4469         MY(tex_max) = 55;
4470         MY(type) = "static";
4471         MY(velocityjitter) = '256.0 256.0 256.0';
4472 }
4473 // smoke
4474 SUB(flac_explode) {
4475         MY(airfriction) = 5;
4476         MY(alpha_min) = 500;
4477         MY(alpha_max) = 600;
4478         MY(alpha_fade) = 556;
4479         MY(bounce) = 2;
4480         MY(color_min) = "0x000000";
4481         MY(color_max) = "0x111111";
4482         MY(count) = 5;
4483         MY(notunderwater) = true;
4484         MY(sizeincrease) = 20;
4485         MY(size_min) = 10;
4486         MY(size_max) = 20;
4487         MY(tex_max) = 8;
4488         MY(type) = "alphastatic";
4489         MY(velocityjitter) = '244.0 244.0 244.0';
4490 }
4491 // underwater bubbles
4492 SUB(flac_explode) {
4493         MY(alpha_min) = 128;
4494         MY(alpha_max) = 256;
4495         MY(alpha_fade) = 64;
4496         MY(bounce) = 1.500000;
4497         MY(color_min) = "0x404040";
4498         MY(color_max) = "0x808080";
4499         MY(count) = 8;
4500         MY(gravity) = -0.125000;
4501         MY(liquidfriction) = 0.250000;
4502         MY(originjitter) = '16.0 16.0 16.0';
4503         MY(size_min) = 1;
4504         MY(size_max) = 2;
4505         MY(tex_min) = 62;
4506         MY(tex_max) = 62;
4507         MY(type) = "bubble";
4508         MY(underwater) = true;
4509         MY(velocityjitter) = '96.0 96.0 96.0';
4510 }
4511 // bouncing sparks
4512 SUB(flac_explode) {
4513         MY(airfriction) = 0.200000;
4514         MY(alpha_min) = 256;
4515         MY(alpha_max) = 256;
4516         MY(alpha_fade) = 384;
4517         MY(bounce) = 1.500000;
4518         MY(color_min) = "0x903010";
4519         MY(color_max) = "0xFFD030";
4520         MY(count) = 4;
4521         MY(gravity) = 1;
4522         MY(liquidfriction) = 0.800000;
4523         MY(notunderwater) = true;
4524         MY(size_min) = 2;
4525         MY(size_max) = 2;
4526         MY(tex_min) = 40;
4527         MY(tex_max) = 40;
4528         MY(type) = "spark";
4529         MY(velocityjitter) = '256.0 256.0 256.0';
4530         MY(velocityoffset) = '0.0 0.0 80.0';
4531 }
4532
4533 // bullet trail (somewhat like a tracer)
4534 DEF(tr_bullet);
4535 SUB(tr_bullet) {
4536         MY(alpha_min) = 256;
4537         MY(alpha_max) = 256;
4538         MY(alpha_fade) = 2560;
4539         MY(color_min) = "0xff8960";
4540         MY(color_max) = "0xff8533";
4541         MY(size_min) = 4;
4542         MY(size_max) = 4;
4543         MY(stretchfactor) = 0.200000;
4544         MY(tex_min) = 70;
4545         MY(tex_max) = 70;
4546         MY(trailspacing) = 750;
4547         MY(type) = "spark";
4548         MY(velocitymultiplier) = 3;
4549 }
4550
4551 // smoke emitter for small pipes
4552 DEF(smoking_smallemitter);
4553 SUB(smoking_smallemitter) {
4554         MY(airfriction) = -1;
4555         MY(alpha_min) = 200;
4556         MY(alpha_max) = 256;
4557         MY(alpha_fade) = 100;
4558         MY(color_min) = "0x292929";
4559         MY(color_max) = "0x000000";
4560         MY(count) = 10;
4561         MY(gravity) = -0.100000;
4562         MY(originjitter) = '10.0 10.0 10.0';
4563         MY(sizeincrease) = 20;
4564         MY(size_min) = 6;
4565         MY(size_max) = 15;
4566         MY(tex_max) = 8;
4567         MY(type) = "alphastatic";
4568         MY(velocityjitter) = '5.0 5.0 20.0';
4569 }
4570
4571 // crylink trail
4572 DEF(TR_CRYLINKPLASMA);
4573 // plasma smoke
4574 SUB(TR_CRYLINKPLASMA) {
4575         MY(alpha_min) = 256;
4576         MY(alpha_max) = 256;
4577         MY(alpha_fade) = 1024;
4578         MY(color_min) = "0x5522aa";
4579         MY(color_max) = "0x6622ff";
4580         MY(sizeincrease) = 8;
4581         MY(size_min) = 2;
4582         MY(size_max) = 2;
4583         MY(tex_min) = 32;
4584         MY(tex_max) = 32;
4585         MY(trailspacing) = 128;
4586         MY(type) = "static";
4587         MY(velocityjitter) = '8.0 8.0 8.0';
4588         MY(velocitymultiplier) = -0.010000;
4589 }
4590 // crylink main trail
4591 SUB(TR_CRYLINKPLASMA) {
4592         MY(alpha_min) = 256;
4593         MY(alpha_max) = 256;
4594         MY(alpha_fade) = 2600;
4595         MY(color_min) = "0x5522aa";
4596         MY(color_max) = "0x6622ff";
4597         MY(sizeincrease) = 15;
4598         MY(size_min) = 3;
4599         MY(size_max) = 3;
4600         MY(tex_min) = 3;
4601         MY(tex_max) = 3;
4602         MY(trailspacing) = 16;
4603         MY(type) = "static";
4604         MY(velocityjitter) = '2.0 2.0 2.0';
4605         MY(velocitymultiplier) = 0.010000;
4606 }
4607
4608 DEF(cherryblossom);
4609 SUB(cherryblossom) {
4610         MY(airfriction) = 1;
4611         MY(alpha_min) = 128;
4612         MY(alpha_max) = 256;
4613         MY(alpha_fade) = 32;
4614         MY(bounce) = 1.500000;
4615         MY(color_min) = "0xb123ff";
4616         MY(color_max) = "0xb183ff";
4617         MY(count) = 1.500000;
4618         MY(gravity) = 0.050000;
4619         MY(liquidfriction) = 1;
4620         MY(originjitter) = '16.0 16.0 16.0';
4621         MY(size_min) = 1.500000;
4622         MY(size_max) = 2;
4623         MY(tex_min) = 40;
4624         MY(tex_max) = 40;
4625         MY(type) = "static";
4626         MY(velocityjitter) = '32.0 32.0 0.0';
4627 }
4628
4629 DEF(alien_blood);
4630 SUB(alien_blood) {
4631         MY(airfriction) = 0.400000;
4632         MY(alpha_min) = 1560;
4633         MY(alpha_max) = 2560;
4634         MY(alpha_fade) = 7000;
4635         MY(blend) = "invmod";
4636         MY(bounce) = -1;
4637         MY(color_min) = "0xDC9BCD";
4638         MY(color_max) = "0xDC9BCD";
4639         MY(count) = 0.400000;
4640         MY(sizeincrease) = 20;
4641         MY(size_min) = 5;
4642         MY(size_max) = 11;
4643         MY(staincolor_min) = "0xDC9BCD";
4644         MY(staincolor_max) = "0xDC9BCD";
4645         MY(stainsize_min) = 1;
4646         MY(stainsize_max) = 2;
4647         MY(staintex_min) = 16;
4648         MY(staintex_max) = 24;
4649         MY(stretchfactor) = 25;
4650         MY(tex_min) = 24;
4651         MY(tex_max) = 32;
4652         MY(type) = "spark";
4653         MY(velocityjitter) = '99.0 99.0 55.0';
4654 }
4655 // blood mist
4656 SUB(alien_blood) {
4657         MY(alpha_min) = 3000;
4658         MY(alpha_max) = 5560;
4659         MY(alpha_fade) = 12000;
4660         MY(blend) = "invmod";
4661         MY(color_min) = "0xDC9BCD";
4662         MY(color_max) = "0xDC9BCD";
4663         MY(countabsolute) = 1;
4664         MY(originjitter) = '11.0 11.0 11.0';
4665         MY(sizeincrease) = 20;
4666         MY(size_min) = 25;
4667         MY(size_max) = 30;
4668         MY(tex_min) = 24;
4669         MY(tex_max) = 32;
4670         MY(type) = "smoke";
4671 }
4672
4673 DEF(robot_blood);
4674 SUB(robot_blood) {
4675         MY(airfriction) = 1;
4676         MY(alpha_min) = 256;
4677         MY(alpha_max) = 256;
4678         MY(alpha_fade) = 64;
4679         MY(bounce) = -1;
4680         MY(color_min) = "0xff3000";
4681         MY(color_max) = "0xff7373";
4682         MY(count) = 0.167000;
4683         MY(gravity) = 1;
4684         MY(liquidfriction) = 4;
4685         MY(size_min) = 1;
4686         MY(size_max) = 2;
4687         MY(tex_min) = 70;
4688         MY(tex_max) = 70;
4689         MY(type) = "spark";
4690         MY(velocityjitter) = '264.0 264.0 264.0';
4691         MY(velocityoffset) = '0.0 0.0 100.0';
4692 }
4693 // shockwave
4694 SUB(robot_blood) {
4695         MY(alpha_max) = 90;
4696         MY(alpha_fade) = 1000;
4697         MY(color_min) = "0xff8400";
4698         MY(color_max) = "0xffbb72";
4699         MY(countabsolute) = 1;
4700         MY(originjitter) = '11.0 11.0 11.0';
4701         MY(sizeincrease) = 800;
4702         MY(size_min) = 2;
4703         MY(size_max) = 2;
4704         MY(tex_min) = 74;
4705         MY(tex_max) = 74;
4706         MY(type) = "smoke";
4707 }
4708 // electo sparks
4709 SUB(robot_blood) {
4710         MY(alpha_min) = 256;
4711         MY(alpha_max) = 256;
4712         MY(alpha_fade) = 5120;
4713         MY(color_min) = "0xff3000";
4714         MY(color_max) = "0xff8585";
4715         MY(count) = 0.100000;
4716         MY(originjitter) = '41.0 41.0 21.0';
4717         MY(startangle_min) = -180;
4718         MY(startangle_max) = 180;
4719         MY(spin_min) = 4000;
4720         MY(spin_max) = -4000;
4721         MY(size_min) = 20;
4722         MY(size_max) = 40;
4723         MY(tex_min) = 71;
4724         MY(tex_max) = 73;
4725         MY(type) = "smoke";
4726 }
4727
4728 DEF(alien_TR_BLOOD);
4729 SUB(alien_TR_BLOOD) {
4730         MY(airfriction) = -2;
4731         MY(alpha_min) = 384;
4732         MY(alpha_max) = 984;
4733         MY(alpha_fade) = 1492;
4734         MY(blend) = "invmod";
4735         MY(bounce) = -1;
4736         MY(color_min) = "0xC080B0";
4737         MY(color_max) = "0xC080B0";
4738         MY(gravity) = 0.400000;
4739         MY(liquidfriction) = 1;
4740         MY(sizeincrease) = -5;
4741         MY(size_min) = 4;
4742         MY(size_max) = 19;
4743         MY(staincolor_min) = "0xC080B0";
4744         MY(staincolor_max) = "0xC080B0";
4745         MY(stainsize_min) = 1;
4746         MY(stainsize_max) = 2;
4747         MY(staintex_min) = 16;
4748         MY(staintex_max) = 24;
4749         MY(stretchfactor) = 7;
4750         MY(tex_min) = 24;
4751         MY(tex_max) = 32;
4752         MY(trailspacing) = 20;
4753         MY(type) = "spark";
4754         MY(velocityjitter) = '64.0 64.0 64.0';
4755         MY(velocitymultiplier) = -0.100000;
4756 }
4757
4758 // splash around gib
4759 SUB(alien_TR_BLOOD) {
4760         MY(alpha_min) = 684;
4761         MY(alpha_max) = 684;
4762         MY(alpha_fade) = 7492;
4763         MY(color_min) = "0xA8FFFF";
4764         MY(color_max) = "0xA8FFFF";
4765         MY(sizeincrease) = 500;
4766         MY(size_min) = 4;
4767         MY(size_max) = 6;
4768         MY(tex_min) = 24;
4769         MY(tex_max) = 32;
4770         MY(trailspacing) = 42;
4771         MY(type) = "blood";
4772 }
4773
4774 DEF(robot_TR_BLOOD);
4775 SUB(robot_TR_BLOOD) {
4776         MY(airfriction) = -2;
4777         MY(alpha_min) = 384;
4778         MY(alpha_max) = 984;
4779         MY(alpha_fade) = 1892;
4780         MY(blend) = "invmod";
4781         MY(bounce) = -1;
4782         MY(color_min) = "0xC0D890";
4783         MY(color_max) = "0xC0D890";
4784         MY(gravity) = 0.400000;
4785         MY(liquidfriction) = 1;
4786         MY(sizeincrease) = -6;
4787         MY(size_min) = 4;
4788         MY(size_max) = 13;
4789         MY(staincolor_min) = "0x808080";
4790         MY(staincolor_max) = "0x808080";
4791         MY(stainsize_min) = 1;
4792         MY(stainsize_max) = 3;
4793         MY(staintex_min) = 16;
4794         MY(staintex_max) = 24;
4795         MY(stretchfactor) = 6;
4796         MY(tex_min) = 24;
4797         MY(tex_max) = 32;
4798         MY(trailspacing) = 16;
4799         MY(type) = "spark";
4800         MY(velocityjitter) = '64.0 64.0 64.0';
4801         MY(velocitymultiplier) = -0.300000;
4802 }
4803 // fire
4804 SUB(robot_TR_BLOOD) {
4805         MY(airfriction) = 4;
4806         MY(alpha_min) = 128;
4807         MY(alpha_max) = 256;
4808         MY(alpha_fade) = 900;
4809         MY(color_min) = "0x902010";
4810         MY(color_max) = "0xff3600";
4811         MY(gravity) = -1;
4812         MY(liquidfriction) = 4;
4813         MY(notunderwater) = true;
4814         MY(sizeincrease) = 10;
4815         MY(size_min) = 5;
4816         MY(size_max) = 20;
4817         MY(stretchfactor) = 5;
4818         MY(tex_min) = 48;
4819         MY(tex_max) = 55;
4820         MY(trailspacing) = 16;
4821         MY(type) = "spark";
4822         MY(velocityjitter) = '44.0 44.0 44.0';
4823 }
4824 // arcs
4825 SUB(robot_TR_BLOOD) {
4826         MY(alpha_min) = 1128;
4827         MY(alpha_max) = 1256;
4828         MY(alpha_fade) = 44900;
4829         MY(color_min) = "0xff3000";
4830         MY(color_max) = "0xff8585";
4831         MY(startangle_min) = -180;
4832         MY(startangle_max) = 180;
4833         MY(spin_min) = 4000;
4834         MY(spin_max) = -4000;
4835         MY(size_min) = 25;
4836         MY(size_max) = 30;
4837         MY(tex_min) = 71;
4838         MY(tex_max) = 73;
4839         MY(trailspacing) = 128;
4840         MY(type) = "smoke";
4841         MY(velocityjitter) = '44.0 44.0 44.0';
4842 }
4843
4844 DEF(alien_TR_SLIGHTBLOOD);
4845 SUB(alien_TR_SLIGHTBLOOD) {
4846         MY(airfriction) = 1;
4847         MY(alpha_min) = 384;
4848         MY(alpha_max) = 384;
4849         MY(alpha_fade) = 192;
4850         MY(bounce) = -1;
4851         MY(color_min) = "0xC080B0";
4852         MY(color_max) = "0xC080B0";
4853         MY(liquidfriction) = 4;
4854         MY(size_min) = 80;
4855         MY(size_max) = 80;
4856         MY(staincolor_min) = "0x808080";
4857         MY(staincolor_max) = "0x808080";
4858         MY(staintex_min) = 16;
4859         MY(staintex_max) = 24;
4860         MY(tex_min) = 24;
4861         MY(tex_max) = 32;
4862         MY(trailspacing) = 64;
4863         MY(type) = "blood";
4864         MY(velocityjitter) = '64.0 64.0 64.0';
4865         MY(velocitymultiplier) = 0.500000;
4866 }
4867
4868 DEF(robot_TR_SLIGHTBLOOD);
4869 SUB(robot_TR_SLIGHTBLOOD) {
4870         MY(airfriction) = 1;
4871         MY(alpha_min) = 384;
4872         MY(alpha_max) = 384;
4873         MY(alpha_fade) = 192;
4874         MY(bounce) = -1;
4875         MY(color_min) = "0xC0D890";
4876         MY(color_max) = "0xC0D890";
4877         MY(liquidfriction) = 4;
4878         MY(size_min) = 8;
4879         MY(size_max) = 8;
4880         MY(staincolor_min) = "0x808080";
4881         MY(staincolor_max) = "0x808080";
4882         MY(staintex_min) = 16;
4883         MY(staintex_max) = 24;
4884         MY(tex_min) = 24;
4885         MY(tex_max) = 32;
4886         MY(trailspacing) = 64;
4887         MY(type) = "blood";
4888         MY(velocityjitter) = '64.0 64.0 64.0';
4889         MY(velocitymultiplier) = 0.500000;
4890 }
4891
4892 DEF(item_pickup);
4893 // flare particle and light
4894 SUB(item_pickup) {
4895         MY(alpha_min) = 128;
4896         MY(alpha_max) = 64;
4897         MY(alpha_fade) = 64;
4898         MY(color_min) = "0x63F2EA";
4899         MY(color_max) = "0xB0C5C4";
4900         MY(countabsolute) = 1;
4901         MY(size_min) = 8;
4902         MY(size_max) = 16;
4903         MY(type) = "static";
4904 }
4905 // cloud of particles which expand rapidly and then slow to form a ball
4906 SUB(item_pickup) {
4907         MY(alpha_min) = 256;
4908         MY(alpha_max) = 256;
4909         MY(alpha_fade) = 1280;
4910         MY(color_min) = "0x63F2EA";
4911         MY(color_max) = "0xB0C5C4";
4912         MY(count) = 32;
4913         MY(size_min) = 1;
4914         MY(size_max) = 1;
4915         MY(tex_min) = 41;
4916         MY(tex_max) = 41;
4917         MY(type) = "spark";
4918         MY(velocityjitter) = '256.0 256.0 256.0';
4919 }
4920
4921 DEF(bloodshower);
4922 SUB(bloodshower) {
4923         MY(alpha_min) = 156;
4924         MY(alpha_max) = 656;
4925         MY(alpha_fade) = 1664;
4926         MY(blend) = "invmod";
4927         MY(bounce) = -1;
4928         MY(color_min) = "0xA8FFFF";
4929         MY(color_max) = "0xA8FFFFF";
4930         MY(count) = 125;
4931         MY(gravity) = 1;
4932         MY(liquidfriction) = 4;
4933         MY(size_min) = 8;
4934         MY(size_max) = 28;
4935         MY(staincolor_min) = "0x808080";
4936         MY(staincolor_max) = "0x808080";
4937         MY(stainsize_min) = 1;
4938         MY(stainsize_max) = 2;
4939         MY(staintex_min) = 16;
4940         MY(staintex_max) = 24;
4941         MY(stretchfactor) = 3;
4942         MY(tex_min) = 24;
4943         MY(tex_max) = 32;
4944         MY(type) = "spark";
4945         MY(velocityjitter) = '764.0 764.0 764.0';
4946 }
4947 // center blood
4948 SUB(bloodshower) {
4949         MY(alpha_min) = 156;
4950         MY(alpha_max) = 656;
4951         MY(alpha_fade) = 1664;
4952         MY(blend) = "invmod";
4953         MY(color_min) = "0xA8FFFF";
4954         MY(color_max) = "0xA8FFFFF";
4955         MY(countabsolute) = 0.100000;
4956         MY(originjitter) = '50.0 50.0 50.0';
4957         MY(sizeincrease) = 300;
4958         MY(size_min) = 1;
4959         MY(size_max) = 28;
4960         MY(tex_min) = 24;
4961         MY(tex_max) = 32;
4962         MY(type) = "smoke";
4963 }
4964
4965 DEF(alien_bloodshower);
4966 SUB(alien_bloodshower) {
4967         MY(alpha_min) = 156;
4968         MY(alpha_max) = 656;
4969         MY(alpha_fade) = 1664;
4970         MY(blend) = "invmod";
4971         MY(bounce) = -1;
4972         MY(color_min) = "0xC080B0";
4973         MY(color_max) = "0xC080B0";
4974         MY(count) = 125;
4975         MY(gravity) = 1;
4976         MY(liquidfriction) = 4;
4977         MY(size_min) = 8;
4978         MY(size_max) = 28;
4979         MY(staincolor_min) = "0xC080B0";
4980         MY(staincolor_max) = "0xC080B0";
4981         MY(stainsize_min) = 1;
4982         MY(stainsize_max) = 2;
4983         MY(staintex_min) = 16;
4984         MY(staintex_max) = 24;
4985         MY(stretchfactor) = 3;
4986         MY(tex_min) = 24;
4987         MY(tex_max) = 32;
4988         MY(type) = "spark";
4989         MY(velocityjitter) = '764.0 764.0 764.0';
4990 }
4991 // center blood
4992 SUB(alien_bloodshower) {
4993         MY(alpha_min) = 156;
4994         MY(alpha_max) = 656;
4995         MY(alpha_fade) = 1664;
4996         MY(blend) = "invmod";
4997         MY(color_min) = "0xA8FFFF";
4998         MY(color_max) = "0xA8FFFFF";
4999         MY(countabsolute) = 0.100000;
5000         MY(originjitter) = '50.0 50.0 50.0';
5001         MY(sizeincrease) = 300;
5002         MY(size_min) = 1;
5003         MY(size_max) = 28;
5004         MY(tex_min) = 24;
5005         MY(tex_max) = 32;
5006         MY(type) = "smoke";
5007 }
5008
5009 DEF(robot_bloodshower);
5010 SUB(robot_bloodshower) {
5011         MY(alpha_min) = 156;
5012         MY(alpha_max) = 656;
5013         MY(alpha_fade) = 1664;
5014         MY(blend) = "invmod";
5015         MY(bounce) = -1;
5016         MY(color_min) = "0xC0D890";
5017         MY(color_max) = "0xC0D890";
5018         MY(count) = 100;
5019         MY(gravity) = 1;
5020         MY(liquidfriction) = 4;
5021         MY(size_min) = 8;
5022         MY(size_max) = 28;
5023         MY(staincolor_min) = "0xC0D890";
5024         MY(staincolor_max) = "0xC0D890";
5025         MY(stainsize_min) = 1;
5026         MY(stainsize_max) = 2;
5027         MY(staintex_min) = 16;
5028         MY(staintex_max) = 24;
5029         MY(stretchfactor) = 3;
5030         MY(tex_min) = 24;
5031         MY(tex_max) = 32;
5032         MY(type) = "spark";
5033         MY(velocityjitter) = '764.0 764.0 764.0';
5034 }
5035 // arc
5036 SUB(robot_bloodshower) {
5037         MY(alpha_min) = 1128;
5038         MY(alpha_max) = 1256;
5039         MY(alpha_fade) = 4200;
5040         MY(color_min) = "0xff3000";
5041         MY(color_max) = "0xff8585";
5042         MY(count) = 2.500000;
5043         MY(originjitter) = '150.0 150.0 150.0';
5044         MY(startangle_min) = -180;
5045         MY(startangle_max) = 180;
5046         MY(spin_min) = 99;
5047         MY(spin_max) = -99;
5048         MY(size_min) = 25;
5049         MY(size_max) = 40;
5050         MY(tex_min) = 71;
5051         MY(tex_max) = 73;
5052         MY(type) = "smoke";
5053         MY(velocityjitter) = '44.0 44.0 44.0';
5054 }
5055 // shockwave
5056 SUB(robot_bloodshower) {
5057         MY(alpha_min) = 11;
5058         MY(alpha_max) = 125;
5059         MY(alpha_fade) = 990;
5060         MY(color_min) = "0xff3000";
5061         MY(color_max) = "0xff8585";
5062         MY(count) = 2.500000;
5063         MY(sizeincrease) = 3000;
5064         MY(size_min) = 5;
5065         MY(size_max) = 50;
5066         MY(tex_min) = 74;
5067         MY(tex_max) = 74;
5068         MY(type) = "smoke";
5069 }
5070
5071 #define ground_quake(name, colormin, colormax) \
5072         DEF(name##_ground_quake); \
5073         SUB(name##_ground_quake) /* smoke */ { \
5074                 MY(airfriction) = 3; \
5075                 MY(alpha_min) = 100; \
5076                 MY(alpha_max) = 126; \
5077                 MY(alpha_fade) = 200; \
5078                 MY(bounce) = 1.100000; \
5079                 MY(color_min) = "0x111111"; \
5080                 MY(color_max) = "0xbbbbbb"; \
5081                 MY(count) = 90; \
5082                 MY(gravity) = 0.500000; \
5083                 MY(notunderwater) = true; \
5084                 MY(sizeincrease) = 100; \
5085                 MY(size_min) = 20; \
5086                 MY(size_max) = 50; \
5087                 MY(tex_max) = 8; \
5088                 MY(time_min) = 5; \
5089                 MY(time_max) = 10; \
5090                 MY(type) = "smoke"; \
5091                 MY(velocityjitter) = '190.0 190.0 50.0'; \
5092         } \
5093         SUB(name##_ground_quake) { \
5094                 MY(airfriction) = 4; \
5095                 MY(alpha_min) = 100; \
5096                 MY(alpha_max) = 126; \
5097                 MY(alpha_fade) = 200; \
5098                 MY(bounce) = 1.200000; \
5099                 MY(color_min) = "0x111111"; \
5100                 MY(color_max) = "0x979797"; \
5101                 MY(count) = 40; \
5102                 MY(gravity) = 0.200000; \
5103                 MY(notunderwater) = true; \
5104                 MY(sizeincrease) = 60; \
5105                 MY(size_min) = 10; \
5106                 MY(size_max) = 30; \
5107                 MY(tex_max) = 8; \
5108                 MY(time_min) = 10; \
5109                 MY(time_max) = 15; \
5110                 MY(type) = "smoke"; \
5111                 MY(velocityjitter) = '190.0 190.0 50.0'; \
5112         } \
5113         SUB(name##_ground_quake) { \
5114                 MY(alpha_min) = 200; \
5115                 MY(alpha_max) = 356; \
5116                 MY(alpha_fade) = 512; \
5117                 MY(bounce) = 6; \
5118                 MY(color_min) = colormin; \
5119                 MY(color_max) = colormax; \
5120                 MY(count) = 16; \
5121                 MY(gravity) = -0.500000; \
5122                 MY(originjitter) = '33.0 33.0 33.0'; \
5123                 MY(sizeincrease) = 5; \
5124                 MY(size_min) = 4; \
5125                 MY(size_max) = 20; \
5126                 MY(tex_min) = 48; \
5127                 MY(tex_max) = 55; \
5128                 MY(time_min) = 15; \
5129                 MY(time_max) = 25; \
5130                 MY(type) = "smoke"; \
5131                 MY(velocityjitter) = '22.0 22.0 50.0'; \
5132         } \
5133         SUB(name##_ground_quake) /* smoke */ { \
5134                 MY(alpha_min) = 200; \
5135                 MY(alpha_max) = 256; \
5136                 MY(alpha_fade) = 200; \
5137                 MY(bounce) = 2; \
5138                 MY(color_min) = "0x000000"; \
5139                 MY(color_max) = "0xffffff"; \
5140                 MY(count) = 11; \
5141                 MY(gravity) = -0.300000; \
5142                 MY(originjitter) = '44.0 44.0 44.0'; \
5143                 MY(sizeincrease) = 11; \
5144                 MY(size_min) = 22; \
5145                 MY(size_max) = 33; \
5146                 MY(tex_max) = 8; \
5147                 MY(time_min) = 25; \
5148                 MY(time_max) = 35; \
5149                 MY(type) = "alphastatic"; \
5150                 MY(velocityjitter) = '11.0 11.0 50.0'; \
5151         } \
5152         /**/
5153
5154 ground_quake(red,       "0x9E6A64", "0x91302D")
5155 ground_quake(blue,      "0x64679E", "0x2D4C91")
5156 #undef ground_quake
5157
5158 // cl_gentle impact effect indicating damage
5159 DEF(morphed_damage_hit);
5160 SUB(morphed_damage_hit) {
5161         MY(airfriction) = 5;
5162         MY(alpha_min) = 128;
5163         MY(alpha_max) = 128;
5164         MY(alpha_fade) = 292;
5165         MY(color_min) = "0xffffff";
5166         MY(color_max) = "0x9271fb";
5167         MY(count) = 0.500000;
5168         MY(gravity) = -0.400000;
5169         MY(liquidfriction) = 10;
5170         MY(sizeincrease) = -24;
5171         MY(size_min) = 14;
5172         MY(size_max) = 24;
5173         MY(tex_min) = 43;
5174         MY(tex_max) = 43;
5175         MY(type) = "spark";
5176         MY(velocityjitter) = '356.0 356.0 456.0';
5177 }
5178 SUB(morphed_damage_hit) {
5179         MY(airfriction) = 5;
5180         MY(alpha_min) = 128;
5181         MY(alpha_max) = 128;
5182         MY(alpha_fade) = 292;
5183         MY(color_min) = "0xffffff";
5184         MY(color_max) = "0x9271fb";
5185         MY(count) = 0.500000;
5186         MY(liquidfriction) = 10;
5187         MY(originjitter) = '10.0 10.0 10.0';
5188         MY(sizeincrease) = -24;
5189         MY(size_min) = 24;
5190         MY(size_max) = 24;
5191         MY(tex_max) = 8;
5192         MY(type) = "smoke";
5193 }
5194
5195 // effect for removing player model
5196 DEF(morphed_damage_dissolve);
5197 SUB(morphed_damage_dissolve) {
5198         MY(airfriction) = 8;
5199         MY(alpha_min) = 456;
5200         MY(alpha_max) = 456;
5201         MY(alpha_fade) = 1828;
5202         MY(color_min) = "0xffffff";
5203         MY(color_max) = "0x9271fb";
5204         MY(count) = 10;
5205         MY(gravity) = -1.900000;
5206         MY(liquidfriction) = 6;
5207         MY(startangle_min) = -180;
5208         MY(startangle_max) = 180;
5209         MY(spin_min) = -399;
5210         MY(spin_max) = -99;
5211         MY(sizeincrease) = -16;
5212         MY(size_min) = 40;
5213         MY(size_max) = 40;
5214         MY(tex_min) = 43;
5215         MY(tex_max) = 43;
5216         MY(type) = "smoke";
5217         MY(velocityjitter) = '256.0 256.0 512.0';
5218 }
5219 SUB(morphed_damage_dissolve) {
5220         MY(airfriction) = 9;
5221         MY(alpha_min) = 256;
5222         MY(alpha_max) = 256;
5223         MY(alpha_fade) = 628;
5224         MY(color_min) = "0x7bdbff";
5225         MY(color_max) = "0xbed2ff";
5226         MY(count) = 2.500000;
5227         MY(gravity) = -0.800000;
5228         MY(liquidfriction) = 6;
5229         MY(startangle_min) = -180;
5230         MY(startangle_max) = 180;
5231         MY(sizeincrease) = -16;
5232         MY(size_min) = 40;
5233         MY(size_max) = 40;
5234         MY(tex_min) = 43;
5235         MY(tex_max) = 43;
5236         MY(type) = "smoke";
5237         MY(velocityjitter) = '256.0 256.0 512.0';
5238 }
5239 SUB(morphed_damage_dissolve) {
5240         MY(airfriction) = 3;
5241         MY(alpha_min) = 156;
5242         MY(alpha_max) = 156;
5243         MY(alpha_fade) = 128;
5244         MY(color_min) = "0xffffff";
5245         MY(color_max) = "0x9271fb";
5246         MY(count) = 5;
5247         MY(liquidfriction) = 6;
5248         MY(originjitter) = '22.0 22.0 76.0';
5249         MY(sizeincrease) = -16;
5250         MY(size_min) = 44;
5251         MY(size_max) = 44;
5252         MY(tex_min) = 65;
5253         MY(tex_max) = 65;
5254         MY(type) = "smoke";
5255 }
5256 SUB(morphed_damage_dissolve) {
5257         MY(airfriction) = 3;
5258         MY(alpha_min) = 56;
5259         MY(alpha_max) = 56;
5260         MY(alpha_fade) = 128;
5261         MY(bounce) = 1.500000;
5262         MY(color_min) = "0xffffff";
5263         MY(color_max) = "0x9271fb";
5264         MY(count) = 15;
5265         MY(gravity) = 1;
5266         MY(liquidfriction) = 6;
5267         MY(startangle_min) = -180;
5268         MY(startangle_max) = 180;
5269         MY(spin_min) = 999;
5270         MY(spin_max) = -999;
5271         MY(sizeincrease) = -16;
5272         MY(size_min) = 32;
5273         MY(size_max) = 32;
5274         MY(tex_min) = 46;
5275         MY(tex_max) = 46;
5276         MY(type) = "smoke";
5277         MY(velocityjitter) = '400.0 400.0 0.0';
5278 }
5279
5280 // Team / hit vaporizer effects
5281 #define TE_TEI_G3(name, colormin1, colormax1, colormin2, colormax2) \
5282         DEF(TE_TEI_G3##name); \
5283         SUB(TE_TEI_G3##name) { \
5284                 MY(alpha_min) = 128; \
5285                 MY(alpha_max) = 128; \
5286                 MY(alpha_fade) = 256; \
5287                 MY(color_min) = colormin1; \
5288                 MY(color_max) = colormax1; \
5289                 MY(countabsolute) = 1; \
5290                 MY(size_min) = 4; \
5291                 MY(size_max) = 4; \
5292                 MY(tex_min) = 200; \
5293                 MY(tex_max) = 200; \
5294                 MY(type) = "beam"; \
5295         } \
5296         SUB(TE_TEI_G3##name) { \
5297                 MY(airfriction) = -4; \
5298                 MY(alpha_min) = 256; \
5299                 MY(alpha_max) = 256; \
5300                 MY(alpha_fade) = 512; \
5301                 MY(color_min) = colormin2; \
5302                 MY(color_max) = colormax2; \
5303                 MY(sizeincrease) = 3; \
5304                 MY(size_min) = 0.300000; \
5305                 MY(size_max) = 0.300000; \
5306                 MY(tex_min) = 46; \
5307                 MY(tex_max) = 46; \
5308                 MY(trailspacing) = 8; \
5309                 MY(type) = "smoke"; \
5310                 MY(velocityjitter) = '3.0 3.0 3.0'; \
5311         } \
5312         DEF(TE_TEI_G3##name##_HIT); \
5313         SUB(TE_TEI_G3##name##_HIT) { \
5314                 MY(alpha_min) = 128; \
5315                 MY(alpha_max) = 128; \
5316                 MY(alpha_fade) = 256; \
5317                 MY(color_min) = colormin1; \
5318                 MY(color_max) = colormax1; \
5319                 MY(countabsolute) = 1; \
5320                 MY(size_min) = 8; \
5321                 MY(size_max) = 8; \
5322                 MY(tex_min) = 200; \
5323                 MY(tex_max) = 200; \
5324                 MY(type) = "beam"; \
5325         } \
5326         SUB(TE_TEI_G3##name##_HIT) /* rings */ { \
5327                 MY(airfriction) = -4; \
5328                 MY(alpha_min) = 256; \
5329                 MY(alpha_max) = 256; \
5330                 MY(alpha_fade) = 512; \
5331                 MY(color_min) = "0xFFFFFF"; \
5332                 MY(color_max) = colormax1; \
5333                 MY(sizeincrease) = -2; \
5334                 MY(size_min) = 2; \
5335                 MY(size_max) = 2; \
5336                 MY(trailspacing) = 20; \
5337                 MY(type) = "smoke"; \
5338                 MY(velocityjitter) = '2.0 2.0 2.0'; \
5339         } \
5340         SUB(TE_TEI_G3##name##_HIT) { \
5341                 MY(airfriction) = -4; \
5342                 MY(alpha_min) = 256; \
5343                 MY(alpha_max) = 256; \
5344                 MY(alpha_fade) = 512; \
5345                 MY(color_min) = colormin1; \
5346                 MY(color_max) = colormax1; \
5347                 MY(sizeincrease) = -6; \
5348                 MY(size_min) = 10; \
5349                 MY(size_max) = 10; \
5350                 MY(trailspacing) = 40; \
5351                 MY(type) = "smoke"; \
5352         } \
5353         /**/
5354 TE_TEI_G3(RED, "0xFF0000", "0xFF0011", "0x200000", "0x400000")
5355 TE_TEI_G3(BLUE, "0x0000FF", "0x1100FF", "0x000020", "0x000040")
5356 TE_TEI_G3(YELLOW, "0xffff00", "0xffff11", "0x202000", "0x404000")
5357 TE_TEI_G3(PINK, "0xFF00FF", "0xFF11FF", "0x200020", "0x400040")
5358 #undef TE_TEI_G3
5359
5360 // cl_gentle impact effect indicating damage
5361 DEF(particlegibs_damage_hit);
5362 // core decal
5363 SUB(particlegibs_damage_hit) {
5364         MY(airfriction) = 3;
5365         MY(alpha_min) = 256;
5366         MY(alpha_max) = 256;
5367         MY(alpha_fade) = 428;
5368         MY(bounce) = -1;
5369         MY(color_min) = "0xA8FFFF";
5370         MY(color_max) = "0xA8FFFFF";
5371         MY(count) = 0.500000;
5372         MY(gravity) = 1;
5373         MY(liquidfriction) = 6;
5374         MY(size_min) = 5;
5375         MY(size_max) = 10;
5376         MY(staincolor_min) = "0x808080";
5377         MY(staincolor_max) = "0x808080";
5378         MY(staintex_min) = 16;
5379         MY(staintex_max) = 24;
5380         MY(tex_max) = 8;
5381         MY(type) = "blood";
5382         MY(velocityjitter) = '156.0 156.0 212.0';
5383 }
5384 // front blood
5385 SUB(particlegibs_damage_hit) {
5386         MY(airfriction) = 1;
5387         MY(alpha_min) = 256;
5388         MY(alpha_max) = 256;
5389         MY(alpha_fade) = 328;
5390         MY(bounce) = -1;
5391         MY(color_min) = "0xA8FFFF";
5392         MY(color_max) = "0xA8FFFFF";
5393         MY(count) = 0.100000;
5394         MY(gravity) = 0.500000;
5395         MY(liquidfriction) = 3;
5396         MY(sizeincrease) = -15;
5397         MY(size_min) = 10;
5398         MY(size_max) = 20;
5399         MY(staincolor_min) = "0x808080";
5400         MY(staincolor_max) = "0x808080";
5401         MY(staintex_min) = 16;
5402         MY(staintex_max) = 24;
5403         MY(tex_min) = 24;
5404         MY(tex_max) = 32;
5405         MY(type) = "blood";
5406         MY(velocityjitter) = '6.0 6.0 30.0';
5407         MY(velocitymultiplier) = -1;
5408 }
5409 // back blood
5410 SUB(particlegibs_damage_hit) {
5411         MY(airfriction) = 1;
5412         MY(alpha_min) = 256;
5413         MY(alpha_max) = 256;
5414         MY(alpha_fade) = 328;
5415         MY(bounce) = -1;
5416         MY(color_min) = "0xA8FFFF";
5417         MY(color_max) = "0xA8FFFFF";
5418         MY(count) = 0.100000;
5419         MY(gravity) = 1;
5420         MY(liquidfriction) = 3;
5421         MY(originjitter) = '3.0 3.0 3.0';
5422         MY(sizeincrease) = 10;
5423         MY(size_min) = 5;
5424         MY(size_max) = 15;
5425         MY(staincolor_min) = "0x808080";
5426         MY(staincolor_max) = "0x808080";
5427         MY(staintex_min) = 16;
5428         MY(staintex_max) = 24;
5429         MY(tex_min) = 24;
5430         MY(tex_max) = 32;
5431         MY(type) = "blood";
5432         MY(velocityjitter) = '26.0 26.0 112.0';
5433         MY(velocitymultiplier) = 2;
5434 }
5435
5436 // effect for removing player model
5437 DEF(particlegibs_damage_dissolve);
5438 // small core blood no decals
5439 SUB(particlegibs_damage_dissolve) {
5440         MY(airfriction) = 3;
5441         MY(alpha_min) = 256;
5442         MY(alpha_max) = 256;
5443         MY(alpha_fade) = 328;
5444         MY(color_min) = "0x00ffff";
5445         MY(color_max) = "0x82ffff";
5446         MY(count) = 32;
5447         MY(gravity) = 1;
5448         MY(liquidfriction) = 6;
5449         MY(originjitter) = '10.0 10.0 25.0';
5450         MY(size_min) = 15;
5451         MY(size_max) = 20;
5452         MY(staincolor_min) = "0x808080";
5453         MY(staincolor_max) = "0x808080";
5454         MY(staintex_min) = 16;
5455         MY(staintex_max) = 24;
5456         MY(tex_max) = 8;
5457         MY(type) = "blood";
5458         MY(velocityjitter) = '256.0 256.0 312.0';
5459 }
5460 // core decal
5461 SUB(particlegibs_damage_dissolve) {
5462         MY(airfriction) = 2;
5463         MY(alpha_min) = 256;
5464         MY(alpha_max) = 256;
5465         MY(alpha_fade) = 528;
5466         MY(bounce) = -1;
5467         MY(color_min) = "0xA8FFFF";
5468         MY(color_max) = "0xA8FFFFF";
5469         MY(count) = 12;
5470         MY(gravity) = 2;
5471         MY(liquidfriction) = 6;
5472         MY(originjitter) = '10.0 10.0 25.0';
5473         MY(size_min) = 20;
5474         MY(size_max) = 40;
5475         MY(staincolor_min) = "0x808080";
5476         MY(staincolor_max) = "0x808080";
5477         MY(staintex_min) = 16;
5478         MY(staintex_max) = 24;
5479         MY(tex_max) = 8;
5480         MY(type) = "blood";
5481         MY(velocityjitter) = '356.0 356.0 412.0';
5482 }
5483 // front blood
5484 SUB(particlegibs_damage_dissolve) {
5485         MY(airfriction) = 1;
5486         MY(alpha_min) = 256;
5487         MY(alpha_max) = 256;
5488         MY(alpha_fade) = 328;
5489         MY(bounce) = -1;
5490         MY(color_min) = "0xA8FFFF";
5491         MY(color_max) = "0xA8FFFFF";
5492         MY(count) = 32;
5493         MY(gravity) = 0.500000;
5494         MY(liquidfriction) = 3;
5495         MY(originjitter) = '5.0 5.0 10.0';
5496         MY(sizeincrease) = -15;
5497         MY(size_min) = 10;
5498         MY(size_max) = 20;
5499         MY(staincolor_min) = "0x808080";
5500         MY(staincolor_max) = "0x808080";
5501         MY(staintex_min) = 16;
5502         MY(staintex_max) = 24;
5503         MY(tex_min) = 24;
5504         MY(tex_max) = 32;
5505         MY(type) = "blood";
5506         MY(velocityjitter) = '56.0 56.0 212.0';
5507         MY(velocitymultiplier) = -0.300000;
5508 }
5509 // back blood
5510 SUB(particlegibs_damage_dissolve) {
5511         MY(airfriction) = 1;
5512         MY(alpha_min) = 256;
5513         MY(alpha_max) = 256;
5514         MY(alpha_fade) = 328;
5515         MY(bounce) = -1;
5516         MY(color_min) = "0xA8FFFF";
5517         MY(color_max) = "0xA8FFFFF";
5518         MY(count) = 32;
5519         MY(gravity) = 1;
5520         MY(liquidfriction) = 3;
5521         MY(originjitter) = '5.0 5.0 10.0';
5522         MY(sizeincrease) = 10;
5523         MY(size_min) = 5;
5524         MY(size_max) = 15;
5525         MY(staincolor_min) = "0x808080";
5526         MY(staincolor_max) = "0x808080";
5527         MY(staintex_min) = 16;
5528         MY(staintex_max) = 24;
5529         MY(tex_min) = 24;
5530         MY(tex_max) = 32;
5531         MY(type) = "blood";
5532         MY(velocityjitter) = '56.0 56.0 212.0';
5533         MY(velocitymultiplier) = 0.500000;
5534 }
5535 // small bits
5536 SUB(particlegibs_damage_dissolve) {
5537         MY(airfriction) = 1.500000;
5538         MY(alpha_min) = 256;
5539         MY(alpha_max) = 256;
5540         MY(alpha_fade) = 328;
5541         MY(color_min) = "0xA8FFFF";
5542         MY(color_max) = "0xA8FFFFF";
5543         MY(count) = 75;
5544         MY(gravity) = 1;
5545         MY(liquidfriction) = 3;
5546         MY(originjitter) = '10.0 10.0 25.0';
5547         MY(sizeincrease) = 10;
5548         MY(size_min) = 1;
5549         MY(size_max) = 1;
5550         MY(staincolor_min) = "0x808080";
5551         MY(staincolor_max) = "0x808080";
5552         MY(staintex_min) = 16;
5553         MY(staintex_max) = 24;
5554         MY(tex_min) = 24;
5555         MY(tex_max) = 32;
5556         MY(type) = "blood";
5557         MY(velocityjitter) = '656.0 656.0 912.0';
5558 }
5559
5560 DEF(onslaught_generator_gib_explode);
5561 // fire effect which expands then slows
5562 SUB(onslaught_generator_gib_explode) {
5563         MY(airfriction) = 5;
5564         MY(alpha_min) = 128;
5565         MY(alpha_max) = 256;
5566         MY(alpha_fade) = 356;
5567         MY(bounce) = 1.500000;
5568         MY(color_min) = "0x8f0d00";
5569         MY(color_max) = "0xff5a00";
5570         MY(count) = 17;
5571         MY(liquidfriction) = 8;
5572         MY(notunderwater) = true;
5573         MY(originjitter) = '8.0 8.0 8.0';
5574         MY(sizeincrease) = 45;
5575         MY(size_min) = 20;
5576         MY(size_max) = 26;
5577         MY(tex_min) = 48;
5578         MY(tex_max) = 55;
5579         MY(type) = "static";
5580         MY(velocityjitter) = '286.0 286.0 286.0';
5581 }
5582 // smoke
5583 SUB(onslaught_generator_gib_explode) {
5584         MY(airfriction) = 5;
5585         MY(alpha_min) = 200;
5586         MY(alpha_max) = 500;
5587         MY(alpha_fade) = 600;
5588         MY(bounce) = 2;
5589         MY(color_min) = "0x000000";
5590         MY(color_max) = "0x111111";
5591         MY(count) = 6;
5592         MY(gravity) = -0.300000;
5593         MY(notunderwater) = true;
5594         MY(sizeincrease) = 90;
5595         MY(size_min) = 1;
5596         MY(size_max) = 10;
5597         MY(tex_max) = 8;
5598         MY(type) = "alphastatic";
5599         MY(velocityjitter) = '244.0 244.0 244.0';
5600 }
5601 // underwater bubbles
5602 SUB(onslaught_generator_gib_explode) {
5603         MY(alpha_min) = 128;
5604         MY(alpha_max) = 256;
5605         MY(alpha_fade) = 64;
5606         MY(bounce) = 1.500000;
5607         MY(color_min) = "0x404040";
5608         MY(color_max) = "0x808080";
5609         MY(count) = 16;
5610         MY(gravity) = -0.125000;
5611         MY(liquidfriction) = 0.250000;
5612         MY(originjitter) = '16.0 16.0 16.0';
5613         MY(size_min) = 3;
5614         MY(size_max) = 3;
5615         MY(tex_min) = 62;
5616         MY(tex_max) = 62;
5617         MY(type) = "bubble";
5618         MY(underwater) = true;
5619         MY(velocityjitter) = '96.0 96.0 96.0';
5620 }
5621
5622 DEF(onslaught_generator_gib_flame);
5623 // fire effect which expands then slows
5624 SUB(onslaught_generator_gib_flame) {
5625         MY(airfriction) = 5;
5626         MY(alpha_min) = 128;
5627         MY(alpha_max) = 256;
5628         MY(alpha_fade) = 356;
5629         MY(color_min) = "0x8f0d00";
5630         MY(color_max) = "0xff5a00";
5631         MY(count) = 15;
5632         MY(gravity) = -0.500000;
5633         MY(liquidfriction) = 8;
5634         MY(notunderwater) = true;
5635         MY(originjitter) = '3.0 3.0 3.0';
5636         MY(sizeincrease) = 25;
5637         MY(size_min) = 5;
5638         MY(size_max) = 10;
5639         MY(tex_min) = 48;
5640         MY(tex_max) = 55;
5641         MY(type) = "static";
5642         MY(velocityjitter) = '86.0 86.0 86.0';
5643 }
5644 // smoke
5645 SUB(onslaught_generator_gib_flame) {
5646         MY(airfriction) = 5;
5647         MY(alpha_min) = 200;
5648         MY(alpha_max) = 500;
5649         MY(alpha_fade) = 600;
5650         MY(bounce) = 2;
5651         MY(color_min) = "0x000000";
5652         MY(color_max) = "0x111111";
5653         MY(count) = 1;
5654         MY(gravity) = -0.800000;
5655         MY(notunderwater) = true;
5656         MY(sizeincrease) = 30;
5657         MY(size_min) = 10;
5658         MY(size_max) = 20;
5659         MY(tex_max) = 8;
5660         MY(type) = "alphastatic";
5661         MY(velocityjitter) = '44.0 44.0 44.0';
5662 }
5663 // underwater bubbles
5664 SUB(onslaught_generator_gib_flame) {
5665         MY(alpha_min) = 128;
5666         MY(alpha_max) = 256;
5667         MY(alpha_fade) = 64;
5668         MY(bounce) = 1.500000;
5669         MY(color_min) = "0x404040";
5670         MY(color_max) = "0x808080";
5671         MY(count) = 16;
5672         MY(gravity) = -0.125000;
5673         MY(liquidfriction) = 0.250000;
5674         MY(originjitter) = '16.0 16.0 16.0';
5675         MY(size_min) = 3;
5676         MY(size_max) = 3;
5677         MY(tex_min) = 62;
5678         MY(tex_max) = 62;
5679         MY(type) = "bubble";
5680         MY(underwater) = true;
5681         MY(velocityjitter) = '96.0 96.0 96.0';
5682 }
5683
5684 DEF(firemine);
5685 SUB(firemine) {
5686         MY(airfriction) = 1.200000;
5687         MY(alpha_min) = 50;
5688         MY(alpha_max) = 256;
5689         MY(alpha_fade) = 250;
5690         MY(bounce) = 1.500000;
5691         MY(color_min) = "0x8f0d00";
5692         MY(color_max) = "0xff5a00";
5693         MY(count) = 0.500000;
5694         MY(gravity) = -0.060000;
5695         MY(sizeincrease) = 5;
5696         MY(size_min) = 1;
5697         MY(size_max) = 1;
5698         MY(tex_min) = 48;
5699         MY(tex_max) = 55;
5700         MY(trailspacing) = 2;
5701         MY(type) = "smoke";
5702         MY(velocityjitter) = '10.0 10.0 2.0';
5703 }
5704 // slowfire
5705 SUB(firemine) {
5706         MY(airfriction) = 1.200000;
5707         MY(alpha_min) = 50;
5708         MY(alpha_max) = 256;
5709         MY(alpha_fade) = 200;
5710         MY(bounce) = 1.500000;
5711         MY(color_min) = "0x8f0d00";
5712         MY(color_max) = "0xff5a00";
5713         MY(count) = 0.500000;
5714         MY(gravity) = -0.060000;
5715         MY(sizeincrease) = 5;
5716         MY(size_min) = 1;
5717         MY(size_max) = 1;
5718         MY(tex_min) = 48;
5719         MY(tex_max) = 55;
5720         MY(trailspacing) = 2;
5721         MY(type) = "smoke";
5722         MY(velocityjitter) = '10.0 10.0 10.0';
5723 }
5724 // very slow and small fire
5725 SUB(firemine) {
5726         MY(airfriction) = 0.300000;
5727         MY(alpha_min) = 50;
5728         MY(alpha_max) = 256;
5729         MY(alpha_fade) = 200;
5730         MY(bounce) = 1.500000;
5731         MY(color_min) = "0x8f0d00";
5732         MY(color_max) = "0xff5a00";
5733         MY(count) = 0.500000;
5734         MY(gravity) = -0.060000;
5735         MY(sizeincrease) = 2;
5736         MY(size_min) = 1;
5737         MY(size_max) = 1;
5738         MY(tex_min) = 48;
5739         MY(tex_max) = 55;
5740         MY(trailspacing) = 4;
5741         MY(type) = "smoke";
5742         MY(velocityjitter) = '8.0 8.0 8.0';
5743 }
5744 // decreasing fire
5745 SUB(firemine) {
5746         MY(airfriction) = 0.300000;
5747         MY(alpha_min) = 50;
5748         MY(alpha_max) = 256;
5749         MY(alpha_fade) = 200;
5750         MY(bounce) = 1.500000;
5751         MY(color_min) = "0x8f0d00";
5752         MY(color_max) = "0xff5a00";
5753         MY(count) = 0.500000;
5754         MY(gravity) = -0.060000;
5755         MY(sizeincrease) = -3;
5756         MY(size_min) = 5;
5757         MY(size_max) = 7;
5758         MY(tex_min) = 48;
5759         MY(tex_max) = 55;
5760         MY(trailspacing) = 4;
5761         MY(type) = "smoke";
5762         MY(velocityjitter) = '3.0 3.0 3.0';
5763 }
5764 // smoke
5765 SUB(firemine) {
5766         MY(airfriction) = 1;
5767         MY(alpha_min) = 256;
5768         MY(alpha_max) = 256;
5769         MY(alpha_fade) = 90;
5770         MY(color_min) = "0x000000";
5771         MY(color_max) = "0x111111";
5772         MY(count) = 0.500000;
5773         MY(originjitter) = '2.0 2.0 2.0';
5774         MY(sizeincrease) = 1;
5775         MY(size_min) = 1;
5776         MY(size_max) = 4;
5777         MY(tex_max) = 8;
5778         MY(trailspacing) = 8;
5779         MY(type) = "alphastatic";
5780         MY(velocityoffset) = '0.0 0.0 3.0';
5781 }
5782 // fastfire
5783 SUB(firemine) {
5784         MY(airfriction) = 1.200000;
5785         MY(alpha_min) = 50;
5786         MY(alpha_max) = 256;
5787         MY(alpha_fade) = 1600;
5788         MY(bounce) = 1.500000;
5789         MY(color_min) = "0x8f0d00";
5790         MY(color_max) = "0xff5a00";
5791         MY(count) = 0.500000;
5792         MY(size_min) = 12;
5793         MY(size_max) = 12;
5794         MY(tex_min) = 48;
5795         MY(tex_max) = 55;
5796         MY(trailspacing) = 1;
5797         MY(type) = "smoke";
5798 }
5799 // light only
5800 SUB(firemine) {
5801         MY(lightcolor) = '2.7 2.7 0.6';
5802         MY(lightradiusfade) = 50000;
5803         MY(lightradius) = 50;
5804         MY(trailspacing) = 16;
5805 }
5806
5807 DEF(fireball);
5808 SUB(fireball) {
5809         MY(airfriction) = 1.200000;
5810         MY(alpha_min) = 50;
5811         MY(alpha_max) = 256;
5812         MY(alpha_fade) = 250;
5813         MY(bounce) = 1.500000;
5814         MY(color_min) = "0x8f0d00";
5815         MY(color_max) = "0xff5a00";
5816         MY(count) = 0.500000;
5817         MY(gravity) = -0.060000;
5818         MY(sizeincrease) = 20;
5819         MY(size_min) = 5;
5820         MY(size_max) = 5;
5821         MY(tex_min) = 48;
5822         MY(tex_max) = 55;
5823         MY(trailspacing) = 2;
5824         MY(type) = "smoke";
5825         MY(velocityjitter) = '40.0 40.0 11.0';
5826 }
5827 // slow fire
5828 SUB(fireball) {
5829         MY(airfriction) = 1.200000;
5830         MY(alpha_min) = 50;
5831         MY(alpha_max) = 256;
5832         MY(alpha_fade) = 200;
5833         MY(bounce) = 1.500000;
5834         MY(color_min) = "0x8f0d00";
5835         MY(color_max) = "0xff5a00";
5836         MY(count) = 0.500000;
5837         MY(gravity) = -0.060000;
5838         MY(sizeincrease) = 20;
5839         MY(size_min) = 5;
5840         MY(size_max) = 5;
5841         MY(tex_min) = 48;
5842         MY(tex_max) = 55;
5843         MY(trailspacing) = 2;
5844         MY(type) = "smoke";
5845         MY(velocityjitter) = '40.0 40.0 40.0';
5846 }
5847 // very slow and small fire
5848 SUB(fireball) {
5849         MY(airfriction) = 0.300000;
5850         MY(alpha_min) = 50;
5851         MY(alpha_max) = 256;
5852         MY(alpha_fade) = 200;
5853         MY(bounce) = 1.500000;
5854         MY(color_min) = "0x8f0d00";
5855         MY(color_max) = "0xff5a00";
5856         MY(count) = 0.500000;
5857         MY(gravity) = -0.060000;
5858         MY(sizeincrease) = 10;
5859         MY(size_min) = 5;
5860         MY(size_max) = 5;
5861         MY(tex_min) = 48;
5862         MY(tex_max) = 55;
5863         MY(trailspacing) = 4;
5864         MY(type) = "smoke";
5865         MY(velocityjitter) = '30.0 30.0 30.0';
5866 }
5867 // decreasing fire
5868 SUB(fireball) {
5869         MY(airfriction) = 0.300000;
5870         MY(alpha_min) = 50;
5871         MY(alpha_max) = 256;
5872         MY(alpha_fade) = 200;
5873         MY(bounce) = 1.500000;
5874         MY(color_min) = "0x8f0d00";
5875         MY(color_max) = "0xff5a00";
5876         MY(count) = 0.500000;
5877         MY(gravity) = -0.060000;
5878         MY(sizeincrease) = -10;
5879         MY(size_min) = 20;
5880         MY(size_max) = 30;
5881         MY(tex_min) = 48;
5882         MY(tex_max) = 55;
5883         MY(trailspacing) = 4;
5884         MY(type) = "smoke";
5885         MY(velocityjitter) = '10.0 10.0 10.0';
5886 }
5887 // smoke
5888 SUB(fireball) {
5889         MY(airfriction) = 1;
5890         MY(alpha_min) = 256;
5891         MY(alpha_max) = 256;
5892         MY(alpha_fade) = 90;
5893         MY(color_min) = "0x000000";
5894         MY(color_max) = "0x111111";
5895         MY(count) = 0.500000;
5896         MY(originjitter) = '10.0 10.0 10.0';
5897         MY(sizeincrease) = 7;
5898         MY(size_min) = 5;
5899         MY(size_max) = 15;
5900         MY(tex_max) = 8;
5901         MY(trailspacing) = 8;
5902         MY(type) = "alphastatic";
5903         MY(velocityoffset) = '0.0 0.0 10.0';
5904 }
5905 // fast fire
5906 SUB(fireball) {
5907         MY(airfriction) = 1.200000;
5908         MY(alpha_min) = 50;
5909         MY(alpha_max) = 256;
5910         MY(alpha_fade) = 1600;
5911         MY(bounce) = 1.500000;
5912         MY(color_min) = "0x8f0d00";
5913         MY(color_max) = "0xff5a00";
5914         MY(count) = 0.500000;
5915         MY(size_min) = 48;
5916         MY(size_max) = 48;
5917         MY(tex_min) = 48;
5918         MY(tex_max) = 55;
5919         MY(trailspacing) = 1;
5920         MY(type) = "smoke";
5921 }
5922 // light only
5923 SUB(fireball) {
5924         MY(lightcolor) = '2.7 2.7 0.6';
5925         MY(lightradiusfade) = 3000;
5926         MY(lightradius) = 300;
5927         MY(trailspacing) = 16;
5928 }
5929
5930 DEF(fireball_laser);
5931 SUB(fireball_laser) {
5932         MY(alpha_min) = 192;
5933         MY(alpha_max) = 256;
5934         MY(alpha_fade) = 2560;
5935         MY(color_min) = "0x800000";
5936         MY(color_max) = "0xFF8020";
5937         MY(count) = 10;
5938         MY(size_min) = 1;
5939         MY(size_max) = 1;
5940         MY(stretchfactor) = 0.700000;
5941         MY(type) = "spark";
5942         MY(velocityjitter) = '1.0 1.0 1.0';
5943         MY(velocitymultiplier) = 10;
5944 }
5945
5946 // rocket explosion (bigger than mortar and hagar)
5947 DEF(fireball_explode);
5948 // decal
5949 SUB(fireball_explode) {
5950         MY(alpha_min) = 256;
5951         MY(alpha_max) = 256;
5952         MY(countabsolute) = 1;
5953         MY(lightcolor) = '4.0 2.0 0.5';
5954         MY(lightradiusfade) = 500;
5955         MY(lightradius) = 500;
5956         MY(originjitter) = '56.0 56.0 56.0';
5957         MY(size_min) = 72;
5958         MY(size_max) = 72;
5959         MY(tex_min) = 8;
5960         MY(tex_max) = 16;
5961         MY(type) = "decal";
5962 }
5963 // flare effect
5964 SUB(fireball_explode) {
5965         MY(alpha_min) = 192;
5966         MY(alpha_max) = 192;
5967         MY(alpha_fade) = 64;
5968         MY(color_min) = "0x404040";
5969         MY(color_max) = "0x404040";
5970         MY(countabsolute) = 1;
5971         MY(size_min) = 72;
5972         MY(size_max) = 72;
5973         MY(tex_min) = 35;
5974         MY(tex_max) = 37;
5975         MY(type) = "static";
5976 }
5977 // fire effect
5978 SUB(fireball_explode) {
5979         MY(airfriction) = 4;
5980         MY(alpha_min) = 128;
5981         MY(alpha_max) = 128;
5982         MY(alpha_fade) = 256;
5983         MY(bounce) = 1.500000;
5984         MY(color_min) = "0x902010";
5985         MY(color_max) = "0xFFD080";
5986         MY(count) = 128;
5987         MY(liquidfriction) = 4;
5988         MY(notunderwater) = true;
5989         MY(originjitter) = '8.0 8.0 8.0';
5990         MY(size_min) = 16;
5991         MY(size_max) = 16;
5992         MY(tex_min) = 48;
5993         MY(tex_max) = 55;
5994         MY(type) = "static";
5995         MY(velocityjitter) = '512.0 512.0 512.0';
5996 }
5997 // underwater bubbles
5998 SUB(fireball_explode) {
5999         MY(alpha_min) = 128;
6000         MY(alpha_max) = 256;
6001         MY(alpha_fade) = 64;
6002         MY(bounce) = 1.500000;
6003         MY(color_min) = "0x404040";
6004         MY(color_max) = "0x808080";
6005         MY(count) = 32;
6006         MY(gravity) = -0.125000;
6007         MY(liquidfriction) = 0.250000;
6008         MY(originjitter) = '16.0 16.0 16.0';
6009         MY(size_min) = 3;
6010         MY(size_max) = 3;
6011         MY(tex_min) = 62;
6012         MY(tex_max) = 62;
6013         MY(type) = "bubble";
6014         MY(underwater) = true;
6015         MY(velocityjitter) = '144.0 144.0 144.0';
6016 }
6017 // bouncing sparks
6018 SUB(fireball_explode) {
6019         MY(airfriction) = 0.200000;
6020         MY(alpha_min) = 256;
6021         MY(alpha_max) = 256;
6022         MY(alpha_fade) = 384;
6023         MY(bounce) = 1.500000;
6024         MY(color_min) = "0x903010";
6025         MY(color_max) = "0xFFD030";
6026         MY(count) = 64;
6027         MY(gravity) = 1;
6028         MY(liquidfriction) = 0.800000;
6029         MY(notunderwater) = true;
6030         MY(size_min) = 2;
6031         MY(size_max) = 2;
6032         MY(type) = "spark";
6033         MY(velocityjitter) = '384.0 384.0 384.0';
6034         MY(velocityoffset) = '0.0 0.0 80.0';
6035 }
6036
6037 DEF(fireball_muzzleflash);
6038 SUB(fireball_muzzleflash) {
6039         MY(alpha_min) = 256;
6040         MY(alpha_max) = 256;
6041         MY(alpha_fade) = 512;
6042         MY(color_min) = "0x202020";
6043         MY(color_max) = "0x404040";
6044         MY(count) = 2;
6045         MY(lightcolor) = '2.0 1.5 0.2';
6046         MY(lightradiusfade) = 2000;
6047         MY(lightradius) = 200;
6048         MY(originjitter) = '1.5 1.5 1.5';
6049         MY(size_min) = 5;
6050         MY(size_max) = 5;
6051         MY(tex_max) = 8;
6052         MY(type) = "smoke";
6053         MY(velocityjitter) = '6.0 6.0 6.0';
6054         MY(velocitymultiplier) = 0.010000;
6055 }
6056 SUB(fireball_muzzleflash) {
6057         MY(airfriction) = 12;
6058         MY(alpha_max) = 128;
6059         MY(alpha_fade) = 1024;
6060         MY(color_min) = "0xFFFDD9";
6061         MY(color_max) = "0xFFFDD9";
6062         MY(count) = 15;
6063         MY(originjitter) = '1.0 1.0 1.0';
6064         MY(size_min) = 3;
6065         MY(size_max) = 3;
6066         MY(tex_min) = 40;
6067         MY(tex_max) = 40;
6068         MY(type) = "spark";
6069         MY(velocityjitter) = '300.0 300.0 300.0';
6070         MY(velocitymultiplier) = 0.500000;
6071 }
6072
6073 DEF(fireball_preattack_muzzleflash);
6074 SUB(fireball_preattack_muzzleflash) {
6075         MY(alpha_min) = 256;
6076         MY(alpha_max) = 256;
6077         MY(alpha_fade) = 512;
6078         MY(color_min) = "0x202020";
6079         MY(color_max) = "0x404040";
6080         MY(count) = 2;
6081         MY(lightcolor) = '2.0 1.5 0.2';
6082         MY(lightradiusfade) = 2000;
6083         MY(lightradius) = 200;
6084         MY(originjitter) = '1.5 1.5 1.5';
6085         MY(size_min) = 5;
6086         MY(size_max) = 5;
6087         MY(tex_max) = 8;
6088         MY(type) = "smoke";
6089         MY(velocityjitter) = '6.0 6.0 6.0';
6090         MY(velocitymultiplier) = 0.010000;
6091 }
6092 SUB(fireball_preattack_muzzleflash) {
6093         MY(airfriction) = 12;
6094         MY(alpha_max) = 128;
6095         MY(alpha_fade) = 1024;
6096         MY(color_min) = "0xFFFDD9";
6097         MY(color_max) = "0xFFFDD9";
6098         MY(count) = 15;
6099         MY(originjitter) = '1.0 1.0 1.0';
6100         MY(size_min) = 3;
6101         MY(size_max) = 3;
6102         MY(tex_min) = 40;
6103         MY(tex_max) = 40;
6104         MY(type) = "spark";
6105         MY(velocityjitter) = '300.0 300.0 300.0';
6106         MY(velocitymultiplier) = 0.500000;
6107 }
6108
6109 DEF(fireball_bfgdamage);
6110 SUB(fireball_bfgdamage) {
6111         MY(alpha_min) = 256;
6112         MY(alpha_max) = 256;
6113         MY(alpha_fade) = 512;
6114         MY(color_min) = "0x202020";
6115         MY(color_max) = "0x404040";
6116         MY(count) = 2;
6117         MY(lightcolor) = '2.0 1.5 0.2';
6118         MY(lightradiusfade) = 2000;
6119         MY(lightradius) = 200;
6120         MY(originjitter) = '1.5 1.5 1.5';
6121         MY(size_min) = 5;
6122         MY(size_max) = 5;
6123         MY(tex_max) = 8;
6124         MY(type) = "smoke";
6125         MY(velocityjitter) = '6.0 6.0 6.0';
6126         MY(velocitymultiplier) = 0.010000;
6127 }
6128 SUB(fireball_bfgdamage) {
6129         MY(airfriction) = 12;
6130         MY(alpha_max) = 128;
6131         MY(alpha_fade) = 1024;
6132         MY(color_min) = "0xFFFDD9";
6133         MY(color_max) = "0xFFFDD9";
6134         MY(count) = 15;
6135         MY(originjitter) = '1.0 1.0 1.0';
6136         MY(size_min) = 3;
6137         MY(size_max) = 3;
6138         MY(tex_min) = 40;
6139         MY(tex_max) = 40;
6140         MY(type) = "spark";
6141         MY(velocityjitter) = '300.0 300.0 300.0';
6142         MY(velocitymultiplier) = 0.500000;
6143 }
6144
6145 DEF(EF_FLAME);
6146 // fire
6147 SUB(EF_FLAME) {
6148         MY(alpha_min) = 200;
6149         MY(alpha_max) = 356;
6150         MY(alpha_fade) = 512;
6151         MY(bounce) = 2;
6152         MY(color_min) = "0x8f0d00";
6153         MY(color_max) = "0xff5a00";
6154         MY(count) = 100;
6155         MY(gravity) = -0.500000;
6156         MY(originjitter) = '12.0 12.0 34.0';
6157         MY(originoffset) = '0.0 0.0 10.0';
6158         MY(sizeincrease) = -1;
6159         MY(size_min) = 5;
6160         MY(size_max) = 21;
6161         MY(tex_min) = 48;
6162         MY(tex_max) = 55;
6163         MY(type) = "smoke";
6164         MY(velocityjitter) = '22.0 22.0 50.0';
6165 }
6166 // smoke
6167 SUB(EF_FLAME) {
6168         MY(alpha_min) = 200;
6169         MY(alpha_max) = 256;
6170         MY(alpha_fade) = 200;
6171         MY(bounce) = 2;
6172         MY(color_min) = "0x000000";
6173         MY(color_max) = "0x111111";
6174         MY(count) = 50;
6175         MY(gravity) = -0.300000;
6176         MY(originjitter) = '12.0 12.0 34.0';
6177         MY(originoffset) = '0.0 0.0 10.0';
6178         MY(sizeincrease) = 6;
6179         MY(size_min) = 11;
6180         MY(size_max) = 15;
6181         MY(tex_max) = 8;
6182         MY(type) = "alphastatic";
6183         MY(velocityjitter) = '11.0 11.0 50.0';
6184 }
6185 SUB(EF_FLAME) {
6186         MY(count) = 0.500000;
6187         MY(lightcolor) = '0.9 0.9 0.2';
6188         MY(lightradiusfade) = 10000;
6189         MY(lightradius) = 200;
6190 }
6191
6192 // rifle bullet trail (somewhat like a tracer)
6193 DEF(tr_rifle);
6194 SUB(tr_rifle) {
6195         MY(alpha_min) = 256;
6196         MY(alpha_max) = 256;
6197         MY(alpha_fade) = 2560;
6198         MY(color_min) = "0x800000";
6199         MY(color_max) = "0xFF8020";
6200         MY(size_min) = 1.500000;
6201         MY(size_max) = 1.500000;
6202         MY(stretchfactor) = 1;
6203         MY(trailspacing) = 128;
6204         MY(type) = "spark";
6205         MY(velocitymultiplier) = 0.700000;
6206 }
6207 SUB(tr_rifle) {
6208         MY(airfriction) = -4;
6209         MY(alpha_min) = 256;
6210         MY(alpha_max) = 256;
6211         MY(alpha_fade) = 256;
6212         MY(color_min) = "0x202020";
6213         MY(color_max) = "0x404040";
6214         MY(notunderwater) = true;
6215         MY(sizeincrease) = 0.400000;
6216         MY(size_min) = 4;
6217         MY(size_max) = 4;
6218         MY(tex_max) = 8;
6219         MY(trailspacing) = 8;
6220         MY(type) = "smoke";
6221         MY(velocityjitter) = '4.0 4.0 4.0';
6222 }
6223 SUB(tr_rifle) {
6224         MY(alpha_min) = 256;
6225         MY(alpha_max) = 256;
6226         MY(alpha_fade) = 128;
6227         MY(bounce) = 1.500000;
6228         MY(color_min) = "0x404040";
6229         MY(color_max) = "0x808080";
6230         MY(gravity) = -0.125000;
6231         MY(liquidfriction) = 4;
6232         MY(size_min) = 2;
6233         MY(size_max) = 2;
6234         MY(tex_min) = 62;
6235         MY(tex_max) = 62;
6236         MY(trailspacing) = 32;
6237         MY(type) = "bubble";
6238         MY(underwater) = true;
6239         MY(velocityjitter) = '16.0 16.0 16.0';
6240 }
6241
6242 // rocket guiding start
6243 DEF(rocket_guide);
6244 // underwater bubbles
6245 SUB(rocket_guide) {
6246         MY(alpha_min) = 128;
6247         MY(alpha_max) = 256;
6248         MY(alpha_fade) = 64;
6249         MY(bounce) = 1.500000;
6250         MY(color_min) = "0x404040";
6251         MY(color_max) = "0x808080";
6252         MY(count) = 2;
6253         MY(gravity) = -0.125000;
6254         MY(liquidfriction) = 0.250000;
6255         MY(originjitter) = '8.0 8.0 8.0';
6256         MY(size_min) = 1.500000;
6257         MY(size_max) = 1.500000;
6258         MY(tex_min) = 62;
6259         MY(tex_max) = 62;
6260         MY(type) = "bubble";
6261         MY(underwater) = true;
6262         MY(velocityjitter) = '48.0 48.0 48.0';
6263         MY(velocitymultiplier) = -0.100000;
6264 }
6265 // bouncing sparks
6266 SUB(rocket_guide) {
6267         MY(airfriction) = 0.200000;
6268         MY(alpha_min) = 256;
6269         MY(alpha_max) = 256;
6270         MY(alpha_fade) = 984;
6271         MY(bounce) = 1.500000;
6272         MY(color_min) = "0x903010";
6273         MY(color_max) = "0xFFD030";
6274         MY(count) = 8;
6275         MY(gravity) = 1;
6276         MY(liquidfriction) = 0.800000;
6277         MY(notunderwater) = true;
6278         MY(size_min) = 0.300000;
6279         MY(size_max) = 0.700000;
6280         MY(stretchfactor) = 0.400000;
6281         MY(tex_min) = 40;
6282         MY(tex_max) = 40;
6283         MY(type) = "spark";
6284         MY(velocityjitter) = '156.0 156.0 156.0';
6285         MY(velocitymultiplier) = -0.300000;
6286         MY(velocityoffset) = '0.0 0.0 80.0';
6287 }
6288 SUB(rocket_guide) {
6289         MY(alpha_min) = 100;
6290         MY(alpha_max) = 100;
6291         MY(alpha_fade) = 500;
6292         MY(color_min) = "0x903010";
6293         MY(color_max) = "0xFFD030";
6294         MY(countabsolute) = 1;
6295         MY(sizeincrease) = 300;
6296         MY(size_min) = 10;
6297         MY(size_max) = 10;
6298         MY(tex_min) = 65;
6299         MY(tex_max) = 65;
6300         MY(type) = "smoke";
6301 }
6302
6303 // gauntlet laser
6304 DEF(laser_gauntlet);
6305 SUB(laser_gauntlet) {
6306         MY(airfriction) = 10;
6307         MY(alpha_min) = 128;
6308         MY(alpha_max) = 512;
6309         MY(alpha_fade) = 6280;
6310         MY(color_min) = "0xb44215";
6311         MY(color_max) = "0x880000";
6312         MY(count) = 3;
6313         MY(originjitter) = '2.0 2.0 2.0';
6314         MY(startangle_min) = -180;
6315         MY(startangle_max) = 180;
6316         MY(spin_min) = 4000;
6317         MY(spin_max) = -4000;
6318         MY(sizeincrease) = -100;
6319         MY(size_min) = 7;
6320         MY(size_max) = 10;
6321         MY(stretchfactor) = 2.300000;
6322         MY(tex_min) = 43;
6323         MY(tex_max) = 43;
6324         MY(type) = "spark";
6325         MY(velocityjitter) = '150.0 150.0 150.0';
6326         MY(velocitymultiplier) = 0.200000;
6327 }
6328 SUB(laser_gauntlet) {
6329         MY(airfriction) = 12;
6330         MY(alpha_min) = 256;
6331         MY(alpha_max) = 512;
6332         MY(alpha_fade) = 6280;
6333         MY(color_min) = "0xff4200";
6334         MY(color_max) = "0xff0000";
6335         MY(count) = 6;
6336         MY(originjitter) = '2.0 2.0 2.0';
6337         MY(sizeincrease) = -100;
6338         MY(size_min) = 7;
6339         MY(size_max) = 9;
6340         MY(stretchfactor) = 2;
6341         MY(tex_min) = 8;
6342         MY(tex_max) = 15;
6343         MY(type) = "spark";
6344         MY(velocityjitter) = '100.0 100.0 100.0';
6345         MY(velocitymultiplier) = 0.200000;
6346 }
6347
6348 DEF(laser_gauntletmuzzleflash);
6349 // glow and light
6350 SUB(laser_gauntletmuzzleflash) {
6351         MY(airfriction) = 10;
6352         MY(alpha_min) = 256;
6353         MY(alpha_max) = 512;
6354         MY(alpha_fade) = 6280;
6355         MY(color_min) = "0x220000";
6356         MY(color_max) = "0x880000";
6357         MY(countabsolute) = 1;
6358         MY(lightcolor) = '3.0 0.1 0.1';
6359         MY(lightradiusfade) = 500;
6360         MY(lightradius) = 150;
6361         MY(sizeincrease) = -100;
6362         MY(size_min) = 10;
6363         MY(size_max) = 15;
6364         MY(stretchfactor) = 2;
6365         MY(tex_min) = 65;
6366         MY(tex_max) = 65;
6367         MY(type) = "smoke";
6368 }
6369 // electricity
6370 SUB(laser_gauntletmuzzleflash) {
6371         MY(airfriction) = 10;
6372         MY(alpha_min) = 128;
6373         MY(alpha_max) = 512;
6374         MY(alpha_fade) = 6280;
6375         MY(color_min) = "0xb44215";
6376         MY(color_max) = "0x880000";
6377         MY(count) = 3;
6378         MY(originjitter) = '2.0 2.0 2.0';
6379         MY(startangle_min) = -180;
6380         MY(startangle_max) = 180;
6381         MY(spin_min) = 4000;
6382         MY(spin_max) = -4000;
6383         MY(sizeincrease) = -100;
6384         MY(size_min) = 7;
6385         MY(size_max) = 10;
6386         MY(stretchfactor) = 2.300000;
6387         MY(tex_min) = 43;
6388         MY(tex_max) = 43;
6389         MY(type) = "spark";
6390         MY(velocityjitter) = '150.0 150.0 150.0';
6391         MY(velocitymultiplier) = 0.200000;
6392 }
6393 // fire
6394 SUB(laser_gauntletmuzzleflash) {
6395         MY(airfriction) = 12;
6396         MY(alpha_min) = 256;
6397         MY(alpha_max) = 512;
6398         MY(alpha_fade) = 6280;
6399         MY(color_min) = "0xff4200";
6400         MY(color_max) = "0xff0000";
6401         MY(count) = 6;
6402         MY(originjitter) = '2.0 2.0 2.0';
6403         MY(sizeincrease) = -100;
6404         MY(size_min) = 7;
6405         MY(size_max) = 9;
6406         MY(stretchfactor) = 2;
6407         MY(tex_min) = 8;
6408         MY(tex_max) = 15;
6409         MY(type) = "spark";
6410         MY(velocityjitter) = '100.0 100.0 100.0';
6411         MY(velocitymultiplier) = 0.200000;
6412 }
6413
6414 // torch flame, spawn it as fast as you can  20 times per second or more, supports direction but not required
6415 DEF(torchflame);
6416 // fast fire
6417 SUB(torchflame) {
6418         MY(airfriction) = 1.200000;
6419         MY(alpha_min) = 50;
6420         MY(alpha_max) = 256;
6421         MY(alpha_fade) = 250;
6422         MY(color_min) = "0x8f0d00";
6423         MY(color_max) = "0xff5a00";
6424         MY(count) = 3;
6425         MY(gravity) = -0.060000;
6426         MY(sizeincrease) = 20;
6427         MY(size_min) = 5;
6428         MY(size_max) = 5;
6429         MY(tex_min) = 48;
6430         MY(tex_max) = 55;
6431         MY(type) = "smoke";
6432         MY(velocityjitter) = '40.0 40.0 11.0';
6433         MY(velocitymultiplier) = 30;
6434 }
6435 // slow fire
6436 SUB(torchflame) {
6437         MY(airfriction) = 1.200000;
6438         MY(alpha_min) = 50;
6439         MY(alpha_max) = 256;
6440         MY(alpha_fade) = 200;
6441         MY(color_min) = "0x8f0d00";
6442         MY(color_max) = "0xff5a00";
6443         MY(count) = 2.500000;
6444         MY(gravity) = -0.060000;
6445         MY(sizeincrease) = 20;
6446         MY(size_min) = 5;
6447         MY(size_max) = 5;
6448         MY(tex_min) = 48;
6449         MY(tex_max) = 55;
6450         MY(type) = "smoke";
6451         MY(velocityjitter) = '40.0 40.0 40.0';
6452         MY(velocitymultiplier) = 20;
6453 }
6454 // very slow and small fire
6455 SUB(torchflame) {
6456         MY(airfriction) = 0.300000;
6457         MY(alpha_min) = 50;
6458         MY(alpha_max) = 256;
6459         MY(alpha_fade) = 200;
6460         MY(color_min) = "0x8f0d00";
6461         MY(color_max) = "0xff5a00";
6462         MY(count) = 1.500000;
6463         MY(gravity) = -0.060000;
6464         MY(sizeincrease) = 10;
6465         MY(size_min) = 5;
6466         MY(size_max) = 5;
6467         MY(tex_min) = 48;
6468         MY(tex_max) = 55;
6469         MY(type) = "smoke";
6470         MY(velocityjitter) = '30.0 30.0 30.0';
6471         MY(velocitymultiplier) = 10;
6472 }
6473 // decreasing fire
6474 SUB(torchflame) {
6475         MY(airfriction) = 0.300000;
6476         MY(alpha_min) = 50;
6477         MY(alpha_max) = 256;
6478         MY(alpha_fade) = 200;
6479         MY(color_min) = "0x8f0d00";
6480         MY(color_max) = "0xff5a00";
6481         MY(count) = 2;
6482         MY(gravity) = -0.060000;
6483         MY(sizeincrease) = -10;
6484         MY(size_min) = 20;
6485         MY(size_max) = 30;
6486         MY(tex_min) = 48;
6487         MY(tex_max) = 55;
6488         MY(type) = "smoke";
6489         MY(velocityjitter) = '10.0 10.0 10.0';
6490         MY(velocitymultiplier) = 15;
6491 }
6492 // smoke
6493 SUB(torchflame) {
6494         MY(airfriction) = 1;
6495         MY(alpha_min) = 256;
6496         MY(alpha_max) = 256;
6497         MY(alpha_fade) = 90;
6498         MY(color_min) = "0x000000";
6499         MY(color_max) = "0x111111";
6500         MY(count) = 0.500000;
6501         MY(originjitter) = '10.0 10.0 10.0';
6502         MY(sizeincrease) = 7;
6503         MY(size_min) = 5;
6504         MY(size_max) = 15;
6505         MY(tex_max) = 8;
6506         MY(type) = "alphastatic";
6507         MY(velocitymultiplier) = 20;
6508         MY(velocityoffset) = '0.0 0.0 10.0';
6509 }
6510
6511 // happy death fx for cl_gentle
6512 DEF(happy_damage_dissolve);
6513 SUB(happy_damage_dissolve) {
6514         MY(airfriction) = 3;
6515         MY(alpha_min) = 256;
6516         MY(alpha_max) = 256;
6517         MY(alpha_fade) = 228;
6518         MY(bounce) = 1.500000;
6519         MY(color_min) = "0x00FFFF";
6520         MY(color_max) = "0xFF00FF";
6521         MY(count) = 15;
6522         MY(gravity) = -0.400000;
6523         MY(liquidfriction) = 6;
6524         MY(sizeincrease) = -10;
6525         MY(size_min) = 32;
6526         MY(size_max) = 32;
6527         MY(tex_min) = 69;
6528         MY(tex_max) = 69;
6529         MY(type) = "alphastatic";
6530         MY(velocityjitter) = '312.0 312.0 312.0';
6531 }
6532 SUB(happy_damage_dissolve) {
6533         MY(airfriction) = 3;
6534         MY(alpha_min) = 256;
6535         MY(alpha_max) = 256;
6536         MY(alpha_fade) = 228;
6537         MY(bounce) = 1.500000;
6538         MY(color_min) = "0xFF00FF";
6539         MY(color_max) = "0xFFFF00";
6540         MY(count) = 15;
6541         MY(gravity) = -0.400000;
6542         MY(liquidfriction) = 6;
6543         MY(sizeincrease) = -10;
6544         MY(size_min) = 32;
6545         MY(size_max) = 32;
6546         MY(tex_min) = 69;
6547         MY(tex_max) = 69;
6548         MY(type) = "alphastatic";
6549         MY(velocityjitter) = '312.0 312.0 312.0';
6550 }
6551 SUB(happy_damage_dissolve) {
6552         MY(airfriction) = 3;
6553         MY(alpha_min) = 256;
6554         MY(alpha_max) = 256;
6555         MY(alpha_fade) = 228;
6556         MY(bounce) = 1.500000;
6557         MY(color_min) = "0xFFFF00";
6558         MY(color_max) = "0x00FFFF";
6559         MY(count) = 15;
6560         MY(gravity) = -0.400000;
6561         MY(liquidfriction) = 6;
6562         MY(sizeincrease) = -10;
6563         MY(size_min) = 32;
6564         MY(size_max) = 32;
6565         MY(tex_min) = 69;
6566         MY(tex_max) = 69;
6567         MY(type) = "alphastatic";
6568         MY(velocityjitter) = '312.0 312.0 312.0';
6569 }
6570
6571 // happy damage fx for cl_gentle
6572 DEF(happy_damage_hit);
6573 SUB(happy_damage_hit) {
6574         MY(airfriction) = 5;
6575         MY(alpha_min) = 128;
6576         MY(alpha_max) = 128;
6577         MY(alpha_fade) = 192;
6578         MY(bounce) = 1.500000;
6579         MY(color_min) = "0x00FFFF";
6580         MY(color_max) = "0xFF00FF";
6581         MY(count) = 0.100000;
6582         MY(gravity) = -0.400000;
6583         MY(liquidfriction) = 10;
6584         MY(sizeincrease) = -28;
6585         MY(size_min) = 26;
6586         MY(size_max) = 26;
6587         MY(tex_min) = 69;
6588         MY(tex_max) = 69;
6589         MY(type) = "alphastatic";
6590         MY(velocityjitter) = '156.0 156.0 156.0';
6591 }
6592 SUB(happy_damage_hit) {
6593         MY(airfriction) = 5;
6594         MY(alpha_min) = 128;
6595         MY(alpha_max) = 128;
6596         MY(alpha_fade) = 192;
6597         MY(bounce) = 1.500000;
6598         MY(color_min) = "0xFF00FF";
6599         MY(color_max) = "0xFFFF00";
6600         MY(count) = 0.100000;
6601         MY(gravity) = -0.400000;
6602         MY(liquidfriction) = 10;
6603         MY(sizeincrease) = -28;
6604         MY(size_min) = 26;
6605         MY(size_max) = 26;
6606         MY(tex_min) = 69;
6607         MY(tex_max) = 69;
6608         MY(type) = "alphastatic";
6609         MY(velocityjitter) = '156.0 156.0 156.0';
6610 }
6611 SUB(happy_damage_hit) {
6612         MY(airfriction) = 5;
6613         MY(alpha_min) = 128;
6614         MY(alpha_max) = 128;
6615         MY(alpha_fade) = 192;
6616         MY(bounce) = 1.500000;
6617         MY(color_min) = "0xFFFF00";
6618         MY(color_max) = "0x00FFFF";
6619         MY(count) = 0.100000;
6620         MY(gravity) = -0.400000;
6621         MY(liquidfriction) = 10;
6622         MY(sizeincrease) = -28;
6623         MY(size_min) = 26;
6624         MY(size_max) = 26;
6625         MY(tex_min) = 69;
6626         MY(tex_max) = 69;
6627         MY(type) = "alphastatic";
6628         MY(velocityjitter) = '156.0 156.0 156.0';
6629 }
6630
6631 DEF(electro_lightning);
6632 SUB(electro_lightning) {
6633         MY(alpha_min) = 256;
6634         MY(alpha_max) = 256;
6635         MY(countabsolute) = 1;
6636         MY(lightcolor) = '3.1 4.4 10.0';
6637         MY(lightradiusfade) = 500;
6638         MY(lightradius) = 50;
6639         MY(originjitter) = '2.0 2.0 2.0';
6640         MY(size_min) = 16;
6641         MY(size_max) = 16;
6642         MY(tex_min) = 59;
6643         MY(tex_max) = 59;
6644         MY(type) = "decal";
6645 }
6646 SUB(electro_lightning) {
6647         MY(alpha_min) = 100;
6648         MY(alpha_max) = 206;
6649         MY(alpha_fade) = 1724;
6650         MY(color_min) = "0x2030FF";
6651         MY(color_max) = "0x80C0FF";
6652         MY(count) = 300;
6653         MY(originjitter) = '1.5 1.5 1.5';
6654         MY(sizeincrease) = 10;
6655         MY(size_min) = 6;
6656         MY(size_max) = 6;
6657         MY(tex_min) = 65;
6658         MY(tex_max) = 65;
6659         MY(type) = "spark";
6660         MY(velocityjitter) = '6.0 6.0 6.0';
6661         MY(velocitymultiplier) = 2000;
6662 }
6663 SUB(electro_lightning) {
6664         MY(airfriction) = 2;
6665         MY(alpha_min) = 110;
6666         MY(alpha_max) = 170;
6667         MY(alpha_fade) = 1500;
6668         MY(color_min) = "0xDDFDFF";
6669         MY(color_max) = "0xFDFDFF";
6670         MY(count) = 30;
6671         MY(originjitter) = '1.0 1.0 1.0';
6672         MY(size_min) = 2;
6673         MY(size_max) = 5;
6674         MY(stretchfactor) = 1.500000;
6675         MY(tex_min) = 8;
6676         MY(tex_max) = 15;
6677         MY(type) = "spark";
6678         MY(velocityjitter) = '150.0 150.0 150.0';
6679         MY(velocitymultiplier) = 0.500000;
6680 }
6681 SUB(electro_lightning) {
6682         MY(airfriction) = 8;
6683         MY(alpha_min) = 110;
6684         MY(alpha_max) = 170;
6685         MY(alpha_fade) = 1500;
6686         MY(color_min) = "0xFDFDFF";
6687         MY(color_max) = "0xF9FDFF";
6688         MY(count) = 50;
6689         MY(gravity) = 1.300000;
6690         MY(originjitter) = '1.0 1.0 1.0';
6691         MY(size_min) = 2;
6692         MY(size_max) = 3;
6693         MY(stretchfactor) = 0.100000;
6694         MY(tex_min) = 41;
6695         MY(tex_max) = 41;
6696         MY(type) = "spark";
6697         MY(velocityjitter) = '350.0 350.0 350.0';
6698         MY(velocitymultiplier) = 2.500000;
6699 }
6700
6701 DEF(gauntlet_lightning);
6702 SUB(gauntlet_lightning) {
6703         MY(alpha_min) = 256;
6704         MY(alpha_max) = 256;
6705         MY(alpha_fade) = 1024;
6706         MY(color_min) = "0x280000";
6707         MY(color_max) = "0x280000";
6708         MY(count) = 300;
6709         MY(originjitter) = '1.5 1.5 1.5';
6710         MY(sizeincrease) = 15;
6711         MY(size_min) = 3;
6712         MY(size_max) = 3;
6713         MY(tex_min) = 65;
6714         MY(tex_max) = 65;
6715         MY(type) = "spark";
6716         MY(velocityjitter) = '6.0 6.0 6.0';
6717         MY(velocitymultiplier) = 2000;
6718 }
6719 SUB(gauntlet_lightning) {
6720         MY(airfriction) = 2;
6721         MY(alpha_min) = 110;
6722         MY(alpha_max) = 228;
6723         MY(alpha_fade) = 1024;
6724         MY(color_min) = "0xDD0000";
6725         MY(color_max) = "0xFD0000";
6726         MY(count) = 30;
6727         MY(originjitter) = '1.0 1.0 1.0';
6728         MY(size_min) = 2;
6729         MY(size_max) = 5;
6730         MY(stretchfactor) = 1.500000;
6731         MY(tex_min) = 8;
6732         MY(tex_max) = 15;
6733         MY(type) = "spark";
6734         MY(velocityjitter) = '150.0 150.0 150.0';
6735         MY(velocitymultiplier) = 0.500000;
6736 }
6737 SUB(gauntlet_lightning) {
6738         MY(airfriction) = 8;
6739         MY(alpha_min) = 110;
6740         MY(alpha_max) = 228;
6741         MY(alpha_fade) = 600;
6742         MY(color_min) = "0xFD0000";
6743         MY(color_max) = "0xF90000";
6744         MY(count) = 50;
6745         MY(gravity) = 1.300000;
6746         MY(originjitter) = '1.0 1.0 1.0';
6747         MY(size_min) = 2;
6748         MY(size_max) = 3;
6749         MY(stretchfactor) = 0.100000;
6750         MY(tex_min) = 41;
6751         MY(tex_max) = 41;
6752         MY(type) = "spark";
6753         MY(velocityjitter) = '350.0 350.0 350.0';
6754         MY(velocitymultiplier) = 2.500000;
6755 }
6756
6757 DEF(crylink_joinexplode);
6758 // decal
6759 SUB(crylink_joinexplode) {
6760         MY(alpha_min) = 256;
6761         MY(alpha_max) = 256;
6762         MY(countabsolute) = 1;
6763         MY(originjitter) = '12.0 12.0 12.0';
6764         MY(size_min) = 24;
6765         MY(size_max) = 24;
6766         MY(tex_min) = 47;
6767         MY(tex_max) = 47;
6768         MY(type) = "decal";
6769 }
6770 // purple flare effect
6771 SUB(crylink_joinexplode) {
6772         MY(alpha_min) = 256;
6773         MY(alpha_max) = 256;
6774         MY(alpha_fade) = 512;
6775         MY(color_min) = "0x504060";
6776         MY(color_max) = "0x504060";
6777         MY(countabsolute) = 1;
6778         MY(size_min) = 24;
6779         MY(size_max) = 24;
6780         MY(tex_min) = 39;
6781         MY(tex_max) = 39;
6782         MY(type) = "static";
6783 }
6784 // purple sparks
6785 SUB(crylink_joinexplode) {
6786         MY(alpha_min) = 256;
6787         MY(alpha_max) = 256;
6788         MY(alpha_fade) = 1024;
6789         MY(bounce) = 2;
6790         MY(color_min) = "0xA040C0";
6791         MY(color_max) = "0xA040C0";
6792         MY(count) = 40;
6793         MY(size_min) = 6;
6794         MY(size_max) = 6;
6795         MY(tex_min) = 41;
6796         MY(tex_max) = 41;
6797         MY(type) = "spark";
6798         MY(velocityjitter) = '512.0 512.0 512.0';
6799 }
6800 // purple splash
6801 SUB(crylink_joinexplode) {
6802         MY(alpha_min) = 256;
6803         MY(alpha_max) = 256;
6804         MY(alpha_fade) = 512;
6805         MY(color_min) = "0xE070FF";
6806         MY(color_max) = "0xE070FF";
6807         MY(count) = 1.500000;
6808         MY(size_min) = 16;
6809         MY(size_max) = 16;
6810         MY(type) = "static";
6811         MY(velocityjitter) = '32.0 32.0 32.0';
6812 }
6813 // purple splash
6814 SUB(crylink_joinexplode) {
6815         MY(alpha_min) = 256;
6816         MY(alpha_max) = 256;
6817         MY(alpha_fade) = 1024;
6818         MY(color_min) = "0xE070FF";
6819         MY(color_max) = "0xE070FF";
6820         MY(count) = 3;
6821         MY(size_min) = 16;
6822         MY(size_max) = 16;
6823         MY(type) = "static";
6824         MY(velocityjitter) = '256.0 256.0 256.0';
6825 }
6826
6827 // sparks for keepaway ball touch
6828 DEF(kaball_sparks);
6829 SUB(kaball_sparks) {
6830         MY(airfriction) = 3;
6831         MY(alpha_max) = 256;
6832         MY(alpha_fade) = 556;
6833         MY(bounce) = 1.500000;
6834         MY(color_min) = "0xa9cacf";
6835         MY(color_max) = "0x0054ff";
6836         MY(count) = 35;
6837         MY(gravity) = 1;
6838         MY(originjitter) = '1.0 1.0 1.0';
6839         MY(size_min) = 1;
6840         MY(size_max) = 3;
6841         MY(tex_min) = 40;
6842         MY(tex_max) = 40;
6843         MY(type) = "spark";
6844         MY(velocityjitter) = '300.0 300.0 300.0';
6845         MY(velocitymultiplier) = 0.500000;
6846 }
6847
6848 // weak rifle bullet trail (somewhat like a tracer)
6849 DEF(tr_rifle_weak);
6850 SUB(tr_rifle_weak) {
6851         MY(alpha_min) = 256;
6852         MY(alpha_max) = 256;
6853         MY(alpha_fade) = 2560;
6854         MY(color_min) = "0x800000";
6855         MY(color_max) = "0xFF8020";
6856         MY(size_min) = 1.500000;
6857         MY(size_max) = 1.500000;
6858         MY(stretchfactor) = 1;
6859         MY(trailspacing) = 128;
6860         MY(type) = "spark";
6861         MY(velocitymultiplier) = 0.700000;
6862 }
6863 SUB(tr_rifle_weak) {
6864         MY(airfriction) = -4;
6865         MY(alpha_min) = 256;
6866         MY(alpha_max) = 256;
6867         MY(alpha_fade) = 256;
6868         MY(color_min) = "0x202020";
6869         MY(color_max) = "0x404040";
6870         MY(notunderwater) = true;
6871         MY(sizeincrease) = 0.400000;
6872         MY(size_min) = 4;
6873         MY(size_max) = 4;
6874         MY(tex_max) = 8;
6875         MY(trailspacing) = 48;
6876         MY(type) = "smoke";
6877         MY(velocityjitter) = '4.0 4.0 4.0';
6878 }
6879 SUB(tr_rifle_weak) {
6880         MY(alpha_min) = 256;
6881         MY(alpha_max) = 256;
6882         MY(alpha_fade) = 128;
6883         MY(bounce) = 1.500000;
6884         MY(color_min) = "0x404040";
6885         MY(color_max) = "0x808080";
6886         MY(gravity) = -0.125000;
6887         MY(liquidfriction) = 4;
6888         MY(size_min) = 2;
6889         MY(size_max) = 2;
6890         MY(tex_min) = 62;
6891         MY(tex_max) = 62;
6892         MY(trailspacing) = 192;
6893         MY(type) = "bubble";
6894         MY(underwater) = true;
6895         MY(velocityjitter) = '16.0 16.0 16.0';
6896 }
6897
6898 // red smoke emiter
6899 DEF(red_smoke);
6900 SUB(red_smoke) {
6901         MY(airfriction) = -1;
6902         MY(alpha_min) = 32;
6903         MY(alpha_max) = 64;
6904         MY(alpha_fade) = 32;
6905         MY(color_min) = "0xff8866";
6906         MY(color_max) = "0x331100";
6907         MY(count) = 2;
6908         MY(gravity) = -0.007000;
6909         MY(startangle_max) = 360;
6910         MY(spin_min) = -30;
6911         MY(spin_max) = 30;
6912         MY(size_min) = 60;
6913         MY(size_max) = 120;
6914         MY(tex_max) = 8;
6915         MY(type) = "smoke";
6916         MY(velocitymultiplier) = 5;
6917 }
6918
6919 // pipe smoke emiter
6920 DEF(pipe_smoke);
6921 SUB(pipe_smoke) {
6922         MY(airfriction) = -1;
6923         MY(alpha_min) = 32;
6924         MY(alpha_max) = 64;
6925         MY(alpha_fade) = 48;
6926         MY(color_min) = "0x999999";
6927         MY(color_max) = "0x555555";
6928         MY(count) = 2;
6929         MY(gravity) = -0.015000;
6930         MY(startangle_max) = 360;
6931         MY(spin_min) = -180;
6932         MY(spin_max) = 180;
6933         MY(sizeincrease) = 35;
6934         MY(size_min) = 5;
6935         MY(size_max) = 10;
6936         MY(tex_max) = 8;
6937         MY(type) = "smoke";
6938         MY(velocityjitter) = '0.0 0.0 5.0';
6939         MY(velocitymultiplier) = 15;
6940 }
6941
6942 // seeker missile trail
6943 DEF(TR_SEEKER);
6944 SUB(TR_SEEKER) {
6945         MY(alpha_min) = 200;
6946         MY(alpha_max) = 300;
6947         MY(alpha_fade) = 200;
6948         MY(bounce) = 1;
6949         MY(color_min) = "0x000000";
6950         MY(color_max) = "0x666666";
6951         MY(lightcolor) = '6.0 3.0 1.0';
6952         MY(lightradius) = 100;
6953         MY(notunderwater) = true;
6954         MY(originjitter) = '2.0 2.0 2.0';
6955         MY(startangle_min) = -180;
6956         MY(startangle_max) = 180;
6957         MY(spin_min) = -30;
6958         MY(spin_max) = 30;
6959         MY(sizeincrease) = 11;
6960         MY(size_min) = 2;
6961         MY(size_max) = 2;
6962         MY(tex_max) = 8;
6963         MY(trailspacing) = 10;
6964         MY(type) = "smoke";
6965         MY(velocityjitter) = '3.0 3.0 3.0';
6966         MY(velocitymultiplier) = -0.020000;
6967 }
6968 // fire
6969 SUB(TR_SEEKER) {
6970         MY(airfriction) = 8;
6971         MY(alpha_min) = 100;
6972         MY(alpha_max) = 144;
6973         MY(alpha_fade) = 588;
6974         MY(color_min) = "0xffdf72";
6975         MY(color_max) = "0x811200";
6976         MY(sizeincrease) = -30;
6977         MY(size_min) = 5;
6978         MY(size_max) = 5;
6979         MY(tex_min) = 48;
6980         MY(tex_max) = 55;
6981         MY(trailspacing) = 4;
6982         MY(type) = "static";
6983         MY(velocityjitter) = '32.0 32.0 32.0';
6984         MY(velocitymultiplier) = -1.500000;
6985 }
6986 // bubbles
6987 SUB(TR_SEEKER) {
6988         MY(alpha_min) = 256;
6989         MY(alpha_max) = 256;
6990         MY(alpha_fade) = 256;
6991         MY(bounce) = 1.500000;
6992         MY(gravity) = -0.125000;
6993         MY(liquidfriction) = 4;
6994         MY(size_min) = 1;
6995         MY(size_max) = 2;
6996         MY(tex_min) = 62;
6997         MY(tex_max) = 62;
6998         MY(trailspacing) = 16;
6999         MY(type) = "bubble";
7000         MY(underwater) = true;
7001         MY(velocityjitter) = '16.0 16.0 16.0';
7002         MY(velocitymultiplier) = -0.310000;
7003 }
7004 // sparks
7005 SUB(TR_SEEKER) {
7006         MY(airfriction) = 5;
7007         MY(alpha_min) = 444;
7008         MY(alpha_max) = 512;
7009         MY(alpha_fade) = 1866;
7010         MY(bounce) = 1;
7011         MY(color_min) = "0xFFFDD9";
7012         MY(color_max) = "0xFFFDD9";
7013         MY(notunderwater) = true;
7014         MY(originjitter) = '1.0 1.0 1.0';
7015         MY(size_min) = 0.500000;
7016         MY(size_max) = 0.500000;
7017         MY(stretchfactor) = 0.300000;
7018         MY(tex_min) = 40;
7019         MY(tex_max) = 40;
7020         MY(trailspacing) = 20;
7021         MY(type) = "spark";
7022         MY(velocityjitter) = '100.0 100.0 100.0';
7023         MY(velocitymultiplier) = -0.310000;
7024 }
7025
7026 DEF(spiderbot_minigun_trail);
7027 SUB(spiderbot_minigun_trail) {
7028         MY(airfriction) = 1;
7029         MY(alpha_min) = 20;
7030         MY(alpha_max) = 50;
7031         MY(alpha_fade) = 100;
7032         MY(color_min) = "0xd0d0a0";
7033         MY(color_max) = "0xffffff";
7034         MY(gravity) = -0.030000;
7035         MY(notunderwater) = true;
7036         MY(sizeincrease) = 2;
7037         MY(size_min) = 1;
7038         MY(size_max) = 2;
7039         MY(tex_max) = 8;
7040         MY(trailspacing) = 10;
7041         MY(type) = "smoke";
7042         MY(velocityjitter) = '5.0 5.0 5.0';
7043 }
7044
7045 DEF(spiderbot_minigun_muzzleflash);
7046 SUB(spiderbot_minigun_muzzleflash) {
7047         MY(airfriction) = 10;
7048         MY(alpha_min) = 256;
7049         MY(alpha_max) = 512;
7050         MY(alpha_fade) = 6280;
7051         MY(color_min) = "0xff9c00";
7052         MY(color_max) = "0xff8400";
7053         MY(count) = 3;
7054         MY(originjitter) = '2.0 2.0 2.0';
7055         MY(startangle_min) = -180;
7056         MY(startangle_max) = 180;
7057         MY(spin_min) = 4000;
7058         MY(spin_max) = -4000;
7059         MY(sizeincrease) = -100;
7060         MY(size_min) = 10;
7061         MY(size_max) = 15;
7062         MY(stretchfactor) = 1.300000;
7063         MY(tex_min) = 48;
7064         MY(tex_max) = 55;
7065         MY(type) = "spark";
7066         MY(velocityjitter) = '150.0 150.0 150.0';
7067         MY(velocitymultiplier) = 0.350000;
7068 }
7069 // fire
7070 SUB(spiderbot_minigun_muzzleflash) {
7071         MY(airfriction) = 12;
7072         MY(alpha_min) = 256;
7073         MY(alpha_max) = 512;
7074         MY(alpha_fade) = 6280;
7075         MY(color_min) = "0xff9c00";
7076         MY(color_max) = "0xff8400";
7077         MY(count) = 6;
7078         MY(originjitter) = '2.0 2.0 2.0';
7079         MY(sizeincrease) = -10;
7080         MY(size_min) = 5;
7081         MY(size_max) = 7;
7082         MY(stretchfactor) = 0.800000;
7083         MY(tex_min) = 8;
7084         MY(tex_max) = 15;
7085         MY(type) = "spark";
7086         MY(velocityjitter) = '200.0 200.0 200.0';
7087         MY(velocitymultiplier) = 0.200000;
7088 }
7089 SUB(spiderbot_minigun_muzzleflash) {
7090         MY(alpha_min) = 256;
7091         MY(alpha_max) = 512;
7092         MY(alpha_fade) = 6680;
7093         MY(color_min) = "0xff9c00";
7094         MY(color_max) = "0xff8400";
7095         MY(countabsolute) = 2;
7096         MY(lightcolor) = '3.0 3.0 0.0';
7097         MY(lightradiusfade) = 8000;
7098         MY(lightradius) = 120;
7099         MY(startangle_min) = -180;
7100         MY(startangle_max) = 180;
7101         MY(spin_min) = 4000;
7102         MY(spin_max) = -4000;
7103         MY(sizeincrease) = -100;
7104         MY(size_min) = 32;
7105         MY(size_max) = 32;
7106         MY(stretchfactor) = 0.100000;
7107         MY(tex_min) = 48;
7108         MY(tex_max) = 55;
7109         MY(type) = "static";
7110 }
7111
7112 DEF(spiderbot_minigun_impact);
7113 SUB(spiderbot_minigun_impact) {
7114         MY(alpha_min) = 50;
7115         MY(alpha_max) = 100;
7116         MY(alpha_fade) = 1680;
7117         MY(color_min) = "0xff9c00";
7118         MY(color_max) = "0xf6ff00";
7119         MY(countabsolute) = 1;
7120         MY(startangle_min) = -180;
7121         MY(startangle_max) = 180;
7122         MY(spin_min) = 4000;
7123         MY(spin_max) = -4000;
7124         MY(sizeincrease) = -100;
7125         MY(size_min) = 52;
7126         MY(size_max) = 52;
7127         MY(stretchfactor) = 0.100000;
7128         MY(tex_min) = 65;
7129         MY(tex_max) = 65;
7130         MY(type) = "static";
7131 }
7132 // fire
7133 SUB(spiderbot_minigun_impact) {
7134         MY(airfriction) = 6;
7135         MY(alpha_min) = 256;
7136         MY(alpha_max) = 512;
7137         MY(alpha_fade) = 6280;
7138         MY(color_min) = "0xff9c00";
7139         MY(color_max) = "0xff8400";
7140         MY(count) = 7;
7141         MY(originjitter) = '2.0 2.0 2.0';
7142         MY(startangle_min) = -180;
7143         MY(startangle_max) = 180;
7144         MY(spin_min) = 4000;
7145         MY(spin_max) = -4000;
7146         MY(sizeincrease) = 100;
7147         MY(size_min) = 9;
7148         MY(size_max) = 15;
7149         MY(stretchfactor) = 3;
7150         MY(tex_min) = 48;
7151         MY(tex_max) = 55;
7152         MY(type) = "spark";
7153         MY(velocityjitter) = '250.0 250.0 150.0';
7154         MY(velocitymultiplier) = 0.200000;
7155 }
7156 // smoke
7157 SUB(spiderbot_minigun_impact) {
7158         MY(airfriction) = 10;
7159         MY(alpha_min) = 50;
7160         MY(alpha_max) = 50;
7161         MY(alpha_fade) = 190;
7162         MY(color_min) = "0xd0d0a0";
7163         MY(color_max) = "0xffffff";
7164         MY(count) = 6;
7165         MY(gravity) = 1.300000;
7166         MY(startangle_min) = -180;
7167         MY(startangle_max) = 180;
7168         MY(sizeincrease) = 80;
7169         MY(size_min) = 10;
7170         MY(size_max) = 20;
7171         MY(tex_max) = 8;
7172         MY(type) = "smoke";
7173         MY(velocityjitter) = '100.0 100.0 250.0';
7174         MY(velocitymultiplier) = 0.490000;
7175 }
7176 // smoke 2
7177 SUB(spiderbot_minigun_impact) {
7178         MY(airfriction) = 6;
7179         MY(alpha_min) = 25;
7180         MY(alpha_max) = 51;
7181         MY(alpha_fade) = 128;
7182         MY(color_min) = "0xd0d0a0";
7183         MY(color_max) = "0xffffff";
7184         MY(count) = 7;
7185         MY(originjitter) = '2.0 2.0 2.0';
7186         MY(sizeincrease) = 100;
7187         MY(size_min) = 15;
7188         MY(size_max) = 19;
7189         MY(stretchfactor) = 7.600000;
7190         MY(tex_max) = 8;
7191         MY(type) = "spark";
7192         MY(velocityjitter) = '250.0 250.0 150.0';
7193         MY(velocitymultiplier) = 0.200000;
7194 }
7195 // debris
7196 SUB(spiderbot_minigun_impact) {
7197         MY(airfriction) = 0.400000;
7198         MY(alpha_min) = 644;
7199         MY(alpha_max) = 756;
7200         MY(alpha_fade) = 1484;
7201         MY(color_min) = "0x99977D";
7202         MY(color_max) = "0xFFFFFF";
7203         MY(count) = 3;
7204         MY(gravity) = 1.100000;
7205         MY(notunderwater) = true;
7206         MY(originjitter) = '16.0 16.0 16.0';
7207         MY(startangle_min) = -180;
7208         MY(startangle_max) = 180;
7209         MY(spin_min) = -1000;
7210         MY(spin_max) = 1000;
7211         MY(sizeincrease) = -10;
7212         MY(size_min) = 6;
7213         MY(size_max) = 8;
7214         MY(tex_min) = 66;
7215         MY(tex_max) = 68;
7216         MY(type) = "alphastatic";
7217         MY(velocityjitter) = '124.0 124.0 224.0';
7218         MY(velocitymultiplier) = 0.150000;
7219 }
7220 // decal
7221 SUB(spiderbot_minigun_impact) {
7222         MY(alpha_min) = 256;
7223         MY(alpha_max) = 256;
7224         MY(countabsolute) = 1;
7225         MY(originjitter) = '16.0 16.0 16.0';
7226         MY(startangle_min) = -180;
7227         MY(startangle_max) = 180;
7228         MY(size_min) = 20;
7229         MY(size_max) = 25;
7230         MY(tex_min) = 56;
7231         MY(tex_max) = 59;
7232         MY(type) = "decal";
7233 }
7234
7235 DEF(spiderbot_rocket_explode);
7236 SUB(spiderbot_rocket_explode) {
7237         MY(alpha_min) = 256;
7238         MY(alpha_max) = 256;
7239         MY(countabsolute) = 1;
7240         MY(lightcolor) = '8.0 4.0 0.0';
7241         MY(lightradiusfade) = 1750;
7242         MY(lightradius) = 300;
7243         MY(originjitter) = '23.0 23.0 23.0';
7244         MY(size_min) = 72;
7245         MY(size_max) = 72;
7246         MY(tex_min) = 8;
7247         MY(tex_max) = 16;
7248         MY(type) = "decal";
7249 }
7250 // shockwave
7251 SUB(spiderbot_rocket_explode) {
7252         MY(alpha_min) = 56;
7253         MY(alpha_max) = 56;
7254         MY(alpha_fade) = 230;
7255         MY(color_min) = "0x8f0d00";
7256         MY(color_max) = "0xff5a00";
7257         MY(countabsolute) = 1;
7258         MY(sizeincrease) = 2400;
7259         MY(size_min) = 22;
7260         MY(size_max) = 22;
7261         MY(tex_min) = 33;
7262         MY(tex_max) = 33;
7263         MY(type) = "static";
7264 }
7265 // glow
7266 SUB(spiderbot_rocket_explode) {
7267         MY(alpha_min) = 156;
7268         MY(alpha_max) = 156;
7269         MY(alpha_fade) = 830;
7270         MY(color_min) = "0x8f0d00";
7271         MY(color_max) = "0xff5a00";
7272         MY(countabsolute) = 1;
7273         MY(sizeincrease) = 240;
7274         MY(size_min) = 120;
7275         MY(size_max) = 120;
7276         MY(tex_min) = 64;
7277         MY(tex_max) = 64;
7278         MY(type) = "static";
7279 }
7280 // fire effect
7281 SUB(spiderbot_rocket_explode) {
7282         MY(airfriction) = 8;
7283         MY(alpha_min) = 200;
7284         MY(alpha_max) = 256;
7285         MY(alpha_fade) = 812;
7286         MY(color_min) = "0x8f0d00";
7287         MY(color_max) = "0xff5a00";
7288         MY(count) = 32;
7289         MY(liquidfriction) = 8;
7290         MY(notunderwater) = true;
7291         MY(originjitter) = '100.0 100.0 100.0';
7292         MY(startangle_min) = -180;
7293         MY(startangle_max) = 180;
7294         MY(spin_min) = -50;
7295         MY(spin_max) = 50;
7296         MY(sizeincrease) = 495;
7297         MY(size_min) = 12;
7298         MY(size_max) = 21;
7299         MY(tex_min) = 48;
7300         MY(tex_max) = 55;
7301         MY(type) = "static";
7302         MY(velocityjitter) = '512.0 512.0 512.0';
7303 }
7304 // fire effect 2
7305 SUB(spiderbot_rocket_explode) {
7306         MY(airfriction) = -2;
7307         MY(alpha_min) = 200;
7308         MY(alpha_max) = 256;
7309         MY(alpha_fade) = 912;
7310         MY(color_min) = "0x8f0d00";
7311         MY(color_max) = "0xff5a00";
7312         MY(count) = 16;
7313         MY(liquidfriction) = 8;
7314         MY(notunderwater) = true;
7315         MY(startangle_min) = -180;
7316         MY(startangle_max) = 180;
7317         MY(spin_min) = -150;
7318         MY(spin_max) = 150;
7319         MY(sizeincrease) = 120;
7320         MY(size_min) = 3;
7321         MY(size_max) = 3;
7322         MY(stretchfactor) = 10;
7323         MY(tex_min) = 48;
7324         MY(tex_max) = 55;
7325         MY(type) = "spark";
7326         MY(velocityjitter) = '412.0 412.0 412.0';
7327 }
7328 // fire rays
7329 SUB(spiderbot_rocket_explode) {
7330         MY(airfriction) = -3;
7331         MY(alpha_min) = 200;
7332         MY(alpha_max) = 256;
7333         MY(alpha_fade) = 1600;
7334         MY(color_min) = "0x8f0d00";
7335         MY(color_max) = "0xff5a00";
7336         MY(count) = 10;
7337         MY(liquidfriction) = 8;
7338         MY(notunderwater) = true;
7339         MY(originjitter) = '40.0 40.0 40.0';
7340         MY(sizeincrease) = 120;
7341         MY(size_min) = 13;
7342         MY(size_max) = 54;
7343         MY(stretchfactor) = 10;
7344         MY(tex_min) = 48;
7345         MY(tex_max) = 55;
7346         MY(type) = "spark";
7347         MY(velocityjitter) = '712.0 712.0 712.0';
7348 }
7349 // smoke
7350 SUB(spiderbot_rocket_explode) {
7351         MY(airfriction) = 3;
7352         MY(alpha_min) = 300;
7353         MY(alpha_max) = 650;
7354         MY(alpha_fade) = 756;
7355         MY(color_min) = "0x4F4B46";
7356         MY(color_max) = "0x000000";
7357         MY(count) = 10;
7358         MY(notunderwater) = true;
7359         MY(originjitter) = '100.0 100.0 100.0';
7360         MY(startangle_min) = -180;
7361         MY(startangle_max) = 180;
7362         MY(spin_min) = -20;
7363         MY(spin_max) = 20;
7364         MY(sizeincrease) = 280;
7365         MY(size_min) = 10;
7366         MY(size_max) = 15;
7367         MY(tex_max) = 8;
7368         MY(type) = "alphastatic";
7369         MY(velocityjitter) = '200.0 200.0 200.0';
7370 }
7371 // smoke2
7372 SUB(spiderbot_rocket_explode) {
7373         MY(airfriction) = 2;
7374         MY(alpha_min) = 300;
7375         MY(alpha_max) = 650;
7376         MY(alpha_fade) = 556;
7377         MY(color_min) = "0x4F4B46";
7378         MY(color_max) = "0x000000";
7379         MY(count) = 3;
7380         MY(gravity) = -0.500000;
7381         MY(notunderwater) = true;
7382         MY(originjitter) = '10.0 10.0 10.0';
7383         MY(startangle_min) = -180;
7384         MY(startangle_max) = 180;
7385         MY(spin_min) = -20;
7386         MY(spin_max) = 20;
7387         MY(sizeincrease) = 30;
7388         MY(size_min) = 100;
7389         MY(size_max) = 150;
7390         MY(tex_max) = 8;
7391         MY(type) = "alphastatic";
7392         MY(velocityjitter) = '200.0 200.0 200.0';
7393 }
7394 // underwater bubbles
7395 SUB(spiderbot_rocket_explode) {
7396         MY(alpha_min) = 128;
7397         MY(alpha_max) = 256;
7398         MY(alpha_fade) = 64;
7399         MY(bounce) = 1.500000;
7400         MY(color_min) = "0x404040";
7401         MY(color_max) = "0x808080";
7402         MY(count) = 32;
7403         MY(gravity) = -0.125000;
7404         MY(liquidfriction) = 0.250000;
7405         MY(originjitter) = '160.0 160.0 160.0';
7406         MY(size_min) = 1;
7407         MY(size_max) = 3;
7408         MY(tex_min) = 62;
7409         MY(tex_max) = 62;
7410         MY(type) = "bubble";
7411         MY(underwater) = true;
7412         MY(velocityjitter) = '144.0 144.0 144.0';
7413 }
7414 // underwatershockwave
7415 SUB(spiderbot_rocket_explode) {
7416         MY(alpha_min) = 40;
7417         MY(alpha_max) = 40;
7418         MY(alpha_fade) = 300;
7419         MY(countabsolute) = 1;
7420         MY(sizeincrease) = 1200;
7421         MY(size_min) = 30;
7422         MY(size_max) = 30;
7423         MY(tex_min) = 33;
7424         MY(tex_max) = 33;
7425         MY(type) = "smoke";
7426         MY(underwater) = true;
7427 }
7428
7429 DEF(spiderbot_rocket_thrust);
7430 SUB(spiderbot_rocket_thrust) {
7431         MY(alpha_min) = 200;
7432         MY(alpha_max) = 256;
7433         MY(alpha_fade) = 1600;
7434         MY(color_min) = "0x8f0d00";
7435         MY(color_max) = "0xff5a00";
7436         MY(count) = 3;
7437         MY(notunderwater) = true;
7438         MY(sizeincrease) = -40;
7439         MY(size_min) = 5;
7440         MY(size_max) = 10;
7441         MY(stretchfactor) = 0.900000;
7442         MY(tex_min) = 48;
7443         MY(tex_max) = 55;
7444         MY(type) = "spark";
7445         MY(velocityjitter) = '20.0 20.0 20.0';
7446         MY(velocitymultiplier) = -1.400000;
7447 }
7448 SUB(spiderbot_rocket_thrust) {
7449         MY(alpha_min) = 200;
7450         MY(alpha_max) = 200;
7451         MY(alpha_fade) = 9000;
7452         MY(color_min) = "0x8f0d00";
7453         MY(color_max) = "0xff5a00";
7454         MY(count) = 4;
7455         MY(notunderwater) = true;
7456         MY(startangle_min) = -180;
7457         MY(startangle_max) = 180;
7458         MY(spin_min) = -500;
7459         MY(spin_max) = 500;
7460         MY(sizeincrease) = -3000;
7461         MY(size_min) = 25;
7462         MY(size_max) = 25;
7463         MY(stretchfactor) = 1;
7464         MY(tex_min) = 48;
7465         MY(tex_max) = 55;
7466         MY(type) = "static";
7467         MY(velocityjitter) = '60.0 60.0 60.0';
7468         MY(velocitymultiplier) = -1.400000;
7469 }
7470
7471 DEF(spiderbot_rocket_launch);
7472 // long lasting smoke
7473 SUB(spiderbot_rocket_launch) {
7474         MY(airfriction) = 0.300000;
7475         MY(alpha_min) = 100;
7476         MY(alpha_max) = 156;
7477         MY(alpha_fade) = 60;
7478         MY(color_min) = "0xFFFFFF";
7479         MY(color_max) = "0xD9C4B0";
7480         MY(count) = 8;
7481         MY(gravity) = -0.010000;
7482         MY(notunderwater) = true;
7483         MY(sizeincrease) = 20;
7484         MY(size_min) = 30;
7485         MY(size_max) = 30;
7486         MY(tex_max) = 8;
7487         MY(type) = "smoke";
7488         MY(velocityjitter) = '60.0 60.0 60.0';
7489         MY(velocitymultiplier) = -0.100000;
7490 }
7491 // fast smoke
7492 SUB(spiderbot_rocket_launch) {
7493         MY(airfriction) = 0.300000;
7494         MY(alpha_min) = 100;
7495         MY(alpha_max) = 156;
7496         MY(alpha_fade) = 260;
7497         MY(color_min) = "0xFFFFFF";
7498         MY(color_max) = "0xD9C4B0";
7499         MY(count) = 14;
7500         MY(gravity) = -0.300000;
7501         MY(notunderwater) = true;
7502         MY(sizeincrease) = 20;
7503         MY(size_min) = 30;
7504         MY(size_max) = 30;
7505         MY(tex_max) = 8;
7506         MY(type) = "smoke";
7507         MY(velocityjitter) = '160.0 160.0 60.0';
7508 }
7509 // fire
7510 SUB(spiderbot_rocket_launch) {
7511         MY(airfriction) = 0.300000;
7512         MY(alpha_min) = 200;
7513         MY(alpha_max) = 256;
7514         MY(alpha_fade) = 1960;
7515         MY(color_min) = "0x8f0d00";
7516         MY(color_max) = "0xff5a00";
7517         MY(count) = 14;
7518         MY(notunderwater) = true;
7519         MY(sizeincrease) = 40;
7520         MY(size_min) = 30;
7521         MY(size_max) = 30;
7522         MY(stretchfactor) = 3;
7523         MY(tex_min) = 48;
7524         MY(tex_max) = 55;
7525         MY(type) = "spark";
7526         MY(velocityjitter) = '60.0 60.0 60.0';
7527         MY(velocitymultiplier) = 0.500000;
7528 }
7529 // sparks
7530 SUB(spiderbot_rocket_launch) {
7531         MY(alpha_min) = 200;
7532         MY(alpha_max) = 256;
7533         MY(alpha_fade) = 1000;
7534         MY(color_min) = "0xFFFFFF";
7535         MY(color_max) = "0xD9C4B0";
7536         MY(count) = 10;
7537         MY(notunderwater) = true;
7538         MY(size_min) = 1;
7539         MY(size_max) = 4;
7540         MY(tex_min) = 40;
7541         MY(tex_max) = 40;
7542         MY(type) = "spark";
7543         MY(velocityjitter) = '160.0 160.0 160.0';
7544         MY(velocitymultiplier) = -0.500000;
7545 }
7546
7547 DEF(wakizashi_gun_impact);
7548 SUB(wakizashi_gun_impact) {
7549         MY(airfriction) = 4;
7550         MY(alpha_min) = 256;
7551         MY(alpha_max) = 512;
7552         MY(alpha_fade) = 1180;
7553         MY(color_min) = "0xff0000";
7554         MY(color_max) = "0xc03535";
7555         MY(count) = 15;
7556         MY(gravity) = 3;
7557         MY(originjitter) = '40.0 40.0 10.0';
7558         MY(size_min) = 4;
7559         MY(size_max) = 7;
7560         MY(stretchfactor) = 0.900000;
7561         MY(tex_min) = 41;
7562         MY(tex_max) = 41;
7563         MY(type) = "spark";
7564         MY(velocityjitter) = '350.0 350.0 550.0';
7565         MY(velocityoffset) = '0.0 0.0 700.0';
7566 }
7567 SUB(wakizashi_gun_impact) {
7568         MY(airfriction) = 4;
7569         MY(alpha_min) = 50;
7570         MY(alpha_max) = 90;
7571         MY(alpha_fade) = 150;
7572         MY(color_min) = "0xd0d0a0";
7573         MY(color_max) = "0xc03535";
7574         MY(count) = 24;
7575         MY(originjitter) = '40.0 40.0 10.0';
7576         MY(startangle_min) = -180;
7577         MY(startangle_max) = 180;
7578         MY(sizeincrease) = 80;
7579         MY(size_min) = 10;
7580         MY(size_max) = 20;
7581         MY(tex_max) = 8;
7582         MY(type) = "smoke";
7583         MY(velocityjitter) = '250.0 250.0 450.0';
7584         MY(velocityoffset) = '0.0 0.0 600.0';
7585 }
7586 SUB(wakizashi_gun_impact) {
7587         MY(alpha_min) = 250;
7588         MY(alpha_max) = 300;
7589         MY(alpha_fade) = 680;
7590         MY(color_min) = "0xff0000";
7591         MY(color_max) = "0xc03535";
7592         MY(countabsolute) = 1;
7593         MY(sizeincrease) = -180;
7594         MY(size_min) = 82;
7595         MY(size_max) = 82;
7596         MY(tex_min) = 65;
7597         MY(tex_max) = 65;
7598         MY(type) = "smoke";
7599 }
7600 SUB(wakizashi_gun_impact) {
7601         MY(alpha_min) = 50;
7602         MY(alpha_max) = 100;
7603         MY(alpha_fade) = 620;
7604         MY(color_min) = "0xff0000";
7605         MY(color_max) = "0xc03535";
7606         MY(countabsolute) = 1;
7607         MY(startangle_min) = -180;
7608         MY(startangle_max) = 180;
7609         MY(spin_min) = 400;
7610         MY(spin_max) = -400;
7611         MY(sizeincrease) = 900;
7612         MY(size_min) = 40;
7613         MY(size_max) = 40;
7614         MY(tex_min) = 33;
7615         MY(tex_max) = 33;
7616         MY(type) = "smoke";
7617 }
7618 SUB(wakizashi_gun_impact) {
7619         MY(alpha_min) = 256;
7620         MY(alpha_max) = 256;
7621         MY(countabsolute) = 1;
7622         MY(originjitter) = '16.0 16.0 16.0';
7623         MY(startangle_min) = -180;
7624         MY(startangle_max) = 180;
7625         MY(size_min) = 14;
7626         MY(size_max) = 14;
7627         MY(tex_min) = 59;
7628         MY(tex_max) = 59;
7629         MY(type) = "decal";
7630 }
7631
7632 DEF(wakizashi_gun_muzzleflash);
7633 SUB(wakizashi_gun_muzzleflash) {
7634         MY(airfriction) = 12;
7635         MY(alpha_min) = 256;
7636         MY(alpha_max) = 512;
7637         MY(alpha_fade) = 6280;
7638         MY(color_min) = "0xff0000";
7639         MY(color_max) = "0xc03535";
7640         MY(count) = 16;
7641         MY(originjitter) = '2.0 2.0 2.0';
7642         MY(sizeincrease) = -10;
7643         MY(size_min) = 5;
7644         MY(size_max) = 7;
7645         MY(stretchfactor) = 0.700000;
7646         MY(tex_min) = 8;
7647         MY(tex_max) = 15;
7648         MY(type) = "spark";
7649         MY(velocityjitter) = '200.0 200.0 200.0';
7650         MY(velocitymultiplier) = 0.200000;
7651 }
7652
7653 DEF(wakizashi_rocket_explode);
7654 SUB(wakizashi_rocket_explode) {
7655         MY(alpha_min) = 256;
7656         MY(alpha_max) = 256;
7657         MY(countabsolute) = 1;
7658         MY(lightcolor) = '8.0 4.0 0.0';
7659         MY(lightradiusfade) = 1750;
7660         MY(lightradius) = 300;
7661         MY(originjitter) = '23.0 23.0 23.0';
7662         MY(size_min) = 72;
7663         MY(size_max) = 72;
7664         MY(tex_min) = 8;
7665         MY(tex_max) = 16;
7666         MY(type) = "decal";
7667 }
7668 // shockwave
7669 SUB(wakizashi_rocket_explode) {
7670         MY(alpha_min) = 56;
7671         MY(alpha_max) = 56;
7672         MY(alpha_fade) = 230;
7673         MY(color_min) = "0x8f0d00";
7674         MY(color_max) = "0xff5a00";
7675         MY(countabsolute) = 1;
7676         MY(sizeincrease) = 2400;
7677         MY(size_min) = 22;
7678         MY(size_max) = 22;
7679         MY(tex_min) = 33;
7680         MY(tex_max) = 33;
7681         MY(type) = "static";
7682 }
7683 // glow
7684 SUB(wakizashi_rocket_explode) {
7685         MY(alpha_min) = 156;
7686         MY(alpha_max) = 156;
7687         MY(alpha_fade) = 830;
7688         MY(color_min) = "0x8f0d00";
7689         MY(color_max) = "0xff5a00";
7690         MY(countabsolute) = 1;
7691         MY(sizeincrease) = 240;
7692         MY(size_min) = 120;
7693         MY(size_max) = 120;
7694         MY(tex_min) = 64;
7695         MY(tex_max) = 64;
7696         MY(type) = "static";
7697 }
7698 // fire effect
7699 SUB(wakizashi_rocket_explode) {
7700         MY(airfriction) = 2;
7701         MY(alpha_min) = 200;
7702         MY(alpha_max) = 256;
7703         MY(alpha_fade) = 512;
7704         MY(color_min) = "0xFFAE00";
7705         MY(color_max) = "0xff5a00";
7706         MY(count) = 64;
7707         MY(liquidfriction) = 8;
7708         MY(notunderwater) = true;
7709         MY(originjitter) = '10.0 10.0 10.0';
7710         MY(startangle_min) = -180;
7711         MY(startangle_max) = 180;
7712         MY(spin_min) = -50;
7713         MY(spin_max) = 50;
7714         MY(sizeincrease) = 195;
7715         MY(size_min) = 12;
7716         MY(size_max) = 21;
7717         MY(tex_min) = 48;
7718         MY(tex_max) = 55;
7719         MY(type) = "static";
7720         MY(velocityjitter) = '512.0 512.0 512.0';
7721 }
7722 // fire rays
7723 SUB(wakizashi_rocket_explode) {
7724         MY(airfriction) = -3;
7725         MY(alpha_min) = 200;
7726         MY(alpha_max) = 256;
7727         MY(alpha_fade) = 1600;
7728         MY(color_min) = "0xFFEA00";
7729         MY(color_max) = "0xff5a00";
7730         MY(count) = 10;
7731         MY(liquidfriction) = 8;
7732         MY(notunderwater) = true;
7733         MY(originjitter) = '40.0 40.0 40.0';
7734         MY(sizeincrease) = 120;
7735         MY(size_min) = 43;
7736         MY(size_max) = 54;
7737         MY(stretchfactor) = 10;
7738         MY(tex_min) = 48;
7739         MY(tex_max) = 55;
7740         MY(type) = "spark";
7741         MY(velocityjitter) = '512.0 512.0 512.0';
7742 }
7743 // smoke
7744 SUB(wakizashi_rocket_explode) {
7745         MY(airfriction) = 3;
7746         MY(alpha_min) = 300;
7747         MY(alpha_max) = 450;
7748         MY(alpha_fade) = 556;
7749         MY(color_min) = "0x4F4B46";
7750         MY(color_max) = "0x000000";
7751         MY(count) = 32;
7752         MY(notunderwater) = true;
7753         MY(originjitter) = '100.0 100.0 100.0';
7754         MY(startangle_min) = -180;
7755         MY(startangle_max) = 180;
7756         MY(spin_min) = -20;
7757         MY(spin_max) = 20;
7758         MY(sizeincrease) = 230;
7759         MY(size_min) = 10;
7760         MY(size_max) = 15;
7761         MY(tex_max) = 8;
7762         MY(type) = "alphastatic";
7763         MY(velocityjitter) = '200.0 200.0 200.0';
7764 }
7765 // bouncing sparks
7766 SUB(wakizashi_rocket_explode) {
7767         MY(airfriction) = 1;
7768         MY(alpha_min) = 644;
7769         MY(alpha_max) = 956;
7770         MY(alpha_fade) = 884;
7771         MY(color_min) = "0xffa35b";
7772         MY(color_max) = "0xfff2be";
7773         MY(count) = 14;
7774         MY(gravity) = 1;
7775         MY(liquidfriction) = 0.800000;
7776         MY(notunderwater) = true;
7777         MY(originjitter) = '60.0 60.0 60.0';
7778         MY(size_min) = 1;
7779         MY(size_max) = 2;
7780         MY(tex_min) = 40;
7781         MY(tex_max) = 40;
7782         MY(type) = "spark";
7783         MY(velocityjitter) = '524.0 524.0 524.0';
7784         MY(velocityoffset) = '0.0 0.0 170.0';
7785 }
7786 // underwater bubbles
7787 SUB(wakizashi_rocket_explode) {
7788         MY(alpha_min) = 128;
7789         MY(alpha_max) = 256;
7790         MY(alpha_fade) = 64;
7791         MY(bounce) = 1.500000;
7792         MY(color_min) = "0x404040";
7793         MY(color_max) = "0x808080";
7794         MY(count) = 32;
7795         MY(gravity) = -0.125000;
7796         MY(liquidfriction) = 0.250000;
7797         MY(originjitter) = '160.0 160.0 160.0';
7798         MY(size_min) = 1;
7799         MY(size_max) = 3;
7800         MY(tex_min) = 62;
7801         MY(tex_max) = 62;
7802         MY(type) = "bubble";
7803         MY(underwater) = true;
7804         MY(velocityjitter) = '144.0 144.0 144.0';
7805 }
7806 // underwatershockwave
7807 SUB(wakizashi_rocket_explode) {
7808         MY(alpha_min) = 40;
7809         MY(alpha_max) = 40;
7810         MY(alpha_fade) = 300;
7811         MY(countabsolute) = 1;
7812         MY(sizeincrease) = 1200;
7813         MY(size_min) = 30;
7814         MY(size_max) = 30;
7815         MY(tex_min) = 33;
7816         MY(tex_max) = 33;
7817         MY(type) = "smoke";
7818         MY(underwater) = true;
7819 }
7820
7821 DEF(wakizashi_rocket_thrust);
7822 SUB(wakizashi_rocket_thrust) {
7823         MY(alpha_min) = 200;
7824         MY(alpha_max) = 256;
7825         MY(alpha_fade) = 1600;
7826         MY(color_min) = "0x00FFDD";
7827         MY(color_max) = "0x6200FF";
7828         MY(countabsolute) = 3;
7829         MY(notunderwater) = true;
7830         MY(sizeincrease) = -2;
7831         MY(size_min) = 14;
7832         MY(size_max) = 19;
7833         MY(stretchfactor) = 1;
7834         MY(tex_min) = 48;
7835         MY(tex_max) = 55;
7836         MY(type) = "spark";
7837         MY(velocityjitter) = '60.0 60.0 60.0';
7838         MY(velocitymultiplier) = -1.100000;
7839 }
7840 SUB(wakizashi_rocket_thrust) {
7841         MY(alpha_min) = 200;
7842         MY(alpha_max) = 256;
7843         MY(alpha_fade) = 1900;
7844         MY(color_min) = "0xFFFF33";
7845         MY(color_max) = "0xFFEE00";
7846         MY(countabsolute) = 2;
7847         MY(notunderwater) = true;
7848         MY(sizeincrease) = -2;
7849         MY(size_min) = 5;
7850         MY(size_max) = 10;
7851         MY(stretchfactor) = 3;
7852         MY(tex_min) = 48;
7853         MY(tex_max) = 55;
7854         MY(type) = "spark";
7855         MY(velocityjitter) = '60.0 60.0 60.0';
7856         MY(velocitymultiplier) = -0.300000;
7857 }
7858
7859 DEF(wakizashi_rocket_launch);
7860 // long lasting smoke
7861 SUB(wakizashi_rocket_launch) {
7862         MY(airfriction) = 0.300000;
7863         MY(alpha_min) = 100;
7864         MY(alpha_max) = 156;
7865         MY(alpha_fade) = 60;
7866         MY(color_min) = "0xFFFFFF";
7867         MY(color_max) = "0xD9C4B0";
7868         MY(count) = 8;
7869         MY(notunderwater) = true;
7870         MY(sizeincrease) = 20;
7871         MY(size_min) = 3;
7872         MY(size_max) = 30;
7873         MY(tex_max) = 8;
7874         MY(type) = "smoke";
7875         MY(velocityjitter) = '160.0 160.0 60.0';
7876         MY(velocitymultiplier) = -0.100000;
7877 }
7878 // fast smoke
7879 SUB(wakizashi_rocket_launch) {
7880         MY(airfriction) = 0.300000;
7881         MY(alpha_min) = 100;
7882         MY(alpha_max) = 156;
7883         MY(alpha_fade) = 260;
7884         MY(color_min) = "0xFFFFFF";
7885         MY(color_max) = "0xD9C4B0";
7886         MY(count) = 14;
7887         MY(notunderwater) = true;
7888         MY(sizeincrease) = 20;
7889         MY(size_min) = 30;
7890         MY(size_max) = 30;
7891         MY(tex_max) = 8;
7892         MY(type) = "smoke";
7893         MY(velocityjitter) = '160.0 160.0 60.0';
7894         MY(velocitymultiplier) = 0.400000;
7895 }
7896 //sparks
7897 SUB(wakizashi_rocket_launch) {
7898         MY(alpha_min) = 200;
7899         MY(alpha_max) = 256;
7900         MY(alpha_fade) = 1000;
7901         MY(color_min) = "0xFFFFFF";
7902         MY(color_max) = "0xD9C4B0";
7903         MY(count) = 10;
7904         MY(notunderwater) = true;
7905         MY(size_min) = 1;
7906         MY(size_max) = 4;
7907         MY(tex_min) = 40;
7908         MY(tex_max) = 40;
7909         MY(type) = "spark";
7910         MY(velocityjitter) = '60.0 60.0 60.0';
7911         MY(velocitymultiplier) = -1.500000;
7912 }
7913
7914 DEF(wakizashi_booster_smoke);
7915 SUB(wakizashi_booster_smoke) {
7916         MY(airfriction) = 2;
7917         MY(alpha_min) = 200;
7918         MY(alpha_max) = 750;
7919         MY(alpha_fade) = 200;
7920         MY(color_min) = "0xA69A80";
7921         MY(color_max) = "0xB3B39F";
7922         MY(count) = 3;
7923         MY(gravity) = -0.100000;
7924         MY(notunderwater) = true;
7925         MY(originjitter) = '60.0 60.0 60.0';
7926         MY(startangle_min) = -180;
7927         MY(startangle_max) = 180;
7928         MY(spin_min) = -20;
7929         MY(spin_max) = 20;
7930         MY(sizeincrease) = 10;
7931         MY(size_min) = 60;
7932         MY(size_max) = 100;
7933         MY(tex_max) = 8;
7934         MY(type) = "alphastatic";
7935         MY(velocityjitter) = '40.0 40.0 40.0';
7936 }
7937
7938 DEF(raptor_cannon_impact);
7939 // decal
7940 SUB(raptor_cannon_impact) {
7941         MY(alpha_min) = 256;
7942         MY(alpha_max) = 256;
7943         MY(countabsolute) = 1;
7944         MY(originjitter) = '16.0 16.0 16.0';
7945         MY(startangle_min) = -180;
7946         MY(startangle_max) = 180;
7947         MY(size_min) = 24;
7948         MY(size_max) = 24;
7949         MY(tex_min) = 47;
7950         MY(tex_max) = 47;
7951         MY(type) = "decal";
7952 }
7953 // spark
7954 SUB(raptor_cannon_impact) {
7955         MY(airfriction) = 0.200000;
7956         MY(alpha_min) = 644;
7957         MY(alpha_max) = 956;
7958         MY(alpha_fade) = 784;
7959         MY(color_min) = "0xD400FF";
7960         MY(color_max) = "0x571863";
7961         MY(count) = 6;
7962         MY(gravity) = 1;
7963         MY(notunderwater) = true;
7964         MY(originjitter) = '16.0 16.0 16.0';
7965         MY(size_min) = 1;
7966         MY(size_max) = 1;
7967         MY(tex_min) = 40;
7968         MY(tex_max) = 40;
7969         MY(type) = "spark";
7970         MY(velocityjitter) = '124.0 124.0 524.0';
7971         MY(velocityoffset) = '0.0 0.0 150.0';
7972 }
7973 // smoke
7974 SUB(raptor_cannon_impact) {
7975         MY(airfriction) = 2;
7976         MY(alpha_min) = 428;
7977         MY(alpha_max) = 428;
7978         MY(alpha_fade) = 600;
7979         MY(color_min) = "0x646364";
7980         MY(color_max) = "0x151515";
7981         MY(count) = 4;
7982         MY(gravity) = 0.700000;
7983         MY(startangle_min) = -180;
7984         MY(startangle_max) = 180;
7985         MY(size_min) = 50;
7986         MY(size_max) = 50;
7987         MY(tex_max) = 7;
7988         MY(type) = "alphastatic";
7989         MY(velocityjitter) = '200.0 200.0 300.0';
7990         MY(velocityoffset) = '0.0 0.0 340.0';
7991 }
7992 // fire
7993 SUB(raptor_cannon_impact) {
7994         MY(airfriction) = 8;
7995         MY(alpha_min) = 200;
7996         MY(alpha_max) = 256;
7997         MY(alpha_fade) = 812;
7998         MY(bounce) = 1.500000;
7999         MY(color_min) = "0xD400FF";
8000         MY(color_max) = "0x571863";
8001         MY(count) = 10;
8002         MY(liquidfriction) = 8;
8003         MY(notunderwater) = true;
8004         MY(originjitter) = '8.0 8.0 8.0';
8005         MY(sizeincrease) = 25;
8006         MY(size_min) = 33;
8007         MY(size_max) = 44;
8008         MY(tex_min) = 48;
8009         MY(tex_max) = 55;
8010         MY(type) = "static";
8011         MY(velocityjitter) = '312.0 312.0 312.0';
8012 }
8013
8014 DEF(raptor_cannon_muzzleflash);
8015 SUB(raptor_cannon_muzzleflash) {
8016         MY(airfriction) = 12;
8017         MY(alpha_min) = 1256;
8018         MY(alpha_max) = 1512;
8019         MY(alpha_fade) = 56280;
8020         MY(color_min) = "0xD400FF";
8021         MY(color_max) = "0x571863";
8022         MY(count) = 16;
8023         MY(originjitter) = '2.0 2.0 2.0';
8024         MY(sizeincrease) = -10;
8025         MY(size_min) = 10;
8026         MY(size_max) = 17;
8027         MY(stretchfactor) = 0.600000;
8028         MY(tex_min) = 8;
8029         MY(tex_max) = 15;
8030         MY(type) = "spark";
8031         MY(velocityjitter) = '200.0 200.0 200.0';
8032         MY(velocitymultiplier) = 0.200000;
8033 }
8034 SUB(raptor_cannon_muzzleflash) {
8035         MY(alpha_min) = 6056;
8036         MY(alpha_max) = 20112;
8037         MY(alpha_fade) = 406280;
8038         MY(color_min) = "0xD400FF";
8039         MY(color_max) = "0x571863";
8040         MY(countabsolute) = 1;
8041         MY(lightcolor) = '3.0 0.0 6.0';
8042         MY(lightradiusfade) = 6000;
8043         MY(lightradius) = 150;
8044         MY(startangle_min) = -180;
8045         MY(startangle_max) = 180;
8046         MY(spin_min) = 4000;
8047         MY(spin_max) = -4000;
8048         MY(sizeincrease) = -100;
8049         MY(size_min) = 32;
8050         MY(size_max) = 32;
8051         MY(stretchfactor) = 0.100000;
8052         MY(tex_min) = 48;
8053         MY(tex_max) = 55;
8054         MY(type) = "static";
8055 }
8056
8057 DEF(raptor_bomb_impact);
8058 // decal
8059 SUB(raptor_bomb_impact) {
8060         MY(alpha_min) = 256;
8061         MY(alpha_max) = 256;
8062         MY(countabsolute) = 1;
8063         MY(originjitter) = '16.0 16.0 16.0';
8064         MY(startangle_min) = -180;
8065         MY(startangle_max) = 180;
8066         MY(size_min) = 84;
8067         MY(size_max) = 84;
8068         MY(tex_min) = 8;
8069         MY(tex_max) = 16;
8070         MY(type) = "decal";
8071 }
8072 // spark vertical
8073 SUB(raptor_bomb_impact) {
8074         MY(alpha_min) = 300;
8075         MY(alpha_max) = 300;
8076         MY(alpha_fade) = 600;
8077         MY(color_min) = "0xff9c00";
8078         MY(color_max) = "0xff3c00";
8079         MY(count) = 3;
8080         MY(originjitter) = '10.0 10.0 10.0';
8081         MY(sizeincrease) = 50;
8082         MY(size_min) = 20;
8083         MY(size_max) = 40;
8084         MY(stretchfactor) = 210;
8085         MY(tex_min) = 48;
8086         MY(tex_max) = 55;
8087         MY(type) = "spark";
8088         MY(velocityjitter) = '40.0 40.0 120.0';
8089 }
8090 // fire
8091 SUB(raptor_bomb_impact) {
8092         MY(airfriction) = 2;
8093         MY(alpha_min) = 300;
8094         MY(alpha_max) = 300;
8095         MY(alpha_fade) = 500;
8096         MY(color_min) = "0xff9c00";
8097         MY(color_max) = "0xff3c00";
8098         MY(count) = 4;
8099         MY(originjitter) = '10.0 10.0 10.0';
8100         MY(sizeincrease) = 230;
8101         MY(size_min) = 30;
8102         MY(size_max) = 120;
8103         MY(tex_min) = 48;
8104         MY(tex_max) = 55;
8105         MY(type) = "static";
8106         MY(velocityjitter) = '950.0 950.0 0.0';
8107 }
8108 // smoke
8109 SUB(raptor_bomb_impact) {
8110         MY(alpha_min) = 428;
8111         MY(alpha_max) = 428;
8112         MY(alpha_fade) = 600;
8113         MY(blend) = "alpha";
8114         MY(color_min) = "0x646364";
8115         MY(color_max) = "0x151515";
8116         MY(count) = 4;
8117         MY(originjitter) = '30.0 30.0 10.0';
8118         MY(startangle_min) = -180;
8119         MY(startangle_max) = 180;
8120         MY(size_min) = 120;
8121         MY(size_max) = 180;
8122         MY(stretchfactor) = 10;
8123         MY(tex_max) = 7;
8124         MY(type) = "spark";
8125         MY(velocityjitter) = '200.0 200.0 280.0';
8126         MY(velocityoffset) = '0.0 0.0 280.0';
8127 }
8128 // smoke 2
8129 SUB(raptor_bomb_impact) {
8130         MY(airfriction) = 0.600000;
8131         MY(alpha_min) = 328;
8132         MY(alpha_max) = 328;
8133         MY(alpha_fade) = 350;
8134         MY(blend) = "alpha";
8135         MY(color_min) = "0x646364";
8136         MY(color_max) = "0x151515";
8137         MY(count) = 4;
8138         MY(gravity) = 2;
8139         MY(originjitter) = '30.0 30.0 10.0';
8140         MY(startangle_min) = -180;
8141         MY(startangle_max) = 180;
8142         MY(sizeincrease) = 60;
8143         MY(size_min) = 40;
8144         MY(size_max) = 100;
8145         MY(tex_max) = 7;
8146         MY(type) = "spark";
8147         MY(velocityjitter) = '200.0 200.0 300.0';
8148         MY(velocityoffset) = '0.0 0.0 580.0';
8149 }
8150 // sparks
8151 SUB(raptor_bomb_impact) {
8152         MY(airfriction) = 0.300000;
8153         MY(alpha_min) = 644;
8154         MY(alpha_max) = 956;
8155         MY(alpha_fade) = 984;
8156         MY(color_min) = "0xffa35b";
8157         MY(color_max) = "0xfff2be";
8158         MY(count) = 5;
8159         MY(gravity) = 1;
8160         MY(notunderwater) = true;
8161         MY(originjitter) = '16.0 16.0 16.0';
8162         MY(size_min) = 3;
8163         MY(size_max) = 5;
8164         MY(stretchfactor) = 2;
8165         MY(tex_min) = 40;
8166         MY(tex_max) = 40;
8167         MY(type) = "spark";
8168         MY(velocityjitter) = '174.0 174.0 924.0';
8169         MY(velocityoffset) = '0.0 0.0 350.0';
8170 }
8171
8172 DEF(raptor_bomb_spread);
8173 SUB(raptor_bomb_spread) {
8174         MY(airfriction) = 1;
8175         MY(alpha_min) = 644;
8176         MY(alpha_max) = 956;
8177         MY(alpha_fade) = 1284;
8178         MY(color_min) = "0xffa35b";
8179         MY(color_max) = "0xfff2be";
8180         MY(count) = 34;
8181         MY(gravity) = 1;
8182         MY(liquidfriction) = 0.800000;
8183         MY(notunderwater) = true;
8184         MY(originjitter) = '110.0 110.0 110.0';
8185         MY(size_min) = 1;
8186         MY(size_max) = 2;
8187         MY(tex_min) = 40;
8188         MY(tex_max) = 40;
8189         MY(type) = "spark";
8190         MY(velocityjitter) = '324.0 324.0 324.0';
8191 }
8192
8193 // generic explosion size:big (biggest explosion ever)
8194 DEF(explosion_big);
8195 // decal
8196 SUB(explosion_big) {
8197         MY(alpha_min) = 256;
8198         MY(alpha_max) = 256;
8199         MY(countabsolute) = 1;
8200         MY(lightcolor) = '8.0 4.0 0.0';
8201         MY(lightradiusfade) = 1750;
8202         MY(lightradius) = 600;
8203         MY(originjitter) = '23.0 23.0 23.0';
8204         MY(size_min) = 172;
8205         MY(size_max) = 172;
8206         MY(tex_min) = 8;
8207         MY(tex_max) = 16;
8208         MY(type) = "decal";
8209 }
8210 // shockwave
8211 SUB(explosion_big) {
8212         MY(alpha_min) = 56;
8213         MY(alpha_max) = 56;
8214         MY(alpha_fade) = 330;
8215         MY(color_min) = "0x8f0d00";
8216         MY(color_max) = "0xff5a00";
8217         MY(countabsolute) = 1;
8218         MY(sizeincrease) = 4400;
8219         MY(size_min) = 72;
8220         MY(size_max) = 72;
8221         MY(tex_min) = 33;
8222         MY(tex_max) = 33;
8223         MY(type) = "static";
8224 }
8225 // fire effect
8226 SUB(explosion_big) {
8227         MY(airfriction) = 8;
8228         MY(alpha_min) = 200;
8229         MY(alpha_max) = 256;
8230         MY(alpha_fade) = 712;
8231         MY(color_min) = "0x8f0d00";
8232         MY(color_max) = "0xff5a00";
8233         MY(count) = 64;
8234         MY(liquidfriction) = 8;
8235         MY(notunderwater) = true;
8236         MY(originjitter) = '80.0 80.0 80.0';
8237         MY(sizeincrease) = 45;
8238         MY(size_min) = 133;
8239         MY(size_max) = 144;
8240         MY(tex_min) = 48;
8241         MY(tex_max) = 55;
8242         MY(type) = "static";
8243         MY(velocityjitter) = '2512.0 2512.0 2512.0';
8244 }
8245 // fire rays
8246 SUB(explosion_big) {
8247         MY(airfriction) = -5;
8248         MY(alpha_min) = 200;
8249         MY(alpha_max) = 256;
8250         MY(alpha_fade) = 800;
8251         MY(color_min) = "0x8f0d00";
8252         MY(color_max) = "0xff5a00";
8253         MY(count) = 64;
8254         MY(liquidfriction) = 8;
8255         MY(notunderwater) = true;
8256         MY(originjitter) = '40.0 40.0 40.0';
8257         MY(sizeincrease) = 45;
8258         MY(size_min) = 133;
8259         MY(size_max) = 144;
8260         MY(stretchfactor) = 10;
8261         MY(tex_min) = 48;
8262         MY(tex_max) = 55;
8263         MY(type) = "spark";
8264         MY(velocityjitter) = '512.0 512.0 512.0';
8265 }
8266 // smoke
8267 SUB(explosion_big) {
8268         MY(airfriction) = 8;
8269         MY(alpha_min) = 300;
8270         MY(alpha_max) = 650;
8271         MY(alpha_fade) = 456;
8272         MY(color_min) = "0x4F4B46";
8273         MY(color_max) = "0x000000";
8274         MY(count) = 32;
8275         MY(notunderwater) = true;
8276         MY(sizeincrease) = 244;
8277         MY(size_min) = 50;
8278         MY(size_max) = 100;
8279         MY(tex_max) = 8;
8280         MY(type) = "alphastatic";
8281         MY(velocityjitter) = '3444.0 3444.0 3444.0';
8282 }
8283 // bouncing sparks
8284 SUB(explosion_big) {
8285         MY(airfriction) = 1;
8286         MY(alpha_min) = 644;
8287         MY(alpha_max) = 956;
8288         MY(alpha_fade) = 1284;
8289         MY(color_min) = "0xffa35b";
8290         MY(color_max) = "0xfff2be";
8291         MY(count) = 34;
8292         MY(gravity) = 1;
8293         MY(liquidfriction) = 0.800000;
8294         MY(notunderwater) = true;
8295         MY(originjitter) = '160.0 160.0 160.0';
8296         MY(size_min) = 3;
8297         MY(size_max) = 4;
8298         MY(stretchfactor) = 0.700000;
8299         MY(tex_min) = 40;
8300         MY(tex_max) = 40;
8301         MY(type) = "spark";
8302         MY(velocityjitter) = '924.0 924.0 924.0';
8303         MY(velocityoffset) = '0.0 0.0 370.0';
8304 }
8305 // debris
8306 SUB(explosion_big) {
8307         MY(airfriction) = 0.500000;
8308         MY(alpha_min) = 444;
8309         MY(alpha_max) = 1356;
8310         MY(alpha_fade) = 1184;
8311         MY(color_min) = "0xFFFFFF";
8312         MY(color_max) = "0xcac5b4";
8313         MY(count) = 16;
8314         MY(gravity) = 2.300000;
8315         MY(notunderwater) = true;
8316         MY(startangle_min) = -180;
8317         MY(startangle_max) = 180;
8318         MY(spin_min) = -1000;
8319         MY(spin_max) = 1000;
8320         MY(sizeincrease) = -5;
8321         MY(size_min) = 10;
8322         MY(size_max) = 16;
8323         MY(tex_min) = 66;
8324         MY(tex_max) = 68;
8325         MY(type) = "alphastatic";
8326         MY(velocityjitter) = '1800.0 1800.0 1800.0';
8327         MY(velocityoffset) = '0.0 0.0 970.0';
8328 }
8329 // underwater bubbles
8330 SUB(explosion_big) {
8331         MY(alpha_min) = 128;
8332         MY(alpha_max) = 256;
8333         MY(alpha_fade) = 64;
8334         MY(bounce) = 1.500000;
8335         MY(color_min) = "0x404040";
8336         MY(color_max) = "0x808080";
8337         MY(count) = 32;
8338         MY(gravity) = -0.125000;
8339         MY(liquidfriction) = 0.250000;
8340         MY(originjitter) = '160.0 160.0 160.0';
8341         MY(size_min) = 3;
8342         MY(size_max) = 3;
8343         MY(tex_min) = 62;
8344         MY(tex_max) = 62;
8345         MY(type) = "bubble";
8346         MY(underwater) = true;
8347         MY(velocityjitter) = '444.0 444.0 444.0';
8348 }
8349 // underwatershockwave
8350 SUB(explosion_big) {
8351         MY(alpha_min) = 40;
8352         MY(alpha_max) = 40;
8353         MY(alpha_fade) = 300;
8354         MY(countabsolute) = 1;
8355         MY(sizeincrease) = 2900;
8356         MY(size_min) = 30;
8357         MY(size_max) = 30;
8358         MY(tex_min) = 33;
8359         MY(tex_max) = 33;
8360         MY(type) = "smoke";
8361         MY(underwater) = true;
8362         MY(velocitymultiplier) = 0.300000;
8363 }
8364
8365 // generic explosion size:medium (it leaves rising smoke for a longer time)
8366 DEF(explosion_medium);
8367 // shockwave
8368 SUB(explosion_medium) {
8369         MY(alpha_min) = 56;
8370         MY(alpha_max) = 56;
8371         MY(alpha_fade) = 330;
8372         MY(color_min) = "0x8f0d00";
8373         MY(color_max) = "0xff5a00";
8374         MY(countabsolute) = 1;
8375         MY(sizeincrease) = 2400;
8376         MY(size_min) = 72;
8377         MY(size_max) = 72;
8378         MY(tex_min) = 33;
8379         MY(tex_max) = 33;
8380         MY(type) = "static";
8381 }
8382 // fire effect
8383 SUB(explosion_medium) {
8384         MY(airfriction) = 8;
8385         MY(alpha_min) = 200;
8386         MY(alpha_max) = 256;
8387         MY(alpha_fade) = 712;
8388         MY(color_min) = "0x8f0d00";
8389         MY(color_max) = "0xff5a00";
8390         MY(count) = 32;
8391         MY(liquidfriction) = 8;
8392         MY(notunderwater) = true;
8393         MY(originjitter) = '30.0 30.0 30.0';
8394         MY(startangle_min) = -180;
8395         MY(startangle_max) = 180;
8396         MY(spin_min) = -500;
8397         MY(spin_max) = 500;
8398         MY(sizeincrease) = 45;
8399         MY(size_min) = 133;
8400         MY(size_max) = 144;
8401         MY(tex_min) = 48;
8402         MY(tex_max) = 55;
8403         MY(type) = "static";
8404         MY(velocityjitter) = '1512.0 1512.0 1512.0';
8405 }
8406 // fire effect 2
8407 SUB(explosion_medium) {
8408         MY(airfriction) = 8;
8409         MY(alpha_min) = 200;
8410         MY(alpha_max) = 256;
8411         MY(alpha_fade) = 612;
8412         MY(color_min) = "0x8f0d00";
8413         MY(color_max) = "0xff5a00";
8414         MY(count) = 32;
8415         MY(gravity) = -2;
8416         MY(liquidfriction) = 8;
8417         MY(notunderwater) = true;
8418         MY(originjitter) = '30.0 30.0 30.0';
8419         MY(startangle_min) = -180;
8420         MY(startangle_max) = 180;
8421         MY(spin_min) = -150;
8422         MY(spin_max) = 150;
8423         MY(sizeincrease) = 40;
8424         MY(size_min) = 73;
8425         MY(size_max) = 94;
8426         MY(tex_min) = 48;
8427         MY(tex_max) = 55;
8428         MY(type) = "static";
8429         MY(velocityjitter) = '1512.0 1512.0 1512.0';
8430 }
8431 // fire rays
8432 SUB(explosion_medium) {
8433         MY(airfriction) = -3;
8434         MY(alpha_min) = 200;
8435         MY(alpha_max) = 256;
8436         MY(alpha_fade) = 800;
8437         MY(color_min) = "0x8f0d00";
8438         MY(color_max) = "0xff5a00";
8439         MY(count) = 14;
8440         MY(liquidfriction) = 8;
8441         MY(notunderwater) = true;
8442         MY(originjitter) = '40.0 40.0 40.0';
8443         MY(sizeincrease) = 40;
8444         MY(size_min) = 43;
8445         MY(size_max) = 74;
8446         MY(stretchfactor) = 8;
8447         MY(tex_min) = 48;
8448         MY(tex_max) = 55;
8449         MY(type) = "spark";
8450         MY(velocityjitter) = '512.0 512.0 512.0';
8451 }
8452 // smoke
8453 SUB(explosion_medium) {
8454         MY(airfriction) = 3;
8455         MY(alpha_min) = 300;
8456         MY(alpha_max) = 650;
8457         MY(alpha_fade) = 756;
8458         MY(color_min) = "0x4F4B46";
8459         MY(color_max) = "0x000000";
8460         MY(count) = 5;
8461         MY(notunderwater) = true;
8462         MY(originjitter) = '100.0 100.0 100.0';
8463         MY(startangle_min) = -180;
8464         MY(startangle_max) = 180;
8465         MY(spin_min) = -20;
8466         MY(spin_max) = 20;
8467         MY(sizeincrease) = -30;
8468         MY(size_min) = 250;
8469         MY(size_max) = 300;
8470         MY(tex_max) = 8;
8471         MY(type) = "alphastatic";
8472         MY(velocityjitter) = '200.0 200.0 200.0';
8473 }
8474 // smoke 2
8475 SUB(explosion_medium) {
8476         MY(airfriction) = 3;
8477         MY(alpha_min) = 300;
8478         MY(alpha_max) = 650;
8479         MY(alpha_fade) = 256;
8480         MY(color_min) = "0x4F4B46";
8481         MY(color_max) = "0x000000";
8482         MY(count) = 10;
8483         MY(gravity) = -0.300000;
8484         MY(notunderwater) = true;
8485         MY(originjitter) = '100.0 100.0 100.0';
8486         MY(startangle_min) = -180;
8487         MY(startangle_max) = 180;
8488         MY(spin_min) = -20;
8489         MY(spin_max) = 20;
8490         MY(sizeincrease) = 50;
8491         MY(size_min) = 50;
8492         MY(size_max) = 100;
8493         MY(tex_max) = 8;
8494         MY(type) = "alphastatic";
8495         MY(velocityjitter) = '500.0 500.0 500.0';
8496         MY(velocityoffset) = '0.0 0.0 200.0';
8497 }
8498 // smoke rays
8499 SUB(explosion_medium) {
8500         MY(alpha_min) = 140;
8501         MY(alpha_max) = 255;
8502         MY(alpha_fade) = 350;
8503         MY(color_min) = "0x4F4B46";
8504         MY(color_max) = "0x000000";
8505         MY(count) = 13;
8506         MY(notunderwater) = true;
8507         MY(originjitter) = '40.0 40.0 40.0';
8508         MY(sizeincrease) = 100;
8509         MY(size_min) = 150;
8510         MY(size_max) = 200;
8511         MY(stretchfactor) = 50;
8512         MY(tex_max) = 8;
8513         MY(type) = "spark";
8514         MY(velocityjitter) = '250.0 250.0 250.0';
8515 }
8516 // bouncing sparks
8517 SUB(explosion_medium) {
8518         MY(airfriction) = 1;
8519         MY(alpha_min) = 644;
8520         MY(alpha_max) = 956;
8521         MY(alpha_fade) = 984;
8522         MY(color_min) = "0xffa35b";
8523         MY(color_max) = "0xfff2be";
8524         MY(count) = 14;
8525         MY(gravity) = 1;
8526         MY(liquidfriction) = 0.800000;
8527         MY(notunderwater) = true;
8528         MY(originjitter) = '100.0 100.0 100.0';
8529         MY(size_min) = 2;
8530         MY(size_max) = 3;
8531         MY(stretchfactor) = 0.700000;
8532         MY(tex_min) = 40;
8533         MY(tex_max) = 40;
8534         MY(type) = "spark";
8535         MY(velocityjitter) = '624.0 624.0 624.0';
8536         MY(velocityoffset) = '0.0 0.0 370.0';
8537 }
8538 // underwater bubbles
8539 SUB(explosion_medium) {
8540         MY(alpha_min) = 128;
8541         MY(alpha_max) = 256;
8542         MY(alpha_fade) = 64;
8543         MY(bounce) = 1.500000;
8544         MY(color_min) = "0x404040";
8545         MY(color_max) = "0x808080";
8546         MY(count) = 32;
8547         MY(gravity) = -0.125000;
8548         MY(liquidfriction) = 0.250000;
8549         MY(originjitter) = '160.0 160.0 160.0';
8550         MY(size_min) = 3;
8551         MY(size_max) = 3;
8552         MY(tex_min) = 62;
8553         MY(tex_max) = 62;
8554         MY(type) = "bubble";
8555         MY(underwater) = true;
8556         MY(velocityjitter) = '444.0 444.0 444.0';
8557 }
8558 // underwatershockwave
8559 SUB(explosion_medium) {
8560         MY(alpha_min) = 40;
8561         MY(alpha_max) = 40;
8562         MY(alpha_fade) = 300;
8563         MY(countabsolute) = 1;
8564         MY(sizeincrease) = 2900;
8565         MY(size_min) = 30;
8566         MY(size_max) = 30;
8567         MY(tex_min) = 33;
8568         MY(tex_max) = 33;
8569         MY(type) = "smoke";
8570         MY(underwater) = true;
8571         MY(velocitymultiplier) = 0.300000;
8572 }
8573
8574 // generic explosion size:small (its fire only, made to support other explosions)
8575 DEF(explosion_small);
8576 // shockwave
8577 SUB(explosion_small) {
8578         MY(alpha_min) = 56;
8579         MY(alpha_max) = 56;
8580         MY(alpha_fade) = 330;
8581         MY(color_min) = "0x8f0d00";
8582         MY(color_max) = "0xff5a00";
8583         MY(countabsolute) = 1;
8584         MY(sizeincrease) = 2400;
8585         MY(size_min) = 22;
8586         MY(size_max) = 22;
8587         MY(tex_min) = 33;
8588         MY(tex_max) = 33;
8589         MY(type) = "static";
8590 }
8591 // fire effect
8592 SUB(explosion_small) {
8593         MY(airfriction) = 5;
8594         MY(alpha_min) = 200;
8595         MY(alpha_max) = 256;
8596         MY(alpha_fade) = 1212;
8597         MY(color_min) = "0x8f0d00";
8598         MY(color_max) = "0xff5a00";
8599         MY(count) = 16;
8600         MY(liquidfriction) = 8;
8601         MY(notunderwater) = true;
8602         MY(startangle_min) = -180;
8603         MY(startangle_max) = 180;
8604         MY(spin_min) = -500;
8605         MY(spin_max) = 500;
8606         MY(sizeincrease) = 45;
8607         MY(size_min) = 1;
8608         MY(size_max) = 44;
8609         MY(tex_min) = 48;
8610         MY(tex_max) = 55;
8611         MY(type) = "static";
8612         MY(velocityjitter) = '512.0 512.0 512.0';
8613 }
8614 // fire effect 2
8615 SUB(explosion_small) {
8616         MY(airfriction) = 8;
8617         MY(alpha_min) = 200;
8618         MY(alpha_max) = 256;
8619         MY(alpha_fade) = 812;
8620         MY(color_min) = "0x8f0d00";
8621         MY(color_max) = "0xff5a00";
8622         MY(count) = 16;
8623         MY(liquidfriction) = 8;
8624         MY(notunderwater) = true;
8625         MY(startangle_min) = -180;
8626         MY(startangle_max) = 180;
8627         MY(spin_min) = -150;
8628         MY(spin_max) = 150;
8629         MY(sizeincrease) = 40;
8630         MY(size_min) = 73;
8631         MY(size_max) = 94;
8632         MY(tex_min) = 48;
8633         MY(tex_max) = 55;
8634         MY(type) = "static";
8635         MY(velocityjitter) = '912.0 912.0 912.0';
8636 }
8637 // fire rays
8638 SUB(explosion_small) {
8639         MY(airfriction) = -3;
8640         MY(alpha_min) = 200;
8641         MY(alpha_max) = 256;
8642         MY(alpha_fade) = 1300;
8643         MY(color_min) = "0x8f0d00";
8644         MY(color_max) = "0xff5a00";
8645         MY(count) = 14;
8646         MY(liquidfriction) = 8;
8647         MY(notunderwater) = true;
8648         MY(originjitter) = '40.0 40.0 40.0';
8649         MY(sizeincrease) = 30;
8650         MY(size_min) = 13;
8651         MY(size_max) = 54;
8652         MY(stretchfactor) = 8;
8653         MY(tex_min) = 48;
8654         MY(tex_max) = 55;
8655         MY(type) = "spark";
8656         MY(velocityjitter) = '512.0 512.0 512.0';
8657 }
8658 // underwater bubbles
8659 SUB(explosion_small) {
8660         MY(alpha_min) = 128;
8661         MY(alpha_max) = 256;
8662         MY(alpha_fade) = 64;
8663         MY(bounce) = 1.500000;
8664         MY(color_min) = "0x404040";
8665         MY(color_max) = "0x808080";
8666         MY(count) = 32;
8667         MY(gravity) = -0.125000;
8668         MY(liquidfriction) = 0.250000;
8669         MY(originjitter) = '160.0 160.0 160.0';
8670         MY(size_min) = 1;
8671         MY(size_max) = 3;
8672         MY(tex_min) = 62;
8673         MY(tex_max) = 62;
8674         MY(type) = "bubble";
8675         MY(underwater) = true;
8676         MY(velocityjitter) = '144.0 144.0 144.0';
8677 }
8678 // underwatershockwave
8679 SUB(explosion_small) {
8680         MY(alpha_min) = 40;
8681         MY(alpha_max) = 40;
8682         MY(alpha_fade) = 300;
8683         MY(countabsolute) = 1;
8684         MY(sizeincrease) = 1200;
8685         MY(size_min) = 30;
8686         MY(size_max) = 30;
8687         MY(tex_min) = 33;
8688         MY(tex_max) = 33;
8689         MY(type) = "smoke";
8690         MY(underwater) = true;
8691 }
8692
8693 // big smoke ( for spamming on damaged stuff )
8694 DEF(smoke_big);
8695 SUB(smoke_big) {
8696         MY(airfriction) = 4;
8697         MY(alpha_min) = 200;
8698         MY(alpha_max) = 750;
8699         MY(alpha_fade) = 200;
8700         MY(color_min) = "0x4F4B46";
8701         MY(color_max) = "0x000000";
8702         MY(count) = 3;
8703         MY(gravity) = -0.500000;
8704         MY(notunderwater) = true;
8705         MY(originjitter) = '55.0 55.0 55.0';
8706         MY(startangle_min) = -180;
8707         MY(startangle_max) = 180;
8708         MY(spin_min) = -20;
8709         MY(spin_max) = 20;
8710         MY(sizeincrease) = 15;
8711         MY(size_min) = 30;
8712         MY(size_max) = 60;
8713         MY(tex_max) = 8;
8714         MY(type) = "alphastatic";
8715         MY(velocityjitter) = '140.0 140.0 200.0';
8716         MY(velocityoffset) = '0.0 0.0 200.0';
8717 }
8718
8719 // small smoke ( more precise than big one, for spamming on damaged parts like raptors spinner )
8720 DEF(smoke_small);
8721 SUB(smoke_small) {
8722         MY(airfriction) = 4;
8723         MY(alpha_min) = 200;
8724         MY(alpha_max) = 750;
8725         MY(alpha_fade) = 200;
8726         MY(color_min) = "0x4F4B46";
8727         MY(color_max) = "0x000000";
8728         MY(count) = 3;
8729         MY(gravity) = -0.500000;
8730         MY(notunderwater) = true;
8731         MY(startangle_min) = -180;
8732         MY(startangle_max) = 180;
8733         MY(spin_min) = -20;
8734         MY(spin_max) = 20;
8735         MY(sizeincrease) = -10;
8736         MY(size_min) = 60;
8737         MY(size_max) = 100;
8738         MY(tex_max) = 8;
8739         MY(type) = "alphastatic";
8740         MY(velocityjitter) = '40.0 40.0 400.0';
8741         MY(velocityoffset) = '0.0 0.0 200.0';
8742 }
8743
8744 // metal impact effect
8745 DEF(impact_metal);
8746 SUB(impact_metal) {
8747         MY(alpha_min) = 25;
8748         MY(alpha_max) = 64;
8749         MY(alpha_fade) = 50;
8750         MY(color_min) = "0x000000";
8751         MY(color_max) = "0x886666";
8752         MY(count) = 1;
8753         MY(gravity) = -0.010000;
8754         MY(originjitter) = '20.0 20.0 5.0';
8755         MY(sizeincrease) = 10;
8756         MY(size_min) = 3;
8757         MY(size_max) = 6;
8758         MY(tex_max) = 8;
8759         MY(type) = "alphastatic";
8760 }
8761 // sparks
8762 SUB(impact_metal) {
8763         MY(airfriction) = 2;
8764         MY(alpha_min) = 255;
8765         MY(alpha_max) = 255;
8766         MY(alpha_fade) = 112;
8767         MY(bounce) = 1.800000;
8768         MY(color_min) = "0xFFCC22";
8769         MY(color_max) = "0xFF4422";
8770         MY(count) = 2;
8771         MY(gravity) = 1;
8772         MY(size_min) = 2;
8773         MY(size_max) = 2;
8774         MY(stretchfactor) = 0.500000;
8775         MY(tex_min) = 41;
8776         MY(tex_max) = 41;
8777         MY(type) = "spark";
8778         MY(velocityjitter) = '200.0 200.0 300.0';
8779         MY(velocitymultiplier) = 2;
8780 }
8781
8782 // stone impact effect
8783 DEF(impact_stone);
8784 SUB(impact_stone) {
8785         MY(alpha_min) = 50;
8786         MY(alpha_max) = 128;
8787         MY(alpha_fade) = 75;
8788         MY(color_min) = "0x000000";
8789         MY(color_max) = "0xcc9966";
8790         MY(count) = 1;
8791         MY(gravity) = -0.010000;
8792         MY(originjitter) = '20.0 20.0 5.0';
8793         MY(sizeincrease) = 15;
8794         MY(size_min) = 3;
8795         MY(size_max) = 6;
8796         MY(tex_max) = 8;
8797         MY(type) = "alphastatic";
8798 }
8799 // debris
8800 SUB(impact_stone) {
8801         MY(airfriction) = 0.500000;
8802         MY(alpha_min) = 450;
8803         MY(alpha_max) = 750;
8804         MY(alpha_fade) = 300;
8805         MY(bounce) = 1.200000;
8806         MY(color_min) = "0x000000";
8807         MY(color_max) = "0x886644";
8808         MY(count) = 1;
8809         MY(gravity) = 1.300000;
8810         MY(notunderwater) = true;
8811         MY(startangle_min) = -180;
8812         MY(startangle_max) = 180;
8813         MY(spin_min) = -1000;
8814         MY(spin_max) = 1000;
8815         MY(size_min) = 1;
8816         MY(size_max) = 2;
8817         MY(tex_min) = 66;
8818         MY(tex_max) = 68;
8819         MY(type) = "alphastatic";
8820         MY(velocityjitter) = '124.0 124.0 324.0';
8821 }
8822
8823 // wood impact effect
8824 DEF(impact_wood);
8825 SUB(impact_wood) {
8826         MY(alpha_min) = 50;
8827         MY(alpha_max) = 128;
8828         MY(alpha_fade) = 75;
8829         MY(color_min) = "0x000000";
8830         MY(color_max) = "0xcc9966";
8831         MY(count) = 1;
8832         MY(gravity) = -0.010000;
8833         MY(originjitter) = '20.0 20.0 5.0';
8834         MY(sizeincrease) = 10;
8835         MY(size_min) = 3;
8836         MY(size_max) = 6;
8837         MY(tex_max) = 8;
8838         MY(type) = "alphastatic";
8839 }
8840 // sparks
8841 SUB(impact_wood) {
8842         MY(airfriction) = 2;
8843         MY(alpha_min) = 255;
8844         MY(alpha_max) = 255;
8845         MY(alpha_fade) = 75;
8846         MY(bounce) = 1.500000;
8847         MY(color_min) = "0x221100";
8848         MY(color_max) = "0x221100";
8849         MY(count) = 2;
8850         MY(gravity) = 1;
8851         MY(size_min) = 1;
8852         MY(size_max) = 8;
8853         MY(tex_min) = 41;
8854         MY(tex_max) = 41;
8855         MY(type) = "spark";
8856         MY(velocityjitter) = '180.0 180.0 260.0';
8857         MY(velocitymultiplier) = 2;
8858 }
8859
8860 // flesh impact effect
8861 DEF(impact_flesh);
8862 SUB(impact_flesh) {
8863         MY(alpha_min) = 100;
8864         MY(alpha_max) = 256;
8865         MY(alpha_fade) = 400;
8866         MY(color_min) = "0x000000";
8867         MY(color_max) = "0x420000";
8868         MY(count) = 0.500000;
8869         MY(originjitter) = '11.0 11.0 11.0';
8870         MY(size_min) = 8;
8871         MY(size_max) = 12;
8872         MY(tex_max) = 8;
8873         MY(type) = "alphastatic";
8874 }
8875 // blood splash
8876 SUB(impact_flesh) {
8877         MY(airfriction) = 1;
8878         MY(alpha_min) = 256;
8879         MY(alpha_max) = 256;
8880         MY(alpha_fade) = 64;
8881         MY(bounce) = -1;
8882         MY(color_min) = "0xA8FFFF";
8883         MY(color_max) = "0xA8FFFFF";
8884         MY(count) = 0.300000;
8885         MY(liquidfriction) = 4;
8886         MY(size_min) = 2;
8887         MY(size_max) = 6;
8888         MY(staincolor_min) = "0x808080";
8889         MY(staincolor_max) = "0x808080";
8890         MY(staintex_min) = 16;
8891         MY(staintex_max) = 24;
8892         MY(tex_min) = 24;
8893         MY(tex_max) = 32;
8894         MY(type) = "blood";
8895         MY(velocityjitter) = '96.0 96.0 96.0';
8896         MY(velocitymultiplier) = 5;
8897 }
8898
8899 // hagar trail
8900 DEF(tr_hagar);
8901 // smoke
8902 SUB(tr_hagar) {
8903         MY(alpha_min) = 300;
8904         MY(alpha_max) = 400;
8905         MY(alpha_fade) = 780;
8906         MY(bounce) = 1;
8907         MY(color_min) = "0x101010";
8908         MY(color_max) = "0x000000";
8909         MY(originjitter) = '1.0 1.0 1.0';
8910         MY(sizeincrease) = 10;
8911         MY(size_min) = 3;
8912         MY(size_max) = 2;
8913         MY(tex_max) = 8;
8914         MY(trailspacing) = 4;
8915         MY(type) = "smoke";
8916         MY(velocityjitter) = '1.0 1.0 1.0';
8917         MY(velocitymultiplier) = -0.020000;
8918 }
8919 // fire
8920 SUB(tr_hagar) {
8921         MY(airfriction) = 8;
8922         MY(alpha_min) = 100;
8923         MY(alpha_max) = 144;
8924         MY(alpha_fade) = 988;
8925         MY(color_min) = "0xffdf72";
8926         MY(color_max) = "0x811200";
8927         MY(notunderwater) = true;
8928         MY(sizeincrease) = -15;
8929         MY(size_min) = 5;
8930         MY(size_max) = 2;
8931         MY(tex_min) = 48;
8932         MY(tex_max) = 55;
8933         MY(trailspacing) = 4;
8934         MY(type) = "static";
8935         MY(velocityjitter) = '32.0 32.0 32.0';
8936         MY(velocitymultiplier) = -1;
8937 }
8938 // bubbles
8939 SUB(tr_hagar) {
8940         MY(alpha_min) = 256;
8941         MY(alpha_max) = 256;
8942         MY(alpha_fade) = 256;
8943         MY(bounce) = 1.500000;
8944         MY(color_min) = "0x404040";
8945         MY(color_max) = "0x808080";
8946         MY(gravity) = -0.125000;
8947         MY(liquidfriction) = 4;
8948         MY(size_min) = 1;
8949         MY(size_max) = 1;
8950         MY(tex_min) = 62;
8951         MY(tex_max) = 62;
8952         MY(trailspacing) = 16;
8953         MY(type) = "bubble";
8954         MY(underwater) = true;
8955         MY(velocityjitter) = '16.0 16.0 16.0';
8956 }
8957
8958 // laser damage effect
8959 DEF(damage_laser);
8960 SUB(damage_laser) {
8961         MY(airfriction) = -0.350000;
8962         MY(alpha_min) = 128;
8963         MY(alpha_max) = 16;
8964         MY(alpha_fade) = 128;
8965         MY(color_min) = "0x880000";
8966         MY(color_max) = "0xff4400";
8967         MY(count) = 3;
8968         MY(notunderwater) = true;
8969         MY(originjitter) = '2.0 2.0 2.0';
8970         MY(startangle_max) = 180;
8971         MY(spin_min) = -30;
8972         MY(spin_max) = 30;
8973         MY(sizeincrease) = 8;
8974         MY(size_min) = 2;
8975         MY(size_max) = 4;
8976         MY(tex_max) = 8;
8977         MY(type) = "smoke";
8978         MY(velocityjitter) = '0.4 0.4 0.6';
8979 }
8980
8981 // shotgun damage effect, normal blood
8982 DEF(damage_shotgun);
8983 SUB(damage_shotgun) {
8984         MY(airfriction) = 1;
8985         MY(alpha_min) = 256;
8986         MY(alpha_max) = 256;
8987         MY(alpha_fade) = 64;
8988         MY(bounce) = -1;
8989         MY(color_min) = "0xA8FFFF";
8990         MY(color_max) = "0xA8FFFFF";
8991         MY(count) = 0.600000;
8992         MY(liquidfriction) = 4;
8993         MY(size_min) = 2;
8994         MY(size_max) = 4;
8995         MY(staincolor_min) = "0x808080";
8996         MY(staincolor_max) = "0x808080";
8997         MY(staintex_min) = 16;
8998         MY(staintex_max) = 24;
8999         MY(tex_min) = 24;
9000         MY(tex_max) = 32;
9001         MY(type) = "blood";
9002         MY(velocityjitter) = '64.0 64.0 64.0';
9003         MY(velocitymultiplier) = 5;
9004 }
9005 // blood mist
9006 SUB(damage_shotgun) {
9007         MY(alpha_min) = 100;
9008         MY(alpha_max) = 256;
9009         MY(alpha_fade) = 400;
9010         MY(color_min) = "0x000000";
9011         MY(color_max) = "0x420000";
9012         MY(count) = 1;
9013         MY(originjitter) = '1.0 1.0 1.0';
9014         MY(size_min) = 8;
9015         MY(size_max) = 16;
9016         MY(tex_max) = 8;
9017         MY(type) = "alphastatic";
9018 }
9019
9020 // shotgun damage effect, alien blood
9021 DEF(damage_shotgun_alien);
9022 SUB(damage_shotgun_alien) {
9023         MY(airfriction) = 1;
9024         MY(alpha_min) = 256;
9025         MY(alpha_max) = 256;
9026         MY(alpha_fade) = 64;
9027         MY(bounce) = -1;
9028         MY(color_min) = "0xDC9BCD";
9029         MY(color_max) = "0xDC9BCD";
9030         MY(count) = 0.600000;
9031         MY(liquidfriction) = 4;
9032         MY(size_min) = 2;
9033         MY(size_max) = 4;
9034         MY(staincolor_min) = "0x808080";
9035         MY(staincolor_max) = "0x808080";
9036         MY(staintex_min) = 16;
9037         MY(staintex_max) = 24;
9038         MY(tex_min) = 24;
9039         MY(tex_max) = 32;
9040         MY(type) = "blood";
9041         MY(velocityjitter) = '64.0 64.0 64.0';
9042         MY(velocitymultiplier) = 5;
9043 }
9044 // blood mist
9045 SUB(damage_shotgun_alien) {
9046         MY(alpha_min) = 100;
9047         MY(alpha_max) = 256;
9048         MY(alpha_fade) = 400;
9049         MY(color_min) = "0x000000";
9050         MY(color_max) = "0x204010";
9051         MY(count) = 1;
9052         MY(originjitter) = '1.0 1.0 1.0';
9053         MY(size_min) = 8;
9054         MY(size_max) = 16;
9055         MY(tex_max) = 8;
9056         MY(type) = "alphastatic";
9057 }
9058
9059 // shotgun damage effect, robot blood
9060 DEF(damage_shotgun_robot);
9061 SUB(damage_shotgun_robot) {
9062         MY(airfriction) = 1;
9063         MY(alpha_min) = 256;
9064         MY(alpha_max) = 256;
9065         MY(alpha_fade) = 64;
9066         MY(bounce) = -1;
9067         MY(color_min) = "0xC0D890";
9068         MY(color_max) = "0xC0D890";
9069         MY(count) = 0.600000;
9070         MY(liquidfriction) = 4;
9071         MY(size_min) = 2;
9072         MY(size_max) = 4;
9073         MY(staincolor_min) = "0x808080";
9074         MY(staincolor_max) = "0x808080";
9075         MY(staintex_min) = 16;
9076         MY(staintex_max) = 24;
9077         MY(tex_min) = 24;
9078         MY(tex_max) = 32;
9079         MY(type) = "blood";
9080         MY(velocityjitter) = '64.0 64.0 64.0';
9081         MY(velocitymultiplier) = 5;
9082 }
9083 // blood mist
9084 SUB(damage_shotgun_robot) {
9085         MY(alpha_min) = 100;
9086         MY(alpha_max) = 256;
9087         MY(alpha_fade) = 400;
9088         MY(color_min) = "0x000000";
9089         MY(color_max) = "0x301860";
9090         MY(count) = 1;
9091         MY(originjitter) = '1.0 1.0 1.0';
9092         MY(size_min) = 8;
9093         MY(size_max) = 16;
9094         MY(tex_max) = 8;
9095         MY(type) = "alphastatic";
9096 }
9097
9098 // machinegun damage effect, normal blood
9099 DEF(damage_uzi);
9100 SUB(damage_uzi) {
9101         MY(airfriction) = 1;
9102         MY(alpha_min) = 256;
9103         MY(alpha_max) = 256;
9104         MY(alpha_fade) = 64;
9105         MY(bounce) = -1;
9106         MY(color_min) = "0xA8FFFF";
9107         MY(color_max) = "0xA8FFFFF";
9108         MY(count) = 0.300000;
9109         MY(liquidfriction) = 4;
9110         MY(size_min) = 2;
9111         MY(size_max) = 4;
9112         MY(staincolor_min) = "0x808080";
9113         MY(staincolor_max) = "0x808080";
9114         MY(staintex_min) = 16;
9115         MY(staintex_max) = 24;
9116         MY(tex_min) = 24;
9117         MY(tex_max) = 32;
9118         MY(type) = "blood";
9119         MY(velocityjitter) = '32.0 32.0 32.0';
9120         MY(velocitymultiplier) = 5;
9121 }
9122 // blood mist
9123 SUB(damage_uzi) {
9124         MY(alpha_min) = 100;
9125         MY(alpha_max) = 256;
9126         MY(alpha_fade) = 400;
9127         MY(color_min) = "0x000000";
9128         MY(color_max) = "0x420000";
9129         MY(count) = 1;
9130         MY(size_min) = 6;
9131         MY(size_max) = 12;
9132         MY(tex_max) = 8;
9133         MY(type) = "alphastatic";
9134 }
9135
9136 // machinegun damage effect, alien blood
9137 DEF(damage_uzi_alien);
9138 SUB(damage_uzi_alien) {
9139         MY(airfriction) = 1;
9140         MY(alpha_min) = 256;
9141         MY(alpha_max) = 256;
9142         MY(alpha_fade) = 64;
9143         MY(bounce) = -1;
9144         MY(color_min) = "0xDC9BCD";
9145         MY(color_max) = "0xDC9BCD";
9146         MY(count) = 0.300000;
9147         MY(liquidfriction) = 4;
9148         MY(size_min) = 2;
9149         MY(size_max) = 4;
9150         MY(staincolor_min) = "0x808080";
9151         MY(staincolor_max) = "0x808080";
9152         MY(staintex_min) = 16;
9153         MY(staintex_max) = 24;
9154         MY(tex_min) = 24;
9155         MY(tex_max) = 32;
9156         MY(type) = "blood";
9157         MY(velocityjitter) = '32.0 32.0 32.0';
9158         MY(velocitymultiplier) = 5;
9159 }
9160 // blood mist
9161 SUB(damage_uzi_alien) {
9162         MY(alpha_min) = 100;
9163         MY(alpha_max) = 256;
9164         MY(alpha_fade) = 400;
9165         MY(color_min) = "0x000000";
9166         MY(color_max) = "0x204010";
9167         MY(count) = 1;
9168         MY(size_min) = 6;
9169         MY(size_max) = 12;
9170         MY(tex_max) = 8;
9171         MY(type) = "alphastatic";
9172 }
9173
9174 // machinegun damage effect, robot blood
9175 DEF(damage_uzi_robot);
9176 SUB(damage_uzi_robot) {
9177         MY(airfriction) = 1;
9178         MY(alpha_min) = 256;
9179         MY(alpha_max) = 256;
9180         MY(alpha_fade) = 64;
9181         MY(bounce) = -1;
9182         MY(color_min) = "0xC0D890";
9183         MY(color_max) = "0xC0D890";
9184         MY(count) = 0.300000;
9185         MY(liquidfriction) = 4;
9186         MY(size_min) = 2;
9187         MY(size_max) = 4;
9188         MY(staincolor_min) = "0x808080";
9189         MY(staincolor_max) = "0x808080";
9190         MY(staintex_min) = 16;
9191         MY(staintex_max) = 24;
9192         MY(tex_min) = 24;
9193         MY(tex_max) = 32;
9194         MY(type) = "blood";
9195         MY(velocityjitter) = '32.0 32.0 32.0';
9196         MY(velocitymultiplier) = 5;
9197 }
9198 // blood mist
9199 SUB(damage_uzi_robot) {
9200         MY(alpha_min) = 100;
9201         MY(alpha_max) = 256;
9202         MY(alpha_fade) = 400;
9203         MY(color_min) = "0x000000";
9204         MY(color_max) = "0x301860";
9205         MY(count) = 1;
9206         MY(size_min) = 6;
9207         MY(size_max) = 12;
9208         MY(tex_max) = 8;
9209         MY(type) = "alphastatic";
9210 }
9211
9212 // minelayer damage effect
9213 DEF(damage_minelayer);
9214 SUB(damage_minelayer) {
9215         MY(alpha_min) = 512;
9216         MY(alpha_max) = 64;
9217         MY(alpha_fade) = 1024;
9218         MY(color_min) = "0x8f0d00";
9219         MY(color_max) = "0xff5a00";
9220         MY(count) = 3;
9221         MY(gravity) = -0.500000;
9222         MY(notunderwater) = true;
9223         MY(originjitter) = '2.0 2.0 2.0';
9224         MY(sizeincrease) = -15;
9225         MY(size_min) = 4;
9226         MY(size_max) = 8;
9227         MY(tex_min) = 48;
9228         MY(tex_max) = 55;
9229         MY(type) = "smoke";
9230         MY(velocityjitter) = '22.0 22.0 50.0';
9231 }
9232 // smoke
9233 SUB(damage_minelayer) {
9234         MY(alpha_min) = 128;
9235         MY(alpha_max) = 32;
9236         MY(alpha_fade) = 128;
9237         MY(color_min) = "0x000000";
9238         MY(color_max) = "0x111111";
9239         MY(count) = 2;
9240         MY(gravity) = -0.300000;
9241         MY(notunderwater) = true;
9242         MY(originjitter) = '4.0 4.0 4.0';
9243         MY(sizeincrease) = 5;
9244         MY(size_min) = 4;
9245         MY(size_max) = 8;
9246         MY(tex_max) = 8;
9247         MY(type) = "alphastatic";
9248         MY(velocityjitter) = '11.0 11.0 50.0';
9249 }
9250
9251 // mortar damage effect
9252 DEF(damage_grenadelauncher);
9253 SUB(damage_grenadelauncher) {
9254         MY(alpha_min) = 512;
9255         MY(alpha_max) = 64;
9256         MY(alpha_fade) = 1024;
9257         MY(color_min) = "0x8f0d00";
9258         MY(color_max) = "0xff5a00";
9259         MY(count) = 3;
9260         MY(gravity) = -0.500000;
9261         MY(notunderwater) = true;
9262         MY(originjitter) = '2.0 2.0 2.0';
9263         MY(sizeincrease) = -15;
9264         MY(size_min) = 4;
9265         MY(size_max) = 8;
9266         MY(tex_min) = 48;
9267         MY(tex_max) = 55;
9268         MY(type) = "smoke";
9269         MY(velocityjitter) = '22.0 22.0 50.0';
9270 }
9271 // smoke
9272 SUB(damage_grenadelauncher) {
9273         MY(alpha_min) = 128;
9274         MY(alpha_max) = 32;
9275         MY(alpha_fade) = 128;
9276         MY(color_min) = "0x000000";
9277         MY(color_max) = "0x111111";
9278         MY(count) = 2;
9279         MY(gravity) = -0.300000;
9280         MY(notunderwater) = true;
9281         MY(originjitter) = '4.0 4.0 4.0';
9282         MY(sizeincrease) = 5;
9283         MY(size_min) = 4;
9284         MY(size_max) = 8;
9285         MY(tex_max) = 8;
9286         MY(type) = "alphastatic";
9287         MY(velocityjitter) = '11.0 11.0 50.0';
9288 }
9289
9290 // electro damage effect
9291 DEF(damage_electro);
9292 SUB(damage_electro) {
9293         MY(airfriction) = -0.500000;
9294         MY(alpha_min) = 48;
9295         MY(alpha_max) = 8;
9296         MY(alpha_fade) = 48;
9297         MY(color_min) = "0x66ffff";
9298         MY(color_max) = "0x2288ff";
9299         MY(count) = 2;
9300         MY(gravity) = -0.000100;
9301         MY(liquidfriction) = 0.800000;
9302         MY(notunderwater) = true;
9303         MY(originjitter) = '3.0 3.0 3.0';
9304         MY(startangle_min) = 180;
9305         MY(startangle_max) = 360;
9306         MY(spin_min) = -30;
9307         MY(spin_max) = 30;
9308         MY(sizeincrease) = -14;
9309         MY(size_min) = 6;
9310         MY(size_max) = 10;
9311         MY(tex_min) = 47;
9312         MY(tex_max) = 47;
9313         MY(type) = "static";
9314         MY(velocityjitter) = '8.0 8.0 16.0';
9315 }
9316 // plasma smoke
9317 SUB(damage_electro) {
9318         MY(airfriction) = -0.350000;
9319         MY(alpha_min) = 64;
9320         MY(alpha_max) = 16;
9321         MY(alpha_fade) = 64;
9322         MY(color_min) = "0x2244ff";
9323         MY(color_max) = "0x002266";
9324         MY(count) = 4;
9325         MY(notunderwater) = true;
9326         MY(originjitter) = '4.0 4.0 4.0';
9327         MY(startangle_max) = 180;
9328         MY(spin_min) = -30;
9329         MY(spin_max) = 30;
9330         MY(sizeincrease) = 10;
9331         MY(size_min) = 4;
9332         MY(size_max) = 8;
9333         MY(tex_max) = 8;
9334         MY(type) = "smoke";
9335         MY(velocityjitter) = '0.4 0.4 0.6';
9336 }
9337 // bouncing sparks
9338 SUB(damage_electro) {
9339         MY(airfriction) = 1;
9340         MY(alpha_min) = 768;
9341         MY(alpha_max) = 64;
9342         MY(alpha_fade) = 256;
9343         MY(bounce) = 1.500000;
9344         MY(color_min) = "0x003090";
9345         MY(color_max) = "0x00CCFF";
9346         MY(count) = 0.500000;
9347         MY(gravity) = 0.200000;
9348         MY(liquidfriction) = 0.800000;
9349         MY(size_min) = 1;
9350         MY(size_max) = 1;
9351         MY(tex_min) = 66;
9352         MY(tex_max) = 68;
9353         MY(type) = "spark";
9354         MY(velocityjitter) = '32.0 32.0 32.0';
9355 }
9356
9357 // crylink damage effect
9358 DEF(damage_crylink);
9359 SUB(damage_crylink) {
9360         MY(airfriction) = -0.500000;
9361         MY(alpha_min) = 48;
9362         MY(alpha_max) = 16;
9363         MY(alpha_fade) = 48;
9364         MY(color_min) = "0xff44ff";
9365         MY(color_max) = "0x9966ff";
9366         MY(count) = 2;
9367         MY(gravity) = -0.000100;
9368         MY(liquidfriction) = 0.800000;
9369         MY(notunderwater) = true;
9370         MY(originjitter) = '3.0 3.0 3.0';
9371         MY(startangle_min) = 180;
9372         MY(startangle_max) = 360;
9373         MY(spin_min) = -30;
9374         MY(spin_max) = 30;
9375         MY(sizeincrease) = -8;
9376         MY(size_min) = 0.500000;
9377         MY(size_max) = 1;
9378         MY(tex_min) = 38;
9379         MY(tex_max) = 38;
9380         MY(type) = "static";
9381         MY(velocityjitter) = '10.0 10.0 20.0';
9382 }
9383 // plasma smoke
9384 SUB(damage_crylink) {
9385         MY(airfriction) = -0.350000;
9386         MY(alpha_min) = 64;
9387         MY(alpha_max) = 16;
9388         MY(alpha_fade) = 64;
9389         MY(color_min) = "0x8844ff";
9390         MY(color_max) = "0x662244";
9391         MY(count) = 4;
9392         MY(gravity) = 0.001000;
9393         MY(notunderwater) = true;
9394         MY(originjitter) = '4.0 4.0 4.0';
9395         MY(startangle_max) = 180;
9396         MY(spin_min) = -30;
9397         MY(spin_max) = 30;
9398         MY(sizeincrease) = 6;
9399         MY(size_min) = 5;
9400         MY(size_max) = 10;
9401         MY(tex_max) = 8;
9402         MY(type) = "smoke";
9403         MY(velocityjitter) = '0.4 0.4 0.6';
9404 }
9405 // floating sparks
9406 SUB(damage_crylink) {
9407         MY(airfriction) = 0.200000;
9408         MY(alpha_min) = 192;
9409         MY(alpha_max) = 192;
9410         MY(alpha_fade) = 128;
9411         MY(color_min) = "0x903090";
9412         MY(color_max) = "0xFFD0FF";
9413         MY(count) = 0.300000;
9414         MY(liquidfriction) = 0.800000;
9415         MY(sizeincrease) = -5;
9416         MY(size_min) = 0.500000;
9417         MY(size_max) = 0.500000;
9418         MY(type) = "spark";
9419         MY(velocityjitter) = '12.0 12.0 12.0';
9420 }
9421
9422 // hlac damage effect
9423 DEF(damage_hlac);
9424 SUB(damage_hlac) {
9425         MY(airfriction) = -0.350000;
9426         MY(alpha_min) = 128;
9427         MY(alpha_max) = 16;
9428         MY(alpha_fade) = 128;
9429         MY(color_min) = "0x880000";
9430         MY(color_max) = "0xff4400";
9431         MY(count) = 3;
9432         MY(notunderwater) = true;
9433         MY(originjitter) = '4.0 4.0 4.0';
9434         MY(startangle_max) = 180;
9435         MY(spin_min) = -30;
9436         MY(spin_max) = 30;
9437         MY(sizeincrease) = 10;
9438         MY(size_min) = 2;
9439         MY(size_max) = 4;
9440         MY(tex_max) = 8;
9441         MY(type) = "smoke";
9442         MY(velocityjitter) = '0.4 0.4 0.6';
9443 }
9444
9445 // vortex damage effect
9446 DEF(damage_nex);
9447 SUB(damage_nex) {
9448         MY(airfriction) = -0.500000;
9449         MY(alpha_min) = 64;
9450         MY(alpha_max) = 8;
9451         MY(alpha_fade) = 64;
9452         MY(color_min) = "0xffffff";
9453         MY(color_max) = "0x88ffff";
9454         MY(count) = 1;
9455         MY(gravity) = -0.000100;
9456         MY(liquidfriction) = 0.600000;
9457         MY(originjitter) = '4.0 4.0 4.0';
9458         MY(startangle_min) = 180;
9459         MY(startangle_max) = 360;
9460         MY(spin_min) = -30;
9461         MY(spin_max) = 30;
9462         MY(sizeincrease) = -14;
9463         MY(size_min) = 5;
9464         MY(size_max) = 10;
9465         MY(tex_min) = 47;
9466         MY(tex_max) = 47;
9467         MY(type) = "static";
9468         MY(velocityjitter) = '8.0 8.0 16.0';
9469 }
9470 // plasma smoke
9471 SUB(damage_nex) {
9472         MY(airfriction) = -0.350000;
9473         MY(alpha_min) = 64;
9474         MY(alpha_max) = 16;
9475         MY(alpha_fade) = 64;
9476         MY(color_min) = "0x6688ff";
9477         MY(color_max) = "0x226688";
9478         MY(count) = 2;
9479         MY(originjitter) = '2.0 2.0 2.0';
9480         MY(startangle_max) = 180;
9481         MY(spin_min) = -30;
9482         MY(spin_max) = 30;
9483         MY(sizeincrease) = 8;
9484         MY(size_min) = 4;
9485         MY(size_max) = 8;
9486         MY(tex_max) = 8;
9487         MY(type) = "smoke";
9488         MY(velocityjitter) = '0.5 0.5 0.8';
9489 }
9490 // bouncing sparks
9491 SUB(damage_nex) {
9492         MY(airfriction) = 2;
9493         MY(alpha_min) = 255;
9494         MY(alpha_max) = 255;
9495         MY(alpha_fade) = 112;
9496         MY(bounce) = 1.600000;
9497         MY(color_min) = "0xD9FDFF";
9498         MY(color_max) = "0xD9FDFF";
9499         MY(count) = 0.200000;
9500         MY(gravity) = 1;
9501         MY(size_min) = 1;
9502         MY(size_max) = 1;
9503         MY(stretchfactor) = 0.700000;
9504         MY(tex_min) = 41;
9505         MY(tex_max) = 41;
9506         MY(type) = "spark";
9507         MY(velocityjitter) = '100.0 100.0 300.0';
9508         MY(velocitymultiplier) = 3;
9509 }
9510
9511 // vaporizer damage effect
9512 DEF(damage_minstanex);
9513 SUB(damage_minstanex) {
9514         MY(airfriction) = -0.500000;
9515         MY(alpha_min) = 64;
9516         MY(alpha_max) = 8;
9517         MY(alpha_fade) = 64;
9518         MY(color_min) = "0xffffff";
9519         MY(color_max) = "0x88ffff";
9520         MY(count) = 2;
9521         MY(gravity) = -0.000100;
9522         MY(liquidfriction) = 0.600000;
9523         MY(originjitter) = '4.0 4.0 4.0';
9524         MY(startangle_min) = 180;
9525         MY(startangle_max) = 360;
9526         MY(spin_min) = -30;
9527         MY(spin_max) = 30;
9528         MY(sizeincrease) = -14;
9529         MY(size_min) = 5;
9530         MY(size_max) = 10;
9531         MY(tex_min) = 47;
9532         MY(tex_max) = 47;
9533         MY(type) = "static";
9534         MY(velocityjitter) = '8.0 8.0 16.0';
9535 }
9536 // plasma smoke
9537 SUB(damage_minstanex) {
9538         MY(airfriction) = -0.350000;
9539         MY(alpha_min) = 64;
9540         MY(alpha_max) = 16;
9541         MY(alpha_fade) = 64;
9542         MY(color_min) = "0x6688ff";
9543         MY(color_max) = "0x226688";
9544         MY(count) = 4;
9545         MY(originjitter) = '2.0 2.0 2.0';
9546         MY(startangle_max) = 180;
9547         MY(spin_min) = -30;
9548         MY(spin_max) = 30;
9549         MY(sizeincrease) = 8;
9550         MY(size_min) = 4;
9551         MY(size_max) = 8;
9552         MY(tex_max) = 8;
9553         MY(type) = "smoke";
9554         MY(velocityjitter) = '0.5 0.5 0.8';
9555 }
9556 // bouncing sparks
9557 SUB(damage_minstanex) {
9558         MY(airfriction) = 2;
9559         MY(alpha_min) = 255;
9560         MY(alpha_max) = 255;
9561         MY(alpha_fade) = 112;
9562         MY(bounce) = 1.600000;
9563         MY(color_min) = "0xD9FDFF";
9564         MY(color_max) = "0xD9FDFF";
9565         MY(count) = 0.200000;
9566         MY(gravity) = 1;
9567         MY(size_min) = 1;
9568         MY(size_max) = 1;
9569         MY(stretchfactor) = 0.700000;
9570         MY(tex_min) = 41;
9571         MY(tex_max) = 41;
9572         MY(type) = "spark";
9573         MY(velocityjitter) = '100.0 100.0 300.0';
9574         MY(velocitymultiplier) = 3;
9575 }
9576
9577 // rifle damage effect, normal blood
9578 DEF(damage_rifle);
9579 SUB(damage_rifle) {
9580         MY(airfriction) = 1;
9581         MY(alpha_min) = 256;
9582         MY(alpha_max) = 256;
9583         MY(alpha_fade) = 64;
9584         MY(bounce) = -1;
9585         MY(color_min) = "0xA8FFFF";
9586         MY(color_max) = "0xA8FFFFF";
9587         MY(count) = 0.300000;
9588         MY(liquidfriction) = 4;
9589         MY(size_min) = 2;
9590         MY(size_max) = 4;
9591         MY(staincolor_min) = "0x808080";
9592         MY(staincolor_max) = "0x808080";
9593         MY(staintex_min) = 16;
9594         MY(staintex_max) = 24;
9595         MY(tex_min) = 24;
9596         MY(tex_max) = 32;
9597         MY(type) = "blood";
9598         MY(velocityjitter) = '32.0 32.0 32.0';
9599         MY(velocitymultiplier) = 5;
9600 }
9601 // blood mist
9602 SUB(damage_rifle) {
9603         MY(alpha_min) = 100;
9604         MY(alpha_max) = 256;
9605         MY(alpha_fade) = 400;
9606         MY(color_min) = "0x000000";
9607         MY(color_max) = "0x420000";
9608         MY(count) = 1;
9609         MY(size_min) = 6;
9610         MY(size_max) = 12;
9611         MY(tex_max) = 8;
9612         MY(type) = "alphastatic";
9613 }
9614
9615 // rifle damage effect, alien blood
9616 DEF(damage_rifle_alien);
9617 SUB(damage_rifle_alien) {
9618         MY(airfriction) = 1;
9619         MY(alpha_min) = 256;
9620         MY(alpha_max) = 256;
9621         MY(alpha_fade) = 64;
9622         MY(bounce) = -1;
9623         MY(color_min) = "0xDC9BCD";
9624         MY(color_max) = "0xDC9BCD";
9625         MY(count) = 0.300000;
9626         MY(liquidfriction) = 4;
9627         MY(size_min) = 2;
9628         MY(size_max) = 4;
9629         MY(staincolor_min) = "0x808080";
9630         MY(staincolor_max) = "0x808080";
9631         MY(staintex_min) = 16;
9632         MY(staintex_max) = 24;
9633         MY(tex_min) = 24;
9634         MY(tex_max) = 32;
9635         MY(type) = "blood";
9636         MY(velocityjitter) = '32.0 32.0 32.0';
9637         MY(velocitymultiplier) = 5;
9638 }
9639 // blood mist
9640 SUB(damage_rifle_alien) {
9641         MY(alpha_min) = 100;
9642         MY(alpha_max) = 256;
9643         MY(alpha_fade) = 400;
9644         MY(color_min) = "0x000000";
9645         MY(color_max) = "0x204010";
9646         MY(count) = 1;
9647         MY(size_min) = 6;
9648         MY(size_max) = 12;
9649         MY(tex_max) = 8;
9650         MY(type) = "alphastatic";
9651 }
9652
9653 // rifle damage effect, robot blood
9654 DEF(damage_rifle_robot);
9655 SUB(damage_rifle_robot) {
9656         MY(airfriction) = 1;
9657         MY(alpha_min) = 256;
9658         MY(alpha_max) = 256;
9659         MY(alpha_fade) = 64;
9660         MY(bounce) = -1;
9661         MY(color_min) = "0xC0D890";
9662         MY(color_max) = "0xC0D890";
9663         MY(count) = 0.300000;
9664         MY(liquidfriction) = 4;
9665         MY(size_min) = 2;
9666         MY(size_max) = 4;
9667         MY(staincolor_min) = "0x808080";
9668         MY(staincolor_max) = "0x808080";
9669         MY(staintex_min) = 16;
9670         MY(staintex_max) = 24;
9671         MY(tex_min) = 24;
9672         MY(tex_max) = 32;
9673         MY(type) = "blood";
9674         MY(velocityjitter) = '32.0 32.0 32.0';
9675         MY(velocitymultiplier) = 5;
9676 }
9677 // blood mist
9678 SUB(damage_rifle_robot) {
9679         MY(alpha_min) = 100;
9680         MY(alpha_max) = 256;
9681         MY(alpha_fade) = 400;
9682         MY(color_min) = "0x000000";
9683         MY(color_max) = "0x301860";
9684         MY(count) = 1;
9685         MY(size_min) = 6;
9686         MY(size_max) = 12;
9687         MY(tex_max) = 8;
9688         MY(type) = "alphastatic";
9689 }
9690
9691 // seeker damage effect
9692 DEF(damage_seeker);
9693 SUB(damage_seeker) {
9694         MY(alpha_min) = 512;
9695         MY(alpha_max) = 32;
9696         MY(alpha_fade) = 1024;
9697         MY(color_min) = "0x8f0c00";
9698         MY(color_max) = "0xff2200";
9699         MY(count) = 3;
9700         MY(gravity) = -0.300000;
9701         MY(notunderwater) = true;
9702         MY(originjitter) = '2.0 2.0 2.0';
9703         MY(sizeincrease) = -10;
9704         MY(size_min) = 4;
9705         MY(size_max) = 8;
9706         MY(tex_min) = 48;
9707         MY(tex_max) = 55;
9708         MY(type) = "smoke";
9709         MY(velocityjitter) = '22.0 22.0 50.0';
9710 }
9711 // smoke
9712 SUB(damage_seeker) {
9713         MY(alpha_min) = 128;
9714         MY(alpha_max) = 32;
9715         MY(alpha_fade) = 128;
9716         MY(color_min) = "0x000000";
9717         MY(color_max) = "0x111111";
9718         MY(count) = 2;
9719         MY(gravity) = -0.300000;
9720         MY(notunderwater) = true;
9721         MY(originjitter) = '4.0 4.0 4.0';
9722         MY(sizeincrease) = 10;
9723         MY(size_min) = 2;
9724         MY(size_max) = 4;
9725         MY(tex_max) = 8;
9726         MY(type) = "alphastatic";
9727         MY(velocityjitter) = '11.0 11.0 50.0';
9728 }
9729
9730 // hagar damage effect
9731 DEF(damage_hagar);
9732 SUB(damage_hagar) {
9733         MY(alpha_min) = 512;
9734         MY(alpha_max) = 32;
9735         MY(alpha_fade) = 1024;
9736         MY(color_min) = "0x8f0c00";
9737         MY(color_max) = "0xff3a00";
9738         MY(count) = 3;
9739         MY(gravity) = -0.300000;
9740         MY(notunderwater) = true;
9741         MY(originjitter) = '2.0 2.0 2.0';
9742         MY(sizeincrease) = -10;
9743         MY(size_min) = 4;
9744         MY(size_max) = 8;
9745         MY(tex_min) = 48;
9746         MY(tex_max) = 55;
9747         MY(type) = "smoke";
9748         MY(velocityjitter) = '22.0 22.0 50.0';
9749 }
9750 // smoke
9751 SUB(damage_hagar) {
9752         MY(alpha_min) = 128;
9753         MY(alpha_max) = 32;
9754         MY(alpha_fade) = 128;
9755         MY(color_min) = "0x000000";
9756         MY(color_max) = "0x111111";
9757         MY(count) = 2;
9758         MY(gravity) = -0.300000;
9759         MY(notunderwater) = true;
9760         MY(originjitter) = '4.0 4.0 4.0';
9761         MY(sizeincrease) = 10;
9762         MY(size_min) = 2;
9763         MY(size_max) = 4;
9764         MY(tex_max) = 8;
9765         MY(type) = "alphastatic";
9766         MY(velocityjitter) = '11.0 11.0 50.0';
9767 }
9768
9769 // fireball damage effect
9770 DEF(damage_fireball);
9771 SUB(damage_fireball) {
9772         MY(alpha_min) = 256;
9773         MY(alpha_max) = 16;
9774         MY(alpha_fade) = 512;
9775         MY(color_min) = "0x8f0d00";
9776         MY(color_max) = "0xff5a00";
9777         MY(count) = 4;
9778         MY(gravity) = -0.500000;
9779         MY(notunderwater) = true;
9780         MY(originjitter) = '8.0 8.0 8.0';
9781         MY(sizeincrease) = -10;
9782         MY(size_min) = 5;
9783         MY(size_max) = 10;
9784         MY(tex_min) = 48;
9785         MY(tex_max) = 55;
9786         MY(type) = "smoke";
9787         MY(velocityjitter) = '22.0 22.0 50.0';
9788 }
9789 // smoke
9790 SUB(damage_fireball) {
9791         MY(alpha_min) = 128;
9792         MY(alpha_max) = 32;
9793         MY(alpha_fade) = 128;
9794         MY(color_min) = "0x000000";
9795         MY(color_max) = "0x111111";
9796         MY(count) = 4;
9797         MY(gravity) = -0.300000;
9798         MY(notunderwater) = true;
9799         MY(originjitter) = '6.0 6.0 6.0';
9800         MY(sizeincrease) = 10;
9801         MY(size_min) = 4;
9802         MY(size_max) = 8;
9803         MY(tex_max) = 8;
9804         MY(type) = "alphastatic";
9805         MY(velocityjitter) = '11.0 11.0 50.0';
9806 }
9807
9808 // rocketlauncher damage effect
9809 DEF(damage_rocketlauncher);
9810 SUB(damage_rocketlauncher) {
9811         MY(alpha_min) = 512;
9812         MY(alpha_max) = 64;
9813         MY(alpha_fade) = 1024;
9814         MY(color_min) = "0x8f0c00";
9815         MY(color_max) = "0xff2a00";
9816         MY(count) = 3;
9817         MY(gravity) = -0.700000;
9818         MY(notunderwater) = true;
9819         MY(originjitter) = '4.0 4.0 4.0';
9820         MY(sizeincrease) = -10;
9821         MY(size_min) = 5;
9822         MY(size_max) = 10;
9823         MY(tex_min) = 48;
9824         MY(tex_max) = 55;
9825         MY(type) = "smoke";
9826         MY(velocityjitter) = '22.0 22.0 30.0';
9827 }
9828 // smoke
9829 SUB(damage_rocketlauncher) {
9830         MY(alpha_min) = 128;
9831         MY(alpha_max) = 32;
9832         MY(alpha_fade) = 128;
9833         MY(color_min) = "0x000000";
9834         MY(color_max) = "0x111111";
9835         MY(count) = 3;
9836         MY(gravity) = -0.300000;
9837         MY(notunderwater) = true;
9838         MY(originjitter) = '4.0 4.0 4.0';
9839         MY(sizeincrease) = 10;
9840         MY(size_min) = 4;
9841         MY(size_max) = 8;
9842         MY(tex_max) = 8;
9843         MY(type) = "alphastatic";
9844         MY(velocityjitter) = '11.0 11.0 50.0';
9845 }
9846
9847 // fireflies
9848 DEF(fireflies);
9849 SUB(fireflies) {
9850         MY(airfriction) = 5;
9851         MY(alpha_min) = 256;
9852         MY(alpha_max) = 256;
9853         MY(alpha_fade) = 70;
9854         MY(bounce) = -1;
9855         MY(color_min) = "0xff9600";
9856         MY(color_max) = "0xffefb8";
9857         MY(count) = 1;
9858         MY(originjitter) = '32.0 32.0 32.0';
9859         MY(originoffset) = '8.0 8.0 8.0';
9860         MY(sizeincrease) = -0.300000;
9861         MY(size_min) = 2;
9862         MY(size_max) = 3;
9863         MY(tex_min) = 38;
9864         MY(tex_max) = 38;
9865         MY(time_min) = 1;
9866         MY(time_max) = 2;
9867         MY(type) = "static";
9868         MY(velocityjitter) = '64.0 64.0 64.0';
9869         MY(velocityoffset) = '2.0 2.0 2.0';
9870 }
9871
9872 DEF(healray_muzzleflash);
9873 SUB(healray_muzzleflash) {
9874         MY(alpha_min) = 256;
9875         MY(alpha_max) = 256;
9876         MY(alpha_fade) = 512;
9877         MY(color_min) = "0x283880";
9878         MY(color_max) = "0x283880";
9879         MY(countabsolute) = 1;
9880         MY(lightcolor) = '1.5 3.0 6.0';
9881         MY(lightradiusfade) = 2000;
9882         MY(lightradius) = 200;
9883         MY(originjitter) = '1.5 1.5 1.5';
9884         MY(sizeincrease) = -10;
9885         MY(size_min) = 20;
9886         MY(size_max) = 20;
9887         MY(tex_min) = 65;
9888         MY(tex_max) = 65;
9889         MY(type) = "smoke";
9890         MY(velocityjitter) = '6.0 6.0 6.0';
9891         MY(velocitymultiplier) = 0.010000;
9892 }
9893 SUB(healray_muzzleflash) {
9894         MY(airfriction) = 5;
9895         MY(alpha_min) = 50;
9896         MY(alpha_max) = 150;
9897         MY(alpha_fade) = 1924;
9898         MY(color_min) = "0xD9FDFF";
9899         MY(color_max) = "0x00f0ff";
9900         MY(count) = 22;
9901         MY(originjitter) = '1.0 1.0 1.0';
9902         MY(sizeincrease) = 3;
9903         MY(size_min) = 1;
9904         MY(size_max) = 15;
9905         MY(stretchfactor) = 3.900000;
9906         MY(tex_min) = 71;
9907         MY(tex_max) = 73;
9908         MY(type) = "spark";
9909         MY(velocityjitter) = '150.0 150.0 150.0';
9910         MY(velocitymultiplier) = 0.400000;
9911 }
9912 SUB(healray_muzzleflash) {
9913         MY(alpha_min) = 110;
9914         MY(alpha_max) = 228;
9915         MY(alpha_fade) = 4024;
9916         MY(color_min) = "0xD9FDFF";
9917         MY(color_max) = "0x00f0ff";
9918         MY(count) = 4;
9919         MY(originjitter) = '1.0 1.0 1.0';
9920         MY(size_min) = 1;
9921         MY(size_max) = 1;
9922         MY(stretchfactor) = 0.200000;
9923         MY(tex_min) = 70;
9924         MY(tex_max) = 70;
9925         MY(type) = "spark";
9926         MY(velocityjitter) = '650.0 650.0 650.0';
9927         MY(velocitymultiplier) = 1.100000;
9928 }
9929
9930 DEF(healray_impact);
9931 SUB(healray_impact) {
9932         MY(alpha_min) = 256;
9933         MY(alpha_max) = 256;
9934         MY(color_min) = "0xd800ff";
9935         MY(color_max) = "0xd800ff";
9936         MY(countabsolute) = 1;
9937         MY(lightcolor) = '0.0 4.4 0.0';
9938         MY(lightradiusfade) = 450;
9939         MY(lightradius) = 125;
9940         MY(originjitter) = '17.0 17.0 17.0';
9941         MY(size_min) = 32;
9942         MY(size_max) = 32;
9943         MY(tex_min) = 59;
9944         MY(tex_max) = 59;
9945         MY(type) = "decal";
9946 }
9947 // shockwave
9948 SUB(healray_impact) {
9949         MY(alpha_min) = 40;
9950         MY(alpha_max) = 40;
9951         MY(alpha_fade) = 350;
9952         MY(color_min) = "0x00ff00";
9953         MY(color_max) = "0x84c52f";
9954         MY(countabsolute) = 1;
9955         MY(sizeincrease) = 1400;
9956         MY(size_min) = 32;
9957         MY(size_max) = 32;
9958         MY(tex_min) = 33;
9959         MY(tex_max) = 33;
9960         MY(type) = "smoke";
9961         MY(velocitymultiplier) = 44;
9962 }
9963 // cloud of bouncing sparks
9964 SUB(healray_impact) {
9965         MY(airfriction) = 6;
9966         MY(alpha_min) = 156;
9967         MY(alpha_max) = 300;
9968         MY(alpha_fade) = 1024;
9969         MY(color_min) = "0x00ff00";
9970         MY(color_max) = "0x84c52f";
9971         MY(count) = 30;
9972         MY(gravity) = 2;
9973         MY(originjitter) = '1.0 1.0 1.0';
9974         MY(size_min) = 1;
9975         MY(size_max) = 2;
9976         MY(tex_min) = 70;
9977         MY(tex_max) = 70;
9978         MY(type) = "spark";
9979         MY(velocityjitter) = '1112.0 1112.0 1112.0';
9980 }
9981 // inner cloud of smoke
9982 SUB(healray_impact) {
9983         MY(airfriction) = 3;
9984         MY(alpha_min) = 200;
9985         MY(alpha_max) = 456;
9986         MY(alpha_fade) = 512;
9987         MY(color_min) = "0x00ff00";
9988         MY(color_max) = "0x84c52f";
9989         MY(count) = 15;
9990         MY(gravity) = -2;
9991         MY(startangle_min) = -180;
9992         MY(startangle_max) = 180;
9993         MY(spin_min) = -90;
9994         MY(spin_max) = 90;
9995         MY(size_min) = 2;
9996         MY(size_max) = 3;
9997         MY(tex_min) = 40;
9998         MY(tex_max) = 40;
9999         MY(type) = "smoke";
10000         MY(velocityjitter) = '120.0 120.0 420.0';
10001 }
10002
10003 DEF(bigplasma_muzzleflash);
10004 SUB(bigplasma_muzzleflash) {
10005         MY(alpha_min) = 256;
10006         MY(alpha_max) = 256;
10007         MY(alpha_fade) = 812;
10008         MY(color_min) = "0x283880";
10009         MY(color_max) = "0x283880";
10010         MY(countabsolute) = 1;
10011         MY(lightcolor) = '1.5 3.0 6.0';
10012         MY(lightradiusfade) = 2000;
10013         MY(lightradius) = 200;
10014         MY(originjitter) = '1.5 1.5 1.5';
10015         MY(sizeincrease) = -10;
10016         MY(size_min) = 50;
10017         MY(size_max) = 50;
10018         MY(tex_min) = 65;
10019         MY(tex_max) = 65;
10020         MY(type) = "smoke";
10021         MY(velocityjitter) = '6.0 6.0 6.0';
10022         MY(velocitymultiplier) = 0.010000;
10023 }
10024 SUB(bigplasma_muzzleflash) {
10025         MY(alpha_min) = 56;
10026         MY(alpha_max) = 56;
10027         MY(alpha_fade) = 1112;
10028         MY(color_min) = "0x00f0ff";
10029         MY(color_max) = "0x00f0ff";
10030         MY(countabsolute) = 1;
10031         MY(sizeincrease) = 300;
10032         MY(size_min) = 20;
10033         MY(size_max) = 20;
10034         MY(tex_min) = 74;
10035         MY(tex_max) = 74;
10036         MY(type) = "smoke";
10037 }
10038 SUB(bigplasma_muzzleflash) {
10039         MY(airfriction) = 5;
10040         MY(alpha_min) = 50;
10041         MY(alpha_max) = 150;
10042         MY(alpha_fade) = 1924;
10043         MY(color_min) = "0xD9FDFF";
10044         MY(color_max) = "0x00f0ff";
10045         MY(count) = 14;
10046         MY(originjitter) = '1.0 1.0 1.0';
10047         MY(sizeincrease) = 135;
10048         MY(size_min) = 5;
10049         MY(size_max) = 10;
10050         MY(stretchfactor) = 1.900000;
10051         MY(tex_min) = 51;
10052         MY(tex_max) = 55;
10053         MY(type) = "spark";
10054         MY(velocityjitter) = '350.0 350.0 350.0';
10055         MY(velocitymultiplier) = 0.400000;
10056 }
10057 SUB(bigplasma_muzzleflash) {
10058         MY(alpha_min) = 110;
10059         MY(alpha_max) = 228;
10060         MY(alpha_fade) = 4024;
10061         MY(color_min) = "0xD9FDFF";
10062         MY(color_max) = "0x00f0ff";
10063         MY(count) = 4;
10064         MY(originjitter) = '1.0 1.0 1.0';
10065         MY(size_min) = 20;
10066         MY(size_max) = 20;
10067         MY(stretchfactor) = 0.200000;
10068         MY(tex_min) = 70;
10069         MY(tex_max) = 70;
10070         MY(type) = "spark";
10071         MY(velocityjitter) = '650.0 650.0 650.0';
10072         MY(velocitymultiplier) = 1.100000;
10073 }
10074
10075 DEF(bigplasma_impact);
10076 SUB(bigplasma_impact) {
10077         MY(alpha_min) = 256;
10078         MY(alpha_max) = 256;
10079         MY(countabsolute) = 1;
10080         MY(lightcolor) = '3.1 4.4 10.0';
10081         MY(lightradiusfade) = 450;
10082         MY(lightradius) = 125;
10083         MY(originjitter) = '17.0 17.0 17.0';
10084         MY(size_min) = 32;
10085         MY(size_max) = 32;
10086         MY(tex_min) = 59;
10087         MY(tex_max) = 59;
10088         MY(type) = "decal";
10089 }
10090 // shockwave
10091 SUB(bigplasma_impact) {
10092         MY(alpha_min) = 40;
10093         MY(alpha_max) = 40;
10094         MY(alpha_fade) = 350;
10095         MY(color_min) = "0x80C0FF";
10096         MY(color_max) = "0x80C0FF";
10097         MY(countabsolute) = 1;
10098         MY(sizeincrease) = 1400;
10099         MY(size_min) = 32;
10100         MY(size_max) = 32;
10101         MY(tex_min) = 33;
10102         MY(tex_max) = 33;
10103         MY(type) = "smoke";
10104         MY(velocitymultiplier) = 44;
10105 }
10106 // cloud of bouncing sparks
10107 SUB(bigplasma_impact) {
10108         MY(airfriction) = 6;
10109         MY(alpha_min) = 156;
10110         MY(alpha_max) = 300;
10111         MY(alpha_fade) = 1024;
10112         MY(color_min) = "0x629dff";
10113         MY(color_max) = "0x0018ff";
10114         MY(count) = 30;
10115         MY(gravity) = 2;
10116         MY(originjitter) = '1.0 1.0 1.0';
10117         MY(size_min) = 1;
10118         MY(size_max) = 2;
10119         MY(tex_min) = 70;
10120         MY(tex_max) = 70;
10121         MY(type) = "spark";
10122         MY(velocityjitter) = '1512.0 1512.0 1512.0';
10123 }
10124 // inner cloud of smoke
10125 SUB(bigplasma_impact) {
10126         MY(airfriction) = 30;
10127         MY(alpha_min) = 200;
10128         MY(alpha_max) = 456;
10129         MY(alpha_fade) = 1512;
10130         MY(color_min) = "0x629dff";
10131         MY(color_max) = "0x0018ff";
10132         MY(count) = 15;
10133         MY(originjitter) = '20.0 20.0 20.0';
10134         MY(startangle_min) = -180;
10135         MY(startangle_max) = 180;
10136         MY(spin_min) = -9;
10137         MY(spin_max) = 9;
10138         MY(sizeincrease) = 555;
10139         MY(size_min) = 20;
10140         MY(size_max) = 24;
10141         MY(tex_min) = 48;
10142         MY(tex_max) = 55;
10143         MY(type) = "smoke";
10144         MY(velocityjitter) = '320.0 320.0 320.0';
10145 }
10146 // smoke
10147 SUB(bigplasma_impact) {
10148         MY(airfriction) = 0.040000;
10149         MY(alpha_min) = 128;
10150         MY(alpha_max) = 328;
10151         MY(alpha_fade) = 390;
10152         MY(blend) = "alpha";
10153         MY(color_min) = "0x222222";
10154         MY(color_max) = "0x000000";
10155         MY(count) = 16;
10156         MY(gravity) = 0.400000;
10157         MY(originjitter) = '80.0 80.0 10.0';
10158         MY(startangle_min) = -180;
10159         MY(startangle_max) = 180;
10160         MY(spin_min) = 2;
10161         MY(spin_max) = -2;
10162         MY(sizeincrease) = 30;
10163         MY(size_min) = 60;
10164         MY(size_max) = 30;
10165         MY(tex_max) = 7;
10166         MY(type) = "smoke";
10167         MY(velocityjitter) = '100.0 100.0 200.0';
10168         MY(velocityoffset) = '0.0 0.0 180.0';
10169 }
10170 // smoke in the middle
10171 SUB(bigplasma_impact) {
10172         MY(airfriction) = 0.040000;
10173         MY(alpha_min) = 128;
10174         MY(alpha_max) = 328;
10175         MY(alpha_fade) = 310;
10176         MY(color_min) = "0x222222";
10177         MY(color_max) = "0x000000";
10178         MY(count) = 10;
10179         MY(gravity) = -0.200000;
10180         MY(originjitter) = '80.0 80.0 80.0';
10181         MY(startangle_min) = -180;
10182         MY(startangle_max) = 180;
10183         MY(spin_min) = 20;
10184         MY(spin_max) = -20;
10185         MY(sizeincrease) = -10;
10186         MY(size_min) = 60;
10187         MY(size_max) = 70;
10188         MY(tex_max) = 7;
10189         MY(type) = "alphastatic";
10190         MY(velocityjitter) = '10.0 10.0 10.0';
10191 }
10192
10193 // flag_touch -- effects for touching the flag
10194 #define flag_touch(name, colormin, colormax) \
10195         DEF(name##flag_touch); \
10196         SUB(name##flag_touch) { \
10197                 MY(airfriction) = 3; \
10198                 MY(alpha_max) = 256; \
10199                 MY(alpha_fade) = 556; \
10200                 MY(bounce) = 1.500000; \
10201                 MY(color_min) = colormin; \
10202                 MY(color_max) = colormax; \
10203                 MY(count) = 35; \
10204                 MY(gravity) = 1; \
10205                 MY(originjitter) = '1.0 1.0 1.0'; \
10206                 MY(size_min) = 1; \
10207                 MY(size_max) = 3; \
10208                 MY(tex_min) = 40; \
10209                 MY(tex_max) = 40; \
10210                 MY(type) = "spark"; \
10211                 MY(velocityjitter) = '300.0 300.0 300.0'; \
10212                 MY(velocitymultiplier) = 0.500000; \
10213         }
10214
10215 flag_touch(red,         "0xFF0000", "0x970000")
10216 flag_touch(blue,        "0x0000FF", "0x000097")
10217 #undef flag_touch
10218
10219 #define pass(name, colormin, colormax) \
10220         DEF(name##_pass); \
10221         SUB(name##_pass) { \
10222                 MY(airfriction) = 5; \
10223                 MY(alpha_min) = 64; \
10224                 MY(alpha_max) = 128; \
10225                 MY(alpha_fade) = 64; \
10226                 MY(color_min) = colormin; \
10227                 MY(color_max) = colormax; \
10228                 MY(sizeincrease) = 2; \
10229                 MY(size_min) = 2; \
10230                 MY(size_max) = 2; \
10231                 MY(tex_min) = 32; \
10232                 MY(tex_max) = 32; \
10233                 MY(trailspacing) = 64; \
10234                 MY(type) = "static"; \
10235         } \
10236         SUB(name##_pass) { \
10237                 MY(airfriction) = 9; \
10238                 MY(alpha_min) = 32; \
10239                 MY(alpha_max) = 64; \
10240                 MY(alpha_fade) = 32; \
10241                 MY(color_min) = colormin; \
10242                 MY(color_max) = colormax; \
10243                 MY(sizeincrease) = 8; \
10244                 MY(size_min) = 1; \
10245                 MY(size_max) = 1; \
10246                 MY(tex_max) = 8; \
10247                 MY(trailspacing) = 12; \
10248                 MY(type) = "static"; \
10249                 MY(velocityjitter) = '64.0 64.0 64.0'; \
10250         } \
10251         SUB(name##_pass) { \
10252                 MY(alpha_min) = 256; \
10253                 MY(alpha_max) = 256; \
10254                 MY(alpha_fade) = 1280; \
10255                 MY(color_min) = colormin; \
10256                 MY(color_max) = colormax; \
10257                 MY(size_min) = 4; \
10258                 MY(size_max) = 4; \
10259                 MY(trailspacing) = 12; \
10260                 MY(type) = "static"; \
10261         } \
10262         /**/
10263
10264 pass(red,       "0xFF0000", "0x970000")
10265 pass(blue,      "0x0000FF", "0x000097")
10266 #undef pass
10267
10268 // cap -- team capture effect
10269 #define cap(name, colormin, colormax) \
10270         DEF(name##_cap); \
10271         SUB(name##_cap) { \
10272                 MY(airfriction) = 2; \
10273                 MY(alpha_max) = 256; \
10274                 MY(alpha_fade) = 100; \
10275                 MY(bounce) = 1.500000; \
10276                 MY(color_min) = colormin; \
10277                 MY(color_max) = colormax; \
10278                 MY(count) = 500; \
10279                 MY(originjitter) = '1.0 1.0 1.0'; \
10280                 MY(size_min) = 1; \
10281                 MY(size_max) = 1; \
10282                 MY(stretchfactor) = 0.600000; \
10283                 MY(tex_min) = 64; \
10284                 MY(tex_max) = 64; \
10285                 MY(type) = "spark"; \
10286                 MY(velocityjitter) = '1000.0 1000.0 1500.0'; \
10287                 MY(velocitymultiplier) = 0.500000; \
10288         } \
10289         SUB(name##_cap) { \
10290                 MY(alpha_min) = 190; \
10291                 MY(alpha_max) = 190; \
10292                 MY(alpha_fade) = 180; \
10293                 MY(color_min) = colormin; \
10294                 MY(color_max) = colormax; \
10295                 MY(countabsolute) = 1; \
10296                 MY(sizeincrease) = -80; \
10297                 MY(size_min) = 150; \
10298                 MY(size_max) = 150; \
10299                 MY(tex_min) = 65; \
10300                 MY(tex_max) = 65; \
10301                 MY(type) = "smoke"; \
10302         } \
10303         /**/
10304
10305 cap(red,        "0xFF0000", "0x970000")
10306 cap(blue,       "0x0000FF", "0x000097")
10307 #undef cap
10308
10309 // spawn_point -- team idle spawn point effect
10310 #define spawn_point(name, color) \
10311         DEF(spawn_point_##name); \
10312         SUB(spawn_point_##name) { \
10313                 MY(airfriction) = 0.200000; \
10314                 MY(alpha_min) = 64; \
10315                 MY(alpha_max) = 128; \
10316                 MY(alpha_fade) = 128; \
10317                 MY(color_min) = color; \
10318                 MY(color_max) = color; \
10319                 MY(count) = 37.500000; \
10320                 MY(gravity) = -0.100000; \
10321                 MY(liquidfriction) = 0.800000; \
10322                 MY(originjitter) = '16.0 16.0 64.0'; \
10323                 MY(size_min) = 1; \
10324                 MY(size_max) = 2; \
10325                 MY(type) = "static"; \
10326                 MY(velocityjitter) = '32.0 32.0 0.0'; \
10327         }
10328
10329 spawn_point(red,                "0xFF0F0F")
10330 spawn_point(blue,               "0x0F0FFF")
10331 spawn_point(yellow,     "0xFFFF0F")
10332 spawn_point(pink,               "0xFF0FFF")
10333 spawn_point(neutral,    "0xFFFFFF")
10334 #undef spawn_point
10335
10336 // spawn_event -- team spawning effect
10337 #define spawn_event(name, color) \
10338         DEF(spawn_event_##name); \
10339         SUB(spawn_event_##name) { \
10340                 MY(airfriction) = 2; \
10341                 MY(alpha_max) = 256; \
10342                 MY(alpha_fade) = 256; \
10343                 MY(bounce) = 1; \
10344                 MY(color_min) = color; \
10345                 MY(color_max) = color; \
10346                 MY(count) = 100; \
10347                 MY(originjitter) = '1.0 1.0 1.0'; \
10348                 MY(size_min) = 1; \
10349                 MY(size_max) = 1; \
10350                 MY(stretchfactor) = 0.600000; \
10351                 MY(tex_min) = 64; \
10352                 MY(tex_max) = 64; \
10353                 MY(type) = "spark"; \
10354                 MY(velocityjitter) = '500.0 500.0 500.0'; \
10355                 MY(velocitymultiplier) = 0.100000; \
10356         } \
10357         SUB(spawn_event_##name) { \
10358                 MY(alpha_min) = 190; \
10359                 MY(alpha_max) = 190; \
10360                 MY(alpha_fade) = 180; \
10361                 MY(color_min) = color; \
10362                 MY(color_max) = color; \
10363                 MY(countabsolute) = 1; \
10364                 MY(sizeincrease) = -80; \
10365                 MY(size_min) = 100; \
10366                 MY(size_max) = 100; \
10367                 MY(tex_min) = 65; \
10368                 MY(tex_max) = 65; \
10369                 MY(type) = "smoke"; \
10370         } \
10371         /**/
10372
10373 spawn_event(red,                "0xFF0F0F")
10374 spawn_event(blue,               "0x0F0FFF")
10375 spawn_event(yellow,     "0xFFFF0F")
10376 spawn_event(pink,               "0xFF0FFF")
10377 spawn_event(neutral,    "0xFFFFFF")
10378 #undef spawn_event
10379
10380 #define nade(name, colormin1, colormax1, colormin2, colormax2) \
10381         DEF(nade_##name); \
10382         SUB(nade_##name) { \
10383                 MY(alpha_min) = 100; \
10384                 MY(alpha_max) = 100; \
10385                 MY(alpha_fade) = 250; \
10386                 MY(color_min) = colormin1; \
10387                 MY(color_max) = colormax1; \
10388                 MY(sizeincrease) = -1; \
10389                 MY(size_min) = 3; \
10390                 MY(size_max) = 3; \
10391                 MY(tex_min) = 65; \
10392                 MY(tex_max) = 65; \
10393                 MY(trailspacing) = 1; \
10394                 MY(type) = "smoke"; \
10395         } \
10396         SUB(nade_##name) /* fire */ { \
10397                 MY(alpha_min) = 30; \
10398                 MY(alpha_max) = 30; \
10399                 MY(alpha_fade) = 150; \
10400                 MY(color_min) = colormin2; \
10401                 MY(color_max) = colormax2; \
10402                 MY(notunderwater) = true; \
10403                 MY(sizeincrease) = -10; \
10404                 MY(size_min) = 15; \
10405                 MY(size_max) = 25; \
10406                 MY(tex_min) = 65; \
10407                 MY(tex_max) = 65; \
10408                 MY(trailspacing) = 8; \
10409                 MY(type) = "smoke"; \
10410         } \
10411         SUB(nade_##name) /* bubbles */ { \
10412                 MY(alpha_min) = 256; \
10413                 MY(alpha_max) = 256; \
10414                 MY(alpha_fade) = 256; \
10415                 MY(bounce) = 1.500000; \
10416                 MY(color_min) = colormin1; \
10417                 MY(color_max) = colormax1; \
10418                 MY(gravity) = -0.125000; \
10419                 MY(liquidfriction) = 4; \
10420                 MY(size_min) = 1; \
10421                 MY(size_max) = 1; \
10422                 MY(tex_min) = 62; \
10423                 MY(tex_max) = 62; \
10424                 MY(trailspacing) = 16; \
10425                 MY(type) = "bubble"; \
10426                 MY(underwater) = true; \
10427                 MY(velocityjitter) = '16.0 16.0 16.0'; \
10428         } \
10429         /**/
10430
10431 nade(blue,              "0x006cff", "0x0600ff", "0x0600ff", "0x9794ff")
10432 nade(red,               "0xff0000", "0xff3c00", "0xff0000", "0xffa2a2")
10433 nade(yellow,    "0xFFFF0F", "0xFFFF0F", "0xFFFF0F", "0xFFFF0F")
10434 nade(pink,              "0xFF0FFF", "0xFF0FFF", "0xFF0FFF", "0xFF0FFF")
10435 nade(neutral,   "0xFFFFFF", "0xFFFFFF", "0xFFFFFF", "0xFFFFFF")
10436 #undef nade
10437
10438 #define nade_burn(name, colormin1, colormax1, colormin2, colormax2) \
10439         DEF(nade_##name##_burn); \
10440         SUB(nade_##name##_burn) { \
10441                 MY(alpha_min) = 100; \
10442                 MY(alpha_max) = 100; \
10443                 MY(alpha_fade) = 250; \
10444                 MY(color_min) = colormin1; \
10445                 MY(color_max) = colormax1; \
10446                 MY(sizeincrease) = -1; \
10447                 MY(size_min) = 5; \
10448                 MY(size_max) = 5; \
10449                 MY(tex_min) = 65; \
10450                 MY(tex_max) = 65; \
10451                 MY(trailspacing) = 1; \
10452                 MY(type) = "smoke"; \
10453         } \
10454         SUB(nade_##name##_burn) /* fire */ { \
10455                 MY(alpha_min) = 200; \
10456                 MY(alpha_max) = 200; \
10457                 MY(alpha_fade) = 1000; \
10458                 MY(color_min) = colormin2; \
10459                 MY(color_max) = colormax2; \
10460                 MY(notunderwater) = true; \
10461                 MY(sizeincrease) = -30; \
10462                 MY(size_min) = 45; \
10463                 MY(size_max) = 25; \
10464                 MY(tex_min) = 65; \
10465                 MY(tex_max) = 65; \
10466                 MY(trailspacing) = 64; \
10467                 MY(type) = "smoke"; \
10468         } \
10469         SUB(nade_##name##_burn) /* bubbles */ { \
10470                 MY(alpha_min) = 256; \
10471                 MY(alpha_max) = 256; \
10472                 MY(alpha_fade) = 256; \
10473                 MY(bounce) = 1.500000; \
10474                 MY(color_min) = colormin1; \
10475                 MY(color_max) = colormax1; \
10476                 MY(gravity) = -0.125000; \
10477                 MY(liquidfriction) = 4; \
10478                 MY(size_min) = 1; \
10479                 MY(size_max) = 1; \
10480                 MY(tex_min) = 62; \
10481                 MY(tex_max) = 62; \
10482                 MY(trailspacing) = 16; \
10483                 MY(type) = "bubble"; \
10484                 MY(underwater) = true; \
10485                 MY(velocityjitter) = '16.0 16.0 16.0'; \
10486         } \
10487         SUB(nade_##name##_burn) { \
10488                 MY(alpha_min) = 300; \
10489                 MY(alpha_max) = 900; \
10490                 MY(alpha_fade) = 1500; \
10491                 MY(color_min) = colormin1; \
10492                 MY(color_max) = colormax1; \
10493                 MY(originjitter) = '2.0 2.0 2.0'; \
10494                 MY(startangle_min) = -180; \
10495                 MY(startangle_max) = 180; \
10496                 MY(spin_min) = 20; \
10497                 MY(spin_max) = -20; \
10498                 MY(sizeincrease) = -40; \
10499                 MY(size_min) = 15; \
10500                 MY(size_max) = 25; \
10501                 MY(tex_min) = 71; \
10502                 MY(tex_max) = 73; \
10503                 MY(trailspacing) = 16; \
10504                 MY(type) = "smoke"; \
10505                 MY(velocityjitter) = '10.0 10.0 10.0'; \
10506         } \
10507         /**/
10508
10509 nade_burn(red, "0xff0000", "0xff3c00", "0xff0000", "0xffa2a2")
10510 nade_burn(blue, "0x006cff", "0x0600ff", "0x0600ff", "0x9794ff")
10511 nade_burn(yellow, "0xFFFF0F", "0xFFFF0F", "0xFFFF0F", "0xFFFF0F")
10512 nade_burn(pink, "0xFF0FFF", "0xFF0FFF", "0xFF0FFF", "0xFF0FFF")
10513 nade_burn(neutral, "0xFFFFFF", "0xFFFFFF", "0xFFFFFF", "0xFFFFFF")
10514 #undef nade_burn
10515
10516 #define nade_explode(name, colorlight, colormin1, colormax1, colormin2, colormax2, colormin3, colormax3) \
10517         DEF(nade_##name##_explode); \
10518         SUB(nade_##name##_explode) { \
10519                 MY(alpha_min) = 256; \
10520                 MY(alpha_max) = 256; \
10521                 MY(countabsolute) = 1; \
10522                 MY(lightcolor) = colorlight; \
10523                 MY(lightradiusfade) = 1500; \
10524                 MY(lightradius) = 300; \
10525                 MY(originjitter) = '26.0 26.0 26.0'; \
10526                 MY(size_min) = 88; \
10527                 MY(size_max) = 88; \
10528                 MY(tex_min) = 8; \
10529                 MY(tex_max) = 16; \
10530                 MY(type) = "decal"; \
10531         } \
10532         SUB(nade_##name##_explode) /* shockwave */ { \
10533                 MY(alpha_min) = 80; \
10534                 MY(alpha_max) = 80; \
10535                 MY(alpha_fade) = 650; \
10536                 MY(color_min) = colormin1; \
10537                 MY(color_max) = colormax1; \
10538                 MY(countabsolute) = 1; \
10539                 MY(sizeincrease) = 1800; \
10540                 MY(size_min) = 32; \
10541                 MY(size_max) = 32; \
10542                 MY(tex_min) = 33; \
10543                 MY(tex_max) = 33; \
10544                 MY(type) = "smoke"; \
10545                 MY(velocitymultiplier) = 44; \
10546         } \
10547         SUB(nade_##name##_explode) /* fire */ { \
10548                 MY(airfriction) = 30; \
10549                 MY(alpha_min) = 400; \
10550                 MY(alpha_max) = 656; \
10551                 MY(alpha_fade) = 2000; \
10552                 MY(color_min) = colormin2; \
10553                 MY(color_max) = colormax2; \
10554                 MY(count) = 16; \
10555                 MY(notunderwater) = true; \
10556                 MY(originjitter) = '50.0 50.0 50.0'; \
10557                 MY(startangle_min) = -180; \
10558                 MY(startangle_max) = 180; \
10559                 MY(spin_min) = -9; \
10560                 MY(spin_max) = 9; \
10561                 MY(sizeincrease) = 555; \
10562                 MY(size_min) = 20; \
10563                 MY(size_max) = 24; \
10564                 MY(tex_min) = 48; \
10565                 MY(tex_max) = 55; \
10566                 MY(type) = "smoke"; \
10567                 MY(velocityjitter) = '320.0 320.0 320.0'; \
10568         } \
10569         SUB(nade_##name##_explode) /* fire stretched */ { \
10570                 MY(airfriction) = -9; \
10571                 MY(alpha_min) = 1500; \
10572                 MY(alpha_max) = 3000; \
10573                 MY(alpha_fade) = 13000; \
10574                 MY(color_min) = colormin2; \
10575                 MY(color_max) = colormax2; \
10576                 MY(count) = 8; \
10577                 MY(sizeincrease) = 40; \
10578                 MY(size_min) = 60; \
10579                 MY(size_max) = 90; \
10580                 MY(stretchfactor) = 80; \
10581                 MY(tex_min) = 48; \
10582                 MY(tex_max) = 55; \
10583                 MY(type) = "spark"; \
10584                 MY(velocityjitter) = '30.0 30.0 30.0'; \
10585         } \
10586         SUB(nade_##name##_explode) /* smoke */ { \
10587                 MY(airfriction) = 0.040000; \
10588                 MY(alpha_min) = 128; \
10589                 MY(alpha_max) = 328; \
10590                 MY(alpha_fade) = 390; \
10591                 MY(blend) = "alpha"; \
10592                 MY(color_min) = "0x222222"; \
10593                 MY(color_max) = "0x000000"; \
10594                 MY(count) = 32; \
10595                 MY(gravity) = 0.400000; \
10596                 MY(originjitter) = '50.0 50.0 10.0'; \
10597                 MY(startangle_min) = -180; \
10598                 MY(startangle_max) = 180; \
10599                 MY(spin_min) = 2; \
10600                 MY(spin_max) = -2; \
10601                 MY(sizeincrease) = 50; \
10602                 MY(size_min) = 60; \
10603                 MY(size_max) = 30; \
10604                 MY(tex_max) = 7; \
10605                 MY(type) = "smoke"; \
10606                 MY(velocityjitter) = '200.0 200.0 200.0'; \
10607                 MY(velocityoffset) = '0.0 0.0 180.0'; \
10608         } \
10609         SUB(nade_##name##_explode) /* underwater bubbles */ { \
10610                 MY(alpha_min) = 128; \
10611                 MY(alpha_max) = 256; \
10612                 MY(alpha_fade) = 64; \
10613                 MY(bounce) = 1.500000; \
10614                 MY(color_min) = "0x404040"; \
10615                 MY(color_max) = "0x808080"; \
10616                 MY(count) = 32; \
10617                 MY(gravity) = -0.125000; \
10618                 MY(liquidfriction) = 0.250000; \
10619                 MY(originjitter) = '16.0 16.0 16.0'; \
10620                 MY(size_min) = 3; \
10621                 MY(size_max) = 6; \
10622                 MY(tex_min) = 62; \
10623                 MY(tex_max) = 62; \
10624                 MY(type) = "bubble"; \
10625                 MY(underwater) = true; \
10626                 MY(velocityjitter) = '196.0 196.0 196.0'; \
10627         } \
10628         SUB(nade_##name##_explode) /* bouncing sparks */ { \
10629                 MY(airfriction) = 1; \
10630                 MY(alpha_min) = 644; \
10631                 MY(alpha_max) = 956; \
10632                 MY(alpha_fade) = 484; \
10633                 MY(bounce) = 1.600000; \
10634                 MY(color_min) = colormin3; \
10635                 MY(color_max) = colormax3; \
10636                 MY(count) = 8; \
10637                 MY(gravity) = 1; \
10638                 MY(liquidfriction) = 0.800000; \
10639                 MY(notunderwater) = true; \
10640                 MY(originjitter) = '16.0 16.0 16.0'; \
10641                 MY(size_min) = 1; \
10642                 MY(size_max) = 2; \
10643                 MY(tex_min) = 40; \
10644                 MY(tex_max) = 40; \
10645                 MY(type) = "spark"; \
10646                 MY(velocityjitter) = '424.0 424.0 624.0'; \
10647                 MY(velocityoffset) = '0.0 0.0 80.0'; \
10648         } \
10649         SUB(nade_##name##_explode) /* notbouncing sparks */ { \
10650                 MY(airfriction) = 0.700000; \
10651                 MY(alpha_min) = 644; \
10652                 MY(alpha_max) = 956; \
10653                 MY(alpha_fade) = 684; \
10654                 MY(color_min) = colormin3; \
10655                 MY(color_max) = colormax3; \
10656                 MY(count) = 16; \
10657                 MY(gravity) = 0.500000; \
10658                 MY(liquidfriction) = 0.800000; \
10659                 MY(originjitter) = '16.0 16.0 16.0'; \
10660                 MY(size_min) = 1; \
10661                 MY(size_max) = 2; \
10662                 MY(tex_min) = 40; \
10663                 MY(tex_max) = 40; \
10664                 MY(type) = "spark"; \
10665                 MY(velocityjitter) = '424.0 424.0 624.0'; \
10666                 MY(velocityoffset) = '0.0 0.0 80.0'; \
10667         } \
10668         SUB(nade_##name##_explode) /* debris */ { \
10669         MY(alpha_min) = 644; \
10670         MY(alpha_max) = 956; \
10671         MY(alpha_fade) = 2500; \
10672         MY(color_min) = colormin3; \
10673         MY(color_max) = colormax3; \
10674         MY(count) = 8; \
10675         MY(notunderwater) = true; \
10676         MY(originjitter) = '64.0 64.0 64.0'; \
10677         MY(startangle_min) = -180; \
10678         MY(startangle_max) = 180; \
10679         MY(spin_min) = -100; \
10680         MY(spin_max) = 100; \
10681         MY(size_min) = 20; \
10682         MY(size_max) = 40; \
10683         MY(tex_min) = 71; \
10684         MY(tex_max) = 73; \
10685         MY(type) = "smoke"; \
10686         MY(velocityjitter) = '324.0 324.0 324.0'; \
10687     } \
10688         /**/
10689
10690 nade_explode(blue, '20.0 20.0 100.0', "0x80C0FF", "0x80C0FF", "0x629dff", "0x0018ff", "0x006cff", "0x0600ff")
10691 nade_explode(red, '100.0 20.0 20.0', "0xff0000", "0xffa2a2", "0xff0000", "0xff4200", "0xff0000", "0xffa2a2")
10692 nade_explode(yellow, '100.0 20.0 20.0', "0xff0000", "0xffa2a2", "0xFFFF0F", "0xFFFF0F", "0xff0000", "0xffa2a2")
10693 nade_explode(pink, '100.0 20.0 20.0', "0xff0000", "0xffa2a2", "0xFF0FFF", "0xFF0FFF", "0xff0000", "0xffa2a2")
10694 nade_explode(neutral, '100.0 20.0 20.0', "0xff0000", "0xffa2a2", "0xFFFFFF", "0xFFFFFF", "0xff0000", "0xffa2a2")
10695 #undef nade_explode
10696
10697 DEF(shockwave_attack);
10698 // electricity
10699 SUB(shockwave_attack) {
10700         MY(airfriction) = 1;
10701         MY(alpha_min) = 4096;
10702         MY(alpha_max) = 4096;
10703         MY(alpha_fade) = 20000;
10704         MY(color_min) = "0xb44215";
10705         MY(color_max) = "0xff0000";
10706         MY(count) = 1;
10707         MY(originjitter) = '2.0 2.0 2.0';
10708         MY(startangle_min) = -180;
10709         MY(startangle_max) = 180;
10710         MY(spin_min) = 4000;
10711         MY(spin_max) = -4000;
10712         MY(sizeincrease) = 1.500000;
10713         MY(size_min) = 5;
10714         MY(size_max) = 7;
10715         MY(stretchfactor) = 2.300000;
10716         MY(tex_min) = 43;
10717         MY(tex_max) = 43;
10718         MY(type) = "spark";
10719         MY(velocityjitter) = '10.0 10.0 10.0';
10720         MY(velocitymultiplier) = 10;
10721 }
10722 // fire
10723 SUB(shockwave_attack) {
10724         MY(airfriction) = 1;
10725         MY(alpha_min) = 4096;
10726         MY(alpha_max) = 4096;
10727         MY(alpha_fade) = 20000;
10728         MY(color_min) = "0xff4200";
10729         MY(color_max) = "0xff0000";
10730         MY(count) = 1;
10731         MY(originjitter) = '2.0 2.0 2.0';
10732         MY(sizeincrease) = 1.500000;
10733         MY(size_min) = 7;
10734         MY(size_max) = 9;
10735         MY(stretchfactor) = 2;
10736         MY(tex_min) = 8;
10737         MY(tex_max) = 15;
10738         MY(type) = "spark";
10739         MY(velocityjitter) = '10.0 10.0 10.0';
10740         MY(velocitymultiplier) = 10;
10741 }
10742
10743 DEF(arc_lightning);
10744 // impact decal
10745 SUB(arc_lightning) {
10746         MY(alpha_min) = 32;
10747         MY(alpha_max) = 32;
10748         MY(countabsolute) = 1;
10749         MY(lightcolor) = '3.1 4.4 10.0';
10750         MY(lightradiusfade) = 200;
10751         MY(lightradius) = 50;
10752         MY(originjitter) = '2.0 2.0 2.0';
10753         MY(size_min) = 16;
10754         MY(size_max) = 16;
10755         MY(tex_min) = 16;
10756         MY(tex_max) = 32;
10757         MY(type) = "decal";
10758 }
10759 // impact sparks
10760 SUB(arc_lightning) {
10761         MY(airfriction) = 110;
10762         MY(alpha_min) = 256;
10763         MY(alpha_max) = 256;
10764         MY(alpha_fade) = 512;
10765         MY(color_min) = "0xDDFDFF";
10766         MY(color_max) = "0xFDFDFF";
10767         MY(count) = 100;
10768         MY(originjitter) = '20.0 20.0 20.0';
10769         MY(startangle_max) = 360;
10770         MY(spin_min) = -36000;
10771         MY(spin_max) = 36000;
10772         MY(sizeincrease) = -5;
10773         MY(size_max) = 5;
10774         MY(stretchfactor) = 1;
10775         MY(tex_min) = 71;
10776         MY(tex_max) = 74;
10777         MY(type) = "static";
10778         MY(velocityjitter) = '250.0 250.0 250.0';
10779         MY(velocitymultiplier) = 100;
10780 }
10781 // impact sparks (underwater)
10782 SUB(arc_lightning) {
10783         MY(airfriction) = 5;
10784         MY(alpha_min) = 256;
10785         MY(alpha_max) = 256;
10786         MY(alpha_fade) = 512;
10787         MY(color_min) = "0xDDFDFF";
10788         MY(color_max) = "0xFDFDFF";
10789         MY(count) = 100;
10790         MY(liquidfriction) = 5;
10791         MY(orientation) = "spark";
10792         MY(originjitter) = '20.0 20.0 20.0';
10793         MY(startangle_max) = 360;
10794         MY(spin_min) = -36000;
10795         MY(spin_max) = 36000;
10796         MY(sizeincrease) = -5;
10797         MY(size_max) = 5;
10798         MY(stretchfactor) = 1;
10799         MY(tex_min) = 71;
10800         MY(tex_max) = 74;
10801         MY(type) = "static";
10802         MY(underwater) = true;
10803         MY(velocityjitter) = '250.0 250.0 250.0';
10804         MY(velocitymultiplier) = 20;
10805 }
10806
10807 DEF(arc_beam);
10808 // sparks on beam
10809 SUB(arc_beam) {
10810         MY(airfriction) = -10;
10811         MY(alpha_min) = 256;
10812         MY(alpha_max) = 256;
10813         MY(alpha_fade) = 16384;
10814         MY(color_min) = "0xfafad2";
10815         MY(color_max) = "0xffffff";
10816         MY(originjitter) = '3.0 3.0 3.0';
10817         MY(relativeoriginoffset) = '10.0 0.0 0.0';
10818         MY(startangle_max) = 360;
10819         MY(spin_min) = 360;
10820         MY(spin_max) = 1000;
10821         MY(stretchfactor) = 1;
10822         MY(tex_min) = 71;
10823         MY(tex_max) = 74;
10824         MY(time_min) = 0.050000;
10825         MY(time_max) = 0.050000;
10826         MY(trailspacing) = 10;
10827         MY(type) = "spark";
10828         MY(velocityjitter) = '100.0 100.0 100.0';
10829         MY(velocitymultiplier) = 200;
10830 }
10831 // sparks on beam (underwater)
10832 SUB(arc_beam) {
10833         MY(alpha_min) = 256;
10834         MY(alpha_max) = 256;
10835         MY(alpha_fade) = 16384;
10836         MY(color_min) = "0xfafad2";
10837         MY(color_max) = "0xffffff";
10838         MY(liquidfriction) = -10;
10839         MY(originjitter) = '30.0 30.0 30.0';
10840         MY(relativeoriginoffset) = '10.0 0.0 0.0';
10841         MY(startangle_max) = 360;
10842         MY(spin_min) = 360;
10843         MY(spin_max) = 1000;
10844         MY(stretchfactor) = 1;
10845         MY(tex_min) = 71;
10846         MY(tex_max) = 74;
10847         MY(time_min) = 0.001000;
10848         MY(time_max) = 0.001000;
10849         MY(trailspacing) = 10;
10850         MY(type) = "spark";
10851         MY(underwater) = true;
10852         MY(velocityjitter) = '100.0 100.0 100.0';
10853         MY(velocitymultiplier) = 200;
10854 }
10855
10856 DEF(arc_beam_heal);
10857 // bubble this...
10858 SUB(arc_beam_heal) {
10859         MY(airfriction) = -20;
10860         MY(alpha_min) = 2048;
10861         MY(alpha_max) = 2048;
10862         MY(alpha_fade) = 256;
10863         MY(color_min) = "0x20FF20";
10864         MY(color_max) = "0x40FF40";
10865         MY(relativeoriginoffset) = '5.0 0.0 0.0';
10866         MY(relativevelocityoffset) = '100.0 0.0 0.0';
10867         MY(sizeincrease) = 20;
10868         MY(size_min) = 0.100000;
10869         MY(size_max) = 0.100000;
10870         MY(tex_min) = 74;
10871         MY(tex_max) = 74;
10872         MY(trailspacing) = 1500;
10873         MY(type) = "smoke";
10874         MY(velocityjitter) = '3.0 3.0 3.0';
10875         MY(velocitymultiplier) = 200;
10876 }
10877
10878 DEF(arc_beam_healimpact);
10879 // healing "aura"
10880 SUB(arc_beam_healimpact) {
10881         MY(alpha_min) = 40;
10882         MY(alpha_max) = 40;
10883         MY(alpha_fade) = 350;
10884         MY(color_min) = "0x00ff00";
10885         MY(color_max) = "0x84c52f";
10886         MY(countabsolute) = 1;
10887         MY(lightcolor) = '0.0 4.4 0.0';
10888         MY(lightradiusfade) = 150;
10889         MY(lightradius) = 20;
10890         MY(sizeincrease) = -1000;
10891         MY(size_min) = 32;
10892         MY(size_max) = 32;
10893         MY(tex_min) = 33;
10894         MY(tex_max) = 33;
10895         MY(type) = "smoke";
10896         MY(velocitymultiplier) = 44;
10897 }
10898 // rising "smoke"
10899 SUB(arc_beam_healimpact) {
10900         MY(airfriction) = 3;
10901         MY(alpha_min) = 200;
10902         MY(alpha_max) = 456;
10903         MY(alpha_fade) = 512;
10904         MY(color_min) = "0x00ff00";
10905         MY(color_max) = "0x84c52f";
10906         MY(count) = 15;
10907         MY(gravity) = -2;
10908         MY(startangle_min) = -180;
10909         MY(startangle_max) = 180;
10910         MY(spin_min) = -90;
10911         MY(spin_max) = 90;
10912         MY(size_min) = 0.500000;
10913         MY(size_max) = 1;
10914         MY(tex_min) = 40;
10915         MY(tex_max) = 40;
10916         MY(type) = "smoke";
10917         MY(velocityjitter) = '120.0 120.0 420.0';
10918 }
10919
10920 DEF(arc_smoke);
10921 // arc heat smoke  (notunderwater)
10922 SUB(arc_smoke) {
10923         MY(airfriction) = 1;
10924         MY(alpha_min) = 32;
10925         MY(alpha_max) = 64;
10926         MY(alpha_fade) = 48;
10927         MY(color_min) = "0x4c453f";
10928         MY(color_max) = "0x2a241f";
10929         MY(count) = 2;
10930         MY(gravity) = -0.125000;
10931         MY(notunderwater) = true;
10932         MY(startangle_max) = 360;
10933         MY(spin_min) = -180;
10934         MY(spin_max) = 180;
10935         MY(sizeincrease) = 10;
10936         MY(size_min) = 5;
10937         MY(size_max) = 10;
10938         MY(tex_max) = 8;
10939         MY(type) = "smoke";
10940         MY(velocityjitter) = '0.0 0.0 16.0';
10941 }
10942 // arc heat bubbles  (underwater)
10943 SUB(arc_smoke) {
10944         MY(alpha_min) = 170;
10945         MY(alpha_max) = 256;
10946         MY(alpha_fade) = 64;
10947         MY(bounce) = 1.500000;
10948         MY(color_min) = "0x404040";
10949         MY(color_max) = "0x808080";
10950         MY(count) = 2;
10951         MY(gravity) = -0.125000;
10952         MY(liquidfriction) = 0.250000;
10953         MY(originjitter) = '6.0 6.0 6.0';
10954         MY(size_min) = 0.100000;
10955         MY(size_max) = 1;
10956         MY(tex_min) = 62;
10957         MY(tex_max) = 62;
10958         MY(type) = "bubble";
10959         MY(underwater) = true;
10960         MY(velocityjitter) = '16.0 16.0 16.0';
10961 }
10962
10963 DEF(arc_overheat);
10964 // arc overheat electric bolts
10965 SUB(arc_overheat) {
10966         MY(airfriction) = 5;
10967         MY(alpha_min) = 128;
10968         MY(alpha_max) = 128;
10969         MY(alpha_fade) = 292;
10970         MY(color_min) = "0xffffff";
10971         MY(color_max) = "0x9271fb";
10972         MY(count) = 24;
10973         MY(gravity) = -0.400000;
10974         MY(liquidfriction) = 10;
10975         MY(originjitter) = '10.0 10.0 10.0';
10976         MY(sizeincrease) = -24;
10977         MY(size_min) = 6;
10978         MY(size_max) = 12;
10979         MY(tex_min) = 43;
10980         MY(tex_max) = 43;
10981         MY(type) = "spark";
10982         MY(velocityjitter) = '256.0 256.0 256.0';
10983 }
10984
10985 DEF(arc_overheat_fire);
10986 // arc overheat bouncing sparks
10987 SUB(arc_overheat_fire) {
10988         MY(alpha_max) = 256;
10989         MY(alpha_fade) = 640;
10990         MY(bounce) = 1.500000;
10991         MY(color_min) = "0x4444ff";
10992         MY(color_max) = "0xeeeeff";
10993         MY(count) = 1;
10994         MY(gravity) = 1;
10995         MY(liquidfriction) = 5;
10996         MY(originjitter) = '6.0 6.0 6.0';
10997         MY(size_min) = 0.400000;
10998         MY(size_max) = 1;
10999         MY(type) = "spark";
11000         MY(velocityjitter) = '92.0 92.0 92.0';
11001         MY(velocitymultiplier) = 80;
11002         MY(velocityoffset) = '0.0 0.0 80.0';
11003 }
11004
11005 DEF(yellowflag_touch);
11006 SUB(yellowflag_touch) {
11007         MY(airfriction) = 3;
11008         MY(alpha_max) = 256;
11009         MY(alpha_fade) = 556;
11010         MY(bounce) = 1.500000;
11011         MY(color_min) = "0xFFFF0F";
11012         MY(color_max) = "0xFFFF0F";
11013         MY(count) = 35;
11014         MY(gravity) = 1;
11015         MY(originjitter) = '1.0 1.0 1.0';
11016         MY(size_min) = 1;
11017         MY(size_max) = 3;
11018         MY(tex_min) = 40;
11019         MY(tex_max) = 40;
11020         MY(type) = "spark";
11021         MY(velocityjitter) = '300.0 300.0 300.0';
11022         MY(velocitymultiplier) = 0.500000;
11023 }
11024
11025 DEF(pinkflag_touch);
11026 SUB(pinkflag_touch) {
11027         MY(airfriction) = 3;
11028         MY(alpha_max) = 256;
11029         MY(alpha_fade) = 556;
11030         MY(bounce) = 1.500000;
11031         MY(color_min) = "0xFF0FFF";
11032         MY(color_max) = "0xFF0FFF";
11033         MY(count) = 35;
11034         MY(gravity) = 1;
11035         MY(originjitter) = '1.0 1.0 1.0';
11036         MY(size_min) = 1;
11037         MY(size_max) = 3;
11038         MY(tex_min) = 40;
11039         MY(tex_max) = 40;
11040         MY(type) = "spark";
11041         MY(velocityjitter) = '300.0 300.0 300.0';
11042         MY(velocitymultiplier) = 0.500000;
11043 }
11044
11045 DEF(neutralflag_touch);
11046 SUB(neutralflag_touch) {
11047         MY(airfriction) = 3;
11048         MY(alpha_max) = 256;
11049         MY(alpha_fade) = 556;
11050         MY(bounce) = 1.500000;
11051         MY(color_min) = "0xFFFFFF";
11052         MY(color_max) = "0xFFFFFF";
11053         MY(count) = 35;
11054         MY(gravity) = 1;
11055         MY(originjitter) = '1.0 1.0 1.0';
11056         MY(size_min) = 1;
11057         MY(size_max) = 3;
11058         MY(tex_min) = 40;
11059         MY(tex_max) = 40;
11060         MY(type) = "spark";
11061         MY(velocityjitter) = '300.0 300.0 300.0';
11062         MY(velocitymultiplier) = 0.500000;
11063 }
11064
11065 DEF(yellow_pass);
11066 SUB(yellow_pass) {
11067         MY(airfriction) = 5;
11068         MY(alpha_min) = 64;
11069         MY(alpha_max) = 128;
11070         MY(alpha_fade) = 64;
11071         MY(color_min) = "0xFFFF0F";
11072         MY(color_max) = "0xFFFF0F";
11073         MY(sizeincrease) = 2;
11074         MY(size_min) = 2;
11075         MY(size_max) = 2;
11076         MY(tex_min) = 32;
11077         MY(tex_max) = 32;
11078         MY(trailspacing) = 64;
11079         MY(type) = "static";
11080 }
11081 SUB(yellow_pass) {
11082         MY(airfriction) = 9;
11083         MY(alpha_min) = 32;
11084         MY(alpha_max) = 64;
11085         MY(alpha_fade) = 32;
11086         MY(color_min) = "0xFFFF0F";
11087         MY(color_max) = "0xFFFF0F";
11088         MY(sizeincrease) = 8;
11089         MY(size_min) = 1;
11090         MY(size_max) = 1;
11091         MY(tex_max) = 8;
11092         MY(trailspacing) = 12;
11093         MY(type) = "static";
11094         MY(velocityjitter) = '64.0 64.0 64.0';
11095 }
11096 SUB(yellow_pass) {
11097         MY(alpha_min) = 256;
11098         MY(alpha_max) = 256;
11099         MY(alpha_fade) = 1280;
11100         MY(color_min) = "0xFFFF0F";
11101         MY(color_max) = "0xFFFF0F";
11102         MY(size_min) = 4;
11103         MY(size_max) = 4;
11104         MY(trailspacing) = 12;
11105         MY(type) = "static";
11106 }
11107
11108 DEF(pink_pass);
11109 SUB(pink_pass) {
11110         MY(airfriction) = 5;
11111         MY(alpha_min) = 64;
11112         MY(alpha_max) = 128;
11113         MY(alpha_fade) = 64;
11114         MY(color_min) = "0xFFFFFF";
11115         MY(color_max) = "0xFFFFFF";
11116         MY(sizeincrease) = 2;
11117         MY(size_min) = 2;
11118         MY(size_max) = 2;
11119         MY(tex_min) = 32;
11120         MY(tex_max) = 32;
11121         MY(trailspacing) = 64;
11122         MY(type) = "static";
11123 }
11124 SUB(pink_pass) {
11125         MY(airfriction) = 9;
11126         MY(alpha_min) = 32;
11127         MY(alpha_max) = 64;
11128         MY(alpha_fade) = 32;
11129         MY(color_min) = "0xFFFFFF";
11130         MY(color_max) = "0xFFFFFF";
11131         MY(sizeincrease) = 8;
11132         MY(size_min) = 1;
11133         MY(size_max) = 1;
11134         MY(tex_max) = 8;
11135         MY(trailspacing) = 12;
11136         MY(type) = "static";
11137         MY(velocityjitter) = '64.0 64.0 64.0';
11138 }
11139 SUB(pink_pass) {
11140         MY(alpha_min) = 256;
11141         MY(alpha_max) = 256;
11142         MY(alpha_fade) = 1280;
11143         MY(color_min) = "0xFFFFFF";
11144         MY(color_max) = "0xFFFFFF";
11145         MY(size_min) = 4;
11146         MY(size_max) = 4;
11147         MY(trailspacing) = 12;
11148         MY(type) = "static";
11149 }
11150
11151 DEF(neutral_pass);
11152 SUB(neutral_pass) {
11153         MY(airfriction) = 5;
11154         MY(alpha_min) = 64;
11155         MY(alpha_max) = 128;
11156         MY(alpha_fade) = 64;
11157         MY(color_min) = "0xFFFFFF";
11158         MY(color_max) = "0xFFFFFF";
11159         MY(sizeincrease) = 2;
11160         MY(size_min) = 2;
11161         MY(size_max) = 2;
11162         MY(tex_min) = 32;
11163         MY(tex_max) = 32;
11164         MY(trailspacing) = 64;
11165         MY(type) = "static";
11166 }
11167 SUB(neutral_pass) {
11168         MY(airfriction) = 9;
11169         MY(alpha_min) = 32;
11170         MY(alpha_max) = 64;
11171         MY(alpha_fade) = 32;
11172         MY(color_min) = "0xFFFFFF";
11173         MY(color_max) = "0xFFFFFF";
11174         MY(sizeincrease) = 8;
11175         MY(size_min) = 1;
11176         MY(size_max) = 1;
11177         MY(tex_max) = 8;
11178         MY(trailspacing) = 12;
11179         MY(type) = "static";
11180         MY(velocityjitter) = '64.0 64.0 64.0';
11181 }
11182 SUB(neutral_pass) {
11183         MY(alpha_min) = 256;
11184         MY(alpha_max) = 256;
11185         MY(alpha_fade) = 1280;
11186         MY(color_min) = "0xFFFFFF";
11187         MY(color_max) = "0xFFFFFF";
11188         MY(size_min) = 4;
11189         MY(size_max) = 4;
11190         MY(trailspacing) = 12;
11191         MY(type) = "static";
11192 }
11193
11194 DEF(yellow_cap);
11195 SUB(yellow_cap) {
11196         MY(airfriction) = 2;
11197         MY(alpha_max) = 256;
11198         MY(alpha_fade) = 100;
11199         MY(bounce) = 1.500000;
11200         MY(color_min) = "0xFFFF0F";
11201         MY(color_max) = "0xFFFF0F";
11202         MY(count) = 500;
11203         MY(originjitter) = '1.0 1.0 1.0';
11204         MY(size_min) = 1;
11205         MY(size_max) = 1;
11206         MY(stretchfactor) = 0.600000;
11207         MY(tex_min) = 64;
11208         MY(tex_max) = 64;
11209         MY(type) = "spark";
11210         MY(velocityjitter) = '1000.0 1000.0 1500.0';
11211         MY(velocitymultiplier) = 0.500000;
11212 }
11213 SUB(yellow_cap) {
11214         MY(alpha_min) = 190;
11215         MY(alpha_max) = 190;
11216         MY(alpha_fade) = 180;
11217         MY(color_min) = "0xFFFF0F";
11218         MY(color_max) = "0xFFFF0F";
11219         MY(countabsolute) = 1;
11220         MY(sizeincrease) = -80;
11221         MY(size_min) = 150;
11222         MY(size_max) = 150;
11223         MY(tex_min) = 65;
11224         MY(tex_max) = 65;
11225         MY(type) = "smoke";
11226 }
11227
11228 DEF(pink_cap);
11229 SUB(pink_cap) {
11230         MY(airfriction) = 2;
11231         MY(alpha_max) = 256;
11232         MY(alpha_fade) = 100;
11233         MY(bounce) = 1.500000;
11234         MY(color_min) = "0xFF0FFF";
11235         MY(color_max) = "0xFF0FFF";
11236         MY(count) = 500;
11237         MY(originjitter) = '1.0 1.0 1.0';
11238         MY(size_min) = 1;
11239         MY(size_max) = 1;
11240         MY(stretchfactor) = 0.600000;
11241         MY(tex_min) = 64;
11242         MY(tex_max) = 64;
11243         MY(type) = "spark";
11244         MY(velocityjitter) = '1000.0 1000.0 1500.0';
11245         MY(velocitymultiplier) = 0.500000;
11246 }
11247 SUB(pink_cap) {
11248         MY(alpha_min) = 190;
11249         MY(alpha_max) = 190;
11250         MY(alpha_fade) = 180;
11251         MY(color_min) = "0xFF0FFF";
11252         MY(color_max) = "0xFF0FFF";
11253         MY(countabsolute) = 1;
11254         MY(sizeincrease) = -80;
11255         MY(size_min) = 150;
11256         MY(size_max) = 150;
11257         MY(tex_min) = 65;
11258         MY(tex_max) = 65;
11259         MY(type) = "smoke";
11260 }
11261
11262 DEF(relic_resistance);
11263 SUB(relic_resistance) {
11264         MY(airfriction) = 0.200000;
11265         MY(alpha_min) = 128;
11266         MY(alpha_max) = 256;
11267         MY(alpha_fade) = 256;
11268         MY(color_min) = "0x00ff80";
11269         MY(color_max) = "0x00ff80";
11270         MY(count) = 20;
11271         MY(gravity) = -0.100000;
11272         MY(liquidfriction) = 0.800000;
11273         MY(originjitter) = '8.0 8.0 32.0';
11274         MY(size_min) = 1.500000;
11275         MY(size_max) = 1.500000;
11276         MY(type) = "static";
11277         MY(velocityjitter) = '64.0 64.0 32.0';
11278 }
11279
11280 DEF(relic_regeneration);
11281 SUB(relic_regeneration) {
11282         MY(airfriction) = 0.200000;
11283         MY(alpha_min) = 128;
11284         MY(alpha_max) = 256;
11285         MY(alpha_fade) = 256;
11286         MY(color_min) = "0x00ffff";
11287         MY(color_max) = "0x00ffff";
11288         MY(count) = 1;
11289         MY(gravity) = -0.100000;
11290         MY(liquidfriction) = 0.800000;
11291         MY(originjitter) = '8.0 8.0 32.0';
11292         MY(size_min) = 1.500000;
11293         MY(size_max) = 1.500000;
11294         MY(type) = "static";
11295         MY(velocityjitter) = '64.0 64.0 32.0';
11296 }
11297
11298 DEF(relic_vampire);
11299 SUB(relic_vampire) {
11300         MY(airfriction) = 0.200000;
11301         MY(alpha_min) = 128;
11302         MY(alpha_max) = 256;
11303         MY(alpha_fade) = 256;
11304         MY(color_min) = "0xff00ff";
11305         MY(color_max) = "0xff00ff";
11306         MY(count) = 20;
11307         MY(gravity) = -0.100000;
11308         MY(liquidfriction) = 0.800000;
11309         MY(originjitter) = '8.0 8.0 32.0';
11310         MY(size_min) = 1.500000;
11311         MY(size_max) = 1.500000;
11312         MY(type) = "static";
11313         MY(velocityjitter) = '64.0 64.0 32.0';
11314 }
11315
11316 DEF(relic_ammo);
11317 SUB(relic_ammo) {
11318         MY(airfriction) = 0.200000;
11319         MY(alpha_min) = 128;
11320         MY(alpha_max) = 256;
11321         MY(alpha_fade) = 256;
11322         MY(color_min) = "0x80ff00";
11323         MY(color_max) = "0x80ff00";
11324         MY(count) = 1;
11325         MY(gravity) = -0.100000;
11326         MY(liquidfriction) = 0.800000;
11327         MY(originjitter) = '8.0 8.0 32.0';
11328         MY(size_min) = 1.500000;
11329         MY(size_max) = 1.500000;
11330         MY(type) = "static";
11331         MY(velocityjitter) = '64.0 64.0 32.0';
11332 }
11333
11334 DEF(relic_damage);
11335 SUB(relic_damage) {
11336         MY(airfriction) = 0.200000;
11337         MY(alpha_min) = 128;
11338         MY(alpha_max) = 256;
11339         MY(alpha_fade) = 256;
11340         MY(color_min) = "0xff0000";
11341         MY(color_max) = "0xff0000";
11342         MY(count) = 20;
11343         MY(gravity) = -0.100000;
11344         MY(liquidfriction) = 0.800000;
11345         MY(originjitter) = '8.0 8.0 32.0';
11346         MY(size_min) = 1.500000;
11347         MY(size_max) = 1.500000;
11348         MY(type) = "static";
11349         MY(velocityjitter) = '64.0 64.0 32.0';
11350 }
11351
11352 DEF(relic_ssplashdamage);
11353 SUB(relic_ssplashdamage) {
11354         MY(airfriction) = 0.200000;
11355         MY(alpha_min) = 128;
11356         MY(alpha_max) = 256;
11357         MY(alpha_fade) = 256;
11358         MY(color_min) = "0xff8000";
11359         MY(color_max) = "0xff8000";
11360         MY(count) = 20;
11361         MY(gravity) = -0.100000;
11362         MY(liquidfriction) = 0.800000;
11363         MY(originjitter) = '8.0 8.0 32.0';
11364         MY(size_min) = 1.500000;
11365         MY(size_max) = 1.500000;
11366         MY(type) = "static";
11367         MY(velocityjitter) = '64.0 64.0 32.0';
11368 }
11369
11370 DEF(relic_firingspeed);
11371 SUB(relic_firingspeed) {
11372         MY(airfriction) = 0.200000;
11373         MY(alpha_min) = 128;
11374         MY(alpha_max) = 256;
11375         MY(alpha_fade) = 256;
11376         MY(color_min) = "0xffff00";
11377         MY(color_max) = "0xffff00";
11378         MY(count) = 20;
11379         MY(gravity) = -0.100000;
11380         MY(liquidfriction) = 0.800000;
11381         MY(originjitter) = '8.0 8.0 32.0';
11382         MY(size_min) = 1.500000;
11383         MY(size_max) = 1.500000;
11384         MY(type) = "static";
11385         MY(velocityjitter) = '64.0 64.0 32.0';
11386 }
11387
11388 DEF(relic_disability);
11389 SUB(relic_disability) {
11390         MY(airfriction) = 0.200000;
11391         MY(alpha_min) = 128;
11392         MY(alpha_max) = 256;
11393         MY(alpha_fade) = 256;
11394         MY(color_min) = "0x0000ff";
11395         MY(color_max) = "0x0000ff";
11396         MY(count) = 20;
11397         MY(gravity) = -0.100000;
11398         MY(liquidfriction) = 0.800000;
11399         MY(originjitter) = '8.0 8.0 32.0';
11400         MY(size_min) = 1.500000;
11401         MY(size_max) = 1.500000;
11402         MY(type) = "static";
11403         MY(velocityjitter) = '64.0 64.0 32.0';
11404 }
11405
11406 DEF(relic_disability_curse);
11407 SUB(relic_disability_curse) {
11408         MY(airfriction) = 0.200000;
11409         MY(alpha_min) = 128;
11410         MY(alpha_max) = 256;
11411         MY(alpha_fade) = 256;
11412         MY(color_min) = "0x000080";
11413         MY(color_max) = "0x000080";
11414         MY(count) = 1;
11415         MY(gravity) = -0.100000;
11416         MY(liquidfriction) = 0.800000;
11417         MY(originjitter) = '8.0 8.0 32.0';
11418         MY(size_min) = 1.500000;
11419         MY(size_max) = 1.500000;
11420         MY(type) = "static";
11421         MY(velocityjitter) = '64.0 64.0 32.0';
11422 }
11423
11424 DEF(relic_teamboost);
11425 SUB(relic_teamboost) {
11426         MY(airfriction) = 0.200000;
11427         MY(alpha_min) = 128;
11428         MY(alpha_max) = 256;
11429         MY(alpha_fade) = 256;
11430         MY(color_min) = "0xffffff";
11431         MY(color_max) = "0xffffff";
11432         MY(count) = 20;
11433         MY(gravity) = -0.100000;
11434         MY(liquidfriction) = 0.800000;
11435         MY(originjitter) = '8.0 8.0 32.0';
11436         MY(size_min) = 1.500000;
11437         MY(size_max) = 1.500000;
11438         MY(type) = "static";
11439         MY(velocityjitter) = '64.0 64.0 32.0';
11440 }
11441
11442 DEF(relic_teamboost_boost);
11443 SUB(relic_teamboost_boost) {
11444         MY(airfriction) = 0.200000;
11445         MY(alpha_min) = 128;
11446         MY(alpha_max) = 256;
11447         MY(alpha_fade) = 256;
11448         MY(color_min) = "0x808080";
11449         MY(color_max) = "0x808080";
11450         MY(count) = 1;
11451         MY(gravity) = -0.100000;
11452         MY(liquidfriction) = 0.800000;
11453         MY(originjitter) = '8.0 8.0 32.0';
11454         MY(size_min) = 1.500000;
11455         MY(size_max) = 1.500000;
11456         MY(type) = "static";
11457         MY(velocityjitter) = '64.0 64.0 32.0';
11458 }
11459
11460 DEF(relic_speed);
11461 SUB(relic_speed) {
11462         MY(airfriction) = 0.200000;
11463         MY(alpha_min) = 128;
11464         MY(alpha_max) = 256;
11465         MY(alpha_fade) = 256;
11466         MY(color_min) = "0x80ffff";
11467         MY(color_max) = "0x80ffff";
11468         MY(count) = 1;
11469         MY(gravity) = -0.100000;
11470         MY(liquidfriction) = 0.800000;
11471         MY(originjitter) = '8.0 8.0 32.0';
11472         MY(size_min) = 1.500000;
11473         MY(size_max) = 1.500000;
11474         MY(type) = "static";
11475         MY(velocityjitter) = '64.0 64.0 32.0';
11476 }
11477
11478 DEF(relic_jump);
11479 SUB(relic_jump) {
11480         MY(airfriction) = 0.200000;
11481         MY(alpha_min) = 128;
11482         MY(alpha_max) = 256;
11483         MY(alpha_fade) = 256;
11484         MY(color_min) = "0xffff80";
11485         MY(color_max) = "0xffff80";
11486         MY(count) = 20;
11487         MY(gravity) = -0.100000;
11488         MY(liquidfriction) = 0.800000;
11489         MY(originjitter) = '8.0 8.0 32.0';
11490         MY(size_min) = 1.500000;
11491         MY(size_max) = 1.500000;
11492         MY(type) = "static";
11493         MY(velocityjitter) = '64.0 64.0 32.0';
11494 }
11495
11496 DEF(relic_flight);
11497 SUB(relic_flight) {
11498         MY(airfriction) = 0.200000;
11499         MY(alpha_min) = 128;
11500         MY(alpha_max) = 256;
11501         MY(alpha_fade) = 256;
11502         MY(color_min) = "0x8080ff";
11503         MY(color_max) = "0x8080ff";
11504         MY(count) = 1;
11505         MY(gravity) = -0.100000;
11506         MY(liquidfriction) = 0.800000;
11507         MY(originjitter) = '8.0 8.0 32.0';
11508         MY(size_min) = 1.500000;
11509         MY(size_max) = 1.500000;
11510         MY(type) = "static";
11511         MY(velocityjitter) = '64.0 64.0 32.0';
11512 }
11513
11514 DEF(relic_radioactive);
11515 SUB(relic_radioactive) {
11516         MY(airfriction) = 0.200000;
11517         MY(alpha_min) = 128;
11518         MY(alpha_max) = 256;
11519         MY(alpha_fade) = 256;
11520         MY(color_min) = "0x00ff00";
11521         MY(color_max) = "0x00ff00";
11522         MY(count) = 20;
11523         MY(gravity) = -0.100000;
11524         MY(liquidfriction) = 0.800000;
11525         MY(originjitter) = '8.0 8.0 32.0';
11526         MY(size_min) = 1.500000;
11527         MY(size_max) = 1.500000;
11528         MY(type) = "static";
11529         MY(velocityjitter) = '64.0 64.0 32.0';
11530 }
11531
11532 DEF(relic_resurrection);
11533 SUB(relic_resurrection) {
11534         MY(airfriction) = 0.200000;
11535         MY(alpha_min) = 128;
11536         MY(alpha_max) = 256;
11537         MY(alpha_fade) = 256;
11538         MY(color_min) = "0xff0080";
11539         MY(color_max) = "0xff0080";
11540         MY(count) = 20;
11541         MY(gravity) = -0.100000;
11542         MY(liquidfriction) = 0.800000;
11543         MY(originjitter) = '8.0 8.0 32.0';
11544         MY(size_min) = 1.500000;
11545         MY(size_max) = 1.500000;
11546         MY(type) = "static";
11547         MY(velocityjitter) = '64.0 64.0 32.0';
11548 }
11549
11550 DEF(relic_vengeance);
11551 SUB(relic_vengeance) {
11552         MY(airfriction) = 0.200000;
11553         MY(alpha_min) = 128;
11554         MY(alpha_max) = 256;
11555         MY(alpha_fade) = 256;
11556         MY(color_min) = "0xff8080";
11557         MY(color_max) = "0xff8080";
11558         MY(count) = 20;
11559         MY(gravity) = -0.100000;
11560         MY(liquidfriction) = 0.800000;
11561         MY(originjitter) = '8.0 8.0 32.0';
11562         MY(size_min) = 1.500000;
11563         MY(size_max) = 1.500000;
11564         MY(type) = "static";
11565         MY(velocityjitter) = '64.0 64.0 32.0';
11566 }
11567
11568 #define rocketminsta_laser(name, color) \
11569         DEF(rocketminsta_laser_##name); \
11570         SUB(rocketminsta_laser_##name) { \
11571                 MY(alpha_min) = 256; \
11572                 MY(alpha_max) = 256; \
11573                 MY(alpha_fade) = 968; \
11574                 MY(color_min) = color; \
11575                 MY(color_max) = color; \
11576                 MY(lightcolor) = '1.5 3.0 6.0'; \
11577                 MY(lightradius) = 90; \
11578                 MY(size_min) = 3; \
11579                 MY(size_max) = 3; \
11580                 MY(tex_min) = 38; \
11581                 MY(tex_max) = 38; \
11582                 MY(trailspacing) = 2; \
11583                 MY(type) = "static"; \
11584                 MY(velocitymultiplier) = -0.100000; \
11585         } \
11586         SUB(rocketminsta_laser_##name) /* bright sparks */ { \
11587                 MY(airfriction) = 12; \
11588                 MY(alpha_min) = 444; \
11589                 MY(alpha_max) = 512; \
11590                 MY(alpha_fade) = 1866; \
11591                 MY(bounce) = 1; \
11592                 MY(color_min) = color; \
11593                 MY(color_max) = color; \
11594                 MY(count) = 1.500000; \
11595                 MY(originjitter) = '1.0 1.0 1.0'; \
11596                 MY(sizeincrease) = -20; \
11597                 MY(size_min) = 2; \
11598                 MY(size_max) = 4; \
11599                 MY(tex_min) = 42; \
11600                 MY(tex_max) = 42; \
11601                 MY(trailspacing) = 12; \
11602                 MY(type) = "snow"; \
11603                 MY(velocityjitter) = '50.0 50.0 50.0'; \
11604                 MY(velocityoffset) = '0.0 0.0 15.0'; \
11605         } \
11606         /**/
11607
11608 rocketminsta_laser(red,         "0xFF0F0F")
11609 rocketminsta_laser(blue,        "0x0F0FFF")
11610 rocketminsta_laser(yellow,      "0xFFFF0F")
11611 rocketminsta_laser(pink,        "0xFF0FFF")
11612 rocketminsta_laser(neutral, "0xFFFFFF")
11613 #undef rocketminsta_laser