Merge branch 'master' of http://60.1.1.230/backend/jieling_server
commit
9ddf90637f
|
@ -10,7 +10,8 @@ import java.util.TreeMap;
|
||||||
|
|
||||||
@Table(name = "HeroRankupConfig")
|
@Table(name = "HeroRankupConfig")
|
||||||
public class SCHeroRankUpConfig implements BaseConfig{
|
public class SCHeroRankUpConfig implements BaseConfig{
|
||||||
public static Map<Integer,Map<Integer,Map<Integer,SCHeroRankUpConfig>>> scHeroRankUpConfigByStar;
|
public static Map<Integer,Map<Integer,Map<Integer,SCHeroRankUpConfig>>> scHeroRankUpConfigByShow;
|
||||||
|
public static Map<Integer,Map<Integer,Map<Integer,SCHeroRankUpConfig>>> scHeroRankUpConfigByType;
|
||||||
|
|
||||||
private int id;
|
private int id;
|
||||||
|
|
||||||
|
@ -35,25 +36,50 @@ public class SCHeroRankUpConfig implements BaseConfig{
|
||||||
@Override
|
@Override
|
||||||
public void init() throws Exception {
|
public void init() throws Exception {
|
||||||
Map<Integer,Map<Integer,Map<Integer,SCHeroRankUpConfig>>> result = new TreeMap<>();
|
Map<Integer,Map<Integer,Map<Integer,SCHeroRankUpConfig>>> result = new TreeMap<>();
|
||||||
|
Map<Integer,Map<Integer,Map<Integer,SCHeroRankUpConfig>>> calc = new TreeMap<>();
|
||||||
Map<Integer, SCHeroRankUpConfig> config = STableManager.getConfig(SCHeroRankUpConfig.class);
|
Map<Integer, SCHeroRankUpConfig> config = STableManager.getConfig(SCHeroRankUpConfig.class);
|
||||||
for(SCHeroRankUpConfig scHeroRankUpConfig: config.values()){
|
for(SCHeroRankUpConfig scHeroRankUpConfig: config.values()){
|
||||||
int show = scHeroRankUpConfig.getShow();
|
int show = scHeroRankUpConfig.getShow();
|
||||||
|
int type = scHeroRankUpConfig.getType();
|
||||||
if(!result.containsKey(show)){
|
if(!result.containsKey(show)){
|
||||||
result.put(show,new TreeMap<>());
|
result.put(show,new TreeMap<>());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(!calc.containsKey(type)){
|
||||||
|
calc.put(type,new TreeMap<>());
|
||||||
|
}
|
||||||
if(!result.get(show).containsKey(scHeroRankUpConfig.getStar())){
|
if(!result.get(show).containsKey(scHeroRankUpConfig.getStar())){
|
||||||
result.get(show).put(scHeroRankUpConfig.getStar(),new TreeMap<>());
|
result.get(show).put(scHeroRankUpConfig.getStar(),new TreeMap<>());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(!calc.get(type).containsKey(scHeroRankUpConfig.getStar())){
|
||||||
|
calc.get(type).put(scHeroRankUpConfig.getStar(),new TreeMap<>());
|
||||||
|
}
|
||||||
|
|
||||||
if(show == GlobalsDef.UP_STAR_TYPE){
|
if(show == GlobalsDef.UP_STAR_TYPE){
|
||||||
result.get(show).get(scHeroRankUpConfig.getStar()).put(scHeroRankUpConfig.getLimitStar(),scHeroRankUpConfig);
|
result.get(show).get(scHeroRankUpConfig.getStar()).put(scHeroRankUpConfig.getLimitStar(),scHeroRankUpConfig);
|
||||||
}
|
}
|
||||||
|
if( show == GlobalsDef.BREAK_TYPE){
|
||||||
result.get(show).get(scHeroRankUpConfig.getStar()).put(scHeroRankUpConfig.getLimitLevel(),scHeroRankUpConfig);
|
result.get(show).get(scHeroRankUpConfig.getStar()).put(scHeroRankUpConfig.getLimitLevel(),scHeroRankUpConfig);
|
||||||
}
|
}
|
||||||
scHeroRankUpConfigByStar = result;
|
if(type == GlobalsDef.UP_STAR_TYPE){
|
||||||
|
calc.get(type).get(scHeroRankUpConfig.getStar()).put(scHeroRankUpConfig.getLimitStar(),scHeroRankUpConfig);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static Map<Integer, SCHeroRankUpConfig> getScHeroRankUpConfigByType(int type,int heroInitStar) {
|
if(type == GlobalsDef.BREAK_TYPE){
|
||||||
return scHeroRankUpConfigByStar.get(type).get(heroInitStar);
|
calc.get(type).get(scHeroRankUpConfig.getStar()).put(scHeroRankUpConfig.getLimitLevel(),scHeroRankUpConfig);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
scHeroRankUpConfigByShow = result;
|
||||||
|
scHeroRankUpConfigByType = calc;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static Map<Integer, SCHeroRankUpConfig> getScHeroRankUpConfigByShow(int show, int heroInitStar) {
|
||||||
|
return scHeroRankUpConfigByShow.get(show).get(heroInitStar);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static Map<Integer, SCHeroRankUpConfig> getScHeroRankUpConfigByType(int type, int heroInitStar) {
|
||||||
|
return scHeroRankUpConfigByType.get(type).get(heroInitStar);
|
||||||
}
|
}
|
||||||
|
|
||||||
public int getId() {
|
public int getId() {
|
||||||
|
|
|
@ -273,7 +273,7 @@ public class HeroLogic {
|
||||||
|
|
||||||
int oldLevel = hero.getLevel();
|
int oldLevel = hero.getLevel();
|
||||||
//判断需要进行升级还是进行突破
|
//判断需要进行升级还是进行突破
|
||||||
Map<Integer, SCHeroRankUpConfig> scHeroRankUpConfigByType = SCHeroRankUpConfig.getScHeroRankUpConfigByType(GlobalsDef.BREAK_TYPE,scHero.getStar());
|
Map<Integer, SCHeroRankUpConfig> scHeroRankUpConfigByType = SCHeroRankUpConfig.getScHeroRankUpConfigByShow(GlobalsDef.BREAK_TYPE,scHero.getStar());
|
||||||
SCHeroRankUpConfig scHeroRankUpConfig = null;
|
SCHeroRankUpConfig scHeroRankUpConfig = null;
|
||||||
if(scHeroRankUpConfigByType!=null){
|
if(scHeroRankUpConfigByType!=null){
|
||||||
scHeroRankUpConfig = scHeroRankUpConfigByType.get(oldLevel);
|
scHeroRankUpConfig = scHeroRankUpConfigByType.get(oldLevel);
|
||||||
|
@ -298,7 +298,7 @@ public class HeroLogic {
|
||||||
consume = sHeroLevlConfig.getConsume();
|
consume = sHeroLevlConfig.getConsume();
|
||||||
}
|
}
|
||||||
if(!isBreak){
|
if(!isBreak){
|
||||||
Map<Integer, SCHeroRankUpConfig> scHeroRankUpConfigByTypeStar = SCHeroRankUpConfig.getScHeroRankUpConfigByType(GlobalsDef.UP_STAR_TYPE, scHero.getStar());
|
Map<Integer, SCHeroRankUpConfig> scHeroRankUpConfigByTypeStar = SCHeroRankUpConfig.getScHeroRankUpConfigByShow(GlobalsDef.UP_STAR_TYPE, scHero.getStar());
|
||||||
if(scHeroRankUpConfig == null && scHeroRankUpConfigByTypeStar == null && scHeroRankUpConfigByType!=null){
|
if(scHeroRankUpConfig == null && scHeroRankUpConfigByTypeStar == null && scHeroRankUpConfigByType!=null){
|
||||||
boolean isAll = true;
|
boolean isAll = true;
|
||||||
for( SCHeroRankUpConfig scHeroRankUpConfigTmp :scHeroRankUpConfigByType.values()){
|
for( SCHeroRankUpConfig scHeroRankUpConfigTmp :scHeroRankUpConfigByType.values()){
|
||||||
|
@ -357,7 +357,7 @@ public class HeroLogic {
|
||||||
|
|
||||||
int oldStar = targetHero.getStar();
|
int oldStar = targetHero.getStar();
|
||||||
SCHero scHero = SCHero.getsCHero().get(targetHero.getTemplateId());
|
SCHero scHero = SCHero.getsCHero().get(targetHero.getTemplateId());
|
||||||
Map<Integer, SCHeroRankUpConfig> scHeroRankUpConfigByType = SCHeroRankUpConfig.getScHeroRankUpConfigByType(GlobalsDef.UP_STAR_TYPE,scHero.getStar());
|
Map<Integer, SCHeroRankUpConfig> scHeroRankUpConfigByType = SCHeroRankUpConfig.getScHeroRankUpConfigByShow(GlobalsDef.UP_STAR_TYPE,scHero.getStar());
|
||||||
SCHeroRankUpConfig scHeroRankUpConfig = scHeroRankUpConfigByType.get(oldStar);
|
SCHeroRankUpConfig scHeroRankUpConfig = scHeroRankUpConfigByType.get(oldStar);
|
||||||
if( targetHero.getLevel() < scHeroRankUpConfig.getLimitLevel()){
|
if( targetHero.getLevel() < scHeroRankUpConfig.getLimitLevel()){
|
||||||
MessageUtil.sendErrorResponse(session,0,MessageTypeProto.MessageType.UP_HERO_STAR_RESPONSE_VALUE,"等级不够");
|
MessageUtil.sendErrorResponse(session,0,MessageTypeProto.MessageType.UP_HERO_STAR_RESPONSE_VALUE,"等级不够");
|
||||||
|
@ -518,7 +518,7 @@ public class HeroLogic {
|
||||||
float breakPara = 0.0f;
|
float breakPara = 0.0f;
|
||||||
Map<Integer, SCHeroRankUpConfig> scHeroRankUpConfigByTypeOfStar = SCHeroRankUpConfig.getScHeroRankUpConfigByType(GlobalsDef.UP_STAR_TYPE,scHero.getStar());
|
Map<Integer, SCHeroRankUpConfig> scHeroRankUpConfigByTypeOfStar = SCHeroRankUpConfig.getScHeroRankUpConfigByType(GlobalsDef.UP_STAR_TYPE,scHero.getStar());
|
||||||
if(scHeroRankUpConfigByTypeOfStar!= null){
|
if(scHeroRankUpConfigByTypeOfStar!= null){
|
||||||
SCHeroRankUpConfig scHeroRankUpConfig = scHeroRankUpConfigByTypeOfStar.get(hero.getStar());
|
SCHeroRankUpConfig scHeroRankUpConfig = scHeroRankUpConfigByTypeOfStar.get(hero.getStar()-1);
|
||||||
if( scHeroRankUpConfig!=null && hero.getLevel() >= scHeroRankUpConfig.getLimitLevel()){
|
if( scHeroRankUpConfig!=null && hero.getLevel() >= scHeroRankUpConfig.getLimitLevel()){
|
||||||
if(scHeroRankUpConfig.getType() == GlobalsDef.BREAK_TYPE){
|
if(scHeroRankUpConfig.getType() == GlobalsDef.BREAK_TYPE){
|
||||||
breakPara = scHeroRankUpConfig.getRankupPara();
|
breakPara = scHeroRankUpConfig.getRankupPara();
|
||||||
|
@ -532,7 +532,7 @@ public class HeroLogic {
|
||||||
int heroLevel = hero.getLevel();
|
int heroLevel = hero.getLevel();
|
||||||
Map<Integer, SCHeroRankUpConfig> scHeroRankUpConfigByTypOfBreak = SCHeroRankUpConfig.getScHeroRankUpConfigByType(GlobalsDef.BREAK_TYPE,scHero.getStar());
|
Map<Integer, SCHeroRankUpConfig> scHeroRankUpConfigByTypOfBreak = SCHeroRankUpConfig.getScHeroRankUpConfigByType(GlobalsDef.BREAK_TYPE,scHero.getStar());
|
||||||
for( SCHeroRankUpConfig scHeroRankUpConfigTmp :scHeroRankUpConfigByTypOfBreak.values()){
|
for( SCHeroRankUpConfig scHeroRankUpConfigTmp :scHeroRankUpConfigByTypOfBreak.values()){
|
||||||
if( heroLevel >= scHeroRankUpConfigTmp.getLimitLevel() && hero.getBreakId()>= scHeroRankUpConfigTmp.getId()){
|
if( heroLevel >= scHeroRankUpConfigTmp.getLimitLevel() && hero.getBreakId()>= scHeroRankUpConfigTmp.getId() && breakPara< scHeroRankUpConfigTmp.getRankupPara()){
|
||||||
breakPara = scHeroRankUpConfigTmp.getRankupPara();
|
breakPara = scHeroRankUpConfigTmp.getRankupPara();
|
||||||
}
|
}
|
||||||
if(heroLevel < scHeroRankUpConfigTmp.getOpenLevel()){
|
if(heroLevel < scHeroRankUpConfigTmp.getOpenLevel()){
|
||||||
|
|
Loading…
Reference in New Issue