diff --git a/serverlogic/src/main/java/com/ljsd/jieling/handler/map/MapLogic.java b/serverlogic/src/main/java/com/ljsd/jieling/handler/map/MapLogic.java index cc13c59de..b0588c702 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/handler/map/MapLogic.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/handler/map/MapLogic.java @@ -1565,14 +1565,20 @@ public class MapLogic { public void startLevelDifficultyFight(ISession session, int fightId,int teamId,int type,MessageTypeProto.MessageType messageType) throws Exception { int uid = session.getUid(); User user = UserManager.getUser(uid); + PlayerManager playerInfoManager = user.getPlayerInfoManager(); LevelDifficultyManager levelDifficultyManager = user.getLevelDifficultyManager(); LevelDifficulty levelDifficulty = levelDifficultyManager.getLevelDifficultyInfosMap().get(fightId); if (levelDifficulty ==null){ - LOGGER.info("startLevelDifficultyFight==> uid={},fightId, levelDifficulty is null ",uid,fightId); + LOGGER.info("startLevelDifficultyFight==> uid={},fightId={}, levelDifficulty is null ",uid,fightId); MessageUtil.sendErrorResponse(session,0, messageType.getNumber(), "关卡未开启"); return; } SLevelDifficultyConfig sLevelDifficultyConfig = SLevelDifficultyConfig.getsLevelDifficultyConfigMap().get(fightId); + if (sLevelDifficultyConfig.getLevelLimit() > playerInfoManager.getLevel()){ + LOGGER.info("startLevelDifficultyFight==> uid={},fightId={},level ={}",uid,fightId,playerInfoManager.getLevel()); + MessageUtil.sendErrorResponse(session,0, messageType.getNumber(), "等级不够"); + return; + } if ( sLevelDifficultyConfig.getMaxCountPerDay() != 0 && levelDifficulty.getChallengeTimes() >= sLevelDifficultyConfig.getMaxCountPerDay()){ LOGGER.info("startLevelDifficultyFight==>uid={},fightId={} challengeTimes={},MaxTime={}",uid,fightId,levelDifficulty.getChallengeTimes(),sLevelDifficultyConfig.getMaxCountPerDay()); MessageUtil.sendErrorResponse(session,0, messageType.getNumber(), "次数不足"); @@ -1734,7 +1740,7 @@ public class MapLogic { if(levelDifficultyInfosMap.containsKey(id)){ continue; } - if (sLevelDifficultyConfig.getLevelLimit() > playerInfoManager.getLevel() ||sLevelDifficultyConfig.getPrecondition() != fightId ){ + if (sLevelDifficultyConfig.getPrecondition() != fightId ){ continue; } levelDifficultyManager.newLevelDifficulty(id,levelDifficulty.getType(),levelDifficulty.getAreaId());