Formula
CommonFun.calcBuff_5220
function CommonFun.calcBuff_5220(srcUser, targetUser, a, b, c, d, lv)
if srcUser == nil or targetUser == nil then
return 0
end
local FreezeAtk = srcUser:GetProperty("FreezeAtk")
local FreezeDef2 = targetUser:GetProperty("FreezeDef")
local FreezeDam = 1 + FreezeAtk - FreezeDef2
if FreezeDam <= 0 then
FreezeDam = 0
end
local StateAtk = srcUser:GetProperty("StateAtk")
local StateDef2 = targetUser:GetProperty("StateDef")
local StateDam = 1 + StateAtk - StateDef2
if StateDam <= 0 then
StateDam = 0
end
local rate1 = (lv * 2 + 20) * FreezeDam * StateDam * CommonFun.calcAttrFreezeRate(srcUser, targetUser)
local rate2 = (lv * 2 + 20) * FreezeDam * StateDam * CommonFun.calcAttrFreezeRate(srcUser, targetUser)
local Hasbuff = 0
if srcUser:HasBuffID(20820030_DIAMOND_STARDUST_FREEZE_EFFECT_IGNORES_IMMUNITY_:MAX_STACK_0) then
Hasbuff = 1
end
local A = rate1 * a + rate2 * b * Hasbuff
if A <= 0 then
return 0
end
return A
end