寻宝:移除队友之后不能再次加入
This commit is contained in:
@@ -114,7 +114,7 @@ export class ComBattleHandler {
|
||||
|
||||
const teams = await ComBattleTeamModel.getOtherTeamByQualityAndSt(roleId, qualityArr, COM_TEAM_STATUS.DEFAULT, lvRange, topLineupCe);
|
||||
const team: ComBattleTeamType = await oneTeamNotInBlack(teams, roleId);
|
||||
if (team && team.roleIds.length < 3 && team.status === COM_TEAM_STATUS.DEFAULT && team.roleIds.indexOf(roleId) === -1) {
|
||||
if (team && team.roleIds.length < 3 && team.status === COM_TEAM_STATUS.DEFAULT && team.roleIds.indexOf(roleId) === -1 && team.blacklist.indexOf(roleId) === -1) {
|
||||
return resResult(STATUS.SUCCESS, {teamCode: team.teamCode});
|
||||
}
|
||||
|
||||
@@ -181,6 +181,8 @@ export class ComBattleHandler {
|
||||
if (!teamStatus || teamStatus.status !== COM_TEAM_STATUS.DEFAULT) return resResult(STATUS.COM_BATTLE_TEAM_INVALID);
|
||||
if (teamIsFullToStart(teamStatus)) return resResult(STATUS.COM_BATTLE_MEMBER_LIMIT);
|
||||
if (teamStatus.roleIds.indexOf(roleId) !== -1) return resResult(STATUS.COM_BATTLE_DUP_ENTER);
|
||||
if (teamStatus.blacklist.indexOf(roleId) != -1) return resResult(STATUS.COM_BATTLE_BE_KICKED);
|
||||
|
||||
let { lv = 1, head = EXTERIOR.EXTERIOR_FACE, topLineupCe = 0, frame = EXTERIOR.EXTERIOR_FACECASE, spine = EXTERIOR.EXTERIOR_APPEARANCE } = await Role.findByRoleId(roleId, null, true);
|
||||
|
||||
let { quality } = gameData.goods.get(teamStatus.blueprtId);
|
||||
@@ -354,6 +356,9 @@ export class ComBattleHandler {
|
||||
teamStatus.roleStatus.splice(idx, 1);
|
||||
}
|
||||
});
|
||||
if(roleId === teamStatus.capId) { // 队长移除队友,并把他加入黑名单
|
||||
teamStatus.blacklist.push(roleIdToRm);
|
||||
}
|
||||
|
||||
// 推送移除消息
|
||||
let channelService = this.app.get('channelService');
|
||||
@@ -706,6 +711,14 @@ export class ComBattleHandler {
|
||||
if (!msgData) return resResult(STATUS.WRONG_PARMS);
|
||||
const roleInfo = await getSimpleRoleInfo(targetRoleId);
|
||||
|
||||
let teamStatus = this.teamMap.get(teamCode);
|
||||
if(teamStatus) {
|
||||
let index = teamStatus.blacklist.indexOf(targetRoleId);
|
||||
if(index != -1) {
|
||||
teamStatus.blacklist.splice(index, 1);
|
||||
}
|
||||
}
|
||||
|
||||
return resResult(STATUS.SUCCESS, {...msgData, roleInfo});
|
||||
}
|
||||
|
||||
|
||||
@@ -563,7 +563,7 @@ export function createComTeamData(teamCode: string, pub: boolean, blueprtId: num
|
||||
const bossHp = bossHpSum;
|
||||
const status = COM_TEAM_STATUS.DEFAULT;
|
||||
return {
|
||||
teamCode, pub, blueprtId, status, capId, ceLimit, bossHp, bossCurHp, quality, bossHpArr: transBossHpArr(bossHpArr), curRnd, roleCnt, timeout, lvRange: equipLvl
|
||||
teamCode, pub, blueprtId, status, capId, ceLimit, bossHp, bossCurHp, quality, bossHpArr: transBossHpArr(bossHpArr), curRnd, roleCnt, timeout, lvRange: equipLvl, blacklist: []
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user