Справочник › Справочник функций › Conditions

Conditions.hero_talent.listedSpec

зависимость

Как вызывать

Conditions.hero_talent.listedSpec(spec)

Запишите зависимость Conditions.hero_talent.listedSpec и вызывайте её по этому имени. Вызов через пространство имён не передаёт self: используйте вызов через двоеточие или передайте объект сами.

Что делает

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.

Аргументы

ИмяТипЧто делает
specnumber | nilSpecialization ID of the rotation being edited.

Возвращает

1number | nilThe same ID when the player's class has it; nil otherwise, or when the class or the list cannot be read.

Издания

Встроенные помощники регистрируются во всех изданиях. Различается игровой API, который они читают; если нужного API нет, помощник использует запасной вариант или возвращает nil с причиной.

  • Недоступно в этом издании (причина — во всплывающей подсказке)
  • Только пока включены запасные реализации Blizzard для устаревших функций
Игровой APIClassic EraTBC AnniversaryClassic ProgressionForeverRetail
UnitClassClassic EraTBC AnniversaryClassic ProgressionForeverRetail

Секретные значения (Retail и Forever)

В Retail и Forever игра передаёт аддонам секретные значения. Этот помощник проверяет то, что читает (addon.Platform:CanReadValue), и вместо секретного значения, которое нельзя сравнить, возвращает nil с причиной, например restricted-value. Считайте nil недоступным значением, а не ложью.

Как его вызывает аддон

Исходный код

Conditions/hero_talent.lua, строка 54. В игре только для чтения; «Дублировать» создаёт редактируемую копию.

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

Назад: Справочник функций