diff --git a/source/blood/src/weapon.cpp b/source/blood/src/weapon.cpp index 6583ca9f1..28096c117 100644 --- a/source/blood/src/weapon.cpp +++ b/source/blood/src/weapon.cpp @@ -2060,7 +2060,35 @@ void WeaponProcess(PLAYER *pPlayer) { } else if (pPlayer->input.getNewWeapon() == WeaponSel_Alt) { - // todo + char weapon; + + switch (pPlayer->curWeapon) + { + case 6: + weapon = 11; + break; + case 11: + weapon = 12; + break; + case 12: + weapon = 6; + break; + default: + return; + } + + pPlayer->input.setNewWeapon(0); + pPlayer->weaponState = 0; + pPlayer->nextWeapon = 0; + int t = 0; + pPlayer->weaponMode[weapon] = t; + if (pPlayer->curWeapon) + { + WeaponLower(pPlayer); + pPlayer->nextWeapon = weapon; + return; + } + pPlayer->newWeapon = weapon; } if (pPlayer->weaponState == -1) { diff --git a/wadsrc/static/engine/menudef.txt b/wadsrc/static/engine/menudef.txt index dbd584c15..45aa9390c 100644 --- a/wadsrc/static/engine/menudef.txt +++ b/wadsrc/static/engine/menudef.txt @@ -481,7 +481,7 @@ OptionMenu "ActionControlsMenu"// protected { Control "$CNTRLMNU_ALTATTACK" , "+alt_fire" } - ifgame(ShadowWarrior, Duke, Redneck) + ifgame(ShadowWarrior, Duke, Redneck, Blood) { Control "$CNTRLMNU_ALTWEAPON" , "weapalt" }