Added damage event and reworked getEnergy()