else
dm = min((dm - autocvar_g_balance_falldamage_minspeed) * autocvar_g_balance_falldamage_factor, autocvar_g_balance_falldamage_maxdamage);
if (dm > 0)
- Damage (this, NULL, NULL, dm, DEATH_FALL.m_id, DMG_NOWEP, this.origin, '0 0 0');
+ {
+ tracebox(this.origin, this.mins, this.maxs, this.origin - '0 0 1', MOVE_NOMONSTERS, this);
+ if (!(trace_dphitq3surfaceflags & Q3SURFACEFLAG_NODAMAGE))
+ Damage (this, NULL, NULL, dm, DEATH_FALL.m_id, DMG_NOWEP, this.origin, '0 0 0');
+ }
}
if(autocvar_g_maxspeed > 0 && velocity_len > autocvar_g_maxspeed)
if (this.gametypefilter != "")
if (!isGametypeInFilter(MapInfo_LoadedGametype, teamplay, have_team_spawns, this.gametypefilter))
{
- goto cleanup;
+ delete(this);
+ return;
}
if (this.cvarfilter != "" && !expr_evaluate(this.cvarfilter)) {
- goto cleanup;
+ delete(this);
+ return;
}
if (DoesQ3ARemoveThisEntity(this)) {
- goto cleanup;
+ delete(this);
+ return;
}
set_movetype(this, this.movetype);
#undef X
if (MUTATOR_CALLHOOK(OnEntityPreSpawn, this)) {
- goto cleanup;
+ delete(this);
+ return;
}
- return;
-LABEL(cleanup)
- delete(this);
}
void WarpZone_PostInitialize_Callback()