• R/O
  • HTTP
  • SSH
  • HTTPS

提交

标签
No Tags

Frequently used words (click to add to your profile)

javac++androidlinuxc#windowsobjective-ccocoa誰得qtpythonphprubygameguibathyscaphec計画中(planning stage)翻訳omegatframeworktwitterdomtestvb.netdirectxゲームエンジンbtronarduinopreviewer

Commit MetaInfo

修订版1413b93098b14ca657b78b3d400494b437a6bed8 (tree)
时间2020-09-26 20:59:57
作者Kazuhiro Fujieda <fujieda@user...>
CommiterKazuhiro Fujieda

Log Message

南西諸島方面の海上護衛を強化せよ!のカウンターを追加する

更改概述

差异

--- a/KancolleSniffer.Test/QuestCounterTest.cs
+++ b/KancolleSniffer.Test/QuestCounterTest.cs
@@ -167,7 +167,8 @@ namespace KancolleSniffer.Test
167167 new QuestCount {Id = 284, NowArray = new[] {1, 1, 1, 1}},
168168 new QuestCount {Id = 226, Now = 2},
169169 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}}
171172 }
172173 };
173174 var countList = new QuestCountList();
@@ -178,12 +179,15 @@ namespace KancolleSniffer.Test
178179 new {api_id = 3, api_name = "警備任務"},
179180 new {api_id = 4, api_name = "対潜警戒任務"},
180181 new {api_id = 5, api_name = "海上護衛任務"},
182+ new {api_id = 9, api_name = "タンカー護衛任務"},
181183 new {api_id = 10, api_name = "強行偵察任務"},
184+ new {api_id = 100, api_name = "兵站強化任務"},
182185 new {api_id = 101, api_name = "海峡警備行動"},
183186 new {api_id = 102, api_name = "長時間対潜警戒"},
184187 new {api_id = 104, api_name = "小笠原沖哨戒線"},
185188 new {api_id = 105, api_name = "小笠原沖戦闘哨戒"},
186189 new {api_id = 110, api_name = "南西方面航空偵察作戦"},
190+ new {api_id = 114, api_name = "南西諸島捜索撃滅戦"}
187191 }));
188192 new QuestInfo(countList).LoadState(status);
189193 Assert.AreEqual("2/3", status.QuestCountList[0].ToString());
@@ -231,6 +235,9 @@ namespace KancolleSniffer.Test
231235 var q437 = status.QuestCountList.First(q => q.Id == 437);
232236 Assert.AreEqual("1\u200a0\u200a1\u200a1", q437.ToString());
233237 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());
234241 }
235242 }
236243
@@ -1694,6 +1701,35 @@ namespace KancolleSniffer.Test
16941701 }
16951702
16961703 /// <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>
16971733 /// 503: 艦隊大整備!
16981734 /// 504: 艦隊酒保祭り!
16991735 /// </summary>
--- a/KancolleSniffer.Test/QuestInfoTest.cs
+++ b/KancolleSniffer.Test/QuestInfoTest.cs
@@ -32,7 +32,8 @@ namespace KancolleSniffer.Test
3232 {
3333 new DateTime(2017, 11, 1, 5, 0, 0), new DateTime(2017, 11, 6, 5, 0, 0),
3434 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)
3637 });
3738 var questInfo = MakeQuestInfo(() => queue.Dequeue());
3839 var status = new Status
@@ -43,18 +44,20 @@ namespace KancolleSniffer.Test
4344 new QuestCount {Id = 265, Now = 1},
4445 new QuestCount {Id = 436, NowArray = new[] {1, 1, 1, 1, 0}},
4546 new QuestCount {Id = 437, NowArray = new[] {1, 1, 1, 1}},
47+ new QuestCount {Id = 438, NowArray = new[] {1, 1, 1, 1}},
4648 new QuestCount {Id = 822, Now = 1},
4749 new QuestCount {Id = 904, NowArray = new[] {1, 1, 1, 1}}
4850 },
4951 QuestLastReset = new DateTime(2017, 10, 31, 5, 0, 0)
5052 };
5153 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月が消える
5861 }
5962
6063 private void CheckQuestCountList(QuestInfo questInfo, Status status, int[] quests)
--- a/KancolleSniffer/Model/QuestCountList.cs
+++ b/KancolleSniffer/Model/QuestCountList.cs
@@ -26,6 +26,7 @@ namespace KancolleSniffer.Model
2626 private const QuestInterval Yearly2 = QuestInterval.Yearly2;
2727 private const QuestInterval Yearly3 = QuestInterval.Yearly3;
2828 private const QuestInterval Yearly5 = QuestInterval.Yearly5;
29+ private const QuestInterval Yearly8 = QuestInterval.Yearly8;
2930
3031 /// <summary>
3132 /// このテーブルは七四式電子観測儀を参考に作成した。
@@ -101,6 +102,7 @@ namespace KancolleSniffer.Model
101102 {428, new QuestMission {Interval = Quarterly, MaxArray = new[] {2, 2, 2}, Ids = new[] {4, 101, 102}, Material = new[] {0, 0, 0, 3}}}, // 428: 近海に侵入する敵潜を制圧せよ!
102103 {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: 練習航海及び警備任務を実施せよ!
103104 {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: 南西諸島方面の海上護衛を強化せよ!
104106
105107 {503, new QuestSpec {Interval = Daily, Max = 5, Material = new[] {0, 2, 0, 0}}}, // 503: 艦隊大整備!
106108 {504, new QuestSpec {Interval = Daily, Max = 15, Material = new[] {1, 0, 1, 0}}}, // 504: 艦隊酒保祭り!
--- a/KancolleSniffer/Model/QuestInfo.cs
+++ b/KancolleSniffer/Model/QuestInfo.cs
@@ -64,7 +64,8 @@ namespace KancolleSniffer.Model
6464 Quarterly,
6565 Yearly2,
6666 Yearly3,
67- Yearly5
67+ Yearly5,
68+ Yearly8
6869 }
6970
7071 public class QuestInfo : IHaveState
@@ -197,6 +198,7 @@ namespace KancolleSniffer.Model
197198 QuestInterval.Yearly2 => CrossBoundary(new DateTime(_now.Year, 2, 1, 5, 0, 0)),
198199 QuestInterval.Yearly3 => CrossBoundary(new DateTime(_now.Year, 3, 1, 5, 0, 0)),
199200 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)),
200202 _ => false
201203 };
202204 }