diff --git a/serverlogic/src/main/java/com/ljsd/jieling/handler/map/mapType/TowerMap.java b/serverlogic/src/main/java/com/ljsd/jieling/handler/map/mapType/TowerMap.java index a0f0656a2..94c636f6a 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/handler/map/mapType/TowerMap.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/handler/map/mapType/TowerMap.java @@ -355,7 +355,7 @@ public class TowerMap extends AbstractMap { //判断是否是打败的boss if(trialInfo.getEnergy()==-1){ //生成传送门 - createTransport(createCell); + createCell = createTransport(trialInfo.getFloor()); } updateEnergy(user); remainHp = checkResult[2]; @@ -392,18 +392,23 @@ public class TowerMap extends AbstractMap { // LOGGER.info("endFight() uid=>{} sMonsterGroup.getRewardgroup()=>{} misson=>{} eventDrop=>{}, missionDrop=>{}", uid, sMonsterGroup.getRewardgroup(), fastFightResponse.getMission(), fastFightResponse.getEnventDrop(), fastFightResponse.getMissionDrop()); } - private void createTransport(Cell createCell,int floor){ - int transportPoint = 0; - if(floor%5==0){ + private Cell createTransport(int floor){ + int transportPoint; + //是否为5层整数倍 + if(floor%2==0){ + //如果是则进行随机 int[] treasureProbability = STrialSetting.sTrialSetting.getTreasureProbability(); -// MathUtils.randomFromWeight(treasureProbability); + int[] transportPointId= STrialSetting.sTrialSetting.getTransportPoint(); + transportPoint = MathUtils.randomFromWeight(new int[][]{{transportPointId[0], treasureProbability[0]}, {transportPointId[1], treasureProbability[1]}}); }else{ + //若不是则直接拿普通传送门 transportPoint= STrialSetting.sTrialSetting.getTransportPoint()[0]; } int[] transportPosition = STrialSetting.sTrialSetting.getTransportPortion(); MapPointConfig config = MapPointConfig.getScMapEventMap().get(transportPoint); int position = CellUtil.xy2Pos(transportPosition[0], transportPosition[1]); - createCell = new Cell(position, config.getInitialEventId(), transportPoint); + Cell createCell = new Cell(position, config.getInitialEventId(), transportPoint); LOGGER.info("生成传送门信息:{}",createCell.toString()); + return createCell; } }