return;
}
self.state = self.owner.csqcmodel_isdead;
-#ifdef COMPAT_XON050_ENGINE
- if(self.owner.isplayermodel && (self.owner.entnum == player_localentnum || self.owner.entnum == spectatee_status) && !autocvar_chase_active)
-#else
if(self.owner.isplayermodel && (self.owner.entnum == player_localentnum) && !autocvar_chase_active)
-#endif
return; // if we aren't using a third person camera, hide our own effects
// now generate the particles
pointparticles(self.team, org, '0 0 0', 1);
}
-void DamageEffect(vector hitorg, float dmg, float type, float specnum)
+void DamageEffect(vector hitorg, float dmg, int type, int specnum)
{
// particle effects for players and objects damaged by weapons (eg: flames coming out of victims shot with rockets)
- float life, nearestbone = 0;
+ int nearestbone = 0;
+ float life;
string specstr, effectname;
entity e;
void Ent_DamageInfo(float isNew)
{
- float dmg, rad, edge, thisdmg, forcemul, species, hitplayer = FALSE;
+ float dmg, rad, edge, thisdmg;
+ bool hitplayer = FALSE;
+ int species, forcemul;
vector force, thisforce;
entity oldself;
if(!DEATH_ISSPECIAL(w_deathtype))
if(!hitplayer || rad) // don't show ground impacts for hitscan weapons if a player was hit
{
- float hitwep;
-
- hitwep = DEATH_WEAPONOFWEAPONDEATH(w_deathtype);
+ int hitwep = DEATH_WEAPONOFWEAPONDEATH(w_deathtype);
w_random = prandom();
traceline(w_org - normalize(force) * 16, w_org + normalize(force) * 16, MOVE_NOMONSTERS, world);
w_backoff = -1 * normalize(force);
setorigin(self, w_org + w_backoff * 2); // for sound() calls
- WEP_ACTION(hitwep, WR_IMPACTEFFECT);
+ if(!(trace_dphitq3surfaceflags & Q3SURFACEFLAG_SKY)) { WEP_ACTION(hitwep, WR_IMPACTEFFECT); }
}
}