feat(稷下学宫): 修改带出英灵奖励数量, 修改特性卡随机权重(流派、品质、等级相关)

This commit is contained in:
zhangxk
2023-09-08 14:07:52 +08:00
parent 98b4b56143
commit e5bbd112b7
10 changed files with 8077 additions and 7656 deletions

View File

@@ -218,7 +218,7 @@ export class RougeHandler {
const { takeoutReward = [], score = 0, tech = 0, spiritPlan } = clone(layerReward);
addScore += score, addTech += tech;
for (const { id, count } of takeoutReward) takeoutRewardMap.set(id, takeoutRewardMap.get(id) || 0 + count);
spiritIds.push(...getRandomSpirit(spiritPlan));
for (const { id, count } of spiritPlan) { spiritIds.push(...getRandomSpirit(id, count)); }
}
let spiritMap = new Map<number, RewardInter>();
spiritIds.forEach((spiritId) => {
@@ -506,10 +506,12 @@ export class RougeHandler {
let costResult = await RougelikeRecordModel.costCoin(gameCode, costCoin);
if (!costResult) return resResult(STATUS.COIN_NOT_ENOUGH);
let replaceReward = await getLayerNodeReward(roleId, gameCode, dbRecord.authorType, dbDetail.nodeId, layerPlanData.rewardPlan, dbDetail.layer);
let replaceReward = await getLayerNodeReward(roleId, gameCode, dbRecord.authorType, dbDetail.nodeId, layerPlanData.rewardPlan, dbDetail.layer, dbDetail.questType);
let { rewards } = dbDetail;
let newRewards = [...rewards.filter(reward => reward.rewardType != rewardType), ...replaceReward.rewards.filter(reward => reward.rewardType == rewardType)].map(reward => ({ ...reward, reRandRewardCnt: 1 })).sort((a, b) => a.groupIndex - b.groupIndex);
dbDetail = await RougelikeRecordDetailModel.updateByCode(gameCode, detailCode, { $set: { rewards: newRewards } });
if (replaceReward && replaceReward.rewards.length > 0) {
let newRewards = [...rewards.filter(reward => reward.rewardType != rewardType), ...replaceReward.rewards.filter(reward => reward.rewardType == rewardType)].map(reward => ({ ...reward, reRandRewardCnt: 1 })).sort((a, b) => a.groupIndex - b.groupIndex);
dbDetail = await RougelikeRecordDetailModel.updateByCode(gameCode, detailCode, { $set: { rewards: newRewards } });
}
return resResult(STATUS.SUCCESS, { rewards: dbDetail.rewards });
}