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_general_hunger = require("abilities.modifiers.modifier_general_hunger") local modifier_general_hunger = ____modifier_general_hunger.modifier_general_hunger local ____dota_ts_adapter = require("lib.dota_ts_adapter") local BaseItem = ____dota_ts_adapter.BaseItem local ____dota_ts_adapter = require("lib.dota_ts_adapter") local registerAbility = ____dota_ts_adapter.registerAbility ____exports.item_milk = __TS__Class() local item_milk = ____exports.item_milk item_milk.name = "item_milk" item_milk.____file_path = "scripts/vscripts/items/util_items/item_milk.lua" __TS__ClassExtends(item_milk, BaseItem) function item_milk.prototype.CastFilterResultTarget(self, target) if IsServer() then if not target:IsRealHero() then return UF_FAIL_CUSTOM end if self:GetCurrentCharges() < self:GetInitialCharges() then return UF_FAIL_CUSTOM end return UF_SUCCESS end return UF_SUCCESS end function item_milk.prototype.GetCustomCastErrorTarget(self, target) if IsServer() then if not target:IsRealHero() then return "#dota_hud_error_cheese_bad_target" end if self:GetCurrentCharges() < self:GetInitialCharges() then return "#dota_hud_error_havent_charges" end end return "" end function item_milk.prototype.OnSpellStart(self) local target = self:GetCursorTarget() local item = self local healAmount = self:GetSpecialValueFor("mana") if target == nil then return end target:EmitSound("DOTA_Item.Cheese.Activate") target:GiveMana(healAmount) SendOverheadEventMessage( nil, OVERHEAD_ALERT_MANA_ADD, target, healAmount, target:GetPlayerOwner() ) if target and target:IsRealHero() then local modifier = target:AddNewModifier( self:GetCaster(), self, modifier_general_hunger.name, {} ) if modifier then local hunger_bonus = self:GetSpecialValueFor("hunger_bonus") do local i = 0 while i < hunger_bonus do modifier:IncrementStackCount() i = i + 1 end end if item:GetCurrentCharges() <= item:GetInitialCharges() then UTIL_Remove(item) return end item:SetCurrentCharges(item:GetCurrentCharges() - item:GetInitialCharges()) end end end item_milk = __TS__Decorate( item_milk, item_milk, {registerAbility(nil)}, {kind = "class", name = "item_milk"} ) ____exports.item_milk = item_milk return ____exports