Files
bl/logic/service/task/list_daily.go
昔念 0a8ef3d555 feat(fight_boss): 新增怪物ID处理逻辑,支持随机选择与过滤空值
新增 `processMonID` 函数用于处理 BOSS 战斗中怪物 ID 的字符串分割、
过滤空值,并在多个 ID 中随机选取一个。优化新手任务 BOSS 战逻辑,
使其更灵活地适配不同的配置输入。

---

refactor(map): 使用 ants 协程池优化地图进出逻辑并移除无用导入

将原本通过
2025-11-16 11:56:57 +08:00

46 lines
1.4 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
type TaskResult struct {
PetTypeId uint32 `json:"petTypeId" description:"发放的精灵ID"` // 发放的精灵ID
ItemList []ItemInfo `json:"itemList" description:"发放物品的数组"` // 发放物品的数组,
}
var TaskResultMap = make(map[uint32]map[uint32]TaskResult)
func Get_Task_Info(v CompleteTaskInboundInfo) *TaskResult {
t, ok := TaskResultMap[v.TaskId][v.OutState]
if ok {
return &t
}
return nil
}
func init() {
// 定义通用奖励经验奖励ItemId:3数量20000
expReward := []ItemInfo{{ItemId: 3, ItemCnt: 20000}}
// 定义扭蛋牌奖励ItemId:400501数量5
eggReward := []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: ...}
}