From: Mario Date: Wed, 7 May 2014 19:36:01 +0000 (+1000) Subject: Fix a bug that would crash the server if too many bots were near fire X-Git-Tag: xonotic-v0.8.0~200^2~1 X-Git-Url: https://git.rm.cloudns.org/?a=commitdiff_plain;h=c76c695d1ffd5b4518f02198c2cd68a93566fe10;p=xonotic%2Fxonotic-data.pk3dir.git Fix a bug that would crash the server if too many bots were near fire --- diff --git a/qcsrc/server/bot/havocbot/havocbot.qc b/qcsrc/server/bot/havocbot/havocbot.qc index a0e6bfffd..f9f683579 100644 --- a/qcsrc/server/bot/havocbot/havocbot.qc +++ b/qcsrc/server/bot/havocbot/havocbot.qc @@ -721,11 +721,11 @@ void havocbot_movetogoal() // avoiding dangers and obstacles vector dst_ahead, dst_down; makevectors(self.v_angle_y * '0 1 0'); - dst_ahead = self.origin + self.view_ofs + (self.velocity * 0.4) + (v_forward * 32 * 3); - dst_down = dst_ahead + '0 0 -1500'; + dst_ahead = normalize(self.origin + self.view_ofs + (self.velocity * 0.4) + (v_forward * 32 * 3)); + dst_down = dst_ahead - '0 0 1500'; // Look ahead - traceline(self.origin + self.view_ofs , dst_ahead, TRUE, world); + traceline(self.origin + self.view_ofs, dst_ahead, TRUE, world); // Check head-banging against walls if(vlen(self.origin + self.view_ofs - trace_endpos) < 25 && !(self.aistatus & AI_STATUS_OUT_WATER)) diff --git a/qcsrc/server/g_damage.qc b/qcsrc/server/g_damage.qc index 45319ca07..29b19e6a1 100644 --- a/qcsrc/server/g_damage.qc +++ b/qcsrc/server/g_damage.qc @@ -1092,7 +1092,7 @@ float Fire_AddDamage(entity e, entity o, float d, float t, float dt) mintime = e.fire_endtime - time; maxtime = max(mintime, t); - mindps = e.fire_damagepersec; + mindps = max(0.1, e.fire_damagepersec); maxdps = max(mindps, dps); if(maxtime > mintime || maxdps > mindps) @@ -1217,6 +1217,7 @@ void Fire_ApplyDamage(entity e) e.fire_hitsound = TRUE; if (!IS_INDEPENDENT_PLAYER(e)) + if(!e.freezetag_frozen) FOR_EACH_PLAYER(other) if(e != other) { if(IS_PLAYER(other))