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 ____CardSystem = require("cards.CardSystem") local CardBase = ____CardSystem.CardBase local RegisterCard = ____CardSystem.RegisterCard local ____CardBaseModifier = require("cards.CardBaseModifier") local CardBaseModifier = ____CardBaseModifier.CardBaseModifier local ____dota_ts_adapter = require("lib.dota_ts_adapter") local registerModifier = ____dota_ts_adapter.registerModifier local ____hero_rage = require("abilities.system.hero_rage") local heroRageGetCurrent = ____hero_rage.heroRageGetCurrent local heroRageGetModifier = ____hero_rage.heroRageGetModifier local ____incoming_damage_reduction_combine = require("utils.incoming_damage_reduction_combine") local removeIncomingDamageReductionSource = ____incoming_damage_reduction_combine.removeIncomingDamageReductionSource local setIncomingDamageReductionSource = ____incoming_damage_reduction_combine.setIncomingDamageReductionSource local CARD_ID = 70 local CARD_70_INCOMING_SOURCE = "modifier_card_70" ____exports.card_70 = __TS__Class() local card_70 = ____exports.card_70 card_70.name = "card_70" card_70.____file_path = "scripts/vscripts/cards/examples/card_70.lua" __TS__ClassExtends(card_70, CardBase) function card_70.prototype.GetModifierName(self) return "modifier_card_70" end card_70 = __TS__Decorate(card_70, card_70, {RegisterCard}, {kind = "class", name = "card_70"}) ____exports.card_70 = card_70 ____exports.modifier_card_70 = __TS__Class() local modifier_card_70 = ____exports.modifier_card_70 modifier_card_70.name = "modifier_card_70" modifier_card_70.____file_path = "scripts/vscripts/cards/examples/card_70.lua" __TS__ClassExtends(modifier_card_70, CardBaseModifier) function modifier_card_70.prototype.OnCustomRefresh(self, _params) if not IsServer() then return end removeIncomingDamageReductionSource( nil, self:GetParent(), CARD_70_INCOMING_SOURCE ) self:OnCustomCreated(_params) end function modifier_card_70.prototype.OnCustomCreated(self, _params) if not IsServer() then return end setIncomingDamageReductionSource( nil, self:GetParent(), CARD_70_INCOMING_SOURCE, function() local hero = self:GetParent() if not hero or not IsValidEntity(hero) or not hero:IsRealHero() then return 0 end if not heroRageGetModifier(nil, hero) then return 0 end local rage = heroRageGetCurrent(nil, hero) if rage <= 0 then return 0 end local perUnit = self:getScaledCardValue("incoming_reduction_per_rage_pct", 0.1, CARD_ID) return math.max(0, rage * perUnit) end ) end function modifier_card_70.prototype.OnDestroy(self) if not IsServer() then return end removeIncomingDamageReductionSource( nil, self:GetParent(), CARD_70_INCOMING_SOURCE ) end modifier_card_70 = __TS__Decorate( modifier_card_70, modifier_card_70, {registerModifier(nil)}, {kind = "class", name = "modifier_card_70"} ) ____exports.modifier_card_70 = modifier_card_70 return ____exports