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 3b7d7d6c6..91be71ca9 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 @@ -261,12 +261,31 @@ public class CumulationData { * 拾取云梦礼num次 */ public int explorePickYm_num; + /** * 探索杀敌排行历史最高名次达到num */ public int exploreKillerHistoryHigh_num; + /** + * 洞府建筑升级次数 + */ + private int homeArchitectureUpNum; + /** + * 探索次数 + */ + private int exploreNum; + + /** + * 罗浮争锋次数 + */ + private int luofuFightNum; + + /** + * 玉虚论道段位 + */ + private int yuxuLv; public Result updateData(MissionType missionType, Object...parm) throws Exception { return DataManagerDistributor.updateData(this, missionType,parm); @@ -565,6 +584,37 @@ public class CumulationData { this.activate_treasure_skill_num = activate_treasure_skill_num; } + public int getHomeArchitectureUpNum() { + return homeArchitectureUpNum; + } + + public void addHomeArchitectureUpNum(int count) { + this.homeArchitectureUpNum+=count; + } + + public int getExploreNum() { + return exploreNum; + } + + public void addExploreNum(int count) { + this.exploreNum += count; + } + + public int getLuofuFightNum() { + return luofuFightNum; + } + + public void addLuofuFightNum(int count) { + this.luofuFightNum += count; + } + + public int getYuxuLv() { + return yuxuLv; + } + + public void setYuxuLv(int yuxuLv) { + this.yuxuLv = yuxuLv; + } public int getExploreFood_num() { return exploreFood_num; 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 c573894e2..6eebfd138 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 @@ -152,6 +152,12 @@ public enum MissionType { HARSTAGE_PARTICIPATION_REWARD(139),//山河社稷图参与奖励 NEW_HERO_ZHAOMU(140),//新将招募次数 + HOME_ARCHITECTURE_UP_NUM(141), //升级洞府建筑%s次 + EXPLORE_NUM(142), //进行%s次探索 + LUOFU_FIGHT_NUM(143), //进行%s次罗浮争锋 + QIJIE_TIER(144), //七界试炼**界打到第N层 + YUXU_LV(145), //玉虚论道达到**段位 + FANGCUNXUNBAO_NUM(146),//方寸寻宝次数 TIANDIHONGLU_NUM(147),//天地烘炉次数 GET_TRANSFIGURATION_CARD_NUM(148),//获取quality品质的变身卡num张 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 7a8a7a5ba..19545c74f 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 @@ -176,6 +176,12 @@ public class DataManagerDistributor { judges.put(MissionType.DAILY_CHALLENGE_COUNT,new DailyChallengeManager());//副本挑战次数 judges.put(MissionType.NEW_HERO_ZHAOMU,new NewHeroZhaomuManager());//新将招募次数 + judges.put(MissionType.HOME_ARCHITECTURE_UP_NUM,new HomeArchitectureUpNumManager());//升级洞府建筑%s次 + judges.put(MissionType.EXPLORE_NUM,new ExploreNumManager());//进行%s次探索 + judges.put(MissionType.LUOFU_FIGHT_NUM,new LuofuFightNumManager());//进行%s次罗浮争锋 + judges.put(MissionType.QIJIE_TIER,new QijieTierManager());//七界试炼**界打到第N层 + judges.put(MissionType.YUXU_LV,new YuxuLvManager());//玉虚论道达到**段位 + // 家园任务 judges.put(MissionType.HOME_ARCHITECTURE_ONE_LV,new DefaultDataManager());//单个建筑等级 judges.put(MissionType.HOME_ARCHITECTURE_TOTAL_LV,new DefaultDataManager());//总建筑等级 @@ -193,10 +199,6 @@ public class DataManagerDistributor { judges.put(MissionType.EXPLORE_REPELXINMO_NUM,new ExploreRepelXinmoManager()); judges.put(MissionType.EXPLORE_PICKYM_NUM,new ExplorePickYmManager()); judges.put(MissionType.EXPLORE_ENEMYHISTORYHIGH_NUM,new ExploreEnemyHistoryHighManager()); - - - - } 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/ExploreNumManager.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/data/ExploreNumManager.java new file mode 100644 index 000000000..55fca46a3 --- /dev/null +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/data/ExploreNumManager.java @@ -0,0 +1,32 @@ +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; + +/** + * @author hj + * 进行%s次探索 + */ +public class ExploreNumManager extends AbstractDataManager { + + @Override + public boolean isFinish(User user, CumulationData data, int[][] cfgValue, Object... parm) { + return data.getExploreNum() >= cfgValue[1][0]; + } + + @Override + public int getProcess(User user, CumulationData data, int[] missionSubType) { + return data.getExploreNum(); + } + + @Override + public CumulationData.Result updateData(CumulationData data, MissionType missionType, Object... parm) { + MissionType type = (MissionType) parm[0]; + if (type.getMissionTypeValue() == missionType.getMissionTypeValue()){ + int count = (int) parm[1]; + data.addExploreNum(count); + } + return new CumulationData.Result(missionType); + } +} diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/data/HomeArchitectureUpNumManager.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/data/HomeArchitectureUpNumManager.java new file mode 100644 index 000000000..5c4e29459 --- /dev/null +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/data/HomeArchitectureUpNumManager.java @@ -0,0 +1,32 @@ +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; + +/** + * @author hj + * 升级洞府建筑%s次 + */ +public class HomeArchitectureUpNumManager extends AbstractDataManager { + + @Override + public boolean isFinish(User user, CumulationData data, int[][] cfgValue, Object... parm) { + return data.getHomeArchitectureUpNum() >= cfgValue[1][0]; + } + + @Override + public int getProcess(User user, CumulationData data, int[] missionSubType) { + return data.getHomeArchitectureUpNum(); + } + + @Override + public CumulationData.Result updateData(CumulationData data, MissionType missionType, Object... parm) { + MissionType type = (MissionType) parm[0]; + if (type.getMissionTypeValue() == missionType.getMissionTypeValue()){ + int count = (int) parm[1]; + data.addHomeArchitectureUpNum(count); + } + return new CumulationData.Result(missionType); + } +} diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/data/LuofuFightNumManager.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/data/LuofuFightNumManager.java new file mode 100644 index 000000000..5d882bc0f --- /dev/null +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/data/LuofuFightNumManager.java @@ -0,0 +1,32 @@ +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; + +/** + * @author hj + * 进行%s次罗浮争锋 + */ +public class LuofuFightNumManager extends AbstractDataManager { + + @Override + public boolean isFinish(User user, CumulationData data, int[][] cfgValue, Object... parm) { + return data.getLuofuFightNum() >= cfgValue[1][0]; + } + + @Override + public int getProcess(User user, CumulationData data, int[] missionSubType) { + return data.getLuofuFightNum(); + } + + @Override + public CumulationData.Result updateData(CumulationData data, MissionType missionType, Object... parm) { + MissionType type = (MissionType) parm[0]; + if (type.getMissionTypeValue() == missionType.getMissionTypeValue()){ + int count = (int) parm[1]; + data.addLuofuFightNum(count); + } + return new CumulationData.Result(missionType); + } +} diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/data/QijieTierManager.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/data/QijieTierManager.java new file mode 100644 index 000000000..28c15ccb4 --- /dev/null +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/data/QijieTierManager.java @@ -0,0 +1,30 @@ +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; + +import java.util.Map; + +/** + * @author hj + * 七界试炼**界打到第N层 + */ +public class QijieTierManager extends AbstractDataManager { + + @Override + public boolean isFinish(User user, CumulationData data, int[][] cfgValue, Object... parm) { + return getProcess(user,data,cfgValue[0]) >= cfgValue[1][0]; + } + + @Override + public int getProcess(User user, CumulationData data, int[] missionSubType) { + Map sevenWorldOpenTier = user.getPlayerInfoManager().getSevenWorldOpenTier(); + return sevenWorldOpenTier.get(missionSubType[0]); + } + + @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/mission/data/YuxuLvManager.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/data/YuxuLvManager.java new file mode 100644 index 000000000..b0c6ca283 --- /dev/null +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/data/YuxuLvManager.java @@ -0,0 +1,36 @@ +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; +import config.SMServerRankConfig; + +/** + * @author hj + * 玉虚论道达到**段位 + */ +public class YuxuLvManager extends AbstractDataManager { + + @Override + public boolean isFinish(User user, CumulationData data, int[][] cfgValue, Object... parm) { + return data.getYuxuLv() >= cfgValue[1][0]; + } + + @Override + public int getProcess(User user, CumulationData data, int[] missionSubType) { + return data.getYuxuLv(); + } + + @Override + public CumulationData.Result updateData(CumulationData data, MissionType missionType, Object... parm) { + MissionType type = (MissionType) parm[0]; + if (type.getMissionTypeValue() == missionType.getMissionTypeValue()){ + int lvId = (int) parm[1]; + SMServerRankConfig config = SMServerRankConfig.serverRankConfig.get(lvId); + if (config != null){ + data.setYuxuLv(config.getRankGrade()); + } + } + return new CumulationData.Result(missionType); + } +}