英雄觉醒
parent
14c19ca507
commit
fd8e564a15
|
@ -140,6 +140,8 @@ public class HeroLogic{
|
|||
private static final String VERTICAL = "|";
|
||||
private static final String DIVISION = "#";
|
||||
|
||||
public static final int HERO_MAX_STAR = 10; // 英雄最大星级,大于10星为觉醒
|
||||
|
||||
|
||||
/**
|
||||
* 获取装备、法宝信息、魂印
|
||||
|
@ -886,7 +888,7 @@ public class HeroLogic{
|
|||
}
|
||||
|
||||
/**
|
||||
* 妖灵师进阶
|
||||
* 妖灵师进阶 升星==进阶==觉醒
|
||||
* @param session
|
||||
* @param heroId
|
||||
* @param consumeMaterialsList
|
||||
|
@ -1226,9 +1228,14 @@ public class HeroLogic{
|
|||
if(skillListByStar!=null){
|
||||
skillList.addAll(skillListByStar);
|
||||
}
|
||||
// 大于10星,觉醒技
|
||||
if (hero.getStar() > HERO_MAX_STAR) {
|
||||
skillList.addAll(tempHero.getAwakSkills(1, hero.getBreakId()));
|
||||
skillList.addAll(tempHero.getAwakSkills(2, hero.getStarBreakId()));
|
||||
} else {
|
||||
skillList.addAll(tempHero.getPassiveSkills(1, hero.getBreakId()));
|
||||
skillList.addAll(tempHero.getPassiveSkills(2, hero.getStarBreakId()));
|
||||
|
||||
}
|
||||
//装备没有技能不用计算
|
||||
// Map<Integer, Integer> equipByPositionMap = hero.getEquipByPositionMap();
|
||||
// if(!equipByPositionMap.isEmpty()){
|
||||
|
|
|
@ -42,6 +42,8 @@ public class SCHero implements BaseConfig{
|
|||
|
||||
private int[][] openSkillRules;
|
||||
|
||||
private int[][] awaken;
|
||||
|
||||
private int[][] openPassiveSkillRules;
|
||||
|
||||
private int[] equipTalismana;
|
||||
|
@ -58,6 +60,9 @@ public class SCHero implements BaseConfig{
|
|||
|
||||
private Map<Integer, List<Integer>> skillListByStar;
|
||||
|
||||
// 觉醒增加的技能属性
|
||||
private Map<Integer,TreeMap<Integer,List<Integer>>> awakSkillMap;
|
||||
|
||||
private Map<Integer, Map<Integer, ConsumeMaterialInfo>> consumeMaterialInfoOfPositionByStar;
|
||||
|
||||
private Map<Integer,TreeMap<Integer,List<Integer>>> passiveSkillMap;
|
||||
|
@ -109,8 +114,6 @@ public class SCHero implements BaseConfig{
|
|||
}
|
||||
}
|
||||
Map<Integer, Map<Integer, ConsumeMaterialInfo>> consumeMaterialInfoByStarTmp = new HashMap<>();
|
||||
int[][] openSkillRules = scHero.getOpenSkillRules();
|
||||
|
||||
|
||||
int[][] rankupConsumeMaterial = scHero.getRankupConsumeMaterial();
|
||||
|
||||
|
@ -127,7 +130,7 @@ public class SCHero implements BaseConfig{
|
|||
}
|
||||
scHero.setConsumeMaterialInfoOfPositionByStar(consumeMaterialInfoByStarTmp);
|
||||
|
||||
|
||||
int[][] openSkillRules = scHero.getOpenSkillRules();
|
||||
// 技能
|
||||
Map<Integer, List<Integer>> skillTmp = new HashMap<>();
|
||||
|
||||
|
@ -161,9 +164,25 @@ public class SCHero implements BaseConfig{
|
|||
});
|
||||
passiveSkillMapTmp.get(type).get(starOrBreakId).add(skillId);
|
||||
}
|
||||
scHero.setSkillListByStar(skillTmp);
|
||||
scHero.setPassiveSkillMap(passiveSkillMapTmp);
|
||||
|
||||
// 大于10星为 觉醒技能
|
||||
int[][] awakens = scHero.getAwaken();
|
||||
Map<Integer, TreeMap<Integer, List<Integer>>> awakSkillMapTmp = new HashMap<>();
|
||||
if (awakens != null && awakens.length > 0) {
|
||||
awakSkillMapTmp.put(1, new TreeMap<>());
|
||||
awakSkillMapTmp.put(2, new TreeMap<>());
|
||||
for (int[] openSkillRule : awakens) {
|
||||
int type = openSkillRule[0];
|
||||
int starOrBreakId = openSkillRule[1];
|
||||
int skillId = openSkillRule[2];
|
||||
awakSkillMapTmp.get(type).computeIfAbsent(starOrBreakId, a -> {
|
||||
return new ArrayList<>(awakSkillMapTmp.get(type).getOrDefault(a - 1, new ArrayList<>()));
|
||||
});
|
||||
awakSkillMapTmp.get(type).get(starOrBreakId).add(skillId);
|
||||
}
|
||||
}
|
||||
scHero.setAwakSkillMap(awakSkillMapTmp);
|
||||
}
|
||||
sCHero = integerSCHeroMap;
|
||||
piecesMap = new HashMap<>();
|
||||
|
@ -300,7 +319,22 @@ public class SCHero implements BaseConfig{
|
|||
return passiveSkillMap.get(type).floorEntry(id).getValue();
|
||||
}
|
||||
|
||||
public List<Integer> getAwakSkills(int type, int id) {
|
||||
if (awakSkillMap.get(type).floorEntry(id) == null) {
|
||||
return new ArrayList<>(0);
|
||||
}
|
||||
return awakSkillMap.get(type).floorEntry(id).getValue();
|
||||
}
|
||||
|
||||
public void setPassiveSkillMap(Map<Integer, TreeMap<Integer, List<Integer>>> passiveSkillMap) {
|
||||
this.passiveSkillMap = passiveSkillMap;
|
||||
}
|
||||
|
||||
public void setAwakSkillMap(Map<Integer, TreeMap<Integer, List<Integer>>> awakSkillMap) {
|
||||
this.awakSkillMap = awakSkillMap;
|
||||
}
|
||||
|
||||
public int[][] getAwaken() {
|
||||
return awaken;
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue