鸿蒙阵breaId修复

back_recharge
duhui 2021-01-15 18:54:29 +08:00
parent 986d8049f1
commit 46d3b765e2
2 changed files with 19 additions and 6 deletions

View File

@ -170,7 +170,7 @@ public class Hero extends MongoBase {
// 如果鸿蒙碑开启 返回鸿蒙系统中神将返回鸿蒙碑等级 // 如果鸿蒙碑开启 返回鸿蒙系统中神将返回鸿蒙碑等级
if (heroManager.getHongmengTablet() > 0){ if (heroManager.getHongmengTablet() > 0){
// 存在共鸣或者使者 // 存在共鸣或者使者
if (heroManager.getResonances().values().contains(id) ||heroManager.getHongmengGuards().values().contains(id)) { if (heroManager.getResonances().values().contains(id) || heroManager.getHongmengGuards().values().contains(id)) {
// 鸿蒙碑超过等级上限,返回鸿蒙碑等级 // 鸿蒙碑超过等级上限,返回鸿蒙碑等级
if (heroManager.getHongmengTablet() <= config.getOpenLevel()){ if (heroManager.getHongmengTablet() <= config.getOpenLevel()){
return heroManager.getHongmengTablet(); return heroManager.getHongmengTablet();
@ -274,7 +274,7 @@ public class Hero extends MongoBase {
*/ */
public int getBreakIdByHongMeng(HeroManager heroManager){ public int getBreakIdByHongMeng(HeroManager heroManager){
// 英雄在共鸣池中 // 英雄在共鸣池中
if (heroManager.getResonances().values().contains(id)) { if (heroManager.getResonances().values().contains(id) || heroManager.getHongmengGuards().values().contains(id)) {
return HeroLogic.getInstance().calRobotBreaByLevel(templateId, getLevel(heroManager)); return HeroLogic.getInstance().calRobotBreaByLevel(templateId, getLevel(heroManager));
} }
return breakId; return breakId;

View File

@ -1261,15 +1261,28 @@ public class HeroLogic{
*/ */
public int calRobotBreaByLevel(int heroTid,int heroLevel){ public int calRobotBreaByLevel(int heroTid,int heroLevel){
SCHero scHero = SCHero.getsCHero().get(heroTid); SCHero scHero = SCHero.getsCHero().get(heroTid);
int star = scHero.getStar();
Map<Integer, SCHeroRankUpConfig> scHeroRankUpConfigByType = STableManager.getFigureConfig(HeroStaticConfig.class).getScHeroRankUpConfigByShow(GlobalsDef.BREAK_TYPE,scHero.getStar()); Map<Integer, SCHeroRankUpConfig> scHeroRankUpConfigByType = STableManager.getFigureConfig(HeroStaticConfig.class).getScHeroRankUpConfigByShow(GlobalsDef.BREAK_TYPE,scHero.getStar());
if(scHeroRankUpConfigByType == null){ if(scHeroRankUpConfigByType == null){
return 0; return 0;
} }
for(SCHeroRankUpConfig scHeroRankUpConfig : scHeroRankUpConfigByType.values()){ // 排序
if (heroLevel >= scHeroRankUpConfig.getLimitLevel() && heroLevel <= scHeroRankUpConfig.getOpenLevel()){ Set<Map.Entry<Integer, SCHeroRankUpConfig>> entries = scHeroRankUpConfigByType.entrySet();
return scHeroRankUpConfig.getId(); ArrayList<Map.Entry<Integer, SCHeroRankUpConfig>> list = new ArrayList<>(entries);
Collections.sort(list, new Comparator<Map.Entry<Integer, SCHeroRankUpConfig>>() {
@Override
public int compare(Map.Entry<Integer, SCHeroRankUpConfig> o1, Map.Entry<Integer, SCHeroRankUpConfig> o2) {
//逆序 就用后面的参数 - 前面的参数
return o2.getValue().getOpenLevel() - o1.getValue().getOpenLevel();
} }
});
for (int i = 0; i < list.size(); i++) {
Map.Entry<Integer, SCHeroRankUpConfig> entry = list.get(i);
SCHeroRankUpConfig value = entry.getValue();
if (heroLevel >= value.getOpenLevel()){
return value.getId();
}
} }
return 0; return 0;
} }