寻宝:添加撤退
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
import { ComBattleInvitation, MemComBtlTeam } from './../../../domain/battleField/ComBattleTeamField';
|
||||
import { difference } from 'underscore';
|
||||
import { difference, pick } from 'underscore';
|
||||
/*
|
||||
* @Author: 梁桐川
|
||||
* @Date: 2020-11-30 15:05:48
|
||||
@@ -560,6 +560,31 @@ export class ComBattleHandler {
|
||||
return resResult(STATUS.SUCCESS, { battleGoods: goods, teamInfo: {status, teamCode, roleStatus, bossHpArr} });
|
||||
}
|
||||
|
||||
async retreat(msg: {teamCode: string}, session: BackendSession) {
|
||||
let roleId = session.get('roleId');
|
||||
let sid = session.get('sid');
|
||||
|
||||
let { teamCode } = msg;
|
||||
let teamStatus = this.teamMap.get(teamCode);
|
||||
if (!teamStatus || !teamStatus.roleIds || teamStatus.roleIds.indexOf(roleId) === -1) {
|
||||
checkTeamStatusAndSend(teamCode, roleId, sid);
|
||||
return resResult(STATUS.SUCCESS);
|
||||
}
|
||||
if(teamStatus.roleStatus.length > 1) {
|
||||
return resResult(STATUS.COM_BATTLE_RETREAT_ERR)
|
||||
}
|
||||
|
||||
clearRobotHurtTimer(teamStatus, this.robotHurtTimer);
|
||||
|
||||
let team = await ComBattleTeamModel.syncTeamData({ teamCode, status: COM_TEAM_STATUS.LOOSE, roleStatus: teamStatus.roleStatus, bossHpArr: teamStatus.bossHpArr, endTime: Date.now() }, false, true);
|
||||
if (!team) return resResult(STATUS.COM_BATTLE_RESULT_ERR);
|
||||
sendMessageToTeam(teamCode, PUSH_ROUTE.TEAM_COMPLETE, { teamCode, result: false });
|
||||
|
||||
this.teamMap.delete(teamCode);
|
||||
|
||||
return resResult(STATUS.SUCCESS, { teamInfo: pick(team, ['status', 'teamCode', 'roleStatus', 'bossHpArr']) });
|
||||
}
|
||||
|
||||
async getComBtlStatus(msg: {teamCode: string}, session: BackendSession) {
|
||||
let { teamCode } = msg;
|
||||
let roleStatus: RoleStatus[], status: number, bossHpArr: BossHp[], timeout: boolean, endTime = 0;
|
||||
|
||||
Reference in New Issue
Block a user