2021-04-20 13:58:00 +08:00
|
|
|
|
HOT = Buff:New()
|
2020-05-09 13:31:21 +08:00
|
|
|
|
|
|
|
|
|
--初始化Buff,通过传入一些自定义参数控制成长相关的数值
|
|
|
|
|
function HOT:SetData(...)
|
|
|
|
|
|
|
|
|
|
self.interval,
|
|
|
|
|
self.healValue = ...
|
|
|
|
|
|
|
|
|
|
-- 刷新排序等级
|
|
|
|
|
self.sort = 1 -- 最先计算回血
|
|
|
|
|
end
|
|
|
|
|
|
2021-01-18 13:31:54 +08:00
|
|
|
|
|
2020-05-09 13:31:21 +08:00
|
|
|
|
--初始化后调用一次
|
|
|
|
|
function HOT:OnStart()
|
|
|
|
|
|
|
|
|
|
self.target.Event:DispatchEvent(BattleEventName.RoleBeHealed, self.caster)
|
|
|
|
|
end
|
|
|
|
|
|
2021-01-18 13:31:54 +08:00
|
|
|
|
--修改持续加血效果的加血值
|
|
|
|
|
function HOT:ChangeHealValue(newValue)
|
|
|
|
|
if newValue then
|
|
|
|
|
self.healValue=newValue
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
2020-05-09 13:31:21 +08:00
|
|
|
|
--间隔N帧触发,返回true时表示继续触发,返回false立刻触发OnEnd
|
|
|
|
|
function HOT:OnTrigger()
|
|
|
|
|
|
|
|
|
|
if not self.target.ctrl_noheal or self.target:IsDead() then --禁疗和死亡无法加血
|
|
|
|
|
BattleUtil.ApplyTreat(self.caster, self.target, self.healValue)
|
|
|
|
|
end
|
|
|
|
|
return true
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
--效果结束时调用一次
|
|
|
|
|
function HOT:OnEnd()
|
2021-01-14 15:20:26 +08:00
|
|
|
|
BattleLogic.Event:DispatchEvent(BattleEventName.HotBuffEnd, self)
|
2020-05-09 13:31:21 +08:00
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
--只有当cover字段为true时触发,返回true则被新效果覆盖
|
|
|
|
|
function HOT:OnCover(newBuff)
|
|
|
|
|
|
|
|
|
|
return true
|
|
|
|
|
end
|
|
|
|
|
|
2020-06-23 18:36:24 +08:00
|
|
|
|
return HOT
|