pvp:结算阵容分数

This commit is contained in:
luying
2021-10-29 17:45:45 +08:00
parent 3926667a28
commit 018b6b13e4
4 changed files with 131 additions and 68 deletions
@@ -218,19 +218,10 @@ export class PvpHandler {
let update: pvpUpdateInter = {};
const role = await RoleModel.findByRoleId(roleId, null, true);
if (isSuccess) {
update.winStreakNum = pvpDefense.winStreakNum + 1;
} else {
update.winStreakNum = 0;
}
const myRecInfo = await generMyRecInfo(pvpDefense.heroScores, pvpDefense.winStreakNum, role, isSuccess, pos, myHeroes);
let { attackInfo, showHeroScores, addSumScore, newHeroScore } = myRecInfo
update.heroScores = newHeroScore;
update.score = pvpDefense.score + addSumScore;
if (pvpDefense.hisScore < update.score) {
update.hisScore = update.score;
}
const myRecInfo = await generMyRecInfo(pvpDefense, role, isSuccess, pos, myHeroes);
let { attackInfo, showHeroScores, updateParam } = myRecInfo
update = { ...update, ...updateParam };
let curOpp = pvpDefense.oppPlayers.find(cur => cur.roleId == oppRoleId && cur.pos == pos);
if (!curOpp) return resResult(STATUS.PVP_ROLE_NOT_FOUND);
@@ -311,9 +302,6 @@ export class PvpHandler {
refOppObj.setAttackCnt ++;
let { seasonNum, seasonEndTime } = await PVPConfigModel.findCurPVPConfig();
let refChallengeObj = refChallengeCnt(pvpDefense.challengeCnt, pvpDefense.challengeRefTime, seasonEndTime);
// 刷对手
let role = <RoleType>pvpDefense.role;
let oppPlayers = await refreshEnemies(role, seasonNum, pvpDefense.attack.score, pvpDefense.attack?.pLv||1);
// 更新挑战阵容
let score = 0;
for(let { actorId } of heroes) {
@@ -324,6 +312,9 @@ export class PvpHandler {
}
let attack = new Attack(heroes, score);
let lineupCe = await generPvpLineupCe(roleId, pvpDefense.lineupCe, attack.heroes, []);
// 刷对手
let role = <RoleType>pvpDefense.role;
let oppPlayers = await refreshEnemies(role, seasonNum, attack?.score||0, attack?.pLv||1);
// 保存
pvpDefense = await PvpDefenseModel.updateInfoAndInclude(roleId, { ...refOppObj, ...refChallengeObj, attack, oppPlayers, lineupCe });
// 返回