еще разок =)
self.Calculation["Shield Slam"] = function( calculation, ActiveAuras, Talents )
local dr = 24.5 * calculation.playerLevel --1960 at level 80
local cap = 39.5 * calculation.playerLevel --3160 at level 80
local bv = calculation.blockValue // В этот момент у нас blockValue * 2, как и должен, при юзе блока.
local bonus = 0 // Если блок не ативен то bonus = 0 и bv = bv
if ActiveAuras["Shield Block"] then // Тут если блок врублен начинается расчет bonus и bv для расчета
local mult = self.MetaGem_BlockBonus + (Talents["Shield Mastery"] or 0) + (ActiveAuras["Glyph of Blocking"] and 0.1 or 0)
bonus = bv / (2 + mult)
bv = bonus * (1 + mult)
--TODO: Improve this?
if Talents["Shield Mastery"] and bv > dr then
bonus = bonus * (1 + math_min(0.13,(bv - dr) * 0.055))
end
end
if bv > dr then
И т.д.