X-Git-Url: https://de.git.xonotic.org/?p=xonotic%2Fxonotic-data.pk3dir.git;a=blobdiff_plain;f=qcsrc%2Fserver%2Fplayer.qc;h=8dffbc8ba61fb96bbbe7572a21be2e08b26b3e85;hp=9e67050cb654b23c9847c8b2e94bda0f1898b106;hb=565754a35f9e84a3b8e6eac08635ec27145b369a;hpb=4b615d6ea3ee6794ea9368c782393c66ef55c170 diff --git a/qcsrc/server/player.qc b/qcsrc/server/player.qc index 9e67050cb6..8dffbc8ba6 100644 --- a/qcsrc/server/player.qc +++ b/qcsrc/server/player.qc @@ -411,7 +411,8 @@ void PlayerDamage(entity this, entity inflictor, entity attacker, float damage, if (take > 100) Violence_GibSplash_At(hitloc, force * -0.2, 3, 1, this, attacker); - if (time >= this.spawnshieldtime || autocvar_g_spawnshield_blockdamage < 1) + if ((time >= this.spawnshieldtime || autocvar_g_spawnshield_blockdamage < 1) + && !STAT(FROZEN, this)) { if (!(this.flags & FL_GODMODE)) { @@ -493,7 +494,7 @@ void PlayerDamage(entity this, entity inflictor, entity attacker, float damage, if(vbot || IS_REAL_CLIENT(this)) if(abot || IS_REAL_CLIENT(attacker)) if(attacker && this != attacker) - if(DIFF_TEAM(this, attacker)) + if (DIFF_TEAM(this, attacker) && (!STAT(FROZEN, this) || this.freeze_time > time)) { if(DEATH_ISSPECIAL(deathtype)) awep = attacker.(weaponentity).m_weapon; @@ -502,8 +503,8 @@ void PlayerDamage(entity this, entity inflictor, entity attacker, float damage, valid_damage_for_weaponstats = true; } - dh = dh - max(GetResource(this, RES_HEALTH), 0); - da = da - max(GetResource(this, RES_ARMOR), 0); + dh -= max(GetResource(this, RES_HEALTH), 0); // health difference + da -= max(GetResource(this, RES_ARMOR), 0); // armor difference if(valid_damage_for_weaponstats) { WeaponStats_LogDamage(awep.m_id, abot, this.(weaponentity).m_weapon.m_id, vbot, dh + da);