From 454ed8967974474d90325b306aef7258e1e21bc8 Mon Sep 17 00:00:00 2001 From: duhui Date: Mon, 19 Dec 2022 18:37:29 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BD=BF=E7=94=A8=E9=81=93=E5=85=B7=E7=B4=AF?= =?UTF-8?q?=E5=85=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ljsd/jieling/logic/item/ItemLogic.java | 19 +++++++++---------- .../java/com/ljsd/jieling/util/ItemUtil.java | 7 +------ 2 files changed, 10 insertions(+), 16 deletions(-) diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/item/ItemLogic.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/item/ItemLogic.java index 3ecb17882..4b71c2023 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/item/ItemLogic.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/item/ItemLogic.java @@ -181,17 +181,16 @@ public class ItemLogic { StringBuilder cost = new StringBuilder(); StringBuilder reward = new StringBuilder(); for (CommonProto.Item item : itemList) { - if (cost.length() == 0) { - cost = new StringBuilder(item.getItemId() + "#" + item.getItemNum()); - SItem sItem = SItem.getsItemMap().get(item.getItemId()); - reward = getStringBuilder(reward, (int)item.getItemNum(), sItem.getRewardGroup()); - } else { - cost.append("|").append(item.getItemId()).append("#").append(item.getItemNum()); - SItem sItem = SItem.getsItemMap().get(item.getItemId()); - reward = getStringBuilder(reward, (int)item.getItemNum(), sItem.getRewardGroup()); - } + // 消耗的道具 + cost.append(item.getItemId()).append("#").append(item.getItemNum()).append("|"); + // 获得的奖励 + SItem sItem = SItem.getsItemMap().get(item.getItemId()); + reward = getStringBuilder(reward, (int)item.getItemNum(), sItem.getRewardGroup()); + // 附加的rmb充值 + ItemUtil.rmbItemHandler(user,sItem); } - int[][] costItemArr = StringUtil.parseFiledInt2(cost.toString()); + + int[][] costItemArr = StringUtil.parseFiledInt2(cost.substring(0,cost.length()-1)); boolean result = ItemUtil.itemCost(user, costItemArr, BIReason.USER_ITEM, 0); if (!result) { throw new ErrorCodeException(ErrorCode.ITEM_NOT_ENOUGH); 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 a98ad1e9c..f667b6707 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/util/ItemUtil.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/util/ItemUtil.java @@ -1392,11 +1392,6 @@ public class ItemUtil { } int[][] extraReward = sItem.getExtraReward(); if(extraReward != null && extraReward.length>1){ - // bt,使用物品记录累充 - boolean itemHandler = rmbItemHandler(user,sItem); - if (itemHandler){ - return; - } int[] drops = extraReward[1]; if(user.getItemManager().getItem(drops[0]) == null){ int[][] extraDrops = {{drops[0], 1}}; @@ -1417,7 +1412,7 @@ public class ItemUtil { * @param user * @return */ - private static boolean rmbItemHandler(User user, SItem sItem) throws ErrorCodeException { + public static boolean rmbItemHandler(User user, SItem sItem) throws ErrorCodeException { if (!rmbItemSet.contains(sItem.getItemType())){ return false; }