diff --git a/game-server/app/servers/guild/handler/gvgHandler.ts b/game-server/app/servers/guild/handler/gvgHandler.ts index e7032d8b2..8bef3a6c4 100644 --- a/game-server/app/servers/guild/handler/gvgHandler.ts +++ b/game-server/app/servers/guild/handler/gvgHandler.ts @@ -83,6 +83,8 @@ export class GVGHandler { const serverId = session.get('serverId'); const guildCode = session.get('guildCode'); + // if(!await checkCanPrepare(roleId)) return resResult(STATUS.GVG_CANNOT_PREPARE); // TODO 临时去拦截 + let myLeague = await GVGLeagueModel.findLeagueByGuild(guildCode); if(!myLeague) return resResult(STATUS.GVG_LEAGUE_NOT_EXIST); @@ -137,9 +139,17 @@ export class GVGHandler { // 是否超过人数 let limit = Math.ceil(leaguePrepare.maxMemberCnt * GVG.GVG_ROLE_TOTAL_RATIO); - if(leaguePrepare.fighterCnt + leaguePrepare.producerCnt >= limit) return resResult(STATUS.GVG_JOB_LIMIT); let cnt = job == LEAGUE_JOB.FIGHTER? leaguePrepare.fighterCnt: leaguePrepare.producerCnt; - if(cnt >= Math.ceil(limit * GVG.GVG_ROLE_RATIO / 2)) return resResult(STATUS.GVG_JOB_LIMIT); + if(leaguePrepare.fighterCnt + leaguePrepare.producerCnt >= limit || + cnt >= Math.ceil(limit * GVG.GVG_ROLE_RATIO / 2)) { + return resResult(STATUS.SUCCESS, { + isSuccess: false, + leagueCode: myLeague.leagueCode, + job: myUserData.job, + producerCnt: leaguePrepare.producerCnt, + fighterCnt: leaguePrepare.fighterCnt, + }); + } // 更新userData myUserData = await GVGUserDataModel.chooseJob(configId, myLeague.leagueCode, roleId, job); @@ -148,6 +158,7 @@ export class GVGHandler { let dailyReward = await getDailyLoginReward(roleId, roleName, sid, myLeague.leagueCode, myUserData?.job); return resResult(STATUS.SUCCESS, { + isSuccess: true, leagueCode: myLeague.leagueCode, job: myUserData.job, producerCnt: leaguePrepare.producerCnt,