bynder_rim = class ( {})
LinkLuaModifier ("modifier_bynder_rim","heroes/hero_bynder/bynder_rim.lua", LUA_MODIFIER_MOTION_NONE)
function bynder_rim:GetCooldown (nLevel)
if self:GetCaster ():HasScepter () then
return self:GetSpecialValueFor ("cooldown_scepter")
end
return self.BaseClass.GetCooldown (self, nLevel)
end
function bynder_rim:GetManaCost (hTarget)
if self:GetCaster ():HasScepter () then
return 0
else
return self.BaseClass.GetManaCost (self, hTarget)
end
end
function bynder_rim:OnSpellStart ()
local hCaster = self:GetCaster()
local duration = self:GetSpecialValueFor ("duration")
if hCaster:HasScepter() then
duration = self:GetSpecialValueFor ("duration_scepter")
end
hCaster:AddNewModifier (self:GetCaster (), self, "modifier_bynder_rim", { duration = duration } )
EmitSoundOn ("Hero_ChaosKnight.Phantasm", hTarget)
EmitSoundOn ("Hero_ChaosKnight.Phantasm.Plus", hTarget)
end
modifier_bynder_rim = class ( {})
function modifier_bynder_rim:IsBuff ()
return true
end
function modifier_bynder_rim:IsHidden()
return false
end
function modifier_bynder_rim:IsPurgable()
return false
end
function modifier_bynder_rim:OnCreated ()
if IsServer() then
local caster = self:GetParent ()
local nFXIndex1 = ParticleManager:CreateParticle ("particles/byonder_ball_sphere.vpcf", PATTACH_ABSORIGIN_FOLLOW, caster)
ParticleManager:SetParticleControl (nFXIndex1, 0, caster:GetAbsOrigin () )
ParticleManager:SetParticleControl (nFXIndex1, 1, Vector (1, 0, 0))
ParticleManager:SetParticleControl (nFXIndex1, 2, caster:GetAbsOrigin () )
ParticleManager:SetParticleControl (nFXIndex1, 5, caster:GetAbsOrigin () )
ParticleManager:SetParticleControl (nFXIndex1, 6, caster:GetAbsOrigin () )
ParticleManager:SetParticleControl (nFXIndex1, 7, caster:GetAbsOrigin () )
self:AddParticle( nFXIndex1, false, false, -1, false, true )
self.damage = 0
end
end
function modifier_bynder_rim:DeclareFunctions ()
local funcs = {
MODIFIER_EVENT_ON_TAKEDAMAGE
}
return funcs
end
function modifier_bynder_rim:OnTakeDamage(params)
if self:GetParent () == params.unit then
self.damage = self.damage + params.damage
self:GetParent ():SetHealth(self:GetParent ():GetHealth() + params.damage)
self:GetParent ():SetBaseDamageMax(self.damage)
local RemovePositiveBuffs = false
local RemoveDebuffs = true
local BuffsCreatedThisFrameOnly = false
local RemoveStuns = true
local RemoveExceptions = false
self:GetParent():Purge( RemovePositiveBuffs, RemoveDebuffs, BuffsCreatedThisFrameOnly, RemoveStuns, RemoveExceptions)
end
end
function modifier_bynder_rim:CheckState()
local state = {
[MODIFIER_STATE_NO_HEALTH_BAR] = true,
}
return state
end
function modifier_bynder_rim:OnDestroy()
self.damage = 0
self:GetParent ():SetBaseDamageMax(43)
end