From 564e0cfc1279d04d4e13b6585f9582b7d0672758 Mon Sep 17 00:00:00 2001 From: lvxinran Date: Fri, 26 Jun 2020 04:49:30 +0800 Subject: [PATCH] =?UTF-8?q?=E6=A3=AE=E7=BD=97=E7=8E=AF=E5=A2=83=E8=A1=A8?= =?UTF-8?q?=E7=BB=93=E6=9E=84=E4=BF=AE=E6=94=B9=EF=BC=8C=E8=8B=B1=E9=9B=84?= =?UTF-8?q?=E4=BF=A1=E6=81=AF=E6=B7=BB=E5=8A=A0=E5=85=AC=E4=BC=9A=E6=8A=80?= =?UTF-8?q?=E8=83=BD=E7=AD=89=E7=BA=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ljsd/jieling/handler/map/MapLogic.java | 10 +-- .../jieling/handler/map/mapType/TowerMap.java | 64 +++++++++-------- .../jieling/logic/player/PlayerLogic.java | 4 ++ .../main/java/config/STrialwelfareConfig.java | 69 ------------------- 4 files changed, 42 insertions(+), 105 deletions(-) delete mode 100644 tablemanager/src/main/java/config/STrialwelfareConfig.java 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 6274b957c..3e0a917a4 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 @@ -3170,13 +3170,9 @@ public class MapLogic { if(map instanceof TowerMap){ int curXY = mapManager.getCurXY(); int floor = mapManager.getTrialInfo().getFloor(); - if(floor>10000){ - STrialwelfareConfig welfareConfig = STrialwelfareConfig.sTrialwelfareConfigMap.get(floor % 10000); - drop = getBoxReward(welfareConfig.getBoxPosition(),welfareConfig.getBoxReward(),user,curXY,type); - }else{ - STrialConfig sTrialConfig = STrialConfig.sTrialConfigMap.get(floor); - drop = getBoxReward(sTrialConfig.getBoxPosition(),sTrialConfig.getBoxReward(),user,curXY,type); - } + TreeMap sTrialConfigMap = (TreeMap)STrialConfig.sTrialConfigMap; + STrialConfig sTrialConfig = sTrialConfigMap.ceilingEntry(floor).getValue(); + drop = getBoxReward(sTrialConfig.getBoxPosition(),sTrialConfig.getBoxReward(),user,curXY,type); } if(drop==null){ throw new ErrorCodeException(ErrorCode.SERVER_SELF_DEFINE); 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 51ee508d9..056ca9ec8 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 @@ -176,32 +176,36 @@ public class TowerMap extends AbstractMap { return; } int floor = mapManager.getTrialInfo().getFloor(); + STrialConfig sTrialConfig; if(floor>10000){ - int realFloor = floor%10000; - Map welfareMap = STableManager.getConfig(STrialwelfareConfig.class); - STrialwelfareConfig useConfig = null; - for(STrialwelfareConfig config :welfareMap.values()){ - int[] section = config.getSection(); - if(realFloor>section[0]&&realFloor<=section[1]){ - useConfig = config; - break; - } - } - Map newMap = new HashMap<>(); - if(useConfig!=null&&useConfig.getBoxPosition()!=null){ - for(int[] position:useConfig.getBoxPosition()){ - int cellXY = CellUtil.xy2Pos(position[0], position[1]); - Cell cell = new Cell(cellXY,0,STrialSetting.sTrialSetting.getBoxPointId()); - newMap.put(cellXY,cell); - } - } - //生成普通传送门 - Cell transport = createTransport(floor); - newMap.put(transport.getCellId(),transport); - mapManager.setMapInfo(newMap); - return; +// int realFloor = floor%10000; +// Map welfareMap = STableManager.getConfig(STrialwelfareConfig.class); +// STrialwelfareConfig useConfig = null; +// for(STrialwelfareConfig config :welfareMap.values()){ +// int[] section = config.getSection(); +// if(realFloor>section[0]&&realFloor<=section[1]){ +// useConfig = config; +// break; +// } +// } +// Map newMap = new HashMap<>(); +// if(useConfig!=null&&useConfig.getBoxPosition()!=null){ +// for(int[] position:useConfig.getBoxPosition()){ +// int cellXY = CellUtil.xy2Pos(position[0], position[1]); +// Cell cell = new Cell(cellXY,0,STrialSetting.sTrialSetting.getBoxPointId()); +// newMap.put(cellXY,cell); +// } +// } +// //生成普通传送门 + +// mapManager.setMapInfo(newMap); +// return; + + TreeMap sTrialConfigMap = (TreeMap) STrialConfig.sTrialConfigMap; + sTrialConfig = sTrialConfigMap.ceilingEntry(floor).getValue(); + }else{ + sTrialConfig = STrialConfig.sTrialConfigMap.get(floor); } - STrialConfig sTrialConfig = STrialConfig.sTrialConfigMap.get(floor); if (sTrialConfig == null) { LOGGER.info("initTrialMap() uid=>{} sTrialConfig == null =>{} ", user.getId(), floor); return; @@ -277,14 +281,11 @@ public class TowerMap extends AbstractMap { } } else if (scMap1.getEvent() == 3) { //初始化商店 - int storeIndex = MathUtils.randomFromWeight(STrialConfig.sTrialConfigMap.get(mapManager.getTrialInfo().getFloor()).getRandomStore()); + int storeIndex = MathUtils.randomFromWeight(sTrialConfig.getRandomStore()); StoreLogic.initOrUpdateOneStore(user,8,storeIndex); int i = 0; while (cellMap3.size() < sTrialConfig.getGameCount()[2]) { i++; - if (i >= 10000) { - break; - } int randomIndex = random.nextInt(scMap1.getGroups().length); int x = scMap1.getGroups()[randomIndex][0]; int y = scMap1.getGroups()[randomIndex][1]; @@ -331,6 +332,11 @@ public class TowerMap extends AbstractMap { newMap.putAll(cellMap3); newMap.putAll(cellMap4); } + //大于10000要生成传送门 + if(floor>10000){ + Cell transport = createTransport(floor); + newMap.put(transport.getCellId(),transport); + } SChallengeMapConfig challengeMapConfig = STableManager.getConfig(SChallengeMapConfig.class).get(sTrialConfig.getMapId()); int xy = CellUtil.xy2Pos(challengeMapConfig.getPosition()[0], challengeMapConfig.getPosition()[1]); mapManager.setCurXY(xy); @@ -465,7 +471,7 @@ public class TowerMap extends AbstractMap { private Cell createTransport(int floor){ int transportPoint; //是否为5层整数倍 - if(floor%5==0&&floor<10000){ + if(floor%2==0&&floor<10000){ //如果是则进行随机 int[] treasureProbability = STrialSetting.sTrialSetting.getTreasureProbability(); int[] transportPointId= STrialSetting.sTrialSetting.getTransportPoint(); diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/player/PlayerLogic.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/player/PlayerLogic.java index a7c9cf508..c0ccd3adf 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/player/PlayerLogic.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/player/PlayerLogic.java @@ -654,6 +654,10 @@ public class PlayerLogic { } builder.setForce(HeroLogic.getInstance().calForce(heroNotBufferAttribute)); builder.setHero(CBean2Proto.getHero(hero)); + Map guildSkill = userInMem.getGuildMyInfo().getGuildSkill(); + int profession = SCHero.getsCHero().get(hero.getTemplateId()).getProfession(); + Integer skill = guildSkill.getOrDefault(profession, 0); + builder.setGuildSkill(skill); MessageUtil.sendMessage(session,1,resMsgId,builder.build(),true); } diff --git a/tablemanager/src/main/java/config/STrialwelfareConfig.java b/tablemanager/src/main/java/config/STrialwelfareConfig.java deleted file mode 100644 index 817d54508..000000000 --- a/tablemanager/src/main/java/config/STrialwelfareConfig.java +++ /dev/null @@ -1,69 +0,0 @@ -package config; - -import manager.STableManager; -import manager.Table; - -import java.util.HashMap; -import java.util.Map; - -@Table(name ="TrialwelfareConfig") -public class STrialwelfareConfig implements BaseConfig { - - private int id; - - private int[] section; - - private int mapId; - - private int[][] randomMonsterType; - - private int[] monsterCount; - - private int[][][] boxReward; - - private int[][] boxPosition; - - public static Map sTrialwelfareConfigMap = new HashMap<>(); - - @Override - public void init() throws Exception { - Map config = STableManager.getConfig(STrialwelfareConfig.class); - for(STrialwelfareConfig value:config.values()){ - int[] section = value.getSection(); - for(int i = section[0];i <= section[1];i++){ - sTrialwelfareConfigMap.put(i,value); - } - } - } - - - public int getId() { - return id; - } - - public int[] getSection() { - return section; - } - - public int getMapId() { - return mapId; - } - - public int[][] getRandomMonsterType() { - return randomMonsterType; - } - - public int[] getMonsterCount() { - return monsterCount; - } - - public int[][][] getBoxReward() { - return boxReward; - } - - public int[][] getBoxPosition() { - return boxPosition; - } - - -} \ No newline at end of file