diff --git a/serverlogic/src/main/java/com/ljsd/jieling/handler/hero/UpPracticeLevelHandler.java b/serverlogic/src/main/java/com/ljsd/jieling/handler/hero/UpPracticeLevelHandler.java index 3cd1c97af..05107af8c 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/handler/hero/UpPracticeLevelHandler.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/handler/hero/UpPracticeLevelHandler.java @@ -12,6 +12,8 @@ import com.ljsd.jieling.logic.dao.UserManager; import com.ljsd.jieling.logic.dao.root.User; import com.ljsd.jieling.logic.hardStage.HardStageLogic; import com.ljsd.jieling.logic.hero.HeroLogic; +import com.ljsd.jieling.logic.mission.GameEvent; +import com.ljsd.jieling.logic.mission.MissionType; import com.ljsd.jieling.network.session.ISession; import com.ljsd.jieling.util.ItemUtil; import com.ljsd.jieling.util.MessageUtil; @@ -95,6 +97,8 @@ public class UpPracticeLevelHandler extends BaseHandler(); typeList.add(MissionType.VIP_LEVEL); + typeList.add(MissionType.VIP_LEVEL); eventEnumListMap.put(GameEvent.VIP_LEVLUP,typeList); eventProcessor.put(GameEvent.VIP_LEVLUP,new VipLevelUpEventProcessor()); @@ -585,13 +586,31 @@ public class MissionEventDistributor { eventEnumListMap.put(GameEvent.DAILY_CHALLENGE_COUNT, typeList); eventProcessor.put(GameEvent.DAILY_CHALLENGE_COUNT, new CumulationDataEventProcessor()); + //修行境界达到num(num为xiuxian表ID) + typeList = new ArrayList<>(); + typeList.add(MissionType.XIUXING_LEVEL); + eventEnumListMap.put(GameEvent.XIUXING_UP, typeList); + eventProcessor.put(GameEvent.XIUXING_UP, new DefaultMissionUpdateProcessor()); + + // 逍遥有消耗云游值num点 + typeList = new ArrayList<>(); + typeList.add(MissionType.XIAOYAOYOU_CONSUME_NUM); + eventEnumListMap.put(GameEvent.XIAOYAOYOU_CONSUME, typeList); + eventProcessor.put(GameEvent.XIAOYAOYOU_CONSUME, new DefaultMissionUpdateProcessor()); + + // 副本挑战,包含(挑战副本,轩辕宝镜,十绝阵,七界试炼)等 + typeList = new ArrayList<>(); + typeList.add(MissionType.CHALLENGE_INSTANCE_ZONES_NUM); + typeList.add(MissionType.XUANYUAN_INSTANCE_ZONES_NUM); + typeList.add(MissionType.SHIJUE_INSTANCE_ZONES_NUM); + typeList.add(MissionType.QIJIE_INSTANCE_ZONES_NUM); + eventEnumListMap.put(GameEvent.INSTANCE_ZONES_CHALLENGE, typeList); + eventProcessor.put(GameEvent.INSTANCE_ZONES_CHALLENGE, new DefaultMissionUpdateProcessor()); } - public static final ThreadLocal>> threadMissionChangeList = - new ThreadLocal<>(); - private static final ThreadLocal threadUseFlag = - new ThreadLocal(); + public static final ThreadLocal>> threadMissionChangeList = new ThreadLocal<>(); + private static final ThreadLocal threadUseFlag = new ThreadLocal(); public static List getMissionStateChangeInfo(GameMisionType gameMisionType){ Map> missionTypeEnumListMap = threadMissionChangeList.get(); diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/sevenworld/SevenWorldLogic.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/sevenworld/SevenWorldLogic.java index 68c058867..9f9597d16 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/sevenworld/SevenWorldLogic.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/sevenworld/SevenWorldLogic.java @@ -22,6 +22,8 @@ import com.ljsd.jieling.logic.fight.PVEFightEvent; import com.ljsd.jieling.logic.fight.result.FightResult; import com.ljsd.jieling.logic.item.ItemLogic; import com.ljsd.jieling.logic.mail.MailLogic; +import com.ljsd.jieling.logic.mission.GameEvent; +import com.ljsd.jieling.logic.mission.MissionType; import com.ljsd.jieling.logic.player.PlayerLogic; import com.ljsd.jieling.logic.rank.RankContext; import com.ljsd.jieling.logic.rank.RankEnum; @@ -270,6 +272,10 @@ public class SevenWorldLogic { // 战斗数据 builder.setResult(fightResult.getResult()); builder.setFightData(fightResult.getFightData()); + + // 副本挑战任务 + user.getUserMissionManager().onGameEvent(user, GameEvent.INSTANCE_ZONES_CHALLENGE, MissionType.QIJIE_INSTANCE_ZONES_NUM, 1); + return builder.build(); }