diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/fight/CombatLogic.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/fight/CombatLogic.java index f55a7369d..c16666954 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/fight/CombatLogic.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/fight/CombatLogic.java @@ -748,8 +748,8 @@ public class CombatLogic { return ""; } - public Set passiveskillEffect(User user,Hero targetHero,int teamId){ - Set passiveskillEffect = new HashSet<>(); + public List passiveskillEffect(User user,Hero targetHero,int teamId){ + List passiveskillEffect = new ArrayList<>(); List heroSkillList = HeroLogic.getInstance().getHeroSkillList(user, targetHero); for (Integer skill : heroSkillList) { SPassiveSkillLogicConfig config = SPassiveSkillLogicConfig.getConfig(skill); 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 8347f4666..5ea0e815c 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 @@ -3416,7 +3416,7 @@ public class HeroLogic { private void applyPassiveSkillAttribute(Map heroAllAttribute, Hero hero, int teamId, User user) { // ...被动技能处理... - Set heroSkillList = CombatLogic.getInstance().passiveskillEffect(user, hero, teamId); + List heroSkillList = CombatLogic.getInstance().passiveskillEffect(user, hero, teamId); // LOGGER.info("战力技能============={}",heroSkillList); // 大闹天宫队伍特殊处理 diff --git a/tablemanager/src/main/java/config/SCHero.java b/tablemanager/src/main/java/config/SCHero.java index 58cb62901..55659b629 100644 --- a/tablemanager/src/main/java/config/SCHero.java +++ b/tablemanager/src/main/java/config/SCHero.java @@ -156,12 +156,11 @@ public class SCHero implements BaseConfig{ // 技能 Map> skillTmp = new HashMap<>(); - for(int i=0;i()); + if (!skillTmp.containsKey(star)) { + skillTmp.put(star, new ArrayList<>()); } skillTmp.get(star).add(skillId); } @@ -181,9 +180,7 @@ public class SCHero implements BaseConfig{ int starOrBreakId = openSkillRule[1]; int skillId = openSkillRule[2]; - passiveSkillMapTmp.get(type).computeIfAbsent(starOrBreakId,a->{ - return new ArrayList<>(passiveSkillMapTmp.get(type).getOrDefault(a-1,new ArrayList<>())); - }); + passiveSkillMapTmp.get(type).computeIfAbsent(starOrBreakId,a-> new ArrayList<>(passiveSkillMapTmp.get(type).getOrDefault(a-1,new ArrayList<>()))); passiveSkillMapTmp.get(type).get(starOrBreakId).add(skillId); } scHero.setPassiveSkillMap(passiveSkillMapTmp);