I forgot that the shooting was the main thing for a second there. yes your idea is awsome, decrease the damage depending on how many shots per second they were or the range using an int amount_shoot and a coroutine nerf() you can yield return new WaitForSeconds(time) time = float (1-3f); and then check if the amount_shoot exceeds a certain amount by int cap_amount and then decrease range and stuff for 5 seconds! you can add the amount_shoot++; / amount_shoot += 1; / amount_shoot = amount_shoot += 1; in your shooting() function.
this is my visualization of how it’ll work. it may be a little complicated or just a mess everywhere.
But the game is awesome for what it is and how it used the theme well especially the physics in it! (rope)