In the armor::onCollision function, you're calling the parent's onMount. You meant to call onCollision
Also, these functions don't work how you think they do. They're callbacks, they're called after the event that you're trying to stop has already happened. For example, overwriting onDeath won't stop you from dying, it'll stop what happens after you die: (setting your camera, giving you a death message, and allowing you to respawn, etc) from happening.