ability_lol = class({})
LinkLuaModifier("modifier_lol", "ability_lol" --[[путь к файлу от vscripts]], LUA_MODIFIER_MOTION_NONE)
modifier_lol = class({})
function ability_lol:OnSpellStart()
ProjectileManager:CreateTrackingProjectile({
EffectName = "particles/items4_fx/nullifier_proj.vpcf",
Ability = self,
iMoveSpeed = 500,
Source = self:GetCaster(),
Target = self:GetCursorTarget()
})
end
function ability_lol:OnProjectileHit(Target, Location)
if Target ~= nil and not Target:TriggerSpellAbsorb(self) and not Target:IsInvulnerable() then
ApplyDamage({
victim = Target,
attacker = self:GetCaster(),
damage = self:GetSpecialValueFor("base_damage"),
damage_type = DAMAGE_TYPE_MAGICAL,
ability = self
})
Target:AddNewModifier( self:GetCaster(), self, "modifier_lol", { duration = self:GetSpecialValueFor("duration") } )
end
return true
end
function modifier_lol:IsDebuff()
return true
end
function modifier_lol:IsStunDebuff()
return true
end
function modifier_lol:GetEffectName()
return "particles/generic_gameplay/generic_stunned.vpcf"
end
function modifier_lol:GetEffectAttachType()
return PATTACH_OVERHEAD_FOLLOW
end
function modifier_lol:DeclareFunctions()
return {MODIFIER_PROPERTY_OVERRIDE_ANIMATION}
end
function modifier_lol:GetOverrideAnimation( params )
return ACT_DOTA_DISABLED
end
function modifier_lol:CheckState()
return {[MODIFIER_STATE_STUNNED] = true}
end
function modifier_lol:OnDestroy()
if IsServer() then
ApplyDamage({
victim = self:GetParent(),
attacker = self:GetAbility():GetCaster(),
damage = self:GetAbility():GetSpecialValueFor("end_damage"),
damage_type = DAMAGE_TYPE_MAGICAL,
ability = self:GetAbility()
})
end
end