diff --git a/serverlogic/src/main/java/com/ljsd/jieling/handler/hardStage/StartHardStageRequestHandler.java b/serverlogic/src/main/java/com/ljsd/jieling/handler/hardStage/StartHardStageRequestHandler.java index 519a7f9f5..483ca9a93 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/handler/hardStage/StartHardStageRequestHandler.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/handler/hardStage/StartHardStageRequestHandler.java @@ -186,17 +186,18 @@ public class StartHardStageRequestHandler extends BaseHandler0 ){ - user.getUserMissionManager().onGameEvent(user, GameEvent.HARSTAGE_NODE,bigStageNumber); + //大关卡通过成就+1 + if(nodeConfig.getStageType() == 1){ + //nodeConfig + int bigStageNumber = SHardStage.getBigStageNumberById(nodeConfig.getId()); + if( bigStageNumber>0 ){ + user.getUserMissionManager().onGameEvent(user, GameEvent.HARSTAGE_NODE,bigStageNumber); + } + } } } + //参与奖励 + user.getUserMissionManager().onGameEvent(user, GameEvent.HARSTAGE_PARTICIPATION_REWARD,1); //排行榜章节 int hardStageId = SHardStage.getStageIdByChapterAndSection(user.getHardStageManager().getCurChapter(), user.getHardStageManager().getCurNode()); Poster.getPoster().dispatchEvent(new ShanHeSheJiTuStarEvent(iSession.getUid(), 1, hardStageId)); diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/CumulationData.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/CumulationData.java index 0bac66017..0b0c13b9a 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/CumulationData.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/CumulationData.java @@ -193,6 +193,8 @@ public class CumulationData { public int hardstage_stars; //山河社稷章节数 public int hardstage_node; + //山河社稷参与奖励 + public int hardstage_participation; // 公会boss public int guild_boss_room; 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 39bdb0ff5..99ecc6251 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 @@ -135,5 +135,6 @@ public enum GameEvent { SUB_ACTIVITY,//易经宝库翻牌子 TAKE_ADVENTURE_REWARD_COUNT,//急速探索次数 DAILY_CHALLENGE_COUNT,//日常副本挑战次数 + HARSTAGE_PARTICIPATION_REWARD,//山河社稷图参与奖励 } 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 5386fed93..428946cd5 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 @@ -1005,6 +1005,9 @@ public class MissionLoigc { case HARSTAGE_NODE: count = cumulationData.hardstage_node; break; + case HARSTAGE_PARTICIPATION_REWARD: + count = cumulationData.hardstage_participation; + break; //100以后类型继承 AbstractDataManager case LIMIT_TIME_CHOICE_CARD: 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 775103a47..1a5c4588f 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 @@ -146,6 +146,8 @@ public enum MissionType { SUB_ACTIVITY(136),//易经宝库翻牌子 TAKE_ADVENTURE_REWARD_COUNT(137),//急速探索次数 DAILY_CHALLENGE_COUNT(138),//日常副本挑战次 + HARSTAGE_PARTICIPATION_REWARD(139),//山河社稷图参与奖励 + ; private int missionType; 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 875585fb5..2fc4a170e 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 @@ -157,6 +157,7 @@ public class DataManagerDistributor { //山河社稷图 judges.put(MissionType.HARSTAGE_STARS, new HardStageStarsDataManager()); judges.put(MissionType.HARSTAGE_NODE, new HardStageNodeDataManager()); + judges.put(MissionType.HARSTAGE_PARTICIPATION_REWARD, new HardStageParticipationManager()); // 公会副本/boss judges.put(MissionType.GUILD_BOSS_ROOM,new GuildBossRoomManager()); diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/data/HardStageParticipationManager.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/data/HardStageParticipationManager.java new file mode 100644 index 000000000..b3f470399 --- /dev/null +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/data/HardStageParticipationManager.java @@ -0,0 +1,18 @@ +package com.ljsd.jieling.logic.mission.data; + +import com.ljsd.jieling.logic.dao.CumulationData; +import com.ljsd.jieling.logic.mission.MissionType; +/** + * 山河社稷参与奖励 + */ +public class HardStageParticipationManager implements BaseDataManager { + @Override + public CumulationData.Result updateData(CumulationData data, MissionType missionType, Object... parm) { + int nums = (int)parm[0]; + if(data.hardstage_participation == 0){ + data.hardstage_participation += 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 3bff4a9fd..5b1e8eaff 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 @@ -499,6 +499,11 @@ public class MissionEventDistributor { eventEnumListMap.put(GameEvent.HARSTAGE_NODE, typeList); eventProcessor.put(GameEvent.HARSTAGE_NODE, new CumulationDataEventProcessor()); + typeList = new ArrayList<>(); + typeList.add(MissionType.HARSTAGE_PARTICIPATION_REWARD); + eventEnumListMap.put(GameEvent.HARSTAGE_PARTICIPATION_REWARD, typeList); + eventProcessor.put(GameEvent.HARSTAGE_PARTICIPATION_REWARD, new CumulationDataEventProcessor()); + //限时招募 typeList = new ArrayList<>();