→ WoW API
Returns information about the player's specializations.
id, name, description, icon, background, role, primaryStat = GetSpecializationInfo(specIndex [, isInspect [, isPet [, inspectTarget [, sex]]]])
- Number - Index of the specialization to query, ascending from 1 to GetNumSpecializations().
- Optional boolean - If true, query specialization information for the inspected unit.
- Optional boolean - If true, query specialization information for the player's pet.
- some unknown argument not used anywhere in Blizzard API in 6.2.
- player's sex as returned by UnitSex.
- Number - specialization ID.
- String - specialization name, e.g. "Balance".
- String - description of the specialization, e.g. "Can take on the form of a powerful Moonkin, balancing the power of Arcane and Nature magic to destroy enemies at a distance."
- String - Texture path to this specialization's icon.
- String - Background texture name for this talent tree; prepend "Interface\TALENTFRAME\" to this value for a valid texture path.
- String - This specialization's intended role in a party, one of "DAMAGER", "TANK", "HEALER".
- spec's primary stat, as listed in SPEC_STAT_STRINGS global. 1 - Strength, 2 - Agility, 4 - Intellect.
- Despite the argument names, this function does not appear to return valid information for inspected units. FrameXML uses GetInspectSpecialization("unit") to retrieve a specialization ID instead.
Warning: As of 2012/07/12, this seems to be quite often buggy: The return of GetInspectSpecialization() should be a number less than 500, but sometimes is far greater and not interpretable. FrameXML is therefore 'validating' the value by calling GetSpecializationRoleByID(), and only if that returns a non-nil value, it decodes the number with GetSpecializationInfoByID().