fix: 修复日志格式化字符串错误和任务奖励逻辑
All checks were successful
ci/woodpecker/push/my-first-workflow Pipeline was successful

This commit is contained in:
xinian
2026-04-10 10:28:22 +08:00
parent 061e4f0c51
commit 0daeb70900
6 changed files with 68 additions and 149 deletions

View File

@@ -72,26 +72,30 @@ func (h Controller) DASHIbeiR(req *C2s_MASTER_REWARDSR, c *player.Player) (resul
}
result.ItemList = make([]data.ItemInfo, 0, len(taskInfo.ItemList))
c.Service.Task.Exec(masterCupTaskID, func(te *model.Task) bool {
progress := bitset32.From(te.Data)
if progress.Test(uint(req.ElementType)) {
err = errorcode.ErrorCode(errorcode.ErrorCodes.ErrAwardAlreadyClaimed)
return false
}
taskData, taskErr := c.Service.Task.GetTask(masterCupTaskID)
if taskErr != nil {
return nil, errorcode.ErrorCode(errorcode.ErrorCodes.ErrSystemError)
}
consumeMasterCupItems(c, requiredItems)
progress.Set(uint(req.ElementType))
te.Data = progress.Bytes()
progress := bitset32.From(taskData.Data)
if progress.Test(uint(req.ElementType)) {
return nil, errorcode.ErrorCode(errorcode.ErrorCodes.ErrAwardAlreadyClaimed)
}
if taskInfo.Pet != nil {
c.Service.Pet.PetAdd(taskInfo.Pet, 0)
result.CaptureTime = taskInfo.Pet.CatchTime
result.PetTypeId = taskInfo.Pet.ID
}
consumeMasterCupItems(c, requiredItems)
progress.Set(uint(req.ElementType))
taskData.Data = progress.Bytes()
if taskErr = c.Service.Task.SetTask(taskData); taskErr != nil {
return nil, errorcode.ErrorCode(errorcode.ErrorCodes.ErrSystemError)
}
appendMasterCupRewardItems(c, result, taskInfo.ItemList)
return true
})
if taskInfo.Pet != nil {
c.Service.Pet.PetAdd(taskInfo.Pet, 0)
result.CaptureTime = taskInfo.Pet.CatchTime
result.PetTypeId = taskInfo.Pet.ID
}
appendMasterCupRewardItems(c, result, taskInfo.ItemList)
return
}