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);
}