14 this.update_time =
time;
32 static float orb_drawtime;
33 if (
time <= orb_drawtime)
39 float orb_alpha = this.
alpha * 0.6;
46 orb.update_time =
time;
47 orb.animstate_endtime = 0.25 *
min(orb.lifetime, 1);
48 orb.height = -4 * (2 * orb.animstate_endtime) ** -2;
53 float model_radius = orb.maxs.x;
56 orb.radius *= 0.6 / model_radius;
69 orb.avelocity =
'6 0 0' *
sin(spin_dir) +
'0 0 6' *
cos(spin_dir);
71 float age =
time - (orb.ltime - orb.lifetime);
73 orb.avelocity *= 24 ** (age / orb.lifetime);
105 float byte_lifetime = this.
lifetime * 8 - 1;
106 if (byte_lifetime < 0 || byte_lifetime >=
BIT(8) || byte_lifetime !=
floor(byte_lifetime))
108 float byte_radius = this.
radius * 0.2 - 1;
109 if (byte_radius < 0 || byte_radius >=
BIT(8) || byte_radius !=
floor(byte_radius))
#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
bool SetResourceExplicit(entity e, Resource res_type, float amount)
Sets the resource amount of an entity without calling any hooks.
#define drawfill(position, size, rgb, alpha, flag)
IntrusiveList g_drawables
IntrusiveList g_drawables_2d
#define setmodel(this, m)
const int SF_NADEORB_LIFETIME_FLOAT
const int SF_NADEORB_RADIUS_FLOAT
const float DRAWFLAG_ADDITIVE
ERASEABLE entity IL_PUSH(IntrusiveList this, entity it)
Push to tail.
noref float vid_conheight
#define NET_HANDLE(id, param)
#define ReadRegistered(r)
#define WriteHeader(to, id)
#define REGISTER_NET_LINKED(id)
#define WriteRegistered(r, to, it)
void set_movetype(entity this, int mt)
void orb_setup(entity orb)
void orb_draw(entity this)
void orb_draw2d(entity this)
bool orb_send(entity this, entity to, int sf)
#define REGISTRY_GET(id, i)
ERASEABLE float boxesoverlap(vector m1, vector m2, vector m3, vector m4)
requires that m2>m1 in all coordinates, and that m4>m3
float autocvar_hud_colorflash_alpha