diff --git a/game-server/app/services/comBattleService.ts b/game-server/app/services/comBattleService.ts index 8d1f3cc4a..79b3ac4ed 100644 --- a/game-server/app/services/comBattleService.ts +++ b/game-server/app/services/comBattleService.ts @@ -400,13 +400,13 @@ export async function dismissTeam(teamStatus: MemComBtlTeam, teamMap: Map, roleId: string, teamDisTimer: Map) { - if (teamIsFullToStart(teamStatus)) { + // if (teamIsFullToStart(teamStatus)) { clearComBtlTimer(teamStatus.teamCode, teamDisTimer); let timer = setTimeout(async () => { await dismissTeam(teamStatus, teamMap, roleId, teamDisTimer); }, COM_BTL_CONST.CAP_START_TIME); teamDisTimer.set(teamStatus.teamCode, timer); - } + // } } /** @@ -688,15 +688,7 @@ export async function oneTeamNotInBlack(teams: ComBattleTeamType[], roleId: stri // } export async function checkHasMyTeam(roleId: string) { - let battles = pinus.app.getServersByType('battle'); - let hasMyTeam = false; - for(let server of battles) { - let checkResult = await pinus.app.rpc.battle.comBattleRemote.checkMyTeam.toServer(server.id, roleId); - if(checkResult) { - hasMyTeam = true; break; - } - } - return hasMyTeam; + return await ComBattleTeamModel.checkHasTeamByRoleId(roleId); } export async function checkTeamStatusAndSend(teamCode: string, roleId: string, sid: string) { diff --git a/shared/db/ComBattleTeam.ts b/shared/db/ComBattleTeam.ts index eac6a3cea..095727327 100644 --- a/shared/db/ComBattleTeam.ts +++ b/shared/db/ComBattleTeam.ts @@ -3,6 +3,7 @@ import { index, getModelForClass, prop, DocumentType } from '@typegoose/typegoos import { EXTERIOR } from '../pubUtils/dicParam'; import { nowSeconds } from '../pubUtils/timeUtil'; import { RoleUpdate } from './Role'; +import { COM_TEAM_STATUS } from '../consts'; export class ComRoleStatusHero { @prop({ required: true }) @@ -241,6 +242,10 @@ export default class ComBattleTeam extends BaseModel { return team; } + public static async checkHasTeamByRoleId(roleId: string) { + return await ComBattleTeamModel.exists({ roleIds: { $in: [roleId] }, status: COM_TEAM_STATUS.FIGHTING }); + } + public static async addRole(teamCode: string, roleStatus: RoleStatus, lean = true) { const team: ComBattleTeamType = await ComBattleTeamModel.findOneAndUpdate({ teamCode, roleCnt: { $lte: 2 } }, {$push: {roleIds: roleStatus.roleId, roleStatus}, $inc: {roleCnt: 1}}, {new: true}).lean(lean); return team;