From 1ee2a60fc064ca95549d7c509e6e5fdfb0dd95ba Mon Sep 17 00:00:00 2001 From: yuanshuai <243578945@qq.com> Date: Mon, 13 Dec 2021 18:41:46 +0800 Subject: [PATCH] =?UTF-8?q?=E5=91=BD=E7=9F=B3=E5=BF=AB=E9=80=9F=E5=90=88?= =?UTF-8?q?=E6=88=90=E8=84=9A=E6=9C=AC=E4=BF=AE=E6=94=B9=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../hero/LifeStoneUpRequestHandler.java | 34 ++++++++++++++----- 1 file changed, 25 insertions(+), 9 deletions(-) diff --git a/serverlogic/src/main/java/com/ljsd/jieling/handler/hero/LifeStoneUpRequestHandler.java b/serverlogic/src/main/java/com/ljsd/jieling/handler/hero/LifeStoneUpRequestHandler.java index bb84c07b7..f08aa7dab 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/handler/hero/LifeStoneUpRequestHandler.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/handler/hero/LifeStoneUpRequestHandler.java @@ -78,15 +78,23 @@ public class LifeStoneUpRequestHandler extends BaseHandler gemConfigMap = SGemConfig.gemConfigMapByType.get(gemConfig.getType()); - if (LifeStoneQuickUp(itemManager, gemConfigMap, costItemMap, gemConfig.getLevel())) { + boolean isBag=proto.getGridIndex()<=0; + if (LifeStoneQuickUp(itemManager, gemConfigMap, costItemMap, gemConfig.getLevel(),isBag)) { int[] curUpCost = gemConfig.getUpgradeCost(); - long allGoldCost = costItemMap.get(curUpCost[0]) + curUpCost[1]; + long allGoldCost = curUpCost[1]; + if (costItemMap.containsKey(curUpCost[0])){ + allGoldCost+=costItemMap.get(curUpCost[0]); + } costItemMap.put(curUpCost[0], allGoldCost); if (proto.getGridIndex() > 0) { equipLifeStoneId = gemConfig.getNextGem(); } else { addItemMap.put(gemConfig.getNextGem(), 1L); - costItemMap.put(proto.getCurGemId(), 1L); + if (costItemMap.containsKey(proto.getCurGemId())){ + long costNum=costItemMap.get(proto.getCurGemId())+1; + costItemMap.put(proto.getCurGemId(),costNum); + } + } } else { LOGGER.error("快速合成:命石合成材料不足"); @@ -220,7 +228,7 @@ public class LifeStoneUpRequestHandler extends BaseHandler gemConfigMap, Map costItemMap, int selectGemLv) { + private boolean LifeStoneQuickUp(ItemManager itemManager, TreeMap gemConfigMap, Map costItemMap, int selectGemLv,boolean isBag) { long addCount = 0;//一个循环合成数量 long costGoldNum = 0;//合成金币总消耗 for (Map.Entry gemConfigEntry : gemConfigMap.entrySet()) { @@ -229,12 +237,20 @@ public class LifeStoneUpRequestHandler extends BaseHandler0||curItem==null){ break; - }else{ - costItemMap.put(gemConfig.getId(),1L); - costItemMap.put(gemConfig.getUpgradeCost()[0], (long) gemConfig.getUpgradeCost()[1]); - addCount=1; - break; } + ///是否是在背包操作 + if (isBag){ + if (curItem.getItemNum() selectGemLv) {