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 4f88ac7bf..dac73fe44 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 @@ -2,6 +2,7 @@ package com.ljsd.jieling.handler.map; import com.googlecode.protobuf.format.JsonFormat; import com.ljsd.jieling.config.*; +import com.ljsd.jieling.core.FunctionIdEnum; import com.ljsd.jieling.core.VipPrivilegeType; import com.ljsd.jieling.dataReport.reportBeans_37.ChatContentType; import com.ljsd.jieling.dataReport.reportBeans_37.Repot37EventUtil; @@ -17,6 +18,7 @@ import com.ljsd.jieling.handler.mission.Mission; import com.ljsd.jieling.ktbeans.KTGameType; import com.ljsd.jieling.ktbeans.KtEventUtils; import com.ljsd.jieling.ktbeans.parmsBean.ParamEventBean; +import com.ljsd.jieling.logic.GlobalDataManaager; import com.ljsd.jieling.logic.OnlineUserManager; import com.ljsd.jieling.logic.STableManager; import com.ljsd.jieling.logic.activity.event.Poster; @@ -216,7 +218,8 @@ public class MapLogic { } EndlessMapInfo endlessMapInfo = mapManager.getEndlessMapInfo(); if(endlessMapInfo.getSeason()!=endlessSeason){ - StoreLogic.initOneStore(user,SEndlessMapConfig.sEndlessMapConfigMap.get(endlessMapId).getMapStoreId()); + TimeControllerOfFunction openTimeOfFuntionCacheByType = GlobalDataManaager.getInstance().getOpenTimeOfFuntionCacheByType(FunctionIdEnum.Endless); + StoreLogic.initOnsStoereWithTime(user,SEndlessMapConfig.sEndlessMapConfigMap.get(endlessMapId).getMapStoreId(),openTimeOfFuntionCacheByType.getStartTime(),openTimeOfFuntionCacheByType.getEndTime()); mapManager.updateEndlessSeason(endlessSeason); mapManager.updateEndlessMapId(0); mapManager.endlessWalkCellSave(new HashSet<>()); @@ -1269,14 +1272,16 @@ public class MapLogic { mapManager.updateEndlessFightCount(1+mapManager.getEndlessMapInfo().getFightCount()); } if (resultCode == 0) { - if(SChallengeConfig.sChallengeConfigs.get(mapManager.getCurMapId()).getType()==4){ - //无尽副本复活消耗 + //todo 无尽副本不复活记得改回去 + if(SChallengeConfig.sChallengeConfigs.get(mapManager.getCurMapId()).getType()==4) { +// //无尽副本复活消耗 reviveConsumeExecution(user); - for(Map.Entry> entry: mapManager.getHeroAllAttributeMap().entrySet()){ - mapManager.updateHeroOneAttribute(entry.getKey(),HeroAttributeEnum.CurHP.getPropertyId(),0); - mapManager.updateEndlessHeroHp(entry.getKey(),0); - } - }else { + } +// for(Map.Entry> entry: mapManager.getHeroAllAttributeMap().entrySet()){ +// mapManager.updateHeroOneAttribute(entry.getKey(),HeroAttributeEnum.CurHP.getPropertyId(),0); +// mapManager.updateEndlessHeroHp(entry.getKey(),0); +// } +// }else { // 失败需要等待n秒后复活所有英雄 int dieCount = user.getMapManager().getDieCount(); dieCount++; @@ -1300,7 +1305,7 @@ public class MapLogic { remainHp.add(heroAttributeMap.get(HeroAttributeEnum.CurHP.getPropertyId())); } } - } +// } CommonProto.Drop.Builder dropBuilder = CommonProto.Drop.newBuilder(); FightInfoProto.FastFightResponse build = FightInfoProto.FastFightResponse .newBuilder() @@ -1504,36 +1509,37 @@ public class MapLogic { mapManager.setLastFightResult(resultCode); if (resultCode == 0 || dropout == 1) { + //todo 无尽副本复活 if(SChallengeConfig.sChallengeConfigs.get(mapManager.getCurMapId()).getType()==4){ //无尽副本复活消耗 reviveConsumeExecution(user); - for(Map.Entry> entry: mapManager.getHeroAllAttributeMap().entrySet()){ - mapManager.updateHeroOneAttribute(entry.getKey(),HeroAttributeEnum.CurHP.getPropertyId(),0); - mapManager.updateEndlessHeroHp(entry.getKey(),0); - } - }else{ - // 失败需要等待n秒后复活所有英雄 - int dieCount = user.getMapManager().getDieCount(); - dieCount++; - user.getMapManager().setDieCount(dieCount); - int[] reviveTime = sChallengeConfig.getReviveTime(); - long time = (long) (MathUtils.calABX(dieCount, reviveTime) * 1000); - user.getMapManager().setCanMoveTime(TimeUtils.now() + time); - int leftTime = getLeftTime(user, true); - remainHp.clear(); - if (leftTime <= (int) (time / 1000)) { - resetMapInfo(user, false); - } else { - initTeamInfo(mapManager.getTeamId(), uid, user, mapManager,2); - Map> heroAllAttributeMap = mapManager.getHeroAllAttributeMap(); - List teamPosHeroInfos = user.getTeamPosManager().getTeamPosForHero().get(mapManager.getTeamId()); - for (TeamPosHeroInfo heroInfo : teamPosHeroInfos) { - Hero hero = user.getHeroManager().getHero(heroInfo.getHeroId()); - if (hero == null) { - continue; - } - remainHp.add(heroAllAttributeMap.get(hero.getId()).get(HeroAttributeEnum.CurHP.getPropertyId())); +// for(Map.Entry> entry: mapManager.getHeroAllAttributeMap().entrySet()){ +// mapManager.updateHeroOneAttribute(entry.getKey(),HeroAttributeEnum.CurHP.getPropertyId(),0); +// mapManager.updateEndlessHeroHp(entry.getKey(),0); +// } + } +// else{ + // 失败需要等待n秒后复活所有英雄 + int dieCount = user.getMapManager().getDieCount(); + dieCount++; + user.getMapManager().setDieCount(dieCount); + int[] reviveTime = sChallengeConfig.getReviveTime(); + long time = (long) (MathUtils.calABX(dieCount, reviveTime) * 1000); + user.getMapManager().setCanMoveTime(TimeUtils.now() + time); + int leftTime = getLeftTime(user, true); + remainHp.clear(); + if (leftTime <= (int) (time / 1000)) { + resetMapInfo(user, false); + } else { + initTeamInfo(mapManager.getTeamId(), uid, user, mapManager,2); + Map> heroAllAttributeMap = mapManager.getHeroAllAttributeMap(); + List teamPosHeroInfos = user.getTeamPosManager().getTeamPosForHero().get(mapManager.getTeamId()); + for (TeamPosHeroInfo heroInfo : teamPosHeroInfos) { + Hero hero = user.getHeroManager().getHero(heroInfo.getHeroId()); + if (hero == null) { + continue; } + remainHp.add(heroAllAttributeMap.get(hero.getId()).get(HeroAttributeEnum.CurHP.getPropertyId())); } } CommonProto.Drop.Builder dropBuilder = CommonProto.Drop.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 781eadc9e..e5a33918a 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/GlobalDataManaager.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/GlobalDataManaager.java @@ -375,7 +375,16 @@ public class GlobalDataManaager { } private static int getEndleeMapIdByLevel() throws Exception { ServerConfig config = MongoUtil.getInstence().getMyMongoTemplate().findById(1, ServerConfig.class); - int mapId = config.getWorldLevel() * 0 + 4002; +// Map difficultyMap = SEndlessDifficulty.difficultyMap; +// for(Map.Entry entry:difficultyMap.entrySet()){ +// if(entry.getValue().getWorldLevel()) +// +// } + int mapId = config.getWorldLevel() * 0 + 4001; return mapId; } + + public TimeControllerOfFunction getOpenTimeOfFuntionCacheByType(FunctionIdEnum functionIdEnum ) { + return openTimeOfFuntionCache.get(functionIdEnum.getFunctionId()); + } }