寻宝:添加撤退

This commit is contained in:
luying
2022-10-08 16:44:09 +08:00
parent a2b309cc6d
commit 4a83442a54
3 changed files with 34 additions and 4 deletions
@@ -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;