mirror of
https://github.com/MaaAssistantArknights/MaaAssistantArknights.git
synced 2026-07-19 10:32:19 +08:00
feat: 增加公招多选策略 (#7463)
* fix #7452 按照 #7452 的想法,在 #6900 的基础上增加了只选尽可能多选且只选高星tag的功能选项,并将选项策略合并 默认策略:只选一个高星tag组合 #6900 策略:选满三个tag为止 新增策略:尽可能多选高星tag,且额外的tag组合要么完整选入,要么舍弃;且若当前出现更高星tag组合,则不会考虑较低星,只会尽可能选高星tag组合(例如出现五星tag时,将尽力多选五星tag,不会考虑四星tag) (result_vec的排序规则暂时未更改) 在GUI中增加了选择公招策略的功能,如图: <details>   </details> 最后用模拟器在自己账号上进行了一些自动公招测试。 --------- Co-authored-by: David <56174894+Constrat@users.noreply.github.com> Co-authored-by: Horror Proton <107091537+horror-proton@users.noreply.github.com>
This commit is contained in:
@@ -39,12 +39,17 @@ bool asst::RecruitTask::set_params(const json::value& params)
|
||||
confirm.emplace_back(confirm_num_json.as_integer());
|
||||
}
|
||||
|
||||
ExtraTagsMode extra_tags_mode = static_cast<ExtraTagsMode>(params.get("extra_tags_mode", 0));
|
||||
// 若出现未知 extra_tags_mode , 将 extra_tags_mod 置为默认的 NoExtra 。
|
||||
if (!RecruitConfig::is_valid_extra_tags_mode(extra_tags_mode)) {
|
||||
extra_tags_mode = ExtraTagsMode::NoExtra;
|
||||
}
|
||||
|
||||
bool refresh = params.get("refresh", false);
|
||||
bool set_time = params.get("set_time", true);
|
||||
bool force_refresh = params.get("force_refresh", true);
|
||||
int times = params.get("times", 0);
|
||||
bool expedite = params.get("expedite", false);
|
||||
bool extra_tags = params.get("extra_tags", false);
|
||||
[[maybe_unused]] int expedite_times = params.get("expedite_times", 0);
|
||||
bool skip_robot = params.get("skip_robot", true);
|
||||
|
||||
@@ -65,7 +70,7 @@ bool asst::RecruitTask::set_params(const json::value& params)
|
||||
m_auto_recruit_task_ptr->set_max_times(times)
|
||||
.set_need_refresh(refresh)
|
||||
.set_use_expedited(expedite)
|
||||
.set_select_extra_tags(extra_tags)
|
||||
.set_select_extra_tags(extra_tags_mode)
|
||||
.set_select_level(std::move(select))
|
||||
.set_confirm_level(std::move(confirm))
|
||||
.set_skip_robot(skip_robot)
|
||||
|
||||
Reference in New Issue
Block a user