if (!wep)
return;
- WEPSET_OR_EW(e, wep);
+ e.weapons |= WepSet_FromWeapon(wep);
oldself = self;
self = e;
- if not(g_minstagib)
- if(other.classname == "player")
+ if(IS_PLAYER(other))
{ Send_Notification(NOTIF_ONE, other, MSG_MULTI, ITEM_WEAPON_GOT, wep); }
self = oldself;
// Find all non-hit players the beam passed close by
if(deathtype == WEP_MINSTANEX || deathtype == WEP_NEX)
{
- FOR_EACH_REALCLIENT(msg_entity) if(msg_entity != self) if(!msg_entity.railgunhit) if not(msg_entity.classname == "spectator" && msg_entity.enemy == self) // we use realclient, so spectators can hear the whoosh too
+ FOR_EACH_REALCLIENT(msg_entity)
+ if(msg_entity != self)
+ if(!msg_entity.railgunhit)
+ if(!(IS_SPEC(msg_entity) && msg_entity.enemy == self)) // we use realclient, so spectators can hear the whoosh too
{
// nearest point on the beam
beampos = start + dir * bound(0, (msg_entity.origin - start) * dir, length);
if(!pseudoprojectile)
pseudoprojectile = spawn(); // we need this so the sound uses the "entchannel4" volume
- soundtoat(MSG_ONE, pseudoprojectile, beampos, CH_SHOTS, snd, VOL_BASE * f, ATTN_NONE);
+ soundtoat(MSG_ONE, pseudoprojectile, beampos, CH_SHOTS, snd, VOL_BASE * f, ATTEN_NONE);
}
if(pseudoprojectile)
self.nextthink = max(time, self.W_BallisticBullet_LeaveSolid_nextthink_save);
self.W_BallisticBullet_LeaveSolid_think_save = func_null;
- self.flags &~= FL_ONGROUND;
+ self.flags &= ~FL_ONGROUND;
if(self.enemy.solid == SOLID_BSP)
{
// common/weapclip (intended)
// common/noimpact (is supposed to eat projectiles, but is erased farther above)
if(trace_dphitq3surfaceflags & Q3SURFACEFLAG_NODRAW)
- if not(trace_dphitq3surfaceflags & Q3SURFACEFLAG_NONSOLID)
- if not(trace_dphitcontents & DPCONTENTS_OPAQUE)
+ if (!(trace_dphitq3surfaceflags & Q3SURFACEFLAG_NONSOLID))
+ if (!(trace_dphitcontents & DPCONTENTS_OPAQUE))
{
remove(self);
return;
lag = ANTILAG_LATENCY(self);
if(lag < 0.001)
lag = 0;
- if(clienttype(self) != CLIENTTYPE_REAL)
+ if (!IS_REAL_CLIENT(self))
lag = 0;
if(autocvar_g_antilag == 0 || self.cvar_cl_noantilag)
lag = 0; // only do hitscan, but no antilag
// common/weapclip (intended)
// common/noimpact (is supposed to eat projectiles, but is erased farther above)
if(trace_dphitq3surfaceflags & Q3SURFACEFLAG_NODRAW)
- if not(trace_dphitq3surfaceflags & Q3SURFACEFLAG_NONSOLID)
- if not(trace_dphitcontents & DPCONTENTS_OPAQUE)
+ if (!(trace_dphitq3surfaceflags & Q3SURFACEFLAG_NONSOLID))
+ if (!(trace_dphitcontents & DPCONTENTS_OPAQUE))
break;
// go through solid!
if (pointcontents (trace_endpos) != CONTENT_SKY)
{
- if not (trace_dphitq3surfaceflags & Q3SURFACEFLAG_NOIMPACT)
+ if (!(trace_dphitq3surfaceflags & Q3SURFACEFLAG_NOIMPACT))
Damage_DamageInfo(trace_endpos, damage, 0, 0, dir * max(1, force), dtype, trace_ent.species, self);
Damage (trace_ent, self, self, damage, dtype, trace_endpos, dir * force);
{
if(is_from_exception)
return (exception); // if exception is detected, allow it to override
- else if not(is_from_contents)
+ else if (!is_from_contents)
return FALSE; // otherwise, only allow damage from contents
}
else if(autocvar_g_projectiles_damage == 1)
{
if(is_from_exception)
return (exception); // if exception is detected, allow it to override
- else if not(is_from_contents || is_from_owner)
+ else if (!(is_from_contents || is_from_owner))
return FALSE; // otherwise, only allow self damage and damage from contents
}
else if(autocvar_g_projectiles_damage == 2) // allow any damage, but override for exceptions
self.takedamage = DAMAGE_NO;
self.event_damage = func_null;
- if((attacker.flags & FL_CLIENT) && !autocvar_g_projectiles_keep_owner)
+ if(IS_CLIENT(attacker) && !autocvar_g_projectiles_keep_owner)
{
self.owner = attacker;
self.realowner = attacker;