62 lines
1.5 KiB
Lua
Executable File
62 lines
1.5 KiB
Lua
Executable File
LinkLuaModifier( "modifier_detect_invisible", "modifiers/modifier_detect_invisible", LUA_MODIFIER_MOTION_NONE )
|
|
|
|
modifier_aggro_on_damage = class({})
|
|
|
|
--------------------------------------------------------------------------------
|
|
|
|
function modifier_aggro_on_damage:IsHidden()
|
|
return true
|
|
end
|
|
|
|
--------------------------------------------------------------------------------
|
|
|
|
function modifier_aggro_on_damage:IsPermanent()
|
|
return true
|
|
end
|
|
|
|
--------------------------------------------------------------------------------
|
|
|
|
function modifier_aggro_on_damage:IsPurgable()
|
|
return false
|
|
end
|
|
|
|
--------------------------------------------------------------------------------
|
|
|
|
function modifier_aggro_on_damage:DeclareFunctions()
|
|
local funcs =
|
|
{
|
|
MODIFIER_EVENT_ON_TAKEDAMAGE,
|
|
}
|
|
return funcs
|
|
end
|
|
|
|
-----------------------------------------------------------------------
|
|
|
|
function modifier_aggro_on_damage:OnTakeDamage( params )
|
|
if IsServer() then
|
|
-- Are we being attacked?
|
|
local hUnit = params.unit
|
|
if hUnit ~= self:GetParent() then
|
|
return 0
|
|
end
|
|
|
|
-- if we already have an aggro target just ignore
|
|
if hUnit:GetAggroTarget() then
|
|
return 0
|
|
end
|
|
|
|
-- Is the attacker is not something we can attack ignore it
|
|
local hAttacker = params.attacker
|
|
if hAttacker == nil then
|
|
return 0
|
|
end
|
|
|
|
--print( 'modifier_aggro_on_damage:OnTakeDamage() - setting SetInitialGoalEntity() to ' .. hAttacker:GetUnitName() )
|
|
self:GetParent():SetInitialGoalEntity( hAttacker )
|
|
|
|
return 0
|
|
end
|
|
|
|
return 0
|
|
end
|