OSDN Git Service

「対空兵装の整備拡充」のカウンタを実装する
authorKazuhiro Fujieda <fujieda@users.osdn.me>
Sat, 24 Mar 2018 13:36:35 +0000 (22:36 +0900)
committerKazuhiro Fujieda <fujieda@users.osdn.me>
Sat, 24 Mar 2018 13:36:35 +0000 (22:36 +0900)
KancolleSniffer.Test/QuestInfoTest.cs
KancolleSniffer/QuestInfo.cs

index e2862b8..2038db8 100644 (file)
@@ -975,12 +975,13 @@ namespace KancolleSniffer.Test
         /// 676: 装備開発力の集中整備\r
         /// 677: 継戦支援能力の整備\r
         /// 678: 主力艦上戦闘機の更新\r
+        /// 680: 対空兵装の整備拡充\r
         /// </summary>\r
         [TestMethod]\r
         public void DestroyItem_613_638_663_673_674_675_676_677_678()\r
         {\r
             var itemInfo = new ItemInfo();\r
-            var questInfo = new QuestInfo(itemInfo, null, () => new DateTime(2015, 1, 1)) {AcceptMax = 9};\r
+            var questInfo = new QuestInfo(itemInfo, null, () => new DateTime(2015, 1, 1)) {AcceptMax = 10};\r
 \r
             itemInfo.InjectItemSpec(new[]\r
             {\r
@@ -993,12 +994,14 @@ namespace KancolleSniffer.Test
                 new ItemSpec {Id = 7, Name = "35.6cm連装砲", Type = 3},\r
                 new ItemSpec {Id = 25, Name = "零式水上偵察機", Type = 10},\r
                 new ItemSpec {Id = 13, Name = "61cm三連装魚雷", Type = 5},\r
-                new ItemSpec {Id = 20, Name = "零式艦戦21型", Type = 6}\r
+                new ItemSpec {Id = 20, Name = "零式艦戦21型", Type = 6},\r
+                new ItemSpec {Id = 28, Name = "22号水上電探", Type = 12},\r
+                new ItemSpec {Id = 31, Name = "32号水上電探", Type = 13}\r
             });\r
-            itemInfo.InjectItems(new[] {1, 37, 19, 4, 11, 75, 7, 25, 13, 20});\r
-            questInfo.InspectQuestList(CreateQuestList(new[] {613, 638, 663, 673, 674, 675, 676, 677, 678}));\r
+            itemInfo.InjectItems(new[] {1, 37, 19, 4, 11, 75, 7, 25, 13, 20, 28, 31});\r
+            questInfo.InspectQuestList(CreateQuestList(new[] {613, 638, 663, 673, 674, 675, 676, 677, 678, 680}));\r
             questInfo.InspectDestroyItem(\r
-                "api%5Fslotitem%5Fids=1%2C2%2C3%2C4%2C5%2C6%2C7%2C8%2C9%2C10&api%5Fverno=1", null);\r
+                "api%5Fslotitem%5Fids=1%2C2%2C3%2C4%2C5%2C6%2C7%2C8%2C9%2C10%2C11%2C12&api%5Fverno=1", null);\r
             PAssert.That(() =>\r
                 questInfo.Quests.Select(q => new {q.Id, q.Count.Now}).Take(5).SequenceEqual(new[]\r
                 {\r
@@ -1013,6 +1016,8 @@ namespace KancolleSniffer.Test
             PAssert.That(() => q677.Id == 677 && q677.Count.NowArray.SequenceEqual(new[] {1, 1, 1}));\r
             var q678 = questInfo.Quests[8];\r
             PAssert.That(() => q678.Id == 678 && q678.Count.NowArray.SequenceEqual(new[] {1, 1}));\r
+            var q680 = questInfo.Quests[9];\r
+            PAssert.That(() => q680.Id == 680 && q680.Count.NowArray.SequenceEqual(new[] {1, 2}));\r
         }\r
 \r
         /// <summary>\r
index 4a11841..b8ae14e 100644 (file)
@@ -289,6 +289,7 @@ namespace KancolleSniffer
             {676, new QuestSpec {Interval = Weekly, MaxArray = new[] {3, 3, 1}, Material = new[] {0, 1, 7, 0}}}, // 676: 装備開発力の集中整備\r
             {677, new QuestSpec {Interval = Weekly, MaxArray = new[] {4, 2, 3}, Material = new[] {0, 5, 0, 0}}}, // 677: 継戦支援能力の整備\r
             {678, new QuestSpec {Interval = Quarterly, MaxArray = new[] {3, 5}, Material = new[] {0, 0, 8, 0}}}, // 678: 主力艦上戦闘機の更新\r
+            {680, new QuestSpec {Interval = Quarterly, MaxArray = new[] {4, 4}, Material = new[] {0, 0, 6, 0}}}, // 680: 対空兵装の整備拡充\r
 \r
             {702, new QuestPowerup {Interval = Daily, Max = 2, Material = new[] {0, 1, 0, 0}}}, // 702: 艦の「近代化改修」を実施せよ!\r
             {703, new QuestPowerup {Interval = Weekly, Max = 15, Material = new[] {1, 0, 2, 0}}} // 703: 「近代化改修」を進め、戦備を整えよ!\r
@@ -828,6 +829,12 @@ namespace KancolleSniffer
                 q678.Count.NowArray[1] += items.Count(spec => spec.Id == 20);\r
                 NeedSave = true;\r
             }\r
+            if (_quests.TryGetValue(680, out var q680))\r
+            {\r
+                q680.Count.NowArray[0] += items.Count(spec => spec.Type == 21);\r
+                q680.Count.NowArray[1] += items.Count(spec => spec.Type == 12 || spec.Type == 13);\r
+                NeedSave = true;\r
+            }\r
         }\r
 \r
         public void InspectPowerup(dynamic json)\r