refactor effectdata

This commit is contained in:
neckrat 2026-05-02 02:00:33 +03:00
parent 3d125f5cbc
commit aac6e5e8f4
2 changed files with 16 additions and 15 deletions

View File

@ -9,8 +9,10 @@ local easing = require "lib.utils.easing"
---
--- Наносит `intensity` урона перед началом каждого хода.
local bleeding = effect.new({
tag = "bleeding",
afterBirth = function(owner, intensity)
tag = "bleeding"
})
function bleeding:afterBirth(owner, intensity)
local light = require "lib/character/character".spawn("Bleeding Light Effect")
light:addBehavior {
Tree.behaviors.light.new { color = Vec3 { 1, 0., 0. }, intensity = 4 },
@ -23,7 +25,6 @@ local bleeding = effect.new({
return task.fromValue()
end) })
end
})
function bleeding:beforeTurn(owner, intensity)
local stats = owner:has(Tree.behaviors.stats)

View File

@ -19,7 +19,7 @@ effect.__index = effect
--- @alias EffectStatementFunc fun(owner: Character, intensity: integer): Task<nil>, boolean
--- @alias EffectDamageFunc fun(owner: Character, intensity: integer, damage: integer): Task<nil>, integer
--- @alias EffectRegenFunc fun(owner: Character, intensity: integer, amountHp: integer): Task<nil>, integer
--- @alias EffectData { tag: string, [string]: EffectFunc|EffectStatementFunc|EffectDamageFunc|EffectRegenFunc }
--- @alias EffectData { tag: string }
--- Срабатывает перед применением эффекта
---