添加命格计算战斗力逻辑

back_recharge
yuanshuai 2021-12-08 17:03:28 +08:00 committed by duhui
parent 487722d6ac
commit a66ff0d2ba
1 changed files with 25 additions and 14 deletions

View File

@ -2659,7 +2659,7 @@ public class HeroLogic {
//英雄皮肤加成 记得判断皮肤过期
int skin = hero.getSkin();
if (skin != 0) {
Map<Integer, Integer> skinInfo = user.getHeroManager().getSkinInfo();
Map<Integer, Integer> skinInfo = heroManager.getSkinInfo();
SHeroSkin sHeroSkin = SHeroSkin.skinMapByType.get(skin);
if (sHeroSkin != null && sHeroSkin.getMonomerProperty() != null && sHeroSkin.getMonomerProperty().length > 0) {
if (skinInfo.containsKey(skin) && (skinInfo.get(skin) == -1 || skinInfo.get(skin) > TimeUtils.nowInt())) {
@ -2689,7 +2689,7 @@ public class HeroLogic {
combinedAttribute(SPlayerHeadIcon.getHeadIconMap().get(entry.getKey()).getUnlockProperty(), heroAllAttribute);
}
//四象心法加成
for (Map.Entry<Integer, SixiangProfessionInfo> entry : user.getHeroManager().getSixiangDataMap().entrySet()) {
for (Map.Entry<Integer, SixiangProfessionInfo> entry :heroManager.getSixiangDataMap().entrySet()) {
if (scHero.getProfession() != entry.getKey()) {
continue;
}
@ -2697,22 +2697,22 @@ public class HeroLogic {
Map<Integer, Integer> propertyMap = entry.getValue().propertyMap;
int[][] propArr = ItemUtil.mapToArray(propertyMap);
combinedAttribute(propArr, heroAllAttribute);
if (user.getHeroManager().getSixiangPropUpMap().containsKey(entry.getKey())) {
if (heroManager.getSixiangPropUpMap().containsKey(entry.getKey())) {
//进阶属性
Map<Integer, Integer> upStarPropertyMap = user.getHeroManager().getSixiangPropUpMap().get(entry.getKey());
Map<Integer, Integer> upStarPropertyMap = heroManager.getSixiangPropUpMap().get(entry.getKey());
int[][] upStarProp = ItemUtil.mapToArray(upStarPropertyMap);
combinedAttribute(upStarProp, heroAllAttribute);
}
}
///四象心法共鸣属性加成
if (user.getHeroManager().GetSiXiangGongMingLv() > 0) {
SFourQuadrantConfig fourConfig = SFourQuadrantConfig.configByStrtMap.get(user.getHeroManager().GetSiXiangGongMingLv());
if (heroManager.GetSiXiangGongMingLv() > 0) {
SFourQuadrantConfig fourConfig = SFourQuadrantConfig.configByStrtMap.get(heroManager.GetSiXiangGongMingLv());
combinedAttribute(fourConfig.getPropResonance(), heroAllAttribute);
}
///四象心法技能属性加成
Map<Integer, Integer> skillPropertyMap = new HashMap<>();
for (Map.Entry<Integer, SixiangProfessionInfo> entry : user.getHeroManager().getSixiangDataMap().entrySet()) {
for (Map.Entry<Integer, SixiangProfessionInfo> entry : heroManager.getSixiangDataMap().entrySet()) {
if (entry.getValue().level > 0) {
SFourQuadrantConfig fourConfig = SFourQuadrantConfig.configByStrtMap.get(entry.getValue().level);
int[] skillAddProp = fourConfig.getSkill()[entry.getKey() - 1];
@ -2723,25 +2723,36 @@ public class HeroLogic {
combinedAttribute(skillProp, heroAllAttribute);
//英雄好感度属性加成
if (user.getHeroManager().getHeroLikablePropAddMap().containsKey(scHero.getId())) {
int[][] likableProp = ItemUtil.mapToArray(user.getHeroManager().getHeroLikablePropAddMap().get(scHero.getId()));
if (heroManager.getHeroLikablePropAddMap().containsKey(scHero.getId())) {
int[][] likableProp = ItemUtil.mapToArray(heroManager.getHeroLikablePropAddMap().get(scHero.getId()));
combinedAttribute(likableProp, heroAllAttribute);
}
//英雄总好感度属性加成
if (user.getHeroManager().getAllLikablePropAddMap().size() > 0) {
int[][] allLikableProp = ItemUtil.mapToArray(user.getHeroManager().getAllLikablePropAddMap());
if (heroManager.getAllLikablePropAddMap().size() > 0) {
int[][] allLikableProp = ItemUtil.mapToArray(heroManager.getAllLikablePropAddMap());
combinedAttribute(allLikableProp, heroAllAttribute);
}
///法宝之魂属性加成
for (Map.Entry<Integer, Integer> faBaoSoulEntry : user.getHeroManager().getFaBaoSoulMap().entrySet()) {
for (Map.Entry<Integer, Integer> faBaoSoulEntry :heroManager.getFaBaoSoulMap().entrySet()) {
STrump trumpConfig = STrump.sTrumpMap.get(faBaoSoulEntry.getKey());
STrumpLevelupPool lvUpProps = STrumpLevelupPool.levelPoolMap.get(trumpConfig.getLvupPool()).get(faBaoSoulEntry.getValue());
combinedAttribute(lvUpProps.getLvupProps(), heroAllAttribute);
}
///命格属性加成
for (Map.Entry<Integer, Map<Integer, Integer>> lifeGridMapEntry : heroManager.getLifeGridMap().entrySet()) {
for (Map.Entry<Integer, Integer> entry : lifeGridMapEntry.getValue().entrySet()) {
int lifeStoneId=entry.getValue();
if (lifeStoneId>0){
SGemConfig sGemConfig=STableManager.getConfig(SGemConfig.class).get(lifeStoneId);
combinedAttribute(sGemConfig.getProperty(), heroAllAttribute);
}
}
}
// 身外化身加成
Map<Integer, TransformationInfo> transformationList = user.getHeroManager().getTransformationList();
Map<Integer, TransformationInfo> transformationList = heroManager.getTransformationList();
Map<Integer, SChangingCard> changingCardMap = STableManager.getConfig(SChangingCard.class);
int[][] arrayValue = SSpecialConfig.getTwiceArrayValue(SSpecialConfig.PER_CHANGING_CART_PROP);
for (TransformationInfo info : transformationList.values()) {
@ -2756,7 +2767,7 @@ public class HeroLogic {
//装备总战力评分
int equipForce = 0;
Iterator<Map.Entry<Integer, Integer>> iterator = hero.getEquipByHongmengPositionMap(user.getHeroManager()).entrySet().iterator();
Iterator<Map.Entry<Integer, Integer>> iterator = hero.getEquipByHongmengPositionMap(heroManager).entrySet().iterator();
// 套装list初始化
ArrayList<SEquipConfig> suiteNumList = new ArrayList<>();
while (iterator.hasNext()) {