From 859daed04b427a7490cfc2d51b404cf29f8c0595 Mon Sep 17 00:00:00 2001 From: mengchengzhen <13682025901@163.com> Date: Tue, 30 Mar 2021 16:41:53 +0800 Subject: [PATCH 1/4] 15 --- .../jieling/logic/activity/ActivityType.java | 2 ++ .../logic/activity/ActivityTypeEnum.java | 1 + .../logic/activity/FifteenActivity.java | 24 +++++++++++++++++++ 3 files changed, 27 insertions(+) create mode 100644 serverlogic/src/main/java/com/ljsd/jieling/logic/activity/FifteenActivity.java diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/ActivityType.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/ActivityType.java index 43827bedf..0a0c96287 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/ActivityType.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/ActivityType.java @@ -80,6 +80,7 @@ public interface ActivityType { int SHEJI_ACTIVITY = 60;//社稷大典 int GOOD_LUCK= 61;//扭转乾坤 int COW_FLY_SKY = 62;//牛气冲天 + int FIFTEEN_LOGIN = 63;//十五日签到 int SUB_ACTIVITY = 8000;//易经宝库 int SKIN_RECHARGE_ACTIVITY = 71; @@ -88,4 +89,5 @@ public interface ActivityType { int DEMON_TREASURE = 36;//降妖夺宝 int NEW_GENERAL_ATTACK = 200;//新将来袭 + } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/ActivityTypeEnum.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/ActivityTypeEnum.java index ff68e42fa..2a97ece92 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/ActivityTypeEnum.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/ActivityTypeEnum.java @@ -67,6 +67,7 @@ public enum ActivityTypeEnum { NEW_GENERAL_ATTACK(ActivityType.NEW_GENERAL_ATTACK,DefaultEmptyActivity::new), GOOD_LUCK(ActivityType.GOOD_LUCK,DefaultEmptyActivity::new), COW_FLY_SKY(ActivityType.COW_FLY_SKY,CowFlySkyActivity::new), + FIFTEEN_LOGIN(ActivityType.FIFTEEN_LOGIN,FifteenActivity::new), ; private int type; diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/FifteenActivity.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/FifteenActivity.java new file mode 100644 index 000000000..e5bbadab4 --- /dev/null +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/FifteenActivity.java @@ -0,0 +1,24 @@ +package com.ljsd.jieling.logic.activity; + +import com.ljsd.jieling.jbean.ActivityProgressInfo; +import com.ljsd.jieling.logic.dao.UserManager; +import com.ljsd.jieling.logic.dao.root.User; +import com.ljsd.jieling.network.session.ISession; +import config.SActivityRewardConfig; +import util.TimeUtils; + +public class FifteenActivity extends AbstractActivity { + + public FifteenActivity(int id) { + super(id); + } + + @Override + boolean takeRewardsProcess(ISession session, SActivityRewardConfig sActivityRewardConfig, ActivityProgressInfo activityProgressInfo) throws Exception { + User user = UserManager.getUser(session.getUid()); + if(TimeUtils.getOverTimeCount(user.getPlayerInfoManager().getCreateTime(),System.currentTimeMillis(),0) Date: Fri, 16 Apr 2021 20:47:46 +0800 Subject: [PATCH 2/4] 15 --- .../logic/activity/FifteenActivity.java | 74 ++++++++++++++++++- 1 file changed, 73 insertions(+), 1 deletion(-) diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/FifteenActivity.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/FifteenActivity.java index e5bbadab4..bc8ba0300 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/FifteenActivity.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/FifteenActivity.java @@ -1,12 +1,24 @@ package com.ljsd.jieling.logic.activity; +import com.ljsd.jieling.globals.BIReason; +import com.ljsd.jieling.jbean.ActivityMission; import com.ljsd.jieling.jbean.ActivityProgressInfo; import com.ljsd.jieling.logic.dao.UserManager; import com.ljsd.jieling.logic.dao.root.User; import com.ljsd.jieling.network.session.ISession; +import com.ljsd.jieling.util.ItemUtil; +import com.ljsd.jieling.util.MessageUtil; +import com.ljsd.jieling.util.ToolsUtil; import config.SActivityRewardConfig; +import config.SGlobalActivity; +import rpc.protocols.CommonProto; +import rpc.protocols.PlayerInfoProto; import util.TimeUtils; +import java.util.*; + +import static config.SGlobalActivity.getsGlobalActivityMapByType; + public class FifteenActivity extends AbstractActivity { public FifteenActivity(int id) { @@ -16,9 +28,69 @@ public class FifteenActivity extends AbstractActivity { @Override boolean takeRewardsProcess(ISession session, SActivityRewardConfig sActivityRewardConfig, ActivityProgressInfo activityProgressInfo) throws Exception { User user = UserManager.getUser(session.getUid()); - if(TimeUtils.getOverTimeCount(user.getPlayerInfoManager().getCreateTime(),System.currentTimeMillis(),0) typeList = SGlobalActivity.getsGlobalActivityMapByType(id); + if(typeList == null){ + return; + } + for(SGlobalActivity globalActivity : typeList){ + ActivityLogic.getInstance().initAllActivityMission(user.getActivityManager().getActivityMissionMap(),globalActivity.getId()); + if(user.getActivityManager().getActivityMissionMap().get(globalActivity.getId()) == null){ + continue; + } + long startTime = ToolsUtil.getTimeLong + (globalActivity.getStartTimeLong(),globalActivity.getEndTimeLong(),globalActivity.getTime(), + user.getPlayerInfoManager().getCreateTime(), 1); + int st = (int)(startTime/1000); + for(Map.Entry entry : user.getActivityManager().getActivityMissionMap(). + get(globalActivity.getId()).getActivityMissionMap().entrySet()){ + SActivityRewardConfig config = SActivityRewardConfig.getsActivityRewardConfigByMissionId(entry.getKey()); + entry.getValue().setProgrss((int)((TimeUtils.DAY * (config.getValues()[0][0] - 1))/1000) + st); + } + } + } + + @Override + public boolean takeReward(ISession session, int missionId) throws Exception { + if(missionId!=-1){ + return super.takeReward(session, missionId); + } + User user = UserManager.getUser(session.getUid()); + List reward = new ArrayList<>(); + getAllMissRewards(user,session,reward); + Map itemMap = new HashMap<>(); + reward.forEach(n-> Arrays.stream(n).forEach(m->itemMap.put(m[0],itemMap.getOrDefault(m[0], 0)+m[1]))); + + int[][] rewardArray = ItemUtil.mapToArray(itemMap); + CommonProto.Drop.Builder drop = ItemUtil.drop(user, rewardArray, BIReason.TAKE_ACTIVITY_REWARD); + + PlayerInfoProto.TakeActivityRewardResponse build = PlayerInfoProto.TakeActivityRewardResponse.newBuilder().setDrop(drop).build(); + + reportTakeActivityReward(user,rewardArray,missionId); + + MessageUtil.sendMessage(session, 1, rewardResponseValue, build, true); + + ActivityMission activityMission = user.getActivityManager().getActivityMissionMap().get(id); + boolean isAll = true; + for(Map.Entry entry:activityMission.getActivityMissionMap().entrySet()){ + if(entry.getValue().getState()==0){ + isAll=false; + break; + } + } + if(isAll){ + activityMission.setV(2); + } + + return true; + + } } \ No newline at end of file From b4029e7fd9111fcf05b1bfb184c01cbca85707aa Mon Sep 17 00:00:00 2001 From: mengchengzhen <13682025901@163.com> Date: Tue, 6 Apr 2021 15:51:32 +0800 Subject: [PATCH 3/4] 15 --- .../java/com/ljsd/jieling/logic/activity/FifteenActivity.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/FifteenActivity.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/FifteenActivity.java index bc8ba0300..41c54c2ab 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/FifteenActivity.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/FifteenActivity.java @@ -37,7 +37,7 @@ public class FifteenActivity extends AbstractActivity { @Override public void initActivity(User user) throws Exception { - List typeList = SGlobalActivity.getsGlobalActivityMapByType(id); + List typeList = SGlobalActivity.getsGlobalActivityMapByType(ActivityType.FIFTEEN_LOGIN); if(typeList == null){ return; } @@ -89,7 +89,7 @@ public class FifteenActivity extends AbstractActivity { if(isAll){ activityMission.setV(2); } - + sendActivityProgress(session,activityMission , null); return true; } From b6031f08de47d1e2bdfa5d624a552b182cd24ac0 Mon Sep 17 00:00:00 2001 From: mengchengzhen <13682025901@163.com> Date: Tue, 6 Apr 2021 15:53:00 +0800 Subject: [PATCH 4/4] =?UTF-8?q?=E6=8E=92=E8=A1=8C=E6=A6=9C=E6=88=98?= =?UTF-8?q?=E5=8A=9B=E5=88=B7=E6=96=B0=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/ljsd/jieling/logic/player/PlayerLogic.java | 1 + 1 file changed, 1 insertion(+) diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/player/PlayerLogic.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/player/PlayerLogic.java index ee84663cc..44dd2bde8 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/player/PlayerLogic.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/player/PlayerLogic.java @@ -290,6 +290,7 @@ public class PlayerLogic { Poster.getPoster().dispatchEvent(new GuildForceChangeEvent(user.getId(),user.getPlayerInfoManager().getGuildId(),2,teamForce-user.getPlayerInfoManager().getMaxForce())); } user.getPlayerInfoManager().setMaxForce(teamForce); + Poster.getPoster().dispatchEvent(new UserMainTeamForceEvent(iSession.getUid())); Poster.getPoster().dispatchEvent(new UserForceChangeEvent(uid,teamForce)); user.getUserMissionManager().onGameEvent(user,GameEvent.USER_FORCE_CHANGE); ActivityLogic.getInstance().updateActivityMissionProgress(user, ActivityType.FORCERANK,teamForce);