X-Git-Url: https://de.git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2Fserver%2Fplayer.qc;h=e5a8f47f90f859908e0ba951776cbd71a3bbf854;hb=06a08d0c6b573f2562297147171aff3d990fa42d;hp=b8d3c903c541cab860c1f596bf118037d534d017;hpb=f785b8a76c2336cb00e78fe9e738d55512a086f5;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/server/player.qc b/qcsrc/server/player.qc index b8d3c903c..e5a8f47f9 100644 --- a/qcsrc/server/player.qc +++ b/qcsrc/server/player.qc @@ -329,9 +329,8 @@ void PlayerDamage(entity this, entity inflictor, entity attacker, float damage, if (time < this.spawnshieldtime && autocvar_g_spawnshield_blockdamage < 1) damage *= 1 - max(0, autocvar_g_spawnshield_blockdamage); - if(DEATH_ISWEAPON(deathtype, WEP_TUBA)) + if(deathtype & HITTYPE_SOUND) // sound based attacks cause bleeding from the ears { - // tuba causes blood to come out of the ears vector ear1, ear2; vector d; float f; @@ -370,7 +369,7 @@ void PlayerDamage(entity this, entity inflictor, entity attacker, float damage, if(attacker == this) { - // don't reset pushltime for this damage as it may be an attempt to + // don't reset pushltime for self damage as it may be an attempt to // escape a lava pit or similar //this.pushltime = 0; this.istypefrag = 0; @@ -399,7 +398,7 @@ void PlayerDamage(entity this, entity inflictor, entity attacker, float damage, if(sound_allowed(MSG_BROADCAST, attacker)) { - if (save > 10) + if (save > 10 && (dh - take) > 0) // don't play armor sound if the attack is fatal sound (this, CH_SHOTS, SND_ARMORIMPACT, VOL_BASE, ATTEN_NORM); else if (take > 30) sound (this, CH_SHOTS, SND_BODYIMPACT2, VOL_BASE, ATTEN_NORM); @@ -469,6 +468,7 @@ void PlayerDamage(entity this, entity inflictor, entity attacker, float damage, float realdmg = damage - excess; if (this != attacker && realdmg) + if (!(round_handler_IsActive() && !round_handler_IsRoundStarted()) && time >= game_starttime) { if (IS_PLAYER(attacker) && DIFF_TEAM(attacker, this)) { GameRules_scoring_add(attacker, DMG, realdmg); @@ -491,6 +491,7 @@ void PlayerDamage(entity this, entity inflictor, entity attacker, float damage, bool valid_damage_for_weaponstats = false; Weapon awep = WEP_Null; + if (!(round_handler_IsActive() && !round_handler_IsRoundStarted()) && time >= game_starttime) if(vbot || IS_REAL_CLIENT(this)) if(abot || IS_REAL_CLIENT(attacker)) if(attacker && this != attacker)