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 f08742d72..eabbe8bc7 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 @@ -1527,9 +1527,7 @@ public class HeroLogic { //判断编队 for (HeroInfoProto.ConsumeMaterial consumeMaterial1 : consumeMaterialsList) { List heroIdsList = new ArrayList<>(); - consumeMaterial1.getHeroIdsList().stream() - .filter(v -> v.getType() == 1) - .forEach(v -> heroIdsList.add(v.getItemId())); + consumeMaterial1.getHeroIdsList().stream().filter(v -> v.getType() == 1).forEach(v -> heroIdsList.add(v.getItemId())); ErrorCode err = null; if (!heroIdsList.isEmpty()) { err = ItemLogic.getInstance().checkHeroResolve(heroIdsList, user); @@ -4548,10 +4546,7 @@ public class HeroLogic { User user = UserManager.getUser(uid); List heroList = new ArrayList<>(1); heroList.add(heroId); - // 鸿蒙阵 -// HeroLogic.getInstance().isUseFunction(user.getId(), HongMengFunctionEnum.HERO_BACK_TO_BEGIN.getPropertyId(), heroId); - boolean teamCheck = false; - ErrorCode err = ItemLogic.getInstance().checkHeroResolve(heroList, user, teamCheck); + ErrorCode err = ItemLogic.getInstance().checkHeroResolve(heroList, user, false); if (null != err) { throw new ErrorCodeException(err); } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/item/ItemLogic.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/item/ItemLogic.java index 8b3ad26bc..377b28f96 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/item/ItemLogic.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/item/ItemLogic.java @@ -488,8 +488,9 @@ public class ItemLogic { for (String id : heroIdsList) { Hero hero = user.getHeroManager().getHero(id); + Training training = hero.getTraining(); int maxLv = STrain.getMaxLv(hero.getTemplateId()); - if (hero.getTraining().getLv() == maxLv){ + if (training.getLv() == maxLv){ throw new ErrorCodeException(ErrorCode.SERVER_DEFINE, "特训满级英雄无法分解"); } } @@ -524,7 +525,16 @@ public class ItemLogic { // return tempReturn; // } - public ErrorCode checkHeroResolve(List heroIdsList, User user,boolean teamCheck) { + /** + * 检查英雄是否符合要求 + * @param heroIdsList + * @param user + * @param teamCheck + * true: 分解 + * false:归元 + * @return + */ + public ErrorCode checkHeroResolve(List heroIdsList, User user, boolean teamCheck) { HeroManager heroManager = user.getHeroManager(); if (heroIdsList.isEmpty()) { return ErrorCode.ITEM_DECOMPOSE_HERO_NO; @@ -538,6 +548,9 @@ public class ItemLogic { return ErrorCode.ITEM_DECOMPOSE_HERO_LOCK; } if(teamCheck){ + if (hero.getTraining().getIsTraining() == 1){ + return ErrorCode.HERO_UN_MATCH; + } int[] teamId = SSpecialConfig.getOnceArrayValue(SSpecialConfig.HERO_RESOLVE_LICENCE); boolean battleArray = HeroLogic.getInstance().isBattleArray(user, heroId, teamId); if (!battleArray) {