diff --git a/game-server/app/servers/guild/handler/guildHandler.ts b/game-server/app/servers/guild/handler/guildHandler.ts index 9db1c8cf0..0a04b6b91 100644 --- a/game-server/app/servers/guild/handler/guildHandler.ts +++ b/game-server/app/servers/guild/handler/guildHandler.ts @@ -69,6 +69,7 @@ export class GuildHandler { if(ARMY.ARMY_CREAT_CONDITION > role.totalPay) { return resResult(STATUS.GUILD_PAY_CONDITION); } + if(role.lv < 16) return resResult(STATUS.LV_LIMIT); await handleCost(roleId, sid, [getGoldObject(ARMY.ARMY_CREAT_COST)], ITEM_CHANGE_REASON.CREATE_GUILD); @@ -314,6 +315,7 @@ export class GuildHandler { if (ceLimit > role.ce) { return resResult(STATUS.GUILD_NOT_REACH_CONDI); } + if(role.lv < 16) return resResult(STATUS.LV_LIMIT); if(nowSeconds() - role.quitGuildTime < (await getGuildQuitCdTime(serverId)) * 60) { return resResult(STATUS.GUILD_QUIT_TIME); @@ -483,6 +485,10 @@ export class GuildHandler { let code: string; if (isReceived) { // 同意申请,加入 + + const role = await RoleModel.findByRoleId(roleId, 'lv'); + if(role.lv < 16) return resResult(STATUS.LV_LIMIT); + const { guildCode } = invite; const guild = await GuildModel.findByCode(guildCode, serverId); if (!guild) { diff --git a/shared/db/Role.ts b/shared/db/Role.ts index bd613ba70..391aa4d3e 100644 --- a/shared/db/Role.ts +++ b/shared/db/Role.ts @@ -658,7 +658,7 @@ export default class Role extends BaseModel { * @param invitedMembers 当天已邀请过的人 */ public static async getInviteList(time: number, serverId: number) { - const result: RoleType[] = await RoleModel.find({ loginTime: { $gt: time }, hasGuild: false, serverId, hasInit: true }) + const result: RoleType[] = await RoleModel.find({ loginTime: { $gt: time }, hasGuild: false, serverId, hasInit: true, lv: {$gte: 16} }) .select({ roleId: 1, roleName: 1, ce: 1, head: 1, frame: 1, lv: 1, title: 1, job: 1, quitTime: 1, _id: 0 }) .sort({ quitTime: -1, lv: -1, ce: -1 }) .limit(100).lean({ getters: true, virtuals: true });