fix: 修正战斗伤害锁与结束判定逻辑
All checks were successful
ci/woodpecker/push/my-first-workflow Pipeline was successful

This commit is contained in:
xinian
2026-03-08 18:43:56 +08:00
committed by cnb
parent c252d6b5f9
commit 53cf3191c2
2 changed files with 11 additions and 5 deletions

View File

@@ -26,10 +26,10 @@ func (e *Effect68) DamageLockEx(t *info.DamageZone) bool {
if t.Type != info.DamageType.Red {
return true
}
if e.Ctx().Our.CurrentPet.GetHP().Cmp(alpacadecimal.NewFromInt(1)) <= 0 {
if e.Ctx().Our.CurrentPet.GetHP().IntPart() <= 1 {
return true
}
if t.Damage.Cmp(e.Ctx().Our.CurrentPet.GetHP()) > 0 {
if t.Damage.Cmp(e.Ctx().Our.CurrentPet.GetHP()) >= 0 {
t.Damage = e.Ctx().Our.CurrentPet.GetHP().Sub(alpacadecimal.NewFromInt(1))
}

View File

@@ -329,9 +329,15 @@ func (f *FightC) enterturn(firstAttack, secondAttack *action.SelectSkillAction)
}
})
f.Switch = make(map[uint32]*action.ActiveSwitchAction)
// if f.closefight && f.Info.Mode == info.BattleMode.PET_MELEE {
// return
// }
if f.closefight && f.Info.Mode == info.BattleMode.PET_MELEE {
f.Broadcast(func(fighter *input.Input) {
if fighter.UserID != f.WinnerId {
fighter.Player.SendPackCmd(2505, &attackValueResult)
}
})
return
}
f.Broadcast(func(fighter *input.Input) {
fighter.Player.SendPackCmd(2505, &attackValueResult)
fighter.CanChange = 0