Formula
CommonFun.calcBuff_5200
function CommonFun.calcBuff_5200(srcUser, targetUser, a, b, c, d, lv)
if srcUser == nil or targetUser == nil then
return 0
end
local SilenceAtk = srcUser:GetProperty("SilenceAtk")
local SilenceDef2 = targetUser:GetProperty("SilenceDef")
local SlienceDam = 1 + SilenceAtk - SilenceDef2
if SlienceDam <= 0 then
SlienceDam = 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 GemValue = srcUser:GetGemValue(91021_MAGIC_TRAP_HAS_A_PERCENTAGE_CHANCE_OF_APPLYING_SILENCE)
local rate1 = GemValue / 1000 * SlienceDam * StateDam * CommonFun.calcAttrSilenceRate(srcUser, targetUser)
local rate2 = GemValue / 1000 * SlienceDam * StateDam * CommonFun.calcAttrSilenceRate(srcUser, targetUser)
local Hasbuff = 0
if srcUser:HasBuffID(20910030_MAGIC_TRAP_SILENCE_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