diff --git a/serverlogic/src/main/java/com/ljsd/jieling/globals/GlobalGm.java b/serverlogic/src/main/java/com/ljsd/jieling/globals/GlobalGm.java index b974f5902..8028dde4b 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/globals/GlobalGm.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/globals/GlobalGm.java @@ -7,4 +7,8 @@ public interface GlobalGm { int HERO_STAR = 4;// 添加指定星级英雄 int OPEN_MAP = 5; // 开启到指定关卡 int ONE_KEY_ITEM_OR_HERO = 6; + int USER_UP_LEVE = 7; // 玩家升级 + int ADOPT_ALL_DIFFICULTY = 8; // 通过所有关卡 + int ADOPT_FIGHT_BY_LEVE = 9; // 根据等级开启对应的关卡 + } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/handler/GameGM/GMRequestHandler.java b/serverlogic/src/main/java/com/ljsd/jieling/handler/GameGM/GMRequestHandler.java index 64c8760c0..a6311f8f0 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/handler/GameGM/GMRequestHandler.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/handler/GameGM/GMRequestHandler.java @@ -11,10 +11,8 @@ import com.ljsd.jieling.handler.map.MapLogic; import com.ljsd.jieling.handler.map.MapManager; import com.ljsd.jieling.handler.map.MapMission; import com.ljsd.jieling.handler.mission.Mission; -import com.ljsd.jieling.logic.dao.Hero; -import com.ljsd.jieling.logic.dao.Mail; +import com.ljsd.jieling.logic.dao.*; import com.ljsd.jieling.logic.dao.root.User; -import com.ljsd.jieling.logic.dao.UserManager; import com.ljsd.jieling.netty.cocdex.PacketNetData; import com.ljsd.jieling.network.session.ISession; import com.ljsd.jieling.protocols.CommonProto; @@ -96,6 +94,29 @@ public class GMRequestHandler extends BaseHandler{ case GlobalGm.OPEN_MAP: MapLogic.getInstance().gmCrossFight(uid, prarm1); break; + case GlobalGm.USER_UP_LEVE: + int exp = 0; + Map sPlayerLevelConfigMap = SPlayerLevelConfig.getsPlayerLevelConfigMap(); + for (Map.Entry entry :sPlayerLevelConfigMap.entrySet()){ + int leve = entry.getKey(); + SPlayerLevelConfig value = entry.getValue(); + if (prarm1 > leve){ + exp += value.getExp(); + } + } + MapLogic.getInstance().userLevelUp(cUser,exp); + break; + case GlobalGm.ADOPT_ALL_DIFFICULTY: + sPlayerLevelConfigMap = SPlayerLevelConfig.getsPlayerLevelConfigMap(); + LevelDifficultyManager levelDifficultyManager = cUser.getLevelDifficultyManager(); + openFightids(levelDifficultyManager,sPlayerLevelConfigMap.size()); + adoptAllFight(levelDifficultyManager); + break; + case GlobalGm.ADOPT_FIGHT_BY_LEVE: + levelDifficultyManager = cUser.getLevelDifficultyManager(); + openFightids(levelDifficultyManager,prarm1); + adoptAllFight(levelDifficultyManager); + break; case GlobalGm.ONE_KEY_ITEM_OR_HERO:{ //道具 Map sItemMap = SItem.getsItemMap(); @@ -137,6 +158,26 @@ public class GMRequestHandler extends BaseHandler{ } } + private void adoptAllFight(LevelDifficultyManager levelDifficultyManager) { + Map levelDifficultyInfosMap = levelDifficultyManager.getLevelDifficultyInfosMap(); + for (Map.Entry entry :levelDifficultyInfosMap.entrySet()){ + entry.getValue().setState(Global.FIGHT_CLEARANCE); + } + } + + //开启所有关卡 + private void openFightids(LevelDifficultyManager levelDifficultyManager,int level) { + Map levelDifficultyMap = SLevelDifficultyConfig.getLevelDifficultyMap(); + for (Map.Entry entry :levelDifficultyMap.entrySet()){ + LevelDifficulty levelDifficulty = entry.getValue(); + SLevelDifficultyConfig sLevelDifficultyConfig = SLevelDifficultyConfig.getsLevelDifficultyConfigMap().get(entry.getKey()); + if (sLevelDifficultyConfig.getLevelLimit() > level){ + continue; + } + levelDifficultyManager.newLevelDifficulty(levelDifficulty.getFightId(),levelDifficulty.getType(),levelDifficulty.getAreaId()); + } + } + private void giveHero(User cUser, int cardId, int cardNum) throws Exception { CommonProto.Drop.Builder dropBuilder = CommonProto.Drop.newBuilder(); Map cardMap = new ConcurrentHashMap<>();