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_dark_crystalys = __TS__Class() local item_dark_crystalys = ____exports.item_dark_crystalys item_dark_crystalys.name = "item_dark_crystalys" item_dark_crystalys.____file_path = "scripts/vscripts/items/default_items/item_dark_crystalys.lua" __TS__ClassExtends(item_dark_crystalys, BaseItem) function item_dark_crystalys.prototype.GetIntrinsicModifierName(self) return "modifier_dark_crystalys" end item_dark_crystalys = __TS__Decorate( item_dark_crystalys, item_dark_crystalys, {registerAbility(nil)}, {kind = "class", name = "item_dark_crystalys"} ) ____exports.item_dark_crystalys = item_dark_crystalys ____exports.modifier_dark_crystalys = __TS__Class() local modifier_dark_crystalys = ____exports.modifier_dark_crystalys modifier_dark_crystalys.name = "modifier_dark_crystalys" modifier_dark_crystalys.____file_path = "scripts/vscripts/items/default_items/item_dark_crystalys.lua" __TS__ClassExtends(modifier_dark_crystalys, BaseModifier) function modifier_dark_crystalys.prototype.IsHidden(self) return true end function modifier_dark_crystalys.prototype.IsDebuff(self) return false end function modifier_dark_crystalys.prototype.IsPurgable(self) return false end function modifier_dark_crystalys.prototype.GetAttributes(self) return MODIFIER_ATTRIBUTE_MULTIPLE end function modifier_dark_crystalys.prototype.DeclareFunctions(self) return {MODIFIER_PROPERTY_PREATTACK_BONUS_DAMAGE} end function modifier_dark_crystalys.prototype.GetModifierPreAttack_BonusDamage(self) return self:GetAbility():GetSpecialValueFor("bonus_damage") end function modifier_dark_crystalys.prototype.OnCreated(self) if not IsServer() then return end local stackingCritMod = self:GetParent():FindModifierByName("modifier_stacking_crit") if stackingCritMod then local ability = self:GetAbility() local ____self_5 = stackingCritMod local ____self_5_AddCustomCrit_6 = ____self_5.AddCustomCrit local ____opt_0 = self:GetAbility() local ____temp_4 = ____opt_0 and ____opt_0:GetSpecialValueFor("crit_chance") or 0 local ____opt_2 = self:GetAbility() ____self_5_AddCustomCrit_6( ____self_5, ____temp_4, ____opt_2 and ____opt_2:GetSpecialValueFor("crit_mult") or 0, "item_dark_crystalys", ability ) end end function modifier_dark_crystalys.prototype.OnDestroy(self) if IsClient() then return end local parent = self:GetParent() if not parent or not IsValidEntity(parent) then return end local stackingCritModifier = parent:FindModifierByName("modifier_stacking_crit") if not stackingCritModifier then return end local ability = self:GetAbility() stackingCritModifier:RemoveCrit("item_dark_crystalys", ability) end modifier_dark_crystalys = __TS__Decorate( modifier_dark_crystalys, modifier_dark_crystalys, {registerModifier(nil)}, {kind = "class", name = "modifier_dark_crystalys"} ) ____exports.modifier_dark_crystalys = modifier_dark_crystalys return ____exports