Implemented defense based damage reduction. All damaging should be done through Entity.damage() now