From ec18710047299d90ed6264d5f016e8cf1ef4d5c8 Mon Sep 17 00:00:00 2001 From: neckrat Date: Tue, 28 Apr 2026 22:03:49 +0300 Subject: [PATCH] additional comments in effect.lua --- lib/spell/effect.lua | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/lib/spell/effect.lua b/lib/spell/effect.lua index 24fbf70..3fe36a1 100644 --- a/lib/spell/effect.lua +++ b/lib/spell/effect.lua @@ -1,12 +1,20 @@ local utils = require "lib.utils.utils" local taskUtils = require "lib.utils.task" +--- Некоторое свойство, что можно наложить на персонажа. Позволяет реализовать такие вещи как DOT'ы +--- и вообще, что душа поживает. +--- +--- У каждого эффекта есть тэг (необязательно должен быть уникален, в этом случае эффекты будут приниматься за один +--- в случае суммирования) и функции триггеры (например, `beforeTurn`, что срабатывает перед началом хода персонажа и так далее). +--- Каждая функция триггер делится на два типа, `before...` и `after...`. Каждая из них возвращает `task`, для того чтобы +--- проиграть анимацию, например. Функции типа `before...` также возвращают по мимо таска некоторое значение, зависящее от +--- конкретной функции. --- @class Effect --- @field tag string local effect = {} effect.__index = effect ---- Предполагается, что в каждую функцию будет передаваться `Character` и параметр `intensity`, который отвечает за силу спелла +--- Предполагается, что в каждую функцию будет передаваться `Character` (владелец эффекта) и параметр `intensity`, который отвечает за силу спелла --- @alias EffectFunc fun(owner: Character, intensity: integer): Task, nil -- бред конечно, но иначе всё в жёлтом --- @alias EffectStatementFunc fun(owner: Character, intensity: integer): Task, boolean --- @alias EffectDamageFunc fun(owner: Character, intensity: integer, damage: integer): Task, integer @@ -114,10 +122,6 @@ function effect:beforeRegeneration(owner, intensity, amountHp) return taskUtils. --- @return Task function effect:afterRegeneration(owner, intensity) return taskUtils.wait {} end --- --- @param other Effect --- --- @return function --- function effect:sum(other) return function() end end - function effect:update(dt) end function effect:draw() end