Formula
CommonFun.calcBuff_3080
function CommonFun.calcBuff_3080(srcUser, targetUser, a, b, c, d, lv)
if srcUser == nil or targetUser == nil then
return 0
end
local skilllv_1 = srcUser:GetLernedSkillLevel(1185_THIEF:BATTLE_CHANT)
local Vit = srcUser:GetProperty("Vit")
local Num = srcUser:GetRunePoint(74070_AESIR_BATTLE_CHANT_HEALING_OVER_TIME_10)
local BeHealEncPer2 = targetUser:GetProperty("BeHealEncPer")
local HealEncPer = srcUser:GetProperty("HealEncPer")
local A = 0
local RefineLv = srcUser:GetEquipedRefineLv(1)
local Angel = 1
if srcUser:HasBuffID(90001817_SACRED_MISSION_R8_:MAX_STACK_0) then
Angel = 1 + RefineLv / 100 * 2
end
local equipRing = srcUser:getEquip(CommonFun.PackType.EPACKTYPE_EQUIP, CommonFun.EquipPos.EEQUIPPOS_SHIELD)
if equipRing.id == 42579 or equipRing.id == 142579 then
Angel = 1 + equipRing.refinelv / 100 * 2
end
local equipRingSD = srcUser:getEquip(CommonFun.PackType.EPACKTYPE_SHADOWEQUIP, CommonFun.EquipPos.EEQUIPPOS_SHIELD)
if equipRingSD.id == 42579 or equipRingSD.id == 142579 then
Angel = 1 + equipRingSD.refinelv / 100 * 2 * equipRingSD.quench_per / 100
end
if srcUser:HasBuffID(90004204_SAINTLY_GLAIVE_1_T5_:MAX_STACK_0) then
Angel = Angel + 0.15
end
if 0 < skilllv_1 and skilllv_1 <= 10 then
A = skilllv_1 * 2 * (100 + Vit) * (1 + HealEncPer) * (1 + BeHealEncPer2) * (1 + Num / 10) * Angel
elseif 10 < skilllv_1 then
A = (20 + skilllv_1) * (100 + Vit) * (1 + HealEncPer) * (1 + BeHealEncPer2) * (1 + Num / 10) * Angel
end
local GemValue = srcUser:GetGemValue(72061_BATTLE_CHANT_RECOVERY_EFFECT_PERCENTAGE)
A = A * (1 + GemValue / 100000)
local mapid, maptype = srcUser:GetMapInfo()
if maptype == PVP_MAPS then
A = A * 4
end
return A
end