Quick answer: Reset the multiplier in a dedicated miss handler that runs before any early return, and make missing the only path that does not increment it.
If your combo multiplier just keeps going up even when the player whiffs, the miss case is not resetting it. Wire the reset to misses explicitly. Here is the fix.
How to fix it
1. Reset in the miss handler
Put the multiplier reset directly in the miss or break event handler, and make sure that handler runs before any early return that might skip it.
2. Increment only on success
Increase the multiplier strictly in the success path, so the only outcomes are increment on hit and reset on miss with no third path that leaves it untouched.
3. Distinguish miss from no-input
Decide whether simply not acting counts as a miss or is neutral, and handle each explicitly, so an idle moment does not silently preserve an undeserved multiplier.
Catching the ones you can't reproduce
The hardest version of this to fix is the one you can't reproduce — it only happens on a player's hardware, OS, driver, or save state, under conditions that simply aren't present on your machine. A report that says “it crashed” or “it froze” gives you nothing to act on, so the bug survives release after release while quietly costing you players.
Automatic error capture closes that gap. Each failure arrives with its full stack trace, the device and OS, the build number, and a breadcrumb trail of what the player did right before it broke, so even a failure you have never seen becomes a specific, reproducible issue. Fold identical failures into one signature ranked by how many players each hits, and your worklist sorts itself worst-first instead of arriving as a stream of vague complaints.
This is where a tool like Bugnet earns its place. Its SDK captures every error automatically with the full stack trace plus device, OS, memory, build, and game-state context, folds duplicates into one grouped issue with an occurrence count, and ties each to the build it first appeared on — so you fix the problem that hurts the most players first and confirm it is gone when its signature disappears from the next release.
Ship the fix, watch the signature disappear from the next build. That's how you know it's really gone.