Refactored throwing objects to take damage types into account.