32 dropclient(this.
owner);
44 bool scheduled =
false;
59 e.nextthink =
time + 0.1;
72 if (this.
flags & FL_PROJECTILE)
81 if (STAT(FROZEN,
this))
113 if (this.watertype <= CONTENT_WATER && this.waterlevel > 0)
128 this.
flags &= ~FL_INWATER;
142 bool have_hook =
false;
146 if(this.(weaponentity).
hook && this.(weaponentity).
hook.state)
171 if(autocvar_g_maxspeed > 0 &&
vdist(this.
velocity, >, autocvar_g_maxspeed))
177 if(game_stopped ||
time < game_starttime)
182 if (it.move_movetype == MOVETYPE_NOCLIP) continue;
183 CreatureFrame_Liquids(it);
184 CreatureFrame_FallDamage(it);
185 it.oldvelocity = it.velocity;
212 if (e.initialize_entity)
217 if ((ent == e) || ((ent.classname ==
"initialize_entity") && (ent.enemy == e)))
223 prev.initialize_entity_next = ent.initialize_entity_next;
224 ent = prev.initialize_entity_next;
235 ent = ent.initialize_entity_next;
243 if(e.remove_except_protected_forbidden)
244 error(
"not allowed to remove this at this point");
250 if(e.classname ==
"spike")
251 error(
"Removing spikes is forbidden (crylink bug), please report");
289 if(
time > client_cefc_accumulatortime + 1)
291 float t = client_cefc_accumulator / (
time - client_cefc_accumulatortime);
301 "CEFC time: ",
ftos(t * 1000),
"ms; ",
302 "CEFC calls per second: ",
ftos(c_seeing * (c_seen - 1) / t),
"; ",
305 client_cefc_accumulatortime =
time;
306 client_cefc_accumulator = 0;
314 UncustomizeEntitiesRun();
317 WarpZone_StartFrame();
326 bool game_delay = (
time < game_starttime);
334 if (
warmup_stage && !game_stopped && warmup_limit > 0 &&
time - game_starttime >= warmup_limit) {
343 GlobalStats_updateglobal();
380 if (this.
angles ==
'0 -1 0') {
382 }
else if (this.
angles ==
'0 -2 0') {
386 #define X(out, in) MACRO_BEGIN \ 387 if (in != 0) { out = out + (random() * 2 - 1) * in; } \ 389 X(this.
origin.x,
this.originjitter.x);
X(this.
origin.y,
this.originjitter.y);
X(this.
origin.z,
this.originjitter.z);
390 X(this.
angles.x,
this.anglesjitter.x);
X(this.
angles.y,
this.anglesjitter.y);
X(this.
angles.z,
this.anglesjitter.z);
391 X(this.
angles.y,
this.anglejitter);
416 if (!e.fullspawndata)
422 if (
strstrofs(e.fullspawndata,
"//", 0) >= 0)
426 LOG_WARNF(
"^1EDICT %s fullspawndata contains unsupported //comment^7%s",
ftos(num_for_edict(e)), e.fullspawndata);
446 if (v && ...(0,
bool) ==
true)
448 v = strreplace(
"\\",
"/", v);
449 if (whichpack(v) ==
"")
460 setsize(tracetest_ent, PL_MIN_CONST, PL_MAX_CONST);
465 delete(tracetest_ent);
495 LOG_INFO(
"Received HTTP request data for an invalid id ",
ftos(
id),
".");
void remove_unsafely(entity e)
void dedicated_print(string input)
print(), but only print if the server is not local
#define IL_EACH(this, cond, body)
#define PHYS_INPUT_BUTTON_CHAT(s)
bool autocvar_g_balance_falldamage_onlyvertical
float autocvar_g_balance_falldamage_deadminspeed
float autocvar_g_balance_contents_playerdamage_lava_burn_time
int autocvar_g_balance_contents_playerdamage_lava
IntrusiveList g_monster_targets
void remove_safely(entity e)
ERASEABLE vector solve_quadratic(float a, float b, float c)
ax^2 + bx + c = 0
string GetField_fullspawndata(entity e, string f,...)
float autocvar_g_balance_contents_damagerate
float trace_dphitq3surfaceflags
void dropclient_do(entity this)
#define IS_FAKE_CLIENT(v)
void Curl_URI_Get_Callback(int id, float status, string data)
void remove_except_protected(entity e)
IntrusiveList g_damagedbycontents
void PlayerPostThink(entity this)
#define FOREACH_CLIENT(cond, body)
float autocvar_sys_ticrate
Gametype MapInfo_LoadedGametype
void SV_PausedTic(float elapsedtime)
float watersound_finished
void CSQCProjectile_Check(entity e)
var void delete_fn(entity e)
float DPCONTENTS_PLAYERCLIP
const int URI_GET_IPBAN_END
const int CH_PLAYER_SINGLE
ERASEABLE float url_URI_Get_Callback(int id, float status, string data)
bool dropclient_schedule(entity this)
Schedules dropclient for a player and returns true; if dropclient is already scheduled (for that play...
void CreatureFrame_FallDamage(entity this)
void PlayerPreThink(entity this)
void InitializeEntitiesRun()
void WarpZone_PostInitialize_Callback()
void waypoint_spawnforteleporter_wz(entity e, entity tracetest_ent)
#define IS_REAL_CLIENT(v)
int autocvar_g_balance_contents_playerdamage_lava_burn
bool autocvar_sv_autopause
#define FOREACH_ENTITY_CLASS(class, cond, body)
void CreatureFrame_Liquids(entity this)
const int URI_GET_DISCARD
void SV_OnEntityPreSpawnFunction(entity this)
void OnlineBanList_URI_Get_Callback(float id, float status, string data)
const float MOVE_NOMONSTERS
ERASEABLE entity IL_PUSH(IntrusiveList this, entity it)
Push to tail.
const float CONTENT_SLIME
const int MAX_WEAPONSLOTS
float Q3SURFACEFLAG_NODAMAGE
float isGametypeInFilter(Gametype gt, float tp, float ts, string pattern)
void make_safe_for_remove(entity e)
void GameLogEcho(string s)
void Damage(entity targ, entity inflictor, entity attacker, float damage, int deathtype,.entity weaponentity, vector hitloc, vector force)
bool DoesQ3ARemoveThisEntity(entity this)
void anticheat_startframe()
int autocvar_g_balance_falldamage_maxdamage
void ReadyRestart(bool forceWarmupEnd)
int autocvar_g_balance_contents_playerdamage_slime
IntrusiveList g_projectiles
float autocvar_g_balance_falldamage_minspeed
void sys_phys_update(entity this, float dt)
float Fire_AddDamage(entity e, entity o, float d, float t, float dt)
#define vdist(v, cmp, f)
Vector distance comparison, avoids sqrt()
const float TIMEOUT_LEADTIME
const int URI_GET_CURL_END
float autocvar_g_balance_falldamage_factor
entity initialize_entity_first
#define MUTATOR_CALLHOOK(id,...)
entity weaponentities[MAX_WEAPONSLOTS]
#define new_pure(class)
purely logical entities (.origin doesn't work)
void execute_next_frame()
int autocvar_g_balance_contents_projectiledamage
#define sound(e, c, s, v, a)
void Pause_TryPause(bool ispaused)
bool autocvar_sv_eventlog
void CreatureFrame_hotliquids(entity this)
float contents_damagetime
void set_movetype(entity this, int mt)
void URI_Get_Callback(int id, int status, string data)
engine callback
ERASEABLE bool expr_evaluate(string s)
Evaluate an expression of the form: [+ | -]? [var[op]val | [op]var | val | var] ...