From 6af6cd14ade2be896312f61194bf6cdde591fdcf Mon Sep 17 00:00:00 2001 From: zzyyyl Date: Sat, 30 Sep 2023 14:24:50 +0800 Subject: [PATCH] =?UTF-8?q?refactor:=20=E5=B0=9D=E8=AF=95=E4=BF=AE?= =?UTF-8?q?=E6=94=B9=E7=83=A7=E7=83=AD=E6=B0=B4=E7=9A=84=E5=AE=9E=E7=8E=B0?= =?UTF-8?q?=E6=96=B9=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- resource/tasks.json | 16 +++++++++++++++- src/MaaCore/Task/Interface/RoguelikeTask.cpp | 20 +++++++++----------- 2 files changed, 24 insertions(+), 12 deletions(-) diff --git a/resource/tasks.json b/resource/tasks.json index 118637b611..911cb7d39b 100644 --- a/resource/tasks.json +++ b/resource/tasks.json @@ -9033,7 +9033,7 @@ "Roguelike@LastRewardConfirm" ] }, - "Roguelike@LastReward_stop": { + "Roguelike@LastReward_restart": { "template": "empty.png", "action": "ClickSelf", "cache": false, @@ -9045,6 +9045,20 @@ ], "next": [] }, + "Roguelike@LastReward_stop": { + "template": "empty.png", + "action": "ClickSelf", + "cache": false, + "roi": [ + 171, + 151, + 935, + 533 + ], + "next": [ + "RoguelikeControlTaskPlugin-Stop" + ] + }, "Roguelike@LastReward": { "Doc": "你的上一次探索突破了至少两层困难,这一次可以获得更多支援——热水壶", "baseTask": "Roguelike@LastReward_default", diff --git a/src/MaaCore/Task/Interface/RoguelikeTask.cpp b/src/MaaCore/Task/Interface/RoguelikeTask.cpp index 009d839326..cffff9213d 100644 --- a/src/MaaCore/Task/Interface/RoguelikeTask.cpp +++ b/src/MaaCore/Task/Interface/RoguelikeTask.cpp @@ -104,25 +104,23 @@ bool asst::RoguelikeTask::set_params(const json::value& params) // 设置ocr第三层层名,设置识别到退出重进 Task.set_task_base(theme + "@Roguelike@LevelName", theme + "@Roguelike@LevelName_mode4"); if (!start_with_elite_two) { - // TODO: 烧水有更好的解决方案,用插件 set_enable(false) - // 获得热水壶和演讲时长延时 - patch["Roguelike@LastReward"] = patch["Roguelike@LastReward4"] = - json::object { { "postDelay", 2147483647 } }; + // 获得热水壶和演讲时停止肉鸽 + Task.set_task_base("Roguelike@LastReward", "Roguelike@LastReward_stop"); + Task.set_task_base("Roguelike@LastReward4", "Roguelike@LastReward_stop"); } // 获得其他奖励时重开 - Task.set_task_base("Roguelike@LastReward2", "Roguelike@LastReward_stop"); - Task.set_task_base("Roguelike@LastReward3", "Roguelike@LastReward_stop"); - Task.set_task_base("Roguelike@LastRewardRand", "Roguelike@LastReward_stop"); + Task.set_task_base("Roguelike@LastReward2", "Roguelike@LastReward_restart"); + Task.set_task_base("Roguelike@LastReward3", "Roguelike@LastReward_restart"); + Task.set_task_base("Roguelike@LastRewardRand", "Roguelike@LastReward_restart"); } else { // 重置需要ocr的层名和next任务 Task.set_task_base(theme + "@Roguelike@LevelName", theme + "@Roguelike@LevelName_default"); - // 重置获得热水壶和演讲延时 - patch["Roguelike@LastReward"] = patch["Roguelike@LastReward4"] = - json::object { { "postDelay", 0 } }; - // 重置其他奖励next + // 重置开局奖励next + Task.set_task_base("Roguelike@LastReward", "Roguelike@LastReward_default"); Task.set_task_base("Roguelike@LastReward2", "Roguelike@LastReward_default"); Task.set_task_base("Roguelike@LastReward3", "Roguelike@LastReward_default"); + Task.set_task_base("Roguelike@LastReward4", "Roguelike@LastReward_default"); Task.set_task_base("Roguelike@LastRewardRand", "Roguelike@LastReward_default"); } if (!patch.empty()) {