OSDN Git Service

「精鋭軽巡」演習!のカウンターを実装する
authorKazuhiro Fujieda <fujieda@users.osdn.me>
Sun, 7 Feb 2021 12:31:15 +0000 (21:31 +0900)
committerKazuhiro Fujieda <fujieda@users.osdn.me>
Sun, 7 Feb 2021 12:31:15 +0000 (21:31 +0900)
KancolleSniffer.Test/QuestCounterTest.cs
KancolleSniffer/Model/QuestCountList.cs
KancolleSniffer/Model/QuestCounter.cs

index 2700566..938c5e2 100644 (file)
@@ -1731,6 +1731,36 @@ namespace KancolleSniffer.Test
         }\r
 \r
         /// <summary>\r
+        /// 348: 「精鋭軽巡」演習!\r
+        /// </summary>\r
+        [TestMethod]\r
+        public void PracticeResult_348()\r
+        {\r
+            var count = InjectQuest(348);\r
+\r
+            _battleInfo.InjectResultStatus(ShipStatusList(3, 3, 21, 2, 2),\r
+                new ShipStatus[0], new ShipStatus[0], new ShipStatus[0]);\r
+            InjectPracticeResult("B");\r
+            Assert.AreEqual(0, count.Now);\r
+\r
+            InjectPracticeResult("A");\r
+            Assert.AreEqual(1, count.Now);\r
+\r
+            _battleInfo.Result.Friend.Main[0] = ShipStatus(4);\r
+            InjectPracticeResult("A");\r
+            Assert.AreEqual(1, count.Now);\r
+\r
+            _battleInfo.Result.Friend.Main[0] = ShipStatus(21);\r
+            _battleInfo.Result.Friend.Main[4] = ShipStatus(1);\r
+            InjectPracticeResult("A");\r
+            Assert.AreEqual(1, count.Now);\r
+\r
+            _battleInfo.Result.Friend.Main[4] = ShipStatus(2);\r
+            InjectPracticeResult("A");\r
+            Assert.AreEqual(2, count.Now);\r
+        }\r
+\r
+        /// <summary>\r
         /// 402: 「遠征」を3回成功させよう!\r
         /// 403: 「遠征」を10回成功させよう!\r
         /// 404: 大規模遠征作戦、発令!\r
index 8ed593f..7fa4760 100644 (file)
@@ -100,6 +100,7 @@ namespace KancolleSniffer.Model
             {342, new QuestPractice {Interval = Quarterly, Max = 4, Rank = "A", Material = new[] {0, 4, 4, 0}, Shift = 1}}, // 342: 小艦艇群演習強化任務\r
             {345, new QuestPractice {Interval = Yearly10, Max = 4, Rank = "A", Material = new[] {0, 5, 4, 0}, Shift = 1}}, // 345: 演習ティータイム!\r
             {346, new QuestPractice {Interval = Yearly10, Max = 4, Rank = "S", Material = new[] {0, 4, 6, 0}, Shift = 1}}, // 346: 最精鋭!主力オブ主力、演習開始!\r
+            {348, new QuestPractice {Interval = Yearly2, Max = 4, Rank = "A", Material = new[] {0, 3, 0, 3}, Shift = 1}}, // 348: 「精鋭軽巡」演習!\r
 \r
             {402, new QuestMission {Interval = Daily, Max = 3, Material = new[] {0, 0, 1, 0}}}, // 402: 「遠征」を3回成功させよう!\r
             {403, new QuestMission {Interval = Daily, Max = 10, Material = new[] {0, 0, 0, 0}}}, // 403: 「遠征」を10回成功させよう!\r
index cc3e3e6..d99e59d 100644 (file)
@@ -356,6 +356,10 @@ namespace KancolleSniffer.Model
                     return specs.Names.Count("Warspite", "金剛", "Ark Royal", "Nelson", "Jervis", "Janus") >= 4;\r
                 case 346:\r
                     return specs.Names.Count("夕雲改二", "巻雲改二", "風雲改二", "秋雲改二") == 4;\r
+                case 348:\r
+                    return new[] {3, 21}.Contains(specs.FlagshipType) &&\r
+                           specs.Types.Skip(1).Count(type => new[] {3, 4, 21}.Contains(type)) >= 2 &&\r
+                           specs.Types.Count(type => type == 2) >= 2;\r
                 default:\r
                     return true;\r
             }\r