select new ChargeStatus(flag.Fuel != 0 ? flag.Fuel : others.Fuel + 5,\r
flag.Bull != 0 ? flag.Bull : others.Bull + 5)).ToArray();\r
\r
- private readonly Dictionary<int, int> _alvBonus = new Dictionary<int, int>\r
- {\r
- {6, 25}, // 艦戦\r
- {7, 3}, // 艦爆\r
- {8, 3}, // 艦攻\r
- {11, 9} // 水爆\r
- };\r
-\r
public int GetFighterPower(int fleet, bool withBonus)\r
=> GetShipStatuses(fleet).Where(s => !s.Escaped).SelectMany(ship =>\r
ship.Slot.Zip(ship.OnSlot, (slot, onslot) =>\r
var item = _itemInfo.GetStatus(slot);\r
if (!item.Spec.CanAirCombat)\r
return 0;\r
- var bonus = 0;\r
- if (onslot != 0 && item.Alv == 7 && withBonus)\r
- _alvBonus.TryGetValue(item.Spec.Type, out bonus);\r
+ var bonus = onslot != 0 && withBonus ? item.AlvBonus : 0;\r
return (int)Floor(item.Spec.AntiAir * Sqrt(onslot)) + bonus;\r
})).Sum();\r
\r