修仙修改
parent
a4027f9f0f
commit
294bae6c89
|
@ -1,5 +1,6 @@
|
|||
package com.ljsd.jieling.handler.hero;
|
||||
|
||||
import com.googlecode.protobuf.format.JsonFormat;
|
||||
import com.ljsd.jieling.exception.ErrorCode;
|
||||
import com.ljsd.jieling.exception.ErrorCodeException;
|
||||
import com.ljsd.jieling.handler.BaseHandler;
|
||||
|
@ -43,20 +44,42 @@ public class XiuxianLevelUpRequestHandler extends BaseHandler<HeroInfoProto.Sixi
|
|||
}
|
||||
PlayerManager playerInfoManager = user.getPlayerInfoManager();
|
||||
int xiuweiLevel = heroManager.getXiuweiLevel();
|
||||
int maxLevel = SSpecialConfig.getIntegerValue(SSpecialConfig.FightForPerXiuweiLevel);
|
||||
int[] maxLevelArr = SSpecialConfig.getOnceArrayValue(SSpecialConfig.MaxXiuweiLevel);
|
||||
int maxLevel = maxLevelArr[maxLevelArr.length - 1];
|
||||
if (xiuweiLevel >= maxLevel) {
|
||||
throw new ErrorCodeException("已修行至最大等级");
|
||||
}
|
||||
int integerValue = SSpecialConfig.getIntegerValue(SSpecialConfig.FightForPerXiuweiLevel);
|
||||
int maxForce = playerInfoManager.getMaxForce();
|
||||
int curMaxLevel = maxForce / integerValue;
|
||||
long[] fightForPerXiuweiForces = SSpecialConfig.getOnceArrayLongValue(SSpecialConfig.FightForPerXiuweiForces);
|
||||
int curIndex = -1;
|
||||
for (int i = 0; i < fightForPerXiuweiForces.length; i++) {
|
||||
if (maxForce < fightForPerXiuweiForces[i]) {
|
||||
curIndex = i;
|
||||
break;
|
||||
}
|
||||
}
|
||||
int curMaxLevel = 0;
|
||||
if (curIndex == -1) {
|
||||
curMaxLevel = maxLevel;
|
||||
} else {
|
||||
int integerValue[] = SSpecialConfig.getIntegerArrayValue(SSpecialConfig.FightForPerXiuweiLevel);
|
||||
int fightForPerXiuweiLevel = integerValue[curIndex];
|
||||
if (curIndex - 1 >= 0) {
|
||||
maxForce -= fightForPerXiuweiForces[curIndex - 1];
|
||||
}
|
||||
curMaxLevel = maxForce / fightForPerXiuweiLevel;
|
||||
if (curIndex - 1 >= 0) {
|
||||
curMaxLevel += maxLevelArr[curIndex - 1];
|
||||
}
|
||||
}
|
||||
if (xiuweiLevel >= curMaxLevel) {
|
||||
throw new ErrorCodeException("已修行至当前战力最大等级");
|
||||
}
|
||||
heroManager.setXiuweiLevel(curMaxLevel);
|
||||
HeroInfoProto.XiuxianLevelUpResponse xiuxianLevelUpResponse = HeroInfoProto.XiuxianLevelUpResponse.newBuilder()
|
||||
.setXiuxianLevel(heroManager.getXiuweiLevel())
|
||||
.setXiuxianLevel(curMaxLevel)
|
||||
.build();
|
||||
String s = JsonFormat.printToString(xiuxianLevelUpResponse);
|
||||
MessageUtil.sendMessage(session, 1, MessageTypeProto.MessageType.XIUXIAN_XIUWEI_UP_RESPONSE_VALUE, xiuxianLevelUpResponse, true);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -39,6 +39,7 @@ public class SSpecialConfig implements BaseConfig {
|
|||
|
||||
public static final String MaxXiuweiLevel = "MaxXiuweiLevel";//修为等级最大值
|
||||
public static final String FightForPerXiuweiLevel = "FightForPerXiuweiLevel";//修为单级别所需战力
|
||||
public static final String FightForPerXiuweiForces = "FightForPerXiuweiForces";//修为各阶段最大战力
|
||||
public static final String DailyNumForStarsOfHardStage = "DailyNumForStarsOfHardStage";//每有1困难关卡星级每日可领取玉衡龙魂丹数量
|
||||
public static final String BasicNumOfHardStage = "BasicNumOfHardStage";//每日领取玉衡龙魂丹基础数量
|
||||
|
||||
|
@ -158,6 +159,17 @@ public class SSpecialConfig implements BaseConfig {
|
|||
}
|
||||
return arrayNum;
|
||||
}
|
||||
|
||||
public static long[] getOnceArrayLongValue(String key) {
|
||||
String value = enumers.get(key);
|
||||
String[] array = value.split("\\#");
|
||||
long[] arrayNum = new long[array.length];
|
||||
for (int i = 0; i < array.length; i++) {
|
||||
arrayNum[i] = Long.parseLong(array[i]);
|
||||
}
|
||||
return arrayNum;
|
||||
}
|
||||
|
||||
public static List<Integer> getListValue(String key) {
|
||||
List<Integer> list = new LinkedList<>();
|
||||
String value = enumers.get(key);
|
||||
|
|
Loading…
Reference in New Issue