diff --git a/logic/controller/action_扭蛋.go b/logic/controller/action_扭蛋.go index fa38a98a3..40a815edf 100644 --- a/logic/controller/action_扭蛋.go +++ b/logic/controller/action_扭蛋.go @@ -46,11 +46,9 @@ func (h Controller) EggGamePlay(data1 *C2S_EGG_GAME_PLAY, c *player.Player) (res result.PetID = newPet.ID } - items := service.NewItemService().GetEgg(data1.EggNum) + items := service.NewItemService().GetEgg(int(data1.EggNum)) for _, item := range items { - if item.ItemId == 0 { - continue - } + c.ItemAdd(item.ItemId, item.ItemCnt) result.ListInfo = append(result.ListInfo, data.ItemInfo{ItemId: item.ItemId, ItemCnt: item.ItemCnt}) } diff --git a/modules/config/controller/robot/eggitem.go b/modules/config/controller/robot/eggitem.go index 826e4476e..94eeabe04 100644 --- a/modules/config/controller/robot/eggitem.go +++ b/modules/config/controller/robot/eggitem.go @@ -24,10 +24,8 @@ func init() { count = 10 } var rets []string - for _, v := range service.NewItemService().GetEgg(int64(count)) { - if v.ItemId == 0 { - continue - } + for _, v := range service.NewItemService().GetEgg(count) { + var buf strings.Builder buf.WriteString(xmlres.ItemsMAP[int(v.ItemId)].Name) buf.WriteString(": " + gconv.String(v.ItemCnt)) diff --git a/modules/config/service/item.go b/modules/config/service/item.go index d0d5c96b3..8e7fe73e3 100644 --- a/modules/config/service/item.go +++ b/modules/config/service/item.go @@ -2,7 +2,6 @@ package service import ( "blazing/common/data" - "blazing/common/utils" "blazing/cool" "blazing/modules/config/model" @@ -39,13 +38,13 @@ func (s *ItemService) GetItemCount(id uint32) data.ItemInfo { } return res } -func (s *ItemService) GetEgg(count int64) []data.ItemInfo { +func (s *ItemService) GetEgg(count int) []data.ItemInfo { var item []model.ItemGift dbm_notenable(s.Model).Where("is_egg", 1).Scan(&item) - rr := utils.RandomSlice(item, int(count)) - var res = make([]data.ItemInfo, len(rr)) - for _, v := range rr { + var res []data.ItemInfo + for i := 0; i < count; i++ { + v := item[grand.Intn(len(item))] if v.ItemMaxCount != 0 { v.ItemMinCount = int64(grand.N(int(v.ItemMinCount), int(v.ItemMaxCount))) res = append(res, data.ItemInfo{ItemId: v.ItemID, ItemCnt: v.ItemMinCount})