🐞 fix(巅峰演武): 修改等级计算、2倍碾压
This commit is contained in:
@@ -409,7 +409,7 @@ export class PvpHandler {
|
||||
if(subHid && (!dicHero || dicHero.urType != 1)) return resResult(STATUS.HERO_CAN_NOT_SET_SUB);
|
||||
if(subHid && heroes.findIndex(hero => hero.actorId == subHid) != -1) return resResult(STATUS.HERO_SUB_DUPLICATE);
|
||||
}
|
||||
let attack = new Attack(heroes, scores);
|
||||
let attack = new Attack(heroes, scores, pvpDefense.heroScores);
|
||||
let lineupCe = await generPvpLineupCe(roleId, pvpDefense.lineupCe, attack.heroes, pvpDefense.defense?.heroes??[], []);
|
||||
// 刷对手
|
||||
let role = <RoleType>pvpDefense.role;
|
||||
@@ -454,7 +454,7 @@ export class PvpHandler {
|
||||
if(subHid && (!dicHero || dicHero.urType != 1)) return resResult(STATUS.HERO_CAN_NOT_SET_SUB);
|
||||
if(subHid && heroes.findIndex(hero => hero.actorId == subHid) != -1) return resResult(STATUS.HERO_SUB_DUPLICATE);
|
||||
}
|
||||
let attack = new Attack(heroes, scores);
|
||||
let attack = new Attack(heroes, scores, pvpDefense.heroScores);
|
||||
let lineupCe = await generPvpLineupCe(roleId, pvpDefense.lineupCe, attack.heroes, pvpDefense.defense?.heroes??[], []);
|
||||
// 保存
|
||||
pvpDefense = await PvpDefenseModel.updateInfoAndInclude(roleId, { attack, lineupCe });
|
||||
@@ -543,7 +543,7 @@ export class PvpHandler {
|
||||
let defenseHeroes = heroes.map(cur => {
|
||||
return new DefenseHero(cur, heroIdMap.get(cur.actorId));
|
||||
});
|
||||
let defense = new Defense(defenseHeroes, scores, warId, buff, combo);
|
||||
let defense = new Defense(defenseHeroes, scores, warId, buff, combo, pvpDefense.heroScores);
|
||||
let lineupCe = await generPvpLineupCe(roleId, pvpDefense.lineupCe, pvpDefense.attack?.heroes??[], defense.heroes, dbHeroes);
|
||||
await PvpSaveDataModel.createSaveData(roleId, warId, buff, defenseHeroes);
|
||||
pvpDefense = await PvpDefenseModel.updateInfoAndInclude(roleId, { ...refChallengeObj, defense, lineupCe, hasDefense: true, seasonNum });
|
||||
@@ -763,7 +763,7 @@ export class PvpHandler {
|
||||
if (!curOpp) return resResult(STATUS.PVP_ROLE_NOT_FOUND);
|
||||
let oppDef = <PvpHistoryOppType>curOpp.oppDef;
|
||||
// 战力检测
|
||||
if (attackCe <= oppDef.defCe) return resResult(STATUS.PVP_SWEEP_NOT_CE);
|
||||
if (attackCe <= oppDef.defCe * 2) return resResult(STATUS.PVP_SWEEP_NOT_CE);
|
||||
|
||||
// 对手记录更新
|
||||
await PvpHistoryOppModel.setStatus(oppDef._id.toString(), 1);
|
||||
@@ -784,15 +784,15 @@ export class PvpHandler {
|
||||
let update: pvpUpdateInter = {};
|
||||
const myHeroes: pvpEndParamInter[] = heroes.map(hid => { return { hid, damage: 0, heal: 0, underDamage: 0 } })
|
||||
const myRecInfo = await generMyRecInfo(pvpDefense, role, true, curOpp.pos, myHeroes);
|
||||
let { attackInfo, showHeroScores, updateParam } = myRecInfo
|
||||
let { attackInfo, showHeroScores, updateParam } = myRecInfo;
|
||||
update = { ...update, ...updateParam };
|
||||
|
||||
const oppHeroes: pvpEndParamInter[] = oppDef.heroes.map(cur => { return { hid: cur.actorId, damage: 0, heal: 0, underDamage: 0 } })
|
||||
const defenseInfo = await generPVPOppRecInfo(true, curOpp, oppHeroes, serverId);
|
||||
|
||||
|
||||
update = { ...update, oppBeforePlayers: pvpDefense.oppPlayers };
|
||||
|
||||
await PvpRecordModel.updateByRec(battleCode, {roleId1:roleId, roleId2:oppRoleId, warId, attackInfo, defenseInfo, createTime: nowSeconds(), timeout: false });
|
||||
|
||||
// 刷新对手
|
||||
let oppPlayers = await refreshEnemies(role, seasonNum, pvpDefense.score, pvpDefense.attack.score, pvpDefense.attack.pLv || 1);
|
||||
update.oppPlayers = oppPlayers;
|
||||
|
||||
Reference in New Issue
Block a user