From 5824f34a7980dcf8717830250081b389478802e1 Mon Sep 17 00:00:00 2001 From: MagicBot Date: Sun, 25 Oct 2026 08:22:48 -0400 Subject: [PATCH] Take creation talents from CharCreateRuneList ATTRRUNES Replaces the hard-coded NON_CREATION_TALENTS exclusions. ATTRRUNES (84) equals the 92 flagged creation talents minus exactly those 8 runes, so the talent lists are unchanged. Co-Authored-By: Claude Opus 5.5 --- src/engine/objects/RuneBase.java | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) 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<>();