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