93 lines
2.3 KiB
Lua
Executable File
93 lines
2.3 KiB
Lua
Executable File
modifier_item_2005_attack_aura = class({})
|
|
|
|
local public = modifier_item_2005_attack_aura
|
|
|
|
--------------------------------------------------------------------------------
|
|
|
|
function public:IsDebuff()
|
|
return false
|
|
end
|
|
|
|
--------------------------------------------------------------------------------
|
|
|
|
function public:IsHidden()
|
|
return false
|
|
end
|
|
|
|
--------------------------------------------------------------------------------
|
|
|
|
function public:IsPurgable()
|
|
return false
|
|
end
|
|
|
|
--------------------------------------------------------------------------------
|
|
|
|
function public:GetTexture()
|
|
return "item_2005"
|
|
end
|
|
|
|
--------------------------------------------------------------------------------
|
|
|
|
-- function public:IsAura()
|
|
-- return true
|
|
-- end
|
|
|
|
--------------------------------------------------------------------------------
|
|
|
|
-- function public:GetModifierAura()
|
|
-- return "modifier_item_2005_attack_aura_effect"
|
|
-- end
|
|
|
|
--------------------------------------------------------------------------------
|
|
|
|
-- function public:GetAuraSearchTeam()
|
|
-- return DOTA_UNIT_TARGET_TEAM_FRIENDLY
|
|
-- end
|
|
|
|
--------------------------------------------------------------------------------
|
|
|
|
-- function public:GetAuraSearchType()
|
|
-- return DOTA_UNIT_TARGET_HERO + DOTA_UNIT_TARGET_BASIC
|
|
-- end
|
|
|
|
--------------------------------------------------------------------------------
|
|
|
|
-- function public:GetAuraSearchFlags()
|
|
-- return DOTA_UNIT_TARGET_FLAG_NONE
|
|
-- end
|
|
|
|
--------------------------------------------------------------------------------
|
|
|
|
-- function public:GetAuraRadius()
|
|
-- return 1200
|
|
-- end
|
|
|
|
--------------------------------------------------------------------------------
|
|
|
|
|
|
function public:OnCreated( kv )
|
|
if IsServer() then
|
|
self:OnIntervalThink()
|
|
self:StartIntervalThink( 0.2 )
|
|
end
|
|
end
|
|
|
|
-----------------------------------------------------------------------
|
|
|
|
function public:OnIntervalThink()
|
|
if not IsServer() then
|
|
return
|
|
end
|
|
|
|
local caster = self:GetCaster()
|
|
local targets = THTD_FindFriendlyUnitsInRadius(caster,caster:GetAbsOrigin(),1200)
|
|
for k,v in pairs(targets) do
|
|
local modifier = v:FindModifierByName("modifier_item_2005_attack_aura_effect")
|
|
-- 持续时间比think大一点
|
|
if modifier == nil then
|
|
v:AddNewModifier(caster, nil, "modifier_item_2005_attack_aura_effect", {Duration = 0.3})
|
|
else
|
|
modifier:SetDuration(0.3, false)
|
|
end
|
|
end
|
|
end |