From 89b641c415446985b8559be54fb9c3a8c0825bd9 Mon Sep 17 00:00:00 2001 From: terencehill Date: Fri, 23 Nov 2018 16:48:43 +0100 Subject: [PATCH] Bot AI: fix bots ignoring loot if thrown by killed players they were directly chasing --- qcsrc/server/bot/default/havocbot/havocbot.qc | 22 +++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/qcsrc/server/bot/default/havocbot/havocbot.qc b/qcsrc/server/bot/default/havocbot/havocbot.qc index bed291905..bb6c15c52 100644 --- a/qcsrc/server/bot/default/havocbot/havocbot.qc +++ b/qcsrc/server/bot/default/havocbot/havocbot.qc @@ -794,8 +794,26 @@ void havocbot_movetogoal(entity this) // don't remove if not visible if (checkpvs(this.origin + this.view_ofs, this.goalcurrent)) { - navigation_goalrating_timeout_force(this); - return; + if (IS_DEAD(this.goalcurrent)) + { + IL_EACH(g_items, it.enemy == this.goalcurrent && Item_IsLoot(it), + { + if (vdist(it.origin - this.goalcurrent.death_origin, <, 50)) + { + navigation_clearroute(this); + navigation_pushroute(this, it); + // loot can't be immediately rated since it isn't on ground yet + // it will be rated after a second when on ground, meanwhile head to it + navigation_goalrating_timeout_expire(this, 1); + return; + } + }); + } + if (!Item_IsLoot(this.goalcurrent)) + { + navigation_goalrating_timeout_force(this); + return; + } } } else if (!(STAT(FROZEN, this.goalentity)) && this.bot_tracewalk_time < time) -- 2.39.2