Код:
function modifier_test_stats:OnAbilityExecuted(params)
if IsServer() then
local hHero = self:GetParent()
local player = hHero:GetPlayerOwnerID()
local rChance = 40 + hHero.int * 0.05
local ability = params.ability
if RollPercentage(rChance) then
local manacost = ability:GetManaCost(ability:GetLevel() - 1)
local cooldown = ability:GetCooldown(ability:GetLevel() - 1)
hHero:SetMana(hHero:GetMana() + manacost)
ability:StartCooldown(cooldown/2)
end
end
end
Кусок кода из луа модификатора, который работает криво.
При использовании абилок, проверяется шанс, если прокнуло , кд уменьшается в 2 раза + возращается мана за использование.
Мана возращается, кд не уменьшается - почему, немогу понять. Сначало думал что нельзя использовать функции с кд абилок при IsServer(), но при ВТФ моде кд уменьшается.
upd.
Так же не работает полное обнуление кулдауна - EndCooldown()