diff --git a/src/MaaWpfGui/Main/AsstProxy.cs b/src/MaaWpfGui/Main/AsstProxy.cs index aa27e21d4b..80387beb65 100644 --- a/src/MaaWpfGui/Main/AsstProxy.cs +++ b/src/MaaWpfGui/Main/AsstProxy.cs @@ -1566,24 +1566,27 @@ namespace MaaWpfGui.Main Instances.TaskQueueViewModel.AddLog(LocalizationHelper.GetString("AccountSwitch") + $" {subTaskDetails!["current_account"]} -->> {subTaskDetails["account_name"]}", UiLogColor.Info); break; case "RoguelikeCollapsalParadigms": - int deepen_or_weaken = (int)subTaskDetails["deepen_or_weaken"]; - string cur = subTaskDetails["cur"].ToString(); - string prev = subTaskDetails["prev"].ToString(); - if (deepen_or_weaken == 1 && prev == string.Empty) + string deepen_or_weaken_str = subTaskDetails["deepen_or_weaken"]?.ToString() ?? "Unknown"; + if (int.TryParse(deepen_or_weaken_str, out int deepen_or_weaken)) { - Instances.TaskQueueViewModel.AddLog(string.Format(LocalizationHelper.GetString("RoguelikeGainParadigm"), cur, prev), UiLogColor.Info); - } - else if (deepen_or_weaken == 1 && prev != string.Empty) - { - Instances.TaskQueueViewModel.AddLog(string.Format(LocalizationHelper.GetString("RoguelikeDeepenParadigm"), cur, prev), UiLogColor.Info); - } - else if (deepen_or_weaken == -1 && cur == string.Empty) - { - Instances.TaskQueueViewModel.AddLog(string.Format(LocalizationHelper.GetString("RoguelikeLoseParadigm"), cur, prev), UiLogColor.Info); - } - else if (deepen_or_weaken == -1 && cur != string.Empty) - { - Instances.TaskQueueViewModel.AddLog(string.Format(LocalizationHelper.GetString("RoguelikeWeakenParadigm"), cur, prev), UiLogColor.Info); + string cur = subTaskDetails["cur"]?.ToString() ?? "UnKnown"; + string prev = subTaskDetails["prev"]?.ToString() ?? "UnKnown"; + if (deepen_or_weaken == 1 && prev == string.Empty) + { + Instances.TaskQueueViewModel.AddLog(string.Format(LocalizationHelper.GetString("RoguelikeGainParadigm"), cur, prev), UiLogColor.Info); + } + else if (deepen_or_weaken == 1 && prev != string.Empty) + { + Instances.TaskQueueViewModel.AddLog(string.Format(LocalizationHelper.GetString("RoguelikeDeepenParadigm"), cur, prev), UiLogColor.Info); + } + else if (deepen_or_weaken == -1 && cur == string.Empty) + { + Instances.TaskQueueViewModel.AddLog(string.Format(LocalizationHelper.GetString("RoguelikeLoseParadigm"), cur, prev), UiLogColor.Info); + } + else if (deepen_or_weaken == -1 && cur != string.Empty) + { + Instances.TaskQueueViewModel.AddLog(string.Format(LocalizationHelper.GetString("RoguelikeWeakenParadigm"), cur, prev), UiLogColor.Info); + } } break;