名将擂台:跑马灯&任务

This commit is contained in:
luying
2022-07-19 17:14:11 +08:00
parent def35055e3
commit 96d01ab803
13 changed files with 88422 additions and 10230 deletions
@@ -16,6 +16,8 @@ import { getHeroesAttributes } from '../../../services/playerCeService';
import { checkBattleHeroesByHid } from '../../../services/normalBattleService';
import { ServerlistModel } from '../../../db/Serverlist';
import { saveLadderDefCeByData } from '../../../services/redisService';
import { pushLadderTopChangeMsg } from '../../../services/sysChatService';
import { checkTaskInLadderEnd, checkTaskInLadderStart, checkTaskInLadderSweep } from '../../../services/task/taskService';
export default function (app: Application) {
new HandlerService(app, {});
@@ -62,6 +64,7 @@ export class LadderHandler {
async chooseOpp(msg: { roleId: string, rank: number, myRank: number }, session: BackendSession) {
let roleId = session.get('roleId');
let serverId = session.get('serverId');
let sid = session.get('sid');
let { roleId: targetRoleId, rank, myRank } = msg;
// 检查双方排名等,不行的刷新对手回去
let ladderData = await LadderMatchModel.findByRoleId(roleId);
@@ -98,6 +101,7 @@ export class LadderHandler {
pinus.app.rpc.systimer.systimerRemote.setLadderCountDown.broadcast(rec.battleCode, rec.checkTime, LADDER_STATUS.CHECK);
let result = await getLadderOppDetailData(rec);
await checkTaskInLadderStart(serverId, roleId, sid);
return resResult(STATUS.SUCCESS, {
status,
challengeCnt: ladderData.challengeCnt,
@@ -162,6 +166,7 @@ export class LadderHandler {
async battleEnd(msg: { battleCode: string, isSuccess: boolean }, session: BackendSession) {
let roleId = session.get('roleId');
let roleName = session.get('roleName');
let serverId = session.get('serverId');
let sid = session.get('sid');
let { battleCode, isSuccess } = msg;
@@ -185,6 +190,9 @@ export class LadderHandler {
await battleEndWhenChange(defLadderMatch);
result.setOppPlayers(oppPlayers);
rec = await LadderMatchRecModel.battleEnd(battleCode, isSuccess, atkLadderMatch.rank, defLadderMatch? defLadderMatch.rank: rec.attackInfo.oldRank);
if(atkLadderMatch.rank == 1) {
pushLadderTopChangeMsg(roleId, roleName, serverId);
}
} else {
rec = await LadderMatchRecModel.battleEnd(battleCode, isSuccess);
}
@@ -196,11 +204,13 @@ export class LadderHandler {
// 获取奖励
let { battleGoods, breakGoods } = await ladderBattleEndReward(roleId, roleName, sid, rank, isSuccess, historyRank, 1);
await checkTaskInLadderEnd(serverId, roleId, sid, isSuccess, historyRank, atkLadderMatch.rank);
return resResult(STATUS.SUCCESS, {...pick(result, ['rank', 'historyRank', 'challengeCnt','status', 'time', 'oppPlayers']), battleGoods, breakGoods});
}
// 8. 战5次(扫荡)
async battleSweep(msg: { roleId: string, rank: number, count: number }, session: BackendSession) {
let serverId = session.get('serverId');
let roleId = session.get('roleId');
let roleName = session.get('roleName');
let sid = session.get('sid');
@@ -229,7 +239,7 @@ export class LadderHandler {
// 获取奖励
let { battleGoods } = await ladderBattleEndReward(roleId, roleName, sid, rank, true, rank, count);
await checkTaskInLadderSweep(serverId, roleId, sid, count)
return resResult(STATUS.SUCCESS, {
challengeCnt: ladderData.challengeCnt,
battleGoods