refactor: extract ball/bolt spells in make_attack_spell