diff --git a/game-server/app/servers/battle/handler/rougeHandler.ts b/game-server/app/servers/battle/handler/rougeHandler.ts index e1f72e455..b5f3167b4 100644 --- a/game-server/app/servers/battle/handler/rougeHandler.ts +++ b/game-server/app/servers/battle/handler/rougeHandler.ts @@ -604,30 +604,17 @@ export class RougeHandler { if ((dbRecord.coin || 0) < redCoin) return resResult(STATUS.COIN_NOT_ENOUGH); if (redCoin > 0) await RougelikeRecordModel.updateByGameCode(gameCode, { $inc: { coin: -redCoin } }); - //处理特性卡组 groupStatus = ROUGE_LIKE_CHOOSE_REWARD.CHOOSE; - if (rewardType == ROUGE_LIKE_CARD_TYPE.PASSIVE) { - groupStatus = ROUGE_LIKE_CHOOSE_REWARD.NOCHOOSE; - if (chooseNum - passiveChooseCount == optionIndexs.length) { - groupStatus = ROUGE_LIKE_CHOOSE_REWARD.CHOOSE; - await updateChalleng(dbRecord, roleId, sid, gameCode, layer, []); // 更新挑战进度 - } - } - rewards.forEach((ele) => { if (ele.rewardType == rewardType) ele.groupStatus = groupStatus; }); - - - // 挑战领奖 - let dbPara = {}; - if (rewards.find((obj) => obj.groupStatus != ROUGE_LIKE_CHOOSE_REWARD.CHOOSE && rewardType != ROUGE_LIKE_CARD_TYPE.CHARA) == undefined) { - if (nodeType == ROUGE_LIKE_NODE_TYPE.CHALLENGE) { - challenge.status = 3; - dbPara['challenge'] = challenge; - } + if (nodeType == ROUGE_LIKE_NODE_TYPE.CHALLENGE) { + // 挑战关领奖更新 await RougelikeLayerModel.updateByGameCode(gameCode, layer, { $set: { hasPass: true } }) + } else { + // 更新进度 + await updateChalleng(dbRecord, roleId, sid, gameCode, layer, []); // 更新挑战进度 } - await RougelikeRecordDetailModel.updateRewardByGroupIndex(gameCode, detailCode, groupIndex, groupStatus, options, { $set: dbPara }); + await RougelikeRecordDetailModel.updateRewardByGroupIndex(gameCode, detailCode, groupIndex, groupStatus, options); let addResult = await handleAddFun.save(); addResult = await handleAddFun.getHolyEffect();