修改魂印计算属性

back_recharge
wangyuan 2020-04-15 14:51:11 +08:00
parent 734b7cb055
commit 322f1735b7
2 changed files with 29 additions and 5 deletions

View File

@ -999,6 +999,14 @@ public class HeroLogic{
} }
} }
} }
//魂印
Map<Integer, Integer> soulEquipByPositionMap = hero.getSoulEquipByPositionMap();
Map<Integer, SEquipConfig> config = STableManager.getConfig(SEquipConfig.class);
soulEquipByPositionMap.values().forEach(e->{
if(config.get(e).getPassiveSkill()!=0){
skillList.add(config.get(e).getPassiveSkill());
}
});
//法宝技能 //法宝技能
int[] equipTalismana = tempHero.getEquipTalismana(); int[] equipTalismana = tempHero.getEquipTalismana();
if(hero.getStar()<equipTalismana[0]){ if(hero.getStar()<equipTalismana[0]){
@ -1017,8 +1025,11 @@ public class HeroLogic{
public StringBuilder getHeroSkills(User user,Hero hero, StringBuilder sb){ public StringBuilder getHeroSkills(User user,Hero hero, StringBuilder sb){
List<Integer> heroSkillList = getHeroSkillList(user, hero); List<Integer> heroSkillList = getHeroSkillList(user, hero);
heroSkillList.forEach(skillId->{ heroSkillList.forEach(skill->{
sb.append(skillId).append(DIVISION); SPassiveSkillLogicConfig config = SPassiveSkillLogicConfig.getConfig(skill);
if(config!=null &&config.getEffectiveRange()==1){
sb.append(skill).append(DIVISION);
}
}); });
return sb; return sb;
} }
@ -1301,6 +1312,12 @@ public class HeroLogic{
combinedAttribute(property,heroAllAttribute); combinedAttribute(property,heroAllAttribute);
} }
Map<Integer, Integer> soulEquipByPositionMap = hero.getSoulEquipByPositionMap();
Map<Integer, SEquipConfig> equipConfigMap = STableManager.getConfig(SEquipConfig.class);
soulEquipByPositionMap.values().forEach(e->{
combinedAttribute( equipConfigMap.get(e).getProperty(),heroAllAttribute);
});
//阵营光环加成 //阵营光环加成
if(!isForce){ if(!isForce){
if(teamId!=0){ if(teamId!=0){
@ -1312,6 +1329,7 @@ public class HeroLogic{
} }
} }
} }
//被动技能加成 //被动技能加成
List<Integer> heroSkillList = CombatLogic.getInstance().passiveskillEffect(user, hero,teamId); List<Integer> heroSkillList = CombatLogic.getInstance().passiveskillEffect(user, hero,teamId);
Map<Integer, Integer> heroSkillAdMap = new HashMap<>(); Map<Integer, Integer> heroSkillAdMap = new HashMap<>();
@ -1328,9 +1346,9 @@ public class HeroLogic{
} }
calInteractAdd(heroAllAttribute); calInteractAdd(heroAllAttribute);
heroSkillList.forEach(skill->{ heroSkillList.forEach(skill->{
SPassiveSkillLogicConfig config = SPassiveSkillLogicConfig.getConfig(skill); SPassiveSkillLogicConfig configTmp = SPassiveSkillLogicConfig.getConfig(skill);
if(config.getValue()[2] ==4){ if(configTmp.getValue()[2] ==4){
PassiveskillCalEnum.calEnumMap.get(config.getType()).getPassiveSkillProcessor().process(config,hero,heroAllAttribute,heroSkillAdMap); PassiveskillCalEnum.calEnumMap.get(configTmp.getType()).getPassiveSkillProcessor().process(configTmp,hero,heroAllAttribute,heroSkillAdMap);
} }
}); });
if(!heroSkillAdMap.isEmpty()){ if(!heroSkillAdMap.isEmpty()){

View File

@ -19,6 +19,8 @@ public class SEquipConfig implements BaseConfig {
private int[] propertyMin; private int[] propertyMin;
private int[][] property;
private int[] propertyMax; private int[] propertyMax;
private int[] pool; private int[] pool;
@ -160,4 +162,8 @@ public class SEquipConfig implements BaseConfig {
public int getPassiveSkill() { public int getPassiveSkill() {
return passiveSkill; return passiveSkill;
} }
public int[][] getProperty() {
return property;
}
} }