]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blob - qcsrc/common/effects/effectinfo.inc
Merge branch 'master' into Lyberta/KillSound
[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 #include "effectinfo_gentle.inc"
3469
3470 DEF(laser_deadly);
3471 // decal
3472 SUB(laser_deadly) {
3473         MY(alpha_min) = 256;
3474         MY(alpha_max) = 256;
3475         MY(countabsolute) = 1;
3476         MY(originjitter) = '6.0 6.0 6.0';
3477         MY(size_min) = 5;
3478         MY(size_max) = 5;
3479         MY(tex_min) = 56;
3480         MY(tex_max) = 59;
3481         MY(type) = "decal";
3482 }
3483 // dust/smoke drifting away from the impact
3484 SUB(laser_deadly) {
3485         MY(airfriction) = 7;
3486         MY(alpha_max) = 64;
3487         MY(alpha_fade) = 64;
3488         MY(color_min) = "0xFFFFFF";
3489         MY(color_max) = "0xFFFFFF";
3490         MY(count) = 0.025000;
3491         MY(liquidfriction) = 16;
3492         MY(originjitter) = '1.0 1.0 1.0';
3493         MY(sizeincrease) = 2;
3494         MY(size_min) = 3;
3495         MY(size_max) = 3;
3496         MY(tex_min) = 48;
3497         MY(tex_max) = 55;
3498         MY(type) = "smoke";
3499         MY(velocityjitter) = '15.0 15.0 15.0';
3500         MY(velocitymultiplier) = 20;
3501 }
3502 // sparks
3503 SUB(laser_deadly) {
3504         MY(airfriction) = 5;
3505         MY(alpha_min) = 256;
3506         MY(alpha_max) = 256;
3507         MY(alpha_fade) = 768;
3508         MY(bounce) = 1;
3509         MY(color_min) = "0xFDFFD9";
3510         MY(color_max) = "0xFDFFD9";
3511         MY(count) = 0.025000;
3512         MY(gravity) = 1;
3513         MY(notunderwater) = true;
3514         MY(originjitter) = '1.0 1.0 1.0';
3515         MY(size_min) = 0.600000;
3516         MY(size_max) = 0.600000;
3517         MY(tex_min) = 40;
3518         MY(tex_max) = 40;
3519         MY(type) = "spark";
3520         MY(velocityjitter) = '100.0 100.0 100.0';
3521         MY(velocitymultiplier) = 100;
3522 }
3523
3524 DEF(torch_small);
3525 // fire
3526 SUB(torch_small) {
3527         MY(alpha_min) = 200;
3528         MY(alpha_max) = 256;
3529         MY(alpha_fade) = 512;
3530         MY(color_min) = "0x8f0d00";
3531         MY(color_max) = "0xff5a00";
3532         MY(count) = 8;
3533         MY(gravity) = -0.500000;
3534         MY(originjitter) = '5.0 5.0 5.0';
3535         MY(sizeincrease) = -1;
3536         MY(size_min) = 1;
3537         MY(size_max) = 11;
3538         MY(tex_min) = 48;
3539         MY(tex_max) = 55;
3540         MY(type) = "smoke";
3541         MY(velocityjitter) = '1.0 1.0 50.0';
3542 }
3543 // smoke
3544 SUB(torch_small) {
3545         MY(alpha_min) = 200;
3546         MY(alpha_max) = 256;
3547         MY(alpha_fade) = 200;
3548         MY(color_min) = "0x000000";
3549         MY(color_max) = "0x111111";
3550         MY(count) = 4;
3551         MY(gravity) = -0.300000;
3552         MY(originjitter) = '3.0 3.0 3.0';
3553         MY(sizeincrease) = 5;
3554         MY(size_min) = 5;
3555         MY(size_max) = 10;
3556         MY(tex_max) = 8;
3557         MY(type) = "alphastatic";
3558         MY(velocityjitter) = '11.0 11.0 50.0';
3559 }
3560
3561 DEF(fountain01);
3562 SUB(fountain01) {
3563         MY(alpha_max) = 100;
3564         MY(alpha_fade) = 100;
3565         MY(bounce) = 1;
3566         MY(color_min) = "0x7cbaff";
3567         MY(color_max) = "0xcfd1ff";
3568         MY(count) = 16;
3569         MY(gravity) = 0.600000;
3570         MY(originjitter) = '5.0 5.0 5.0';
3571         MY(sizeincrease) = 20;
3572         MY(size_min) = 10;
3573         MY(size_max) = 15;
3574         MY(tex_max) = 8;
3575         MY(type) = "snow";
3576         MY(velocityjitter) = '81.0 81.0 150.0';
3577         MY(velocitymultiplier) = 2;
3578 }
3579
3580 DEF(hookbomb_explode);
3581 // decal
3582 SUB(hookbomb_explode) {
3583         MY(airfriction) = 10;
3584         MY(alpha_max) = 256;
3585         MY(alpha_fade) = 200;
3586         MY(bounce) = 1.500000;
3587         MY(color_min) = "0x807aff";
3588         MY(color_max) = "0x4463d5";
3589         MY(count) = 25;
3590         MY(originjitter) = '10.0 10.0 10.0';
3591         MY(sizeincrease) = -160;
3592         MY(size_min) = 150;
3593         MY(size_max) = 200;
3594         MY(tex_min) = 38;
3595         MY(tex_max) = 38;
3596         MY(type) = "static";
3597         MY(velocityjitter) = '550.0 550.0 550.0';
3598 }
3599 // decal in the air
3600 SUB(hookbomb_explode) {
3601         MY(alpha_min) = 256;
3602         MY(alpha_max) = 265;
3603         MY(alpha_fade) = 100;
3604         MY(color_min) = "0x807aff";
3605         MY(color_max) = "0x4463d5";
3606         MY(countabsolute) = 3;
3607         MY(originoffset) = '0.0 0.0 6.0';
3608         MY(sizeincrease) = -60;
3609         MY(size_min) = 160;
3610         MY(size_max) = 200;
3611         MY(tex_min) = 38;
3612         MY(tex_max) = 38;
3613         MY(type) = "static";
3614 }
3615 // decal on the ground
3616 SUB(hookbomb_explode) {
3617         MY(alpha_min) = 256;
3618         MY(alpha_max) = 256;
3619         MY(countabsolute) = 1;
3620         MY(originjitter) = '6.0 6.0 6.0';
3621         MY(size_min) = 80;
3622         MY(size_max) = 100;
3623         MY(tex_min) = 39;
3624         MY(tex_max) = 39;
3625         MY(type) = "decal";
3626 }
3627 // some sparks
3628 SUB(hookbomb_explode) {
3629         MY(airfriction) = 2;
3630         MY(alpha_min) = 256;
3631         MY(alpha_max) = 256;
3632         MY(alpha_fade) = 456;
3633         MY(bounce) = 1.500000;
3634         MY(color_min) = "0x807aff";
3635         MY(color_max) = "0x4463d5";
3636         MY(count) = 30;
3637         MY(gravity) = 1;
3638         MY(originjitter) = '1.0 1.0 1.0';
3639         MY(sizeincrease) = -60;
3640         MY(size_min) = 20;
3641         MY(size_max) = 30;
3642         MY(tex_min) = 38;
3643         MY(tex_max) = 38;
3644         MY(type) = "spark";
3645         MY(velocityjitter) = '1900.0 1900.0 1300.0';
3646         MY(velocitymultiplier) = 0.500000;
3647 }
3648
3649 DEF(EF_MGTURRETTRAIL);
3650 // smoke
3651 SUB(EF_MGTURRETTRAIL) {
3652         MY(alpha_min) = 128;
3653         MY(alpha_max) = 196;
3654         MY(alpha_fade) = 768;
3655         MY(color_min) = "0xd0d0a0";
3656         MY(color_max) = "0xffffff";
3657         MY(gravity) = -0.010000;
3658         MY(notunderwater) = true;
3659         MY(sizeincrease) = -8;
3660         MY(size_min) = 5;
3661         MY(size_max) = 4;
3662         MY(tex_max) = 8;
3663         MY(trailspacing) = 10;
3664         MY(type) = "smoke";
3665 }
3666 // bubbles
3667 SUB(EF_MGTURRETTRAIL) {
3668         MY(alpha_min) = 256;
3669         MY(alpha_max) = 256;
3670         MY(alpha_fade) = 256;
3671         MY(bounce) = 1.500000;
3672         MY(color_min) = "0x404040";
3673         MY(color_max) = "0x808080";
3674         MY(gravity) = -0.125000;
3675         MY(liquidfriction) = 4;
3676         MY(size_min) = 1;
3677         MY(size_max) = 1;
3678         MY(tex_min) = 62;
3679         MY(tex_max) = 62;
3680         MY(trailspacing) = 32;
3681         MY(type) = "bubble";
3682         MY(underwater) = true;
3683         MY(velocityjitter) = '16.0 16.0 16.0';
3684 }
3685
3686 DEF(fire_big);
3687 // fire
3688 SUB(fire_big) {
3689         MY(alpha_min) = 200;
3690         MY(alpha_max) = 356;
3691         MY(alpha_fade) = 512;
3692         MY(bounce) = 2;
3693         MY(color_min) = "0x8f0d00";
3694         MY(color_max) = "0xff5a00";
3695         MY(count) = 26;
3696         MY(gravity) = -0.500000;
3697         MY(originjitter) = '33.0 33.0 33.0';
3698         MY(sizeincrease) = -3;
3699         MY(size_min) = 11;
3700         MY(size_max) = 31;
3701         MY(tex_min) = 48;
3702         MY(tex_max) = 55;
3703         MY(type) = "smoke";
3704         MY(velocityjitter) = '22.0 22.0 50.0';
3705 }
3706 // smoke
3707 SUB(fire_big) {
3708         MY(alpha_min) = 200;
3709         MY(alpha_max) = 256;
3710         MY(alpha_fade) = 200;
3711         MY(bounce) = 2;
3712         MY(color_min) = "0x000000";
3713         MY(color_max) = "0x111111";
3714         MY(count) = 11;
3715         MY(gravity) = -0.300000;
3716         MY(originjitter) = '44.0 44.0 44.0';
3717         MY(sizeincrease) = 11;
3718         MY(size_min) = 22;
3719         MY(size_max) = 33;
3720         MY(tex_max) = 8;
3721         MY(type) = "alphastatic";
3722         MY(velocityjitter) = '11.0 11.0 50.0';
3723 }
3724
3725 #define flare(name, colormin, colormax) \
3726         DEF(name##_flare); \
3727         SUB(name##_flare) /* smoke */ { \
3728                 MY(alpha_min) = 200; \
3729                 MY(alpha_max) = 256; \
3730                 MY(alpha_fade) = 160; \
3731                 MY(bounce) = 1; \
3732                 MY(color_min) = colormin; \
3733                 MY(color_max) = colormax; \
3734                 MY(count) = 10.500000; \
3735                 MY(gravity) = -0.240000; \
3736                 MY(originjitter) = '2.0 2.0 0.0'; \
3737                 MY(sizeincrease) = 11; \
3738                 MY(size_min) = 1; \
3739                 MY(size_max) = 11; \
3740                 MY(tex_max) = 8; \
3741                 MY(type) = "alphastatic"; \
3742                 MY(velocityjitter) = '15.0 15.0 30.0'; \
3743         }
3744
3745 flare(red,      "0xff0000", "0xdc7171")
3746 flare(blue, "0x0000ff", "0x7194dc")
3747 #undef flare
3748
3749 DEF(smoke_ring);
3750 // smoke
3751 SUB(smoke_ring) {
3752         MY(airfriction) = 3;
3753         MY(alpha_min) = 100;
3754         MY(alpha_max) = 156;
3755         MY(alpha_fade) = 200;
3756         MY(bounce) = 1.100000;
3757         MY(color_min) = "0x111111";
3758         MY(color_max) = "0x979797";
3759         MY(count) = 45;
3760         MY(gravity) = 0.100000;
3761         MY(notunderwater) = true;
3762         MY(sizeincrease) = 21;
3763         MY(size_min) = 1;
3764         MY(size_max) = 11;
3765         MY(tex_max) = 8;
3766         MY(type) = "smoke";
3767         MY(velocityjitter) = '190.0 190.0 50.0';
3768 }
3769
3770 DEF(smoke_large);
3771 // smoke
3772 SUB(smoke_large) {
3773         MY(airfriction) = 7;
3774         MY(alpha_min) = 140;
3775         MY(alpha_max) = 256;
3776         MY(alpha_fade) = 190;
3777         MY(bounce) = 1.100000;
3778         MY(color_min) = "0x9e895f";
3779         MY(color_max) = "0xffd39b";
3780         MY(count) = 25;
3781         MY(gravity) = -0.150000;
3782         MY(notunderwater) = true;
3783         MY(sizeincrease) = 21;
3784         MY(size_min) = 11;
3785         MY(size_max) = 21;
3786         MY(tex_max) = 8;
3787         MY(type) = "alphastatic";
3788         MY(velocityjitter) = '390.0 390.0 390.0';
3789 }
3790
3791 DEF(sparks);
3792 SUB(sparks) {
3793         MY(airfriction) = 3;
3794         MY(alpha_max) = 256;
3795         MY(alpha_fade) = 256;
3796         MY(bounce) = 1.500000;
3797         MY(color_min) = "0xFFFDD9";
3798         MY(color_max) = "0xFFFDD9";
3799         MY(count) = 15;
3800         MY(gravity) = 1;
3801         MY(originjitter) = '1.0 1.0 1.0';
3802         MY(size_min) = 1;
3803         MY(size_max) = 3;
3804         MY(tex_min) = 40;
3805         MY(tex_max) = 40;
3806         MY(type) = "spark";
3807         MY(velocityjitter) = '300.0 300.0 200.0';
3808         MY(velocitymultiplier) = 1.500000;
3809 }
3810
3811 DEF(electricity_sparks);
3812 SUB(electricity_sparks) {
3813         MY(airfriction) = 3;
3814         MY(alpha_max) = 256;
3815         MY(alpha_fade) = 556;
3816         MY(bounce) = 1.500000;
3817         MY(color_min) = "0x807aff";
3818         MY(color_max) = "0x4463d5";
3819         MY(count) = 35;
3820         MY(gravity) = 1;
3821         MY(originjitter) = '1.0 1.0 1.0';
3822         MY(size_min) = 1;
3823         MY(size_max) = 3;
3824         MY(tex_min) = 40;
3825         MY(tex_max) = 40;
3826         MY(type) = "spark";
3827         MY(velocityjitter) = '300.0 300.0 300.0';
3828         MY(velocitymultiplier) = 0.500000;
3829 }
3830
3831 DEF(steam);
3832 SUB(steam) {
3833         MY(airfriction) = 5;
3834         MY(alpha_min) = 140;
3835         MY(alpha_max) = 256;
3836         MY(alpha_fade) = 190;
3837         MY(bounce) = 1.100000;
3838         MY(color_min) = "0xfffbdf";
3839         MY(color_max) = "0xffffff";
3840         MY(count) = 1;
3841         MY(gravity) = -0.250000;
3842         MY(notunderwater) = true;
3843         MY(sizeincrease) = 7;
3844         MY(size_min) = 1;
3845         MY(size_max) = 3;
3846         MY(tex_max) = 8;
3847         MY(type) = "smoke";
3848         MY(velocityjitter) = '19.0 19.0 19.0';
3849         MY(velocitymultiplier) = 14;
3850 }
3851
3852 DEF(smoking);
3853 SUB(smoking) {
3854         MY(airfriction) = -1;
3855         MY(alpha_min) = 100;
3856         MY(alpha_max) = 256;
3857         MY(alpha_fade) = 100;
3858         MY(bounce) = 1.500000;
3859         MY(color_min) = "0x292929";
3860         MY(color_max) = "0x000000";
3861         MY(count) = 10;
3862         MY(gravity) = -0.100000;
3863         MY(originjitter) = '10.0 10.0 10.0';
3864         MY(sizeincrease) = 5;
3865         MY(size_min) = 10;
3866         MY(size_max) = 40;
3867         MY(tex_max) = 8;
3868         MY(type) = "alphastatic";
3869         MY(velocityjitter) = '5.0 5.0 20.0';
3870 }
3871
3872 // golden dust (create it once per second to cover large area in small yellow particles)
3873 DEF(goldendust);
3874 SUB(goldendust) {
3875         MY(alpha_min) = 256;
3876         MY(alpha_max) = 256;
3877         MY(alpha_fade) = 70;
3878         MY(bounce) = 1.500000;
3879         MY(color_min) = "0xff9600";
3880         MY(color_max) = "0xffefb8";
3881         MY(count) = 25;
3882         MY(originjitter) = '500.0 500.0 500.0';
3883         MY(sizeincrease) = -0.300000;
3884         MY(size_min) = 2;
3885         MY(size_max) = 3;
3886         MY(tex_min) = 38;
3887         MY(tex_max) = 38;
3888         MY(type) = "snow";
3889         MY(velocityjitter) = '0.1 0.1 0.1';
3890 }
3891
3892 DEF(healing_fx);
3893 SUB(healing_fx) {
3894         MY(airfriction) = -0.500000;
3895         MY(alpha_min) = 256;
3896         MY(alpha_max) = 256;
3897         MY(alpha_fade) = 170;
3898         MY(bounce) = 1.500000;
3899         MY(color_min) = "0xff0000";
3900         MY(color_max) = "0xff0000";
3901         MY(count) = 25;
3902         MY(gravity) = -0.100000;
3903         MY(originjitter) = '5.0 5.0 100.0';
3904         MY(sizeincrease) = -0.050000;
3905         MY(size_min) = 1;
3906         MY(size_max) = 3;
3907         MY(tex_min) = 40;
3908         MY(tex_max) = 40;
3909         MY(type) = "spark";
3910         MY(velocityjitter) = '50.0 50.0 0.0';
3911 }
3912
3913 DEF(armorrepair_fx);
3914 SUB(armorrepair_fx) {
3915         MY(airfriction) = -0.500000;
3916         MY(alpha_min) = 256;
3917         MY(alpha_max) = 256;
3918         MY(alpha_fade) = 170;
3919         MY(bounce) = 1.500000;
3920         MY(color_min) = "0x00ff00";
3921         MY(color_max) = "0x00ff00";
3922         MY(count) = 25;
3923         MY(gravity) = -0.100000;
3924         MY(originjitter) = '5.0 5.0 50.0';
3925         MY(sizeincrease) = -0.050000;
3926         MY(size_min) = 1;
3927         MY(size_max) = 3;
3928         MY(tex_min) = 40;
3929         MY(tex_max) = 40;
3930         MY(type) = "spark";
3931         MY(velocityjitter) = '50.0 50.0 0.0';
3932 }
3933
3934 DEF(ammoregen_fx);
3935 SUB(ammoregen_fx) {
3936         MY(airfriction) = -0.500000;
3937         MY(alpha_min) = 256;
3938         MY(alpha_max) = 256;
3939         MY(alpha_fade) = 170;
3940         MY(bounce) = 1.500000;
3941         MY(color_min) = "0x0000ff";
3942         MY(color_max) = "0x0000ff";
3943         MY(count) = 25;
3944         MY(gravity) = -0.100000;
3945         MY(originjitter) = '5.0 5.0 50.0';
3946         MY(sizeincrease) = -0.050000;
3947         MY(size_min) = 1;
3948         MY(size_max) = 3;
3949         MY(tex_min) = 40;
3950         MY(tex_max) = 40;
3951         MY(type) = "spark";
3952         MY(velocityjitter) = '50.0 50.0 0.0';
3953 }
3954
3955 // red-yellow flame like fx
3956 DEF(rage);
3957 SUB(rage) {
3958         MY(airfriction) = 2;
3959         MY(alpha_min) = 256;
3960         MY(alpha_max) = 256;
3961         MY(alpha_fade) = 190;
3962         MY(color_min) = "0xff0000";
3963         MY(color_max) = "0xff7800";
3964         MY(count) = 2.500000;
3965         MY(gravity) = -0.060000;
3966         MY(originjitter) = '5.0 5.0 5.0';
3967         MY(sizeincrease) = 10;
3968         MY(size_min) = 1;
3969         MY(size_max) = 3;
3970         MY(tex_min) = 35;
3971         MY(tex_max) = 36;
3972         MY(type) = "smoke";
3973         MY(velocityjitter) = '25.0 25.0 25.0';
3974 }
3975
3976 // pieces of glass or ice falling on the floor
3977 DEF(iceorglass);
3978 SUB(iceorglass) {
3979         MY(airfriction) = 3;
3980         MY(alpha_min) = 256;
3981         MY(alpha_max) = 256;
3982         MY(bounce) = 2;
3983         MY(color_min) = "0xffffff";
3984         MY(color_max) = "0xb2d3e6";
3985         MY(count) = 15;
3986         MY(gravity) = 1.300000;
3987         MY(originjitter) = '30.0 30.0 30.0';
3988         MY(size_min) = 3;
3989         MY(size_max) = 7;
3990         MY(tex_min) = 44;
3991         MY(tex_max) = 44;
3992         MY(time_min) = 1;
3993         MY(time_max) = 3;
3994         MY(type) = "alphastatic";
3995         MY(velocityjitter) = '100.0 100.0 100.0';
3996 }
3997
3998 // cover small area in poison gas, spawn it once per second
3999 DEF(poisonfield);
4000 SUB(poisonfield) {
4001         MY(airfriction) = 1;
4002         MY(alpha_min) = 256;
4003         MY(alpha_max) = 256;
4004         MY(alpha_fade) = 50;
4005         MY(bounce) = 1.500000;
4006         MY(color_min) = "0x00ff00";
4007         MY(color_max) = "0x7db843";
4008         MY(count) = 15;
4009         MY(gravity) = -0.010000;
4010         MY(originjitter) = '333.0 333.0 50.0';
4011         MY(sizeincrease) = 30;
4012         MY(size_min) = 1;
4013         MY(size_max) = 1;
4014         MY(tex_max) = 8;
4015         MY(type) = "smoke";
4016         MY(velocityjitter) = '5.0 5.0 5.0';
4017 }
4018
4019 // cover small area in icy mist, spawn it once per second
4020 DEF(icefield);
4021 SUB(icefield) {
4022         MY(airfriction) = 1;
4023         MY(alpha_min) = 256;
4024         MY(alpha_max) = 256;
4025         MY(alpha_fade) = 50;
4026         MY(bounce) = 1.500000;
4027         MY(color_min) = "0x008aff";
4028         MY(color_max) = "0x75e7ff";
4029         MY(count) = 10;
4030         MY(gravity) = -0.010000;
4031         MY(originjitter) = '333.0 333.0 0.0';
4032         MY(sizeincrease) = 10;
4033         MY(size_min) = 1;
4034         MY(size_max) = 1;
4035         MY(tex_max) = 8;
4036         MY(type) = "smoke";
4037         MY(velocityjitter) = '5.0 5.0 30.0';
4038 }
4039 SUB(icefield) {
4040         MY(alpha_min) = 256;
4041         MY(alpha_max) = 256;
4042         MY(alpha_fade) = 50;
4043         MY(color_min) = "0x008aff";
4044         MY(color_max) = "0x75e7ff";
4045         MY(count) = 5;
4046         MY(gravity) = -0.001000;
4047         MY(originjitter) = '333.0 333.0 0.0';
4048         MY(sizeincrease) = 10;
4049         MY(size_min) = 1;
4050         MY(size_max) = 1;
4051         MY(tex_min) = 48;
4052         MY(tex_max) = 55;
4053         MY(type) = "smoke";
4054 }
4055
4056 // 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 )
4057 DEF(firefield);
4058 // flames that go up
4059 SUB(firefield) {
4060         MY(airfriction) = 1;
4061         MY(alpha_min) = 50;
4062         MY(alpha_max) = 256;
4063         MY(alpha_fade) = 200;
4064         MY(bounce) = 1.500000;
4065         MY(color_min) = "0x8f0d00";
4066         MY(color_max) = "0xff5a00";
4067         MY(count) = 100;
4068         MY(gravity) = -0.060000;
4069         MY(originjitter) = '180.0 180.0 0.0';
4070         MY(sizeincrease) = 20;
4071         MY(size_min) = 1;
4072         MY(size_max) = 1;
4073         MY(tex_min) = 48;
4074         MY(tex_max) = 55;
4075         MY(type) = "smoke";
4076         MY(velocityjitter) = '5.0 5.0 30.0';
4077 }
4078 // flames that stay on the ground
4079 SUB(firefield) {
4080         MY(alpha_min) = 50;
4081         MY(alpha_max) = 256;
4082         MY(alpha_fade) = 200;
4083         MY(color_min) = "0x8f0d00";
4084         MY(color_max) = "0xff5a00";
4085         MY(count) = 50;
4086         MY(originjitter) = '180.0 180.0 0.0';
4087         MY(sizeincrease) = 40;
4088         MY(size_min) = 1;
4089         MY(size_max) = 1;
4090         MY(tex_min) = 48;
4091         MY(tex_max) = 55;
4092         MY(type) = "smoke";
4093 }
4094 // smoke
4095 SUB(firefield) {
4096         MY(alpha_min) = 256;
4097         MY(alpha_max) = 256;
4098         MY(alpha_fade) = 70;
4099         MY(color_min) = "0x000000";
4100         MY(color_max) = "0x111111";
4101         MY(count) = 20;
4102         MY(gravity) = -0.020000;
4103         MY(originjitter) = '180.0 180.0 0.0';
4104         MY(sizeincrease) = 7;
4105         MY(size_min) = 1;
4106         MY(size_max) = 1;
4107         MY(tex_max) = 8;
4108         MY(type) = "alphastatic";
4109 }
4110
4111 // flamethrower, spawn it as fast as you can  20 times per second or more, it needs direction
4112 DEF(flamethrower);
4113 // fast fire
4114 SUB(flamethrower) {
4115         MY(airfriction) = 1.200000;
4116         MY(alpha_min) = 50;
4117         MY(alpha_max) = 256;
4118         MY(alpha_fade) = 250;
4119         MY(bounce) = 1.500000;
4120         MY(color_min) = "0x8f0d00";
4121         MY(color_max) = "0xff5a00";
4122         MY(count) = 3;
4123         MY(gravity) = -0.060000;
4124         MY(sizeincrease) = 20;
4125         MY(size_min) = 5;
4126         MY(size_max) = 5;
4127         MY(tex_min) = 48;
4128         MY(tex_max) = 55;
4129         MY(type) = "smoke";
4130         MY(velocityjitter) = '40.0 40.0 11.0';
4131         MY(velocitymultiplier) = 30;
4132 }
4133 // slow fire
4134 SUB(flamethrower) {
4135         MY(airfriction) = 1.200000;
4136         MY(alpha_min) = 50;
4137         MY(alpha_max) = 256;
4138         MY(alpha_fade) = 200;
4139         MY(bounce) = 1.500000;
4140         MY(color_min) = "0x8f0d00";
4141         MY(color_max) = "0xff5a00";
4142         MY(count) = 2.500000;
4143         MY(gravity) = -0.060000;
4144         MY(sizeincrease) = 20;
4145         MY(size_min) = 5;
4146         MY(size_max) = 5;
4147         MY(tex_min) = 48;
4148         MY(tex_max) = 55;
4149         MY(type) = "smoke";
4150         MY(velocityjitter) = '40.0 40.0 40.0';
4151         MY(velocitymultiplier) = 20;
4152 }
4153 // very slow and small fire
4154 SUB(flamethrower) {
4155         MY(airfriction) = 0.300000;
4156         MY(alpha_min) = 50;
4157         MY(alpha_max) = 256;
4158         MY(alpha_fade) = 200;
4159         MY(bounce) = 1.500000;
4160         MY(color_min) = "0x8f0d00";
4161         MY(color_max) = "0xff5a00";
4162         MY(count) = 1.500000;
4163         MY(gravity) = -0.060000;
4164         MY(sizeincrease) = 10;
4165         MY(size_min) = 5;
4166         MY(size_max) = 5;
4167         MY(tex_min) = 48;
4168         MY(tex_max) = 55;
4169         MY(type) = "smoke";
4170         MY(velocityjitter) = '30.0 30.0 30.0';
4171         MY(velocitymultiplier) = 10;
4172 }
4173 // decreasing fire
4174 SUB(flamethrower) {
4175         MY(airfriction) = 0.300000;
4176         MY(alpha_min) = 50;
4177         MY(alpha_max) = 256;
4178         MY(alpha_fade) = 200;
4179         MY(bounce) = 1.500000;
4180         MY(color_min) = "0x8f0d00";
4181         MY(color_max) = "0xff5a00";
4182         MY(count) = 2;
4183         MY(gravity) = -0.060000;
4184         MY(sizeincrease) = -10;
4185         MY(size_min) = 20;
4186         MY(size_max) = 30;
4187         MY(tex_min) = 48;
4188         MY(tex_max) = 55;
4189         MY(type) = "smoke";
4190         MY(velocityjitter) = '10.0 10.0 10.0';
4191         MY(velocitymultiplier) = 15;
4192 }
4193 // smoke
4194 SUB(flamethrower) {
4195         MY(airfriction) = 1;
4196         MY(alpha_min) = 256;
4197         MY(alpha_max) = 256;
4198         MY(alpha_fade) = 90;
4199         MY(color_min) = "0x000000";
4200         MY(color_max) = "0x111111";
4201         MY(count) = 0.500000;
4202         MY(originjitter) = '10.0 10.0 10.0';
4203         MY(sizeincrease) = 7;
4204         MY(size_min) = 5;
4205         MY(size_max) = 15;
4206         MY(tex_max) = 8;
4207         MY(type) = "alphastatic";
4208         MY(velocitymultiplier) = 20;
4209         MY(velocityoffset) = '0.0 0.0 10.0';
4210 }
4211
4212 // port-o-launch trail
4213 DEF(TR_WIZSPIKE);
4214 // glowing vapor trail
4215 SUB(TR_WIZSPIKE) {
4216         MY(alpha_min) = 256;
4217         MY(alpha_max) = 256;
4218         MY(alpha_fade) = 968;
4219         MY(color_min) = "0x404040";
4220         MY(color_max) = "0x404040";
4221         MY(lightcolor) = '1.5 3.0 6.0';
4222         MY(lightradius) = 90;
4223         MY(size_min) = 3;
4224         MY(size_max) = 3;
4225         MY(tex_min) = 62;
4226         MY(tex_max) = 62;
4227         MY(trailspacing) = 4;
4228         MY(type) = "static";
4229         MY(velocitymultiplier) = -0.100000;
4230 }
4231 // bright sparks
4232 SUB(TR_WIZSPIKE) {
4233         MY(airfriction) = 12;
4234         MY(alpha_min) = 444;
4235         MY(alpha_max) = 512;
4236         MY(alpha_fade) = 1866;
4237         MY(bounce) = 1;
4238         MY(color_min) = "0x404040";
4239         MY(color_max) = "0x404040";
4240         MY(count) = 1.500000;
4241         MY(originjitter) = '1.0 1.0 1.0';
4242         MY(sizeincrease) = -20;
4243         MY(size_min) = 2;
4244         MY(size_max) = 4;
4245         MY(tex_min) = 42;
4246         MY(tex_max) = 42;
4247         MY(trailspacing) = 12;
4248         MY(type) = "snow";
4249         MY(velocityjitter) = '50.0 50.0 50.0';
4250         MY(velocityoffset) = '0.0 0.0 15.0';
4251 }
4252
4253 // TAG trail
4254 DEF(TR_VORESPIKE);
4255 // glowing vapor trail
4256 SUB(TR_VORESPIKE) {
4257         MY(alpha_min) = 256;
4258         MY(alpha_max) = 256;
4259         MY(alpha_fade) = 968;
4260         MY(color_min) = "0x804000";
4261         MY(color_max) = "0x804000";
4262         MY(lightcolor) = '1.5 3.0 6.0';
4263         MY(lightradius) = 90;
4264         MY(size_min) = 3;
4265         MY(size_max) = 3;
4266         MY(tex_min) = 62;
4267         MY(tex_max) = 62;
4268         MY(trailspacing) = 4;
4269         MY(type) = "static";
4270         MY(velocitymultiplier) = -0.100000;
4271 }
4272 // bright sparks
4273 SUB(TR_VORESPIKE) {
4274         MY(airfriction) = 12;
4275         MY(alpha_min) = 444;
4276         MY(alpha_max) = 512;
4277         MY(alpha_fade) = 1866;
4278         MY(bounce) = 1;
4279         MY(color_min) = "0xff8000";
4280         MY(color_max) = "0xff8000";
4281         MY(count) = 1.500000;
4282         MY(originjitter) = '1.0 1.0 1.0';
4283         MY(sizeincrease) = -20;
4284         MY(size_min) = 2;
4285         MY(size_max) = 4;
4286         MY(tex_min) = 42;
4287         MY(tex_max) = 42;
4288         MY(trailspacing) = 12;
4289         MY(type) = "snow";
4290         MY(velocityjitter) = '50.0 50.0 50.0';
4291         MY(velocityoffset) = '0.0 0.0 15.0';
4292 }
4293
4294 DEF(flac_explode);
4295 SUB(flac_explode) {
4296         MY(alpha_min) = 256;
4297         MY(alpha_max) = 256;
4298         MY(countabsolute) = 1;
4299         MY(lightcolor) = '8.0 4.0 1.0';
4300         MY(lightradiusfade) = 400;
4301         MY(lightradius) = 150;
4302         MY(originjitter) = '40.0 40.0 40.0';
4303         MY(size_min) = 18;
4304         MY(size_max) = 28;
4305         MY(tex_min) = 8;
4306         MY(tex_max) = 16;
4307         MY(type) = "decal";
4308 }
4309 // fire effect which make bright dot inside
4310 SUB(flac_explode) {
4311         MY(airfriction) = 8;
4312         MY(alpha_min) = 128;
4313         MY(alpha_max) = 256;
4314         MY(alpha_fade) = 456;
4315         MY(bounce) = 1.500000;
4316         MY(color_min) = "0xffe955";
4317         MY(color_max) = "0xff5a00";
4318         MY(count) = 3;
4319         MY(liquidfriction) = 8;
4320         MY(notunderwater) = true;
4321         MY(originjitter) = '8.0 8.0 8.0';
4322         MY(sizeincrease) = 5;
4323         MY(size_min) = 6;
4324         MY(size_max) = 16;
4325         MY(tex_min) = 48;
4326         MY(tex_max) = 55;
4327         MY(type) = "smoke";
4328         MY(velocityjitter) = '156.0 156.0 156.0';
4329 }
4330 // fire effect which expands then slows
4331 SUB(flac_explode) {
4332         MY(airfriction) = 12;
4333         MY(alpha_min) = 128;
4334         MY(alpha_max) = 256;
4335         MY(alpha_fade) = 456;
4336         MY(bounce) = 1.500000;
4337         MY(color_min) = "0x8f0d00";
4338         MY(color_max) = "0xff5a00";
4339         MY(count) = 6;
4340         MY(liquidfriction) = 8;
4341         MY(notunderwater) = true;
4342         MY(originjitter) = '8.0 8.0 8.0';
4343         MY(sizeincrease) = 15;
4344         MY(size_min) = 10;
4345         MY(size_max) = 16;
4346         MY(tex_min) = 48;
4347         MY(tex_max) = 55;
4348         MY(type) = "static";
4349         MY(velocityjitter) = '256.0 256.0 256.0';
4350 }
4351 // smoke
4352 SUB(flac_explode) {
4353         MY(airfriction) = 5;
4354         MY(alpha_min) = 500;
4355         MY(alpha_max) = 600;
4356         MY(alpha_fade) = 556;
4357         MY(bounce) = 2;
4358         MY(color_min) = "0x000000";
4359         MY(color_max) = "0x111111";
4360         MY(count) = 5;
4361         MY(notunderwater) = true;
4362         MY(sizeincrease) = 20;
4363         MY(size_min) = 10;
4364         MY(size_max) = 20;
4365         MY(tex_max) = 8;
4366         MY(type) = "alphastatic";
4367         MY(velocityjitter) = '244.0 244.0 244.0';
4368 }
4369 // underwater bubbles
4370 SUB(flac_explode) {
4371         MY(alpha_min) = 128;
4372         MY(alpha_max) = 256;
4373         MY(alpha_fade) = 64;
4374         MY(bounce) = 1.500000;
4375         MY(color_min) = "0x404040";
4376         MY(color_max) = "0x808080";
4377         MY(count) = 8;
4378         MY(gravity) = -0.125000;
4379         MY(liquidfriction) = 0.250000;
4380         MY(originjitter) = '16.0 16.0 16.0';
4381         MY(size_min) = 1;
4382         MY(size_max) = 2;
4383         MY(tex_min) = 62;
4384         MY(tex_max) = 62;
4385         MY(type) = "bubble";
4386         MY(underwater) = true;
4387         MY(velocityjitter) = '96.0 96.0 96.0';
4388 }
4389 // bouncing sparks
4390 SUB(flac_explode) {
4391         MY(airfriction) = 0.200000;
4392         MY(alpha_min) = 256;
4393         MY(alpha_max) = 256;
4394         MY(alpha_fade) = 384;
4395         MY(bounce) = 1.500000;
4396         MY(color_min) = "0x903010";
4397         MY(color_max) = "0xFFD030";
4398         MY(count) = 4;
4399         MY(gravity) = 1;
4400         MY(liquidfriction) = 0.800000;
4401         MY(notunderwater) = true;
4402         MY(size_min) = 2;
4403         MY(size_max) = 2;
4404         MY(tex_min) = 40;
4405         MY(tex_max) = 40;
4406         MY(type) = "spark";
4407         MY(velocityjitter) = '256.0 256.0 256.0';
4408         MY(velocityoffset) = '0.0 0.0 80.0';
4409 }
4410
4411 // bullet trail (somewhat like a tracer)
4412 DEF(tr_bullet);
4413 SUB(tr_bullet) {
4414         MY(alpha_min) = 256;
4415         MY(alpha_max) = 256;
4416         MY(alpha_fade) = 2560;
4417         MY(color_min) = "0xff8960";
4418         MY(color_max) = "0xff8533";
4419         MY(size_min) = 4;
4420         MY(size_max) = 4;
4421         MY(stretchfactor) = 0.200000;
4422         MY(tex_min) = 70;
4423         MY(tex_max) = 70;
4424         MY(trailspacing) = 750;
4425         MY(type) = "spark";
4426         MY(velocitymultiplier) = 3;
4427 }
4428
4429 // smoke emitter for small pipes
4430 DEF(smoking_smallemitter);
4431 SUB(smoking_smallemitter) {
4432         MY(airfriction) = -1;
4433         MY(alpha_min) = 200;
4434         MY(alpha_max) = 256;
4435         MY(alpha_fade) = 100;
4436         MY(color_min) = "0x292929";
4437         MY(color_max) = "0x000000";
4438         MY(count) = 10;
4439         MY(gravity) = -0.100000;
4440         MY(originjitter) = '10.0 10.0 10.0';
4441         MY(sizeincrease) = 20;
4442         MY(size_min) = 6;
4443         MY(size_max) = 15;
4444         MY(tex_max) = 8;
4445         MY(type) = "alphastatic";
4446         MY(velocityjitter) = '5.0 5.0 20.0';
4447 }
4448
4449 // crylink trail
4450 DEF(TR_CRYLINKPLASMA);
4451 // plasma smoke
4452 SUB(TR_CRYLINKPLASMA) {
4453         MY(alpha_min) = 256;
4454         MY(alpha_max) = 256;
4455         MY(alpha_fade) = 1024;
4456         MY(color_min) = "0x5522aa";
4457         MY(color_max) = "0x6622ff";
4458         MY(sizeincrease) = 8;
4459         MY(size_min) = 2;
4460         MY(size_max) = 2;
4461         MY(tex_min) = 32;
4462         MY(tex_max) = 32;
4463         MY(trailspacing) = 128;
4464         MY(type) = "static";
4465         MY(velocityjitter) = '8.0 8.0 8.0';
4466         MY(velocitymultiplier) = -0.010000;
4467 }
4468 // crylink main trail
4469 SUB(TR_CRYLINKPLASMA) {
4470         MY(alpha_min) = 256;
4471         MY(alpha_max) = 256;
4472         MY(alpha_fade) = 2600;
4473         MY(color_min) = "0x5522aa";
4474         MY(color_max) = "0x6622ff";
4475         MY(sizeincrease) = 15;
4476         MY(size_min) = 3;
4477         MY(size_max) = 3;
4478         MY(tex_min) = 3;
4479         MY(tex_max) = 3;
4480         MY(trailspacing) = 16;
4481         MY(type) = "static";
4482         MY(velocityjitter) = '2.0 2.0 2.0';
4483         MY(velocitymultiplier) = 0.010000;
4484 }
4485
4486 DEF(cherryblossom);
4487 SUB(cherryblossom) {
4488         MY(airfriction) = 1;
4489         MY(alpha_min) = 128;
4490         MY(alpha_max) = 256;
4491         MY(alpha_fade) = 32;
4492         MY(bounce) = 1.500000;
4493         MY(color_min) = "0xb123ff";
4494         MY(color_max) = "0xb183ff";
4495         MY(count) = 1.500000;
4496         MY(gravity) = 0.050000;
4497         MY(liquidfriction) = 1;
4498         MY(originjitter) = '16.0 16.0 16.0';
4499         MY(size_min) = 1.500000;
4500         MY(size_max) = 2;
4501         MY(tex_min) = 40;
4502         MY(tex_max) = 40;
4503         MY(type) = "static";
4504         MY(velocityjitter) = '32.0 32.0 0.0';
4505 }
4506
4507 DEF(alien_blood);
4508 SUB(alien_blood) {
4509         MY(airfriction) = 0.400000;
4510         MY(alpha_min) = 1560;
4511         MY(alpha_max) = 2560;
4512         MY(alpha_fade) = 7000;
4513         MY(blend) = "invmod";
4514         MY(bounce) = -1;
4515         MY(color_min) = "0xDC9BCD";
4516         MY(color_max) = "0xDC9BCD";
4517         MY(count) = 0.400000;
4518         MY(sizeincrease) = 20;
4519         MY(size_min) = 5;
4520         MY(size_max) = 11;
4521         MY(staincolor_min) = "0xDC9BCD";
4522         MY(staincolor_max) = "0xDC9BCD";
4523         MY(stainsize_min) = 1;
4524         MY(stainsize_max) = 2;
4525         MY(staintex_min) = 16;
4526         MY(staintex_max) = 24;
4527         MY(stretchfactor) = 25;
4528         MY(tex_min) = 24;
4529         MY(tex_max) = 32;
4530         MY(type) = "spark";
4531         MY(velocityjitter) = '99.0 99.0 55.0';
4532 }
4533 // blood mist
4534 SUB(alien_blood) {
4535         MY(alpha_min) = 3000;
4536         MY(alpha_max) = 5560;
4537         MY(alpha_fade) = 12000;
4538         MY(blend) = "invmod";
4539         MY(color_min) = "0xDC9BCD";
4540         MY(color_max) = "0xDC9BCD";
4541         MY(countabsolute) = 1;
4542         MY(originjitter) = '11.0 11.0 11.0';
4543         MY(sizeincrease) = 20;
4544         MY(size_min) = 25;
4545         MY(size_max) = 30;
4546         MY(tex_min) = 24;
4547         MY(tex_max) = 32;
4548         MY(type) = "smoke";
4549 }
4550
4551 DEF(robot_blood);
4552 SUB(robot_blood) {
4553         MY(airfriction) = 1;
4554         MY(alpha_min) = 256;
4555         MY(alpha_max) = 256;
4556         MY(alpha_fade) = 64;
4557         MY(bounce) = -1;
4558         MY(color_min) = "0xff3000";
4559         MY(color_max) = "0xff7373";
4560         MY(count) = 0.167000;
4561         MY(gravity) = 1;
4562         MY(liquidfriction) = 4;
4563         MY(size_min) = 1;
4564         MY(size_max) = 2;
4565         MY(tex_min) = 70;
4566         MY(tex_max) = 70;
4567         MY(type) = "spark";
4568         MY(velocityjitter) = '264.0 264.0 264.0';
4569         MY(velocityoffset) = '0.0 0.0 100.0';
4570 }
4571 // shockwave
4572 SUB(robot_blood) {
4573         MY(alpha_max) = 90;
4574         MY(alpha_fade) = 1000;
4575         MY(color_min) = "0xff8400";
4576         MY(color_max) = "0xffbb72";
4577         MY(countabsolute) = 1;
4578         MY(originjitter) = '11.0 11.0 11.0';
4579         MY(sizeincrease) = 800;
4580         MY(size_min) = 2;
4581         MY(size_max) = 2;
4582         MY(tex_min) = 74;
4583         MY(tex_max) = 74;
4584         MY(type) = "smoke";
4585 }
4586 // electo sparks
4587 SUB(robot_blood) {
4588         MY(alpha_min) = 256;
4589         MY(alpha_max) = 256;
4590         MY(alpha_fade) = 5120;
4591         MY(color_min) = "0xff3000";
4592         MY(color_max) = "0xff8585";
4593         MY(count) = 0.100000;
4594         MY(originjitter) = '41.0 41.0 21.0';
4595         MY(startangle_min) = -180;
4596         MY(startangle_max) = 180;
4597         MY(spin_min) = 4000;
4598         MY(spin_max) = -4000;
4599         MY(size_min) = 20;
4600         MY(size_max) = 40;
4601         MY(tex_min) = 71;
4602         MY(tex_max) = 73;
4603         MY(type) = "smoke";
4604 }
4605
4606 DEF(alien_TR_BLOOD);
4607 SUB(alien_TR_BLOOD) {
4608         MY(airfriction) = -2;
4609         MY(alpha_min) = 384;
4610         MY(alpha_max) = 984;
4611         MY(alpha_fade) = 1492;
4612         MY(blend) = "invmod";
4613         MY(bounce) = -1;
4614         MY(color_min) = "0xC080B0";
4615         MY(color_max) = "0xC080B0";
4616         MY(gravity) = 0.400000;
4617         MY(liquidfriction) = 1;
4618         MY(sizeincrease) = -5;
4619         MY(size_min) = 4;
4620         MY(size_max) = 19;
4621         MY(staincolor_min) = "0xC080B0";
4622         MY(staincolor_max) = "0xC080B0";
4623         MY(stainsize_min) = 1;
4624         MY(stainsize_max) = 2;
4625         MY(staintex_min) = 16;
4626         MY(staintex_max) = 24;
4627         MY(stretchfactor) = 7;
4628         MY(tex_min) = 24;
4629         MY(tex_max) = 32;
4630         MY(trailspacing) = 20;
4631         MY(type) = "spark";
4632         MY(velocityjitter) = '64.0 64.0 64.0';
4633         MY(velocitymultiplier) = -0.100000;
4634 }
4635
4636 // splash around gib
4637 SUB(TR_BLOOD) {
4638         MY(alpha_min) = 684;
4639         MY(alpha_max) = 684;
4640         MY(alpha_fade) = 7492;
4641         MY(color_min) = "0xA8FFFF";
4642         MY(color_max) = "0xA8FFFF";
4643         MY(sizeincrease) = 500;
4644         MY(size_min) = 4;
4645         MY(size_max) = 6;
4646         MY(tex_min) = 24;
4647         MY(tex_max) = 32;
4648         MY(trailspacing) = 42;
4649         MY(type) = "blood";
4650 }
4651
4652 DEF(robot_TR_BLOOD);
4653 SUB(robot_TR_BLOOD) {
4654         MY(airfriction) = -2;
4655         MY(alpha_min) = 384;
4656         MY(alpha_max) = 984;
4657         MY(alpha_fade) = 1892;
4658         MY(blend) = "invmod";
4659         MY(bounce) = -1;
4660         MY(color_min) = "0xC0D890";
4661         MY(color_max) = "0xC0D890";
4662         MY(gravity) = 0.400000;
4663         MY(liquidfriction) = 1;
4664         MY(sizeincrease) = -6;
4665         MY(size_min) = 4;
4666         MY(size_max) = 13;
4667         MY(staincolor_min) = "0x808080";
4668         MY(staincolor_max) = "0x808080";
4669         MY(stainsize_min) = 1;
4670         MY(stainsize_max) = 3;
4671         MY(staintex_min) = 16;
4672         MY(staintex_max) = 24;
4673         MY(stretchfactor) = 6;
4674         MY(tex_min) = 24;
4675         MY(tex_max) = 32;
4676         MY(trailspacing) = 16;
4677         MY(type) = "spark";
4678         MY(velocityjitter) = '64.0 64.0 64.0';
4679         MY(velocitymultiplier) = -0.300000;
4680 }
4681 // fire
4682 SUB(robot_TR_BLOOD) {
4683         MY(airfriction) = 4;
4684         MY(alpha_min) = 128;
4685         MY(alpha_max) = 256;
4686         MY(alpha_fade) = 900;
4687         MY(color_min) = "0x902010";
4688         MY(color_max) = "0xff3600";
4689         MY(gravity) = -1;
4690         MY(liquidfriction) = 4;
4691         MY(notunderwater) = true;
4692         MY(sizeincrease) = 10;
4693         MY(size_min) = 5;
4694         MY(size_max) = 20;
4695         MY(stretchfactor) = 5;
4696         MY(tex_min) = 48;
4697         MY(tex_max) = 55;
4698         MY(trailspacing) = 16;
4699         MY(type) = "spark";
4700         MY(velocityjitter) = '44.0 44.0 44.0';
4701 }
4702 // arcs
4703 SUB(robot_TR_BLOOD) {
4704         MY(alpha_min) = 1128;
4705         MY(alpha_max) = 1256;
4706         MY(alpha_fade) = 44900;
4707         MY(color_min) = "0xff3000";
4708         MY(color_max) = "0xff8585";
4709         MY(startangle_min) = -180;
4710         MY(startangle_max) = 180;
4711         MY(spin_min) = 4000;
4712         MY(spin_max) = -4000;
4713         MY(size_min) = 25;
4714         MY(size_max) = 30;
4715         MY(tex_min) = 71;
4716         MY(tex_max) = 73;
4717         MY(trailspacing) = 128;
4718         MY(type) = "smoke";
4719         MY(velocityjitter) = '44.0 44.0 44.0';
4720 }
4721
4722 DEF(alien_TR_SLIGHTBLOOD);
4723 SUB(alien_TR_SLIGHTBLOOD) {
4724         MY(airfriction) = 1;
4725         MY(alpha_min) = 384;
4726         MY(alpha_max) = 384;
4727         MY(alpha_fade) = 192;
4728         MY(bounce) = -1;
4729         MY(color_min) = "0xC080B0";
4730         MY(color_max) = "0xC080B0";
4731         MY(liquidfriction) = 4;
4732         MY(size_min) = 80;
4733         MY(size_max) = 80;
4734         MY(staincolor_min) = "0x808080";
4735         MY(staincolor_max) = "0x808080";
4736         MY(staintex_min) = 16;
4737         MY(staintex_max) = 24;
4738         MY(tex_min) = 24;
4739         MY(tex_max) = 32;
4740         MY(trailspacing) = 64;
4741         MY(type) = "blood";
4742         MY(velocityjitter) = '64.0 64.0 64.0';
4743         MY(velocitymultiplier) = 0.500000;
4744 }
4745
4746 DEF(robot_TR_SLIGHTBLOOD);
4747 SUB(robot_TR_SLIGHTBLOOD) {
4748         MY(airfriction) = 1;
4749         MY(alpha_min) = 384;
4750         MY(alpha_max) = 384;
4751         MY(alpha_fade) = 192;
4752         MY(bounce) = -1;
4753         MY(color_min) = "0xC0D890";
4754         MY(color_max) = "0xC0D890";
4755         MY(liquidfriction) = 4;
4756         MY(size_min) = 8;
4757         MY(size_max) = 8;
4758         MY(staincolor_min) = "0x808080";
4759         MY(staincolor_max) = "0x808080";
4760         MY(staintex_min) = 16;
4761         MY(staintex_max) = 24;
4762         MY(tex_min) = 24;
4763         MY(tex_max) = 32;
4764         MY(trailspacing) = 64;
4765         MY(type) = "blood";
4766         MY(velocityjitter) = '64.0 64.0 64.0';
4767         MY(velocitymultiplier) = 0.500000;
4768 }
4769
4770 DEF(item_pickup);
4771 // flare particle and light
4772 SUB(item_pickup) {
4773         MY(alpha_min) = 128;
4774         MY(alpha_max) = 64;
4775         MY(alpha_fade) = 64;
4776         MY(color_min) = "0x63F2EA";
4777         MY(color_max) = "0xB0C5C4";
4778         MY(countabsolute) = 1;
4779         MY(size_min) = 8;
4780         MY(size_max) = 16;
4781         MY(type) = "static";
4782 }
4783 // cloud of particles which expand rapidly and then slow to form a ball
4784 SUB(item_pickup) {
4785         MY(alpha_min) = 256;
4786         MY(alpha_max) = 256;
4787         MY(alpha_fade) = 1280;
4788         MY(color_min) = "0x63F2EA";
4789         MY(color_max) = "0xB0C5C4";
4790         MY(count) = 32;
4791         MY(size_min) = 1;
4792         MY(size_max) = 1;
4793         MY(tex_min) = 41;
4794         MY(tex_max) = 41;
4795         MY(type) = "spark";
4796         MY(velocityjitter) = '256.0 256.0 256.0';
4797 }
4798
4799 DEF(bloodshower);
4800 SUB(bloodshower) {
4801         MY(alpha_min) = 156;
4802         MY(alpha_max) = 656;
4803         MY(alpha_fade) = 1664;
4804         MY(blend) = "invmod";
4805         MY(bounce) = -1;
4806         MY(color_min) = "0xA8FFFF";
4807         MY(color_max) = "0xA8FFFFF";
4808         MY(count) = 125;
4809         MY(gravity) = 1;
4810         MY(liquidfriction) = 4;
4811         MY(size_min) = 8;
4812         MY(size_max) = 28;
4813         MY(staincolor_min) = "0x808080";
4814         MY(staincolor_max) = "0x808080";
4815         MY(stainsize_min) = 1;
4816         MY(stainsize_max) = 2;
4817         MY(staintex_min) = 16;
4818         MY(staintex_max) = 24;
4819         MY(stretchfactor) = 3;
4820         MY(tex_min) = 24;
4821         MY(tex_max) = 32;
4822         MY(type) = "spark";
4823         MY(velocityjitter) = '764.0 764.0 764.0';
4824 }
4825 // center blood
4826 SUB(bloodshower) {
4827         MY(alpha_min) = 156;
4828         MY(alpha_max) = 656;
4829         MY(alpha_fade) = 1664;
4830         MY(blend) = "invmod";
4831         MY(color_min) = "0xA8FFFF";
4832         MY(color_max) = "0xA8FFFFF";
4833         MY(countabsolute) = 0.100000;
4834         MY(originjitter) = '50.0 50.0 50.0';
4835         MY(sizeincrease) = 300;
4836         MY(size_min) = 1;
4837         MY(size_max) = 28;
4838         MY(tex_min) = 24;
4839         MY(tex_max) = 32;
4840         MY(type) = "smoke";
4841 }
4842
4843 DEF(alien_bloodshower);
4844 SUB(alien_bloodshower) {
4845         MY(alpha_min) = 156;
4846         MY(alpha_max) = 656;
4847         MY(alpha_fade) = 1664;
4848         MY(blend) = "invmod";
4849         MY(bounce) = -1;
4850         MY(color_min) = "0xC080B0";
4851         MY(color_max) = "0xC080B0";
4852         MY(count) = 125;
4853         MY(gravity) = 1;
4854         MY(liquidfriction) = 4;
4855         MY(size_min) = 8;
4856         MY(size_max) = 28;
4857         MY(staincolor_min) = "0xC080B0";
4858         MY(staincolor_max) = "0xC080B0";
4859         MY(stainsize_min) = 1;
4860         MY(stainsize_max) = 2;
4861         MY(staintex_min) = 16;
4862         MY(staintex_max) = 24;
4863         MY(stretchfactor) = 3;
4864         MY(tex_min) = 24;
4865         MY(tex_max) = 32;
4866         MY(type) = "spark";
4867         MY(velocityjitter) = '764.0 764.0 764.0';
4868 }
4869 // center blood
4870 SUB(bloodshower) {
4871         MY(alpha_min) = 156;
4872         MY(alpha_max) = 656;
4873         MY(alpha_fade) = 1664;
4874         MY(blend) = "invmod";
4875         MY(color_min) = "0xA8FFFF";
4876         MY(color_max) = "0xA8FFFFF";
4877         MY(countabsolute) = 0.100000;
4878         MY(originjitter) = '50.0 50.0 50.0';
4879         MY(sizeincrease) = 300;
4880         MY(size_min) = 1;
4881         MY(size_max) = 28;
4882         MY(tex_min) = 24;
4883         MY(tex_max) = 32;
4884         MY(type) = "smoke";
4885 }
4886
4887 DEF(robot_bloodshower);
4888 SUB(robot_bloodshower) {
4889         MY(alpha_min) = 156;
4890         MY(alpha_max) = 656;
4891         MY(alpha_fade) = 1664;
4892         MY(blend) = "invmod";
4893         MY(bounce) = -1;
4894         MY(color_min) = "0xC0D890";
4895         MY(color_max) = "0xC0D890";
4896         MY(count) = 100;
4897         MY(gravity) = 1;
4898         MY(liquidfriction) = 4;
4899         MY(size_min) = 8;
4900         MY(size_max) = 28;
4901         MY(staincolor_min) = "0xC0D890";
4902         MY(staincolor_max) = "0xC0D890";
4903         MY(stainsize_min) = 1;
4904         MY(stainsize_max) = 2;
4905         MY(staintex_min) = 16;
4906         MY(staintex_max) = 24;
4907         MY(stretchfactor) = 3;
4908         MY(tex_min) = 24;
4909         MY(tex_max) = 32;
4910         MY(type) = "spark";
4911         MY(velocityjitter) = '764.0 764.0 764.0';
4912 }
4913 // arc
4914 SUB(robot_bloodshower) {
4915         MY(alpha_min) = 1128;
4916         MY(alpha_max) = 1256;
4917         MY(alpha_fade) = 4200;
4918         MY(color_min) = "0xff3000";
4919         MY(color_max) = "0xff8585";
4920         MY(count) = 2.500000;
4921         MY(originjitter) = '150.0 150.0 150.0';
4922         MY(startangle_min) = -180;
4923         MY(startangle_max) = 180;
4924         MY(spin_min) = 99;
4925         MY(spin_max) = -99;
4926         MY(size_min) = 25;
4927         MY(size_max) = 40;
4928         MY(tex_min) = 71;
4929         MY(tex_max) = 73;
4930         MY(type) = "smoke";
4931         MY(velocityjitter) = '44.0 44.0 44.0';
4932 }
4933 // shockwave
4934 SUB(robot_bloodshower) {
4935         MY(alpha_min) = 11;
4936         MY(alpha_max) = 125;
4937         MY(alpha_fade) = 990;
4938         MY(color_min) = "0xff3000";
4939         MY(color_max) = "0xff8585";
4940         MY(count) = 2.500000;
4941         MY(sizeincrease) = 3000;
4942         MY(size_min) = 5;
4943         MY(size_max) = 50;
4944         MY(tex_min) = 74;
4945         MY(tex_max) = 74;
4946         MY(type) = "smoke";
4947 }
4948
4949 #define ground_quake(name, colormin, colormax) \
4950         DEF(name##_ground_quake); \
4951         SUB(name##_ground_quake) /* smoke */ { \
4952                 MY(airfriction) = 3; \
4953                 MY(alpha_min) = 100; \
4954                 MY(alpha_max) = 126; \
4955                 MY(alpha_fade) = 200; \
4956                 MY(bounce) = 1.100000; \
4957                 MY(color_min) = "0x111111"; \
4958                 MY(color_max) = "0xbbbbbb"; \
4959                 MY(count) = 90; \
4960                 MY(gravity) = 0.500000; \
4961                 MY(notunderwater) = true; \
4962                 MY(sizeincrease) = 100; \
4963                 MY(size_min) = 20; \
4964                 MY(size_max) = 50; \
4965                 MY(tex_max) = 8; \
4966                 MY(time_min) = 5; \
4967                 MY(time_max) = 10; \
4968                 MY(type) = "smoke"; \
4969                 MY(velocityjitter) = '190.0 190.0 50.0'; \
4970         } \
4971         SUB(name##_ground_quake) { \
4972                 MY(airfriction) = 4; \
4973                 MY(alpha_min) = 100; \
4974                 MY(alpha_max) = 126; \
4975                 MY(alpha_fade) = 200; \
4976                 MY(bounce) = 1.200000; \
4977                 MY(color_min) = "0x111111"; \
4978                 MY(color_max) = "0x979797"; \
4979                 MY(count) = 40; \
4980                 MY(gravity) = 0.200000; \
4981                 MY(notunderwater) = true; \
4982                 MY(sizeincrease) = 60; \
4983                 MY(size_min) = 10; \
4984                 MY(size_max) = 30; \
4985                 MY(tex_max) = 8; \
4986                 MY(time_min) = 10; \
4987                 MY(time_max) = 15; \
4988                 MY(type) = "smoke"; \
4989                 MY(velocityjitter) = '190.0 190.0 50.0'; \
4990         } \
4991         SUB(name##_ground_quake) { \
4992                 MY(alpha_min) = 200; \
4993                 MY(alpha_max) = 356; \
4994                 MY(alpha_fade) = 512; \
4995                 MY(bounce) = 6; \
4996                 MY(color_min) = colormin; \
4997                 MY(color_max) = colormax; \
4998                 MY(count) = 16; \
4999                 MY(gravity) = -0.500000; \
5000                 MY(originjitter) = '33.0 33.0 33.0'; \
5001                 MY(sizeincrease) = 5; \
5002                 MY(size_min) = 4; \
5003                 MY(size_max) = 20; \
5004                 MY(tex_min) = 48; \
5005                 MY(tex_max) = 55; \
5006                 MY(time_min) = 15; \
5007                 MY(time_max) = 25; \
5008                 MY(type) = "smoke"; \
5009                 MY(velocityjitter) = '22.0 22.0 50.0'; \
5010         } \
5011         SUB(name##_ground_quake) /* smoke */ { \
5012                 MY(alpha_min) = 200; \
5013                 MY(alpha_max) = 256; \
5014                 MY(alpha_fade) = 200; \
5015                 MY(bounce) = 2; \
5016                 MY(color_min) = "0x000000"; \
5017                 MY(color_max) = "0xffffff"; \
5018                 MY(count) = 11; \
5019                 MY(gravity) = -0.300000; \
5020                 MY(originjitter) = '44.0 44.0 44.0'; \
5021                 MY(sizeincrease) = 11; \
5022                 MY(size_min) = 22; \
5023                 MY(size_max) = 33; \
5024                 MY(tex_max) = 8; \
5025                 MY(time_min) = 25; \
5026                 MY(time_max) = 35; \
5027                 MY(type) = "alphastatic"; \
5028                 MY(velocityjitter) = '11.0 11.0 50.0'; \
5029         } \
5030         /**/
5031
5032 ground_quake(red,       "0x9E6A64", "0x91302D")
5033 ground_quake(blue,      "0x64679E", "0x2D4C91")
5034 #undef ground_quake
5035
5036 #include "effectinfo_gentle_morphed.inc"
5037
5038 // Team / hit vaporizer effects
5039 #define TE_TEI_G3(name, colormin1, colormax1, colormin2, colormax2) \
5040         DEF(TE_TEI_G3##name); \
5041         SUB(TE_TEI_G3##name) { \
5042                 MY(alpha_min) = 128; \
5043                 MY(alpha_max) = 128; \
5044                 MY(alpha_fade) = 256; \
5045                 MY(color_min) = colormin1; \
5046                 MY(color_max) = colormax1; \
5047                 MY(countabsolute) = 1; \
5048                 MY(size_min) = 4; \
5049                 MY(size_max) = 4; \
5050                 MY(tex_min) = 200; \
5051                 MY(tex_max) = 200; \
5052                 MY(type) = "beam"; \
5053         } \
5054         SUB(TE_TEI_G3##name) { \
5055                 MY(airfriction) = -4; \
5056                 MY(alpha_min) = 256; \
5057                 MY(alpha_max) = 256; \
5058                 MY(alpha_fade) = 512; \
5059                 MY(color_min) = colormin2; \
5060                 MY(color_max) = colormax2; \
5061                 MY(sizeincrease) = 3; \
5062                 MY(size_min) = 0.300000; \
5063                 MY(size_max) = 0.300000; \
5064                 MY(tex_min) = 46; \
5065                 MY(tex_max) = 46; \
5066                 MY(trailspacing) = 8; \
5067                 MY(type) = "smoke"; \
5068                 MY(velocityjitter) = '3.0 3.0 3.0'; \
5069         } \
5070         DEF(TE_TEI_G3##name##_HIT); \
5071         SUB(TE_TEI_G3##name##_HIT) { \
5072                 MY(alpha_min) = 128; \
5073                 MY(alpha_max) = 128; \
5074                 MY(alpha_fade) = 256; \
5075                 MY(color_min) = colormin1; \
5076                 MY(color_max) = colormax1; \
5077                 MY(countabsolute) = 1; \
5078                 MY(size_min) = 8; \
5079                 MY(size_max) = 8; \
5080                 MY(tex_min) = 200; \
5081                 MY(tex_max) = 200; \
5082                 MY(type) = "beam"; \
5083         } \
5084         SUB(TE_TEI_G3##name##_HIT) /* rings */ { \
5085                 MY(airfriction) = -4; \
5086                 MY(alpha_min) = 256; \
5087                 MY(alpha_max) = 256; \
5088                 MY(alpha_fade) = 512; \
5089                 MY(color_min) = "0xFFFFFF"; \
5090                 MY(color_max) = colormax1; \
5091                 MY(sizeincrease) = -2; \
5092                 MY(size_min) = 2; \
5093                 MY(size_max) = 2; \
5094                 MY(trailspacing) = 20; \
5095                 MY(type) = "smoke"; \
5096                 MY(velocityjitter) = '2.0 2.0 2.0'; \
5097         } \
5098         SUB(TE_TEI_G3##name##_HIT) { \
5099                 MY(airfriction) = -4; \
5100                 MY(alpha_min) = 256; \
5101                 MY(alpha_max) = 256; \
5102                 MY(alpha_fade) = 512; \
5103                 MY(color_min) = colormin1; \
5104                 MY(color_max) = colormax1; \
5105                 MY(sizeincrease) = -6; \
5106                 MY(size_min) = 10; \
5107                 MY(size_max) = 10; \
5108                 MY(trailspacing) = 40; \
5109                 MY(type) = "smoke"; \
5110         } \
5111         /**/
5112 TE_TEI_G3(RED, "0xFF0000", "0xFF0011", "0x200000", "0x400000")
5113 TE_TEI_G3(BLUE, "0x0000FF", "0x1100FF", "0x000020", "0x000040")
5114 TE_TEI_G3(YELLOW, "0xffff00", "0xffff11", "0x202000", "0x404000")
5115 TE_TEI_G3(PINK, "0xFF00FF", "0xFF11FF", "0x200020", "0x400040")
5116 #undef TE_TEI_G3
5117
5118 #include "effectinfo_gentle_particlegibs.inc"
5119
5120 #include "effectinfo_onslaught.inc"
5121
5122 DEF(firemine);
5123 SUB(firemine) {
5124         MY(airfriction) = 1.200000;
5125         MY(alpha_min) = 50;
5126         MY(alpha_max) = 256;
5127         MY(alpha_fade) = 250;
5128         MY(bounce) = 1.500000;
5129         MY(color_min) = "0x8f0d00";
5130         MY(color_max) = "0xff5a00";
5131         MY(count) = 0.500000;
5132         MY(gravity) = -0.060000;
5133         MY(sizeincrease) = 5;
5134         MY(size_min) = 1;
5135         MY(size_max) = 1;
5136         MY(tex_min) = 48;
5137         MY(tex_max) = 55;
5138         MY(trailspacing) = 2;
5139         MY(type) = "smoke";
5140         MY(velocityjitter) = '10.0 10.0 2.0';
5141 }
5142 // slowfire
5143 SUB(firemine) {
5144         MY(airfriction) = 1.200000;
5145         MY(alpha_min) = 50;
5146         MY(alpha_max) = 256;
5147         MY(alpha_fade) = 200;
5148         MY(bounce) = 1.500000;
5149         MY(color_min) = "0x8f0d00";
5150         MY(color_max) = "0xff5a00";
5151         MY(count) = 0.500000;
5152         MY(gravity) = -0.060000;
5153         MY(sizeincrease) = 5;
5154         MY(size_min) = 1;
5155         MY(size_max) = 1;
5156         MY(tex_min) = 48;
5157         MY(tex_max) = 55;
5158         MY(trailspacing) = 2;
5159         MY(type) = "smoke";
5160         MY(velocityjitter) = '10.0 10.0 10.0';
5161 }
5162 // very slow and small fire
5163 SUB(firemine) {
5164         MY(airfriction) = 0.300000;
5165         MY(alpha_min) = 50;
5166         MY(alpha_max) = 256;
5167         MY(alpha_fade) = 200;
5168         MY(bounce) = 1.500000;
5169         MY(color_min) = "0x8f0d00";
5170         MY(color_max) = "0xff5a00";
5171         MY(count) = 0.500000;
5172         MY(gravity) = -0.060000;
5173         MY(sizeincrease) = 2;
5174         MY(size_min) = 1;
5175         MY(size_max) = 1;
5176         MY(tex_min) = 48;
5177         MY(tex_max) = 55;
5178         MY(trailspacing) = 4;
5179         MY(type) = "smoke";
5180         MY(velocityjitter) = '8.0 8.0 8.0';
5181 }
5182 // decreasing fire
5183 SUB(firemine) {
5184         MY(airfriction) = 0.300000;
5185         MY(alpha_min) = 50;
5186         MY(alpha_max) = 256;
5187         MY(alpha_fade) = 200;
5188         MY(bounce) = 1.500000;
5189         MY(color_min) = "0x8f0d00";
5190         MY(color_max) = "0xff5a00";
5191         MY(count) = 0.500000;
5192         MY(gravity) = -0.060000;
5193         MY(sizeincrease) = -3;
5194         MY(size_min) = 5;
5195         MY(size_max) = 7;
5196         MY(tex_min) = 48;
5197         MY(tex_max) = 55;
5198         MY(trailspacing) = 4;
5199         MY(type) = "smoke";
5200         MY(velocityjitter) = '3.0 3.0 3.0';
5201 }
5202 // smoke
5203 SUB(firemine) {
5204         MY(airfriction) = 1;
5205         MY(alpha_min) = 256;
5206         MY(alpha_max) = 256;
5207         MY(alpha_fade) = 90;
5208         MY(color_min) = "0x000000";
5209         MY(color_max) = "0x111111";
5210         MY(count) = 0.500000;
5211         MY(originjitter) = '2.0 2.0 2.0';
5212         MY(sizeincrease) = 1;
5213         MY(size_min) = 1;
5214         MY(size_max) = 4;
5215         MY(tex_max) = 8;
5216         MY(trailspacing) = 8;
5217         MY(type) = "alphastatic";
5218         MY(velocityoffset) = '0.0 0.0 3.0';
5219 }
5220 // fastfire
5221 SUB(firemine) {
5222         MY(airfriction) = 1.200000;
5223         MY(alpha_min) = 50;
5224         MY(alpha_max) = 256;
5225         MY(alpha_fade) = 1600;
5226         MY(bounce) = 1.500000;
5227         MY(color_min) = "0x8f0d00";
5228         MY(color_max) = "0xff5a00";
5229         MY(count) = 0.500000;
5230         MY(size_min) = 12;
5231         MY(size_max) = 12;
5232         MY(tex_min) = 48;
5233         MY(tex_max) = 55;
5234         MY(trailspacing) = 1;
5235         MY(type) = "smoke";
5236 }
5237 // light only
5238 SUB(firemine) {
5239         MY(lightcolor) = '2.7 2.7 0.6';
5240         MY(lightradiusfade) = 50000;
5241         MY(lightradius) = 50;
5242         MY(trailspacing) = 16;
5243 }
5244
5245 DEF(fireball);
5246 SUB(fireball) {
5247         MY(airfriction) = 1.200000;
5248         MY(alpha_min) = 50;
5249         MY(alpha_max) = 256;
5250         MY(alpha_fade) = 250;
5251         MY(bounce) = 1.500000;
5252         MY(color_min) = "0x8f0d00";
5253         MY(color_max) = "0xff5a00";
5254         MY(count) = 0.500000;
5255         MY(gravity) = -0.060000;
5256         MY(sizeincrease) = 20;
5257         MY(size_min) = 5;
5258         MY(size_max) = 5;
5259         MY(tex_min) = 48;
5260         MY(tex_max) = 55;
5261         MY(trailspacing) = 2;
5262         MY(type) = "smoke";
5263         MY(velocityjitter) = '40.0 40.0 11.0';
5264 }
5265 // slow fire
5266 SUB(fireball) {
5267         MY(airfriction) = 1.200000;
5268         MY(alpha_min) = 50;
5269         MY(alpha_max) = 256;
5270         MY(alpha_fade) = 200;
5271         MY(bounce) = 1.500000;
5272         MY(color_min) = "0x8f0d00";
5273         MY(color_max) = "0xff5a00";
5274         MY(count) = 0.500000;
5275         MY(gravity) = -0.060000;
5276         MY(sizeincrease) = 20;
5277         MY(size_min) = 5;
5278         MY(size_max) = 5;
5279         MY(tex_min) = 48;
5280         MY(tex_max) = 55;
5281         MY(trailspacing) = 2;
5282         MY(type) = "smoke";
5283         MY(velocityjitter) = '40.0 40.0 40.0';
5284 }
5285 // very slow and small fire
5286 SUB(fireball) {
5287         MY(airfriction) = 0.300000;
5288         MY(alpha_min) = 50;
5289         MY(alpha_max) = 256;
5290         MY(alpha_fade) = 200;
5291         MY(bounce) = 1.500000;
5292         MY(color_min) = "0x8f0d00";
5293         MY(color_max) = "0xff5a00";
5294         MY(count) = 0.500000;
5295         MY(gravity) = -0.060000;
5296         MY(sizeincrease) = 10;
5297         MY(size_min) = 5;
5298         MY(size_max) = 5;
5299         MY(tex_min) = 48;
5300         MY(tex_max) = 55;
5301         MY(trailspacing) = 4;
5302         MY(type) = "smoke";
5303         MY(velocityjitter) = '30.0 30.0 30.0';
5304 }
5305 // decreasing fire
5306 SUB(fireball) {
5307         MY(airfriction) = 0.300000;
5308         MY(alpha_min) = 50;
5309         MY(alpha_max) = 256;
5310         MY(alpha_fade) = 200;
5311         MY(bounce) = 1.500000;
5312         MY(color_min) = "0x8f0d00";
5313         MY(color_max) = "0xff5a00";
5314         MY(count) = 0.500000;
5315         MY(gravity) = -0.060000;
5316         MY(sizeincrease) = -10;
5317         MY(size_min) = 20;
5318         MY(size_max) = 30;
5319         MY(tex_min) = 48;
5320         MY(tex_max) = 55;
5321         MY(trailspacing) = 4;
5322         MY(type) = "smoke";
5323         MY(velocityjitter) = '10.0 10.0 10.0';
5324 }
5325 // smoke
5326 SUB(fireball) {
5327         MY(airfriction) = 1;
5328         MY(alpha_min) = 256;
5329         MY(alpha_max) = 256;
5330         MY(alpha_fade) = 90;
5331         MY(color_min) = "0x000000";
5332         MY(color_max) = "0x111111";
5333         MY(count) = 0.500000;
5334         MY(originjitter) = '10.0 10.0 10.0';
5335         MY(sizeincrease) = 7;
5336         MY(size_min) = 5;
5337         MY(size_max) = 15;
5338         MY(tex_max) = 8;
5339         MY(trailspacing) = 8;
5340         MY(type) = "alphastatic";
5341         MY(velocityoffset) = '0.0 0.0 10.0';
5342 }
5343 // fast fire
5344 SUB(fireball) {
5345         MY(airfriction) = 1.200000;
5346         MY(alpha_min) = 50;
5347         MY(alpha_max) = 256;
5348         MY(alpha_fade) = 1600;
5349         MY(bounce) = 1.500000;
5350         MY(color_min) = "0x8f0d00";
5351         MY(color_max) = "0xff5a00";
5352         MY(count) = 0.500000;
5353         MY(size_min) = 48;
5354         MY(size_max) = 48;
5355         MY(tex_min) = 48;
5356         MY(tex_max) = 55;
5357         MY(trailspacing) = 1;
5358         MY(type) = "smoke";
5359 }
5360 // light only
5361 SUB(fireball) {
5362         MY(lightcolor) = '2.7 2.7 0.6';
5363         MY(lightradiusfade) = 3000;
5364         MY(lightradius) = 300;
5365         MY(trailspacing) = 16;
5366 }
5367
5368 DEF(fireball_laser);
5369 SUB(fireball_laser) {
5370         MY(alpha_min) = 192;
5371         MY(alpha_max) = 256;
5372         MY(alpha_fade) = 2560;
5373         MY(color_min) = "0x800000";
5374         MY(color_max) = "0xFF8020";
5375         MY(count) = 10;
5376         MY(size_min) = 1;
5377         MY(size_max) = 1;
5378         MY(stretchfactor) = 0.700000;
5379         MY(type) = "spark";
5380         MY(velocityjitter) = '1.0 1.0 1.0';
5381         MY(velocitymultiplier) = 10;
5382 }
5383
5384 // rocket explosion (bigger than mortar and hagar)
5385 DEF(fireball_explode);
5386 // decal
5387 SUB(fireball_explode) {
5388         MY(alpha_min) = 256;
5389         MY(alpha_max) = 256;
5390         MY(countabsolute) = 1;
5391         MY(lightcolor) = '4.0 2.0 0.5';
5392         MY(lightradiusfade) = 500;
5393         MY(lightradius) = 500;
5394         MY(originjitter) = '56.0 56.0 56.0';
5395         MY(size_min) = 72;
5396         MY(size_max) = 72;
5397         MY(tex_min) = 8;
5398         MY(tex_max) = 16;
5399         MY(type) = "decal";
5400 }
5401 // flare effect
5402 SUB(fireball_explode) {
5403         MY(alpha_min) = 192;
5404         MY(alpha_max) = 192;
5405         MY(alpha_fade) = 64;
5406         MY(color_min) = "0x404040";
5407         MY(color_max) = "0x404040";
5408         MY(countabsolute) = 1;
5409         MY(size_min) = 72;
5410         MY(size_max) = 72;
5411         MY(tex_min) = 35;
5412         MY(tex_max) = 37;
5413         MY(type) = "static";
5414 }
5415 // fire effect
5416 SUB(fireball_explode) {
5417         MY(airfriction) = 4;
5418         MY(alpha_min) = 128;
5419         MY(alpha_max) = 128;
5420         MY(alpha_fade) = 256;
5421         MY(bounce) = 1.500000;
5422         MY(color_min) = "0x902010";
5423         MY(color_max) = "0xFFD080";
5424         MY(count) = 128;
5425         MY(liquidfriction) = 4;
5426         MY(notunderwater) = true;
5427         MY(originjitter) = '8.0 8.0 8.0';
5428         MY(size_min) = 16;
5429         MY(size_max) = 16;
5430         MY(tex_min) = 48;
5431         MY(tex_max) = 55;
5432         MY(type) = "static";
5433         MY(velocityjitter) = '512.0 512.0 512.0';
5434 }
5435 // underwater bubbles
5436 SUB(fireball_explode) {
5437         MY(alpha_min) = 128;
5438         MY(alpha_max) = 256;
5439         MY(alpha_fade) = 64;
5440         MY(bounce) = 1.500000;
5441         MY(color_min) = "0x404040";
5442         MY(color_max) = "0x808080";
5443         MY(count) = 32;
5444         MY(gravity) = -0.125000;
5445         MY(liquidfriction) = 0.250000;
5446         MY(originjitter) = '16.0 16.0 16.0';
5447         MY(size_min) = 3;
5448         MY(size_max) = 3;
5449         MY(tex_min) = 62;
5450         MY(tex_max) = 62;
5451         MY(type) = "bubble";
5452         MY(underwater) = true;
5453         MY(velocityjitter) = '144.0 144.0 144.0';
5454 }
5455 // bouncing sparks
5456 SUB(fireball_explode) {
5457         MY(airfriction) = 0.200000;
5458         MY(alpha_min) = 256;
5459         MY(alpha_max) = 256;
5460         MY(alpha_fade) = 384;
5461         MY(bounce) = 1.500000;
5462         MY(color_min) = "0x903010";
5463         MY(color_max) = "0xFFD030";
5464         MY(count) = 64;
5465         MY(gravity) = 1;
5466         MY(liquidfriction) = 0.800000;
5467         MY(notunderwater) = true;
5468         MY(size_min) = 2;
5469         MY(size_max) = 2;
5470         MY(type) = "spark";
5471         MY(velocityjitter) = '384.0 384.0 384.0';
5472         MY(velocityoffset) = '0.0 0.0 80.0';
5473 }
5474
5475 DEF(fireball_muzzleflash);
5476 SUB(fireball_muzzleflash) {
5477         MY(alpha_min) = 256;
5478         MY(alpha_max) = 256;
5479         MY(alpha_fade) = 512;
5480         MY(color_min) = "0x202020";
5481         MY(color_max) = "0x404040";
5482         MY(count) = 2;
5483         MY(lightcolor) = '2.0 1.5 0.2';
5484         MY(lightradiusfade) = 2000;
5485         MY(lightradius) = 200;
5486         MY(originjitter) = '1.5 1.5 1.5';
5487         MY(size_min) = 5;
5488         MY(size_max) = 5;
5489         MY(tex_max) = 8;
5490         MY(type) = "smoke";
5491         MY(velocityjitter) = '6.0 6.0 6.0';
5492         MY(velocitymultiplier) = 0.010000;
5493 }
5494 SUB(fireball_muzzleflash) {
5495         MY(airfriction) = 12;
5496         MY(alpha_max) = 128;
5497         MY(alpha_fade) = 1024;
5498         MY(color_min) = "0xFFFDD9";
5499         MY(color_max) = "0xFFFDD9";
5500         MY(count) = 15;
5501         MY(originjitter) = '1.0 1.0 1.0';
5502         MY(size_min) = 3;
5503         MY(size_max) = 3;
5504         MY(tex_min) = 40;
5505         MY(tex_max) = 40;
5506         MY(type) = "spark";
5507         MY(velocityjitter) = '300.0 300.0 300.0';
5508         MY(velocitymultiplier) = 0.500000;
5509 }
5510
5511 DEF(fireball_preattack_muzzleflash);
5512 SUB(fireball_preattack_muzzleflash) {
5513         MY(alpha_min) = 256;
5514         MY(alpha_max) = 256;
5515         MY(alpha_fade) = 512;
5516         MY(color_min) = "0x202020";
5517         MY(color_max) = "0x404040";
5518         MY(count) = 2;
5519         MY(lightcolor) = '2.0 1.5 0.2';
5520         MY(lightradiusfade) = 2000;
5521         MY(lightradius) = 200;
5522         MY(originjitter) = '1.5 1.5 1.5';
5523         MY(size_min) = 5;
5524         MY(size_max) = 5;
5525         MY(tex_max) = 8;
5526         MY(type) = "smoke";
5527         MY(velocityjitter) = '6.0 6.0 6.0';
5528         MY(velocitymultiplier) = 0.010000;
5529 }
5530 SUB(fireball_preattack_muzzleflash) {
5531         MY(airfriction) = 12;
5532         MY(alpha_max) = 128;
5533         MY(alpha_fade) = 1024;
5534         MY(color_min) = "0xFFFDD9";
5535         MY(color_max) = "0xFFFDD9";
5536         MY(count) = 15;
5537         MY(originjitter) = '1.0 1.0 1.0';
5538         MY(size_min) = 3;
5539         MY(size_max) = 3;
5540         MY(tex_min) = 40;
5541         MY(tex_max) = 40;
5542         MY(type) = "spark";
5543         MY(velocityjitter) = '300.0 300.0 300.0';
5544         MY(velocitymultiplier) = 0.500000;
5545 }
5546
5547 DEF(fireball_bfgdamage);
5548 SUB(fireball_bfgdamage) {
5549         MY(alpha_min) = 256;
5550         MY(alpha_max) = 256;
5551         MY(alpha_fade) = 512;
5552         MY(color_min) = "0x202020";
5553         MY(color_max) = "0x404040";
5554         MY(count) = 2;
5555         MY(lightcolor) = '2.0 1.5 0.2';
5556         MY(lightradiusfade) = 2000;
5557         MY(lightradius) = 200;
5558         MY(originjitter) = '1.5 1.5 1.5';
5559         MY(size_min) = 5;
5560         MY(size_max) = 5;
5561         MY(tex_max) = 8;
5562         MY(type) = "smoke";
5563         MY(velocityjitter) = '6.0 6.0 6.0';
5564         MY(velocitymultiplier) = 0.010000;
5565 }
5566 SUB(fireball_bfgdamage) {
5567         MY(airfriction) = 12;
5568         MY(alpha_max) = 128;
5569         MY(alpha_fade) = 1024;
5570         MY(color_min) = "0xFFFDD9";
5571         MY(color_max) = "0xFFFDD9";
5572         MY(count) = 15;
5573         MY(originjitter) = '1.0 1.0 1.0';
5574         MY(size_min) = 3;
5575         MY(size_max) = 3;
5576         MY(tex_min) = 40;
5577         MY(tex_max) = 40;
5578         MY(type) = "spark";
5579         MY(velocityjitter) = '300.0 300.0 300.0';
5580         MY(velocitymultiplier) = 0.500000;
5581 }
5582
5583 DEF(EF_FLAME);
5584 // fire
5585 SUB(EF_FLAME) {
5586         MY(alpha_min) = 200;
5587         MY(alpha_max) = 356;
5588         MY(alpha_fade) = 512;
5589         MY(bounce) = 2;
5590         MY(color_min) = "0x8f0d00";
5591         MY(color_max) = "0xff5a00";
5592         MY(count) = 100;
5593         MY(gravity) = -0.500000;
5594         MY(originjitter) = '12.0 12.0 34.0';
5595         MY(originoffset) = '0.0 0.0 10.0';
5596         MY(sizeincrease) = -1;
5597         MY(size_min) = 5;
5598         MY(size_max) = 21;
5599         MY(tex_min) = 48;
5600         MY(tex_max) = 55;
5601         MY(type) = "smoke";
5602         MY(velocityjitter) = '22.0 22.0 50.0';
5603 }
5604 // smoke
5605 SUB(EF_FLAME) {
5606         MY(alpha_min) = 200;
5607         MY(alpha_max) = 256;
5608         MY(alpha_fade) = 200;
5609         MY(bounce) = 2;
5610         MY(color_min) = "0x000000";
5611         MY(color_max) = "0x111111";
5612         MY(count) = 50;
5613         MY(gravity) = -0.300000;
5614         MY(originjitter) = '12.0 12.0 34.0';
5615         MY(originoffset) = '0.0 0.0 10.0';
5616         MY(sizeincrease) = 6;
5617         MY(size_min) = 11;
5618         MY(size_max) = 15;
5619         MY(tex_max) = 8;
5620         MY(type) = "alphastatic";
5621         MY(velocityjitter) = '11.0 11.0 50.0';
5622 }
5623 SUB(EF_FLAME) {
5624         MY(count) = 0.500000;
5625         MY(lightcolor) = '0.9 0.9 0.2';
5626         MY(lightradiusfade) = 10000;
5627         MY(lightradius) = 200;
5628 }
5629
5630 // rifle bullet trail (somewhat like a tracer)
5631 DEF(tr_rifle);
5632 SUB(tr_rifle) {
5633         MY(alpha_min) = 256;
5634         MY(alpha_max) = 256;
5635         MY(alpha_fade) = 2560;
5636         MY(color_min) = "0x800000";
5637         MY(color_max) = "0xFF8020";
5638         MY(size_min) = 1.500000;
5639         MY(size_max) = 1.500000;
5640         MY(stretchfactor) = 1;
5641         MY(trailspacing) = 128;
5642         MY(type) = "spark";
5643         MY(velocitymultiplier) = 0.700000;
5644 }
5645 SUB(tr_rifle) {
5646         MY(airfriction) = -4;
5647         MY(alpha_min) = 256;
5648         MY(alpha_max) = 256;
5649         MY(alpha_fade) = 256;
5650         MY(color_min) = "0x202020";
5651         MY(color_max) = "0x404040";
5652         MY(notunderwater) = true;
5653         MY(sizeincrease) = 0.400000;
5654         MY(size_min) = 4;
5655         MY(size_max) = 4;
5656         MY(tex_max) = 8;
5657         MY(trailspacing) = 8;
5658         MY(type) = "smoke";
5659         MY(velocityjitter) = '4.0 4.0 4.0';
5660 }
5661 SUB(tr_rifle) {
5662         MY(alpha_min) = 256;
5663         MY(alpha_max) = 256;
5664         MY(alpha_fade) = 128;
5665         MY(bounce) = 1.500000;
5666         MY(color_min) = "0x404040";
5667         MY(color_max) = "0x808080";
5668         MY(gravity) = -0.125000;
5669         MY(liquidfriction) = 4;
5670         MY(size_min) = 2;
5671         MY(size_max) = 2;
5672         MY(tex_min) = 62;
5673         MY(tex_max) = 62;
5674         MY(trailspacing) = 32;
5675         MY(type) = "bubble";
5676         MY(underwater) = true;
5677         MY(velocityjitter) = '16.0 16.0 16.0';
5678 }
5679
5680 // rocket guiding start
5681 DEF(rocket_guide);
5682 // underwater bubbles
5683 SUB(rocket_guide) {
5684         MY(alpha_min) = 128;
5685         MY(alpha_max) = 256;
5686         MY(alpha_fade) = 64;
5687         MY(bounce) = 1.500000;
5688         MY(color_min) = "0x404040";
5689         MY(color_max) = "0x808080";
5690         MY(count) = 2;
5691         MY(gravity) = -0.125000;
5692         MY(liquidfriction) = 0.250000;
5693         MY(originjitter) = '8.0 8.0 8.0';
5694         MY(size_min) = 1.500000;
5695         MY(size_max) = 1.500000;
5696         MY(tex_min) = 62;
5697         MY(tex_max) = 62;
5698         MY(type) = "bubble";
5699         MY(underwater) = true;
5700         MY(velocityjitter) = '48.0 48.0 48.0';
5701         MY(velocitymultiplier) = -0.100000;
5702 }
5703 // bouncing sparks
5704 SUB(rocket_guide) {
5705         MY(airfriction) = 0.200000;
5706         MY(alpha_min) = 256;
5707         MY(alpha_max) = 256;
5708         MY(alpha_fade) = 984;
5709         MY(bounce) = 1.500000;
5710         MY(color_min) = "0x903010";
5711         MY(color_max) = "0xFFD030";
5712         MY(count) = 8;
5713         MY(gravity) = 1;
5714         MY(liquidfriction) = 0.800000;
5715         MY(notunderwater) = true;
5716         MY(size_min) = 0.300000;
5717         MY(size_max) = 0.700000;
5718         MY(stretchfactor) = 0.400000;
5719         MY(tex_min) = 40;
5720         MY(tex_max) = 40;
5721         MY(type) = "spark";
5722         MY(velocityjitter) = '156.0 156.0 156.0';
5723         MY(velocitymultiplier) = -0.300000;
5724         MY(velocityoffset) = '0.0 0.0 80.0';
5725 }
5726 SUB(rocket_guide) {
5727         MY(alpha_min) = 100;
5728         MY(alpha_max) = 100;
5729         MY(alpha_fade) = 500;
5730         MY(color_min) = "0x903010";
5731         MY(color_max) = "0xFFD030";
5732         MY(countabsolute) = 1;
5733         MY(sizeincrease) = 300;
5734         MY(size_min) = 10;
5735         MY(size_max) = 10;
5736         MY(tex_min) = 65;
5737         MY(tex_max) = 65;
5738         MY(type) = "smoke";
5739 }
5740
5741 // gauntlet laser
5742 DEF(laser_gauntlet);
5743 SUB(laser_gauntlet) {
5744         MY(airfriction) = 10;
5745         MY(alpha_min) = 128;
5746         MY(alpha_max) = 512;
5747         MY(alpha_fade) = 6280;
5748         MY(color_min) = "0xb44215";
5749         MY(color_max) = "0x880000";
5750         MY(count) = 3;
5751         MY(originjitter) = '2.0 2.0 2.0';
5752         MY(startangle_min) = -180;
5753         MY(startangle_max) = 180;
5754         MY(spin_min) = 4000;
5755         MY(spin_max) = -4000;
5756         MY(sizeincrease) = -100;
5757         MY(size_min) = 7;
5758         MY(size_max) = 10;
5759         MY(stretchfactor) = 2.300000;
5760         MY(tex_min) = 43;
5761         MY(tex_max) = 43;
5762         MY(type) = "spark";
5763         MY(velocityjitter) = '150.0 150.0 150.0';
5764         MY(velocitymultiplier) = 0.200000;
5765 }
5766 SUB(laser_gauntlet) {
5767         MY(airfriction) = 12;
5768         MY(alpha_min) = 256;
5769         MY(alpha_max) = 512;
5770         MY(alpha_fade) = 6280;
5771         MY(color_min) = "0xff4200";
5772         MY(color_max) = "0xff0000";
5773         MY(count) = 6;
5774         MY(originjitter) = '2.0 2.0 2.0';
5775         MY(sizeincrease) = -100;
5776         MY(size_min) = 7;
5777         MY(size_max) = 9;
5778         MY(stretchfactor) = 2;
5779         MY(tex_min) = 8;
5780         MY(tex_max) = 15;
5781         MY(type) = "spark";
5782         MY(velocityjitter) = '100.0 100.0 100.0';
5783         MY(velocitymultiplier) = 0.200000;
5784 }
5785
5786 DEF(laser_gauntletmuzzleflash);
5787 // glow and light
5788 SUB(laser_gauntletmuzzleflash) {
5789         MY(airfriction) = 10;
5790         MY(alpha_min) = 256;
5791         MY(alpha_max) = 512;
5792         MY(alpha_fade) = 6280;
5793         MY(color_min) = "0x220000";
5794         MY(color_max) = "0x880000";
5795         MY(countabsolute) = 1;
5796         MY(lightcolor) = '3.0 0.1 0.1';
5797         MY(lightradiusfade) = 500;
5798         MY(lightradius) = 150;
5799         MY(sizeincrease) = -100;
5800         MY(size_min) = 10;
5801         MY(size_max) = 15;
5802         MY(stretchfactor) = 2;
5803         MY(tex_min) = 65;
5804         MY(tex_max) = 65;
5805         MY(type) = "smoke";
5806 }
5807 // electricity
5808 SUB(laser_gauntletmuzzleflash) {
5809         MY(airfriction) = 10;
5810         MY(alpha_min) = 128;
5811         MY(alpha_max) = 512;
5812         MY(alpha_fade) = 6280;
5813         MY(color_min) = "0xb44215";
5814         MY(color_max) = "0x880000";
5815         MY(count) = 3;
5816         MY(originjitter) = '2.0 2.0 2.0';
5817         MY(startangle_min) = -180;
5818         MY(startangle_max) = 180;
5819         MY(spin_min) = 4000;
5820         MY(spin_max) = -4000;
5821         MY(sizeincrease) = -100;
5822         MY(size_min) = 7;
5823         MY(size_max) = 10;
5824         MY(stretchfactor) = 2.300000;
5825         MY(tex_min) = 43;
5826         MY(tex_max) = 43;
5827         MY(type) = "spark";
5828         MY(velocityjitter) = '150.0 150.0 150.0';
5829         MY(velocitymultiplier) = 0.200000;
5830 }
5831 // fire
5832 SUB(laser_gauntletmuzzleflash) {
5833         MY(airfriction) = 12;
5834         MY(alpha_min) = 256;
5835         MY(alpha_max) = 512;
5836         MY(alpha_fade) = 6280;
5837         MY(color_min) = "0xff4200";
5838         MY(color_max) = "0xff0000";
5839         MY(count) = 6;
5840         MY(originjitter) = '2.0 2.0 2.0';
5841         MY(sizeincrease) = -100;
5842         MY(size_min) = 7;
5843         MY(size_max) = 9;
5844         MY(stretchfactor) = 2;
5845         MY(tex_min) = 8;
5846         MY(tex_max) = 15;
5847         MY(type) = "spark";
5848         MY(velocityjitter) = '100.0 100.0 100.0';
5849         MY(velocitymultiplier) = 0.200000;
5850 }
5851
5852 // torch flame, spawn it as fast as you can  20 times per second or more, supports direction but not required
5853 DEF(torchflame);
5854 // fast fire
5855 SUB(torchflame) {
5856         MY(airfriction) = 1.200000;
5857         MY(alpha_min) = 50;
5858         MY(alpha_max) = 256;
5859         MY(alpha_fade) = 250;
5860         MY(color_min) = "0x8f0d00";
5861         MY(color_max) = "0xff5a00";
5862         MY(count) = 3;
5863         MY(gravity) = -0.060000;
5864         MY(sizeincrease) = 20;
5865         MY(size_min) = 5;
5866         MY(size_max) = 5;
5867         MY(tex_min) = 48;
5868         MY(tex_max) = 55;
5869         MY(type) = "smoke";
5870         MY(velocityjitter) = '40.0 40.0 11.0';
5871         MY(velocitymultiplier) = 30;
5872 }
5873 // slow fire
5874 SUB(torchflame) {
5875         MY(airfriction) = 1.200000;
5876         MY(alpha_min) = 50;
5877         MY(alpha_max) = 256;
5878         MY(alpha_fade) = 200;
5879         MY(color_min) = "0x8f0d00";
5880         MY(color_max) = "0xff5a00";
5881         MY(count) = 2.500000;
5882         MY(gravity) = -0.060000;
5883         MY(sizeincrease) = 20;
5884         MY(size_min) = 5;
5885         MY(size_max) = 5;
5886         MY(tex_min) = 48;
5887         MY(tex_max) = 55;
5888         MY(type) = "smoke";
5889         MY(velocityjitter) = '40.0 40.0 40.0';
5890         MY(velocitymultiplier) = 20;
5891 }
5892 // very slow and small fire
5893 SUB(torchflame) {
5894         MY(airfriction) = 0.300000;
5895         MY(alpha_min) = 50;
5896         MY(alpha_max) = 256;
5897         MY(alpha_fade) = 200;
5898         MY(color_min) = "0x8f0d00";
5899         MY(color_max) = "0xff5a00";
5900         MY(count) = 1.500000;
5901         MY(gravity) = -0.060000;
5902         MY(sizeincrease) = 10;
5903         MY(size_min) = 5;
5904         MY(size_max) = 5;
5905         MY(tex_min) = 48;
5906         MY(tex_max) = 55;
5907         MY(type) = "smoke";
5908         MY(velocityjitter) = '30.0 30.0 30.0';
5909         MY(velocitymultiplier) = 10;
5910 }
5911 // decreasing fire
5912 SUB(torchflame) {
5913         MY(airfriction) = 0.300000;
5914         MY(alpha_min) = 50;
5915         MY(alpha_max) = 256;
5916         MY(alpha_fade) = 200;
5917         MY(color_min) = "0x8f0d00";
5918         MY(color_max) = "0xff5a00";
5919         MY(count) = 2;
5920         MY(gravity) = -0.060000;
5921         MY(sizeincrease) = -10;
5922         MY(size_min) = 20;
5923         MY(size_max) = 30;
5924         MY(tex_min) = 48;
5925         MY(tex_max) = 55;
5926         MY(type) = "smoke";
5927         MY(velocityjitter) = '10.0 10.0 10.0';
5928         MY(velocitymultiplier) = 15;
5929 }
5930 // smoke
5931 SUB(torchflame) {
5932         MY(airfriction) = 1;
5933         MY(alpha_min) = 256;
5934         MY(alpha_max) = 256;
5935         MY(alpha_fade) = 90;
5936         MY(color_min) = "0x000000";
5937         MY(color_max) = "0x111111";
5938         MY(count) = 0.500000;
5939         MY(originjitter) = '10.0 10.0 10.0';
5940         MY(sizeincrease) = 7;
5941         MY(size_min) = 5;
5942         MY(size_max) = 15;
5943         MY(tex_max) = 8;
5944         MY(type) = "alphastatic";
5945         MY(velocitymultiplier) = 20;
5946         MY(velocityoffset) = '0.0 0.0 10.0';
5947 }
5948
5949 #include "effectinfo_gentle_happy.inc"
5950
5951 DEF(electro_lightning);
5952 SUB(electro_lightning) {
5953         MY(alpha_min) = 256;
5954         MY(alpha_max) = 256;
5955         MY(countabsolute) = 1;
5956         MY(lightcolor) = '3.1 4.4 10.0';
5957         MY(lightradiusfade) = 500;
5958         MY(lightradius) = 50;
5959         MY(originjitter) = '2.0 2.0 2.0';
5960         MY(size_min) = 16;
5961         MY(size_max) = 16;
5962         MY(tex_min) = 59;
5963         MY(tex_max) = 59;
5964         MY(type) = "decal";
5965 }
5966 SUB(electro_lightning) {
5967         MY(alpha_min) = 100;
5968         MY(alpha_max) = 206;
5969         MY(alpha_fade) = 1724;
5970         MY(color_min) = "0x2030FF";
5971         MY(color_max) = "0x80C0FF";
5972         MY(count) = 300;
5973         MY(originjitter) = '1.5 1.5 1.5';
5974         MY(sizeincrease) = 10;
5975         MY(size_min) = 6;
5976         MY(size_max) = 6;
5977         MY(tex_min) = 65;
5978         MY(tex_max) = 65;
5979         MY(type) = "spark";
5980         MY(velocityjitter) = '6.0 6.0 6.0';
5981         MY(velocitymultiplier) = 2000;
5982 }
5983 SUB(electro_lightning) {
5984         MY(airfriction) = 2;
5985         MY(alpha_min) = 110;
5986         MY(alpha_max) = 170;
5987         MY(alpha_fade) = 1500;
5988         MY(color_min) = "0xDDFDFF";
5989         MY(color_max) = "0xFDFDFF";
5990         MY(count) = 30;
5991         MY(originjitter) = '1.0 1.0 1.0';
5992         MY(size_min) = 2;
5993         MY(size_max) = 5;
5994         MY(stretchfactor) = 1.500000;
5995         MY(tex_min) = 8;
5996         MY(tex_max) = 15;
5997         MY(type) = "spark";
5998         MY(velocityjitter) = '150.0 150.0 150.0';
5999         MY(velocitymultiplier) = 0.500000;
6000 }
6001 SUB(electro_lightning) {
6002         MY(airfriction) = 8;
6003         MY(alpha_min) = 110;
6004         MY(alpha_max) = 170;
6005         MY(alpha_fade) = 1500;
6006         MY(color_min) = "0xFDFDFF";
6007         MY(color_max) = "0xF9FDFF";
6008         MY(count) = 50;
6009         MY(gravity) = 1.300000;
6010         MY(originjitter) = '1.0 1.0 1.0';
6011         MY(size_min) = 2;
6012         MY(size_max) = 3;
6013         MY(stretchfactor) = 0.100000;
6014         MY(tex_min) = 41;
6015         MY(tex_max) = 41;
6016         MY(type) = "spark";
6017         MY(velocityjitter) = '350.0 350.0 350.0';
6018         MY(velocitymultiplier) = 2.500000;
6019 }
6020
6021 DEF(gauntlet_lightning);
6022 SUB(gauntlet_lightning) {
6023         MY(alpha_min) = 256;
6024         MY(alpha_max) = 256;
6025         MY(alpha_fade) = 1024;
6026         MY(color_min) = "0x280000";
6027         MY(color_max) = "0x280000";
6028         MY(count) = 300;
6029         MY(originjitter) = '1.5 1.5 1.5';
6030         MY(sizeincrease) = 15;
6031         MY(size_min) = 3;
6032         MY(size_max) = 3;
6033         MY(tex_min) = 65;
6034         MY(tex_max) = 65;
6035         MY(type) = "spark";
6036         MY(velocityjitter) = '6.0 6.0 6.0';
6037         MY(velocitymultiplier) = 2000;
6038 }
6039 SUB(gauntlet_lightning) {
6040         MY(airfriction) = 2;
6041         MY(alpha_min) = 110;
6042         MY(alpha_max) = 228;
6043         MY(alpha_fade) = 1024;
6044         MY(color_min) = "0xDD0000";
6045         MY(color_max) = "0xFD0000";
6046         MY(count) = 30;
6047         MY(originjitter) = '1.0 1.0 1.0';
6048         MY(size_min) = 2;
6049         MY(size_max) = 5;
6050         MY(stretchfactor) = 1.500000;
6051         MY(tex_min) = 8;
6052         MY(tex_max) = 15;
6053         MY(type) = "spark";
6054         MY(velocityjitter) = '150.0 150.0 150.0';
6055         MY(velocitymultiplier) = 0.500000;
6056 }
6057 SUB(gauntlet_lightning) {
6058         MY(airfriction) = 8;
6059         MY(alpha_min) = 110;
6060         MY(alpha_max) = 228;
6061         MY(alpha_fade) = 600;
6062         MY(color_min) = "0xFD0000";
6063         MY(color_max) = "0xF90000";
6064         MY(count) = 50;
6065         MY(gravity) = 1.300000;
6066         MY(originjitter) = '1.0 1.0 1.0';
6067         MY(size_min) = 2;
6068         MY(size_max) = 3;
6069         MY(stretchfactor) = 0.100000;
6070         MY(tex_min) = 41;
6071         MY(tex_max) = 41;
6072         MY(type) = "spark";
6073         MY(velocityjitter) = '350.0 350.0 350.0';
6074         MY(velocitymultiplier) = 2.500000;
6075 }
6076
6077 DEF(crylink_joinexplode);
6078 // decal
6079 SUB(crylink_joinexplode) {
6080         MY(alpha_min) = 256;
6081         MY(alpha_max) = 256;
6082         MY(countabsolute) = 1;
6083         MY(originjitter) = '12.0 12.0 12.0';
6084         MY(size_min) = 24;
6085         MY(size_max) = 24;
6086         MY(tex_min) = 47;
6087         MY(tex_max) = 47;
6088         MY(type) = "decal";
6089 }
6090 // purple flare effect
6091 SUB(crylink_joinexplode) {
6092         MY(alpha_min) = 256;
6093         MY(alpha_max) = 256;
6094         MY(alpha_fade) = 512;
6095         MY(color_min) = "0x504060";
6096         MY(color_max) = "0x504060";
6097         MY(countabsolute) = 1;
6098         MY(size_min) = 24;
6099         MY(size_max) = 24;
6100         MY(tex_min) = 39;
6101         MY(tex_max) = 39;
6102         MY(type) = "static";
6103 }
6104 // purple sparks
6105 SUB(crylink_joinexplode) {
6106         MY(alpha_min) = 256;
6107         MY(alpha_max) = 256;
6108         MY(alpha_fade) = 1024;
6109         MY(bounce) = 2;
6110         MY(color_min) = "0xA040C0";
6111         MY(color_max) = "0xA040C0";
6112         MY(count) = 40;
6113         MY(size_min) = 6;
6114         MY(size_max) = 6;
6115         MY(tex_min) = 41;
6116         MY(tex_max) = 41;
6117         MY(type) = "spark";
6118         MY(velocityjitter) = '512.0 512.0 512.0';
6119 }
6120 // purple splash
6121 SUB(crylink_joinexplode) {
6122         MY(alpha_min) = 256;
6123         MY(alpha_max) = 256;
6124         MY(alpha_fade) = 512;
6125         MY(color_min) = "0xE070FF";
6126         MY(color_max) = "0xE070FF";
6127         MY(count) = 1.500000;
6128         MY(size_min) = 16;
6129         MY(size_max) = 16;
6130         MY(type) = "static";
6131         MY(velocityjitter) = '32.0 32.0 32.0';
6132 }
6133 // purple splash
6134 SUB(crylink_joinexplode) {
6135         MY(alpha_min) = 256;
6136         MY(alpha_max) = 256;
6137         MY(alpha_fade) = 1024;
6138         MY(color_min) = "0xE070FF";
6139         MY(color_max) = "0xE070FF";
6140         MY(count) = 3;
6141         MY(size_min) = 16;
6142         MY(size_max) = 16;
6143         MY(type) = "static";
6144         MY(velocityjitter) = '256.0 256.0 256.0';
6145 }
6146
6147 // sparks for keepaway ball touch
6148 DEF(kaball_sparks);
6149 SUB(kaball_sparks) {
6150         MY(airfriction) = 3;
6151         MY(alpha_max) = 256;
6152         MY(alpha_fade) = 556;
6153         MY(bounce) = 1.500000;
6154         MY(color_min) = "0xa9cacf";
6155         MY(color_max) = "0x0054ff";
6156         MY(count) = 35;
6157         MY(gravity) = 1;
6158         MY(originjitter) = '1.0 1.0 1.0';
6159         MY(size_min) = 1;
6160         MY(size_max) = 3;
6161         MY(tex_min) = 40;
6162         MY(tex_max) = 40;
6163         MY(type) = "spark";
6164         MY(velocityjitter) = '300.0 300.0 300.0';
6165         MY(velocitymultiplier) = 0.500000;
6166 }
6167
6168 // weak rifle bullet trail (somewhat like a tracer)
6169 DEF(tr_rifle_weak);
6170 SUB(tr_rifle_weak) {
6171         MY(alpha_min) = 256;
6172         MY(alpha_max) = 256;
6173         MY(alpha_fade) = 2560;
6174         MY(color_min) = "0x800000";
6175         MY(color_max) = "0xFF8020";
6176         MY(size_min) = 1.500000;
6177         MY(size_max) = 1.500000;
6178         MY(stretchfactor) = 1;
6179         MY(trailspacing) = 128;
6180         MY(type) = "spark";
6181         MY(velocitymultiplier) = 0.700000;
6182 }
6183 SUB(tr_rifle_weak) {
6184         MY(airfriction) = -4;
6185         MY(alpha_min) = 256;
6186         MY(alpha_max) = 256;
6187         MY(alpha_fade) = 256;
6188         MY(color_min) = "0x202020";
6189         MY(color_max) = "0x404040";
6190         MY(notunderwater) = true;
6191         MY(sizeincrease) = 0.400000;
6192         MY(size_min) = 4;
6193         MY(size_max) = 4;
6194         MY(tex_max) = 8;
6195         MY(trailspacing) = 48;
6196         MY(type) = "smoke";
6197         MY(velocityjitter) = '4.0 4.0 4.0';
6198 }
6199 SUB(tr_rifle_weak) {
6200         MY(alpha_min) = 256;
6201         MY(alpha_max) = 256;
6202         MY(alpha_fade) = 128;
6203         MY(bounce) = 1.500000;
6204         MY(color_min) = "0x404040";
6205         MY(color_max) = "0x808080";
6206         MY(gravity) = -0.125000;
6207         MY(liquidfriction) = 4;
6208         MY(size_min) = 2;
6209         MY(size_max) = 2;
6210         MY(tex_min) = 62;
6211         MY(tex_max) = 62;
6212         MY(trailspacing) = 192;
6213         MY(type) = "bubble";
6214         MY(underwater) = true;
6215         MY(velocityjitter) = '16.0 16.0 16.0';
6216 }
6217
6218 // red smoke emiter
6219 DEF(red_smoke);
6220 SUB(red_smoke) {
6221         MY(airfriction) = -1;
6222         MY(alpha_min) = 32;
6223         MY(alpha_max) = 64;
6224         MY(alpha_fade) = 32;
6225         MY(color_min) = "0xff8866";
6226         MY(color_max) = "0x331100";
6227         MY(count) = 2;
6228         MY(gravity) = -0.007000;
6229         MY(startangle_max) = 360;
6230         MY(spin_min) = -30;
6231         MY(spin_max) = 30;
6232         MY(size_min) = 60;
6233         MY(size_max) = 120;
6234         MY(tex_max) = 8;
6235         MY(type) = "smoke";
6236         MY(velocitymultiplier) = 5;
6237 }
6238
6239 // pipe smoke emiter
6240 DEF(pipe_smoke);
6241 SUB(pipe_smoke) {
6242         MY(airfriction) = -1;
6243         MY(alpha_min) = 32;
6244         MY(alpha_max) = 64;
6245         MY(alpha_fade) = 48;
6246         MY(color_min) = "0x999999";
6247         MY(color_max) = "0x555555";
6248         MY(count) = 2;
6249         MY(gravity) = -0.015000;
6250         MY(startangle_max) = 360;
6251         MY(spin_min) = -180;
6252         MY(spin_max) = 180;
6253         MY(sizeincrease) = 35;
6254         MY(size_min) = 5;
6255         MY(size_max) = 10;
6256         MY(tex_max) = 8;
6257         MY(type) = "smoke";
6258         MY(velocityjitter) = '0.0 0.0 5.0';
6259         MY(velocitymultiplier) = 15;
6260 }
6261
6262 // seeker missile trail
6263 DEF(TR_SEEKER);
6264 SUB(TR_SEEKER) {
6265         MY(alpha_min) = 200;
6266         MY(alpha_max) = 300;
6267         MY(alpha_fade) = 200;
6268         MY(bounce) = 1;
6269         MY(color_min) = "0x000000";
6270         MY(color_max) = "0x666666";
6271         MY(lightcolor) = '6.0 3.0 1.0';
6272         MY(lightradius) = 100;
6273         MY(notunderwater) = true;
6274         MY(originjitter) = '2.0 2.0 2.0';
6275         MY(startangle_min) = -180;
6276         MY(startangle_max) = 180;
6277         MY(spin_min) = -30;
6278         MY(spin_max) = 30;
6279         MY(sizeincrease) = 11;
6280         MY(size_min) = 2;
6281         MY(size_max) = 2;
6282         MY(tex_max) = 8;
6283         MY(trailspacing) = 10;
6284         MY(type) = "smoke";
6285         MY(velocityjitter) = '3.0 3.0 3.0';
6286         MY(velocitymultiplier) = -0.020000;
6287 }
6288 // fire
6289 SUB(TR_SEEKER) {
6290         MY(airfriction) = 8;
6291         MY(alpha_min) = 100;
6292         MY(alpha_max) = 144;
6293         MY(alpha_fade) = 588;
6294         MY(color_min) = "0xffdf72";
6295         MY(color_max) = "0x811200";
6296         MY(sizeincrease) = -30;
6297         MY(size_min) = 5;
6298         MY(size_max) = 5;
6299         MY(tex_min) = 48;
6300         MY(tex_max) = 55;
6301         MY(trailspacing) = 4;
6302         MY(type) = "static";
6303         MY(velocityjitter) = '32.0 32.0 32.0';
6304         MY(velocitymultiplier) = -1.500000;
6305 }
6306 // bubbles
6307 SUB(TR_SEEKER) {
6308         MY(alpha_min) = 256;
6309         MY(alpha_max) = 256;
6310         MY(alpha_fade) = 256;
6311         MY(bounce) = 1.500000;
6312         MY(gravity) = -0.125000;
6313         MY(liquidfriction) = 4;
6314         MY(size_min) = 1;
6315         MY(size_max) = 2;
6316         MY(tex_min) = 62;
6317         MY(tex_max) = 62;
6318         MY(trailspacing) = 16;
6319         MY(type) = "bubble";
6320         MY(underwater) = true;
6321         MY(velocityjitter) = '16.0 16.0 16.0';
6322         MY(velocitymultiplier) = -0.310000;
6323 }
6324 // sparks
6325 SUB(TR_SEEKER) {
6326         MY(airfriction) = 5;
6327         MY(alpha_min) = 444;
6328         MY(alpha_max) = 512;
6329         MY(alpha_fade) = 1866;
6330         MY(bounce) = 1;
6331         MY(color_min) = "0xFFFDD9";
6332         MY(color_max) = "0xFFFDD9";
6333         MY(notunderwater) = true;
6334         MY(originjitter) = '1.0 1.0 1.0';
6335         MY(size_min) = 0.500000;
6336         MY(size_max) = 0.500000;
6337         MY(stretchfactor) = 0.300000;
6338         MY(tex_min) = 40;
6339         MY(tex_max) = 40;
6340         MY(trailspacing) = 20;
6341         MY(type) = "spark";
6342         MY(velocityjitter) = '100.0 100.0 100.0';
6343         MY(velocitymultiplier) = -0.310000;
6344 }
6345
6346 #include "effectinfo_vehicles.inc"
6347
6348 // generic explosion size:big (biggest explosion ever)
6349 DEF(explosion_big);
6350 // decal
6351 SUB(explosion_big) {
6352         MY(alpha_min) = 256;
6353         MY(alpha_max) = 256;
6354         MY(countabsolute) = 1;
6355         MY(lightcolor) = '8.0 4.0 0.0';
6356         MY(lightradiusfade) = 1750;
6357         MY(lightradius) = 600;
6358         MY(originjitter) = '23.0 23.0 23.0';
6359         MY(size_min) = 172;
6360         MY(size_max) = 172;
6361         MY(tex_min) = 8;
6362         MY(tex_max) = 16;
6363         MY(type) = "decal";
6364 }
6365 // shockwave
6366 SUB(explosion_big) {
6367         MY(alpha_min) = 56;
6368         MY(alpha_max) = 56;
6369         MY(alpha_fade) = 330;
6370         MY(color_min) = "0x8f0d00";
6371         MY(color_max) = "0xff5a00";
6372         MY(countabsolute) = 1;
6373         MY(sizeincrease) = 4400;
6374         MY(size_min) = 72;
6375         MY(size_max) = 72;
6376         MY(tex_min) = 33;
6377         MY(tex_max) = 33;
6378         MY(type) = "static";
6379 }
6380 // fire effect
6381 SUB(explosion_big) {
6382         MY(airfriction) = 8;
6383         MY(alpha_min) = 200;
6384         MY(alpha_max) = 256;
6385         MY(alpha_fade) = 712;
6386         MY(color_min) = "0x8f0d00";
6387         MY(color_max) = "0xff5a00";
6388         MY(count) = 64;
6389         MY(liquidfriction) = 8;
6390         MY(notunderwater) = true;
6391         MY(originjitter) = '80.0 80.0 80.0';
6392         MY(sizeincrease) = 45;
6393         MY(size_min) = 133;
6394         MY(size_max) = 144;
6395         MY(tex_min) = 48;
6396         MY(tex_max) = 55;
6397         MY(type) = "static";
6398         MY(velocityjitter) = '2512.0 2512.0 2512.0';
6399 }
6400 // fire rays
6401 SUB(explosion_big) {
6402         MY(airfriction) = -5;
6403         MY(alpha_min) = 200;
6404         MY(alpha_max) = 256;
6405         MY(alpha_fade) = 800;
6406         MY(color_min) = "0x8f0d00";
6407         MY(color_max) = "0xff5a00";
6408         MY(count) = 64;
6409         MY(liquidfriction) = 8;
6410         MY(notunderwater) = true;
6411         MY(originjitter) = '40.0 40.0 40.0';
6412         MY(sizeincrease) = 45;
6413         MY(size_min) = 133;
6414         MY(size_max) = 144;
6415         MY(stretchfactor) = 10;
6416         MY(tex_min) = 48;
6417         MY(tex_max) = 55;
6418         MY(type) = "spark";
6419         MY(velocityjitter) = '512.0 512.0 512.0';
6420 }
6421 // smoke
6422 SUB(explosion_big) {
6423         MY(airfriction) = 8;
6424         MY(alpha_min) = 300;
6425         MY(alpha_max) = 650;
6426         MY(alpha_fade) = 456;
6427         MY(color_min) = "0x4F4B46";
6428         MY(color_max) = "0x000000";
6429         MY(count) = 32;
6430         MY(notunderwater) = true;
6431         MY(sizeincrease) = 244;
6432         MY(size_min) = 50;
6433         MY(size_max) = 100;
6434         MY(tex_max) = 8;
6435         MY(type) = "alphastatic";
6436         MY(velocityjitter) = '3444.0 3444.0 3444.0';
6437 }
6438 // bouncing sparks
6439 SUB(explosion_big) {
6440         MY(airfriction) = 1;
6441         MY(alpha_min) = 644;
6442         MY(alpha_max) = 956;
6443         MY(alpha_fade) = 1284;
6444         MY(color_min) = "0xffa35b";
6445         MY(color_max) = "0xfff2be";
6446         MY(count) = 34;
6447         MY(gravity) = 1;
6448         MY(liquidfriction) = 0.800000;
6449         MY(notunderwater) = true;
6450         MY(originjitter) = '160.0 160.0 160.0';
6451         MY(size_min) = 3;
6452         MY(size_max) = 4;
6453         MY(stretchfactor) = 0.700000;
6454         MY(tex_min) = 40;
6455         MY(tex_max) = 40;
6456         MY(type) = "spark";
6457         MY(velocityjitter) = '924.0 924.0 924.0';
6458         MY(velocityoffset) = '0.0 0.0 370.0';
6459 }
6460 // debris
6461 SUB(explosion_big) {
6462         MY(airfriction) = 0.500000;
6463         MY(alpha_min) = 444;
6464         MY(alpha_max) = 1356;
6465         MY(alpha_fade) = 1184;
6466         MY(color_min) = "0xFFFFFF";
6467         MY(color_max) = "0xcac5b4";
6468         MY(count) = 16;
6469         MY(gravity) = 2.300000;
6470         MY(notunderwater) = true;
6471         MY(startangle_min) = -180;
6472         MY(startangle_max) = 180;
6473         MY(spin_min) = -1000;
6474         MY(spin_max) = 1000;
6475         MY(sizeincrease) = -5;
6476         MY(size_min) = 10;
6477         MY(size_max) = 16;
6478         MY(tex_min) = 66;
6479         MY(tex_max) = 68;
6480         MY(type) = "alphastatic";
6481         MY(velocityjitter) = '1800.0 1800.0 1800.0';
6482         MY(velocityoffset) = '0.0 0.0 970.0';
6483 }
6484 // underwater bubbles
6485 SUB(explosion_big) {
6486         MY(alpha_min) = 128;
6487         MY(alpha_max) = 256;
6488         MY(alpha_fade) = 64;
6489         MY(bounce) = 1.500000;
6490         MY(color_min) = "0x404040";
6491         MY(color_max) = "0x808080";
6492         MY(count) = 32;
6493         MY(gravity) = -0.125000;
6494         MY(liquidfriction) = 0.250000;
6495         MY(originjitter) = '160.0 160.0 160.0';
6496         MY(size_min) = 3;
6497         MY(size_max) = 3;
6498         MY(tex_min) = 62;
6499         MY(tex_max) = 62;
6500         MY(type) = "bubble";
6501         MY(underwater) = true;
6502         MY(velocityjitter) = '444.0 444.0 444.0';
6503 }
6504 // underwatershockwave
6505 SUB(explosion_big) {
6506         MY(alpha_min) = 40;
6507         MY(alpha_max) = 40;
6508         MY(alpha_fade) = 300;
6509         MY(countabsolute) = 1;
6510         MY(sizeincrease) = 2900;
6511         MY(size_min) = 30;
6512         MY(size_max) = 30;
6513         MY(tex_min) = 33;
6514         MY(tex_max) = 33;
6515         MY(type) = "smoke";
6516         MY(underwater) = true;
6517         MY(velocitymultiplier) = 0.300000;
6518 }
6519
6520 // generic explosion size:medium (it leaves rising smoke for a longer time)
6521 DEF(explosion_medium);
6522 // shockwave
6523 SUB(explosion_medium) {
6524         MY(alpha_min) = 56;
6525         MY(alpha_max) = 56;
6526         MY(alpha_fade) = 330;
6527         MY(color_min) = "0x8f0d00";
6528         MY(color_max) = "0xff5a00";
6529         MY(countabsolute) = 1;
6530         MY(sizeincrease) = 2400;
6531         MY(size_min) = 72;
6532         MY(size_max) = 72;
6533         MY(tex_min) = 33;
6534         MY(tex_max) = 33;
6535         MY(type) = "static";
6536 }
6537 // fire effect
6538 SUB(explosion_medium) {
6539         MY(airfriction) = 8;
6540         MY(alpha_min) = 200;
6541         MY(alpha_max) = 256;
6542         MY(alpha_fade) = 712;
6543         MY(color_min) = "0x8f0d00";
6544         MY(color_max) = "0xff5a00";
6545         MY(count) = 32;
6546         MY(liquidfriction) = 8;
6547         MY(notunderwater) = true;
6548         MY(originjitter) = '30.0 30.0 30.0';
6549         MY(startangle_min) = -180;
6550         MY(startangle_max) = 180;
6551         MY(spin_min) = -500;
6552         MY(spin_max) = 500;
6553         MY(sizeincrease) = 45;
6554         MY(size_min) = 133;
6555         MY(size_max) = 144;
6556         MY(tex_min) = 48;
6557         MY(tex_max) = 55;
6558         MY(type) = "static";
6559         MY(velocityjitter) = '1512.0 1512.0 1512.0';
6560 }
6561 // fire effect 2
6562 SUB(explosion_medium) {
6563         MY(airfriction) = 8;
6564         MY(alpha_min) = 200;
6565         MY(alpha_max) = 256;
6566         MY(alpha_fade) = 612;
6567         MY(color_min) = "0x8f0d00";
6568         MY(color_max) = "0xff5a00";
6569         MY(count) = 32;
6570         MY(gravity) = -2;
6571         MY(liquidfriction) = 8;
6572         MY(notunderwater) = true;
6573         MY(originjitter) = '30.0 30.0 30.0';
6574         MY(startangle_min) = -180;
6575         MY(startangle_max) = 180;
6576         MY(spin_min) = -150;
6577         MY(spin_max) = 150;
6578         MY(sizeincrease) = 40;
6579         MY(size_min) = 73;
6580         MY(size_max) = 94;
6581         MY(tex_min) = 48;
6582         MY(tex_max) = 55;
6583         MY(type) = "static";
6584         MY(velocityjitter) = '1512.0 1512.0 1512.0';
6585 }
6586 // fire rays
6587 SUB(explosion_medium) {
6588         MY(airfriction) = -3;
6589         MY(alpha_min) = 200;
6590         MY(alpha_max) = 256;
6591         MY(alpha_fade) = 800;
6592         MY(color_min) = "0x8f0d00";
6593         MY(color_max) = "0xff5a00";
6594         MY(count) = 14;
6595         MY(liquidfriction) = 8;
6596         MY(notunderwater) = true;
6597         MY(originjitter) = '40.0 40.0 40.0';
6598         MY(sizeincrease) = 40;
6599         MY(size_min) = 43;
6600         MY(size_max) = 74;
6601         MY(stretchfactor) = 8;
6602         MY(tex_min) = 48;
6603         MY(tex_max) = 55;
6604         MY(type) = "spark";
6605         MY(velocityjitter) = '512.0 512.0 512.0';
6606 }
6607 // smoke
6608 SUB(explosion_medium) {
6609         MY(airfriction) = 3;
6610         MY(alpha_min) = 300;
6611         MY(alpha_max) = 650;
6612         MY(alpha_fade) = 756;
6613         MY(color_min) = "0x4F4B46";
6614         MY(color_max) = "0x000000";
6615         MY(count) = 5;
6616         MY(notunderwater) = true;
6617         MY(originjitter) = '100.0 100.0 100.0';
6618         MY(startangle_min) = -180;
6619         MY(startangle_max) = 180;
6620         MY(spin_min) = -20;
6621         MY(spin_max) = 20;
6622         MY(sizeincrease) = -30;
6623         MY(size_min) = 250;
6624         MY(size_max) = 300;
6625         MY(tex_max) = 8;
6626         MY(type) = "alphastatic";
6627         MY(velocityjitter) = '200.0 200.0 200.0';
6628 }
6629 // smoke 2
6630 SUB(explosion_medium) {
6631         MY(airfriction) = 3;
6632         MY(alpha_min) = 300;
6633         MY(alpha_max) = 650;
6634         MY(alpha_fade) = 256;
6635         MY(color_min) = "0x4F4B46";
6636         MY(color_max) = "0x000000";
6637         MY(count) = 10;
6638         MY(gravity) = -0.300000;
6639         MY(notunderwater) = true;
6640         MY(originjitter) = '100.0 100.0 100.0';
6641         MY(startangle_min) = -180;
6642         MY(startangle_max) = 180;
6643         MY(spin_min) = -20;
6644         MY(spin_max) = 20;
6645         MY(sizeincrease) = 50;
6646         MY(size_min) = 50;
6647         MY(size_max) = 100;
6648         MY(tex_max) = 8;
6649         MY(type) = "alphastatic";
6650         MY(velocityjitter) = '500.0 500.0 500.0';
6651         MY(velocityoffset) = '0.0 0.0 200.0';
6652 }
6653 // smoke rays
6654 SUB(explosion_medium) {
6655         MY(alpha_min) = 140;
6656         MY(alpha_max) = 255;
6657         MY(alpha_fade) = 350;
6658         MY(color_min) = "0x4F4B46";
6659         MY(color_max) = "0x000000";
6660         MY(count) = 13;
6661         MY(notunderwater) = true;
6662         MY(originjitter) = '40.0 40.0 40.0';
6663         MY(sizeincrease) = 100;
6664         MY(size_min) = 150;
6665         MY(size_max) = 200;
6666         MY(stretchfactor) = 50;
6667         MY(tex_max) = 8;
6668         MY(type) = "spark";
6669         MY(velocityjitter) = '250.0 250.0 250.0';
6670 }
6671 // bouncing sparks
6672 SUB(explosion_medium) {
6673         MY(airfriction) = 1;
6674         MY(alpha_min) = 644;
6675         MY(alpha_max) = 956;
6676         MY(alpha_fade) = 984;
6677         MY(color_min) = "0xffa35b";
6678         MY(color_max) = "0xfff2be";
6679         MY(count) = 14;
6680         MY(gravity) = 1;
6681         MY(liquidfriction) = 0.800000;
6682         MY(notunderwater) = true;
6683         MY(originjitter) = '100.0 100.0 100.0';
6684         MY(size_min) = 2;
6685         MY(size_max) = 3;
6686         MY(stretchfactor) = 0.700000;
6687         MY(tex_min) = 40;
6688         MY(tex_max) = 40;
6689         MY(type) = "spark";
6690         MY(velocityjitter) = '624.0 624.0 624.0';
6691         MY(velocityoffset) = '0.0 0.0 370.0';
6692 }
6693 // underwater bubbles
6694 SUB(explosion_medium) {
6695         MY(alpha_min) = 128;
6696         MY(alpha_max) = 256;
6697         MY(alpha_fade) = 64;
6698         MY(bounce) = 1.500000;
6699         MY(color_min) = "0x404040";
6700         MY(color_max) = "0x808080";
6701         MY(count) = 32;
6702         MY(gravity) = -0.125000;
6703         MY(liquidfriction) = 0.250000;
6704         MY(originjitter) = '160.0 160.0 160.0';
6705         MY(size_min) = 3;
6706         MY(size_max) = 3;
6707         MY(tex_min) = 62;
6708         MY(tex_max) = 62;
6709         MY(type) = "bubble";
6710         MY(underwater) = true;
6711         MY(velocityjitter) = '444.0 444.0 444.0';
6712 }
6713 // underwatershockwave
6714 SUB(explosion_medium) {
6715         MY(alpha_min) = 40;
6716         MY(alpha_max) = 40;
6717         MY(alpha_fade) = 300;
6718         MY(countabsolute) = 1;
6719         MY(sizeincrease) = 2900;
6720         MY(size_min) = 30;
6721         MY(size_max) = 30;
6722         MY(tex_min) = 33;
6723         MY(tex_max) = 33;
6724         MY(type) = "smoke";
6725         MY(underwater) = true;
6726         MY(velocitymultiplier) = 0.300000;
6727 }
6728
6729 // generic explosion size:small (its fire only, made to support other explosions)
6730 DEF(explosion_small);
6731 // shockwave
6732 SUB(explosion_small) {
6733         MY(alpha_min) = 56;
6734         MY(alpha_max) = 56;
6735         MY(alpha_fade) = 330;
6736         MY(color_min) = "0x8f0d00";
6737         MY(color_max) = "0xff5a00";
6738         MY(countabsolute) = 1;
6739         MY(sizeincrease) = 2400;
6740         MY(size_min) = 22;
6741         MY(size_max) = 22;
6742         MY(tex_min) = 33;
6743         MY(tex_max) = 33;
6744         MY(type) = "static";
6745 }
6746 // fire effect
6747 SUB(explosion_small) {
6748         MY(airfriction) = 5;
6749         MY(alpha_min) = 200;
6750         MY(alpha_max) = 256;
6751         MY(alpha_fade) = 1212;
6752         MY(color_min) = "0x8f0d00";
6753         MY(color_max) = "0xff5a00";
6754         MY(count) = 16;
6755         MY(liquidfriction) = 8;
6756         MY(notunderwater) = true;
6757         MY(startangle_min) = -180;
6758         MY(startangle_max) = 180;
6759         MY(spin_min) = -500;
6760         MY(spin_max) = 500;
6761         MY(sizeincrease) = 45;
6762         MY(size_min) = 1;
6763         MY(size_max) = 44;
6764         MY(tex_min) = 48;
6765         MY(tex_max) = 55;
6766         MY(type) = "static";
6767         MY(velocityjitter) = '512.0 512.0 512.0';
6768 }
6769 // fire effect 2
6770 SUB(explosion_small) {
6771         MY(airfriction) = 8;
6772         MY(alpha_min) = 200;
6773         MY(alpha_max) = 256;
6774         MY(alpha_fade) = 812;
6775         MY(color_min) = "0x8f0d00";
6776         MY(color_max) = "0xff5a00";
6777         MY(count) = 16;
6778         MY(liquidfriction) = 8;
6779         MY(notunderwater) = true;
6780         MY(startangle_min) = -180;
6781         MY(startangle_max) = 180;
6782         MY(spin_min) = -150;
6783         MY(spin_max) = 150;
6784         MY(sizeincrease) = 40;
6785         MY(size_min) = 73;
6786         MY(size_max) = 94;
6787         MY(tex_min) = 48;
6788         MY(tex_max) = 55;
6789         MY(type) = "static";
6790         MY(velocityjitter) = '912.0 912.0 912.0';
6791 }
6792 // fire rays
6793 SUB(explosion_small) {
6794         MY(airfriction) = -3;
6795         MY(alpha_min) = 200;
6796         MY(alpha_max) = 256;
6797         MY(alpha_fade) = 1300;
6798         MY(color_min) = "0x8f0d00";
6799         MY(color_max) = "0xff5a00";
6800         MY(count) = 14;
6801         MY(liquidfriction) = 8;
6802         MY(notunderwater) = true;
6803         MY(originjitter) = '40.0 40.0 40.0';
6804         MY(sizeincrease) = 30;
6805         MY(size_min) = 13;
6806         MY(size_max) = 54;
6807         MY(stretchfactor) = 8;
6808         MY(tex_min) = 48;
6809         MY(tex_max) = 55;
6810         MY(type) = "spark";
6811         MY(velocityjitter) = '512.0 512.0 512.0';
6812 }
6813 // underwater bubbles
6814 SUB(explosion_small) {
6815         MY(alpha_min) = 128;
6816         MY(alpha_max) = 256;
6817         MY(alpha_fade) = 64;
6818         MY(bounce) = 1.500000;
6819         MY(color_min) = "0x404040";
6820         MY(color_max) = "0x808080";
6821         MY(count) = 32;
6822         MY(gravity) = -0.125000;
6823         MY(liquidfriction) = 0.250000;
6824         MY(originjitter) = '160.0 160.0 160.0';
6825         MY(size_min) = 1;
6826         MY(size_max) = 3;
6827         MY(tex_min) = 62;
6828         MY(tex_max) = 62;
6829         MY(type) = "bubble";
6830         MY(underwater) = true;
6831         MY(velocityjitter) = '144.0 144.0 144.0';
6832 }
6833 // underwatershockwave
6834 SUB(explosion_small) {
6835         MY(alpha_min) = 40;
6836         MY(alpha_max) = 40;
6837         MY(alpha_fade) = 300;
6838         MY(countabsolute) = 1;
6839         MY(sizeincrease) = 1200;
6840         MY(size_min) = 30;
6841         MY(size_max) = 30;
6842         MY(tex_min) = 33;
6843         MY(tex_max) = 33;
6844         MY(type) = "smoke";
6845         MY(underwater) = true;
6846 }
6847
6848 // big smoke ( for spamming on damaged stuff )
6849 DEF(smoke_big);
6850 SUB(smoke_big) {
6851         MY(airfriction) = 4;
6852         MY(alpha_min) = 200;
6853         MY(alpha_max) = 750;
6854         MY(alpha_fade) = 200;
6855         MY(color_min) = "0x4F4B46";
6856         MY(color_max) = "0x000000";
6857         MY(count) = 3;
6858         MY(gravity) = -0.500000;
6859         MY(notunderwater) = true;
6860         MY(originjitter) = '55.0 55.0 55.0';
6861         MY(startangle_min) = -180;
6862         MY(startangle_max) = 180;
6863         MY(spin_min) = -20;
6864         MY(spin_max) = 20;
6865         MY(sizeincrease) = 15;
6866         MY(size_min) = 30;
6867         MY(size_max) = 60;
6868         MY(tex_max) = 8;
6869         MY(type) = "alphastatic";
6870         MY(velocityjitter) = '140.0 140.0 200.0';
6871         MY(velocityoffset) = '0.0 0.0 200.0';
6872 }
6873
6874 // small smoke ( more precise than big one, for spamming on damaged parts like raptors spinner )
6875 DEF(smoke_small);
6876 SUB(smoke_small) {
6877         MY(airfriction) = 4;
6878         MY(alpha_min) = 200;
6879         MY(alpha_max) = 750;
6880         MY(alpha_fade) = 200;
6881         MY(color_min) = "0x4F4B46";
6882         MY(color_max) = "0x000000";
6883         MY(count) = 3;
6884         MY(gravity) = -0.500000;
6885         MY(notunderwater) = true;
6886         MY(startangle_min) = -180;
6887         MY(startangle_max) = 180;
6888         MY(spin_min) = -20;
6889         MY(spin_max) = 20;
6890         MY(sizeincrease) = -10;
6891         MY(size_min) = 60;
6892         MY(size_max) = 100;
6893         MY(tex_max) = 8;
6894         MY(type) = "alphastatic";
6895         MY(velocityjitter) = '40.0 40.0 400.0';
6896         MY(velocityoffset) = '0.0 0.0 200.0';
6897 }
6898
6899 // metal impact effect
6900 DEF(impact_metal);
6901 SUB(impact_metal) {
6902         MY(alpha_min) = 25;
6903         MY(alpha_max) = 64;
6904         MY(alpha_fade) = 50;
6905         MY(color_min) = "0x000000";
6906         MY(color_max) = "0x886666";
6907         MY(count) = 1;
6908         MY(gravity) = -0.010000;
6909         MY(originjitter) = '20.0 20.0 5.0';
6910         MY(sizeincrease) = 10;
6911         MY(size_min) = 3;
6912         MY(size_max) = 6;
6913         MY(tex_max) = 8;
6914         MY(type) = "alphastatic";
6915 }
6916 // sparks
6917 SUB(impact_metal) {
6918         MY(airfriction) = 2;
6919         MY(alpha_min) = 255;
6920         MY(alpha_max) = 255;
6921         MY(alpha_fade) = 112;
6922         MY(bounce) = 1.800000;
6923         MY(color_min) = "0xFFCC22";
6924         MY(color_max) = "0xFF4422";
6925         MY(count) = 2;
6926         MY(gravity) = 1;
6927         MY(size_min) = 2;
6928         MY(size_max) = 2;
6929         MY(stretchfactor) = 0.500000;
6930         MY(tex_min) = 41;
6931         MY(tex_max) = 41;
6932         MY(type) = "spark";
6933         MY(velocityjitter) = '200.0 200.0 300.0';
6934         MY(velocitymultiplier) = 2;
6935 }
6936
6937 // stone impact effect
6938 DEF(impact_stone);
6939 SUB(impact_stone) {
6940         MY(alpha_min) = 50;
6941         MY(alpha_max) = 128;
6942         MY(alpha_fade) = 75;
6943         MY(color_min) = "0x000000";
6944         MY(color_max) = "0xcc9966";
6945         MY(count) = 1;
6946         MY(gravity) = -0.010000;
6947         MY(originjitter) = '20.0 20.0 5.0';
6948         MY(sizeincrease) = 15;
6949         MY(size_min) = 3;
6950         MY(size_max) = 6;
6951         MY(tex_max) = 8;
6952         MY(type) = "alphastatic";
6953 }
6954 // debris
6955 SUB(impact_stone) {
6956         MY(airfriction) = 0.500000;
6957         MY(alpha_min) = 450;
6958         MY(alpha_max) = 750;
6959         MY(alpha_fade) = 300;
6960         MY(bounce) = 1.200000;
6961         MY(color_min) = "0x000000";
6962         MY(color_max) = "0x886644";
6963         MY(count) = 1;
6964         MY(gravity) = 1.300000;
6965         MY(notunderwater) = true;
6966         MY(startangle_min) = -180;
6967         MY(startangle_max) = 180;
6968         MY(spin_min) = -1000;
6969         MY(spin_max) = 1000;
6970         MY(size_min) = 1;
6971         MY(size_max) = 2;
6972         MY(tex_min) = 66;
6973         MY(tex_max) = 68;
6974         MY(type) = "alphastatic";
6975         MY(velocityjitter) = '124.0 124.0 324.0';
6976 }
6977
6978 // wood impact effect
6979 DEF(impact_wood);
6980 SUB(impact_wood) {
6981         MY(alpha_min) = 50;
6982         MY(alpha_max) = 128;
6983         MY(alpha_fade) = 75;
6984         MY(color_min) = "0x000000";
6985         MY(color_max) = "0xcc9966";
6986         MY(count) = 1;
6987         MY(gravity) = -0.010000;
6988         MY(originjitter) = '20.0 20.0 5.0';
6989         MY(sizeincrease) = 10;
6990         MY(size_min) = 3;
6991         MY(size_max) = 6;
6992         MY(tex_max) = 8;
6993         MY(type) = "alphastatic";
6994 }
6995 // sparks
6996 SUB(impact_wood) {
6997         MY(airfriction) = 2;
6998         MY(alpha_min) = 255;
6999         MY(alpha_max) = 255;
7000         MY(alpha_fade) = 75;
7001         MY(bounce) = 1.500000;
7002         MY(color_min) = "0x221100";
7003         MY(color_max) = "0x221100";
7004         MY(count) = 2;
7005         MY(gravity) = 1;
7006         MY(size_min) = 1;
7007         MY(size_max) = 8;
7008         MY(tex_min) = 41;
7009         MY(tex_max) = 41;
7010         MY(type) = "spark";
7011         MY(velocityjitter) = '180.0 180.0 260.0';
7012         MY(velocitymultiplier) = 2;
7013 }
7014
7015 // flesh impact effect
7016 DEF(impact_flesh);
7017 SUB(impact_flesh) {
7018         MY(alpha_min) = 100;
7019         MY(alpha_max) = 256;
7020         MY(alpha_fade) = 400;
7021         MY(color_min) = "0x000000";
7022         MY(color_max) = "0x420000";
7023         MY(count) = 0.500000;
7024         MY(originjitter) = '11.0 11.0 11.0';
7025         MY(size_min) = 8;
7026         MY(size_max) = 12;
7027         MY(tex_max) = 8;
7028         MY(type) = "alphastatic";
7029 }
7030 // blood splash
7031 SUB(impact_flesh) {
7032         MY(airfriction) = 1;
7033         MY(alpha_min) = 256;
7034         MY(alpha_max) = 256;
7035         MY(alpha_fade) = 64;
7036         MY(bounce) = -1;
7037         MY(color_min) = "0xA8FFFF";
7038         MY(color_max) = "0xA8FFFFF";
7039         MY(count) = 0.300000;
7040         MY(liquidfriction) = 4;
7041         MY(size_min) = 2;
7042         MY(size_max) = 6;
7043         MY(staincolor_min) = "0x808080";
7044         MY(staincolor_max) = "0x808080";
7045         MY(staintex_min) = 16;
7046         MY(staintex_max) = 24;
7047         MY(tex_min) = 24;
7048         MY(tex_max) = 32;
7049         MY(type) = "blood";
7050         MY(velocityjitter) = '96.0 96.0 96.0';
7051         MY(velocitymultiplier) = 5;
7052 }
7053
7054 // hagar trail
7055 DEF(tr_hagar);
7056 // smoke
7057 SUB(tr_hagar) {
7058         MY(alpha_min) = 300;
7059         MY(alpha_max) = 400;
7060         MY(alpha_fade) = 780;
7061         MY(bounce) = 1;
7062         MY(color_min) = "0x101010";
7063         MY(color_max) = "0x000000";
7064         MY(originjitter) = '1.0 1.0 1.0';
7065         MY(sizeincrease) = 10;
7066         MY(size_min) = 3;
7067         MY(size_max) = 2;
7068         MY(tex_max) = 8;
7069         MY(trailspacing) = 4;
7070         MY(type) = "smoke";
7071         MY(velocityjitter) = '1.0 1.0 1.0';
7072         MY(velocitymultiplier) = -0.020000;
7073 }
7074 // fire
7075 SUB(tr_hagar) {
7076         MY(airfriction) = 8;
7077         MY(alpha_min) = 100;
7078         MY(alpha_max) = 144;
7079         MY(alpha_fade) = 988;
7080         MY(color_min) = "0xffdf72";
7081         MY(color_max) = "0x811200";
7082         MY(notunderwater) = true;
7083         MY(sizeincrease) = -15;
7084         MY(size_min) = 5;
7085         MY(size_max) = 2;
7086         MY(tex_min) = 48;
7087         MY(tex_max) = 55;
7088         MY(trailspacing) = 4;
7089         MY(type) = "static";
7090         MY(velocityjitter) = '32.0 32.0 32.0';
7091         MY(velocitymultiplier) = -1;
7092 }
7093 // bubbles
7094 SUB(tr_hagar) {
7095         MY(alpha_min) = 256;
7096         MY(alpha_max) = 256;
7097         MY(alpha_fade) = 256;
7098         MY(bounce) = 1.500000;
7099         MY(color_min) = "0x404040";
7100         MY(color_max) = "0x808080";
7101         MY(gravity) = -0.125000;
7102         MY(liquidfriction) = 4;
7103         MY(size_min) = 1;
7104         MY(size_max) = 1;
7105         MY(tex_min) = 62;
7106         MY(tex_max) = 62;
7107         MY(trailspacing) = 16;
7108         MY(type) = "bubble";
7109         MY(underwater) = true;
7110         MY(velocityjitter) = '16.0 16.0 16.0';
7111 }
7112
7113 // laser damage effect
7114 DEF(damage_laser);
7115 SUB(damage_laser) {
7116         MY(airfriction) = -0.350000;
7117         MY(alpha_min) = 128;
7118         MY(alpha_max) = 16;
7119         MY(alpha_fade) = 128;
7120         MY(color_min) = "0x880000";
7121         MY(color_max) = "0xff4400";
7122         MY(count) = 3;
7123         MY(notunderwater) = true;
7124         MY(originjitter) = '2.0 2.0 2.0';
7125         MY(startangle_max) = 180;
7126         MY(spin_min) = -30;
7127         MY(spin_max) = 30;
7128         MY(sizeincrease) = 8;
7129         MY(size_min) = 2;
7130         MY(size_max) = 4;
7131         MY(tex_max) = 8;
7132         MY(type) = "smoke";
7133         MY(velocityjitter) = '0.4 0.4 0.6';
7134 }
7135
7136 // shotgun damage effect, normal blood
7137 DEF(damage_shotgun);
7138 SUB(damage_shotgun) {
7139         MY(airfriction) = 1;
7140         MY(alpha_min) = 256;
7141         MY(alpha_max) = 256;
7142         MY(alpha_fade) = 64;
7143         MY(bounce) = -1;
7144         MY(color_min) = "0xA8FFFF";
7145         MY(color_max) = "0xA8FFFFF";
7146         MY(count) = 0.600000;
7147         MY(liquidfriction) = 4;
7148         MY(size_min) = 2;
7149         MY(size_max) = 4;
7150         MY(staincolor_min) = "0x808080";
7151         MY(staincolor_max) = "0x808080";
7152         MY(staintex_min) = 16;
7153         MY(staintex_max) = 24;
7154         MY(tex_min) = 24;
7155         MY(tex_max) = 32;
7156         MY(type) = "blood";
7157         MY(velocityjitter) = '64.0 64.0 64.0';
7158         MY(velocitymultiplier) = 5;
7159 }
7160 // blood mist
7161 SUB(damage_shotgun) {
7162         MY(alpha_min) = 100;
7163         MY(alpha_max) = 256;
7164         MY(alpha_fade) = 400;
7165         MY(color_min) = "0x000000";
7166         MY(color_max) = "0x420000";
7167         MY(count) = 1;
7168         MY(originjitter) = '1.0 1.0 1.0';
7169         MY(size_min) = 8;
7170         MY(size_max) = 16;
7171         MY(tex_max) = 8;
7172         MY(type) = "alphastatic";
7173 }
7174
7175 // shotgun damage effect, alien blood
7176 DEF(damage_shotgun_alien);
7177 SUB(damage_shotgun_alien) {
7178         MY(airfriction) = 1;
7179         MY(alpha_min) = 256;
7180         MY(alpha_max) = 256;
7181         MY(alpha_fade) = 64;
7182         MY(bounce) = -1;
7183         MY(color_min) = "0xDC9BCD";
7184         MY(color_max) = "0xDC9BCD";
7185         MY(count) = 0.600000;
7186         MY(liquidfriction) = 4;
7187         MY(size_min) = 2;
7188         MY(size_max) = 4;
7189         MY(staincolor_min) = "0x808080";
7190         MY(staincolor_max) = "0x808080";
7191         MY(staintex_min) = 16;
7192         MY(staintex_max) = 24;
7193         MY(tex_min) = 24;
7194         MY(tex_max) = 32;
7195         MY(type) = "blood";
7196         MY(velocityjitter) = '64.0 64.0 64.0';
7197         MY(velocitymultiplier) = 5;
7198 }
7199 // blood mist
7200 SUB(damage_shotgun_alien) {
7201         MY(alpha_min) = 100;
7202         MY(alpha_max) = 256;
7203         MY(alpha_fade) = 400;
7204         MY(color_min) = "0x000000";
7205         MY(color_max) = "0x204010";
7206         MY(count) = 1;
7207         MY(originjitter) = '1.0 1.0 1.0';
7208         MY(size_min) = 8;
7209         MY(size_max) = 16;
7210         MY(tex_max) = 8;
7211         MY(type) = "alphastatic";
7212 }
7213
7214 // shotgun damage effect, robot blood
7215 DEF(damage_shotgun_robot);
7216 SUB(damage_shotgun_robot) {
7217         MY(airfriction) = 1;
7218         MY(alpha_min) = 256;
7219         MY(alpha_max) = 256;
7220         MY(alpha_fade) = 64;
7221         MY(bounce) = -1;
7222         MY(color_min) = "0xC0D890";
7223         MY(color_max) = "0xC0D890";
7224         MY(count) = 0.600000;
7225         MY(liquidfriction) = 4;
7226         MY(size_min) = 2;
7227         MY(size_max) = 4;
7228         MY(staincolor_min) = "0x808080";
7229         MY(staincolor_max) = "0x808080";
7230         MY(staintex_min) = 16;
7231         MY(staintex_max) = 24;
7232         MY(tex_min) = 24;
7233         MY(tex_max) = 32;
7234         MY(type) = "blood";
7235         MY(velocityjitter) = '64.0 64.0 64.0';
7236         MY(velocitymultiplier) = 5;
7237 }
7238 // blood mist
7239 SUB(damage_shotgun_robot) {
7240         MY(alpha_min) = 100;
7241         MY(alpha_max) = 256;
7242         MY(alpha_fade) = 400;
7243         MY(color_min) = "0x000000";
7244         MY(color_max) = "0x301860";
7245         MY(count) = 1;
7246         MY(originjitter) = '1.0 1.0 1.0';
7247         MY(size_min) = 8;
7248         MY(size_max) = 16;
7249         MY(tex_max) = 8;
7250         MY(type) = "alphastatic";
7251 }
7252
7253 // machinegun damage effect, normal blood
7254 DEF(damage_uzi);
7255 SUB(damage_uzi) {
7256         MY(airfriction) = 1;
7257         MY(alpha_min) = 256;
7258         MY(alpha_max) = 256;
7259         MY(alpha_fade) = 64;
7260         MY(bounce) = -1;
7261         MY(color_min) = "0xA8FFFF";
7262         MY(color_max) = "0xA8FFFFF";
7263         MY(count) = 0.300000;
7264         MY(liquidfriction) = 4;
7265         MY(size_min) = 2;
7266         MY(size_max) = 4;
7267         MY(staincolor_min) = "0x808080";
7268         MY(staincolor_max) = "0x808080";
7269         MY(staintex_min) = 16;
7270         MY(staintex_max) = 24;
7271         MY(tex_min) = 24;
7272         MY(tex_max) = 32;
7273         MY(type) = "blood";
7274         MY(velocityjitter) = '32.0 32.0 32.0';
7275         MY(velocitymultiplier) = 5;
7276 }
7277 // blood mist
7278 SUB(damage_uzi) {
7279         MY(alpha_min) = 100;
7280         MY(alpha_max) = 256;
7281         MY(alpha_fade) = 400;
7282         MY(color_min) = "0x000000";
7283         MY(color_max) = "0x420000";
7284         MY(count) = 1;
7285         MY(size_min) = 6;
7286         MY(size_max) = 12;
7287         MY(tex_max) = 8;
7288         MY(type) = "alphastatic";
7289 }
7290
7291 // machinegun damage effect, alien blood
7292 DEF(damage_uzi_alien);
7293 SUB(damage_uzi_alien) {
7294         MY(airfriction) = 1;
7295         MY(alpha_min) = 256;
7296         MY(alpha_max) = 256;
7297         MY(alpha_fade) = 64;
7298         MY(bounce) = -1;
7299         MY(color_min) = "0xDC9BCD";
7300         MY(color_max) = "0xDC9BCD";
7301         MY(count) = 0.300000;
7302         MY(liquidfriction) = 4;
7303         MY(size_min) = 2;
7304         MY(size_max) = 4;
7305         MY(staincolor_min) = "0x808080";
7306         MY(staincolor_max) = "0x808080";
7307         MY(staintex_min) = 16;
7308         MY(staintex_max) = 24;
7309         MY(tex_min) = 24;
7310         MY(tex_max) = 32;
7311         MY(type) = "blood";
7312         MY(velocityjitter) = '32.0 32.0 32.0';
7313         MY(velocitymultiplier) = 5;
7314 }
7315 // blood mist
7316 SUB(damage_uzi_alien) {
7317         MY(alpha_min) = 100;
7318         MY(alpha_max) = 256;
7319         MY(alpha_fade) = 400;
7320         MY(color_min) = "0x000000";
7321         MY(color_max) = "0x204010";
7322         MY(count) = 1;
7323         MY(size_min) = 6;
7324         MY(size_max) = 12;
7325         MY(tex_max) = 8;
7326         MY(type) = "alphastatic";
7327 }
7328
7329 // machinegun damage effect, robot blood
7330 DEF(damage_uzi_robot);
7331 SUB(damage_uzi_robot) {
7332         MY(airfriction) = 1;
7333         MY(alpha_min) = 256;
7334         MY(alpha_max) = 256;
7335         MY(alpha_fade) = 64;
7336         MY(bounce) = -1;
7337         MY(color_min) = "0xC0D890";
7338         MY(color_max) = "0xC0D890";
7339         MY(count) = 0.300000;
7340         MY(liquidfriction) = 4;
7341         MY(size_min) = 2;
7342         MY(size_max) = 4;
7343         MY(staincolor_min) = "0x808080";
7344         MY(staincolor_max) = "0x808080";
7345         MY(staintex_min) = 16;
7346         MY(staintex_max) = 24;
7347         MY(tex_min) = 24;
7348         MY(tex_max) = 32;
7349         MY(type) = "blood";
7350         MY(velocityjitter) = '32.0 32.0 32.0';
7351         MY(velocitymultiplier) = 5;
7352 }
7353 // blood mist
7354 SUB(damage_uzi_robot) {
7355         MY(alpha_min) = 100;
7356         MY(alpha_max) = 256;
7357         MY(alpha_fade) = 400;
7358         MY(color_min) = "0x000000";
7359         MY(color_max) = "0x301860";
7360         MY(count) = 1;
7361         MY(size_min) = 6;
7362         MY(size_max) = 12;
7363         MY(tex_max) = 8;
7364         MY(type) = "alphastatic";
7365 }
7366
7367 // minelayer damage effect
7368 DEF(damage_minelayer);
7369 SUB(damage_minelayer) {
7370         MY(alpha_min) = 512;
7371         MY(alpha_max) = 64;
7372         MY(alpha_fade) = 1024;
7373         MY(color_min) = "0x8f0d00";
7374         MY(color_max) = "0xff5a00";
7375         MY(count) = 3;
7376         MY(gravity) = -0.500000;
7377         MY(notunderwater) = true;
7378         MY(originjitter) = '2.0 2.0 2.0';
7379         MY(sizeincrease) = -15;
7380         MY(size_min) = 4;
7381         MY(size_max) = 8;
7382         MY(tex_min) = 48;
7383         MY(tex_max) = 55;
7384         MY(type) = "smoke";
7385         MY(velocityjitter) = '22.0 22.0 50.0';
7386 }
7387 // smoke
7388 SUB(damage_minelayer) {
7389         MY(alpha_min) = 128;
7390         MY(alpha_max) = 32;
7391         MY(alpha_fade) = 128;
7392         MY(color_min) = "0x000000";
7393         MY(color_max) = "0x111111";
7394         MY(count) = 2;
7395         MY(gravity) = -0.300000;
7396         MY(notunderwater) = true;
7397         MY(originjitter) = '4.0 4.0 4.0';
7398         MY(sizeincrease) = 5;
7399         MY(size_min) = 4;
7400         MY(size_max) = 8;
7401         MY(tex_max) = 8;
7402         MY(type) = "alphastatic";
7403         MY(velocityjitter) = '11.0 11.0 50.0';
7404 }
7405
7406 // mortar damage effect
7407 DEF(damage_grenadelauncher);
7408 SUB(damage_grenadelauncher) {
7409         MY(alpha_min) = 512;
7410         MY(alpha_max) = 64;
7411         MY(alpha_fade) = 1024;
7412         MY(color_min) = "0x8f0d00";
7413         MY(color_max) = "0xff5a00";
7414         MY(count) = 3;
7415         MY(gravity) = -0.500000;
7416         MY(notunderwater) = true;
7417         MY(originjitter) = '2.0 2.0 2.0';
7418         MY(sizeincrease) = -15;
7419         MY(size_min) = 4;
7420         MY(size_max) = 8;
7421         MY(tex_min) = 48;
7422         MY(tex_max) = 55;
7423         MY(type) = "smoke";
7424         MY(velocityjitter) = '22.0 22.0 50.0';
7425 }
7426 // smoke
7427 SUB(damage_grenadelauncher) {
7428         MY(alpha_min) = 128;
7429         MY(alpha_max) = 32;
7430         MY(alpha_fade) = 128;
7431         MY(color_min) = "0x000000";
7432         MY(color_max) = "0x111111";
7433         MY(count) = 2;
7434         MY(gravity) = -0.300000;
7435         MY(notunderwater) = true;
7436         MY(originjitter) = '4.0 4.0 4.0';
7437         MY(sizeincrease) = 5;
7438         MY(size_min) = 4;
7439         MY(size_max) = 8;
7440         MY(tex_max) = 8;
7441         MY(type) = "alphastatic";
7442         MY(velocityjitter) = '11.0 11.0 50.0';
7443 }
7444
7445 // electro damage effect
7446 DEF(damage_electro);
7447 SUB(damage_electro) {
7448         MY(airfriction) = -0.500000;
7449         MY(alpha_min) = 48;
7450         MY(alpha_max) = 8;
7451         MY(alpha_fade) = 48;
7452         MY(color_min) = "0x66ffff";
7453         MY(color_max) = "0x2288ff";
7454         MY(count) = 2;
7455         MY(gravity) = -0.000100;
7456         MY(liquidfriction) = 0.800000;
7457         MY(notunderwater) = true;
7458         MY(originjitter) = '3.0 3.0 3.0';
7459         MY(startangle_min) = 180;
7460         MY(startangle_max) = 360;
7461         MY(spin_min) = -30;
7462         MY(spin_max) = 30;
7463         MY(sizeincrease) = -14;
7464         MY(size_min) = 6;
7465         MY(size_max) = 10;
7466         MY(tex_min) = 47;
7467         MY(tex_max) = 47;
7468         MY(type) = "static";
7469         MY(velocityjitter) = '8.0 8.0 16.0';
7470 }
7471 // plasma smoke
7472 SUB(damage_electro) {
7473         MY(airfriction) = -0.350000;
7474         MY(alpha_min) = 64;
7475         MY(alpha_max) = 16;
7476         MY(alpha_fade) = 64;
7477         MY(color_min) = "0x2244ff";
7478         MY(color_max) = "0x002266";
7479         MY(count) = 4;
7480         MY(notunderwater) = true;
7481         MY(originjitter) = '4.0 4.0 4.0';
7482         MY(startangle_max) = 180;
7483         MY(spin_min) = -30;
7484         MY(spin_max) = 30;
7485         MY(sizeincrease) = 10;
7486         MY(size_min) = 4;
7487         MY(size_max) = 8;
7488         MY(tex_max) = 8;
7489         MY(type) = "smoke";
7490         MY(velocityjitter) = '0.4 0.4 0.6';
7491 }
7492 // bouncing sparks
7493 SUB(damage_electro) {
7494         MY(airfriction) = 1;
7495         MY(alpha_min) = 768;
7496         MY(alpha_max) = 64;
7497         MY(alpha_fade) = 256;
7498         MY(bounce) = 1.500000;
7499         MY(color_min) = "0x003090";
7500         MY(color_max) = "0x00CCFF";
7501         MY(count) = 0.500000;
7502         MY(gravity) = 0.200000;
7503         MY(liquidfriction) = 0.800000;
7504         MY(size_min) = 1;
7505         MY(size_max) = 1;
7506         MY(tex_min) = 66;
7507         MY(tex_max) = 68;
7508         MY(type) = "spark";
7509         MY(velocityjitter) = '32.0 32.0 32.0';
7510 }
7511
7512 // crylink damage effect
7513 DEF(damage_crylink);
7514 SUB(damage_crylink) {
7515         MY(airfriction) = -0.500000;
7516         MY(alpha_min) = 48;
7517         MY(alpha_max) = 16;
7518         MY(alpha_fade) = 48;
7519         MY(color_min) = "0xff44ff";
7520         MY(color_max) = "0x9966ff";
7521         MY(count) = 2;
7522         MY(gravity) = -0.000100;
7523         MY(liquidfriction) = 0.800000;
7524         MY(notunderwater) = true;
7525         MY(originjitter) = '3.0 3.0 3.0';
7526         MY(startangle_min) = 180;
7527         MY(startangle_max) = 360;
7528         MY(spin_min) = -30;
7529         MY(spin_max) = 30;
7530         MY(sizeincrease) = -8;
7531         MY(size_min) = 0.500000;
7532         MY(size_max) = 1;
7533         MY(tex_min) = 38;
7534         MY(tex_max) = 38;
7535         MY(type) = "static";
7536         MY(velocityjitter) = '10.0 10.0 20.0';
7537 }
7538 // plasma smoke
7539 SUB(damage_crylink) {
7540         MY(airfriction) = -0.350000;
7541         MY(alpha_min) = 64;
7542         MY(alpha_max) = 16;
7543         MY(alpha_fade) = 64;
7544         MY(color_min) = "0x8844ff";
7545         MY(color_max) = "0x662244";
7546         MY(count) = 4;
7547         MY(gravity) = 0.001000;
7548         MY(notunderwater) = true;
7549         MY(originjitter) = '4.0 4.0 4.0';
7550         MY(startangle_max) = 180;
7551         MY(spin_min) = -30;
7552         MY(spin_max) = 30;
7553         MY(sizeincrease) = 6;
7554         MY(size_min) = 5;
7555         MY(size_max) = 10;
7556         MY(tex_max) = 8;
7557         MY(type) = "smoke";
7558         MY(velocityjitter) = '0.4 0.4 0.6';
7559 }
7560 // floating sparks
7561 SUB(damage_crylink) {
7562         MY(airfriction) = 0.200000;
7563         MY(alpha_min) = 192;
7564         MY(alpha_max) = 192;
7565         MY(alpha_fade) = 128;
7566         MY(color_min) = "0x903090";
7567         MY(color_max) = "0xFFD0FF";
7568         MY(count) = 0.300000;
7569         MY(liquidfriction) = 0.800000;
7570         MY(sizeincrease) = -5;
7571         MY(size_min) = 0.500000;
7572         MY(size_max) = 0.500000;
7573         MY(type) = "spark";
7574         MY(velocityjitter) = '12.0 12.0 12.0';
7575 }
7576
7577 // hlac damage effect
7578 DEF(damage_hlac);
7579 SUB(damage_hlac) {
7580         MY(airfriction) = -0.350000;
7581         MY(alpha_min) = 128;
7582         MY(alpha_max) = 16;
7583         MY(alpha_fade) = 128;
7584         MY(color_min) = "0x880000";
7585         MY(color_max) = "0xff4400";
7586         MY(count) = 3;
7587         MY(notunderwater) = true;
7588         MY(originjitter) = '4.0 4.0 4.0';
7589         MY(startangle_max) = 180;
7590         MY(spin_min) = -30;
7591         MY(spin_max) = 30;
7592         MY(sizeincrease) = 10;
7593         MY(size_min) = 2;
7594         MY(size_max) = 4;
7595         MY(tex_max) = 8;
7596         MY(type) = "smoke";
7597         MY(velocityjitter) = '0.4 0.4 0.6';
7598 }
7599
7600 // vortex damage effect
7601 DEF(damage_nex);
7602 SUB(damage_nex) {
7603         MY(airfriction) = -0.500000;
7604         MY(alpha_min) = 64;
7605         MY(alpha_max) = 8;
7606         MY(alpha_fade) = 64;
7607         MY(color_min) = "0xffffff";
7608         MY(color_max) = "0x88ffff";
7609         MY(count) = 1;
7610         MY(gravity) = -0.000100;
7611         MY(liquidfriction) = 0.600000;
7612         MY(originjitter) = '4.0 4.0 4.0';
7613         MY(startangle_min) = 180;
7614         MY(startangle_max) = 360;
7615         MY(spin_min) = -30;
7616         MY(spin_max) = 30;
7617         MY(sizeincrease) = -14;
7618         MY(size_min) = 5;
7619         MY(size_max) = 10;
7620         MY(tex_min) = 47;
7621         MY(tex_max) = 47;
7622         MY(type) = "static";
7623         MY(velocityjitter) = '8.0 8.0 16.0';
7624 }
7625 // plasma smoke
7626 SUB(damage_nex) {
7627         MY(airfriction) = -0.350000;
7628         MY(alpha_min) = 64;
7629         MY(alpha_max) = 16;
7630         MY(alpha_fade) = 64;
7631         MY(color_min) = "0x6688ff";
7632         MY(color_max) = "0x226688";
7633         MY(count) = 2;
7634         MY(originjitter) = '2.0 2.0 2.0';
7635         MY(startangle_max) = 180;
7636         MY(spin_min) = -30;
7637         MY(spin_max) = 30;
7638         MY(sizeincrease) = 8;
7639         MY(size_min) = 4;
7640         MY(size_max) = 8;
7641         MY(tex_max) = 8;
7642         MY(type) = "smoke";
7643         MY(velocityjitter) = '0.5 0.5 0.8';
7644 }
7645 // bouncing sparks
7646 SUB(damage_nex) {
7647         MY(airfriction) = 2;
7648         MY(alpha_min) = 255;
7649         MY(alpha_max) = 255;
7650         MY(alpha_fade) = 112;
7651         MY(bounce) = 1.600000;
7652         MY(color_min) = "0xD9FDFF";
7653         MY(color_max) = "0xD9FDFF";
7654         MY(count) = 0.200000;
7655         MY(gravity) = 1;
7656         MY(size_min) = 1;
7657         MY(size_max) = 1;
7658         MY(stretchfactor) = 0.700000;
7659         MY(tex_min) = 41;
7660         MY(tex_max) = 41;
7661         MY(type) = "spark";
7662         MY(velocityjitter) = '100.0 100.0 300.0';
7663         MY(velocitymultiplier) = 3;
7664 }
7665
7666 // vaporizer damage effect
7667 DEF(damage_minstanex);
7668 SUB(damage_minstanex) {
7669         MY(airfriction) = -0.500000;
7670         MY(alpha_min) = 64;
7671         MY(alpha_max) = 8;
7672         MY(alpha_fade) = 64;
7673         MY(color_min) = "0xffffff";
7674         MY(color_max) = "0x88ffff";
7675         MY(count) = 2;
7676         MY(gravity) = -0.000100;
7677         MY(liquidfriction) = 0.600000;
7678         MY(originjitter) = '4.0 4.0 4.0';
7679         MY(startangle_min) = 180;
7680         MY(startangle_max) = 360;
7681         MY(spin_min) = -30;
7682         MY(spin_max) = 30;
7683         MY(sizeincrease) = -14;
7684         MY(size_min) = 5;
7685         MY(size_max) = 10;
7686         MY(tex_min) = 47;
7687         MY(tex_max) = 47;
7688         MY(type) = "static";
7689         MY(velocityjitter) = '8.0 8.0 16.0';
7690 }
7691 // plasma smoke
7692 SUB(damage_minstanex) {
7693         MY(airfriction) = -0.350000;
7694         MY(alpha_min) = 64;
7695         MY(alpha_max) = 16;
7696         MY(alpha_fade) = 64;
7697         MY(color_min) = "0x6688ff";
7698         MY(color_max) = "0x226688";
7699         MY(count) = 4;
7700         MY(originjitter) = '2.0 2.0 2.0';
7701         MY(startangle_max) = 180;
7702         MY(spin_min) = -30;
7703         MY(spin_max) = 30;
7704         MY(sizeincrease) = 8;
7705         MY(size_min) = 4;
7706         MY(size_max) = 8;
7707         MY(tex_max) = 8;
7708         MY(type) = "smoke";
7709         MY(velocityjitter) = '0.5 0.5 0.8';
7710 }
7711 // bouncing sparks
7712 SUB(damage_minstanex) {
7713         MY(airfriction) = 2;
7714         MY(alpha_min) = 255;
7715         MY(alpha_max) = 255;
7716         MY(alpha_fade) = 112;
7717         MY(bounce) = 1.600000;
7718         MY(color_min) = "0xD9FDFF";
7719         MY(color_max) = "0xD9FDFF";
7720         MY(count) = 0.200000;
7721         MY(gravity) = 1;
7722         MY(size_min) = 1;
7723         MY(size_max) = 1;
7724         MY(stretchfactor) = 0.700000;
7725         MY(tex_min) = 41;
7726         MY(tex_max) = 41;
7727         MY(type) = "spark";
7728         MY(velocityjitter) = '100.0 100.0 300.0';
7729         MY(velocitymultiplier) = 3;
7730 }
7731
7732 // rifle damage effect, normal blood
7733 DEF(damage_rifle);
7734 SUB(damage_rifle) {
7735         MY(airfriction) = 1;
7736         MY(alpha_min) = 256;
7737         MY(alpha_max) = 256;
7738         MY(alpha_fade) = 64;
7739         MY(bounce) = -1;
7740         MY(color_min) = "0xA8FFFF";
7741         MY(color_max) = "0xA8FFFFF";
7742         MY(count) = 0.300000;
7743         MY(liquidfriction) = 4;
7744         MY(size_min) = 2;
7745         MY(size_max) = 4;
7746         MY(staincolor_min) = "0x808080";
7747         MY(staincolor_max) = "0x808080";
7748         MY(staintex_min) = 16;
7749         MY(staintex_max) = 24;
7750         MY(tex_min) = 24;
7751         MY(tex_max) = 32;
7752         MY(type) = "blood";
7753         MY(velocityjitter) = '32.0 32.0 32.0';
7754         MY(velocitymultiplier) = 5;
7755 }
7756 // blood mist
7757 SUB(damage_rifle) {
7758         MY(alpha_min) = 100;
7759         MY(alpha_max) = 256;
7760         MY(alpha_fade) = 400;
7761         MY(color_min) = "0x000000";
7762         MY(color_max) = "0x420000";
7763         MY(count) = 1;
7764         MY(size_min) = 6;
7765         MY(size_max) = 12;
7766         MY(tex_max) = 8;
7767         MY(type) = "alphastatic";
7768 }
7769
7770 // rifle damage effect, alien blood
7771 DEF(damage_rifle_alien);
7772 SUB(damage_rifle_alien) {
7773         MY(airfriction) = 1;
7774         MY(alpha_min) = 256;
7775         MY(alpha_max) = 256;
7776         MY(alpha_fade) = 64;
7777         MY(bounce) = -1;
7778         MY(color_min) = "0xDC9BCD";
7779         MY(color_max) = "0xDC9BCD";
7780         MY(count) = 0.300000;
7781         MY(liquidfriction) = 4;
7782         MY(size_min) = 2;
7783         MY(size_max) = 4;
7784         MY(staincolor_min) = "0x808080";
7785         MY(staincolor_max) = "0x808080";
7786         MY(staintex_min) = 16;
7787         MY(staintex_max) = 24;
7788         MY(tex_min) = 24;
7789         MY(tex_max) = 32;
7790         MY(type) = "blood";
7791         MY(velocityjitter) = '32.0 32.0 32.0';
7792         MY(velocitymultiplier) = 5;
7793 }
7794 // blood mist
7795 SUB(damage_rifle_alien) {
7796         MY(alpha_min) = 100;
7797         MY(alpha_max) = 256;
7798         MY(alpha_fade) = 400;
7799         MY(color_min) = "0x000000";
7800         MY(color_max) = "0x204010";
7801         MY(count) = 1;
7802         MY(size_min) = 6;
7803         MY(size_max) = 12;
7804         MY(tex_max) = 8;
7805         MY(type) = "alphastatic";
7806 }
7807
7808 // rifle damage effect, robot blood
7809 DEF(damage_rifle_robot);
7810 SUB(damage_rifle_robot) {
7811         MY(airfriction) = 1;
7812         MY(alpha_min) = 256;
7813         MY(alpha_max) = 256;
7814         MY(alpha_fade) = 64;
7815         MY(bounce) = -1;
7816         MY(color_min) = "0xC0D890";
7817         MY(color_max) = "0xC0D890";
7818         MY(count) = 0.300000;
7819         MY(liquidfriction) = 4;
7820         MY(size_min) = 2;
7821         MY(size_max) = 4;
7822         MY(staincolor_min) = "0x808080";
7823         MY(staincolor_max) = "0x808080";
7824         MY(staintex_min) = 16;
7825         MY(staintex_max) = 24;
7826         MY(tex_min) = 24;
7827         MY(tex_max) = 32;
7828         MY(type) = "blood";
7829         MY(velocityjitter) = '32.0 32.0 32.0';
7830         MY(velocitymultiplier) = 5;
7831 }
7832 // blood mist
7833 SUB(damage_rifle_robot) {
7834         MY(alpha_min) = 100;
7835         MY(alpha_max) = 256;
7836         MY(alpha_fade) = 400;
7837         MY(color_min) = "0x000000";
7838         MY(color_max) = "0x301860";
7839         MY(count) = 1;
7840         MY(size_min) = 6;
7841         MY(size_max) = 12;
7842         MY(tex_max) = 8;
7843         MY(type) = "alphastatic";
7844 }
7845
7846 // seeker damage effect
7847 DEF(damage_seeker);
7848 SUB(damage_seeker) {
7849         MY(alpha_min) = 512;
7850         MY(alpha_max) = 32;
7851         MY(alpha_fade) = 1024;
7852         MY(color_min) = "0x8f0c00";
7853         MY(color_max) = "0xff2200";
7854         MY(count) = 3;
7855         MY(gravity) = -0.300000;
7856         MY(notunderwater) = true;
7857         MY(originjitter) = '2.0 2.0 2.0';
7858         MY(sizeincrease) = -10;
7859         MY(size_min) = 4;
7860         MY(size_max) = 8;
7861         MY(tex_min) = 48;
7862         MY(tex_max) = 55;
7863         MY(type) = "smoke";
7864         MY(velocityjitter) = '22.0 22.0 50.0';
7865 }
7866 // smoke
7867 SUB(damage_seeker) {
7868         MY(alpha_min) = 128;
7869         MY(alpha_max) = 32;
7870         MY(alpha_fade) = 128;
7871         MY(color_min) = "0x000000";
7872         MY(color_max) = "0x111111";
7873         MY(count) = 2;
7874         MY(gravity) = -0.300000;
7875         MY(notunderwater) = true;
7876         MY(originjitter) = '4.0 4.0 4.0';
7877         MY(sizeincrease) = 10;
7878         MY(size_min) = 2;
7879         MY(size_max) = 4;
7880         MY(tex_max) = 8;
7881         MY(type) = "alphastatic";
7882         MY(velocityjitter) = '11.0 11.0 50.0';
7883 }
7884
7885 // hagar damage effect
7886 DEF(damage_hagar);
7887 SUB(damage_hagar) {
7888         MY(alpha_min) = 512;
7889         MY(alpha_max) = 32;
7890         MY(alpha_fade) = 1024;
7891         MY(color_min) = "0x8f0c00";
7892         MY(color_max) = "0xff3a00";
7893         MY(count) = 3;
7894         MY(gravity) = -0.300000;
7895         MY(notunderwater) = true;
7896         MY(originjitter) = '2.0 2.0 2.0';
7897         MY(sizeincrease) = -10;
7898         MY(size_min) = 4;
7899         MY(size_max) = 8;
7900         MY(tex_min) = 48;
7901         MY(tex_max) = 55;
7902         MY(type) = "smoke";
7903         MY(velocityjitter) = '22.0 22.0 50.0';
7904 }
7905 // smoke
7906 SUB(damage_hagar) {
7907         MY(alpha_min) = 128;
7908         MY(alpha_max) = 32;
7909         MY(alpha_fade) = 128;
7910         MY(color_min) = "0x000000";
7911         MY(color_max) = "0x111111";
7912         MY(count) = 2;
7913         MY(gravity) = -0.300000;
7914         MY(notunderwater) = true;
7915         MY(originjitter) = '4.0 4.0 4.0';
7916         MY(sizeincrease) = 10;
7917         MY(size_min) = 2;
7918         MY(size_max) = 4;
7919         MY(tex_max) = 8;
7920         MY(type) = "alphastatic";
7921         MY(velocityjitter) = '11.0 11.0 50.0';
7922 }
7923
7924 // fireball damage effect
7925 DEF(damage_fireball);
7926 SUB(damage_fireball) {
7927         MY(alpha_min) = 256;
7928         MY(alpha_max) = 16;
7929         MY(alpha_fade) = 512;
7930         MY(color_min) = "0x8f0d00";
7931         MY(color_max) = "0xff5a00";
7932         MY(count) = 4;
7933         MY(gravity) = -0.500000;
7934         MY(notunderwater) = true;
7935         MY(originjitter) = '8.0 8.0 8.0';
7936         MY(sizeincrease) = -10;
7937         MY(size_min) = 5;
7938         MY(size_max) = 10;
7939         MY(tex_min) = 48;
7940         MY(tex_max) = 55;
7941         MY(type) = "smoke";
7942         MY(velocityjitter) = '22.0 22.0 50.0';
7943 }
7944 // smoke
7945 SUB(damage_fireball) {
7946         MY(alpha_min) = 128;
7947         MY(alpha_max) = 32;
7948         MY(alpha_fade) = 128;
7949         MY(color_min) = "0x000000";
7950         MY(color_max) = "0x111111";
7951         MY(count) = 4;
7952         MY(gravity) = -0.300000;
7953         MY(notunderwater) = true;
7954         MY(originjitter) = '6.0 6.0 6.0';
7955         MY(sizeincrease) = 10;
7956         MY(size_min) = 4;
7957         MY(size_max) = 8;
7958         MY(tex_max) = 8;
7959         MY(type) = "alphastatic";
7960         MY(velocityjitter) = '11.0 11.0 50.0';
7961 }
7962
7963 // rocketlauncher damage effect
7964 DEF(damage_rocketlauncher);
7965 SUB(damage_rocketlauncher) {
7966         MY(alpha_min) = 512;
7967         MY(alpha_max) = 64;
7968         MY(alpha_fade) = 1024;
7969         MY(color_min) = "0x8f0c00";
7970         MY(color_max) = "0xff2a00";
7971         MY(count) = 3;
7972         MY(gravity) = -0.700000;
7973         MY(notunderwater) = true;
7974         MY(originjitter) = '4.0 4.0 4.0';
7975         MY(sizeincrease) = -10;
7976         MY(size_min) = 5;
7977         MY(size_max) = 10;
7978         MY(tex_min) = 48;
7979         MY(tex_max) = 55;
7980         MY(type) = "smoke";
7981         MY(velocityjitter) = '22.0 22.0 30.0';
7982 }
7983 // smoke
7984 SUB(damage_rocketlauncher) {
7985         MY(alpha_min) = 128;
7986         MY(alpha_max) = 32;
7987         MY(alpha_fade) = 128;
7988         MY(color_min) = "0x000000";
7989         MY(color_max) = "0x111111";
7990         MY(count) = 3;
7991         MY(gravity) = -0.300000;
7992         MY(notunderwater) = true;
7993         MY(originjitter) = '4.0 4.0 4.0';
7994         MY(sizeincrease) = 10;
7995         MY(size_min) = 4;
7996         MY(size_max) = 8;
7997         MY(tex_max) = 8;
7998         MY(type) = "alphastatic";
7999         MY(velocityjitter) = '11.0 11.0 50.0';
8000 }
8001
8002 // fireflies
8003 DEF(fireflies);
8004 SUB(fireflies) {
8005         MY(airfriction) = 5;
8006         MY(alpha_min) = 256;
8007         MY(alpha_max) = 256;
8008         MY(alpha_fade) = 70;
8009         MY(bounce) = -1;
8010         MY(color_min) = "0xff9600";
8011         MY(color_max) = "0xffefb8";
8012         MY(count) = 1;
8013         MY(originjitter) = '32.0 32.0 32.0';
8014         MY(originoffset) = '8.0 8.0 8.0';
8015         MY(sizeincrease) = -0.300000;
8016         MY(size_min) = 2;
8017         MY(size_max) = 3;
8018         MY(tex_min) = 38;
8019         MY(tex_max) = 38;
8020         MY(time_min) = 1;
8021         MY(time_max) = 2;
8022         MY(type) = "static";
8023         MY(velocityjitter) = '64.0 64.0 64.0';
8024         MY(velocityoffset) = '2.0 2.0 2.0';
8025 }
8026
8027 DEF(healray_muzzleflash);
8028 SUB(healray_muzzleflash) {
8029         MY(alpha_min) = 256;
8030         MY(alpha_max) = 256;
8031         MY(alpha_fade) = 512;
8032         MY(color_min) = "0x283880";
8033         MY(color_max) = "0x283880";
8034         MY(countabsolute) = 1;
8035         MY(lightcolor) = '1.5 3.0 6.0';
8036         MY(lightradiusfade) = 2000;
8037         MY(lightradius) = 200;
8038         MY(originjitter) = '1.5 1.5 1.5';
8039         MY(sizeincrease) = -10;
8040         MY(size_min) = 20;
8041         MY(size_max) = 20;
8042         MY(tex_min) = 65;
8043         MY(tex_max) = 65;
8044         MY(type) = "smoke";
8045         MY(velocityjitter) = '6.0 6.0 6.0';
8046         MY(velocitymultiplier) = 0.010000;
8047 }
8048 SUB(healray_muzzleflash) {
8049         MY(airfriction) = 5;
8050         MY(alpha_min) = 50;
8051         MY(alpha_max) = 150;
8052         MY(alpha_fade) = 1924;
8053         MY(color_min) = "0xD9FDFF";
8054         MY(color_max) = "0x00f0ff";
8055         MY(count) = 22;
8056         MY(originjitter) = '1.0 1.0 1.0';
8057         MY(sizeincrease) = 3;
8058         MY(size_min) = 1;
8059         MY(size_max) = 15;
8060         MY(stretchfactor) = 3.900000;
8061         MY(tex_min) = 71;
8062         MY(tex_max) = 73;
8063         MY(type) = "spark";
8064         MY(velocityjitter) = '150.0 150.0 150.0';
8065         MY(velocitymultiplier) = 0.400000;
8066 }
8067 SUB(healray_muzzleflash) {
8068         MY(alpha_min) = 110;
8069         MY(alpha_max) = 228;
8070         MY(alpha_fade) = 4024;
8071         MY(color_min) = "0xD9FDFF";
8072         MY(color_max) = "0x00f0ff";
8073         MY(count) = 4;
8074         MY(originjitter) = '1.0 1.0 1.0';
8075         MY(size_min) = 1;
8076         MY(size_max) = 1;
8077         MY(stretchfactor) = 0.200000;
8078         MY(tex_min) = 70;
8079         MY(tex_max) = 70;
8080         MY(type) = "spark";
8081         MY(velocityjitter) = '650.0 650.0 650.0';
8082         MY(velocitymultiplier) = 1.100000;
8083 }
8084
8085 DEF(healray_impact);
8086 SUB(healray_impact) {
8087         MY(alpha_min) = 256;
8088         MY(alpha_max) = 256;
8089         MY(color_min) = "0xd800ff";
8090         MY(color_max) = "0xd800ff";
8091         MY(countabsolute) = 1;
8092         MY(lightcolor) = '0.0 4.4 0.0';
8093         MY(lightradiusfade) = 450;
8094         MY(lightradius) = 125;
8095         MY(originjitter) = '17.0 17.0 17.0';
8096         MY(size_min) = 32;
8097         MY(size_max) = 32;
8098         MY(tex_min) = 59;
8099         MY(tex_max) = 59;
8100         MY(type) = "decal";
8101 }
8102 // shockwave
8103 SUB(healray_impact) {
8104         MY(alpha_min) = 40;
8105         MY(alpha_max) = 40;
8106         MY(alpha_fade) = 350;
8107         MY(color_min) = "0x00ff00";
8108         MY(color_max) = "0x84c52f";
8109         MY(countabsolute) = 1;
8110         MY(sizeincrease) = 1400;
8111         MY(size_min) = 32;
8112         MY(size_max) = 32;
8113         MY(tex_min) = 33;
8114         MY(tex_max) = 33;
8115         MY(type) = "smoke";
8116         MY(velocitymultiplier) = 44;
8117 }
8118 // cloud of bouncing sparks
8119 SUB(healray_impact) {
8120         MY(airfriction) = 6;
8121         MY(alpha_min) = 156;
8122         MY(alpha_max) = 300;
8123         MY(alpha_fade) = 1024;
8124         MY(color_min) = "0x00ff00";
8125         MY(color_max) = "0x84c52f";
8126         MY(count) = 30;
8127         MY(gravity) = 2;
8128         MY(originjitter) = '1.0 1.0 1.0';
8129         MY(size_min) = 1;
8130         MY(size_max) = 2;
8131         MY(tex_min) = 70;
8132         MY(tex_max) = 70;
8133         MY(type) = "spark";
8134         MY(velocityjitter) = '1112.0 1112.0 1112.0';
8135 }
8136 // inner cloud of smoke
8137 SUB(healray_impact) {
8138         MY(airfriction) = 3;
8139         MY(alpha_min) = 200;
8140         MY(alpha_max) = 456;
8141         MY(alpha_fade) = 512;
8142         MY(color_min) = "0x00ff00";
8143         MY(color_max) = "0x84c52f";
8144         MY(count) = 15;
8145         MY(gravity) = -2;
8146         MY(startangle_min) = -180;
8147         MY(startangle_max) = 180;
8148         MY(spin_min) = -90;
8149         MY(spin_max) = 90;
8150         MY(size_min) = 2;
8151         MY(size_max) = 3;
8152         MY(tex_min) = 40;
8153         MY(tex_max) = 40;
8154         MY(type) = "smoke";
8155         MY(velocityjitter) = '120.0 120.0 420.0';
8156 }
8157
8158 DEF(bigplasma_muzzleflash);
8159 SUB(bigplasma_muzzleflash) {
8160         MY(alpha_min) = 256;
8161         MY(alpha_max) = 256;
8162         MY(alpha_fade) = 812;
8163         MY(color_min) = "0x283880";
8164         MY(color_max) = "0x283880";
8165         MY(countabsolute) = 1;
8166         MY(lightcolor) = '1.5 3.0 6.0';
8167         MY(lightradiusfade) = 2000;
8168         MY(lightradius) = 200;
8169         MY(originjitter) = '1.5 1.5 1.5';
8170         MY(sizeincrease) = -10;
8171         MY(size_min) = 50;
8172         MY(size_max) = 50;
8173         MY(tex_min) = 65;
8174         MY(tex_max) = 65;
8175         MY(type) = "smoke";
8176         MY(velocityjitter) = '6.0 6.0 6.0';
8177         MY(velocitymultiplier) = 0.010000;
8178 }
8179 SUB(bigplasma_muzzleflash) {
8180         MY(alpha_min) = 56;
8181         MY(alpha_max) = 56;
8182         MY(alpha_fade) = 1112;
8183         MY(color_min) = "0x00f0ff";
8184         MY(color_max) = "0x00f0ff";
8185         MY(countabsolute) = 1;
8186         MY(sizeincrease) = 300;
8187         MY(size_min) = 20;
8188         MY(size_max) = 20;
8189         MY(tex_min) = 74;
8190         MY(tex_max) = 74;
8191         MY(type) = "smoke";
8192 }
8193 SUB(bigplasma_muzzleflash) {
8194         MY(airfriction) = 5;
8195         MY(alpha_min) = 50;
8196         MY(alpha_max) = 150;
8197         MY(alpha_fade) = 1924;
8198         MY(color_min) = "0xD9FDFF";
8199         MY(color_max) = "0x00f0ff";
8200         MY(count) = 14;
8201         MY(originjitter) = '1.0 1.0 1.0';
8202         MY(sizeincrease) = 135;
8203         MY(size_min) = 5;
8204         MY(size_max) = 10;
8205         MY(stretchfactor) = 1.900000;
8206         MY(tex_min) = 51;
8207         MY(tex_max) = 55;
8208         MY(type) = "spark";
8209         MY(velocityjitter) = '350.0 350.0 350.0';
8210         MY(velocitymultiplier) = 0.400000;
8211 }
8212 SUB(bigplasma_muzzleflash) {
8213         MY(alpha_min) = 110;
8214         MY(alpha_max) = 228;
8215         MY(alpha_fade) = 4024;
8216         MY(color_min) = "0xD9FDFF";
8217         MY(color_max) = "0x00f0ff";
8218         MY(count) = 4;
8219         MY(originjitter) = '1.0 1.0 1.0';
8220         MY(size_min) = 20;
8221         MY(size_max) = 20;
8222         MY(stretchfactor) = 0.200000;
8223         MY(tex_min) = 70;
8224         MY(tex_max) = 70;
8225         MY(type) = "spark";
8226         MY(velocityjitter) = '650.0 650.0 650.0';
8227         MY(velocitymultiplier) = 1.100000;
8228 }
8229
8230 DEF(bigplasma_impact);
8231 SUB(bigplasma_impact) {
8232         MY(alpha_min) = 256;
8233         MY(alpha_max) = 256;
8234         MY(countabsolute) = 1;
8235         MY(lightcolor) = '3.1 4.4 10.0';
8236         MY(lightradiusfade) = 450;
8237         MY(lightradius) = 125;
8238         MY(originjitter) = '17.0 17.0 17.0';
8239         MY(size_min) = 32;
8240         MY(size_max) = 32;
8241         MY(tex_min) = 59;
8242         MY(tex_max) = 59;
8243         MY(type) = "decal";
8244 }
8245 // shockwave
8246 SUB(bigplasma_impact) {
8247         MY(alpha_min) = 40;
8248         MY(alpha_max) = 40;
8249         MY(alpha_fade) = 350;
8250         MY(color_min) = "0x80C0FF";
8251         MY(color_max) = "0x80C0FF";
8252         MY(countabsolute) = 1;
8253         MY(sizeincrease) = 1400;
8254         MY(size_min) = 32;
8255         MY(size_max) = 32;
8256         MY(tex_min) = 33;
8257         MY(tex_max) = 33;
8258         MY(type) = "smoke";
8259         MY(velocitymultiplier) = 44;
8260 }
8261 // cloud of bouncing sparks
8262 SUB(bigplasma_impact) {
8263         MY(airfriction) = 6;
8264         MY(alpha_min) = 156;
8265         MY(alpha_max) = 300;
8266         MY(alpha_fade) = 1024;
8267         MY(color_min) = "0x629dff";
8268         MY(color_max) = "0x0018ff";
8269         MY(count) = 30;
8270         MY(gravity) = 2;
8271         MY(originjitter) = '1.0 1.0 1.0';
8272         MY(size_min) = 1;
8273         MY(size_max) = 2;
8274         MY(tex_min) = 70;
8275         MY(tex_max) = 70;
8276         MY(type) = "spark";
8277         MY(velocityjitter) = '1512.0 1512.0 1512.0';
8278 }
8279 // inner cloud of smoke
8280 SUB(bigplasma_impact) {
8281         MY(airfriction) = 30;
8282         MY(alpha_min) = 200;
8283         MY(alpha_max) = 456;
8284         MY(alpha_fade) = 1512;
8285         MY(color_min) = "0x629dff";
8286         MY(color_max) = "0x0018ff";
8287         MY(count) = 15;
8288         MY(originjitter) = '20.0 20.0 20.0';
8289         MY(startangle_min) = -180;
8290         MY(startangle_max) = 180;
8291         MY(spin_min) = -9;
8292         MY(spin_max) = 9;
8293         MY(sizeincrease) = 555;
8294         MY(size_min) = 20;
8295         MY(size_max) = 24;
8296         MY(tex_min) = 48;
8297         MY(tex_max) = 55;
8298         MY(type) = "smoke";
8299         MY(velocityjitter) = '320.0 320.0 320.0';
8300 }
8301 // smoke
8302 SUB(bigplasma_impact) {
8303         MY(airfriction) = 0.040000;
8304         MY(alpha_min) = 128;
8305         MY(alpha_max) = 328;
8306         MY(alpha_fade) = 390;
8307         MY(blend) = "alpha";
8308         MY(color_min) = "0x222222";
8309         MY(color_max) = "0x000000";
8310         MY(count) = 16;
8311         MY(gravity) = 0.400000;
8312         MY(originjitter) = '80.0 80.0 10.0';
8313         MY(startangle_min) = -180;
8314         MY(startangle_max) = 180;
8315         MY(spin_min) = 2;
8316         MY(spin_max) = -2;
8317         MY(sizeincrease) = 30;
8318         MY(size_min) = 60;
8319         MY(size_max) = 30;
8320         MY(tex_max) = 7;
8321         MY(type) = "smoke";
8322         MY(velocityjitter) = '100.0 100.0 200.0';
8323         MY(velocityoffset) = '0.0 0.0 180.0';
8324 }
8325 // smoke in the middle
8326 SUB(bigplasma_impact) {
8327         MY(airfriction) = 0.040000;
8328         MY(alpha_min) = 128;
8329         MY(alpha_max) = 328;
8330         MY(alpha_fade) = 310;
8331         MY(color_min) = "0x222222";
8332         MY(color_max) = "0x000000";
8333         MY(count) = 10;
8334         MY(gravity) = -0.200000;
8335         MY(originjitter) = '80.0 80.0 80.0';
8336         MY(startangle_min) = -180;
8337         MY(startangle_max) = 180;
8338         MY(spin_min) = 20;
8339         MY(spin_max) = -20;
8340         MY(sizeincrease) = -10;
8341         MY(size_min) = 60;
8342         MY(size_max) = 70;
8343         MY(tex_max) = 7;
8344         MY(type) = "alphastatic";
8345         MY(velocityjitter) = '10.0 10.0 10.0';
8346 }
8347
8348 #include "effectinfo_ctf.inc"
8349
8350 // spawn_point -- team idle spawn point effect
8351 #define spawn_point(name, color) \
8352         DEF(spawn_point_##name); \
8353         SUB(spawn_point_##name) { \
8354                 MY(airfriction) = 0.200000; \
8355                 MY(alpha_min) = 64; \
8356                 MY(alpha_max) = 128; \
8357                 MY(alpha_fade) = 128; \
8358                 MY(color_min) = color; \
8359                 MY(color_max) = color; \
8360                 MY(count) = 37.500000; \
8361                 MY(gravity) = -0.100000; \
8362                 MY(liquidfriction) = 0.800000; \
8363                 MY(originjitter) = '16.0 16.0 64.0'; \
8364                 MY(size_min) = 1; \
8365                 MY(size_max) = 2; \
8366                 MY(type) = "static"; \
8367                 MY(velocityjitter) = '32.0 32.0 0.0'; \
8368         }
8369
8370 spawn_point(red,                "0xFF0F0F")
8371 spawn_point(blue,               "0x0F0FFF")
8372 spawn_point(yellow,     "0xFFFF0F")
8373 spawn_point(pink,               "0xFF0FFF")
8374 spawn_point(neutral,    "0xFFFFFF")
8375 #undef spawn_point
8376
8377 // spawn_event -- team spawning effect
8378 #define spawn_event(name, color) \
8379         DEF(spawn_event_##name); \
8380         SUB(spawn_event_##name) { \
8381                 MY(airfriction) = 2; \
8382                 MY(alpha_max) = 256; \
8383                 MY(alpha_fade) = 256; \
8384                 MY(bounce) = 1; \
8385                 MY(color_min) = color; \
8386                 MY(color_max) = color; \
8387                 MY(count) = 100; \
8388                 MY(originjitter) = '1.0 1.0 1.0'; \
8389                 MY(size_min) = 1; \
8390                 MY(size_max) = 1; \
8391                 MY(stretchfactor) = 0.600000; \
8392                 MY(tex_min) = 64; \
8393                 MY(tex_max) = 64; \
8394                 MY(type) = "spark"; \
8395                 MY(velocityjitter) = '500.0 500.0 500.0'; \
8396                 MY(velocitymultiplier) = 0.100000; \
8397         } \
8398         SUB(spawn_event_##name) { \
8399                 MY(alpha_min) = 190; \
8400                 MY(alpha_max) = 190; \
8401                 MY(alpha_fade) = 180; \
8402                 MY(color_min) = color; \
8403                 MY(color_max) = color; \
8404                 MY(countabsolute) = 1; \
8405                 MY(sizeincrease) = -80; \
8406                 MY(size_min) = 100; \
8407                 MY(size_max) = 100; \
8408                 MY(tex_min) = 65; \
8409                 MY(tex_max) = 65; \
8410                 MY(type) = "smoke"; \
8411         } \
8412         /**/
8413
8414 spawn_event(red,                "0xFF0F0F")
8415 spawn_event(blue,               "0x0F0FFF")
8416 spawn_event(yellow,     "0xFFFF0F")
8417 spawn_event(pink,               "0xFF0FFF")
8418 spawn_event(neutral,    "0xFFFFFF")
8419 #undef spawn_event
8420
8421 #include "effectinfo_nades.inc"
8422
8423 DEF(shockwave_attack);
8424 // electricity
8425 SUB(shockwave_attack) {
8426         MY(airfriction) = 1;
8427         MY(alpha_min) = 4096;
8428         MY(alpha_max) = 4096;
8429         MY(alpha_fade) = 20000;
8430         MY(color_min) = "0xb44215";
8431         MY(color_max) = "0xff0000";
8432         MY(count) = 1;
8433         MY(originjitter) = '2.0 2.0 2.0';
8434         MY(startangle_min) = -180;
8435         MY(startangle_max) = 180;
8436         MY(spin_min) = 4000;
8437         MY(spin_max) = -4000;
8438         MY(sizeincrease) = 1.500000;
8439         MY(size_min) = 5;
8440         MY(size_max) = 7;
8441         MY(stretchfactor) = 2.300000;
8442         MY(tex_min) = 43;
8443         MY(tex_max) = 43;
8444         MY(type) = "spark";
8445         MY(velocityjitter) = '10.0 10.0 10.0';
8446         MY(velocitymultiplier) = 10;
8447 }
8448 // fire
8449 SUB(shockwave_attack) {
8450         MY(airfriction) = 1;
8451         MY(alpha_min) = 4096;
8452         MY(alpha_max) = 4096;
8453         MY(alpha_fade) = 20000;
8454         MY(color_min) = "0xff4200";
8455         MY(color_max) = "0xff0000";
8456         MY(count) = 1;
8457         MY(originjitter) = '2.0 2.0 2.0';
8458         MY(sizeincrease) = 1.500000;
8459         MY(size_min) = 7;
8460         MY(size_max) = 9;
8461         MY(stretchfactor) = 2;
8462         MY(tex_min) = 8;
8463         MY(tex_max) = 15;
8464         MY(type) = "spark";
8465         MY(velocityjitter) = '10.0 10.0 10.0';
8466         MY(velocitymultiplier) = 10;
8467 }
8468
8469 DEF(arc_lightning);
8470 // impact decal
8471 SUB(arc_lightning) {
8472         MY(alpha_min) = 32;
8473         MY(alpha_max) = 32;
8474         MY(countabsolute) = 1;
8475         MY(lightcolor) = '3.1 4.4 10.0';
8476         MY(lightradiusfade) = 200;
8477         MY(lightradius) = 50;
8478         MY(originjitter) = '2.0 2.0 2.0';
8479         MY(size_min) = 16;
8480         MY(size_max) = 16;
8481         MY(tex_min) = 16;
8482         MY(tex_max) = 32;
8483         MY(type) = "decal";
8484 }
8485 // impact sparks
8486 SUB(arc_lightning) {
8487         MY(airfriction) = 110;
8488         MY(alpha_min) = 256;
8489         MY(alpha_max) = 256;
8490         MY(alpha_fade) = 512;
8491         MY(color_min) = "0xDDFDFF";
8492         MY(color_max) = "0xFDFDFF";
8493         MY(count) = 100;
8494         MY(originjitter) = '20.0 20.0 20.0';
8495         MY(startangle_max) = 360;
8496         MY(spin_min) = -36000;
8497         MY(spin_max) = 36000;
8498         MY(sizeincrease) = -5;
8499         MY(size_max) = 5;
8500         MY(stretchfactor) = 1;
8501         MY(tex_min) = 71;
8502         MY(tex_max) = 74;
8503         MY(type) = "static";
8504         MY(velocityjitter) = '250.0 250.0 250.0';
8505         MY(velocitymultiplier) = 100;
8506 }
8507 // impact sparks (underwater)
8508 SUB(arc_lightning) {
8509         MY(airfriction) = 5;
8510         MY(alpha_min) = 256;
8511         MY(alpha_max) = 256;
8512         MY(alpha_fade) = 512;
8513         MY(color_min) = "0xDDFDFF";
8514         MY(color_max) = "0xFDFDFF";
8515         MY(count) = 100;
8516         MY(liquidfriction) = 5;
8517         MY(orientation) = "spark";
8518         MY(originjitter) = '20.0 20.0 20.0';
8519         MY(startangle_max) = 360;
8520         MY(spin_min) = -36000;
8521         MY(spin_max) = 36000;
8522         MY(sizeincrease) = -5;
8523         MY(size_max) = 5;
8524         MY(stretchfactor) = 1;
8525         MY(tex_min) = 71;
8526         MY(tex_max) = 74;
8527         MY(type) = "static";
8528         MY(underwater) = true;
8529         MY(velocityjitter) = '250.0 250.0 250.0';
8530         MY(velocitymultiplier) = 20;
8531 }
8532 // impact smoke
8533 SUB(arc_lightning) {
8534         MY(alpha_min) = 40;
8535         MY(alpha_max) = 40;
8536         MY(alpha_fade) = 350;
8537         MY(color_min) = "0x80C0FF";
8538         MY(color_max) = "0x80C0FF";
8539         MY(countabsolute) = 1;
8540         MY(sizeincrease) = 400;
8541         MY(size_min) = 4;
8542         MY(size_max) = 4;
8543         MY(tex_min) = 38;
8544         MY(tex_max) = 38;
8545         MY(type) = "smoke";
8546         MY(velocitymultiplier) = 100;
8547 }
8548
8549 DEF(arc_beam);
8550 // sparks on beam
8551 SUB(arc_beam) {
8552         MY(airfriction) = -10;
8553         MY(alpha_min) = 256;
8554         MY(alpha_max) = 256;
8555         MY(alpha_fade) = 16384;
8556         MY(color_min) = "0xfafad2";
8557         MY(color_max) = "0xffffff";
8558         MY(originjitter) = '3.0 3.0 3.0';
8559         MY(relativeoriginoffset) = '10.0 0.0 0.0';
8560         MY(startangle_max) = 360;
8561         MY(spin_min) = 360;
8562         MY(spin_max) = 1000;
8563         MY(stretchfactor) = 1;
8564         MY(tex_min) = 71;
8565         MY(tex_max) = 74;
8566         MY(time_min) = 0.050000;
8567         MY(time_max) = 0.050000;
8568         MY(trailspacing) = 10;
8569         MY(type) = "spark";
8570         MY(velocityjitter) = '100.0 100.0 100.0';
8571         MY(velocitymultiplier) = 200;
8572 }
8573 // sparks on beam (underwater)
8574 SUB(arc_beam) {
8575         MY(alpha_min) = 256;
8576         MY(alpha_max) = 256;
8577         MY(alpha_fade) = 16384;
8578         MY(color_min) = "0xfafad2";
8579         MY(color_max) = "0xffffff";
8580         MY(liquidfriction) = -10;
8581         MY(originjitter) = '30.0 30.0 30.0';
8582         MY(relativeoriginoffset) = '10.0 0.0 0.0';
8583         MY(startangle_max) = 360;
8584         MY(spin_min) = 360;
8585         MY(spin_max) = 1000;
8586         MY(stretchfactor) = 1;
8587         MY(tex_min) = 71;
8588         MY(tex_max) = 74;
8589         MY(time_min) = 0.001000;
8590         MY(time_max) = 0.001000;
8591         MY(trailspacing) = 10;
8592         MY(type) = "spark";
8593         MY(underwater) = true;
8594         MY(velocityjitter) = '100.0 100.0 100.0';
8595         MY(velocitymultiplier) = 200;
8596 }
8597
8598 DEF(arc_beam_heal);
8599 // bubble this...
8600 SUB(arc_beam_heal) {
8601         MY(airfriction) = -20;
8602         MY(alpha_min) = 2048;
8603         MY(alpha_max) = 2048;
8604         MY(alpha_fade) = 256;
8605         MY(color_min) = "0x20FF20";
8606         MY(color_max) = "0x40FF40";
8607         MY(relativeoriginoffset) = '5.0 0.0 0.0';
8608         MY(relativevelocityoffset) = '100.0 0.0 0.0';
8609         MY(sizeincrease) = 20;
8610         MY(size_min) = 0.100000;
8611         MY(size_max) = 0.100000;
8612         MY(tex_min) = 74;
8613         MY(tex_max) = 74;
8614         MY(trailspacing) = 1500;
8615         MY(type) = "smoke";
8616         MY(velocityjitter) = '3.0 3.0 3.0';
8617         MY(velocitymultiplier) = 200;
8618 }
8619
8620 DEF(arc_beam_healimpact);
8621 // healing "aura"
8622 SUB(arc_beam_healimpact) {
8623         MY(alpha_min) = 40;
8624         MY(alpha_max) = 40;
8625         MY(alpha_fade) = 350;
8626         MY(color_min) = "0x00ff00";
8627         MY(color_max) = "0x84c52f";
8628         MY(countabsolute) = 1;
8629         MY(lightcolor) = '0.0 4.4 0.0';
8630         MY(lightradiusfade) = 150;
8631         MY(lightradius) = 20;
8632         MY(sizeincrease) = -1000;
8633         MY(size_min) = 32;
8634         MY(size_max) = 32;
8635         MY(tex_min) = 33;
8636         MY(tex_max) = 33;
8637         MY(type) = "smoke";
8638         MY(velocitymultiplier) = 44;
8639 }
8640 // rising "smoke"
8641 SUB(arc_beam_healimpact) {
8642         MY(airfriction) = 3;
8643         MY(alpha_min) = 200;
8644         MY(alpha_max) = 456;
8645         MY(alpha_fade) = 512;
8646         MY(color_min) = "0x00ff00";
8647         MY(color_max) = "0x84c52f";
8648         MY(count) = 15;
8649         MY(gravity) = -2;
8650         MY(startangle_min) = -180;
8651         MY(startangle_max) = 180;
8652         MY(spin_min) = -90;
8653         MY(spin_max) = 90;
8654         MY(size_min) = 0.500000;
8655         MY(size_max) = 1;
8656         MY(tex_min) = 40;
8657         MY(tex_max) = 40;
8658         MY(type) = "smoke";
8659         MY(velocityjitter) = '120.0 120.0 420.0';
8660 }
8661
8662 DEF(arc_smoke);
8663 // arc heat smoke  (notunderwater)
8664 SUB(arc_smoke) {
8665         MY(airfriction) = 1;
8666         MY(alpha_min) = 32;
8667         MY(alpha_max) = 64;
8668         MY(alpha_fade) = 48;
8669         MY(color_min) = "0x4c453f";
8670         MY(color_max) = "0x2a241f";
8671         MY(count) = 2;
8672         MY(gravity) = -0.125000;
8673         MY(notunderwater) = true;
8674         MY(startangle_max) = 360;
8675         MY(spin_min) = -180;
8676         MY(spin_max) = 180;
8677         MY(sizeincrease) = 10;
8678         MY(size_min) = 5;
8679         MY(size_max) = 10;
8680         MY(tex_max) = 8;
8681         MY(type) = "smoke";
8682         MY(velocityjitter) = '0.0 0.0 16.0';
8683 }
8684 // arc heat bubbles  (underwater)
8685 SUB(arc_smoke) {
8686         MY(alpha_min) = 170;
8687         MY(alpha_max) = 256;
8688         MY(alpha_fade) = 64;
8689         MY(bounce) = 1.500000;
8690         MY(color_min) = "0x404040";
8691         MY(color_max) = "0x808080";
8692         MY(count) = 2;
8693         MY(gravity) = -0.125000;
8694         MY(liquidfriction) = 0.250000;
8695         MY(originjitter) = '6.0 6.0 6.0';
8696         MY(size_min) = 0.100000;
8697         MY(size_max) = 1;
8698         MY(tex_min) = 62;
8699         MY(tex_max) = 62;
8700         MY(type) = "bubble";
8701         MY(underwater) = true;
8702         MY(velocityjitter) = '16.0 16.0 16.0';
8703 }
8704
8705 DEF(arc_overheat);
8706 // arc overheat electric bolts
8707 SUB(arc_overheat) {
8708         MY(airfriction) = 5;
8709         MY(alpha_min) = 128;
8710         MY(alpha_max) = 128;
8711         MY(alpha_fade) = 292;
8712         MY(color_min) = "0xffffff";
8713         MY(color_max) = "0x9271fb";
8714         MY(count) = 24;
8715         MY(gravity) = -0.400000;
8716         MY(liquidfriction) = 10;
8717         MY(originjitter) = '10.0 10.0 10.0';
8718         MY(sizeincrease) = -24;
8719         MY(size_min) = 6;
8720         MY(size_max) = 12;
8721         MY(tex_min) = 43;
8722         MY(tex_max) = 43;
8723         MY(type) = "spark";
8724         MY(velocityjitter) = '256.0 256.0 256.0';
8725 }
8726
8727 DEF(arc_overheat_fire);
8728 // arc overheat bouncing sparks
8729 SUB(arc_overheat_fire) {
8730         MY(alpha_max) = 256;
8731         MY(alpha_fade) = 640;
8732         MY(bounce) = 1.500000;
8733         MY(color_min) = "0x4444ff";
8734         MY(color_max) = "0xeeeeff";
8735         MY(count) = 1;
8736         MY(gravity) = 1;
8737         MY(liquidfriction) = 5;
8738         MY(originjitter) = '6.0 6.0 6.0';
8739         MY(size_min) = 0.400000;
8740         MY(size_max) = 1;
8741         MY(type) = "spark";
8742         MY(velocityjitter) = '92.0 92.0 92.0';
8743         MY(velocitymultiplier) = 80;
8744         MY(velocityoffset) = '0.0 0.0 80.0';
8745 }
8746
8747 #include "effectinfo_buffs.inc"
8748
8749 #include "effectinfo_instagib.inc"
8750
8751 DEF(arc_muzzleflash);
8752 SUB(arc_muzzleflash) {
8753         MY(alpha_min) = 256;
8754         MY(alpha_max) = 256;
8755         MY(alpha_fade) = 512;
8756         MY(color_min) = "0x00ff00";
8757         MY(color_max) = "0x8f4333";
8758         MY(count) = 2;
8759         MY(lightcolor) = '0.3 2.0 0.2';
8760         MY(lightradiusfade) = 2000;
8761         MY(lightradius) = 200;
8762         MY(originjitter) = '1.5 1.5 1.5';
8763         MY(size_min) = 5;
8764         MY(size_max) = 5;
8765         MY(tex_max) = 8;
8766         MY(type) = "smoke";
8767         MY(velocityjitter) = '6.0 6.0 6.0';
8768         MY(velocitymultiplier) = 0.010000;
8769 }
8770 SUB(arc_muzzleflash) {
8771         MY(airfriction) = 12;
8772         MY(alpha_max) = 128;
8773         MY(alpha_fade) = 1024;
8774         MY(color_min) = "0x00ff00";
8775         MY(color_max) = "0x8f4333";
8776         MY(count) = 15;
8777         MY(originjitter) = '1.0 1.0 1.0';
8778         MY(startangle_min) = -180;
8779         MY(startangle_max) = 180;
8780         MY(spin_min) = -400;
8781         MY(spin_max) = 400;
8782         MY(size_min) = 5;
8783         MY(size_max) = 10;
8784         MY(stretchfactor) = 2;
8785         MY(tex_min) = 48;
8786         MY(tex_max) = 55;
8787         MY(type) = "spark";
8788         MY(velocityjitter) = '200.0 200.0 200.0';
8789         MY(velocitymultiplier) = 0.500000;
8790 }
8791
8792 DEF(arc_bolt_explode);
8793 // decal
8794 SUB(arc_bolt_explode) {
8795         MY(alpha_min) = 256;
8796         MY(alpha_max) = 256;
8797         MY(countabsolute) = 1;
8798         MY(lightcolor) = '8.0 4.0 1.0';
8799         MY(lightradiusfade) = 400;
8800         MY(lightradius) = 120;
8801         MY(originjitter) = '14.0 14.0 14.0';
8802         MY(size_min) = 28;
8803         MY(size_max) = 38;
8804         MY(tex_min) = 8;
8805         MY(tex_max) = 16;
8806         MY(type) = "decal";
8807 }
8808 // fire effect which make bright dot inside
8809 SUB(arc_bolt_explode) {
8810         MY(airfriction) = 8;
8811         MY(alpha_min) = 80;
8812         MY(alpha_max) = 200;
8813         MY(alpha_fade) = 356;
8814         MY(bounce) = 1.500000;
8815         MY(color_min) = "0x00ffff";
8816         MY(color_max) = "0x00ffff";
8817         MY(count) = 3.500000;
8818         MY(liquidfriction) = 8;
8819         MY(notunderwater) = true;
8820         MY(originjitter) = '8.0 8.0 8.0';
8821         MY(sizeincrease) = 5;
8822         MY(size_min) = 16;
8823         MY(size_max) = 26;
8824         MY(tex_min) = 48;
8825         MY(tex_max) = 55;
8826         MY(type) = "smoke";
8827         MY(velocityjitter) = '156.0 156.0 156.0';
8828 }
8829 // fire effect which expands then slows
8830 SUB(arc_bolt_explode) {
8831         MY(airfriction) = 12;
8832         MY(alpha_min) = 128;
8833         MY(alpha_max) = 256;
8834         MY(alpha_fade) = 456;
8835         MY(bounce) = 1.500000;
8836         MY(color_min) = "0x00ff00";
8837         MY(color_max) = "0x8f4333";
8838         MY(count) = 12;
8839         MY(liquidfriction) = 8;
8840         MY(notunderwater) = true;
8841         MY(originjitter) = '8.0 8.0 8.0';
8842         MY(sizeincrease) = 15;
8843         MY(size_min) = 20;
8844         MY(size_max) = 26;
8845         MY(tex_min) = 48;
8846         MY(tex_max) = 55;
8847         MY(type) = "static";
8848         MY(velocityjitter) = '286.0 286.0 286.0';
8849 }
8850 // underwater bubbles
8851 SUB(arc_bolt_explode) {
8852         MY(alpha_min) = 128;
8853         MY(alpha_max) = 256;
8854         MY(alpha_fade) = 64;
8855         MY(bounce) = 1.500000;
8856         MY(color_min) = "0x404040";
8857         MY(color_max) = "0x808080";
8858         MY(count) = 16;
8859         MY(gravity) = -0.125000;
8860         MY(liquidfriction) = 0.250000;
8861         MY(originjitter) = '16.0 16.0 16.0';
8862         MY(size_min) = 3;
8863         MY(size_max) = 3;
8864         MY(tex_min) = 62;
8865         MY(tex_max) = 62;
8866         MY(type) = "bubble";
8867         MY(underwater) = true;
8868         MY(velocityjitter) = '96.0 96.0 96.0';
8869 }
8870 // bouncing sparks
8871 SUB(arc_bolt_explode) {
8872         MY(airfriction) = 1;
8873         MY(alpha_min) = 644;
8874         MY(alpha_max) = 956;
8875         MY(alpha_fade) = 684;
8876         MY(bounce) = 1.600000;
8877         MY(color_min) = "0x00ff00";
8878         MY(color_max) = "0x8f4333";
8879         MY(count) = 16;
8880         MY(gravity) = 1;
8881         MY(liquidfriction) = 0.800000;
8882         MY(notunderwater) = true;
8883         MY(originjitter) = '16.0 16.0 16.0';
8884         MY(size_min) = 1;
8885         MY(size_max) = 0.100000;
8886         MY(tex_min) = 40;
8887         MY(tex_max) = 40;
8888         MY(type) = "spark";
8889         MY(velocityjitter) = '224.0 224.0 224.0';
8890         MY(velocityoffset) = '0.0 0.0 80.0';
8891 }