From c381a9cf587bd6e585225eac9f41f4a23d6721e2 Mon Sep 17 00:00:00 2001 From: "PC-202302260912\\Administrator" <1769111741@qq.com> Date: Thu, 6 Jul 2023 16:02:15 +0800 Subject: [PATCH] =?UTF-8?q?=E8=87=AA=E5=8A=A8=E6=88=98=E6=96=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/ljsd/fight/FightType.java | 1 + .../handler/fight/AutoFightHandler.java | 21 +++ .../FightEndRequestHandler.java | 2 +- .../StartFightRequestHandler.java | 2 +- .../ljsd/jieling/handler/map/MapLogic.java | 155 ++++++++++++------ .../handler/map/behavior/BehaviorUtil.java | 5 +- .../jieling/logic/family/GuildFightLogic.java | 4 +- .../ljsd/jieling/logic/fight/FightUtil.java | 5 +- .../jieling/logic/fight/GameFightType.java | 1 + .../main/java/config/SMainLevelConfig.java | 6 + 10 files changed, 143 insertions(+), 59 deletions(-) create mode 100644 serverlogic/src/main/java/com/ljsd/jieling/handler/fight/AutoFightHandler.java rename serverlogic/src/main/java/com/ljsd/jieling/handler/{map/mapHandler => fight}/FightEndRequestHandler.java (98%) rename serverlogic/src/main/java/com/ljsd/jieling/handler/{map/mapHandler => fight}/StartFightRequestHandler.java (97%) diff --git a/fightmanager/src/main/java/com/ljsd/fight/FightType.java b/fightmanager/src/main/java/com/ljsd/fight/FightType.java index a25ed2bbc..70abc5916 100644 --- a/fightmanager/src/main/java/com/ljsd/fight/FightType.java +++ b/fightmanager/src/main/java/com/ljsd/fight/FightType.java @@ -34,6 +34,7 @@ public enum FightType { ENDLESS_NEW_TEAM(28),//新无尽战斗 TREASURE_TEAM(29),//宝物战斗 DUODUI_FIGHT(30),//多队挑战 + AUTO_FIGHT(31),//自动挑战 ; private final int type; diff --git a/serverlogic/src/main/java/com/ljsd/jieling/handler/fight/AutoFightHandler.java b/serverlogic/src/main/java/com/ljsd/jieling/handler/fight/AutoFightHandler.java new file mode 100644 index 000000000..bc3c5df67 --- /dev/null +++ b/serverlogic/src/main/java/com/ljsd/jieling/handler/fight/AutoFightHandler.java @@ -0,0 +1,21 @@ +package com.ljsd.jieling.handler.fight; + +import com.ljsd.jieling.handler.BaseHandler; +import com.ljsd.jieling.handler.map.MapLogic; +import com.ljsd.jieling.network.session.ISession; +import org.springframework.stereotype.Component; +import rpc.protocols.FightInfoProto; +import rpc.protocols.MessageTypeProto; + +@Component +public class AutoFightHandler extends BaseHandler { + @Override + public MessageTypeProto.MessageType getMessageCode() { + return MessageTypeProto.MessageType.AutoFightRequest; + } + + @Override + public void processWithProto(ISession iSession, FightInfoProto.AutoFightRequest proto) throws Exception { + MapLogic.getInstance().autoFight(iSession,proto.getFightId(),proto.getTeamId()); + } +} diff --git a/serverlogic/src/main/java/com/ljsd/jieling/handler/map/mapHandler/FightEndRequestHandler.java b/serverlogic/src/main/java/com/ljsd/jieling/handler/fight/FightEndRequestHandler.java similarity index 98% rename from serverlogic/src/main/java/com/ljsd/jieling/handler/map/mapHandler/FightEndRequestHandler.java rename to serverlogic/src/main/java/com/ljsd/jieling/handler/fight/FightEndRequestHandler.java index 88530f456..baf5f42f1 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/handler/map/mapHandler/FightEndRequestHandler.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/handler/fight/FightEndRequestHandler.java @@ -1,4 +1,4 @@ -package com.ljsd.jieling.handler.map.mapHandler; +package com.ljsd.jieling.handler.fight; import com.ljsd.jieling.exception.ErrorCode; import com.ljsd.jieling.exception.ErrorCodeException; diff --git a/serverlogic/src/main/java/com/ljsd/jieling/handler/map/mapHandler/StartFightRequestHandler.java b/serverlogic/src/main/java/com/ljsd/jieling/handler/fight/StartFightRequestHandler.java similarity index 97% rename from serverlogic/src/main/java/com/ljsd/jieling/handler/map/mapHandler/StartFightRequestHandler.java rename to serverlogic/src/main/java/com/ljsd/jieling/handler/fight/StartFightRequestHandler.java index 72916ea7e..2555935fe 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/handler/map/mapHandler/StartFightRequestHandler.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/handler/fight/StartFightRequestHandler.java @@ -1,4 +1,4 @@ -package com.ljsd.jieling.handler.map.mapHandler; +package com.ljsd.jieling.handler.fight; import com.ljsd.jieling.exception.ErrorCode; import com.ljsd.jieling.exception.ErrorCodeException; 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 48bd2acd6..62fcfbfdf 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 @@ -1603,6 +1603,72 @@ public class MapLogic { MessageUtil.sendMessage(iSession, 1, msgId, builder.build(), true); } + public boolean checkMainFight(User user, int fightId, int teamId) throws Exception { + MainLevelManager mainLevelManager = user.getMainLevelManager(); + SMainLevelConfig sMainLevelConfig = SMainLevelConfig.config.get(fightId); + LOGGER.info("校验主线战斗 the uid={},play fightId={}", user.getId(), fightId); + int mineFightId = mainLevelManager.getFightId(); + if (mineFightId != fightId) { + LOGGER.info("校验主线战斗 ==> uid={},fightId={}, levelDifficulty is not allow ", user.getId(), fightId); + return false; + } + if (mainLevelManager.getState() != 1) { + // 动态匹配最新的表数据 + if (sMainLevelConfig != null && sMainLevelConfig.getNextLevel() != -1 && user.getPlayerInfoManager().getLevel() >= sMainLevelConfig.getLevelLimit()) { + mainLevelManager.setState(1); + } else { + LOGGER.info("校验主线战斗 ==> uid={},fightId={}, 级别难度不允许", user.getId(), fightId); + return false; + } + } + boolean isOpenRule = checkFigthLevelOpen(user, sMainLevelConfig.getOpenRule()); + if (!isOpenRule) { + LOGGER.info("校验主线战斗 ==> uid={},fightId={}, 挑战条件不足", user.getId(), fightId); + return false; + } + + List teamPosHeroInfos = user.getTeamPosManager().getTeamPosForHero().get(teamId); + if (teamPosHeroInfos == null || teamPosHeroInfos.size() == 0) { + LOGGER.info("校验主线战斗 ==> uid={},fightId={},teamId={}, 队伍信息为空", user.getId(), fightId, teamId); + return false; + } + return true; + } + + /** + * 自动战斗 + * @param session + * @param fightId + * @param teamId + * @throws Exception + */ + public void autoFight(ISession session, int fightId, int teamId) throws Exception { + User user = UserManager.getUser(session.getUid()); + boolean checked = checkMainFight(user, fightId, teamId); + if (!checked){ + throw new ErrorCodeException(ErrorCode.SERVER_SELF_DEFINE); + } + + FightInfoProto.AutoFightResponse.Builder builder = FightInfoProto.AutoFightResponse.newBuilder(); + SMainLevelConfig mainConfig = SMainLevelConfig.config.get(fightId); + + int result = 1; + // 小关卡直接胜利,大关卡需要走战斗 + if (mainConfig.getDifferentiation() == 1){ + PVEFightEvent pveFightEvent = new PVEFightEvent(user.getId(), teamId, mainConfig.getRankTime(), "", GameFightType.AutoFight, mainConfig.getMonsterGroup(), 3); + FightResult fightResult = FightDispatcher.dispatcher(pveFightEvent); + result = fightResult.getResult(); + } + + builder.setResult(result); + if (result == 1){ + // 关卡胜利掉落道具 + CommonProto.Drop.Builder drop = mainFightWinHandler(session, fightId); + builder.setDrop(drop); + } + + MessageUtil.sendMessage(session, 1, MessageTypeProto.MessageType.AutoFightResponse_VALUE, builder.build(), true); + } /** * 新关卡战斗 @@ -1610,47 +1676,29 @@ public class MapLogic { public void startMainLevelFight(ISession session, int fightId, int teamId, MessageTypeProto.MessageType messageType) throws Exception { int uid = session.getUid(); User user = UserManager.getUser(uid); - MainLevelManager mainLevelManager = user.getMainLevelManager(); - SMainLevelConfig sMainLevelConfig = SMainLevelConfig.config.get(fightId); - LOGGER.info("the uid={},play fightId={}", uid, fightId); - int mineFightId = mainLevelManager.getFightId(); - if (mineFightId != fightId) { - LOGGER.info("startMainLevelFight==> uid={},fightId={}, levelDifficulty is not allow ", uid, fightId); - throw new ErrorCodeException(ErrorCode.SERVER_SELF_DEFINE); - } else if (mainLevelManager.getState() != 1) { - // 动态匹配最新的表数据 - if (sMainLevelConfig != null && sMainLevelConfig.getNextLevel() != -1 && user.getPlayerInfoManager().getLevel() >= sMainLevelConfig.getLevelLimit()) { - mainLevelManager.setState(1); - } else { - LOGGER.info("startMainLevelFight==> uid={},fightId={}, levelDifficulty is not allow ", uid, fightId); - throw new ErrorCodeException(ErrorCode.SERVER_SELF_DEFINE); - } - } - boolean isOpenRule = CheckFigthLevelOpen(user, sMainLevelConfig.getOpenRule()); - if (!isOpenRule) { - LOGGER.info("startMainLevelFight==> uid={},fightId={}, levelDifficulty is not allow ", uid, fightId); - throw new ErrorCodeException(ErrorCode.HANDLE_FAILED); - } - List teamPosHeroInfos = user.getTeamPosManager().getTeamPosForHero().get(teamId); - if (teamPosHeroInfos == null || teamPosHeroInfos.size() == 0) { - LOGGER.info("startLevelDifficultyFight==> uid={},fightId={},teamId={}", uid, fightId, teamId); - throw new ErrorCodeException(ErrorCode.newDefineCode("阵容有误!!")); + boolean checked = checkMainFight(user, fightId, teamId); + if (!checked){ + throw new ErrorCodeException(ErrorCode.SERVER_SELF_DEFINE); } KtEventUtils.onKtEvent(user,ParamEventBean.UserGameType,KTGameType.STORY.getIndex(),fightId); -// ReportUtil.onReportEvent(user, ReportEventEnum.ENTER_STAGE.getType(), String.valueOf(fightId)); user.getTeamPosManager().setCurTeamPosId(teamId); - String fightInfo = fightId + "#" + teamId; - String key = RedisKey.getKey(RedisKey.LEVE_DIFFICULTY_INFO, String.valueOf(uid), false); - LOGGER.info("关卡战斗start{},{}", uid, fightInfo); - RedisUtil.getInstence().set(key, fightInfo, 600); - //扣除预先道具 + mainFightOfRedis(uid,fightId,teamId); + + SMainLevelConfig sMainLevelConfig = SMainLevelConfig.config.get(fightId); FightInfoProto.FightStartResponse.Builder fightStartResponse = FightInfoProto.FightStartResponse.newBuilder(); BehaviorUtil.getLevelDifficultyifficuFightInfo(user, FightType.StoryFight, sMainLevelConfig.getMonsterGroup(), teamId, sMainLevelConfig.getRankTime(), fightStartResponse, RedisKey.LEVE_DIFFICULTY_FIGHT); MessageUtil.sendMessage(session, 1, messageType.getNumber(), fightStartResponse.build(), true); } + public void mainFightOfRedis(int uid, int fightId, int teamId){ + String fightInfo = fightId + "#" + teamId; + String key = RedisKey.getKey(RedisKey.LEVE_DIFFICULTY_INFO, String.valueOf(uid), false); + RedisUtil.getInstence().set(key, fightInfo, 600); + LOGGER.info("关卡战斗start{},{}", uid, fightInfo); + } + /** * 检测附加关卡解锁条件 * 0:无限制 @@ -1667,7 +1715,7 @@ public class MapLogic { * @return * @throws Exception */ - private boolean CheckFigthLevelOpen(User user, int[][] openRule) throws Exception { + private boolean checkFigthLevelOpen(User user, int[][] openRule) throws Exception { boolean isOpen = true; for (int[] ints : openRule) { int type = ints[0]; @@ -1749,9 +1797,32 @@ public class MapLogic { return isOpen; } + /** + * 主线胜利处理 + * @param session + * @param fightId + * @return + * @throws Exception + */ + public CommonProto.Drop.Builder mainFightWinHandler(ISession session, int fightId) throws Exception { + User user = UserManager.getUser(session.getUid()); + // 关卡信息 + openNextMainLevel(session, user, fightId); + // 排行榜 + SMainLevelConfig sMainLevelConfig = SMainLevelConfig.config.get(fightId); + RankContext.getRankEnum(RankEnum.MAIN_LEVEL_RANK.getType()).addRank(user.getId(), "", sMainLevelConfig.getVirtureId(), user.getPlayerInfoManager().getMaxForce()); + // 推送 + MainLevelManager mainLevelManager = user.getMainLevelManager(); + FightInfoProto.MainLevelFightUpdateIndication build = FightInfoProto.MainLevelFightUpdateIndication.newBuilder().setState(mainLevelManager.getState()).setFightId(mainLevelManager.getFightId()).build(); + MessageUtil.sendIndicationMessage(session, 1, MessageTypeProto.MessageType.MAIN_LEVEL_FIGHT_UPDATE_INDICATION_VALUE, build, true); + // 打点,现在不用 + ReportUtil.onReportEvent(user, ReportEventEnum.PASS_STAGE.getType(), String.valueOf(fightId), "", sMainLevelConfig.getReward(), new Date()); + // 奖励道具 + return ItemUtil.dropToPrivilege(user, sMainLevelConfig.getReward(), BIReason.LEVELDIFFICULTY_FIGHT_REWARD); + } + public void endMainLevelFight(ISession session, String frames, int fightId, MessageTypeProto.MessageType messageType) throws Exception { int uid = session.getUid(); - User user = UserManager.getUser(uid); String fightKey = RedisKey.getKey(RedisKey.LEVE_DIFFICULTY_INFO, String.valueOf(uid), false); String fightInfos = (String) RedisUtil.getInstence().get(fightKey); if (StringUtil.isEmpty(fightInfos)) { @@ -1780,22 +1851,14 @@ public class MapLogic { return; } } - CommonProto.Drop.Builder drop = ItemUtil.dropToPrivilege(user, sMainLevelConfig.getReward(), BIReason.LEVELDIFFICULTY_FIGHT_REWARD); - openNextMainLevel(session, user, fightId); + FightInfoProto.FightEndResponse.Builder fightEndResponse = FightInfoProto.FightEndResponse.newBuilder(); + CommonProto.Drop.Builder drop = mainFightWinHandler(session, fightId); fightEndResponse.setEnventDrop(drop); fightEndResponse.setResult(fightResult == null ? 1 : fightResult.getResult()); - fightEndResponse.build(); - MainLevelManager mainLevelManager = user.getMainLevelManager(); - FightInfoProto.MainLevelFightUpdateIndication build = FightInfoProto.MainLevelFightUpdateIndication.newBuilder().setState(mainLevelManager.getState()).setFightId(mainLevelManager.getFightId()).build(); - RankContext.getRankEnum(RankEnum.MAIN_LEVEL_RANK.getType()).addRank(uid, "", sMainLevelConfig.getVirtureId(), user.getPlayerInfoManager().getMaxForce()); - MessageUtil.sendIndicationMessage(session, 1, MessageTypeProto.MessageType.MAIN_LEVEL_FIGHT_UPDATE_INDICATION_VALUE, build, true); MessageUtil.sendMessage(session, 1, messageType.getNumber(), fightEndResponse.build(), true); - - ReportUtil.onReportEvent(user, ReportEventEnum.PASS_STAGE.getType(), String.valueOf(fightId), "", sMainLevelConfig.getReward(), new Date()); } - public void openNextMainLevel(ISession session, User user, int fightId) throws Exception { int level = user.getPlayerInfoManager().getLevel(); int state = 1; @@ -2039,13 +2102,7 @@ public class MapLogic { } int eventId = mapManager.getTowerUnusedBuffer().get(towerLevel); mapManager.consunmeTowerBuffer(towerLevel); -// MapPointConfig pointConfig = MapPointConfig.getScMapEventMap().get(mapPointId); -// int initialEventId = pointConfig.getInitialEventId(); SEventPointConfig sEventPointConfig = STableManager.getConfig(SEventPointConfig.class).get(eventId); - int[] options = sEventPointConfig.getOption(); -// for(int option : options){ -// -// } SOptionConfig sOptionConfig = SOptionConfig.sOptionConfigMap.get(optionId); int behaviorType = sOptionConfig.getBehaviorType(); int[][] behaviorTypeValues = sOptionConfig.getBehaviorTypeValues(); diff --git a/serverlogic/src/main/java/com/ljsd/jieling/handler/map/behavior/BehaviorUtil.java b/serverlogic/src/main/java/com/ljsd/jieling/handler/map/behavior/BehaviorUtil.java index 043de7a8b..eedfec3f5 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/handler/map/behavior/BehaviorUtil.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/handler/map/behavior/BehaviorUtil.java @@ -1,6 +1,5 @@ package com.ljsd.jieling.handler.map.behavior; -import com.fasterxml.jackson.core.JsonProcessingException; import com.googlecode.protobuf.format.JsonFormat; import com.ljsd.fight.FightType; import com.ljsd.jieling.db.redis.RedisKey; @@ -367,7 +366,7 @@ public class BehaviorUtil { } } - public static void getLevelDifficultyifficuFightInfo(User user,FightType fightType,int groupId,int teamId, int maxTime,FightInfoProto.FightStartResponse.Builder fightStartRespons,String fightKey) throws JsonProcessingException { + public static void getLevelDifficultyifficuFightInfo(User user,FightType fightType,int groupId,int teamId, int maxTime,FightInfoProto.FightStartResponse.Builder fightStartRespons,String fightKey) { CommonProto.FightData.Builder fightData = CommonProto.FightData.newBuilder(); CommonProto.FightTeamInfo fightTeamInfo = getFightTeamInfo(user, teamId,true); fightData.setHeroFightInfos(fightTeamInfo); @@ -380,7 +379,7 @@ public class BehaviorUtil { fightData.addAllMonsterList(monsterGroupList).addAllMonsterList(monsterGroupList1).addAllMonsterList(monsterGroupList2); //设置战斗随机种子 - int seed = (int)(System.currentTimeMillis()/1000); + int seed = TimeUtils.nowInt(); fightData.setFightSeed(seed); fightData.setFightType(fightType.getType()); fightData.setFightMaxTime(maxTime); diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/family/GuildFightLogic.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/family/GuildFightLogic.java index 77cdabc35..b04c9a025 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/family/GuildFightLogic.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/family/GuildFightLogic.java @@ -1081,12 +1081,12 @@ public class GuildFightLogic { KtEventUtils.onKtEvent(user, ParamEventBean.UserGameType, KTGameType.CHALLENGE_GUILD_BOSS.getIndex(),1); user.getTeamPosManager().setCurTeamPosId(teamId); int monsterId = curSGuildBossConfig.getMonsterId(); - String fightInfo =Integer.toString(monsterId); + String fightInfo = Integer.toString(monsterId); String key = RedisKey.getKey(RedisKey.GUILD_MONSTER_INFO, String.valueOf(uid), false); RedisUtil.getInstence().set(key, fightInfo, -1); FightInfoProto.FightStartResponse.Builder fightStartResponse = FightInfoProto.FightStartResponse.newBuilder(); - BehaviorUtil.getLevelDifficultyifficuFightInfo(user, FightType.GuildBossFight,monsterId, teamId, SGuildSetting.sGuildSetting.getBossTime(), fightStartResponse, RedisKey.GUILD_MONSTER_FIGHT); + BehaviorUtil.getLevelDifficultyifficuFightInfo(user, FightType.GuildBossFight, monsterId, teamId, SGuildSetting.sGuildSetting.getBossTime(), fightStartResponse, RedisKey.GUILD_MONSTER_FIGHT); MessageUtil.sendMessage(session, 1, messageType.getNumber(), fightStartResponse.build(), true); } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/fight/FightUtil.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/fight/FightUtil.java index 589955533..89ae03f5e 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/fight/FightUtil.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/fight/FightUtil.java @@ -121,7 +121,7 @@ public class FightUtil { remainHp.put(0, monsterRemainHp); List monsterfightTeamInfos = makeMonsterFightData(pveFightEvent.getMonsterGroupId(), pveFightEvent.getNums(), remainHp); LuaValue getFightData = FightDataUtil.getFinalFightData(fightTeamInfo, monsterfightTeamInfos); - LuaValue getOptionData = FightDataUtil.getOptionData(pveFightEvent.getAttackUid() + ""); + LuaValue getOptionData = FightDataUtil.getOptionData(String.valueOf(pveFightEvent.getAttackUid())); long[] fightResult = CheckFight.getInstance().checkFight(fightSeed, fightEvent.getMostTime(), getFightData, getOptionData, fightEvent.getFightType().getFightType()); FightResult.Builder builder = FightResult.newBuilder(); @@ -249,7 +249,6 @@ public class FightUtil { GameFightType fightType = fightEvent.getFightType(); int playerId = fightEvent.getAttackUid(); int fightTime = fightEvent.getMostTime(); - String key = RedisKey.getKey(fightType.getFightTypeOfRedis(), Integer.toString(playerId), false); Map valueMap = RedisUtil.getInstence().hmget(key); if (valueMap == null || valueMap.isEmpty()) { @@ -262,7 +261,7 @@ public class FightUtil { CommonProto.FightTeamInfo fightTeamInfo = builder.build(); List monsterTeamList = BehaviorUtil.getFightTeamInfos(valueMap); LuaValue getFightData = FightDataUtil.getFinalFightData(fightTeamInfo, monsterTeamList); - LuaValue getOptionData = FightDataUtil.getOptionData(playerId + ""); + LuaValue getOptionData = FightDataUtil.getOptionData(String.valueOf(playerId)); FightResult.Builder fightResult = FightResult.newBuilder(); long[] fightResultInfo = CheckFight.getInstance().checkFight(seed, fightTime, getFightData, getOptionData, fightType.getFightType()); diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/fight/GameFightType.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/fight/GameFightType.java index b12277bfa..9407c0de7 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/fight/GameFightType.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/fight/GameFightType.java @@ -55,6 +55,7 @@ public enum GameFightType { EndlessNewTeam(FightType.ENDLESS_NEW_TEAM,new DefaultWithoutHandFightHandler(),null), TreasureTeam(FightType.TREASURE_TEAM,new DefaultWithoutHandFightHandler(),null), DuoduiFight(FightType.DUODUI_FIGHT,new DuoduiTowerFightHandler(),null), + AutoFight(FightType.AUTO_FIGHT, new DefaultWithoutHandFightHandler(), null), ; diff --git a/tablemanager/src/main/java/config/SMainLevelConfig.java b/tablemanager/src/main/java/config/SMainLevelConfig.java index f681ce00e..b58459246 100644 --- a/tablemanager/src/main/java/config/SMainLevelConfig.java +++ b/tablemanager/src/main/java/config/SMainLevelConfig.java @@ -50,6 +50,8 @@ public class SMainLevelConfig implements BaseConfig { private int storyId; // 大于 0 表示剧情关,无需战斗 + private int differentiation;//区分大小关卡 + /** * 默认map */ @@ -181,4 +183,8 @@ public class SMainLevelConfig implements BaseConfig { public int[][] getOpenRule() { return openRule; } + + public int getDifferentiation() { + return differentiation; + } } \ No newline at end of file