名将擂台:修改时间精度和debug接口
This commit is contained in:
@@ -196,18 +196,25 @@ export function checkRank(myRank: number, targetRank: number) {
|
||||
|
||||
export async function getLadderOppStatus(ladderData: LadderMatchType, targetRoleId: string, myRank: number, rank: number) {
|
||||
if(ladderData.rank != myRank) return { status: LADDER_OPP_STATUS.MY_RANK_CHANGE };
|
||||
let { oppPlayers } = ladderData;
|
||||
let curOppPlayer = oppPlayers.find(cur => cur.roleId == targetRoleId);
|
||||
if(!curOppPlayer|| curOppPlayer.rank != rank) return { status: LADDER_OPP_STATUS.OPP_RANK_CHANGE };
|
||||
let isRobot = targetRoleId.startsWith('robot');
|
||||
|
||||
if(curOppPlayer.isRobot) {
|
||||
if(isRobot) {
|
||||
if(rank <= 3000) {
|
||||
let hisLadderData = await LadderMatchRecModel.checkByRank(ladderData.serverId, `robot${rank}`);
|
||||
if(hisLadderData) return { status: LADDER_OPP_STATUS.OPP_RANK_CHANGE };
|
||||
if(hisLadderData) return { status: LADDER_OPP_STATUS.OPP_IS_LOCKED };
|
||||
|
||||
let ladderMatch = await LadderMatchModel.isRankExist(rank);
|
||||
if(ladderMatch) {
|
||||
return { status: LADDER_OPP_STATUS.OPP_RANK_CHANGE };
|
||||
}
|
||||
}
|
||||
|
||||
return { status: LADDER_OPP_STATUS.BATTLE, isRobot: true };
|
||||
} else {
|
||||
let ladderMatch = await LadderMatchModel.findByRoleId(targetRoleId);
|
||||
if(!ladderMatch || ladderMatch.rank != rank) {
|
||||
return { status: LADDER_OPP_STATUS.OPP_RANK_CHANGE };
|
||||
}
|
||||
let hisLadderData = await LadderMatchModel.lock(ladderData.serverId, targetRoleId, rank);
|
||||
if(!hisLadderData) return { status: LADDER_OPP_STATUS.OPP_IS_LOCKED };
|
||||
|
||||
|
||||
@@ -746,12 +746,12 @@ export async function setLadderCountDown(battleCode: string, time: number, statu
|
||||
if(scheduledJobs[`ladder${battleCode}`]) {
|
||||
scheduledJobs[`ladder${battleCode}`].cancel();
|
||||
}
|
||||
let endTime = time + (status == LADDER_STATUS.CHECK? LADDER.LADDER_BATTLE_PREPARE_COUNTDOWN: LADDER.LADDER_BATTLE_COUNTDOWN);
|
||||
scheduleJob(`ladder${battleCode}`, endTime * 1000, async () => {
|
||||
let endTime = time + (status == LADDER_STATUS.CHECK? LADDER.LADDER_BATTLE_PREPARE_COUNTDOWN: LADDER.LADDER_BATTLE_COUNTDOWN) * 1000;
|
||||
scheduleJob(`ladder${battleCode}`, endTime, async () => {
|
||||
await ladderTimeWillout(battleCode, status);
|
||||
|
||||
scheduledJobs[`ladder${battleCode}`].cancel();
|
||||
scheduleJob(`ladder${battleCode}`, endTime * 1000 + LADDER_SERVER_GAP_TIME * 1000, async () => {
|
||||
scheduleJob(`ladder${battleCode}`, endTime + LADDER_SERVER_GAP_TIME * 1000, async () => {
|
||||
await ladderTimeout(battleCode, status);
|
||||
scheduledJobs[`ladder${battleCode}`].cancel();
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user