refactor: share monspell_damage in cast_learned_spell