From e74314c6c7d80e00eb77d7aee4340068a9991e4b Mon Sep 17 00:00:00 2001 From: xuexinpeng Date: Tue, 25 May 2021 11:40:43 +0800 Subject: [PATCH] =?UTF-8?q?=E5=B1=B1=E6=B2=B3=E7=A4=BE=E7=A8=B7=E6=88=90?= =?UTF-8?q?=E5=B0=B1=E4=BB=BB=E5=8A=A1=20=20=E5=BF=83=E9=AD=94=E8=AF=95?= =?UTF-8?q?=E7=82=BC=E6=89=AB=E8=8D=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../StartHardStageRequestHandler.java | 4 ++ .../mapHandler/SweepBattleRequestHandler.java | 57 +++++++++++++++++++ .../jieling/logic/dao/CumulationData.java | 21 +++++++ .../ljsd/jieling/logic/mission/GameEvent.java | 3 + .../jieling/logic/mission/MissionLoigc.java | 6 ++ .../jieling/logic/mission/MissionType.java | 3 + .../mission/data/DataManagerDistributor.java | 6 ++ .../data/HardStageNodeDataManager.java | 16 ++++++ .../data/HardStageStarsDataManager.java | 16 ++++++ .../event/MissionEventDistributor.java | 12 ++++ 10 files changed, 144 insertions(+) create mode 100644 serverlogic/src/main/java/com/ljsd/jieling/handler/map/mapHandler/SweepBattleRequestHandler.java create mode 100644 serverlogic/src/main/java/com/ljsd/jieling/logic/mission/data/HardStageNodeDataManager.java create mode 100644 serverlogic/src/main/java/com/ljsd/jieling/logic/mission/data/HardStageStarsDataManager.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 9fa7962f8..bf9952ba8 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 @@ -21,6 +21,7 @@ import com.ljsd.jieling.logic.fight.FightUtil; import com.ljsd.jieling.logic.hardStage.HardStageChapter; import com.ljsd.jieling.logic.hardStage.HardStageLogic; import com.ljsd.jieling.logic.hardStage.HardStageNode; +import com.ljsd.jieling.logic.mission.GameEvent; import com.ljsd.jieling.network.session.ISession; import com.ljsd.jieling.util.FightDataUtil; import com.ljsd.jieling.util.MessageUtil; @@ -183,6 +184,9 @@ public class StartHardStageRequestHandler extends BaseHandler{ + @Override + public MessageTypeProto.MessageType getMessageCode() { + return MessageTypeProto.MessageType.SWEEP_DEMON_REQUEST; + } + + + @Override + public void processWithProto(ISession iSession, FightInfoProto.SweepDemonRequest proto) throws Exception { + User user = UserManager.getUser(iSession.getUid()); + + int id =proto.getId(); + SFloodConfig sFloodConfig = STableManager.getConfig(SFloodConfig.class).get(id); + if(sFloodConfig == null){ + return; + } + CommonProto.Drop.Builder drop = ItemUtil.drop(user, sFloodConfig.getReward(), BIReason.MONSTERATTACK_REWARD); + boolean freeCount = PlayerLogic.getInstance().check(user, 2025, 1); + if(!freeCount){ + boolean feeCount = PlayerLogic.getInstance().check(user, 2026, 1); + if(!feeCount){ + return; + }else { + user.getPlayerInfoManager().updateVipPrivilage(2026,1); + } + }else { + user.getPlayerInfoManager().updateVipPrivilage(2025,1); + } + FightInfoProto.SweepDemonResponse.Builder res = FightInfoProto.SweepDemonResponse.newBuilder(); + res.setDrop(drop); + MessageUtil.sendMessage(iSession, 1, MessageTypeProto.MessageType.SWEEP_DEMON_RESPONSE.getNumber(), res.build(), true); + + } + +} 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 c2f962904..e4eff7e1b 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 @@ -173,6 +173,11 @@ public class CumulationData { // 鸿蒙碑等级 public int hongmeng_tablet_level; + //山河社稷星星数 + public int hardstage_stars; + //山河社稷章节数 + public int hardstage_node; + public Result updateData(MissionType missionType, Object...parm) throws Exception { return DataManagerDistributor.updateData(this, missionType,parm); } @@ -399,4 +404,20 @@ public class CumulationData { public void setHongmeng_tablet_level(int hongmeng_tablet_level) { this.hongmeng_tablet_level = hongmeng_tablet_level; } + + public int getHardstage_stars() { + return hardstage_stars; + } + + public void setHardstage_stars(int hardstage_stars) { + this.hardstage_stars = hardstage_stars; + } + + public int getHardstage_node() { + return hardstage_node; + } + + public void setHardstage_node(int hardstage_node) { + this.hardstage_node = hardstage_node; + } } 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 4d878ad5f..ac7e6e3b4 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 @@ -111,4 +111,7 @@ public enum GameEvent { COW_FLY_SKY_REFRESH,//牛气冲天刷新 COW_FLY_SKY_REWEARD,//牛气冲天奖励 + + HARSTAGE_STARS,//山河社稷图星数 + HARSTAGE_NODE,//山河社稷图通关章节 } 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 d385e2260..eb59b9841 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 @@ -926,6 +926,12 @@ public class MissionLoigc { case EXPEDITION_FLOOR_TIMES: count = cumulationData.expedition_floor_times.get(missionSubType[0]); break; + case HARSTAGE_STARS: + count = cumulationData.hardstage_stars; + break; + case HARSTAGE_NODE: + count = cumulationData.hardstage_node; + break; //100以后类型继承 AbstractDataManager default: count = 0; 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 220a34548..587185c01 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 @@ -126,6 +126,9 @@ public enum MissionType { HONGMENG_RESONANCE_LATTICE(119),//鸿蒙阵共鸣格子 HONGMENG_TABLET_LEVEL(120),// 鸿蒙碑等级 + + HARSTAGE_STARS(121),//山河社稷图获得总星星数 + HARSTAGE_NODE(122),//山河社稷图通关章节 ; 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 d210db01f..11280f05b 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 @@ -145,6 +145,12 @@ public class DataManagerDistributor { // 鸿蒙阵 judges.put(MissionType.HONGMENG_RESONANCE_LATTICE, new HongMengResonanceDataManager()); judges.put(MissionType.HONGMENG_TABLET_LEVEL, new HongMengLevelDataManager()); + + //山河社稷图 + judges.put(MissionType.HARSTAGE_STARS, new HardStageStarsDataManager()); + judges.put(MissionType.HARSTAGE_NODE, new HardStageNodeDataManager()); + + } public static CumulationData.Result updateData(CumulationData data, MissionType missionType, Object...parm) throws Exception { diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/data/HardStageNodeDataManager.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/data/HardStageNodeDataManager.java new file mode 100644 index 000000000..6bed97fb3 --- /dev/null +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/data/HardStageNodeDataManager.java @@ -0,0 +1,16 @@ +package com.ljsd.jieling.logic.mission.data; + +import com.ljsd.jieling.logic.dao.CumulationData; +import com.ljsd.jieling.logic.mission.MissionType; + +/** + * 山河社稷章节数 + */ +public class HardStageNodeDataManager implements BaseDataManager { + @Override + public CumulationData.Result updateData(CumulationData data, MissionType missionType, Object... parm) { + int nums = (int)parm[0]; + data.setHardstage_node(nums); + return new CumulationData.Result(missionType); + } +} diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/data/HardStageStarsDataManager.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/data/HardStageStarsDataManager.java new file mode 100644 index 000000000..4494c2ec9 --- /dev/null +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/data/HardStageStarsDataManager.java @@ -0,0 +1,16 @@ +package com.ljsd.jieling.logic.mission.data; + +import com.ljsd.jieling.logic.dao.CumulationData; +import com.ljsd.jieling.logic.mission.MissionType; + +/** + * 山河社稷星数 + */ +public class HardStageStarsDataManager implements BaseDataManager { + @Override + public CumulationData.Result updateData(CumulationData data, MissionType missionType, Object... parm) { + int nums = (int)parm[0]; + data.setHardstage_stars(nums); + 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 1c6016810..879792840 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 @@ -428,6 +428,18 @@ public class MissionEventDistributor { eventEnumListMap.put(GameEvent.HONGMENG_TABLET_LEVEL, typeList); eventProcessor.put(GameEvent.HONGMENG_TABLET_LEVEL, new CumulationDataEventProcessor()); + //山河社稷图 + typeList = new ArrayList<>(); + typeList.add(MissionType.HARSTAGE_STARS); + eventEnumListMap.put(GameEvent.HARSTAGE_STARS, typeList); + eventProcessor.put(GameEvent.HARSTAGE_STARS, new CumulationDataEventProcessor()); + + typeList = new ArrayList<>(); + typeList.add(MissionType.HARSTAGE_NODE); + eventEnumListMap.put(GameEvent.HARSTAGE_NODE, typeList); + eventProcessor.put(GameEvent.HARSTAGE_NODE, new CumulationDataEventProcessor()); + + } public static final ThreadLocal>> threadMissionChangeList =