Files
2HUCardTDGame/aghanim_singleplayer/scripts/vscripts/modifiers/modifier_blessing_life_steal.lua
2021-10-24 15:36:18 -04:00

60 lines
1.8 KiB
Lua
Executable File

require( "modifiers/modifier_blessing_base" )
modifier_blessing_life_steal = class( modifier_blessing_base )
-------------------------------------------------------------------------------
function modifier_blessing_life_steal:GetTexture()
return "../items/lifesteal"
end
-------------------------------------------------------------------------------
function modifier_blessing_life_steal:OnBlessingCreated( kv )
self.life_steal_pct = kv.life_steal_pct
end
--------------------------------------------------------------------------------
function modifier_blessing_life_steal:GetStatusEffectName()
return "particles/generic_gameplay/generic_lifesteal.vpcf"
end
--------------------------------------------------------------------------------
function modifier_blessing_life_steal:DeclareFunctions()
local funcs =
{
MODIFIER_EVENT_ON_ATTACKED,
MODIFIER_PROPERTY_TOOLTIP,
}
return funcs
end
--------------------------------------------------------------------------------
function modifier_blessing_life_steal:OnAttacked( params )
if IsServer() then
--print( 'modifier_blessing_life_steal:OnAttacked' )
if self:GetParent():PassivesDisabled() then
return 1
end
if params.attacker ~= nil and params.attacker == self:GetParent() and params.target ~= nil then
local heal = ( params.damage * self.life_steal_pct / 100 )
--print( 'modifier_blessing_life_steal healing for ' .. heal )
self:GetParent():Heal( heal, nil )
ParticleManager:ReleaseParticleIndex( ParticleManager:CreateParticle( "particles/generic_gameplay/generic_lifesteal.vpcf", PATTACH_ABSORIGIN_FOLLOW, self:GetParent() ) )
end
end
return 1
end
--------------------------------------------------------------------------------
function modifier_blessing_life_steal:OnTooltip( params )
return self.life_steal_pct
end