Formula
CommonFun.calcBuff_4030
function CommonFun.calcBuff_4030(srcUser, targetUser, a, b, c, d, lv)
if srcUser == nil or targetUser == nil then
return 0
end
local Num = srcUser:GetRunePoint(c)
local RefineLv = srcUser:GetEquipedRefineLv(7_WEAPON)
local Ring1 = srcUser:GetEquipedID(7_WEAPON)
local diary = 0
local StateEffect = targetUser:GetProperty("StateEffect")
local bits = CommonFun.getBits(StateEffect)
if Ring1 == 63440_SAGE_S_HANDBOOK_1 or Ring1 == 163440_SAGE_S_HANDBOOK_2 or Ring1 == 63417_SAGE_DIARY_1 or Ring1 == 163417_SAGE_DIARY_2 then
diary = RefineLv
end
local card = 0
if srcUser:HasBuffID(53340_DARK_MAGE_CARD_:MAX_STACK_0) then
card = 3
end
if (bits[CommonFun.StateEffect.Poison] == 1 or bits[CommonFun.StateEffect.Blood] == 1 or bits[CommonFun.StateEffect.Burn] == 1 or bits[CommonFun.StateEffect.Dizzy] == 1 or bits[CommonFun.StateEffect.Freeze] == 1 or bits[CommonFun.StateEffect.Stone] == 1 or bits[CommonFun.StateEffect.Sleep] == 1 or bits[CommonFun.StateEffect.Fear] == 1 or bits[CommonFun.StateEffect.NoMove] == 1 or bits[CommonFun.StateEffect.Silence] == 1 or bits[CommonFun.StateEffect.Curse] == 1 or bits[CommonFun.StateEffect.Dark] == 1) and (srcUser:HasBuffID(43110_TIME_MANIPULATOR_:MAX_STACK_0) or srcUser:HasBuffLayer(43110, EBUFFERLAYER_SHADOW)) and srcUser:HasBuffID(42240_SAGE_S_HANDBOOK_:MAX_STACK_0) then
card = card + 5
end
if srcUser:HasBuffID(90004514_SAGE_S_HANDBOOK_1_T5_:MAX_STACK_0) and srcUser:HasBuffID(90004515_SAGE_S_HANDBOOK_1_T5_EFFECT_:MAX_STACK_0) then
card = card + 5
end
local A = lv * a + b + Num * d + diary * 0.3 + card
return A
end