diff --git a/serverlogic/src/main/java/com/ljsd/jieling/config/clazzStaticCfg/WorldBossTreasureStaticConfig.java b/serverlogic/src/main/java/com/ljsd/jieling/config/clazzStaticCfg/WorldBossTreasureStaticConfig.java index 95efdaf32..01701a656 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/config/clazzStaticCfg/WorldBossTreasureStaticConfig.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/config/clazzStaticCfg/WorldBossTreasureStaticConfig.java @@ -19,18 +19,19 @@ public class WorldBossTreasureStaticConfig extends AbstractClassStaticConfig { @Override public void figureConfigs() { - /* Map config = STableManager.getConfig(SWorldBossTreasureConfig.class); + Map config = STableManager.getConfig(SWorldBossTreasureConfig.class); Map> idsByPeriodsTmp = new HashMap<>(); config.forEach((id,item)->{ int[] activityIds = item.getActivityId(); - Set ids = idsByPeriodsTmp.putIfAbsent(activityIds[0], new HashSet<>()); + idsByPeriodsTmp.putIfAbsent(activityIds[0], new HashSet<>()); + Set ids = idsByPeriodsTmp.get(activityIds[0]); for(int i=1;i finishMissionTimes = new HashMap<>();//完成迷宫寻宝%品质%次 public Map loginTimesDay = new HashMap<>();//每日登陆次数 public Map servenGiftTimes = new HashMap<>();//每日登陆次数 + public Map dailyChallengeMap = new HashMap<>();//每日挑战副本 diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/GameEvent.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/GameEvent.java index 6f507ae86..1036ab44f 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/GameEvent.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/GameEvent.java @@ -82,4 +82,5 @@ public enum GameEvent { EXPEDITION_TIMES,//完成猎妖之路节点 BUY_SEVEN_GIFT,//购买七日礼包 + DAILY_CHALLENGE,//日常副本挑战 } 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 dad8633be..97e1aa7f7 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 @@ -762,6 +762,13 @@ public class MissionLoigc { case SEVEN_GIFT_BUY: count = cumulationData.servenGiftTimes.get(missionSubType[0]); break; + case FINISIN_DAILY_CHALLENGE_TIMES: + if(missionSubType[0] == 0){ + count = (int)(cumulationData.dailyChallengeMap.values().stream().collect(Collectors.summarizingInt(x->x)).getSum()); + }else{ + count = cumulationData.dailyChallengeMap.get(missionSubType[0]); + } + break; default: count = 0; break; diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/MissionType.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/MissionType.java index ea6e14dc3..fc262affb 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/MissionType.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/MissionType.java @@ -91,6 +91,7 @@ public enum MissionType { LUCKY_WHEELS_TIMES(83),//幸运探宝%次 FINISH_EXPEDITION_HERO_TIMES(84),//完成猎妖之路次数达到 SEVEN_GIFT_BUY(86),//购买7日狂欢福利礼包%s次七日狂欢积分 + FINISIN_DAILY_CHALLENGE_TIMES(87),//完成%s类型(0为不限类型)的日常副本%s次 ; @@ -256,6 +257,8 @@ public enum MissionType { return FINISH_EXPEDITION_HERO_TIMES; case 86: return SEVEN_GIFT_BUY; + case 87: + return FINISIN_DAILY_CHALLENGE_TIMES; default: return null; } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/data/DataManagerDistributor.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/data/DataManagerDistributor.java index de7e8487d..76cadb1ea 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/data/DataManagerDistributor.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/data/DataManagerDistributor.java @@ -117,6 +117,7 @@ public class DataManagerDistributor { judges.put(MissionType.FINISH_EXPEDITION_HERO_TIMES,new ExpeditionManager()); judges.put(MissionType.LOGIN_TIMES,new LoginTimeManager()); judges.put(MissionType.SEVEN_GIFT_BUY,new SevenGiftManager()); + judges.put(MissionType.FINISIN_DAILY_CHALLENGE_TIMES,new FinishDailyChallengeManger()); diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/data/FinishDailyChallengeManger.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/data/FinishDailyChallengeManger.java new file mode 100644 index 000000000..fc1ae897c --- /dev/null +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/data/FinishDailyChallengeManger.java @@ -0,0 +1,13 @@ +package com.ljsd.jieling.logic.mission.data; + +import com.ljsd.jieling.logic.dao.CumulationData; +import com.ljsd.jieling.logic.mission.MissionType; + +public class FinishDailyChallengeManger implements BaseDataManager{ + @Override + public CumulationData.Result updateData(CumulationData data, MissionType missionType, Object... parm) { + int type = (int) parm[0]; + data.dailyChallengeMap.put(type,data.dailyChallengeMap.getOrDefault(type, 0)+1); + return new CumulationData.Result(missionType); + } +} 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 a87dffa0d..1b69b9bb0 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 @@ -334,6 +334,11 @@ public class MissionEventDistributor { typeList.add(MissionType.SEVEN_GIFT_BUY); eventEnumListMap.put(GameEvent.BUY_SEVEN_GIFT,typeList); eventProcessor.put(GameEvent.BUY_SEVEN_GIFT,new CumulationDataEventProcessor()); + + typeList = new ArrayList<>(); + typeList.add(MissionType.FINISIN_DAILY_CHALLENGE_TIMES); + eventEnumListMap.put(GameEvent.DAILY_CHALLENGE,typeList); + eventProcessor.put(GameEvent.DAILY_CHALLENGE,new CumulationDataEventProcessor()); } public static final ThreadLocal>> threadMissionChangeList =