Hey snootyjerk! Thanks so much for the kind words. I also felt like the weapon switching wasn’t consistent, but I thought, “Well, maybe I’m just tired or crazy, or both.” 😅
If I had to guess, I think the problem happens because the crank doesn't reset to a "neutral" point if you over-crank when switching.
Like, let's say it 100 ticks of the crank to switch the weapon, and the player inputs 150 ticks going clockwise. So they switch the weapon, then go 50 ticks to switching to the next one. If they switch clockwise again, it would only take 50 ticks. But if they wanted to go counterclockwise, they'd have to go 50 ticks to get back to neutral, then another 100 to actually switch. To fix that, you could set a timer to reset the ticks if the player hasn't moved the crank in a second or so.
Not sure if that's actually what's going on, of course :D