diff --git a/serverlogic/src/main/java/com/ljsd/jieling/handler/map/missionProcessor/KillMonsterAccProcessor.java b/serverlogic/src/main/java/com/ljsd/jieling/handler/map/missionProcessor/KillMonsterAccProcessor.java index 4364ff018..8948fbfab 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/handler/map/missionProcessor/KillMonsterAccProcessor.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/handler/map/missionProcessor/KillMonsterAccProcessor.java @@ -10,6 +10,9 @@ import com.ljsd.jieling.logic.dao.root.User; public class KillMonsterAccProcessor implements BaseMissionProcesor{ @Override public int checkAndUpdateMissionProcessor(User user, SAccomplishmentConfig sAccomplishmentConfig, int eventId, int time, MapMissionType mapMissionType, int missionValue) { + if(missionValue==-1){ + return GlobalsDef.MAP_MISSION_RETURN; + } int[][] configValues = sAccomplishmentConfig.getValues(); MapManager mapManager = user.getMapManager(); SChallengeConfig sChallengeConfig = SChallengeConfig.sChallengeConfigs.get(mapManager.getCurMapId()); @@ -19,18 +22,17 @@ public class KillMonsterAccProcessor implements BaseMissionProcesor{ if(configValues[0].length<2){ return GlobalsDef.MAP_MISSION_RETURN; } - if(missionValue==configValues[1][0]){ - missionValue = -1; - } - if(missionValue==-1){ - return missionValue; - } + + for(int i = 1 ; i sGlobalActivityMap = SGlobalActivity.getsGlobalActivityMap(); for (Integer openActivityId : openActivityIds) { - if (!activityManager.initAllActivityMission(openActivityId)) { + if (activityManager.initAllActivityMission(openActivityId)) { + continue; + } + if(activityManager.getActivityMissionMap().containsKey(openActivityId)){ continue; } AbstractActivity abstractActivity = ActivityTypeEnum.getActicityType(openActivityId); diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/BlessActivity.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/BlessActivity.java index bb6cf7c16..946a101dd 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/BlessActivity.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/BlessActivity.java @@ -1,10 +1,18 @@ package com.ljsd.jieling.logic.activity; +import com.ljsd.jieling.config.SGlobalActivity; +import com.ljsd.jieling.logic.dao.root.User; + public class BlessActivity extends AbstractActivity { public BlessActivity(int id) { super(id); } + + @Override + public void initActivity(User user) throws Exception { + ActivityLogic.getInstance().initOtherActivity(user, SGlobalActivity.getsGlobalActivityMap().get(id)); + } } 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 098f1236e..987e745f4 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 @@ -284,7 +284,7 @@ public class MissionEventDistributor { progress= MissionLoigc.getDoingProgress(user,user.getUserMissionManager().getDailyCumulationData(),sDailyTasksConfig.getType(),sDailyTasksConfig.getValues()[0]); }else if(gameMisionType == GameMisionType.BEGINNERMISSION){ SBeginnerTask sBeginnerTask = SBeginnerTask.sBeginnerTaskCongigMap.get(missionStateChangeInfo.getMissionId()); - progress= MissionLoigc.getDoingProgress(user,user.getUserMissionManager().getDailyCumulationData(),sBeginnerTask.getTaskType(),sBeginnerTask.getTaskValue()[0]); + progress= MissionLoigc.getDoingProgress(user,user.getUserMissionManager().getBeginCumulationData(),sBeginnerTask.getTaskType(),sBeginnerTask.getTaskValue()[0]); } }else if(missionState == MissionState.FINISH || missionState == MissionState.REWARD){ if(gameMisionType == GameMisionType.VIPMISSION){