c1_lua/lua/app/module/battle/helper/battle_buff_special.lua
2023-04-18 11:52:46 +08:00

53 lines
1.4 KiB
Lua

local BattleConst = require "app/module/battle/battle_const"
local BattleBuffSpecial = {}
local BUFF_NAME = BattleConst.BUFF_NAME
local ATTR_NAME = BattleConst.ATTR_NAM
local function _addSkillOn(unitComp, buff, target, buffEffect)
return 1
end
local function _addSkillOff(buffSender, target, buff, buffEffect)
return 1
end
local function _skillFireTimesOn(unitComp, buff, target, buffEffect)
target.unitEntity:addSkillExtraUseTimes(buff:getEffectNum(), 1)
return 1
end
local function _skillFireTimesOff(buffSender, target, buff, buffEffect)
target.unitEntity:addSkillExtraUseTimes(buff:getEffectNum(), -1)
return 1
end
local _handleOn = {
[BUFF_NAME.ADD_SKILL] = _addSkillOn, -- 添加技能
[BUFF_NAME.SKILL_FIRE_TIMES] = _skillFireTimesOn, -- 技能额外使用次数
}
local _handleOff = {
[BUFF_NAME.ADD_SKILL] = _addSkillOff, -- 添加技能
[BUFF_NAME.SKILL_FIRE_TIMES] = _skillFireTimesOff, -- 技能额外使用次数
}
-- 特殊buff添加时
function BattleBuffSpecial.specialBuffOn(unitComp, buff, target, buffEffect)
local func = _handleOn[buff:getName()]
if func then
return func(unitComp, buff, target, buffEffect)
end
return 0
end
-- 特殊buff移除时
function BattleBuffSpecial.specialBuffOff(buffSender, target, buff, buffEffect)
local func = _handleOff[buff:getName()]
if func then
func(buffSender, target, buff, buffEffect)
end
end
return BattleBuffSpecial