diff --git a/serverlogic/src/main/java/com/ljsd/jieling/globals/BIReason.java b/serverlogic/src/main/java/com/ljsd/jieling/globals/BIReason.java index 6fa2d777d..aa1e327ac 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/globals/BIReason.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/globals/BIReason.java @@ -17,6 +17,7 @@ public interface BIReason { int TAKE_MISSION_REWARD = 11;// 领取任务奖励 int TAKE_ACTIVITY_REWARD = 12;// 领取活动奖励 + int TAKE_COPY_REWARD = 12;// 领取活动奖励 int TAKE_SECRET_REWARD = 13; //秘盒奖励 int TAKE_SECRET_EXTRA_REWARD = 14;//秘盒额外奖励 diff --git a/serverlogic/src/main/java/com/ljsd/jieling/handler/map/MapManager.java b/serverlogic/src/main/java/com/ljsd/jieling/handler/map/MapManager.java index 3f3a81d41..f1b7f3c5e 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/handler/map/MapManager.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/handler/map/MapManager.java @@ -43,7 +43,7 @@ public class MapManager extends MongoBase { private MapMission mapMissionProgres; - private MapMission copyMissionProgres; //副本累计 + private MapMission copyMissionProgres=new MapMission(); //副本累计 private Set takeCopyMisionRewards =new HashSet<>();//副本奖励 @@ -433,6 +433,11 @@ public class MapManager extends MongoBase { return fightCount; } + public void setTakeCopyMisionRewards(Set takeCopyMisionRewards) { + updateString("takeCopyMisionRewards" , takeCopyMisionRewards); + this.takeCopyMisionRewards = takeCopyMisionRewards; + } + public void setFightCount(int fightCount) { updateString("fightCount" , fightCount); this.fightCount = fightCount; diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/MissionLoigc.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/MissionLoigc.java index 0928276da..bda4e6721 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/MissionLoigc.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/MissionLoigc.java @@ -134,8 +134,22 @@ public class MissionLoigc { missionStateChangeInfos = gameMisionTypeListMap.get(GameMisionType.DAILYMISSION); } if(type == GameMisionType.COPYMISSION.getType()){ //副本 任务 - Map> gameMisionTypeListMap = userMissionManager.onGameEvent(user, GameEvent.COPY_MISSION_REWARD, missionId); - missionStateChangeInfos = gameMisionTypeListMap.get(GameMisionType.COPYMISSION); + Set takeCopyMisionRewards = user.getMapManager().getTakeCopyMisionRewards(); + if(takeCopyMisionRewards.contains(missionId)){ + return; + } + Map allMissionProgress = user.getMapManager().getCopyMissionProgres().getAllMissionProgress(); + int finsihProgress = SAccomplishmentConfig.getsAccomplishmentConfigByIdMap(missionId).getValues()[1][0]; + if(!allMissionProgress.containsKey(missionId) || allMissionProgress.get(missionId)