From: Kazuhiro Fujieda Date: Tue, 26 Nov 2019 13:03:16 +0000 (+0900) Subject: 発令!「西方海域作戦」のカウンターを実装する X-Git-Tag: v11.30~20 X-Git-Url: http://git.osdn.net/view?p=kancollesniffer%2FKancolleSniffer.git;a=commitdiff_plain;h=52530caa5f6a1277592a1599f4d5315d070be4a6 発令!「西方海域作戦」のカウンターを実装する --- diff --git a/KancolleSniffer.Test/QuestCounterTest.cs b/KancolleSniffer.Test/QuestCounterTest.cs index c73e317..8e17a49 100644 --- a/KancolleSniffer.Test/QuestCounterTest.cs +++ b/KancolleSniffer.Test/QuestCounterTest.cs @@ -709,6 +709,33 @@ namespace KancolleSniffer.Test } /// + /// 845: 発令!「西方海域作戦」 + /// + [TestMethod] + public void BattleResult_845() + { + var quest = InjectQuest(845); + + InjectMapNext(41, 4); + InjectBattleResult("S"); + InjectMapNext(41, 5); + InjectBattleResult("A"); + Assert.IsTrue(CheckCount(quest, new[] {0, 0, 0, 0, 0})); + + InjectMapNext(41, 5); + InjectBattleResult("S"); + InjectMapNext(42, 5); + InjectBattleResult("S"); + InjectMapNext(43, 5); + InjectBattleResult("S"); + InjectMapNext(44, 5); + InjectBattleResult("S"); + InjectMapNext(45, 5); + InjectBattleResult("S"); + Assert.IsTrue(CheckCount(quest, new[] {1, 1, 1, 1, 1})); + } + + /// /// 861: 強行輸送艦隊、抜錨! /// [TestMethod] diff --git a/KancolleSniffer/Model/QuestCountList.cs b/KancolleSniffer/Model/QuestCountList.cs index 5e59c8d..2b3d9a3 100644 --- a/KancolleSniffer/Model/QuestCountList.cs +++ b/KancolleSniffer/Model/QuestCountList.cs @@ -61,6 +61,7 @@ namespace KancolleSniffer.Model {284, new QuestSortie {Interval = Quarterly, MaxArray = new[] {1, 1, 1, 1}, Rank = "S", Maps = new[] {14, 21, 22, 23}, Material = new[] {0, 0, 0, 4}}}, // 284: 南西諸島方面「海上警備行動」発令! {822, new QuestSortie {Interval = Quarterly, Max = 2, Rank = "S", Maps = new[] {24}, Material = new[] {0, 0, 0, 5}}}, // 822: 沖ノ島海域迎撃戦 + {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: 発令!「西方海域作戦」 {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作戦」前段作戦 {861, new QuestSpec {Interval = Quarterly, Max = 2, Material = new[] {0, 4, 0, 0}}}, // 861: 強行輸送艦隊、抜錨! {862, new QuestSortie {Interval = Quarterly, Max = 2, Rank = "A", Maps = new[] {63}, Material = new[] {0, 0, 8, 4}}}, // 862: 前線の航空偵察を実施せよ! diff --git a/KancolleSniffer/Model/QuestCounter.cs b/KancolleSniffer/Model/QuestCounter.cs index 3c009d6..274c249 100644 --- a/KancolleSniffer/Model/QuestCounter.cs +++ b/KancolleSniffer/Model/QuestCounter.cs @@ -77,7 +77,7 @@ namespace KancolleSniffer.Model public override string ToString() { - if (Id == 280 || Id == 284 || Id == 426 || Id == 854 || Id == 872 || Id == 873 || Id == 888 || Id == 894) + if (Id == 280 || Id == 284 || Id == 426 || Id == 845 || Id == 854 || Id == 872 || Id == 873 || Id == 888 || Id == 894) return $"{NowArray.Count(n => n >= 1)}/{Spec.MaxArray.Length}"; return NowArray != null ? string.Join(" ", NowArray.Zip(Spec.MaxArray, (n, m) => $"{n}/{m}")) @@ -122,6 +122,10 @@ namespace KancolleSniffer.Model return string.Join(" ", new[] {"対潜警戒任務", "海峡警備行動", "長時間対潜警戒"}.Zip(NowArray, (mission, n) => n >= 1 ? mission + n : "") .Where(s => !string.IsNullOrEmpty(s))); + case 845: + return string.Join(" ", + new[] {"4-1", "4-2", "4-3", "4-4", "4-5"}.Zip(NowArray, (map, n) => n >= 1 ? map : "") + .Where(s => !string.IsNullOrEmpty(s))); case 854: return string.Join(" ", new[] {"2-4", "6-1", "6-3", "6-4"}.Zip(NowArray, (map, n) => n >= 1 ? map : "")