From cc376da1abd5dc87b7ada63879382017eee5e99b Mon Sep 17 00:00:00 2001 From: et Date: Mon, 8 Aug 2022 20:50:11 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=B7=BB=E5=8A=A0=E8=82=89=E9=B8=BD?= =?UTF-8?q?=E9=80=89=E9=A1=B9=E2=80=9C=E6=98=AF=E5=90=A6=E6=8A=95=E8=B5=84?= =?UTF-8?q?=E6=BA=90=E7=9F=B3=E9=94=AD=E2=80=9D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- resource/tasks.json | 4 ++++ src/MeoAssistant/RoguelikeTask.cpp | 6 ++++++ src/MeoAsstGui/Helper/AsstProxy.cs | 4 +++- .../Resources/Localizations/en-us.xaml | 1 + .../Resources/Localizations/ja-jp.xaml | 1 + .../Resources/Localizations/ko-kr.xaml | 1 + .../Resources/Localizations/pallas.xaml | 1 + .../Resources/Localizations/zh-cn.xaml | 3 ++- .../Resources/Localizations/zh-tw.xaml | 1 + .../RoguelikeSettingsUserControl.xaml | 8 ++++---- .../ViewModels/SettingsViewModel.cs | 19 +++++++++++++++++++ .../ViewModels/TaskQueueViewModel.cs | 3 ++- 12 files changed, 45 insertions(+), 7 deletions(-) diff --git a/resource/tasks.json b/resource/tasks.json index 17de7fe155..a6c79e84f4 100644 --- a/resource/tasks.json +++ b/resource/tasks.json @@ -6963,6 +6963,10 @@ 276, 216 ], + "exceededNext": [ + "Roguelike1TraderRandomShopping", + "Roguelike1StageTraderLeave" + ], "next": [ "Roguelike1StageTraderInvestSystemEnter", "Roguelike1TraderRandomShopping", diff --git a/src/MeoAssistant/RoguelikeTask.cpp b/src/MeoAssistant/RoguelikeTask.cpp index f42a0d82b6..2de764667c 100644 --- a/src/MeoAssistant/RoguelikeTask.cpp +++ b/src/MeoAssistant/RoguelikeTask.cpp @@ -65,6 +65,12 @@ bool asst::RoguelikeTask::set_params(const json::value& params) int number_of_starts = params.get("starts_count", INT_MAX); m_roguelike_task_ptr->set_times_limit("Roguelike1Start", number_of_starts); + bool investment_enabled = params.get("investment_enabled", true); + if (!investment_enabled) { + // 禁用投资系统,通过 exceededNext 进入商店购买逻辑 + m_roguelike_task_ptr->set_times_limit("Roguelike1StageTraderInvestSystem", 0); + } + int number_of_investments = params.get("investments_count", INT_MAX); m_roguelike_task_ptr->set_times_limit("Roguelike1StageTraderInvestConfirm", number_of_investments); diff --git a/src/MeoAsstGui/Helper/AsstProxy.cs b/src/MeoAsstGui/Helper/AsstProxy.cs index 1e9e7b2f17..3cf3d2a12d 100644 --- a/src/MeoAsstGui/Helper/AsstProxy.cs +++ b/src/MeoAsstGui/Helper/AsstProxy.cs @@ -1194,18 +1194,20 @@ namespace MeoAsstGui /// /// /// 开始探索次数。 + /// 是否投资源石锭 /// 投资源石锭次数。 /// 投资满了自动停止任务。 /// TODO. /// TODO. /// TODO. /// 是否成功。 - public bool AsstAppendRoguelike(int mode, int starts, int invests, bool stop_when_full, + public bool AsstAppendRoguelike(int mode, int starts, bool investment_enabled, int invests, bool stop_when_full, string squad, string roles, string core_char) { var task_params = new JObject(); task_params["mode"] = mode; task_params["starts_count"] = starts; + task_params["investment_enabled"] = investment_enabled; task_params["investments_count"] = invests; task_params["stop_when_investment_full"] = stop_when_full; if (squad.Length > 0) diff --git a/src/MeoAsstGui/Resources/Localizations/en-us.xaml b/src/MeoAsstGui/Resources/Localizations/en-us.xaml index 45a6e0d10a..91f768d69b 100644 --- a/src/MeoAsstGui/Resources/Localizations/en-us.xaml +++ b/src/MeoAsstGui/Resources/Localizations/en-us.xaml @@ -123,6 +123,7 @@ Limit of times Limit of deposit coins Stop when deposited coins reached limit + Deposit coins Penguin Report ID(Number part only) diff --git a/src/MeoAsstGui/Resources/Localizations/ja-jp.xaml b/src/MeoAsstGui/Resources/Localizations/ja-jp.xaml index 9b460dfc6f..9ca4020788 100644 --- a/src/MeoAsstGui/Resources/Localizations/ja-jp.xaml +++ b/src/MeoAsstGui/Resources/Localizations/ja-jp.xaml @@ -123,6 +123,7 @@ 実行回数の制限 投資回数の制限 源石錐が上限に達してミッションを停止する + 源石錐の投資 Penguin StatisticsレポートID(デジタル部分のみ) diff --git a/src/MeoAsstGui/Resources/Localizations/ko-kr.xaml b/src/MeoAsstGui/Resources/Localizations/ko-kr.xaml index 3118a9a99d..96a8db64f8 100644 --- a/src/MeoAsstGui/Resources/Localizations/ko-kr.xaml +++ b/src/MeoAsstGui/Resources/Localizations/ko-kr.xaml @@ -123,6 +123,7 @@ 시작 횟수 제한 투자 횟수 제한 오리지늄 주괴가 한계에 도달하면 중지한다 + 투자 오리지늄을 PenguinStats 보고 ID (숫자만) diff --git a/src/MeoAsstGui/Resources/Localizations/pallas.xaml b/src/MeoAsstGui/Resources/Localizations/pallas.xaml index d629b76041..6c26b55498 100644 --- a/src/MeoAsstGui/Resources/Localizations/pallas.xaml +++ b/src/MeoAsstGui/Resources/Localizations/pallas.xaml @@ -123,6 +123,7 @@ 🍻🍷🍸🍷 🍺🍻🍺🍺 🍸🍸🍻🍸🍷🍺 + 🍻🕺🍷🍻🕺🍸🍻🍻 diff --git a/src/MeoAsstGui/Resources/Localizations/zh-cn.xaml b/src/MeoAsstGui/Resources/Localizations/zh-cn.xaml index 456d5d1071..fd69ebd45c 100644 --- a/src/MeoAsstGui/Resources/Localizations/zh-cn.xaml +++ b/src/MeoAsstGui/Resources/Localizations/zh-cn.xaml @@ -122,7 +122,8 @@ 策略 开始次数限制 投资次数限制 - 源石锭达到上限停止 + 储备源石锭达到上限时停止 + 投资源石锭 企鹅物流汇报ID(仅数字部分) diff --git a/src/MeoAsstGui/Resources/Localizations/zh-tw.xaml b/src/MeoAsstGui/Resources/Localizations/zh-tw.xaml index 9d59b41d71..946556c308 100644 --- a/src/MeoAsstGui/Resources/Localizations/zh-tw.xaml +++ b/src/MeoAsstGui/Resources/Localizations/zh-tw.xaml @@ -123,6 +123,7 @@ 開始次數限制 投資次數限制 源石錠達到上限停止 + 投資源石錠 企鵝物流匯報ID(僅數字部分) diff --git a/src/MeoAsstGui/UserControl/RoguelikeSettingsUserControl.xaml b/src/MeoAsstGui/UserControl/RoguelikeSettingsUserControl.xaml index a70f261ad5..102a62fc94 100644 --- a/src/MeoAsstGui/UserControl/RoguelikeSettingsUserControl.xaml +++ b/src/MeoAsstGui/UserControl/RoguelikeSettingsUserControl.xaml @@ -69,14 +69,14 @@ TextType="Int" TextWrapping="Wrap" /> - + VerticalAlignment="Center" + Content="{DynamicResource InvestmentEnabled}" + IsChecked="{Binding RoguelikeInvestmentEnabled}"/> + /// Gets or sets a value indicating whether investment is enabled. + /// + public bool RoguelikeInvestmentEnabled + { + get + { + return bool.Parse(_roguelikeInvestmentEnabled); + } + + set + { + SetAndNotify(ref _roguelikeInvestmentEnabled, value.ToString()); + ViewStatusStorage.Set("Roguelike.InvestmentEnabled", value.ToString()); + } + } + private string _roguelikeInvestsCount = ViewStatusStorage.Get("Roguelike.InvestsCount", "9999999"); /// diff --git a/src/MeoAsstGui/ViewModels/TaskQueueViewModel.cs b/src/MeoAsstGui/ViewModels/TaskQueueViewModel.cs index 1ca4ad5d03..ef7748cfee 100644 --- a/src/MeoAsstGui/ViewModels/TaskQueueViewModel.cs +++ b/src/MeoAsstGui/ViewModels/TaskQueueViewModel.cs @@ -955,7 +955,8 @@ namespace MeoAsstGui var asstProxy = _container.Get(); return asstProxy.AsstAppendRoguelike( - mode, settings.RoguelikeStartsCount, settings.RoguelikeInvestsCount, settings.RoguelikeStopWhenInvestmentFull, + mode, settings.RoguelikeStartsCount, + settings.RoguelikeInvestmentEnabled, settings.RoguelikeInvestsCount, settings.RoguelikeStopWhenInvestmentFull, settings.RoguelikeSquad, settings.RoguelikeRoles, settings.RoguelikeCoreChar); }