#pragma once
+// remove this ifdef when client or menu will actually make use of this stuff
+#ifdef SVQC
+
/** If this global exists, only functions with spawnfunc_ name prefix qualify as spawn functions */
noref bool require_spawnfunc_prefix;
.bool spawnfunc_checked;
FIELD_SCALAR(fld, health) \
FIELD_SCALAR(fld, height) \
FIELD_SCALAR(fld, impulse) \
+ FIELD_SCALAR(fld, invincible_finished) \
+ FIELD_SCALAR(fld, item_pickupsound) \
FIELD_SCALAR(fld, killtarget) \
FIELD_SCALAR(fld, lerpfrac) \
FIELD_SCALAR(fld, light_lev) \
FIELD_SCALAR(fld, lip) \
FIELD_SCALAR(fld, loddistance1) \
FIELD_SCALAR(fld, lodmodel1) \
+ FIELD_SCALAR(fld, lodmodel2) \
FIELD_SCALAR(fld, ltime) \
FIELD_SCALAR(fld, map) \
+ FIELD_SCALAR(fld, max_health) \
FIELD_SCALAR(fld, mdl) \
FIELD_SCALAR(fld, message2) \
FIELD_SCALAR(fld, message) \
FIELD_SCALAR(fld, phase) \
FIELD_SCALAR(fld, platmovetype) \
FIELD_SCALAR(fld, race_place) \
+ FIELD_SCALAR(fld, strength_finished) \
FIELD_SCALAR(fld, radius) \
FIELD_SCALAR(fld, respawntimestart) \
FIELD_SCALAR(fld, respawntimejitter) \
FIELD_SCALAR(fld, target_range) \
FIELD_SCALAR(fld, team) \
FIELD_SCALAR(fld, trigger_reverse) \
+ FIELD_SCALAR(fld, turret_scale_aim) \
+ FIELD_SCALAR(fld, turret_scale_ammo) \
+ FIELD_SCALAR(fld, turret_scale_damage) \
FIELD_SCALAR(fld, turret_scale_health) \
FIELD_SCALAR(fld, turret_scale_range) \
+ FIELD_SCALAR(fld, turret_scale_refire) \
FIELD_SCALAR(fld, turret_scale_respawn) \
FIELD_SCALAR(fld, volume) \
FIELD_SCALAR(fld, wait) \
FIELD_VEC(fld, velocity) \
/**/
+ERASEABLE
void _checkWhitelisted(entity this, string id)
{
for (int i = 0, n = numentityfields(); i < n; ++i)
assert(this); \
} \
if (!this.sourceLoc) { \
- this.sourceLoc = __FILE__ ":" STR(__LINE__); \
+ this.sourceLoc = __FILE__":"STR(__LINE__); \
} \
if (!this.spawnfunc_checked) { \
_checkWhitelisted(this, #id); \
if (__spawnfunc_unreachable_workaround) return; \
} \
void __spawnfunc_##id(entity this)
+
+#endif