{822, new QuestSortie {Interval = Quarterly, Max = 2, Rank = "S", Maps = new[] {24}, Material = new[] {0, 0, 0, 5}}}, // 822: 沖ノ島海域迎撃戦\r
{845, new QuestSortie {Interval = Quarterly, MaxArray = new []{1, 1, 1, 1, 1}, Rank = "S", Maps = new[] {41, 42, 43, 44, 45}, Material = new[] {0, 0, 1, 0}}}, // 845: 発令!「西方海域作戦」\r
{854, new QuestSortie {Interval = Quarterly, MaxArray = new[] {1, 1, 1, 1}, Ranks = new[] {"A", "A", "A", "S"}, Maps = new[] {24, 61, 63, 64}, Material = new[] {0, 0, 0, 4}}}, // 854: 戦果拡張任務!「Z作戦」前段作戦\r
- {861, new QuestSpec {Interval = Quarterly, Max = 2, Material = new[] {0, 4, 0, 0}}}, // 861: 強行輸送艦隊、抜錨!\r
+ {861, new QuestSortie {Interval = Quarterly, Max = 2, Rank = "B", Maps = new[] {16}, Material = new[] {0, 4, 0, 0}}}, // 861: 強行輸送艦隊、抜錨!\r
{862, new QuestSortie {Interval = Quarterly, Max = 2, Rank = "A", Maps = new[] {63}, Material = new[] {0, 0, 8, 4}}}, // 862: 前線の航空偵察を実施せよ!\r
{872, new QuestSortie {Interval = Quarterly, MaxArray = new[] {1, 1, 1, 1}, Rank = "S", Maps = new[] {722, 55, 62, 65}, Material = new[] {0, 0, 0, 4}}}, // 872: 戦果拡張任務!「Z作戦」後段作戦\r
{873, new QuestSortie {Interval = Quarterly, MaxArray = new[] {1, 1, 1}, Rank = "A", Maps = new[] {31, 32, 33}, Material = new[] {0, 0, 0, 0}}}, // 873: 北方海域警備を実施せよ!\r
}\r
_boss = (int)json.api_event_id == 5;\r
\r
- if (_quests.TryGetValue(861, out var q861) && _map == 16 && (int)json.api_event_id == 8)\r
+ if (_map != 16 || (int)json.api_event_id != 8)\r
+ return;\r
+ foreach (var count in _quests.Values.Select(q => q.Count))\r
{\r
- if (new ResultShipSpecs(_battleInfo).Types.Count(s => s == 10 || s == 22) == 2)\r
- Increment(q861.Count);\r
+ if (!(count.Spec is QuestSortie sortie))\r
+ continue;\r
+ if (!FleetCheck(count.Id))\r
+ continue;\r
+ if (sortie.Count(count, "S", _map, true))\r
+ NeedSave = true;\r
}\r
}\r
\r
case 284:\r
return specs.Types.Count(type => type == 1 || type == 2) >= 3 &&\r
specs.Types.Intersect(new[] {3, 4, 7, 21}).Any();\r
+ case 861:\r
+ return specs.Types.Count(s => s == 10 || s == 22) == 2;\r
case 862:\r
return specs.Types.Count(s => s == 3) >= 2 && specs.Types.Count(s => s == 16) >= 1;\r
case 873:\r