Files
bl/logic/service/fight/boss/NewSeIdx_9.go
昔念 a000d78625 fix(map): 修复玩家离开地图时 Canmon 状态重置问题
修复了在玩家调用 MapList 接口时错误地将 Canmon 设置为 0 的逻辑
问题导致玩家状态异常,现已修正为正确的行为

---

fix(fight): 修复战斗中宠物死亡判断逻辑

在 NewSeIdx_9 战斗脚本中增加对当前宠物血量是否为 0 的检查
避免在宠物已死亡的情况下继续执行后续战斗逻辑,防止异常行为

---

refactor(pet): 优化宠物技能效果添加逻辑

移除冗余的 Effect 查找过程,简化为通过 HaveAN 判断是否存在技能
2025-12-09 18:49:36 +08:00

34 lines
819 B
Go
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

package effect
import (
"blazing/logic/service/fight/input"
)
// 9. 如果mon被打到BurstRecoverHP以下, 且没有挂掉, 则马上恢复到满HP;a1: burst_hp high-32, a2: burst_hp low-32
// TODO: 实现如果mon被打到BurstRecoverHP以下, 且没有挂掉, 则马上恢复到满HP;a1: burst_hp high-32, a2: burst_hp low-32的核心逻辑
type NewSel9 struct {
NewSel0
}
func (e *NewSel9) Action_end_ex() bool {
if e.ID().GetCatchTime() != e.Ctx().Our.CurrentPet.Info.CatchTime {
return true
}
if e.Ctx().Our.CurrentPet.GetHP().IntPart() == 0 {
return true
}
if e.Ctx().Our.CurrentPet.GetHP().Cmp(e.Args()[0]) == -1 {
e.Ctx().Our.Heal(e.Ctx().Our, nil, e.Ctx().Our.CurrentPet.GetMaxHP())
}
return true
}
func init() {
input.InitEffect(input.EffectType.NewSel, 9, &NewSel9{})
}