From 207c4422a7176df5471e574c9dc563b9d0581146 Mon Sep 17 00:00:00 2001 From: xuexinpeng Date: Sat, 24 Jul 2021 17:16:11 +0800 Subject: [PATCH] =?UTF-8?q?=E5=B1=B1=E6=B2=B3=E7=A4=BE=E7=A8=B7=E5=9B=BE?= =?UTF-8?q?=E5=8F=82=E4=B8=8E=E5=A5=96=E5=8A=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../StartHardStageRequestHandler.java | 19 ++++++++++--------- .../jieling/logic/dao/CumulationData.java | 2 ++ .../ljsd/jieling/logic/mission/GameEvent.java | 1 + .../jieling/logic/mission/MissionLoigc.java | 3 +++ .../jieling/logic/mission/MissionType.java | 2 ++ .../mission/data/DataManagerDistributor.java | 1 + .../data/HardStageParticipationManager.java | 18 ++++++++++++++++++ .../event/MissionEventDistributor.java | 5 +++++ 8 files changed, 42 insertions(+), 9 deletions(-) create mode 100644 serverlogic/src/main/java/com/ljsd/jieling/logic/mission/data/HardStageParticipationManager.java 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<>();