Files
bl/logic/service/task/list_daily.go
昔念 c9bc4be244 ```
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方法用于获取扭蛋奖励
- 修复宠物融合材料服务中的道具验证逻辑
```
2025-12-26 20:38:08 +08:00

57 lines
1.5 KiB
Go
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

package task
import (
"blazing/common/data"
)
type TaskResult struct {
PetTypeId uint32 `json:"petTypeId" description:"发放的精灵ID"` // 发放的精灵ID
ItemList []data.ItemInfo `json:"itemList" description:"发放物品的数组"` // 发放物品的数组,
}
var TaskResultMap = make(map[uint32]map[uint32]TaskResult)
// 添加默认分支0
func Get_Task_Info(v CompleteTaskInboundInfo) *TaskResult {
t, ok := TaskResultMap[v.TaskId][v.OutState]
if ok {
return &t
} else {
t, ok := TaskResultMap[v.TaskId][0]
if ok {
return &t
}
}
return nil
}
func init() {
// 定义通用奖励经验奖励ItemId:3数量20000
expReward := []data.ItemInfo{{ItemId: 3, ItemCnt: 20000}}
// 定义扭蛋牌奖励ItemId:400501数量5
eggReward := []data.ItemInfo{{ItemId: 400501, ItemCnt: 5}}
// 批量初始化任务ID 401-407奖励均为经验
for taskID := 401; taskID <= 407; taskID++ {
// 为每个任务ID初始化内层map
TaskResultMap[uint32(taskID)] = make(map[uint32]TaskResult)
// 设置状态0对应的奖励与401格式一致
TaskResultMap[uint32(taskID)][0] = TaskResult{
ItemList: expReward,
}
}
// 单独初始化任务462奖励为扭蛋牌
TaskResultMap[462] = make(map[uint32]TaskResult)
TaskResultMap[462][0] = TaskResult{
ItemList: eggReward,
}
// 后续若有其他任务,按相同格式添加即可
// 例如:
// TaskResultMap[xxx] = make(map[uint32]TaskResult)
// TaskResultMap[xxx][0] = TaskResult{ItemList: ...}
}