pvp:巅峰之路修改
This commit is contained in:
@@ -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 });
|
||||
|
||||
Reference in New Issue
Block a user