39 e.projectiledeathtype = deathtype;
41 e.dmg_edge = edgedamage;
42 bool rad_negative =
false;
50 e.dmg_force =
vlen(force);
53 e.species = bloodtype &
BITS(4);
57 e.colormap = (
teamplay) ? dmgowner.team : dmgowner.clientcolors;
84 if(
time >= this.
cnt || !this.
owner || !this.
owner.modelindex || !
this.owner.drawmask)
87 this.
owner.total_damages =
max(0, this.
owner.total_damages - 1);
95 this.
owner.total_damages =
max(0, this.
owner.total_damages - 1);
105 __pointparticles(this.
team,
org,
'0 0 0', 1);
151 nearestbone = tagnum;
171 effectname =
strcat(
"damage_", wep.netname);
178 effectname =
strcat(specstr, effectname);
188 e.team = _particleeffectnum(effectname);
196 float thedamage, rad, edge, thisdmg;
197 bool hitplayer =
false;
210 force.x = ReadShort() * 4 + 2;
211 force.y = ReadShort() * 4 + 2;
212 force.z = ReadShort() * 4 + 2;
225 forcemul = (rad_negative ? -1 : 1);
227 int tcolor = dmg_colors;
231 tcolor = (dmg_colors - 1) * 0x11;
252 thisdmg = thedamage + (edge - thedamage) * thisdmg;
253 thisforce = forcemul *
vlen(force) * (thisdmg / thedamage) *
normalize(it.origin -
w_org);
267 thisforce = forcemul * force;
270 if(it.damageforcescale)
271 if(
vdist(thisforce, !=, 0))
306 case DEATH_VH_SPID_MINIGUN:
310 case DEATH_VH_SPID_ROCKET:
314 case DEATH_VH_SPID_DEATH:
319 case DEATH_VH_WAKI_GUN:
323 case DEATH_VH_WAKI_ROCKET:
327 case DEATH_VH_WAKI_DEATH:
332 case DEATH_VH_RAPT_CANNON:
336 case DEATH_VH_RAPT_FRAGMENT:
339 for(i = 1; i < 4; ++i)
348 case DEATH_VH_RAPT_BOMB:
352 case DEATH_VH_RAPT_DEATH:
356 case DEATH_VH_BUMB_GUN:
377 case DEATH_TURRET_EWHEEL:
382 case DEATH_TURRET_FLAC:
387 case DEATH_TURRET_MLRS:
388 case DEATH_TURRET_HK:
389 case DEATH_TURRET_WALK_ROCKET:
390 case DEATH_TURRET_HELLION:
395 case DEATH_TURRET_MACHINEGUN:
396 case DEATH_TURRET_WALK_GUN:
401 case DEATH_TURRET_PLASMA:
406 case DEATH_TURRET_WALK_MELEE:
411 case DEATH_TURRET_PHASER:
414 case DEATH_TURRET_TESLA:
415 te_smallflash(this.
origin);
424 if(!hitplayer || rad)
#define MUTATOR_CALLHOOK(id,...)
#define BIT(n)
Only ever assign into the first 24 bits in QC (so max is BIT(23)).
vector damage_explosion_calcpush(vector explosion_f, vector target_v, float speedfactor)
var entity(vector mins, vector maxs,.entity tofield) findbox_tofield_OrFallback
fields which are explicitly/manually set are marked with "M", fields set automatically are marked wit...
virtual void wr_impacteffect()
(CLIENT) impact effect for weapon explosion
float damagepush_speedfactor
#define colormapPaletteColor(c, isPants)
#define setmodel(this, m)
const int SPECIES_ROBOT_SOLID
const int SPECIES_ROBOT_RUSTY
const int SPECIES_RESERVED
const int SPECIES_ROBOT_SHINY
const float MOVE_NOMONSTERS
vector particles_colormin
float trace_dphitq3surfaceflags
vector particles_colormax
vector trace_plane_normal
string species_prefix(int specnum)
void DamageEffect_Think(entity this)
bool Damage_DamageInfo_SendEntity(entity this, entity to, int sf)
void DamageEffect(entity this, vector hitorg, float thedamage, int type, int specnum)
int total_damages
number of effects which currently are attached to a player
void Damage_DamageInfo(vector org, float coredamage, float edgedamage, float rad, vector force, int deathtype, float bloodtype, entity dmgowner)
float autocvar_cl_damageeffect_ticrate
const float MAX_DAMAGEEXTRARADIUS
float autocvar_cl_damageeffect_lifetime
bool autocvar_cl_damageeffect_distribute
float autocvar_cl_damageeffect_lifetime_max
int autocvar_cl_damageeffect
float autocvar_cl_damageeffect_bones
float autocvar_cl_damageeffect_lifetime_min
const float MIN_DAMAGEEXTRARADIUS
#define DEATH_ISTURRET(t)
#define DEATH_ISSPECIAL(t)
#define DEATH_ISVEHICLE(t)
#define DEATH_WEAPONOF(t)
#define pointparticles(effect, org, vel, howmany)
#define FOREACH_ENTITY_RADIUS(org, dist, cond, body)
#define NET_HANDLE(id, param)
#define WriteHeader(to, id)
#define REGISTER_NET_LINKED(id)
void Net_LinkEntity(entity e, bool docull, float dt, bool(entity this, entity to, int sendflags) sendfunc)
#define UNSET_ONGROUND(s)
strcat(_("^F4Countdown stopped!"), "\n^BG", _("Teams are too unbalanced."))
#define new_pure(class)
purely logical entities (not linked to the area grid)
float prandom()
Predictable random number generator (not seeded yet)
void RaptorCBShellfragToss(vector _org, vector _vel, vector _ang)
#define sound(e, c, s, v, a)
Sound SND_FLACEXP_RANDOM()
bool sound_allowed(int to, entity e)
#define vdist(v, cmp, f)
Vector distance comparison, avoids sqrt()
ERASEABLE vector NearestPointOnBox(entity box, vector org)
int autocvar_chase_active
int autocvar_cl_gentle_damage