+// item respawn effect
DEF(TE_WIZSPIKE);
+// flare particle and light
SUB(TE_WIZSPIKE) {
MY(alpha_min) = 128;
MY(alpha_max) = 128;
MY(size_max) = 20;
MY(type) = "static";
}
+// cloud of particles which expand rapidly and then slow to form a ball
SUB(TE_WIZSPIKE) {
MY(airfriction) = 2;
MY(alpha_min) = 64;
MY(velocityjitter) = '32.0 32.0 32.0';
}
+// laser impact
DEF(TE_KNIGHTSPIKE);
+// decal
SUB(TE_KNIGHTSPIKE) {
MY(alpha_min) = 256;
MY(alpha_max) = 256;
MY(tex_max) = 47;
MY(type) = "decal";
}
+// flare effect
SUB(TE_KNIGHTSPIKE) {
MY(alpha_min) = 256;
MY(alpha_max) = 256;
MY(tex_max) = 39;
MY(type) = "static";
}
+// sparks that rapidly expand and rapidly slow down to form an interesting spherical effect
SUB(TE_KNIGHTSPIKE) {
MY(airfriction) = 6;
MY(alpha_min) = 256;
MY(velocityjitter) = '256.0 256.0 256.0';
}
+// machinegun bullet impact
DEF(TE_SPIKE);
+// bullet impact decal
SUB(TE_SPIKE) {
MY(alpha_min) = 256;
MY(alpha_max) = 256;
MY(tex_max) = 59;
MY(type) = "decal";
}
+// dust/smoke drifting away from the impact
SUB(TE_SPIKE) {
MY(alpha_min) = 255;
MY(alpha_max) = 255;
MY(type) = "smoke";
MY(velocityjitter) = '8.0 8.0 8.0';
}
+// dust/smoke staying at the impact
SUB(TE_SPIKE) {
MY(alpha_min) = 255;
MY(alpha_max) = 255;
MY(tex_max) = 8;
MY(type) = "smoke";
}
+// bouncing sparks
SUB(TE_SPIKE) {
MY(alpha_max) = 256;
MY(alpha_fade) = 256;
MY(velocityoffset) = '0.0 0.0 80.0';
}
+// electro combo explosion
DEF(TE_SPIKEQUAD);
+// decal
SUB(TE_SPIKEQUAD) {
MY(alpha_min) = 256;
MY(alpha_max) = 256;
MY(tex_max) = 59;
MY(type) = "decal";
}
+// flare effect
SUB(TE_SPIKEQUAD) {
MY(alpha_min) = 256;
MY(alpha_max) = 256;
MY(tex_max) = 38;
MY(type) = "static";
}
+// large sparks
SUB(TE_SPIKEQUAD) {
MY(airfriction) = 4;
MY(alpha_min) = 256;
MY(velocityjitter) = '512.0 512.0 512.0';
}
+// quake effect
DEF(TE_SUPERSPIKE);
+// decal
SUB(TE_SUPERSPIKE) {
MY(alpha_min) = 256;
MY(alpha_max) = 256;
MY(tex_max) = 59;
MY(type) = "decal";
}
+// dust/smoke drifting away from the impact
SUB(TE_SUPERSPIKE) {
MY(alpha_min) = 255;
MY(alpha_max) = 255;
MY(type) = "smoke";
MY(velocityjitter) = '8.0 8.0 8.0';
}
+// dust/smoke staying at the impact
SUB(TE_SUPERSPIKE) {
MY(alpha_min) = 255;
MY(alpha_max) = 255;
MY(tex_max) = 8;
MY(type) = "smoke";
}
+// sparks that disappear on impact
SUB(TE_SUPERSPIKE) {
MY(alpha_max) = 256;
MY(alpha_fade) = 768;
MY(velocityoffset) = '0.0 0.0 80.0';
}
+// quake effect
DEF(TE_SUPERSPIKEQUAD);
+// decal
SUB(TE_SUPERSPIKEQUAD) {
MY(alpha_min) = 256;
MY(alpha_max) = 256;
MY(tex_max) = 59;
MY(type) = "decal";
}
+// dust/smoke drifting away from the impact
SUB(TE_SUPERSPIKEQUAD) {
MY(alpha_min) = 255;
MY(alpha_max) = 255;
MY(type) = "smoke";
MY(velocityjitter) = '8.0 8.0 8.0';
}
+// dust/smoke staying at the impact
SUB(TE_SUPERSPIKEQUAD) {
MY(alpha_min) = 255;
MY(alpha_max) = 255;
MY(tex_max) = 8;
MY(type) = "smoke";
}
+// sparks that disappear on impact
SUB(TE_SUPERSPIKEQUAD) {
MY(alpha_max) = 256;
MY(alpha_fade) = 768;
MY(velocityoffset) = '0.0 0.0 80.0';
}
+// shotgun pellet impact
DEF(TE_GUNSHOT);
+// decal
SUB(TE_GUNSHOT) {
MY(alpha_min) = 256;
MY(alpha_max) = 256;
MY(tex_max) = 59;
MY(type) = "decal";
}
+// dust/smoke drifting away from the impact
SUB(TE_GUNSHOT) {
MY(alpha_min) = 128;
MY(alpha_max) = 128;
MY(type) = "smoke";
MY(velocityjitter) = '8.0 8.0 8.0';
}
+// dust/smoke staying at the impact
SUB(TE_GUNSHOT) {
MY(alpha_min) = 128;
MY(alpha_max) = 128;
MY(tex_max) = 8;
MY(type) = "smoke";
}
+// bouncing sparks
SUB(TE_GUNSHOT) {
MY(alpha_max) = 64;
MY(alpha_fade) = 64;
MY(velocityoffset) = '0.0 0.0 80.0';
}
+// crylink impact effect
DEF(TE_GUNSHOTQUAD);
+// decal
SUB(TE_GUNSHOTQUAD) {
MY(alpha_min) = 256;
MY(alpha_max) = 256;
MY(tex_max) = 47;
MY(type) = "decal";
}
+// purple flare effect
SUB(TE_GUNSHOTQUAD) {
MY(alpha_min) = 256;
MY(alpha_max) = 256;
MY(tex_max) = 39;
MY(type) = "static";
}
+// purple sparks
SUB(TE_GUNSHOTQUAD) {
MY(alpha_min) = 128;
MY(alpha_max) = 128;
MY(velocityoffset) = '0.0 0.0 80.0';
}
+// mortar/hagar explosion (smaller than rocket)
DEF(TE_EXPLOSION);
+// decal
SUB(TE_EXPLOSION) {
MY(alpha_min) = 256;
MY(alpha_max) = 256;
MY(tex_max) = 16;
MY(type) = "decal";
}
+// flare effect
SUB(TE_EXPLOSION) {
MY(alpha_min) = 192;
MY(alpha_max) = 192;
MY(tex_max) = 37;
MY(type) = "static";
}
+// fire effect which expands then slows
SUB(TE_EXPLOSION) {
MY(airfriction) = 4;
MY(alpha_min) = 128;
MY(type) = "static";
MY(velocityjitter) = '256.0 256.0 256.0';
}
+// underwater bubbles
SUB(TE_EXPLOSION) {
MY(alpha_min) = 128;
MY(alpha_max) = 256;
MY(underwater) = true;
MY(velocityjitter) = '96.0 96.0 96.0';
}
+// bouncing sparks
SUB(TE_EXPLOSION) {
MY(airfriction) = 0.200000;
MY(alpha_min) = 256;
MY(velocityoffset) = '0.0 0.0 80.0';
}
+// quake effect
DEF(TE_EXPLOSIONQUAD);
+// decal
SUB(TE_EXPLOSIONQUAD) {
MY(alpha_min) = 256;
MY(alpha_max) = 256;
MY(tex_max) = 16;
MY(type) = "decal";
}
+// smoke cloud
SUB(TE_EXPLOSIONQUAD) {
MY(alpha_min) = 32;
MY(alpha_max) = 32;
MY(type) = "smoke";
MY(velocityjitter) = '48.0 48.0 48.0';
}
+// underwater bubbles
SUB(TE_EXPLOSIONQUAD) {
MY(alpha_min) = 128;
MY(alpha_max) = 256;
MY(underwater) = true;
MY(velocityjitter) = '96.0 96.0 96.0';
}
+// sparks which go through walls
SUB(TE_EXPLOSIONQUAD) {
MY(airfriction) = 0.200000;
MY(alpha_max) = 256;
MY(velocityoffset) = '0.0 0.0 80.0';
}
+// quake effect
DEF(TE_TAREXPLOSION);
+// decal
SUB(TE_TAREXPLOSION) {
MY(alpha_min) = 256;
MY(alpha_max) = 256;
MY(tex_max) = 16;
MY(type) = "decal";
}
+// smoke cloud
SUB(TE_TAREXPLOSION) {
MY(alpha_min) = 32;
MY(alpha_max) = 32;
MY(type) = "smoke";
MY(velocityjitter) = '48.0 48.0 48.0';
}
+// underwater bubbles
SUB(TE_TAREXPLOSION) {
MY(alpha_min) = 128;
MY(alpha_max) = 256;
MY(underwater) = true;
MY(velocityjitter) = '96.0 96.0 96.0';
}
+// sparks which go through walls
SUB(TE_TAREXPLOSION) {
MY(airfriction) = 0.200000;
MY(alpha_max) = 256;
MY(velocityoffset) = '0.0 0.0 80.0';
}
+// bloody impact effect indicating damage
DEF(TE_BLOOD);
SUB(TE_BLOOD) {
MY(airfriction) = 1;
MY(velocitymultiplier) = 1;
}
+// sparks (quake effect)
DEF(TE_SPARK);
SUB(TE_SPARK) {
MY(alpha_min) = 64;
MY(velocityoffset) = '0.0 0.0 80.0';
}
+// vortex impact
DEF(TE_PLASMABURN);
+// decal
SUB(TE_PLASMABURN) {
MY(alpha_min) = 256;
MY(alpha_max) = 256;
MY(tex_max) = 47;
MY(type) = "decal";
}
+// flare effect
SUB(TE_PLASMABURN) {
MY(alpha_min) = 256;
MY(alpha_max) = 256;
MY(tex_max) = 37;
MY(type) = "static";
}
+// small sparks which form a sphere as they slow down
SUB(TE_PLASMABURN) {
MY(airfriction) = 8;
MY(alpha_min) = 256;
MY(velocityjitter) = '128.0 128.0 128.0';
}
+// quake effect
DEF(TE_SMALLFLASH);
SUB(TE_SMALLFLASH) {
MY(lightcolor) = '2.0 2.0 2.0';
MY(lightradius) = 200;
}
+// quake effect
DEF(TE_FLAMEJET);
SUB(TE_FLAMEJET) {
MY(airfriction) = 1;
MY(velocitymultiplier) = 1;
}
+// quake effect
DEF(TE_LAVASPLASH);
SUB(TE_LAVASPLASH) {
MY(alpha_min) = 256;
MY(velocityoffset) = '0.0 0.0 256.0';
}
+// player teleport effect
DEF(TE_TELEPORT);
SUB(TE_TELEPORT) {
MY(airfriction) = 1;
MY(velocityjitter) = '0.0 0.0 256.0';
}
+// vortex beam
DEF(TE_TEI_G3);
SUB(TE_TEI_G3) {
MY(alpha_min) = 128;
MY(velocityjitter) = '8.0 8.0 8.0';
}
+// smoke effect
DEF(TE_TEI_SMOKE);
SUB(TE_TEI_SMOKE) {
MY(alpha_min) = 256;
MY(velocitymultiplier) = 1;
}
+// rocket explosion (bigger than mortar and hagar)
DEF(TE_TEI_BIGEXPLOSION);
+// decal
SUB(TE_TEI_BIGEXPLOSION) {
MY(alpha_min) = 256;
MY(alpha_max) = 256;
MY(tex_max) = 16;
MY(type) = "decal";
}
+// flare effect
SUB(TE_TEI_BIGEXPLOSION) {
MY(alpha_min) = 192;
MY(alpha_max) = 192;
MY(tex_max) = 37;
MY(type) = "static";
}
+// fire effect
SUB(TE_TEI_BIGEXPLOSION) {
MY(airfriction) = 4;
MY(alpha_min) = 128;
MY(type) = "static";
MY(velocityjitter) = '512.0 512.0 512.0';
}
+// underwater bubbles
SUB(TE_TEI_BIGEXPLOSION) {
MY(alpha_min) = 128;
MY(alpha_max) = 256;
MY(underwater) = true;
MY(velocityjitter) = '144.0 144.0 144.0';
}
+// bouncing sparks
SUB(TE_TEI_BIGEXPLOSION) {
MY(airfriction) = 0.200000;
MY(alpha_min) = 256;
MY(velocityoffset) = '0.0 0.0 80.0';
}
+// electro explosion
DEF(TE_TEI_PLASMAHIT);
+// decal
SUB(TE_TEI_PLASMAHIT) {
MY(alpha_min) = 256;
MY(alpha_max) = 256;
MY(tex_max) = 59;
MY(type) = "decal";
}
+// flare effect
SUB(TE_TEI_PLASMAHIT) {
MY(alpha_min) = 256;
MY(alpha_max) = 256;
MY(tex_max) = 38;
MY(type) = "static";
}
+// cloud of bouncing sparks
SUB(TE_TEI_PLASMAHIT) {
MY(alpha_min) = 256;
MY(alpha_max) = 256;
MY(velocityjitter) = '512.0 512.0 512.0';
}
+// bloody impact effect indicating damage
DEF(blood);
SUB(blood) {
MY(airfriction) = 0.400000;
MY(type) = "spark";
MY(velocityjitter) = '99.0 99.0 55.0';
}
+//blood mist
SUB(blood) {
MY(alpha_min) = 100;
MY(alpha_max) = 256;
MY(type) = "alphastatic";
}
+// player teleport effect
DEF(teleport);
SUB(teleport) {
MY(airfriction) = 2;
MY(type) = "smoke";
}
+// normal super gory blood trail (used by gibs)
DEF(TR_BLOOD);
SUB(TR_BLOOD) {
MY(airfriction) = -2;
MY(velocityjitter) = '64.0 64.0 64.0';
MY(velocitymultiplier) = -0.100000;
}
+// splash around gib
SUB(TR_BLOOD) {
MY(alpha_min) = 684;
MY(alpha_max) = 684;
MY(type) = "blood";
}
+// thinner blood trail (used by quake zombies)
DEF(TR_SLIGHTBLOOD);
SUB(TR_SLIGHTBLOOD) {
MY(airfriction) = 1;
MY(velocitymultiplier) = 0.500000;
}
+// func_stardust effect, used in some maps to indicate teleporters
DEF(EF_STARDUST);
SUB(EF_STARDUST) {
MY(airfriction) = 0.200000;
MY(velocityjitter) = '32.0 32.0 0.0';
}
+// flare particle and light
DEF(item_respawn);
SUB(item_respawn) {
MY(alpha_min) = 128;
MY(size_max) = 32;
MY(type) = "static";
}
+// cloud of particles which expand rapidly and then slow to form a ball
SUB(item_respawn) {
MY(alpha_min) = 256;
MY(alpha_max) = 256;
}
DEF(laser_muzzleflash);
+// glow and light
SUB(laser_muzzleflash) {
MY(airfriction) = 10;
MY(alpha_min) = 256;
MY(tex_max) = 65;
MY(type) = "smoke";
}
+// electricity
SUB(laser_muzzleflash) {
MY(airfriction) = 10;
MY(alpha_min) = 256;
MY(velocityjitter) = '150.0 150.0 150.0';
MY(velocitymultiplier) = 0.200000;
}
+// fire
SUB(laser_muzzleflash) {
MY(airfriction) = 12;
MY(alpha_min) = 256;
}
DEF(laser_impact);
+// decal
SUB(laser_impact) {
MY(alpha_min) = 256;
MY(alpha_max) = 256;
MY(tex_max) = 47;
MY(type) = "decal";
}
+// flare effect
SUB(laser_impact) {
MY(alpha_min) = 256;
MY(alpha_max) = 256;
MY(tex_max) = 39;
MY(type) = "static";
}
+// sparks that rapidly expand and rapidly slow down to form an interesting spherical effect
SUB(laser_impact) {
MY(airfriction) = 6;
MY(alpha_min) = 256;
MY(velocitymultiplier) = 0.500000;
}
+// shotgun pellet impact
DEF(shotgun_impact);
+// decal
SUB(shotgun_impact) {
MY(alpha_min) = 256;
MY(alpha_max) = 256;
MY(tex_max) = 59;
MY(type) = "decal";
}
+// dust/smoke drifting away from the impact
SUB(shotgun_impact) {
MY(airfriction) = 5;
MY(alpha_min) = 300;
MY(velocityjitter) = '150.0 150.0 150.0';
MY(velocitymultiplier) = 0.200000;
}
+// dust/smoke staying at the impact
SUB(shotgun_impact) {
MY(airfriction) = 5;
MY(alpha_min) = 200;
MY(velocityjitter) = '11.0 11.0 11.0';
MY(velocitymultiplier) = 0.030000;
}
+// sparks
SUB(shotgun_impact) {
MY(airfriction) = 1.100000;
MY(alpha_max) = 356;
}
DEF(machinegun_impact);
+// decal
SUB(machinegun_impact) {
MY(alpha_min) = 256;
MY(alpha_max) = 256;
MY(tex_max) = 59;
MY(type) = "decal";
}
+// dust/smoke drifting away from the impact
SUB(machinegun_impact) {
MY(airfriction) = 5;
MY(alpha_min) = 300;
MY(velocityjitter) = '150.0 150.0 150.0';
MY(velocitymultiplier) = 0.100000;
}
+// dust/smoke staying at the impact
SUB(machinegun_impact) {
MY(airfriction) = 5;
MY(alpha_min) = 200;
MY(velocityjitter) = '11.0 11.0 11.0';
MY(velocitymultiplier) = 0.030000;
}
+// debris
SUB(machinegun_impact) {
MY(airfriction) = 1;
MY(alpha_min) = 300;
MY(velocityjitter) = '350.0 350.0 350.0';
MY(velocitymultiplier) = 0.200000;
}
+// sparks
SUB(machinegun_impact) {
MY(airfriction) = 2;
MY(alpha_min) = 256;
MY(velocitymultiplier) = 0.500000;
}
+// mortar trail
DEF(TR_GRENADE);
+// smoke
SUB(TR_GRENADE) {
MY(alpha_min) = 300;
MY(alpha_max) = 400;
MY(velocityjitter) = '1.0 1.0 1.0';
MY(velocitymultiplier) = -0.020000;
}
+// fire
SUB(TR_GRENADE) {
MY(airfriction) = 8;
MY(alpha_min) = 100;
MY(velocityjitter) = '32.0 32.0 32.0';
MY(velocitymultiplier) = -1;
}
+// bubbles
SUB(TR_GRENADE) {
MY(alpha_min) = 256;
MY(alpha_max) = 256;
MY(velocityjitter) = '16.0 16.0 16.0';
}
+// hookbomb trail
DEF(TR_KNIGHTSPIKE);
+// smoke
SUB(TR_KNIGHTSPIKE) {
MY(alpha_min) = 300;
MY(alpha_max) = 400;
MY(velocityjitter) = '3.0 3.0 3.0';
MY(velocitymultiplier) = -0.020000;
}
+// marker
SUB(TR_KNIGHTSPIKE) {
MY(alpha_min) = 256;
MY(alpha_max) = 256;
MY(trailspacing) = 2;
MY(type) = "alphastatic";
}
+// bubbles
SUB(TR_KNIGHTSPIKE) {
MY(alpha_min) = 256;
MY(alpha_max) = 256;
}
DEF(grenade_explode);
+// decal
SUB(grenade_explode) {
MY(alpha_min) = 256;
MY(alpha_max) = 256;
MY(tex_max) = 16;
MY(type) = "decal";
}
+// fire effect which expands then slows
SUB(grenade_explode) {
MY(airfriction) = 8;
MY(alpha_min) = 128;
MY(type) = "static";
MY(velocityjitter) = '256.0 256.0 256.0';
}
+// fire effect which make bright dot inside
SUB(grenade_explode) {
MY(airfriction) = 8;
MY(alpha_min) = 228;
MY(type) = "static";
MY(velocityjitter) = '256.0 256.0 256.0';
}
+// smoke
SUB(grenade_explode) {
MY(airfriction) = 5;
MY(alpha_min) = 300;
MY(type) = "alphastatic";
MY(velocityjitter) = '256.0 256.0 256.0';
}
+// underwater bubbles
SUB(grenade_explode) {
MY(alpha_min) = 128;
MY(alpha_max) = 256;
MY(underwater) = true;
MY(velocityjitter) = '196.0 196.0 196.0';
}
+// underwatershockwave
SUB(grenade_explode) {
MY(alpha_min) = 40;
MY(alpha_max) = 40;
MY(underwater) = true;
MY(velocitymultiplier) = 0.300000;
}
+// bouncing sparks
SUB(grenade_explode) {
MY(airfriction) = 1;
MY(alpha_min) = 644;
MY(velocityjitter) = '424.0 424.0 624.0';
MY(velocityoffset) = '0.0 0.0 80.0';
}
+// debris
SUB(grenade_explode) {
MY(airfriction) = 0.500000;
MY(alpha_min) = 644;
MY(velocitymultiplier) = 2.500000;
}
+// electro trail
DEF(TR_NEXUIZPLASMA);
+// glowing vapor trail
SUB(TR_NEXUIZPLASMA) {
MY(alpha_min) = 256;
MY(alpha_max) = 256;
MY(type) = "static";
MY(velocitymultiplier) = -0.100000;
}
+// bright sparks
SUB(TR_NEXUIZPLASMA) {
MY(airfriction) = 12;
MY(alpha_min) = 444;
}
DEF(electro_impact);
+// decal
SUB(electro_impact) {
MY(alpha_min) = 256;
MY(alpha_max) = 256;
MY(tex_max) = 59;
MY(type) = "decal";
}
+// shockwave
SUB(electro_impact) {
MY(alpha_min) = 40;
MY(alpha_max) = 40;
MY(type) = "smoke";
MY(velocitymultiplier) = 44;
}
+// flare effect
SUB(electro_impact) {
MY(alpha_min) = 256;
MY(alpha_max) = 256;
MY(tex_max) = 38;
MY(type) = "static";
}
+// cloud of bouncing sparks
SUB(electro_impact) {
MY(airfriction) = 6;
MY(alpha_min) = 256;
MY(type) = "smoke";
MY(velocityjitter) = '512.0 512.0 512.0';
}
+// inner cloud of smoke
SUB(electro_impact) {
MY(airfriction) = 30;
MY(alpha_min) = 200;
}
DEF(electro_ballexplode);
+// decal
SUB(electro_ballexplode) {
MY(alpha_min) = 256;
MY(alpha_max) = 256;
MY(tex_max) = 59;
MY(type) = "decal";
}
+// flare effect
SUB(electro_ballexplode) {
MY(alpha_min) = 256;
MY(alpha_max) = 256;
MY(tex_max) = 38;
MY(type) = "static";
}
+// cloud of bouncing sparks
SUB(electro_ballexplode) {
MY(alpha_min) = 256;
MY(alpha_max) = 256;
MY(type) = "spark";
MY(velocityjitter) = '512.0 512.0 512.0';
}
+// inner cloud of smoke
SUB(electro_ballexplode) {
MY(alpha_min) = 256;
MY(alpha_max) = 256;
}
DEF(electro_combo);
+// decal
SUB(electro_combo) {
MY(alpha_min) = 256;
MY(alpha_max) = 256;
MY(tex_max) = 59;
MY(type) = "decal";
}
+// flare effect
SUB(electro_combo) {
MY(alpha_min) = 128;
MY(alpha_max) = 128;
MY(tex_max) = 38;
MY(type) = "static";
}
+// large sparks
SUB(electro_combo) {
MY(airfriction) = 6;
MY(alpha_min) = 156;
MY(velocityjitter) = '312.0 312.0 312.0';
MY(velocitymultiplier) = 3;
}
+// inner cloud of smoke
SUB(electro_combo) {
MY(alpha_min) = 256;
MY(alpha_max) = 256;
MY(type) = "smoke";
MY(velocityjitter) = '32.0 32.0 32.0';
}
+// shockwave
SUB(electro_combo) {
MY(alpha_min) = 40;
MY(alpha_max) = 40;
}
DEF(crylink_impact);
+// decal
SUB(crylink_impact) {
MY(alpha_min) = 256;
MY(alpha_max) = 256;
MY(tex_max) = 47;
MY(type) = "decal";
}
+// purple flare effect
SUB(crylink_impact) {
MY(alpha_min) = 256;
MY(alpha_max) = 256;
MY(tex_max) = 39;
MY(type) = "static";
}
+// purple sparks
SUB(crylink_impact) {
MY(alpha_min) = 256;
MY(alpha_max) = 256;
MY(type) = "spark";
MY(velocityjitter) = '512.0 512.0 512.0';
}
+// purple splash
SUB(crylink_impact) {
MY(alpha_min) = 256;
MY(alpha_max) = 256;
MY(type) = "static";
MY(velocityjitter) = '32.0 32.0 32.0';
}
+// purple splash
SUB(crylink_impact) {
MY(alpha_min) = 256;
MY(alpha_max) = 256;
MY(velocitymultiplier) = 1.500000;
}
+// vortex beam
DEF(nex_beam);
SUB(nex_beam) {
MY(airfriction) = 5;
MY(trailspacing) = 64;
MY(type) = "static";
}
+// drifting smoke
SUB(nex_beam) {
MY(airfriction) = 9;
MY(alpha_min) = 32;
MY(type) = "static";
MY(velocityjitter) = '64.0 64.0 64.0';
}
+// bright core
SUB(nex_beam) {
MY(alpha_min) = 256;
MY(alpha_max) = 256;
MY(trailspacing) = 12;
MY(type) = "static";
}
+// sparks
SUB(nex_beam) {
MY(airfriction) = 5;
MY(alpha_min) = 64;
}
DEF(nex_impact);
+// decal
SUB(nex_impact) {
MY(alpha_min) = 256;
MY(alpha_max) = 256;
MY(tex_max) = 47;
MY(type) = "decal";
}
+// rotating something
SUB(nex_impact) {
MY(alpha_min) = 55;
MY(alpha_max) = 55;
MY(tex_max) = 46;
MY(type) = "smoke";
}
+// shockwave
SUB(nex_impact) {
MY(alpha_min) = 50;
MY(alpha_max) = 50;
MY(tex_max) = 33;
MY(type) = "static";
}
+// shockwave2
SUB(nex_impact) {
MY(alpha_min) = 50;
MY(alpha_max) = 50;
MY(tex_max) = 65;
MY(type) = "static";
}
+// flare effect
SUB(nex_impact) {
MY(alpha_min) = 256;
MY(alpha_max) = 256;
MY(tex_max) = 37;
MY(type) = "static";
}
+// small sparks which glow brightly but live briefly
SUB(nex_impact) {
MY(airfriction) = 9;
MY(alpha_max) = 128;
MY(velocityjitter) = '600.0 600.0 600.0';
MY(velocitymultiplier) = 0.500000;
}
+// small sparks that live longer
SUB(nex_impact) {
MY(airfriction) = 2;
MY(alpha_min) = 255;
}
DEF(hagar_explode);
+// decal
SUB(hagar_explode) {
MY(alpha_min) = 256;
MY(alpha_max) = 256;
MY(tex_max) = 16;
MY(type) = "decal";
}
+// fire effect which make bright dot inside
SUB(hagar_explode) {
MY(airfriction) = 8;
MY(alpha_min) = 80;
MY(type) = "smoke";
MY(velocityjitter) = '156.0 156.0 156.0';
}
+// fire effect which expands then slows
SUB(hagar_explode) {
MY(airfriction) = 12;
MY(alpha_min) = 128;
MY(type) = "static";
MY(velocityjitter) = '286.0 286.0 286.0';
}
+// smoke
SUB(hagar_explode) {
MY(airfriction) = 5;
MY(alpha_min) = 200;
MY(type) = "alphastatic";
MY(velocityjitter) = '244.0 244.0 244.0';
}
+// underwater bubbles
SUB(hagar_explode) {
MY(alpha_min) = 128;
MY(alpha_max) = 256;
MY(underwater) = true;
MY(velocityjitter) = '96.0 96.0 96.0';
}
+// bouncing sparks
SUB(hagar_explode) {
MY(airfriction) = 1;
MY(alpha_min) = 644;
MY(velocitymultiplier) = 0.300000;
}
+// rocket trail
DEF(TR_ROCKET);
+// smoke
SUB(TR_ROCKET) {
MY(alpha_min) = 200;
MY(alpha_max) = 300;
MY(velocityjitter) = '3.0 3.0 3.0';
MY(velocitymultiplier) = -0.020000;
}
+// fire
SUB(TR_ROCKET) {
MY(airfriction) = 8;
MY(alpha_min) = 100;
MY(velocityjitter) = '32.0 32.0 32.0';
MY(velocitymultiplier) = -1.500000;
}
+// bubbles
SUB(TR_ROCKET) {
MY(alpha_min) = 256;
MY(alpha_max) = 256;
MY(velocityjitter) = '16.0 16.0 16.0';
MY(velocitymultiplier) = -0.310000;
}
+// sparks
SUB(TR_ROCKET) {
MY(airfriction) = 5;
MY(alpha_min) = 444;
MY(velocitymultiplier) = -0.310000;
}
+// rocket explosion (bigger than mortar and hagar)
DEF(rocket_explode);
SUB(rocket_explode) {
MY(alpha_min) = 256;
MY(tex_max) = 16;
MY(type) = "decal";
}
+// fire effect
SUB(rocket_explode) {
MY(airfriction) = 8;
MY(alpha_min) = 200;
MY(type) = "static";
MY(velocityjitter) = '512.0 512.0 512.0';
}
+// fire effect 2
SUB(rocket_explode) {
MY(airfriction) = 19;
MY(alpha_min) = 200;
MY(type) = "smoke";
MY(velocityjitter) = '912.0 912.0 912.0';
}
+// smoke
SUB(rocket_explode) {
MY(airfriction) = 5;
MY(alpha_min) = 200;
MY(type) = "alphastatic";
MY(velocityjitter) = '444.0 444.0 444.0';
}
+// underwater bubbles
SUB(rocket_explode) {
MY(alpha_min) = 128;
MY(alpha_max) = 256;
MY(underwater) = true;
MY(velocityjitter) = '144.0 144.0 144.0';
}
+// underwatershockwave
SUB(rocket_explode) {
MY(alpha_min) = 40;
MY(alpha_max) = 40;
MY(underwater) = true;
MY(velocitymultiplier) = 0.300000;
}
+// bouncing sparks
SUB(rocket_explode) {
MY(airfriction) = 1;
MY(alpha_min) = 644;
MY(velocityjitter) = '424.0 424.0 624.0';
MY(velocityoffset) = '0.0 0.0 80.0';
}
+// debris
SUB(rocket_explode) {
MY(airfriction) = 0.500000;
MY(alpha_min) = 644;
MY(velocitymultiplier) = 100;
}
+// bigger crylink impact effect
DEF(crylink_impactbig);
+// decal
SUB(crylink_impactbig) {
MY(alpha_min) = 256;
MY(alpha_max) = 256;
MY(tex_max) = 47;
MY(type) = "decal";
}
+// purple flare effect
SUB(crylink_impactbig) {
MY(alpha_min) = 256;
MY(alpha_max) = 256;
MY(tex_max) = 39;
MY(type) = "static";
}
+// purple sparks
SUB(crylink_impactbig) {
MY(alpha_min) = 256;
MY(alpha_max) = 256;
MY(type) = "spark";
MY(velocityjitter) = '512.0 512.0 512.0';
}
+// purple splash
SUB(crylink_impactbig) {
MY(alpha_min) = 256;
MY(alpha_max) = 256;
MY(type) = "static";
MY(velocityjitter) = '32.0 32.0 32.0';
}
+// purple splash
SUB(crylink_impactbig) {
MY(alpha_min) = 256;
MY(alpha_max) = 256;
MY(velocityjitter) = '256.0 256.0 256.0';
}
+// Zero-violence effects
+
+// cl_gentle impact effect indicating damage
+// NOTE: maintained by div0, make your own new effect instead of changing this one without asking!
DEF(damage_hit);
SUB(damage_hit) {
MY(airfriction) = 5;
MY(velocityjitter) = '256.0 256.0 256.0';
}
+// effect for removing player model
DEF(damage_dissolve);
+// large sparks
SUB(damage_dissolve) {
MY(airfriction) = 3;
MY(alpha_min) = 256;
}
DEF(laser_deadly);
+// decal
SUB(laser_deadly) {
MY(alpha_min) = 256;
MY(alpha_max) = 256;
MY(tex_max) = 59;
MY(type) = "decal";
}
+// dust/smoke drifting away from the impact
SUB(laser_deadly) {
MY(airfriction) = 7;
MY(alpha_max) = 64;
MY(velocityjitter) = '15.0 15.0 15.0';
MY(velocitymultiplier) = 20;
}
+// sparks
SUB(laser_deadly) {
MY(airfriction) = 5;
MY(alpha_min) = 256;
}
DEF(torch_small);
+// fire
SUB(torch_small) {
MY(alpha_min) = 200;
MY(alpha_max) = 256;
MY(type) = "smoke";
MY(velocityjitter) = '1.0 1.0 50.0';
}
+// smoke
SUB(torch_small) {
MY(alpha_min) = 200;
MY(alpha_max) = 256;
}
DEF(hookbomb_explode);
+// decal
SUB(hookbomb_explode) {
MY(airfriction) = 10;
MY(alpha_max) = 256;
MY(type) = "static";
MY(velocityjitter) = '550.0 550.0 550.0';
}
+// decal in the air
SUB(hookbomb_explode) {
MY(alpha_min) = 256;
MY(alpha_max) = 265;
MY(tex_max) = 38;
MY(type) = "static";
}
+// decal on the ground
SUB(hookbomb_explode) {
MY(alpha_min) = 256;
MY(alpha_max) = 256;
MY(tex_max) = 39;
MY(type) = "decal";
}
+// some sparks
SUB(hookbomb_explode) {
MY(airfriction) = 2;
MY(alpha_min) = 256;
}
DEF(EF_MGTURRETTRAIL);
+// smoke
SUB(EF_MGTURRETTRAIL) {
MY(alpha_min) = 128;
MY(alpha_max) = 196;
MY(trailspacing) = 10;
MY(type) = "smoke";
}
+// bubbles
SUB(EF_MGTURRETTRAIL) {
MY(alpha_min) = 256;
MY(alpha_max) = 256;
}
DEF(fire_big);
+// fire
SUB(fire_big) {
MY(alpha_min) = 200;
MY(alpha_max) = 356;
MY(type) = "smoke";
MY(velocityjitter) = '22.0 22.0 50.0';
}
+// smoke
SUB(fire_big) {
MY(alpha_min) = 200;
MY(alpha_max) = 256;
#define flare(name, colormin, colormax) \
DEF(name##_flare); \
- SUB(name##_flare) { \
+ SUB(name##_flare) /* smoke */ { \
MY(alpha_min) = 200; \
MY(alpha_max) = 256; \
MY(alpha_fade) = 160; \
#undef flare
DEF(smoke_ring);
+// smoke
SUB(smoke_ring) {
MY(airfriction) = 3;
MY(alpha_min) = 100;
}
DEF(smoke_large);
+// smoke
SUB(smoke_large) {
MY(airfriction) = 7;
MY(alpha_min) = 140;
MY(velocityjitter) = '5.0 5.0 20.0';
}
+// golden dust (create it once per second to cover large area in small yellow particles)
DEF(goldendust);
SUB(goldendust) {
MY(alpha_min) = 256;
MY(velocityjitter) = '50.0 50.0 0.0';
}
+// red-yellow flame like fx
DEF(rage);
SUB(rage) {
MY(airfriction) = 2;
MY(velocityjitter) = '25.0 25.0 25.0';
}
+// pieces of glass or ice falling on the floor
DEF(iceorglass);
SUB(iceorglass) {
MY(airfriction) = 3;
MY(velocityjitter) = '100.0 100.0 100.0';
}
+// cover small area in poison gas, spawn it once per second
DEF(poisonfield);
SUB(poisonfield) {
MY(airfriction) = 1;
MY(velocityjitter) = '5.0 5.0 5.0';
}
+// cover small area in icy mist, spawn it once per second
DEF(icefield);
SUB(icefield) {
MY(airfriction) = 1;
MY(type) = "smoke";
}
+// 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 )
DEF(firefield);
+// flames that go up
SUB(firefield) {
MY(airfriction) = 1;
MY(alpha_min) = 50;
MY(type) = "smoke";
MY(velocityjitter) = '5.0 5.0 30.0';
}
+// flames that stay on the ground
SUB(firefield) {
MY(alpha_min) = 50;
MY(alpha_max) = 256;
MY(tex_max) = 55;
MY(type) = "smoke";
}
+// smoke
SUB(firefield) {
MY(alpha_min) = 256;
MY(alpha_max) = 256;
MY(type) = "alphastatic";
}
+// flamethrower, spawn it as fast as you can 20 times per second or more, it needs direction
DEF(flamethrower);
+// fast fire
SUB(flamethrower) {
MY(airfriction) = 1.200000;
MY(alpha_min) = 50;
MY(velocityjitter) = '40.0 40.0 11.0';
MY(velocitymultiplier) = 30;
}
+// slow fire
SUB(flamethrower) {
MY(airfriction) = 1.200000;
MY(alpha_min) = 50;
MY(velocityjitter) = '40.0 40.0 40.0';
MY(velocitymultiplier) = 20;
}
+// very slow and small fire
SUB(flamethrower) {
MY(airfriction) = 0.300000;
MY(alpha_min) = 50;
MY(velocityjitter) = '30.0 30.0 30.0';
MY(velocitymultiplier) = 10;
}
+// decreasing fire
SUB(flamethrower) {
MY(airfriction) = 0.300000;
MY(alpha_min) = 50;
MY(velocityjitter) = '10.0 10.0 10.0';
MY(velocitymultiplier) = 15;
}
+// smoke
SUB(flamethrower) {
MY(airfriction) = 1;
MY(alpha_min) = 256;
MY(velocityoffset) = '0.0 0.0 10.0';
}
+// port-o-launch trail
DEF(TR_WIZSPIKE);
+// glowing vapor trail
SUB(TR_WIZSPIKE) {
MY(alpha_min) = 256;
MY(alpha_max) = 256;
MY(type) = "static";
MY(velocitymultiplier) = -0.100000;
}
+// bright sparks
SUB(TR_WIZSPIKE) {
MY(airfriction) = 12;
MY(alpha_min) = 444;
MY(velocityoffset) = '0.0 0.0 15.0';
}
+// TAG trail
DEF(TR_VORESPIKE);
+// glowing vapor trail
SUB(TR_VORESPIKE) {
MY(alpha_min) = 256;
MY(alpha_max) = 256;
MY(type) = "static";
MY(velocitymultiplier) = -0.100000;
}
+// bright sparks
SUB(TR_VORESPIKE) {
MY(airfriction) = 12;
MY(alpha_min) = 444;
MY(tex_max) = 16;
MY(type) = "decal";
}
+// fire effect which make bright dot inside
SUB(flac_explode) {
MY(airfriction) = 8;
MY(alpha_min) = 128;
MY(type) = "smoke";
MY(velocityjitter) = '156.0 156.0 156.0';
}
+// fire effect which expands then slows
SUB(flac_explode) {
MY(airfriction) = 12;
MY(alpha_min) = 128;
MY(type) = "static";
MY(velocityjitter) = '256.0 256.0 256.0';
}
+// smoke
SUB(flac_explode) {
MY(airfriction) = 5;
MY(alpha_min) = 500;
MY(type) = "alphastatic";
MY(velocityjitter) = '244.0 244.0 244.0';
}
+// underwater bubbles
SUB(flac_explode) {
MY(alpha_min) = 128;
MY(alpha_max) = 256;
MY(underwater) = true;
MY(velocityjitter) = '96.0 96.0 96.0';
}
+// bouncing sparks
SUB(flac_explode) {
MY(airfriction) = 0.200000;
MY(alpha_min) = 256;
MY(velocityoffset) = '0.0 0.0 80.0';
}
+// bullet trail (somewhat like a tracer)
DEF(tr_bullet);
SUB(tr_bullet) {
MY(alpha_min) = 256;
MY(velocitymultiplier) = 3;
}
+// smoke emitter for small pipes
DEF(smoking_smallemitter);
SUB(smoking_smallemitter) {
MY(airfriction) = -1;
MY(velocityjitter) = '5.0 5.0 20.0';
}
+// crylink trail
DEF(TR_CRYLINKPLASMA);
+// plasma smoke
SUB(TR_CRYLINKPLASMA) {
MY(alpha_min) = 256;
MY(alpha_max) = 256;
MY(velocityjitter) = '8.0 8.0 8.0';
MY(velocitymultiplier) = -0.010000;
}
+// crylink main trail
SUB(TR_CRYLINKPLASMA) {
MY(alpha_min) = 256;
MY(alpha_max) = 256;
MY(type) = "spark";
MY(velocityjitter) = '99.0 99.0 55.0';
}
+// blood mist
SUB(alien_blood) {
MY(alpha_min) = 3000;
MY(alpha_max) = 5560;
MY(velocityjitter) = '264.0 264.0 264.0';
MY(velocityoffset) = '0.0 0.0 100.0';
}
+// shockwave
SUB(robot_blood) {
MY(alpha_max) = 90;
MY(alpha_fade) = 1000;
MY(tex_max) = 74;
MY(type) = "smoke";
}
+// electo sparks
SUB(robot_blood) {
MY(alpha_min) = 256;
MY(alpha_max) = 256;
MY(velocitymultiplier) = -0.100000;
}
-SUB(TR_BLOOD) {
+// splash around gib
+SUB(alien_TR_BLOOD) {
MY(alpha_min) = 684;
MY(alpha_max) = 684;
MY(alpha_fade) = 7492;
MY(velocityjitter) = '64.0 64.0 64.0';
MY(velocitymultiplier) = -0.300000;
}
+// fire
SUB(robot_TR_BLOOD) {
MY(airfriction) = 4;
MY(alpha_min) = 128;
MY(type) = "spark";
MY(velocityjitter) = '44.0 44.0 44.0';
}
+// arcs
SUB(robot_TR_BLOOD) {
MY(alpha_min) = 1128;
MY(alpha_max) = 1256;
}
DEF(item_pickup);
+// flare particle and light
SUB(item_pickup) {
MY(alpha_min) = 128;
MY(alpha_max) = 64;
MY(size_max) = 16;
MY(type) = "static";
}
+// cloud of particles which expand rapidly and then slow to form a ball
SUB(item_pickup) {
MY(alpha_min) = 256;
MY(alpha_max) = 256;
MY(type) = "spark";
MY(velocityjitter) = '764.0 764.0 764.0';
}
+// center blood
SUB(bloodshower) {
MY(alpha_min) = 156;
MY(alpha_max) = 656;
MY(type) = "spark";
MY(velocityjitter) = '764.0 764.0 764.0';
}
-
-SUB(bloodshower) {
+// center blood
+SUB(alien_bloodshower) {
MY(alpha_min) = 156;
MY(alpha_max) = 656;
MY(alpha_fade) = 1664;
MY(type) = "spark";
MY(velocityjitter) = '764.0 764.0 764.0';
}
-
+// arc
SUB(robot_bloodshower) {
MY(alpha_min) = 1128;
MY(alpha_max) = 1256;
MY(type) = "smoke";
MY(velocityjitter) = '44.0 44.0 44.0';
}
+// shockwave
SUB(robot_bloodshower) {
MY(alpha_min) = 11;
MY(alpha_max) = 125;
#define ground_quake(name, colormin, colormax) \
DEF(name##_ground_quake); \
- SUB(name##_ground_quake) { \
+ SUB(name##_ground_quake) /* smoke */ { \
MY(airfriction) = 3; \
MY(alpha_min) = 100; \
MY(alpha_max) = 126; \
MY(type) = "smoke"; \
MY(velocityjitter) = '22.0 22.0 50.0'; \
} \
- SUB(name##_ground_quake) { \
+ SUB(name##_ground_quake) /* smoke */ { \
MY(alpha_min) = 200; \
MY(alpha_max) = 256; \
MY(alpha_fade) = 200; \
ground_quake(blue, "0x64679E", "0x2D4C91")
#undef ground_quake
+// cl_gentle impact effect indicating damage
DEF(morphed_damage_hit);
SUB(morphed_damage_hit) {
MY(airfriction) = 5;
MY(type) = "smoke";
}
+// effect for removing player model
DEF(morphed_damage_dissolve);
SUB(morphed_damage_dissolve) {
MY(airfriction) = 8;
MY(velocityjitter) = '400.0 400.0 0.0';
}
+// Team / hit vaporizer effects
#define TE_TEI_G3(name, colormin1, colormax1, colormin2, colormax2) \
DEF(TE_TEI_G3##name); \
SUB(TE_TEI_G3##name) { \
MY(tex_max) = 200; \
MY(type) = "beam"; \
} \
- SUB(TE_TEI_G3##name##_HIT) { \
+ SUB(TE_TEI_G3##name##_HIT) /* rings */ { \
MY(airfriction) = -4; \
MY(alpha_min) = 256; \
MY(alpha_max) = 256; \
TE_TEI_G3(PINK, "0xFF00FF", "0xFF11FF", "0x200020", "0x400040")
#undef TE_TEI_G3
+// cl_gentle impact effect indicating damage
DEF(particlegibs_damage_hit);
+// core decal
SUB(particlegibs_damage_hit) {
MY(airfriction) = 3;
MY(alpha_min) = 256;
MY(type) = "blood";
MY(velocityjitter) = '156.0 156.0 212.0';
}
+// front blood
SUB(particlegibs_damage_hit) {
MY(airfriction) = 1;
MY(alpha_min) = 256;
MY(velocityjitter) = '6.0 6.0 30.0';
MY(velocitymultiplier) = -1;
}
+// back blood
SUB(particlegibs_damage_hit) {
MY(airfriction) = 1;
MY(alpha_min) = 256;
MY(velocitymultiplier) = 2;
}
+// effect for removing player model
DEF(particlegibs_damage_dissolve);
+// small core blood no decals
SUB(particlegibs_damage_dissolve) {
MY(airfriction) = 3;
MY(alpha_min) = 256;
MY(type) = "blood";
MY(velocityjitter) = '256.0 256.0 312.0';
}
+// core decal
SUB(particlegibs_damage_dissolve) {
MY(airfriction) = 2;
MY(alpha_min) = 256;
MY(type) = "blood";
MY(velocityjitter) = '356.0 356.0 412.0';
}
+// front blood
SUB(particlegibs_damage_dissolve) {
MY(airfriction) = 1;
MY(alpha_min) = 256;
MY(velocityjitter) = '56.0 56.0 212.0';
MY(velocitymultiplier) = -0.300000;
}
+// back blood
SUB(particlegibs_damage_dissolve) {
MY(airfriction) = 1;
MY(alpha_min) = 256;
MY(velocityjitter) = '56.0 56.0 212.0';
MY(velocitymultiplier) = 0.500000;
}
+// small bits
SUB(particlegibs_damage_dissolve) {
MY(airfriction) = 1.500000;
MY(alpha_min) = 256;
}
DEF(onslaught_generator_gib_explode);
+// fire effect which expands then slows
SUB(onslaught_generator_gib_explode) {
MY(airfriction) = 5;
MY(alpha_min) = 128;
MY(type) = "static";
MY(velocityjitter) = '286.0 286.0 286.0';
}
+// smoke
SUB(onslaught_generator_gib_explode) {
MY(airfriction) = 5;
MY(alpha_min) = 200;
MY(type) = "alphastatic";
MY(velocityjitter) = '244.0 244.0 244.0';
}
+// underwater bubbles
SUB(onslaught_generator_gib_explode) {
MY(alpha_min) = 128;
MY(alpha_max) = 256;
}
DEF(onslaught_generator_gib_flame);
+// fire effect which expands then slows
SUB(onslaught_generator_gib_flame) {
MY(airfriction) = 5;
MY(alpha_min) = 128;
MY(type) = "static";
MY(velocityjitter) = '86.0 86.0 86.0';
}
+// smoke
SUB(onslaught_generator_gib_flame) {
MY(airfriction) = 5;
MY(alpha_min) = 200;
MY(type) = "alphastatic";
MY(velocityjitter) = '44.0 44.0 44.0';
}
+// underwater bubbles
SUB(onslaught_generator_gib_flame) {
MY(alpha_min) = 128;
MY(alpha_max) = 256;
MY(type) = "smoke";
MY(velocityjitter) = '10.0 10.0 2.0';
}
+// slowfire
SUB(firemine) {
MY(airfriction) = 1.200000;
MY(alpha_min) = 50;
MY(type) = "smoke";
MY(velocityjitter) = '10.0 10.0 10.0';
}
+// very slow and small fire
SUB(firemine) {
MY(airfriction) = 0.300000;
MY(alpha_min) = 50;
MY(type) = "smoke";
MY(velocityjitter) = '8.0 8.0 8.0';
}
+// decreasing fire
SUB(firemine) {
MY(airfriction) = 0.300000;
MY(alpha_min) = 50;
MY(type) = "smoke";
MY(velocityjitter) = '3.0 3.0 3.0';
}
+// smoke
SUB(firemine) {
MY(airfriction) = 1;
MY(alpha_min) = 256;
MY(type) = "alphastatic";
MY(velocityoffset) = '0.0 0.0 3.0';
}
+// fastfire
SUB(firemine) {
MY(airfriction) = 1.200000;
MY(alpha_min) = 50;
MY(trailspacing) = 1;
MY(type) = "smoke";
}
+// light only
SUB(firemine) {
MY(lightcolor) = '2.7 2.7 0.6';
MY(lightradiusfade) = 50000;
MY(type) = "smoke";
MY(velocityjitter) = '40.0 40.0 11.0';
}
+// slow fire
SUB(fireball) {
MY(airfriction) = 1.200000;
MY(alpha_min) = 50;
MY(type) = "smoke";
MY(velocityjitter) = '40.0 40.0 40.0';
}
+// very slow and small fire
SUB(fireball) {
MY(airfriction) = 0.300000;
MY(alpha_min) = 50;
MY(type) = "smoke";
MY(velocityjitter) = '30.0 30.0 30.0';
}
+// decreasing fire
SUB(fireball) {
MY(airfriction) = 0.300000;
MY(alpha_min) = 50;
MY(type) = "smoke";
MY(velocityjitter) = '10.0 10.0 10.0';
}
+// smoke
SUB(fireball) {
MY(airfriction) = 1;
MY(alpha_min) = 256;
MY(type) = "alphastatic";
MY(velocityoffset) = '0.0 0.0 10.0';
}
+// fast fire
SUB(fireball) {
MY(airfriction) = 1.200000;
MY(alpha_min) = 50;
MY(trailspacing) = 1;
MY(type) = "smoke";
}
+// light only
SUB(fireball) {
MY(lightcolor) = '2.7 2.7 0.6';
MY(lightradiusfade) = 3000;
MY(velocitymultiplier) = 10;
}
+// rocket explosion (bigger than mortar and hagar)
DEF(fireball_explode);
+// decal
SUB(fireball_explode) {
MY(alpha_min) = 256;
MY(alpha_max) = 256;
MY(tex_max) = 16;
MY(type) = "decal";
}
+// flare effect
SUB(fireball_explode) {
MY(alpha_min) = 192;
MY(alpha_max) = 192;
MY(tex_max) = 37;
MY(type) = "static";
}
+// fire effect
SUB(fireball_explode) {
MY(airfriction) = 4;
MY(alpha_min) = 128;
MY(type) = "static";
MY(velocityjitter) = '512.0 512.0 512.0';
}
+// underwater bubbles
SUB(fireball_explode) {
MY(alpha_min) = 128;
MY(alpha_max) = 256;
MY(underwater) = true;
MY(velocityjitter) = '144.0 144.0 144.0';
}
+// bouncing sparks
SUB(fireball_explode) {
MY(airfriction) = 0.200000;
MY(alpha_min) = 256;
}
DEF(EF_FLAME);
+// fire
SUB(EF_FLAME) {
MY(alpha_min) = 200;
MY(alpha_max) = 356;
MY(type) = "smoke";
MY(velocityjitter) = '22.0 22.0 50.0';
}
+// smoke
SUB(EF_FLAME) {
MY(alpha_min) = 200;
MY(alpha_max) = 256;
MY(lightradius) = 200;
}
+// rifle bullet trail (somewhat like a tracer)
DEF(tr_rifle);
SUB(tr_rifle) {
MY(alpha_min) = 256;
MY(velocityjitter) = '16.0 16.0 16.0';
}
+// rocket guiding start
DEF(rocket_guide);
+// underwater bubbles
SUB(rocket_guide) {
MY(alpha_min) = 128;
MY(alpha_max) = 256;
MY(velocityjitter) = '48.0 48.0 48.0';
MY(velocitymultiplier) = -0.100000;
}
+// bouncing sparks
SUB(rocket_guide) {
MY(airfriction) = 0.200000;
MY(alpha_min) = 256;
MY(type) = "smoke";
}
+// gauntlet laser
DEF(laser_gauntlet);
SUB(laser_gauntlet) {
MY(airfriction) = 10;
}
DEF(laser_gauntletmuzzleflash);
+// glow and light
SUB(laser_gauntletmuzzleflash) {
MY(airfriction) = 10;
MY(alpha_min) = 256;
MY(tex_max) = 65;
MY(type) = "smoke";
}
+// electricity
SUB(laser_gauntletmuzzleflash) {
MY(airfriction) = 10;
MY(alpha_min) = 128;
MY(velocityjitter) = '150.0 150.0 150.0';
MY(velocitymultiplier) = 0.200000;
}
+// fire
SUB(laser_gauntletmuzzleflash) {
MY(airfriction) = 12;
MY(alpha_min) = 256;
MY(velocitymultiplier) = 0.200000;
}
+// torch flame, spawn it as fast as you can 20 times per second or more, supports direction but not required
DEF(torchflame);
+// fast fire
SUB(torchflame) {
MY(airfriction) = 1.200000;
MY(alpha_min) = 50;
MY(velocityjitter) = '40.0 40.0 11.0';
MY(velocitymultiplier) = 30;
}
+// slow fire
SUB(torchflame) {
MY(airfriction) = 1.200000;
MY(alpha_min) = 50;
MY(velocityjitter) = '40.0 40.0 40.0';
MY(velocitymultiplier) = 20;
}
+// very slow and small fire
SUB(torchflame) {
MY(airfriction) = 0.300000;
MY(alpha_min) = 50;
MY(velocityjitter) = '30.0 30.0 30.0';
MY(velocitymultiplier) = 10;
}
+// decreasing fire
SUB(torchflame) {
MY(airfriction) = 0.300000;
MY(alpha_min) = 50;
MY(velocityjitter) = '10.0 10.0 10.0';
MY(velocitymultiplier) = 15;
}
+// smoke
SUB(torchflame) {
MY(airfriction) = 1;
MY(alpha_min) = 256;
MY(velocityoffset) = '0.0 0.0 10.0';
}
+// happy death fx for cl_gentle
DEF(happy_damage_dissolve);
SUB(happy_damage_dissolve) {
MY(airfriction) = 3;
MY(velocityjitter) = '312.0 312.0 312.0';
}
+// happy damage fx for cl_gentle
DEF(happy_damage_hit);
SUB(happy_damage_hit) {
MY(airfriction) = 5;
}
DEF(crylink_joinexplode);
+// decal
SUB(crylink_joinexplode) {
MY(alpha_min) = 256;
MY(alpha_max) = 256;
MY(tex_max) = 47;
MY(type) = "decal";
}
+// purple flare effect
SUB(crylink_joinexplode) {
MY(alpha_min) = 256;
MY(alpha_max) = 256;
MY(tex_max) = 39;
MY(type) = "static";
}
+// purple sparks
SUB(crylink_joinexplode) {
MY(alpha_min) = 256;
MY(alpha_max) = 256;
MY(type) = "spark";
MY(velocityjitter) = '512.0 512.0 512.0';
}
+// purple splash
SUB(crylink_joinexplode) {
MY(alpha_min) = 256;
MY(alpha_max) = 256;
MY(type) = "static";
MY(velocityjitter) = '32.0 32.0 32.0';
}
+// purple splash
SUB(crylink_joinexplode) {
MY(alpha_min) = 256;
MY(alpha_max) = 256;
MY(velocityjitter) = '256.0 256.0 256.0';
}
+// sparks for keepaway ball touch
DEF(kaball_sparks);
SUB(kaball_sparks) {
MY(airfriction) = 3;
MY(velocitymultiplier) = 0.500000;
}
+// weak rifle bullet trail (somewhat like a tracer)
DEF(tr_rifle_weak);
SUB(tr_rifle_weak) {
MY(alpha_min) = 256;
MY(velocityjitter) = '16.0 16.0 16.0';
}
+// red smoke emiter
DEF(red_smoke);
SUB(red_smoke) {
MY(airfriction) = -1;
MY(velocitymultiplier) = 5;
}
+// pipe smoke emiter
DEF(pipe_smoke);
SUB(pipe_smoke) {
MY(airfriction) = -1;
MY(velocitymultiplier) = 15;
}
+// seeker missile trail
DEF(TR_SEEKER);
SUB(TR_SEEKER) {
MY(alpha_min) = 200;
MY(velocityjitter) = '3.0 3.0 3.0';
MY(velocitymultiplier) = -0.020000;
}
+// fire
SUB(TR_SEEKER) {
MY(airfriction) = 8;
MY(alpha_min) = 100;
MY(velocityjitter) = '32.0 32.0 32.0';
MY(velocitymultiplier) = -1.500000;
}
+// bubbles
SUB(TR_SEEKER) {
MY(alpha_min) = 256;
MY(alpha_max) = 256;
MY(velocityjitter) = '16.0 16.0 16.0';
MY(velocitymultiplier) = -0.310000;
}
+// sparks
SUB(TR_SEEKER) {
MY(airfriction) = 5;
MY(alpha_min) = 444;
MY(velocityjitter) = '150.0 150.0 150.0';
MY(velocitymultiplier) = 0.350000;
}
+// fire
SUB(spiderbot_minigun_muzzleflash) {
MY(airfriction) = 12;
MY(alpha_min) = 256;
MY(tex_max) = 65;
MY(type) = "static";
}
+// fire
SUB(spiderbot_minigun_impact) {
MY(airfriction) = 6;
MY(alpha_min) = 256;
MY(velocityjitter) = '250.0 250.0 150.0';
MY(velocitymultiplier) = 0.200000;
}
+// smoke
SUB(spiderbot_minigun_impact) {
MY(airfriction) = 10;
MY(alpha_min) = 50;
MY(velocityjitter) = '100.0 100.0 250.0';
MY(velocitymultiplier) = 0.490000;
}
+// smoke 2
SUB(spiderbot_minigun_impact) {
MY(airfriction) = 6;
MY(alpha_min) = 25;
MY(velocityjitter) = '250.0 250.0 150.0';
MY(velocitymultiplier) = 0.200000;
}
+// debris
SUB(spiderbot_minigun_impact) {
MY(airfriction) = 0.400000;
MY(alpha_min) = 644;
MY(velocityjitter) = '124.0 124.0 224.0';
MY(velocitymultiplier) = 0.150000;
}
+// decal
SUB(spiderbot_minigun_impact) {
MY(alpha_min) = 256;
MY(alpha_max) = 256;
MY(tex_max) = 16;
MY(type) = "decal";
}
+// shockwave
SUB(spiderbot_rocket_explode) {
MY(alpha_min) = 56;
MY(alpha_max) = 56;
MY(tex_max) = 33;
MY(type) = "static";
}
+// glow
SUB(spiderbot_rocket_explode) {
MY(alpha_min) = 156;
MY(alpha_max) = 156;
MY(tex_max) = 64;
MY(type) = "static";
}
+// fire effect
SUB(spiderbot_rocket_explode) {
MY(airfriction) = 8;
MY(alpha_min) = 200;
MY(type) = "static";
MY(velocityjitter) = '512.0 512.0 512.0';
}
+// fire effect 2
SUB(spiderbot_rocket_explode) {
MY(airfriction) = -2;
MY(alpha_min) = 200;
MY(type) = "spark";
MY(velocityjitter) = '412.0 412.0 412.0';
}
+// fire rays
SUB(spiderbot_rocket_explode) {
MY(airfriction) = -3;
MY(alpha_min) = 200;
MY(type) = "spark";
MY(velocityjitter) = '712.0 712.0 712.0';
}
+// smoke
SUB(spiderbot_rocket_explode) {
MY(airfriction) = 3;
MY(alpha_min) = 300;
MY(type) = "alphastatic";
MY(velocityjitter) = '200.0 200.0 200.0';
}
+// smoke2
SUB(spiderbot_rocket_explode) {
MY(airfriction) = 2;
MY(alpha_min) = 300;
MY(type) = "alphastatic";
MY(velocityjitter) = '200.0 200.0 200.0';
}
+// underwater bubbles
SUB(spiderbot_rocket_explode) {
MY(alpha_min) = 128;
MY(alpha_max) = 256;
MY(underwater) = true;
MY(velocityjitter) = '144.0 144.0 144.0';
}
+// underwatershockwave
SUB(spiderbot_rocket_explode) {
MY(alpha_min) = 40;
MY(alpha_max) = 40;
}
DEF(spiderbot_rocket_launch);
+// long lasting smoke
SUB(spiderbot_rocket_launch) {
MY(airfriction) = 0.300000;
MY(alpha_min) = 100;
MY(velocityjitter) = '60.0 60.0 60.0';
MY(velocitymultiplier) = -0.100000;
}
+// fast smoke
SUB(spiderbot_rocket_launch) {
MY(airfriction) = 0.300000;
MY(alpha_min) = 100;
MY(type) = "smoke";
MY(velocityjitter) = '160.0 160.0 60.0';
}
+// fire
SUB(spiderbot_rocket_launch) {
MY(airfriction) = 0.300000;
MY(alpha_min) = 200;
MY(velocityjitter) = '60.0 60.0 60.0';
MY(velocitymultiplier) = 0.500000;
}
+// sparks
SUB(spiderbot_rocket_launch) {
MY(alpha_min) = 200;
MY(alpha_max) = 256;
MY(tex_max) = 16;
MY(type) = "decal";
}
+// shockwave
SUB(wakizashi_rocket_explode) {
MY(alpha_min) = 56;
MY(alpha_max) = 56;
MY(tex_max) = 33;
MY(type) = "static";
}
+// glow
SUB(wakizashi_rocket_explode) {
MY(alpha_min) = 156;
MY(alpha_max) = 156;
MY(tex_max) = 64;
MY(type) = "static";
}
+// fire effect
SUB(wakizashi_rocket_explode) {
MY(airfriction) = 2;
MY(alpha_min) = 200;
MY(type) = "static";
MY(velocityjitter) = '512.0 512.0 512.0';
}
+// fire rays
SUB(wakizashi_rocket_explode) {
MY(airfriction) = -3;
MY(alpha_min) = 200;
MY(type) = "spark";
MY(velocityjitter) = '512.0 512.0 512.0';
}
+// smoke
SUB(wakizashi_rocket_explode) {
MY(airfriction) = 3;
MY(alpha_min) = 300;
MY(type) = "alphastatic";
MY(velocityjitter) = '200.0 200.0 200.0';
}
+// bouncing sparks
SUB(wakizashi_rocket_explode) {
MY(airfriction) = 1;
MY(alpha_min) = 644;
MY(velocityjitter) = '524.0 524.0 524.0';
MY(velocityoffset) = '0.0 0.0 170.0';
}
+// underwater bubbles
SUB(wakizashi_rocket_explode) {
MY(alpha_min) = 128;
MY(alpha_max) = 256;
MY(underwater) = true;
MY(velocityjitter) = '144.0 144.0 144.0';
}
+// underwatershockwave
SUB(wakizashi_rocket_explode) {
MY(alpha_min) = 40;
MY(alpha_max) = 40;
}
DEF(wakizashi_rocket_launch);
+// long lasting smoke
SUB(wakizashi_rocket_launch) {
MY(airfriction) = 0.300000;
MY(alpha_min) = 100;
MY(velocityjitter) = '160.0 160.0 60.0';
MY(velocitymultiplier) = -0.100000;
}
+// fast smoke
SUB(wakizashi_rocket_launch) {
MY(airfriction) = 0.300000;
MY(alpha_min) = 100;
MY(velocityjitter) = '160.0 160.0 60.0';
MY(velocitymultiplier) = 0.400000;
}
+//sparks
SUB(wakizashi_rocket_launch) {
MY(alpha_min) = 200;
MY(alpha_max) = 256;
}
DEF(raptor_cannon_impact);
+// decal
SUB(raptor_cannon_impact) {
MY(alpha_min) = 256;
MY(alpha_max) = 256;
MY(tex_max) = 47;
MY(type) = "decal";
}
+// spark
SUB(raptor_cannon_impact) {
MY(airfriction) = 0.200000;
MY(alpha_min) = 644;
MY(velocityjitter) = '124.0 124.0 524.0';
MY(velocityoffset) = '0.0 0.0 150.0';
}
+// smoke
SUB(raptor_cannon_impact) {
MY(airfriction) = 2;
MY(alpha_min) = 428;
MY(velocityjitter) = '200.0 200.0 300.0';
MY(velocityoffset) = '0.0 0.0 340.0';
}
+// fire
SUB(raptor_cannon_impact) {
MY(airfriction) = 8;
MY(alpha_min) = 200;
}
DEF(raptor_bomb_impact);
+// decal
SUB(raptor_bomb_impact) {
MY(alpha_min) = 256;
MY(alpha_max) = 256;
MY(tex_max) = 16;
MY(type) = "decal";
}
+// spark vertical
SUB(raptor_bomb_impact) {
MY(alpha_min) = 300;
MY(alpha_max) = 300;
MY(type) = "spark";
MY(velocityjitter) = '40.0 40.0 120.0';
}
+// fire
SUB(raptor_bomb_impact) {
MY(airfriction) = 2;
MY(alpha_min) = 300;
MY(type) = "static";
MY(velocityjitter) = '950.0 950.0 0.0';
}
+// smoke
SUB(raptor_bomb_impact) {
MY(alpha_min) = 428;
MY(alpha_max) = 428;
MY(velocityjitter) = '200.0 200.0 280.0';
MY(velocityoffset) = '0.0 0.0 280.0';
}
+// smoke 2
SUB(raptor_bomb_impact) {
MY(airfriction) = 0.600000;
MY(alpha_min) = 328;
MY(velocityjitter) = '200.0 200.0 300.0';
MY(velocityoffset) = '0.0 0.0 580.0';
}
+// sparks
SUB(raptor_bomb_impact) {
MY(airfriction) = 0.300000;
MY(alpha_min) = 644;
MY(velocityjitter) = '324.0 324.0 324.0';
}
+// generic explosion size:big (biggest explosion ever)
DEF(explosion_big);
+// decal
SUB(explosion_big) {
MY(alpha_min) = 256;
MY(alpha_max) = 256;
MY(tex_max) = 16;
MY(type) = "decal";
}
+// shockwave
SUB(explosion_big) {
MY(alpha_min) = 56;
MY(alpha_max) = 56;
MY(tex_max) = 33;
MY(type) = "static";
}
+// fire effect
SUB(explosion_big) {
MY(airfriction) = 8;
MY(alpha_min) = 200;
MY(type) = "static";
MY(velocityjitter) = '2512.0 2512.0 2512.0';
}
+// fire rays
SUB(explosion_big) {
MY(airfriction) = -5;
MY(alpha_min) = 200;
MY(type) = "spark";
MY(velocityjitter) = '512.0 512.0 512.0';
}
+// smoke
SUB(explosion_big) {
MY(airfriction) = 8;
MY(alpha_min) = 300;
MY(type) = "alphastatic";
MY(velocityjitter) = '3444.0 3444.0 3444.0';
}
+// bouncing sparks
SUB(explosion_big) {
MY(airfriction) = 1;
MY(alpha_min) = 644;
MY(velocityjitter) = '924.0 924.0 924.0';
MY(velocityoffset) = '0.0 0.0 370.0';
}
+// debris
SUB(explosion_big) {
MY(airfriction) = 0.500000;
MY(alpha_min) = 444;
MY(velocityjitter) = '1800.0 1800.0 1800.0';
MY(velocityoffset) = '0.0 0.0 970.0';
}
+// underwater bubbles
SUB(explosion_big) {
MY(alpha_min) = 128;
MY(alpha_max) = 256;
MY(underwater) = true;
MY(velocityjitter) = '444.0 444.0 444.0';
}
+// underwatershockwave
SUB(explosion_big) {
MY(alpha_min) = 40;
MY(alpha_max) = 40;
MY(velocitymultiplier) = 0.300000;
}
+// generic explosion size:medium (it leaves rising smoke for a longer time)
DEF(explosion_medium);
+// shockwave
SUB(explosion_medium) {
MY(alpha_min) = 56;
MY(alpha_max) = 56;
MY(tex_max) = 33;
MY(type) = "static";
}
+// fire effect
SUB(explosion_medium) {
MY(airfriction) = 8;
MY(alpha_min) = 200;
MY(type) = "static";
MY(velocityjitter) = '1512.0 1512.0 1512.0';
}
+// fire effect 2
SUB(explosion_medium) {
MY(airfriction) = 8;
MY(alpha_min) = 200;
MY(type) = "static";
MY(velocityjitter) = '1512.0 1512.0 1512.0';
}
+// fire rays
SUB(explosion_medium) {
MY(airfriction) = -3;
MY(alpha_min) = 200;
MY(type) = "spark";
MY(velocityjitter) = '512.0 512.0 512.0';
}
+// smoke
SUB(explosion_medium) {
MY(airfriction) = 3;
MY(alpha_min) = 300;
MY(type) = "alphastatic";
MY(velocityjitter) = '200.0 200.0 200.0';
}
+// smoke 2
SUB(explosion_medium) {
MY(airfriction) = 3;
MY(alpha_min) = 300;
MY(velocityjitter) = '500.0 500.0 500.0';
MY(velocityoffset) = '0.0 0.0 200.0';
}
+// smoke rays
SUB(explosion_medium) {
MY(alpha_min) = 140;
MY(alpha_max) = 255;
MY(type) = "spark";
MY(velocityjitter) = '250.0 250.0 250.0';
}
+// bouncing sparks
SUB(explosion_medium) {
MY(airfriction) = 1;
MY(alpha_min) = 644;
MY(velocityjitter) = '624.0 624.0 624.0';
MY(velocityoffset) = '0.0 0.0 370.0';
}
+// underwater bubbles
SUB(explosion_medium) {
MY(alpha_min) = 128;
MY(alpha_max) = 256;
MY(underwater) = true;
MY(velocityjitter) = '444.0 444.0 444.0';
}
+// underwatershockwave
SUB(explosion_medium) {
MY(alpha_min) = 40;
MY(alpha_max) = 40;
MY(velocitymultiplier) = 0.300000;
}
+// generic explosion size:small (its fire only, made to support other explosions)
DEF(explosion_small);
+// shockwave
SUB(explosion_small) {
MY(alpha_min) = 56;
MY(alpha_max) = 56;
MY(tex_max) = 33;
MY(type) = "static";
}
+// fire effect
SUB(explosion_small) {
MY(airfriction) = 5;
MY(alpha_min) = 200;
MY(type) = "static";
MY(velocityjitter) = '512.0 512.0 512.0';
}
+// fire effect 2
SUB(explosion_small) {
MY(airfriction) = 8;
MY(alpha_min) = 200;
MY(type) = "static";
MY(velocityjitter) = '912.0 912.0 912.0';
}
+// fire rays
SUB(explosion_small) {
MY(airfriction) = -3;
MY(alpha_min) = 200;
MY(type) = "spark";
MY(velocityjitter) = '512.0 512.0 512.0';
}
+// underwater bubbles
SUB(explosion_small) {
MY(alpha_min) = 128;
MY(alpha_max) = 256;
MY(underwater) = true;
MY(velocityjitter) = '144.0 144.0 144.0';
}
+// underwatershockwave
SUB(explosion_small) {
MY(alpha_min) = 40;
MY(alpha_max) = 40;
MY(underwater) = true;
}
+// big smoke ( for spamming on damaged stuff )
DEF(smoke_big);
SUB(smoke_big) {
MY(airfriction) = 4;
MY(velocityoffset) = '0.0 0.0 200.0';
}
+// small smoke ( more precise than big one, for spamming on damaged parts like raptors spinner )
DEF(smoke_small);
SUB(smoke_small) {
MY(airfriction) = 4;
MY(velocityoffset) = '0.0 0.0 200.0';
}
+// metal impact effect
DEF(impact_metal);
SUB(impact_metal) {
MY(alpha_min) = 25;
MY(tex_max) = 8;
MY(type) = "alphastatic";
}
+// sparks
SUB(impact_metal) {
MY(airfriction) = 2;
MY(alpha_min) = 255;
MY(velocitymultiplier) = 2;
}
+// stone impact effect
DEF(impact_stone);
SUB(impact_stone) {
MY(alpha_min) = 50;
MY(tex_max) = 8;
MY(type) = "alphastatic";
}
+// debris
SUB(impact_stone) {
MY(airfriction) = 0.500000;
MY(alpha_min) = 450;
MY(velocityjitter) = '124.0 124.0 324.0';
}
+// wood impact effect
DEF(impact_wood);
SUB(impact_wood) {
MY(alpha_min) = 50;
MY(tex_max) = 8;
MY(type) = "alphastatic";
}
+// sparks
SUB(impact_wood) {
MY(airfriction) = 2;
MY(alpha_min) = 255;
MY(velocitymultiplier) = 2;
}
+// flesh impact effect
DEF(impact_flesh);
SUB(impact_flesh) {
MY(alpha_min) = 100;
MY(tex_max) = 8;
MY(type) = "alphastatic";
}
+// blood splash
SUB(impact_flesh) {
MY(airfriction) = 1;
MY(alpha_min) = 256;
MY(velocitymultiplier) = 5;
}
+// hagar trail
DEF(tr_hagar);
+// smoke
SUB(tr_hagar) {
MY(alpha_min) = 300;
MY(alpha_max) = 400;
MY(velocityjitter) = '1.0 1.0 1.0';
MY(velocitymultiplier) = -0.020000;
}
+// fire
SUB(tr_hagar) {
MY(airfriction) = 8;
MY(alpha_min) = 100;
MY(velocityjitter) = '32.0 32.0 32.0';
MY(velocitymultiplier) = -1;
}
+// bubbles
SUB(tr_hagar) {
MY(alpha_min) = 256;
MY(alpha_max) = 256;
MY(velocityjitter) = '16.0 16.0 16.0';
}
+// laser damage effect
DEF(damage_laser);
SUB(damage_laser) {
MY(airfriction) = -0.350000;
MY(velocityjitter) = '0.4 0.4 0.6';
}
+// shotgun damage effect, normal blood
DEF(damage_shotgun);
SUB(damage_shotgun) {
MY(airfriction) = 1;
MY(velocityjitter) = '64.0 64.0 64.0';
MY(velocitymultiplier) = 5;
}
+// blood mist
SUB(damage_shotgun) {
MY(alpha_min) = 100;
MY(alpha_max) = 256;
MY(type) = "alphastatic";
}
+// shotgun damage effect, alien blood
DEF(damage_shotgun_alien);
SUB(damage_shotgun_alien) {
MY(airfriction) = 1;
MY(velocityjitter) = '64.0 64.0 64.0';
MY(velocitymultiplier) = 5;
}
+// blood mist
SUB(damage_shotgun_alien) {
MY(alpha_min) = 100;
MY(alpha_max) = 256;
MY(type) = "alphastatic";
}
+// shotgun damage effect, robot blood
DEF(damage_shotgun_robot);
SUB(damage_shotgun_robot) {
MY(airfriction) = 1;
MY(velocityjitter) = '64.0 64.0 64.0';
MY(velocitymultiplier) = 5;
}
+// blood mist
SUB(damage_shotgun_robot) {
MY(alpha_min) = 100;
MY(alpha_max) = 256;
MY(type) = "alphastatic";
}
+// machinegun damage effect, normal blood
DEF(damage_uzi);
SUB(damage_uzi) {
MY(airfriction) = 1;
MY(velocityjitter) = '32.0 32.0 32.0';
MY(velocitymultiplier) = 5;
}
+// blood mist
SUB(damage_uzi) {
MY(alpha_min) = 100;
MY(alpha_max) = 256;
MY(type) = "alphastatic";
}
+// machinegun damage effect, alien blood
DEF(damage_uzi_alien);
SUB(damage_uzi_alien) {
MY(airfriction) = 1;
MY(velocityjitter) = '32.0 32.0 32.0';
MY(velocitymultiplier) = 5;
}
+// blood mist
SUB(damage_uzi_alien) {
MY(alpha_min) = 100;
MY(alpha_max) = 256;
MY(type) = "alphastatic";
}
+// machinegun damage effect, robot blood
DEF(damage_uzi_robot);
SUB(damage_uzi_robot) {
MY(airfriction) = 1;
MY(velocityjitter) = '32.0 32.0 32.0';
MY(velocitymultiplier) = 5;
}
+// blood mist
SUB(damage_uzi_robot) {
MY(alpha_min) = 100;
MY(alpha_max) = 256;
MY(type) = "alphastatic";
}
+// minelayer damage effect
DEF(damage_minelayer);
SUB(damage_minelayer) {
MY(alpha_min) = 512;
MY(type) = "smoke";
MY(velocityjitter) = '22.0 22.0 50.0';
}
+// smoke
SUB(damage_minelayer) {
MY(alpha_min) = 128;
MY(alpha_max) = 32;
MY(velocityjitter) = '11.0 11.0 50.0';
}
+// mortar damage effect
DEF(damage_grenadelauncher);
SUB(damage_grenadelauncher) {
MY(alpha_min) = 512;
MY(type) = "smoke";
MY(velocityjitter) = '22.0 22.0 50.0';
}
+// smoke
SUB(damage_grenadelauncher) {
MY(alpha_min) = 128;
MY(alpha_max) = 32;
MY(velocityjitter) = '11.0 11.0 50.0';
}
+// electro damage effect
DEF(damage_electro);
SUB(damage_electro) {
MY(airfriction) = -0.500000;
MY(type) = "static";
MY(velocityjitter) = '8.0 8.0 16.0';
}
+// plasma smoke
SUB(damage_electro) {
MY(airfriction) = -0.350000;
MY(alpha_min) = 64;
MY(type) = "smoke";
MY(velocityjitter) = '0.4 0.4 0.6';
}
+// bouncing sparks
SUB(damage_electro) {
MY(airfriction) = 1;
MY(alpha_min) = 768;
MY(velocityjitter) = '32.0 32.0 32.0';
}
+// crylink damage effect
DEF(damage_crylink);
SUB(damage_crylink) {
MY(airfriction) = -0.500000;
MY(type) = "static";
MY(velocityjitter) = '10.0 10.0 20.0';
}
+// plasma smoke
SUB(damage_crylink) {
MY(airfriction) = -0.350000;
MY(alpha_min) = 64;
MY(type) = "smoke";
MY(velocityjitter) = '0.4 0.4 0.6';
}
+// floating sparks
SUB(damage_crylink) {
MY(airfriction) = 0.200000;
MY(alpha_min) = 192;
MY(velocityjitter) = '12.0 12.0 12.0';
}
+// hlac damage effect
DEF(damage_hlac);
SUB(damage_hlac) {
MY(airfriction) = -0.350000;
MY(velocityjitter) = '0.4 0.4 0.6';
}
+// vortex damage effect
DEF(damage_nex);
SUB(damage_nex) {
MY(airfriction) = -0.500000;
MY(type) = "static";
MY(velocityjitter) = '8.0 8.0 16.0';
}
+// plasma smoke
SUB(damage_nex) {
MY(airfriction) = -0.350000;
MY(alpha_min) = 64;
MY(type) = "smoke";
MY(velocityjitter) = '0.5 0.5 0.8';
}
+// bouncing sparks
SUB(damage_nex) {
MY(airfriction) = 2;
MY(alpha_min) = 255;
MY(velocitymultiplier) = 3;
}
+// vaporizer damage effect
DEF(damage_minstanex);
SUB(damage_minstanex) {
MY(airfriction) = -0.500000;
MY(type) = "static";
MY(velocityjitter) = '8.0 8.0 16.0';
}
+// plasma smoke
SUB(damage_minstanex) {
MY(airfriction) = -0.350000;
MY(alpha_min) = 64;
MY(type) = "smoke";
MY(velocityjitter) = '0.5 0.5 0.8';
}
+// bouncing sparks
SUB(damage_minstanex) {
MY(airfriction) = 2;
MY(alpha_min) = 255;
MY(velocitymultiplier) = 3;
}
+// rifle damage effect, normal blood
DEF(damage_rifle);
SUB(damage_rifle) {
MY(airfriction) = 1;
MY(velocityjitter) = '32.0 32.0 32.0';
MY(velocitymultiplier) = 5;
}
+// blood mist
SUB(damage_rifle) {
MY(alpha_min) = 100;
MY(alpha_max) = 256;
MY(type) = "alphastatic";
}
+// rifle damage effect, alien blood
DEF(damage_rifle_alien);
SUB(damage_rifle_alien) {
MY(airfriction) = 1;
MY(velocityjitter) = '32.0 32.0 32.0';
MY(velocitymultiplier) = 5;
}
+// blood mist
SUB(damage_rifle_alien) {
MY(alpha_min) = 100;
MY(alpha_max) = 256;
MY(type) = "alphastatic";
}
+// rifle damage effect, robot blood
DEF(damage_rifle_robot);
SUB(damage_rifle_robot) {
MY(airfriction) = 1;
MY(velocityjitter) = '32.0 32.0 32.0';
MY(velocitymultiplier) = 5;
}
+// blood mist
SUB(damage_rifle_robot) {
MY(alpha_min) = 100;
MY(alpha_max) = 256;
MY(type) = "alphastatic";
}
+// seeker damage effect
DEF(damage_seeker);
SUB(damage_seeker) {
MY(alpha_min) = 512;
MY(type) = "smoke";
MY(velocityjitter) = '22.0 22.0 50.0';
}
+// smoke
SUB(damage_seeker) {
MY(alpha_min) = 128;
MY(alpha_max) = 32;
MY(velocityjitter) = '11.0 11.0 50.0';
}
+// hagar damage effect
DEF(damage_hagar);
SUB(damage_hagar) {
MY(alpha_min) = 512;
MY(type) = "smoke";
MY(velocityjitter) = '22.0 22.0 50.0';
}
+// smoke
SUB(damage_hagar) {
MY(alpha_min) = 128;
MY(alpha_max) = 32;
MY(velocityjitter) = '11.0 11.0 50.0';
}
+// fireball damage effect
DEF(damage_fireball);
SUB(damage_fireball) {
MY(alpha_min) = 256;
MY(type) = "smoke";
MY(velocityjitter) = '22.0 22.0 50.0';
}
+// smoke
SUB(damage_fireball) {
MY(alpha_min) = 128;
MY(alpha_max) = 32;
MY(velocityjitter) = '11.0 11.0 50.0';
}
+// rocketlauncher damage effect
DEF(damage_rocketlauncher);
SUB(damage_rocketlauncher) {
MY(alpha_min) = 512;
MY(type) = "smoke";
MY(velocityjitter) = '22.0 22.0 30.0';
}
+// smoke
SUB(damage_rocketlauncher) {
MY(alpha_min) = 128;
MY(alpha_max) = 32;
MY(velocityjitter) = '11.0 11.0 50.0';
}
+// fireflies
DEF(fireflies);
SUB(fireflies) {
MY(airfriction) = 5;
MY(tex_max) = 59;
MY(type) = "decal";
}
+// shockwave
SUB(healray_impact) {
MY(alpha_min) = 40;
MY(alpha_max) = 40;
MY(type) = "smoke";
MY(velocitymultiplier) = 44;
}
+// cloud of bouncing sparks
SUB(healray_impact) {
MY(airfriction) = 6;
MY(alpha_min) = 156;
MY(type) = "spark";
MY(velocityjitter) = '1112.0 1112.0 1112.0';
}
+// inner cloud of smoke
SUB(healray_impact) {
MY(airfriction) = 3;
MY(alpha_min) = 200;
MY(tex_max) = 59;
MY(type) = "decal";
}
+// shockwave
SUB(bigplasma_impact) {
MY(alpha_min) = 40;
MY(alpha_max) = 40;
MY(type) = "smoke";
MY(velocitymultiplier) = 44;
}
+// cloud of bouncing sparks
SUB(bigplasma_impact) {
MY(airfriction) = 6;
MY(alpha_min) = 156;
MY(type) = "spark";
MY(velocityjitter) = '1512.0 1512.0 1512.0';
}
+// inner cloud of smoke
SUB(bigplasma_impact) {
MY(airfriction) = 30;
MY(alpha_min) = 200;
MY(type) = "smoke";
MY(velocityjitter) = '320.0 320.0 320.0';
}
+// smoke
SUB(bigplasma_impact) {
MY(airfriction) = 0.040000;
MY(alpha_min) = 128;
MY(velocityjitter) = '100.0 100.0 200.0';
MY(velocityoffset) = '0.0 0.0 180.0';
}
+// smoke in the middle
SUB(bigplasma_impact) {
MY(airfriction) = 0.040000;
MY(alpha_min) = 128;
MY(velocityjitter) = '10.0 10.0 10.0';
}
+// flag_touch -- effects for touching the flag
#define flag_touch(name, colormin, colormax) \
DEF(name##flag_touch); \
SUB(name##flag_touch) { \
pass(blue, "0x0000FF", "0x000097")
#undef pass
+// cap -- team capture effect
#define cap(name, colormin, colormax) \
DEF(name##_cap); \
SUB(name##_cap) { \
cap(blue, "0x0000FF", "0x000097")
#undef cap
+// spawn_point -- team idle spawn point effect
#define spawn_point(name, color) \
DEF(spawn_point_##name); \
SUB(spawn_point_##name) { \
spawn_point(neutral, "0xFFFFFF")
#undef spawn_point
+// spawn_event -- team spawning effect
#define spawn_event(name, color) \
DEF(spawn_event_##name); \
SUB(spawn_event_##name) { \
MY(trailspacing) = 1; \
MY(type) = "smoke"; \
} \
- SUB(nade_##name) { \
+ SUB(nade_##name) /* fire */ { \
MY(alpha_min) = 30; \
MY(alpha_max) = 30; \
MY(alpha_fade) = 150; \
MY(trailspacing) = 8; \
MY(type) = "smoke"; \
} \
- SUB(nade_##name) { \
+ SUB(nade_##name) /* bubbles */ { \
MY(alpha_min) = 256; \
MY(alpha_max) = 256; \
MY(alpha_fade) = 256; \
MY(trailspacing) = 1; \
MY(type) = "smoke"; \
} \
- SUB(nade_##name##_burn) { \
+ SUB(nade_##name##_burn) /* fire */ { \
MY(alpha_min) = 200; \
MY(alpha_max) = 200; \
MY(alpha_fade) = 1000; \
MY(trailspacing) = 64; \
MY(type) = "smoke"; \
} \
- SUB(nade_##name##_burn) { \
+ SUB(nade_##name##_burn) /* bubbles */ { \
MY(alpha_min) = 256; \
MY(alpha_max) = 256; \
MY(alpha_fade) = 256; \
MY(tex_max) = 16; \
MY(type) = "decal"; \
} \
- SUB(nade_##name##_explode) { \
+ SUB(nade_##name##_explode) /* shockwave */ { \
MY(alpha_min) = 80; \
MY(alpha_max) = 80; \
MY(alpha_fade) = 650; \
MY(type) = "smoke"; \
MY(velocitymultiplier) = 44; \
} \
- SUB(nade_##name##_explode) { \
+ SUB(nade_##name##_explode) /* fire */ { \
MY(airfriction) = 30; \
MY(alpha_min) = 400; \
MY(alpha_max) = 656; \
MY(type) = "smoke"; \
MY(velocityjitter) = '320.0 320.0 320.0'; \
} \
- SUB(nade_##name##_explode) { \
+ SUB(nade_##name##_explode) /* fire stretched */ { \
MY(airfriction) = -9; \
MY(alpha_min) = 1500; \
MY(alpha_max) = 3000; \
MY(type) = "spark"; \
MY(velocityjitter) = '30.0 30.0 30.0'; \
} \
- SUB(nade_##name##_explode) { \
+ SUB(nade_##name##_explode) /* smoke */ { \
MY(airfriction) = 0.040000; \
MY(alpha_min) = 128; \
MY(alpha_max) = 328; \
MY(velocityjitter) = '200.0 200.0 200.0'; \
MY(velocityoffset) = '0.0 0.0 180.0'; \
} \
- SUB(nade_##name##_explode) { \
+ SUB(nade_##name##_explode) /* underwater bubbles */ { \
MY(alpha_min) = 128; \
MY(alpha_max) = 256; \
MY(alpha_fade) = 64; \
MY(underwater) = true; \
MY(velocityjitter) = '196.0 196.0 196.0'; \
} \
- SUB(nade_##name##_explode) { \
+ SUB(nade_##name##_explode) /* bouncing sparks */ { \
MY(airfriction) = 1; \
MY(alpha_min) = 644; \
MY(alpha_max) = 956; \
MY(velocityjitter) = '424.0 424.0 624.0'; \
MY(velocityoffset) = '0.0 0.0 80.0'; \
} \
- SUB(nade_##name##_explode) { \
+ SUB(nade_##name##_explode) /* notbouncing sparks */ { \
MY(airfriction) = 0.700000; \
MY(alpha_min) = 644; \
MY(alpha_max) = 956; \
MY(velocityjitter) = '424.0 424.0 624.0'; \
MY(velocityoffset) = '0.0 0.0 80.0'; \
} \
- SUB(nade_##name##_explode) { \
+ SUB(nade_##name##_explode) /* debris */ { \
MY(alpha_min) = 644; \
MY(alpha_max) = 956; \
MY(alpha_fade) = 2500; \
#undef nade_explode
DEF(shockwave_attack);
+// electricity
SUB(shockwave_attack) {
MY(airfriction) = 1;
MY(alpha_min) = 4096;
MY(velocityjitter) = '10.0 10.0 10.0';
MY(velocitymultiplier) = 10;
}
+// fire
SUB(shockwave_attack) {
MY(airfriction) = 1;
MY(alpha_min) = 4096;
}
DEF(arc_lightning);
+// impact decal
SUB(arc_lightning) {
MY(alpha_min) = 32;
MY(alpha_max) = 32;
MY(tex_max) = 32;
MY(type) = "decal";
}
+// impact sparks
SUB(arc_lightning) {
MY(airfriction) = 110;
MY(alpha_min) = 256;
MY(velocityjitter) = '250.0 250.0 250.0';
MY(velocitymultiplier) = 100;
}
+// impact sparks (underwater)
SUB(arc_lightning) {
MY(airfriction) = 5;
MY(alpha_min) = 256;
}
DEF(arc_beam);
+// sparks on beam
SUB(arc_beam) {
MY(airfriction) = -10;
MY(alpha_min) = 256;
MY(velocityjitter) = '100.0 100.0 100.0';
MY(velocitymultiplier) = 200;
}
+// sparks on beam (underwater)
SUB(arc_beam) {
MY(alpha_min) = 256;
MY(alpha_max) = 256;
}
DEF(arc_beam_heal);
+// bubble this...
SUB(arc_beam_heal) {
MY(airfriction) = -20;
MY(alpha_min) = 2048;
}
DEF(arc_beam_healimpact);
+// healing "aura"
SUB(arc_beam_healimpact) {
MY(alpha_min) = 40;
MY(alpha_max) = 40;
MY(type) = "smoke";
MY(velocitymultiplier) = 44;
}
+// rising "smoke"
SUB(arc_beam_healimpact) {
MY(airfriction) = 3;
MY(alpha_min) = 200;
}
DEF(arc_smoke);
+// arc heat smoke (notunderwater)
SUB(arc_smoke) {
MY(airfriction) = 1;
MY(alpha_min) = 32;
MY(type) = "smoke";
MY(velocityjitter) = '0.0 0.0 16.0';
}
+// arc heat bubbles (underwater)
SUB(arc_smoke) {
MY(alpha_min) = 170;
MY(alpha_max) = 256;
}
DEF(arc_overheat);
+// arc overheat electric bolts
SUB(arc_overheat) {
MY(airfriction) = 5;
MY(alpha_min) = 128;
}
DEF(arc_overheat_fire);
+// arc overheat bouncing sparks
SUB(arc_overheat_fire) {
MY(alpha_max) = 256;
MY(alpha_fade) = 640;
MY(type) = "static"; \
MY(velocitymultiplier) = -0.100000; \
} \
- SUB(rocketminsta_laser_##name) { \
+ SUB(rocketminsta_laser_##name) /* bright sparks */ { \
MY(airfriction) = 12; \
MY(alpha_min) = 444; \
MY(alpha_max) = 512; \