initial commit
This commit is contained in:
@@ -0,0 +1,53 @@
|
||||
|
||||
modifier_item_lifestone_pact = class({})
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
function modifier_item_lifestone_pact:GetTexture()
|
||||
return "item_lifestone"
|
||||
end
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
function modifier_item_lifestone_pact:OnCreated( kv )
|
||||
self.pact_interval = self:GetAbility():GetSpecialValueFor( "pact_interval" )
|
||||
self.pact_hp_cost = self:GetAbility():GetSpecialValueFor( "pact_hp_cost" )
|
||||
self.pact_mana_gained = self:GetAbility():GetSpecialValueFor( "pact_mana_gained" )
|
||||
|
||||
if IsServer() then
|
||||
EmitSoundOn( "Lifestone.Activate", self:GetParent() )
|
||||
|
||||
self:StartIntervalThink( self.pact_interval )
|
||||
end
|
||||
end
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
function modifier_item_lifestone_pact:OnIntervalThink()
|
||||
if IsServer() then
|
||||
local damage =
|
||||
{
|
||||
victim = self:GetParent(),
|
||||
attacker = self:GetCaster(),
|
||||
damage = self.pact_hp_cost,
|
||||
damage_type = self:GetAbility():GetAbilityDamageType(),
|
||||
ability = self
|
||||
}
|
||||
ApplyDamage( damage )
|
||||
|
||||
self:GetParent():GiveMana( self.pact_mana_gained )
|
||||
SendOverheadEventMessage( self:GetCaster():GetPlayerOwner(), OVERHEAD_ALERT_MANA_ADD, self:GetParent(), self.pact_mana_gained, nil )
|
||||
end
|
||||
end
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
function modifier_item_lifestone_pact:OnDestroy()
|
||||
if IsServer() then
|
||||
StopSoundOn( "Lifestone.Activate", self:GetParent() )
|
||||
EmitSoundOn( "Lifestone.Deactivate", self:GetParent() )
|
||||
end
|
||||
end
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
Reference in New Issue
Block a user