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 ____dota_ts_adapter = require("lib.dota_ts_adapter") local BaseAbility = ____dota_ts_adapter.BaseAbility local registerAbility = ____dota_ts_adapter.registerAbility ____exports.MODIFIER_SOURCE_ABILITY_NAME = "ability_modifier_source" ____exports.ability_modifier_source = __TS__Class() local ability_modifier_source = ____exports.ability_modifier_source ability_modifier_source.name = "ability_modifier_source" ability_modifier_source.____file_path = "scripts/vscripts/abilities/modifiers/ability_modifier_source.lua" __TS__ClassExtends(ability_modifier_source, BaseAbility) function ability_modifier_source.prototype.IsHidden(self) return true end function ability_modifier_source.prototype.IsInnateAbility(self) return true end ability_modifier_source = __TS__Decorate( ability_modifier_source, ability_modifier_source, {registerAbility(nil)}, {kind = "class", name = "ability_modifier_source"} ) ____exports.ability_modifier_source = ability_modifier_source function ____exports.getModifierSourceAbility(self, unit) if not IsServer() or not unit or not IsValidEntity(unit) or unit:IsNull() then return nil end local ability = unit:FindAbilityByName(____exports.MODIFIER_SOURCE_ABILITY_NAME) if not ability then ability = unit:AddAbility(____exports.MODIFIER_SOURCE_ABILITY_NAME) end if ability and ability:GetLevel() <= 0 then ability:SetLevel(1) end return ability or nil end local g = _G g.getModifierSourceAbility = ____exports.getModifierSourceAbility return ____exports