Agreed. In fact, what I've done is:
- Subclassed CharacterHealth as AdvancedCharacterHealth. In AdvancedCharacterHealth, as you point out, if I simply wanted straight damage multipliers, I would have just overriden Damage(), specifically the 8 argument version that actually did the work...