void Ent_GibSplash(float isNew)
{
- float amount, type, specnum, entnumber;
+ float amount, type, specnum, entnumber, body;
vector org, vel;
string specstr;
float issilent;
type = ReadByte(); // gibbage type
amount = ReadByte() / 16.0; // gibbage amount
entnumber = ReadByte(); // player num
+ body = ReadByte(); // is dead body / gibbed
org_x = ReadShort() * 4 + 2;
org_y = ReadShort() * 4 + 2;
org_z = ReadShort() * 4 + 2;
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));
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');