
Storm Gust
Lv 1AttackPhysical
Deals (Self Atk*100%) damage to an enemy target
Range: 2
Formula
1function CommonFun.calcDamage_27(srcUser, targetUser, params, damageParam, logger)
2 local Str1 = srcUser:GetProperty("Str")
3 local Num1 = srcUser:GetRunePoint(120010_AESIR_MONK_AND_CHAMPION_S_AUTO_ATTACK_BONUS_CONVERTED_FROM_STRENGTH_INCREASES_BY_5_AUTO_ATTACK_INCREASES_BY)
4 local RuneDamage = Num1 * 0.05 + 1
5 local Str = Str1 * RuneDamage
6 local Dex = srcUser:GetProperty("Dex")
7 local Luk = srcUser:GetProperty("Luk")
8 local Atk = srcUser:GetProperty("Atk")
9 local Int = srcUser:GetProperty("Int")
10 if srcUser:HasBuffID(100510_CRITICAL_EXPLOSION_:MAX_STACK_0) then
11 Atk = Atk + 5 * Int
12 end
13 local AtkPer1 = srcUser:GetProperty("AtkPer")
14 local Num2 = srcUser:GetRunePoint(120020_AESIR_FOR_LAUNCHING_AUTO_ATTACKS_ATK_INCREASES_BY_3_AUTO_ATTACK_INCREASES_BY)
15 local RuneDamage2 = Num2 * 0.03
16 local AtkPer = AtkPer1 + RuneDamage2
17 local NormalAtk = srcUser:GetProperty("NormalAtk")
18 NormalAtk = NormalAtk + 5 * Str
19 local DamIncrease = srcUser:GetProperty("DamIncrease")
20 local IgnoreDef = 0
21 local IgnoreDef1 = srcUser:GetProperty("IgnoreDef")
22 local IgnoreDef2 = srcUser:GetProperty("IgnoreEquipDef")
23 if targetUser.boss or targetUser.mini then
24 IgnoreDef = IgnoreDef1
25 else
26 IgnoreDef = IgnoreDef1 + IgnoreDef2
27 end
28 if 1 <= IgnoreDef then
29 IgnoreDef = 1
30 end
31 local Refine = srcUser:GetProperty("Refine")
32 local Def2 = targetUser:GetProperty("Def")
33 local DefPer2 = targetUser:GetProperty("DefPer")
34 local Vit2 = targetUser:GetProperty("Vit")
35 local VitPer2 = targetUser:GetProperty("VitPer")
36 local DamReduc2 = CommonFun.calcDamReDuc(srcUser, targetUser)
37 local RefineDamReduc = CommonFun.calcRefineDamReduc(srcUser, targetUser)
38 local damChangePer = damageParam.damChangePer
39 local raceparam = CommonFun.CalcRaceParam(srcUser, targetUser, params, damageParam, logger)
40 local bodyparam = CommonFun.CalcBodyParam(srcUser, targetUser, params, damageParam, logger)
41 local elementparam = CommonFun.CalcElementParam(srcUser, targetUser, params, damageParam, logger)
42 local bossparam = CommonFun.CalcBossParam(srcUser, targetUser, params, damageParam, logger)
43 local raceparam2 = CommonFun.CalcRaceParam2(srcUser, targetUser, params, damageParam, logger)
44 local bodyparam2 = CommonFun.CalcBodyParam2(srcUser, targetUser, params, damageParam, logger)
45 local elementparam2 = CommonFun.CalcElementParam2(srcUser, targetUser, params, damageParam, logger)
46 local bossparam2 = CommonFun.CalcBossParam2(srcUser, targetUser, params, damageParam, logger)
47 local BaseAtk = Str1 * 2 + math.floor(Str1 * Str1 / 100) + math.floor(Dex / 5) + math.floor(Luk / 5)
48 local BaseAtk1 = Str * 2 + math.floor(Str * Str / 100) + math.floor(Dex / 5) + math.floor(Luk / 5)
49 local AtkFinal = ((Atk - BaseAtk + NormalAtk) * (1 + AtkPer) * CommonFun.ShapeCorrection(srcUser, targetUser) * bodyparam * elementparam * elementparam2 + BaseAtk1) * raceparam * bossparam * bossparam2
50 local DefReduc = CommonFun.CalcDef(srcUser, targetUser)
51 local ShortRangeDamReduc2 = targetUser:GetProperty("ShortRangeDamReduc")
52 local A = (AtkFinal * DefReduc * (1 - DamReduc2) + Refine) * damChangePer * (1 - RefineDamReduc) * (1 + DamIncrease - ShortRangeDamReduc2) - Vit2 * (1 + VitPer2)
53 local WeaponType = srcUser:GetEquipedWeaponType()
54 local skilllv_1 = srcUser:GetLernedSkillLevel(179_KNIGHT:DOUBLE_ATTACK)
55 if WeaponType == 250 and CommonFun.IsInRate(skilllv_1 * 5, srcUser:GetRandom()) then
56 return A * 2, CommonFun.DamageType.ErLianJi
57 end
58 if A <= 1 then
59 return 1
60 end
61 return A
62endPreserved HTML snapshot from ROM Handbook
