Merge branch 'master_dev' into master_otnew

# Conflicts:
#	serverlogic/src/main/java/com/ljsd/jieling/logic/hero/HeroLogic.java
grimm 2023-12-25 15:48:01 +08:00
commit bb58217020
2 changed files with 17 additions and 9 deletions

View File

@ -1527,9 +1527,7 @@ public class HeroLogic {
//判断编队
for (HeroInfoProto.ConsumeMaterial consumeMaterial1 : consumeMaterialsList) {
List<String> 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<String> 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);
}

View File

@ -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<String> heroIdsList, User user,boolean teamCheck) {
/**
*
* @param heroIdsList
* @param user
* @param teamCheck
* true
* false
* @return
*/
public ErrorCode checkHeroResolve(List<String> 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) {