名将擂台:获取对手详细信息,结算
This commit is contained in:
@@ -18,7 +18,7 @@ export function refreshLadderDaily(ladderData: LadderMatchType) {
|
||||
let curTime = new Date();
|
||||
let shouldRefOpp = shouldRefresh(refDaily, curTime);
|
||||
if (shouldRefOpp) {
|
||||
refOppCnt = 0; buyCnt = 0; challengeCnt =0; refDaily = curTime;
|
||||
refOppCnt = 0; buyCnt = 0; challengeCnt = 0; refDaily = curTime;
|
||||
}
|
||||
return {
|
||||
shouldRefOpp,
|
||||
@@ -176,7 +176,10 @@ function isOver(isBefore: boolean, myRank: number, range: number, result: number
|
||||
|
||||
export function checkRank(myRank: number, targetRank: number) {
|
||||
let dicLadderMatch = getDicLadderMatchByMyRank(myRank);
|
||||
if(!dicLadderMatch && myRank != 0 && targetRank != 3001) return false;
|
||||
if(!dicLadderMatch) {
|
||||
if(myRank == 0 && targetRank == 3001) return true;
|
||||
return false
|
||||
}
|
||||
if(myRank < targetRank) { // 向后打
|
||||
if(myRank + dicLadderMatch.rangeAfterMax < targetRank) return false;
|
||||
} else { // 向前打
|
||||
@@ -263,3 +266,21 @@ export async function ladderTimeout(battleCode: string, status: LADDER_STATUS) {
|
||||
await sendMessageToUserWithSuc(rec.roleId1, PUSH_ROUTE.LADDER_BATTLE_STOP, { battleCode });
|
||||
}
|
||||
}
|
||||
|
||||
export async function battleEndWhenChange(ladderMatch: LadderMatchType) {
|
||||
if(!ladderMatch) return;
|
||||
|
||||
// 更新redis
|
||||
let r = new Rank(REDIS_KEY.LADDER, { serverId: ladderMatch.serverId });
|
||||
console.log('##### ladderMatch.roleId', ladderMatch.roleId)
|
||||
r.setRankWithRoleInfo(ladderMatch.roleId, ladderMatch.rank, 0);
|
||||
|
||||
// 刷新对手
|
||||
let oppPlayers = await refreshLadderEnemies(ladderMatch);
|
||||
await sendMessageToUserWithSuc(ladderMatch.roleId, PUSH_ROUTE.LADDER_RANK_UPDATE, {
|
||||
oldRank: ladderMatch.oldRank,
|
||||
newRank: ladderMatch.rank,
|
||||
oppPlayers
|
||||
});
|
||||
return oppPlayers
|
||||
}
|
||||
@@ -5,7 +5,7 @@ import { nowSeconds, getTimeFun, getSeconds } from '../pubUtils/timeUtil';
|
||||
import { getTodayGuildActivity, gameData } from '../pubUtils/data';
|
||||
import { pvpSeasonEnd } from './pvpService';
|
||||
import { getAllOnlineRoles, getAllServers, delGuildActivityRank, getServerCreateTime } from './redisService';
|
||||
import { GUILD_ACTIVITY_TYPE, REFRESH_TIME, COUNTER, AUCTION_TIME, GM_MAIL_TYPE, SERVER_TIMER, ACTIVITY_TYPE, PUSH_ROUTE, STATUS, LADDER_STATUS, LADDER_CHECK_STOP_TIME, LADDER_BATTLE_STOP_TIME, LADDER_SERVER_GAP_TIME } from '../consts';
|
||||
import { GUILD_ACTIVITY_TYPE, REFRESH_TIME, COUNTER, AUCTION_TIME, GM_MAIL_TYPE, SERVER_TIMER, ACTIVITY_TYPE, PUSH_ROUTE, STATUS, LADDER_STATUS, LADDER_SERVER_GAP_TIME } from '../consts';
|
||||
import { pinus } from 'pinus';
|
||||
import { settleGuildWeekly } from './guildService';
|
||||
import { SendMailFun, sendMailsByGmMail, } from './mailService';
|
||||
@@ -17,7 +17,7 @@ import { createNewServer, initMarquee } from './gmService';
|
||||
import moment = require('moment');
|
||||
import { CounterModel } from '../db/Counter';
|
||||
import { reportOneOnline } from './authenticateService';
|
||||
import { PVP } from '../pubUtils/dicParam';
|
||||
import { LADDER, PVP } from '../pubUtils/dicParam';
|
||||
import { fetch37Words } from './sdkService';
|
||||
import { GMMailModel, GMMailType } from '../db/GMMail';
|
||||
import { Maintenance, ServerlistModel, ServerlistType } from '../db/Serverlist';
|
||||
@@ -739,7 +739,7 @@ async function setTakeRankSnapshotSchedule(activityId: number, serverId: number,
|
||||
|
||||
// —————————————— 名将擂台 start —————————————— //
|
||||
export async function setLadderCountDown(battleCode: string, time: number, status: LADDER_STATUS) {
|
||||
let endTime = time + (status == LADDER_STATUS.CHECK? LADDER_CHECK_STOP_TIME: LADDER_BATTLE_STOP_TIME) + LADDER_SERVER_GAP_TIME;
|
||||
let endTime = time + (status == LADDER_STATUS.CHECK? LADDER.LADDER_BATTLE_PREPARE_COUNTDOWN: LADDER.LADDER_BATTLE_COUNTDOWN) + LADDER_SERVER_GAP_TIME;
|
||||
scheduleJob(`ladder${battleCode}`, endTime * 1000, async () => {
|
||||
await ladderTimeout(battleCode, status);
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user