Compare commits
2 Commits
4cdd9f17ba
...
d8a89ec24b
| Author | SHA1 | Date | |
|---|---|---|---|
| d8a89ec24b | |||
| d587c93222 |
@ -65,6 +65,18 @@ function behavior:addEffect(effect, stacks, intensity)
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
--- Удаляет один эффект по порядку
|
||||||
|
--- @param effect Effect
|
||||||
|
function behavior:deleteEffect(effect)
|
||||||
|
self.effectsProperties[effect] = nil
|
||||||
|
for i, ef in ipairs(self.effectsPriority) do
|
||||||
|
if ef == effect then
|
||||||
|
table.remove(self.effectsPriority, i)
|
||||||
|
return
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
--- О ДААА ЭТА ФУНКЦИЯ МЕНЯЕТ СОСТОЯНИЕ О ДАААААА О ДАААААААААА
|
--- О ДААА ЭТА ФУНКЦИЯ МЕНЯЕТ СОСТОЯНИЕ О ДАААААА О ДАААААААААА
|
||||||
--- @param effect Effect
|
--- @param effect Effect
|
||||||
--- @param amount integer
|
--- @param amount integer
|
||||||
@ -74,15 +86,10 @@ function behavior:deleteStacks(effect, amount)
|
|||||||
amount -- !!!!!!!!!!!!!!!! <<<<< 21+ only
|
amount -- !!!!!!!!!!!!!!!! <<<<< 21+ only
|
||||||
if self.effectsProperties[effect].stacks <= 0 then
|
if self.effectsProperties[effect].stacks <= 0 then
|
||||||
print("[Effects]:", effect.tag, "ДОЛЖЕН БЫТЬ СТЁРТ")
|
print("[Effects]:", effect.tag, "ДОЛЖЕН БЫТЬ СТЁРТ")
|
||||||
self.effectsProperties[effect] = nil
|
self:deleteEffect(effect)
|
||||||
for i, ef in ipairs(self.effectsPriority) do
|
|
||||||
if ef == effect then
|
|
||||||
table.remove(self.effectsPriority, i)
|
|
||||||
print("[Effects]:", effect.tag, "СТЁРТ")
|
print("[Effects]:", effect.tag, "СТЁРТ")
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
--- должна вызываться перед смертью персонажа;
|
--- должна вызываться перед смертью персонажа;
|
||||||
---
|
---
|
||||||
|
|||||||
@ -137,79 +137,79 @@ local function new(data)
|
|||||||
}, effect)
|
}, effect)
|
||||||
|
|
||||||
function newEffect:beforeBirth(owner, intensity)
|
function newEffect:beforeBirth(owner, intensity)
|
||||||
if not data.beforeBirth then return end
|
if not data.beforeBirth then return taskUtils.wait {}, true end
|
||||||
local task, statement = data.beforeBirth(owner, intensity)
|
local task, statement = data.beforeBirth(owner, intensity)
|
||||||
return task, statement
|
return task, statement
|
||||||
end
|
end
|
||||||
|
|
||||||
function newEffect:afterBirth(owner, intensity)
|
function newEffect:afterBirth(owner, intensity)
|
||||||
if not data.afterBirth then return end
|
if not data.afterBirth then return taskUtils.wait {} end
|
||||||
return data.afterBirth(owner, intensity)
|
return data.afterBirth(owner, intensity)
|
||||||
end
|
end
|
||||||
|
|
||||||
function newEffect:beforeDeath(owner, intensity)
|
function newEffect:beforeDeath(owner, intensity)
|
||||||
if not data.beforeDeath then return end
|
if not data.beforeDeath then return taskUtils.wait {}, true end
|
||||||
local task, statement = data.beforeBirth(owner, intensity)
|
local task, statement = data.beforeBirth(owner, intensity)
|
||||||
return task, statement
|
return task, statement
|
||||||
end
|
end
|
||||||
|
|
||||||
function newEffect:afterDeath(owner, intensity)
|
function newEffect:afterDeath(owner, intensity)
|
||||||
if not data.afterDeath then return end
|
if not data.afterDeath then return taskUtils.wait {} end
|
||||||
return data.afterDeath(owner, intensity)
|
return data.afterDeath(owner, intensity)
|
||||||
end
|
end
|
||||||
|
|
||||||
function newEffect:beforeTurn(owner, intensity)
|
function newEffect:beforeTurn(owner, intensity)
|
||||||
if not data.beforeTurn then return end
|
if not data.beforeTurn then return taskUtils.wait {}, true end
|
||||||
local task, statement = data.beforeBirth(owner, intensity)
|
local task, statement = data.beforeBirth(owner, intensity)
|
||||||
return task, statement
|
return task, statement
|
||||||
end
|
end
|
||||||
|
|
||||||
function newEffect:afterTurn(owner, intensity)
|
function newEffect:afterTurn(owner, intensity)
|
||||||
if not data.afterTurn then return end
|
if not data.afterTurn then return taskUtils.wait {} end
|
||||||
return data.afterTurn(owner, intensity)
|
return data.afterTurn(owner, intensity)
|
||||||
end
|
end
|
||||||
|
|
||||||
function newEffect:beforeCast(owner, intensity)
|
function newEffect:beforeCast(owner, intensity)
|
||||||
if not data.beforeCast then return end
|
if not data.beforeCast then return taskUtils.wait {}, true end
|
||||||
local task, statement = data.beforeBirth(owner, intensity)
|
local task, statement = data.beforeBirth(owner, intensity)
|
||||||
return task, statement
|
return task, statement
|
||||||
end
|
end
|
||||||
|
|
||||||
function newEffect:afterCast(owner, intensity)
|
function newEffect:afterCast(owner, intensity)
|
||||||
if not data.afterCast then return end
|
if not data.afterCast then return taskUtils.wait {} end
|
||||||
return data.afterCast(owner, intensity)
|
return data.afterCast(owner, intensity)
|
||||||
end
|
end
|
||||||
|
|
||||||
function newEffect:beforeAttack(owner, intensity, damage)
|
function newEffect:beforeAttack(owner, intensity, damage)
|
||||||
if not data.beforeAttack then return end
|
if not data.beforeAttack then return taskUtils.wait {}, damage end
|
||||||
local task, newDamage = data.beforeDamage(owner, intensity, damage)
|
local task, newDamage = data.beforeDamage(owner, intensity, damage)
|
||||||
return task, newDamage
|
return task, newDamage
|
||||||
end
|
end
|
||||||
|
|
||||||
function newEffect:afterAttack(owner, intensity)
|
function newEffect:afterAttack(owner, intensity)
|
||||||
if not data.afterAttack then return end
|
if not data.afterAttack then return taskUtils.wait {} end
|
||||||
return data.afterAttack(owner, intensity)
|
return data.afterAttack(owner, intensity)
|
||||||
end
|
end
|
||||||
|
|
||||||
function newEffect:beforeDamage(owner, intensity, damage)
|
function newEffect:beforeDamage(owner, intensity, damage)
|
||||||
if not data.beforeDamage then return end
|
if not data.beforeDamage then return taskUtils.wait {}, damage end
|
||||||
local task, newDamage = data.beforeDamage(owner, intensity, damage)
|
local task, newDamage = data.beforeDamage(owner, intensity, damage)
|
||||||
return task, newDamage
|
return task, newDamage
|
||||||
end
|
end
|
||||||
|
|
||||||
function newEffect:afterDamage(owner, intensity)
|
function newEffect:afterDamage(owner, intensity)
|
||||||
if not data.afterDamage then return end
|
if not data.afterDamage then return taskUtils.wait {} end
|
||||||
return data.afterDamage(owner, intensity)
|
return data.afterDamage(owner, intensity)
|
||||||
end
|
end
|
||||||
|
|
||||||
function newEffect:beforeRegeneration(owner, intensity, amountHp)
|
function newEffect:beforeRegeneration(owner, intensity, amountHp)
|
||||||
if not data.beforeRegeneration then return end
|
if not data.beforeRegeneration then return taskUtils.wait {}, amountHp end
|
||||||
local task, newAmountHp = data.beforeRegeneration(owner, intensity, amountHp)
|
local task, newAmountHp = data.beforeRegeneration(owner, intensity, amountHp)
|
||||||
return task, newAmountHp
|
return task, newAmountHp
|
||||||
end
|
end
|
||||||
|
|
||||||
function newEffect:afterRegeneration(owner, intensity)
|
function newEffect:afterRegeneration(owner, intensity)
|
||||||
if not data.afterRegeneration then return end
|
if not data.afterRegeneration then return taskUtils.wait {} end
|
||||||
return data.afterRegeneration(owner, intensity)
|
return data.afterRegeneration(owner, intensity)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user