diff --git a/logic/controller/fight_boss野怪和地图怪.go b/logic/controller/fight_boss野怪和地图怪.go index 4d65678a..2ed65d32 100644 --- a/logic/controller/fight_boss野怪和地图怪.go +++ b/logic/controller/fight_boss野怪和地图怪.go @@ -10,6 +10,7 @@ import ( "blazing/logic/service/fight/info" "blazing/logic/service/player" + configmodel "blazing/modules/config/model" "blazing/modules/config/service" "blazing/modules/player/model" @@ -33,12 +34,17 @@ func (Controller) PlayerFightBoss(data1 *fight.ChallengeBossInboundInfo, p *play if mdata == nil { return nil, errorcode.ErrorCodes.ErrPokemonNotExists } - - if len(mdata.BossIds) == 0 { + var bosinfo []configmodel.BossConfig + switch len(mdata.BossIds) { + case 0: return nil, errorcode.ErrorCodes.ErrPokemonNotExists + case 1: + bosinfo = service.NewBossService().Get(mdata.BossIds[0]) + default: + bosinfo = service.NewBossService().Get(mdata.BossIds[grand.Intn(len(mdata.BossIds))]) } - bosinfo := service.NewBossService().Get(mdata.BossIds[0]) - if bosinfo == nil { + + if len(bosinfo) == 0 { return nil, errorcode.ErrorCodes.ErrPokemonNotExists } dv := 24 diff --git a/logic/service/player/Monster.go b/logic/service/player/Monster.go index 7c051d14..fdf71fd1 100644 --- a/logic/service/player/Monster.go +++ b/logic/service/player/Monster.go @@ -64,6 +64,7 @@ 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 { //说明这里只固定刷一个,概率变尼尔尼奥,不是稀有精灵