initial commit
This commit is contained in:
@@ -0,0 +1,85 @@
|
||||
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 registerAbility = ____dota_ts_adapter.registerAbility
|
||||
____exports.item_bread = __TS__Class()
|
||||
local item_bread = ____exports.item_bread
|
||||
item_bread.name = "item_bread"
|
||||
item_bread.____file_path = "scripts/vscripts/items/util_items/item_bread.lua"
|
||||
__TS__ClassExtends(item_bread, BaseItem)
|
||||
function item_bread.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_bread.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_bread.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_bread = __TS__Decorate(
|
||||
item_bread,
|
||||
item_bread,
|
||||
{registerAbility(nil)},
|
||||
{kind = "class", name = "item_bread"}
|
||||
)
|
||||
____exports.item_bread = item_bread
|
||||
return ____exports
|
||||
Reference in New Issue
Block a user