32 lines
1.2 KiB
Lua
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
|