     enemyHp.now[i - 1] -= damage
 
 TorpedoSalvo = (sortieHp, enemyHp, raigeki, sortieInfo) ->
-  if raigeki.api_edam?
-    for damage, i in raigeki.api_edam
-      damage = Math.floor(damage)
-      continue if damage <= 0
-      enemyHp.dmg[i - 1] += damage
-      enemyHp.now[i - 1] -= damage
-    for damage, i in raigeki.api_fydam
-      damage = Math.floor(damage)
-      continue if damage <= 0
-      sortieHp.atk[i - 1] += damage
-  if raigeki.api_fdam?
-    for damage, i in raigeki.api_eydam
-      damage = Math.floor(damage)
-      continue if damage <= 0
-      enemyHp.atk[i - 1] += damage
-    for damage, i in raigeki.api_fdam
-      damage = Math.floor(damage)
-      continue if damage <= 0
-      sortieHp.dmg[i - 1] += damage
-      sortieHp.now[i - 1] -= damage
-      if sortieHp.now[i - 1] <= 0
-        repairNum = checkRepair sortieInfo[i - 1]
-        if repairNum == 42
-          sortieHp.now[i - 1] = Math.floor(sortieHp.max[i - 1] / 5)
-          sortieHp.dmg[i - 1] = 0
-        else if repairNum == 43
-          sortieHp.now[i - 1] = sortieHp.max[i - 1]
-          sortieHp.dmg[i - 1] = 0
+  # 雷撃ターゲット
+  for target, i in raigeki.api_frai
+    continue if target <= 0
+    damage = Math.floor(raigeki.api_fydam[i])
+    continue if damage <= 0
+    sortieHp.atk[i - 1] += damage
+    enemyHp.dmg[target - 1] += damage
+    enemyHp.now[target - 1] -= damage
+  # 雷撃ターゲット
+  for target, i in raigeki.api_erai
+    continue if target <= 0
+    damage = Math.floor(raigeki.api_eydam[i])
+    continue if damage <= 0
+    enemyHp.atk[i - 1] += damage
+    sortieHp.dmg[target - 1] += damage
+    sortieHp.now[target - 1] -= damage
+    if sortieHp.now[target - 1] <= 0
+      repairNum = checkRepair sortieInfo[target - 1]
+      if repairNum == 42
+        sortieHp.now[target - 1] = Math.floor(sortieHp.max[target - 1] / 5)
+        sortieHp.dmg[target - 1] = 0
+      else if repairNum == 43
+        sortieHp.now[target - 1] = sortieHp.max[target - 1]
+        sortieHp.dmg[target - 1] = 0
 
 Shelling = (sortieHp, enemyHp, hougeki, sortieInfo) ->
   for damageFrom, i in hougeki.api_at_list
     continue if damageFrom == -1
+    damageFrom -= 1
     for damage, j in hougeki.api_damage[i]
       damage = Math.floor(damage)
-      damageTo = hougeki.api_df_list[i][j]
+      target = hougeki.api_df_list[i][0] - 1
       continue if damage <= 0
-      if damageTo < 7
-        enemyHp.atk[damageFrom - 1 - 6] += damage
-        sortieHp.dmg[damageTo - 1] += damage
-        sortieHp.now[damageTo - 1] -= damage
-        if sortieHp.now[damageTo - 1] <= 0
-          repairNum = checkRepair sortieInfo[damageTo - 1]
+      if target < 6
+        enemyHp.atk[damageFrom - 6] += damage
+        sortieHp.dmg[target] += damage
+        sortieHp.now[target] -= damage
+        if sortieHp.now[target] <= 0
+          repairNum = checkRepair sortieInfo[target]
           if repairNum == 42
-            sortieHp.now[damageTo - 1] = Math.floor(sortieHp.max[damageTo - 1] / 5)
-            sortieHp.dmg[damageTo - 1] = 0
+            sortieHp.now[target] = Math.floor(sortieHp.max[target] / 5)
+            sortieHp.dmg[target] = 0
           else if repairNum == 43
-            sortieHp.now[damageTo - 1] = sortieHp.max[damageTo - 1]
-            sortieHp.dmg[damageTo - 1] = 0
+            sortieHp.now[target] = sortieHp.max[target]
+            sortieHp.dmg[target] = 0
       else
-        sortieHp.atk[damageFrom - 1] += damage
-        enemyHp.dmg[damageTo - 7] += damage
-        enemyHp.now[damageTo - 7] -= damage
+        sortieHp.atk[damageFrom] += damage
+        enemyHp.dmg[target - 6] += damage
+        enemyHp.now[target - 6] -= damage
 
 getShipInfo = (sortieHp, sortieInfo) ->
   {_ships} = window

      planeCount.sortie[1] = tmp.api_f_count
      planeCount.enemy[0] = tmp.api_e_count - tmp.api_e_lostcount
      planeCount.enemy[1] = tmp.api_e_count
    simulateKouku body.api_kouku, planeCount

    if body.api_kouku.api_stage3?
      AerialCombat sortieHp, enemyHp, body.api_kouku.api_stage3, sortieInfo


        # Enter next point in battle
        when '/kcsapi/api_req_map/next'
          shouldRender = true
          sortieHp.dmg[i] = enemyHp.dmg[i] = combinedHp.dmg[i] = sortieHp.atk[i] = enemyHp.atk[i] = combinedHp.atk[i] = 0 for i in [0..5]
          enemyInfo.lv = Object.clone initId
          enemyFormation = enemyIntercept = 0
