修行技能脚本提交

back_recharge
yuanshuai 2021-10-19 16:27:25 +08:00
parent 75872a85e9
commit 50fca59741
4 changed files with 29 additions and 6 deletions

View File

@ -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;

View File

@ -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<Integer, SXiuXian> 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);
}
}
}
}

View File

@ -93,12 +93,9 @@ public class UpPracticeLevelHandler extends BaseHandler<HeroInfoProto.UpPractice
HeroLogic.sendMessageBySeal(user.getId());
}
///判断修行技能解锁
if (xiuXian2.getRealmId()>xiuXian.getRealmId()){
for (Map.Entry<Integer, Map<Integer, SPlayerSkill>> interMap : SPlayerSkill.getMapData().entrySet()) {
SPlayerSkill defaultSkill=interMap.getValue().get(1);
if (user.getHeroManager().getPracticeSkillMap().containsKey(defaultSkill.getSkillID()))continue;
if (xiuXian2.getRealmId()<defaultSkill.getXiuxianId())continue;
user.getHeroManager().setPracticeSkillMap(defaultSkill.getSkillID(),1);
if (xiuXian2.getPlayerSkill()!=null){
for (int practiceSkillId : xiuXian2.getPlayerSkill()) {
user.getHeroManager().setPracticeSkillMap(practiceSkillId,1);
}
}

View File

@ -72,6 +72,8 @@ public class PlayerManager extends MongoBase {
private int maxForce; //玩家历史最高战力
private int versionCode;//兼容版本号
private Map<Integer,Integer> guidePoints = new HashMap<>();
private Map<Integer,VipInfo> 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);
}
}