       dmg = []
       dmg.push damage
       critical = []
-      critical.push if kouku.api_ecl_flag[i] == 1 then HitType.Critical else HitType.Hit
+      critical.push if kouku.api_ecl_flag[i] == 1 then HitType.Critical else if damage == 0 then HitType.Miss else HitType.Hit
       list.push new Attack AttackType[AttackTypeMap[0]], null, enemyShip[i - 1], enemyShip[i - 1].maxHP, enemyShip[i - 1].nowHP, dmg, critical
       enemyShip[i - 1].nowHP -= damage
   if kouku.api_fdam?


simulateSupportFire = (enemyShip, support) ->
  list = []
  for damage, i in support
    continue unless 1 <= i <= 6
    damage = Math.floor(damage)
    dmg = []
    dmg.push damage
    critical = []
    critical.push HitType.Hit   # TODO: Aerial support may be cirtical attack.
    list.push new Attack AttackType[AttackTypeMap[0]], null, enemyShip[i - 1], enemyShip[i - 1].maxHP, enemyShip[i - 1].nowHP, dmg, critical
    enemyShip[i - 1].nowHP -= damage
  list

#api_opening_atack	：開幕雷撃戦 *スペルミスあり、注意

      totalDamage += damage
    critical = []
    for crt, j in hougeki.api_cl_list[i]
      if crt == 2
        critical.push HitType.Critical
      else if crt == 1
        critical.push HitType.Hit
      else
        critical.push HitType.Miss
    target = hougeki.api_df_list[i][0] - 1
    attackType = 0
    if !isNight
