diff --git a/game-server/app/servers/battle/handler/comBattleHandler.ts b/game-server/app/servers/battle/handler/comBattleHandler.ts index 70c733c83..a4f7e682a 100644 --- a/game-server/app/servers/battle/handler/comBattleHandler.ts +++ b/game-server/app/servers/battle/handler/comBattleHandler.ts @@ -17,10 +17,9 @@ import { ItemModel } from '../../../db/Item'; import { handleFixedReward, addItems, handleCost } from '../../../services/rewardService'; import { checkRoleInQueue, getTeamSearchByQuality, rmRoleFromQueue, setTeamSearchReq } from '../../../services/redisService'; import { transBossHpArr } from '../../../services/battleService'; -import { getRandBlueprtId, getRandComBtlRobots, clearComBtlTimer, getRealReward, getAssistTimesByQuality, getFrd, updateRobotHurtByTime, comBtlLvInvalid, clearRobotHurtTimer, setDismissTimer, dismissTeam, incEquipPrintDrop, randEquipPrintId, handleComBtlProgress, getComBattleFriendAdd, getValidTeammateRoleSt } from '../../../services/comBattleService'; +import { getRandBlueprtId, getRandComBtlRobots, clearComBtlTimer, getAssistTimesByQuality, getFrd, updateRobotHurtByTime, comBtlLvInvalid, clearRobotHurtTimer, setDismissTimer, dismissTeam, incEquipPrintDrop, randEquipPrintId, handleComBtlProgress, getComBattleFriendAdd, getValidTeammateRoleSt, teammateInBlackList } from '../../../services/comBattleService'; import { setAp } from '../../../services/actionPointService'; import { roleLevelup } from '../../../services/normalBattleService'; -import { FriendRelationModel } from '../../../db/FriendRelation'; export default function(app: Application) { return new ComBattleHandler(app); @@ -217,15 +216,10 @@ export class ComBattleHandler { let team: ComBattleTeamType; for(let curTeam of teams) { let { roleIds } = curTeam; - - // 黑名单屏蔽 - let hasBlackList = false; - for(let hisRoleId of roleIds) { - let isInBlackList = await FriendRelationModel.isInBlackList(roleId, hisRoleId); - if(isInBlackList) { hasBlackList = true; break; } - } - if(!hasBlackList) { - team = curTeam; break; + const inBlackList = await teammateInBlackList(roleId, roleIds); + if(!inBlackList) { + team = curTeam; + break; } } @@ -326,12 +320,6 @@ export class ComBattleHandler { isFrd = await getFrd(roleId, quality); } - // 一般不会匹配到,手动邀请的可以加入 - // for(let hisRoleId of teamStatus.roleIds) { - // let isInBlackList = await FriendRelationModel.isInBlackList(roleId, hisRoleId); - // if(isInBlackList) return resResult(STATUS.COM_BATTLE_BLACKLIST); - // } - // 加入队伍 let roleStatus = new RoleStatus(roleId, roleName, false, isFrd, headHid, sHid, topFiveCe, lv); const team = await ComBattleTeamModel.addRole(teamCode, roleStatus); diff --git a/game-server/app/services/comBattleService.ts b/game-server/app/services/comBattleService.ts index 5d87e6197..e6c533972 100644 --- a/game-server/app/services/comBattleService.ts +++ b/game-server/app/services/comBattleService.ts @@ -463,16 +463,10 @@ export async function getComBattleFriendAdd(roleStatus: RoleStatus[]) { async function teammateValid(roleInfo: Partial, roleId: string, roleIds: Array, ceLimit: number) { if (!roleInfo || roleIds.indexOf(roleId) !== -1) return false; + const isBlack = await teammateInBlackList(roleId, roleIds); + if(isBlack) return false; + let { topFiveCe } = roleInfo; - - // 黑名单屏蔽 - let hasBlackList = false; - for(let hisRoleId of roleIds) { - let isInBlackList = await FriendRelationModel.isInBlackList(roleId, hisRoleId); - if(isInBlackList) { hasBlackList = true; break; } - } - if(hasBlackList) return false; - topFiveCe = reduceCe(topFiveCe); if (topFiveCe < ceLimit) return false; @@ -497,4 +491,19 @@ export async function getValidTeammateRoleSt(roleId: string, roleIds: Array} roleIds 队伍中已有的玩家 id + * @returns + */ +export async function teammateInBlackList(roleId: string, roleIds: Array) { + for(let teammateRoleId of roleIds) { + const isBlack = await FriendRelationModel.isInBlackList(roleId, teammateRoleId); + if (isBlack === true) return true; + } + return false; } \ No newline at end of file