class_name Skills extends RefCounted ## The 9 skills and the attribute each is governed by (races-and-classes spec §2). ## Perception sits under FTH, not a standalone WIS — §8's FTH/MAG replace WIS/INT, ## so a Bonesetter is also the party's best lookout. LCK owns no skill (§7). const BY_ATTRIBUTE := { "athletics": "str", "intimidation": "str", "stealth": "dex", "sleight_of_hand": "dex", "acrobatics": "dex", "endurance": "con", "perception": "fth", "faith_lore": "fth", "sorcery": "mag", } const IDS := ["athletics", "intimidation", "stealth", "sleight_of_hand", "acrobatics", "endurance", "perception", "faith_lore", "sorcery"] static func exists(skill: String) -> bool: return BY_ATTRIBUTE.has(skill) static func attribute(skill: String) -> String: return str(BY_ATTRIBUTE.get(skill, ""))