Как вызывать
addon:Widget_GetSpellId(spellid, ranked)
Доступен напрямую через addon; зависимость не нужна.
Что делает
Определить идентификатор заклинания, сохранённый условием. При включённом точном ранге переданный ID сохраняется; иначе клиенты Classic с рангами определяют текущий известный ранг через каталог заклинаний. Если определить не удаётся, возвращаются nil и причина недоступности.
Аргументы
| Имя | Тип | Что делает |
|---|---|---|
self | RMAddon | Экземпляр аддона Rotation Master (неявно при вызове через двоеточие). |
spellid | number | Сохранённый ID заклинания для определения. |
ranked | boolean | nil | true — требовать именно этот ранг; false или nil — использовать доступный ранг. |
Возвращает
| 1 | number | nil | Определённый ID заклинания или nil, если недоступно. |
|---|---|---|
| 2 | string | nil | Причина недоступности при неудачном разрешении; nil при успехе. |
Издания
Встроенные помощники регистрируются во всех изданиях. Различается игровой API, который они читают; если нужного API нет, помощник использует запасной вариант или возвращает nil с причиной.
Не читает игровой API напрямую.
Как его вызывает аддон
- Любое заклинание доступно (evaluate)
local spellid, reason = addon:Widget_GetSpellId(value.spell, value.ranked) - Заряды любого заклинания (evaluate)
local spellid, reason = addon:Widget_GetSpellId(value.spell, value.ranked) - Восстановление любого заклинания (evaluate)
local spellid, reason = addon:Widget_GetSpellId(value.spell, value.ranked) - Любое заклинание в зоне досягаемости (evaluate)
local spellid, reason = addon:Widget_GetSpellId(value.spell, value.ranked) - Время перезарядки любого заклинания (evaluate)
local spellid, reason = addon:Widget_GetSpellId(value.spell, value.ranked) - Заклинание ротации Боевого помощника (evaluate)
local spellid, why = addon:Widget_GetSpellId(value.spell, value.ranked) - Предложение боевого помощника (evaluate)
local spellid, why = addon:Widget_GetSpellId(value.spell, value.ranked) - Заклинание питомца активно или ожидает (evaluate)
local spellid, reason = addon:Widget_GetSpellId(value.spell, false)
и ещё 17: Заклинание питомца доступно (evaluate), Заряды заклинания питомца (evaluate), Восстановление заклинания питомца (evaluate), История применений питомца (evaluate), Время в истории применений питомца (evaluate), Заклинание питомца в зоне досягаемости (evaluate), Время перезарядки заклинания питомца (evaluate), Заклинание активно или ожидает (evaluate), Автоповтор заклинания активен (evaluate), Заклинание доступно (evaluate), Заряды заклинания (evaluate), Восстановление заклинания (evaluate), Свечение эффекта заклинания (evaluate), История применений (evaluate), Время в истории применений (evaluate), Заклинание в зоне досягаемости (evaluate), Время перезарядки заклинания (evaluate)
Зависимости
SpellData(builtin:Conditions/common.lua:SpellData)
Исходный код
Conditions/common.lua, строка 37. В игре только для чтения; «Дублировать» создаёт редактируемую копию.
Conditions.common.Widget_GetSpellId(self, spellid, ranked)
if (WOW_PROJECT_ID ~= WOW_PROJECT_MAINLINE) then
if not ranked then
local resolved, reason = SpellData:GetSpellId(spellid)
return resolved, reason or (not resolved and "spell-data-unavailable" or nil)
end
end
return spellid