✨ 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
@@ -16,7 +16,7 @@ import { RoleRankInfo } from "../../../domain/rank";
import { getRemoteRplFilePath, getRemoteRplPrefix } from "../../../pubUtils/battleUtils";
import { gameData } from "../../../pubUtils/data";
import { GVG } from "../../../pubUtils/dicParam";
import { RewardInter } from "../../../pubUtils/interface";
import { RewardInter, pvpEndParamInter } from "../../../pubUtils/interface";
import { parseGoodStr, resResult } from "../../../pubUtils/util";
import { isHeroHidden } from "../../../services/dataService";
import { calBreakGoods, checkHeroIsUsedInOtherVestige, checkVestige, checkVestigeOppStatus, checkVestigeRank, generateAttackHeroInfo, generateAttackInfo, generateDefenseInfo, getDayKeyInfo, getMyVestigeRank, getOppDetailData, getOppPlayerByRanks, getVestigeRecStatus, getVestigeRank, getVestigeUsedHeroes, isRobot, refreshVestigeOppRanks, saveScoreToRank, updateMyVestigeRank, saveVestigeRankSchedule, calVestigeLeagueBoxRewards, checkFightTime, savePlayerRank, checkHeroChangeInVestige } from "../../../services/gvg/gvgFightService";
@@ -24,7 +24,7 @@ import { addGVGReward, combinePushItem, handleGVGCost } from "../../../services/
import { addGVGActive, getGVGActive } from "../../../services/gvg/gvgPrepareService";
import { addVestigeBattleEndRec } from "../../../services/gvg/gvgRecService";
import { getGroupKey, getGVGPeriodData, getMemberJoinLeagueTime } from "../../../services/gvg/gvgService";
import { checkBattleHeroesByHid } from "../../../services/normalBattleService";
import { checkBattleHeroesByHid, getBattleRecordParam } from "../../../services/normalBattleService";
import { Rank } from "../../../services/rankService";
import { getAllServerName } from "../../../services/redisService";
import { CheckMeterial } from "../../../services/role/checkMaterial";
@@ -340,14 +340,14 @@ export class GVGProduceHandler {
}
// 挑战结算
async battleEnd(msg: { battleCode: string, isSuccess: boolean }, session: BackendSession) {
async battleEnd(msg: { battleCode: string, isSuccess: boolean, damageRecords: pvpEndParamInter[], round: number }, session: BackendSession) {
const roleId = session.get('roleId');
const roleName = session.get('roleName');
const serverId = session.get('serverId');
const sid = session.get('sid');
const guildCode = session.get('guildCode');
const { battleCode, isSuccess } = msg;
const { battleCode, isSuccess, damageRecords, round } = msg;
let rec = await GVGVestigeRecModel.findByBattleCode(battleCode);
if(!rec || rec.attackRoleId != roleId) return resResult(STATUS.GVG_VESTIGE_REC_NOT_FOUND);
@@ -370,7 +370,7 @@ export class GVGProduceHandler {
// 更新锁
await GVGVestigeLockModel.releaseLock(rec.groupKey, rec.vestigeId, rec.defenseInfo.oldRank);
// 更新battleRecord
await BattleRecordModel.updateBattleRecordByCode(battleCode, { $set: { status: isSuccess? 1: 2 } });
await BattleRecordModel.updateBattleRecordByCode(battleCode, { $set: { status: isSuccess? 1: 2, ...getBattleRecordParam(damageRecords, round) } });
// 取消突破排名奖励
// let { rewards, leagueRewards } = calBreakGoods(rec.vestigeId, historyRank, atkData.rank);