From 4f84f0d8154099a8acf1239cce75e022bb226b5d Mon Sep 17 00:00:00 2001 From: lvxinran Date: Wed, 11 Sep 2019 14:22:28 +0800 Subject: [PATCH] =?UTF-8?q?=E6=97=A0=E5=B0=BD=E5=89=AF=E6=9C=AC=E4=BF=AE?= =?UTF-8?q?=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ljsd/jieling/chat/logic/ChatLogic.java | 2 +- .../ljsd/jieling/handler/map/MapLogic.java | 51 ++++--------------- .../ljsd/jieling/handler/map/MapManager.java | 2 +- 3 files changed, 12 insertions(+), 43 deletions(-) diff --git a/serverlogic/src/main/java/com/ljsd/jieling/chat/logic/ChatLogic.java b/serverlogic/src/main/java/com/ljsd/jieling/chat/logic/ChatLogic.java index 130f92319..7bc348fea 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/chat/logic/ChatLogic.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/chat/logic/ChatLogic.java @@ -104,7 +104,7 @@ public class ChatLogic { //0|content需要解字符串 String s = message; String[] strs = message.split("|",3); - if(strs.length<3){ + if(strs.length==3){ s = strs[2]; } result = ShieldedWordUtils.checkName(user,s,false,ChatContentType.WORLD_CHAT); 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 d149cdc71..90dd170d9 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 @@ -632,6 +632,9 @@ public class MapLogic { // MessageUtil.sendErrorResponse(session,0,messageType.getNumber(),"行动力不足!"); // return; } + Set walkCell = mapManager.getEndlessMapInfo().getWalkCell(); + walkCell.addAll(new HashSet<>(cells)); + mapManager.endlessWalkCellSave(walkCell); } // LOGGER.info("updateMap() uid=>{} mapId =>{} eventId=>{}", uid, mapManager.getCurMapId(), cell.getEventId()); @@ -1281,32 +1284,19 @@ public class MapLogic { return; } List team = user.getTeamPosManager().getTeamPosForHero().get(teamId); - for (TeamPosHeroInfo teamPosHeroInfo : team) { - Map heroAttr = mapManager.getHeroAllAttributeMap().get(teamPosHeroInfo.getHeroId()); - if(heroAttr!=null){ - if(heroAttr.get(HeroAttributeEnum.Hp.getPropertyId()) heroAllAttribute = HeroLogic.getInstance().calHeroNotBufferAttribute(user, hero,false,teamId); int per = (int)(checkResult[i+2] / (double) heroAllAttribute.get(HeroAttributeEnum.Hp.getPropertyId())*10000); mapManager.updateEndlessHeroHp(team.get(i).getHeroId(),per); - Map currAttrMap = mapManager.getHeroAllAttributeMap().get(hero.getId()); - if(currAttrMap==null){ - continue; - } - if(currAttrMap.get(HeroAttributeEnum.CurHP.getPropertyId())==0){ - mapManager.removeOneHeroAttribute(hero.getId()); - }else{ - mapManager.updateHeroOneAttribute(team.get(i).getHeroId(), HeroAttributeEnum.CurHP.getPropertyId(), checkResult[i+2]); - } + mapManager.updateHeroOneAttribute(team.get(i).getHeroId(), HeroAttributeEnum.CurHP.getPropertyId(), checkResult[i+2]); } + }else{ + for (TeamPosHeroInfo teamPosHeroInfo : team) { + mapManager.updateHeroOneAttribute(teamPosHeroInfo.getHeroId(), HeroAttributeEnum.CurHP.getPropertyId(), checkResult[teamPosHeroInfo.getPosition()+1]); + } } if(SChallengeConfig.sChallengeConfigs.get(mapManager.getCurMapId()).getType()==4) { endlessRefreshMonster(session,destoryXY); @@ -1542,16 +1532,13 @@ public class MapLogic { List team = user.getTeamPosManager().getTeamPosForHero().get(teamId); if(SChallengeConfig.sChallengeConfigs.get(mapManager.getCurMapId()).getType()==4&&teamId==401){ mapManager.updateEndlessFightCount(mapManager.getEndlessMapInfo().getFightCount()+1); - Set cacheRemove = new HashSet<>(); for (int i = 0 ; i heroAllAttribute = HeroLogic.getInstance().calHeroNotBufferAttribute(user, hero,false,teamId); int per =(int) (checkResult[i+2] / (double) heroAllAttribute.get(HeroAttributeEnum.Hp.getPropertyId())*10000); mapManager.updateEndlessHeroHp(team.get(i).getHeroId(),per); mapManager.updateHeroOneAttribute(team.get(i).getHeroId(), HeroAttributeEnum.CurHP.getPropertyId(), checkResult[i+2]); - if(per<=0){ - cacheRemove.add(hero.getId()); - } + } // if(!cacheRemove.isEmpty()){ // Iterator iterator = team.iterator(); @@ -3164,25 +3151,7 @@ public class MapLogic { user.getTeamPosManager().updateTeamPosByTeamId(401,team); } } -// Iterator iterator = team.iterator(); -// while(iterator.hasNext()){ -// TeamPosHeroInfo teamInfo = iterator.next(); -// EndlessHero endlessHero = endlessMapInfo.getEndlessHeroInfo().get(teamInfo.getHeroId()); -// if(endlessHero==null){ -// continue; -// } -// if(endlessHero.getCurHp()==0){ -// Map> heroAllAttributeMap = mapManager.getHeroAllAttributeMap(); -// if(heroAllAttributeMap.containsKey(teamInfo.getHeroId())){ -// heroAllAttributeMap.remove(teamInfo.getHeroId()); -// } -// mapManager.setHeroAllAttributeMap(heroAllAttributeMap); -// iterator.remove(); -// } -// } -// -// user.getTeamPosManager().updateTeamPosByTeamId(401,team); -// } + MessageUtil.sendMessage(session,1,messageType.getNumber(),response.build(),true); } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/handler/map/MapManager.java b/serverlogic/src/main/java/com/ljsd/jieling/handler/map/MapManager.java index 5d4e790bc..399d34682 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/handler/map/MapManager.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/handler/map/MapManager.java @@ -777,7 +777,7 @@ public class MapManager extends MongoBase { } public void endlessWalkCellSave(Set walkCells){ endlessMapInfo.setWalkCell(walkCells); - updateString("endlessMapInfo.walkCells",walkCells); + updateString("endlessMapInfo.walkCell",walkCells); } public void endlessMapInfoSave(Map mapInfo){ endlessMapInfo.setMapInfo(mapInfo);