X-Git-Url: http://de.git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2Fserver%2Fg_damage.qc;h=675b794ecdb902b73e018f3ccaad6356e4feeb42;hb=669311cae7c93d70ff08fa2e3dd30cabdd2da8fa;hp=37ccf37ebd8e43247ad795c7dec27272fca96bcd;hpb=9f70bdba9a6fb2c06324be13504341da967f7028;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/server/g_damage.qc b/qcsrc/server/g_damage.qc index 37ccf37eb..675b794ec 100644 --- a/qcsrc/server/g_damage.qc +++ b/qcsrc/server/g_damage.qc @@ -5,6 +5,8 @@ #include "mutators/all.qh" #include "scores.qh" #include "spawnpoints.qh" +#include "../common/state.qh" +#include "../common/physics/player.qh" #include "../common/t_items.qh" #include "../common/vehicles/all.qh" #include "../common/items/all.qc" @@ -326,7 +328,8 @@ void Obituary(entity attacker, entity inflictor, entity targ, int deathtype) return; } LogDeath("suicide", deathtype, targ, targ); - GiveFrags(attacker, targ, -1, deathtype); + if(deathtype != DEATH_AUTOTEAMCHANGE.m_id) // special case: don't negate frags if auto switched + GiveFrags(attacker, targ, -1, deathtype); } // ====== @@ -538,7 +541,7 @@ void Freeze (entity targ, float freeze_time, float frozen_type, float show_waypo targ.iceblock = ice; targ.revival_time = 0; - WITH(entity, self, ice, Ice_Think()); + WITHSELF(ice, Ice_Think()); RemoveGrapplingHook(targ); @@ -551,6 +554,7 @@ void Freeze (entity targ, float freeze_time, float frozen_type, float show_waypo void Unfreeze (entity targ) { + SELFPARAM(); if(!STAT(FROZEN, targ)) return; @@ -870,6 +874,7 @@ void Damage (entity targ, entity inflictor, entity attacker, float damage, int d setself(this); // apply mirror damage if any + if(!autocvar_g_mirrordamage_onlyweapons || DEATH_WEAPONOF(deathtype) != WEP_Null) if(mirrordamage > 0 || mirrorforce > 0) { attacker = attacker_save;