Rolling Thunder
Lvl: 10 MultiElectricArc Physical CD: 1 sec Skill Delay: 1 sec SP: 60 Range: 6

A channeling skill. Thor channels two electric arcs per sec, each dealing Wind P.DMG equal to P.ATK*2800% once to one random enemy within 8m. For every 1s of channeling, he channels one more electric arc. Channeling lasts 5s at most. Moving is allowed when channeling. Tap again to quit channeling.

Lvl: 9 MultiElectricArc Physical CD: 1 sec Skill Delay: 1 sec SP: 56 Range: 6
• A channeling skill. Thor channels two electric arcs per sec, each dealing Wind P.DMG equal to P.ATK*2600% once to one random enemy within 8m. For every 1s of channeling, he channels one more electric arc. Channeling lasts 5s at most. Moving is allowed when channeling. Tap again to quit channeling.
Lvl: 8 MultiElectricArc Physical CD: 1 sec Skill Delay: 1 sec SP: 52 Range: 6
• A channeling skill. Thor channels two electric arcs per sec, each dealing Wind P.DMG equal to P.ATK*2400% once to one random enemy within 8m. For every 1s of channeling, he channels one more electric arc. Channeling lasts 5s at most. Moving is allowed when channeling. Tap again to quit channeling.
Lvl: 7 MultiElectricArc Physical CD: 1 sec Skill Delay: 1 sec SP: 48 Range: 6
• A channeling skill. Thor channels two electric arcs per sec, each dealing Wind P.DMG equal to P.ATK*2200% once to one random enemy within 8m. For every 1s of channeling, he channels one more electric arc. Channeling lasts 5s at most. Moving is allowed when channeling. Tap again to quit channeling.
Lvl: 6 MultiElectricArc Physical CD: 1 sec Skill Delay: 1 sec SP: 44 Range: 6
• A channeling skill. Thor channels two electric arcs per sec, each dealing Wind P.DMG equal to P.ATK*2000% once to one random enemy within 8m. For every 1s of channeling, he channels one more electric arc. Channeling lasts 5s at most. Moving is allowed when channeling. Tap again to quit channeling.
Lvl: 5 MultiElectricArc Physical CD: 1 sec Skill Delay: 1 sec SP: 40 Range: 6
• A channeling skill. Thor channels two electric arcs per sec, each dealing Wind P.DMG equal to P.ATK*1800% once to one random enemy within 8m. For every 1s of channeling, he channels one more electric arc. Channeling lasts 5s at most. Moving is allowed when channeling. Tap again to quit channeling.
Lvl: 4 MultiElectricArc Physical CD: 1 sec Skill Delay: 1 sec SP: 36 Range: 6
• A channeling skill. Thor channels two electric arcs per sec, each dealing Wind P.DMG equal to P.ATK*1600% once to one random enemy within 8m. For every 1s of channeling, he channels one more electric arc. Channeling lasts 5s at most. Moving is allowed when channeling. Tap again to quit channeling.
Lvl: 3 MultiElectricArc Physical CD: 1 sec Skill Delay: 1 sec SP: 32 Range: 6
• A channeling skill. Thor channels two electric arcs per sec, each dealing Wind P.DMG equal to P.ATK*1400% once to one random enemy within 8m. For every 1s of channeling, he channels one more electric arc. Channeling lasts 5s at most. Moving is allowed when channeling. Tap again to quit channeling.
Lvl: 2 MultiElectricArc Physical CD: 1 sec Skill Delay: 1 sec SP: 28 Range: 6
• A channeling skill. Thor channels two electric arcs per sec, each dealing Wind P.DMG equal to P.ATK*1200% once to one random enemy within 8m. For every 1s of channeling, he channels one more electric arc. Channeling lasts 5s at most. Moving is allowed when channeling. Tap again to quit channeling.
Lvl: 1 MultiElectricArc Physical CD: 1 sec Skill Delay: 1 sec SP: 24 Range: 6
• A channeling skill. Thor channels two electric arcs per sec, each dealing Wind P.DMG equal to P.ATK*1000% once to one random enemy within 8m. For every 1s of channeling, he channels one more electric arc. Channeling lasts 5s at most. Moving is allowed when channeling. Tap again to quit channeling.

