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 19f5385f5..7609c1182 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 @@ -1328,7 +1328,7 @@ public class HeroLogic{ if(equipTalismana.length<1 ||hero.getStar() sEquipTalismana = SEquipTalismana.equipTalismanaStarMap.get(especialEquipId); sEquipTalismana.forEach((k,v)->{ @@ -4171,8 +4171,18 @@ public class HeroLogic{ public boolean isUseFunction(int uid,int functionId,String... heroId) throws Exception { User user = UserManager.getUser(uid); HeroManager heroManager = user.getHeroManager(); + // 记录每个英雄 + Map heroMap = new HashMap<>(heroId.length); + for (int i = 0; i < heroId.length; i++) { + // 属性初始化 int[] value = null; + heroMap.put(heroId[i],false); + + if ("".equals(heroId[i]) || heroId[i] == null){ + heroMap.put(heroId[i],true); + continue; + } // 鸿蒙守卫 if (heroManager.getHongmengTablet() <= 0 && heroManager.getHongmengGuards().values().contains(heroId[i])){ value = SSpecialConfig.getOnceArrayValue(SSpecialConfig.HONGMENG_GUARD_LIMIT); @@ -4186,16 +4196,19 @@ public class HeroLogic{ value = SSpecialConfig.getOnceArrayValue(SSpecialConfig.HONGMENG_TAKE_LIMIT); } if (value == null){ - return true; + heroMap.put(heroId[i],true); + continue; } // 包含类型,返回false for (int j = 0; j < value.length; j++) { if (value[j] == functionId){ - return true; + heroMap.put(heroId[i],true); + break; } } } - return false; + boolean contains = heroMap.values().contains(false); + return !contains; } } diff --git a/tablemanager/src/main/java/config/SWorldBossRewardConfig.java b/tablemanager/src/main/java/config/SWorldBossRewardConfig.java index 213a7433c..baab5e880 100644 --- a/tablemanager/src/main/java/config/SWorldBossRewardConfig.java +++ b/tablemanager/src/main/java/config/SWorldBossRewardConfig.java @@ -19,6 +19,8 @@ public class SWorldBossRewardConfig implements BaseConfig { private int type; + private int bossId; + public static Map> rewardByTypeAndRankMap = new HashMap<>(); @@ -50,4 +52,8 @@ public class SWorldBossRewardConfig implements BaseConfig { public int getType() { return type; } + + public int getBossId() { + return bossId; + } } \ No newline at end of file