diff --git a/source/games/duke/src/player_d.cpp b/source/games/duke/src/player_d.cpp index 9a75c03b6..7116ad459 100644 --- a/source/games/duke/src/player_d.cpp +++ b/source/games/duke/src/player_d.cpp @@ -2741,7 +2741,15 @@ void processinput_d(int snum) p->weapon_sway += 96; else p->oweapon_sway = p->weapon_sway = 1024; } - else p->weapon_sway = p->bobcounter; + else + { + p->weapon_sway = p->bobcounter; + + if ((p->bobcounter - p->oweapon_sway) > 256) + { + p->oweapon_sway = p->weapon_sway; + } + } s->xvel = ksqrt((p->posx - p->bobposx) * (p->posx - p->bobposx) + (p->posy - p->bobposy) * (p->posy - p->bobposy));