]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - qcsrc/server/g_violence.qc
Merge branch 'master' into mirceakitsune/damage_effects
[xonotic/xonotic-data.pk3dir.git] / qcsrc / server / g_violence.qc
index 947791835c381161c7d7c3c006509b74f21f79c9..1c3c8d04ec3edbc1465a9517c57682e587117f5a 100644 (file)
@@ -61,9 +61,10 @@ float Violence_DamageEffect_SendEntity(entity to, float sf)
                return FALSE;
 
        WriteByte(MSG_ENTITY, ENT_CLIENT_DAMAGEEFFECT);
-       WriteByte(MSG_ENTITY, self.cnt); // the damage weapon
-       WriteByte(MSG_ENTITY, self.state); // species
+       WriteByte(MSG_ENTITY, self.cnt); // damage weapon
+       WriteByte(MSG_ENTITY, self.state); // player species
        WriteByte(MSG_ENTITY, self.team); // player entnum
+       WriteByte(MSG_ENTITY, self.deadflag); // is dead body / gibbed
        WriteCoord(MSG_ENTITY, floor(self.origin_x));
        WriteCoord(MSG_ENTITY, floor(self.origin_y));
        WriteCoord(MSG_ENTITY, floor(self.origin_z));
@@ -85,6 +86,12 @@ void Violence_DamageEffect(entity pl, float type)
        else
                e.team = num_for_edict(pl);
 
+       // is this a whole dead body, or a gibbed body / player?
+       if(!pl.modelindex) // gibbed
+               e.deadflag = 2;
+       else if(pl.classname == "body")
+               e.deadflag = 1;
+
        // if the player is dead, show the effect lower, else it appears floating above the body
        if(pl.health <= 0)
                setorigin(e, pl.origin - '0 0 25');