pvp:巅峰之路修改

This commit is contained in:
luying
2022-05-24 21:23:18 +08:00
parent a4dfb463ed
commit e2233c9888
11 changed files with 268 additions and 34 deletions
@@ -1,7 +1,7 @@
import { Application, BackendSession, pinus, HandlerService, } from 'pinus';
import { uniq, findWhere, findIndex } from 'underscore';
import { gameData, getPvpBoxs, getPLvByScore } from '../../../pubUtils/data';
import { gameData, getPvpBoxBySeasonNumAndIndex } from '../../../pubUtils/data';
import { refreshEnemies, getEnemies, getLvByScore, comsumeChallengeCnt, refChallengeCnt, generPVPOppRecInfo, generMyRecInfo, sendLastSeasonRewardIfNotSent, refreshRefOppCnt, generPvpLineupCe } from '../../../services/pvpService';
import { RoleModel, RoleType } from '../../../db/Role';
import { STATUS } from '../../../consts/statusCode';
@@ -517,11 +517,13 @@ export class PvpHandler {
let serverId = session.get('serverId');
let roleName = session.get('roleName');
let seasonNum: number = this.app.get('pvpSeasonNum');
let seasonEndTime: number = this.app.get('pvpSeasonEndTime');
let { hisScore, receivedBox, challengeCnt: lastChallengeCnt, challengeRefTime: lastChallengeRefTime } = await PvpDefenseModel.findByRoleIdIncludeAll(roleId);
let pvpBoxs = getPvpBoxs();
let pvpBox = findWhere(pvpBoxs, { id });
if (hisScore < pvpBox.score) {
let { seasonWinNum, receivedBox, challengeCnt: lastChallengeCnt, challengeRefTime: lastChallengeRefTime } = await PvpDefenseModel.findByRoleIdIncludeAll(roleId);
let dicPvpBox = getPvpBoxBySeasonNumAndIndex(seasonNum, id);
if(!dicPvpBox) return resResult(STATUS.DIC_DATA_NOT_FOUND);
if (seasonWinNum < dicPvpBox.winTimes) {
return resResult(STATUS.PVP_NOT_REACH_BOX_SCORE);
}
if (receivedBox.indexOf(id) != -1) {
@@ -530,7 +532,7 @@ export class PvpHandler {
receivedBox.push(id);
let { challengeCnt, challengeRefTime } = await refChallengeCnt(lastChallengeCnt, lastChallengeRefTime, seasonEndTime, roleId, session.get('vipStartTime'));
await PvpDefenseModel.updateInfo(roleId, { receivedBox, challengeCnt, challengeRefTime });
let result = await addItems(roleId, roleName, sid, pvpBox.reward, ITEM_CHANGE_REASON.PVP_BOX_REWARD);
let result = await addItems(roleId, roleName, sid, dicPvpBox.reward, ITEM_CHANGE_REASON.PVP_BOX_REWARD);
// 任务
await checkTask(serverId, roleId, sid, TASK_TYPE.PVP_RECEIVE_BOX);
return resResult(STATUS.SUCCESS, { goods: result, receivedBox, challengeCnt, challengeRefTime });