}\r
\r
/// <summary>\r
+ /// 345: 演習ティータイム!\r
+ /// </summary>\r
+ [TestMethod]\r
+ public void PracticeResult_345()\r
+ {\r
+ var count = InjectQuest(345);\r
+\r
+ _battleInfo.InjectResultStatus(new []{ShipStatus("Warspite"), ShipStatus("金剛"), ShipStatus("Ark Royal"), ShipStatus("Richelieu"), ShipStatus("Perth")},\r
+ new ShipStatus[0], new ShipStatus[0], new ShipStatus[0]);\r
+ InjectPracticeResult("B");\r
+ Assert.AreEqual(0, count.Now);\r
+\r
+ InjectPracticeResult("A");\r
+ Assert.AreEqual(0, count.Now);\r
+\r
+ _battleInfo.Result.Friend.Main[3] = ShipStatus("Jervis");\r
+ InjectPracticeResult("A");\r
+ Assert.AreEqual(1, count.Now);\r
+\r
+ _battleInfo.Result.Friend.Main[0] = ShipStatus("Janus");\r
+ InjectPracticeResult("A");\r
+ Assert.AreEqual(2, count.Now);\r
+\r
+ _battleInfo.Result.Friend.Main[1] = ShipStatus("Richelieu");\r
+ InjectPracticeResult("A");\r
+ Assert.AreEqual(2, count.Now);\r
+ }\r
+\r
+ /// <summary>\r
+ /// 346: 最精鋭!主力オブ主力、演習開始!\r
+ /// </summary>\r
+ [TestMethod]\r
+ public void PracticeResult_346()\r
+ {\r
+ var count = InjectQuest(346);\r
+\r
+ _battleInfo.InjectResultStatus(new []{ShipStatus("夕雲改二"), ShipStatus("巻雲改二"), ShipStatus("風雲改二"), ShipStatus("秋雲改")},\r
+ new ShipStatus[0], new ShipStatus[0], new ShipStatus[0]);\r
+ InjectPracticeResult("A");\r
+ Assert.AreEqual(0, count.Now);\r
+\r
+ InjectPracticeResult("S");\r
+ Assert.AreEqual(0, count.Now);\r
+\r
+ _battleInfo.Result.Friend.Main[3] = ShipStatus("秋雲改二");\r
+ InjectPracticeResult("S");\r
+ Assert.AreEqual(1, count.Now);\r
+\r
+ _battleInfo.Result.Friend.Main[0] = ShipStatus("綾波改二");\r
+ InjectPracticeResult("S");\r
+ Assert.AreEqual(1, count.Now);\r
+ }\r
+\r
+ /// <summary>\r
/// 402: 「遠征」を3回成功させよう!\r
/// 403: 「遠征」を10回成功させよう!\r
/// 404: 大規模遠征作戦、発令!\r
private const QuestInterval Yearly5 = QuestInterval.Yearly5;\r
private const QuestInterval Yearly8 = QuestInterval.Yearly8;\r
private const QuestInterval Yearly9 = QuestInterval.Yearly9;\r
+ private const QuestInterval Yearly10 = QuestInterval.Yearly10;\r
\r
/// <summary>\r
/// このテーブルは七四式電子観測儀を参考に作成した。\r
{337, new QuestPractice {Interval = Daily, Max = 3, Rank = "S", Material = new[] {0, 0, 0, 3}, Shift = 2}}, // 337: 「十八駆」演習!\r
{339, new QuestPractice {Interval = Daily, Max = 3, Rank = "S", Material = new[] {0, 0, 8, 3}, Shift = 2}}, // 339: 「十九駆」演習!\r
{342, new QuestPractice {Interval = Quarterly, Max = 4, Rank = "A", Material = new[] {0, 4, 4, 0}, Shift = 1}}, // 342: 小艦艇群演習強化任務\r
+ {345, new QuestPractice {Interval = Yearly10, Max = 4, Rank = "A", Material = new[] {0, 5, 4, 0}, Shift = 1}}, // 345: 演習ティータイム!\r
+ {346, new QuestPractice {Interval = Yearly10, Max = 4, Rank = "S", Material = new[] {0, 4, 6, 0}, Shift = 1}}, // 346: 最精鋭!主力オブ主力、演習開始!\r
\r
{402, new QuestMission {Interval = Daily, Max = 3, Material = new[] {0, 0, 1, 0}}}, // 402: 「遠征」を3回成功させよう!\r
{403, new QuestMission {Interval = Daily, Max = 10, Material = new[] {0, 0, 0, 0}}}, // 403: 「遠征」を10回成功させよう!\r
case 342:\r
var t12 = specs.Types.Count(type => type == 1 || type == 2);\r
return t12 >= 4 || t12 >= 3 && specs.Types.Intersect(new[] {3, 4, 7, 21}).Any();\r
+ case 345:\r
+ return specs.Names.Count("Warspite", "金剛", "Ark Royal", "Nelson", "Jervis", "Janus") >= 4;\r
+ case 346:\r
+ return specs.Names.Count("夕雲改二", "巻雲改二", "風雲改二", "秋雲改二") == 4;\r
default:\r
return true;\r
}\r
Yearly3,\r
Yearly5,\r
Yearly8,\r
- Yearly9\r
+ Yearly9,\r
+ Yearly10\r
}\r
\r
public class QuestInfo : IHaveState\r
QuestInterval.Yearly5 => CrossBoundary(new DateTime(_now.Year, 5, 1, 5, 0, 0)),\r
QuestInterval.Yearly8 => CrossBoundary(new DateTime(_now.Year, 8, 1, 5, 0, 0)),\r
QuestInterval.Yearly9 => CrossBoundary(new DateTime(_now.Year, 9, 1, 5, 0, 0)),\r
+ QuestInterval.Yearly10 => CrossBoundary(new DateTime(_now.Year, 10, 1, 5, 0, 0)),\r
_ => false\r
};\r
}\r