diff --git a/src/MeoAssistant/Task/Miscellaneous/BattleProcessTask.cpp b/src/MeoAssistant/Task/Miscellaneous/BattleProcessTask.cpp index b8bb34e711..ce1352b800 100644 --- a/src/MeoAssistant/Task/Miscellaneous/BattleProcessTask.cpp +++ b/src/MeoAssistant/Task/Miscellaneous/BattleProcessTask.cpp @@ -657,7 +657,8 @@ bool asst::BattleProcessTask::try_possible_skill(const cv::Mat& image) if (info.info.skill_usage != BattleSkillUsage::Possibly && info.info.skill_usage != BattleSkillUsage::Once) { continue; } - const auto roi = make_rect(Rect { info.pos.x, info.pos.y, 0, 0 }.move(skill_roi_move)); + auto roi = make_rect(Rect { info.pos.x, info.pos.y, 0, 0 }.move(skill_roi_move)); + roi &= cv::Rect(0, 0, image.cols, image.rows); const auto result = find_skill_ready(image(roi), temp); if (result.empty()) continue; diff --git a/src/MeoAssistant/Task/Roguelike/RoguelikeBattleTaskPlugin.cpp b/src/MeoAssistant/Task/Roguelike/RoguelikeBattleTaskPlugin.cpp index 7970df250c..bb62d83bf6 100644 --- a/src/MeoAssistant/Task/Roguelike/RoguelikeBattleTaskPlugin.cpp +++ b/src/MeoAssistant/Task/Roguelike/RoguelikeBattleTaskPlugin.cpp @@ -917,7 +917,8 @@ bool asst::RoguelikeBattleTaskPlugin::try_possible_skill(const cv::Mat& image) } const Point pos = m_normal_tile_info.at(loc).pos; const Rect pos_rect(pos.x, pos.y, 1, 1); - const auto roi = make_rect(pos_rect.move(skill_roi_move)); + auto roi = make_rect(pos_rect.move(skill_roi_move)); + roi &= cv::Rect(0, 0, image.cols, image.rows); auto result = find_skill_ready(image(roi), temp); if (result.empty()) continue;