Files
2HUCardTDGame/scripts/vscripts/abilities/ability_lua/modifier_hourainingyou_01.lua
2021-10-24 15:36:18 -04:00

61 lines
1.7 KiB
Lua
Executable File

modifier_hourainingyou_01 = class({})
local public = modifier_hourainingyou_01
--------------------------------------------------------------------------------
function public:IsDebuff()
return false
end
--------------------------------------------------------------------------------
function public:IsHidden()
return true
end
--------------------------------------------------------------------------------
function public:IsPurgable()
return false
end
function public:GetTexture()
return "touhoutd/thtd_hourainingyou_01"
end
--------------------------------------------------------------------------------
function public:DeclareFunctions()
local funcs = {
MODIFIER_EVENT_ON_ATTACK_LANDED,
}
return funcs
end
function public:OnAttackLanded( params )
if IsServer() then
if params.attacker ~= self:GetParent() or self:GetParent():IsIllusion() then return end
if self:GetParent():PassivesDisabled() then return end
local caster = params.attacker
local target = params.target
local ability = self:GetAbility()
if RollPercentage(ability:GetSpecialValueFor("chance")) then
if not target:HasModifier("modifier_hourainingyou_01_stun_lock") then
target:AddNewModifier(caster, ability, "modifier_hourainingyou_01_stun_lock", {Duration = ability:GetSpecialValueFor("lock_time")})
UnitStunTarget(caster,target,ability:GetSpecialValueFor("stun_time"))
end
local DamageTable = {
ability = ability,
victim = target,
attacker = caster,
damage = caster:THTD_GetAbilityPowerDamage(ability),
damage_type = ability:GetAbilityDamageType(),
damage_flags = DOTA_DAMAGE_FLAG_NONE
}
UnitDamageTarget(DamageTable)
end
end
end