WeakAuras у стандартному інтерфейсі WoW? – Нові натяки від Blizzard

У новій збірці PTR оновлення 11.1 додано два нових файли, які можуть вказувати на появу вбудованого у стандартний інтерфейс WoW відстеження бафів у стилі WeakAuras.
Попередні роздуми
Останні кілька років аддони були предметом активних обговорень, оскільки модифікації для босів, WeakAuras та інші аддони стали настільки потужними, що неабияк впливають на задоволення гравців під час гри. Blizzard неодноразово відповідала на запитання щодо аддонів у контенті ендгейму — ще до виходу Dragonflight, коли були анонсовані Private Auras, і навіть нещодавно, заявивши, що деякі функції аддонів, ймовірно, будуть обмежені.
Вони неодноразово визнавали, що змушені враховувати існування аддонів під час створення рейдів. Між розробниками аддонів і Blizzard триває своєрідна “гонка озброєнь” — Blizzard доводиться проєктувати бої, виходячи з того, що всі гравці використовують найсучасніші аддони та WeakAuras. Це призводить до надзвичайно складних механік, що, у свою чергу, змушує ще більше гравців використовувати аддони та WeakAuras, і цикл повторюється.
Зважаючи на це, в інтерв’ю для PCGamer у грудні Іон Газзікостас зазначив:
Що наразі відомо?
У нових змінах на PTR патчу 11.1 були додані два нових файли Lua з такими назвами: CooldownViewerConstantsDocumentation і CooldownViewerDocumentation. Подібно до документації з оселями для гравців, яку вперше виявили на PTR Cataclysm (а тепер вона знову з’явилася в цьому PTR 11.1), це може свідчити про підготовку нової функції.
Існує кілька категорій:
- Essential
- Utility
- TrackedBuff
- TrackedBar
Також присутні деякі поля для відстеження часу відновлення здібностей:
- spellID
- linkedSpellIDs
- selfAura
- hasAura
- charges
З початкових припущень, це, як мінімум, виглядає як вбудований трекер відкатів здібностей у стандартному інтерфейсі, схожий на OmniCD. Можна навіть припустити, що цей інструмент буде розвиватися, і розробники додадуть деякі функції WeakAuras у базовий UI — наприклад, можливість відстежувати «ключові» ротаційні бафи, контролювати час відновлення власних здібностей та групи, а також переглядати бафи й каст-бари союзників або ворогів.
Є версії, що це може бути форма відстеження часу відновлення здібностей для групи, схожа на OmniCD або те, що використовують у кіберспортивних подіях:
Як зазначав Іон, одна з головних причин, чому гравці використовують WeakAuras, — це можливість перемістити важливі бафи та дебафи в центр екрану під час динамічного бою, не перевантажуючи екран. Якби стандартний інтерфейс дозволяв це робити, це стало б значною перевагою для багатьох гравців!
Повні файли
CooldownViewerConstantsDocumentation.lua
{
Tables =
{
{
Name = “CooldownViewerCategory”,
Type = “Enumeration”,
NumValues = 4,
MinValue = 0,
MaxValue = 3,
Fields =
{
{ Name = “Essential”, Type = “CooldownViewerCategory”, EnumValue = 0 },
{ Name = “Utility”, Type = “CooldownViewerCategory”, EnumValue = 1 },
{ Name = “TrackedBuff”, Type = “CooldownViewerCategory”, EnumValue = 2 },
{ Name = “TrackedBar”, Type = “CooldownViewerCategory”, EnumValue = 3 },
},
},
{
Name = “CooldownViewerUIConstants”,
Type = “Constants”,
Values =
{
{ Name = “COOLDOWN_VIEWER_LINKED_SPELLS_SIZE”, Type = “number”, Value = 4 },
{ Name = “COOLDOWN_VIEWER_CATEGORY_SET_SIZE”, Type = “number”, Value = 16 },
},
},
},
};
APIDocumentation:AddDocumentationTable(CooldownViewerConstants);
CooldownViewerDocumentation.lua
local CooldownViewer =
{
Name = “CooldownViewer”,
Type = “System”,
Namespace = “C_CooldownViewer”,
Functions =
{
{
Name = “GetCooldownViewerCategorySet”,
Type = “Function”,
Arguments =
{
{ Name = “category”, Type = “CooldownViewerCategory”, Nilable = false },
},
Returns =
{
{ Name = “cooldownIDs”, Type = “table”, InnerType = “number”, Nilable = false },
},
},
{
Name = “GetCooldownViewerCooldownInfo”,
Type = “Function”,
MayReturnNothing = true,
Arguments =
{
{ Name = “cooldownID”, Type = “number”, Nilable = false },
},
Returns =
{
{ Name = “cooldownInfo”, Type = “CooldownViewerCooldown”, Nilable = false },
},
},
},
Events =
{
{
Name = “CooldownViewerTableHotfixed”,
Type = “Event”,
LiteralName = “COOLDOWN_VIEWER_TABLE_HOTFIXED”,
},
},
Tables =
{
{
Name = “CooldownViewerCooldown”,
Type = “Structure”,
Fields =
{
{ Name = “spellID”, Type = “number”, Nilable = false },
{ Name = “linkedSpellIDs”, Type = “table”, InnerType = “number”, Nilable = false },
{ Name = “selfAura”, Type = “bool”, Nilable = false },
{ Name = “hasAura”, Type = “bool”, Nilable = false },
{ Name = “charges”, Type = “bool”, Nilable = false },
},
},
},
};
APIDocumentation:AddDocumentationTable(CooldownViewer);