OSDN Git Service

航空戦の結果に対空カットインの情報を加える
[kancollesniffer/KancolleSniffer.git] / KancolleSniffer / BattleInfo.cs
index 5e9739c..04dddc4 100644 (file)
@@ -357,7 +357,7 @@ namespace KancolleSniffer
             var stage1 = json.api_stage1;\r
             if (stage1 == null || (stage1.api_f_count == 0 && stage1.api_e_count == 0))\r
                 return;\r
-            AirBattleResults.Add(new AirBattleResult\r
+            var result = new AirBattleResult\r
             {\r
                 PhaseName = phaseName,\r
                 AirControlLevel = json.api_stage1.api_disp_seiku() ? (int)json.api_stage1.api_disp_seiku : 0,\r
@@ -383,7 +383,19 @@ namespace KancolleSniffer
                         EnemyCount = (int)json.api_stage2.api_e_count,\r
                         EnemyLost = (int)json.api_stage2.api_e_lostcount\r
                     }\r
-            });\r
+            };\r
+            if (json.api_stage2 != null && json.api_stage2.api_air_fire())\r
+            {\r
+                var airfire = json.api_stage2.api_air_fire;\r
+                var idx = (int)airfire.api_idx;\r
+                result.AirFire = new AirBattleResult.AirFireResult\r
+                {\r
+                    ShipName = idx < _friend.Length ? _friend[idx].Name : _guard[idx - 6].Name,\r
+                    Kind = (int)airfire.api_kind,\r
+                    Items = ((int[])airfire.api_use_items).Select(id => _itemInfo.GetSpecByItemId(id).Name).ToArray()\r
+                };\r
+            }\r
+            AirBattleResults.Add(result);\r
         }\r
 \r
         private void CalcKoukuDamage(dynamic json)\r
@@ -538,7 +550,8 @@ namespace KancolleSniffer
             public int NowHp => _status.NowHp;\r
             public bool Escaped => _status.Escaped;\r
             public ShipStatus.Damage DamageLevel => _status.DamageLevel;\r
-            public int StartHp;\r
+            public string Name => _status.Name;\r
+            public int StartHp { get; private set; }\r
 \r
             public static Record[] Setup(ShipStatus[] ships, bool practice) =>\r
             (from s in ships\r