✨ feat(校验): 添加战场伤害统计伤害

This commit is contained in:
luying
2023-06-27 13:46:01 +08:00
parent d75101a730
commit 70af186564
10 changed files with 72 additions and 35 deletions
@@ -13,7 +13,7 @@ import { STATUS } from '../../../consts/statusCode';
import { resResult } from '../../../pubUtils/util';
import { RoleModel } from '../../../db/Role';
import { RScriptRecordModel } from '../../../db/RScriptRecord';
import { checkBattleHeroes, roleLevelup, calculateWarStar, getBattleListOfTypes, getMainChapter, getStarOfChapter, checkWarCountAndInc } from '../../../services/normalBattleService';
import { checkBattleHeroes, roleLevelup, calculateWarStar, getBattleListOfTypes, getMainChapter, getStarOfChapter, checkWarCountAndInc, getBattleRecordParam } from '../../../services/normalBattleService';
import { checkDungeonNum, checkDungeonAndIncrease, saveDungeonFirst } from '../../../services/dungeonService';
// import { switchOnFunc } from '../../../services/funcSwitchService';
import { gameData } from '../../../pubUtils/data';
@@ -28,7 +28,7 @@ import { challengeNewHeroGK } from '../../../services/activity/newHeroService';
import { reportTAEvent } from '../../../services/sdkService';
import { getVipRegretCnt } from '../../../services/activity/monthlyTicketService';
import { isArray, isNumber } from 'underscore';
import { RewardInter } from '../../../pubUtils/interface';
import { RewardInter, pvpEndParamInter } from '../../../pubUtils/interface';
import { addItems } from '../../../services/role/rewardService';
import { treasureHuntChallengeConsume } from '../../../services/activity/treasureHuntService';
import { combineItems } from '../../../services/role/util';
@@ -144,8 +144,8 @@ export class NormalBattleHandler {
}
// 关卡结算,记录使用的武将,获得奖励
async battleEnd(msg: { battleCode: string, battleId: number, isSuccess: boolean, stars: number[], heroes: number[], activityId: number }, session: BackendSession) {
const { battleCode, battleId, isSuccess, heroes = [], stars = [], activityId } = msg;
async battleEnd(msg: { battleCode: string, battleId: number, isSuccess: boolean, stars: number[], heroes: number[], activityId: number, damageRecords: pvpEndParamInter[], round: number }, session: BackendSession) {
const { battleCode, battleId, isSuccess, heroes = [], stars = [], activityId, damageRecords = [], round = 0 } = msg;
let roleId = session.get('roleId');
let roleName = session.get('roleName');
let sid = session.get('sid');
@@ -293,7 +293,7 @@ export class NormalBattleHandler {
let reward = await warReward.saveReward(1);
const updateResult = await BattleRecordModel.updateBattleRecordByCode(battleCode, {
$set: { status: isSuccess ? 1 : 2, star: newStar, stars, record: { heroes } }
$set: { status: isSuccess ? 1 : 2, star: newStar, stars, ...getBattleRecordParam(damageRecords, round, heroes) }
}, true);
let { status } = updateResult;