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_meat = __TS__Class() local item_meat = ____exports.item_meat item_meat.name = "item_meat" item_meat.____file_path = "scripts/vscripts/items/util_items/item_meat.lua" __TS__ClassExtends(item_meat, BaseItem) function item_meat.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_meat.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_meat.prototype.OnSpellStart(self) local target = self:GetCursorTarget() local item = self local healAmount = self:GetSpecialValueFor("heal") if target ~= nil then target:EmitSound("DOTA_Item.Cheese.Activate") target:Heal(healAmount, self) SendOverheadEventMessage( nil, OVERHEAD_ALERT_HEAL, target, healAmount, target:GetPlayerOwner() ) end 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_meat = __TS__Decorate( item_meat, item_meat, {registerAbility(nil)}, {kind = "class", name = "item_meat"} ) ____exports.item_meat = item_meat return ____exports