feat: 添加肉鸽选项“是否投资源石锭”

This commit is contained in:
et
2022-08-08 20:50:11 +08:00
parent 5e979c277a
commit cc376da1ab
12 changed files with 45 additions and 7 deletions

View File

@@ -6963,6 +6963,10 @@
276,
216
],
"exceededNext": [
"Roguelike1TraderRandomShopping",
"Roguelike1StageTraderLeave"
],
"next": [
"Roguelike1StageTraderInvestSystemEnter",
"Roguelike1TraderRandomShopping",

View File

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

View File

@@ -1194,18 +1194,20 @@ namespace MeoAsstGui
/// </list>
/// </param>
/// <param name="starts">开始探索次数。</param>
/// <param name="investment_enabled">是否投资源石锭</param>
/// <param name="invests">投资源石锭次数。</param>
/// <param name="stop_when_full">投资满了自动停止任务。</param>
/// <param name="squad"><paramref name="squad"/> TODO.</param>
/// <param name="roles"><paramref name="roles"/> TODO.</param>
/// <param name="core_char"><paramref name="core_char"/> TODO.</param>
/// <returns>是否成功。</returns>
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)

View File

@@ -123,6 +123,7 @@
<system:String x:Key="StartTimesLimit">Limit of times</system:String>
<system:String x:Key="GoldTimesLimit">Limit of deposit coins</system:String>
<system:String x:Key="StopOnGoldLimit">Stop when deposited coins reached limit</system:String>
<system:String x:Key="InvestmentEnabled">Deposit coins</system:String>
<system:String x:Key="PenguinID">Penguin Report ID(Number part only)</system:String>

View File

@@ -123,6 +123,7 @@
<system:String x:Key="StartTimesLimit">実行回数の制限</system:String>
<system:String x:Key="GoldTimesLimit">投資回数の制限</system:String>
<system:String x:Key="StopOnGoldLimit">源石錐が上限に達してミッションを停止する</system:String>
<system:String x:Key="InvestmentEnabled">源石錐の投資</system:String>
<system:String x:Key="PenguinID">Penguin StatisticsレポートIDデジタル部分のみ</system:String>

View File

@@ -123,6 +123,7 @@
<system:String x:Key="StartTimesLimit">시작 횟수 제한</system:String>
<system:String x:Key="GoldTimesLimit">투자 횟수 제한</system:String>
<system:String x:Key="StopOnGoldLimit">오리지늄 주괴가 한계에 도달하면 중지한다</system:String>
<system:String x:Key="InvestmentEnabled">투자 오리지늄을</system:String>
<system:String x:Key="PenguinID">PenguinStats 보고 ID (숫자만)</system:String>

View File

@@ -123,6 +123,7 @@
<system:String x:Key="StartTimesLimit">🍻🍷🍸🍷</system:String>
<system:String x:Key="GoldTimesLimit">🍺🍻🍺🍺</system:String>
<system:String x:Key="StopOnGoldLimit">🍸🍸🍻🍸🍷🍺</system:String>
<system:String x:Key="InvestmentEnabled"></system:String>
<system:String x:Key="PenguinID">🍻🕺🍷🍻🕺🍸🍻🍻</system:String>

View File

@@ -122,7 +122,8 @@
<system:String x:Key="Strategy">策略</system:String>
<system:String x:Key="StartTimesLimit">开始次数限制</system:String>
<system:String x:Key="GoldTimesLimit">投资次数限制</system:String>
<system:String x:Key="StopOnGoldLimit">源石锭达到上限停止</system:String>
<system:String x:Key="StopOnGoldLimit">储备源石锭达到上限停止</system:String>
<system:String x:Key="InvestmentEnabled">投资源石锭</system:String>
<system:String x:Key="PenguinID">企鹅物流汇报ID仅数字部分</system:String>

View File

@@ -123,6 +123,7 @@
<system:String x:Key="StartTimesLimit">開始次數限制</system:String>
<system:String x:Key="GoldTimesLimit">投資次數限制</system:String>
<system:String x:Key="StopOnGoldLimit">源石錠達到上限停止</system:String>
<system:String x:Key="InvestmentEnabled">投資源石錠</system:String>
<system:String x:Key="PenguinID">企鵝物流匯報ID僅數字部分</system:String>

View File

@@ -69,14 +69,14 @@
TextType="Int"
TextWrapping="Wrap" />
<TextBlock
<CheckBox
Grid.Row="2"
Grid.Column="1"
Margin="10"
HorizontalAlignment="Right"
Style="{StaticResource TextBlockDefault}"
Text="{DynamicResource GoldTimesLimit}"
TextWrapping="Wrap" />
VerticalAlignment="Center"
Content="{DynamicResource InvestmentEnabled}"
IsChecked="{Binding RoguelikeInvestmentEnabled}"/>
<hc:TextBox
Grid.Row="2"
Grid.Column="2"

View File

@@ -796,6 +796,25 @@ namespace MeoAsstGui
}
}
private string _roguelikeInvestmentEnabled = ViewStatusStorage.Get("Roguelike.InvestmentEnabled", true.ToString());
/// <summary>
/// Gets or sets a value indicating whether investment is enabled.
/// </summary>
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");
/// <summary>

View File

@@ -955,7 +955,8 @@ namespace MeoAsstGui
var asstProxy = _container.Get<AsstProxy>();
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);
}