
Super Spring Twin Flame Slash
Available only in the Inferno state. After a quick charge, inflict Fire DMG of [Twin Flame Slash] x200% on all enemy units within the target range
Skill Levels
• Available only in the Inferno state. After a quick charge, inflict Fire DMG of [Twin Flame Slash] x190% on all enemy units within the target range
• Available only in the Inferno state. After a quick charge, inflict Fire DMG of [Twin Flame Slash] x180% on all enemy units within the target range
• Available only in the Inferno state. After a quick charge, inflict Fire DMG of [Twin Flame Slash] x170% on all enemy units within the target range
• Available only in the Inferno state. After a quick charge, inflict Fire DMG of [Twin Flame Slash] x160% on all enemy units within the target range
• Available only in the Inferno state. After a quick charge, inflict Fire DMG of [Twin Flame Slash] x150% on all enemy units within the target range
• Available only in the Inferno state. After a quick charge, inflict Fire DMG of [Twin Flame Slash] x140% on all enemy units within the target range
• Available only in the Inferno state. After a quick charge, inflict Fire DMG of [Twin Flame Slash] x130% on all enemy units within the target range
• Available only in the Inferno state. After a quick charge, inflict Fire DMG of [Twin Flame Slash] x120% on all enemy units within the target range
• Available only in the Inferno state. After a quick charge, inflict Fire DMG of [Twin Flame Slash] x110% on all enemy units within the target range
Formula
1function CommonFun.calcDamage_16002(srcUser, targetUser, params, damageParam, logger)
2 local Str = srcUser:GetProperty("Str")
3 local Dex = srcUser:GetProperty("Dex")
4 local Luk = srcUser:GetProperty("Luk")
5 local Atk = srcUser:GetProperty("Atk")
6 local AtkPer = srcUser:GetProperty("AtkPer")
7 local DamIncrease = srcUser:GetProperty("DamIncrease")
8 local IgnoreDef = 0
9 local IgnoreDef1 = srcUser:GetProperty("IgnoreDef")
10 local IgnoreDef2 = srcUser:GetProperty("IgnoreEquipDef")
11 if targetUser.boss or targetUser.mini then
12 IgnoreDef = IgnoreDef1
13 else
14 IgnoreDef = IgnoreDef1 + IgnoreDef2
15 end
16 if 1 <= IgnoreDef then
17 IgnoreDef = 1
18 end
19 local AttrEffect = srcUser:GetProperty("AttrEffect")
20 local bits = CommonFun.getBits(AttrEffect)
21 local Refine = srcUser:GetProperty("Refine")
22 local Def2 = targetUser:GetProperty("Def")
23 local DefPer2 = targetUser:GetProperty("DefPer")
24 local Vit2 = targetUser:GetProperty("Vit")
25 local VitPer2 = targetUser:GetProperty("VitPer")
26 local DamReduc2 = CommonFun.calcDamReDuc(srcUser, targetUser)
27 local RefineDamReduc = CommonFun.calcRefineDamReduc(srcUser, targetUser)
28 local skilllv_1 = srcUser:GetLernedSkillLevel(1700_BLADE_SOUL:TWIN_FLAME_SLASH)
29 local damChangePer = damageParam.damChangePer
30 local damChangePer1 = damageParam.damChangePer1
31 local raceparam = CommonFun.CalcRaceParam(srcUser, targetUser, params, damageParam, logger)
32 local bodyparam = CommonFun.CalcBodyParam(srcUser, targetUser, params, damageParam, logger)
33 local elementparam = CommonFun.CalcElementParam(srcUser, targetUser, params, damageParam, logger)
34 local bossparam = CommonFun.CalcBossParam(srcUser, targetUser, params, damageParam, logger)
35 local raceparam2 = CommonFun.CalcRaceParam2(srcUser, targetUser, params, damageParam, logger)
36 local bodyparam2 = CommonFun.CalcBodyParam2(srcUser, targetUser, params, damageParam, logger)
37 local elementparam2 = CommonFun.CalcElementParam2(srcUser, targetUser, params, damageParam, logger)
38 local bossparam2 = CommonFun.CalcBossParam2(srcUser, targetUser, params, damageParam, logger)
39 local skilllv_2 = srcUser:GetLernedSkillLevel(1715_ARCHER:WHITE_BLAZE_S_PROTECTION)
40 local skilllv_3 = srcUser:GetLernedSkillLevel(1701_BLADE_SOUL:FIRE_SWORD)
41 local targetDefElement = targetUser:GetProperty("DefAttr")
42 local Num3 = srcUser:GetRunePoint(203004_AESIR_EACH_LEVEL_OF_SWORDS_OF_WILDFIRE_ADDITIONALLY_INCREASES_TWIN_FLAME_SLASH_TRUE_FIRE_DMG_BY_20_POINTS_DMG_IS_AFFECTED_BY_FIRE_ELEMENT_DAMAGE_AND_ATTRIBUTE_MUTUAL_OVERCOMING)
43 local Num4 = srcUser:GetRunePoint(203003_AESIR_BOOST_SWORDS_OF_WILDFIRE_S_ALL_TRUE_DMG_BY_5)
44 local liehuo = 1 + Num4 * 0.05
45 local srcAtkElement = 4
46 local ElementRate = CommonFun.calcMagicElement(srcUser, targetUser, params, damageParam)
47 if nil == CommonFun.NatureProps[srcAtkElement] or nil == CommonFun.NatureProps[targetDefElement] or nil == targetDefElement then
48 return 0
49 end
50 local FireAtk = srcUser:GetProperty("FireAtk")
51 local ele = ElementRate * (1 + FireAtk)
52 local SkillRealDam = Num3 * skilllv_3 * 20 * liehuo * ele
53 local liehuojian = 1
54 if skilllv_3 <= 10 then
55 liehuojian = skilllv_3 * 0.005 + 1
56 else
57 liehuojian = 1.05
58 end
59 local baiyan = CommonFun.ShapeCorrection(srcUser, targetUser)
60 local skilllv_baiyan = srcUser:GetLernedSkillLevel(1738_ARCHER:WHITE_BLAZE_KING_S_PROTECTION_WILD_ROAR)
61 if 1 <= skilllv_baiyan then
62 baiyan = 1
63 end
64 local BaseAtk = Str * 2 + math.floor(Str * Str / 100) + math.floor(Dex / 5) + math.floor(Luk / 5)
65 local AtkFinal = ((Atk - BaseAtk) * (1 + AtkPer) * baiyan * bodyparam * elementparam * elementparam2 + BaseAtk) * raceparam * bossparam * bossparam2
66 local DefReduc = CommonFun.CalcDef(srcUser, targetUser)
67 local ShortRangeDamReduc2 = targetUser:GetProperty("ShortRangeDamReduc")
68 local BaseLvDamage = 0
69 local IBaseLv = srcUser.BaseLv
70 if srcUser:HasBuffID(42190_SILVER_GLAIVE_:MAX_STACK_0) then
71 BaseLvDamage = IBaseLv * 20
72 end
73 if srcUser:HasBuffID(42200_BLACK_IRON_SWORD_:MAX_STACK_0) then
74 BaseLvDamage = IBaseLv * 20
75 end
76 local GemValue1 = srcUser:GetGemValue(11041_BASH_DMG_PERCENTAGE)
77 local GemValue2 = srcUser:GetGemValue(143012_BASH_DMG_PERCENTAGE)
78 local MidGemValue = srcUser:GetGemValue(11042_BASH_DEALS_EXTRA_PERCENTAGE_DMG_TO_MEDIUM_SIZE_ENEMIES)
79 local GemDam = 1 + GemValue1 / 100000 + GemValue2 / 100000
80 local MidGemDam = 1
81 if CommonFun.Shape.M == targetUser.shape then
82 MidGemDam = 1 + MidGemValue / 100000
83 end
84 if srcUser:HasBuffID(21430100_IGNORE_DEF_IN_OVER_THRUST_STATUS_:MAX_STACK_0) and srcUser:HasBuffID(96150_OVER_THRUST_:MAX_STACK_0) then
85 DefReduc = 1
86 end
87 local anyz = 1
88 local skillID, skillLevel = CommonFun.UnmergeSkillID(params.skillIDAndLevel)
89 if skillID == 1725_ARCHER:SUPER_SPRING_TWIN_FLAME_SLASH then
90 local skilllv_anyz = srcUser:GetLernedSkillLevel(1725_ARCHER:SUPER_SPRING_TWIN_FLAME_SLASH)
91 if skilllv_1 <= 5 then
92 damChangePer = 1 + skilllv_1 * 0.1
93 damChangePer1 = 50 + (skilllv_1 - 1) * 25
94 elseif 5 < skilllv_1 and skilllv_1 <= 10 then
95 damChangePer = 1 + skilllv_1 * 0.1
96 damChangePer1 = 150
97 else
98 damChangePer = 2 + (skilllv_1 - 10) * 0.05
99 damChangePer1 = 150
100 end
101 anyz = 1 + skilllv_anyz * 0.1
102 end
103 local A = (AtkFinal * DefReduc * (1 - DamReduc2) + Refine) * damChangePer * (1 + DamIncrease - ShortRangeDamReduc2) * GemDam * MidGemDam + damChangePer1 - Vit2 * (1 + VitPer2) + BaseLvDamage
104 if A <= 1 then
105 return 1
106 end
107 local Buff = srcUser:HasBuffID(80000550_BONGUN_CARD_DEPOSITE_:MAX_STACK_0)
108 local Weapon = srcUser:GetEquipedID(7_WEAPON)
109 local B = 1
110 if CommonFun.Shape.M == targetUser.shape and (Weapon == 40308_NAGAN_1_NAGAN_1 or Weapon == 140308_NAGAN_2_NAGAN_2) then
111 B = 1.5
112 end
113 if CommonFun.Shape.M == targetUser.shape and (Weapon == 40359_BLADE_OF_FRENZY_1_BLADE_OF_FRENZY_1 or Weapon == 140359_BLADE_OF_RAGE_2_BLADE_OF_RAGE_2) then
114 B = 1.5
115 end
116 if CommonFun.Shape.M == targetUser.shape and (Weapon == 40382_WILDFIRE_SWORDS_1_WILDFIRE_SWORDS_1 or Weapon == 140382_WILDFIRE_SWORDS_2_WILDFIRE_SWORDS_2) then
117 B = 1.5
118 end
119 if CommonFun.Shape.M == targetUser.shape and (Weapon == 40383_BLACK_FLAME_SWORD_1_BLACK_FLAME_SWORD_1 or Weapon == 140383_BLACK_FLAME_SWORD_2_BLACK_FLAME_SWORD_2) then
120 B = 1.5
121 end
122 local fuwen = 1
123 if srcUser:HasBuffID(20110100_BONGUN_CARD_DEPOSITE_EFFECT_DOUBLED_:MAX_STACK_0) then
124 fuwen = 2
125 end
126 local Num1 = srcUser:GetRunePoint(203002_AESIR_TWIN_FLAME_SLASH_DMG_10)
127 local RuneDamage = Num1 * 0.1 + 1
128 local KuangJiDao = 0
129 if bits[CommonFun.AttrEffect.KuangJiDam] == 1 then
130 KuangJiDao = 0.5
131 elseif Weapon == 40308_NAGAN_1_NAGAN_1 or Weapon == 140308_NAGAN_2_NAGAN_2 then
132 KuangJiDao = 1
133 elseif Weapon == 40359_BLADE_OF_FRENZY_1_BLADE_OF_FRENZY_1 or Weapon == 140359_BLADE_OF_RAGE_2_BLADE_OF_RAGE_2 then
134 KuangJiDao = 1
135 end
136 local Flames = 0
137 if Weapon == 40382_WILDFIRE_SWORDS_1_WILDFIRE_SWORDS_1 or Weapon == 140382_WILDFIRE_SWORDS_2_WILDFIRE_SWORDS_2 then
138 Flames = 1
139 elseif Weapon == 40383_BLACK_FLAME_SWORD_1_BLACK_FLAME_SWORD_1 or Weapon == 140383_BLACK_FLAME_SWORD_2_BLACK_FLAME_SWORD_2 then
140 Flames = 2
141 end
142 local Yaodao = 0
143 if Buff == true then
144 Yaodao = 1
145 end
146 local dengji = 0
147 if 10 <= skilllv_1 then
148 dengji = 1
149 end
150 local Sign = 1
151 local Num1 = targetUser:GetBuffLayer(183540_DEEP_CUT_:MAX_STACK_5)
152 local fromid = targetUser:GetBuffFromID(183540_DEEP_CUT_:MAX_STACK_5)
153 local guid = srcUser:GetGuid()
154 local skilllv_1 = srcUser:GetLernedSkillLevel(1747_ARCHER:DEEP_CUT)
155 local GemValue = srcUser:GetGemValue(11131_DAMAGE_CAUSED_BY_EACH_DEEP_CUT_STACK_PERCENTAGE)
156 if fromid == guid then
157 Sign = 1 + (skilllv_1 * 0.01 + 0.02 + GemValue / 100000) * Num1
158 end
159 A = (A + Str * 20 * fuwen * Yaodao + SkillRealDam) * B * (1 + dengji * KuangJiDao) * (1 + Flames) * RuneDamage * (1 - RefineDamReduc) * anyz * liehuojian * Sign
160 return A
161end