From 99f93fe2d631cf29c9b4bc1351728744aa2052a5 Mon Sep 17 00:00:00 2001 From: grimm <1769111741@qq.com> Date: Tue, 7 May 2024 12:09:56 +0800 Subject: [PATCH] =?UTF-8?q?=E5=B0=8F=E5=85=B5=E5=85=B3=E5=8D=A1=E4=BB=BB?= =?UTF-8?q?=E5=8A=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../jieling/logic/dao/CumulationData.java | 6 +---- .../jieling/logic/mission/MissionType.java | 1 + .../mission/data/DataManagerDistributor.java | 1 + .../mission/data/SoldierLayerManager.java | 23 +++++++++++++++++++ .../jieling/logic/soldier/SoldierLogic.java | 4 +++- 5 files changed, 29 insertions(+), 6 deletions(-) create mode 100644 serverlogic/src/main/java/com/ljsd/jieling/logic/mission/data/SoldierLayerManager.java 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 b21e41fdd..cb29617fa 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 @@ -22,7 +22,6 @@ public class CumulationData { * 获得某品质妖灵师 次数 获得需求品质妖灵师 3.4.5 * 获得某元素妖灵师 次数 获得需求元素妖灵师 碧水、狂风、大地、火焰、神圣、黑暗 * 获得某职业妖灵师 次数 获得需求元素妖灵师 武卫、玄策、秘法、天罚、生花 - * * key:heroTid, value :数量 */ // private Map sHeroCountMap=new HashMap<>(); // 妖灵师数量统计 @@ -36,10 +35,7 @@ public class CumulationData { */ private Map heroLevleCountMap = new HashMap<>(); - /** - * key:副本类型 value:战斗次数 - */ - // private Map storyFightCountMap=new HashMap<>(); // 不同副本挑战次数 + // private Map storyFightCountMap=new HashMap<>(); // 不同副本挑战次数 key:副本类型 value:战斗次数 /** * 获得某品质装备数量 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 62a4456d6..734f6941c 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 @@ -185,6 +185,7 @@ public enum MissionType { QIJIE_INSTANCE_ZONES_NUM(163),//进行num次七界试炼 XIAOYAOYOU_CONSUME_NUM(164),//逍遥游消耗云游值num点 FABAO_DRAW_NUM(165),//法宝抽卡次数 + SOLDIER_LAYER(166),//小兵层数 ; 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 2b2c649e8..f1f22fbc9 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 @@ -16,6 +16,7 @@ public class DataManagerDistributor { public static void init(){ judges.put(MissionType.RECRUITMENT_RANDOM_HEROES,new RandomHeroDataManager()); judges.put(MissionType.FABAO_DRAW_NUM,new FabaoDrawTaskManager()); + judges.put(MissionType.SOLDIER_LAYER,new SoldierLayerManager()); judges.put(MissionType.ELEMENT_RANDOM_TIMES,new RandomHeroDataManager()); judges.put(MissionType.COLLECT_QUALITY_HERO,new GetHeroManager()); judges.put(MissionType.COLLECT_DIFFERENT_HEROS,new GetHeroManager()); diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/data/SoldierLayerManager.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/data/SoldierLayerManager.java new file mode 100644 index 000000000..4d9047b24 --- /dev/null +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/data/SoldierLayerManager.java @@ -0,0 +1,23 @@ +package com.ljsd.jieling.logic.mission.data; + +import com.ljsd.jieling.logic.dao.CumulationData; +import com.ljsd.jieling.logic.dao.root.User; +import com.ljsd.jieling.logic.mission.MissionType; + +public class SoldierLayerManager extends AbstractDataManager { + + @Override + public boolean isFinish(User user, CumulationData data, int[][] cfgValue, Object... parm) { + return user.getMainLevelManager().getSoldierLayerId() >= cfgValue[1][0]; + } + + @Override + public int getProcess(User user, CumulationData data, int[] missionSubType) { + return user.getMainLevelManager().getSoldierLayerId(); + } + + @Override + public CumulationData.Result updateData(CumulationData data, MissionType missionType, Object... parm) { + return new CumulationData.Result(missionType); + } +} diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/soldier/SoldierLogic.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/soldier/SoldierLogic.java index 5d9a99c98..97c99420d 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/soldier/SoldierLogic.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/soldier/SoldierLogic.java @@ -6,13 +6,14 @@ import com.ljsd.jieling.exception.ErrorCodeException; import com.ljsd.jieling.exception.ErrorTableException; import com.ljsd.jieling.globals.BIReason; import com.ljsd.jieling.handler.map.MapLogic; -import com.ljsd.jieling.logic.activity.event.FightMainEvent; import com.ljsd.jieling.logic.activity.event.Poster; import com.ljsd.jieling.logic.activity.event.SaveHeroForceEvent; import com.ljsd.jieling.logic.activity.event.SoldierMainEvent; import com.ljsd.jieling.logic.dao.*; import com.ljsd.jieling.logic.dao.root.User; 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.logic.rank.RankContext; import com.ljsd.jieling.logic.rank.RankEnum; import com.ljsd.jieling.logic.rank.rankImpl.AbstractRank; @@ -323,6 +324,7 @@ public class SoldierLogic { AbstractRank rank = RankContext.getRankEnum(RankEnum.MAIN_LEVEL_RANK.getType()); rank.addRank(user.getId(), "", stageConfig.getId(), user.getPlayerInfoManager().getMaxForce()); Poster.getPoster().dispatchEvent(new SoldierMainEvent(user.getId())); + user.getUserMissionManager().onGameEvent(user, GameEvent.ONE_MISSION_TYPE_CONSUME, MissionType.SOLDIER_LAYER, 1); } MessageUtil.sendMessage(session, 1, MessageTypeProto.MessageType.SoldierFightCheckResponse_VALUE, builder.build(), true);