ProfessionSpecs class
Static skill-id → sub-profession (spec) knowledge. There is no wire field for spec — it is derived from the skills a player has equipped (the AOI AttrSkillLevelIdList loadout carries each spec’s signature skills, so the spec is known the moment a player appears, before any combat) or, as a fallback, from the skills they cast. Mapping ported from the BPSR-ZDPS reference (Professions.GetSubProfessionIdBySkillId).
Sub-profession ids use the format <ProfessionId>_00_<SpecIndex> as decimal: 01_00_01 = 10001 (Stormblade / Iaido), 02_00_01 = 20001 (FrostMage / Icicle), etc.
public static class ProfessionSpecsPublic Members
Section titled “Public Members”| name | description |
|---|---|
| static FromLoadout(…) | Resolves the spec from an equipped-skill loadout (first signature-skill match), or null when no loadout skill maps to a spec. Pre-combat: works the moment the AOI broadcast delivers the loadout. |
| static Name(…) | Returns the English display name for the given sub-profession id, or null if the id is not recognised (including 0 / Unknown). |
| static SubProfessionFromSkill(…) | Returns the sub-profession id for the given skill id, or null if the skill id is not associated with any known spec (including skill id 0). |
| static TalentSchool(…) | Resolves the talent-school id (for school-lib gear-attr lookups) from a player’s SPEC. Returns 0 when the spec is unknown — the school gear-attr table is keyed by spec ids (104=Icicle …), NOT base-profession ids, so a base-profession fallback matched nothing and produced a silently-empty Advanced section (in-world 2026-06-13). 0 lets callers show an honest “spec unknown” message. |
See Also
Section titled “See Also”- namespace Stellar.Abstractions.Domain.GameData