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