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