🐞 fix(gvg): 被挑战过程中不可离开城池
This commit is contained in:
@@ -234,6 +234,8 @@ export class GVGBattleHandler {
|
||||
const { cityId } = msg;
|
||||
let { configId, period } = getGVGPeriodData();
|
||||
|
||||
if(await GVGTeamModel.checkLockTeam(roleId)) return resResult(STATUS.GVG_BATTLE_TEAM_LOCK);
|
||||
|
||||
// 检测是否已经在城池中
|
||||
let myLeague = await GVGLeagueModel.findLeagueByGuild(guildCode);
|
||||
if(!myLeague) return resResult(STATUS.GVG_LEAGUE_NOT_EXIST);
|
||||
|
||||
@@ -375,18 +375,18 @@ export const STATUS = {
|
||||
GVG_TEAM_NOT_FOUND: { code: 21409, simStr: '未找到这个队伍' },
|
||||
GVG_LOCK_TIME_OUT: { code: 21410, simStr: '挑战超时' },
|
||||
GVG_ATTACK_TEAM_BROKEN: { code: 21411, simStr: '挑战队伍已被击破' },
|
||||
GVG_DEFENSE_TEAM_BROKEN: { code: 21411, simStr: '对方队伍已被击破' },
|
||||
GVG_BATTLEREC_HAS_SUMMIT: { code: 21412, simStr: '该记录已结算过' },
|
||||
GVG_TEAM_IS_NOT_MINE: { code: 21413, simStr: '您不可操作此队伍' },
|
||||
GVG_SAME_LEAGUE_CANNOT_ATTACK: { code: 21414, simStr: '您不可攻击友军' },
|
||||
GVG_TEAM_NOT_SAME_AREA: { code: 21415, simStr: '对方不在同一个区域内' },
|
||||
GVG_POINT_HAS_SETTLED: { code: 21416, simStr: '该据点已经有其他队伍驻守' },
|
||||
GVG_POINT_NOT_AREA: { code: 21417, simStr: '您不在该积分点所在区域' },
|
||||
GVG_TEAM_NOT_NEED_REVIVE: { code: 21418, simStr: '您的队伍已复活,无需重复复活' },
|
||||
GVG_BATTLE_IS_MOVING_CD: { code: 21403, simStr: '移动冷却中' },
|
||||
GVG_BATTLE_TEAM_REVIVE: { code: 21404, simStr: '队伍复活中' },
|
||||
GVG_BATTLE_TEAM_LOCK: { code: 21405, simStr: '正在有玩家挑战您,请等待' },
|
||||
GVG_BATTLE_TEAM_HAS_SELLTED: { code: 21406, simStr: '该编队已驻守据点了' },
|
||||
GVG_DEFENSE_TEAM_BROKEN: { code: 21412, simStr: '对方队伍已被击破' },
|
||||
GVG_BATTLEREC_HAS_SUMMIT: { code: 21413, simStr: '该记录已结算过' },
|
||||
GVG_TEAM_IS_NOT_MINE: { code: 21414, simStr: '您不可操作此队伍' },
|
||||
GVG_SAME_LEAGUE_CANNOT_ATTACK: { code: 21415, simStr: '您不可攻击友军' },
|
||||
GVG_TEAM_NOT_SAME_AREA: { code: 21416, simStr: '对方不在同一个区域内' },
|
||||
GVG_POINT_HAS_SETTLED: { code: 21417, simStr: '该据点已经有其他队伍驻守' },
|
||||
GVG_POINT_NOT_AREA: { code: 21418, simStr: '您不在该积分点所在区域' },
|
||||
GVG_TEAM_NOT_NEED_REVIVE: { code: 21419, simStr: '您的队伍已复活,无需重复复活' },
|
||||
GVG_BATTLE_IS_MOVING_CD: { code: 21420, simStr: '移动冷却中' },
|
||||
GVG_BATTLE_TEAM_REVIVE: { code: 21421, simStr: '队伍复活中' },
|
||||
GVG_BATTLE_TEAM_LOCK: { code: 21422, simStr: '正在有玩家挑战您,请等待' },
|
||||
GVG_BATTLE_TEAM_HAS_SELLTED: { code: 21423, simStr: '该编队已驻守据点了' },
|
||||
|
||||
// 通用 30000 - 30099
|
||||
DIC_DATA_NOT_FOUND: { code: 30000, simStr: '数据表未找到' },
|
||||
|
||||
@@ -342,6 +342,10 @@ export default class GVGTeam extends BaseModel {
|
||||
public static async updateRoleInfo(roleId: string, info: { roleName?: string, lv?: number }) {
|
||||
await GVGTeamModel.updateMany({ roleId }, { $set: info });
|
||||
}
|
||||
|
||||
public static async checkLockTeam(roleId: string) {
|
||||
return await GVGTeamModel.exists({ roleId, lockTime: { $gt: nowSeconds() } })
|
||||
}
|
||||
}
|
||||
|
||||
export const GVGTeamModel = getModelForClass(GVGTeam);
|
||||
|
||||
Reference in New Issue
Block a user