Appel
Conditions.hero_talent.listedSpec(spec)
Enregistrez la dépendance Conditions.hero_talent.listedSpec, puis appelez-la sous ce nom. Un appel par espace de noms ne transmet pas self : utilisez un appel avec deux-points ou passez l'objet vous-même.
Ce qu'elle fait
Returns the specialization ID when it is one of the player's own class's specializations, which are the only ones whose hero talent trees the game can list. Reads the class from UnitClass and the choices from Platform:GetClassSpecializationChoices.
Arguments
| Nom | Type | Ce qu'elle fait |
|---|---|---|
spec | number | nil | Specialization ID of the rotation being edited. |
Retours
| 1 | number | nil | The same ID when the player's class has it; nil otherwise, or when the class or the list cannot be read. |
|---|
Éditions
Les fonctions utilitaires intégrées sont enregistrées sur toutes les éditions. Ce qui diffère, c'est l'API du jeu qu'elles lisent ; quand l'une manque, la fonction utilitaire se rabat sur une alternative ou renvoie nil avec une raison.
- Indisponible sur cette édition (la raison figure dans l'infobulle)
- Uniquement tant que les solutions de repli de Blizzard pour les fonctions obsolètes sont actives
| API du jeu | |||||
|---|---|---|---|---|---|
UnitClass |
Valeurs secrètes (Retail et Forever)
Sur Retail et Forever, le jeu transmet aux addons des valeurs secrètes. Cette fonction utilitaire vérifie ce qu'elle lit (addon.Platform:CanReadValue) et renvoie nil avec une raison telle que restricted-value au lieu d'une valeur secrète qu'elle ne peut pas comparer. Traitez nil comme indisponible, pas comme false.
Comment l'addon l'appelle
- Arbre de talents de héros (widget)
local listed = type(platform.GetHeroTreeChoices) == "function" and platform:GetHeroTreeChoices(listedSpec(spec))
Source
Conditions/hero_talent.lua, ligne 54. En lecture seule dans le jeu ; Dupliquer crée une copie modifiable.
Conditions.hero_talent.listedSpec(spec)
local platform = addon.Platform
if type(spec) ~= "number" or type(platform.GetClassSpecializationChoices) ~= "function" then return nil end
local ok, _, _, classID = pcall(UnitClass, "player")
if not ok or not platform:CanReadValue(classID) then return nil end
for _, choice in ipairs(platform:GetClassSpecializationChoices(classID) or {}) do
if choice.id == spec then return spec end
end




