feat: 添加ItemInfo结构体并重构抽蛋和任务系统

- 在common/data/color.go中添加ItemInfo结构体用于表示发放物品的信息
- 在common/utils/tomap.go中添加RandomSlice泛型函数用于从切片中随机选取元素
- 重构action_egg.go中的EggGamePlay功能,实现抽蛋逻辑和物品发放
- 更新fight_boss.go中使用新的ItemInfo结构体替换旧的model.ItemInfo
- 修改user_talk.go中获取物品数量的逻辑
- 更新user_task.go中任务完成逻辑使用新的ItemInfo结构体
- 在egg.go中更新抽蛋结果结构体使用ItemInfo
- 更新战斗奖励结构体使用ItemInfo
- 在player.go中添加学习力道具处理逻辑
- 重构任务系统使用新的ItemInfo结构体
- 移除旧的model.ItemInfo定义
- 更新宠物奖励配置模型添加成长值等字段
- 实现GetEgg方法用于获取扭蛋奖励
- 修复宠物融合材料服务中的道具验证逻辑
```
This commit is contained in:
2025-12-26 20:38:08 +08:00
parent b8d6772256
commit c9bc4be244
18 changed files with 242 additions and 134 deletions

View File

@@ -1,8 +1,8 @@
package task
import (
"blazing/common/data"
"blazing/logic/service/common"
"blazing/modules/blazing/model"
)
type CompleteTaskInboundInfo struct {
@@ -11,9 +11,9 @@ type CompleteTaskInboundInfo struct {
OutState uint32 `json:"outState" ` // 当前状态1表示完成任务
}
type CompleteTaskOutboundInfo struct {
TaskId uint32 `json:"taskId" description:"任务ID"` // 任务ID
PetTypeId uint32 `json:"petTypeId" description:"发放的精灵ID"` // 发放的精灵ID
CaptureTime uint32 `json:"captureTime" description:"发放的精灵捕获时间"` // 发放的精灵捕获时间,
ItemLen uint32 `struc:"sizeof=ItemList"`
ItemList []model.ItemInfo `json:"itemList" description:"发放物品的数组"` // 发放物品的数组,
TaskId uint32 `json:"taskId" description:"任务ID"` // 任务ID
PetTypeId uint32 `json:"petTypeId" description:"发放的精灵ID"` // 发放的精灵ID
CaptureTime uint32 `json:"captureTime" description:"发放的精灵捕获时间"` // 发放的精灵捕获时间,
ItemLen uint32 `struc:"sizeof=ItemList"`
ItemList []data.ItemInfo `json:"itemList" description:"发放物品的数组"` // 发放物品的数组,
}