33 e.state |= 8 * gibowner.species;
37 if(gibowner.classname ==
"body")
38 e.team =
etof(gibowner.enemy);
40 e.team =
etof(gibowner);
55 Violence_GibSplash_At(source.origin + source.view_ofs, source.velocity, type, amount, source, attacker);
88 if(mdlname ==
"models/gibs/bloodyskull.md3")
95 gib.colormod =
'2 2 2';
101 _setmodel(gib, mdlname);
111 for (i = 0; i < 50 * pmod; ++i)
112 __pointparticles(ef,
org,
randomvec() * explosionspeed, howmany / 50);
149 __trailparticles(
this, _particleeffectnum(
strcat(
species_prefix(this.
cnt), EFFECT_TR_SLIGHTBLOOD.eent_eff_name)), oldorg,
this.origin);
151 __trailparticles(
this, _particleeffectnum(
strcat(
species_prefix(this.
cnt), EFFECT_TR_BLOOD.eent_eff_name)), oldorg,
this.origin);
178 gib.silent = issilent;
180 gib.colormap |=
BIT(10);
183 setsize (gib,
'-8 -8 -8',
'8 8 8');
202 gib.move_time =
time;
215 string gentle_prefix =
"morphed_";
220 org.x = ReadShort() * 4 + 2;
221 org.y = ReadShort() * 4 + 2;
222 org.z = ReadShort() * 4 + 2;
235 gentle_prefix =
"happy_";
240 gentle_prefix =
"particlegibs_";
249 if(amount <= 0 || !isNew)
255 setorigin(
this,
org);
257 int specnum = (type & 0x78) / 8;
258 bool issilent = (type & 0x40);
274 for(
int c = 0; c < amount; ++c)
276 int randomvalue = amount - c;
303 __pointparticles(_particleeffectnum(
strcat(specstr,
"blood")),
org, vel, amount * 16);
310 __pointparticles(_particleeffectnum(
strcat(gentle_prefix,
"damage_dissolve")),
org, vel, amount);
313 __pointparticles(_particleeffectnum(
strcat(gentle_prefix,
"damage_hit")),
org, vel, amount * 16);
#define BIT(n)
Only ever assign into the first 24 bits in QC (so max is BIT(23)).
var entity(vector mins, vector maxs,.entity tofield) findbox_tofield_OrFallback
IntrusiveList g_drawables
const float ALPHA_MIN_VISIBLE
#define setmodel(this, m)
float compressShortVector(vector vec)
vector decompressShortVector(int data)
const int SPECIES_ROBOT_SOLID
const int SPECIES_ROBOT_RUSTY
const int SPECIES_ROBOT_SHINY
const float MOVE_NOMONSTERS
float trace_dphitq3surfaceflags
float Q3SURFACEFLAG_NOIMPACT
void Gib_setmodel(entity gib, string mdlname, int specnum)
string species_prefix(int specnum)
void Gib_Draw(entity this)
void Violence_GibSplash(entity source, float type, float amount, entity attacker)
void new_te_bloodshower(int ef, vector org, float explosionspeed, int howmany)
void TossGib(string mdlname, vector safeorg, vector org, vector vconst, vector vrand, int specnum, bool destroyontouch, bool issilent)
bool Violence_GibSplash_SendEntity(entity this, entity to, int sf)
void Gib_Delete(entity this)
void Gib_Touch(entity this, entity toucher)
void Violence_GibSplash_At(vector org, vector dir, float type, float amount, entity gibowner, entity attacker)
void SUB_RemoveOnNoImpact(entity this, entity toucher)
float autocvar_cl_gibs_ticrate
int autocvar_cl_gentle_gibs
bool autocvar_cl_gibs_sloppy
float autocvar_cl_gibs_lifetime
float autocvar_cl_gibs_damageforcescale
bool autocvar_cl_particlegibs
float autocvar_cl_gibs_velocity_up
int autocvar_cl_gibs_maxcount
float autocvar_cl_gibs_velocity_scale
float autocvar_cl_particles_quality
float autocvar_cl_gibs_avelocity_scale
float autocvar_cl_gibs_velocity_random
ERASEABLE entity IL_PUSH(IntrusiveList this, entity it)
Push to tail.
#define NET_HANDLE(id, param)
#define Net_Accept(classname)
#define WriteHeader(to, id)
#define REGISTER_NET_TEMP(id)
Model MDL_GIB_ROBO_RANDOM()
void Movetype_Physics_MatchTicrate(entity this, float tr, bool sloppy)
void set_movetype(entity this, int mt)
const int MOVETYPE_BOUNCE
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 LimitedChildrenRubble(IntrusiveList list, string cname, int limit, void(entity) deleteproc, entity parent)
entity ListNewChildRubble(IntrusiveList list, entity child)
IntrusiveList CasingsNGibs
#define sound(e, c, s, v, a)
Sound SND_GIB_SPLAT_RANDOM()
bool sound_allowed(int to, entity e)
#define IS_REAL_CLIENT(v)
#define FOREACH_CLIENT(cond, body)