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 41195cd12..0be56f1a9 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 @@ -2338,10 +2338,11 @@ public class HeroLogic{ int templateId = hero.getTemplateId(); int star = hero.getStar(); Map sHeroReturnMap = SHeroReturn.sheroReturnMap.get(templateId); - if(sHeroReturnMap == null || !sHeroReturnMap.containsKey(breakId)){ + int breakFloor = breakId==0?0:STableManager.getConfig(SCHeroRankUpConfig.class).get(breakId).getPhase()[1]; + if(sHeroReturnMap == null || !sHeroReturnMap.containsKey(breakFloor)){ throw new ErrorCodeException(ErrorCode.newDefineCode("not satisfy")); } - SHeroReturn sHeroReturn = sHeroReturnMap.get(breakId); + SHeroReturn sHeroReturn = sHeroReturnMap.get(breakFloor); boolean b = ItemUtil.itemCost(user, sHeroReturn.getReturnConsume(), BIReason.HERO_BACK_CONSUME, templateId * 100 + star); if(!b){ throw new ErrorCodeException(ErrorCode.HERO_ITEM_NOT); 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 7af213d71..643e84ae5 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 @@ -383,7 +383,9 @@ public class ItemLogic { heroManager.removeHero(uid,heroId); int[][] sumConsume = SHeroLevlConfig.getsHeroLevlConfigMap().get(hero.getLevel()).getSumConsume(); SHeroSacrifice starSHeroSacrifice = STableManager.getFigureConfig(HeroStaticConfig.class).getsHeroSacrificeMap(1, hero.getStar()); - SHeroSacrifice breakSHeroSacrifice = STableManager.getFigureConfig(HeroStaticConfig.class).getsHeroSacrificeMap(2, hero.getBreakId()); + int breakFloor = hero.getBreakId()==0?0:STableManager.getConfig(SCHeroRankUpConfig.class).get(hero.getBreakId()).getPhase()[1]; + + SHeroSacrifice breakSHeroSacrifice = STableManager.getFigureConfig(HeroStaticConfig.class).getsHeroSacrificeMap(2, breakFloor); for(int[] item:sumConsume){ baseItemMap.put(item[0],baseItemMap.getOrDefault(item[0],0)+item[1]); } diff --git a/tablemanager/src/main/java/config/SCHeroRankUpConfig.java b/tablemanager/src/main/java/config/SCHeroRankUpConfig.java index c414570e0..dbcc2025a 100644 --- a/tablemanager/src/main/java/config/SCHeroRankUpConfig.java +++ b/tablemanager/src/main/java/config/SCHeroRankUpConfig.java @@ -29,6 +29,8 @@ public class SCHeroRankUpConfig implements BaseConfig{ private int judgeClass; + private int[] phase; + @Override public void init() throws Exception { } @@ -79,4 +81,8 @@ public class SCHeroRankUpConfig implements BaseConfig{ public int[][] getSumConsume() { return sumConsume; } + + public int[] getPhase() { + return phase; + } }