diff --git a/logic/controller/fight_boss野怪和地图怪.go b/logic/controller/fight_boss野怪和地图怪.go index 85aa5e56c..4ae4d186b 100644 --- a/logic/controller/fight_boss野怪和地图怪.go +++ b/logic/controller/fight_boss野怪和地图怪.go @@ -29,8 +29,6 @@ func (Controller) PlayerFightBoss(data *fight.ChallengeBossInboundInfo, p *playe var monster *model.PetInfo monsterInfo := &model.PlayerInfo{} - var taskID int - var canCapture int mdata := service.NewMapNodeService().GetDataNode(p.Info.MapID, data.BossId) if mdata == nil { return nil, errorcode.ErrorCodes.ErrPokemonNotExists @@ -75,67 +73,14 @@ func (Controller) PlayerFightBoss(data *fight.ChallengeBossInboundInfo, p *playe monsterInfo.PetList = append(monsterInfo.PetList, *monster) } if bosinfo[0].IsCapture == 1 { - canCapture = xmlres.PetMAP[int(monster.ID)].CatchRate + if grand.Meet(1, 500) { monsterInfo.PetList[0].RandomByWeightShiny() } } monsterInfo.Nick = mdata.NodeName //xmlres.PetMAP[int(monster.ID)].DefName - // for _, bc := range mdata.Bosses { - // if bc.Id == nil { - - // bc.Id = gconv.PtrInt(0) - // } - - // if (bc.Id == nil && data.BossId == 0) || uint32(*bc.Id) == data.BossId { //打默认第一个boss - // if bc.TaskID != nil { - // taskID = *bc.TaskID - // } - - // for i, bm := range bc.BossMon { - - // monster = model.GenPetInfo( - // gconv.Int(processMonID(bm.MonID)), dv, //24个体 - // -1, - // 0, //野怪没特性 - - // bm.Lv, nil, 0) - // monster.CatchTime = uint32(i) - // if bm.Hp != 0 { - // monster.Hp = uint32(bm.Hp) - // monster.MaxHp = uint32(bm.Hp) - // } - - // for _, v := range strings.Split(bm.NewSeIdxs, " ") { - // idx := gconv.Uint16(v) - - // if idx == 0 { - // continue - // } - - // EID, args := service.NewEffectService().Args(uint32(idx)) - // monster.EffectInfo = append(monster.EffectInfo, model.PetEffectInfo{ - // Idx: idx, - // EID: gconv.Uint16(EID), - // Args: gconv.Ints(args), - // }) - // } - // monsterInfo.PetList = append(monsterInfo.PetList, *monster) - // } - // if bc.BossCatchable == 1 { - // canCapture = xmlres.PetMAP[int(monster.ID)].CatchRate - // if grand.Meet(1, 500) { - // monsterInfo.PetList[0].RandomByWeightShiny() - // } - - // } - // monsterInfo.Nick = bc.Name //xmlres.PetMAP[int(monster.ID)].DefName - // break - // } - - // } if len(monsterInfo.PetList) == 0 { return nil, errorcode.ErrorCodes.ErrPokemonNotExists } @@ -143,12 +88,15 @@ func (Controller) PlayerFightBoss(data *fight.ChallengeBossInboundInfo, p *playe p.Fightinfo.Mode = info.BattleMode.MULTI_MODE ai := player.NewAI_player(monsterInfo) - ai.CanCapture = canCapture + ai.CanCapture = bosinfo[0].IsCapture + if xmlres.PetMAP[int(monster.ID)].CatchRate == 0 { + ai.CanCapture = 0 + } ai.Prop[0] = 2 fight.NewFight(p, ai, func(foi info.FightOverInfo) { - if taskID != 0 { + if mdata.WinBonusID != 0 { if foi.Reason == 0 && foi.WinnerId == p.Info.UserID { - p.SptCompletedTask(taskID, 1) + p.SptCompletedTask(mdata.WinBonusID, 1) } } diff --git a/logic/service/space/space.go b/logic/service/space/space.go index fd49ba644..e66bd2b7a 100644 --- a/logic/service/space/space.go +++ b/logic/service/space/space.go @@ -146,7 +146,9 @@ func GetSpace(id uint32) *Space { for i := 0; i < len(ret.MapBossSInfo.INFO); i++ { s := len(ret.MapBossSInfo.INFO[i].PosInfo) - ret.MapBossSInfo.INFO[i].Pos = ret.MapBossSInfo.INFO[i].PosInfo[(grand.Intn(s-1)+1+int(ret.MapBossSInfo.INFO[i].PosIndex))%s] + if s != 0 { + ret.MapBossSInfo.INFO[i].Pos = ret.MapBossSInfo.INFO[i].PosInfo[(grand.Intn(s-1)+1+int(ret.MapBossSInfo.INFO[i].PosIndex))%s] + } _, ok := lo.Find(ret.MapBossSInfo.INFO[i].Wer, func(item int32) bool { return item == ret.MapBossSInfo.Wer diff --git a/modules/config/model/boss_pet.go b/modules/config/model/boss_pet.go index a4945cabe..f0b5d4f7e 100644 --- a/modules/config/model/boss_pet.go +++ b/modules/config/model/boss_pet.go @@ -15,8 +15,8 @@ type BossConfig struct { MapID int32 `gorm:"not null;index;comment:'所属地图ID'" json:"map_id" description:"地图ID"` - Ordernum int32 `gorm:"not null;comment:'排序'" json:"ordernum" description:"排序"` - ParentID int32 `gorm:"column:parentId;type:int" json:"parentId"` // 父ID + Ordernum int32 `gorm:"not null;default:0;comment:'排序'" json:"ordernum" description:"排序"` + ParentID int32 `gorm:"not null;default:0;column:parentId;type:int" json:"parentId"` // 父ID Remark string `gorm:"comment:'BOSS备注'" json:"remark"` //是否可捕捉MapPit IsCapture int `gorm:"type:int;default:0;comment:'是否可捕捉'" json:"is_capture"`