From 2ba3f2d76f80d421b830ae55e0b219a155bff1a6 Mon Sep 17 00:00:00 2001 From: lvxinran Date: Wed, 26 Aug 2020 05:43:23 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E5=9F=8B=E7=82=B9=E6=8A=A5=E9=94=99?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/ljsd/jieling/logic/activity/AbstractActivity.java | 2 +- .../src/main/java/com/ljsd/jieling/logic/hero/HeroLogic.java | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/AbstractActivity.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/AbstractActivity.java index 39030004e..06dcb14af 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/AbstractActivity.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/AbstractActivity.java @@ -164,7 +164,7 @@ public abstract class AbstractActivity implements IActivity, IEventHandler { } } // KtEventUtils.onKtEvent(user, ParamEventBean.UserActivityEvent, id, missionId); - ReportUtil.onReportEvent(user, ReportEventEnum.COMPLETE_ACTIVITY.getType(),String.valueOf(id),String.valueOf(missionId),reward); + ReportUtil.onReportEvent(user, ReportEventEnum.COMPLETE_ACTIVITY.getType(),String.valueOf(id),String.valueOf(missionId),reward[0]); PlayerInfoProto.TakeActivityRewardResponse build = PlayerInfoProto.TakeActivityRewardResponse.newBuilder().setDrop(drop).build(); MessageUtil.sendMessage(session, 1, rewardResponseValue, build, true); return true; 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 7e4fb8f98..b5f78f106 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 @@ -303,6 +303,9 @@ public class HeroLogic{ } List result = new ArrayList<>(resultRandom.length); for(int[] random:resultRandom){ + if(random==null){ + continue; + } SCHero scHero = SCHero.getsCHero().get(random[0]); if(scHero==null){ result.add(String.valueOf(random[0])); From e371b00b386a0e6fbd7e9ec98d956a953733dc84 Mon Sep 17 00:00:00 2001 From: lvxinran Date: Wed, 26 Aug 2020 05:58:13 +0800 Subject: [PATCH 2/3] =?UTF-8?q?=E6=8E=A8=E9=80=81=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/ljsd/jieling/logic/SituationLogic.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/SituationLogic.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/SituationLogic.java index b0a8e79dd..f5b795b21 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/SituationLogic.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/SituationLogic.java @@ -94,7 +94,7 @@ public class SituationLogic { } isOpen = true; } - if((isOpen&&status[config[0]-1]==1)||(!isOpen&&status[config[0]-1]==0)){ + if((isOpen&&status[config[0]-1]==0)||(!isOpen&&status[config[0]-1]==1)){ isIndication = true; } status[config[0]-1] = isOpen?1:0; From cf3704b456424364dbcd2eec48d97ec99192b813 Mon Sep 17 00:00:00 2001 From: lvxinran Date: Mon, 7 Sep 2020 14:45:25 +0800 Subject: [PATCH 3/3] =?UTF-8?q?=E7=A5=9E=E5=B0=86=E5=90=88=E6=88=90?= =?UTF-8?q?=E8=BF=9B=E9=98=B6=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ljsd/jieling/logic/hero/HeroLogic.java | 44 +++++++++++-------- 1 file changed, 26 insertions(+), 18 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 b5f78f106..e72577350 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 @@ -918,11 +918,14 @@ public class HeroLogic{ //删除hero // CommonProto.Drop.Builder baseBuilder = ItemLogic.getInstance().decomposeHero(session,new LinkedList<>(removeHeroIds),Collections.singleton(26),MessageTypeProto.MessageType.UP_HERO_STAR_RESPONSE_VALUE); - //改成归元获得 + //改成归元获得,同时返还法宝获得 CommonProto.Drop.Builder baseBuilder = heroBackDrop(user,new ArrayList<>(removeHeroIds),10000,BIReason.UPHERO_DECOMPOS_HERO_REWARD,true); + for(String rmHeroId:removeHeroIds){ + heroManager.removeHero(uid,rmHeroId); + } - // recyleHeroBySystem(user,removeHeroIds); +// recyleHeroBySystem(user,removeHeroIds); rankUpHeroExecute(targetHero); Poster.getPoster().dispatchEvent(new HeroUpStarEvent(user.getId(),targetHero.getTemplateId(),targetHero.getStar())); if(targetHero.getStar()>=5&&targetHero.getStar()!=15){ @@ -2422,6 +2425,7 @@ public class HeroLogic{ if(!b){ throw new ErrorCodeException(ErrorCode.HERO_ITEM_NOT); } + //单纯归元神将,不归元法宝 CommonProto.Drop.Builder drop = heroBackDrop(user, heroList, returnPercent, BIReason.HERO_BACK_REWARD,false); List itemList = drop.getItemlistList(); List itemId = new ArrayList<>(itemList.size()); @@ -2509,23 +2513,27 @@ public class HeroLogic{ continue; } //返还法宝修炼材料 - int especialEquipLevel = hero.getEspecialEquipLevel(); - if(especialEquipLevel!=1&&especialEquipLevel!=0){ - continue; - } - SCHero scHero = SCHero.getsCHero().get(hero.getTemplateId()); - int[] equipTalismana = scHero.getEquipTalismana(); - if(equipTalismana!=null&&equipTalismana.length>1){ - continue; - } - TreeMap levelMap = (TreeMap) SEquipTalismana.equipTalismanaStarMap.get(equipTalismana[1]); - Map returnMap = levelMap.subMap(1, hero.getEspecialEquipLevel()); - for(Map.Entry entry:returnMap.entrySet()){ - int[][] rankupBasicMaterial = entry.getValue().getRankupBasicMaterial(); - for(int[] rankUpConsume:rankupBasicMaterial){ - returnItemMap.put(rankUpConsume[0],returnItemMap.getOrDefault(rankUpConsume[0],0)+rankUpConsume[1]); - } + Map especialEquipReturnItem = ItemLogic.getInstance().heroEspecialEquipReturnItem(hero); + for(Map.Entry entry:especialEquipReturnItem.entrySet()){ + returnItemMap.put(entry.getKey(),returnItemMap.getOrDefault(entry.getKey(),0)+entry.getValue()); } +// int especialEquipLevel = hero.getEspecialEquipLevel(); +// if(especialEquipLevel==1||especialEquipLevel==0){ +// continue; +// } +// SCHero scHero = SCHero.getsCHero().get(hero.getTemplateId()); +// int[] equipTalismana = scHero.getEquipTalismana(); +// if(equipTalismana!=null&&equipTalismana.length>1){ +// continue; +// } +// TreeMap levelMap = (TreeMap) SEquipTalismana.equipTalismanaStarMap.get(equipTalismana[1]); +// Map returnMap = levelMap.subMap(1, hero.getEspecialEquipLevel()); +// for(Map.Entry entry:returnMap.entrySet()){ +// int[][] rankupBasicMaterial = entry.getValue().getRankupBasicMaterial(); +// for(int[] rankUpConsume:rankupBasicMaterial){ +// returnItemMap.put(rankUpConsume[0],returnItemMap.getOrDefault(rankUpConsume[0],0)+rankUpConsume[1]); +// } +// } } int[][] resultDrop = new int[returnItemMap.size()][]; int index = 0;