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方法用于获取扭蛋奖励 - 修复宠物融合材料服务中的道具验证逻辑 ```
18 lines
856 B
Go
18 lines
856 B
Go
package info
|
||
|
||
import "blazing/common/data"
|
||
|
||
type S2C_GET_BOSS_MONSTER struct {
|
||
BonusID uint32 // 激活前端任务的ID
|
||
EXP uint32 `json:"exp" description:"奖励经验"`
|
||
EV uint32 `json:"ev" description:"奖励累计学习力"`
|
||
PetID uint32 // 发放精灵的ID
|
||
CaptureTm uint32 // 发放精灵的捕获时间
|
||
ItemListLen uint32 `struc:"sizeof=ItemList"`
|
||
ItemList []data.ItemInfo // 发放物品的数组:
|
||
// 特殊说明:
|
||
// 1. 仅发放精灵不发放物品时:ItemList 无需填充元素,但序列化时需先写入 uint 类型的长度(值为0)
|
||
// 2. 发放多个物品时:序列化时先写入 uint 类型的数组长度,再依次写入每个ItemInfo元素
|
||
// 3. 该List结构参考PetInfo的特性List(长度为Uint型,非int)
|
||
}
|