trailspacing 16
underwater
velocityjitter 16 16 16
-effect damage_laser
+effect damage_blaster
type smoke
airfriction -0.350000
alpha 128 16 128
originjitter 1 1 1
size 8 16
tex 0 8
-effect damage_shotgun_alien
+effect alien_damage_shotgun
type blood
airfriction 1
alpha 256 256 64
tex 24 32
velocityjitter 64 64 64
velocitymultiplier 5
-effect damage_shotgun_alien
+effect alien_damage_shotgun
type alphastatic
alpha 100 256 400
color 0x000000 0x204010
originjitter 1 1 1
size 8 16
tex 0 8
-effect damage_shotgun_robot
+effect robot_damage_shotgun
type blood
airfriction 1
alpha 256 256 64
tex 24 32
velocityjitter 64 64 64
velocitymultiplier 5
-effect damage_shotgun_robot
+effect robot_damage_shotgun
type alphastatic
alpha 100 256 400
color 0x000000 0x301860
originjitter 1 1 1
size 8 16
tex 0 8
-effect damage_uzi
+effect damage_machinegun
type blood
airfriction 1
alpha 256 256 64
tex 24 32
velocityjitter 32 32 32
velocitymultiplier 5
-effect damage_uzi
+effect damage_machinegun
type alphastatic
alpha 100 256 400
color 0x000000 0x420000
count 1
size 6 12
tex 0 8
-effect damage_uzi_alien
+effect alien_damage_machinegun
type blood
airfriction 1
alpha 256 256 64
tex 24 32
velocityjitter 32 32 32
velocitymultiplier 5
-effect damage_uzi_alien
+effect alien_damage_machinegun
type alphastatic
alpha 100 256 400
color 0x000000 0x204010
count 1
size 6 12
tex 0 8
-effect damage_uzi_robot
+effect robot_damage_machinegun
type blood
airfriction 1
alpha 256 256 64
tex 24 32
velocityjitter 32 32 32
velocitymultiplier 5
-effect damage_uzi_robot
+effect robot_damage_machinegun
type alphastatic
alpha 100 256 400
color 0x000000 0x301860
size 4 8
tex 0 8
velocityjitter 11 11 50
-effect damage_grenadelauncher
+effect damage_mortar
type smoke
alpha 512 64 1024
color 0x8f0d00 0xff5a00
size 4 8
tex 48 55
velocityjitter 22 22 50
-effect damage_grenadelauncher
+effect damage_mortar
type alphastatic
alpha 128 32 128
color 0x000000 0x111111
size 4 8
tex 0 8
velocityjitter 11 11 50
+effect damage_arc
+ type static
+ airfriction -0.650000
+ alpha 48 8 48
+ color 0x66ffff 0x2288ff
+ count 2
+ gravity -0.000100
+ liquidfriction 0.600000
+ notunderwater
+ originjitter 2 2 2
+ rotate 180 360 -30 30
+ sizeincrease -14
+ size 4 8
+ tex 47 47
+ velocityjitter 6 6 12
+effect damage_arc
+ type smoke
+ airfriction -0.500000
+ alpha 64 16 64
+ color 0x2244ff 0x002266
+ count 4
+ notunderwater
+ originjitter 3 3 3
+ rotate 0 180 -30 30
+ sizeincrease 10
+ size 3 6
+ tex 0 8
+ velocityjitter 0.3 0.3 0.5
+effect damage_arc
+ type spark
+ airfriction 1
+ alpha 768 64 256
+ bounce 1.500000
+ color 0x003090 0x00CCFF
+ count 0.500000
+ gravity 0.150000
+ liquidfriction 0.600000
+ size 1 1
+ tex 66 68
+ velocityjitter 24 24 24
effect damage_electro
type static
airfriction -0.500000
size 2 4
tex 0 8
velocityjitter 0.4 0.4 0.6
-effect damage_nex
+effect damage_vortex
type static
airfriction -0.500000
alpha 64 8 64
size 5 10
tex 47 47
velocityjitter 8 8 16
-effect damage_nex
+effect damage_vortex
type smoke
airfriction -0.350000
alpha 64 16 64
size 4 8
tex 0 8
velocityjitter 0.5 0.5 0.8
-effect damage_nex
+effect damage_vortex
type spark
airfriction 2
alpha 255 255 112
tex 41 41
velocityjitter 100 100 300
velocitymultiplier 3
-effect damage_minstanex
+effect damage_vaporizer
type static
airfriction -0.500000
alpha 64 8 64
size 5 10
tex 47 47
velocityjitter 8 8 16
-effect damage_minstanex
+effect damage_vaporizer
type smoke
airfriction -0.350000
alpha 64 16 64
size 4 8
tex 0 8
velocityjitter 0.5 0.5 0.8
-effect damage_minstanex
+effect damage_vaporizer
type spark
airfriction 2
alpha 255 255 112
size 4 8
tex 0 8
velocityjitter 11 11 50
-effect damage_rocketlauncher
+effect damage_devastator
type smoke
alpha 512 64 1024
color 0x8f0c00 0xff2a00
size 5 10
tex 48 55
velocityjitter 22 22 30
-effect damage_rocketlauncher
+effect damage_devastator
type alphastatic
alpha 128 32 128
color 0x000000 0x111111
}
// laser damage effect
-DEF(damage_laser);
-SUB(damage_laser) {
+DEF(damage_blaster);
+SUB(damage_blaster) {
MY(airfriction) = -0.350000;
MY(alpha_min) = 128;
MY(alpha_max) = 16;
}
// shotgun damage effect, alien blood
-DEF(damage_shotgun_alien);
-SUB(damage_shotgun_alien) {
+DEF(alien_damage_shotgun);
+SUB(alien_damage_shotgun) {
MY(airfriction) = 1;
MY(alpha_min) = 256;
MY(alpha_max) = 256;
MY(velocitymultiplier) = 5;
}
// blood mist
-SUB(damage_shotgun_alien) {
+SUB(alien_damage_shotgun) {
MY(alpha_min) = 100;
MY(alpha_max) = 256;
MY(alpha_fade) = 400;
}
// shotgun damage effect, robot blood
-DEF(damage_shotgun_robot);
-SUB(damage_shotgun_robot) {
+DEF(robot_damage_shotgun);
+SUB(robot_damage_shotgun) {
MY(airfriction) = 1;
MY(alpha_min) = 256;
MY(alpha_max) = 256;
MY(velocitymultiplier) = 5;
}
// blood mist
-SUB(damage_shotgun_robot) {
+SUB(robot_damage_shotgun) {
MY(alpha_min) = 100;
MY(alpha_max) = 256;
MY(alpha_fade) = 400;
}
// machinegun damage effect, normal blood
-DEF(damage_uzi);
-SUB(damage_uzi) {
+DEF(damage_machinegun);
+SUB(damage_machinegun) {
MY(airfriction) = 1;
MY(alpha_min) = 256;
MY(alpha_max) = 256;
MY(velocitymultiplier) = 5;
}
// blood mist
-SUB(damage_uzi) {
+SUB(damage_machinegun) {
MY(alpha_min) = 100;
MY(alpha_max) = 256;
MY(alpha_fade) = 400;
}
// machinegun damage effect, alien blood
-DEF(damage_uzi_alien);
-SUB(damage_uzi_alien) {
+DEF(alien_damage_machinegun);
+SUB(alien_damage_machinegun) {
MY(airfriction) = 1;
MY(alpha_min) = 256;
MY(alpha_max) = 256;
MY(velocitymultiplier) = 5;
}
// blood mist
-SUB(damage_uzi_alien) {
+SUB(alien_damage_machinegun) {
MY(alpha_min) = 100;
MY(alpha_max) = 256;
MY(alpha_fade) = 400;
}
// machinegun damage effect, robot blood
-DEF(damage_uzi_robot);
-SUB(damage_uzi_robot) {
+DEF(robot_damage_machinegun);
+SUB(robot_damage_machinegun) {
MY(airfriction) = 1;
MY(alpha_min) = 256;
MY(alpha_max) = 256;
MY(velocitymultiplier) = 5;
}
// blood mist
-SUB(damage_uzi_robot) {
+SUB(robot_damage_machinegun) {
MY(alpha_min) = 100;
MY(alpha_max) = 256;
MY(alpha_fade) = 400;
}
// mortar damage effect
-DEF(damage_grenadelauncher);
-SUB(damage_grenadelauncher) {
+DEF(damage_mortar);
+SUB(damage_mortar) {
MY(alpha_min) = 512;
MY(alpha_max) = 64;
MY(alpha_fade) = 1024;
MY(velocityjitter) = '22.0 22.0 50.0';
}
// smoke
-SUB(damage_grenadelauncher) {
+SUB(damage_mortar) {
MY(alpha_min) = 128;
MY(alpha_max) = 32;
MY(alpha_fade) = 128;
MY(velocityjitter) = '11.0 11.0 50.0';
}
+// arc damage effect
+DEF(damage_arc);
+SUB(damage_arc) {
+ MY(airfriction) = -0.650000;
+ MY(alpha_min) = 48;
+ MY(alpha_max) = 8;
+ MY(alpha_fade) = 48;
+ MY(color_min) = "0x66ffff";
+ MY(color_max) = "0x2288ff";
+ MY(count) = 2;
+ MY(gravity) = -0.000100;
+ MY(liquidfriction) = 0.600000;
+ MY(notunderwater) = true;
+ MY(originjitter) = '2.0 2.0 2.0';
+ MY(startangle_min) = 180;
+ MY(startangle_max) = 360;
+ MY(spin_min) = -30;
+ MY(spin_max) = 30;
+ MY(sizeincrease) = -14;
+ MY(size_min) = 4;
+ MY(size_max) = 8;
+ MY(tex_min) = 47;
+ MY(tex_max) = 47;
+ MY(type) = "static";
+ MY(velocityjitter) = '6.0 6.0 12.0';
+}
+// plasma smoke
+SUB(damage_arc) {
+ MY(airfriction) = -0.500000;
+ MY(alpha_min) = 64;
+ MY(alpha_max) = 16;
+ MY(alpha_fade) = 64;
+ MY(color_min) = "0x2244ff";
+ MY(color_max) = "0x002266";
+ MY(count) = 4;
+ MY(notunderwater) = true;
+ MY(originjitter) = '3.0 3.0 3.0';
+ MY(startangle_max) = 180;
+ MY(spin_min) = -30;
+ MY(spin_max) = 30;
+ MY(sizeincrease) = 10;
+ MY(size_min) = 3;
+ MY(size_max) = 6;
+ MY(tex_max) = 8;
+ MY(type) = "smoke";
+ MY(velocityjitter) = '0.3 0.3 0.5';
+}
+// bouncing sparks
+SUB(damage_arc) {
+ MY(airfriction) = 1;
+ MY(alpha_min) = 768;
+ MY(alpha_max) = 64;
+ MY(alpha_fade) = 256;
+ MY(bounce) = 1.500000;
+ MY(color_min) = "0x003090";
+ MY(color_max) = "0x00CCFF";
+ MY(count) = 0.500000;
+ MY(gravity) = 0.150000;
+ MY(liquidfriction) = 0.600000;
+ MY(size_min) = 1;
+ MY(size_max) = 1;
+ MY(tex_min) = 66;
+ MY(tex_max) = 68;
+ MY(type) = "spark";
+ MY(velocityjitter) = '24.0 24.0 24.0';
+}
+
// electro damage effect
DEF(damage_electro);
SUB(damage_electro) {
}
// vortex damage effect
-DEF(damage_nex);
-SUB(damage_nex) {
+DEF(damage_vortex);
+SUB(damage_vortex) {
MY(airfriction) = -0.500000;
MY(alpha_min) = 64;
MY(alpha_max) = 8;
MY(velocityjitter) = '8.0 8.0 16.0';
}
// plasma smoke
-SUB(damage_nex) {
+SUB(damage_vortex) {
MY(airfriction) = -0.350000;
MY(alpha_min) = 64;
MY(alpha_max) = 16;
MY(velocityjitter) = '0.5 0.5 0.8';
}
// bouncing sparks
-SUB(damage_nex) {
+SUB(damage_vortex) {
MY(airfriction) = 2;
MY(alpha_min) = 255;
MY(alpha_max) = 255;
}
// vaporizer damage effect
-DEF(damage_minstanex);
-SUB(damage_minstanex) {
+DEF(damage_vaporizer);
+SUB(damage_vaporizer) {
MY(airfriction) = -0.500000;
MY(alpha_min) = 64;
MY(alpha_max) = 8;
MY(velocityjitter) = '8.0 8.0 16.0';
}
// plasma smoke
-SUB(damage_minstanex) {
+SUB(damage_vaporizer) {
MY(airfriction) = -0.350000;
MY(alpha_min) = 64;
MY(alpha_max) = 16;
MY(velocityjitter) = '0.5 0.5 0.8';
}
// bouncing sparks
-SUB(damage_minstanex) {
+SUB(damage_vaporizer) {
MY(airfriction) = 2;
MY(alpha_min) = 255;
MY(alpha_max) = 255;
}
// rocketlauncher damage effect
-DEF(damage_rocketlauncher);
-SUB(damage_rocketlauncher) {
+DEF(damage_devastator);
+SUB(damage_devastator) {
MY(alpha_min) = 512;
MY(alpha_max) = 64;
MY(alpha_fade) = 1024;
MY(velocityjitter) = '22.0 22.0 30.0';
}
// smoke
-SUB(damage_rocketlauncher) {
+SUB(damage_devastator) {
MY(alpha_min) = 128;
MY(alpha_max) = 32;
MY(alpha_fade) = 128;
return; // if we aren't using a third person camera, hide our own effects
// now generate the particles
- vector org;
- org = gettaginfo(this, 0); // origin at attached location
+ vector org = gettaginfo(this, 0); // origin at attached location
__pointparticles(this.team, org, '0 0 0', 1);
}
int nearestbone = 0;
float life;
- string specstr, effectname;
+ string effectname;
entity e;
if(!autocvar_cl_damageeffect || autocvar_cl_gentle || autocvar_cl_gentle_damage)
life = bound(autocvar_cl_damageeffect_lifetime_min, thedamage * autocvar_cl_damageeffect_lifetime, autocvar_cl_damageeffect_lifetime_max);
- effectname = DEATH_WEAPONOF(type).netname;
-
- if(substring(effectname, strlen(effectname) - 5, 5) == "BLOOD")
+ effectname = strcat("damage_", DEATH_WEAPONOF(type).netname);
+ if(DEATH_WEAPONOF(type) == WEP_SHOTGUN || DEATH_WEAPONOF(type) == WEP_MACHINEGUN)
{
if((this.isplayermodel & ISPLAYER_MODEL))
{
- specstr = species_prefix(specnum);
- specstr = substring(specstr, 0, strlen(specstr) - 1);
- effectname = strreplace("BLOOD", specstr, effectname);
+ string specstr = species_prefix(specnum);
+ effectname = strcat(specstr, effectname);
}
else { return; } // objects don't bleed
}