From 50fca59741acfcffd1640dbac0625942ede1c96d Mon Sep 17 00:00:00 2001 From: yuanshuai <243578945@qq.com> Date: Tue, 19 Oct 2021 16:27:25 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E8=A1=8C=E6=8A=80=E8=83=BD=E8=84=9A?= =?UTF-8?q?=E6=9C=AC=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/ljsd/jieling/core/GlobalsDef.java | 1 + .../jieling/handler/GetPlayerInfoHandler.java | 16 ++++++++++++++++ .../handler/hero/UpPracticeLevelHandler.java | 9 +++------ .../ljsd/jieling/logic/dao/PlayerManager.java | 9 +++++++++ 4 files changed, 29 insertions(+), 6 deletions(-) diff --git a/serverlogic/src/main/java/com/ljsd/jieling/core/GlobalsDef.java b/serverlogic/src/main/java/com/ljsd/jieling/core/GlobalsDef.java index 76188f10c..684e21d89 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/core/GlobalsDef.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/core/GlobalsDef.java @@ -2,6 +2,7 @@ package com.ljsd.jieling.core; public interface GlobalsDef { String DEFAULT_NAME = "无名妖灵师"; + int VERSION_CODE=1;//后端兼容版本号 int MAP_MISSION_RETURN = -9999; int MAP_MISSION_FAILURE = -10000; diff --git a/serverlogic/src/main/java/com/ljsd/jieling/handler/GetPlayerInfoHandler.java b/serverlogic/src/main/java/com/ljsd/jieling/handler/GetPlayerInfoHandler.java index 48dfc467c..dd3b241cd 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/handler/GetPlayerInfoHandler.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/handler/GetPlayerInfoHandler.java @@ -2,6 +2,7 @@ package com.ljsd.jieling.handler; import com.ljsd.GameApplication; import com.ljsd.jieling.config.clazzStaticCfg.HeroStaticConfig; +import com.ljsd.jieling.core.GlobalsDef; import com.ljsd.jieling.db.redis.RedisKey; import com.ljsd.jieling.db.redis.RedisUtil; import com.ljsd.jieling.globals.Global; @@ -158,6 +159,10 @@ public class GetPlayerInfoHandler extends BaseHandler{ }); } + if (playerInfoManager.getVersionCode()!= GlobalsDef.VERSION_CODE) { + calPractiveSkillData(user); + playerInfoManager.setVersionCode(GlobalsDef.VERSION_CODE); + } // 处理玩家旧头像框,兼容,一个玩家只执行一次 PlayerLogic.getInstance().checkOldHeadFrame(user); // 魂印图鉴,旧数据容错 @@ -310,5 +315,16 @@ public class GetPlayerInfoHandler extends BaseHandler{ } } } + //修行技能数据兼容 + private void calPractiveSkillData(User user) { + Map xiuxianConfigMap = STableManager.getConfig(SXiuXian.class); + for (int i = 1; i <= user.getHeroManager().getPracticeLevel(); i++) { + SXiuXian xiuxianConfig = xiuxianConfigMap.get(i); + if (xiuxianConfig.getPlayerSkill() == null) continue; + for (int skillId : xiuxianConfig.getPlayerSkill()) { + user.getHeroManager().setPracticeSkillMap(skillId, 1); + } + } + } } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/handler/hero/UpPracticeLevelHandler.java b/serverlogic/src/main/java/com/ljsd/jieling/handler/hero/UpPracticeLevelHandler.java index ab4b396e4..b0cb2d5de 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/handler/hero/UpPracticeLevelHandler.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/handler/hero/UpPracticeLevelHandler.java @@ -93,12 +93,9 @@ public class UpPracticeLevelHandler extends BaseHandlerxiuXian.getRealmId()){ - for (Map.Entry> interMap : SPlayerSkill.getMapData().entrySet()) { - SPlayerSkill defaultSkill=interMap.getValue().get(1); - if (user.getHeroManager().getPracticeSkillMap().containsKey(defaultSkill.getSkillID()))continue; - if (xiuXian2.getRealmId() guidePoints = new HashMap<>(); private Map vipInfo = new HashMap<>(); @@ -1279,5 +1281,12 @@ public class PlayerManager extends MongoBase { updateString("sevenWorldRelic",sevenWorldRelic); } + public int getVersionCode() { + return versionCode; + } + public void setVersionCode(int versionCode) { + this.versionCode = versionCode; + updateString("versionCode",versionCode); + } }