From 74ede45d9232eb0956a41546d267fc53c084ce4b Mon Sep 17 00:00:00 2001 From: xinian Date: Sun, 1 Mar 2026 11:25:30 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E6=B7=BB=E5=8A=A0=E5=AE=A0=E7=89=A9?= =?UTF-8?q?=E8=BF=9B=E5=8C=96=E7=AD=89=E7=BA=A7=E6=A3=80=E6=9F=A5=E5=B9=B6?= =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E9=99=8D=E7=BA=A7=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- logic/controller/pet_elo.go | 7 +++---- modules/player/model/pet.go | 3 ++- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/logic/controller/pet_elo.go b/logic/controller/pet_elo.go index f0957afb3..02fa9718e 100644 --- a/logic/controller/pet_elo.go +++ b/logic/controller/pet_elo.go @@ -11,10 +11,6 @@ import ( "github.com/jinzhu/copier" ) -// PetEVDiy 自定义分配宠物努力值(EV) -// data: 包含宠物捕获时间和EV分配数据的输入信息 -// c: 当前玩家对象 -// 返回: 分配结果和错误码 func (h Controller) PetELV(data *pet.C2S_PET_EVOLVTION, c *player.Player) (result *fight.NullOutboundInfo, err errorcode.ErrorCode) { _, currentPet, found := c.FindPet(data.CacthTime) if !found { @@ -26,6 +22,9 @@ func (h Controller) PetELV(data *pet.C2S_PET_EVOLVTION, c *player.Player) (resul if flag == 0 { return nil, errorcode.ErrorCodes.ErrPokemonNotEvolveReady } + if xmlres.PetMAP[int(currentPet.ID)].EvolvingLv > int(currentPet.Level) { +return nil, errorcode.ErrorCodes.ErrPokemonNotEvolveReady + } evinfo := xmlres.EVOLVMAP[flag].Branches[data.Index-1] if c.Service.Item.CheakItem(uint32(evinfo.EvolvItem)) < int64(evinfo.EvolvItemCount) { diff --git a/modules/player/model/pet.go b/modules/player/model/pet.go index 2ca11900a..8f348b44a 100644 --- a/modules/player/model/pet.go +++ b/modules/player/model/pet.go @@ -313,7 +313,8 @@ func (pet *PetInfo) Downgrade(level uint32) { if ok { - if basic.EvolvesFrom != 0 { + if basic.EvolvesFrom != 0 && xmlres.PetMAP[int(basic.EvolvesFrom)].EvolvFlag == 0 { + pet.ID = uint32(basic.EvolvesFrom) }