}\r
\r
/// <summary>\r
+ /// 連合艦隊の第二旗艦の大破を警告しない\r
+ /// </summary>\r
+ [TestMethod]\r
+ public void NotWarnDamaged1StShipInGuardFleet()\r
+ {\r
+ var sniffer = new Sniffer();\r
+ SniffLogFile(sniffer, "combined_battle_004");\r
+ PAssert.That(() => !sniffer.BadlyDamagedShips.Any());\r
+ }\r
+\r
+ /// <summary>\r
/// 熟練度込みの制空値を正しく計算する\r
/// </summary>\r
[TestMethod]\r
-Subproject commit 37eb669f909a9aa27105af1ff3c956de0f62ae8c
+Subproject commit 58854d8f5962f024c081fb2dc655570e18880d74
ship.Fleet = null;\r
ship.DeckIndex = -1;\r
}\r
- Ships = _deck.Select((id, idx) =>\r
+ Ships = _deck.Select((id, num) =>\r
{\r
var ship = _shipInventry[id];\r
if (ship.Empty)\r
return ship;\r
- ship.DeckIndex = id;\r
+ ship.DeckIndex = num;\r
ship.Fleet = this;\r
return ship;\r
}).ToArray();\r
{\r
BadlyDamagedShips =\r
(from s in _fleets.Where(fleet => fleet.State == FleetState.Sortie)\r
- .SelectMany(fleet => fleet.ActualShips)\r
- where !s.Escaped && s.DamageLevel == ShipStatus.Damage.Badly &&\r
- !(s.Fleet.CombinedType != 0 && s.Fleet.Number == 1 && s.DeckIndex == 0) // 第二艦隊の旗艦を除く\r
+ .SelectMany(fleet => fleet.CombinedType != 0 && fleet.Number == 1\r
+ ? fleet.ActualShips.Skip(1) // 第二艦隊の旗艦を除く\r
+ : fleet.ActualShips)\r
+ where !s.Escaped && s.DamageLevel == ShipStatus.Damage.Badly\r
select s.Name).ToArray();\r
}\r
\r