From bac38e2d337b789a3aac7260e51fdceb2265bab4 Mon Sep 17 00:00:00 2001 From: duhui Date: Fri, 8 Jul 2022 14:06:54 +0800 Subject: [PATCH] =?UTF-8?q?=E3=80=90=E4=BB=BB=E5=8A=A1=E7=B1=BB=E5=9E=8B?= =?UTF-8?q?=E8=A1=A5=E5=85=85=E3=80=916=E4=B8=AA=20159-164,=E8=A7=A6?= =?UTF-8?q?=E5=8F=91=E6=93=8D=E4=BD=9C=E6=9C=AA=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../jieling/logic/dao/CumulationData.java | 81 ++++++++- .../jieling/logic/mission/MissionType.java | 167 +----------------- .../ChallengeInstanceZonesNumManager.java | 32 ++++ .../mission/data/DataManagerDistributor.java | 7 + .../data/XiaoyaoyouConsumeNumManager.java | 32 ++++ .../logic/mission/data/XiuXingLvManager.java | 28 +++ .../data/XuanyuanInstanceZonesNumManager.java | 32 ++++ .../data/qijieInstanceZonesNumManager.java | 32 ++++ .../data/shijueInstanceZonesNumManager.java | 32 ++++ 9 files changed, 282 insertions(+), 161 deletions(-) create mode 100644 serverlogic/src/main/java/com/ljsd/jieling/logic/mission/data/ChallengeInstanceZonesNumManager.java create mode 100644 serverlogic/src/main/java/com/ljsd/jieling/logic/mission/data/XiaoyaoyouConsumeNumManager.java create mode 100644 serverlogic/src/main/java/com/ljsd/jieling/logic/mission/data/XiuXingLvManager.java create mode 100644 serverlogic/src/main/java/com/ljsd/jieling/logic/mission/data/XuanyuanInstanceZonesNumManager.java create mode 100644 serverlogic/src/main/java/com/ljsd/jieling/logic/mission/data/qijieInstanceZonesNumManager.java create mode 100644 serverlogic/src/main/java/com/ljsd/jieling/logic/mission/data/shijueInstanceZonesNumManager.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 91be71ca9..fa6977e27 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 @@ -237,7 +237,26 @@ public class CumulationData { * 激活quality品质的法宝聚灵技能num个 */ public Map activate_treasure_skill_num = new HashMap<>(); - + /** + * 进行num次挑战副本 + */ + private int challengeInstanceZonesNum; + /** + * 进行num次轩辕宝境 + */ + private int xuanyuanInstanceZonesNum; + /** + * 十绝挑战num次 + */ + private int shijueInstanceZonesNum; + /** + * 进行num次七界试炼 + */ + private int qijieInstanceZonesNum; + /** + * 逍遥有消耗云游值num点 + */ + private int xiaoyaoyouConsumeNum; //探索 /** @@ -663,4 +682,64 @@ public class CumulationData { public void setExploreKillerHistoryHigh_num(int exploreKillerHistoryHigh_num) { this.exploreKillerHistoryHigh_num = exploreKillerHistoryHigh_num; } + + public int getChallengeInstanceZonesNum() { + return challengeInstanceZonesNum; + } + + public void setChallengeInstanceZonesNum(int challengeInstanceZonesNum) { + this.challengeInstanceZonesNum = challengeInstanceZonesNum; + } + + public void addChallengeInstanceZonesNum(int num) { + this.challengeInstanceZonesNum += num; + } + + public int getXuanyuanInstanceZonesNum() { + return xuanyuanInstanceZonesNum; + } + + public void setXuanyuanInstanceZonesNum(int xuanyuanInstanceZonesNum) { + this.xuanyuanInstanceZonesNum = xuanyuanInstanceZonesNum; + } + + public void addXuanyuanInstanceZonesNum(int num) { + this.xuanyuanInstanceZonesNum += num; + } + + public int getShijueInstanceZonesNum() { + return shijueInstanceZonesNum; + } + + public void setShijueInstanceZonesNum(int num) { + this.shijueInstanceZonesNum = num; + } + + public void addShijueInstanceZonesNum(int num) { + this.shijueInstanceZonesNum += num; + } + + public int getQijieInstanceZonesNum() { + return qijieInstanceZonesNum; + } + + public void setQijieInstanceZonesNum(int num) { + this.qijieInstanceZonesNum = num; + } + + public void addQijieInstanceZonesNum(int num) { + this.qijieInstanceZonesNum += num; + } + + public int getXiaoyaoyouConsumeNum() { + return xiaoyaoyouConsumeNum; + } + + public void setXiaoyaoyouConsumeNum(int xiaoyaoyouConsumeNum) { + this.xiaoyaoyouConsumeNum = xiaoyaoyouConsumeNum; + } + + public void addXiaoyaoyouConsumeNum(int num) { + this.xiaoyaoyouConsumeNum += 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 6eebfd138..32701aef4 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 @@ -176,6 +176,13 @@ public enum MissionType { EXPLORE_PICKYM_NUM(157),//拾取云梦礼num次 EXPLORE_ENEMYHISTORYHIGH_NUM(158),//探索杀敌排行历史最高名次达到num + XIUXING_LEVEL(159),//修行境界达到num(num为xiuxian表ID) + CHALLENGE_INSTANCE_ZONES_NUM(160),//进行num次挑战副本 + XUANYUAN_INSTANCE_ZONES_NUM(161),//进行num次轩辕宝境 + SHIJUE_INSTANCE_ZONES_NUM(162),//十绝挑战num次 + QIJIE_INSTANCE_ZONES_NUM(163),//进行num次七界试炼 + XIAOYAOYOU_CONSUME_NUM(164),//逍遥游消耗云游值num点 + ; private int missionType; @@ -200,164 +207,4 @@ public enum MissionType { return map.get(missionTypeId); } - //fix 扩展麻烦 -// public static MissionType findByMissionId(int missionTypeId){ -// switch (missionTypeId){ -// case 1: -// return RECRUITMENT_RANDOM_HEROES; -// case 2: -// return COLLECT_QUALITY_HERO; -// case 3: -// return HERO_LEVLE_COUNT; -// case 4: -// return POKEMON_ADVANCED; -// case 5: -// return POKEMON_FORCE; -// case 6: -// return POKEMON_ALL_FORCE; -// case 7: -// return ARENA_CHALLENEGE_NUMS; -// case 8: -// return ARENA_SCORE; -// case 9: -// return USER_LEVEL; -// case 10: -// return USER_FORCE; -// case 11: -// return USER_CONSUMER_GEM; -// case 12: -// return USER_WORKSHOP_LEVEL; -// case 13: -// return USER_GET_EQUIP_QUALITY; -// case 14: -// return LEVEL_STORY_PASS; -// case 15: -// return GENERAL_STORY_PASS; -// case 16: -// return HERO_STORY_PASS; -// case 17: -// return KILL_INVASIONBOSS; -// case 18: -// return SECRETBOX_TIMES; -// case 19: -// return EQUIP_FORCE_NUMS; -// case 20: -// return BUY_GOLD_TIMES; -// case 21: -// return BUY_STAMINA_TIMES; -// case 22: -// return WORKSHOP_CREATE_EQUIP_NUMS; -// case 23: -// return GENERAL_STORY_TIMES; -// case 24: -// return HERO_STORY_TIMES; -// case 25: -// return LEVEL_STORY_TIMES; -// case 26: -// return HERO_LEVLE_TIMES; -// case 27: -// return TAKE_ADVENTUREREWARD_TIMES; -// case 28: -// return ARENA_FIGHTSUCCES_TIMES; -// case 29: -// return FINSIH_DAYILY_TIMES; -// case 30: -// return RING_FIREA_DVANCED; -// case 31: -// return COPY_STORY_LEVLE; -// case 32: -// return COPY_STORY_TIMES; -// case 33: -// return ELEMENT_RANDOM_TIMES; -// case 34: -// return HERO_STORY_PLAY_TIMES; -// case 35: -// return INVASIONBOSS_PLAY_TIMES; -// case 36: -// return FAST_ADVENTUREREWARD_TIMES; -// case 37: -// return ARENA_RANK; -// case 38: -// return SENVER_HAPPY; -// case 39: -// return HERO_BREAK_TIMES; -// case 40: -// return TAKE_CHAPTER_REWARD_TIMES; -// case 41: -// return HERO_UP_STAR_TIMES; -// case 42: -// return VIP_LEVEL; -// case 43: -// return TAKE_ONLINE_REWARD_TIMES; -// case 44: -// return TAKE_SENVEN_LOGIN_REWARD_TIMES; -// case 45: -// return TAKE_DAILY_BOX_TIMES; -// case 46: -// return HERO_WEAR_EQUIP_TIMES; -// case 47: -// return SYNTHESIS_HERO_STAR_TIMES; -// case 48: -// return USER_CONSUMER_STAMINA; -// case 49: -// return COLLECT_DIFFERENT_HEROS; -// case 50: -// return ONE_HERO_UP_STAR_TIMES; -// case 51: -// return HERO_IN_TEAM_NUMS; -// case 52: -// return BUY_GROCERY_TIMES; -// case 53: -// return FRIEND_NUMS; -// case 54: -// return GIVE_FRIEND_STAMIN_TIMES; -// case 55: -// return HERO_UP_SOME_STAR_TIMES; -// case 56: -// return JOIN_MONSTER_ATTACK_TIMES;//参与兽潮来袭的次数 -// case 57: -// return MONSTER_ATTACK_LEVEL;//兽潮来袭到达x层 -// case 58: -// return TO_BE_STRONGER; -// case 59: -// return BLOODY_KILL_NUMS; -// case 60: -// return ENDLESS_CONSUME_ACTION; -// case 61: -// return FAMILY_FIGHT_ATTACK; -// case 62: -// return ESPECIAL_EQUIP; -// case 65: -// return FIND_STAR; -// case 66: -// return TAKE_FRIEND_GIFT; -// case 69: -// return JOIN_FAMILY; -// case 71: -// return FRIEND_APPLY; -// case 72: -// return COMHERO_STORY_PASS; -// case 73: -// return LOGIN_TIMES; -// case 74: -// return REARGE_TOTAL; -// case 76: -// return FINISH_MISSING_ROOM; -// case 77: -// return REFRESH_MISSING_ROOM; -// case 78: -// return SPECIAL_EQUIP_LEVEL_UP; -// case 83: -// return LUCKY_WHEELS_TIMES; -// case 84: -// return FINISH_EXPEDITION_HERO_TIMES; -// case 86: -// return SEVEN_GIFT_BUY; -// case 87: -// return FINISIN_DAILY_CHALLENGE_TIMES; -// default: -// return null; -// } -// -// } } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/data/ChallengeInstanceZonesNumManager.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/data/ChallengeInstanceZonesNumManager.java new file mode 100644 index 000000000..199cea23a --- /dev/null +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/data/ChallengeInstanceZonesNumManager.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 + * 进行num次挑战副本 + */ +public class ChallengeInstanceZonesNumManager extends AbstractDataManager { + + @Override + public boolean isFinish(User user, CumulationData data, int[][] cfgValue, Object... parm) { + return data.getChallengeInstanceZonesNum() >= cfgValue[1][0]; + } + + @Override + public int getProcess(User user, CumulationData data, int[] missionSubType) { + return data.getChallengeInstanceZonesNum(); + } + + @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.addChallengeInstanceZonesNum(count); + } + return new CumulationData.Result(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 19545c74f..833d749bc 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 @@ -192,6 +192,13 @@ public class DataManagerDistributor { judges.put(MissionType.GET_TREASURE_SKILL_NUM,new TreasureSkillNumManager());//激活quality品质的法宝聚灵技能num个 judges.put(MissionType.HAVE_ID_STAR_LV_POKEMON_NUM,new IdStarLvPokemonNumManager());//拥有指定ID的star星级level等级的灵兽num个 + judges.put(MissionType.XIUXING_LEVEL,new XiuXingLvManager());//修行境界达到num(num为xiuxian表ID) + judges.put(MissionType.CHALLENGE_INSTANCE_ZONES_NUM,new ChallengeInstanceZonesNumManager());//进行num次挑战副本 + judges.put(MissionType.XUANYUAN_INSTANCE_ZONES_NUM,new XuanyuanInstanceZonesNumManager());//进行num次轩辕宝境 + judges.put(MissionType.SHIJUE_INSTANCE_ZONES_NUM,new shijueInstanceZonesNumManager());//十绝挑战num次 + judges.put(MissionType.QIJIE_INSTANCE_ZONES_NUM,new qijieInstanceZonesNumManager());//进行num次七界试炼 + judges.put(MissionType.XIAOYAOYOU_CONSUME_NUM,new XiaoyaoyouConsumeNumManager());// 逍遥有消耗云游值num点 + //探索 judges.put(MissionType.EXPLORE_FOOD_NUM,new ExploreFoodManager()); judges.put(MissionType.EXPLORE_ENEMY_NUM,new ExploreEnemyManager()); diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/data/XiaoyaoyouConsumeNumManager.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/data/XiaoyaoyouConsumeNumManager.java new file mode 100644 index 000000000..bb4f363c9 --- /dev/null +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/data/XiaoyaoyouConsumeNumManager.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 + * 逍遥有消耗云游值num点 + */ +public class XiaoyaoyouConsumeNumManager extends AbstractDataManager { + + @Override + public boolean isFinish(User user, CumulationData data, int[][] cfgValue, Object... parm) { + return data.getXiaoyaoyouConsumeNum() >= cfgValue[1][0]; + } + + @Override + public int getProcess(User user, CumulationData data, int[] missionSubType) { + return data.getXiaoyaoyouConsumeNum(); + } + + @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.addXiaoyaoyouConsumeNum(count); + } + return new CumulationData.Result(missionType); + } +} diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/data/XiuXingLvManager.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/data/XiuXingLvManager.java new file mode 100644 index 000000000..3fa6e4dca --- /dev/null +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/data/XiuXingLvManager.java @@ -0,0 +1,28 @@ +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 + * 修行境界达到num + */ +public class XiuXingLvManager extends AbstractDataManager { + + @Override + public boolean isFinish(User user, CumulationData data, int[][] cfgValue, Object... parm) { + int level = user.getHeroManager().getPracticeLevel(); + return level >= cfgValue[1][0]; + } + + @Override + public int getProcess(User user, CumulationData data, int[] missionSubType) { + return user.getHeroManager().getPracticeLevel(); + } + + @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/XuanyuanInstanceZonesNumManager.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/data/XuanyuanInstanceZonesNumManager.java new file mode 100644 index 000000000..bd0cebc7b --- /dev/null +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/data/XuanyuanInstanceZonesNumManager.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 + * 进行num次轩辕宝境 + */ +public class XuanyuanInstanceZonesNumManager extends AbstractDataManager { + + @Override + public boolean isFinish(User user, CumulationData data, int[][] cfgValue, Object... parm) { + return data.getXuanyuanInstanceZonesNum() >= cfgValue[1][0]; + } + + @Override + public int getProcess(User user, CumulationData data, int[] missionSubType) { + return data.getXuanyuanInstanceZonesNum(); + } + + @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.addXuanyuanInstanceZonesNum(count); + } + return new CumulationData.Result(missionType); + } +} diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/data/qijieInstanceZonesNumManager.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/data/qijieInstanceZonesNumManager.java new file mode 100644 index 000000000..0f39ab59e --- /dev/null +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/data/qijieInstanceZonesNumManager.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 + * 进行num次七界试炼 + */ +public class qijieInstanceZonesNumManager extends AbstractDataManager { + + @Override + public boolean isFinish(User user, CumulationData data, int[][] cfgValue, Object... parm) { + return data.getQijieInstanceZonesNum() >= cfgValue[1][0]; + } + + @Override + public int getProcess(User user, CumulationData data, int[] missionSubType) { + return data.getQijieInstanceZonesNum(); + } + + @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.addQijieInstanceZonesNum(count); + } + return new CumulationData.Result(missionType); + } +} diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/data/shijueInstanceZonesNumManager.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/data/shijueInstanceZonesNumManager.java new file mode 100644 index 000000000..749bcf296 --- /dev/null +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/data/shijueInstanceZonesNumManager.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 + * 十绝挑战num次 + */ +public class shijueInstanceZonesNumManager extends AbstractDataManager { + + @Override + public boolean isFinish(User user, CumulationData data, int[][] cfgValue, Object... parm) { + return data.getShijueInstanceZonesNum() >= cfgValue[1][0]; + } + + @Override + public int getProcess(User user, CumulationData data, int[] missionSubType) { + return data.getShijueInstanceZonesNum(); + } + + @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.addShijueInstanceZonesNum(count); + } + return new CumulationData.Result(missionType); + } +}