🐞 fix(稷下学宫): 修复hp,maxhp, 休整点强化更新已安装特性卡id,权重展示

This commit is contained in:
zhangxk
2023-09-07 11:44:37 +08:00
parent fac4c1f224
commit 2c7b3af06e
6 changed files with 41 additions and 16 deletions

View File

@@ -817,7 +817,7 @@ export class RougeHandler {
let dbCard = await RougelikeCardModel.findByCode(gameCode, cardCode);
if (!dbCard) return resResult(STATUS.NO_CARD);
let { type, cardId, charaId, lv = 0 } = dbCard;
let { type, cardId, charaId = 0, lv = 0 } = dbCard;
const passiveCardData = gameData.rougePassiveCard.get(cardId);
if (!passiveCardData) return resResult(STATUS.NO_CARD);
@@ -855,6 +855,21 @@ export class RougeHandler {
const newDbCard = await RougelikeCardModel.updateByCode(gameCode, cardCode, { $set: { cardId: id }, $inc: { lv: 1 } });
const cards: CommonCard[] = formateCharasOrCards([newDbCard], ROUGE_LIKE_CARD_TYPE.PASSIVE)?.cards || [];
if (charaId > 0) {
const dbCharas = await RougelikeCharaModel.findByGameCodeAndCharaId(gameCode, charaId);
let isEnd = false;
for (let { cards = [], charaCode } of dbCharas) {
for (let obj of cards) {
if (cardCode != obj.cardCode) continue;
obj.cardId = id;
await RougelikeCharaModel.findOneAndUpdate({ gameCode, charaCode, 'cards.cardCode': cardCode }, { 'cards.$.cardId': cardId }, { new: true, upsert: true }).lean(true);
isEnd = true;
break;
}
if (isEnd) break;
}
}
return resResult(STATUS.SUCCESS, { restPoints, cards, reward: { rewards }, redCoin: -realConsume, })
}