Formula

function CommonFun.calcDamage_70501(srcUser, targetUser, params, damageParam, logger)
  local Str = srcUser:GetProperty("Str")
  local Dex = srcUser:GetProperty("Dex")
  local Luk = srcUser:GetProperty("Luk")
  local Atk = srcUser:GetProperty("Atk")
  local AtkPer = srcUser:GetProperty("AtkPer")
  local DamIncrease = srcUser:GetProperty("DamIncrease")
  local IgnoreDef = 0
  local IgnoreDef1 = srcUser:GetProperty("IgnoreDef")
  local IgnoreDef2 = srcUser:GetProperty("IgnoreEquipDef")
  if targetUser.boss or targetUser.mini then
    IgnoreDef = IgnoreDef1
  else
    IgnoreDef = IgnoreDef1 + IgnoreDef2
  end
  if 1 <= IgnoreDef then
    IgnoreDef = 1
  end
  local Refine = srcUser:GetProperty("Refine")
  local Def2 = targetUser:GetProperty("Def")
  local DefPer2 = targetUser:GetProperty("DefPer")
  local Vit2 = targetUser:GetProperty("Vit")
  local VitPer2 = targetUser:GetProperty("VitPer")
  local DamReduc2 = CommonFun.calcDamReDuc(srcUser, targetUser)
  local RefineDamReduc = targetUser:GetProperty("RefineDamReduc")
  local damChangePer = damageParam.damChangePer
  local raceparam = CommonFun.CalcRaceParam(srcUser, targetUser, params, damageParam, logger)
  local bodyparam = CommonFun.CalcBodyParam(srcUser, targetUser, params, damageParam, logger)
  local elementparam = CommonFun.CalcElementParam(srcUser, targetUser, params, damageParam, logger)
  local bossparam = CommonFun.CalcBossParam(srcUser, targetUser, params, damageParam, logger)
  local raceparam2 = CommonFun.CalcRaceParam2(srcUser, targetUser, params, damageParam, logger)
  local bodyparam2 = CommonFun.CalcBodyParam2(srcUser, targetUser, params, damageParam, logger)
  local elementparam2 = CommonFun.CalcElementParam2(srcUser, targetUser, params, damageParam, logger)
  local bossparam2 = CommonFun.CalcBossParam2(srcUser, targetUser, params, damageParam, logger)
  local BaseAtk = Str * 2 + math.floor(Str * Str / 100) + math.floor(Dex / 5) + math.floor(Luk / 5)
  local AtkFinal = ((Atk - BaseAtk) * (1 + AtkPer) * CommonFun.ShapeCorrection(srcUser, targetUser) * bodyparam * elementparam * elementparam2 + BaseAtk) * raceparam * bossparam * bossparam2
  local DefReduc = CommonFun.CalcDef(srcUser, targetUser)
  local LongRangeDamReduc2 = targetUser:GetProperty("LongRangeDamReduc")
  local skillID, skillLevel = CommonFun.UnmergeSkillID(params.skillIDAndLevel)
  if skillID == 2795_SAINT:TRIAL_OF_STORM then
    local Hiding = targetUser:GetProperty("Hiding")
    local Num = targetUser:GetBuffLayer(138361_ELECTRIC_CHARGE_COUNT_:MAX_STACK_5)
    local GemValue = srcUser:GetGemValue(210101_EACH_ELECTRIC_CHARGE_ON_THE_TARGET_INCREASES_DMG_OF_TRIAL_OF_STORM_BY_PERCENTAGE)
    damChangePer = damChangePer * (1 + Num * GemValue / 100000)
    if Hiding == 1 then
      damChangePer = damChangePer * 2
    end
  end
  if skillID == 2805_SAINT:ULTRA_LIGHTNING then
    local skilllv_cj = srcUser:GetLernedSkillLevel(2798_SAINT:ULTRA_LIGHTNING)
    local GemValue = srcUser:GetGemValue(210121_ULTRA_LIGHTNING_DEALS_PERCENTAGE_MORE_DMG_WHEN_REMAINING_ON_THE_GROUND)
    damChangePer = (skilllv_cj + 6) * (1 + GemValue / 100000)
  end
  local Quake = 1
  if skillID == 2804_SAINT:MJOLNIR then
    local skilllv_tx = srcUser:GetLernedSkillLevel(2791_SAINT:THOR_S_ARRIVAL)
    damChangePer = skilllv_tx * 5
    local RefineLv7 = srcUser:GetEquipedRefineLv(7_WEAPON)
    if srcUser:HasBuffID(23030_23_:MAX_STACK_0) then
      Quake = RefineLv7 * 0.01 + Quake
    end
    if srcUser:HasBuffID(23040_23_:MAX_STACK_0) then
      Quake = RefineLv7 * 0.03 + Quake
    end
  end
  local A = ((AtkFinal * DefReduc * (1 - DamReduc2) + Refine) * damChangePer * (1 - RefineDamReduc) * (1 + DamIncrease - LongRangeDamReduc2) - Vit2 * (1 + VitPer2)) * Quake
  local skilllv_bwd = srcUser:GetLernedSkillLevel(2799_SAINT:POWER_FLUCTUATION)
  local random_min = 50 + Luk / 10
  local random_max = skilllv_bwd * 10 + 200 + Str / 10
  local ratio = CommonFun.RandomRange(random_min, math.max(random_min, random_max), srcUser:GetRandom())
  if 0 < skilllv_bwd then
    A = A * ratio / 100
    if 300 < ratio then
      if srcUser.isServerCall then
        srcUser:AddBuff(138301_POWER_FLUCTUATION_3X_:MAX_STACK_0, targetUser:GetGuid())
      end
    elseif 200 < ratio and srcUser.isServerCall then
      srcUser:AddBuff(138300_POWER_FLUCTUATION_2X_:MAX_STACK_0, targetUser:GetGuid())
    end
  end
  if A <= 1 then
    return 1
  end
  return A
