From 4b3a1a1e42771c9f9448f9ded55de0e7b2cef8b2 Mon Sep 17 00:00:00 2001 From: yuanshuai <243578945@qq.com> Date: Tue, 19 Oct 2021 15:40:05 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E8=A1=8C=E6=8A=80=E8=83=BD=E9=80=BB?= =?UTF-8?q?=E8=BE=91=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/ljsd/jieling/exception/ErrorCode.java | 1 + .../com/ljsd/jieling/globals/BIReason.java | 1 + .../hero/PracticeSkillUpRequestHandler.java | 24 ++++- .../handler/hero/UpPracticeLevelHandler.java | 11 +++ .../src/main/java/config/SPlayerSkill.java | 98 +++++++++++++++++++ 5 files changed, 133 insertions(+), 2 deletions(-) create mode 100644 tablemanager/src/main/java/config/SPlayerSkill.java diff --git a/serverlogic/src/main/java/com/ljsd/jieling/exception/ErrorCode.java b/serverlogic/src/main/java/com/ljsd/jieling/exception/ErrorCode.java index 9346a3dc3..f1b8997ce 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/exception/ErrorCode.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/exception/ErrorCode.java @@ -174,6 +174,7 @@ public enum ErrorCode implements IErrorCode { CHAT_NOT_CROSS(143,"聊天检查,没有跨服分组"), SIXIANG_UP_LIMIT(144,"强化已达上限"), CROSS_YXLD_OVER(145,"赛季结算中"), + PRACTICE_LEVE_DOWN(146,"修行等级不足"), ; private static final Set CodeSet = new HashSet<>(); diff --git a/serverlogic/src/main/java/com/ljsd/jieling/globals/BIReason.java b/serverlogic/src/main/java/com/ljsd/jieling/globals/BIReason.java index ef546e71b..0730d2fc6 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/globals/BIReason.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/globals/BIReason.java @@ -359,4 +359,5 @@ public interface BIReason { int SEVEN_WORLD_ACTIVITY_END = 1213;//七界活动结束 int SEVEN_WORLD_TREASURE = 1214;//七界秘宝 int LEVEL_UP_REWARD = 1220;// 玩家升级赠与的道具 + int PRACTICE_SKILL_UP_COST=1221;//修行技能升级消耗 } \ No newline at end of file diff --git a/serverlogic/src/main/java/com/ljsd/jieling/handler/hero/PracticeSkillUpRequestHandler.java b/serverlogic/src/main/java/com/ljsd/jieling/handler/hero/PracticeSkillUpRequestHandler.java index e340a8162..f29bfeb26 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/handler/hero/PracticeSkillUpRequestHandler.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/handler/hero/PracticeSkillUpRequestHandler.java @@ -4,6 +4,7 @@ import com.ljsd.jieling.exception.ErrorCode; import com.ljsd.jieling.exception.ErrorCodeException; import com.ljsd.jieling.globals.BIReason; import com.ljsd.jieling.handler.BaseHandler; +import com.ljsd.jieling.logic.dao.HeroManager; import com.ljsd.jieling.logic.dao.SixiangProfessionInfo; import com.ljsd.jieling.logic.dao.UserManager; import com.ljsd.jieling.logic.dao.root.User; @@ -11,6 +12,7 @@ import com.ljsd.jieling.network.session.ISession; import com.ljsd.jieling.util.ItemUtil; import com.ljsd.jieling.util.MessageUtil; import config.SFourQuadrantConfig; +import config.SPlayerSkill; import org.springframework.stereotype.Component; import rpc.protocols.CommonProto; import rpc.protocols.HeroInfoProto; @@ -30,9 +32,27 @@ public class PracticeSkillUpRequestHandler extends BaseHandler skillMap = user.getHeroManager().getPracticeSkillMap(); + HeroManager heroManager=user.getHeroManager(); + int practiceLv=heroManager.getPracticeLevel(); + int skillLv=0; + if (heroManager.getPracticeSkillMap().containsKey(skillId)){ + skillLv=heroManager.getPracticeSkillMap().get(skillId); + } + int nextSkillLv=skillLv+1; + SPlayerSkill nextPlayerSkill=SPlayerSkill.GetSPlayerSkill(skillId,nextSkillLv); + if (nextPlayerSkill==null||practiceLvxiuXian.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()>mapData; + + public static Map sPrivilegeTypeConfigMap; + + @Override + public void init() throws Exception { + mapData=new HashMap<>(); + sPrivilegeTypeConfigMap= STableManager.getConfig(SPlayerSkill.class); + for (Map.Entry integer : sPrivilegeTypeConfigMap.entrySet()) { + SPlayerSkill skill=integer.getValue(); + if (!mapData.containsKey(skill.getSkillID())){ + MapskillMap=new HashMap<>(); + mapData.put(skill.getSkillID(),skillMap); + } + mapData.get(skill.getSkillID()).put(skill.getLevel(),skill); + } + } + + public int getId() { + return id; + } + + public int getSkillID() { + return skillID; + } + + public int getXiuxianId() { + return xiuxianId; + } + + public int[] getSkillIDList() { + return skillIDList; + } + + public int[] getReleasePoint() { + return releasePoint; + } + + public int[][] getReleaseLimit() { + return releaseLimit; + } + + public int getcDCount() { + return cDCount; + } + + public int getLevel() { + return level; + } + + public int[][] getLvupCost() { + return lvupCost; + } + + public int getSort() { + return sort; + } + + public static SPlayerSkill GetSPlayerSkill(int skillId,int skillLv){ + if (!mapData.containsKey(skillId)||!mapData.get(skillId).containsKey(skillLv))return null; + return mapData.get(skillId).get(skillLv); + } + + public static Map> getMapData() { + return mapData; + } +} \ No newline at end of file