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 eda241655..92126299e 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 @@ -4072,9 +4072,14 @@ public class HeroLogic { Map hunying = null; if (!soulEquipByPositionMap.isEmpty()) { hunying = new HashMap<>(soulEquipByPositionMap.size()); - } - for (Integer value : soulEquipByPositionMap.values()) { - hunying.put(value, 1); + Set unload = new HashSet<>(soulEquipByPositionMap.size()); + for (Map.Entry entry : soulEquipByPositionMap.entrySet()) { + hunying.put(entry.getValue(), 1); + unload.add(entry.getKey()); + } + for (Integer integer : unload) { + hero.removeSoulEquip(integer); + } } for (int[] ints : returnPercent) { for (int i = 1; i < ints.length; i++) {