fix hero passive

back_recharge
wangyuan 2020-04-13 20:02:56 +08:00
parent 55019f706a
commit 0257faf2d7
2 changed files with 14 additions and 10 deletions

View File

@ -982,11 +982,11 @@ public class HeroLogic{
for (Integer skillId : tempHero.getSkillListByStar(hero.getStar())) {
sb.append(skillId).append(DIVISION);
}
Map<Integer, Map<Integer, List<Integer>>> passiveSkillMap = tempHero.getPassiveSkillMap();
passiveSkillMap.get(1).getOrDefault(hero.getBreakId(),new ArrayList<>()).forEach(skillId->{
tempHero.getPassiveSkills(1,hero.getBreakId()).forEach(skillId->{
sb.append(skillId).append(DIVISION);
});
passiveSkillMap.get(2).getOrDefault(hero.getBreakId(),new ArrayList<>()).forEach(skillId->{
tempHero.getPassiveSkills(2,hero.getStarBreakId()).forEach(skillId->{
sb.append(skillId).append(DIVISION);
});

View File

@ -60,7 +60,7 @@ public class SCHero implements BaseConfig{
private Map<Integer, Map<Integer, ConsumeMaterialInfo>> consumeMaterialInfoOfPositionByStar;
private Map<Integer,Map<Integer,List<Integer>>> passiveSkillMap;
private Map<Integer,TreeMap<Integer,List<Integer>>> passiveSkillMap;
private static Map<Integer,SCHero> piecesMap;
@ -147,9 +147,9 @@ public class SCHero implements BaseConfig{
}
scHero.setSkillListByStar(skillTmp);
Map<Integer,Map<Integer,List<Integer>>> passiveSkillMapTmp = new HashMap<>();
passiveSkillMapTmp.put(1,new HashMap<>());
passiveSkillMapTmp.put(2,new HashMap<>());
Map<Integer,TreeMap<Integer,List<Integer>>> passiveSkillMapTmp = new HashMap<>();
passiveSkillMapTmp.put(1,new TreeMap<>());
passiveSkillMapTmp.put(2,new TreeMap<>());
for(int[] openSkillRule : scHero.getOpenPassiveSkillRules()){
int type = openSkillRule[0];
@ -292,11 +292,15 @@ public class SCHero implements BaseConfig{
return equipTalismana;
}
public Map<Integer, Map<Integer, List<Integer>>> getPassiveSkillMap() {
return passiveSkillMap;
public List<Integer> getPassiveSkills(int type,int id){
if( passiveSkillMap.get(type).floorEntry(id)==null){
return new ArrayList<>(0);
}
return passiveSkillMap.get(type).floorEntry(id).getValue();
}
public void setPassiveSkillMap(Map<Integer, Map<Integer, List<Integer>>> passiveSkillMap) {
public void setPassiveSkillMap(Map<Integer, TreeMap<Integer, List<Integer>>> passiveSkillMap) {
this.passiveSkillMap = passiveSkillMap;
}
}