From b651a983b70b770d0ede9286bc1090f2359acd36 Mon Sep 17 00:00:00 2001 From: xuexinpeng Date: Thu, 29 Jul 2021 15:57:31 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=BB=E9=A2=98=E6=B4=BB=E5=8A=A8=E5=A2=9E?= =?UTF-8?q?=E5=8A=A0=E6=B4=BB=E5=8A=A8=E7=9A=84=E6=AF=8F=E6=97=A5=E4=BB=BB?= =?UTF-8?q?=E5=8A=A1=E5=92=8C=E5=91=A8=E4=BB=BB=E5=8A=A1=20=20=E6=96=B0?= =?UTF-8?q?=E5=A2=9E7=E4=B8=AA=E4=BB=BB=E5=8A=A1=E7=B1=BB=E5=9E=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...CommitShejiActivityItemRequestHandler.java | 3 ++ .../ljsd/jieling/handler/map/MapLogic.java | 1 + .../jieling/logic/activity/ActivityLogic.java | 2 + .../jieling/logic/activity/SubActivity.java | 4 ++ .../jieling/logic/dao/CumulationData.java | 32 ++++++++++++++-- .../ljsd/jieling/logic/fight/CombatLogic.java | 1 + .../ljsd/jieling/logic/hero/HeroLogic.java | 18 ++++++++- .../ljsd/jieling/logic/mission/GameEvent.java | 9 +++++ .../jieling/logic/mission/MissionLoigc.java | 29 +++++++++++++++ .../jieling/logic/mission/MissionType.java | 8 ++++ .../mission/data/DailyChallengeManager.java | 25 +++++++++++++ .../mission/data/DataManagerDistributor.java | 10 +++++ .../mission/data/LimitTimeChoiceCard.java | 24 ++++++++++++ .../logic/mission/data/QianKunBoxManager.java | 25 +++++++++++++ .../data/ShejiActivityDonateManager.java | 25 +++++++++++++ .../mission/data/SoulRecruitManager.java | 25 +++++++++++++ .../mission/data/SubActivityManager.java | 25 +++++++++++++ .../data/TakeAdventureRewardManager.java | 27 ++++++++++++++ .../event/MissionEventDistributor.java | 37 +++++++++++++++++++ 19 files changed, 325 insertions(+), 5 deletions(-) create mode 100644 serverlogic/src/main/java/com/ljsd/jieling/logic/mission/data/DailyChallengeManager.java create mode 100644 serverlogic/src/main/java/com/ljsd/jieling/logic/mission/data/LimitTimeChoiceCard.java create mode 100644 serverlogic/src/main/java/com/ljsd/jieling/logic/mission/data/QianKunBoxManager.java create mode 100644 serverlogic/src/main/java/com/ljsd/jieling/logic/mission/data/ShejiActivityDonateManager.java create mode 100644 serverlogic/src/main/java/com/ljsd/jieling/logic/mission/data/SoulRecruitManager.java create mode 100644 serverlogic/src/main/java/com/ljsd/jieling/logic/mission/data/SubActivityManager.java create mode 100644 serverlogic/src/main/java/com/ljsd/jieling/logic/mission/data/TakeAdventureRewardManager.java diff --git a/serverlogic/src/main/java/com/ljsd/jieling/handler/activity/CommitShejiActivityItemRequestHandler.java b/serverlogic/src/main/java/com/ljsd/jieling/handler/activity/CommitShejiActivityItemRequestHandler.java index 7ca7f5c03..361a761f9 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/handler/activity/CommitShejiActivityItemRequestHandler.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/handler/activity/CommitShejiActivityItemRequestHandler.java @@ -14,6 +14,7 @@ import com.ljsd.jieling.logic.dao.GuilidManager; import com.ljsd.jieling.logic.dao.UserManager; import com.ljsd.jieling.logic.dao.root.GuildInfo; import com.ljsd.jieling.logic.dao.root.User; +import com.ljsd.jieling.logic.mission.GameEvent; import com.ljsd.jieling.util.ItemUtil; import config.SGodSacrificeSetting; import manager.STableManager; @@ -100,6 +101,8 @@ public class CommitShejiActivityItemRequestHandler extends BaseHandler list = rewardArrayToList(markRewards); ReportUtil.onReportEvent(user, ReportEventEnum.CHOICE_DRAW_CARD.getType(), choiceRewardId, num, markReward[0], markReward[1], list); // 返回奖励信息 diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/SubActivity.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/SubActivity.java index 2ea5bd191..ff8e42389 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/SubActivity.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/SubActivity.java @@ -10,6 +10,7 @@ import com.ljsd.jieling.logic.dao.Item; import com.ljsd.jieling.logic.dao.UserManager; import com.ljsd.jieling.logic.dao.root.User; import com.ljsd.jieling.logic.mail.MailLogic; +import com.ljsd.jieling.logic.mission.GameEvent; import com.ljsd.jieling.network.session.ISession; import rpc.protocols.CommonProto; import rpc.protocols.PlayerInfoProto; @@ -83,6 +84,7 @@ public class SubActivity extends AbstractActivity { //check cost int[][] cost = new int[1][2]; cost[0] = sBlessingConfigNew.getCost(); + boolean b = ItemUtil.itemCost(user, cost, BIReason.SUB_ACTIVITY_CONSUME, 1); if (!b) { throw new ErrorCodeException(ErrorCode.ITEM_NOT_ENOUGH); @@ -92,6 +94,8 @@ public class SubActivity extends AbstractActivity { throw new ErrorCodeException(ErrorCode.SERVER_DEFINE); } + //易经宝库翻牌子 + user.getUserMissionManager().onGameEvent(user, GameEvent.SUB_ACTIVITY,1); //get reward long count = activityMission.getActivityMissionMap().values().stream().filter(activityProgressInfo1 -> activityProgressInfo1.getState() == ActivityType.HAD_TAKED).count(); //后5个概率提前结束抽奖 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 718e8c923..0bac66017 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 @@ -197,6 +197,30 @@ public class CumulationData { // 公会boss public int guild_boss_room; + //限时招募次数 + public int limit_time_choice_card_count; + // 乾坤宝盒次数 + public int qian_kun_box_count; + // 灵兽招募次数 + public int soul_recruit_count; + + // 社稷大典捐献次数 + public int sheji_activity_donate_count; + + // 易经宝库翻牌子次数 + public int sub_activity; + + // 急速探索次数 + public int take_adventure_reward_count; + + //活动期间内日常副本挑战总次数 + public int daily_challenge_count; + + + + + + public Result updateData(MissionType missionType, Object...parm) throws Exception { return DataManagerDistributor.updateData(this, missionType,parm); } @@ -210,15 +234,15 @@ public class CumulationData { - public Result(MissionType subType) { - this.subType = subType; - } - public Result(MissionType subType, long value) { this.subType = subType; this.value = value; } + public Result(MissionType subType) { + this.subType = subType; + } + public Result(MissionType subType, int param, long value) { this.subType = subType; this.param = param; diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/fight/CombatLogic.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/fight/CombatLogic.java index 7cc20a1f7..5b09dd020 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/fight/CombatLogic.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/fight/CombatLogic.java @@ -230,6 +230,7 @@ public class CombatLogic { user.getUserMissionManager().onGameEvent(user,GameEvent.PlAY_STORY,9999,1); Poster.getPoster().dispatchEvent(new SecretEvent(user.getId())); } + user.getUserMissionManager().onGameEvent(user, GameEvent.TAKE_ADVENTURE_REWARD_COUNT,1); FightInfoProto.TakeAventureRewardResponse build = FightInfoProto.TakeAventureRewardResponse.newBuilder().setDrop(adventureFastReward.get(1)).setRandomDrop(adventureFastReward.get(2)).build(); MessageUtil.sendMessage(session,1, MessageTypeProto.MessageType.ADVENTURE_REWARD_RESPONSE_VALUE,build,true); KtEventUtils.onKtEvent(user,ParamEventBean.UserGameType,KTGameType.TAKE_SECURE_REWARD.getIndex(),type*10); diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/hero/HeroLogic.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/hero/HeroLogic.java index 4a5f9db4f..3648c37b6 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/hero/HeroLogic.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/hero/HeroLogic.java @@ -382,7 +382,7 @@ public class HeroLogic{ * @param sLotterySetting * @return */ - private int[] drawCard(User user, SLotteryRewardConfig sLotteryRewardConfig, SLotterySetting sLotterySetting){ + private int[] drawCard(User user, SLotteryRewardConfig sLotteryRewardConfig, SLotterySetting sLotterySetting)throws Exception{ HeroManager heroManager = user.getHeroManager(); // 参数 int type = sLotterySetting.getLotteryType(); @@ -402,6 +402,14 @@ public class HeroLogic{ }else { result = reward; } + //活动抽奖计数 + if(isActivityByIdAndType(sLotterySetting.getActivityId(), ActivityType.BEAUTY_BAG)){ + //乾坤宝盒抽奖 计次数 + user.getUserMissionManager().onGameEvent(user, GameEvent.QIAN_KUN_BOX,1); + }else if(isActivityByIdAndType(sLotterySetting.getActivityId(), ActivityType.SPECIAL_MONSTER_RANDOM_ACTIVITY)){ + //灵兽招募 计次数 + user.getUserMissionManager().onGameEvent(user, GameEvent.SOUL_RECRUIT,1); + } //记录卡池抽奖次数 heroManager.putRandomType(type,num+result[1]); return result; @@ -439,6 +447,14 @@ public class HeroLogic{ return activity.getType() == ActivityType.BEAUTY_BAG; } + private boolean isActivityByIdAndType(int activityId,int activityType){ + SGlobalActivity activity = SGlobalActivity.getsGlobalActivityMap().get(activityId); + if(activity==null){ + return false; + } + + return activity.getType() == activityType; + } /** * 心愿抽卡校验 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 ff48b2a0b..39bdb0ff5 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 @@ -127,4 +127,13 @@ public enum GameEvent { GUILD_BOSS_ROOM,//公会boos副本 MISTY_TRIP_REFRESH,//缥缈之旅刷新 MISTY_TRIP,//缥缈之旅 + + LIMIT_TIME_CHOICE_CARD,//限时招募 + QIAN_KUN_BOX,//乾坤宝盒 + SOUL_RECRUIT,//灵兽招募 + SHEJI_DONATE,//社稷大典捐献次数 + SUB_ACTIVITY,//易经宝库翻牌子 + TAKE_ADVENTURE_REWARD_COUNT,//急速探索次数 + DAILY_CHALLENGE_COUNT,//日常副本挑战次数 + } 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 417429ef5..5386fed93 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 @@ -1006,6 +1006,35 @@ public class MissionLoigc { count = cumulationData.hardstage_node; break; //100以后类型继承 AbstractDataManager + + case LIMIT_TIME_CHOICE_CARD: + //限时招募 + count = cumulationData.limit_time_choice_card_count; + break; + case QIAN_KUN_BOX: + //乾坤宝盒 + count = cumulationData.qian_kun_box_count; + break; + case SOUL_RECRUIT: + //灵兽招募 + count = cumulationData.soul_recruit_count; + break; + case SHEJI_DONATE: + //社稷大典捐献次数 + count = cumulationData.sheji_activity_donate_count; + break; + case SUB_ACTIVITY: + //易经宝库翻牌子 + count = cumulationData.sub_activity; + break; + case TAKE_ADVENTURE_REWARD_COUNT: + //急速探索次数 + count = cumulationData.take_adventure_reward_count; + break; + case DAILY_CHALLENGE_COUNT: + //副本挑战次数 + count = cumulationData.daily_challenge_count; + break; default: count = 0; break; 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 9014d4c3d..775103a47 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 @@ -138,6 +138,14 @@ public enum MissionType { ENDLESS_BIG_REWARD(130), GUILD_BOSS_ROOM(131),//公会副本boss + + LIMIT_TIME_CHOICE_CARD(132),//限时招募 + QIAN_KUN_BOX(133),//乾坤宝盒 + SOUL_RECRUIT(134),//灵兽招募 + SHEJI_DONATE(135),//社稷大典捐献次数 + SUB_ACTIVITY(136),//易经宝库翻牌子 + TAKE_ADVENTURE_REWARD_COUNT(137),//急速探索次数 + DAILY_CHALLENGE_COUNT(138),//日常副本挑战次 ; private int missionType; diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/data/DailyChallengeManager.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/data/DailyChallengeManager.java new file mode 100644 index 000000000..0808a66c1 --- /dev/null +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/data/DailyChallengeManager.java @@ -0,0 +1,25 @@ +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 DailyChallengeManager extends AbstractDataManager{ + + @Override + public CumulationData.Result updateData(CumulationData data, MissionType missionType, Object... parm) { + int num = (int)parm[0]; + data.daily_challenge_count += num; + return new CumulationData.Result(missionType); + } + + @Override + public boolean isFinish(User user, CumulationData data, int[][] value, Object... parm) { + return data.daily_challenge_count >= value[1][0]; + } + + @Override + public int getProcess(User user, CumulationData data, int[] missionSubType) { + return data.daily_challenge_count; + } +} 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 50f383e6f..875585fb5 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 @@ -161,6 +161,16 @@ public class DataManagerDistributor { // 公会副本/boss judges.put(MissionType.GUILD_BOSS_ROOM,new GuildBossRoomManager()); + //主题活动中新增任务类型 + judges.put(MissionType.LIMIT_TIME_CHOICE_CARD,new LimitTimeChoiceCard());//限时招募 + judges.put(MissionType.QIAN_KUN_BOX,new QianKunBoxManager());//乾坤宝盒 + judges.put(MissionType.SOUL_RECRUIT,new SoulRecruitManager());//灵兽招募 + judges.put(MissionType.SHEJI_DONATE,new ShejiActivityDonateManager());//社稷大典捐献次数 + judges.put(MissionType.SUB_ACTIVITY,new SubActivityManager());//社稷大典捐献次数 + judges.put(MissionType.TAKE_ADVENTURE_REWARD_COUNT,new TakeAdventureRewardManager());//急速探索次数 + judges.put(MissionType.DAILY_CHALLENGE_COUNT,new DailyChallengeManager());//副本挑战次数 + + } 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/LimitTimeChoiceCard.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/data/LimitTimeChoiceCard.java new file mode 100644 index 000000000..5296263fa --- /dev/null +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/data/LimitTimeChoiceCard.java @@ -0,0 +1,24 @@ +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 LimitTimeChoiceCard extends AbstractDataManager { + @Override + public CumulationData.Result updateData(CumulationData data, MissionType missionType, Object... parm) { + int num = (int)parm[0]; + data.limit_time_choice_card_count+=num; + return new CumulationData.Result(missionType); + } + + @Override + public boolean isFinish(User user, CumulationData data, int[][] value, Object... parm) { + return data.limit_time_choice_card_count>=value[1][0]; + } + + @Override + public int getProcess(User user, CumulationData data, int[] missionSubType) { + return data.limit_time_choice_card_count; + } +} diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/data/QianKunBoxManager.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/data/QianKunBoxManager.java new file mode 100644 index 000000000..f0bf56fbf --- /dev/null +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/data/QianKunBoxManager.java @@ -0,0 +1,25 @@ +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 QianKunBoxManager extends AbstractDataManager { + + @Override + public CumulationData.Result updateData(CumulationData data, MissionType missionType, Object... parm) { + int num = (int)parm[0]; + data.qian_kun_box_count+=num; + return new CumulationData.Result(missionType); + } + + @Override + public boolean isFinish(User user, CumulationData data, int[][] value, Object... parm) { + return data.qian_kun_box_count>=value[1][0]; + } + + @Override + public int getProcess(User user, CumulationData data, int[] missionSubType) { + return data.qian_kun_box_count; + } +} diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/data/ShejiActivityDonateManager.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/data/ShejiActivityDonateManager.java new file mode 100644 index 000000000..e2c7a0083 --- /dev/null +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/data/ShejiActivityDonateManager.java @@ -0,0 +1,25 @@ +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 ShejiActivityDonateManager extends AbstractDataManager { + + @Override + public CumulationData.Result updateData(CumulationData data, MissionType missionType, Object... parm) { + int num = (int)parm[0]; + data.sheji_activity_donate_count+=num; + return new CumulationData.Result(missionType); + } + + @Override + public boolean isFinish(User user, CumulationData data, int[][] value, Object... parm) { + return data.sheji_activity_donate_count>=value[1][0]; + } + + @Override + public int getProcess(User user, CumulationData data, int[] missionSubType) { + return data.sheji_activity_donate_count; + } +} diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/data/SoulRecruitManager.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/data/SoulRecruitManager.java new file mode 100644 index 000000000..c3ecf3a76 --- /dev/null +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/data/SoulRecruitManager.java @@ -0,0 +1,25 @@ +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 SoulRecruitManager extends AbstractDataManager{ + + @Override + public CumulationData.Result updateData(CumulationData data, MissionType missionType, Object... parm) { + int num = (int)parm[0]; + data.soul_recruit_count += num; + return new CumulationData.Result(missionType); + } + + @Override + public boolean isFinish(User user, CumulationData data, int[][] value, Object... parm) { + return data.soul_recruit_count>=value[1][0]; + } + + @Override + public int getProcess(User user, CumulationData data, int[] missionSubType) { + return data.soul_recruit_count; + } +} diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/data/SubActivityManager.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/data/SubActivityManager.java new file mode 100644 index 000000000..3a53a8642 --- /dev/null +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/data/SubActivityManager.java @@ -0,0 +1,25 @@ +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 SubActivityManager extends AbstractDataManager { + @Override + public CumulationData.Result updateData(CumulationData data, MissionType missionType, Object... parm) { + int num = (int)parm[0]; + data.sub_activity+=num; + return new CumulationData.Result(missionType); + } + + @Override + public boolean isFinish(User user, CumulationData data, int[][] value, Object... parm) { + return data.sub_activity>=value[1][0]; + } + + @Override + public int getProcess(User user, CumulationData data, int[] missionSubType) { + return data.sub_activity; + } + +} diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/data/TakeAdventureRewardManager.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/data/TakeAdventureRewardManager.java new file mode 100644 index 000000000..ceea5e984 --- /dev/null +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/data/TakeAdventureRewardManager.java @@ -0,0 +1,27 @@ +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 TakeAdventureRewardManager extends AbstractDataManager{ + + + @Override + public CumulationData.Result updateData(CumulationData data, MissionType missionType, Object... parm) { + int num = (int)parm[0]; + data.take_adventure_reward_count += num; + return new CumulationData.Result(missionType); + } + + @Override + public boolean isFinish(User user, CumulationData data, int[][] value, Object... parm) { + return data.take_adventure_reward_count >= value[1][0]; + } + + @Override + public int getProcess(User user, CumulationData data, int[] missionSubType) { + return data.take_adventure_reward_count; + } + +} 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 3d584d565..3bff4a9fd 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 @@ -500,6 +500,43 @@ public class MissionEventDistributor { eventProcessor.put(GameEvent.HARSTAGE_NODE, new CumulationDataEventProcessor()); + //限时招募 + typeList = new ArrayList<>(); + typeList.add(MissionType.LIMIT_TIME_CHOICE_CARD); + eventEnumListMap.put(GameEvent.LIMIT_TIME_CHOICE_CARD, typeList); + eventProcessor.put(GameEvent.LIMIT_TIME_CHOICE_CARD, new CumulationDataEventProcessor()); + //乾坤宝盒 + typeList = new ArrayList<>(); + typeList.add(MissionType.QIAN_KUN_BOX); + eventEnumListMap.put(GameEvent.QIAN_KUN_BOX, typeList); + eventProcessor.put(GameEvent.QIAN_KUN_BOX, new CumulationDataEventProcessor()); + //魂印招募 + typeList = new ArrayList<>(); + typeList.add(MissionType.SOUL_RECRUIT); + eventEnumListMap.put(GameEvent.SOUL_RECRUIT, typeList); + eventProcessor.put(GameEvent.SOUL_RECRUIT, new CumulationDataEventProcessor()); + //社稷大典捐献次数 + typeList = new ArrayList<>(); + typeList.add(MissionType.SHEJI_DONATE); + eventEnumListMap.put(GameEvent.SHEJI_DONATE, typeList); + eventProcessor.put(GameEvent.SHEJI_DONATE, new CumulationDataEventProcessor()); + //易经宝库翻牌子次数 + typeList = new ArrayList<>(); + typeList.add(MissionType.SUB_ACTIVITY); + eventEnumListMap.put(GameEvent.SUB_ACTIVITY, typeList); + eventProcessor.put(GameEvent.SUB_ACTIVITY, new CumulationDataEventProcessor()); + //急速探索次数次数 + typeList = new ArrayList<>(); + typeList.add(MissionType.TAKE_ADVENTURE_REWARD_COUNT); + eventEnumListMap.put(GameEvent.TAKE_ADVENTURE_REWARD_COUNT, typeList); + eventProcessor.put(GameEvent.TAKE_ADVENTURE_REWARD_COUNT, new CumulationDataEventProcessor()); + //日常副本挑战次数 + typeList = new ArrayList<>(); + typeList.add(MissionType.DAILY_CHALLENGE_COUNT); + eventEnumListMap.put(GameEvent.DAILY_CHALLENGE_COUNT, typeList); + eventProcessor.put(GameEvent.DAILY_CHALLENGE_COUNT, new CumulationDataEventProcessor()); + + } public static final ThreadLocal>> threadMissionChangeList =