foreach (var e in ships.Zip(_friendHp, (ship, now) => new {ship, now}))\r
e.ship.NowHp = e.now;\r
if (warnDamagedShip)\r
+ {\r
+ ConsumeDamageControlItem(ships);\r
UpdateDamgedShipNames(ships);\r
+ }\r
+ }\r
+\r
+\r
+ // HPが0の艦娘にダメコンか女神があったら消費する。\r
+ // 両方ある場合には前のスロットから消費する。\r
+ // 本当はどちらか選べるらしい。\r
+ private void ConsumeDamageControlItem(IEnumerable<ShipStatus> ships)\r
+ {\r
+ foreach (var s in ships.Where(s => s.NowHp == 0))\r
+ {\r
+ for (var i = 0; i < s.Slot.Length; i++)\r
+ {\r
+ if (_itemInfo[s.Slot[i]].Type != 23)\r
+ continue;\r
+ s.Slot[i] = -1;\r
+ break;\r
+ }\r
+ }\r
}\r
\r
private void UpdateDamgedShipNames(IEnumerable<ShipStatus> ships)\r
foreach (var e in ships.Zip(_friendHp.Concat(_guardHp), (ship, now) => new {ship, now}))\r
e.ship.NowHp = e.now;\r
if (warnDamagedShip)\r
+ {\r
+ ConsumeDamageControlItem(ships);\r
UpdateDamgedShipNames(ships);\r
+ }\r
}\r
\r
public void CauseCombinedBattleEscape()\r