寻宝:战斗过程中占用的藏宝图要先扣
This commit is contained in:
@@ -53,7 +53,7 @@ export class ComBattleHandler {
|
||||
console.log('createTeam msg: ', msg);
|
||||
// 检查藏宝图Id是否合法
|
||||
if (!blueprtIdValid(blueprtId)) return resResult(STATUS.COM_BATTLE_BLUEPRT_INVALID);
|
||||
const enoughBlueprt = await hasEnoughBlueprt(roleId, blueprtId);
|
||||
const enoughBlueprt = await hasEnoughBlueprt(roleId, sid, blueprtId);
|
||||
if (!enoughBlueprt) return resResult(STATUS.COM_BATTLE_BLUEPRT_NOT_ENOUGH);
|
||||
|
||||
const roleInfo = await RoleModel.findByRoleId(roleId, null, true);
|
||||
@@ -395,6 +395,7 @@ export class ComBattleHandler {
|
||||
*/
|
||||
async startBattle(msg: {teamCode: string}, session: BackendSession) {
|
||||
let roleId = session.get('roleId');
|
||||
let roleName = session.get('roleName');
|
||||
let sid = session.get('sid');
|
||||
let { teamCode } = msg;
|
||||
let teamStatus = this.teamMap.get(teamCode);
|
||||
@@ -423,6 +424,8 @@ export class ComBattleHandler {
|
||||
let channel = channelService.getChannel(teamCode, false);
|
||||
let team = await ComBattleTeamModel.syncTeamData({teamCode, status: COM_TEAM_STATUS.LOOSE, roleStatus: teamStatus.roleStatus, bossHpArr: teamStatus.bossHpArr}, true);
|
||||
if (!team) return resResult(STATUS.COM_BATTLE_RESULT_ERR);
|
||||
// 将藏宝图加回去
|
||||
await addItems(roleId, roleName, sid, [{ id: team.blueprtId, count: 1 }])
|
||||
teamStatus.timeout = true;
|
||||
channel.pushMessage('onTeamComplete', resResult(STATUS.SUCCESS, {teamCode, result: false, timeout: true}));
|
||||
thiz.teamMap.delete(teamCode);
|
||||
|
||||
Reference in New Issue
Block a user