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