
AoE Middle Aura
Lv 1BuffMagic
Deals (Atk100%) Dmg to the target
Formula
1function CommonFun.calcBuff_4630(srcUser, targetUser, a, b, c, d, lv)
2 local Vit = srcUser:GetProperty("Vit")
3 local MAtk = srcUser:GetProperty("MAtk")
4 local MAtkPer = srcUser:GetProperty("MAtkPer")
5 local MaxHp = targetUser:GetProperty("MaxHp")
6 local MDamIncrease = CommonFun.calcMDamIncrease(srcUser, targetUser)
7 local IgnoreMDef = srcUser:GetProperty("IgnoreMDef")
8 if 1 <= IgnoreMDef then
9 IgnoreMDef = 1
10 end
11 local MRefine = srcUser:GetProperty("MRefine")
12 local MDef2 = targetUser:GetProperty("MDef")
13 local MDefPer2 = targetUser:GetProperty("MDefPer")
14 local Vit2 = targetUser:GetProperty("Vit")
15 local VitPer2 = targetUser:GetProperty("VitPer")
16 local Int2 = targetUser:GetProperty("Int")
17 local IntPer2 = targetUser:GetProperty("IntPer")
18 local MDamReduc2 = CommonFun.calcMDamReDuc(srcUser, targetUser)
19 local RefineMDamReduc = CommonFun.calcRefineMDamReduc(srcUser, targetUser)
20 local raceparam = 1
21 local srcRace = srcUser.race
22 local targetRace = targetUser.race
23 if targetUser:HasBuffID(139410_TWO_FACE_DEMON_KING_HUMAN_:MAX_STACK_0) then
24 targetRace = 3
25 end
26 if srcUser:HasBuffID(139411_TWO_FACE_DEMON_KING_DEMON_:MAX_STACK_0) then
27 srcRace = 3
28 end
29 if srcUser:HasBuffID(49320_RACIAL_ANCIENT_RELICS_PERMANENT_:MAX_STACK_0) and srcUser:HasBuffID(49325_RACIAL_ANCIENT_RELICS_CD_:MAX_STACK_0) then
30 elseif srcUser:HasBuffID(49320_RACIAL_ANCIENT_RELICS_PERMANENT_:MAX_STACK_0) then
31 targetRace = 2
32 end
33 if targetUser:HasBuffID(49320_RACIAL_ANCIENT_RELICS_PERMANENT_:MAX_STACK_0) and targetUser:HasBuffID(49325_RACIAL_ANCIENT_RELICS_CD_:MAX_STACK_0) then
34 elseif targetUser:HasBuffID(49320_RACIAL_ANCIENT_RELICS_PERMANENT_:MAX_STACK_0) then
35 srcRace = 2
36 end
37 if nil == CommonFun.RaceProps[targetRace] then
38 return 0
39 end
40 if nil == CommonFun.RaceProps[srcRace] then
41 return 0
42 end
43 local raceInc = srcUser:GetProperty(CommonFun.RaceProps[targetRace][1])
44 local raceRed = targetUser:GetProperty(CommonFun.RaceProps[srcRace][2])
45 local raceRedThrough = srcUser:GetProperty(CommonFun.RaceProps[srcRace][3])
46 local raceIncResistance = targetUser:GetProperty(CommonFun.RaceProps[targetRace][4])
47 if nil == raceRedThrough then
48 raceRedThrough = 0
49 end
50 if nil == raceIncResistance then
51 raceIncResistance = 0
52 end
53 if 0 <= raceInc then
54 raceInc = raceInc * math.max(1 - raceIncResistance, 0)
55 end
56 if 0 <= raceRed then
57 raceRed = raceRed * math.max(1 - raceRedThrough, 0)
58 end
59 local raceparam = 1 + raceInc - raceRed
60 if raceparam <= 0.1 then
61 raceparam = 0.1
62 end
63 local srcAtkElement = c
64 local targetDefElement = targetUser:GetProperty("DefAttr")
65 local ElementRate = CommonFun.GetElementRate(srcUser, srcAtkElement, targetUser, targetDefElement)
66 if nil == CommonFun.NatureProps[srcAtkElement] or nil == CommonFun.NatureProps[targetDefElement] or nil == targetDefElement then
67 return 0
68 end
69 local elementInc = srcUser:GetProperty(CommonFun.NatureProps[targetDefElement][1])
70 local elementRed = targetUser:GetProperty(CommonFun.NatureProps[srcAtkElement][2])
71 local elementAtk = srcUser:GetProperty(CommonFun.NatureProps[srcAtkElement][3])
72 local elementThrough = srcUser:GetProperty(CommonFun.NatureProps[srcAtkElement][4])
73 local elementResistance = targetUser:GetProperty(CommonFun.NatureProps[srcAtkElement][5])
74 if 0 <= elementRed then
75 elementRed = elementRed * math.max(1 - elementThrough, 0)
76 end
77 if 0 <= elementAtk then
78 elementAtk = elementAtk * math.max(1 - elementResistance, 0)
79 end
80 local elementparam = (1 + elementInc) * ElementRate
81 local elementparam2 = 1 + elementAtk - elementRed
82 if elementparam2 <= 0.1 then
83 elementparam2 = 0.1
84 end
85 local ele = elementparam * elementparam2
86 if targetDefElement == nil or ElementRate == nil or elementInc == nil or elementRed == nil or elementAtk == nil then
87 ele = 1
88 end
89 local MAtkFinal = b * CommonFun.ShapeCorrection(srcUser, targetUser) * ele * raceparam
90 local MDefReduc = CommonFun.CalcMDef(srcUser, targetUser)
91 local A = (MAtkFinal * MDefReduc * (1 - MDamReduc2) + MRefine) * (1 - RefineMDamReduc) * (1 + MDamIncrease) - Vit2 / 2 * (1 + VitPer2) - Int2 * (1 + IntPer2) + MaxHp * a
92 if targetUser:GetNpcID() == 280931_BOVINE_OF_EARTH then
93 A = MaxHp * 0.1
94 end
95 return -A
96endPreserved HTML snapshot from ROM Handbook
