Это просто разные заклинания. Это делает неудобным некоторые вещи, когда мы склонны рассматривать их как разные ранги одного и того же заклинания.
Скорее всего, вам придется создать базу данных ранжированных заклинаний и выполнить поиск в ваших собственных таблицах как часть общей услуги, предоставляемой вашим аддоном.
https://wowwiki.fandom.com/wiki/API_GetSpellInfo
rank (строка) — строка ранга из всплывающей подсказки заклинания, например. «Ранг 2». Возвращает некоторую другую классификацию (например, «Призыв» для заклинания призыва) или пустую строку, если нет ранга.
Таким образом, этот «ранг» предназначен только для отображения дополнительной строки в пользовательском интерфейсе, если они хотят добавить ее для этого заклинания.
Как и многие вещи в API пользовательского интерфейса, они предназначены только для поддержки пользовательского интерфейса и в основном прагматичны и просто необходимы для отображения или выполнения функций пользовательского интерфейса WoW.
local subTextOrRank = GetSpellSubtext(spellId)
Это получает строку отображения ранга, которую новые движки могут не возвращать с информацией о заклинаниях. 'GetSpellSubtext' может возвращать или не возвращать текст ранга, если заклинание кэшируется на клиенте или нет, или, может быть, вы в конечном итоге видите, что оно работает каждый раз.
Я использовал этот список заклинаний для быстрой справки в прошлом:
http://kyle.13th-floor.org/wow/spells/spellsID, NameSubtext_lang, Description_lang, AuraDescription_lang
1
3
4
5, , Instantly Kills the target. I hope you feel good about yourself now.....
7
10, Rank 1, Ice shards pelt the target area doing $o1 Frost damage over $d.
11
4_0. текст
Для ответа на многие вопросы о данных, которые клиент имеет в наличии статически:
https://wow.tools/dbc/
Вот пример клиентской таблицы SpellName из текущей версии WoW Classic:
https://wow.tools/dbc/?dbc=spellname&build=1.13.3.32836#search=&page=1
Вот таблица заклинаний из той же версии WoW Classic:
https://wow.tools/dbc/?dbc=spell&build=1.13.3.32836#search=&page=1
ID, NameSubtext_lang, Description_lang, AuraDescription_lang
1
3
4
5, , Instantly Kills the target. I hope you feel good about yourself now.....
7
10, Rank 1, Ice shards pelt the target area doing $o1 Frost damage over $d.
11
Здесь вы можете видеть, что они буквально составили таблицу того, что нужно для отображения пользовательского интерфейса, и это не сложнее и глубже.
И если вы прочитаете список, вы увидите или вообразите, что он в основном сделан вручную, и, таким образом, могут быть ошибки или может быть текст, который помогает ранжировать поле описания, но нарушает согласованность. Это важно отметить, если вы собираетесь полагаться на поля строки таблицы для программных целей, где вам нужно будет знать и добавлять исключения в свой тест на ранг.
Вы можете попытаться просмотреть список заклинаний при загрузке и создать ранговый список на лету, но имейте в виду, что в этой таблице 21 000 заклинаний. Если вы беспокоитесь только о заклинаниях игрока, вы можете создать заранее созданный мини-список, хранящийся в виде таблицы для вашего собственного аддона, и это будет таблица только из сотен. У вас может быть базовое английское имя и минимальное и максимальное поле для ранга.
Я думаю, что 'GetSpellSubtext' в цикле, чтобы выплюнуть таблицу Lua на вашем локальном клиенте, в сочетании с таблицами и прокаткой небольшой базы данных может сломать для вас застревание в журнале.
person
Celess
schedule
30.12.2019