修订版 | 1413b93098b14ca657b78b3d400494b437a6bed8 (tree) |
---|---|
时间 | 2020-09-26 20:59:57 |
作者 | Kazuhiro Fujieda <fujieda@user...> |
Commiter | Kazuhiro Fujieda |
南西諸島方面の海上護衛を強化せよ!のカウンターを追加する
@@ -167,7 +167,8 @@ namespace KancolleSniffer.Test | ||
167 | 167 | new QuestCount {Id = 284, NowArray = new[] {1, 1, 1, 1}}, |
168 | 168 | new QuestCount {Id = 226, Now = 2}, |
169 | 169 | new QuestCount {Id = 436, NowArray = new[] {1, 0, 1, 1, 1}}, |
170 | - new QuestCount {Id = 437, NowArray = new[] {1, 0, 1, 1}} | |
170 | + new QuestCount {Id = 437, NowArray = new[] {1, 0, 1, 1}}, | |
171 | + new QuestCount {Id = 438, NowArray = new[] {1, 0, 1, 1}} | |
171 | 172 | } |
172 | 173 | }; |
173 | 174 | var countList = new QuestCountList(); |
@@ -178,12 +179,15 @@ namespace KancolleSniffer.Test | ||
178 | 179 | new {api_id = 3, api_name = "警備任務"}, |
179 | 180 | new {api_id = 4, api_name = "対潜警戒任務"}, |
180 | 181 | new {api_id = 5, api_name = "海上護衛任務"}, |
182 | + new {api_id = 9, api_name = "タンカー護衛任務"}, | |
181 | 183 | new {api_id = 10, api_name = "強行偵察任務"}, |
184 | + new {api_id = 100, api_name = "兵站強化任務"}, | |
182 | 185 | new {api_id = 101, api_name = "海峡警備行動"}, |
183 | 186 | new {api_id = 102, api_name = "長時間対潜警戒"}, |
184 | 187 | new {api_id = 104, api_name = "小笠原沖哨戒線"}, |
185 | 188 | new {api_id = 105, api_name = "小笠原沖戦闘哨戒"}, |
186 | 189 | new {api_id = 110, api_name = "南西方面航空偵察作戦"}, |
190 | + new {api_id = 114, api_name = "南西諸島捜索撃滅戦"} | |
187 | 191 | })); |
188 | 192 | new QuestInfo(countList).LoadState(status); |
189 | 193 | Assert.AreEqual("2/3", status.QuestCountList[0].ToString()); |
@@ -231,6 +235,9 @@ namespace KancolleSniffer.Test | ||
231 | 235 | var q437 = status.QuestCountList.First(q => q.Id == 437); |
232 | 236 | Assert.AreEqual("1\u200a0\u200a1\u200a1", q437.ToString()); |
233 | 237 | Assert.AreEqual("対潜警戒任務1 小笠原沖哨戒線0 小笠原沖戦闘哨戒1 南西方面航空偵察作戦1", q437.ToToolTip()); |
238 | + var q438 = status.QuestCountList.First(q => q.Id == 438); | |
239 | + Assert.AreEqual("1\u200a0\u200a1\u200a1", q438.ToString()); | |
240 | + Assert.AreEqual("対潜警戒任務1 兵站強化任務0 タンカー護衛任務1 南西諸島捜索撃滅戦1", q438.ToToolTip()); | |
234 | 241 | } |
235 | 242 | } |
236 | 243 |
@@ -1694,6 +1701,35 @@ namespace KancolleSniffer.Test | ||
1694 | 1701 | } |
1695 | 1702 | |
1696 | 1703 | /// <summary> |
1704 | + /// 438: 南西諸島方面の海上護衛を強化せよ! | |
1705 | + /// </summary> | |
1706 | + [TestMethod] | |
1707 | + public void MissionResult_438() | |
1708 | + { | |
1709 | + var count = InjectQuest(438); | |
1710 | + | |
1711 | + _questCounter.InspectDeck(Js( | |
1712 | + new[] | |
1713 | + { | |
1714 | + new {api_id = 2, api_mission = new[] {2, 4}}, | |
1715 | + new {api_id = 3, api_mission = new[] {2, 100}}, | |
1716 | + new {api_id = 4, api_mission = new[] {2, 9}} | |
1717 | + })); | |
1718 | + _questCounter.InspectMissionResult("api%5Fdeck%5Fid=2", Js(new { api_clear_result = 1 })); | |
1719 | + _questCounter.InspectMissionResult("api%5Fdeck%5Fid=3", Js(new { api_clear_result = 1 })); | |
1720 | + _questCounter.InspectMissionResult("api%5Fdeck%5Fid=4", Js(new { api_clear_result = 1 })); | |
1721 | + PAssert.That(() => count.NowArray.SequenceEqual(new[] { 1, 1, 1, 0 })); | |
1722 | + | |
1723 | + _questCounter.InspectDeck(Js( | |
1724 | + new[] | |
1725 | + { | |
1726 | + new {api_id = 2, api_mission = new[] {2, 114}} | |
1727 | + })); | |
1728 | + _questCounter.InspectMissionResult("api%5Fdeck%5Fid=2", Js(new { api_clear_result = 1 })); | |
1729 | + PAssert.That(() => count.NowArray.SequenceEqual(new[] { 1, 1, 1, 1 })); | |
1730 | + } | |
1731 | + | |
1732 | + /// <summary> | |
1697 | 1733 | /// 503: 艦隊大整備! |
1698 | 1734 | /// 504: 艦隊酒保祭り! |
1699 | 1735 | /// </summary> |
@@ -32,7 +32,8 @@ namespace KancolleSniffer.Test | ||
32 | 32 | { |
33 | 33 | new DateTime(2017, 11, 1, 5, 0, 0), new DateTime(2017, 11, 6, 5, 0, 0), |
34 | 34 | new DateTime(2017, 12, 1, 5, 0, 0), new DateTime(2018, 2, 1, 5, 0, 0), |
35 | - new DateTime(2018, 3, 1, 5, 0, 0), new DateTime(2018, 5, 1, 5, 0, 0) | |
35 | + new DateTime(2018, 3, 1, 5, 0, 0), new DateTime(2018, 5, 1, 5, 0, 0), | |
36 | + new DateTime(2018, 8, 1, 5, 0, 0) | |
36 | 37 | }); |
37 | 38 | var questInfo = MakeQuestInfo(() => queue.Dequeue()); |
38 | 39 | var status = new Status |
@@ -43,18 +44,20 @@ namespace KancolleSniffer.Test | ||
43 | 44 | new QuestCount {Id = 265, Now = 1}, |
44 | 45 | new QuestCount {Id = 436, NowArray = new[] {1, 1, 1, 1, 0}}, |
45 | 46 | new QuestCount {Id = 437, NowArray = new[] {1, 1, 1, 1}}, |
47 | + new QuestCount {Id = 438, NowArray = new[] {1, 1, 1, 1}}, | |
46 | 48 | new QuestCount {Id = 822, Now = 1}, |
47 | 49 | new QuestCount {Id = 904, NowArray = new[] {1, 1, 1, 1}} |
48 | 50 | }, |
49 | 51 | QuestLastReset = new DateTime(2017, 10, 31, 5, 0, 0) |
50 | 52 | }; |
51 | 53 | questInfo.LoadState(status); |
52 | - CheckQuestCountList(questInfo, status, new[] {213, 436, 437, 822, 904}); // デイリーとマンスリーが消える | |
53 | - CheckQuestCountList(questInfo, status, new[] {436, 437, 822, 904}); // ウィークリーが消える | |
54 | - CheckQuestCountList(questInfo, status, new[] {436, 437, 904}); // クォータリーが消える | |
55 | - CheckQuestCountList(questInfo, status, new[] {436, 437}); // イヤーリー2月が消える | |
56 | - CheckQuestCountList(questInfo, status, new[] {437}); // イヤーリー3月が消える | |
57 | - CheckQuestCountList(questInfo, status, new int[0]); // イヤーリー5月が消える | |
54 | + CheckQuestCountList(questInfo, status, new[] {213, 436, 437, 438, 822, 904}); // デイリーとマンスリーが消える | |
55 | + CheckQuestCountList(questInfo, status, new[] {436, 437, 438, 822, 904}); // ウィークリーが消える | |
56 | + CheckQuestCountList(questInfo, status, new[] {436, 437, 438, 904}); // クォータリーが消える | |
57 | + CheckQuestCountList(questInfo, status, new[] {436, 437, 438}); // イヤーリー2月が消える | |
58 | + CheckQuestCountList(questInfo, status, new[] {437, 438}); // イヤーリー3月が消える | |
59 | + CheckQuestCountList(questInfo, status, new[] {438}); // イヤーリー5月が消える | |
60 | + CheckQuestCountList(questInfo, status, new int[0]); // イヤーリー8月が消える | |
58 | 61 | } |
59 | 62 | |
60 | 63 | private void CheckQuestCountList(QuestInfo questInfo, Status status, int[] quests) |
@@ -26,6 +26,7 @@ namespace KancolleSniffer.Model | ||
26 | 26 | private const QuestInterval Yearly2 = QuestInterval.Yearly2; |
27 | 27 | private const QuestInterval Yearly3 = QuestInterval.Yearly3; |
28 | 28 | private const QuestInterval Yearly5 = QuestInterval.Yearly5; |
29 | + private const QuestInterval Yearly8 = QuestInterval.Yearly8; | |
29 | 30 | |
30 | 31 | /// <summary> |
31 | 32 | /// このテーブルは七四式電子観測儀を参考に作成した。 |
@@ -101,6 +102,7 @@ namespace KancolleSniffer.Model | ||
101 | 102 | {428, new QuestMission {Interval = Quarterly, MaxArray = new[] {2, 2, 2}, Ids = new[] {4, 101, 102}, Material = new[] {0, 0, 0, 3}}}, // 428: 近海に侵入する敵潜を制圧せよ! |
102 | 103 | {436, new QuestMission {Interval = Yearly3, MaxArray = new[] {1, 1, 1, 1, 1}, Ids = new[] {1, 2, 3, 4, 10}, Material = new [] {0, 4, 0, 0}}}, // 436: 練習航海及び警備任務を実施せよ! |
103 | 104 | {437, new QuestMission {Interval = Yearly5, MaxArray = new[] {1, 1, 1, 1}, Ids = new[] {4, 104, 105, 110}, Material = new [] {0, 0, 7, 3}, Shift = 1}}, // 437: 小笠原沖哨戒線の強化を実施せよ! |
105 | + {438, new QuestMission {Interval = Yearly8, MaxArray = new[] {1, 1, 1, 1}, Ids = new[] {4, 100, 9, 114}, Material = new[] {0, 0, 5, 4}, Shift = 1}}, // 438: 南西諸島方面の海上護衛を強化せよ! | |
104 | 106 | |
105 | 107 | {503, new QuestSpec {Interval = Daily, Max = 5, Material = new[] {0, 2, 0, 0}}}, // 503: 艦隊大整備! |
106 | 108 | {504, new QuestSpec {Interval = Daily, Max = 15, Material = new[] {1, 0, 1, 0}}}, // 504: 艦隊酒保祭り! |
@@ -64,7 +64,8 @@ namespace KancolleSniffer.Model | ||
64 | 64 | Quarterly, |
65 | 65 | Yearly2, |
66 | 66 | Yearly3, |
67 | - Yearly5 | |
67 | + Yearly5, | |
68 | + Yearly8 | |
68 | 69 | } |
69 | 70 | |
70 | 71 | public class QuestInfo : IHaveState |
@@ -197,6 +198,7 @@ namespace KancolleSniffer.Model | ||
197 | 198 | QuestInterval.Yearly2 => CrossBoundary(new DateTime(_now.Year, 2, 1, 5, 0, 0)), |
198 | 199 | QuestInterval.Yearly3 => CrossBoundary(new DateTime(_now.Year, 3, 1, 5, 0, 0)), |
199 | 200 | QuestInterval.Yearly5 => CrossBoundary(new DateTime(_now.Year, 5, 1, 5, 0, 0)), |
201 | + QuestInterval.Yearly8 => CrossBoundary(new DateTime(_now.Year, 8, 1, 5, 0, 0)), | |
200 | 202 | _ => false |
201 | 203 | }; |
202 | 204 | } |