From 82f22805856c1e12572129f9072ecf2ea14c42b8 Mon Sep 17 00:00:00 2001 From: grimm <1769111741@qq.com> Date: Thu, 20 Jun 2024 14:29:33 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BB=A3=E7=A0=81=E5=9B=9E=E6=BB=9A=EF=BC=8C?= =?UTF-8?q?=E5=85=B3=E5=8D=A1=E6=94=B9=E5=9B=9E=E4=B8=BB=E7=BA=BF=E5=85=B3?= =?UTF-8?q?=E5=8D=A1=EF=BC=8C=E4=B8=8D=E7=94=A8=E5=B0=8F=E5=85=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ljsd/jieling/handler/map/MapLogic.java | 5 +++- .../activity/GiveEndlessDrawActivity.java | 23 +++++++++++-------- .../OpenServerCompeteRankActivity.java | 8 +++++-- .../jieling/logic/soldier/SoldierLogic.java | 10 +++----- 4 files changed, 26 insertions(+), 20 deletions(-) diff --git a/serverlogic/src/main/java/com/ljsd/jieling/handler/map/MapLogic.java b/serverlogic/src/main/java/com/ljsd/jieling/handler/map/MapLogic.java index 90e1a3f70..8548c86e9 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/handler/map/MapLogic.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/handler/map/MapLogic.java @@ -1746,15 +1746,18 @@ public class MapLogic { * 主线胜利处理 */ public CommonProto.Drop.Builder mainFightWinHandler(ISession session, int fightId) throws Exception { + SMainLevelConfig sMainLevelConfig = SMainLevelConfig.config.get(fightId); User user = UserManager.getUser(session.getUid()); // 关卡信息 openNextMainLevel(session, user, fightId); + // 排行榜 + AbstractRank rank = RankContext.getRankEnum(RankEnum.MAIN_LEVEL_RANK.getType()); + rank.addRank(user.getId(), "", sMainLevelConfig.getVirtureId(), user.getPlayerInfoManager().getMaxForce()); // 推送 MainLevelManager mainLevelManager = user.getMainLevelManager(); FightInfoProto.MainLevelFightUpdateIndication build = FightInfoProto.MainLevelFightUpdateIndication.newBuilder().setState(mainLevelManager.getState()).setFightId(mainLevelManager.getFightId()).build(); MessageUtil.sendIndicationMessage(session, 1, MessageTypeProto.MessageType.MAIN_LEVEL_FIGHT_UPDATE_INDICATION_VALUE, build, true); // 打点,现在不用 - SMainLevelConfig sMainLevelConfig = SMainLevelConfig.config.get(fightId); // ReportUtil.onReportEvent(user, ReportEventEnum.PASS_STAGE.getType(), String.valueOf(fightId), "", sMainLevelConfig.getReward(), new Date()); // 奖励道具 return ItemUtil.dropToPrivilege(user, sMainLevelConfig.getReward(), BIReason.LEVELDIFFICULTY_FIGHT_REWARD); diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/GiveEndlessDrawActivity.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/GiveEndlessDrawActivity.java index 98b2a5897..82f0279de 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/GiveEndlessDrawActivity.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/GiveEndlessDrawActivity.java @@ -6,16 +6,16 @@ import com.ljsd.jieling.globals.BIReason; import com.ljsd.jieling.jbean.ActivityMission; import com.ljsd.jieling.jbean.ActivityProgressInfo; import com.ljsd.jieling.logic.OnlineUserManager; +import com.ljsd.jieling.logic.activity.event.FightMainEvent; import com.ljsd.jieling.logic.activity.event.IEvent; import com.ljsd.jieling.logic.activity.event.Poster; -import com.ljsd.jieling.logic.activity.event.SoldierMainEvent; 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 config.SActivityRewardConfig; -import config.SSoldierStageConfig; +import config.SMainLevelConfig; import rpc.protocols.CommonProto; import rpc.protocols.PlayerInfoProto; import util.TimeUtils; @@ -34,15 +34,18 @@ public class GiveEndlessDrawActivity extends AbstractActivity { GiveEndlessDrawActivity(int id) { super(id); - Poster.getPoster().listenEvent(this, SoldierMainEvent.class); + Poster.getPoster().listenEvent(this, FightMainEvent.class); } @Override public void onEvent(IEvent event) throws Exception { - if (!(event instanceof SoldierMainEvent)) { + if (!(event instanceof FightMainEvent)) { + return; + } + FightMainEvent event1 = (FightMainEvent) event; + if (event1.getSort() != 1){ return; } - SoldierMainEvent event1 = (SoldierMainEvent) event; ISession session = OnlineUserManager.sessionMap.get(event1.getUid()); // 状态推送 sendActivityProgress(session, null); @@ -92,7 +95,7 @@ public class GiveEndlessDrawActivity extends AbstractActivity { */ private int getState(User user, SActivityRewardConfig reward, ActivityProgressInfo progress){ // 当前关卡id - int soldierLayerId = user.getMainLevelManager().getSoldierLayerId(); + int mainLvId = user.getMainLevelManager().getFightId(); // 任务类型,0:一次性奖励,1:每日奖励 int type = reward.getValues()[0][0]; // 任务条件(关卡id) @@ -111,11 +114,11 @@ public class GiveEndlessDrawActivity extends AbstractActivity { } // 首次领取 else { - SSoldierStageConfig value = SSoldierStageConfig.idMap.get(valueId); - SSoldierStageConfig layer = SSoldierStageConfig.idMap.get(soldierLayerId); - if (value != null && layer != null){ + SMainLevelConfig value = SMainLevelConfig.config.get(valueId); + SMainLevelConfig mainLv = SMainLevelConfig.config.get(mainLvId); + if (value != null && mainLv != null){ //关卡满足 - if (layer.getId() >= value.getId()){ + if (mainLv.getVirtureId() > value.getVirtureId()){ state = 1; } } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/OpenServerCompeteRankActivity.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/OpenServerCompeteRankActivity.java index e4e362279..b8fc14055 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/OpenServerCompeteRankActivity.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/OpenServerCompeteRankActivity.java @@ -357,11 +357,15 @@ public class OpenServerCompeteRankActivity extends AbstractActivity { // 获取邮件内容格式 int mailText = SChongRankInfo.getMap().get(id).get(rankType).getMailText(); String key = SErrorCodeEerverConfig.errorMap.get(mailText).getkey(); + // 分值 + String scoreStr = String.valueOf(score); // 类型3主线编队排行榜的分数需要特殊处理 if (rankType == 3){ - return SErrorCodeEerverConfig.getFormatMessage(key, new Object[]{rank}); + int id = Long.valueOf(score).intValue(); + SMainLevelConfig config = SMainLevelConfig.getVirtualMap().get(id); + scoreStr = config.getName(); } - return SErrorCodeEerverConfig.getFormatMessage(key, new Object[]{score,rank}); + return SErrorCodeEerverConfig.getFormatMessage(key, new Object[]{scoreStr,rank}); } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/soldier/SoldierLogic.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/soldier/SoldierLogic.java index c8356182e..4979d6883 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/soldier/SoldierLogic.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/soldier/SoldierLogic.java @@ -7,7 +7,6 @@ import com.ljsd.jieling.globals.BIReason; import com.ljsd.jieling.handler.map.MapLogic; import com.ljsd.jieling.logic.activity.event.Poster; import com.ljsd.jieling.logic.activity.event.SaveHeroForceEvent; -import com.ljsd.jieling.logic.activity.event.SoldierMainEvent; import com.ljsd.jieling.logic.dao.MainLevelManager; import com.ljsd.jieling.logic.dao.Soldier; import com.ljsd.jieling.logic.dao.TeamEnum; @@ -16,9 +15,6 @@ import com.ljsd.jieling.logic.dao.root.User; import com.ljsd.jieling.logic.hero.HeroLogic; import com.ljsd.jieling.logic.mission.GameEvent; import com.ljsd.jieling.logic.mission.MissionType; -import com.ljsd.jieling.logic.rank.RankContext; -import com.ljsd.jieling.logic.rank.RankEnum; -import com.ljsd.jieling.logic.rank.rankImpl.AbstractRank; import com.ljsd.jieling.network.session.ISession; import com.ljsd.jieling.util.CBean2Proto; import com.ljsd.jieling.util.ItemUtil; @@ -407,9 +403,9 @@ public class SoldierLogic { } builder.setResult(1); // 排行榜 - AbstractRank rank = RankContext.getRankEnum(RankEnum.MAIN_LEVEL_RANK.getType()); - rank.addRank(user.getId(), "", stageConfig.getId(), user.getPlayerInfoManager().getMaxForce()); - Poster.getPoster().dispatchEvent(new SoldierMainEvent(user.getId())); +// AbstractRank rank = RankContext.getRankEnum(RankEnum.MAIN_LEVEL_RANK.getType()); +// rank.addRank(user.getId(), "", stageConfig.getId(), user.getPlayerInfoManager().getMaxForce()); +// Poster.getPoster().dispatchEvent(new SoldierMainEvent(user.getId())); user.getUserMissionManager().onGameEvent(user, GameEvent.ONE_MISSION_TYPE_CONSUME, MissionType.SOLDIER_LAYER, 1); }