From e2554fc5835ca7f59bc0855be20d5f41f15c2ebe Mon Sep 17 00:00:00 2001 From: gaojie Date: Tue, 7 May 2019 16:32:59 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E8=8B=B1=E9=9B=84=E4=B8=8A=E9=99=90?= =?UTF-8?q?=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/ljsd/jieling/logic/hero/HeroLogic.java | 5 +++++ 1 file changed, 5 insertions(+) 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 f71303fa0..817daff27 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 @@ -895,11 +895,16 @@ public class HeroLogic { int msgId = MessageTypeProto.MessageType.HERO_COMPOSE_RESPONSE_VALUE; int uid = iSession.getUid(); User user = UserManager.getUser(uid); + int hasHeroNum = user.getHeroManager().getHeroMap().size(); int itemId = item.getItemId(); int itemNum = item.getItemNum(); SItem sItem = SItem.getsItemMap().get(itemId); int composeNum = itemNum/sItem.getUsePerCount(); SGameSetting gameSetting = SGameSetting.getGameSetting(); + if (hasHeroNum >= gameSetting.getHeroNumlimit()){ + MessageUtil.sendErrorResponse(iSession,0,msgId,"英雄已达上限"); + return; + } if (composeNum <= 0 || composeNum > gameSetting.getHeroCompoundLimit()){ MessageUtil.sendErrorResponse(iSession,0,msgId,""); return; From ef12ae1b2029eeff251cfadac0b1af05e7c34ed3 Mon Sep 17 00:00:00 2001 From: gaojie Date: Tue, 7 May 2019 16:47:02 +0800 Subject: [PATCH 2/2] fix --- .../main/java/com/ljsd/jieling/logic/hero/HeroLogic.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 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 f9a051fb3..e306f405f 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 @@ -932,14 +932,14 @@ public class HeroLogic { SItem sItem = SItem.getsItemMap().get(itemId); int composeNum = itemNum/sItem.getUsePerCount(); SGameSetting gameSetting = SGameSetting.getGameSetting(); - if (hasHeroNum >= gameSetting.getHeroNumlimit()){ - MessageUtil.sendErrorResponse(iSession,0,msgId,"英雄已达上限"); - return; - } if (composeNum <= 0 || composeNum > gameSetting.getHeroCompoundLimit()){ MessageUtil.sendErrorResponse(iSession,0,msgId,""); return; } + if (hasHeroNum + composeNum >= gameSetting.getHeroNumlimit()){ + MessageUtil.sendErrorResponse(iSession,0,msgId,"英雄已达上限"); + return; + } boolean result = ItemUtil.checkCost(user, sItem, itemNum); if (!result){ MessageUtil.sendErrorResponse(iSession,0,msgId,"");