     enemyHp.dmg[i - 1] += damage
     enemyHp.now[i - 1] -= damage
 
-raigekiAttack = (sortieHp, enemyHp, raigeki, sortieInfo) ->
+TorpedoSalvo = (sortieHp, enemyHp, raigeki, sortieInfo) ->
   if raigeki.api_edam?
     for damage, i in raigeki.api_edam
       damage = Math.floor(damage)

          sortieHp.now[i - 1] = sortieHp.max[i - 1]
          sortieHp.dmg[i - 1] = 0

supportAttack = (enemyHp, support) ->
  for damage, i in support
    damage = Math.floor(damage)
    continue if damage <= 0

    simulateKouku body.api_kouku, planeCount

    if body.api_kouku.api_stage3?
      AerialCombat sortieHp, enemyHp, body.api_kouku.api_stage3, sortieInfo
    if body.api_kouku.api_stage3_combined?
      AerialCombat combinedHp, enemyHp, body.api_kouku.api_stage3_combined, combinedInfo
  # Second air battle

  if body.api_kouku2?
    simulateKouku body.api_kouku2, planeCount

    if body.api_kouku2.api_stage3?
      AerialCombat sortieHp, enemyHp, body.api_kouku2.api_stage3, sortieInfo
    if body.api_kouku2.api_stage3_combined?
      AerialCombat combinedHp, enemyHp, body.api_kouku2.api_stage3_combined, combinedInfo
  # Support battle

  if body.api_support_info?
    if body.api_support_info.api_support_airatack?
      SupportFire enemyHp, body.api_support_info.api_support_airatack.api_stage3.api_edam
    else if body.api_support_info.api_support_hourai?
      SupportFire enemyHp, body.api_support_info.api_support_hourai.api_damage
    else
      SupportFire enemyHp, body.api_support_info.api_damage
  # Opening battle

  if body.api_opening_atack?
    if isCombined
      TorpedoSalvo combinedHp, enemyHp, body.api_opening_atack, combinedInfo
    else
      TorpedoSalvo sortieHp, enemyHp, body.api_opening_atack, sortieInfo
  # Night battle

  if body.api_hougeki?
    if isCombined
      Shelling combinedHp, enemyHp, body.api_hougeki, combinedInfo
    else
      Shelling sortieHp, enemyHp, body.api_hougeki, sortieInfo
  # First hougeki battle

  if body.api_hougeki1?
    if isCombined && !isWater
      Shelling combinedHp, enemyHp, body.api_hougeki1, combinedInfo
    else
      Shelling sortieHp, enemyHp, body.api_hougeki1, sortieInfo
  # Second hougeki battle

  if body.api_hougeki2?
    Shelling sortieHp, enemyHp, body.api_hougeki2, sortieInfo
  # Combined hougeki battle

  if body.api_hougeki3?
    if isCombined && isWater
      Shelling combinedHp, enemyHp, body.api_hougeki3, combinedInfo
    else
      Shelling sortieHp, enemyHp, body.api_hougeki3, sortieInfo
  # Raigeki battle

  if body.api_raigeki?
    if isCombined
      TorpedoSalvo combinedHp, enemyHp, body.api_raigeki, combinedInfo
    else
      TorpedoSalvo sortieHp, enemyHp, body.api_raigeki, sortieInfo
  getResult sortieHp, enemyHp, combinedHp, leastHp, mvpPos

escapeId = -1
