
Double Healing
After release, the priest receives "Double Healing" for 10 seconds, the next healing spell will cure one more ally (in addition to the current allied target) with the lowest HP, the recovery value equals to 50% of this time
Aesir Effects
Skill Levels
• After release, the priest receives "Double Healing" for 10 seconds, the next healing spell will cure one more ally (in addition to the current allied target) with the lowest HP, the recovery value equals to 40% of this time
• After release, the priest receives "Double Healing" for 10 seconds, the next healing spell will cure one more ally (in addition to the current allied target) with the lowest HP, the recovery value equals to 30% of this time
• After release, the priest receives "Double Healing" for 10 seconds, the next healing spell will cure one more ally (in addition to the current allied target) with the lowest HP, the recovery value equals to 20% of this time
• After release, the priest receives "Double Healing" for 10 seconds, the next healing spell will cure one more ally (in addition to the current allied target) with the lowest HP, the recovery value equals to 10% of this time
Formula
1function CommonFun.calcDamage_5101(srcUser, targetUser, params, damageParam, logger)
2 local BaseLv = srcUser.BaseLv
3 local Int = srcUser:GetProperty("Int")
4 local HolyAtk = srcUser:GetProperty("HolyAtk")
5 local HealEncPer = srcUser:GetProperty("HealEncPer")
6 local enemy = srcUser:IsEnemy(targetUser)
7 local MDamIncrease = CommonFun.calcMDamIncrease(srcUser, targetUser)
8 local skilllv_1 = srcUser:GetLernedSkillLevel(50034_:FIRST_AID_II)
9 local skilllv_2 = srcUser:GetLernedSkillLevel(50035_:FIRST_AID_III)
10 local Num1 = srcUser:GetRunePoint(51001_AESIR_HEALING_DONE_BY_HEAL_2)
11 local Num2 = srcUser:GetRunePoint(51011)
12 local RuneDamage = Num1 * 0.02 + Num2 * 0.02 + 1
13 local c = 1
14 if srcUser:HasBuffID(51580_LADY_WHITE_SNAKE_CARD_:MAX_STACK_0) then
15 c = 1.1
16 end
17 local RefineLv = srcUser:GetEquipedRefineLv(1)
18 local Angel = 1
19 if srcUser:HasBuffID(40430_SACRED_MISSION_:MAX_STACK_0) then
20 Angel = 1 + RefineLv / 100
21 end
22 if srcUser:HasBuffID(90001813_SACRED_MISSION_TIER_4_:MAX_STACK_0) then
23 if 5 <= RefineLv and RefineLv < 10 then
24 Angel = Angel + 0.03
25 elseif 10 <= RefineLv then
26 Angel = Angel + 0.03 + 0.07
27 end
28 end
29 if srcUser:HasBuffID(90001816_SACRED_MISSION_TIER_7_:MAX_STACK_0) then
30 if 5 <= RefineLv and RefineLv < 10 then
31 Angel = Angel + 0.02
32 elseif 10 <= RefineLv then
33 Angel = Angel + 0.02 + 0.03
34 end
35 end
36 local equipRing = srcUser:getEquip(CommonFun.PackType.EPACKTYPE_EQUIP, CommonFun.EquipPos.EEQUIPPOS_SHIELD)
37 if equipRing.id == 42579 or equipRing.id == 142579 then
38 if 5 > equipRing.refinelv then
39 Angel = Angel + equipRing.refinelv / 100
40 elseif 5 <= equipRing.refinelv and 10 > equipRing.refinelv then
41 Angel = Angel + 0.05 + equipRing.refinelv / 100
42 elseif 10 <= equipRing.refinelv then
43 Angel = Angel + 0.05 + 0.1 + equipRing.refinelv / 100
44 end
45 end
46 local equipRingSD = srcUser:getEquip(CommonFun.PackType.EPACKTYPE_SHADOWEQUIP, CommonFun.EquipPos.EEQUIPPOS_SHIELD)
47 if equipRingSD.id == 42579 or equipRingSD.id == 142579 then
48 if 5 > equipRingSD.refinelv then
49 Angel = Angel + equipRingSD.refinelv / 100 * equipRingSD.quench_per / 100
50 elseif 5 <= equipRingSD.refinelv and 10 > equipRingSD.refinelv then
51 Angel = Angel + (0.05 + equipRingSD.refinelv / 100) * equipRingSD.quench_per / 100
52 elseif 10 <= equipRingSD.refinelv then
53 Angel = Angel + (0.15000000000000002 + equipRingSD.refinelv / 100) * equipRingSD.quench_per / 100
54 end
55 end
56 local srcAtkElement = CommonFun.GetUserAtkAttr(srcUser, targetUser, params, damageParam)
57 local targetDefElement = targetUser:GetProperty("DefAttr")
58 local BeHealEncPer2 = targetUser:GetProperty("BeHealEncPer")
59 local race2 = targetUser.race
60 if targetUser:HasBuffID(139410_TWO_FACE_DEMON_KING_HUMAN_:MAX_STACK_0) then
61 race2 = 3
62 end
63 if srcUser:HasBuffID(49320_RACIAL_ANCIENT_RELICS_PERMANENT_:MAX_STACK_0) and srcUser:HasBuffID(49325_RACIAL_ANCIENT_RELICS_CD_:MAX_STACK_0) then
64 elseif srcUser:HasBuffID(49320_RACIAL_ANCIENT_RELICS_PERMANENT_:MAX_STACK_0) then
65 race2 = 2
66 end
67 local DefAttr2 = targetUser:GetProperty("DefAttr")
68 local AttrEffect = targetUser:GetProperty("AttrEffect2")
69 local bits = CommonFun.getBits(AttrEffect)
70 local damChangePer = damageParam.damChangePer
71 local damChangePer1 = damageParam.damChangePer1
72 local elementparam2 = CommonFun.CalcElementParam2(srcUser, targetUser, params, damageParam, logger)
73 local A = ((math.floor((BaseLv + Int) / 10) * damChangePer + 100 + skilllv_1 * 50 + skilllv_2 * 50) * (1 + HealEncPer) * (1 + BeHealEncPer2) + damChangePer1) * -1 * (1 + HolyAtk) * RuneDamage * c * Angel
74 local mapid, maptype = srcUser:GetMapInfo()
75 local skillID, skillLevel = CommonFun.UnmergeSkillID(params.skillIDAndLevel)
76 if skillID == 11_NOVICE:FIRST_AID then
77 local BaseLv = srcUser.BaseLv
78 A = (100 + BaseLv * 5 + skilllv_1 * 200 + skilllv_2 * 200) * (1 + HealEncPer) * (1 + BeHealEncPer2) * -1 * (1 + HolyAtk)
79 end
80 if skillID == 1224_THIEF:COLUCEO_HEAL_THIEF:COLUCEO_HEAL then
81 local skilllv_3 = srcUser:GetLernedSkillLevel(144_KNIGHT:HEAL)
82 local damChangePer = 4
83 if skilllv_3 <= 10 then
84 damChangePer = 4 + skilllv_3 * 8
85 elseif 10 < skilllv_3 then
86 damChangePer = 64 + skilllv_3 * 2
87 end
88 local MaxHp = targetUser:GetProperty("MaxHp")
89 local Hp = targetUser:GetProperty("Hp")
90 local Num = srcUser:GetRunePoint(54030_AESIR_COLUCEO_HEAL_GAINS_EXTRA_HEALING_EQUAL_TO_2_OF_TARGET_S_LOST_HP)
91 local RuneDamage1 = (MaxHp - Hp) * 0.02 * Num
92 local GemValue = srcUser:GetGemValue(51011_COLUCEO_HEAL_S_CURE_PERCENTAGE)
93 local GemDam = 1 + GemValue / 100000
94 local PvP_ratio = 1
95 if maptype == PVP_MAPS then
96 PvP_ratio = 4
97 end
98 A = (math.floor((BaseLv + Int) / 10) * damChangePer + 100 + skilllv_1 * 50 + skilllv_2 * 50) * damChangePer1 * PvP_ratio * (1 + HealEncPer) * (1 + BeHealEncPer2) * -1 * (1 + HolyAtk) * RuneDamage * c * Angel * GemDam - RuneDamage1 * (1 + BeHealEncPer2)
99 end
100 if targetUser:HasBuffID(41100050_HEALING_RECEIVED_:MAX_STACK_0) then
101 local MaxHp = targetUser:GetProperty("MaxHp")
102 local Hp = targetUser:GetProperty("Hp")
103 local Num1 = targetUser:GetBuffLayer(41100050_HEALING_RECEIVED_:MAX_STACK_0)
104 if Hp < MaxHp * (0.15 * Num1) then
105 A = A * 3
106 end
107 end
108 local RateNum = 0
109 local profressionID = srcUser:GetProfressionID()
110 if srcUser:HasBuffID(35381_47160_ANGEL_WING_FEATHER_:MAX_STACK_0) and (profressionID == 51_ACOLYTE or profressionID == 52_PRIEST or profressionID == 53_HIGH_PRIEST or profressionID == 54_ARCHBISHOP or profressionID == 55_SAINT or profressionID == 615_NIDHOGG or profressionID == 795_KAFRA) then
111 RateNum = 15
112 end
113 local HealtoDam = targetUser:GetBuffLevel(129100_CURE_BARRIER_:MAX_STACK_0)
114 local DamRatio = 1
115 if targetUser:HasBuffID(129100_CURE_BARRIER_:MAX_STACK_0) then
116 DamRatio = -0.1 * HealtoDam
117 end
118 if skillID == 1224_THIEF:COLUCEO_HEAL_THIEF:COLUCEO_HEAL and srcUser:HasBuffID(22000530_COLUCEO_HEAL_DOES_NOT_SHIFT_OR_CONVERSE_:MAX_STACK_0) then
119 DamRatio = 1
120 if 0 < A then
121 A = 0
122 end
123 end
124 local HealReduce = targetUser:GetBuffLevel(136500_10783_:MAX_STACK_0)
125 if targetUser:HasBuffID(136500_10783_:MAX_STACK_0) then
126 DamRatio = 1 - (0.2 + 0.03 * HealReduce)
127 end
128 if enemy then
129 if DefAttr2 == 9 then
130 return A / 2 * CommonFun.calcMagicElement(srcUser, targetUser, params, damageParam) * elementparam2 * -1 * (1 + MDamIncrease)
131 else
132 return 0, 0
133 end
134 elseif DefAttr2 == 9 or bits[CommonFun.AttrEffect.PoisinDamNoUse] == 1 then
135 return -1
136 elseif CommonFun.IsInRate(RateNum, srcUser:GetRandom()) then
137 return A * 2 * DamRatio
138 else
139 return A * DamRatio
140 end
141end