diff --git a/src/engine/objects/RuneBase.java b/src/engine/objects/RuneBase.java index af4e63fa..86ceb8e5 100644 --- a/src/engine/objects/RuneBase.java +++ b/src/engine/objects/RuneBase.java @@ -13,15 +13,13 @@ import engine.gameManager.DbManager; import engine.mbEnums; import engine.parsers.cache.CObjectIndex; import engine.parsers.objects.RuneTemplate; +import engine.parsers.objects.wpak.CharCreateRuneList; import engine.server.MBServerStatics; import engine.util.Hasher; import org.pmw.tinylog.Logger; import java.util.ArrayList; -import java.util.Arrays; import java.util.HashMap; -import java.util.HashSet; -import java.util.Set; import java.util.concurrent.ConcurrentHashMap; @@ -29,9 +27,6 @@ public class RuneBase extends AbstractGameObject { public static HashMap> AllowedBaseClassRunesMap = new HashMap<>(); public static HashMap> AllowedRaceRunesMap = new HashMap<>(); - // Flagged rune_is_standard_character_creation but missing from CharCreateRuneList.cfg ATTRRUNES: - // admin runes 2910/2911, unused duplicates, and Proficient with Bows (commented out in the cfg). - private static final Set NON_CREATION_TALENTS = new HashSet<>(Arrays.asList(2910, 2911, 250081, 250116, 250117, 250123, 250124, 250125)); private final String name; private final String description; private final ConcurrentHashMap race = new ConcurrentHashMap<>(MBServerStatics.CHM_INIT_CAP, MBServerStatics.CHM_LOAD, MBServerStatics.CHM_THREAD_LOW); @@ -187,7 +182,8 @@ public class RuneBase extends AbstractGameObject { if (!rune.rune_is_standard_character_creation || rune.rune_type != mbEnums.RuneType.TALENT) continue; - if (NON_CREATION_TALENTS.contains(rune.template_id)) + // ATTRRUNES leaves out flagged admin runes 2910/2911, unused duplicates and Proficient with Bows + if (!CharCreateRuneList._runeList.attr_runes.contains(rune.template_id)) continue; listedRaceIDs = new ArrayList<>();