diff --git a/serverlogic/src/main/java/com/ljsd/jieling/handler/workshop/WorkShopEquipCreateHandler.java b/serverlogic/src/main/java/com/ljsd/jieling/handler/workshop/WorkShopEquipCreateHandler.java index 66c063c58..c36a9da20 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/handler/workshop/WorkShopEquipCreateHandler.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/handler/workshop/WorkShopEquipCreateHandler.java @@ -23,7 +23,7 @@ public class WorkShopEquipCreateHandler extends BaseHandler { PlayerInfoProto.WorkShopEquipCreateRequest workShopEquipCreateRequest = PlayerInfoProto.WorkShopEquipCreateRequest.parseFrom(bytes); int equipTid = workShopEquipCreateRequest.getEquipTid(); List runneIdsList = workShopEquipCreateRequest.getRunneIdsList(); - WorkShopLogic.getInstance().createEquipByUser(iSession,equipTid,runneIdsList); + WorkShopLogic.getInstance().createEquipByUser(iSession,equipTid,runneIdsList,workShopEquipCreateRequest.getNums()); } } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/item/WorkShopLogic.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/item/WorkShopLogic.java index 516301871..5c6765f91 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/item/WorkShopLogic.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/item/WorkShopLogic.java @@ -253,7 +253,7 @@ public class WorkShopLogic { } //装备打造 TODO - public void createEquipByUser(ISession session,int equipTid, List runneIdsList) throws Exception { + public void createEquipByUser(ISession session,int equipTid, List runneIdsList,int nums) throws Exception { int uid=session.getUid(); User user = UserManager.getUser(uid); SWorkShopEquipmentConfig sWorkShopEquipmentConfig = SWorkShopEquipmentConfig.getsWorkShopEquipmentConfigMap().get(equipTid); @@ -276,15 +276,16 @@ public class WorkShopLogic { int[][] costs = new int[costLength][]; if(costMineral!=null && costMineral.length>0){ costs[--costLength] =costMineral; + costs[costLength][1] = costs[costLength][1]*nums; } if(runneIdsList.size() ==0){ runneIdsList =new ArrayList<>(specialRunes.length); } for(Integer runneId : runneIdsList){ - costs[--costLength] = new int[]{runneId, 1}; + costs[--costLength] = new int[]{runneId, nums}; } for(int specialRunneId[] : specialRunes){ - costs[--costLength] = new int[]{specialRunneId[0],specialRunneId[1]}; + costs[--costLength] = new int[]{specialRunneId[0],specialRunneId[1]*nums}; runneIdsList.add(specialRunneId[0]); } @@ -296,12 +297,14 @@ public class WorkShopLogic { CommonProto.Drop.Builder dropBuilder = CommonProto.Drop.newBuilder(); //熟练度提升 int type = sWorkShopEquipmentConfig.getType(); - int addExp = sWorkShopEquipmentConfig.getExp(); + int addExp = sWorkShopEquipmentConfig.getExp()*nums; if(type == GlobalsDef.WORK_SHOP_TYPE){ user.getWorkShopController().addWorkShopExp(user,addExp); - Equip equip = new Equip(Integer.toString(uid), equipTid, user.getWorkShopController().getWorkShopLevel(),runneIdsList); - user.getEquipManager().addEquip(user,equip); - dropBuilder.addEquipId(CBean2Proto.getEquipProto(equip)); + while (nums-->0){ + Equip equip = new Equip(Integer.toString(uid), equipTid, user.getWorkShopController().getWorkShopLevel(),runneIdsList); + user.getEquipManager().addEquip(user,equip); + dropBuilder.addEquipId(CBean2Proto.getEquipProto(equip)); + } }else if( type == GlobalsDef.COOK_SHOP_TYPE){ user.getWorkShopController().addCookExp(addExp); Map items = new HashMap<>();