OSDN Git Service

航空戦力の再編増強準備のカウンターを実装する
authorKazuhiro Fujieda <fujieda@users.osdn.me>
Sat, 23 Jan 2021 08:03:27 +0000 (17:03 +0900)
committerKazuhiro Fujieda <fujieda@users.osdn.me>
Sat, 23 Jan 2021 08:03:27 +0000 (17:03 +0900)
KancolleSniffer.Test/QuestCounterTest.cs
KancolleSniffer/Model/QuestCountList.cs
KancolleSniffer/Model/QuestInfo.cs

index f4248d0..d2cdb21 100644 (file)
@@ -1985,10 +1985,11 @@ namespace KancolleSniffer.Test
         /// 677: 継戦支援能力の整備\r
         /// 678: 主力艦上戦闘機の更新\r
         /// 680: 対空兵装の整備拡充\r
+        /// 681: 航空戦力の再編増強準備\r
         /// 688: 航空戦力の強化\r
         /// </summary>\r
         [TestMethod]\r
-        public void DestroyItem_613_638_643_645_653_654_655_657_663_673_674_675_676_677_678_680_686_688()\r
+        public void DestroyItem_613_638_643_645_653_654_655_657_663_673_674_675_676_677_678_680_681_686_688()\r
         {\r
             InjectItems(new[]\r
             {\r
@@ -2012,7 +2013,7 @@ namespace KancolleSniffer.Test
                 new ItemSpec {Id = 242, Name = "Swordfish", Type = 8},\r
                 new ItemSpec {Id = 249, Name = "Fulmar", Type = 6}\r
             });\r
-            var questList = new[] {613, 638, 643, 645, 655, 653, 654, 657, 663, 673, 674, 675, 676, 677, 678, 680, 686, 688};\r
+            var questList = new[] {613, 638, 643, 645, 655, 653, 654, 657, 663, 673, 674, 675, 676, 677, 678, 680, 681, 686, 688};\r
             InjectQuestList(questList);\r
             _questCounter.InspectDestroyItem(\r
                 $"api%5Fslotitem%5Fids={string.Join("%2C", Enumerable.Range(1, _itemInventory.Count))}&api%5Fverno=1");\r
@@ -2034,6 +2035,7 @@ namespace KancolleSniffer.Test
                 new {Id = 675, NowArray = new[] {3, 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}}, new {Id = 686, NowArray = new[] {1, 1}},\r
+                new {Id = 681, NowArray = new[] {1, 2}},\r
                 new {Id = 688, NowArray = new[] {3, 1, 2, 1}}\r
             };\r
             foreach (var e in array)\r
index acb7652..0131fe6 100644 (file)
@@ -23,6 +23,7 @@ namespace KancolleSniffer.Model
         private const QuestInterval Weekly = QuestInterval.Weekly;\r
         private const QuestInterval Monthly = QuestInterval.Monthly;\r
         private const QuestInterval Quarterly = QuestInterval.Quarterly;\r
+        private const QuestInterval Yearly1 = QuestInterval.Yearly1;\r
         private const QuestInterval Yearly2 = QuestInterval.Yearly2;\r
         private const QuestInterval Yearly3 = QuestInterval.Yearly3;\r
         private const QuestInterval Yearly5 = QuestInterval.Yearly5;\r
@@ -139,6 +140,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
+            {681, new QuestDestroyItem {Interval = Yearly1, MaxArray = new[] {4, 4}, Types = new[] {7, 8}, Material = new[] {0, 0, 0, 4}}}, // 681: 航空戦力の再編増強準備\r
             {686, new QuestDestroyItem {Interval = Quarterly, MaxArray = new[] {4, 1}, Ids = new[] {3, 121}, Material = new[] {0, 0, 0, 0}}}, // 686: 戦時改修A型高角砲の量産\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
index b71b09a..4fd196b 100644 (file)
@@ -62,6 +62,7 @@ namespace KancolleSniffer.Model
         Weekly,\r
         Monthly,\r
         Quarterly,\r
+        Yearly1,\r
         Yearly2,\r
         Yearly3,\r
         Yearly5,\r
@@ -198,6 +199,7 @@ namespace KancolleSniffer.Model
                 QuestInterval.Weekly => CrossBoundary(LastMonday.AddHours(5)),\r
                 QuestInterval.Monthly => CrossBoundary(new DateTime(_now.Year, _now.Month, 1, 5, 0, 0)),\r
                 QuestInterval.Quarterly => CrossBoundary(QuarterlyBoundary.AddHours(5)),\r
+                QuestInterval.Yearly1 => CrossBoundary(new DateTime(_now.Year, 1, 1, 5, 0, 0)),\r
                 QuestInterval.Yearly2 => CrossBoundary(new DateTime(_now.Year, 2, 1, 5, 0, 0)),\r
                 QuestInterval.Yearly3 => CrossBoundary(new DateTime(_now.Year, 3, 1, 5, 0, 0)),\r
                 QuestInterval.Yearly5 => CrossBoundary(new DateTime(_now.Year, 5, 1, 5, 0, 0)),\r