
Hell Gate
Unleash an instant heavy rain-like attack on a single enemy, dealing physical damage equal to 1730% of Atk. Consumes 5 Spirit Spheres and 20% of maximum MP. For every 1% Hp lost by Shura, the damage increases by 1%. If used after Fallen Empire, the damage is doubled. After usage, the enemy suffers Finger Offensive damage once per second for 3 seconds.
Aesir Effects
Skill Levels
• Unleash an instant heavy rain-like attack on a single enemy, dealing physical damage equal to 1670% of Atk. Consumes 5 Spirit Spheres and 20% of maximum MP. For every 1% Hp lost by Shura, the damage increases by 1%. If used after Fallen Empire, the damage is doubled. After usage, the enemy suffers Finger Offensive damage once per second for 3 seconds.
• Unleash an instant heavy rain-like attack on a single enemy, dealing physical damage equal to 1610% of Atk. Consumes 5 Spirit Spheres and 20% of maximum MP. For every 1% Hp lost by Shura, the damage increases by 1%. If used after Fallen Empire, the damage is doubled. After usage, the enemy suffers Finger Offensive damage once per second for 3 seconds.
• Unleash an instant heavy rain-like attack on a single enemy, dealing physical damage equal to 1550% of Atk. Consumes 5 Spirit Spheres and 20% of maximum MP. For every 1% Hp lost by Shura, the damage increases by 1%. If used after Fallen Empire, the damage is doubled. After usage, the enemy suffers Finger Offensive damage once per second for 3 seconds.
• Unleash an instant heavy rain-like attack on a single enemy, dealing physical damage equal to 1490% of Atk. Consumes 5 Spirit Spheres and 20% of maximum MP. For every 1% Hp lost by Shura, the damage increases by 1%. If used after Fallen Empire, the damage is doubled. After usage, the enemy suffers Finger Offensive damage once per second for 3 seconds.
• Unleash an instant heavy rain-like attack on a single enemy, dealing physical damage equal to 1430% of Atk. Consumes 5 Spirit Spheres and 20% of maximum MP. For every 1% Hp lost by Shura, the damage increases by 1%. If used after Fallen Empire, the damage is doubled. After usage, the enemy suffers Finger Offensive damage once per second for 3 seconds.
• Unleash an instant heavy rain-like attack on a single enemy, dealing physical damage equal to 1340% of Atk. Consumes 5 Spirit Spheres and 20% of maximum MP. For every 1% Hp lost by Shura, the damage increases by 1%. If used after Fallen Empire, the damage is doubled. After usage, the enemy suffers Finger Offensive damage once per second for 3 seconds.
• Unleash an instant heavy rain-like attack on a single enemy, dealing physical damage equal to 1250% of Atk. Consumes 5 Spirit Spheres and 20% of maximum MP. For every 1% Hp lost by Shura, the damage increases by 1%. If used after Fallen Empire, the damage is doubled. After usage, the enemy suffers Finger Offensive damage once per second for 3 seconds.
• Unleash an instant heavy rain-like attack on a single enemy, dealing physical damage equal to 1160% of Atk. Consumes 5 Spirit Spheres and 20% of maximum MP. For every 1% Hp lost by Shura, the damage increases by 1%. If used after Fallen Empire, the damage is doubled. After usage, the enemy suffers Finger Offensive damage once per second for 3 seconds.
• Unleash an instant heavy rain-like attack on a single enemy, dealing physical damage equal to 1070% of Atk. Consumes 5 Spirit Spheres and 20% of maximum MP. For every 1% Hp lost by Shura, the damage increases by 1%. If used after Fallen Empire, the damage is doubled. After usage, the enemy suffers Finger Offensive damage once per second for 3 seconds.
• Unleash an instant heavy rain-like attack on a single enemy, dealing physical damage equal to 980% of Atk. Consumes 5 Spirit Spheres and 20% of maximum MP. For every 1% Hp lost by Shura, the damage increases by 1%. If used after Fallen Empire, the damage is doubled. After usage, the enemy suffers Finger Offensive damage once per second for 3 seconds.
• Unleash an instant heavy rain-like attack on a single enemy, dealing physical damage equal to 890% of Atk. Consumes 5 Spirit Spheres and 20% of maximum MP. For every 1% Hp lost by Shura, the damage increases by 1%. If used after Fallen Empire, the damage is doubled. After usage, the enemy suffers Finger Offensive damage once per second for 3 seconds.
• Unleash an instant heavy rain-like attack on a single enemy, dealing physical damage equal to 800% of Atk. Consumes 5 Spirit Spheres and 20% of maximum MP. For every 1% Hp lost by Shura, the damage increases by 1%. If used after Fallen Empire, the damage is doubled. After usage, the enemy suffers Finger Offensive damage once per second for 3 seconds.
• Unleash an instant heavy rain-like attack on a single enemy, dealing physical damage equal to 710% of Atk. Consumes 5 Spirit Spheres and 20% of maximum MP. For every 1% Hp lost by Shura, the damage increases by 1%. If used after Fallen Empire, the damage is doubled. After usage, the enemy suffers Finger Offensive damage once per second for 3 seconds.
• Unleash an instant heavy rain-like attack on a single enemy, dealing physical damage equal to 620% of Atk. Consumes 5 Spirit Spheres and 20% of maximum MP. For every 1% Hp lost by Shura, the damage increases by 1%. If used after Fallen Empire, the damage is doubled. After usage, the enemy suffers Finger Offensive damage once per second for 3 seconds.
Formula
1function CommonFun.calcDamage_12403(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 Refine = srcUser:GetProperty("Refine")
20 local Def2 = targetUser:GetProperty("Def")
21 local DefPer2 = targetUser:GetProperty("DefPer")
22 local Vit2 = targetUser:GetProperty("Vit")
23 local VitPer2 = targetUser:GetProperty("VitPer")
24 local DamReduc2 = CommonFun.calcDamReDuc(srcUser, targetUser)
25 local RefineDamReduc = CommonFun.calcRefineDamReduc(srcUser, targetUser)
26 local damChangePer = damageParam.damChangePer
27 local raceparam = CommonFun.CalcRaceParam(srcUser, targetUser, params, damageParam, logger)
28 local bodyparam = CommonFun.CalcBodyParam(srcUser, targetUser, params, damageParam, logger)
29 local elementparam = CommonFun.CalcElementParam(srcUser, targetUser, params, damageParam, logger)
30 local bossparam = CommonFun.CalcBossParam(srcUser, targetUser, params, damageParam, logger)
31 local raceparam2 = CommonFun.CalcRaceParam2(srcUser, targetUser, params, damageParam, logger)
32 local bodyparam2 = CommonFun.CalcBodyParam2(srcUser, targetUser, params, damageParam, logger)
33 local elementparam2 = CommonFun.CalcElementParam2(srcUser, targetUser, params, damageParam, logger)
34 local bossparam2 = CommonFun.CalcBossParam2(srcUser, targetUser, params, damageParam, logger)
35 local BaseAtk = Str * 2 + math.floor(Str * Str / 100) + math.floor(Dex / 5) + math.floor(Luk / 5)
36 local AtkFinal = ((Atk - BaseAtk) * (1 + AtkPer) * CommonFun.ShapeCorrection(srcUser, targetUser) * bodyparam * elementparam * elementparam2 + BaseAtk) * raceparam * bossparam * bossparam2
37 local Numxp = srcUser:GetRunePoint(124030_AESIR_HELL_GATE_GAINS_0_3_EXTRA_DAMAGE_FOR_EVERY_1_HP_LOST)
38 local MaxHp = srcUser:GetProperty("MaxHp")
39 local Hp = srcUser:GetProperty("Hp")
40 local HpPerRatio = 1 + (1 - Hp / MaxHp) * (1 + 0.3 * Numxp)
41 local DefReduc = CommonFun.CalcDef(srcUser, targetUser)
42 local LongRangeDamReduc2 = targetUser:GetProperty("LongRangeDamReduc")
43 local jianding = 0
44 if srcUser:HasBuffID(90000939_STAUNCH_CLOTHES_TIER_10_:MAX_STACK_0) then
45 jianding = 0.5
46 end
47 local equipRing = srcUser:getEquip(CommonFun.PackType.EPACKTYPE_EQUIP, CommonFun.EquipPos.EEQUIPPOS_ARMOUR)
48 if equipRing.id == 42089 or equipRing.id == 142089 then
49 jianding = 0.5 + equipRing.refinelv * 0.2
50 end
51 local equipRingSD = srcUser:getEquip(CommonFun.PackType.EPACKTYPE_SHADOWEQUIP, CommonFun.EquipPos.EEQUIPPOS_ARMOUR)
52 if equipRingSD.id == 42089 or equipRingSD.id == 142089 then
53 jianding = (0.5 + equipRingSD.refinelv * 0.2) * equipRingSD.quench_per / 100
54 end
55 local Ring7 = srcUser:GetEquipedID(7_WEAPON)
56 if Ring7 == 62515 or Ring7 == 162515 then
57 jianding = jianding + 1
58 end
59 if Ring7 == 62541 or Ring7 == 162541 then
60 jianding = jianding + 1
61 end
62 local RefineLv7 = srcUser:GetEquipedRefineLv(7_WEAPON)
63 local bawang = 1
64 if (Ring7 == 62515 or Ring7 == 162515) and 0 < RefineLv7 then
65 bawang = (RefineLv7 - 0) * 0.01 + 1
66 end
67 if (Ring7 == 62541 or Ring7 == 162541) and 0 < RefineLv7 then
68 bawang = (RefineLv7 - 0) * 0.01 + 1
69 end
70 if (Ring7 == 62541 or Ring7 == 162541 or Ring7 == 62515 or Ring7 == 162515) and (srcUser:HasBuffID(90000939_STAUNCH_CLOTHES_TIER_10_:MAX_STACK_0) or srcUser:HasBuffID(42450_THE_CHOSEN_S_GOWN_:MAX_STACK_0) or srcUser:HasBuffLayer(42450, EBUFFERLAYER_SHADOW)) and (srcUser:HasBuffID(90001943_STAUNCH_RING_TIER_4_:MAX_STACK_0) or srcUser:HasBuffID(42970_RING_OF_LOYALTY_:MAX_STACK_0) or srcUser:HasBuffLayer(42970, EBUFFERLAYER_SHADOW)) then
71 bawang = bawang + 0.05
72 end
73 local dabawang = 0
74 if Ring7 == 62515 or Ring7 == 162515 then
75 if 5 <= RefineLv7 and RefineLv7 < 10 then
76 dabawang = 0.05
77 elseif 10 <= RefineLv7 and RefineLv7 < 15 then
78 dabawang = 0.1
79 elseif 15 <= RefineLv7 then
80 dabawang = 0.2
81 end
82 end
83 if Ring7 == 62541 or Ring7 == 162541 then
84 if 5 <= RefineLv7 and RefineLv7 < 10 then
85 dabawang = 0.05
86 elseif 10 <= RefineLv7 and RefineLv7 < 15 then
87 dabawang = 0.1
88 elseif 15 <= RefineLv7 then
89 dabawang = 0.2
90 end
91 end
92 local Ring1 = srcUser:GetEquipedID(5_ACCESSORY)
93 local RefineLv1 = srcUser:GetEquipedRefineLv(5_ACCESSORY)
94 local Ring2 = srcUser:GetEquipedID(6_ACCESSORY)
95 local RefineLv2 = srcUser:GetEquipedRefineLv(6_ACCESSORY)
96 local order1 = srcUser:getEquipLv(5)
97 local order2 = srcUser:getEquipLv(6)
98 local a = 0
99 local b = 0
100 if (Ring1 == 44003_STAUNCH_RING_STAUNCH_RING or Ring1 == 144003_STAUNCH_RING_1_STAUNCH_RING_1) and 10 <= RefineLv1 and RefineLv1 < 15 and srcUser:HasBuffID(90001943_STAUNCH_RING_TIER_4_:MAX_STACK_0) and 4 <= order1 then
101 a = 0.05
102 elseif (Ring1 == 44003_STAUNCH_RING_STAUNCH_RING or Ring1 == 144003_STAUNCH_RING_1_STAUNCH_RING_1) and 15 <= RefineLv1 and srcUser:HasBuffID(90001943_STAUNCH_RING_TIER_4_:MAX_STACK_0) and 4 <= order1 then
103 a = 0.15
104 end
105 if (Ring2 == 44003_STAUNCH_RING_STAUNCH_RING or Ring2 == 144003_STAUNCH_RING_1_STAUNCH_RING_1) and 10 <= RefineLv2 and RefineLv2 < 15 and srcUser:HasBuffID(90001943_STAUNCH_RING_TIER_4_:MAX_STACK_0) and 4 <= order2 then
106 b = 0.05
107 elseif (Ring2 == 44003_STAUNCH_RING_STAUNCH_RING or Ring2 == 144003_STAUNCH_RING_1_STAUNCH_RING_1) and 15 <= RefineLv2 and srcUser:HasBuffID(90001943_STAUNCH_RING_TIER_4_:MAX_STACK_0) and 4 <= order2 then
108 b = 0.15
109 end
110 local equipRing5 = srcUser:getEquip(CommonFun.PackType.EPACKTYPE_EQUIP, CommonFun.EquipPos.EEQUIPPOS_ACCESSORY1)
111 if equipRing5.id == 44047 or equipRing5.id == 144047 then
112 if equipRing5.refinelv >= 10 and equipRing5.refinelv < 15 then
113 a = 0.05
114 elseif equipRing5.refinelv >= 15 then
115 a = 0.15
116 end
117 end
118 local equipRingSD5 = srcUser:getEquip(CommonFun.PackType.EPACKTYPE_SHADOWEQUIP, CommonFun.EquipPos.EEQUIPPOS_ACCESSORY1)
119 if equipRingSD5.id == 44047 or equipRingSD5.id == 144047 then
120 if equipRingSD5.refinelv >= 10 and equipRingSD5.refinelv < 15 then
121 a = 0.05 * equipRingSD5.quench_per / 100
122 elseif equipRingSD5.refinelv >= 15 then
123 a = 0.15 * equipRingSD5.quench_per / 100
124 end
125 end
126 local equipRing6 = srcUser:getEquip(CommonFun.PackType.EPACKTYPE_EQUIP, CommonFun.EquipPos.EEQUIPPOS_ACCESSORY2)
127 if equipRing6.id == 44047 or equipRing6.id == 144047 then
128 if equipRing6.refinelv >= 10 and equipRing6.refinelv < 15 then
129 b = 0.05
130 elseif equipRing6.refinelv >= 15 then
131 b = 0.15
132 end
133 end
134 local equipRingSD6 = srcUser:getEquip(CommonFun.PackType.EPACKTYPE_SHADOWEQUIP, CommonFun.EquipPos.EEQUIPPOS_ACCESSORY2)
135 if equipRingSD6.id == 44047 or equipRingSD6.id == 144047 then
136 if equipRingSD6.refinelv >= 10 and equipRingSD6.refinelv < 15 then
137 b = 0.05 * equipRingSD6.quench_per / 100
138 elseif equipRingSD6.refinelv >= 15 then
139 b = 0.15 * equipRingSD6.quench_per / 100
140 end
141 end
142 local sizeCorrection = 1
143 if nil ~= CommonFun.Shape then
144 if CommonFun.Shape.S == targetUser.shape then
145 sizeCorrection = 1 + a + b
146 elseif CommonFun.Shape.M == targetUser.shape then
147 sizeCorrection = 1
148 elseif CommonFun.Shape.L == targetUser.shape then
149 sizeCorrection = 1 + a + b
150 end
151 end
152 local Num = srcUser:GetRunePoint(124040_AESIR_HELL_GATE_DAMAGE_6)
153 local RuneDamage = 1 + Num * 0.06
154 local GemValue = srcUser:GetGemValue(122051_HELL_GATE_DMG_PERCENTAGE)
155 local GemDam = 1 + GemValue / 100000
156 local A = ((AtkFinal * DefReduc * (1 - DamReduc2) + Refine) * (damChangePer + jianding) * (1 - RefineDamReduc) * (1 + DamIncrease - LongRangeDamReduc2) - Vit2 * (1 + VitPer2)) * HpPerRatio * sizeCorrection * bawang * RuneDamage * GemDam
157 if A <= 1 then
158 return 1
159 end
160 if srcUser:HasBuffID(117020_FALLEN_EMPIRE_:MAX_STACK_0) or srcUser:HasBuffID(117023_FALLEN_EMPIRE_SKY_SMASH_EFFECT_:MAX_STACK_0) and srcUser:HasBuffID(90004374_SKY_SMASH_1_TIER_5_:MAX_STACK_0) then
161 A = A * (2 + dabawang)
162 end
163 return A
164end