From 681ea28cf4839e34d32313b3143642a0da58728f Mon Sep 17 00:00:00 2001 From: Mario Date: Wed, 5 Oct 2016 20:59:45 +1000 Subject: [PATCH] Fix another hardcoded slot 0 case --- qcsrc/server/bot/default/scripting.qc | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/qcsrc/server/bot/default/scripting.qc b/qcsrc/server/bot/default/scripting.qc index 6b3ab1e4b..66dc91b25 100644 --- a/qcsrc/server/bot/default/scripting.qc +++ b/qcsrc/server/bot/default/scripting.qc @@ -568,11 +568,22 @@ float bot_cmd_select_weapon(entity this) if(id < WEP_FIRST || id > WEP_LAST) return CMD_STATUS_ERROR; - .entity weaponentity = weaponentities[0]; // TODO: unhardcode + bool success = false; - if(client_hasweapon(this, Weapons_from(id), weaponentity, true, false)) - this.(weaponentity).m_switchweapon = Weapons_from(id); - else + for(int slot = 0; slot < MAX_WEAPONSLOTS; ++slot) + { + .entity weaponentity = weaponentities[slot]; + if(this.(weaponentity).m_weapon == WEP_Null && slot != 0) + continue; + + if(client_hasweapon(this, Weapons_from(id), weaponentity, true, false)) + { + success = true; + this.(weaponentity).m_switchweapon = Weapons_from(id); + } + } + + if(!success) return CMD_STATUS_ERROR; return CMD_STATUS_FINISHED; -- 2.39.2