diff --git a/logic/controller/fight_boss.go b/logic/controller/fight_boss.go index 0f034815..5aa2f4c3 100644 --- a/logic/controller/fight_boss.go +++ b/logic/controller/fight_boss.go @@ -191,6 +191,7 @@ func (h Controller) OnPlayerFightNpcMonster(data1 *fight.FightNpcMonsterInboundI } if refPet.Ext != 0 { refPet.Id = refPet.Ext + } monster := model.GenPetInfo( int(refPet.Id), -1, @@ -199,6 +200,11 @@ func (h Controller) OnPlayerFightNpcMonster(data1 *fight.FightNpcMonsterInboundI int(refPet.Lv), refPet.ShinyInfo) + if refPet.Ext != 0 { + if grand.Meet(3, 100) { + monster.RandShiny() + } + } monsterInfo := &model.PlayerInfo{} monsterInfo.Nick = xmlres.PetMAP[int(monster.ID)].DefName diff --git a/logic/service/player/Monster.go b/logic/service/player/Monster.go index 97f8db10..4fd6cdce 100644 --- a/logic/service/player/Monster.go +++ b/logic/service/player/Monster.go @@ -70,7 +70,7 @@ func (p *Player) genMonster() { p.OgreInfo.Data[i].Lv = gconv.Uint32(RandomStringFromSlice(lv)) - if len(id) == 1 { //说明这里只固定刷一个,概率变尼尔尼奥 + if len(id) == 1 { //说明这里只固定刷一个,概率变尼尔尼奥,不是稀有精灵 nieo, _, _ := p.Roll(20, 1000) if nieo { diff --git a/logic/service/player/player.go b/logic/service/player/player.go index 7225443d..282e5857 100644 --- a/logic/service/player/player.go +++ b/logic/service/player/player.go @@ -47,9 +47,8 @@ type OgrePetInfo struct { func (o *OgrePetInfo) RandSHiny() { var co *data.GlowFilter - if o.Ext != 0 { - co = config.NewShinyService().RandShiny(o.Ext) - } else { + if o.Ext == 0 { + co = config.NewShinyService().RandShiny(o.Id) } diff --git a/logic/service/task/task.go b/logic/service/task/task.go index 55610c13..33d885ba 100644 --- a/logic/service/task/task.go +++ b/logic/service/task/task.go @@ -28,9 +28,9 @@ func GetTaskInfo(id, ot uint32) *TaskResult { for _, itemID := range r.ItemRewardIds { iteminfo := service.NewItemService().GetItemCount(itemID) - ret.ItemList = append(ret.ItemList, data.ItemInfo{ItemId: itemID, ItemCnt: iteminfo.ItemCnt}) + ret.ItemList = append(ret.ItemList, data.ItemInfo{ItemId: iteminfo.ItemId, ItemCnt: iteminfo.ItemCnt}) } - return nil + return ret } diff --git a/modules/config/service/pet.go b/modules/config/service/pet.go index a3ae57fe..f0beaf9a 100644 --- a/modules/config/service/pet.go +++ b/modules/config/service/pet.go @@ -30,7 +30,7 @@ func (s *PetRewardService) Get(id uint32) *model.PetReward { return nil } var item *model.PetReward - cool.DBM(s.Model).Where("id", 1). + cool.DBM(s.Model).Where("id", id). Cache(gdb.CacheOption{ // Duration: time.Hour,