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); } }