mirror of
https://github.com/MaaAssistantArknights/MaaAssistantArknights.git
synced 2026-07-18 02:10:21 +08:00
fix.修复自动战斗cost_changes和kills同时存在时,cost_changes基准计算错误的问题
This commit is contained in:
@@ -333,24 +333,8 @@ bool asst::BattleProcessTask::do_action(const BattleAction& action)
|
||||
bool asst::BattleProcessTask::wait_condition(const BattleAction& action)
|
||||
{
|
||||
cv::Mat image;
|
||||
while (m_kills < action.kills) {
|
||||
if (need_exit()) {
|
||||
return false;
|
||||
}
|
||||
image = m_ctrler->get_image();
|
||||
BattleImageAnalyzer analyzer(image);
|
||||
analyzer.set_target(BattleImageAnalyzer::Target::Kills);
|
||||
if (analyzer.analyze()) {
|
||||
m_kills = analyzer.get_kills();
|
||||
if (m_kills >= action.kills) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
try_possible_skill(image);
|
||||
std::this_thread::yield();
|
||||
}
|
||||
|
||||
// 因为要算基准cost,所以这个要放在kills前面
|
||||
if (action.cost_changes != 0) {
|
||||
int cost_base = -1;
|
||||
|
||||
@@ -374,6 +358,24 @@ bool asst::BattleProcessTask::wait_condition(const BattleAction& action)
|
||||
}
|
||||
}
|
||||
|
||||
while (m_kills < action.kills) {
|
||||
if (need_exit()) {
|
||||
return false;
|
||||
}
|
||||
image = m_ctrler->get_image();
|
||||
BattleImageAnalyzer analyzer(image);
|
||||
analyzer.set_target(BattleImageAnalyzer::Target::Kills);
|
||||
if (analyzer.analyze()) {
|
||||
m_kills = analyzer.get_kills();
|
||||
if (m_kills >= action.kills) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
try_possible_skill(image);
|
||||
std::this_thread::yield();
|
||||
}
|
||||
|
||||
// 部署干员还有额外等待费用够或 CD 转好
|
||||
if (action.type == BattleActionType::Deploy) {
|
||||
const std::string& name = m_group_to_oper_mapping[action.group_name].name;
|
||||
|
||||
Reference in New Issue
Block a user