HOT.lua 938 B

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. HOT = Buff:New()
  2. --初始化Buff,通过传入一些自定义参数控制成长相关的数值
  3. function HOT:SetData(...)
  4. self.interval,
  5. self.healValue = ...
  6. -- 刷新排序等级
  7. self.sort = 1 -- 最先计算回血
  8. self.isBuff = true
  9. end
  10. --初始化后调用一次
  11. function HOT:OnStart()
  12. self.target.Event:DispatchEvent(BattleEventName.RoleBeHealed, self.caster)
  13. end
  14. --间隔N帧触发,返回true时表示继续触发,返回false立刻触发OnEnd
  15. function HOT:OnTrigger()
  16. if not self.target.ctrl_noheal or self.target:IsDead() then --禁疗和死亡无法加血
  17. BattleUtil.ApplyTreat(self.caster, self.target, self.healValue)
  18. end
  19. return true
  20. end
  21. --效果结束时调用一次
  22. function HOT:OnEnd()
  23. end
  24. --只有当cover字段为true时触发,返回true则被新效果覆盖
  25. function HOT:OnCover(newBuff)
  26. return true
  27. end
  28. return HOT