feature/effects #37

Manually merged
neckrat merged 64 commits from feature/effects into main 2026-05-06 10:19:49 +03:00
Showing only changes of commit 5c464bc9ee - Show all commits

View File

@ -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