From 42917b30437e5c30dcee02bbf0fb96bb799703a8 Mon Sep 17 00:00:00 2001 From: zhangshanxue Date: Fri, 9 Oct 2020 17:24:53 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8D=87=E6=98=9F=E6=B3=95=E5=AE=9D=E6=8A=A5?= =?UTF-8?q?=E9=94=99=20=E5=92=8C=20=E6=B3=95=E5=AE=9D=E7=A9=BF=E6=88=B4bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/ljsd/jieling/logic/hero/HeroLogic.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) 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 c897beccc..50b4193d0 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 @@ -1939,9 +1939,13 @@ public class HeroLogic{ private void wearJewel(Hero hero,EquipManager equipManager,String equipId)throws Exception{ Jewel equip =(Jewel)equipManager.getEquipMap().get(equipId); + if( null == equip || null == hero ){ throw new ErrorCodeException(ErrorCode.HERO_EQUIP_ERR); } + if(null!=equip.getHeroId()&&!equip.getHeroId().equals("")){ + return; + } String remove = ""; for(String jewelId:hero.getJewelInfo()){ @@ -2553,7 +2557,8 @@ public class HeroLogic{ if(soulEquipByPositionMap!=null&&soulEquipByPositionMap.size()>0){ soulEquipByPositionMap.forEach((k,v)->returnItemMap.put(v,returnItemMap.getOrDefault(v,0)+1)); } - Set jewelInfo = hero.getJewelInfo(); + + Set jewelInfo = new HashSet<>(hero.getJewelInfo()); for(String equipId:jewelInfo){ if(!equipMap.containsKey(equipId)){ continue;