From 2c4a2f22185a4e5c0ff171b31825b33cc64d14d3 Mon Sep 17 00:00:00 2001 From: lvxinran Date: Wed, 4 Sep 2019 16:07:13 +0800 Subject: [PATCH] =?UTF-8?q?48=E3=80=8149=E8=A1=8C=E4=B8=BA=E7=B1=BB?= =?UTF-8?q?=E5=9E=8B=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ljsd/jieling/handler/map/MapLogic.java | 88 +++++++++++-------- .../handler/map/behavior/BehaviorUtil.java | 4 +- .../map/behavior/FourtyEightBehavior.java | 2 +- .../map/behavior/FourtyNineBehavior.java | 2 +- 4 files changed, 56 insertions(+), 40 deletions(-) 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 f6f09290c..f7a26924e 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 @@ -1260,6 +1260,9 @@ public class MapLogic { mapManager.updateHeroOneAttribute(team.get(i).getHeroId(), HeroAttributeEnum.CurHP.getPropertyId(), checkResult[i+2]); } } + if(SChallengeConfig.sChallengeConfigs.get(mapManager.getCurMapId()).getType()==4) { + endlessRefreshMonster(session,destoryXY); + } BehaviorUtil.destoryApointXY(user, destoryXY); SMonsterGroup sMonsterGroup = SMonsterGroup.getsMonsterGroupMap().get(groupId); @@ -1506,42 +1509,7 @@ public class MapLogic { fightEndResponse.build(); if(SChallengeConfig.sChallengeConfigs.get(mapManager.getCurMapId()).getType()==4){ - Cell cell = mapManager.getMapInfo().get(triggerXY); - MapPointConfig mapPointConfig = MapPointConfig.getScMapEventMap().get(cell.getPointId()); - if(mapPointConfig.getStyle()==1){ - Map map= SCMap.sCMap.get(mapManager.getCurMapId()); - List points = new ArrayList<>(); - for(Map.Entry entry:map.entrySet()){ - if(entry.getValue().getEvent()!=cell.getPointId()){ - continue; - } - boolean flagToAddMonster = true; - int[][] groups = entry.getValue().getGroups(); - for(int i = 0;i0){ - //无尽副本随机空地刷新小怪 - int cellPos = points.get(MathUtils.randomInt(points.size())); - Cell addCell = new Cell(cellPos,mapPointConfig.getInitialEventId(),mapPointConfig.getId()); - LOGGER.info("刷新位置为{},{}",CellUtil.pos2XY(cellPos)[0],CellUtil.pos2XY(cellPos)[1]); - mapManager.addOrUpdateCell(cellPos,addCell); - MapInfoProto.RefreshMonsterResponse monsterResponse = MapInfoProto.RefreshMonsterResponse.newBuilder().addCell(CBean2Proto.getCell(addCell)).build(); - MessageUtil.sendIndicationMessage(session,1, MessageTypeProto.MessageType.ENDLESS_MONSTER_REFRESH_INDICATION_VALUE,monsterResponse,true); - } - BehaviorUtil.destoryApointXY(user, triggerXY); - } + endlessRefreshMonster(session,triggerXY); } if (sOptionConfig != null) { int behaviorType = sOptionConfig.getBehaviorType(); @@ -3345,4 +3313,52 @@ public class MapLogic { } updateEndlessSeason(0); } + + /** + * 无尽小怪打死随机刷新 + * @param session + * @param triggerXY + * @throws Exception + */ + private void endlessRefreshMonster(ISession session,int triggerXY) throws Exception { + User user = UserManager.getUser(session.getUid()); + MapManager mapManager = user.getMapManager(); + Cell cell = mapManager.getMapInfo().get(triggerXY); + MapPointConfig mapPointConfig = MapPointConfig.getScMapEventMap().get(cell.getPointId()); + if(mapPointConfig.getStyle()==1){ + Map map= SCMap.sCMap.get(mapManager.getCurMapId()); + List points = new ArrayList<>(); + for(Map.Entry entry:map.entrySet()){ + if(entry.getValue().getEvent()!=cell.getPointId()){ + continue; + } + boolean flagToAddMonster = true; + int[][] groups = entry.getValue().getGroups(); + for(int i = 0;i0){ + //无尽副本随机空地刷新小怪 + int cellPos = points.get(MathUtils.randomInt(points.size())); + Cell addCell = new Cell(cellPos,mapPointConfig.getInitialEventId(),mapPointConfig.getId()); + LOGGER.info("刷新位置为{},{}",CellUtil.pos2XY(cellPos)[0],CellUtil.pos2XY(cellPos)[1]); + mapManager.addOrUpdateCell(cellPos,addCell); + MapInfoProto.RefreshMonsterResponse monsterResponse = MapInfoProto.RefreshMonsterResponse.newBuilder().addCell(CBean2Proto.getCell(addCell)).build(); + MessageUtil.sendIndicationMessage(session,1, MessageTypeProto.MessageType.ENDLESS_MONSTER_REFRESH_INDICATION_VALUE,monsterResponse,true); + } + BehaviorUtil.destoryApointXY(user, triggerXY); + } + } + } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/handler/map/behavior/BehaviorUtil.java b/serverlogic/src/main/java/com/ljsd/jieling/handler/map/behavior/BehaviorUtil.java index e4010e44a..c0eddf369 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/handler/map/behavior/BehaviorUtil.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/handler/map/behavior/BehaviorUtil.java @@ -433,8 +433,8 @@ public class BehaviorUtil { return monsterTeamList; } - public static void refreshTimeMonster(User user,int[][] behaviorTypeValues){ - user.getMapManager().updateEndlessCellTime(user.getMapManager().getCurXY(), (int)(TimeUtils.now()/1000)+behaviorTypeValues[0][1]); + public static void refreshTimeMonster(User user,int value){ + user.getMapManager().updateEndlessCellTime(user.getMapManager().getCurXY(), (int)(TimeUtils.now()/1000)+value); Map cellRefreshTime = user.getMapManager().getEndlessMapInfo().getCellRefreshTime(); MapInfoProto.EndlessTimeIndication.Builder indication = MapInfoProto.EndlessTimeIndication.newBuilder(); for(Map.Entry entry:cellRefreshTime.entrySet()){ diff --git a/serverlogic/src/main/java/com/ljsd/jieling/handler/map/behavior/FourtyEightBehavior.java b/serverlogic/src/main/java/com/ljsd/jieling/handler/map/behavior/FourtyEightBehavior.java index bc9d6070e..149a741ed 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/handler/map/behavior/FourtyEightBehavior.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/handler/map/behavior/FourtyEightBehavior.java @@ -34,7 +34,7 @@ public class FourtyEightBehavior extends BaseBehavior{ @Override public boolean afterFight(User user, int[][] behaviorTypeValues, FightInfoProto.FightEndResponse.Builder fightEndResponse){ - BehaviorUtil.refreshTimeMonster(user,behaviorTypeValues); + BehaviorUtil.refreshTimeMonster(user,behaviorTypeValues[0][1]); return true; } } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/handler/map/behavior/FourtyNineBehavior.java b/serverlogic/src/main/java/com/ljsd/jieling/handler/map/behavior/FourtyNineBehavior.java index b10dcc878..c8f089387 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/handler/map/behavior/FourtyNineBehavior.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/handler/map/behavior/FourtyNineBehavior.java @@ -21,7 +21,7 @@ public class FourtyNineBehavior extends BaseBehavior { @Override public boolean process(int optionId, User user, int[][] behaviorTypeValues, MapInfoProto.EventUpdateResponse.Builder eventUpdateResponse) throws Exception { - BehaviorUtil.refreshTimeMonster(user,behaviorTypeValues); + BehaviorUtil.refreshTimeMonster(user,behaviorTypeValues[0][0]); return true; } }