Changes to Damage API

Improved onDamage hook, added a couple of funky features such as tweakable damage amounts and replaceable damage types.