refactor: extract functions in monst_spell_monst