correction, pressing it loads of times does - the clear thing should probably bypass its multiple hit thing
This points at a bit of refactoring which needs done where we should split damage() and destroy() methods. Currently bullets just call destroy() on things they hit since everything used to be one hit kill, so things that aren't immediately killed currently override destroy() to take damage instead.
that's a good idea, I imagine it wouldn't be difficult to implement; you could just have the base class's polymorphic damage() function calling destroy(), and then nothing would need to be changed anywhere else, except the bullets that call it and the places where we want to take damage instead of destroying.
The carrier takes damage though, and that gets cleared with one press of C, what's the deal there?
Oh, I was a little wrong, destroy is actually called from within
enemy::base::collided_with instead of from the bullet, which the carrier
overrides. I think splitting into damage and destroy would still make sense