
Claymore Trap
Places a trap in the specified area. When triggered, it deals (DEX* (3 +BaseLv/100) * (1 +Int/35) *540%) Fire M.DMG based on DEF to all enemies in range. Can have up to 4 traps of this kind at a time
Aesir Effects
Skill Levels
• Places a trap in the specified area. When triggered, it deals (DEX* (3 +BaseLv/100) * (1 +Int/35) *490%) Fire M.DMG based on DEF to all enemies in range. Can have up to 4 traps of this kind at a time
• Places a trap in the specified area. When triggered, it deals (DEX* (3 +BaseLv/100) * (1 +Int/35) *440%) Fire M.DMG based on DEF to all enemies in range. Can have up to 4 traps of this kind at a time
• Places a trap in the specified area. When triggered, it deals (DEX* (3 +BaseLv/100) * (1 +Int/35) *390%) Fire M.DMG based on DEF to all enemies in range. Can have up to 4 traps of this kind at a time
• Places a trap in the specified area. When triggered, it deals (DEX* (3 +BaseLv/100) * (1 +Int/35) *340%) Fire M.DMG based on DEF to all enemies in range. Can have up to 4 traps of this kind at a time
• Places a trap in the specified area. When triggered, it deals (DEX* (3 +BaseLv/100) * (1 +Int/35) *290%) Fire M.DMG based on DEF to all enemies in range. Can have up to 4 traps of this kind at a time
• Places a trap in the specified area. When triggered, it deals (DEX* (3 +BaseLv/100) * (1 +Int/35) *240%) Fire M.DMG based on DEF to all enemies in range. Can have up to 4 traps of this kind at a time
• Places a trap in the specified area. When triggered, it deals (DEX* (3 +BaseLv/100) * (1 +Int/35) *190%) Fire M.DMG based on DEF to all enemies in range. Can have up to 4 traps of this kind at a time
• Places a trap in the specified area. When triggered, it deals (DEX* (3 +BaseLv/100) * (1 +Int/35) *140%) Fire M.DMG based on DEF to all enemies in range. Can have up to 4 traps of this kind at a time
• Places a trap in the specified area. When triggered, it deals (DEX* (3 +BaseLv/100) * (1 +Int/35) *90%) Fire M.DMG based on DEF to all enemies in range. Can have up to 4 traps of this kind at a time
Formula
1function CommonFun.calcDamage_23(srcUser, targetUser, params, damageParam, logger)
2 local BaseLv = srcUser.BaseLv
3 local Dex = srcUser:GetProperty("Dex")
4 local Int = srcUser:GetProperty("Int")
5 local MDamIncrease = CommonFun.calcMDamIncrease(srcUser, targetUser)
6 local RefineMDamReduc = CommonFun.calcRefineMDamReduc(srcUser, targetUser)
7 local IgnoreDef = 0
8 local IgnoreDef1 = srcUser:GetProperty("IgnoreDef")
9 local IgnoreDef2 = srcUser:GetProperty("IgnoreEquipDef")
10 if targetUser.boss or targetUser.mini then
11 IgnoreDef = IgnoreDef1
12 else
13 IgnoreDef = IgnoreDef1 + IgnoreDef2
14 end
15 if 1 <= IgnoreDef then
16 IgnoreDef = 1
17 end
18 local Def2 = targetUser:GetProperty("Def")
19 local DefPer2 = targetUser:GetProperty("DefPer")
20 local Vit2 = targetUser:GetProperty("Vit")
21 local VitPer2 = targetUser:GetProperty("VitPer")
22 local srcAtkElement = CommonFun.GetUserAtkAttr(srcUser, targetUser, params, damageParam)
23 local targetDefElement = targetUser:GetProperty("DefAttr")
24 local raceparam = CommonFun.CalcRaceParam(srcUser, targetUser, params, damageParam, logger)
25 local elementparam2 = CommonFun.CalcElementParam2(srcUser, targetUser, params, damageParam, logger)
26 local bossparam = CommonFun.CalcBossParam(srcUser, targetUser, params, damageParam, logger)
27 local skilllv_1 = srcUser:GetLernedSkillLevel(damageParam.skill1_id)
28 local skilllv_2 = srcUser:GetLernedSkillLevel(damageParam.skill2_id)
29 local AttrEffect = srcUser:GetProperty("AttrEffect")
30 local bits = CommonFun.getBits(AttrEffect)
31 local MDamReduc2 = CommonFun.calcMDamReDuc(srcUser, targetUser)
32 local damChangePer = damageParam.damChangePer
33 local DefReduc = CommonFun.CalcDef(srcUser, targetUser)
34 local skillID, skillLevel = CommonFun.UnmergeSkillID(params.skillIDAndLevel)
35 local BaseLvDamage = 0
36 if skillID == 202_KNIGHT:CLAYMORE_TRAP then
37 local IBaseLv = srcUser.BaseLv
38 if srcUser:HasBuffID(42130_FREE_ARCHER_:MAX_STACK_0) then
39 BaseLvDamage = IBaseLv * 15
40 end
41 end
42 local StateEffect = targetUser:GetProperty("StateEffect")
43 local bits2 = CommonFun.getBits(StateEffect)
44 local Num6 = srcUser:GetRunePoint(42070_AESIR_CLAYMORE_TRAP_AND_FROST_TRAP_DEALS_5_MORE_DAMAGE_TO_SLEEP_TARGETS)
45 local RuneDamage2 = 1
46 if bits2[CommonFun.StateEffect.Sleep] == 1 then
47 RuneDamage2 = 1 + Num6 * 0.05
48 end
49 local suit = 1
50 if (srcUser:HasBuffID(90000773_STARDUST_ROBE_TIER_4_:MAX_STACK_0) or srcUser:HasBuffID(42480_BLANKING_COAT_:MAX_STACK_0) or srcUser:HasBuffLayer(42480, EBUFFERLAYER_SHADOW)) and (srcUser:HasBuffID(90001005_LUNA_BROOCH_TIER_6_:MAX_STACK_0) or srcUser:HasBuffID(43000_BRIGHT_MOON_:MAX_STACK_0) or srcUser:HasBuffLayer(43000, EBUFFERLAYER_SHADOW)) then
51 suit = 1.1
52 end
53 local RefineLv2 = srcUser:GetEquipedRefineLv(2)
54 if srcUser:HasBuffID(90000777_STARDUST_ROBE_TIER_8_:MAX_STACK_0) then
55 if 10 <= RefineLv2 and RefineLv2 < 15 then
56 suit = suit + (RefineLv2 - 10) * 0.02
57 elseif 15 <= RefineLv2 then
58 suit = suit + (RefineLv2 - 10) * 0.02 + 0.05
59 end
60 end
61 local equipRing = srcUser:getEquip(CommonFun.PackType.EPACKTYPE_EQUIP, CommonFun.EquipPos.EEQUIPPOS_ARMOUR)
62 if equipRing.id == 42092 or equipRing.id == 142092 then
63 suit = suit + equipRing.refinelv * 0.02
64 end
65 local equipRingSD = srcUser:getEquip(CommonFun.PackType.EPACKTYPE_SHADOWEQUIP, CommonFun.EquipPos.EEQUIPPOS_ARMOUR)
66 if equipRingSD.id == 42092 or equipRingSD.id == 142092 then
67 suit = suit + equipRingSD.refinelv * 0.02 * equipRingSD.quench_per / 100
68 end
69 local RefineLv7 = srcUser:GetEquipedRefineLv(7_WEAPON)
70 if srcUser:HasBuffID(90000999_LUNA_BOW_1_TIER_10_:MAX_STACK_0) then
71 if 10 <= RefineLv7 and RefineLv7 < 15 then
72 suit = suit + 0.08
73 elseif 15 <= RefineLv7 then
74 suit = suit + 0.08 + 0.12
75 end
76 end
77 if srcUser:HasBuffID(41812_MOONLIGHT_GODDESS_:MAX_STACK_0) then
78 if 5 <= RefineLv7 and RefineLv7 < 10 then
79 suit = suit + 0.05
80 elseif 10 <= RefineLv7 and RefineLv7 < 15 then
81 suit = suit + 0.05 + 0.1
82 elseif 15 <= RefineLv7 then
83 suit = suit + 0.05 + 0.1 + 0.15
84 end
85 end
86 if srcUser:HasBuffID(90004274_MOONLIGHT_GODDESS_1_TIER_5_:MAX_STACK_0) then
87 suit = suit + 0.1
88 end
89 local RefineLv5 = srcUser:GetEquipedRefineLv(5_ACCESSORY)
90 local RefineLv6 = srcUser:GetEquipedRefineLv(6_ACCESSORY)
91 local Ring1 = srcUser:GetEquipedID(5_ACCESSORY)
92 local Ring2 = srcUser:GetEquipedID(6_ACCESSORY)
93 local order1 = srcUser:getEquipLv(5)
94 local order2 = srcUser:getEquipLv(6)
95 local a = 0
96 local b = 0
97 if srcUser:HasBuffID(90001009_LUNA_BROOCH_TIER_10_:MAX_STACK_0) and (Ring1 == 44006_LUNA_BROOCH or Ring1 == 144006_LUNA_BROOCH_1) and 10 <= order1 then
98 a = RefineLv5 * 0.01
99 end
100 if srcUser:HasBuffID(90001009_LUNA_BROOCH_TIER_10_:MAX_STACK_0) and (Ring2 == 44006_LUNA_BROOCH or Ring2 == 144006_LUNA_BROOCH_1) and 10 <= order2 then
101 b = RefineLv6 * 0.01
102 end
103 local equipRing5 = srcUser:getEquip(CommonFun.PackType.EPACKTYPE_EQUIP, CommonFun.EquipPos.EEQUIPPOS_ACCESSORY1)
104 if equipRing5.id == 44050 or equipRing5.id == 144050 then
105 a = equipRing5.refinelv * 0.02
106 end
107 local equipRingSD5 = srcUser:getEquip(CommonFun.PackType.EPACKTYPE_SHADOWEQUIP, CommonFun.EquipPos.EEQUIPPOS_ACCESSORY1)
108 if equipRingSD5.id == 44050 or equipRingSD5.id == 144050 then
109 a = equipRingSD5.refinelv * 0.02 * equipRingSD5.quench_per / 100
110 end
111 local equipRing6 = srcUser:getEquip(CommonFun.PackType.EPACKTYPE_EQUIP, CommonFun.EquipPos.EEQUIPPOS_ACCESSORY2)
112 if equipRing6.id == 44050 or equipRing6.id == 144050 then
113 b = equipRing6.refinelv * 0.02
114 end
115 local equipRingSD6 = srcUser:getEquip(CommonFun.PackType.EPACKTYPE_SHADOWEQUIP, CommonFun.EquipPos.EEQUIPPOS_ACCESSORY2)
116 if equipRingSD6.id == 44050 or equipRingSD6.id == 144050 then
117 b = equipRingSD6.refinelv * 0.02 * equipRingSD6.quench_per / 100
118 end
119 suit = suit + a + b
120 local Angel = 1
121 if srcUser:HasBuffID(90001014_RUDRA_BOW_1_TIER_5_:MAX_STACK_0) then
122 local RefineLv = srcUser:GetEquipedRefineLv(7_WEAPON)
123 suit = suit + 0.02 * RefineLv
124 end
125 local Num7 = srcUser:GetRunePoint(42060_AESIR_FOR_EACH_LEVEL_OF_TRAP_RESEARCH_TRAP_DAMAGE_3)
126 local RuneDamage3 = 1 + Num7 * 0.03 * skilllv_1
127 local skilllv_trap = srcUser:GetLernedSkillLevel(1248_ASSASSIN:INSTRUMENT_EXPERT)
128 local GemValue = srcUser:GetGemValue(41011_INSTRUMENT_EXPERT_DMG_INCREASING_EFFECT_PERCENTAGE)
129 local trap = 1 + skilllv_trap * 0.02 + GemValue / 100000
130 local GemValueyj = srcUser:GetGemValue(41101_TRAP_RESEARCH_TRAP_DMG_PERCENTAGE)
131 local Leiqu = 1
132 if srcUser:GetFromSkill() == 815001 then
133 local GemValuelq = srcUser:GetGemValue(41122_MINEFIELD_TRAP_DAMAGE_PERCENTAGE)
134 Leiqu = 1 + GemValuelq / 100000
135 end
136 local RangeDam = srcUser:GetProperty("RangeDam")
137 local A = (Dex * (3 + BaseLv / 100) * (1 + Int / 35) * damChangePer + (skilllv_1 * 20 + GemValueyj / 1000) * RuneDamage3) * DefReduc * (1 + MDamIncrease) * (1 - MDamReduc2) * (1 - RefineMDamReduc) * CommonFun.calcMagicElement(srcUser, targetUser, params, damageParam) * elementparam2 * raceparam * bossparam * RuneDamage2 * suit * trap * Leiqu * (1 + RangeDam) + BaseLvDamage
138 if A <= 1 then
139 return 1
140 end
141 local Num1 = srcUser:GetRunePoint(42031_AESIR_WHEN_DETONATOR_IS_TRAPPED_TRAPS_DEAL_10_DAMAGE)
142 local Num2 = srcUser:GetRunePoint(42032_AESIR_WHEN_DETONATOR_IS_TRAPPED_TRAPS_DEAL_5_DAMAGE)
143 local Num3 = srcUser:GetRunePoint(42033)
144 local Num4 = srcUser:GetRunePoint(42034)
145 local Num5 = srcUser:GetRunePoint(42035)
146 local RuneDamage = Num1 * 0.1 + Num2 * 0.05 + Num3 * 0.05 + Num4 * 0.1 + Num5 * 0.05 + 1
147 if bits[CommonFun.AttrEffect.TriggerTrapMark] == 1 then
148 return A * (1 + skilllv_2 * 0.1) * RuneDamage
149 end
150 return A
151end