Storm Gust
Lvl: 1 Attack Magic Range: 5

Deals (M.Atk100%) M.Dmg to the target

Formula

function CommonFun.calcDamage_14302(srcUser, targetUser, params, damageParam, logger)
  local Luk = srcUser:GetProperty("Luk")
  local Int = srcUser:GetProperty("Int")
  local Vit = srcUser:GetProperty("Vit")
  local MAtk = srcUser:GetProperty("MAtk")
  local NormalAtk = srcUser:GetProperty("NormalAtk")
  NormalAtk = NormalAtk + 3 * Int
  local MAtkPer = srcUser:GetProperty("MAtkPer")
  local MDamIncrease = CommonFun.calcMDamIncrease(srcUser, targetUser)
  local IgnoreMDef = srcUser:GetProperty("IgnoreMDef")
  if 1 <= IgnoreMDef then
    IgnoreMDef = 1
  end
  local Num1 = srcUser:GetBuffLayer(90000952_SILK_ROBE_R3_:MAX_STACK_0)
  local Num2 = srcUser:GetBuffLayer(90000953_SILK_ROBE_R4_:MAX_STACK_0)
  local Num3 = srcUser:GetBuffLayer(90000954_SILK_ROBE_R5_:MAX_STACK_0)
  local Num24 = 0
  local RefineLv2 = srcUser:GetEquipedRefineLv(2)
  if srcUser:HasBuffID(90000959_1905_:MAX_STACK_0) then
    Num24 = Num24 + RefineLv2 * 0.01
  end
  local Num26 = 0
  local equipRing = srcUser:getEquip(CommonFun.PackType.EPACKTYPE_EQUIP, CommonFun.EquipPos.EEQUIPPOS_ARMOUR)
  if equipRing.id == 42126 or equipRing.id == 142126 then
    Num26 = Num26 + equipRing.refinelv * 0.01 + 0.1
  end
  if (equipRing.id == 42126 or equipRing.id == 142126) and equipRing.refinelv >= 15 then
    Num26 = Num26 + 0.05
  end
  local equipRingSD = srcUser:getEquip(CommonFun.PackType.EPACKTYPE_SHADOWEQUIP, CommonFun.EquipPos.EEQUIPPOS_ARMOUR)
  if equipRingSD.id == 42126 or equipRingSD.id == 142126 then
    Num26 = Num26 + (equipRingSD.refinelv * 0.01 + 0.1) * equipRingSD.quench_per / 100
  end
  if (equipRingSD.id == 42126 or equipRingSD.id == 142126) and equipRingSD.refinelv >= 15 then
    Num26 = Num26 + 0.05 * equipRingSD.quench_per / 100
  end
  local Num4 = srcUser:GetBuffLayer(90000942_TIDAL_SHOES_R3_:MAX_STACK_0)
  local Num5 = srcUser:GetBuffLayer(90000944_TIDAL_SHOES_R5_:MAX_STACK_0)
  local Num25 = 0
  local RefineLv4 = srcUser:GetEquipedRefineLv(4)
  if srcUser:HasBuffID(90000949_1910_:MAX_STACK_0) and 10 <= RefineLv4 then
    Num25 = 1
  end
  local Num27 = 0
  local equipRingshoes = srcUser:getEquip(CommonFun.PackType.EPACKTYPE_EQUIP, CommonFun.EquipPos.EEQUIPPOS_SHOES)
  if equipRingshoes.id == 43587 or equipRingshoes.id == 143587 then
    if equipRingshoes.refinelv < 5 then
      Num27 = Num27 + 10
    elseif equipRingshoes.refinelv >= 5 and equipRingshoes.refinelv < 10 then
      Num27 = Num27 + 10 + 5
    elseif equipRingshoes.refinelv >= 10 and equipRingshoes.refinelv < 15 then
      Num27 = Num27 + 10 + 5 + 5
    elseif equipRingshoes.refinelv >= 15 then
      Num27 = Num27 + 10 + 5 + 5 + 5
    end
  end
  local equipRingSDshoes = srcUser:getEquip(CommonFun.PackType.EPACKTYPE_SHADOWEQUIP, CommonFun.EquipPos.EEQUIPPOS_SHOES)
  if equipRingSDshoes.id == 43587 or equipRingSDshoes.id == 143587 then
    if equipRingSDshoes.refinelv < 5 then
      Num27 = Num27 + 10 * equipRingSDshoes.quench_per / 100
    elseif equipRingSDshoes.refinelv >= 5 and equipRingSDshoes.refinelv < 10 then
      Num27 = Num27 + 15 * equipRingSDshoes.quench_per / 100
    elseif equipRingSDshoes.refinelv >= 10 and equipRingSDshoes.refinelv < 15 then
      Num27 = Num27 + 20 * equipRingSDshoes.quench_per / 100
    elseif equipRingSDshoes.refinelv >= 15 then
      Num27 = Num27 + 25 * equipRingSDshoes.quench_per / 100
    end
  end
  local RuneDamage = 1 + 0.03 * Num1 + 0.03 * Num2 + 0.04 * Num3 + Num24 + Num26
  local RuneDamage1 = 0
  if 0 < Num4 + Num5 + Num25 + Num27 then
    RuneDamage1 = Luk / 3 + Num4 * 5 + Num5 * 5 + Num25 * 5 + Num27
  end
  local MRefine = srcUser:GetProperty("MRefine")
  local srcAtkElement = CommonFun.GetUserAtkAttr(srcUser, targetUser, params, damageParam)
  local targetDefElement = targetUser:GetProperty("DefAttr")
  local elementparam2 = CommonFun.CalcElementParam2(srcUser, targetUser, params, damageParam, logger)
  local raceparam = CommonFun.CalcRaceParam(srcUser, targetUser, params, damageParam, logger)
  local raceparam2 = CommonFun.CalcRaceParam2(srcUser, targetUser, params, damageParam, logger)
  local bossparam = CommonFun.CalcBossParam(srcUser, targetUser, params, damageParam, logger)
  local bossparam2 = CommonFun.CalcBossParam2(srcUser, targetUser, params, damageParam, logger)
  local MDef2 = targetUser:GetProperty("MDef")
  local MDefPer2 = targetUser:GetProperty("MDefPer")
  local Vit2 = targetUser:GetProperty("Vit")
  local VitPer2 = targetUser:GetProperty("VitPer")
  local Int2 = targetUser:GetProperty("Int")
  local IntPer2 = targetUser:GetProperty("IntPer")
  local MDamReduc2 = CommonFun.calcMDamReDuc(srcUser, targetUser)
  local RefineMDamReduc = targetUser:GetProperty("RefineMDamReduc")
  local damChangePer = damageParam.damChangePer
  local BaseMAtk = Int + math.floor(Int * Int / 100)
  local MAtkFinal = ((MAtk - BaseMAtk + NormalAtk) * (1 + MAtkPer) + BaseMAtk) * raceparam * bossparam * bossparam2
  local MDefReduc = CommonFun.CalcMDef(srcUser, targetUser)
  local A = (MAtkFinal * MDefReduc * (1 - MDamReduc2) + MRefine) * (1 - RefineMDamReduc) * damChangePer * (1 + MDamIncrease) * CommonFun.calcMagicElement(srcUser, targetUser, params, damageParam) * elementparam2 - Vit2 / 2 * (1 + VitPer2) - Int2 * (1 + IntPer2)
  if A <= 1 then
    return 1
  end
  if CommonFun.IsInRate(RuneDamage1, srcUser:GetRandom()) then
    return A * RuneDamage, CommonFun.DamageType.Crit
  end
  return A
end

Formula

{
  "id": 2300001,
  "Cost": 0,
  "Desc": [
    {
      "id": 73000,
      "params": [
        100
      ]
    }
  ],
  "Icon": "skill_10000",
  "Camps": "Enemy",
  "Level": 1,
  "Logic": "SkillLockedTarget",
  "Damage": [
    {
      "type": 14302,
      "damChangePer": 1,
      "elementparam": 5
    }
  ],
  "DescId": "##170797",
  "DamTime": {
    "type": 1,
    "value": 1
  },
  "Fire_EP": 3,
  "RollType": 2,
  "AttackAct": [
    "attack"
  ],
  "Attack_EP": 3,
  "SE_attack": "Skill/StaveCrasher",
  "SkillType": "Attack",
  "Target_EP": 3,
  "Launch_Type": 2,
  "Logic_Param": {
    "emit": {
      "type": 1,
      "speed": 20,
      "effect": "MagicanAttack,LowFire_B"
    }
  },
  "Launch_Range": 5
}