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())) { for (Integer skillId : tempHero.getSkillListByStar(hero.getStar())) {
sb.append(skillId).append(DIVISION); 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); 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); 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, ConsumeMaterialInfo>> consumeMaterialInfoOfPositionByStar;
private Map<Integer,Map<Integer,List<Integer>>> passiveSkillMap; private Map<Integer,TreeMap<Integer,List<Integer>>> passiveSkillMap;
private static Map<Integer,SCHero> piecesMap; private static Map<Integer,SCHero> piecesMap;
@ -147,9 +147,9 @@ public class SCHero implements BaseConfig{
} }
scHero.setSkillListByStar(skillTmp); scHero.setSkillListByStar(skillTmp);
Map<Integer,Map<Integer,List<Integer>>> passiveSkillMapTmp = new HashMap<>(); Map<Integer,TreeMap<Integer,List<Integer>>> passiveSkillMapTmp = new HashMap<>();
passiveSkillMapTmp.put(1,new HashMap<>()); passiveSkillMapTmp.put(1,new TreeMap<>());
passiveSkillMapTmp.put(2,new HashMap<>()); passiveSkillMapTmp.put(2,new TreeMap<>());
for(int[] openSkillRule : scHero.getOpenPassiveSkillRules()){ for(int[] openSkillRule : scHero.getOpenPassiveSkillRules()){
int type = openSkillRule[0]; int type = openSkillRule[0];
@ -292,11 +292,15 @@ public class SCHero implements BaseConfig{
return equipTalismana; 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; this.passiveSkillMap = passiveSkillMap;
} }
} }