local ____lualib = require("lualib_bundle") local __TS__Class = ____lualib.__TS__Class local __TS__ClassExtends = ____lualib.__TS__ClassExtends local __TS__Decorate = ____lualib.__TS__Decorate local ____exports = {} local ____dota_ts_adapter = require("lib.dota_ts_adapter") local BaseItem = ____dota_ts_adapter.BaseItem local BaseModifier = ____dota_ts_adapter.BaseModifier local registerAbility = ____dota_ts_adapter.registerAbility local registerModifier = ____dota_ts_adapter.registerModifier ____exports.item_divine_rapier_custom = __TS__Class() local item_divine_rapier_custom = ____exports.item_divine_rapier_custom item_divine_rapier_custom.name = "item_divine_rapier_custom" item_divine_rapier_custom.____file_path = "scripts/vscripts/items/default_items/item_divine_rapier_custom.lua" __TS__ClassExtends(item_divine_rapier_custom, BaseItem) function item_divine_rapier_custom.prototype.GetIntrinsicModifierName(self) return "modifier_divine_rapier_custom" end item_divine_rapier_custom = __TS__Decorate( item_divine_rapier_custom, item_divine_rapier_custom, {registerAbility(nil)}, {kind = "class", name = "item_divine_rapier_custom"} ) ____exports.item_divine_rapier_custom = item_divine_rapier_custom ____exports.modifier_divine_rapier_custom = __TS__Class() local modifier_divine_rapier_custom = ____exports.modifier_divine_rapier_custom modifier_divine_rapier_custom.name = "modifier_divine_rapier_custom" modifier_divine_rapier_custom.____file_path = "scripts/vscripts/items/default_items/item_divine_rapier_custom.lua" __TS__ClassExtends(modifier_divine_rapier_custom, BaseModifier) function modifier_divine_rapier_custom.prototype.IsHidden(self) return true end function modifier_divine_rapier_custom.prototype.IsDebuff(self) return false end function modifier_divine_rapier_custom.prototype.IsPurgable(self) return false end function modifier_divine_rapier_custom.prototype.GetAttributes(self) return MODIFIER_ATTRIBUTE_MULTIPLE end function modifier_divine_rapier_custom.prototype.DeclareFunctions(self) return {MODIFIER_PROPERTY_PREATTACK_BONUS_DAMAGE, MODIFIER_PROPERTY_PROCATTACK_BONUS_DAMAGE_PURE, MODIFIER_EVENT_ON_ATTACK_LANDED} end function modifier_divine_rapier_custom.prototype.OnAttackLanded(self, event) if self:GetParent() == event.attacker then local damage = self:GetAbility():GetSpecialValueFor("proc_damage") / 100 * self:GetParent():GetAverageTrueAttackDamage(event.target) SendOverheadEventMessage( nil, OVERHEAD_ALERT_DAMAGE, event.target, damage, nil ) local particle = ParticleManager:CreateParticle("models/heroes/phantom_assassin_persona/debut/particles/pa_debutdash/pa_debutdash_fragments.vpcf", PATTACH_CUSTOMORIGIN, nil) ParticleManager:SetParticleControl( particle, 0, event.target:GetAbsOrigin() ) ParticleManager:ReleaseParticleIndex(particle) ApplyDamage({victim = event.target, attacker = event.attacker, damage = damage, damage_type = DAMAGE_TYPE_PURE}) end end function modifier_divine_rapier_custom.prototype.GetModifierPreAttack_BonusDamage(self) return self:GetAbility():GetSpecialValueFor("bonus_damage") end modifier_divine_rapier_custom = __TS__Decorate( modifier_divine_rapier_custom, modifier_divine_rapier_custom, {registerModifier(nil)}, {kind = "class", name = "modifier_divine_rapier_custom"} ) ____exports.modifier_divine_rapier_custom = modifier_divine_rapier_custom return ____exports