diff --git a/logic/controller/map.go b/logic/controller/map.go index e05c423b..e1b81344 100644 --- a/logic/controller/map.go +++ b/logic/controller/map.go @@ -51,7 +51,7 @@ func (h *Controller) MapLeave(data *maps.LeaveMapInboundInfo, c *player.Player) } func (h *Controller) MapList(data *maps.ListMapPlayerInboundInfo, c *player.Player) (result *info.ListMapPlayerOutboundInfo, err errorcode.ErrorCode) { //这个时候player应该是空的 atomic.StoreUint32(&c.Canmon, 2) - atomic.StoreUint32(&c.Canmon, 0) + if atomic.LoadUint32(&c.GetSpace().TimeBoss.Flag) == 1 { defer c.SendPackCmd(2022, &c.GetSpace().TimeBoss) } diff --git a/logic/service/fight/boss/NewSeIdx_9.go b/logic/service/fight/boss/NewSeIdx_9.go index 38c07e5e..a56abb01 100644 --- a/logic/service/fight/boss/NewSeIdx_9.go +++ b/logic/service/fight/boss/NewSeIdx_9.go @@ -14,6 +14,11 @@ 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 { diff --git a/modules/blazing/model/pet.go b/modules/blazing/model/pet.go index 3a08b421..330acea1 100644 --- a/modules/blazing/model/pet.go +++ b/modules/blazing/model/pet.go @@ -223,13 +223,12 @@ func (pet *PetInfo) RnadAN() { EID: uint16(gconv.Int16(v.Eid)), Args: v.ArgsS, } - _, eff1, ok := utils.FindWithIndex(pet.EffectInfo, func(item PetEffectInfo) bool { - return gconv.Int(xmlres.EffectMAP[int(item.Idx)].Stat) == 1 - }) - if ok { - copier.Copy(eff1, ret) + + if pet.HaveAN() { + copier.Copy(pet.EffectInfo[0], ret) + } else { + pet.EffectInfo = append(pet.EffectInfo, *ret) } - pet.EffectInfo = append(pet.EffectInfo, *ret) break }