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 BaseItem = ____dota_ts_adapter.BaseItem local BaseModifier = ____dota_ts_adapter.BaseModifier local registerAbility = ____dota_ts_adapter.registerAbility local registerModifier = ____dota_ts_adapter.registerModifier ____exports.item_magic_stone = __TS__Class() local item_magic_stone = ____exports.item_magic_stone item_magic_stone.name = "item_magic_stone" item_magic_stone.____file_path = "scripts/vscripts/items/default_items/item_magic_stone.lua" __TS__ClassExtends(item_magic_stone, BaseItem) function item_magic_stone.prototype.GetIntrinsicModifierName(self) return "modifier_magic_stone" end item_magic_stone = __TS__Decorate( item_magic_stone, item_magic_stone, {registerAbility(nil)}, {kind = "class", name = "item_magic_stone"} ) ____exports.item_magic_stone = item_magic_stone ____exports.modifier_magic_stone = __TS__Class() local modifier_magic_stone = ____exports.modifier_magic_stone modifier_magic_stone.name = "modifier_magic_stone" modifier_magic_stone.____file_path = "scripts/vscripts/items/default_items/item_magic_stone.lua" __TS__ClassExtends(modifier_magic_stone, BaseModifier) function modifier_magic_stone.prototype.____constructor(self, ...) BaseModifier.prototype.____constructor(self, ...) self.Lock = false end function modifier_magic_stone.prototype.IsHidden(self) return true end function modifier_magic_stone.prototype.IsDebuff(self) return false end function modifier_magic_stone.prototype.IsPurgable(self) return false end function modifier_magic_stone.prototype.GetAttributes(self) return MODIFIER_ATTRIBUTE_MULTIPLE end function modifier_magic_stone.prototype.DeclareFunctions(self) return { MODIFIER_PROPERTY_SPELL_AMPLIFY_PERCENTAGE, MODIFIER_PROPERTY_STATS_INTELLECT_BONUS, MODIFIER_PROPERTY_STATS_STRENGTH_BONUS, MODIFIER_PROPERTY_STATS_AGILITY_BONUS, MODIFIER_PROPERTY_MANA_REGEN_CONSTANT, MODIFIER_PROPERTY_MANA_BONUS, MODIFIER_PROPERTY_FORCE_MAX_MANA } end function modifier_magic_stone.prototype.GetModifierBonusStats_Intellect(self) return self:GetAbility():GetSpecialValueFor("bonus_intellect") end function modifier_magic_stone.prototype.GetModifierSpellAmplify_Percentage(self, event) return self:GetAbility():GetSpecialValueFor("bonus_spell_amplify") end function modifier_magic_stone.prototype.GetModifierBonusStats_Strength(self) return self:GetAbility():GetSpecialValueFor("bonus_strength") end function modifier_magic_stone.prototype.GetModifierBonusStats_Agility(self) return self:GetAbility():GetSpecialValueFor("bonus_agility") end function modifier_magic_stone.prototype.GetModifierConstantManaRegen(self) return self:GetAbility():GetSpecialValueFor("bonus_mana_regen") end function modifier_magic_stone.prototype.GetModifierManaBonus(self) if not IsServer() then return 0 end if self.Lock then return 0 end self.Lock = true local mana = self:GetParent():GetMaxMana() self.Lock = false local bonus = self:GetAbility():GetSpecialValueFor("bonus_mana_pct") * mana / 100 return bonus end modifier_magic_stone = __TS__Decorate( modifier_magic_stone, modifier_magic_stone, {registerModifier(nil)}, {kind = "class", name = "modifier_magic_stone"} ) ____exports.modifier_magic_stone = modifier_magic_stone return ____exports