101 lines
3.4 KiB
Lua
101 lines
3.4 KiB
Lua
local ____lualib = require("lualib_bundle")
|
|
local __TS__Class = ____lualib.__TS__Class
|
|
local __TS__ClassExtends = ____lualib.__TS__ClassExtends
|
|
local __TS__Decorate = ____lualib.__TS__Decorate
|
|
local ____exports = {}
|
|
local modifier_int_buff
|
|
local ____dota_ts_adapter = require("lib.dota_ts_adapter")
|
|
local BaseAbility = ____dota_ts_adapter.BaseAbility
|
|
local BaseModifier = ____dota_ts_adapter.BaseModifier
|
|
local registerAbility = ____dota_ts_adapter.registerAbility
|
|
local registerModifier = ____dota_ts_adapter.registerModifier
|
|
____exports.int = __TS__Class()
|
|
local int = ____exports.int
|
|
int.name = "int"
|
|
int.____file_path = "scripts/vscripts/abilities/heroes/silencer/int.lua"
|
|
__TS__ClassExtends(int, BaseAbility)
|
|
function int.prototype.GetIntrinsicModifierName(self)
|
|
return modifier_int_buff.name
|
|
end
|
|
function int.prototype.Precache(self, context)
|
|
PrecacheResource("particle", "particles/silencer_count.vpcf", context)
|
|
PrecacheResource("particle", "particles/units/heroes/hero_nevermore/nevermore_necro_souls.vpcf", context)
|
|
PrecacheResource("soundfile", "soundevents/game_sounds_heroes/game_sounds_nevermore.vsndevts", context)
|
|
end
|
|
int = __TS__Decorate(
|
|
int,
|
|
int,
|
|
{registerAbility(nil)},
|
|
{kind = "class", name = "int"}
|
|
)
|
|
____exports.int = int
|
|
modifier_int_buff = __TS__Class()
|
|
modifier_int_buff.name = "modifier_int_buff"
|
|
modifier_int_buff.____file_path = "scripts/vscripts/abilities/heroes/silencer/int.lua"
|
|
__TS__ClassExtends(modifier_int_buff, BaseModifier)
|
|
function modifier_int_buff.prototype.IsHidden(self)
|
|
return false
|
|
end
|
|
function modifier_int_buff.prototype.IsPurgable(self)
|
|
return false
|
|
end
|
|
function modifier_int_buff.prototype.RemoveOnDeath(self)
|
|
return false
|
|
end
|
|
function modifier_int_buff.prototype.OnCreated(self)
|
|
if not IsServer() then
|
|
return
|
|
end
|
|
local ____opt_0 = self:GetAbility()
|
|
local interval = ____opt_0 and ____opt_0:GetSpecialValueFor("stack_interval") or 10
|
|
self:StartIntervalThink(interval)
|
|
end
|
|
function modifier_int_buff.prototype.OnRefresh(self)
|
|
if not IsServer() then
|
|
return
|
|
end
|
|
local ____opt_2 = self:GetAbility()
|
|
local interval = ____opt_2 and ____opt_2:GetSpecialValueFor("stack_interval") or 10
|
|
self:StartIntervalThink(interval)
|
|
end
|
|
function modifier_int_buff.prototype.OnIntervalThink(self)
|
|
if not IsServer() then
|
|
return
|
|
end
|
|
if self:GetParent():PassivesDisabled() then
|
|
return
|
|
end
|
|
self:SetStackCount(self:GetStackCount() + 1)
|
|
local parent = self:GetParent()
|
|
local fx = ParticleManager:CreateParticle("particles/silencer_count.vpcf", PATTACH_OVERHEAD_FOLLOW, parent)
|
|
ParticleManager:SetParticleControl(
|
|
fx,
|
|
15,
|
|
Vector(0, 0, 255)
|
|
)
|
|
ParticleManager:SetParticleControl(
|
|
fx,
|
|
16,
|
|
Vector(1, 0, 0)
|
|
)
|
|
ParticleManager:ReleaseParticleIndex(fx)
|
|
end
|
|
function modifier_int_buff.prototype.DeclareFunctions(self)
|
|
return {MODIFIER_PROPERTY_STATS_INTELLECT_BONUS}
|
|
end
|
|
function modifier_int_buff.prototype.GetModifierBonusStats_Intellect(self)
|
|
if self:GetParent():PassivesDisabled() then
|
|
return 0
|
|
end
|
|
local ____opt_4 = self:GetAbility()
|
|
local growInt = ____opt_4 and ____opt_4:GetSpecialValueFor("grow_int") or 0
|
|
return self:GetStackCount() * growInt
|
|
end
|
|
modifier_int_buff = __TS__Decorate(
|
|
modifier_int_buff,
|
|
modifier_int_buff,
|
|
{registerModifier(nil)},
|
|
{kind = "class", name = "modifier_int_buff"}
|
|
)
|
|
return ____exports
|