diff --git a/logic/controller/fight_boss野怪和地图怪.go b/logic/controller/fight_boss野怪和地图怪.go index 66acbeb61..d24d4e956 100644 --- a/logic/controller/fight_boss野怪和地图怪.go +++ b/logic/controller/fight_boss野怪和地图怪.go @@ -140,7 +140,7 @@ func (Controller) OnPlayerFightNpcMonster(data1 *fight.FightNpcMonsterInboundInf -1, 0, //野怪没特性 - int(refPet.Lv), + int(refPet.GetLevel()), refPet.ShinyInfo, -1) monster.CatchMap = p.Info.MapID //设置当前地图 if refPet.Ext != 0 { diff --git a/logic/service/player/Monster.go b/logic/service/player/Monster.go index fdf71fd1d..f5db4b18b 100644 --- a/logic/service/player/Monster.go +++ b/logic/service/player/Monster.go @@ -64,7 +64,6 @@ func (p *Player) GenMonster() { if p.Data[i].ID != 0 { p.Data[i].Lv = uint32(grand.N(v.MinLevel, v.MaxLevel)) - if len(v.RefreshID) == 1 { //说明这里只固定刷一个,概率变尼尔尼奥,不是稀有精灵 @@ -75,8 +74,6 @@ func (p *Player) GenMonster() { p.Data[i].Ext = 416 } - p.Data[i].Lv = 16 - } } diff --git a/logic/service/player/player.go b/logic/service/player/player.go index 574a731f5..e4727356f 100644 --- a/logic/service/player/player.go +++ b/logic/service/player/player.go @@ -46,6 +46,13 @@ func (o *OgrePetInfo) GetID() int { } return int(o.ID) } +func (o *OgrePetInfo) GetLevel() int { + + if o.Ext != 0 { + return 16 + } + return int(o.Lv) +} func (o *OgrePetInfo) FixSHiny() { var co *data.GlowFilter if o.Ext == 0 { @@ -80,14 +87,16 @@ func (o *OgrePetInfo) RandomByWeightShiny() { // handleNPCFightSpecial 处理NPC战斗特殊情况 func (o *OgrePetInfo) HandleNPCFightSpecial(v int) { - if v == 0 { - o.IsCapture = 0 - return - } npcPetID := int(o.ID) if o.Ext != 0 { npcPetID = int(o.Ext) + } else { + if v == 0 { + o.IsCapture = 0 + return + + } } petCfg, ok := xmlres.PetMAP[npcPetID]