+
+DEF(arc_muzzleflash);
+SUB(arc_muzzleflash) {
+ MY(alpha_min) = 256;
+ MY(alpha_max) = 256;
+ MY(alpha_fade) = 512;
+ MY(color_min) = "0x00ff00";
+ MY(color_max) = "0x8f4333";
+ MY(count) = 2;
+ MY(lightcolor) = '0.3 2.0 0.2';
+ MY(lightradiusfade) = 2000;
+ MY(lightradius) = 200;
+ MY(originjitter) = '1.5 1.5 1.5';
+ MY(size_min) = 5;
+ MY(size_max) = 5;
+ MY(tex_max) = 8;
+ MY(type) = "smoke";
+ MY(velocityjitter) = '6.0 6.0 6.0';
+ MY(velocitymultiplier) = 0.010000;
+}
+SUB(arc_muzzleflash) {
+ MY(airfriction) = 12;
+ MY(alpha_max) = 128;
+ MY(alpha_fade) = 1024;
+ MY(color_min) = "0x00ff00";
+ MY(color_max) = "0x8f4333";
+ MY(count) = 15;
+ MY(originjitter) = '1.0 1.0 1.0';
+ MY(startangle_min) = -180;
+ MY(startangle_max) = 180;
+ MY(spin_min) = -400;
+ MY(spin_max) = 400;
+ MY(size_min) = 5;
+ MY(size_max) = 10;
+ MY(stretchfactor) = 2;
+ MY(tex_min) = 48;
+ MY(tex_max) = 55;
+ MY(type) = "spark";
+ MY(velocityjitter) = '200.0 200.0 200.0';
+ MY(velocitymultiplier) = 0.500000;
+}
+
+DEF(arc_bolt_explode);
+// decal
+SUB(arc_bolt_explode) {
+ MY(alpha_min) = 256;
+ MY(alpha_max) = 256;
+ MY(countabsolute) = 1;
+ MY(lightcolor) = '8.0 4.0 1.0';
+ MY(lightradiusfade) = 400;
+ MY(lightradius) = 120;
+ MY(originjitter) = '14.0 14.0 14.0';
+ MY(size_min) = 28;
+ MY(size_max) = 38;
+ MY(tex_min) = 8;
+ MY(tex_max) = 16;
+ MY(type) = "decal";
+}
+// fire effect which make bright dot inside
+SUB(arc_bolt_explode) {
+ MY(airfriction) = 8;
+ MY(alpha_min) = 80;
+ MY(alpha_max) = 200;
+ MY(alpha_fade) = 356;
+ MY(bounce) = 1.500000;
+ MY(color_min) = "0x00ffff";
+ MY(color_max) = "0x00ffff";
+ MY(count) = 3.500000;
+ MY(liquidfriction) = 8;
+ MY(notunderwater) = true;
+ MY(originjitter) = '8.0 8.0 8.0';
+ MY(sizeincrease) = 5;
+ MY(size_min) = 16;
+ MY(size_max) = 26;
+ MY(tex_min) = 48;
+ MY(tex_max) = 55;
+ MY(type) = "smoke";
+ MY(velocityjitter) = '156.0 156.0 156.0';
+}
+// fire effect which expands then slows
+SUB(arc_bolt_explode) {
+ MY(airfriction) = 12;
+ MY(alpha_min) = 128;
+ MY(alpha_max) = 256;
+ MY(alpha_fade) = 456;
+ MY(bounce) = 1.500000;
+ MY(color_min) = "0x00ff00";
+ MY(color_max) = "0x8f4333";
+ MY(count) = 12;
+ MY(liquidfriction) = 8;
+ MY(notunderwater) = true;
+ MY(originjitter) = '8.0 8.0 8.0';
+ MY(sizeincrease) = 15;
+ MY(size_min) = 20;
+ MY(size_max) = 26;
+ MY(tex_min) = 48;
+ MY(tex_max) = 55;
+ MY(type) = "static";
+ MY(velocityjitter) = '286.0 286.0 286.0';
+}
+// underwater bubbles
+SUB(arc_bolt_explode) {
+ MY(alpha_min) = 128;
+ MY(alpha_max) = 256;
+ MY(alpha_fade) = 64;
+ MY(bounce) = 1.500000;
+ MY(color_min) = "0x404040";
+ MY(color_max) = "0x808080";
+ MY(count) = 16;
+ MY(gravity) = -0.125000;
+ MY(liquidfriction) = 0.250000;
+ MY(originjitter) = '16.0 16.0 16.0';
+ MY(size_min) = 3;
+ MY(size_max) = 3;
+ MY(tex_min) = 62;
+ MY(tex_max) = 62;
+ MY(type) = "bubble";
+ MY(underwater) = true;
+ MY(velocityjitter) = '96.0 96.0 96.0';
+}
+// bouncing sparks
+SUB(arc_bolt_explode) {
+ MY(airfriction) = 1;
+ MY(alpha_min) = 644;
+ MY(alpha_max) = 956;
+ MY(alpha_fade) = 684;
+ MY(bounce) = 1.600000;
+ MY(color_min) = "0x00ff00";
+ MY(color_max) = "0x8f4333";
+ MY(count) = 16;
+ MY(gravity) = 1;
+ MY(liquidfriction) = 0.800000;
+ MY(notunderwater) = true;
+ MY(originjitter) = '16.0 16.0 16.0';
+ MY(size_min) = 1;
+ MY(size_max) = 0.100000;
+ MY(tex_min) = 40;
+ MY(tex_max) = 40;
+ MY(type) = "spark";
+ MY(velocityjitter) = '224.0 224.0 224.0';
+ MY(velocityoffset) = '0.0 0.0 80.0';
+}
+
+// weak bullet trail (somewhat like a tracer)
+DEF(tr_bullet_weak);
+SUB(tr_bullet_weak) {
+ MY(alpha) = '75 100 3000';
+ MY(color_min) = "0xf03000";
+ MY(color_max) = "0xff6010";
+ MY(countabsolute) = 1;
+ MY(sizeincrease) = -3;
+ MY(size_min) = 0.6;
+ MY(size_max) = 0.8;
+ my(tex_min) = 200;
+ my(tex_max) = 200;
+ MY(type) = "beam";
+}
+SUB(tr_bullet_weak) {
+ MY(airfriction) = -4;
+ MY(alpha) = '256 256 350';
+ MY(color_min) = "0x202020";
+ MY(color_max) = "0x404040";
+ MY(notunderwater) = true;
+ MY(sizeincrease) = 0.4;
+ MY(size_min) = 1;
+ MY(size_max) = 2;
+ MY(tex_min) = 0;
+ MY(tex_max) = 8;
+ MY(trailspacing) = 16;
+ MY(type) = "smoke";
+ MY(velocityjitter) = '4 4 4';
+}
+SUB(tr_bullet_weak) {
+ MY(alpha_min) = 256;
+ MY(alpha_max) = 256;
+ MY(alpha_fade) = 128;
+ MY(bounce) = 1.500000;
+ MY(color_min) = "0x404040";
+ MY(color_max) = "0x808080";
+ MY(gravity) = -0.125000;
+ MY(liquidfriction) = 4;
+ MY(size_min) = 0.5;
+ MY(size_max) = 0.6;
+ MY(tex_min) = 62;
+ MY(tex_max) = 62;
+ MY(trailspacing) = 32;
+ MY(type) = "bubble";
+ MY(underwater) = true;
+ MY(velocityjitter) = '16.0 16.0 16.0';
+}
+
+// Vaporizer hit effect
+DEF(TE_TEI_G3_HIT);
+SUB(TE_TEI_G3_HIT) {
+ MY(alpha_min) = 128;
+ MY(alpha_max) = 128;
+ MY(alpha_fade) = 256;
+ MY(color_min) = "0xFFFFFF";
+ MY(color_max) = "0xFFFFFF";
+ MY(countabsolute) = 1;
+ MY(size_min) = 8;
+ MY(size_max) = 8;
+ MY(tex_min) = 200;
+ MY(tex_max) = 200;
+ MY(type) = "beam";
+}
+SUB(TE_TEI_G3_HIT) /* rings */ {
+ MY(airfriction) = -4;
+ MY(alpha_min) = 256;
+ MY(alpha_max) = 256;
+ MY(alpha_fade) = 512;
+ MY(color_min) = "0xFFFFFF";
+ MY(color_max) = "0xFFFFFF";
+ MY(sizeincrease) = -2;
+ MY(size_min) = 2;
+ MY(size_max) = 2;
+ MY(trailspacing) = 20;
+ MY(type) = "smoke";
+ MY(velocityjitter) = '2.0 2.0 2.0';
+}
+SUB(TE_TEI_G3_HIT) {
+ MY(airfriction) = -4;
+ MY(alpha_min) = 256;
+ MY(alpha_max) = 256;
+ MY(alpha_fade) = 512;
+ MY(color_min) = "0xFFFFFF";
+ MY(color_max) = "0xFFFFFF";
+ MY(sizeincrease) = -6;
+ MY(size_min) = 10;
+ MY(size_max) = 10;
+ MY(trailspacing) = 40;
+ MY(type) = "smoke";
+}
+
+// respawn ghosts effect
+DEF(RESPAWN_GHOST);
+SUB(RESPAWN_GHOST) {
+ MY(count) = 75;
+ MY(type) = "static";
+ MY(color_min) = "0xA0A0A0";
+ MY(color_max) = "0xFFFFFF";
+ MY(size_min) = 2;
+ MY(size_max) = 2;
+ MY(alpha_min) = 32;
+ MY(alpha_max) = 64;
+ MY(alpha_fade) = 128;
+ MY(airfriction) = 1;
+ MY(liquidfriction) = 4;
+ MY(originoffset) = '0 0 -8';
+ MY(originjitter) = '28 28 16';
+ MY(velocityjitter) = '0 0 256';
+}
+
+// always add new effects to the bottom of the list. And keep this comment in the bottom line of this file!