pvp加军功,结算
This commit is contained in:
@@ -1,7 +1,7 @@
|
|||||||
import {Application, BackendSession, pinus} from 'pinus';
|
import {Application, BackendSession, pinus} from 'pinus';
|
||||||
import { uniq, findWhere, findIndex } from 'underscore';
|
import { uniq, findWhere, findIndex } from 'underscore';
|
||||||
import { gameData, getPvpBoxs, getPLvByScore } from '../../../pubUtils/data';
|
import { gameData, getPvpBoxs, getPLvByScore } from '../../../pubUtils/data';
|
||||||
import { refreshEnemies, getEnemies, getLvByScore, defaultHeroes, comsumeChallengeCnt, refresh, findPvpDefByRoleId, checkRoleIsRobot, getRefOppCnt, findPvpDefAllByRoleId, generPVPOppRecInfo, generMyRecInfo, robotIdComBack } from '../../../services/pvpService';
|
import { refreshEnemies, getEnemies, getLvByScore, defaultHeroes, comsumeChallengeCnt, refresh, findPvpDefByRoleId, checkRoleIsRobot, getRefOppCnt, findPvpDefAllByRoleId, generPVPOppRecInfo, generMyRecInfo } from '../../../services/pvpService';
|
||||||
import { RoleModel, RoleType } from '../../../db/Role';
|
import { RoleModel, RoleType } from '../../../db/Role';
|
||||||
import { STATUS } from '../../../consts/statusCode';
|
import { STATUS } from '../../../consts/statusCode';
|
||||||
import { resResult, genCode } from '../../../pubUtils/util';
|
import { resResult, genCode } from '../../../pubUtils/util';
|
||||||
@@ -35,20 +35,18 @@ export class PvpHandler {
|
|||||||
let roleId = session.get('roleId');
|
let roleId = session.get('roleId');
|
||||||
let {heroScores, hisScore} = await PvpDefenseModel.findByRoleId(roleId);
|
let {heroScores, hisScore} = await PvpDefenseModel.findByRoleId(roleId);
|
||||||
let score = 0;
|
let score = 0;
|
||||||
for (let {hid, score: heroScore} of heroScores) {
|
for (let {hid, score: heroScore} of addHeroScores) {
|
||||||
if (heroScore < 0) continue;
|
if (heroScore < 0) continue;
|
||||||
let index = findIndex(addHeroScores, {hid});
|
let index = findIndex(heroScores, {hid});
|
||||||
if (index != -1) {
|
if (index != -1) {
|
||||||
heroScores[index].score = heroScore;
|
heroScores[index].score = heroScore;
|
||||||
} else {
|
} else {
|
||||||
heroScores.push({hid, score :heroScore});
|
heroScores.push({hid, score :heroScore});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
for (let heroScore of heroScores) {
|
for (let heroScore of heroScores) {
|
||||||
score += heroScore.score;
|
score += heroScore.score;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (score < 0) {
|
if (score < 0) {
|
||||||
score = 0;
|
score = 0;
|
||||||
}
|
}
|
||||||
@@ -259,7 +257,7 @@ export class PvpHandler {
|
|||||||
const defenseInfo = await generPVPOppRecInfo(isSuccess, curOpp, oppHeroes, role.lv);
|
const defenseInfo = await generPVPOppRecInfo(isSuccess, curOpp, oppHeroes, role.lv);
|
||||||
|
|
||||||
// 战报记录
|
// 战报记录
|
||||||
await PvpRecordModel.createRec({roleId1: roleId, roleId2: robotIdComBack(oppRoleId), warId: BattleRecord.battleId, attackInfo, defenseInfo, createTime: nowSeconds()});
|
await PvpRecordModel.createRec({roleId1: roleId, roleId2: oppRoleId, warId: BattleRecord.battleId, attackInfo, defenseInfo, createTime: nowSeconds()});
|
||||||
|
|
||||||
// 刷新对手
|
// 刷新对手
|
||||||
let newOppPlayers: Array<OppPlayers> = await refreshEnemies(role, score, pLv);
|
let newOppPlayers: Array<OppPlayers> = await refreshEnemies(role, score, pLv);
|
||||||
@@ -392,7 +390,7 @@ export class PvpHandler {
|
|||||||
newHero.setPvpHeroInfo(hero);
|
newHero.setPvpHeroInfo(hero);
|
||||||
return newHero;
|
return newHero;
|
||||||
})
|
})
|
||||||
result = new PlayerDetail({...pvpHistoryOpp, roleId: pvpHistoryOpp.oppRoleId, heroes, rank: pvpHistoryOpp.rankLv});
|
result = new PlayerDetail({...pvpHistoryOpp, roleId: pvpHistoryOpp.oppRoleId, heroes});
|
||||||
} else { // 查询对方pvpDefense
|
} else { // 查询对方pvpDefense
|
||||||
let pvpDefense = await PvpDefenseModel.findByRoleId(oppoRoleId);
|
let pvpDefense = await PvpDefenseModel.findByRoleId(oppoRoleId);
|
||||||
let dbHeroes = await HeroModel.findByRole(oppoRoleId);
|
let dbHeroes = await HeroModel.findByRole(oppoRoleId);
|
||||||
@@ -408,7 +406,7 @@ export class PvpHandler {
|
|||||||
}
|
}
|
||||||
heroes.sort((a, b) => b.score - a.score);
|
heroes.sort((a, b) => b.score - a.score);
|
||||||
let rank = await getMyRank(REDIS_KEY.PVP_RANK, 0, roleId);//去redis中获取排名
|
let rank = await getMyRank(REDIS_KEY.PVP_RANK, 0, roleId);//去redis中获取排名
|
||||||
result = new PlayerDetail({...role, ...pvpDefense, heroes, rank});
|
result = new PlayerDetail({...role, heroes, rank});
|
||||||
}
|
}
|
||||||
|
|
||||||
return resResult(STATUS.SUCCESS, result);
|
return resResult(STATUS.SUCCESS, result);
|
||||||
|
|||||||
Reference in New Issue
Block a user