森罗环境表结构修改,英雄信息添加公会技能等级

lvxinran 2020-06-26 04:49:30 +08:00
parent d64cf6d16d
commit 564e0cfc12
4 changed files with 42 additions and 105 deletions

View File

@ -3170,13 +3170,9 @@ public class MapLogic {
if(map instanceof TowerMap){ if(map instanceof TowerMap){
int curXY = mapManager.getCurXY(); int curXY = mapManager.getCurXY();
int floor = mapManager.getTrialInfo().getFloor(); int floor = mapManager.getTrialInfo().getFloor();
if(floor>10000){ TreeMap<Integer, STrialConfig> sTrialConfigMap = (TreeMap<Integer,STrialConfig>)STrialConfig.sTrialConfigMap;
STrialwelfareConfig welfareConfig = STrialwelfareConfig.sTrialwelfareConfigMap.get(floor % 10000); STrialConfig sTrialConfig = sTrialConfigMap.ceilingEntry(floor).getValue();
drop = getBoxReward(welfareConfig.getBoxPosition(),welfareConfig.getBoxReward(),user,curXY,type); drop = getBoxReward(sTrialConfig.getBoxPosition(),sTrialConfig.getBoxReward(),user,curXY,type);
}else{
STrialConfig sTrialConfig = STrialConfig.sTrialConfigMap.get(floor);
drop = getBoxReward(sTrialConfig.getBoxPosition(),sTrialConfig.getBoxReward(),user,curXY,type);
}
} }
if(drop==null){ if(drop==null){
throw new ErrorCodeException(ErrorCode.SERVER_SELF_DEFINE); throw new ErrorCodeException(ErrorCode.SERVER_SELF_DEFINE);

View File

@ -176,32 +176,36 @@ public class TowerMap extends AbstractMap {
return; return;
} }
int floor = mapManager.getTrialInfo().getFloor(); int floor = mapManager.getTrialInfo().getFloor();
STrialConfig sTrialConfig;
if(floor>10000){ if(floor>10000){
int realFloor = floor%10000; // int realFloor = floor%10000;
Map<Integer,STrialwelfareConfig> welfareMap = STableManager.getConfig(STrialwelfareConfig.class); // Map<Integer,STrialwelfareConfig> welfareMap = STableManager.getConfig(STrialwelfareConfig.class);
STrialwelfareConfig useConfig = null; // STrialwelfareConfig useConfig = null;
for(STrialwelfareConfig config :welfareMap.values()){ // for(STrialwelfareConfig config :welfareMap.values()){
int[] section = config.getSection(); // int[] section = config.getSection();
if(realFloor>section[0]&&realFloor<=section[1]){ // if(realFloor>section[0]&&realFloor<=section[1]){
useConfig = config; // useConfig = config;
break; // break;
} // }
} // }
Map<Integer, Cell> newMap = new HashMap<>(); // Map<Integer, Cell> newMap = new HashMap<>();
if(useConfig!=null&&useConfig.getBoxPosition()!=null){ // if(useConfig!=null&&useConfig.getBoxPosition()!=null){
for(int[] position:useConfig.getBoxPosition()){ // for(int[] position:useConfig.getBoxPosition()){
int cellXY = CellUtil.xy2Pos(position[0], position[1]); // int cellXY = CellUtil.xy2Pos(position[0], position[1]);
Cell cell = new Cell(cellXY,0,STrialSetting.sTrialSetting.getBoxPointId()); // Cell cell = new Cell(cellXY,0,STrialSetting.sTrialSetting.getBoxPointId());
newMap.put(cellXY,cell); // newMap.put(cellXY,cell);
} // }
} // }
//生成普通传送门 // //生成普通传送门
Cell transport = createTransport(floor);
newMap.put(transport.getCellId(),transport); // mapManager.setMapInfo(newMap);
mapManager.setMapInfo(newMap); // return;
return;
TreeMap<Integer,STrialConfig> sTrialConfigMap = (TreeMap<Integer,STrialConfig>) STrialConfig.sTrialConfigMap;
sTrialConfig = sTrialConfigMap.ceilingEntry(floor).getValue();
}else{
sTrialConfig = STrialConfig.sTrialConfigMap.get(floor);
} }
STrialConfig sTrialConfig = STrialConfig.sTrialConfigMap.get(floor);
if (sTrialConfig == null) { if (sTrialConfig == null) {
LOGGER.info("initTrialMap() uid=>{} sTrialConfig == null =>{} ", user.getId(), floor); LOGGER.info("initTrialMap() uid=>{} sTrialConfig == null =>{} ", user.getId(), floor);
return; return;
@ -277,14 +281,11 @@ public class TowerMap extends AbstractMap {
} }
} else if (scMap1.getEvent() == 3) { } 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); StoreLogic.initOrUpdateOneStore(user,8,storeIndex);
int i = 0; int i = 0;
while (cellMap3.size() < sTrialConfig.getGameCount()[2]) { while (cellMap3.size() < sTrialConfig.getGameCount()[2]) {
i++; i++;
if (i >= 10000) {
break;
}
int randomIndex = random.nextInt(scMap1.getGroups().length); int randomIndex = random.nextInt(scMap1.getGroups().length);
int x = scMap1.getGroups()[randomIndex][0]; int x = scMap1.getGroups()[randomIndex][0];
int y = scMap1.getGroups()[randomIndex][1]; int y = scMap1.getGroups()[randomIndex][1];
@ -331,6 +332,11 @@ public class TowerMap extends AbstractMap {
newMap.putAll(cellMap3); newMap.putAll(cellMap3);
newMap.putAll(cellMap4); 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()); SChallengeMapConfig challengeMapConfig = STableManager.getConfig(SChallengeMapConfig.class).get(sTrialConfig.getMapId());
int xy = CellUtil.xy2Pos(challengeMapConfig.getPosition()[0], challengeMapConfig.getPosition()[1]); int xy = CellUtil.xy2Pos(challengeMapConfig.getPosition()[0], challengeMapConfig.getPosition()[1]);
mapManager.setCurXY(xy); mapManager.setCurXY(xy);
@ -465,7 +471,7 @@ public class TowerMap extends AbstractMap {
private Cell createTransport(int floor){ private Cell createTransport(int floor){
int transportPoint; int transportPoint;
//是否为5层整数倍 //是否为5层整数倍
if(floor%5==0&&floor<10000){ if(floor%2==0&&floor<10000){
//如果是则进行随机 //如果是则进行随机
int[] treasureProbability = STrialSetting.sTrialSetting.getTreasureProbability(); int[] treasureProbability = STrialSetting.sTrialSetting.getTreasureProbability();
int[] transportPointId= STrialSetting.sTrialSetting.getTransportPoint(); int[] transportPointId= STrialSetting.sTrialSetting.getTransportPoint();

View File

@ -654,6 +654,10 @@ public class PlayerLogic {
} }
builder.setForce(HeroLogic.getInstance().calForce(heroNotBufferAttribute)); builder.setForce(HeroLogic.getInstance().calForce(heroNotBufferAttribute));
builder.setHero(CBean2Proto.getHero(hero)); builder.setHero(CBean2Proto.getHero(hero));
Map<Integer, Integer> 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); MessageUtil.sendMessage(session,1,resMsgId,builder.build(),true);
} }

View File

@ -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<Integer,STrialwelfareConfig> sTrialwelfareConfigMap = new HashMap<>();
@Override
public void init() throws Exception {
Map<Integer, STrialwelfareConfig> 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;
}
}