计算机器人英雄天赋

back_recharge
duhui 2021-12-07 10:57:53 +08:00
parent 067f639a52
commit 19e2c1617f
1 changed files with 13 additions and 12 deletions

View File

@ -1735,7 +1735,7 @@ public class HeroLogic {
public int calRobotStarBreakByLevel(int heroTid, int heroLevel) {
// 获取进阶属性
int star = SCHero.getsCHero().get(heroTid).getStar();
return calRobotInfoToLevel(heroLevel, GlobalsDef.UP_STAR_TYPE, star);
return calRobotIdByLevel(heroLevel, GlobalsDef.UP_STAR_TYPE, star);
}
@ -1749,7 +1749,7 @@ public class HeroLogic {
public int calRobotBreakByLevel(int heroTid, int heroLevel) {
// 初始等级
int star = SCHero.getsCHero().get(heroTid).getStar();
return calRobotInfoToLevel(heroLevel, GlobalsDef.BREAK_TYPE, star);
return calRobotIdByLevel(heroLevel, GlobalsDef.BREAK_TYPE, star);
}
/**
@ -1763,16 +1763,17 @@ public class HeroLogic {
SCHero scHero = SCHero.getsCHero().get(heroTid);
// 英雄初始星级
int star = scHero.getStar();
Map<Integer, SCHeroRankUpConfig> config = STableManager.getConfig(SCHeroRankUpConfig.class);
// 等级从高到低开始验证,先升星,后突破
int info = calRobotInfoToLevel(heroLevel, GlobalsDef.UP_STAR_TYPE, star);
if (info > 0){
int id = calRobotIdByLevel(heroLevel, GlobalsDef.UP_STAR_TYPE, star);
if (id > 0){
// 大于0表示存在升星等级
return info;
return Optional.ofNullable(config.get(id)).map(SCHeroRankUpConfig::getOpenStar).orElse(star);
}
info = calRobotInfoToLevel(heroLevel, GlobalsDef.BREAK_TYPE, star);
if (info > 0){
id = calRobotIdByLevel(heroLevel, GlobalsDef.BREAK_TYPE, star);
if (id > 0){
// 大于0表示存在突破等级
return info;
return Optional.ofNullable(config.get(id)).map(SCHeroRankUpConfig::getOpenStar).orElse(star);
}
return star;
}
@ -1784,7 +1785,7 @@ public class HeroLogic {
* @param star
* @return
*/
private int calRobotInfoToLevel(int heroLevel, int type, int star){
private int calRobotIdByLevel(int heroLevel, int type, int star){
// 突破,根据初始星级获取不同分区
Map<Integer, SCHeroRankUpConfig> configByShow = STableManager.getFigureConfig(HeroStaticConfig.class).getScHeroRankUpConfigByShow(type, star);
if (configByShow != null) {
@ -1795,15 +1796,15 @@ public class HeroLogic {
SCHeroRankUpConfig rank = collect.get(i);
// 等级卡在突破阶段,返回下层星级
if (heroLevel == rank.getOpenLevel()) {
return rank.getOpenStar();
return rank.getId();
}
// 最高星级
else if (heroLevel > rank.getOpenLevel() && i==0){
return rank.getOpenStar();
return rank.getId();
}
// 等级超过突破阶段,返回上层等级
else if (heroLevel > rank.getOpenLevel()){
return rank.getOpenStar()+1;
return collect.get(i-1).getId();
}
}
}