diff --git a/logic/service/fight/effect/effect_68.go b/logic/service/fight/effect/effect_68.go index e97133db..350d4f52 100644 --- a/logic/service/fight/effect/effect_68.go +++ b/logic/service/fight/effect/effect_68.go @@ -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)) } diff --git a/logic/service/fight/fightc.go b/logic/service/fight/fightc.go index f21072aa..de1e6e30 100644 --- a/logic/service/fight/fightc.go +++ b/logic/service/fight/fightc.go @@ -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