计算机器人英雄天赋

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