diff --git a/game-server/app/servers/battle/handler/normalBattleHandler.ts b/game-server/app/servers/battle/handler/normalBattleHandler.ts index e5fabb591..ae34687c0 100644 --- a/game-server/app/servers/battle/handler/normalBattleHandler.ts +++ b/game-server/app/servers/battle/handler/normalBattleHandler.ts @@ -237,7 +237,7 @@ export class NormalBattleHandler { } } else if (warInfo.warType == WAR_TYPE.ACT_TREASURE_HUNT) { if(isSuccess) { - await treasureHuntChallengeConsume(roleId, sid, activityId); + await treasureHuntChallengeConsume(serverId, roleId, sid); } } let curWarStar = warStar.find(cur => cur.id == battleId); diff --git a/game-server/app/services/activity/treasureHuntService.ts b/game-server/app/services/activity/treasureHuntService.ts index 97585a2c2..ba56ce96e 100644 --- a/game-server/app/services/activity/treasureHuntService.ts +++ b/game-server/app/services/activity/treasureHuntService.ts @@ -359,10 +359,13 @@ export async function makeShop(roleId: string, roleName: string, sid: string, se } } -export async function treasureHuntChallengeConsume(roleId: string, sid: string, activityId: number) { - - let activityData: ActivityModelType = await getActivityById(activityId); - let playerData = new TreasureHuntData(activityData, 0, 0); +export async function treasureHuntChallengeConsume(serverId: number, roleId: string, sid: string) { + let { huntActivityId, huntBeginTime, huntEndTime, huntRoundIndex, activityData } = await getTreasureHuntData(serverId, roleId); + if (!activityData) { + return false; + } + let playerData = await getPlayerTreasureHuntChallengeData(huntActivityId, serverId, roleId, huntRoundIndex, huntBeginTime, huntEndTime,); + if (!playerData) return false; let challengeData = playerData.challenge; //消耗资源