名将擂台:跑马灯&任务
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -11,7 +11,7 @@ import { ItemInter, RewardInter } from '../../../pubUtils/interface';
|
||||
import { getDropItems, FIGURE_UNLOCK_CONDITION, ITID } from '../../../consts/constModules/itemConst'
|
||||
import { pushComposeOrangeHero, pushHeroQualityUpMsg, pushHeroStarMax, pushHeroWakeUp } from '../../../services/chatService';
|
||||
import { PvpDefenseModel } from '../../../db/PvpDefense';
|
||||
import { checkTask, checkTaskInHeroQUalityUp, checkTaskInHeroStarUp, checkTaskInHeroTrain, checkTaskInHeroWakeUp } from '../../../services/task/taskService';
|
||||
import { checkTask, checkTaskInHeroGiveFavor, checkTaskInHeroQUalityUp, checkTaskInHeroStarUp, checkTaskInHeroTrain, checkTaskInHeroWakeUp } from '../../../services/task/taskService';
|
||||
import { isNumber, pick } from 'underscore';
|
||||
import { updateEplaces } from '../../../services/equipService';
|
||||
import { addConnect, addConsumeToHero, checkUnlockTalentCondition, initSkinTalent, updateSkinTalent } from '../../../services/roleService';
|
||||
@@ -475,8 +475,9 @@ export class HeroHandler {
|
||||
}
|
||||
|
||||
let updateConsume = addConsumeToHero(hero.consumes, material);
|
||||
let newConnections = addConnect(connections, { shipId, level: newLevel, exp: newExp });
|
||||
let update = {
|
||||
connections: addConnect(connections, { shipId, level: newLevel, exp: newExp }),
|
||||
connections: newConnections,
|
||||
consumes: updateConsume
|
||||
}
|
||||
|
||||
@@ -484,7 +485,7 @@ export class HeroHandler {
|
||||
let { curHero } = await calculateCeWithHero(HERO_SYSTEM_TYPE.CONNECT, roleId, serverId, sid, hero.hid, update);
|
||||
if(isLv) {
|
||||
// await unlockFigure(sid, roleId, [{ type: FIGURE_UNLOCK_CONDITION.HERO_FAVOR, paramHid: curHero.hid, paramFavourLv: curHero.favourLv }]);
|
||||
await checkTask(serverId, roleId, sid, TASK_TYPE.HERO_CONNECT, { connectLv: newLevel })
|
||||
await checkTaskInHeroGiveFavor(serverId, roleId, sid, shipId, newConnections, connections);
|
||||
}
|
||||
return resResult(STATUS.SUCCESS, { curHero: { ...pick(curHero, ['hid', 'connections']), shipId } });
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user