From bca69953e7e1d2f2d202ee8a62d19b1979931760 Mon Sep 17 00:00:00 2001 From: lvxinran Date: Thu, 19 Dec 2019 06:16:01 +0800 Subject: [PATCH] =?UTF-8?q?=E7=89=A9=E5=93=81=E6=95=B0=E9=87=8F=E9=99=90?= =?UTF-8?q?=E5=88=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/ljsd/jieling/globals/Global.java | 1 + .../mission/main/MissingRoomMissionType.java | 8 ++------ .../java/com/ljsd/jieling/util/ItemUtil.java | 16 ++++++++++------ 3 files changed, 13 insertions(+), 12 deletions(-) diff --git a/serverlogic/src/main/java/com/ljsd/jieling/globals/Global.java b/serverlogic/src/main/java/com/ljsd/jieling/globals/Global.java index 246073b65..c50bb723c 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/globals/Global.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/globals/Global.java @@ -17,6 +17,7 @@ public interface Global { int EXP = 17;//经验 int TREASURE_SCORE = 68;//孙龙宝藏积分 + int MISSING_ROOM_ITEM = 79; int SEND_CARD_COUNT = 20; // 每页发送卡牌个数 int SEND_ITEM_COUNT = 200; // 每页发送道具个数 int SEND_EQUIP_COUNT = 20; // 每页发送装备个数 diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/main/MissingRoomMissionType.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/main/MissingRoomMissionType.java index 7bb897052..3f31b4bfc 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/main/MissingRoomMissionType.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/main/MissingRoomMissionType.java @@ -63,20 +63,16 @@ public class MissingRoomMissionType extends AbstractMissionType{ MissionStateChangeInfo stateChangeInfo = new MissionStateChangeInfo(missionId, MissionState.REWARD, reward(missionId)); missionTypeEnumListMap.add(stateChangeInfo); } else { - List rewardAll = new ArrayList<>(); for (Integer id : getFinishMissionIds()) { if(missingTime.get(id)==-1){ continue; } if (missingTime.get(id)==0||missingTime.get(id) <= TimeUtils.now() / 1000) { - for(int[] re:reward(id)){ - rewardAll.add(re); - } missingTime.put(id,-1); + MissionStateChangeInfo stateChangeInfo = new MissionStateChangeInfo(id, MissionState.REWARD, reward(id)); + missionTypeEnumListMap.add(stateChangeInfo); } } - MissionStateChangeInfo stateChangeInfo = new MissionStateChangeInfo(missionId, MissionState.REWARD, rewardAll.toArray(new int[rewardAll.size()][])); - missionTypeEnumListMap.add(stateChangeInfo); } } 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 61eb72c88..df0be764b 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/util/ItemUtil.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/util/ItemUtil.java @@ -509,6 +509,7 @@ public class ItemUtil { List sendToFront = new CopyOnWriteArrayList<>(); for (Map.Entry entry : itemMap.entrySet()) { SItem sItem = SItem.getsItemMap().get (entry.getKey()); + int itemNumlimit = sItem.getItemNumlimit(); if (sItem == null){ continue; } @@ -516,19 +517,22 @@ public class ItemUtil { if(itemNum <= 0){ continue; } - if (itemNum >= sItem.getItemNumlimit()){ - itemNum = sItem.getItemNumlimit(); + if (itemNum >= itemNumlimit){ + itemNum = itemNumlimit; } Item item = itemManager.getItem(entry.getKey()); if (item == null) { item = itemManager.newItem(entry.getKey(), itemNum); } else { - if(item.getItemNum()>= sItem.getItemNumlimit()){ + if(item.getItemNum()>= itemNumlimit){ continue; } - if (item.getItemNum() + entry.getValue() >= sItem.getItemNumlimit()){ - itemNum = sItem.getItemNumlimit() -item.getItemNum(); - item.setItemNum(sItem.getItemNumlimit()); + if(sItem.getId()==Global.MISSING_ROOM_ITEM&&reason==BIReason.ADVENTURE_BASE_REWARD){ + itemNumlimit = SPlayerLevelConfig.getsPlayerLevelConfigMap().get(user.getPlayerInfoManager().getLevel()).getMazeTreasureMax()[1]; + } + if (item.getItemNum() + entry.getValue() >= itemNumlimit){ + itemNum = itemNumlimit -item.getItemNum(); + item.setItemNum(itemNumlimit); }else{ item.setItemNum(item.getItemNum() + entry.getValue()); }