}
else if (attacker.classname == "player")
{
- if(teamplay && attacker.team == targ.team)
+ if(!IsDifferentTeam(attacker, targ))
{
if(attacker.team == COLOR_TEAM1)
type = KILL_TEAM_RED;
void Damage (entity targ, entity inflictor, entity attacker, float damage, float deathtype, vector hitloc, vector force)
{
+ // if the target is a player or dead body, activate damage effects
+ if(targ.classname == "player" || targ.classname == "body")
+ Violence_DamageEffect(targ, damage, DEATH_WEAPONOF(deathtype));
+
float mirrordamage;
float mirrorforce;
float teamdamage0;
damage = 0;
force = '0 0 0';
}
- else if(teamplay && attacker.team == targ.team)
+ else if(!IsDifferentTeam(attacker, targ))
{
if(autocvar_teamplay_mode == 1)
damage = 0;
{
vector v;
v = healtharmor_applydamage(attacker.armorvalue, autocvar_g_balance_armor_blockpercent, mirrordamage);
+ v_z = 0; // fteqcc sucks
attacker.dmg_take += v_x;
attacker.dmg_save += v_y;
attacker.dmg_inflictor = inflictor;
{
vector v;
v = healtharmor_applydamage(targ.armorvalue, autocvar_g_balance_armor_blockpercent, damage);
+ v_z = 0; // fteqcc sucks
targ.dmg_take += v_x;
targ.dmg_save += v_y;
targ.dmg_inflictor = inflictor;
damage = 0;
- if(!autocvar_g_friendlyfire_virtual_force)
- force = '0 0 0';
+ if(!autocvar_g_friendlyfire_virtual_force)
+ force = '0 0 0';
}
}
else