diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/hero/HeroLogic.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/hero/HeroLogic.java index 4b1033768..35ae9c47e 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/hero/HeroLogic.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/hero/HeroLogic.java @@ -1315,21 +1315,34 @@ public class HeroLogic { public int calPokenmonForce(Pokemon pokemon){ Map pokemonAttributeMap = new HashMap<>(); + combinePokemonAttribute(pokemonAttributeMap, pokemon); + return calForce(pokemonAttributeMap); + } + + public int calAllPokenmonForce(User user){ + Map pokemonAttributeMap = new HashMap<>(); + Map pokemonMap = user.getPokemonManager().getPokemonMap(); + for(Pokemon pokemon : pokemonMap.values()){ + combinePokemonAttribute(pokemonAttributeMap, pokemon); + } + return calForce(pokemonAttributeMap); + } + + private void combinePokemonAttribute(Map pokemonAttributeMap, Pokemon pokemon) { Map comonpentsLevelMap = pokemon.getComonpentsLevelMap(); - for(Map.Entry comonpentsLevelItem : comonpentsLevelMap.entrySet()){ + for (Map.Entry comonpentsLevelItem : comonpentsLevelMap.entrySet()) { Integer comonpentId = comonpentsLevelItem.getKey(); Integer comonpentLevel = comonpentsLevelItem.getValue(); Map sDifferDemonsComonpentsConfigMap = SDifferDemonsComonpentsConfig.getsDifferDemonsComonpentsConfigMap(comonpentId); SDifferDemonsComonpentsConfig sDifferDemonsComonpentsConfig = sDifferDemonsComonpentsConfigMap.get(comonpentLevel); Map> extraAddMap = sDifferDemonsComonpentsConfig.getExtraAddMap(); - combinedAttribute(sDifferDemonsComonpentsConfig.getBaseAttribute(),pokemonAttributeMap); - if(extraAddMap!=null){ - for(Map item : extraAddMap.values()){ - combinedAttribute(item,pokemonAttributeMap); + combinedAttribute(sDifferDemonsComonpentsConfig.getBaseAttribute(), pokemonAttributeMap); + if (extraAddMap != null) { + for (Map item : extraAddMap.values()) { + combinedAttribute(item, pokemonAttributeMap); } } } - return calForce(pokemonAttributeMap); } public int calEquipForce(Equip equip){ diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/MissionLoigc.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/MissionLoigc.java index 96ae8e5da..91ff03840 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/MissionLoigc.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/MissionLoigc.java @@ -120,10 +120,7 @@ public class MissionLoigc { break; case POKEMON_ALL_FORCE: - Map pokemonMap = user.getPokemonManager().getPokemonMap(); - for(Pokemon pokemon : pokemonMap.values()){ - count = HeroLogic.getInstance().calPokenmonForce(pokemon); - } + count = HeroLogic.getInstance().calAllPokenmonForce(user); break; case ARENA_CHALLENEGE_NUMS: count = cumulationData.getArenaFightNums();