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);
148 __trailparticles(
this, _particleeffectnum(
strcat(
species_prefix(this.
cnt), EFFECT_TR_SLIGHTBLOOD.eent_eff_name)), oldorg,
this.origin);
150 __trailparticles(
this, _particleeffectnum(
strcat(
species_prefix(this.
cnt), EFFECT_TR_BLOOD.eent_eff_name)), oldorg,
this.origin);
177 gib.silent = issilent;
179 gib.colormap |=
BIT(10);
182 setsize (gib,
'-8 -8 -8',
'8 8 8');
201 gib.move_time =
time;
212 Net_Accept(net_gibsplash);
214 string gentle_prefix =
"morphed_";
219 org.x = ReadShort() * 4 + 2;
220 org.y = ReadShort() * 4 + 2;
221 org.z = ReadShort() * 4 + 2;
234 gentle_prefix =
"happy_";
239 gentle_prefix =
"particlegibs_";
248 if(amount <= 0 || !isNew)
254 setorigin(
this,
org);
256 int specnum = (type & 0x78) / 8;
257 bool issilent = (type & 0x40);
273 for(
int c = 0; c < amount; ++c)
275 int randomvalue = amount - c;
302 __pointparticles(_particleeffectnum(
strcat(specstr,
"blood")),
org, vel, amount * 16);
309 __pointparticles(_particleeffectnum(
strcat(gentle_prefix,
"damage_dissolve")),
org, vel, amount);
312 __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 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)