new QuestCount {Id = 893, NowArray = new[] {1, 1, 1, 1}},\r
new QuestCount {Id = 894, NowArray = new[] {1, 1, 1, 1, 1}},\r
new QuestCount {Id = 280, NowArray = new[] {1, 1, 1, 1}},\r
- new QuestCount {Id = 872, NowArray = new[] {1, 1, 1, 1}}\r
+ new QuestCount {Id = 872, NowArray = new[] {1, 1, 1, 1}},\r
+ new QuestCount {Id = 284, NowArray = new[] {1, 1, 1, 1}}\r
}\r
};\r
new QuestInfo().LoadState(status);\r
var q872 = status.QuestCountList.First(q => q.Id == 872);\r
Assert.IsTrue(q872.ToString() == "4/4");\r
Assert.IsTrue(q872.ToToolTip() == "7-2M 5-5 6-2 6-5");\r
+ var q284 = status.QuestCountList.First(q => q.Id == 284);\r
+ Assert.IsTrue(q284.ToString() == "4/4");\r
+ Assert.IsTrue(q284.ToToolTip() == "1-4 2-1 2-2 2-3");\r
}\r
}\r
\r
var quest = InjectQuest(280);\r
\r
_battleInfo.InjectResultStatus(\r
- ShipStatusList(7, 1, 1, 1, 8, 8), new ShipStatus[0],\r
+ ShipStatusList(7, 2, 1, 1, 8, 8), new ShipStatus[0],\r
new ShipStatus[0], new ShipStatus[0]);\r
\r
InjectMapNext(12, 4);\r
}\r
\r
/// <summary>\r
+ /// // 284: 南西諸島方面「海上警備行動」発令!\r
+ /// </summary>\r
+ [TestMethod]\r
+ public void BattleResult_284()\r
+ {\r
+ var quest = InjectQuest(284);\r
+\r
+ _battleInfo.InjectResultStatus(\r
+ ShipStatusList(7, 2, 1, 1, 8, 8), new ShipStatus[0],\r
+ new ShipStatus[0], new ShipStatus[0]);\r
+\r
+ InjectMapNext(14, 4);\r
+ InjectBattleResult("S");\r
+ InjectMapNext(14, 5);\r
+ InjectBattleResult("A");\r
+ Assert.IsTrue(CheckCount(quest, new[] {0, 0, 0, 0}));\r
+\r
+ InjectBattleResult("S");\r
+ InjectMapNext(21, 5);\r
+ InjectBattleResult("S");\r
+ InjectMapNext(22, 5);\r
+ InjectBattleResult("S");\r
+ InjectMapNext(23, 5);\r
+ InjectBattleResult("S");\r
+ Assert.IsTrue(CheckCount(quest, new[] {1, 1, 1, 1}));\r
+\r
+ // 艦種チェックは280と共通\r
+ }\r
+\r
+ /// <summary>\r
/// 822: 沖ノ島海域迎撃戦\r
/// 854: 戦果拡張任務!「Z作戦」前段作戦\r
/// </summary>\r
{265, new QuestSortie {Interval = Monthly, Max = 10, Rank = "A", Maps = new[] {15}, Material = new[] {0, 0, 5, 3}}}, // 265: 海上護衛強化月間\r
{266, new QuestSpec {Interval = Monthly, Max = 1, Material = new[] {4, 4, 0, 2}}}, // 266: 「水上反撃部隊」突入せよ!\r
{280, new QuestSpec {Interval = Monthly, MaxArray = new[] {1, 1, 1, 1}, Material = new[] {0, 4, 4, 2}}}, // 280: 兵站線確保!海上警備を強化実施せよ!\r
+ {284, new QuestSpec {Interval = Quarterly, MaxArray = new[] {1, 1, 1, 1}, Material = new[] {0, 0, 0, 4}}}, // 284: 南西諸島方面「海上警備行動」発令!\r
\r
{822, new QuestSortie {Interval = Quarterly, Max = 2, Rank = "S", Maps = new[] {24}, Material = new[] {0, 0, 0, 5}}}, // 822: 沖ノ島海域迎撃戦\r
{854, new QuestSpec {Interval = Quarterly, MaxArray = new[] {1, 1, 1, 1}, Material = new[] {0, 0, 0, 4}}}, // 854: 戦果拡張任務!「Z作戦」前段作戦\r
\r
public override string ToString()\r
{\r
- if (Id == 280 || Id == 426 || Id == 854 || Id == 872 || Id == 873 || Id == 888 || Id == 894)\r
+ if (Id == 280 || Id == 284 || Id == 426 || Id == 854 || Id == 872 || Id == 873 || Id == 888 || Id == 894)\r
return $"{NowArray.Count(n => n >= 1)}/{Spec.MaxArray.Length}";\r
return NowArray != null\r
? string.Join(" ", NowArray.Zip(Spec.MaxArray, (n, m) => $"{n}/{m}"))\r
return string.Join(" ",\r
new[] {"1-2", "1-3", "1-4", "2-1"}.Zip(NowArray, (map, n) => n >= 1 ? map : "")\r
.Where(s => !string.IsNullOrEmpty(s)));\r
+ case 284:\r
+ return string.Join(" ",\r
+ new[] {"1-4", "2-1", "2-2", "2-3"}.Zip(NowArray, (map, n) => n >= 1 ? map : "")\r
+ .Where(s => !string.IsNullOrEmpty(s)));\r
case 426:\r
return string.Join(" ",\r
new[] {"警備任務", "対潜警戒任務", "海上護衛任務", "強硬偵察任務"}\r
}\r
}\r
break;\r
+ case 284:\r
+ if (_boss && rank.S &&\r
+ specs.Types.Count(type => type == 1 || type == 2) >= 3 &&\r
+ specs.Types.Intersect(new[] {3, 4, 7, 21}).Any())\r
+ {\r
+ switch (_map)\r
+ {\r
+ case 14:\r
+ IncrementNth(count, 0);\r
+ break;\r
+ case 21:\r
+ IncrementNth(count, 1);\r
+ break;\r
+ case 22:\r
+ IncrementNth(count, 2);\r
+ break;\r
+ case 23:\r
+ IncrementNth(count, 3);\r
+ break;\r
+ }\r
+ }\r
+ break;\r
case 854:\r
if (_boss)\r
{\r