Compare commits

..

2 Commits

View File

@ -27,13 +27,13 @@ effect.__index = effect
--- @param owner Character --- @param owner Character
--- @param intensity integer --- @param intensity integer
--- @return Task<nil>, boolean --- @return Task<nil>, boolean
function effect:beforeBirth(owner, intensity) return taskUtils.wait {}, true end function effect:beforeBirth(owner, intensity) return taskUtils.fromValue(), true end
--- Срабатывает после применения эффекта --- Срабатывает после применения эффекта
--- @param owner Character --- @param owner Character
--- @param intensity integer --- @param intensity integer
--- @return Task<nil> --- @return Task<nil>
function effect:afterBirth(owner, intensity) return taskUtils.wait {} end function effect:afterBirth(owner, intensity) return taskUtils.fromValue() end
--- Срабатывает перед смертью владельца эффекта --- Срабатывает перед смертью владельца эффекта
--- ---
@ -41,13 +41,13 @@ function effect:afterBirth(owner, intensity) return taskUtils.wait {} end
--- @param owner Character --- @param owner Character
--- @param intensity integer --- @param intensity integer
--- @return Task<nil>, boolean --- @return Task<nil>, boolean
function effect:beforeDeath(owner, intensity) return taskUtils.wait {}, true end function effect:beforeDeath(owner, intensity) return taskUtils.fromValue(), true end
--- Срабатывает после смерти владельца эффекта --- Срабатывает после смерти владельца эффекта
--- @param owner Character --- @param owner Character
--- @param intensity integer --- @param intensity integer
--- @return Task<nil> --- @return Task<nil>
function effect:afterDeath(owner, intensity) return taskUtils.wait {} end function effect:afterDeath(owner, intensity) return taskUtils.fromValue() end
--- Срабатывает перед ходом владельца эффекта --- Срабатывает перед ходом владельца эффекта
--- ---
@ -55,13 +55,13 @@ function effect:afterDeath(owner, intensity) return taskUtils.wait {} end
--- @param owner Character --- @param owner Character
--- @param intensity integer --- @param intensity integer
--- @return Task<nil>, boolean --- @return Task<nil>, boolean
function effect:beforeTurn(owner, intensity) return taskUtils.wait {}, true end function effect:beforeTurn(owner, intensity) return taskUtils.fromValue(), true end
--- Срабатывает после хода владельца эффекта --- Срабатывает после хода владельца эффекта
--- @param owner Character --- @param owner Character
--- @param intensity integer --- @param intensity integer
--- @return Task<nil> --- @return Task<nil>
function effect:afterTurn(owner, intensity) return taskUtils.wait {} end function effect:afterTurn(owner, intensity) return taskUtils.fromValue() end
--- Срабатывает перед кастом заклинания владельцем эффекта --- Срабатывает перед кастом заклинания владельцем эффекта
--- ---
@ -69,13 +69,13 @@ function effect:afterTurn(owner, intensity) return taskUtils.wait {} end
--- @param owner Character --- @param owner Character
--- @param intensity integer --- @param intensity integer
--- @return Task<nil>, boolean --- @return Task<nil>, boolean
function effect:beforeCast(owner, intensity) return taskUtils.wait {}, true end function effect:beforeCast(owner, intensity) return taskUtils.fromValue(), true end
--- Срабатывает после каста заклинания владельцем эффекта --- Срабатывает после каста заклинания владельцем эффекта
--- @param owner Character --- @param owner Character
--- @param intensity integer --- @param intensity integer
--- @return Task<nil> --- @return Task<nil>
function effect:afterCast(owner, intensity) return taskUtils.wait {} end function effect:afterCast(owner, intensity) return taskUtils.fromValue() end
--- Срабатывает перед нанесением урона владельцем эффекта --- Срабатывает перед нанесением урона владельцем эффекта
--- ---
@ -84,13 +84,13 @@ function effect:afterCast(owner, intensity) return taskUtils.wait {} end
--- @param intensity integer --- @param intensity integer
--- @param damage integer --- @param damage integer
--- @return Task<nil>, integer --- @return Task<nil>, integer
function effect:beforeAttack(owner, intensity, damage) return taskUtils.wait {}, damage end function effect:beforeAttack(owner, intensity, damage) return taskUtils.fromValue(), damage end
--- Срабатывает после нанесения урона владельцем эффекта --- Срабатывает после нанесения урона владельцем эффекта
--- @param owner Character --- @param owner Character
--- @param intensity integer --- @param intensity integer
--- @return Task<nil> --- @return Task<nil>
function effect:afterAttack(owner, intensity) return taskUtils.wait {} end function effect:afterAttack(owner, intensity) return taskUtils.fromValue() end
--- Срабатывает перед получением урона владельцем эффекта --- Срабатывает перед получением урона владельцем эффекта
--- ---
@ -99,13 +99,13 @@ function effect:afterAttack(owner, intensity) return taskUtils.wait {} end
--- @param intensity integer --- @param intensity integer
--- @param damage integer --- @param damage integer
--- @return Task<nil>, integer --- @return Task<nil>, integer
function effect:beforeDamage(owner, intensity, damage) return taskUtils.wait {}, damage end function effect:beforeDamage(owner, intensity, damage) return taskUtils.fromValue(), damage end
--- Срабатывает после получения урона владельцем эффекта --- Срабатывает после получения урона владельцем эффекта
--- @param owner Character --- @param owner Character
--- @param intensity integer --- @param intensity integer
--- @return Task<nil> --- @return Task<nil>
function effect:afterDamage(owner, intensity) return taskUtils.wait {} end function effect:afterDamage(owner, intensity) return taskUtils.fromValue() end
--- Срабатывает перед регенерацией здоровья владельцем эффекта --- Срабатывает перед регенерацией здоровья владельцем эффекта
--- ---
@ -114,13 +114,13 @@ function effect:afterDamage(owner, intensity) return taskUtils.wait {} end
--- @param intensity integer --- @param intensity integer
--- @param amountHp integer кол-во хп для регена --- @param amountHp integer кол-во хп для регена
--- @return Task<nil>, integer --- @return Task<nil>, integer
function effect:beforeRegeneration(owner, intensity, amountHp) return taskUtils.wait {}, amountHp end function effect:beforeRegeneration(owner, intensity, amountHp) return taskUtils.fromValue(), amountHp end
--- Срабатывает после регенерации здоровья владельцем эффекта --- Срабатывает после регенерации здоровья владельцем эффекта
--- @param owner Character --- @param owner Character
--- @param intensity integer --- @param intensity integer
--- @return Task<nil> --- @return Task<nil>
function effect:afterRegeneration(owner, intensity) return taskUtils.wait {} end function effect:afterRegeneration(owner, intensity) return taskUtils.fromValue() end
function effect:update(dt) end function effect:update(dt) end
@ -140,83 +140,6 @@ local function new(data)
tag = data.tag tag = data.tag
}, effect) }, effect)
function newEffect:beforeBirth(owner, intensity)
if not data.beforeBirth then return taskUtils.wait {}, true end
local task, statement = data.beforeBirth(owner, intensity)
return task, statement
end
function newEffect:afterBirth(owner, intensity)
if not data.afterBirth then return taskUtils.wait {} end
return data.afterBirth(owner, intensity)
end
function newEffect:beforeDeath(owner, intensity)
if not data.beforeDeath then return taskUtils.wait {}, true end
local task, statement = data.beforeBirth(owner, intensity)
return task, statement
end
function newEffect:afterDeath(owner, intensity)
if not data.afterDeath then return taskUtils.wait {} end
return data.afterDeath(owner, intensity)
end
function newEffect:beforeTurn(owner, intensity)
if not data.beforeTurn then return taskUtils.wait {}, true end
local task, statement = data.beforeBirth(owner, intensity)
return task, statement
end
function newEffect:afterTurn(owner, intensity)
if not data.afterTurn then return taskUtils.wait {} end
return data.afterTurn(owner, intensity)
end
function newEffect:beforeCast(owner, intensity)
if not data.beforeCast then return taskUtils.wait {}, true end
local task, statement = data.beforeBirth(owner, intensity)
return task, statement
end
function newEffect:afterCast(owner, intensity)
if not data.afterCast then return taskUtils.wait {} end
return data.afterCast(owner, intensity)
end
function newEffect:beforeAttack(owner, intensity, damage)
if not data.beforeAttack then return taskUtils.wait {}, damage end
local task, newDamage = data.beforeDamage(owner, intensity, damage)
return task, newDamage
end
function newEffect:afterAttack(owner, intensity)
if not data.afterAttack then return taskUtils.wait {} end
return data.afterAttack(owner, intensity)
end
function newEffect:beforeDamage(owner, intensity, damage)
if not data.beforeDamage then return taskUtils.wait {}, damage end
local task, newDamage = data.beforeDamage(owner, intensity, damage)
return task, newDamage
end
function newEffect:afterDamage(owner, intensity)
if not data.afterDamage then return taskUtils.wait {} end
return data.afterDamage(owner, intensity)
end
function newEffect:beforeRegeneration(owner, intensity, amountHp)
if not data.beforeRegeneration then return taskUtils.wait {}, amountHp end
local task, newAmountHp = data.beforeRegeneration(owner, intensity, amountHp)
return task, newAmountHp
end
function newEffect:afterRegeneration(owner, intensity)
if not data.afterRegeneration then return taskUtils.wait {} end
return data.afterRegeneration(owner, intensity)
end
--- дип сравнение эффектов --- дип сравнение эффектов
--- @param other Effect --- @param other Effect
--- @return boolean --- @return boolean