38 lines
988 B
Lua
38 lines
988 B
Lua
require("Modules/Battle/Logic/Base/Buff")
|
||
HOT = Buff:New()
|
||
|
||
--初始化Buff,通过传入一些自定义参数控制成长相关的数值
|
||
function HOT:SetData(...)
|
||
--log("HOT:SetData")
|
||
self.interval,
|
||
self.healValue = ...
|
||
self.isBuff = true
|
||
end
|
||
|
||
--初始化后调用一次
|
||
function HOT:OnStart()
|
||
--log("HOT:OnStart")
|
||
self.target.Event:DispatchEvent(BattleEventName.RoleBeHealed, self.caster)
|
||
end
|
||
|
||
--间隔N帧触发,返回true时表示继续触发,返回false立刻触发OnEnd
|
||
function HOT:OnTrigger()
|
||
--log("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()
|
||
--log("HOT:OnEnd")
|
||
end
|
||
|
||
--只有当cover字段为true时触发,返回true则被新效果覆盖
|
||
function HOT:OnCover(newBuff)
|
||
--log("HOT:OnCover")
|
||
return true
|
||
end
|
||
|
||
return HOT |