From: Mario Date: Thu, 7 Mar 2013 15:34:19 +0000 (+1100) Subject: Remove enemy_range() checks X-Git-Tag: xonotic-v0.8.0~241^2^2~461 X-Git-Url: https://git.rm.cloudns.org/?a=commitdiff_plain;h=eecc5811a903d788b276c4d1277abff63d9cfd20;p=xonotic%2Fxonotic-data.pk3dir.git Remove enemy_range() checks --- diff --git a/qcsrc/server/monsters/lib/defs.qh b/qcsrc/server/monsters/lib/defs.qh index 0eda75bdf..422885af4 100644 --- a/qcsrc/server/monsters/lib/defs.qh +++ b/qcsrc/server/monsters/lib/defs.qh @@ -45,6 +45,4 @@ const float MONSTER_MOVE_SPAWNLOC = 3; // monster will move to its spawn locatio const float MONSTER_MOVE_NOMOVE = 4; // monster simply stands still const float MONSTER_MOVE_ENEMY = 5; // used only as a movestate -float enemy_range () { return vlen(self.enemy.origin - self.origin); } - float MONSTER_STATE_ATTACK_LEAP = 1; // the start of something big? diff --git a/qcsrc/server/monsters/lib/monsters.qc b/qcsrc/server/monsters/lib/monsters.qc index 3bd719af0..7847ca5dc 100644 --- a/qcsrc/server/monsters/lib/monsters.qc +++ b/qcsrc/server/monsters/lib/monsters.qc @@ -351,11 +351,11 @@ float GenericCheckAttack () if (time < self.attack_finished_single) return FALSE; - if (enemy_range() > 2000) // long traces are slow + if (vlen(self.enemy.origin - self.origin) > 2000) // long traces are slow return FALSE; if(self.attack_melee) - if(enemy_range() <= 100 * self.scale) + if(vlen(self.enemy.origin - self.origin) <= 100 * self.scale) { monster_sound(self.msound_attack_melee, 0, FALSE); // no delay for attack sounds self.attack_melee(); // don't wait for nextthink - too slow diff --git a/qcsrc/server/monsters/monster/hknight.qc b/qcsrc/server/monsters/monster/hknight.qc index 726392b92..059878a82 100644 --- a/qcsrc/server/monsters/monster/hknight.qc +++ b/qcsrc/server/monsters/monster/hknight.qc @@ -95,7 +95,7 @@ void hknight_inferno () traceline((self.absmin + self.absmax) * 0.5, (self.enemy.absmin + self.enemy.absmax) * 0.5, TRUE, world); if (trace_fraction != 1) return; // not visible - if(enemy_range() <= 2000) + if(vlen(self.enemy.origin - self.origin) <= 2000) Fire_AddDamage(self.enemy, self, autocvar_g_monster_hellknight_inferno_damage * monster_skill, autocvar_g_monster_hellknight_inferno_damagetime, DEATH_MONSTER_HKNIGHT_INFERNO); } @@ -352,7 +352,7 @@ float hknight_magic () RandomSelection_Add(world, 0, "inferno", autocvar_g_monster_hellknight_inferno_chance, 1); RandomSelection_Add(world, 0, "spikes", autocvar_g_monster_hellknight_spike_chance, 1); if(self.health >= 100) - RandomSelection_Add(world, 0, "jump", ((enemy_range() > autocvar_g_monster_hellknight_jump_dist * self.scale) ? 1 : autocvar_g_monster_hellknight_jump_chance), 1); + RandomSelection_Add(world, 0, "jump", ((vlen(self.enemy.origin - self.origin) > autocvar_g_monster_hellknight_jump_dist * self.scale) ? 1 : autocvar_g_monster_hellknight_jump_chance), 1); switch(RandomSelection_chosen_string) { @@ -376,7 +376,7 @@ float hknight_magic () } case "jump": { - if (enemy_range() >= 400) + if (vlen(self.enemy.origin - self.origin) >= 400) if (findtrajectorywithleading(self.origin, self.mins, self.maxs, self.enemy, 1000, 0, 10, 0, self)) { self.velocity = findtrajectory_velocity; diff --git a/qcsrc/server/monsters/monster/ogre.qc b/qcsrc/server/monsters/monster/ogre.qc index e1435f79d..2d08a4c0d 100644 --- a/qcsrc/server/monsters/monster/ogre.qc +++ b/qcsrc/server/monsters/monster/ogre.qc @@ -31,7 +31,7 @@ void chainsaw (float side) if (!self.enemy) return; - if (enemy_range() > 100 * self.scale) + if (vlen(self.enemy.origin - self.origin) > 100 * self.scale) return; Damage(self.enemy, self, self, autocvar_g_monster_ogre_chainsaw_damage * monster_skill, DEATH_MONSTER_OGRE_CHAINSAW, self.enemy.origin, normalize(self.enemy.origin - self.origin)); diff --git a/qcsrc/server/monsters/monster/shalrath.qc b/qcsrc/server/monsters/monster/shalrath.qc index 4ceb6ce74..240cf38cc 100644 --- a/qcsrc/server/monsters/monster/shalrath.qc +++ b/qcsrc/server/monsters/monster/shalrath.qc @@ -63,7 +63,7 @@ float shal_missile () { // don't throw if it is blocked traceline(self.origin + '0 0 10', self.enemy.origin + '0 0 10', FALSE, self); - if (enemy_range() > 1000) + if (vlen(self.enemy.origin - self.origin) > 1000) return FALSE; if (trace_ent != self.enemy) return FALSE; diff --git a/qcsrc/server/monsters/monster/shambler.qc b/qcsrc/server/monsters/monster/shambler.qc index 3c83c9131..681750c5b 100644 --- a/qcsrc/server/monsters/monster/shambler.qc +++ b/qcsrc/server/monsters/monster/shambler.qc @@ -41,7 +41,7 @@ void shambler_smash () if (!self.enemy) return; - if (enemy_range() > 100 * self.scale) + if (vlen(self.enemy.origin - self.origin) > 100 * self.scale) return; Damage(self.enemy, self, self, bigdmg * monster_skill, DEATH_MONSTER_SHAMBLER_SMASH, self.enemy.origin, normalize(self.enemy.origin - self.origin)); diff --git a/qcsrc/server/monsters/monster/soldier.qc b/qcsrc/server/monsters/monster/soldier.qc index e9ac961aa..6fb9e1a54 100644 --- a/qcsrc/server/monsters/monster/soldier.qc +++ b/qcsrc/server/monsters/monster/soldier.qc @@ -110,14 +110,14 @@ float SoldierCheckAttack () if (time < self.attack_finished_single) return FALSE; - if (enemy_range() >= 2000) + if (vlen(self.enemy.origin - self.origin) >= 2000) return FALSE; - if (enemy_range() <= 120) + if (vlen(self.enemy.origin - self.origin) <= 120) chance = 0.9; - else if (enemy_range() <= 500) + else if (vlen(self.enemy.origin - self.origin) <= 500) chance = 0.6; // was 0.4 - else if (enemy_range() <= 1000) + else if (vlen(self.enemy.origin - self.origin) <= 1000) chance = 0.3; // was 0.05 else chance = 0; @@ -126,7 +126,7 @@ float SoldierCheckAttack () if (chance > random()) return FALSE; - if(self.currentammo <= 0 && enemy_range() <= 120) + if(self.currentammo <= 0 && vlen(self.enemy.origin - self.origin) <= 120) { monster_sound(self.msound_attack_melee, 0, FALSE); // no delay for attack sounds self.attack_melee();