
Cross Ripper Slasher
Consumes all Rotation Counter gained from Rolling Cutter and throw weapon at an enemy in the distance, dealing 710% Atk damage. Each Rotation Counter increases final damage by 20%
Skill Levels
• Consumes all Rotation Counter gained from Rolling Cutter and throw weapon at an enemy in the distance, dealing 670% Atk damage. Each Rotation Counter increases final damage by 20%
• Consumes all Rotation Counter gained from Rolling Cutter and throw weapon at an enemy in the distance, dealing 630% Atk damage. Each Rotation Counter increases final damage by 20%
• Consumes all Rotation Counter gained from Rolling Cutter and throw weapon at an enemy in the distance, dealing 590% Atk damage. Each Rotation Counter increases final damage by 20%
• Consumes all Rotation Counter gained from Rolling Cutter and throw weapon at an enemy in the distance, dealing 550% Atk damage. Each Rotation Counter increases final damage by 20%
• Consumes all Rotation Counter gained from Rolling Cutter and throw weapon at an enemy in the distance, dealing 510% Atk damage. Each Rotation Counter increases final damage by 20%
• Consumes all Rotation Counter gained from Rolling Cutter and throw weapon at an enemy in the distance, dealing 470% Atk damage. Each Rotation Counter increases final damage by 20%
• Consumes all Rotation Counter gained from Rolling Cutter and throw weapon at an enemy in the distance, dealing 430% Atk damage. Each Rotation Counter increases final damage by 20%
• Consumes all Rotation Counter gained from Rolling Cutter and throw weapon at an enemy in the distance, dealing 390% Atk damage. Each Rotation Counter increases final damage by 20%
• Consumes all Rotation Counter gained from Rolling Cutter and throw weapon at an enemy in the distance, dealing 350% Atk damage. Each Rotation Counter increases final damage by 20%
Formula
1function CommonFun.calcDamage_3402(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 WeaponType = srcUser:GetEquipedWeaponType()
20 local skilllv_1 = srcUser:GetLernedSkillLevel(damageParam.skill1_id)
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 AttrEffect2 = srcUser:GetProperty("AttrEffect")
29 local bits2 = CommonFun.getBits(AttrEffect2)
30 local damChangePer = damageParam.damChangePer
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 BaseAtk = Str * 2 + math.floor(Str * Str / 100) + math.floor(Dex / 5) + math.floor(Luk / 5)
40 local AtkFinal = ((Atk - BaseAtk) * (1 + AtkPer) * CommonFun.ShapeCorrection(srcUser, targetUser) * bodyparam * elementparam * elementparam2 + BaseAtk) * raceparam * bossparam * bossparam2
41 local DefReduc = CommonFun.CalcDef(srcUser, targetUser)
42 local LongRangeDamReduc2 = targetUser:GetProperty("LongRangeDamReduc")
43 local Num1 = srcUser:GetBuffLayer(116080_ROLLING_CUTTER_:MAX_STACK_0)
44 local Numxp = srcUser:GetRunePoint(34020_AESIR_EACH_ROTATION_COUNTER_INCREASES_CROSS_RIPPER_SLASHER_S_FINAL_DAMAGE_BY_3)
45 local Point = 1 + Num1 * (0.2 + Numxp * 0.03)
46 local RefineLv7 = srcUser:GetEquipedRefineLv(7_WEAPON)
47 local luoqi = 1
48 if srcUser:HasBuffID(90001038_LOKI_S_NAIL_1_TIER_9_:MAX_STACK_0) then
49 if 5 <= RefineLv7 and RefineLv7 < 10 then
50 luoqi = 1.05
51 elseif 10 <= RefineLv7 and RefineLv7 < 15 then
52 luoqi = 1.1
53 elseif 15 <= RefineLv7 then
54 luoqi = 1.2
55 end
56 end
57 if srcUser:HasBuffID(41860_DEATH_GASH_:MAX_STACK_0) then
58 if 5 <= RefineLv7 and RefineLv7 < 10 then
59 luoqi = 1.05
60 elseif 10 <= RefineLv7 and RefineLv7 < 15 then
61 luoqi = 1.1
62 elseif 15 <= RefineLv7 then
63 luoqi = 1.2
64 end
65 end
66 local RefineLv3 = srcUser:GetEquipedRefineLv(3)
67 if srcUser:HasBuffID(90001963_WINDRUNNER_CAPE_TIER_4_:MAX_STACK_0) and 5 < RefineLv3 then
68 luoqi = luoqi + (RefineLv3 - 5) * 0.01
69 end
70 if srcUser:HasBuffID(90001038_LOKI_S_NAIL_1_TIER_9_:MAX_STACK_0) and srcUser:HasBuffID(40420_WINDRUNNER_CAPE_:MAX_STACK_0) then
71 luoqi = luoqi + 0.05
72 end
73 if srcUser:HasBuffID(41860_DEATH_GASH_:MAX_STACK_0) and srcUser:HasBuffID(40420_WINDRUNNER_CAPE_:MAX_STACK_0) then
74 luoqi = luoqi + 0.05
75 end
76 if srcUser:HasBuffID(90004324_DEATH_GASH_1_TIER_5_:MAX_STACK_0) then
77 luoqi = luoqi + 0.15
78 end
79 local GemValue = srcUser:GetGemValue(31131_CROSS_RIPPER_SLASHER_DAMAGE_PERCENTAGE)
80 local GemDam = 1 + GemValue / 100000
81 if srcUser:HasBuffID(20310130_CROSS_RIPPER_SLASHER_IGNORES_DEF_:MAX_STACK_0) then
82 DefReduc = 1
83 end
84 local A = ((AtkFinal * DefReduc * (1 - DamReduc2) + Refine) * damChangePer * (1 - RefineDamReduc) * (1 + DamIncrease - LongRangeDamReduc2) - Vit2 * (1 + VitPer2)) * Point * luoqi * GemDam
85 local AttrEffect2 = srcUser:GetProperty("AttrEffect")
86 local bits = CommonFun.getBits(AttrEffect2)
87 if bits[CommonFun.AttrEffect.Hualiduanjian] == 1 then
88 return A * 1.5
89 end
90 return A
91end