Files
Dota-Zombie-Invasion/scripts/vscripts/death_sentence_contracts_registry.lua
2026-05-29 15:11:31 +07:00

32 lines
1.2 KiB
Lua

local ____lualib = require("lualib_bundle")
local __TS__ArrayMap = ____lualib.__TS__ArrayMap
local __TS__ArrayFind = ____lualib.__TS__ArrayFind
local ____exports = {}
local CONTRACTS = {{id = "ds_contract_iron", nameToken = "death_sentence_contract_iron", rarity = "common", rewardMultiplier = 1}, {id = "ds_contract_blood", nameToken = "death_sentence_contract_blood", rarity = "rare", rewardMultiplier = 1.1}}
function ____exports.getDeathSentenceContractIds(self)
return __TS__ArrayMap(
CONTRACTS,
function(____, c) return c.id end
)
end
function ____exports.getDeathSentenceContractDef(self, id)
return __TS__ArrayFind(
CONTRACTS,
function(____, c) return c.id == id end
)
end
--- После базового скейла сложности в GameMode (враги).
function ____exports.applyDeathSentenceContractOnEnemySpawn(self, unit, contractId)
if not IsServer() or not contractId or not IsValidEntity(unit) then
return
end
if unit:GetTeam() == DOTA_TEAM_GOODGUYS then
return
end
if contractId == "ds_contract_blood" then
local arm = unit:GetPhysicalArmorBaseValue()
unit:SetPhysicalArmorBaseValue(arm + 1)
end
end
return ____exports