]> git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - qcsrc/client/damage.qc
Merge remote branch 'origin/terencehill/minstagib_outofammo'
[xonotic/xonotic-data.pk3dir.git] / qcsrc / client / damage.qc
index d342738e99cc4212286065aef047d91a94479e4d..fc8b83b5b6c8666a11efe0961ebe8af011cfcbfb 100644 (file)
@@ -113,7 +113,7 @@ void DamageEffect(vector hitorg, float dmg, float type, float specnum)
 
 void Ent_DamageInfo(float isNew)
 {
-       float dmg, rad, edge, thisdmg, forcemul, species, isplayer;
+       float dmg, rad, edge, thisdmg, forcemul, species, hitplayer;
        vector force, thisforce;
        entity oldself;
 
@@ -146,6 +146,10 @@ void Ent_DamageInfo(float isNew)
        
        for(self = findradius(w_org, rad + MAX_DAMAGEEXTRARADIUS); self; self = self.chain)
        {
+               // attached ents suck
+               if(self.tag_entity)
+                       continue;
+
                vector nearest = NearestPointOnBox(self, w_org);
                if(rad)
                {
@@ -190,7 +194,7 @@ void Ent_DamageInfo(float isNew)
                DamageEffect(w_org, thisdmg, w_deathtype, species);
 
                if(self.isplayermodel)
-                       isplayer = TRUE; // this impact damaged a player
+                       hitplayer = TRUE; // this impact damaged a player
        }
 
        self = oldself;
@@ -328,7 +332,7 @@ void Ent_DamageInfo(float isNew)
        
        // TODO spawn particle effects and sounds based on w_deathtype
        if(!DEATH_ISSPECIAL(w_deathtype))
-       if not(isplayer) // don't show ground impacts if a player was hit
+       if not(hitplayer && !rad) // don't show ground impacts for hitscan weapons if a player was hit
        {
                float hitwep;