X-Git-Url: http://deadsoftware.ru/gitweb?a=blobdiff_plain;f=src%2Fgame%2Fg_player.pas;h=e0a04f5354833be34d1bbe88fdeb8877a5237820;hb=fd7ac4cd55502ecbb2a77e3f603ac0f899c1064d;hp=84a68348ac99945473f26de8ebd0fbfa47701343;hpb=4fafdb6a4e53f7f9db8060f3a7e7c9c3f9580683;p=d2df-sdl.git diff --git a/src/game/g_player.pas b/src/game/g_player.pas index 84a6834..e0a04f5 100644 --- a/src/game/g_player.pas +++ b/src/game/g_player.pas @@ -3598,18 +3598,18 @@ begin // two knuckles are for "normal" and "berserk" (see `if` below -- it removes the one that is not needed) // priorities: // bfg, launcher, plasma, flamethrower, ssg, minigun, sg, pistol, berserk, chainsaw, fist - weaponOrder[0] := WEAPON_BFG; - weaponOrder[1] := WEAPON_ROCKETLAUNCHER; - weaponOrder[2] := WEAPON_PLASMA; - weaponOrder[3] := WEAPON_FLAMETHROWER; - weaponOrder[4] := WEAPON_SHOTGUN2; - weaponOrder[5] := WEAPON_CHAINGUN; - weaponOrder[6] := WEAPON_SHOTGUN1; - weaponOrder[7] := WEAPON_PISTOL; - weaponOrder[8] := WEAPON_KASTET+666; // berserk fist - weaponOrder[9] := WEAPON_SAW; - weaponOrder[10] := WEAPON_KASTET; // normal fist - weaponOrder[11] := WEAPON_SUPERPULEMET; + weaponOrder[0] := WEAPON_SUPERPULEMET; + weaponOrder[1] := WEAPON_BFG; + weaponOrder[2] := WEAPON_ROCKETLAUNCHER; + weaponOrder[3] := WEAPON_PLASMA; + weaponOrder[4] := WEAPON_FLAMETHROWER; + weaponOrder[5] := WEAPON_SHOTGUN2; + weaponOrder[6] := WEAPON_CHAINGUN; + weaponOrder[7] := WEAPON_SHOTGUN1; + weaponOrder[8] := WEAPON_PISTOL; + weaponOrder[9] := WEAPON_KASTET+666; // berserk fist + weaponOrder[10] := WEAPON_SAW; + weaponOrder[11] := WEAPON_KASTET; // normal fist for f := 0 to High(weaponOrder) do begin @@ -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);