var combined = json.api_nowhps_combined();\r
var nowhps = (int[])json.api_nowhps;\r
_fleet = combined ? 0 : DeckId(json);\r
+ var fstats = _shipInfo.GetShipStatuses(_fleet);\r
_friend = Record.Setup(\r
nowhps, (int[])json.api_maxhps,\r
- _shipInfo.GetShipStatuses(_fleet).Select(s => s.Slot).ToArray(),\r
+ fstats.Select(s => s.Slot).ToArray(),\r
+ fstats.Select(s => s.SlotEx).ToArray(),\r
_itemInfo);\r
_enemyHp = nowhps.Skip(7).TakeWhile(hp => hp != -1).ToArray();\r
_enemyStartHp = (int[])_enemyHp.Clone();\r
if (combined)\r
{\r
+ var gstats = _shipInfo.GetShipStatuses(1);\r
_guard = Record.Setup(\r
(int[])json.api_nowhps_combined,\r
(int[])json.api_maxhps_combined,\r
- _shipInfo.GetShipStatuses(1).Select(s => s.Slot).ToArray(),\r
+ gstats.Select(s => s.Slot).ToArray(),\r
+ gstats.Select(s => s.SlotEx).ToArray(),\r
_itemInfo);\r
}\r
else\r
private ItemInfo _itemInfo;\r
private int _maxHp;\r
private int[] _slot;\r
+ private int _slotEx;\r
public int NowHp;\r
public int StartHp;\r
public int Damage;\r
\r
- public static Record[] Setup(int[] rawHp, int[] rawMax, int[][] slots, ItemInfo itemInfo)\r
+ public static Record[] Setup(int[] rawHp, int[] rawMax, int[][] slots, int[] slotEx, ItemInfo itemInfo)\r
{\r
var hp = rawHp.Skip(1).Take(6).TakeWhile(h => h != -1).ToArray();\r
var max = rawMax.Skip(1).Take(6).TakeWhile(h => h != -1).ToArray();\r
StartHp = hp[i],\r
_maxHp = max[i],\r
_slot = slots[i].ToArray(),\r
+ _slotEx = slotEx[i],\r
_itemInfo = itemInfo\r
};\r
}\r
}\r
Damage += NowHp;\r
NowHp = 0;\r
+ var idex = _itemInfo[_slotEx].Id;\r
+ if (idex == 42) // ダメコン\r
+ {\r
+ _slotEx = -1;\r
+ NowHp = (int)(_maxHp * 0.2);\r
+ return;\r
+ }\r
+ if (idex == 43) // 女神\r
+ {\r
+ _slotEx = -1;\r
+ NowHp = _maxHp;\r
+ return;\r
+ }\r
for (var j = 0; j < _slot.Length; j++)\r
{\r
var id = _itemInfo[_slot[j]].Id;\r
{\r
ship.NowHp = NowHp;\r
ship.Slot = _slot;\r
+ ship.SlotEx = _slotEx;\r
}\r
}\r
\r