Référence › Référence des fonctions › Conditions

Conditions.hero_talent.listedSpec

dépendance

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

NomTypeCe qu'elle fait
specnumber | nilSpecialization ID of the rotation being edited.

Retours

1number | nilThe 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 jeuClassic EraTBC AnniversaryClassic ProgressionForeverRetail
UnitClassClassic EraTBC AnniversaryClassic ProgressionForeverRetail

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

Retour à Référence des fonctions