From fd7ac4cd55502ecbb2a77e3f603ac0f899c1064d Mon Sep 17 00:00:00 2001
From: Ketmar Dark <ketmar@ketmar.no-ip.org>
Date: Sat, 29 Sep 2018 23:37:06 +0300
Subject: [PATCH] fix: we can have more priorities than "real" weapons
 (consider berserk knuckles and normal knuckles, for example)

---
 src/game/g_player.pas | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/src/game/g_player.pas b/src/game/g_player.pas
index da7e6d2..e0a04f5 100644
--- a/src/game/g_player.pas
+++ b/src/game/g_player.pas
@@ -3709,14 +3709,14 @@ begin
 
   // find next weapon to switch onto
   cwi := curlidx;
-  for i := 0 to High(FWeapon) do
+  for i := 0 to High(weaponOrder) do
   begin
-    cwi := (cwi+length(FWeapon)+1) mod length(FWeapon);
+    cwi := (cwi+length(weaponOrder)+1) mod length(weaponOrder);
     if (cwi = curlidx) then continue; // skip current weapon
     if not wantThisWeapon[cwi] then continue;
     rwidx := weaponOrder[cwi];
     if (rwidx < 0) then continue;
-    //e_WriteLog(Format('  trying logical %d (real %d)', [cwi, rwidx]), TMsgType.Warning);
+    //e_WriteLog(Format('  trying logical %d (real %d); has=%d, hasammo=%d', [cwi, rwidx, Integer(FWeapon[rwidx]), Integer(hasAmmoForWeapon(rwidx))]), TMsgType.Warning);
     if FWeapon[rwidx] and ((wwc = 1) or hasAmmoForWeapon(rwidx)) then
     begin
       //e_WriteLog('    I FOUND HER!', TMsgType.Warning);
-- 
2.29.2