X-Git-Url: http://de.git.xonotic.org/?p=xonotic%2Fxonotic-data.pk3dir.git;a=blobdiff_plain;f=qcsrc%2Fserver%2Fg_damage.qc;h=efa6c0ad5c36d56e324e44054bf3be7d33161f82;hp=27293f7ba21c7d533133bc43c35dce9067bce7f3;hb=75a16a543097a05b57763e284d014dc67e01885a;hpb=f174388fb6eabd6a5e9a39b711e9b43b5fe6013e diff --git a/qcsrc/server/g_damage.qc b/qcsrc/server/g_damage.qc index 27293f7ba..efa6c0ad5 100644 --- a/qcsrc/server/g_damage.qc +++ b/qcsrc/server/g_damage.qc @@ -588,7 +588,7 @@ void Damage (entity targ, entity inflictor, entity attacker, float damage, float { float mirrordamage; float mirrorforce; - float teamdamage0; + float complainteamdamage = 0; entity attacker_save; mirrordamage = 0; mirrorforce = 0; @@ -668,10 +668,10 @@ void Damage (entity targ, entity inflictor, entity attacker, float damage, float { if(targ.classname == "player" && targ.deadflag == DEAD_NO) { - teamdamage0 = max(attacker.dmg_team, autocvar_g_teamdamage_threshold); attacker.dmg_team = attacker.dmg_team + damage; - if(attacker.dmg_team > teamdamage0 && !g_ca) - mirrordamage = autocvar_g_mirrordamage * (attacker.dmg_team - teamdamage0); + complainteamdamage = attacker.dmg_team - autocvar_g_teamdamage_threshold; + if(complainteamdamage > 0 && !g_ca) // FIXME why is g_ca ruled out here? Why not just g_mirrordamage 0 on CA servers? + mirrordamage = autocvar_g_mirrordamage * complainteamdamage; mirrorforce = autocvar_g_mirrordamage * vlen(force); if(g_minstagib) { @@ -746,6 +746,7 @@ void Damage (entity targ, entity inflictor, entity attacker, float damage, float { damage = 0; mirrordamage = 0; + complainteamdamage = 0; if (targ != attacker) { if ((targ.health >= 1) && (targ.classname == "player")) @@ -761,6 +762,7 @@ void Damage (entity targ, entity inflictor, entity attacker, float damage, float { damage *= g_weapondamagefactor; mirrordamage *= g_weapondamagefactor; + complainteamdamage *= g_weapondamagefactor; force = force * g_weaponforcefactor; mirrorforce *= g_weaponforcefactor; } @@ -890,7 +892,7 @@ void Damage (entity targ, entity inflictor, entity attacker, float damage, float { attacker.typehitsound += 1; } - if(mirrordamage > 0) + if(complainteamdamage > 0) if(time > attacker.teamkill_complain) { attacker.teamkill_complain = time + 5;