end

Formula

{
  "CD": 1,
  "id": 2793010,
  "Cost": 1,
  "Desc": [
    {
      "id": 2793000,
      "params": [
        2800
      ]
    }
  ],
  "Icon": "skill_2793001",
  "Camps": "Enemy",
  "Level": 10,
  "Logic": "RandomTargetRange",
  "Damage": [
    {
      "type": 70501,
      "damChangePer": 28,
      "elementparam": 1
    }
  ],
  "DescId": "##3352429",
  "NameZh": "##3352339",
  "SE_hit": "Skill/sfx_skill_thor_stormtrial_hit_01",
  "CastAct": "reading2",
  "DamTime": {
    "type": 1,
    "value": 1
  },
  "DelayCD": 1,
  "Fire_EP": 3,
  "SE_cast": "Skill/sfx_skill_thor_myriadthunder_attack_01",
  "RollType": 1,
  "AttackAct": [
    "use_skill"
  ],
  "Attack_EP": 3,
  "Lead_Type": {
    "DCT": 5,
    "type": 4,
    "clientinterrupt": 1
  },
  "SkillCost": {
    "sp": 60
  },
  "SkillType": "MultiElectricArc",
  "Target_EP": 3,
  "DamageType": 1,
  "Logic_Param": {
    "emit": {
      "type": 1,
      "speed": 20,
      "effect": "sfx_thor_dcdh_bullet_prf"
    },
    "count": 5,
    "interval": 1,
    "add_count": 1,
    "no_select": 1,
    "random_ep": [
      4,
      5
    ],
    "chant_buff": [
      138410,
      138411
    ],
    "init_count": 2,
    "isCountTrap": 1,
    "center_range": 8,
    "noMoveAction": 1,
    "passive_fire": 1,
    "sub_interval": 0.1,
    "fieldarea_cannot_immune": 1
  },
  "Launch_Range": 6,
  "FashionCastAct": "skill_ready8"
}