I like the idea. However, when the weapon mode switches, that should be a lot more obvious! As of now, "Backwards" into "Knockback" is a death sentence. Maybe display the new mode above the hero and/or crosshair? Pause or slow down the game briefly after the mode switched? Display a timer that shows how long the current mode will still last, so you can plan around that? I also found myself skipping "Spin" all the time: given that you move faster when not shooting, there really is no point in using it. The chances of you hitting anything like this are close to non-existent anyways and as enemies can take quite a bit of bullets, even hitting them oftentimes wouldn't change anything! From a game design standpoint I liked the "no aim" mode most, as it usually forces you to navigate into awkwardly risky spots if you want to keep hitting enemies while it's active. Lastly I would have liked a way to refill hearts to make up for early mistakes. Maybe reward the player with +1 heart (but maximum 5) after each wave of enemies?