Revision | 382c6d59caaaf27021912800bc3c8a9e2eead262 (tree) |
---|---|
Zeit | 2020-03-04 23:17:06 |
Autor | Kazuhiro Fujieda <fujieda@user...> |
Commiter | Kazuhiro Fujieda |
1-6のチェックを汎用化する
@@ -64,7 +64,7 @@ namespace KancolleSniffer.Model | ||
64 | 64 | {822, new QuestSortie {Interval = Quarterly, Max = 2, Rank = "S", Maps = new[] {24}, Material = new[] {0, 0, 0, 5}}}, // 822: 沖ノ島海域迎撃戦 |
65 | 65 | {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: 発令!「西方海域作戦」 |
66 | 66 | {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作戦」前段作戦 |
67 | - {861, new QuestSpec {Interval = Quarterly, Max = 2, Material = new[] {0, 4, 0, 0}}}, // 861: 強行輸送艦隊、抜錨! | |
67 | + {861, new QuestSortie {Interval = Quarterly, Max = 2, Rank = "B", Maps = new[] {16}, Material = new[] {0, 4, 0, 0}}}, // 861: 強行輸送艦隊、抜錨! | |
68 | 68 | {862, new QuestSortie {Interval = Quarterly, Max = 2, Rank = "A", Maps = new[] {63}, Material = new[] {0, 0, 8, 4}}}, // 862: 前線の航空偵察を実施せよ! |
69 | 69 | {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作戦」後段作戦 |
70 | 70 | {873, new QuestSortie {Interval = Quarterly, MaxArray = new[] {1, 1, 1}, Rank = "A", Maps = new[] {31, 32, 33}, Material = new[] {0, 0, 0, 0}}}, // 873: 北方海域警備を実施せよ! |
@@ -216,10 +216,16 @@ namespace KancolleSniffer.Model | ||
216 | 216 | } |
217 | 217 | _boss = (int)json.api_event_id == 5; |
218 | 218 | |
219 | - if (_quests.TryGetValue(861, out var q861) && _map == 16 && (int)json.api_event_id == 8) | |
219 | + if (_map != 16 || (int)json.api_event_id != 8) | |
220 | + return; | |
221 | + foreach (var count in _quests.Values.Select(q => q.Count)) | |
220 | 222 | { |
221 | - if (new ResultShipSpecs(_battleInfo).Types.Count(s => s == 10 || s == 22) == 2) | |
222 | - Increment(q861.Count); | |
223 | + if (!(count.Spec is QuestSortie sortie)) | |
224 | + continue; | |
225 | + if (!FleetCheck(count.Id)) | |
226 | + continue; | |
227 | + if (sortie.Count(count, "S", _map, true)) | |
228 | + NeedSave = true; | |
223 | 229 | } |
224 | 230 | } |
225 | 231 |
@@ -292,6 +298,8 @@ namespace KancolleSniffer.Model | ||
292 | 298 | case 284: |
293 | 299 | return specs.Types.Count(type => type == 1 || type == 2) >= 3 && |
294 | 300 | specs.Types.Intersect(new[] {3, 4, 7, 21}).Any(); |
301 | + case 861: | |
302 | + return specs.Types.Count(s => s == 10 || s == 22) == 2; | |
295 | 303 | case 862: |
296 | 304 | return specs.Types.Count(s => s == 3) >= 2 && specs.Types.Count(s => s == 16) >= 1; |
297 | 305 | case 873: |