]> git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - qcsrc/server/damage.qc
Fix 2 more incorrect notifications when notification_show_location is enabled:
[xonotic/xonotic-data.pk3dir.git] / qcsrc / server / damage.qc
index 8b77c8b14af755f290c0e4ae83e01984a938ad80..7e052de046ebbbd5f93dc6ef2f071b306f85623f 100644 (file)
@@ -283,7 +283,9 @@ void Obituary(entity attacker, entity inflictor, entity targ, int deathtype, .en
                                                Obituary_SpecialDeath(targ, false, deathtype, targ.netname, deathlocation, "", CS(targ).killcount, 0, 0);
                                                break;
                                        }
-
+                                       case DEATH_HURTTRIGGER:
+                                               Obituary_SpecialDeath(targ, false, deathtype, targ.netname, inflictor.message, deathlocation, CS(targ).killcount, 0, 0);
+                                               break;
                                        default:
                                        {
                                                Obituary_SpecialDeath(targ, false, deathtype, targ.netname, deathlocation, "", CS(targ).killcount, 0, 0);
@@ -818,8 +820,7 @@ void Damage(entity targ, entity inflictor, entity attacker, float damage, int de
                                                                attacker.damage_dealt += damage;
                                                }
 
-                                               damage_goodhits += 1;
-                                               damage_gooddamage += damage;
+                                               impressive_hits += 1;
 
                                                if (!DEATH_ISSPECIAL(deathtype))
                                                {
@@ -888,9 +889,9 @@ void Damage(entity targ, entity inflictor, entity attacker, float damage, int de
        }
 }
 
+// Returns total damage applies to creatures
 float RadiusDamageForSource (entity inflictor, vector inflictororigin, vector inflictorvelocity, entity attacker, float coredamage, float edgedamage, float rad, entity cantbe, entity mustbe,
                                                                float inflictorselfdamage, float forceintensity, float forcezscale, int deathtype, .entity weaponentity, entity directhitentity)
-       // Returns total damage applies to creatures
 {
        entity  targ;
        vector  force;
@@ -1229,6 +1230,10 @@ void Fire_ApplyDamage(entity e)
        float t, d, hi, ty;
        entity o;
 
+       // water, slime and ice stop fire
+       if (STAT(FROZEN, e) || (e.waterlevel && (e.watertype != CONTENT_LAVA)))
+               e.fire_endtime = 0;
+
        if (!Fire_IsBurning(e))
                return;
 
@@ -1236,15 +1241,6 @@ void Fire_ApplyDamage(entity e)
        if(IS_NOT_A_CLIENT(o))
                o = e.fire_owner;
 
-       // water and slime stop fire
-       if(e.waterlevel)
-       if(e.watertype != CONTENT_LAVA)
-               e.fire_endtime = 0;
-
-       // ice stops fire
-       if(STAT(FROZEN, e))
-               e.fire_endtime = 0;
-
        t = min(frametime, e.fire_endtime - time);
        d = e.fire_damagepersec * t;