
Hundred Spears
Stabs the target in quick succession, dealing (Atk1260%) Dmg to an enemy. Has a 30% chance to trigger [Spiral Pierce] Lv.20
Aesir Effects
Skill Levels
• Stabs the target in quick succession, dealing (Atk1200%) Dmg to an enemy. Has a 28% chance to trigger [Spiral Pierce] Lv.20
• Stabs the target in quick succession, dealing (Atk1140%) Dmg to an enemy. Has a 26% chance to trigger [Spiral Pierce] Lv.20
• Stabs the target in quick succession, dealing (Atk1080%) Dmg to an enemy. Has a 24% chance to trigger [Spiral Pierce] Lv.20
• Stabs the target in quick succession, dealing (Atk1020%) Dmg to an enemy. Has a 22% chance to trigger [Spiral Pierce] Lv.20
• Stabs the target in quick succession, dealing (Atk960%) Dmg to an enemy. Has a 20% chance to trigger [Spiral Pierce] Lv.20
• Stabs the target in quick succession, dealing (Atk900%) Dmg to an enemy. Has a 18% chance to trigger [Spiral Pierce] Lv.20
• Stabs the target in quick succession, dealing (Atk840%) Dmg to an enemy. Has a 16% chance to trigger [Spiral Pierce] Lv.20
• Stabs the target in quick succession, dealing (Atk780%) Dmg to an enemy. Has a 14% chance to trigger [Spiral Pierce] Lv.20
• Stabs the target in quick succession, dealing (Atk720%) Dmg to an enemy. Has a 12% chance to trigger [Spiral Pierce] Lv.20
Formula
1function CommonFun.calcDamage_1402(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 skillID, skillLevel = CommonFun.UnmergeSkillID(params.skillIDAndLevel)
36 local skilllv_fumo = srcUser:GetLernedSkillLevel(3021_BLACKSMITH:SOUL_STABBING_SPEAR_SOUL_BREAKING)
37 local MAtk = srcUser:GetProperty("MAtk")
38 local MAtkPer = srcUser:GetProperty("MAtkPer")
39 local MAtk_pohun = 0
40 if skillID == 3006_BLACKSMITH:SOUL_STABBING_SPEAR_BLACKSMITH:SOUL_STABBING_SPEAR_BLACKSMITH:SOUL_STABBING_SPEAR and 1 <= skilllv_fumo then
41 MAtk_pohun = MAtk * (1 + MAtkPer) * (skilllv_fumo * 0.08)
42 end
43 local BaseAtk = Str * 2 + math.floor(Str * Str / 100) + math.floor(Dex / 5) + math.floor(Luk / 5)
44 local AtkFinal = ((Atk - BaseAtk) * (1 + AtkPer) * CommonFun.ShapeCorrection(srcUser, targetUser) * bodyparam * elementparam * elementparam2 + BaseAtk + MAtk_pohun) * raceparam * bossparam * bossparam2
45 local DefReduc = CommonFun.CalcDef(srcUser, targetUser)
46 local ShortRangeDamReduc2 = targetUser:GetProperty("ShortRangeDamReduc")
47 local Sign = 1
48 local Num1 = targetUser:GetBuffLayer(117660_DEEP_CUT_:MAX_STACK_5)
49 local fromid = targetUser:GetBuffFromID(117660_DEEP_CUT_:MAX_STACK_5)
50 local guid = srcUser:GetGuid()
51 local skilllv_1 = srcUser:GetLernedSkillLevel(1267_ASSASSIN:DEEP_CUT)
52 skilllv_1 = math.min(skilllv_1, 5)
53 local GemValue = srcUser:GetGemValue(11131_DAMAGE_CAUSED_BY_EACH_DEEP_CUT_STACK_PERCENTAGE)
54 local GemValue1 = srcUser:GetGemValue(11181_SOUL_STABBING_SPEAR_DMG_PERCENTAGE)
55 local Fifth = 0
56 if srcUser:HasBuffID(90002003_STORM_PIKE_TIER_4_:MAX_STACK_0) then
57 Fifth = 0.01
58 end
59 if fromid == guid then
60 Sign = 1 + (skilllv_1 * 0.01 + 0.02 + GemValue / 100000 + Fifth) * Num1
61 if skillID == 3006_BLACKSMITH:SOUL_STABBING_SPEAR_BLACKSMITH:SOUL_STABBING_SPEAR_BLACKSMITH:SOUL_STABBING_SPEAR and srcUser:HasBuffID(22001730_SOUL_STABBING_SPEAR_S_DEEP_CUT_EFFECT_DOUBLES_:MAX_STACK_0) then
62 Sign = 1 + (skilllv_1 * 0.01 + 0.02 + GemValue / 100000 + Fifth) * Num1 * 2
63 end
64 end
65 local skilllv_ha = srcUser:GetLernedSkillLevel(3005_BLACKSMITH:DARK_KNIGHT)
66 local StateEffect = targetUser:GetProperty("StateEffect")
67 local bits2 = CommonFun.getBits(StateEffect)
68 local Heian = 1
69 if bits2[CommonFun.StateEffect.Dark] == 1 then
70 Heian = 1 + skilllv_ha * 0.04
71 end
72 local A = ((AtkFinal * DefReduc * (1 - DamReduc2) + Refine) * damChangePer * (1 - RefineDamReduc) * (1 + DamIncrease - ShortRangeDamReduc2) - Vit2 * (1 + VitPer2)) * Sign * Heian
73 if skillID == 1266_ASSASSIN:HUNDRED_SPEARS then
74 local Num = srcUser:GetRunePoint(14040_AESIR_HUNDRED_SPEARS_DAMAGE_6)
75 local RuneDamage = 1 + Num * 0.06
76 local calcfbzq = 1
77 local RefineLv = srcUser:GetEquipedRefineLv(7_WEAPON)
78 if 10 <= RefineLv and srcUser:HasBuffID(90002003_STORM_PIKE_TIER_4_:MAX_STACK_0) then
79 calcfbzq = calcfbzq + 0.15
80 end
81 local GemValue = srcUser:GetGemValue(11071_HUNDRED_SPEARS_DMG_PERCENTAGE)
82 local GemDam = 1 + GemValue / 100000
83 A = A * RuneDamage * calcfbzq * GemDam
84 end
85 if skillID == 3006_BLACKSMITH:SOUL_STABBING_SPEAR_BLACKSMITH:SOUL_STABBING_SPEAR_BLACKSMITH:SOUL_STABBING_SPEAR then
86 local targetRace = targetUser.race
87 if targetUser:HasBuffID(139410_TWO_FACE_DEMON_KING_HUMAN_:MAX_STACK_0) then
88 targetRace = 3
89 end
90 if srcUser:HasBuffID(49320_RACIAL_ANCIENT_RELICS_PERMANENT_:MAX_STACK_0) and srcUser:HasBuffID(49325_RACIAL_ANCIENT_RELICS_CD_:MAX_STACK_0) then
91 elseif srcUser:HasBuffID(49320_RACIAL_ANCIENT_RELICS_PERMANENT_:MAX_STACK_0) then
92 targetRace = 2
93 end
94 local skilllv_ch = srcUser:GetLernedSkillLevel(3021_BLACKSMITH:SOUL_STABBING_SPEAR_SOUL_BREAKING)
95 local ch = 1
96 if targetRace == 2 then
97 ch = 1.2 + skilllv_ch * 0.05
98 end
99 local sizeCorrection = 1
100 if nil ~= CommonFun.Shape and CommonFun.Shape.L == targetUser.shape and srcUser:HasBuffID(90004184_SOUL_SLAYER_SPEAR_1_TIER_5_:MAX_STACK_0) then
101 sizeCorrection = 1.5
102 end
103 A = A * ch * sizeCorrection * (1 + GemValue1 / 100000)
104 end
105 if A <= 1 then
106 return 1
107 end
108 return A
109end