OSDN Git Service

「航空戦力の強化」のカウンターを実装する
authorKazuhiro Fujieda <fujieda@users.osdn.me>
Sat, 10 Nov 2018 07:52:08 +0000 (16:52 +0900)
committerKazuhiro Fujieda <fujieda@users.osdn.me>
Sat, 10 Nov 2018 07:52:08 +0000 (16:52 +0900)
KancolleSniffer.Test/QuestInfoTest.cs
KancolleSniffer/Model/QuestInfo.cs

index b44d6c1..c685337 100644 (file)
@@ -1147,12 +1147,13 @@ namespace KancolleSniffer.Test
         /// 677: 継戦支援能力の整備\r
         /// 678: 主力艦上戦闘機の更新\r
         /// 680: 対空兵装の整備拡充\r
+        /// 688: 航空戦力の強化\r
         /// </summary>\r
         [TestMethod]\r
-        public void DestroyItem_613_638_643_645_663_673_674_675_676_677_678()\r
+        public void DestroyItem_613_638_643_645_663_673_674_675_676_677_678_680_688()\r
         {\r
             var itemInfo = new ItemInfo(new ItemMaster(), new ItemInventory());\r
-            var questInfo = new QuestInfo(itemInfo, null, () => new DateTime(2015, 1, 1)) {AcceptMax = 12};\r
+            var questInfo = new QuestInfo(itemInfo, null, () => new DateTime(2015, 1, 1));\r
 \r
             itemInfo.InjectItemSpec(new[]\r
             {\r
@@ -1168,12 +1169,15 @@ namespace KancolleSniffer.Test
                 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
-                new ItemSpec {Id = 35, Name = "三式弾", Type = 18}\r
+                new ItemSpec {Id = 35, Name = "三式弾", Type = 18},\r
+                new ItemSpec {Id = 23, Name = "九九式艦爆", Type = 7},\r
+                new ItemSpec {Id = 16, Name = "九七式艦攻", Type = 8}\r
             });\r
-            var items = new[] {1, 37, 19, 4, 11, 75, 7, 25, 13, 20, 28, 31, 35};\r
+            var items = new[] {1, 37, 19, 4, 11, 75, 7, 25, 13, 20, 28, 31, 35, 23, 16};\r
             itemInfo.InjectItems(items);\r
-            questInfo.InspectQuestList(CreateQuestList(new[]\r
-                {613, 638, 643, 645, 663, 673, 674, 675, 676, 677, 678, 680}));\r
+            var questList = new[] {613, 638, 643, 645, 663, 673, 674, 675, 676, 677, 678, 680, 688};\r
+            questInfo.AcceptMax = questList.Length;\r
+            questInfo.InspectQuestList(CreateQuestList(questList));\r
             questInfo.InspectDestroyItem(\r
                 $"api%5Fslotitem%5Fids={string.Join("%2C", Enumerable.Range(1, items.Length))}&api%5Fverno=1", null);\r
             var scalar = new[]\r
@@ -1191,7 +1195,7 @@ namespace KancolleSniffer.Test
             {\r
                 new {Id = 675, NowArray = new[] {2, 1}}, new {Id = 676, NowArray = new[] {1, 1, 1}},\r
                 new {Id = 677, NowArray = new[] {1, 1, 1}}, new {Id = 678, NowArray = new[] {1, 1}},\r
-                new {Id = 680, NowArray = new[] {1, 2}}\r
+                new {Id = 680, NowArray = new[] {1, 2}}, new {Id = 688, NowArray = new[] {2, 1, 1, 1}}\r
             };\r
             foreach (var e in array)\r
             {\r
@@ -1240,7 +1244,8 @@ namespace KancolleSniffer.Test
                     new QuestCount {Id = 426, NowArray = new[] {1, 1, 1, 1}},\r
                     new QuestCount {Id = 428, NowArray = new[] {1, 1, 1}},\r
                     new QuestCount {Id = 873, NowArray = new[] {1, 1, 1}},\r
-                    new QuestCount {Id= 888, NowArray = new []{1, 1, 1}}\r
+                    new QuestCount {Id= 888, NowArray = new []{1, 1, 1}},\r
+                    new QuestCount {Id = 688, NowArray = new[] {2, 1, 2, 1}}\r
                 }\r
             };\r
             questInfo.LoadState(status);\r
@@ -1264,6 +1269,8 @@ namespace KancolleSniffer.Test
             var q888 = status.QuestCountList[6];\r
             PAssert.That(() => q888.ToString() == "3/3");\r
             PAssert.That(() => q888.ToToolTip() == "5-1 5-3 5-4");\r
+            var q688 = status.QuestCountList[7];\r
+            PAssert.That(() => q688.ToToolTip() == "艦戦2 艦爆1 艦攻2 水偵1");\r
         }\r
 \r
         /// <summary>\r
index b9f62cb..f97f20b 100644 (file)
@@ -227,6 +227,10 @@ namespace KancolleSniffer.Model
                     return string.Join(" ",\r
                         new[] {"5-1", "5-3", "5-4"}.Zip(NowArray, (map, n) => n >= 1 ? map : "")\r
                             .Where(s => !string.IsNullOrEmpty(s)));\r
+                case 688:\r
+                    return string.Join(" ",\r
+                        new[] {"艦戦", "艦爆", "艦攻", "水偵"}.Zip(NowArray, (type, n) => n >= 1 ? type + n : "")\r
+                            .Where(s => !string.IsNullOrEmpty(s)));\r
             }\r
             return "";\r
         }\r
@@ -321,6 +325,7 @@ namespace KancolleSniffer.Model
             {677, new QuestDestroyItem {Interval = Weekly, MaxArray = new[] {4, 2, 3}, Types = new[] {3, 10, 5}, Material = new[] {0, 5, 0, 0}}}, // 677: 継戦支援能力の整備\r
             {678, new QuestDestroyItem {Interval = Quarterly, MaxArray = new[] {3, 5}, Ids = new[] {19, 20}, 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
+            {688, new QuestDestroyItem {Interval = Quarterly, MaxArray = new[] {3, 3, 3, 3}, Types = new[] {6, 7, 8, 10}, Material = new[] {0, 0, 0, 0}}}, // 688: 航空戦力の強化\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