ByTurn,\r
Support,\r
Aircraft,\r
- AirBase\r
+ AirBase,\r
+ Friend\r
}\r
\r
private class Phase\r
new Phase("support_info", CombatType.Support),\r
new Phase("opening_taisen", CombatType.ByTurn),\r
new Phase("opening_atack", CombatType.AtOnce),\r
+ new Phase("friendly_battle", CombatType.Friend),\r
new Phase("hougeki", CombatType.ByTurn),\r
new Phase("hougeki1", CombatType.ByTurn),\r
new Phase("hougeki2", CombatType.ByTurn),\r
case CombatType.AirBase:\r
CalcAirBaseAttackDamage(json[api]);\r
break;\r
+ case CombatType.Friend:\r
+ CalcFriendAttackDamage(json[api]);\r
+ break;\r
}\r
}\r
\r
}\r
}\r
\r
+ private void CalcFriendAttackDamage(dynamic json)\r
+ {\r
+ CalcDamageByTurn(json.api_hougeki, true);\r
+ }\r
+\r
private void AddAirBattleResult(dynamic json, string phaseName)\r
{\r
var stage1 = json.api_stage1;\r
guard[i].ApplyDamage(damage[i + 6]);\r
}\r
\r
- private void CalcDamageByTurn(dynamic json)\r
+ private void CalcDamageByTurn(dynamic json, bool ignoreFriendDamage = false)\r
{\r
if (!(json.api_df_list() && json.api_df_list != null &&\r
json.api_damage() && json.api_damage != null &&\r
var hit = new {t = targets[i][0], d = damages[i].Sum(d => d >= 0 ? d : 0)};\r
if (hit.t == -1)\r
continue;\r
+ if (ignoreFriendDamage && eflags[i] == 1)\r
+ continue;\r
records[eflags[i]][hit.t].ApplyDamage(hit.d);\r
}\r
}\r