var fc = _guard.Length > 0;\r
var ec = _enemyGuardHp.Length > 0;\r
var both = fc && ec;\r
+ if (json.api_air_base_injection())\r
+ {\r
+ var obj = json.api_air_base_injection;\r
+ CalcAirBaseAttackDamage(obj.IsArray() ? obj : new[] {obj});\r
+ }\r
if (json.api_air_base_attack())\r
CalcAirBaseAttackDamage(json.api_air_base_attack);\r
- if (json.api_kouku.api_stage3 != null)\r
- CalcSimpleDamage(json.api_kouku.api_stage3, _friend, _enemyHp);\r
- if (json.api_kouku.api_stage3_combined() && json.api_kouku.api_stage3_combined != null)\r
- CalcSimpleDamage(json.api_kouku.api_stage3_combined, _guard, _enemyGuardHp);\r
+ if (json.api_injection_kouku()) // 噴式強襲\r
+ CalcKoukuDamage(json.api_injection_kouku);\r
+ if (json.api_kouku())\r
+ CalcKoukuDamage(json.api_kouku);\r
if (json.api_kouku2()) // 航空戦2回目\r
- {\r
- if (json.api_kouku2.api_stage3 != null)\r
- CalcSimpleDamage(json.api_kouku2.api_stage3, _friend, _enemyHp);\r
- if (json.api_kouku2.api_stage3_combined() && json.api_kouku2.api_stage3_combined != null)\r
- CalcSimpleDamage(json.api_kouku2.api_stage3_combined, _guard, _enemyGuardHp);\r
- }\r
+ CalcKoukuDamage(json.api_kouku2);\r
if (!json.api_opening_atack()) // 航空戦のみ\r
return;\r
if (json.api_support_info() && json.api_support_info != null)\r
if (json.api_hougeki2() && json.api_hougeki2 != null)\r
{\r
if (json.api_hougeki2.api_at_eflag())\r
+ {\r
CalcCombinedHougekiDamage(json.api_hougeki2, _friend, _guard, _enemyHp, _enemyGuardHp);\r
+ }\r
else\r
+ {\r
CalcHougekiDamage(json.api_hougeki2, _friend, _enemyHp);\r
+ }\r
}\r
if (json.api_hougeki3() && json.api_hougeki3 != null)\r
{\r
}\r
else if (json.api_support_airatack != null)\r
{\r
- var airattack = json.api_support_airatack;\r
- if (airattack.api_stage3 != null)\r
- CalcSimpleDamage(airattack.api_stage3.api_edam, _enemyHp);\r
- if (airattack.api_stage3_combined() && airattack.api_stage3_combined != null)\r
- CalcSimpleDamage(airattack.api_stage3_combined.api_edam, _enemyGuardHp);\r
+ CalcKoukuDamage(json.api_support_airatack);\r
}\r
}\r
\r
private void CalcAirBaseAttackDamage(dynamic json)\r
{\r
foreach (var entry in json)\r
- {\r
- if (!entry.api_stage3() || entry.api_stage3 == null)\r
- continue;\r
- CalcSimpleDamage(entry.api_stage3.api_edam, _enemyHp);\r
- if (entry.api_stage3_combined())\r
- CalcSimpleDamage(entry.api_stage3_combined.api_edam, _enemyGuardHp);\r
- }\r
+ CalcKoukuDamage(entry);\r
+ }\r
+\r
+ private void CalcKoukuDamage(dynamic json)\r
+ {\r
+ if (!json.api_stage3() || json.api_stage3 == null)\r
+ return;\r
+ CalcSimpleDamage(json.api_stage3, _friend, _enemyHp);\r
+ if (json.api_stage3_combined())\r
+ CalcSimpleDamage(json.api_stage3_combined, _guard, _enemyGuardHp);\r
}\r
\r
private void CalcSimpleDamage(dynamic json, Record[] friend, int[] enemy)\r