diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/event/MissionEventDistributor.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/event/MissionEventDistributor.java index cbea7e916..9da27907f 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/event/MissionEventDistributor.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/event/MissionEventDistributor.java @@ -357,6 +357,9 @@ public class MissionEventDistributor { MissionState missionState = missionStateChangeInfo.getMissionState(); int state = missionState.getState(); int progress = 0; + if(gameMisionType==GameMisionType.MISSINGROOMMISSION){ + continue; + } if(gameMisionType == GameMisionType.COPYMISSION || gameMisionType == GameMisionType.TREASUREMISSION || gameMisionType == GameMisionType.SEVENMISSION || gameMisionType == GameMisionType.BLOODYMISSION){ progress = missionStateChangeInfo.getProgress(); } 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 3f31b4bfc..5069f26d4 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,16 +63,20 @@ public class MissingRoomMissionType extends AbstractMissionType{ MissionStateChangeInfo stateChangeInfo = new MissionStateChangeInfo(missionId, MissionState.REWARD, reward(missionId)); missionTypeEnumListMap.add(stateChangeInfo); } else { + List reward = new ArrayList<>(); for (Integer id : getFinishMissionIds()) { if(missingTime.get(id)==-1){ continue; } if (missingTime.get(id)==0||missingTime.get(id) <= TimeUtils.now() / 1000) { missingTime.put(id,-1); - MissionStateChangeInfo stateChangeInfo = new MissionStateChangeInfo(id, MissionState.REWARD, reward(id)); - missionTypeEnumListMap.add(stateChangeInfo); + for(int[] re: reward(id)){ + reward.add(re); + } } } + MissionStateChangeInfo stateChangeInfo = new MissionStateChangeInfo(missionId, MissionState.REWARD,reward.toArray(new int[reward.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 142a88fcb..7055e1dba 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/util/ItemUtil.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/util/ItemUtil.java @@ -528,10 +528,10 @@ public class ItemUtil { continue; } if(sItem.getId()==Global.MISSING_ROOM_ITEM&&reason==BIReason.ADVENTURE_BASE_REWARD){ - itemNumlimit = SPlayerLevelConfig.getsPlayerLevelConfigMap().get(user.getPlayerInfoManager().getLevel()).getMazeTreasureMax()[1]; + itemNumlimit = SPlayerLevelConfig.getsPlayerLevelConfigMap().get(user.getPlayerInfoManager().getLevel()).getMazeTreasureMax(); } if (item.getItemNum() + entry.getValue() >= itemNumlimit){ - if(sItem.getId()!=Global.MISSING_ROOM_ITEM||reason!=BIReason.ADVENTURE_BASE_REWARD){ + if(sItem.getId()!=Global.MISSING_ROOM_ITEM||reason!=BIReason.ADVENTURE_BASE_REWARD||item.getItemNum()