修改法宝护佑相关系统
parent
3b1e6930d3
commit
1d3845d981
|
|
@ -899,8 +899,16 @@ public class EquipLogic {
|
|||
if (!StringUtil.isEmpty(baubles.getMasterId()) || !StringUtil.isEmpty(blessBaubles.getMasterId())){
|
||||
throw new ErrorCodeException(ErrorCode.SERVER_SELF_DEFINE, "法宝存在已庇佑情况");
|
||||
}
|
||||
int number = SSpecialConfig.getIntegerValue("Huyou_Number");
|
||||
if (baubles.getBlessList().size() >= number){
|
||||
int[][] number = SSpecialConfig.getTwiceArrayValue("Huyou_Number");
|
||||
int num = 0;
|
||||
//获取四灵试炼总层数
|
||||
int count = user.getPlayerInfoManager().getFourChallengeTotal();
|
||||
for(int[] position : number){
|
||||
if(count >= position[0]){
|
||||
num++;
|
||||
}
|
||||
}
|
||||
if (baubles.getBlessList().size() >= num){
|
||||
throw new ErrorCodeException(ErrorCode.SERVER_SELF_DEFINE, "法宝安装的庇佑数量以达到上限");
|
||||
}
|
||||
int openLevel = SSpecialConfig.getIntegerValue("Huyou_OpenLevel");
|
||||
|
|
|
|||
|
|
@ -3111,14 +3111,60 @@ public class HeroLogic {
|
|||
String heroBauBlesId = hero.getBauBlesId();
|
||||
Baubles baubles = equipManager.getBaubles(heroBauBlesId);
|
||||
if (baubles != null) {
|
||||
//统计满级护佑法宝的个数,用于计算满级护佑被动技能
|
||||
int maxLevelHuyuCount = 0;
|
||||
Map<Integer, SEquipTalismana> talismanaMap = SEquipTalismana.equipTalismanaStarMap.get(baubles.getEquipId());
|
||||
if (talismanaMap != null && !talismanaMap.isEmpty()) {
|
||||
SEquipTalismana equipTalismana = talismanaMap.get(baubles.getLevel());
|
||||
Map<Integer,Integer> add = new HashMap<Integer,Integer>();
|
||||
if (equipTalismana != null) {
|
||||
int increase = baubles.getBlessList().size() * SSpecialConfig.getIntegerValue("Huyou_UpAttribute");
|
||||
//计算护佑法宝属性
|
||||
if(baubles.getBlessList() != null && baubles.getBlessList().size() > 0){
|
||||
double increase = ((double)baubles.getBlessList().size() * SSpecialConfig.getIntegerValue("Huyou_UpAttribute"))/10000;
|
||||
for(String baublesId: baubles.getBlessList()){
|
||||
Baubles huBaubles = equipManager.getBaubles(heroBauBlesId);
|
||||
if(huBaubles != null){
|
||||
Map<Integer, SEquipTalismana> huTalismanaMap = SEquipTalismana.equipTalismanaStarMap.get(baubles.getEquipId());
|
||||
if (huTalismanaMap != null && !huTalismanaMap.isEmpty()) {
|
||||
int huLevel = huBaubles.getLevel();
|
||||
if(huLevel >= 50){
|
||||
maxLevelHuyuCount ++;
|
||||
}
|
||||
SEquipTalismana huEquipTalismana = talismanaMap.get(huLevel);
|
||||
if(huEquipTalismana != null){
|
||||
for (int[] pp : huEquipTalismana.getProperty()) {
|
||||
int addProp = 0;
|
||||
if(add.containsKey(pp[0])){
|
||||
addProp = add.get(pp[0]);
|
||||
}
|
||||
add.put(pp[0], (addProp + (int)(pp[1]*increase)));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
HashMap<Integer, Long> map = new HashMap<>();
|
||||
for (int[] pp : equipTalismana.getProperty()) {
|
||||
map.put(pp[0], (long) (pp[1] + increase));
|
||||
int addProp = 0;
|
||||
if(add.containsKey(pp[0])){
|
||||
addProp = add.get(pp[0]);
|
||||
}
|
||||
map.put(pp[0], (long) (pp[1] + addProp));
|
||||
}
|
||||
//计算满级护佑法宝激活的属性
|
||||
if(maxLevelHuyuCount > 0){
|
||||
int[][] huyouAddSkill = SSpecialConfig.getTwiceArrayValue(SSpecialConfig.Huyou_Add_Skill);
|
||||
if(huyouAddSkill != null && huyouAddSkill.length > 0){
|
||||
for(int[] skillProps : huyouAddSkill){
|
||||
if(!map.containsKey(skillProps[0])){
|
||||
map.put(skillProps[0],(long)(skillProps[1]*maxLevelHuyuCount));
|
||||
}else{
|
||||
long prop = map.get(skillProps[0]);
|
||||
map.put(skillProps[0],prop + (long)(skillProps[1]*maxLevelHuyuCount));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
// LOGGER.error("法宝加成:{},{}",map, increase);
|
||||
combinedAttribute(map, heroAllAttribute);
|
||||
|
|
|
|||
|
|
@ -91,6 +91,7 @@ public class SSpecialConfig implements BaseConfig {
|
|||
public static final String Gem_Senior_Lottery = "Gem_Senior_Lottery";//高级宝石单抽所需道具
|
||||
public static final String Gem_Senior_Lottery10 = "Gem_Senior_Lottery10";//高级宝石十连所需道具
|
||||
public static final String Sunlong_Add_Level = "Sunlong_Add_Level";//购买孙龙(青龙战令)增加的等级
|
||||
public static final String Huyou_Add_Skill = "Huyou_AddSkill";//满级护佑法宝激活的被动技能
|
||||
|
||||
@Override
|
||||
public void init() throws Exception {
|
||||
|
|
|
|||
Loading…
Reference in New Issue