feat: 连战次数选择 (#8159)

* feat: 连战次数选择

* fix: plugin初始化错误

* fix: 参数错误

* chore: set_params时检查series取值范围

* chore: 修改 series 取值范围

* chore: 剩余理智关卡连战次数设置为1
This commit is contained in:
uye
2024-02-03 00:36:13 +08:00
committed by GitHub
parent cf828efbee
commit 79b1d9da42
13 changed files with 104 additions and 14 deletions

View File

@@ -51,7 +51,7 @@ asst::FightTask::FightTask(const AsstCallback& callback, Assistant* inst)
m_dr_grandet_task_plugin_ptr = m_fight_task_ptr->register_plugin<DrGrandetTaskPlugin>();
m_dr_grandet_task_plugin_ptr->set_enable(false);
m_fight_task_ptr->register_plugin<SanityBeforeStageTaskPlugin>()->set_retry_times(3);
m_fight_task_ptr->register_plugin<FightTimesTaskPlugin>();
m_fight_times_task_plugin_prt = m_fight_task_ptr->register_plugin<FightTimesTaskPlugin>();
m_medicine_plugin = m_fight_task_ptr->register_plugin<MedicineCounterTaskPlugin>();
m_subtasks.emplace_back(m_start_up_task_ptr);
@@ -69,6 +69,11 @@ bool asst::FightTask::set_params(const json::value& params)
const int expiring_medicine = params.get("expiring_medicine", 0);
const int stone = params.get("stone", 0);
const int times = params.get("times", INT_MAX);
const int series = params.get("series", 1);
if (series < 1 || series > 6) {
Log.error("Invalid series");
return false;
}
bool enable_penguin = params.get("report_to_penguin", false);
bool enable_yituliu = params.get("report_to_yituliu", false);
std::string penguin_id = params.get("penguin_id", "");
@@ -121,6 +126,7 @@ bool asst::FightTask::set_params(const json::value& params)
.set_times_limit("StoneConfirm", stone)
.set_times_limit("StartButton1", times)
.set_times_limit("StartButton2", times);
m_fight_times_task_plugin_prt->set_series(series);
m_medicine_plugin->set_count(medicine);
m_medicine_plugin->set_use_expiring(expiring_medicine != 0);
m_medicine_plugin->set_dr_grandet(is_dr_grandet);