From 3df83ecad71ccd7a289cd074cde769d490bee2ae Mon Sep 17 00:00:00 2001 From: duhui Date: Tue, 16 Aug 2022 14:59:43 +0800 Subject: [PATCH] =?UTF-8?q?=E9=80=8D=E9=81=A5=E6=B8=B8=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/JourneyMap.java | 61 ++++++++++++------- 1 file changed, 38 insertions(+), 23 deletions(-) diff --git a/serverlogic/src/main/java/com/ljsd/jieling/handler/map/JourneyMap.java b/serverlogic/src/main/java/com/ljsd/jieling/handler/map/JourneyMap.java index 17bb9785e..03e49a109 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/handler/map/JourneyMap.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/handler/map/JourneyMap.java @@ -183,7 +183,6 @@ public class JourneyMap { clearByTime(user,mapId,pathInfo);//清除过期信息 if(pathInfo.getCurrentPath()>=pathInfo.getAllPathInfo().length){ init(user,mapId); - } //地图格子信息 Arrays.stream(pathInfo.getAllPathInfo()).forEach(path->{ @@ -360,16 +359,8 @@ public class JourneyMap { //初始化转盘数组 pathInfo.setRandomReward(initRandom(travelConfig)); } - pathInfo.setRamainRandomAmount(pathInfo.getRamainRandomAmount()+1); - pathInfo.setRemainRandomTime((int)((TimeUtils.now()+TimeUtils.ONE_MINUTE* SSpecialConfig.getIntegerValue(SSpecialConfig.FREETRAVEL_EVENT_TIME))/1000)); - - List rewardList = Arrays.stream(pathInfo.getRandomReward()).boxed().collect(Collectors.toList()); - - builder.addAllRandom(rewardList); - - builder.setOverTime(pathInfo.getRemainRandomTime()); pathType = 6; break; case EventType.journeyBoss: @@ -386,19 +377,8 @@ public class JourneyMap { hpMap.put(j,list.get(j-1)); } monster.setRemainHp(hpMap); - long allHp =0; - for(Map.Entry hp:monster.getRemainHp().entrySet()){ - allHp+=hp.getValue(); - } int monsterId = TimeUtils.nowInt(); pathInfo.addMonster(monsterId,monster); - builder.setMonster(CommonProto.JourneyMonsterInfo.newBuilder().setAttackNum(monster.getAttackNum()) - .setMonsterHp(allHp) - .setMonsterId(monster.getMonsterId()) - .setMonsterIndex(monsterId) - .setRemainTime(monster.getRemainTime()) - .setRewardShow(monster.getReward())); - builder.setOverTime(monster.getRemainTime()); pathType = 5; break; case EventType.journeyStore: @@ -411,10 +391,7 @@ public class JourneyMap { JourneyGoods journeyGoods = new JourneyGoods(goodsId, (int) ((TimeUtils.now()+TimeUtils.ONE_MINUTE* SSpecialConfig.getIntegerValue(SSpecialConfig.FREETRAVEL_EVENT_TIME)) / 1000)); int index = TimeUtils.nowInt(); pathInfo.addGoods(index,journeyGoods); - - builder.setGoodsInfo(CommonProto.JourneyGoodsInfo.newBuilder().setGoodsId(goodsId).setGoodsIndex(index).setRemainTime(journeyGoods.getGoodsRemainTime()).build()); pathType = 4; - break; case EventType.diceEvent: pathType = 3; @@ -464,6 +441,44 @@ public class JourneyMap { user.getMapManager().updateJourneyInfoByMapId(mapId,pathInfo); ItemUtil.itemCost(user,map,BIReason.JOURNEY_DO_CONSUME,1); + //怪物信息 + if(pathInfo.getMonsterMap()!=null&&pathInfo.getMonsterMap().size()>0){ + pathInfo.getMonsterMap().forEach((k,v)->{ + Map remainHp = v.getRemainHp(); + long allHp = 0; + Collection values = remainHp.values(); + for(long value:values){ + allHp+=value; + } + CommonProto.JourneyMonsterInfo monsterInfo = CommonProto.JourneyMonsterInfo.newBuilder() + .setMonsterHp(allHp) + .setMonsterId(v.getMonsterId()) + .setMonsterIndex(k) + .setRemainTime(v.getRemainTime()) + .setAttackNum(v.getAttackNum()) + .setRewardShow(v.getReward()) + .build(); + builder.addMonsterInfo(monsterInfo); + }); + } + //转盘信息 + if(pathInfo.getRandomReward()!=null&&pathInfo.getRandomReward().length>0&&pathInfo.getRemainRandomTime()>TimeUtils.nowInt()&&pathInfo.getRamainRandomAmount()>0){ + List rewardList = Arrays.stream(pathInfo.getRandomReward()).boxed().collect(Collectors.toList()); + builder.addAllRandomItem(rewardList); + builder.setRandomTime(pathInfo.getRemainRandomTime()); + builder.setRandomNum(pathInfo.getRamainRandomAmount()); + } + // 商品信息 + if(!pathInfo.getGoodsMap().isEmpty()){ + for(Map.Entry entry:pathInfo.getGoodsMap().entrySet()){ + CommonProto.JourneyGoodsInfo info = CommonProto.JourneyGoodsInfo.newBuilder() + .setGoodsId(entry.getValue().getGoodsId()) + .setRemainTime(entry.getValue().getGoodsRemainTime()) + .setGoodsIndex(entry.getKey()).build(); + builder.addGoodsInfo(info); + } + } + //消耗云游值任务 user.getUserMissionManager().onGameEvent(user, GameEvent.XIAOYAOYOU_CONSUME, MissionType.XIAOYAOYOU_CONSUME_NUM, consume[1]); MessageUtil.sendMessage(session,1,messageType.getNumber(),builder.build(),true);