some effectbook refactor
This commit is contained in:
parent
53c83bf1a1
commit
5c464bc9ee
@ -80,13 +80,22 @@ function aversionToDeath:beforeTurn(owner, intensity)
|
||||
}, false
|
||||
end
|
||||
|
||||
----------------- Spellbook & Sum -----------------
|
||||
|
||||
--- Функция, которая облегчает создания ключа для таблицы суммирования.
|
||||
local function keySum(effect1, effect2)
|
||||
return { [effect1.tag] = true, [effect2.tag] = true }
|
||||
end
|
||||
|
||||
--- Принимает таблицу, в ключах которых тэги эффектов, которые мы хотим просуммировать, и в значениях которых функция,
|
||||
--- возвращающая применять ли эффект после суммирования.
|
||||
--- возвращающая булево значение: применять ли эффект после суммирования.
|
||||
---
|
||||
--- В функции порядок эффектов, что передали в качестве аргумента, не определён.
|
||||
--- @type table<table<string, boolean>, fun(owner: Character, effect1: Effect, effect2: Effect): boolean>
|
||||
local sums = {}
|
||||
sums[{ [bleeding.tag] = true, [aversionToDeath.tag] = true }] = function(owner, effect1, effect2)
|
||||
|
||||
--- Сумма кровотечения и отвращения к смерти, (в целях разработки) удаляет оба эффекта, не позволяя дальше применять эффект
|
||||
sums[keySum(bleeding, aversionToDeath)] = function(owner, effect1, effect2)
|
||||
print("[EffectBook]: применяем сумму, удаляем оба эффекта")
|
||||
local behaviorEffect = owner:has(Tree.behaviors.effects)
|
||||
if not behaviorEffect then
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user