diff --git a/serverlogic/src/main/java/com/ljsd/jieling/config/SEndlessDifficulty.java b/serverlogic/src/main/java/com/ljsd/jieling/config/SEndlessDifficulty.java index ba8dc8359..442e0c396 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/config/SEndlessDifficulty.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/config/SEndlessDifficulty.java @@ -1,5 +1,6 @@ package com.ljsd.jieling.config; +import com.ljsd.jieling.db.mongo.MongoUtil; import com.ljsd.jieling.logic.STableManager; import com.ljsd.jieling.logic.Table; @@ -10,7 +11,7 @@ import java.util.Map; public class SEndlessDifficulty implements BaseConfig{ private int id; - private int worldLevel; + private int[] worldLevel; private int[] monsterId; @@ -18,51 +19,52 @@ public class SEndlessDifficulty implements BaseConfig{ public static Map difficultyMap; - public static Map baseDifficult; + public static Map difficultyMonster; - public static Map baseReward; - - public static Map> difficultyMonster; - - public static Map> difficultyReward; + public static Map difficultyReward; @Override public void init() throws Exception { difficultyMap = STableManager.getConfig(SEndlessDifficulty.class); - baseDifficult = new HashMap<>(); - baseReward = new HashMap<>(); - SEndlessDifficulty sEndlessDifficulty = difficultyMap.get(1); - for(int i = 0 ;i(); difficultyReward = new HashMap<>(); - for(Map.Entry entry:difficultyMap.entrySet()){ - Map tempMap = new HashMap<>(entry.getValue().getMonsterId().length); - for(int i = 0 ; i(); - for(int i = 0 ; i entry:difficultyMap.entrySet()) { + if (serverConfigTmp.getWorldLevel() <= entry.getValue().getWorldLevel()[0] || serverConfigTmp.getWorldLevel() > entry.getValue().getWorldLevel()[1]) { + continue; + } + for(int i = 0 ;i 1) { pointId = split[1]; @@ -1409,7 +1409,7 @@ public class MapLogic { } groupId = option[0]; if(SChallengeConfig.sChallengeConfigs.get(mapManager.getCurMapId()).getType()==4) { - groupId = SEndlessDifficulty.difficultyMonster.get(41).get(SEndlessDifficulty.baseDifficult.get(groupId)); + groupId =SEndlessDifficulty.difficultyMonster.get(groupId); } } FightInfoProto.FightStartResponse.Builder fightStartResponse = FightInfoProto.FightStartResponse.newBuilder(); diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/GlobalDataManaager.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/GlobalDataManaager.java index 233e21b74..9dfd16164 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/GlobalDataManaager.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/GlobalDataManaager.java @@ -2,6 +2,7 @@ package com.ljsd.jieling.logic; import com.ljsd.GameApplication; import com.ljsd.jieling.config.SDailyTasksConfig; +import com.ljsd.jieling.config.SEndlessDifficulty; import com.ljsd.jieling.config.SGlobalSystemConfig; import com.ljsd.jieling.config.ServerConfig; import com.ljsd.jieling.config.json.KTSDKConstans; @@ -167,6 +168,7 @@ public class GlobalDataManaager { case Endless: MapLogic.getInstance().updateEndlessSeason(timeControllerOfFunction.getTimes()); serverConfigTmp.setWorldLevel(calWorldLevel()); + SEndlessDifficulty.setDifficult(); MongoUtil.getLjsdMongoTemplate().save(serverConfigTmp); MapLogic.getInstance().setEndlessMapId(getEndleeMapIdByLevel()); break; diff --git a/serverlogic/src/main/java/com/ljsd/jieling/thread/task/MinuteTask.java b/serverlogic/src/main/java/com/ljsd/jieling/thread/task/MinuteTask.java index c661254b4..78f0b6ed5 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/thread/task/MinuteTask.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/thread/task/MinuteTask.java @@ -70,21 +70,6 @@ public class MinuteTask extends Thread { CoreLogic.getInstance().checkCoreCdk(); BuyGoodsLogic.minuteCheckReharge(); RedisUtil.getInstence().set(RedisKey.ONLINE_NUM+RedisKey.Delimiter_colon+GameApplication.serverId, String.valueOf(OnlineUserManager.sessionMap.entrySet().size())); - ServerConfig serverConfigTmp = MongoUtil.getInstence().getMyMongoTemplate().findById(1, ServerConfig.class); - if(serverConfigTmp.getWorldLevel()==1){ - Query query = new Query(); - query.with(new Sort(Sort.Direction.DESC,"playerManager.level")); - query.fields().include("playerManager.level"); - List users = MongoUtil.getLjsdMongoTemplate().findAllByCondition(query, User.class); - int size = (int)(users.size()*0.85); - int level = 0; - for(int i = 0 ; i itemMap, Map cardMap, Map equipMap, Map randomMap) { for (int dropGroupId : dropGroupIds) { - if(SEndlessDifficulty.baseReward.containsKey(dropGroupId)){ - dropGroupId = SEndlessDifficulty.difficultyReward.get(41).get(SEndlessDifficulty.baseReward.get(dropGroupId)); + if(SEndlessDifficulty.difficultyReward.containsKey(dropGroupId)){ + dropGroupId = SEndlessDifficulty.difficultyReward.get(dropGroupId); } SRewardGroup sRewardGroup = SRewardGroup.getsRewardItemMap().get(dropGroupId); if (sRewardGroup == null) { diff --git a/serverlogic/src/main/java/com/ljsd/jieling/util/MonsterUtil.java b/serverlogic/src/main/java/com/ljsd/jieling/util/MonsterUtil.java index 4f00d83d4..beddbd720 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/util/MonsterUtil.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/util/MonsterUtil.java @@ -3,6 +3,7 @@ package com.ljsd.jieling.util; import com.ljsd.jieling.config.SEndlessDifficulty; import com.ljsd.jieling.config.SMonsterConfig; import com.ljsd.jieling.config.SMonsterGroup; +import com.ljsd.jieling.handler.map.MapLogic; import com.ljsd.jieling.protocols.CommonProto; import java.util.ArrayList; @@ -78,8 +79,8 @@ public class MonsterUtil { Map integerSMonsterConfigMap = SMonsterConfig.getsMonsterConfigMap(); int maxForce = 0; for(int i = 0 ; i < groupIds.length;i++){ - if(SEndlessDifficulty.baseDifficult.containsKey(groupIds[i])){ - groupIds[i]=SEndlessDifficulty.difficultyMonster.get(41).get(SEndlessDifficulty.baseDifficult.get(groupIds[i])); + if(SEndlessDifficulty.difficultyMonster.containsKey(groupIds[i])){ + groupIds[i]= SEndlessDifficulty.difficultyMonster.get(groupIds[i]); } SMonsterGroup sMonsterGroup = integerSMonsterGroupMap.get(groupIds[i]); int[][] contents = sMonsterGroup.getContents();