From: Mario Date: Mon, 30 Dec 2019 06:50:54 +0000 (+1000) Subject: Optimise logic a bit, only call vlen when absolutely necessary in fall damage checks X-Git-Tag: xonotic-v0.8.5~1105^2~65^2~1 X-Git-Url: https://git.rm.cloudns.org/?a=commitdiff_plain;h=218d4b5dae4de616e891359c5e5d34c87063b970;p=xonotic%2Fxonotic-data.pk3dir.git Optimise logic a bit, only call vlen when absolutely necessary in fall damage checks --- diff --git a/qcsrc/server/sv_main.qc b/qcsrc/server/sv_main.qc index cd4693a2b..80622f387 100644 --- a/qcsrc/server/sv_main.qc +++ b/qcsrc/server/sv_main.qc @@ -101,7 +101,6 @@ void CreatureFrame_FallDamage(entity this) return; // if the entity hasn't moved and isn't moving, then don't do anything // check for falling damage - float velocity_len = vlen(this.velocity); bool have_hook = false; for(int slot = 0; slot < MAX_WEAPONSLOTS; ++slot) { @@ -116,9 +115,9 @@ void CreatureFrame_FallDamage(entity this) { float dm; if(autocvar_g_balance_falldamage_onlyvertical) - dm = vlen('0 0 1' * this.oldvelocity.z) - vlen('0 0 1' * this.velocity.z); + dm = fabs(this.oldvelocity.z) - fabs(this.velocity.z); else - dm = vlen(this.oldvelocity) - velocity_len; // dm is now the velocity DECREASE. Velocity INCREASE should never cause a sound or any damage. + dm = vlen(this.oldvelocity) - vlen(this.velocity); // dm is now the velocity DECREASE. Velocity INCREASE should never cause a sound or any damage. if (IS_DEAD(this)) dm = (dm - autocvar_g_balance_falldamage_deadminspeed) * autocvar_g_balance_falldamage_factor; else @@ -131,7 +130,7 @@ void CreatureFrame_FallDamage(entity this) } } - if(autocvar_g_maxspeed > 0 && velocity_len > autocvar_g_maxspeed) + if(autocvar_g_maxspeed > 0 && vdist(this.velocity, >, autocvar_g_maxspeed)) Damage (this, NULL, NULL, 100000, DEATH_SHOOTING_STAR.m_id, DMG_NOWEP, this.origin, '0 0 0'); }