鸿蒙阵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.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()){
return heroManager.getHongmengTablet();
@ -274,7 +274,7 @@ public class Hero extends MongoBase {
*/
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 breakId;

View File

@ -1261,15 +1261,28 @@ public class HeroLogic{
*/
public int calRobotBreaByLevel(int heroTid,int heroLevel){
SCHero scHero = SCHero.getsCHero().get(heroTid);
int star = scHero.getStar();
Map<Integer, SCHeroRankUpConfig> scHeroRankUpConfigByType = STableManager.getFigureConfig(HeroStaticConfig.class).getScHeroRankUpConfigByShow(GlobalsDef.BREAK_TYPE,scHero.getStar());
if(scHeroRankUpConfigByType == null){
return 0;
}
for(SCHeroRankUpConfig scHeroRankUpConfig : scHeroRankUpConfigByType.values()){
if (heroLevel >= scHeroRankUpConfig.getLimitLevel() && heroLevel <= scHeroRankUpConfig.getOpenLevel()){
return scHeroRankUpConfig.getId();
// 排序
Set<Map.Entry<Integer, SCHeroRankUpConfig>> entries = scHeroRankUpConfigByType.entrySet();
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;
}