эффекты и недописанная литературная шизофрения
This commit is contained in:
parent
ce7b93fecd
commit
8cb6e62845
40
lib/character/behaviors/effects.lua
Normal file
40
lib/character/behaviors/effects.lua
Normal file
@ -0,0 +1,40 @@
|
||||
--- ===========ЛОГИКА ЭФФЕКТОВ И ЧТО С ЭТИМ ЕДЯТ===========
|
||||
--- Лайфтайм эффектов можно поделить на три этапа: рождение, тихая жизнь у моря, смерть
|
||||
---
|
||||
--- Рождение: Самый важный этап в жизни эффекта, потому что от него буквально зависит вся его судьба.
|
||||
--- Когда мы применяем к объекту эффект, мы в первую очередь смотрим и ищем те эффекты, которые ему
|
||||
--- противоречат, и если такие есть то один из них мы убиваем (чуть позже в этом слове будет больше смысла),
|
||||
--- а накладываемый эффект не применяем. Например: мы невероятно влажные (по какой-то причине) и в нас
|
||||
--- кидают фаерболл. После того как в нас попадает сей чудный огненный шар, к нам пытается примениться
|
||||
--- эффект горения, но мы слишком мокрые для этого, поэтому вместо добавления одного эффекта мы теряем
|
||||
--- один. После этого мы смотрим, есть ли у этих эффектов какая-то "сумма", и применяем её в
|
||||
--- соответствии с правилами описанными в ней же. То есть, продолжая этот же пример, вокруг нас должен
|
||||
--- образоваться пар, что (например) мешает обзору на один ход.
|
||||
---
|
||||
--- Тихая жизнь: На самом деле не очень тихая. Если эффект применён к персонажу, который находится в
|
||||
--- очереди ходов, то эффект после своего рождения применяется в конце хода своего владельца.
|
||||
|
||||
--- behavior thats holds all effects that we applied
|
||||
--- @class EffectsBehavior : Behavior
|
||||
--- @field effects table<Effect, integer>
|
||||
local behavior = {}
|
||||
behavior.__index = behavior
|
||||
behavior.id = "effects"
|
||||
|
||||
--- @return EffectsBehavior
|
||||
function behavior.new()
|
||||
return setmetatable({}, behavior)
|
||||
end
|
||||
|
||||
--- проверяет, можно ли наложить эффект и при наложении его применяет
|
||||
--- @param effect Effect
|
||||
function behavior:addEffect(effect)
|
||||
|
||||
end
|
||||
|
||||
--- должен вызываться в конце хода;
|
||||
function behavior:updateEffects()
|
||||
|
||||
end
|
||||
|
||||
return behavior
|
||||
17
lib/spell/effect.lua
Normal file
17
lib/spell/effect.lua
Normal file
@ -0,0 +1,17 @@
|
||||
--- @class Effect
|
||||
local effect = {}
|
||||
effect.__index = effect
|
||||
|
||||
function effect:update(dt)
|
||||
|
||||
end
|
||||
|
||||
function effect:draw()
|
||||
|
||||
end
|
||||
|
||||
function effect.new()
|
||||
return setmetatable({}, effect)
|
||||
end
|
||||
|
||||
return effect
|
||||
Loading…
x
Reference in New Issue
Block a user