refactor effectdata
This commit is contained in:
parent
3d125f5cbc
commit
aac6e5e8f4
@ -9,22 +9,23 @@ local easing = require "lib.utils.easing"
|
|||||||
---
|
---
|
||||||
--- Наносит `intensity` урона перед началом каждого хода.
|
--- Наносит `intensity` урона перед началом каждого хода.
|
||||||
local bleeding = effect.new({
|
local bleeding = effect.new({
|
||||||
tag = "bleeding",
|
tag = "bleeding"
|
||||||
afterBirth = function(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 },
|
|
||||||
Tree.behaviors.positioned.new(owner:has(Tree.behaviors.positioned).position + Vec3 { 0.5, 0.5 }),
|
|
||||||
}
|
|
||||||
|
|
||||||
return task.wait({ task.chain(task.tween(light:has(Tree.behaviors.light) --[[@as LightBehavior]],
|
|
||||||
{ intensity = 1, color = Vec3 { 0, 0., 0. } }, 800, easing.easeInCubic), function()
|
|
||||||
light:die()
|
|
||||||
return task.fromValue()
|
|
||||||
end) })
|
|
||||||
end
|
|
||||||
})
|
})
|
||||||
|
|
||||||
|
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 },
|
||||||
|
Tree.behaviors.positioned.new(owner:has(Tree.behaviors.positioned).position + Vec3 { 0.5, 0.5 }),
|
||||||
|
}
|
||||||
|
|
||||||
|
return task.wait({ task.chain(task.tween(light:has(Tree.behaviors.light) --[[@as LightBehavior]],
|
||||||
|
{ intensity = 1, color = Vec3 { 0, 0., 0. } }, 800, easing.easeInCubic), function()
|
||||||
|
light:die()
|
||||||
|
return task.fromValue()
|
||||||
|
end) })
|
||||||
|
end
|
||||||
|
|
||||||
function bleeding:beforeTurn(owner, intensity)
|
function bleeding:beforeTurn(owner, intensity)
|
||||||
local stats = owner:has(Tree.behaviors.stats)
|
local stats = owner:has(Tree.behaviors.stats)
|
||||||
local sprite = owner:has(Tree.behaviors.sprite)
|
local sprite = owner:has(Tree.behaviors.sprite)
|
||||||
|
|||||||
@ -19,7 +19,7 @@ effect.__index = effect
|
|||||||
--- @alias EffectStatementFunc fun(owner: Character, intensity: integer): Task<nil>, boolean
|
--- @alias EffectStatementFunc fun(owner: Character, intensity: integer): Task<nil>, boolean
|
||||||
--- @alias EffectDamageFunc fun(owner: Character, intensity: integer, damage: integer): Task<nil>, integer
|
--- @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 EffectRegenFunc fun(owner: Character, intensity: integer, amountHp: integer): Task<nil>, integer
|
||||||
--- @alias EffectData { tag: string, [string]: EffectFunc|EffectStatementFunc|EffectDamageFunc|EffectRegenFunc }
|
--- @alias EffectData { tag: string }
|
||||||
|
|
||||||
--- Срабатывает перед применением эффекта
|
--- Срабатывает перед применением эффекта
|
||||||
---
|
---
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user