From 5a856fd5c8779b795ea35f8f0e2507d27c8389b1 Mon Sep 17 00:00:00 2001 From: gaojie Date: Wed, 8 May 2019 16:30:12 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8E=89=E8=90=BD=E8=B5=B0=E9=82=AE=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ljsd/jieling/logic/hero/HeroLogic.java | 2 +- .../java/com/ljsd/jieling/util/ItemUtil.java | 57 +++++++++++++++++++ 2 files changed, 58 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 e306f405f..53cac9722 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 @@ -936,7 +936,7 @@ public class HeroLogic { MessageUtil.sendErrorResponse(iSession,0,msgId,""); return; } - if (hasHeroNum + composeNum >= gameSetting.getHeroNumlimit()){ + if (hasHeroNum + composeNum > gameSetting.getHeroNumlimit()){ MessageUtil.sendErrorResponse(iSession,0,msgId,"英雄已达上限"); return; } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/util/ItemUtil.java b/serverlogic/src/main/java/com/ljsd/jieling/util/ItemUtil.java index cd53fb9a6..971a3c6a1 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/util/ItemUtil.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/util/ItemUtil.java @@ -98,6 +98,63 @@ public class ItemUtil { return dropBuilder; } + /** + * 掉落走邮件 + * @param user + * @param dropGroupIds + * @param dropRatio + * @param isMapping + * @return + * @throws Exception + */ + public static String getMailReward (int[] dropGroupIds,float dropRatio) throws Exception { + Map itemMap = new HashMap<>(); + Map cardMap = new HashMap<>(); + Map equipMap = new HashMap<>(); + Map randomMap = new HashMap<>(); + for (int dropGroupId :dropGroupIds){ + SRewardGroup sRewardGroup = SRewardGroup.getsRewardItemMap().get(dropGroupId); + if (sRewardGroup == null){ + continue; + } + selectDrop(sRewardGroup,itemMap,cardMap,equipMap,randomMap,dropRatio); + } + return getReward(itemMap,cardMap,equipMap,randomMap); + } + + private static String getReward(Map itemMap,Map cardMap,Map equipMap, Map randomMap) { + StringBuilder reward= new StringBuilder(); + for (Map.Entry entry : itemMap.entrySet()){ + if (reward.length() == 0){ + reward = new StringBuilder(entry.getKey() + "#" + entry.getValue()); + }else{ + reward.append("|").append(entry.getKey()).append("#").append(entry.getValue()); + } + } + for (Map.Entry entry : cardMap.entrySet()){ + if (reward.length() == 0){ + reward = new StringBuilder(entry.getKey() + "#" + entry.getValue()); + }else{ + reward.append("|").append(entry.getKey()).append("#").append(entry.getValue()); + } + } + for (Map.Entry entry : equipMap.entrySet()){ + if (reward.length() == 0){ + reward = new StringBuilder(entry.getKey() + "#" + entry.getValue()); + }else{ + reward.append("|").append(entry.getKey()).append("#").append(entry.getValue()); + } + } + for (Map.Entry entry : randomMap.entrySet()){ + if (reward.length() == 0){ + reward = new StringBuilder(entry.getKey() + "#" + entry.getValue()); + }else{ + reward.append("|").append(entry.getKey()).append("#").append(entry.getValue()); + } + } + return reward.toString(); + } + private static void selectItemArr(int[][] itemArr, Map cardMap, Map itemMap,Map equipMap,Map randomMap) { for (int[] items : itemArr){