From 0257faf2d764a038d127a430a278ca76a7f89797 Mon Sep 17 00:00:00 2001 From: wangyuan Date: Mon, 13 Apr 2020 20:02:56 +0800 Subject: [PATCH] fix hero passive --- .../com/ljsd/jieling/logic/hero/HeroLogic.java | 6 +++--- tablemanager/src/main/java/config/SCHero.java | 18 +++++++++++------- 2 files changed, 14 insertions(+), 10 deletions(-) diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/hero/HeroLogic.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/hero/HeroLogic.java index a07c1e8bb..9a3f8f7e8 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/hero/HeroLogic.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/hero/HeroLogic.java @@ -982,11 +982,11 @@ public class HeroLogic{ for (Integer skillId : tempHero.getSkillListByStar(hero.getStar())) { sb.append(skillId).append(DIVISION); } - Map>> 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); }); diff --git a/tablemanager/src/main/java/config/SCHero.java b/tablemanager/src/main/java/config/SCHero.java index cd0766949..6f010b25b 100644 --- a/tablemanager/src/main/java/config/SCHero.java +++ b/tablemanager/src/main/java/config/SCHero.java @@ -60,7 +60,7 @@ public class SCHero implements BaseConfig{ private Map> consumeMaterialInfoOfPositionByStar; - private Map>> passiveSkillMap; + private Map>> passiveSkillMap; private static Map piecesMap; @@ -147,9 +147,9 @@ public class SCHero implements BaseConfig{ } scHero.setSkillListByStar(skillTmp); - Map>> passiveSkillMapTmp = new HashMap<>(); - passiveSkillMapTmp.put(1,new HashMap<>()); - passiveSkillMapTmp.put(2,new HashMap<>()); + Map>> 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>> getPassiveSkillMap() { - return passiveSkillMap; + + public List 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>> passiveSkillMap) { + public void setPassiveSkillMap(Map>> passiveSkillMap) { this.passiveSkillMap = passiveSkillMap; } }