2025-12-08 00:17:04 +08:00
|
|
|
package controller
|
|
|
|
|
|
|
|
|
|
import (
|
2025-12-26 20:38:08 +08:00
|
|
|
"blazing/common/data"
|
2025-12-08 00:17:04 +08:00
|
|
|
"blazing/common/socket/errorcode"
|
|
|
|
|
"blazing/logic/service/egg"
|
|
|
|
|
"blazing/logic/service/player"
|
2025-12-26 20:38:08 +08:00
|
|
|
"blazing/modules/config/service"
|
2026-01-19 18:51:56 +08:00
|
|
|
"blazing/modules/player/model"
|
2025-12-26 20:38:08 +08:00
|
|
|
|
|
|
|
|
"github.com/gogf/gf/v2/util/grand"
|
2025-12-08 00:17:04 +08:00
|
|
|
)
|
|
|
|
|
|
2025-12-26 20:38:08 +08:00
|
|
|
func (h Controller) EggGamePlay(data1 *egg.C2S_EGG_GAME_PLAY, c *player.Player) (result *egg.S2C_EGG_GAME_PLAY, err errorcode.ErrorCode) {
|
|
|
|
|
|
|
|
|
|
switch data1.EggNum {
|
|
|
|
|
case 2:
|
|
|
|
|
data1.EggNum = 5
|
|
|
|
|
|
|
|
|
|
case 3:
|
|
|
|
|
data1.EggNum = 10
|
|
|
|
|
}
|
2025-12-31 00:29:38 +08:00
|
|
|
r := c.Service.Item.CheakItem(400501)
|
2026-02-04 00:25:41 +08:00
|
|
|
if r < int32(data1.EggNum) {
|
2026-02-03 23:57:06 +08:00
|
|
|
return nil, errorcode.ErrorCode(errorcode.ErrorCodes.ErrGachaTicketsInsufficient)
|
2025-12-31 00:29:38 +08:00
|
|
|
|
|
|
|
|
}
|
2025-12-26 20:38:08 +08:00
|
|
|
result = &egg.S2C_EGG_GAME_PLAY{ListInfo: []data.ItemInfo{}}
|
|
|
|
|
if grand.Meet(int(data1.EggNum), 100) {
|
|
|
|
|
r := service.NewPetRewardService().GetEgg()
|
2026-02-08 17:57:42 +08:00
|
|
|
newPet := model.GenPetInfo(int(r.MonID), int(r.DV), int(r.Nature), int(r.Effect), int(r.Lv), nil, 0)
|
2025-12-30 00:10:59 +08:00
|
|
|
if grand.Meet(int(data1.EggNum), 100) {
|
|
|
|
|
newPet.RandShiny()
|
|
|
|
|
}
|
2025-12-26 20:38:08 +08:00
|
|
|
c.Service.Pet.PetAdd(newPet)
|
2025-12-30 00:10:59 +08:00
|
|
|
|
2025-12-26 20:38:08 +08:00
|
|
|
result.HadTime = newPet.CatchTime
|
|
|
|
|
result.PetID = newPet.ID
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
items := service.NewItemService().GetEgg(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})
|
|
|
|
|
}
|
2025-12-08 00:17:04 +08:00
|
|
|
|
2025-12-26 20:38:08 +08:00
|
|
|
c.Service.Item.UPDATE(400501, int(-data1.EggNum))
|
2025-12-08 00:17:04 +08:00
|
|
|
return
|
|
|
|
|
|
|
|
|
|
}
|