From bd0f84629b95209b889e732580a2e17a87e19dab Mon Sep 17 00:00:00 2001 From: yuanshuai <243578945@qq.com> Date: Tue, 19 Oct 2021 09:50:56 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E8=90=8C=E6=96=B0=E6=B4=BB=E5=8A=A8?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../logic/activity/NewWelfareActivity.java | 53 +++++++++++++------ .../activity/event/NewWelfareTypeEnum.java | 5 +- .../ljsd/jieling/logic/fight/CombatLogic.java | 4 ++ .../ljsd/jieling/logic/hero/HeroLogic.java | 2 +- 4 files changed, 46 insertions(+), 18 deletions(-) diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/NewWelfareActivity.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/NewWelfareActivity.java index 2de8c91db..144f721d0 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/NewWelfareActivity.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/NewWelfareActivity.java @@ -46,27 +46,48 @@ public class NewWelfareActivity extends AbstractActivity { boolean isUpdate = false; for(SActivityRewardConfig sActivityRewardConfig : sActivityRewardConfigs){ ActivityProgressInfo activityProgressInfo = activityProgressInfoMap.get(sActivityRewardConfig.getId()); - if(activityProgressInfo.getState() == 1){ - continue; - } - if(sActivityRewardConfig.getValues()[0][0] == newWelfareEvent.getType() ){ - int parm = newWelfareEvent.getParm(); - if( newWelfareEvent.getType() == NewWelfareTypeEnum.LOGIN_TIMES.getType()){ - activityProgressInfo.setProgrss(activityProgressInfo.getProgrss()+1); - parm=activityProgressInfo.getProgrss(); + if(sActivityRewardConfig.getSort()==1){ + if(activityProgressInfo.getState() == 1){ + continue; } - if(parm ==sActivityRewardConfig.getValues()[1][0]){ - if(newWelfareEvent.getType() == NewWelfareTypeEnum.RECHARGE_BUY.getType()){ - //可领取奖励 - activityProgressInfo.setState(3); - }else{ - activityProgressInfo.setState(1); + if(sActivityRewardConfig.getValues()[0][0] == newWelfareEvent.getType() ){ + int parm = newWelfareEvent.getParm(); + if( newWelfareEvent.getType() == NewWelfareTypeEnum.LOGIN_TIMES.getType()){ + activityProgressInfo.setProgrss(activityProgressInfo.getProgrss()+1); + parm=activityProgressInfo.getProgrss(); + } + if(parm ==sActivityRewardConfig.getValues()[1][0]){ + if(newWelfareEvent.getType() == NewWelfareTypeEnum.RECHARGE_BUY.getType()){ + //可领取奖励 + activityProgressInfo.setState(3); + }else{ + activityProgressInfo.setState(1); + } + activityMission.getActivityMissionMap().put(sActivityRewardConfig.getId(), activityProgressInfo); + isUpdate = true; + } + } + }else{ + //新增任务 + if(activityProgressInfo.getState()!= 0){ + continue; + } + if(sActivityRewardConfig.getValues()[0][0] == newWelfareEvent.getType() ){ + int parm = newWelfareEvent.getParm(); + if (newWelfareEvent.getType() == NewWelfareTypeEnum.ALL_MISSION_FIN.getType()||newWelfareEvent.getType() == NewWelfareTypeEnum.EXPLORE.getType()){ + activityProgressInfo.setProgrss(activityProgressInfo.getProgrss()+1); + parm=activityProgressInfo.getProgrss(); + } + if(parm ==sActivityRewardConfig.getValues()[1][0]){ + activityProgressInfo.setState(3); + if (sActivityRewardConfig.getSort()==2){ + Poster.getPoster().dispatchEvent(new NewWelfareEvent(user,NewWelfareTypeEnum.ALL_MISSION_FIN.getType(),1)); + } } - activityMission.getActivityMissionMap().put(sActivityRewardConfig.getId(), activityProgressInfo); - isUpdate = true; } } } + if(isUpdate){ //更新进度 ISession sessionByUid = OnlineUserManager.getSessionByUid(user.getId()); diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/event/NewWelfareTypeEnum.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/event/NewWelfareTypeEnum.java index 052d18dec..f91cd1ffd 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/event/NewWelfareTypeEnum.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/event/NewWelfareTypeEnum.java @@ -3,7 +3,10 @@ package com.ljsd.jieling.logic.activity.event; public enum NewWelfareTypeEnum { LEVEL_FIGHT(1), LOGIN_TIMES(2), - RECHARGE_BUY(3) + RECHARGE_BUY(3), + EXPLORE(4),//极速探索n次 + UPSTAR(5),//指定英雄升级至x星 + ALL_MISSION_FIN(6)//sort为2所有任务完成 ; private int type; 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 1f11ce946..a950b4242 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 @@ -19,6 +19,8 @@ import com.ljsd.jieling.ktbeans.KTGameType; import com.ljsd.jieling.ktbeans.KtEventUtils; import com.ljsd.jieling.ktbeans.parmsBean.ParamEventBean; import com.ljsd.jieling.logic.OnlineUserManager; +import com.ljsd.jieling.logic.activity.event.NewWelfareEvent; +import com.ljsd.jieling.logic.activity.event.NewWelfareTypeEnum; import com.ljsd.jieling.logic.activity.event.Poster; import com.ljsd.jieling.logic.activity.event.SecretEvent; import com.ljsd.jieling.logic.activity.fourChallenge.FourChallengeLogic; @@ -234,7 +236,9 @@ 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); + Poster.getPoster().dispatchEvent(new NewWelfareEvent(user, NewWelfareTypeEnum.EXPLORE.getType(),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 6feab5978..03484b7dc 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 @@ -1541,7 +1541,7 @@ public class HeroLogic{ rankUpHeroExecute(targetHero); user.getHeroManager().addHeroStar(targetHero.getTemplateId(),targetHero.getStar()); Poster.getPoster().dispatchEvent(new HeroUpStarEvent(user.getId(),targetHero.getTemplateId(),targetHero.getStar())); - + Poster.getPoster().dispatchEvent(new NewWelfareEvent(user,NewWelfareTypeEnum.UPSTAR.getType(),targetHero.getTemplateId())); targetHero.setStarBreakId(scHeroRankUpConfig.getId()); user.getUserMissionManager().onGameEvent(user,GameEvent.HERO_UP,2,targetHero.getTemplateId(),targetHero.getStar()); user.getUserMissionManager().onGameEvent(user,GameEvent.GET_HERO,targetHero.getTemplateId(),targetHero.getStar()); From 3c95660505deb548c766f9b5a0a580cd38e11d4e Mon Sep 17 00:00:00 2001 From: xuexinpeng Date: Tue, 19 Oct 2021 19:09:43 +0800 Subject: [PATCH 2/3] =?UTF-8?q?yx=E7=A9=BA=E9=98=B5=E5=AE=B9=E6=8C=91?= =?UTF-8?q?=E6=88=98=E8=AE=B0=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../CrossYuxulundaoChallengeHandler.java | 28 ++++++++++++++----- .../logic/arena/CrossYuxulundaoLogic.java | 13 +++++++-- 2 files changed, 31 insertions(+), 10 deletions(-) diff --git a/serverlogic/src/main/java/com/ljsd/jieling/handler/crossServer/CrossYuxulundaoChallengeHandler.java b/serverlogic/src/main/java/com/ljsd/jieling/handler/crossServer/CrossYuxulundaoChallengeHandler.java index 328d17b28..16ba5176b 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/handler/crossServer/CrossYuxulundaoChallengeHandler.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/handler/crossServer/CrossYuxulundaoChallengeHandler.java @@ -48,10 +48,7 @@ import rpc.protocols.CommonProto; import rpc.protocols.MessageTypeProto; import util.TimeUtils; -import java.util.Arrays; -import java.util.Calendar; -import java.util.List; -import java.util.Map; +import java.util.*; import java.util.stream.Collectors; public class CrossYuxulundaoChallengeHandler extends BaseHandler { @@ -326,7 +323,7 @@ public class CrossYuxulundaoChallengeHandler extends BaseHandler> teamPosForHero = user.getTeamPosManager().getTeamPosForHero(); + if(!teamPosForHero.containsKey(myteamId[i]) || teamPosForHero.get(myteamId[i]).size() == 0){ + result[i] = 0; + if (GameApplication.serverId == csPlayer.getServerId()) { + User defuser = UserManager.getUser(csPlayer.getUserId()); + int addforce = HeroLogic.getInstance().calTeamTotalForce(defuser, myteamId[i], false); + arenaRecord.getYxldDefForce().add(addforce); + }else{ + List teamPosHeroInfos = crossArenaManager.getTeams().getOrDefault(myteamId[i], new ArrayList<>()); + int addforcerpc = crossArenaManager.getTotalForceByTeam().get(myteamId[i]); + arenaRecord.getYxldDefForce().add(addforcerpc); + } + return false; + } + return true; + } + public static boolean updateResult(User user,int i, int[] myteamId, int[] defTeamId, int[] result){ //没有队伍时候 直接断定对方赢 Map> teamPosForHero = user.getTeamPosManager().getTeamPosForHero(); if(!teamPosForHero.containsKey(myteamId[i]) || teamPosForHero.get(myteamId[i]).size() == 0){ @@ -380,7 +395,6 @@ public class CrossYuxulundaoChallengeHandler extends BaseHandler result = null;// if (arenaRecord.getYxldResult() == null) { @@ -389,6 +395,7 @@ public class CrossYuxulundaoLogic { result = Arrays.stream(arenaRecord.getYxldResult()).boxed().collect(Collectors.toList()); } if(isSend){ + CSPlayer csPlayer = CrossServiceLogic.getPlayerByRedis(uid); CSPlayer defPlayer = CrossServiceLogic.getPlayerByRedis(arenaRecord.getDefUid()); String myServerName = CrossDeathPathLogic.getInstance().getServerNameByDeathPath(csPlayer.getServerId()); From c1f4f45656ce5e26e85985566da678f9cf3e9fb5 Mon Sep 17 00:00:00 2001 From: yuanshuai <243578945@qq.com> Date: Mon, 25 Oct 2021 11:56:58 +0800 Subject: [PATCH 3/3] =?UTF-8?q?=E6=B4=BB=E5=8A=A8=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../logic/activity/NewWelfareActivity.java | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/NewWelfareActivity.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/NewWelfareActivity.java index 144f721d0..c6ac509a5 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/NewWelfareActivity.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/NewWelfareActivity.java @@ -80,6 +80,8 @@ public class NewWelfareActivity extends AbstractActivity { } if(parm ==sActivityRewardConfig.getValues()[1][0]){ activityProgressInfo.setState(3); + activityMission.getActivityMissionMap().put(sActivityRewardConfig.getId(), activityProgressInfo); + isUpdate = true; if (sActivityRewardConfig.getSort()==2){ Poster.getPoster().dispatchEvent(new NewWelfareEvent(user,NewWelfareTypeEnum.ALL_MISSION_FIN.getType(),1)); } @@ -107,17 +109,22 @@ public class NewWelfareActivity extends AbstractActivity { Map activityProgressInfoMap = activityMission.getActivityMissionMap(); //0是领取最后奖励 if(missionId==0){ - for(ActivityProgressInfo activityProgressInfo : activityProgressInfoMap.values()){ - if(activityProgressInfo.getState() != 1){ + for (Map.Entry inter : activityProgressInfoMap.entrySet()) { + ActivityProgressInfo activityProgressInfo=inter.getValue(); + int activityMissionId=inter.getKey(); + SActivityRewardConfig missonConfig= SActivityRewardConfig.getsActivityRewardConfigByMissionId(activityMissionId); + if(activityProgressInfo.getState() != 1&&missonConfig.getSort()==1){ throw new ErrorCodeException(ErrorCode.SERVER_SELF_DEFINE); } } for(Map.Entry item: activityProgressInfoMap.entrySet()){ - item.getValue().setState(2); - activityMission.getActivityMissionMap().put(item.getKey(),item.getValue()); + SActivityRewardConfig missonConfig= SActivityRewardConfig.getsActivityRewardConfigByMissionId(item.getKey()); + if (missonConfig.getSort()==1){ + item.getValue().setState(2); + activityMission.getActivityMissionMap().put(item.getKey(),item.getValue()); + } } - sendActivityProgress(session, activityMission, null); List sActivityRewardConfigs = SActivityRewardConfig.getsActivityRewardConfigByActivityId(id); CommonProto.Drop.Builder drop = ItemUtil.drop(user, sActivityRewardConfigs.get(0).getReward(), BIReason.TAKE_ACTIVITY_REWARD);