+ enemy[(hit.t - 1) % 6] -= hit.d;\r
+ }\r
+ }\r
+\r
+ private void CalcCombinedHougekiDamage(dynamic hougeki, Record[] friend, Record[] guard,\r
+ int[] enemy, int[] enemyGuard)\r
+ {\r
+ var targets = ((dynamic[])hougeki.api_df_list).Skip(1).Select(x => (int[])x);\r
+ var damages = ((dynamic[])hougeki.api_damage).Skip(1).Select(x => (int[])x);\r
+ var eflags = ((int[])hougeki.api_at_eflag).Skip(1);\r
+ foreach (var turn in\r
+ targets.Zip(damages, (t, d) => new {t, d}).\r
+ Zip(eflags, (td, e) => new {e, td.t, td.d}))\r
+ {\r
+ foreach (var hit in turn.t.Zip(turn.d, (t, d) => new {t, d}))\r
+ {\r
+ if (turn.e == 1)\r
+ {\r
+ if (hit.t <= 6)\r
+ friend[hit.t - 1].ApplyDamage(hit.d);\r
+ else\r
+ guard[hit.t - 1].ApplyDamage(hit.d);\r
+ }\r
+ else\r
+ {\r
+ if (hit.t <= 6)\r
+ enemy[hit.t - 1] -= hit.d;\r
+ else\r
+ enemyGuard[(hit.t - 1) % 6] -= hit.d;\r
+ }\r
+ }\r