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 219e81c94..8d6c47a44 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 @@ -1456,6 +1456,13 @@ public class HeroLogic { } for (HeroInfoProto.SoulEquipPos soulEquipPos : equipIds) { + if(hero.getSoulEquipByPositionMap().containsKey(soulEquipPos.getPosition())){ + String id = hero.getSoulEquipByPositionMap().get(soulEquipPos.getPosition()); + SoulEquip oldEquip = user.getEquipManager().getSoulEquipMap().get(id); + if(null!=oldEquip){ + oldEquip.setHeroId(""); + } + } hero.updateSoulEquipPositionMap(soulEquipPos.getPosition(),soulEquipPos.getEquipId()); } @@ -1500,7 +1507,7 @@ public class HeroLogic { if(null == soulEquip || StringUtil.isEmpty(soulEquip.getHeroId())){ //未装备 MessageUtil.sendErrorResponse(session,0,MessageTypeProto.MessageType.SOUL_EQUIP_UNLOAD_OPT_RESPONSE_VALUE,""); - return; + continue; } soulEquip.setHeroId(""); positions.add(soulEquipPos.getPosition());