pvp:防守得分

This commit is contained in:
luying
2022-05-07 21:56:04 +08:00
parent d1115fb5d0
commit 143aba56b0
3 changed files with 31 additions and 16 deletions
+24 -15
View File
@@ -476,23 +476,32 @@ export async function generPVPOppRecInfo(isSuccess: boolean, curOpp: OppPlayer,
if(!curOpp.isRobot && !isSuccess) {
let pvpDefense = await PvpDefenseModel.findByRoleId(robotIdComBack(curOpp.roleId));
if(pvpDefense && pvpDefense.defense) {
let { attack, defense, heroScores, score } = pvpDefense;
for(let { actorId } of defense.heroes) {
let hs = heroScores.find(cur => cur.hid == actorId);
if(hs) {
hs.score += PVP.PVP_DEFENSE_SUCCESS_REWARD;
} else {
heroScores.push({ hid: actorId, score: PVP.PVP_DEFENSE_SUCCESS_REWARD })
}
addSumScore += PVP.PVP_DEFENSE_SUCCESS_REWARD;
let { attack, defense, heroScores, score, defenseScoreCnt, refDefenseScore } = pvpDefense;
if(shouldRefresh(refDefenseScore, new Date())) {
defenseScoreCnt = 0; refDefenseScore = new Date();
}
console.log('&&&&&', 'addSumScore', addSumScore)
let newAttack = <Attack>calLineupScore(attack, heroScores);
let newDefense = <Defense>calLineupScore(defense, heroScores);
await PvpDefenseModel.updateInfo(oppRole.roleId, { attack: newAttack, defense: newDefense, heroScores, score: score + addSumScore });
if(defenseScoreCnt < PVP.PVP_DEFENSE_SUCCESS_REWARD_MAX_CNT) {
for(let { actorId } of defense.heroes) {
let hs = heroScores.find(cur => cur.hid == actorId);
const dicOpp = gameData.pvpOpponent.get(curOpp.pos);
let addScore = PVP.PVP_DEFENSE_SUCCESS_REWARD - dicOpp.score;
if(hs) {
hs.score += addScore;
} else {
heroScores.push({ hid: actorId, score: addScore })
}
addSumScore += addScore;
}
let newAttack = <Attack>calLineupScore(attack, heroScores);
let newDefense = <Defense>calLineupScore(defense, heroScores);
await PvpDefenseModel.updateInfo(pvpDefense.roleId, { attack: newAttack, defense: newDefense, heroScores, score: score + addSumScore, defenseScoreCnt: defenseScoreCnt + 1, refDefenseScore });
} else {
await PvpDefenseModel.updateInfo(pvpDefense.roleId, { defenseScoreCnt: defenseScoreCnt + 1, refDefenseScore });
}
}
}