]> git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/commitdiff
Network over one more byte, specifying if the damaged player is our own self. We...
authorMircea Kitsune <sonichedgehog_hyperblast00@yahoo.com>
Sun, 3 Apr 2011 12:12:12 +0000 (15:12 +0300)
committerMircea Kitsune <sonichedgehog_hyperblast00@yahoo.com>
Sun, 3 Apr 2011 12:12:12 +0000 (15:12 +0300)
qcsrc/client/gibs.qc
qcsrc/server/g_damage.qc
qcsrc/server/g_violence.qc

index ee70fde7793d1c7c5d067955c2f95f85db09184c..a37b5a2e0e8688f45f09b35c99c794c1f1e3f465 100644 (file)
@@ -277,13 +277,14 @@ void GibSplash_Precache()
 
 void Ent_DamageEffect()
 {
-       float type, specnum1, specnum2;
+       float type, specnum1, specnum2, isself;
        vector org;
        string specstr, effectnum;
        entity e;
 
        type = ReadByte(); // damage weapon
        specnum1 = ReadByte(); // player species
+       isself = ReadByte(); // is self
        org_x = ReadCoord();
        org_y = ReadCoord();
        org_z = ReadCoord();
index 55dc6f645dc742136df45e96c020ee7b5554b58b..6b2298eb965f1379a6321479722b4e3dae8a7e7d 100644 (file)
@@ -499,7 +499,7 @@ void Damage (entity targ, entity inflictor, entity attacker, float damage, float
 {
        // if the target is a player or dead body, activate damage effects
        if(targ.classname == "player" || targ.classname == "body")
-               Violence_DamageEffect_SetRepeat(targ, damage, DEATH_WEAPONOF(deathtype));
+               Violence_DamageEffect_SetRepeat(targ, damage, DEATH_WEAPONOF(deathtype), targ == self);
 
        float mirrordamage;
        float mirrorforce;
index e78ae20d9d76781a3e12255a4acdbd8b3aace322..82dd404ee618d96b658efcaea094d8f67f76e485 100644 (file)
@@ -43,6 +43,7 @@ float Violence_DamageEffect_SendEntity(entity to, float sf)
        WriteByte(MSG_ENTITY, ENT_CLIENT_DAMAGEEFFECT);
        WriteByte(MSG_ENTITY, self.cnt); // the damage weapon
        WriteByte(MSG_ENTITY, self.state); // species
+       WriteByte(MSG_ENTITY, self.team); // is self
        WriteCoord(MSG_ENTITY, floor(self.origin_x));
        WriteCoord(MSG_ENTITY, floor(self.origin_y));
        WriteCoord(MSG_ENTITY, floor(self.origin_z));
@@ -79,7 +80,7 @@ void Violence_DamageEffect_DoRepeat()
        self.nextthink = time + autocvar_sv_damageeffect_tick;
 }
 
-void Violence_DamageEffect_SetRepeat(entity pl, float damage, float type)
+void Violence_DamageEffect_SetRepeat(entity pl, float damage, float type, float isself)
 {
        if not(autocvar_sv_damageeffect_tick && autocvar_sv_damageeffect_lifetime)
                return;
@@ -94,6 +95,7 @@ void Violence_DamageEffect_SetRepeat(entity pl, float damage, float type)
                pl.damageeffect_repeater.owner = pl;
                pl.damageeffect_repeater.think = Violence_DamageEffect_DoRepeat;
 
+               pl.damageeffect_repeater.team = isself;
                pl.damageeffect_repeater.lifetime = time + (autocvar_sv_damageeffect_lifetime * damage);
        }
        else