pvp:防守得分
This commit is contained in:
@@ -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 });
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user