From a8cbb93ccb272eb1ff37643d34b0a14c92a2e494 Mon Sep 17 00:00:00 2001 From: jiahuiwen <1024696487@qq.com> Date: Fri, 19 Apr 2019 19:17:23 +0800 Subject: [PATCH] =?UTF-8?q?=E5=BF=AB=E9=80=9F=E6=88=98=E6=96=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- conf/server/RewardGroup.txt | 1 + .../jieling/handler/GetPlayerInfoHandler.java | 1 + .../ljsd/jieling/handler/map/MapLogic.java | 33 +++++++++++++++---- 3 files changed, 28 insertions(+), 7 deletions(-) diff --git a/conf/server/RewardGroup.txt b/conf/server/RewardGroup.txt index 062881458..c7fe8801e 100644 --- a/conf/server/RewardGroup.txt +++ b/conf/server/RewardGroup.txt @@ -608,3 +608,4 @@ int int mut,int#int,1 int int 8150 1 32050#31050 5 0 55001 1 50401 1 0 55002 1 50402 1 0 +100001 1 100001 1 0 diff --git a/serverlogic/src/main/java/com/ljsd/jieling/handler/GetPlayerInfoHandler.java b/serverlogic/src/main/java/com/ljsd/jieling/handler/GetPlayerInfoHandler.java index f7af40405..3b053e0fc 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/handler/GetPlayerInfoHandler.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/handler/GetPlayerInfoHandler.java @@ -49,6 +49,7 @@ public class GetPlayerInfoHandler extends BaseHandler{ MapLogic.getInstance().resetDayInfo(user); } + MapLogic.getInstance().checkIsInMap(user); Map guidePoints = user.getPlayerInfoManager().getGuidePoints(); List list = new ArrayList<>(); for(Map.Entry guideItem : guidePoints.entrySet()){ 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 86099ec29..dff38370d 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 @@ -76,12 +76,7 @@ public class MapLogic { MessageUtil.sendErrorResponse(iSession, 0, messageType.getNumber(), ""); return; } - if (mapManager.getCurMapId() > 0) { - int leftTime = getLeftTime(user); - if (leftTime == 0) { - resetMapInfo(user, true); - } - } + checkIsInMap(user); // 初始序章地图 if (user.getPlayerInfoManager().getMapId() == 0) { String error = initTeamInfo(teamId, uid, user, mapManager); @@ -191,6 +186,14 @@ public class MapLogic { }else{ LOGGER.error("the curmap={}",mapManager.getCurMapId()); } + for (Map.Entry> entry : mapManager.getHeroAllAttributeMap().entrySet()) { + Map map = entry.getValue(); + MapInfoProto.HeroInfo heroInfo = MapInfoProto.HeroInfo.newBuilder() + .setHeroId(entry.getKey()) + .setHeroHp(map.get(HeroAttributeEnum.CurHP.getPropertyId()) == null ? 0 : map.get(HeroAttributeEnum.CurHP.getPropertyId())) + .build(); + mapEnterResponse.addHeroInfos(heroInfo); + } MessageUtil.sendMessage(iSession, 1, messageType.getNumber(), mapEnterResponse.build(), true); } @@ -899,9 +902,12 @@ public class MapLogic { } if (!nextEventId.isEmpty()) { int triggerXY = mapManager.getTriggerXY(); + cell = mapManager.getMapInfo().get(mapManager.getTriggerXY()); + if (cell.getEventId() != -1) { cell.setEventId(Integer.parseInt(nextEventId)); mapManager.addOrUpdateCell(triggerXY, cell); - updateMapMission(mapManager,EventType.updateEvent,cell.getEventId(),0); + updateMapMission(mapManager, EventType.updateEvent, cell.getEventId(), 0); + } } // LOGGER.info("endFight() uid=>{},nextEventId=>{}", uid, nextEventId); updateMapMission(mapManager,EventType.fightEvent,0, 1); @@ -1812,4 +1818,17 @@ public class MapLogic { } } + public void checkIsInMap(User user) throws Exception { + if (user.getMapManager().getCurMapId() == 0) { + return; + } + int leftTime = getLeftTime(user); + if (leftTime >= 0) { + return; + } + // TODO 发邮件 + + resetMapInfo(user, true); + } + }