From a4b29af579a27998b2f6bdba1205874518749672 Mon Sep 17 00:00:00 2001 From: neckrat Date: Sun, 19 Apr 2026 02:30:34 +0300 Subject: [PATCH] before after semantic (php my beloved gif) --- lib/spell/effect.lua | 37 ++++++++++++++++++++++++++++--------- 1 file changed, 28 insertions(+), 9 deletions(-) diff --git a/lib/spell/effect.lua b/lib/spell/effect.lua index c984259..cecc8b1 100644 --- a/lib/spell/effect.lua +++ b/lib/spell/effect.lua @@ -3,18 +3,36 @@ local effect = {} effect.__index = effect ---- @param owner Character -function effect:onBirth(owner) -end +function effect:beforeBirth() end ---- @param owner Character -function effect:onDeath(owner) end +function effect:afterBirth() end ---- @param owner Character -function effect:onStartTurn(owner) end +function effect:beforeDeath() end ---- @param owner Character -function effect:onEndTurn(owner) end +function effect:afterDeath() end + +function effect:beforeTurn() end + +function effect:afterTurn() end + +function effect:beforeCast() end + +function effect:afterCast() end + +--- @param damage integer +function effect:beforeAttack(damage) end + +function effect:afterAttack() end + +--- @param damage integer +function effect:beforeDamage(damage) end + +function effect:afterDamage() end + +--- @param damage integer +function effect:beforeRegeneration(damage) end + +function effect:afterRegeneration() end --- @param other Effect --- @return Effect|nil @@ -24,6 +42,7 @@ function effect:update(dt) end function effect:draw() end +--- @todo переделать дату и прочее --- @param data {tag: string, onBirth: fun(owner: Character)?, onDeath: fun(owner: Character)?, onStartTurn: fun(owner: Character)?, onEndTurn: fun(owner: Character)?, sum: fun(owner: Character)?} --- @return Effect local function new(data)