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 cced1d02d..405d6ca5e 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 @@ -128,7 +128,7 @@ public class MapLogic { SChallengeSetting sChallengeSetting = SChallengeSetting.challengeSetting; if (mapManager.getDayFightCount() > sChallengeSetting.getLimit()) { LOGGER.info("enterMap() uid=>{} max fight count =>{} ", uid, mapManager.getDayFightCount()); - MessageUtil.sendErrorResponse(iSession, 0, messageType.getNumber(), ""); + MessageUtil.sendErrorResponse(iSession, 0, messageType.getNumber(), "请购买挑战次数"); return; } if (user.getPlayerInfoManager().getMapId() < mapId) { @@ -186,10 +186,15 @@ public class MapLogic { }else{ LOGGER.error("the curmap={}",mapManager.getCurMapId()); } - for (Map.Entry> entry : mapManager.getHeroAllAttributeMap().entrySet()) { - Map map = entry.getValue(); + List teamPosHeroInfos = user.getTeamPosManager().getTeamPosForHero().get(teamId); + Map> heroAllAttributeMap = mapManager.getHeroAllAttributeMap(); + for (TeamPosHeroInfo teamPosHeroInfo : teamPosHeroInfos) { + Map map = heroAllAttributeMap.get(teamPosHeroInfo.getHeroId()); + if (map == null) { + continue; + } MapInfoProto.HeroInfo heroInfo = MapInfoProto.HeroInfo.newBuilder() - .setHeroId(entry.getKey()) + .setHeroId(teamPosHeroInfo.getHeroId()) .setHeroHp(map.get(HeroAttributeEnum.CurHP.getPropertyId()) == null ? 0 : map.get(HeroAttributeEnum.CurHP.getPropertyId())) .build(); mapEnterResponse.addHeroInfos(heroInfo); @@ -457,7 +462,6 @@ public class MapLogic { int[][] behaviorTypeValues = sOptionConfig.getBehaviorTypeValues(); BaseBehavior baseBehavior = baseBehaviorMap.get(behaviorType); MapInfoProto.EventUpdateResponse.Builder eventUpdateResponse = MapInfoProto.EventUpdateResponse.newBuilder(); - int targetEventId = cell.getEventId(); if (baseBehavior != null) { boolean isSuccess = baseBehavior.process(user, behaviorTypeValues, eventUpdateResponse); if (!isSuccess) { @@ -526,7 +530,6 @@ public class MapLogic { else if (cell != null && nextEventId != 0) { cell.setEventId(nextEventId); mapManager.addOrUpdateCell(cell.getCellId(), cell); - targetEventId = nextEventId; } updateMapMission(mapManager,EventType.updateEvent, optionId,0);