From d2599f8764be0b2360784a4c9cac003aa2d0e72c Mon Sep 17 00:00:00 2001 From: neckrat Date: Wed, 22 Apr 2026 00:47:12 +0300 Subject: [PATCH] make animation work --- lib/character/behaviors/effects.lua | 8 ++++++-- lib/effectbook.lua | 3 --- lib/spell/effect.lua | 1 + 3 files changed, 7 insertions(+), 5 deletions(-) diff --git a/lib/character/behaviors/effects.lua b/lib/character/behaviors/effects.lua index 27a0c31..496c277 100644 --- a/lib/character/behaviors/effects.lua +++ b/lib/character/behaviors/effects.lua @@ -1,3 +1,5 @@ +local task = require "lib.utils.task" + --- ===========ЛОГИКА ЭФФЕКТОВ И ЧТО С ЭТИМ ЕДЯТ=========== --- читать здесь: https://docs.google.com/document/d/1Hxa5dOLaeRpLQOs5H-oIDDuLLhKbDw40lR9d62Zb4Tg/edit?usp=sharing @@ -43,8 +45,10 @@ end --- должен вызываться в начале хода function behavior:beforeTurn() for i, ef in ipairs(self.effectsPriority) do - local t = ef:beforeTurn(self.owner) - if not t then return end + local task1 = ef:beforeTurn(self.owner) + if task1 then + task1(function() end) + end end end diff --git a/lib/effectbook.lua b/lib/effectbook.lua index 0bab5c0..17a272a 100644 --- a/lib/effectbook.lua +++ b/lib/effectbook.lua @@ -4,9 +4,6 @@ local effect = require "lib.spell.effect" local bleeding = effect.new({ tag = "bleeding", beforeTurn = function(owner) - for i, c in pairs(owner) do - print(i, c) - end print("мы начали применять блидинг!!", owner) local stats = owner:has(Tree.behaviors.stats) local sprite = owner:has(Tree.behaviors.sprite) diff --git a/lib/spell/effect.lua b/lib/spell/effect.lua index a6ee888..e4b14dd 100644 --- a/lib/spell/effect.lua +++ b/lib/spell/effect.lua @@ -11,6 +11,7 @@ function effect:beforeDeath() end function effect:afterDeath() end +--- пока что это единственный метод, который работает --- @param owner Character --- @return Task|nil function effect:beforeTurn(owner) end