diff --git a/src/MaaCore/Status.h b/src/MaaCore/Status.h index da9d7564f7..9b003aad2c 100644 --- a/src/MaaCore/Status.h +++ b/src/MaaCore/Status.h @@ -47,7 +47,6 @@ namespace asst static inline const std::string RoguelikeStartWithEliteTwo = "RoguelikeStartWithEliteTwo"; static inline const std::string RoguelikeUseSupport = "RoguelikeUseSupport"; static inline const std::string RoguelikeUseNonfriendSupport = "RoguelikeUseNonfriendSupport"; - static inline const std::string RoguelikeTraderNoLongerBuy = "RoguelikeNoLongerBuy"; static inline const std::string RoguelikeTeamFullWithoutRookie = "RoguelikeTeamFullWithoutRookie"; static inline const std::string RoguelikeDifficulty = "RoguelikeDifficulty"; static inline const std::string RoguelikeFoldartalOverview = "RoguelikeFoldartalOverview"; diff --git a/src/MaaCore/Task/Roguelike/RoguelikeConfig.cpp b/src/MaaCore/Task/Roguelike/RoguelikeConfig.cpp index 49801b9bd6..1f564dcffb 100644 --- a/src/MaaCore/Task/Roguelike/RoguelikeConfig.cpp +++ b/src/MaaCore/Task/Roguelike/RoguelikeConfig.cpp @@ -4,4 +4,5 @@ void asst::RoguelikeConfig::clear() { m_recruitment_count = 0; m_recruitment_starts_complete = false; m_recruitment_team_complete = false; + m_trader_no_longer_buy = false; } diff --git a/src/MaaCore/Task/Roguelike/RoguelikeConfig.h b/src/MaaCore/Task/Roguelike/RoguelikeConfig.h index 1e035d9584..4318890452 100644 --- a/src/MaaCore/Task/Roguelike/RoguelikeConfig.h +++ b/src/MaaCore/Task/Roguelike/RoguelikeConfig.h @@ -33,6 +33,8 @@ namespace asst bool get_recruitment_starts_complete() { return m_recruitment_starts_complete; } void set_recruitment_team_complete(bool complete) { m_recruitment_team_complete = complete; } bool get_recruitment_team_complete() { return m_recruitment_team_complete; } + void set_trader_no_longer_buy(bool no_longer_buy) { m_trader_no_longer_buy = no_longer_buy; } + bool get_trader_no_longer_buy() { return m_trader_no_longer_buy; } protected: // 肉鸽主题 @@ -44,5 +46,6 @@ namespace asst bool m_recruitment_starts_complete = false; // 阵容是否完备 bool m_recruitment_team_complete = false; + bool m_trader_no_longer_buy = false; }; } diff --git a/src/MaaCore/Task/Roguelike/RoguelikeShoppingTaskPlugin.cpp b/src/MaaCore/Task/Roguelike/RoguelikeShoppingTaskPlugin.cpp index c6e1351566..004defa1b7 100644 --- a/src/MaaCore/Task/Roguelike/RoguelikeShoppingTaskPlugin.cpp +++ b/src/MaaCore/Task/Roguelike/RoguelikeShoppingTaskPlugin.cpp @@ -46,7 +46,7 @@ bool asst::RoguelikeShoppingTaskPlugin::_run() return false; } - bool no_longer_buy = status()->get_number(Status::RoguelikeTraderNoLongerBuy).value_or(0) ? true : false; + bool no_longer_buy = m_config->get_trader_no_longer_buy(); std::string str_chars_info = status()->get_str(Status::RoguelikeCharOverview).value_or(json::value().to_string()); json::value json_chars_info = json::parse(str_chars_info).value_or(json::value()); @@ -184,7 +184,7 @@ bool asst::RoguelikeShoppingTaskPlugin::_run() } } if (goods.no_longer_buy) { - status()->set_number(Status::RoguelikeTraderNoLongerBuy, 1); + m_config->set_trader_no_longer_buy(true); } break; }