Files
2026-05-29 15:11:31 +07:00

57 lines
2.3 KiB
Lua

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 BaseModifier = ____dota_ts_adapter.BaseModifier
local registerEntityFunction = ____dota_ts_adapter.registerEntityFunction
local registerModifier = ____dota_ts_adapter.registerModifier
--- Герой стоит на кладбищенском кресте (триггер Hammer → StartTouch / StartModif).
____exports.modifier_shovel_treasure_cross = __TS__Class()
local modifier_shovel_treasure_cross = ____exports.modifier_shovel_treasure_cross
modifier_shovel_treasure_cross.name = "modifier_shovel_treasure_cross"
modifier_shovel_treasure_cross.____file_path = "scripts/vscripts/triggers/shovel_treasure_cross.lua"
__TS__ClassExtends(modifier_shovel_treasure_cross, BaseModifier)
function modifier_shovel_treasure_cross.prototype.IsHidden(self)
return true
end
function modifier_shovel_treasure_cross.prototype.IsPurgable(self)
return false
end
function modifier_shovel_treasure_cross.prototype.RemoveOnDeath(self)
return true
end
modifier_shovel_treasure_cross = __TS__Decorate(
modifier_shovel_treasure_cross,
modifier_shovel_treasure_cross,
{registerModifier(nil)},
{kind = "class", name = "modifier_shovel_treasure_cross"}
)
____exports.modifier_shovel_treasure_cross = modifier_shovel_treasure_cross
local function handleCrossStart(self, trigger)
local ent = trigger.activator
if ent == nil or ent:IsNull() or not ent:IsRealHero() then
return
end
ent:AddNewModifier(
ent,
getModifierSourceAbility(nil, ent),
____exports.modifier_shovel_treasure_cross.name,
{}
)
end
local function handleCrossEnd(self, trigger)
local ent = trigger.activator
if ent == nil or ent:IsNull() then
return
end
ent:RemoveModifierByName(____exports.modifier_shovel_treasure_cross.name)
end
registerEntityFunction(nil, "StartTouch", handleCrossStart)
registerEntityFunction(nil, "EndTouch", handleCrossEnd)
registerEntityFunction(nil, "OnStartTouch", handleCrossStart)
registerEntityFunction(nil, "OnEndTouch", handleCrossEnd)
registerEntityFunction(nil, "StartModif", handleCrossStart)
return ____exports