diff --git a/src/MaaCore/Task/Miscellaneous/BattleProcessTask.cpp b/src/MaaCore/Task/Miscellaneous/BattleProcessTask.cpp index 7eb17d0cd9..ec48c61a20 100644 --- a/src/MaaCore/Task/Miscellaneous/BattleProcessTask.cpp +++ b/src/MaaCore/Task/Miscellaneous/BattleProcessTask.cpp @@ -93,10 +93,18 @@ bool asst::BattleProcessTask::to_group() } auto result_opt = algorithm::get_char_allocation_for_each_group(groups, char_set); - if (!result_opt) { - return false; + if (result_opt) { + m_oper_in_group = *result_opt; + } + else { + Log.warn("get_char_allocation_for_each_group failed"); + for (const auto& [gp, names] : groups) { + if (names.empty()) { + continue; + } + m_oper_in_group.emplace(gp, names.front()); + } } - m_oper_in_group = *result_opt; std::unordered_map ungrouped; const auto& grouped_view = m_oper_in_group | views::values;