First commit, step 4 completed

This commit is contained in:
bepis
2026-10-15 14:27:00 +11:00
commit 9a30efa170
5378 changed files with 1136719 additions and 0 deletions
@@ -0,0 +1,108 @@
BaseAPIMixin = {};--- @class BaseAPIMixin
function BaseAPIMixin:GetType()
return assert(false);
end
function BaseAPIMixin:GetPrettyType()
return self:GetType();
end
function BaseAPIMixin:GetLinkHexColor()
return "ffffff";
end
function BaseAPIMixin:GetName()
return self.Name;
end
function BaseAPIMixin:GetFullName()
return self:GetName();
end
function BaseAPIMixin:GetParentName()
return "";
end
function BaseAPIMixin:GetLoweredParentName()
if not self.loweredParentName then
self.loweredParentName = self:GetParentName():lower();
end
return self.loweredParentName;
end
function BaseAPIMixin:GetLoweredName()
if not self.loweredName then
self.loweredName = self:GetName():lower();
end
return self.loweredName;
end
function BaseAPIMixin:GetClipboardString()
return self:GetFullName();
end
function BaseAPIMixin:GenerateAPILink()
return ("|cff%s|Hapi:%s:%s:%s|h%s|h|r"):format(self:GetLinkHexColor(), self:GetType(), self:GetName(), self:GetParentName(), self:GetFullName());
end
function BaseAPIMixin:GetSingleOutputLine()
return ("%s %s"):format(self:GetPrettyType(), self:GenerateAPILink());
end
function BaseAPIMixin:GetDetailedOutputLines()
return { self:GetSingleOutputLine() };
end
function BaseAPIMixin:MatchesSearchString(searchString)
return false;
end
function BaseAPIMixin:MatchesName(name, parentName)
if name == self:GetName() then
return not parentName or parentName == self:GetParentName();
end
return false;
end
function BaseAPIMixin:MatchesNameCaseInsenstive(name, parentName)
if name == self:GetLoweredName() then
return not parentName or parentName == self:GetLoweredParentName();
end
return false;
end
function BaseAPIMixin:MatchesAnyAPI(apiTable, searchString)
if apiTable then
for i, apiInfo in ipairs(apiTable) do
if apiInfo:MatchesSearchString(searchString) then
return true;
end
end
end
return false;
end
function BaseAPIMixin:MatchesAnyDocumentation(searchString)
if self.Documentation then
for i, documentation in ipairs(self.Documentation) do
if documentation:lower():match(searchString) then
return true;
end
end
end
end
function BaseAPIMixin:AddDocumentationTags(lines)
if self.Documentation then
for i, documentation in ipairs(self.Documentation) do
table.insert(lines, APIDocumentation:GetIndentString() .. documentation);
end
end
end
function BaseAPIMixin:AddSystemTag(lines)
if self.System then
table.insert(lines, APIDocumentation:GetIndentString() .. ("Part of the %s system"):format(self.System:GenerateAPILink()));
end
end
@@ -0,0 +1,399 @@
APIDocumentationMixin = {};--- @class APIDocumentationMixin
-- "public"
function APIDocumentationMixin:OnLoad()
self.tables = {};
self.functions = {};
self.systems = {};
self.fields = {};
self.events = {};
self.callbacks = {};
self.Commands = {
Default = 1,
CopyAPI = 2,
OpenDump = 3,
};
if DEFAULT_CHAT_FRAME then
DEFAULT_CHAT_FRAME:SetMaxLines(2000);
end
end
function APIDocumentationMixin:HandleSlashCommand(command)
local commands = { (" "):split(command) };
if commands[1] == "?" or commands[1] == "help" or commands[1] == "" then
self:OutputUsage();
elseif commands[1] == "stats" then
self:OutputStats();
elseif commands[1] == "system" then
if commands[2] == "list" then
self:OutputAllSystems();
else
self:OutputUsage();
end
elseif commands[1] == "s" or commands[1] == "search" then
self:OutputAllAPIMatches(unpack(commands, 2));
elseif commands[1] then
self:TryHandlingSystemSearchCommand(unpack(commands));
else
self:OutputUsage();
end
end
function APIDocumentationMixin:HandleAPILink(link, command)
local _, type, name, parentName = (":"):split(link);
local apiInfo = self:FindAPIByName(type, name, parentName);
if apiInfo then
if command == self.Commands.CopyAPI then
self:HandleCopyAPI(apiInfo);
elseif command == self.Commands.OpenDump then
self:HandleOpenDump(apiInfo);
else
self:HandleDefaultCommand(apiInfo);
end
end
end
function APIDocumentationMixin:HandleDefaultCommand(apiInfo)
self:WriteLine(" ");
self:WriteAllLines(apiInfo:GetDetailedOutputLines());
end
function APIDocumentationMixin:HandleCopyAPI(apiInfo)
local clipboardString = apiInfo:GetClipboardString();
CopyToClipboard(clipboardString);
self:WriteLineF("Copied to clipboard: %s", clipboardString);
end
function APIDocumentationMixin:HandleOpenDump(apiInfo)
if apiInfo.Type == "Function" then
local dumpString;
local systemNamespace = apiInfo.System and apiInfo.System:GetNamespaceName() or nil;
if systemNamespace and systemNamespace ~= "" then
dumpString = ("/dump %s.%s()"):format(systemNamespace, apiInfo.Name);
else
dumpString = ("/dump %s()"):format(apiInfo.Name);
end
local desiredCursorPosition = #dumpString - 1;
ChatFrameUtil.OpenChat(dumpString, nil, desiredCursorPosition);
else
self:WriteLine("Can only /dump functions");
end
end
function APIDocumentationMixin:FindAPIByName(apiType, name, parentName)
local apiTable = self:GetAPITableByTypeName(apiType);
if apiTable then
for i, apiInfo in ipairs(apiTable) do
if apiInfo:MatchesName(name, parentName) then
return apiInfo;
end
end
end
return nil;
end
function APIDocumentationMixin:GetAPITableByTypeName(apiType)
if apiType == "function" then
return self.functions;
elseif apiType == "table" then
return self.tables;
elseif apiType == "system" then
return self.systems;
elseif apiType == "field" then
return self.fields;
elseif apiType == "event" then
return self.events;
elseif apiType == "callback" then
return self.callbacks;
end
return nil;
end
function APIDocumentationMixin:OutputUsage()
self:WriteLine("Usage:");
self:WriteLine("Search for API");
self:WriteLine(self:GetIndentString() .. "/api search <api name>");
self:WriteLine(self:GetIndentString() .. "or");
self:WriteLine(self:GetIndentString() .. "/api s <api name>");
self:WriteLine(self:GetIndentString() .. "Example: /api search item");
self:WriteLine(" ");
self:WriteLine("List all systems");
self:WriteLine(self:GetIndentString() .. "/api system list");
self:WriteLine(" ");
self:WriteLine("Search system for API");
self:WriteLine(self:GetIndentString() .. "/api <system name> search <api name>");
self:WriteLine(self:GetIndentString() .. "or");
self:WriteLine(self:GetIndentString() .. "/api <system name> s <api name>");
self:WriteLine(self:GetIndentString() .. "Example: /api artifactui search relic");
self:WriteLine(" ");
self:WriteLine("List all API in a system");
self:WriteLine(self:GetIndentString() .. "/api <system name> list");
self:WriteLine(self:GetIndentString() .. "Example: /api artifactui list");
self:WriteLine(" ");
self:WriteLine("All searches support Lua patterns.");
end
function APIDocumentationMixin:OutputStats()
self:WriteLine("Stats:");
self:WriteLineF("Total systems: %d", #self.systems);
local totalFunctions = 0;
local totalEvents = 0;
local totalTables = 0;
for i, systemInfo in ipairs(self.systems) do
totalFunctions = totalFunctions + systemInfo:GetNumFunctions();
totalEvents = totalEvents + systemInfo:GetNumEvents();
totalTables = totalTables + systemInfo:GetNumTables();
end
self:WriteLineF("Total functions: %d", totalFunctions);
self:WriteLineF("Total events: %d", totalEvents);
self:WriteLineF("Total tables: %d", totalTables);
end
function APIDocumentationMixin:OutputAllSystems()
self:WriteLineF("All systems (%d):", #self.systems);
for i, systemInfo in ipairs(self.systems) do
self:WriteLine(systemInfo:GetSingleOutputLine());
end
end
function APIDocumentationMixin:TryHandlingSystemSearchCommand(systemName, subCommand, apiToSearchFor)
local system = self:FindSystemByName(systemName);
if system then
if subCommand == nil then
self:WriteLine(system:GetSingleOutputLine());
elseif subCommand == "s" or subCommand == "search" and apiToSearchFor then
self:OutputAllSystemAPIMatches(system, apiToSearchFor);
elseif subCommand == "list" then
self:OutputAllSystemAPI(system);
else
self:OutputUsage();
end
else
self:WriteLineF("No system found (%s)", tostring(systemName));
end
end
function APIDocumentationMixin:OutputAPIMatches(apiMatches, headerName)
if apiMatches and #apiMatches > 0 then
self:WriteLineF("Found %d %s", #apiMatches, headerName);
for i, api in ipairs(apiMatches) do
self:WriteLine(self:GetIndentString() .. api:GetSingleOutputLine());
end
end
end
function APIDocumentationMixin:OutputAllAPIMatches(apiToSearchFor)
if not apiToSearchFor or apiToSearchFor == "" then
self:OutputUsage();
return;
end
self:WriteLine(" ");
local apiMatches = self:FindAllAPIMatches(apiToSearchFor);
if apiMatches then
local total = #apiMatches.tables + #apiMatches.functions + #apiMatches.events + #apiMatches.systems + #apiMatches.callbacks;
assert(total > 0);
self:WriteLineF("Found %d API that matches %q", total, apiToSearchFor);
self:OutputAPIMatches(apiMatches.systems, "system(s)");
self:OutputAPIMatches(apiMatches.functions, "function(s)");
self:OutputAPIMatches(apiMatches.events, "events(s)");
self:OutputAPIMatches(apiMatches.tables, "table(s)");
self:OutputAPIMatches(apiMatches.callbacks, "callback(s)");
else
self:WriteLineF("No API found that matches %q", apiToSearchFor);
end
end
function APIDocumentationMixin:OutputAllSystemAPIMatches(system, apiToSearchFor)
local apiMatches = system:FindAllAPIMatches(apiToSearchFor);
if apiMatches then
local total = #apiMatches.tables + #apiMatches.functions + #apiMatches.events;
assert(total > 0);
self:WriteLineF("Found %d API that matches %q", total, apiToSearchFor);
self:OutputAPIMatches(apiMatches.functions, "function(s)");
self:OutputAPIMatches(apiMatches.events, "events(s)");
self:OutputAPIMatches(apiMatches.tables, "table(s)");
else
self:WriteLineF("No API found that matches %q in %s", apiToSearchFor, system:GenerateAPILink());
end
end
function APIDocumentationMixin:OutputAllSystemAPI(system)
local apiMatches = system:ListAllAPI();
if apiMatches then
self:WriteLineF("All API in %s", system:GenerateAPILink());
self:OutputAPIMatches(apiMatches.functions, "function(s)");
self:OutputAPIMatches(apiMatches.events, "events(s)");
self:OutputAPIMatches(apiMatches.tables, "table(s)");
else
self:WriteLineF("No API found in %s", system:GenerateAPILink());
end
end
--[[static]] function APIDocumentationMixin:AddAllMatches(apiContainer, matchesContainer, apiToSearchFor)
for i, apiInfo in ipairs(apiContainer) do
if apiInfo:MatchesSearchString(apiToSearchFor) then
table.insert(matchesContainer, apiInfo);
end
end
end
function APIDocumentationMixin:FindAllAPIMatches(apiToSearchFor)
apiToSearchFor = apiToSearchFor:lower();
local matches = {
tables = {},
functions = {},
events = {},
systems = {},
callbacks = {},
};
self:AddAllMatches(self.tables, matches.tables, apiToSearchFor);
self:AddAllMatches(self.functions, matches.functions, apiToSearchFor);
self:AddAllMatches(self.systems, matches.systems, apiToSearchFor);
self:AddAllMatches(self.events, matches.events, apiToSearchFor);
self:AddAllMatches(self.callbacks, matches.callbacks, apiToSearchFor);
-- Only return something if we matched anything
for name, subTable in pairs(matches) do
if #subTable > 0 then
return matches;
end
end
return nil;
end
function APIDocumentationMixin:FindSystemByName(systemName)
systemName = systemName:lower();
for i, systemInfo in ipairs(self.systems) do
if systemInfo:MatchesNameCaseInsenstive(systemName) then
return systemInfo;
end
end
return nil;
end
function APIDocumentationMixin:AddDocumentationTable(documentationInfo)
if documentationInfo.Name then
self:AddSystem(documentationInfo);
else
for i, tableInfo in ipairs(documentationInfo.Tables) do
self:AddTable(tableInfo);
end
end
end
function APIDocumentationMixin:WriteLine(message)
if DEFAULT_CHAT_FRAME then
local info = ChatTypeInfo["SYSTEM"];
DEFAULT_CHAT_FRAME:AddMessage(message, info.r, info.g, info.b, info.id);
else
print(message);
end
end
function APIDocumentationMixin:WriteLineF(format, ...)
self:WriteLine(format:format(...));
end
function APIDocumentationMixin:WriteAllLines(lines)
for i, line in ipairs(lines) do
self:WriteLine(line);
end
end
function APIDocumentationMixin:GetIndentString(numIndent)
return (" "):rep(numIndent or 1);
end
-- "private"
function APIDocumentationMixin:AddTable(documentationInfo)
Mixin(documentationInfo, TablesAPIMixin);
table.insert(self.tables, documentationInfo);
if documentationInfo.Fields then
for i, field in ipairs(documentationInfo.Fields) do
field.Table = documentationInfo;
self:AddField(field);
end
end
end
function APIDocumentationMixin:AddFunction(documentationInfo)
Mixin(documentationInfo, FunctionsAPIMixin);
table.insert(self.functions, documentationInfo);
if documentationInfo.Arguments then
for i, field in ipairs(documentationInfo.Arguments) do
field.Function = documentationInfo;
self:AddField(field);
end
end
if documentationInfo.Returns then
for i, field in ipairs(documentationInfo.Returns) do
field.Function = documentationInfo;
self:AddField(field);
end
end
end
function APIDocumentationMixin:AddEvent(documentationInfo)
Mixin(documentationInfo, EventsAPIMixin);
table.insert(self.events, documentationInfo);
if documentationInfo.Payload then
for i, field in ipairs(documentationInfo.Payload) do
field.Event = documentationInfo;
self:AddField(field);
end
end
end
function APIDocumentationMixin:AddField(documentationInfo)
Mixin(documentationInfo, FieldsAPIMixin);
table.insert(self.fields, documentationInfo);
end
function APIDocumentationMixin:AddSystem(documentationInfo)
Mixin(documentationInfo, SystemsAPIMixin);
table.insert(self.systems, documentationInfo);
for i, functionInfo in ipairs(documentationInfo.Functions) do
functionInfo.System = documentationInfo;
self:AddFunction(functionInfo);
end
for i, eventInfo in ipairs(documentationInfo.Events) do
eventInfo.System = documentationInfo;
self:AddEvent(eventInfo);
end
for i, tableInfo in ipairs(documentationInfo.Tables) do
tableInfo.System = documentationInfo;
self:AddTable(tableInfo);
end
end
APIDocumentation = CreateFromMixins(APIDocumentationMixin);
APIDocumentation:OnLoad();
@@ -0,0 +1,12 @@
## Title: Blizzard API Documentation
## Author: Blizzard Entertainment
## LoadOnDemand: 1
## AllowLoad: Both
BaseAPIMixin.lua
FieldsAPIMixin.lua
FunctionsAPIMixin.lua
SystemsAPIMixin.lua
TablesAPIMixin.lua
EventsAPIMixin.lua
Blizzard_APIDocumentation.lua
@@ -0,0 +1,90 @@
EventsAPIMixin = CreateFromMixins(BaseAPIMixin);--- @class EventsAPIMixin : BaseAPIMixin
function EventsAPIMixin:GetParentName() -- override
if self.System then
return self.System:GetName();
end
return "";
end
function EventsAPIMixin:GetType() -- override
return "event";
end
function EventsAPIMixin:GetLinkHexColor()
return "77ff22";
end
function EventsAPIMixin:GetClipboardString()
local lines = {};
table.insert(lines, ([[if event == "%s" then]]):format(self.LiteralName));
table.insert(lines, ("\tlocal %s = ...;"):format(self:GetPayloadString(false, false)));
table.insert(lines, "end");
return table.concat(lines, "\r\n");
end
function EventsAPIMixin:GetFullName(decorateOptionals, includeColorCodes) -- override
if self.System then
return ("Event.%s.%s -> %s"):format(self.System:GetName(), self:GetName(), self:GetPayloadString(decorateOptionals, includeColorCodes));
end
return ("Event.%s -> %s"):format(self:GetName(), self:GetPayloadString(decorateOptionals, includeColorCodes));
end
function EventsAPIMixin:MatchesSearchString(searchString) -- override
if self:GetLoweredName():match(searchString) then
return true;
end
if self.System and self.System:GetLoweredName():match(searchString) then
return true;
end
if self.LiteralName:lower():match(searchString) then
return true;
end
if self:MatchesAnyDocumentation(searchString) then
return true;
end
if self:MatchesAnyAPI(self.Payload, searchString) then
return true
end
return false;
end
function EventsAPIMixin:GetPayloadString(decorateOptionals, includeColorCodes) -- override
if self.Payload then
local values = {};
for i, payloadInfo in ipairs(self.Payload) do
if includeColorCodes ~= false then
table.insert(values, ("%s|cff%s"):format(payloadInfo:GetPayloadString(decorateOptionals, includeColorCodes), self:GetLinkHexColor()));
else
table.insert(values, payloadInfo:GetPayloadString(decorateOptionals, includeColorCodes));
end
end
return table.concat(values, ", ");
end
return "";
end
function EventsAPIMixin:GetDetailedOutputLines() -- override
local lines = {};
table.insert(lines, self:GetSingleOutputLine());
self:AddSystemTag(lines);
self:AddDocumentationTags(lines);
table.insert(lines, APIDocumentation:GetIndentString() .. "Literal Name: \"" .. self.LiteralName .. "\"");
if self.Payload then
table.insert(lines, APIDocumentation:GetIndentString() .. "Payload");
for i, payloadInfo in ipairs(self.Payload) do
table.insert(lines, APIDocumentation:GetIndentString(2) .. ("%d. %s"):format(i, payloadInfo:GetSingleOutputLine()));
end
end
return lines;
end
@@ -0,0 +1,85 @@
FieldsAPIMixin = CreateFromMixins(BaseAPIMixin);--- @class FieldsAPIMixin : BaseAPIMixin
function FieldsAPIMixin:GetParentName()
if self.Function then
return self.Function:GetName();
end
if self.Table then
return self.Table:GetName();
end
return "";
end
function FieldsAPIMixin:GetType()
return "field";
end
function FieldsAPIMixin:GetLinkHexColor()
return "ffdd55";
end
function FieldsAPIMixin:MatchesSearchString(searchString)
if self:GetLoweredName():match(searchString) then
return true;
end
if self:MatchesAnyDocumentation(searchString) then
return true;
end
return false;
end
function FieldsAPIMixin:GetLuaType()
if self.InnerType then
local complexType = APIDocumentation:FindAPIByName("table", self.InnerType);
return ("%s of %s"):format(self.Type, complexType and complexType:GenerateAPILink() or self.InnerType)
end
if self.EnumValue then
return self.EnumValue;
end
local complexType = APIDocumentation:FindAPIByName("table", self.Type);
return complexType and complexType:GenerateAPILink() or self.Type;
end
function FieldsAPIMixin:GetStrideIndex()
return self.StrideIndex;
end
function FieldsAPIMixin:IsOptional()
return self.Default ~= nil or self.Nilable;
end
function FieldsAPIMixin:GetSingleOutputLine()
local optionalString = "";
if self:IsOptional() then
if self.Default ~= nil then
optionalString = ("(default:%s) "):format(tostring(self.Default));
else
optionalString = "(optional) ";
end
end
if self.Documentation then
return ("%s%s %s - %s"):format(optionalString, self:GetLuaType(), self:GenerateAPILink(), table.concat(self.Documentation, " "));
end
return ("%s%s %s"):format(optionalString, self:GetLuaType(), self:GenerateAPILink());
end
function FieldsAPIMixin:GetArgumentString(decorateOptionals, includeColorCodes)
local prefix = decorateOptionals ~= false and self:IsOptional() and "optional " or "";
if includeColorCodes ~= false then
return ("|cff%s%s%s|r"):format(self:GetLinkHexColor(), prefix, self:GetName());
end
return ("%s%s"):format(prefix, self:GetName());
end
function FieldsAPIMixin:GetReturnString(decorateOptionals, includeColorCodes)
return self:GetArgumentString(decorateOptionals, includeColorCodes); -- Nothing special currently
end
function FieldsAPIMixin:GetPayloadString(decorateOptionals, includeColorCodes)
return self:GetReturnString(decorateOptionals, includeColorCodes); -- Nothing special currently
end
@@ -0,0 +1,112 @@
FunctionsAPIMixin = CreateFromMixins(BaseAPIMixin);--- @class FunctionsAPIMixin : BaseAPIMixin
function FunctionsAPIMixin:GetParentName()
if self.System then
return self.System:GetName();
end
return "";
end
function FunctionsAPIMixin:GetType()
return "function";
end
function FunctionsAPIMixin:GetLinkHexColor()
return "55ddff";
end
function FunctionsAPIMixin:GetFullName(decorateOptionals, includeColorCodes)
if self.System and self.System:GetNamespaceName() ~= "" then
return ("%s.%s(%s)"):format(self.System:GetNamespaceName(), self:GetName(), self:GetArgumentString(decorateOptionals, includeColorCodes));
end
return ("%s(%s)"):format(self:GetName(), self:GetArgumentString(decorateOptionals, includeColorCodes));
end
function FunctionsAPIMixin:MatchesSearchString(searchString)
if self:GetLoweredName():match(searchString) then
return true;
end
if self:MatchesAnyDocumentation(searchString) then
return true;
end
if self:MatchesAnyAPI(self.Arguments, searchString) then
return true
end
if self:MatchesAnyAPI(self.Returns, searchString) then
return true
end
return false;
end
function FunctionsAPIMixin:GetArgumentString(decorateOptionals, includeColorCodes)
if self.Arguments then
local values = {};
for i, argumentInfo in ipairs(self.Arguments) do
if includeColorCodes ~= false then
table.insert(values, ("%s|cff%s"):format(argumentInfo:GetArgumentString(decorateOptionals, includeColorCodes), self:GetLinkHexColor()));
else
table.insert(values, argumentInfo:GetArgumentString(decorateOptionals, includeColorCodes));
end
end
return table.concat(values, ", ");
end
return "";
end
function FunctionsAPIMixin:GetReturnString(decorateOptionals, includeColorCodes)
if self.Returns then
local values = {};
for i, returnInfo in ipairs(self.Returns) do
if includeColorCodes ~= false then
table.insert(values, ("%s|cff%s"):format(returnInfo:GetReturnString(decorateOptionals, includeColorCodes), self:GetLinkHexColor()));
else
table.insert(values, returnInfo:GetReturnString(decorateOptionals, includeColorCodes));
end
end
return table.concat(values, ", ");
end
return "";
end
function FunctionsAPIMixin:GetClipboardString()
if self.Returns then
return ("local %s = %s"):format(self:GetReturnString(false, false), self:GetFullName(false, false));
end
return self:GetFullName(false, false);
end
function FunctionsAPIMixin:GetDetailedOutputLines()
local lines = {};
table.insert(lines, self:GetSingleOutputLine());
self:AddSystemTag(lines);
self:AddDocumentationTags(lines);
if self.Arguments then
table.insert(lines, APIDocumentation:GetIndentString() .. "Arguments");
for i, argumentInfo in ipairs(self.Arguments) do
if argumentInfo:GetStrideIndex() == 1 then
table.insert(lines, APIDocumentation:GetIndentString(2) .. "(Variable arguments)");
end
table.insert(lines, APIDocumentation:GetIndentString(2) .. ("%d. %s"):format(i, argumentInfo:GetSingleOutputLine()));
end
end
if self.Returns then
table.insert(lines, APIDocumentation:GetIndentString() .. "Returns");
for i, returnInfo in ipairs(self.Returns) do
if returnInfo:GetStrideIndex() == 1 then
table.insert(lines, APIDocumentation:GetIndentString(2) .. "(Variable returns)");
end
table.insert(lines, APIDocumentation:GetIndentString(2) .. ("%d. %s"):format(i, returnInfo:GetSingleOutputLine()));
end
end
return lines;
end
@@ -0,0 +1,142 @@
SystemsAPIMixin = CreateFromMixins(BaseAPIMixin);--- @class SystemsAPIMixin : BaseAPIMixin
function SystemsAPIMixin:GetType()
return "system";
end
function SystemsAPIMixin:GetLinkHexColor()
return "ff55dd";
end
function SystemsAPIMixin:GetNamespaceName()
return self.Namespace or "";
end
function SystemsAPIMixin:GetLoweredNamespaceName()
if not self.loweredNamespaceName then
self.loweredNamespaceName = self:GetNamespaceName():lower();
end
return self.loweredNamespaceName;
end
function SystemsAPIMixin:MatchesSearchString(searchString)
if self:GetLoweredName():match(searchString) then
return true;
end
if self:MatchesAnyDocumentation(searchString) then
return true;
end
return false;
end
function SystemsAPIMixin:GetSingleOutputLine()
if self.Namespace then
return ("%s %s (%s)"):format(self:GetPrettyType(), self:GenerateAPILink(), self.Namespace);
end
return BaseAPIMixin.GetSingleOutputLine(self);
end
function SystemsAPIMixin:GetDetailedOutputLines()
local lines = {};
table.insert(lines, self:GetSingleOutputLine());
self:AddDocumentationTags(lines);
if self.Functions and #self.Functions > 0 then
table.insert(lines, APIDocumentation:GetIndentString() .. "Functions");
for i, functionInfo in ipairs(self.Functions) do
table.insert(lines, APIDocumentation:GetIndentString(2) .. functionInfo:GetSingleOutputLine());
end
end
if self.Events and #self.Events > 0 then
table.insert(lines, APIDocumentation:GetIndentString() .. "Events");
for i, eventInfo in ipairs(self.Events) do
table.insert(lines, APIDocumentation:GetIndentString(2) .. eventInfo:GetSingleOutputLine());
end
end
if self.Tables and #self.Tables > 0 then
table.insert(lines, APIDocumentation:GetIndentString() .. "Tables");
for i, tableInfo in ipairs(self.Tables) do
table.insert(lines, APIDocumentation:GetIndentString(2) .. tableInfo:GetSingleOutputLine());
end
end
return lines;
end
function SystemsAPIMixin:MatchesName(name, parentName)
if BaseAPIMixin.MatchesName(self, name, parentName) then
return true;
end
return name == self:GetNamespaceName();
end
function SystemsAPIMixin:MatchesNameCaseInsenstive(name, parentName)
if BaseAPIMixin.MatchesNameCaseInsenstive(self, name, parentName) then
return true;
end
return name == self:GetLoweredNamespaceName();
end
function SystemsAPIMixin:FindAllAPIMatches(apiToSearchFor)
apiToSearchFor = apiToSearchFor:lower();
local matches = {
tables = {},
functions = {},
events = {},
};
APIDocumentationMixin:AddAllMatches(self.Tables, matches.tables, apiToSearchFor);
APIDocumentationMixin:AddAllMatches(self.Functions, matches.functions, apiToSearchFor);
APIDocumentationMixin:AddAllMatches(self.Events, matches.events, apiToSearchFor);
-- Only return something if we matched anything
for name, subTable in pairs(matches) do
if #subTable > 0 then
return matches;
end
end
return nil;
end
local function AddAll(apiContainer, matchesContainer)
if apiContainer then
for i, apiInfo in ipairs(apiContainer) do
table.insert(matchesContainer, apiInfo);
end
end
end
function SystemsAPIMixin:ListAllAPI()
local allAPI = {
tables = {},
functions = {},
events = {},
};
AddAll(self.Tables, allAPI.tables);
AddAll(self.Functions, allAPI.functions);
AddAll(self.Events, allAPI.events);
return allAPI;
end
function SystemsAPIMixin:GetNumTables()
return self.Tables and #self.Tables or 0;
end
function SystemsAPIMixin:GetNumFunctions()
return self.Functions and #self.Functions or 0;
end
function SystemsAPIMixin:GetNumEvents()
return self.Events and #self.Events or 0;
end
@@ -0,0 +1,69 @@
TablesAPIMixin = CreateFromMixins(BaseAPIMixin);--- @class TablesAPIMixin : BaseAPIMixin
function TablesAPIMixin:GetParentName()
if self.System then
return self.System:GetName();
end
return "";
end
function TablesAPIMixin:GetType()
return "table";
end
function TablesAPIMixin:GetPrettyType()
return self.Type:lower();
end
function TablesAPIMixin:GetLinkHexColor()
return "55ffdd";
end
function TablesAPIMixin:GetFullName() -- override
if self.Type == "Enumeration" then
return ("Enum.%s"):format(self:GetName());
end
return BaseAPIMixin.GetFullName(self);
end
function TablesAPIMixin:MatchesSearchString(searchString)
if self:GetLoweredName():match(searchString) then
return true;
end
if self:MatchesAnyDocumentation(searchString) then
return true;
end
if self:MatchesAnyAPI(self.Fields, searchString) then
return true
end
return false;
end
function TablesAPIMixin:GetDetailedOutputLines()
local lines = {};
table.insert(lines, self:GetSingleOutputLine());
self:AddSystemTag(lines);
self:AddDocumentationTags(lines);
if self.Fields then
if self.Type == "Enumeration" then
table.insert(lines, APIDocumentation:GetIndentString() .. "Num Values: " .. self.NumValues);
table.insert(lines, APIDocumentation:GetIndentString() .. "Min Value: " .. self.MinValue);
table.insert(lines, APIDocumentation:GetIndentString() .. "Max Value: " .. self.MaxValue);
table.insert(lines, APIDocumentation:GetIndentString() .. "Values");
else
table.insert(lines, APIDocumentation:GetIndentString() .. "Fields");
end
for i, fieldInfo in ipairs(self.Fields) do
table.insert(lines, APIDocumentation:GetIndentString(2) .. fieldInfo:GetSingleOutputLine());
end
end
return lines;
end
@@ -0,0 +1,43 @@
local AbbreviateConfigAPI =
{
Name = "AbbreviateConfigAPI",
Type = "ScriptObject",
Environment = "All",
Functions =
{
{
Name = "GetAbbreviateNumberData",
Type = "Function",
Arguments =
{
},
Returns =
{
{ Name = "data", Type = "table", InnerType = "NumberAbbreviationBreakpoint", Nilable = false },
},
},
{
Name = "SetAbbreviateNumberData",
Type = "Function",
SecretArguments = "NotAllowed",
Arguments =
{
{ Name = "data", Type = "table", InnerType = "NumberAbbreviationBreakpoint", Nilable = false },
},
},
},
Events =
{
},
Tables =
{
},
};
APIDocumentation:AddDocumentationTable(AbbreviateConfigAPI);
@@ -0,0 +1,21 @@
local AccessibilityOptions =
{
Name = "AccessibilityOptions",
Type = "System",
Namespace = "C_AccessibilityOptions",
Environment = "All",
Functions =
{
},
Events =
{
},
Tables =
{
},
};
APIDocumentation:AddDocumentationTable(AccessibilityOptions);
@@ -0,0 +1,274 @@
local AccountConstants =
{
Tables =
{
{
Name = "AccountData",
Type = "Enumeration",
NumValues = 20,
MinValue = 0,
MaxValue = 19,
Fields =
{
{ Name = "Config", Type = "AccountData", EnumValue = 0 },
{ Name = "Config2", Type = "AccountData", EnumValue = 1 },
{ Name = "Bindings", Type = "AccountData", EnumValue = 2 },
{ Name = "Bindings2", Type = "AccountData", EnumValue = 3 },
{ Name = "Macros", Type = "AccountData", EnumValue = 4 },
{ Name = "Macros2", Type = "AccountData", EnumValue = 5 },
{ Name = "UILayout", Type = "AccountData", EnumValue = 6 },
{ Name = "ChatSettings", Type = "AccountData", EnumValue = 7 },
{ Name = "TtsSettings", Type = "AccountData", EnumValue = 8 },
{ Name = "TtsSettings2", Type = "AccountData", EnumValue = 9 },
{ Name = "FlaggedIDs", Type = "AccountData", EnumValue = 10 },
{ Name = "FlaggedIDs2", Type = "AccountData", EnumValue = 11 },
{ Name = "ClickBindings", Type = "AccountData", EnumValue = 12 },
{ Name = "UIEditModeAccount", Type = "AccountData", EnumValue = 13 },
{ Name = "UIEditModeChar", Type = "AccountData", EnumValue = 14 },
{ Name = "FrontendChatSettings", Type = "AccountData", EnumValue = 15 },
{ Name = "CharacterListOrder", Type = "AccountData", EnumValue = 16 },
{ Name = "CooldownManager", Type = "AccountData", EnumValue = 17 },
{ Name = "CooldownManager2", Type = "AccountData", EnumValue = 18 },
{ Name = "Shop2PendingOrders", Type = "AccountData", EnumValue = 19 },
},
},
{
Name = "AccountDataUpdateStatus",
Type = "Enumeration",
NumValues = 4,
MinValue = 0,
MaxValue = 3,
Fields =
{
{ Name = "Success", Type = "AccountDataUpdateStatus", EnumValue = 0 },
{ Name = "Failed", Type = "AccountDataUpdateStatus", EnumValue = 1 },
{ Name = "Corrupt", Type = "AccountDataUpdateStatus", EnumValue = 2 },
{ Name = "Toobig", Type = "AccountDataUpdateStatus", EnumValue = 3 },
},
},
{
Name = "AccountExportResult",
Type = "Enumeration",
NumValues = 14,
MinValue = 0,
MaxValue = 13,
Fields =
{
{ Name = "Success", Type = "AccountExportResult", EnumValue = 0 },
{ Name = "UnknownError", Type = "AccountExportResult", EnumValue = 1 },
{ Name = "Cancelled", Type = "AccountExportResult", EnumValue = 2 },
{ Name = "ShuttingDown", Type = "AccountExportResult", EnumValue = 3 },
{ Name = "TimedOut", Type = "AccountExportResult", EnumValue = 4 },
{ Name = "NoAccountFound", Type = "AccountExportResult", EnumValue = 5 },
{ Name = "RequestedInvalidCharacter", Type = "AccountExportResult", EnumValue = 6 },
{ Name = "RpcError", Type = "AccountExportResult", EnumValue = 7 },
{ Name = "FileInvalid", Type = "AccountExportResult", EnumValue = 8 },
{ Name = "FileWriteFailed", Type = "AccountExportResult", EnumValue = 9 },
{ Name = "Unavailable", Type = "AccountExportResult", EnumValue = 10 },
{ Name = "AlreadyInProgress", Type = "AccountExportResult", EnumValue = 11 },
{ Name = "FailedToLockAccount", Type = "AccountExportResult", EnumValue = 12 },
{ Name = "FailedToGenerateFile", Type = "AccountExportResult", EnumValue = 13 },
},
},
{
Name = "AccountSequenceCacheType",
Type = "Enumeration",
NumValues = 3,
MinValue = 0,
MaxValue = 2,
Fields =
{
{ Name = "Invalid", Type = "AccountSequenceCacheType", EnumValue = 0 },
{ Name = "Local", Type = "AccountSequenceCacheType", EnumValue = 1 },
{ Name = "HouseDecor", Type = "AccountSequenceCacheType", EnumValue = 2 },
},
},
{
Name = "AccountTransType",
Type = "Enumeration",
NumValues = 67,
MinValue = 0,
MaxValue = 66,
Fields =
{
{ Name = "ProxyForwarder", Type = "AccountTransType", EnumValue = 0 },
{ Name = "Purchase", Type = "AccountTransType", EnumValue = 1 },
{ Name = "Distribution", Type = "AccountTransType", EnumValue = 2 },
{ Name = "Battlepet", Type = "AccountTransType", EnumValue = 3 },
{ Name = "Achievements", Type = "AccountTransType", EnumValue = 4 },
{ Name = "Criteria", Type = "AccountTransType", EnumValue = 5 },
{ Name = "Mounts", Type = "AccountTransType", EnumValue = 6 },
{ Name = "Characters", Type = "AccountTransType", EnumValue = 7 },
{ Name = "Purchases", Type = "AccountTransType", EnumValue = 8 },
{ Name = "ArchivedPurchases", Type = "AccountTransType", EnumValue = 9 },
{ Name = "Distributions", Type = "AccountTransType", EnumValue = 10 },
{ Name = "CurrencyCaps", Type = "AccountTransType", EnumValue = 11 },
{ Name = "QuestLog", Type = "AccountTransType", EnumValue = 12 },
{ Name = "CriteriaNotif", Type = "AccountTransType", EnumValue = 13 },
{ Name = "Settings", Type = "AccountTransType", EnumValue = 14 },
{ Name = "FixedLicense", Type = "AccountTransType", EnumValue = 15 },
{ Name = "AddLicense", Type = "AccountTransType", EnumValue = 16 },
{ Name = "ItemCollections", Type = "AccountTransType", EnumValue = 17 },
{ Name = "AuctionableToken", Type = "AccountTransType", EnumValue = 18 },
{ Name = "ConsumableToken", Type = "AccountTransType", EnumValue = 19 },
{ Name = "VasTransaction", Type = "AccountTransType", EnumValue = 20 },
{ Name = "Productitem", Type = "AccountTransType", EnumValue = 21 },
{ Name = "TrialBoostHistory", Type = "AccountTransType", EnumValue = 22 },
{ Name = "TrialBoostHistories", Type = "AccountTransType", EnumValue = 23 },
{ Name = "QuestCriteria", Type = "AccountTransType", EnumValue = 24 },
{ Name = "BattlenetAccount", Type = "AccountTransType", EnumValue = 25 },
{ Name = "AccountCurrencies", Type = "AccountTransType", EnumValue = 26 },
{ Name = "RafRecruiterAcceptances", Type = "AccountTransType", EnumValue = 27 },
{ Name = "RafFriendMonth", Type = "AccountTransType", EnumValue = 28 },
{ Name = "RafReward", Type = "AccountTransType", EnumValue = 29 },
{ Name = "DynamicCriteria", Type = "AccountTransType", EnumValue = 30 },
{ Name = "RafActivity", Type = "AccountTransType", EnumValue = 31 },
{ Name = "CreateOrderInfo", Type = "AccountTransType", EnumValue = 32 },
{ Name = "ProxyHonorInitialConversion", Type = "AccountTransType", EnumValue = 33 },
{ Name = "ProxyCreateAccountHonor", Type = "AccountTransType", EnumValue = 34 },
{ Name = "ProxyValidateAccountHonor", Type = "AccountTransType", EnumValue = 35 },
{ Name = "ProxyGmSetHonor", Type = "AccountTransType", EnumValue = 36 },
{ Name = "ProxyGenerateBpayID", Type = "AccountTransType", EnumValue = 37 },
{ Name = "AccountNotifications", Type = "AccountTransType", EnumValue = 38 },
{ Name = "PerkItemHold", Type = "AccountTransType", EnumValue = 39 },
{ Name = "PerkPendingRewards", Type = "AccountTransType", EnumValue = 40 },
{ Name = "PerkPastRewards", Type = "AccountTransType", EnumValue = 41 },
{ Name = "PerkTransaction", Type = "AccountTransType", EnumValue = 42 },
{ Name = "OutstandingRpc", Type = "AccountTransType", EnumValue = 43 },
{ Name = "LoadWowlabs", Type = "AccountTransType", EnumValue = 44 },
{ Name = "UpgradeAccount", Type = "AccountTransType", EnumValue = 45 },
{ Name = "GetOrderStatusByPurchaseID", Type = "AccountTransType", EnumValue = 46 },
{ Name = "Items", Type = "AccountTransType", EnumValue = 47 },
{ Name = "BankTab", Type = "AccountTransType", EnumValue = 48 },
{ Name = "Factions", Type = "AccountTransType", EnumValue = 49 },
{ Name = "BitVectors", Type = "AccountTransType", EnumValue = 50 },
{ Name = "CombinedQuestLog", Type = "AccountTransType", EnumValue = 51 },
{ Name = "PlayerDataElements", Type = "AccountTransType", EnumValue = 52 },
{ Name = "CharacterDataMerge", Type = "AccountTransType", EnumValue = 53 },
{ Name = "AccountStore", Type = "AccountTransType", EnumValue = 54 },
{ Name = "WarbandGroups", Type = "AccountTransType", EnumValue = 55 },
{ Name = "Mapping", Type = "AccountTransType", EnumValue = 56 },
{ Name = "CharacterItems", Type = "AccountTransType", EnumValue = 57 },
{ Name = "CurrencyTransferLog", Type = "AccountTransType", EnumValue = 58 },
{ Name = "LgVendorPurchase", Type = "AccountTransType", EnumValue = 59 },
{ Name = "SaveWarbandGroups", Type = "AccountTransType", EnumValue = 60 },
{ Name = "Profile", Type = "AccountTransType", EnumValue = 61 },
{ Name = "WarbandSceneCollection", Type = "AccountTransType", EnumValue = 62 },
{ Name = "EventRecords", Type = "AccountTransType", EnumValue = 63 },
{ Name = "HousingItem", Type = "AccountTransType", EnumValue = 64 },
{ Name = "TransmogOutfitCollection", Type = "AccountTransType", EnumValue = 65 },
{ Name = "HouseInitiativeFavor", Type = "AccountTransType", EnumValue = 66 },
},
},
{
Name = "BnetAccountFlag",
Type = "Enumeration",
NumValues = 21,
MinValue = 0,
MaxValue = 524288,
Fields =
{
{ Name = "None", Type = "BnetAccountFlag", EnumValue = 0 },
{ Name = "BattlePetTrainer", Type = "BnetAccountFlag", EnumValue = 1 },
{ Name = "RafVeteranNotified", Type = "BnetAccountFlag", EnumValue = 2 },
{ Name = "TwitterLinked", Type = "BnetAccountFlag", EnumValue = 4 },
{ Name = "TwitterHasTempSecret", Type = "BnetAccountFlag", EnumValue = 8 },
{ Name = "Employee", Type = "BnetAccountFlag", EnumValue = 16 },
{ Name = "EmployeeFlagIsManual", Type = "BnetAccountFlag", EnumValue = 32 },
{ Name = "AccountQuestBitFixUp", Type = "BnetAccountFlag", EnumValue = 64 },
{ Name = "AchievementsToBi", Type = "BnetAccountFlag", EnumValue = 128 },
{ Name = "InvalidTransmogsFixUp", Type = "BnetAccountFlag", EnumValue = 256 },
{ Name = "InvalidTransmogsFixUp2", Type = "BnetAccountFlag", EnumValue = 512 },
{ Name = "GdprErased", Type = "BnetAccountFlag", EnumValue = 1024 },
{ Name = "DarkRealmLightCopy", Type = "BnetAccountFlag", EnumValue = 2048 },
{ Name = "QuestLogFlagsFixUp", Type = "BnetAccountFlag", EnumValue = 4096 },
{ Name = "WasSecured", Type = "BnetAccountFlag", EnumValue = 8192 },
{ Name = "LockedForExport", Type = "BnetAccountFlag", EnumValue = 16384 },
{ Name = "CanBuyAhGameTimeTokens", Type = "BnetAccountFlag", EnumValue = 32768 },
{ Name = "PetAchievementFixUp", Type = "BnetAccountFlag", EnumValue = 65536 },
{ Name = "IsLegacy", Type = "BnetAccountFlag", EnumValue = 131072 },
{ Name = "CataLegendaryMountChecked", Type = "BnetAccountFlag", EnumValue = 262144 },
{ Name = "CataLegendaryMountObtained", Type = "BnetAccountFlag", EnumValue = 524288 },
},
},
{
Name = "ChallengeModeHistoryFlags",
Type = "Enumeration",
NumValues = 2,
MinValue = 0,
MaxValue = 1,
Fields =
{
{ Name = "None", Type = "ChallengeModeHistoryFlags", EnumValue = 0 },
{ Name = "ConfirmedLeaver", Type = "ChallengeModeHistoryFlags", EnumValue = 1 },
},
},
{
Name = "ChallengeModeHistoryResult",
Type = "Enumeration",
NumValues = 2,
MinValue = 0,
MaxValue = 1,
Fields =
{
{ Name = "Successful", Type = "ChallengeModeHistoryResult", EnumValue = 0 },
{ Name = "Leaver", Type = "ChallengeModeHistoryResult", EnumValue = 1 },
},
},
{
Name = "ChallengeModeHistoryStatus",
Type = "Enumeration",
NumValues = 2,
MinValue = 0,
MaxValue = 1,
Fields =
{
{ Name = "Normal", Type = "ChallengeModeHistoryStatus", EnumValue = 0 },
{ Name = "Leaver", Type = "ChallengeModeHistoryStatus", EnumValue = 1 },
},
},
{
Name = "DisableAccountProfilesFlags",
Type = "Enumeration",
NumValues = 7,
MinValue = 0,
MaxValue = 32,
Fields =
{
{ Name = "None", Type = "DisableAccountProfilesFlags", EnumValue = 0 },
{ Name = "Document", Type = "DisableAccountProfilesFlags", EnumValue = 1 },
{ Name = "SharedCollections", Type = "DisableAccountProfilesFlags", EnumValue = 2 },
{ Name = "MountsCollections", Type = "DisableAccountProfilesFlags", EnumValue = 4 },
{ Name = "PetsCollections", Type = "DisableAccountProfilesFlags", EnumValue = 8 },
{ Name = "ItemsCollections", Type = "DisableAccountProfilesFlags", EnumValue = 16 },
{ Name = "DecorsCollections", Type = "DisableAccountProfilesFlags", EnumValue = 32 },
},
},
{
Name = "ItemCollectionType",
Type = "Enumeration",
NumValues = 14,
MinValue = 0,
MaxValue = 13,
Fields =
{
{ Name = "None", Type = "ItemCollectionType", EnumValue = 0 },
{ Name = "Toy", Type = "ItemCollectionType", EnumValue = 1 },
{ Name = "Heirloom", Type = "ItemCollectionType", EnumValue = 2 },
{ Name = "Transmog", Type = "ItemCollectionType", EnumValue = 3 },
{ Name = "TransmogSetFavorite", Type = "ItemCollectionType", EnumValue = 4 },
{ Name = "RuneforgeLegendaryAbility", Type = "ItemCollectionType", EnumValue = 5 },
{ Name = "TransmogIllusion", Type = "ItemCollectionType", EnumValue = 6 },
{ Name = "WarbandScene", Type = "ItemCollectionType", EnumValue = 7 },
{ Name = "Room", Type = "ItemCollectionType", EnumValue = 8 },
{ Name = "ExteriorFixture", Type = "ItemCollectionType", EnumValue = 9 },
{ Name = "RoomTheme", Type = "ItemCollectionType", EnumValue = 10 },
{ Name = "RoomMaterial", Type = "ItemCollectionType", EnumValue = 11 },
{ Name = "TransmogOutfit", Type = "ItemCollectionType", EnumValue = 12 },
{ Name = "HouseType", Type = "ItemCollectionType", EnumValue = 13 },
},
},
},
};
APIDocumentation:AddDocumentationTable(AccountConstants);
@@ -0,0 +1,66 @@
local AccountInfo =
{
Name = "AccountInfo",
Type = "System",
Namespace = "C_AccountInfo",
Environment = "All",
Functions =
{
{
Name = "GetIDFromBattleNetAccountGUID",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "battleNetAccountGUID", Type = "WOWGUID", Nilable = false },
},
Returns =
{
{ Name = "battleNetAccountID", Type = "number", Nilable = false },
},
},
{
Name = "IsGUIDBattleNetAccountType",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "guid", Type = "WOWGUID", Nilable = false },
},
Returns =
{
{ Name = "isBNet", Type = "bool", Nilable = false },
},
},
{
Name = "IsGUIDRelatedToLocalAccount",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "guid", Type = "WOWGUID", Nilable = false },
},
Returns =
{
{ Name = "isLocalUser", Type = "bool", Nilable = false },
},
},
},
Events =
{
},
Tables =
{
},
};
APIDocumentation:AddDocumentationTable(AccountInfo);
@@ -0,0 +1,275 @@
local AccountStore =
{
Name = "AccountStore",
Type = "System",
Namespace = "C_AccountStore",
Environment = "All",
Functions =
{
{
Name = "BeginPurchase",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "itemID", Type = "number", Nilable = false },
},
Returns =
{
{ Name = "purchaseStarted", Type = "bool", Nilable = false },
},
},
{
Name = "GetCategories",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "storeFrontID", Type = "number", Nilable = false },
},
Returns =
{
{ Name = "categories", Type = "table", InnerType = "number", Nilable = false },
},
},
{
Name = "GetCategoryInfo",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "categoryID", Type = "number", Nilable = false },
},
Returns =
{
{ Name = "info", Type = "AccountStoreCategoryInfo", Nilable = false },
},
},
{
Name = "GetCategoryItems",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "categoryID", Type = "number", Nilable = false },
},
Returns =
{
{ Name = "itemIDs", Type = "table", InnerType = "number", Nilable = false },
},
},
{
Name = "GetCurrencyAvailable",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "currencyID", Type = "number", Nilable = false },
},
Returns =
{
{ Name = "amount", Type = "number", Nilable = false },
},
},
{
Name = "GetCurrencyIDForStore",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "storeFrontID", Type = "number", Nilable = false },
},
Returns =
{
{ Name = "currencyID", Type = "number", Nilable = true },
},
},
{
Name = "GetCurrencyInfo",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "currencyID", Type = "number", Nilable = false },
},
Returns =
{
{ Name = "info", Type = "AccountStoreCurrencyInfo", Nilable = false },
},
},
{
Name = "GetItemInfo",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "itemID", Type = "number", Nilable = false },
},
Returns =
{
{ Name = "info", Type = "AccountStoreItemInfo", Nilable = true },
},
},
{
Name = "GetStoreFrontState",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "storeFrontID", Type = "number", Nilable = false },
},
Returns =
{
{ Name = "state", Type = "AccountStoreState", Nilable = false },
},
},
{
Name = "RefundItem",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "itemID", Type = "number", Nilable = false },
},
Returns =
{
{ Name = "refundStarted", Type = "bool", Nilable = false },
},
},
{
Name = "RequestStoreFrontInfoUpdate",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "storeFrontID", Type = "number", Nilable = false },
},
},
},
Events =
{
{
Name = "AccountStoreCurrencyAvailableUpdated",
Type = "Event",
LiteralName = "ACCOUNT_STORE_CURRENCY_AVAILABLE_UPDATED",
SynchronousEvent = true,
Payload =
{
{ Name = "currencyID", Type = "number", Nilable = false },
},
},
{
Name = "AccountStoreFrontUpdated",
Type = "Event",
LiteralName = "ACCOUNT_STORE_FRONT_UPDATED",
SynchronousEvent = true,
Payload =
{
{ Name = "storeFrontID", Type = "number", Nilable = false },
},
},
{
Name = "AccountStoreItemInfoUpdated",
Type = "Event",
LiteralName = "ACCOUNT_STORE_ITEM_INFO_UPDATED",
SynchronousEvent = true,
Payload =
{
{ Name = "itemID", Type = "number", Nilable = false },
},
},
{
Name = "AccountStoreTransactionError",
Type = "Event",
LiteralName = "ACCOUNT_STORE_TRANSACTION_ERROR",
SynchronousEvent = true,
Payload =
{
{ Name = "result", Type = "AccountStoreTransactionResult", Nilable = false },
},
},
{
Name = "StoreFrontStateUpdated",
Type = "Event",
LiteralName = "STORE_FRONT_STATE_UPDATED",
SynchronousEvent = true,
Payload =
{
{ Name = "storeFrontID", Type = "number", Nilable = false },
},
},
},
Tables =
{
{
Name = "AccountStoreCategoryInfo",
Type = "Structure",
Fields =
{
{ Name = "id", Type = "number", Nilable = false },
{ Name = "name", Type = "cstring", Nilable = false },
{ Name = "type", Type = "AccountStoreCategoryType", Nilable = false },
{ Name = "icon", Type = "fileID", Nilable = false },
},
},
{
Name = "AccountStoreCurrencyInfo",
Type = "Structure",
Fields =
{
{ Name = "id", Type = "number", Nilable = false },
{ Name = "amount", Type = "number", Nilable = false },
{ Name = "maxQuantity", Type = "number", Nilable = true },
{ Name = "name", Type = "cstring", Nilable = false },
{ Name = "icon", Type = "fileID", Nilable = false },
},
},
{
Name = "AccountStoreItemInfo",
Type = "Structure",
Fields =
{
{ Name = "id", Type = "number", Nilable = false },
{ Name = "status", Type = "AccountStoreItemStatus", Nilable = false },
{ Name = "mode", Type = "AccountStoreItemMode", Nilable = false },
{ Name = "currencyID", Type = "number", Nilable = false },
{ Name = "flags", Type = "AccountStoreItemFlag", Nilable = false },
{ Name = "customUIModelSceneID", Type = "number", Nilable = true },
{ Name = "name", Type = "cstring", Nilable = false },
{ Name = "description", Type = "cstring", Nilable = true },
{ Name = "price", Type = "number", Nilable = false },
{ Name = "nonrefundable", Type = "bool", Nilable = false },
{ Name = "creatureDisplayID", Type = "number", Nilable = true },
{ Name = "transmogSetID", Type = "number", Nilable = true },
{ Name = "displayIcon", Type = "fileID", Nilable = true },
{ Name = "refundSecondsRemaining", Type = "time_t", Nilable = true },
},
},
},
};
APIDocumentation:AddDocumentationTable(AccountStore);
@@ -0,0 +1,205 @@
local AchievementInfo =
{
Name = "AchievementInfo",
Type = "System",
Namespace = "C_AchievementInfo",
Environment = "All",
Functions =
{
{
Name = "AreGuildAchievementsEnabled",
Type = "Function",
Returns =
{
{ Name = "enabled", Type = "bool", Nilable = false },
},
},
{
Name = "GetRewardItemID",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "achievementID", Type = "number", Nilable = false },
},
Returns =
{
{ Name = "rewardItemID", Type = "number", Nilable = true },
},
},
{
Name = "GetSupercedingAchievements",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "achievementID", Type = "number", Nilable = false },
},
Returns =
{
{ Name = "supercedingAchievements", Type = "table", InnerType = "number", Nilable = false },
},
},
{
Name = "IsGuildAchievement",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "achievementId", Type = "number", Nilable = false },
},
Returns =
{
{ Name = "isGuild", Type = "bool", Nilable = false },
},
},
{
Name = "IsValidAchievement",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "achievementId", Type = "number", Nilable = false },
},
Returns =
{
{ Name = "isValidAchievement", Type = "bool", Nilable = false },
},
},
{
Name = "SetPortraitTexture",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "textureObject", Type = "SimpleTexture", Nilable = false },
},
},
},
Events =
{
{
Name = "AchievementEarned",
Type = "Event",
LiteralName = "ACHIEVEMENT_EARNED",
SynchronousEvent = true,
Payload =
{
{ Name = "achievementID", Type = "number", Nilable = false },
{ Name = "alreadyEarned", Type = "bool", Nilable = true },
},
},
{
Name = "AchievementPlayerName",
Type = "Event",
LiteralName = "ACHIEVEMENT_PLAYER_NAME",
SynchronousEvent = true,
Payload =
{
{ Name = "achievementID", Type = "number", Nilable = false },
},
},
{
Name = "AchievementSearchUpdated",
Type = "Event",
LiteralName = "ACHIEVEMENT_SEARCH_UPDATED",
SynchronousEvent = true,
},
{
Name = "CriteriaComplete",
Type = "Event",
LiteralName = "CRITERIA_COMPLETE",
SynchronousEvent = true,
Payload =
{
{ Name = "criteriaID", Type = "number", Nilable = false },
},
},
{
Name = "CriteriaEarned",
Type = "Event",
LiteralName = "CRITERIA_EARNED",
SynchronousEvent = true,
Payload =
{
{ Name = "achievementID", Type = "number", Nilable = false },
{ Name = "description", Type = "cstring", Nilable = false },
{ Name = "achievementAlreadyEarnedOnAccount", Type = "bool", Nilable = false },
},
},
{
Name = "CriteriaUpdate",
Type = "Event",
LiteralName = "CRITERIA_UPDATE",
SynchronousEvent = true,
},
{
Name = "InspectAchievementReady",
Type = "Event",
LiteralName = "INSPECT_ACHIEVEMENT_READY",
SynchronousEvent = true,
Payload =
{
{ Name = "guid", Type = "WOWGUID", Nilable = false },
},
},
{
Name = "ReceivedAchievementList",
Type = "Event",
LiteralName = "RECEIVED_ACHIEVEMENT_LIST",
UniqueEvent = true,
},
{
Name = "ReceivedAchievementMemberList",
Type = "Event",
LiteralName = "RECEIVED_ACHIEVEMENT_MEMBER_LIST",
SynchronousEvent = true,
Payload =
{
{ Name = "achievementID", Type = "number", Nilable = false },
},
},
{
Name = "TrackedAchievementListChanged",
Type = "Event",
LiteralName = "TRACKED_ACHIEVEMENT_LIST_CHANGED",
SynchronousEvent = true,
Payload =
{
{ Name = "achievementID", Type = "number", Nilable = true },
{ Name = "added", Type = "bool", Nilable = true },
},
},
{
Name = "TrackedAchievementUpdate",
Type = "Event",
LiteralName = "TRACKED_ACHIEVEMENT_UPDATE",
SynchronousEvent = true,
Payload =
{
{ Name = "achievementID", Type = "number", Nilable = false },
{ Name = "criteriaID", Type = "number", Nilable = true },
{ Name = "elapsed", Type = "time_t", Nilable = true },
{ Name = "duration", Type = "number", Nilable = true },
},
},
},
Tables =
{
},
};
APIDocumentation:AddDocumentationTable(AchievementInfo);
@@ -0,0 +1,47 @@
local AchievementTelemetry =
{
Name = "AchievementTelemetry",
Type = "System",
Namespace = "C_AchievementTelemetry",
Environment = "All",
Functions =
{
{
Name = "LinkAchievementInClub",
Type = "Function",
HasRestrictions = true,
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "achievementID", Type = "number", Nilable = false },
},
},
{
Name = "LinkAchievementInWhisper",
Type = "Function",
HasRestrictions = true,
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "achievementID", Type = "number", Nilable = false },
},
},
{
Name = "ShowAchievements",
Type = "Function",
},
},
Events =
{
},
Tables =
{
},
};
APIDocumentation:AddDocumentationTable(AchievementTelemetry);
@@ -0,0 +1,44 @@
local ActionBarShared =
{
Tables =
{
{
Name = "ActionBarChargeInfo",
Type = "Structure",
Fields =
{
{ Name = "currentCharges", Type = "number", Nilable = false, Documentation = { "Number of charges currently available" } },
{ Name = "maxCharges", Type = "number", Nilable = false, Documentation = { "Max number of charges that can be accumulated" } },
{ Name = "cooldownStartTime", Type = "number", Nilable = false, Documentation = { "If charge cooldown is active, time at which the most recent charge cooldown began; 0 if cooldown is not active" } },
{ Name = "cooldownDuration", Type = "number", Nilable = false, Documentation = { "Cooldown duration in seconds required to generate a charge" } },
{ Name = "chargeModRate", Type = "number", Nilable = false, Documentation = { "Rate at which cooldown UI should update" } },
},
},
{
Name = "ActionBarCooldownInfo",
Type = "Structure",
Fields =
{
{ Name = "startTime", Type = "number", Nilable = false, Documentation = { "If cooldown is active, time started; 0 if no cooldown; Current time if isEnabled is false" } },
{ Name = "duration", Type = "number", Nilable = false, Documentation = { "Cooldown duration in seconds if active; 0 if cooldown is inactive" } },
{ Name = "isEnabled", Type = "bool", Nilable = false, Documentation = { "False if cooldown is on hold (ex: some cooldowns only start after an active spell is cancelled); True otherwise" } },
{ Name = "modRate", Type = "number", Nilable = false, Documentation = { "Rate at which cooldown UI should update" } },
{ Name = "activeCategory", Type = "number", Nilable = true, Documentation = { "Indicates which category is responsible for determining the duration. A nil value indicates the duration was determined through some other logic, e.g. the spell is on hold." } },
{ Name = "timeUntilEndOfStartRecovery", Type = "number", Nilable = true, Documentation = { "When this is set it indicates that the spell is in recovery and this is how long it will be until that recovery period is finished" } },
{ Name = "isOnGCD", Type = "bool", Nilable = true, NeverSecret = true, Documentation = { "Whether or not this spell is considered to be on the global cooldown, do not trust this field unless responding to a SPELL_UPDATE_COOLDOWN event" } },
},
},
{
Name = "ActionUsableState",
Type = "Structure",
Fields =
{
{ Name = "slot", Type = "luaIndex", Nilable = false },
{ Name = "usable", Type = "bool", Nilable = false },
{ Name = "noMana", Type = "bool", Nilable = false },
},
},
},
};
APIDocumentation:AddDocumentationTable(ActionBarShared);
@@ -0,0 +1,8 @@
local Action =
{
Tables =
{
},
};
APIDocumentation:AddDocumentationTable(Action);
@@ -0,0 +1,43 @@
local AddOnProfilerConstants =
{
Tables =
{
{
Name = "AddOnPerformanceMessageType",
Type = "Enumeration",
NumValues = 3,
MinValue = 0,
MaxValue = 2,
Fields =
{
{ Name = "SpecificAddOnChatWarning", Type = "AddOnPerformanceMessageType", EnumValue = 0, Documentation = { "Warning in chat when an AddOn is close to exceeding thresholds." } },
{ Name = "SpecificAddOnErrorDialog", Type = "AddOnPerformanceMessageType", EnumValue = 1, Documentation = { "Error message modal dialog when an AddOn has exceeded thresholds." } },
{ Name = "OverallAddOnErrorDialog", Type = "AddOnPerformanceMessageType", EnumValue = 2, Documentation = { "Error message modal dialog when all AddOns combined have exceeded thresholds." } },
},
},
{
Name = "AddOnProfilerMetric",
Type = "Enumeration",
NumValues = 12,
MinValue = 0,
MaxValue = 11,
Fields =
{
{ Name = "SessionAverageTime", Type = "AddOnProfilerMetric", EnumValue = 0, Documentation = { "Average time since application startup" } },
{ Name = "RecentAverageTime", Type = "AddOnProfilerMetric", EnumValue = 1, Documentation = { "Average time over the last 60 ticks" } },
{ Name = "EncounterAverageTime", Type = "AddOnProfilerMetric", EnumValue = 2, Documentation = { "Average time over the duration of a boss encounter" } },
{ Name = "LastTime", Type = "AddOnProfilerMetric", EnumValue = 3, Documentation = { "Total time in the most recent tick" } },
{ Name = "PeakTime", Type = "AddOnProfilerMetric", EnumValue = 4, Documentation = { "Highest time recorded since application startup" } },
{ Name = "CountTimeOver1Ms", Type = "AddOnProfilerMetric", EnumValue = 5, Documentation = { "Number of ticks where time exceeded 1ms" } },
{ Name = "CountTimeOver5Ms", Type = "AddOnProfilerMetric", EnumValue = 6, Documentation = { "Number of ticks where time exceeded 5ms" } },
{ Name = "CountTimeOver10Ms", Type = "AddOnProfilerMetric", EnumValue = 7, Documentation = { "Number of ticks where time exceeded 10ms" } },
{ Name = "CountTimeOver50Ms", Type = "AddOnProfilerMetric", EnumValue = 8, Documentation = { "Number of ticks where time exceeded 50ms" } },
{ Name = "CountTimeOver100Ms", Type = "AddOnProfilerMetric", EnumValue = 9, Documentation = { "Number of ticks where time exceeded 100ms" } },
{ Name = "CountTimeOver500Ms", Type = "AddOnProfilerMetric", EnumValue = 10, Documentation = { "Number of ticks where time exceeded 500ms" } },
{ Name = "CountTimeOver1000Ms", Type = "AddOnProfilerMetric", EnumValue = 11, Documentation = { "Number of ticks where time exceeded 1000ms" } },
},
},
},
};
APIDocumentation:AddDocumentationTable(AddOnProfilerConstants);
@@ -0,0 +1,204 @@
local AddOnProfiler =
{
Name = "AddOnProfiler",
Type = "System",
Namespace = "C_AddOnProfiler",
Environment = "All",
Functions =
{
{
Name = "AddMeasuredCallEvent",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Documentation = { "Adds a measured event to any ongoing measured calls. If no such calls are currently taking place, this function does nothing." },
Arguments =
{
{ Name = "name", Type = "stringView", Nilable = false, Documentation = { "User-defined string describing the measured event. This should be kept under 48 bytes to avoid memory allocations." } },
},
},
{
Name = "AddPerformanceMessageShown",
Type = "Function",
HasRestrictions = true,
SecretArguments = "AllowedWhenUntainted",
Documentation = { "Internal API for telemetry." },
Arguments =
{
{ Name = "msg", Type = "AddOnPerformanceMessage", Nilable = false },
},
},
{
Name = "CheckForPerformanceMessage",
Type = "Function",
MayReturnNothing = true,
Documentation = { "Optimized check for determining if AddOns are severely impacting UI performance." },
Returns =
{
{ Name = "msg", Type = "AddOnPerformanceMessage", Nilable = false },
},
},
{
Name = "GetAddOnMetric",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Documentation = { "Gets an AddOn profiler value - all times returned are in milliseconds." },
Arguments =
{
{ Name = "name", Type = "cstring", Nilable = false },
{ Name = "metric", Type = "AddOnProfilerMetric", Nilable = false },
},
Returns =
{
{ Name = "result", Type = "number", Nilable = false },
},
},
{
Name = "GetApplicationMetric",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Documentation = { "Overall profiling data for the entire application (not just the UI)" },
Arguments =
{
{ Name = "metric", Type = "AddOnProfilerMetric", Nilable = false },
},
Returns =
{
{ Name = "result", Type = "number", Nilable = false },
},
},
{
Name = "GetOverallMetric",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Documentation = { "Overall profiling data for all addons" },
Arguments =
{
{ Name = "metric", Type = "AddOnProfilerMetric", Nilable = false },
},
Returns =
{
{ Name = "result", Type = "number", Nilable = false },
},
},
{
Name = "GetTicksPerSecond",
Type = "Function",
Documentation = { "Returns the number of profiling clock ticks that occur within a single real-time second." },
Returns =
{
{ Name = "frequency", Type = "BigInteger", Nilable = false },
},
},
{
Name = "GetTopKAddOnsForMetric",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Documentation = { "Gets top K AddOns for a given metric." },
Arguments =
{
{ Name = "metric", Type = "AddOnProfilerMetric", Nilable = false },
{ Name = "k", Type = "number", Nilable = false },
},
Returns =
{
{ Name = "results", Type = "table", InnerType = "AddOnProfilerResult", Nilable = false },
},
},
{
Name = "IsEnabled",
Type = "Function",
Documentation = { "AddOn profiler will be enabled for all users, but this will return false if it ever isn't" },
Returns =
{
{ Name = "enabled", Type = "bool", Nilable = false },
},
},
{
Name = "MeasureCall",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Documentation = { "Performs a profiled measurement of a single function call with any supplied arguments." },
Arguments =
{
{ Name = "func", Type = "LuaValueVariant", Nilable = false },
{ Name = "arguments", Type = "LuaValueVariant", Nilable = false, NilableContents = true, StrideIndex = 1 },
},
Returns =
{
{ Name = "results", Type = "AddOnProfilerCallResults", Nilable = false },
{ Name = "returns", Type = "LuaValueVariant", Nilable = false, NilableContents = true, StrideIndex = 1 },
},
},
},
Events =
{
},
Tables =
{
{
Name = "AddOnPerformanceMessage",
Type = "Structure",
Fields =
{
{ Name = "type", Type = "AddOnPerformanceMessageType", Nilable = false },
{ Name = "metric", Type = "AddOnProfilerMetric", Nilable = false },
{ Name = "addOnName", Type = "string", Nilable = true },
{ Name = "metricValue", Type = "number", Nilable = false },
{ Name = "thresholdValue", Type = "number", Nilable = false },
},
},
{
Name = "AddOnProfilerCallEvent",
Type = "Structure",
Fields =
{
{ Name = "name", Type = "string", Nilable = false, Documentation = { "User-defined string describing the measured event." } },
{ Name = "allocatedBytes", Type = "BigUInteger", Nilable = false, Documentation = { "Snapshot of the allocated byte count when this event was recorded." } },
{ Name = "deallocatedBytes", Type = "BigUInteger", Nilable = false, Documentation = { "Snapshot of the deallocated byte count when this event was recorded." } },
{ Name = "elapsedMilliseconds", Type = "number", Nilable = false, Documentation = { "Snapshot of the elapsed milliseconds when this event was recorded." } },
{ Name = "elapsedTicks", Type = "BigInteger", Nilable = false, Documentation = { "Snapshot of the elapsed tick count when this event was recorded." } },
},
},
{
Name = "AddOnProfilerCallResults",
Type = "Structure",
Fields =
{
{ Name = "elapsedMilliseconds", Type = "number", Nilable = false, Documentation = { "Total number of milliseconds spent executing the function." } },
{ Name = "elapsedTicks", Type = "BigInteger", Nilable = false, Documentation = { "Total number of profiling clock ticks spent executing the function." } },
{ Name = "allocatedBytes", Type = "BigUInteger", Nilable = false, Documentation = { "Total number of bytes allocated during call execution." } },
{ Name = "deallocatedBytes", Type = "BigUInteger", Nilable = false, Documentation = { "Total number of bytes deallocated during call execution." } },
{ Name = "events", Type = "table", InnerType = "AddOnProfilerCallEvent", Nilable = false, Documentation = { "Events recorded by any AddMeasuredCallEvent calls that took place during function execution." } },
},
},
{
Name = "AddOnProfilerResult",
Type = "Structure",
Fields =
{
{ Name = "addOnName", Type = "cstring", Nilable = false },
{ Name = "metricValue", Type = "number", Nilable = false },
},
},
},
};
APIDocumentation:AddDocumentationTable(AddOnProfiler);
@@ -0,0 +1,475 @@
local AddOns =
{
Name = "AddOns",
Type = "System",
Namespace = "C_AddOns",
Environment = "All",
Functions =
{
{
Name = "DisableAddOn",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "name", Type = "uiAddon", Nilable = false },
{ Name = "character", Type = "cstring", Nilable = false, Default = "0" },
},
},
{
Name = "DisableAllAddOns",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "character", Type = "cstring", Nilable = true },
},
},
{
Name = "DoesAddOnExist",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "name", Type = "uiAddon", Nilable = false },
},
Returns =
{
{ Name = "exists", Type = "bool", Nilable = false },
},
},
{
Name = "DoesAddOnHaveLoadError",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "name", Type = "uiAddon", Nilable = false },
},
Returns =
{
{ Name = "hadError", Type = "bool", Nilable = false },
},
},
{
Name = "EnableAddOn",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "name", Type = "uiAddon", Nilable = false },
{ Name = "character", Type = "cstring", Nilable = false, Default = "0" },
},
},
{
Name = "EnableAllAddOns",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "character", Type = "cstring", Nilable = true },
},
},
{
Name = "GetAddOnDependencies",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "name", Type = "uiAddon", Nilable = false },
},
Returns =
{
{ Name = "deps", Type = "cstring", Nilable = false, StrideIndex = 1 },
},
},
{
Name = "GetAddOnEnableState",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "name", Type = "uiAddon", Nilable = false },
{ Name = "character", Type = "cstring", Nilable = false, Default = "0" },
},
Returns =
{
{ Name = "state", Type = "AddOnEnableState", Nilable = false },
},
},
{
Name = "GetAddOnInfo",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "name", Type = "uiAddon", Nilable = false },
},
Returns =
{
{ Name = "name", Type = "cstring", Nilable = false },
{ Name = "title", Type = "cstring", Nilable = false },
{ Name = "notes", Type = "cstring", Nilable = false },
{ Name = "loadable", Type = "bool", Nilable = false },
{ Name = "reason", Type = "cstring", Nilable = false },
{ Name = "security", Type = "cstring", Nilable = false },
},
},
{
Name = "GetAddOnInterfaceVersion",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "name", Type = "uiAddon", Nilable = false },
},
Returns =
{
{ Name = "interfaceVersion", Type = "number", Nilable = false },
},
},
{
Name = "GetAddOnLocalTable",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Documentation = { "Returns the addon table (passed as the second argument of ... to files) for any addon that opts in through setting AllowAddOnTableAccess: 1 in the toc file. Insecure code cannot query addon tables from Blizzard addons." },
Arguments =
{
{ Name = "name", Type = "uiAddon", Nilable = false },
},
Returns =
{
{ Name = "table", Type = "LuaValueVariant", Nilable = false },
},
},
{
Name = "GetAddOnMetadata",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "name", Type = "uiAddon", Nilable = false },
{ Name = "variable", Type = "cstring", Nilable = false },
},
Returns =
{
{ Name = "value", Type = "cstring", Nilable = false },
},
},
{
Name = "GetAddOnName",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "index", Type = "uiAddon", Nilable = false },
},
Returns =
{
{ Name = "name", Type = "cstring", Nilable = false },
},
},
{
Name = "GetAddOnNotes",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "name", Type = "uiAddon", Nilable = false },
},
Returns =
{
{ Name = "notes", Type = "cstring", Nilable = false },
},
},
{
Name = "GetAddOnOptionalDependencies",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "name", Type = "uiAddon", Nilable = false },
},
Returns =
{
{ Name = "deps", Type = "cstring", Nilable = false, StrideIndex = 1 },
},
},
{
Name = "GetAddOnSecurity",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "name", Type = "uiAddon", Nilable = false },
},
Returns =
{
{ Name = "security", Type = "AddOnSecurityStatus", Nilable = false },
},
},
{
Name = "GetAddOnTitle",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "name", Type = "uiAddon", Nilable = false },
},
Returns =
{
{ Name = "title", Type = "cstring", Nilable = false },
},
},
{
Name = "GetNumAddOns",
Type = "Function",
Returns =
{
{ Name = "numAddOns", Type = "number", Nilable = false },
},
},
{
Name = "GetScriptsDisallowedForBeta",
Type = "Function",
Returns =
{
{ Name = "disallowed", Type = "bool", Nilable = false },
},
},
{
Name = "IsAddOnDefaultEnabled",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "name", Type = "uiAddon", Nilable = false },
},
Returns =
{
{ Name = "defaultEnabled", Type = "bool", Nilable = false },
},
},
{
Name = "IsAddOnLoadOnDemand",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "name", Type = "uiAddon", Nilable = false },
},
Returns =
{
{ Name = "loadOnDemand", Type = "bool", Nilable = false },
},
},
{
Name = "IsAddOnLoadable",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "name", Type = "uiAddon", Nilable = false },
{ Name = "character", Type = "cstring", Nilable = false, Default = "0" },
{ Name = "demandLoaded", Type = "bool", Nilable = false, Default = false },
},
Returns =
{
{ Name = "loadable", Type = "bool", Nilable = false },
{ Name = "reason", Type = "cstring", Nilable = false },
},
},
{
Name = "IsAddOnLoaded",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "name", Type = "uiAddon", Nilable = false },
},
Returns =
{
{ Name = "loadedOrLoading", Type = "bool", Nilable = false },
{ Name = "loaded", Type = "bool", Nilable = false },
},
},
{
Name = "IsAddonVersionCheckEnabled",
Type = "Function",
Returns =
{
{ Name = "isEnabled", Type = "bool", Nilable = false },
},
},
{
Name = "LoadAddOn",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "name", Type = "uiAddon", Nilable = false },
},
Returns =
{
{ Name = "loaded", Type = "bool", Nilable = true },
{ Name = "value", Type = "string", Nilable = true },
},
},
{
Name = "ResetAddOns",
Type = "Function",
},
{
Name = "ResetDisabledAddOns",
Type = "Function",
},
{
Name = "SaveAddOns",
Type = "Function",
},
{
Name = "SetAddonVersionCheck",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "enabled", Type = "bool", Nilable = false },
},
},
},
Events =
{
{
Name = "AddonLoaded",
Type = "Event",
LiteralName = "ADDON_LOADED",
SynchronousEvent = true,
Payload =
{
{ Name = "addOnName", Type = "cstring", Nilable = false },
{ Name = "containsBindings", Type = "bool", Nilable = false },
},
},
{
Name = "AddonsUnloading",
Type = "Event",
LiteralName = "ADDONS_UNLOADING",
SynchronousEvent = true,
Payload =
{
{ Name = "closingClient", Type = "bool", Nilable = false },
},
},
{
Name = "SavedVariablesTooLarge",
Type = "Event",
LiteralName = "SAVED_VARIABLES_TOO_LARGE",
SynchronousEvent = true,
Payload =
{
{ Name = "addOnName", Type = "cstring", Nilable = false },
},
},
},
Tables =
{
{
Name = "AddOnEnableState",
Type = "Enumeration",
NumValues = 3,
MinValue = 0,
MaxValue = 2,
Fields =
{
{ Name = "None", Type = "AddOnEnableState", EnumValue = 0 },
{ Name = "Some", Type = "AddOnEnableState", EnumValue = 1 },
{ Name = "All", Type = "AddOnEnableState", EnumValue = 2 },
},
},
{
Name = "AddOnSecurityStatus",
Type = "Enumeration",
NumValues = 4,
MinValue = 0,
MaxValue = 3,
Fields =
{
{ Name = "Secure", Type = "AddOnSecurityStatus", EnumValue = 0 },
{ Name = "Insecure", Type = "AddOnSecurityStatus", EnumValue = 1 },
{ Name = "Banned", Type = "AddOnSecurityStatus", EnumValue = 2 },
{ Name = "NotAvailable", Type = "AddOnSecurityStatus", EnumValue = 3 },
},
},
{
Name = "AddOnInfo",
Type = "Structure",
Fields =
{
{ Name = "name", Type = "cstring", Nilable = false },
{ Name = "title", Type = "cstring", Nilable = false },
{ Name = "notes", Type = "cstring", Nilable = false },
{ Name = "loadable", Type = "bool", Nilable = false },
{ Name = "reason", Type = "cstring", Nilable = false },
{ Name = "security", Type = "cstring", Nilable = false },
},
},
{
Name = "AddOnLoadableInfo",
Type = "Structure",
Fields =
{
{ Name = "loadable", Type = "bool", Nilable = false },
{ Name = "reason", Type = "cstring", Nilable = false },
},
},
},
};
APIDocumentation:AddDocumentationTable(AddOns);
@@ -0,0 +1,120 @@
local AdventureJournal =
{
Name = "AdventureJournal",
Type = "System",
Namespace = "C_AdventureJournal",
Environment = "All",
Functions =
{
},
Events =
{
{
Name = "AjDungeonAction",
Type = "Event",
LiteralName = "AJ_DUNGEON_ACTION",
SynchronousEvent = true,
Payload =
{
{ Name = "lfgDungeonID", Type = "number", Nilable = false },
},
},
{
Name = "AjOpen",
Type = "Event",
LiteralName = "AJ_OPEN",
SynchronousEvent = true,
},
{
Name = "AjOpenCollectionsAction",
Type = "Event",
LiteralName = "AJ_OPEN_COLLECTIONS_ACTION",
SynchronousEvent = true,
},
{
Name = "AjPveLfgAction",
Type = "Event",
LiteralName = "AJ_PVE_LFG_ACTION",
SynchronousEvent = true,
},
{
Name = "AjPvpAction",
Type = "Event",
LiteralName = "AJ_PVP_ACTION",
SynchronousEvent = true,
Payload =
{
{ Name = "battleMasterListID", Type = "number", Nilable = false },
},
},
{
Name = "AjPvpLfgAction",
Type = "Event",
LiteralName = "AJ_PVP_LFG_ACTION",
SynchronousEvent = true,
},
{
Name = "AjPvpRbgAction",
Type = "Event",
LiteralName = "AJ_PVP_RBG_ACTION",
SynchronousEvent = true,
},
{
Name = "AjPvpSkirmishAction",
Type = "Event",
LiteralName = "AJ_PVP_SKIRMISH_ACTION",
SynchronousEvent = true,
},
{
Name = "AjPvpSpecialBgAction",
Type = "Event",
LiteralName = "AJ_PVP_SPECIAL_BG_ACTION",
SynchronousEvent = true,
},
{
Name = "AjQuestLogOpen",
Type = "Event",
LiteralName = "AJ_QUEST_LOG_OPEN",
SynchronousEvent = true,
Payload =
{
{ Name = "questID", Type = "number", Nilable = false },
{ Name = "uiMapID", Type = "number", Nilable = false },
},
},
{
Name = "AjRaidAction",
Type = "Event",
LiteralName = "AJ_RAID_ACTION",
SynchronousEvent = true,
Payload =
{
{ Name = "lfgDungeonID", Type = "number", Nilable = false },
},
},
{
Name = "AjRefreshDisplay",
Type = "Event",
LiteralName = "AJ_REFRESH_DISPLAY",
SynchronousEvent = true,
Payload =
{
{ Name = "newAdventureNotice", Type = "bool", Nilable = false },
},
},
{
Name = "AjRewardDataReceived",
Type = "Event",
LiteralName = "AJ_REWARD_DATA_RECEIVED",
UniqueEvent = true,
},
},
Tables =
{
},
};
APIDocumentation:AddDocumentationTable(AdventureJournal);
@@ -0,0 +1,96 @@
local AdventureMap =
{
Name = "AdventureMap",
Type = "System",
Namespace = "C_AdventureMap",
Environment = "All",
Functions =
{
{
Name = "GetAdventureMapTextureKit",
Type = "Function",
Returns =
{
{ Name = "adventureMapTextureKit", Type = "textureKit", Nilable = false },
},
},
{
Name = "GetQuestPortraitInfo",
Type = "Function",
MayReturnNothing = true,
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "questID", Type = "number", Nilable = false },
},
Returns =
{
{ Name = "info", Type = "AdventureMapQuestPortraitInfo", Nilable = false },
},
},
},
Events =
{
{
Name = "AdventureMapClose",
Type = "Event",
LiteralName = "ADVENTURE_MAP_CLOSE",
SynchronousEvent = true,
},
{
Name = "AdventureMapOpen",
Type = "Event",
LiteralName = "ADVENTURE_MAP_OPEN",
SynchronousEvent = true,
Payload =
{
{ Name = "followerTypeID", Type = "number", Nilable = false },
},
},
{
Name = "AdventureMapQuestUpdate",
Type = "Event",
LiteralName = "ADVENTURE_MAP_QUEST_UPDATE",
SynchronousEvent = true,
Payload =
{
{ Name = "questID", Type = "number", Nilable = false },
},
},
{
Name = "AdventureMapUpdateInsets",
Type = "Event",
LiteralName = "ADVENTURE_MAP_UPDATE_INSETS",
UniqueEvent = true,
},
{
Name = "AdventureMapUpdatePois",
Type = "Event",
LiteralName = "ADVENTURE_MAP_UPDATE_POIS",
UniqueEvent = true,
},
},
Tables =
{
{
Name = "AdventureMapQuestPortraitInfo",
Type = "Structure",
Fields =
{
{ Name = "portraitDisplayID", Type = "number", Nilable = false },
{ Name = "mountPortraitDisplayID", Type = "number", Nilable = false },
{ Name = "name", Type = "string", Nilable = false },
{ Name = "text", Type = "string", Nilable = false },
{ Name = "modelSceneID", Type = "number", Nilable = true },
},
},
},
};
APIDocumentation:AddDocumentationTable(AdventureMap);
@@ -0,0 +1,97 @@
local AlliedRacesFrame =
{
Name = "AlliedRaces",
Type = "System",
Namespace = "C_AlliedRaces",
Environment = "All",
Functions =
{
{
Name = "GetAllRacialAbilitiesFromID",
Type = "Function",
MayReturnNothing = true,
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "raceID", Type = "number", Nilable = false },
},
Returns =
{
{ Name = "allDisplayInfo", Type = "table", InnerType = "AlliedRaceRacialAbility", Nilable = false },
},
},
{
Name = "GetRaceInfoByID",
Type = "Function",
MayReturnNothing = true,
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "raceID", Type = "number", Nilable = false },
},
Returns =
{
{ Name = "info", Type = "AlliedRaceInfo", Nilable = false },
},
},
},
Events =
{
{
Name = "AlliedRaceClose",
Type = "Event",
LiteralName = "ALLIED_RACE_CLOSE",
SynchronousEvent = true,
},
{
Name = "AlliedRaceOpen",
Type = "Event",
LiteralName = "ALLIED_RACE_OPEN",
SynchronousEvent = true,
Payload =
{
{ Name = "raceID", Type = "number", Nilable = false },
},
},
},
Tables =
{
{
Name = "AlliedRaceInfo",
Type = "Structure",
Fields =
{
{ Name = "raceID", Type = "number", Nilable = false },
{ Name = "maleModelID", Type = "number", Nilable = false },
{ Name = "femaleModelID", Type = "number", Nilable = false },
{ Name = "achievementIds", Type = "table", InnerType = "number", Nilable = false },
{ Name = "maleName", Type = "cstring", Nilable = false },
{ Name = "femaleName", Type = "cstring", Nilable = false },
{ Name = "description", Type = "cstring", Nilable = false },
{ Name = "raceFileString", Type = "cstring", Nilable = false },
{ Name = "crestAtlas", Type = "textureAtlas", Nilable = false },
{ Name = "modelBackgroundAtlas", Type = "textureAtlas", Nilable = false },
{ Name = "bannerColor", Type = "colorRGB", Mixin = "ColorMixin", Nilable = false },
},
},
{
Name = "AlliedRaceRacialAbility",
Type = "Structure",
Fields =
{
{ Name = "description", Type = "cstring", Nilable = false },
{ Name = "name", Type = "cstring", Nilable = false },
{ Name = "icon", Type = "fileID", Nilable = false },
},
},
},
};
APIDocumentation:AddDocumentationTable(AlliedRacesFrame);
@@ -0,0 +1,149 @@
local AnimaDiversionUI =
{
Name = "AnimaDiversionInfo",
Type = "System",
Namespace = "C_AnimaDiversion",
Environment = "All",
Functions =
{
{
Name = "CloseUI",
Type = "Function",
},
{
Name = "GetAnimaDiversionNodes",
Type = "Function",
MayReturnNothing = true,
Returns =
{
{ Name = "animaNodes", Type = "table", InnerType = "AnimaDiversionNodeInfo", Nilable = false },
},
},
{
Name = "GetOriginPosition",
Type = "Function",
Returns =
{
{ Name = "normalizedPosition", Type = "vector2", Mixin = "Vector2DMixin", Nilable = true },
},
},
{
Name = "GetReinforceProgress",
Type = "Function",
Returns =
{
{ Name = "progress", Type = "number", Nilable = false },
},
},
{
Name = "GetTextureKit",
Type = "Function",
Returns =
{
{ Name = "textureKit", Type = "textureKit", Nilable = false },
},
},
{
Name = "OpenAnimaDiversionUI",
Type = "Function",
},
{
Name = "SelectAnimaNode",
Type = "Function",
HasRestrictions = true,
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "talentID", Type = "number", Nilable = false },
{ Name = "temporary", Type = "bool", Nilable = false },
},
},
},
Events =
{
{
Name = "AnimaDiversionClose",
Type = "Event",
LiteralName = "ANIMA_DIVERSION_CLOSE",
SynchronousEvent = true,
},
{
Name = "AnimaDiversionOpen",
Type = "Event",
LiteralName = "ANIMA_DIVERSION_OPEN",
SynchronousEvent = true,
Payload =
{
{ Name = "info", Type = "AnimaDiversionFrameInfo", Nilable = false },
},
},
{
Name = "AnimaDiversionTalentUpdated",
Type = "Event",
LiteralName = "ANIMA_DIVERSION_TALENT_UPDATED",
SynchronousEvent = true,
},
},
Tables =
{
{
Name = "AnimaDiversionNodeState",
Type = "Enumeration",
NumValues = 5,
MinValue = 0,
MaxValue = 4,
Fields =
{
{ Name = "Unavailable", Type = "AnimaDiversionNodeState", EnumValue = 0 },
{ Name = "Available", Type = "AnimaDiversionNodeState", EnumValue = 1 },
{ Name = "SelectedTemporary", Type = "AnimaDiversionNodeState", EnumValue = 2 },
{ Name = "SelectedPermanent", Type = "AnimaDiversionNodeState", EnumValue = 3 },
{ Name = "Cooldown", Type = "AnimaDiversionNodeState", EnumValue = 4 },
},
},
{
Name = "AnimaDiversionCostInfo",
Type = "Structure",
Fields =
{
{ Name = "currencyID", Type = "number", Nilable = false },
{ Name = "quantity", Type = "number", Nilable = false },
},
},
{
Name = "AnimaDiversionFrameInfo",
Type = "Structure",
Fields =
{
{ Name = "textureKit", Type = "textureKit", Nilable = false },
{ Name = "title", Type = "string", Nilable = false },
{ Name = "mapID", Type = "number", Nilable = false },
},
},
{
Name = "AnimaDiversionNodeInfo",
Type = "Structure",
Fields =
{
{ Name = "talentID", Type = "number", Nilable = false },
{ Name = "name", Type = "string", Nilable = false },
{ Name = "description", Type = "string", Nilable = false },
{ Name = "costs", Type = "table", InnerType = "AnimaDiversionCostInfo", Nilable = false },
{ Name = "currencyID", Type = "number", Nilable = false },
{ Name = "icon", Type = "number", Nilable = false },
{ Name = "normalizedPosition", Type = "vector2", Mixin = "Vector2DMixin", Nilable = false },
{ Name = "state", Type = "AnimaDiversionNodeState", Nilable = false },
},
},
},
};
APIDocumentation:AddDocumentationTable(AnimaDiversionUI);
@@ -0,0 +1,33 @@
local AppearanceSource =
{
Tables =
{
{
Name = "AppearanceSourceInfo",
Type = "Structure",
Fields =
{
{ Name = "visualID", Type = "number", Nilable = false },
{ Name = "sourceID", Type = "number", Nilable = false },
{ Name = "isCollected", Type = "bool", Nilable = false },
{ Name = "itemID", Type = "number", Nilable = false },
{ Name = "itemModID", Type = "number", Nilable = false },
{ Name = "invType", Type = "luaIndex", Nilable = false, Default = 0 },
{ Name = "categoryID", Type = "TransmogCollectionType", Nilable = false, Default = "None" },
{ Name = "playerCanCollect", Type = "bool", Nilable = false },
{ Name = "isValidSourceForPlayer", Type = "bool", Nilable = false },
{ Name = "canDisplayOnPlayer", Type = "bool", Nilable = false },
{ Name = "inventorySlot", Type = "number", Nilable = true },
{ Name = "sourceType", Type = "luaIndex", Nilable = true },
{ Name = "name", Type = "string", Nilable = true },
{ Name = "quality", Type = "number", Nilable = true },
{ Name = "useError", Type = "string", Nilable = true },
{ Name = "useErrorType", Type = "TransmogUseErrorType", Nilable = true },
{ Name = "meetsTransmogPlayerCondition", Type = "bool", Nilable = true },
{ Name = "isHideVisual", Type = "bool", Nilable = true },
},
},
},
};
APIDocumentation:AddDocumentationTable(AppearanceSource);
@@ -0,0 +1,49 @@
local ArdenwealdGardening =
{
Name = "ArdenwealdGardening",
Type = "System",
Namespace = "C_ArdenwealdGardening",
Environment = "All",
Functions =
{
{
Name = "GetGardenData",
Type = "Function",
Returns =
{
{ Name = "data", Type = "ArdenwealdGardenData", Nilable = false },
},
},
{
Name = "IsGardenAccessible",
Type = "Function",
Returns =
{
{ Name = "accessible", Type = "bool", Nilable = false },
},
},
},
Events =
{
},
Tables =
{
{
Name = "ArdenwealdGardenData",
Type = "Structure",
Fields =
{
{ Name = "active", Type = "number", Nilable = false },
{ Name = "ready", Type = "number", Nilable = false },
{ Name = "remainingSeconds", Type = "time_t", Nilable = false },
},
},
},
};
APIDocumentation:AddDocumentationTable(ArdenwealdGardening);
@@ -0,0 +1,182 @@
local AreaPoiInfo =
{
Name = "AreaPoiInfo",
Type = "System",
Namespace = "C_AreaPoiInfo",
Environment = "All",
Functions =
{
{
Name = "GetAreaPOIForMap",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "uiMapID", Type = "number", Nilable = false },
},
Returns =
{
{ Name = "areaPoiIDs", Type = "table", InnerType = "number", Nilable = false },
},
},
{
Name = "GetAreaPOIInfo",
Type = "Function",
MayReturnNothing = true,
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "uiMapID", Type = "number", Nilable = true },
{ Name = "areaPoiID", Type = "number", Nilable = false },
},
Returns =
{
{ Name = "poiInfo", Type = "AreaPOIInfo", Nilable = false },
},
},
{
Name = "GetAreaPOISecondsLeft",
Type = "Function",
MayReturnNothing = true,
SecretArguments = "AllowedWhenUntainted",
Documentation = { "Returns the number of seconds until the POI expires." },
Arguments =
{
{ Name = "areaPoiID", Type = "number", Nilable = false },
},
Returns =
{
{ Name = "secondsLeft", Type = "number", Nilable = false },
},
},
{
Name = "GetDelvesForMap",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Documentation = { "Returns all area POIInfos flagged as delves for the given map." },
Arguments =
{
{ Name = "uiMapID", Type = "number", Nilable = false },
},
Returns =
{
{ Name = "areaPoiIDs", Type = "table", InnerType = "number", Nilable = false },
},
},
{
Name = "GetDragonridingRacesForMap",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Documentation = { "Returns all area POIInfos flagged as dragonriding races for the given map." },
Arguments =
{
{ Name = "uiMapID", Type = "number", Nilable = false },
},
Returns =
{
{ Name = "areaPoiIDs", Type = "table", InnerType = "number", Nilable = false },
},
},
{
Name = "GetEventsForMap",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Documentation = { "Returns all area POIInfos flagged as events for the given map." },
Arguments =
{
{ Name = "uiMapID", Type = "number", Nilable = false },
},
Returns =
{
{ Name = "areaPoiIDs", Type = "table", InnerType = "number", Nilable = false },
},
},
{
Name = "GetQuestHubsForMap",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Documentation = { "Returns all area POIInfos flagged as quest hubs for the given map." },
Arguments =
{
{ Name = "uiMapID", Type = "number", Nilable = false },
},
Returns =
{
{ Name = "areaPoiIDs", Type = "table", InnerType = "number", Nilable = false },
},
},
{
Name = "IsAreaPOITimed",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Documentation = { "This statically determines if the POI is timed, GetAreaPOITimeLeft retrieves the value from the server and may return nothing for long intervals" },
Arguments =
{
{ Name = "areaPoiID", Type = "number", Nilable = false },
},
Returns =
{
{ Name = "isTimed", Type = "bool", Nilable = false },
{ Name = "hideTimerInTooltip", Type = "bool", Nilable = true },
},
},
},
Events =
{
{
Name = "AreaPoisUpdated",
Type = "Event",
LiteralName = "AREA_POIS_UPDATED",
UniqueEvent = true,
},
},
Tables =
{
{
Name = "AreaPOIInfo",
Type = "Structure",
Fields =
{
{ Name = "areaPoiID", Type = "number", Nilable = false },
{ Name = "position", Type = "vector2", Mixin = "Vector2DMixin", Nilable = false },
{ Name = "name", Type = "cstring", Nilable = false },
{ Name = "description", Type = "cstring", Nilable = true },
{ Name = "linkedUiMapID", Type = "number", Nilable = true },
{ Name = "textureIndex", Type = "number", Nilable = true },
{ Name = "tooltipWidgetSet", Type = "number", Nilable = true },
{ Name = "iconWidgetSet", Type = "number", Nilable = true },
{ Name = "atlasName", Type = "string", Nilable = true },
{ Name = "uiTextureKit", Type = "textureKit", Nilable = true },
{ Name = "shouldGlow", Type = "bool", Nilable = false },
{ Name = "factionID", Type = "number", Nilable = true },
{ Name = "isPrimaryMapForPOI", Type = "bool", Nilable = false },
{ Name = "isAlwaysOnFlightmap", Type = "bool", Nilable = false },
{ Name = "addPaddingAboveTooltipWidgets", Type = "bool", Nilable = true },
{ Name = "highlightWorldQuestsOnHover", Type = "bool", Nilable = false },
{ Name = "highlightVignettesOnHover", Type = "bool", Nilable = false },
{ Name = "isCurrentEvent", Type = "bool", Nilable = false },
},
},
},
};
APIDocumentation:AddDocumentationTable(AreaPoiInfo);
@@ -0,0 +1,37 @@
local ArrowCalloutConstants =
{
Tables =
{
{
Name = "ArrowCalloutDirection",
Type = "Enumeration",
NumValues = 4,
MinValue = 0,
MaxValue = 3,
Fields =
{
{ Name = "Up", Type = "ArrowCalloutDirection", EnumValue = 0 },
{ Name = "Down", Type = "ArrowCalloutDirection", EnumValue = 1 },
{ Name = "Left", Type = "ArrowCalloutDirection", EnumValue = 2 },
{ Name = "Right", Type = "ArrowCalloutDirection", EnumValue = 3 },
},
},
{
Name = "ArrowCalloutType",
Type = "Enumeration",
NumValues = 5,
MinValue = 0,
MaxValue = 4,
Fields =
{
{ Name = "None", Type = "ArrowCalloutType", EnumValue = 0 },
{ Name = "Generic", Type = "ArrowCalloutType", EnumValue = 1 },
{ Name = "WorldLootObject", Type = "ArrowCalloutType", EnumValue = 2 },
{ Name = "Tutorial", Type = "ArrowCalloutType", EnumValue = 3 },
{ Name = "WidgetContainerNoBorder", Type = "ArrowCalloutType", EnumValue = 4 },
},
},
},
};
APIDocumentation:AddDocumentationTable(ArrowCalloutConstants);
@@ -0,0 +1,70 @@
local AssistedCombat =
{
Name = "AssistedCombat",
Type = "System",
Namespace = "C_AssistedCombat",
Environment = "All",
Functions =
{
{
Name = "GetActionSpell",
Type = "Function",
Returns =
{
{ Name = "spellID", Type = "number", Nilable = true },
},
},
{
Name = "GetNextCastSpell",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "checkForVisibleButton", Type = "bool", Nilable = false, Default = false },
},
Returns =
{
{ Name = "spellID", Type = "number", Nilable = true },
},
},
{
Name = "GetRotationSpells",
Type = "Function",
Returns =
{
{ Name = "spellIDs", Type = "table", InnerType = "number", Nilable = false },
},
},
{
Name = "IsAvailable",
Type = "Function",
Returns =
{
{ Name = "isAvailable", Type = "bool", Nilable = false },
{ Name = "failureReason", Type = "string", Nilable = false },
},
},
},
Events =
{
{
Name = "AssistedCombatActionSpellCast",
Type = "Event",
LiteralName = "ASSISTED_COMBAT_ACTION_SPELL_CAST",
SynchronousEvent = true,
},
},
Tables =
{
},
};
APIDocumentation:AddDocumentationTable(AssistedCombat);
@@ -0,0 +1,25 @@
local AsyncAssistActionsConstants =
{
Tables =
{
{
Name = "AssistActionType",
Type = "Enumeration",
NumValues = 7,
MinValue = 0,
MaxValue = 6,
Fields =
{
{ Name = "None", Type = "AssistActionType", EnumValue = 0 },
{ Name = "LoungingPlayer", Type = "AssistActionType", EnumValue = 1 },
{ Name = "GraveMarker", Type = "AssistActionType", EnumValue = 2 },
{ Name = "PlacedVo", Type = "AssistActionType", EnumValue = 3 },
{ Name = "PlayerGuardian", Type = "AssistActionType", EnumValue = 4 },
{ Name = "PlayerSlayer", Type = "AssistActionType", EnumValue = 5 },
{ Name = "CapturedBuff", Type = "AssistActionType", EnumValue = 6 },
},
},
},
};
APIDocumentation:AddDocumentationTable(AsyncAssistActionsConstants);
@@ -0,0 +1,16 @@
local AuctionHouseConstants =
{
Tables =
{
{
Name = "AuctionConstants",
Type = "Constants",
Values =
{
{ Name = "DEFAULT_AUCTION_PRICE_MULTIPLIER", Type = "number", Value = 1.5 },
},
},
},
};
APIDocumentation:AddDocumentationTable(AuctionHouseConstants);
@@ -0,0 +1,154 @@
local AuctionHouseEnums =
{
Tables =
{
{
Name = "AuctionHouseCommoditySortOrder",
Type = "Enumeration",
NumValues = 2,
MinValue = 0,
MaxValue = 1,
Fields =
{
{ Name = "UnitPrice", Type = "AuctionHouseCommoditySortOrder", EnumValue = 0 },
{ Name = "Quantity", Type = "AuctionHouseCommoditySortOrder", EnumValue = 1 },
},
},
{
Name = "AuctionHouseError",
Type = "Enumeration",
NumValues = 27,
MinValue = 0,
MaxValue = 26,
Fields =
{
{ Name = "NotEnoughMoney", Type = "AuctionHouseError", EnumValue = 0 },
{ Name = "HigherBid", Type = "AuctionHouseError", EnumValue = 1 },
{ Name = "BidIncrement", Type = "AuctionHouseError", EnumValue = 2 },
{ Name = "BidOwn", Type = "AuctionHouseError", EnumValue = 3 },
{ Name = "ItemNotFound", Type = "AuctionHouseError", EnumValue = 4 },
{ Name = "RestrictedAccountTrial", Type = "AuctionHouseError", EnumValue = 5 },
{ Name = "HasRestriction", Type = "AuctionHouseError", EnumValue = 6 },
{ Name = "IsBusy", Type = "AuctionHouseError", EnumValue = 7 },
{ Name = "Unavailable", Type = "AuctionHouseError", EnumValue = 8 },
{ Name = "ItemHasQuote", Type = "AuctionHouseError", EnumValue = 9 },
{ Name = "DatabaseError", Type = "AuctionHouseError", EnumValue = 10 },
{ Name = "MinBid", Type = "AuctionHouseError", EnumValue = 11 },
{ Name = "NotEnoughItems", Type = "AuctionHouseError", EnumValue = 12 },
{ Name = "RepairItem", Type = "AuctionHouseError", EnumValue = 13 },
{ Name = "UsedCharges", Type = "AuctionHouseError", EnumValue = 14 },
{ Name = "QuestItem", Type = "AuctionHouseError", EnumValue = 15 },
{ Name = "BoundItem", Type = "AuctionHouseError", EnumValue = 16 },
{ Name = "ConjuredItem", Type = "AuctionHouseError", EnumValue = 17 },
{ Name = "LimitedDurationItem", Type = "AuctionHouseError", EnumValue = 18 },
{ Name = "IsBag", Type = "AuctionHouseError", EnumValue = 19 },
{ Name = "EquippedBag", Type = "AuctionHouseError", EnumValue = 20 },
{ Name = "WrappedItem", Type = "AuctionHouseError", EnumValue = 21 },
{ Name = "LootItem", Type = "AuctionHouseError", EnumValue = 22 },
{ Name = "DoubleBid", Type = "AuctionHouseError", EnumValue = 23 },
{ Name = "FavoritesMaxed", Type = "AuctionHouseError", EnumValue = 24 },
{ Name = "ItemNotAvailable", Type = "AuctionHouseError", EnumValue = 25 },
{ Name = "ItemBoundToAccountUntilEquip", Type = "AuctionHouseError", EnumValue = 26 },
},
},
{
Name = "AuctionHouseExtraColumn",
Type = "Enumeration",
NumValues = 5,
MinValue = 0,
MaxValue = 4,
Fields =
{
{ Name = "None", Type = "AuctionHouseExtraColumn", EnumValue = 0 },
{ Name = "Ilvl", Type = "AuctionHouseExtraColumn", EnumValue = 1 },
{ Name = "Slots", Type = "AuctionHouseExtraColumn", EnumValue = 2 },
{ Name = "Level", Type = "AuctionHouseExtraColumn", EnumValue = 3 },
{ Name = "Skill", Type = "AuctionHouseExtraColumn", EnumValue = 4 },
},
},
{
Name = "AuctionHouseFilter",
Type = "Enumeration",
NumValues = 14,
MinValue = 0,
MaxValue = 13,
Fields =
{
{ Name = "None", Type = "AuctionHouseFilter", EnumValue = 0 },
{ Name = "UncollectedOnly", Type = "AuctionHouseFilter", EnumValue = 1 },
{ Name = "UsableOnly", Type = "AuctionHouseFilter", EnumValue = 2 },
{ Name = "CurrentExpansionOnly", Type = "AuctionHouseFilter", EnumValue = 3 },
{ Name = "UpgradesOnly", Type = "AuctionHouseFilter", EnumValue = 4 },
{ Name = "ExactMatch", Type = "AuctionHouseFilter", EnumValue = 5 },
{ Name = "PoorQuality", Type = "AuctionHouseFilter", EnumValue = 6 },
{ Name = "CommonQuality", Type = "AuctionHouseFilter", EnumValue = 7 },
{ Name = "UncommonQuality", Type = "AuctionHouseFilter", EnumValue = 8 },
{ Name = "RareQuality", Type = "AuctionHouseFilter", EnumValue = 9 },
{ Name = "EpicQuality", Type = "AuctionHouseFilter", EnumValue = 10 },
{ Name = "LegendaryQuality", Type = "AuctionHouseFilter", EnumValue = 11 },
{ Name = "ArtifactQuality", Type = "AuctionHouseFilter", EnumValue = 12 },
{ Name = "LegendaryCraftedItemOnly", Type = "AuctionHouseFilter", EnumValue = 13 },
},
},
{
Name = "AuctionHouseItemSortOrder",
Type = "Enumeration",
NumValues = 2,
MinValue = 0,
MaxValue = 1,
Fields =
{
{ Name = "Bid", Type = "AuctionHouseItemSortOrder", EnumValue = 0 },
{ Name = "Buyout", Type = "AuctionHouseItemSortOrder", EnumValue = 1 },
},
},
{
Name = "AuctionHouseNotification",
Type = "Enumeration",
NumValues = 6,
MinValue = 0,
MaxValue = 5,
Fields =
{
{ Name = "BidPlaced", Type = "AuctionHouseNotification", EnumValue = 0 },
{ Name = "AuctionRemoved", Type = "AuctionHouseNotification", EnumValue = 1 },
{ Name = "AuctionWon", Type = "AuctionHouseNotification", EnumValue = 2 },
{ Name = "AuctionOutbid", Type = "AuctionHouseNotification", EnumValue = 3 },
{ Name = "AuctionSold", Type = "AuctionHouseNotification", EnumValue = 4 },
{ Name = "AuctionExpired", Type = "AuctionHouseNotification", EnumValue = 5 },
},
},
{
Name = "AuctionHouseSortOrder",
Type = "Enumeration",
NumValues = 6,
MinValue = 0,
MaxValue = 5,
Fields =
{
{ Name = "Price", Type = "AuctionHouseSortOrder", EnumValue = 0 },
{ Name = "Name", Type = "AuctionHouseSortOrder", EnumValue = 1 },
{ Name = "Level", Type = "AuctionHouseSortOrder", EnumValue = 2 },
{ Name = "Bid", Type = "AuctionHouseSortOrder", EnumValue = 3 },
{ Name = "Buyout", Type = "AuctionHouseSortOrder", EnumValue = 4 },
{ Name = "TimeRemaining", Type = "AuctionHouseSortOrder", EnumValue = 5 },
},
},
{
Name = "AuctionHouseTimeLeftBand",
Type = "Enumeration",
NumValues = 4,
MinValue = 0,
MaxValue = 3,
Fields =
{
{ Name = "Short", Type = "AuctionHouseTimeLeftBand", EnumValue = 0 },
{ Name = "Medium", Type = "AuctionHouseTimeLeftBand", EnumValue = 1 },
{ Name = "Long", Type = "AuctionHouseTimeLeftBand", EnumValue = 2 },
{ Name = "VeryLong", Type = "AuctionHouseTimeLeftBand", EnumValue = 3 },
},
},
},
};
APIDocumentation:AddDocumentationTable(AuctionHouseEnums);
@@ -0,0 +1,22 @@
local AzeriteConstants =
{
Tables =
{
{
Name = "AzeriteEssenceSlot",
Type = "Enumeration",
NumValues = 4,
MinValue = 0,
MaxValue = 3,
Fields =
{
{ Name = "MainSlot", Type = "AzeriteEssenceSlot", EnumValue = 0 },
{ Name = "PassiveOneSlot", Type = "AzeriteEssenceSlot", EnumValue = 1 },
{ Name = "PassiveTwoSlot", Type = "AzeriteEssenceSlot", EnumValue = 2 },
{ Name = "PassiveThreeSlot", Type = "AzeriteEssenceSlot", EnumValue = 3 },
},
},
},
};
APIDocumentation:AddDocumentationTable(AzeriteConstants);
@@ -0,0 +1,349 @@
local AzeriteEmpoweredItem =
{
Name = "AzeriteEmpoweredItem",
Type = "System",
Namespace = "C_AzeriteEmpoweredItem",
Environment = "All",
Functions =
{
{
Name = "CanSelectPower",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "azeriteEmpoweredItemLocation", Type = "AzeriteEmpoweredItemLocation", Mixin = "ItemLocationMixin", Nilable = false },
{ Name = "powerID", Type = "number", Nilable = false },
},
Returns =
{
{ Name = "canSelect", Type = "bool", Nilable = false },
},
},
{
Name = "ConfirmAzeriteEmpoweredItemRespec",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "azeriteEmpoweredItemLocation", Type = "AzeriteEmpoweredItemLocation", Mixin = "ItemLocationMixin", Nilable = false },
},
},
{
Name = "GetAllTierInfo",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "azeriteEmpoweredItemLocation", Type = "AzeriteEmpoweredItemLocation", Mixin = "ItemLocationMixin", Nilable = false },
},
Returns =
{
{ Name = "tierInfo", Type = "table", InnerType = "AzeriteEmpoweredItemTierInfo", Nilable = false },
},
},
{
Name = "GetAllTierInfoByItemID",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "itemInfo", Type = "ItemInfo", Nilable = false },
{ Name = "classID", Type = "number", Nilable = true, Documentation = { "Specify a class ID to get tier information about that class, otherwise uses the player's class if left nil" } },
},
Returns =
{
{ Name = "tierInfo", Type = "table", InnerType = "AzeriteEmpoweredItemTierInfo", Nilable = false },
},
},
{
Name = "GetAzeriteEmpoweredItemRespecCost",
Type = "Function",
Returns =
{
{ Name = "cost", Type = "number", Nilable = false },
},
},
{
Name = "GetPowerInfo",
Type = "Function",
MayReturnNothing = true,
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "powerID", Type = "number", Nilable = false },
},
Returns =
{
{ Name = "powerInfo", Type = "AzeriteEmpoweredItemPowerInfo", Nilable = false },
},
},
{
Name = "GetPowerText",
Type = "Function",
MayReturnNothing = true,
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "azeriteEmpoweredItemLocation", Type = "AzeriteEmpoweredItemLocation", Mixin = "ItemLocationMixin", Nilable = false },
{ Name = "powerID", Type = "number", Nilable = false },
{ Name = "level", Type = "AzeritePowerLevel", Nilable = false },
},
Returns =
{
{ Name = "powerText", Type = "AzeriteEmpoweredItemPowerText", Nilable = false },
},
},
{
Name = "GetSpecsForPower",
Type = "Function",
MayReturnNothing = true,
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "powerID", Type = "number", Nilable = false },
},
Returns =
{
{ Name = "specInfo", Type = "table", InnerType = "AzeriteSpecInfo", Nilable = false },
},
},
{
Name = "HasAnyUnselectedPowers",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "azeriteEmpoweredItemLocation", Type = "AzeriteEmpoweredItemLocation", Mixin = "ItemLocationMixin", Nilable = false },
},
Returns =
{
{ Name = "hasAnyUnselectedPowers", Type = "bool", Nilable = false },
},
},
{
Name = "HasBeenViewed",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "azeriteEmpoweredItemLocation", Type = "AzeriteEmpoweredItemLocation", Mixin = "ItemLocationMixin", Nilable = false },
},
Returns =
{
{ Name = "hasBeenViewed", Type = "bool", Nilable = false },
},
},
{
Name = "IsAzeriteEmpoweredItem",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "itemLocation", Type = "ItemLocation", Mixin = "ItemLocationMixin", Nilable = false },
},
Returns =
{
{ Name = "isAzeriteEmpoweredItem", Type = "bool", Nilable = false },
},
},
{
Name = "IsAzeriteEmpoweredItemByID",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "itemInfo", Type = "ItemInfo", Nilable = false },
},
Returns =
{
{ Name = "isAzeriteEmpoweredItem", Type = "bool", Nilable = false },
},
},
{
Name = "IsAzeritePreviewSourceDisplayable",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "itemInfo", Type = "ItemInfo", Nilable = false },
{ Name = "classID", Type = "number", Nilable = true, Documentation = { "Specify a class ID to determine if its displayable for that class, otherwise uses the player's class if left nil" } },
},
Returns =
{
{ Name = "isAzeritePreviewSourceDisplayable", Type = "bool", Nilable = false },
},
},
{
Name = "IsHeartOfAzerothEquipped",
Type = "Function",
Returns =
{
{ Name = "isHeartOfAzerothEquipped", Type = "bool", Nilable = false },
},
},
{
Name = "IsPowerAvailableForSpec",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "powerID", Type = "number", Nilable = false },
{ Name = "specID", Type = "number", Nilable = false },
},
Returns =
{
{ Name = "isPowerAvailableForSpec", Type = "bool", Nilable = false },
},
},
{
Name = "IsPowerSelected",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "azeriteEmpoweredItemLocation", Type = "AzeriteEmpoweredItemLocation", Mixin = "ItemLocationMixin", Nilable = false },
{ Name = "powerID", Type = "number", Nilable = false },
},
Returns =
{
{ Name = "isSelected", Type = "bool", Nilable = false },
},
},
{
Name = "SelectPower",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "azeriteEmpoweredItemLocation", Type = "AzeriteEmpoweredItemLocation", Mixin = "ItemLocationMixin", Nilable = false },
{ Name = "powerID", Type = "number", Nilable = false },
},
Returns =
{
{ Name = "success", Type = "bool", Nilable = false },
},
},
{
Name = "SetHasBeenViewed",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "azeriteEmpoweredItemLocation", Type = "AzeriteEmpoweredItemLocation", Mixin = "ItemLocationMixin", Nilable = false },
},
},
},
Events =
{
{
Name = "AzeriteEmpoweredItemEquippedStatusChanged",
Type = "Event",
LiteralName = "AZERITE_EMPOWERED_ITEM_EQUIPPED_STATUS_CHANGED",
SynchronousEvent = true,
Payload =
{
{ Name = "isHeartEquipped", Type = "bool", Nilable = false },
},
},
{
Name = "AzeriteEmpoweredItemSelectionUpdated",
Type = "Event",
LiteralName = "AZERITE_EMPOWERED_ITEM_SELECTION_UPDATED",
SynchronousEvent = true,
Payload =
{
{ Name = "azeriteEmpoweredItemLocation", Type = "AzeriteEmpoweredItemLocation", Mixin = "ItemLocationMixin", Nilable = false },
},
},
},
Tables =
{
{
Name = "AzeritePowerLevel",
Type = "Enumeration",
NumValues = 3,
MinValue = 0,
MaxValue = 2,
Fields =
{
{ Name = "Base", Type = "AzeritePowerLevel", EnumValue = 0 },
{ Name = "Upgraded", Type = "AzeritePowerLevel", EnumValue = 1 },
{ Name = "Downgraded", Type = "AzeritePowerLevel", EnumValue = 2 },
},
},
{
Name = "AzeriteEmpoweredItemPowerInfo",
Type = "Structure",
Fields =
{
{ Name = "azeritePowerID", Type = "number", Nilable = false },
{ Name = "spellID", Type = "number", Nilable = false },
},
},
{
Name = "AzeriteEmpoweredItemPowerText",
Type = "Structure",
Fields =
{
{ Name = "name", Type = "string", Nilable = false },
{ Name = "description", Type = "string", Nilable = false },
},
},
{
Name = "AzeriteEmpoweredItemTierInfo",
Type = "Structure",
Fields =
{
{ Name = "azeritePowerIDs", Type = "table", InnerType = "number", Nilable = false },
{ Name = "unlockLevel", Type = "number", Nilable = false },
},
},
{
Name = "AzeriteSpecInfo",
Type = "Structure",
Fields =
{
{ Name = "classID", Type = "number", Nilable = false },
{ Name = "specID", Type = "number", Nilable = false },
},
},
},
};
APIDocumentation:AddDocumentationTable(AzeriteEmpoweredItem);
@@ -0,0 +1,353 @@
local AzeriteEssence =
{
Name = "AzeriteEssence",
Type = "System",
Namespace = "C_AzeriteEssence",
Environment = "All",
Functions =
{
{
Name = "ActivateEssence",
Type = "Function",
HasRestrictions = true,
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "essenceID", Type = "number", Nilable = false },
{ Name = "milestoneID", Type = "number", Nilable = false },
},
},
{
Name = "CanActivateEssence",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "essenceID", Type = "number", Nilable = false },
{ Name = "milestoneID", Type = "number", Nilable = false },
},
Returns =
{
{ Name = "canActivate", Type = "bool", Nilable = false },
},
},
{
Name = "CanDeactivateEssence",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "milestoneID", Type = "number", Nilable = false },
},
Returns =
{
{ Name = "canDeactivate", Type = "bool", Nilable = false },
},
},
{
Name = "CanOpenUI",
Type = "Function",
Returns =
{
{ Name = "canOpen", Type = "bool", Nilable = false },
},
},
{
Name = "ClearPendingActivationEssence",
Type = "Function",
},
{
Name = "CloseForge",
Type = "Function",
},
{
Name = "GetEssenceHyperlink",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "essenceID", Type = "number", Nilable = false },
{ Name = "rank", Type = "number", Nilable = false },
},
Returns =
{
{ Name = "link", Type = "cstring", Nilable = false },
},
},
{
Name = "GetEssenceInfo",
Type = "Function",
MayReturnNothing = true,
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "essenceID", Type = "number", Nilable = false },
},
Returns =
{
{ Name = "info", Type = "AzeriteEssenceInfo", Nilable = false },
},
},
{
Name = "GetEssences",
Type = "Function",
MayReturnNothing = true,
Returns =
{
{ Name = "essences", Type = "table", InnerType = "AzeriteEssenceInfo", Nilable = false },
},
},
{
Name = "GetMilestoneEssence",
Type = "Function",
MayReturnNothing = true,
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "milestoneID", Type = "number", Nilable = false },
},
Returns =
{
{ Name = "essenceID", Type = "number", Nilable = false },
},
},
{
Name = "GetMilestoneInfo",
Type = "Function",
MayReturnNothing = true,
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "milestoneID", Type = "number", Nilable = false },
},
Returns =
{
{ Name = "info", Type = "AzeriteMilestoneInfo", Nilable = false },
},
},
{
Name = "GetMilestoneSpell",
Type = "Function",
MayReturnNothing = true,
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "milestoneID", Type = "number", Nilable = false },
},
Returns =
{
{ Name = "spellID", Type = "number", Nilable = false },
},
},
{
Name = "GetMilestones",
Type = "Function",
MayReturnNothing = true,
Returns =
{
{ Name = "milestones", Type = "table", InnerType = "AzeriteMilestoneInfo", Nilable = false },
},
},
{
Name = "GetNumUnlockedEssences",
Type = "Function",
Returns =
{
{ Name = "numUnlockedEssences", Type = "number", Nilable = false },
},
},
{
Name = "GetNumUsableEssences",
Type = "Function",
Returns =
{
{ Name = "numUsableEssences", Type = "number", Nilable = false },
},
},
{
Name = "GetPendingActivationEssence",
Type = "Function",
Returns =
{
{ Name = "essenceID", Type = "number", Nilable = false },
},
},
{
Name = "HasNeverActivatedAnyEssences",
Type = "Function",
Returns =
{
{ Name = "hasNeverActivatedAnyEssences", Type = "bool", Nilable = false },
},
},
{
Name = "HasPendingActivationEssence",
Type = "Function",
Returns =
{
{ Name = "hasEssence", Type = "bool", Nilable = false },
},
},
{
Name = "IsAtForge",
Type = "Function",
Returns =
{
{ Name = "isAtForge", Type = "bool", Nilable = false },
},
},
{
Name = "SetPendingActivationEssence",
Type = "Function",
HasRestrictions = true,
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "essenceID", Type = "number", Nilable = false },
},
},
{
Name = "UnlockMilestone",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "milestoneID", Type = "number", Nilable = false },
},
},
},
Events =
{
{
Name = "AzeriteEssenceActivated",
Type = "Event",
LiteralName = "AZERITE_ESSENCE_ACTIVATED",
SynchronousEvent = true,
Payload =
{
{ Name = "slot", Type = "AzeriteEssenceSlot", Nilable = false },
{ Name = "essenceID", Type = "number", Nilable = false },
},
},
{
Name = "AzeriteEssenceActivationFailed",
Type = "Event",
LiteralName = "AZERITE_ESSENCE_ACTIVATION_FAILED",
SynchronousEvent = true,
Payload =
{
{ Name = "slot", Type = "AzeriteEssenceSlot", Nilable = false },
{ Name = "essenceID", Type = "number", Nilable = false },
},
},
{
Name = "AzeriteEssenceChanged",
Type = "Event",
LiteralName = "AZERITE_ESSENCE_CHANGED",
SynchronousEvent = true,
Payload =
{
{ Name = "essenceID", Type = "number", Nilable = false },
{ Name = "newRank", Type = "number", Nilable = false },
},
},
{
Name = "AzeriteEssenceForgeClose",
Type = "Event",
LiteralName = "AZERITE_ESSENCE_FORGE_CLOSE",
SynchronousEvent = true,
},
{
Name = "AzeriteEssenceForgeOpen",
Type = "Event",
LiteralName = "AZERITE_ESSENCE_FORGE_OPEN",
SynchronousEvent = true,
},
{
Name = "AzeriteEssenceMilestoneUnlocked",
Type = "Event",
LiteralName = "AZERITE_ESSENCE_MILESTONE_UNLOCKED",
SynchronousEvent = true,
Payload =
{
{ Name = "milestoneID", Type = "number", Nilable = false },
},
},
{
Name = "AzeriteEssenceUpdate",
Type = "Event",
LiteralName = "AZERITE_ESSENCE_UPDATE",
UniqueEvent = true,
},
{
Name = "PendingAzeriteEssenceChanged",
Type = "Event",
LiteralName = "PENDING_AZERITE_ESSENCE_CHANGED",
SynchronousEvent = true,
Payload =
{
{ Name = "essenceID", Type = "number", Nilable = true },
},
},
},
Tables =
{
{
Name = "AzeriteEssenceInfo",
Type = "Structure",
Fields =
{
{ Name = "ID", Type = "number", Nilable = false },
{ Name = "name", Type = "cstring", Nilable = false },
{ Name = "rank", Type = "number", Nilable = false },
{ Name = "unlocked", Type = "bool", Nilable = false },
{ Name = "valid", Type = "bool", Nilable = false },
{ Name = "icon", Type = "fileID", Nilable = false },
},
},
{
Name = "AzeriteMilestoneInfo",
Type = "Structure",
Fields =
{
{ Name = "ID", Type = "number", Nilable = false },
{ Name = "requiredLevel", Type = "number", Nilable = false },
{ Name = "canUnlock", Type = "bool", Nilable = false },
{ Name = "unlocked", Type = "bool", Nilable = false },
{ Name = "rank", Type = "number", Nilable = true },
{ Name = "slot", Type = "AzeriteEssenceSlot", Nilable = true },
},
},
},
};
APIDocumentation:AddDocumentationTable(AzeriteEssence);
@@ -0,0 +1,195 @@
local AzeriteItem =
{
Name = "AzeriteItem",
Type = "System",
Namespace = "C_AzeriteItem",
Environment = "All",
Functions =
{
{
Name = "FindActiveAzeriteItem",
Type = "Function",
MayReturnNothing = true,
Returns =
{
{ Name = "activeAzeriteItemLocation", Type = "AzeriteItemLocation", Mixin = "ItemLocationMixin", Nilable = false },
},
},
{
Name = "GetAzeriteItemXPInfo",
Type = "Function",
MayReturnNothing = true,
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "azeriteItemLocation", Type = "AzeriteItemLocation", Mixin = "ItemLocationMixin", Nilable = false },
},
Returns =
{
{ Name = "xp", Type = "number", Nilable = false },
{ Name = "totalLevelXP", Type = "number", Nilable = false },
},
},
{
Name = "GetPowerLevel",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "azeriteItemLocation", Type = "AzeriteItemLocation", Mixin = "ItemLocationMixin", Nilable = false },
},
Returns =
{
{ Name = "powerLevel", Type = "number", Nilable = false },
},
},
{
Name = "GetUnlimitedPowerLevel",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "azeriteItemLocation", Type = "AzeriteItemLocation", Mixin = "ItemLocationMixin", Nilable = false },
},
Returns =
{
{ Name = "powerLevel", Type = "number", Nilable = false },
},
},
{
Name = "HasActiveAzeriteItem",
Type = "Function",
Returns =
{
{ Name = "hasActiveAzeriteItem", Type = "bool", Nilable = false },
},
},
{
Name = "IsAzeriteItem",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "itemLocation", Type = "ItemLocation", Mixin = "ItemLocationMixin", Nilable = false },
},
Returns =
{
{ Name = "isAzeriteItem", Type = "bool", Nilable = false },
},
},
{
Name = "IsAzeriteItemAtMaxLevel",
Type = "Function",
Returns =
{
{ Name = "isAtMax", Type = "bool", Nilable = false },
},
},
{
Name = "IsAzeriteItemByID",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "itemInfo", Type = "ItemInfo", Nilable = false },
},
Returns =
{
{ Name = "isAzeriteItem", Type = "bool", Nilable = false },
},
},
{
Name = "IsAzeriteItemEnabled",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "azeriteItemLocation", Type = "AzeriteItemLocation", Mixin = "ItemLocationMixin", Nilable = false },
},
Returns =
{
{ Name = "isEnabled", Type = "bool", Nilable = false },
},
},
{
Name = "IsUnlimitedLevelingUnlocked",
Type = "Function",
Returns =
{
{ Name = "isUnlimitedLevelingUnlocked", Type = "bool", Nilable = false },
},
},
},
Events =
{
{
Name = "AzeriteItemEnabledStateChanged",
Type = "Event",
LiteralName = "AZERITE_ITEM_ENABLED_STATE_CHANGED",
SynchronousEvent = true,
Payload =
{
{ Name = "enabled", Type = "bool", Nilable = false },
},
},
{
Name = "AzeriteItemExperienceChanged",
Type = "Event",
LiteralName = "AZERITE_ITEM_EXPERIENCE_CHANGED",
SynchronousEvent = true,
Payload =
{
{ Name = "azeriteItemLocation", Type = "AzeriteItemLocation", Mixin = "ItemLocationMixin", Nilable = false },
{ Name = "oldExperienceAmount", Type = "number", Nilable = false },
{ Name = "newExperienceAmount", Type = "number", Nilable = false },
},
},
{
Name = "AzeriteItemPowerLevelChanged",
Type = "Event",
LiteralName = "AZERITE_ITEM_POWER_LEVEL_CHANGED",
SynchronousEvent = true,
Payload =
{
{ Name = "azeriteItemLocation", Type = "AzeriteItemLocation", Mixin = "ItemLocationMixin", Nilable = false },
{ Name = "oldPowerLevel", Type = "number", Nilable = false },
{ Name = "newPowerLevel", Type = "number", Nilable = false },
{ Name = "unlockedEmpoweredItemsInfo", Type = "table", InnerType = "UnlockedAzeriteEmpoweredItems", Nilable = false },
{ Name = "azeriteItemID", Type = "number", Nilable = false },
},
},
},
Tables =
{
{
Name = "UnlockedAzeriteEmpoweredItems",
Type = "Structure",
Fields =
{
{ Name = "unlockedItem", Type = "AzeriteEmpoweredItemLocation", Mixin = "ItemLocationMixin", Nilable = false },
{ Name = "tierIndex", Type = "luaIndex", Nilable = false },
},
},
},
};
APIDocumentation:AddDocumentationTable(AzeriteItem);
@@ -0,0 +1,30 @@
local BNetOutage =
{
Name = "BNetOutage",
Type = "System",
Environment = "All",
Functions =
{
{
Name = "ClearOutage",
Type = "Function",
HasRestrictions = true,
},
{
Name = "OutageDetected",
Type = "Function",
HasRestrictions = true,
},
},
Events =
{
},
Tables =
{
},
};
APIDocumentation:AddDocumentationTable(BNetOutage);
@@ -0,0 +1,66 @@
local BagConstants =
{
Tables =
{
{
Name = "BagFlag",
Type = "Enumeration",
NumValues = 28,
MinValue = 1,
MaxValue = 134217728,
Fields =
{
{ Name = "DontFindStack", Type = "BagFlag", EnumValue = 1 },
{ Name = "AlreadyOwner", Type = "BagFlag", EnumValue = 2 },
{ Name = "AlreadyBound", Type = "BagFlag", EnumValue = 4 },
{ Name = "Swap", Type = "BagFlag", EnumValue = 8 },
{ Name = "BagIsEmpty", Type = "BagFlag", EnumValue = 16 },
{ Name = "LookInInventory", Type = "BagFlag", EnumValue = 32 },
{ Name = "IgnoreBoundItemCheck", Type = "BagFlag", EnumValue = 64 },
{ Name = "StackOnly", Type = "BagFlag", EnumValue = 128 },
{ Name = "RecurseQuivers", Type = "BagFlag", EnumValue = 256 },
{ Name = "IgnoreBankcheck", Type = "BagFlag", EnumValue = 512 },
{ Name = "AllowBagsInNonBagSlots", Type = "BagFlag", EnumValue = 1024 },
{ Name = "PreferQuivers", Type = "BagFlag", EnumValue = 2048 },
{ Name = "SwapBags", Type = "BagFlag", EnumValue = 4096 },
{ Name = "IgnoreExisting", Type = "BagFlag", EnumValue = 8192 },
{ Name = "AllowPartialStack", Type = "BagFlag", EnumValue = 16384 },
{ Name = "LookInCharacterBankOnly", Type = "BagFlag", EnumValue = 32768 },
{ Name = "AllowBuyback", Type = "BagFlag", EnumValue = 65536 },
{ Name = "IgnorePetBankcheck", Type = "BagFlag", EnumValue = 131072 },
{ Name = "PreferPriorityBags", Type = "BagFlag", EnumValue = 262144 },
{ Name = "PreferNeutralPriorityBags", Type = "BagFlag", EnumValue = 524288 },
{ Name = "AsymmetricSwap", Type = "BagFlag", EnumValue = 1048576 },
{ Name = "PreferReagentBags", Type = "BagFlag", EnumValue = 2097152 },
{ Name = "IgnoreSoulbound", Type = "BagFlag", EnumValue = 4194304 },
{ Name = "IgnoreReagentBags", Type = "BagFlag", EnumValue = 8388608 },
{ Name = "LookInAccountBankOnly", Type = "BagFlag", EnumValue = 16777216 },
{ Name = "HasRefund", Type = "BagFlag", EnumValue = 33554432 },
{ Name = "SkipValidCountCheck", Type = "BagFlag", EnumValue = 67108864 },
{ Name = "AllowSoulboundItemInAccountBank", Type = "BagFlag", EnumValue = 134217728 },
},
},
{
Name = "BagSlotFlags",
Type = "Enumeration",
NumValues = 10,
MinValue = 1,
MaxValue = 512,
Fields =
{
{ Name = "DisableAutoSort", Type = "BagSlotFlags", EnumValue = 1 },
{ Name = "ClassEquipment", Type = "BagSlotFlags", EnumValue = 2 },
{ Name = "ClassConsumables", Type = "BagSlotFlags", EnumValue = 4 },
{ Name = "ClassProfessionGoods", Type = "BagSlotFlags", EnumValue = 8 },
{ Name = "ClassJunk", Type = "BagSlotFlags", EnumValue = 16 },
{ Name = "ClassQuestItems", Type = "BagSlotFlags", EnumValue = 32 },
{ Name = "ExcludeJunkSell", Type = "BagSlotFlags", EnumValue = 64 },
{ Name = "ClassReagents", Type = "BagSlotFlags", EnumValue = 128 },
{ Name = "ExpansionCurrent", Type = "BagSlotFlags", EnumValue = 256 },
{ Name = "ExpansionLegacy", Type = "BagSlotFlags", EnumValue = 512 },
},
},
},
};
APIDocumentation:AddDocumentationTable(BagConstants);
@@ -0,0 +1,50 @@
local BagIndexConstants =
{
Name = "BagIndexConstants",
Type = "System",
Environment = "All",
Functions =
{
},
Events =
{
},
Tables =
{
{
Name = "BagIndex",
Type = "Enumeration",
NumValues = 20,
MinValue = -3,
MaxValue = 16,
Fields =
{
{ Name = "Accountbanktab", Type = "BagIndex", EnumValue = -3 },
{ Name = "Characterbanktab", Type = "BagIndex", EnumValue = -2 },
{ Name = "Keyring", Type = "BagIndex", EnumValue = -1 },
{ Name = "Backpack", Type = "BagIndex", EnumValue = 0 },
{ Name = "Bag_1", Type = "BagIndex", EnumValue = 1 },
{ Name = "Bag_2", Type = "BagIndex", EnumValue = 2 },
{ Name = "Bag_3", Type = "BagIndex", EnumValue = 3 },
{ Name = "Bag_4", Type = "BagIndex", EnumValue = 4 },
{ Name = "ReagentBag", Type = "BagIndex", EnumValue = 5 },
{ Name = "CharacterBankTab_1", Type = "BagIndex", EnumValue = 6 },
{ Name = "CharacterBankTab_2", Type = "BagIndex", EnumValue = 7 },
{ Name = "CharacterBankTab_3", Type = "BagIndex", EnumValue = 8 },
{ Name = "CharacterBankTab_4", Type = "BagIndex", EnumValue = 9 },
{ Name = "CharacterBankTab_5", Type = "BagIndex", EnumValue = 10 },
{ Name = "CharacterBankTab_6", Type = "BagIndex", EnumValue = 11 },
{ Name = "AccountBankTab_1", Type = "BagIndex", EnumValue = 12 },
{ Name = "AccountBankTab_2", Type = "BagIndex", EnumValue = 13 },
{ Name = "AccountBankTab_3", Type = "BagIndex", EnumValue = 14 },
{ Name = "AccountBankTab_4", Type = "BagIndex", EnumValue = 15 },
{ Name = "AccountBankTab_5", Type = "BagIndex", EnumValue = 16 },
},
},
},
};
APIDocumentation:AddDocumentationTable(BagIndexConstants);
@@ -0,0 +1,428 @@
local Bank =
{
Name = "Bank",
Type = "System",
Namespace = "C_Bank",
Environment = "All",
Functions =
{
{
Name = "AreAnyBankTypesViewable",
Type = "Function",
Returns =
{
{ Name = "areAnyBankTypesViewable", Type = "bool", Nilable = false },
},
},
{
Name = "AutoDepositItemsIntoBank",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "bankType", Type = "BankType", Nilable = false },
},
},
{
Name = "CanDepositMoney",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "bankType", Type = "BankType", Nilable = false },
},
Returns =
{
{ Name = "canDepositMoney", Type = "bool", Nilable = false },
},
},
{
Name = "CanPurchaseBankTab",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "bankType", Type = "BankType", Nilable = false },
},
Returns =
{
{ Name = "canPurchaseBankTab", Type = "bool", Nilable = false },
},
},
{
Name = "CanUseBank",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "bankType", Type = "BankType", Nilable = false },
},
Returns =
{
{ Name = "canUseBank", Type = "bool", Nilable = false },
},
},
{
Name = "CanViewBank",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "bankType", Type = "BankType", Nilable = false },
},
Returns =
{
{ Name = "canViewBank", Type = "bool", Nilable = false },
},
},
{
Name = "CanWithdrawMoney",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "bankType", Type = "BankType", Nilable = false },
},
Returns =
{
{ Name = "canWithdrawMoney", Type = "bool", Nilable = false },
},
},
{
Name = "CloseBankFrame",
Type = "Function",
},
{
Name = "DepositMoney",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "bankType", Type = "BankType", Nilable = false },
{ Name = "amount", Type = "WOWMONEY", Nilable = false },
},
},
{
Name = "DoesBankTypeSupportAutoDeposit",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "bankType", Type = "BankType", Nilable = false },
},
Returns =
{
{ Name = "doesBankTypeSupportAutoDeposit", Type = "bool", Nilable = false },
},
},
{
Name = "DoesBankTypeSupportMoneyTransfer",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "bankType", Type = "BankType", Nilable = false },
},
Returns =
{
{ Name = "doesBankTypeSupportMoneyTransfer", Type = "bool", Nilable = false },
},
},
{
Name = "FetchBankLockedReason",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "bankType", Type = "BankType", Nilable = false },
},
Returns =
{
{ Name = "reason", Type = "BankLockedReason", Nilable = true },
},
},
{
Name = "FetchDepositedMoney",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "bankType", Type = "BankType", Nilable = false },
},
Returns =
{
{ Name = "amount", Type = "WOWMONEY", Nilable = false },
},
},
{
Name = "FetchNextPurchasableBankTabData",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "bankType", Type = "BankType", Nilable = false },
},
Returns =
{
{ Name = "nextPurchasableTabData", Type = "PurchasableBankTabData", Nilable = true },
},
},
{
Name = "FetchNumPurchasedBankTabs",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "bankType", Type = "BankType", Nilable = false },
},
Returns =
{
{ Name = "numPurchasedBankTabs", Type = "number", Nilable = false },
},
},
{
Name = "FetchPurchasedBankTabData",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "bankType", Type = "BankType", Nilable = false },
},
Returns =
{
{ Name = "purchasedBankTabData", Type = "table", InnerType = "BankTabData", Nilable = false },
},
},
{
Name = "FetchPurchasedBankTabIDs",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "bankType", Type = "BankType", Nilable = false },
},
Returns =
{
{ Name = "purchasedBankTabIDs", Type = "table", InnerType = "BagIndex", Nilable = false },
},
},
{
Name = "FetchViewableBankTypes",
Type = "Function",
Returns =
{
{ Name = "viewableBankTypes", Type = "table", InnerType = "BankType", Nilable = false },
},
},
{
Name = "HasMaxBankTabs",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "bankType", Type = "BankType", Nilable = false },
},
Returns =
{
{ Name = "hasMaxBankTabs", Type = "bool", Nilable = false },
},
},
{
Name = "IsItemAllowedInBankType",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "bankType", Type = "BankType", Nilable = false },
{ Name = "itemLocation", Type = "ItemLocation", Mixin = "ItemLocationMixin", Nilable = false },
},
Returns =
{
{ Name = "isItemAllowedInBankType", Type = "bool", Nilable = false },
},
},
{
Name = "PurchaseBankTab",
Type = "Function",
HasRestrictions = true,
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "bankType", Type = "BankType", Nilable = false },
},
},
{
Name = "UpdateBankTabSettings",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "bankType", Type = "BankType", Nilable = false },
{ Name = "tabID", Type = "BagIndex", Nilable = false },
{ Name = "tabName", Type = "cstring", Nilable = false },
{ Name = "tabIcon", Type = "cstring", Nilable = false },
{ Name = "depositFlags", Type = "BagSlotFlags", Nilable = false },
},
},
{
Name = "WithdrawMoney",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "bankType", Type = "BankType", Nilable = false },
{ Name = "amount", Type = "WOWMONEY", Nilable = false },
},
},
},
Events =
{
{
Name = "BankBagSlotFlagsUpdated",
Type = "Event",
LiteralName = "BANK_BAG_SLOT_FLAGS_UPDATED",
SynchronousEvent = true,
Payload =
{
{ Name = "slot", Type = "number", Nilable = false },
},
},
{
Name = "BankTabSettingsUpdated",
Type = "Event",
LiteralName = "BANK_TAB_SETTINGS_UPDATED",
SynchronousEvent = true,
Payload =
{
{ Name = "bankType", Type = "BankType", Nilable = false },
},
},
{
Name = "BankTabsChanged",
Type = "Event",
LiteralName = "BANK_TABS_CHANGED",
SynchronousEvent = true,
Payload =
{
{ Name = "bankType", Type = "BankType", Nilable = false },
},
},
{
Name = "BankframeClosed",
Type = "Event",
LiteralName = "BANKFRAME_CLOSED",
SynchronousEvent = true,
},
{
Name = "BankframeOpened",
Type = "Event",
LiteralName = "BANKFRAME_OPENED",
SynchronousEvent = true,
},
{
Name = "PlayerAccountBankTabSlotsChanged",
Type = "Event",
LiteralName = "PLAYER_ACCOUNT_BANK_TAB_SLOTS_CHANGED",
SynchronousEvent = true,
Payload =
{
{ Name = "slot", Type = "number", Nilable = false },
},
},
{
Name = "PlayerbankslotsChanged",
Type = "Event",
LiteralName = "PLAYERBANKSLOTS_CHANGED",
SynchronousEvent = true,
Payload =
{
{ Name = "slot", Type = "number", Nilable = false },
},
},
},
Tables =
{
{
Name = "BankLockedReason",
Type = "Enumeration",
NumValues = 4,
MinValue = 0,
MaxValue = 3,
Fields =
{
{ Name = "None", Type = "BankLockedReason", EnumValue = 0 },
{ Name = "NoAccountInventoryLock", Type = "BankLockedReason", EnumValue = 1 },
{ Name = "BankDisabled", Type = "BankLockedReason", EnumValue = 2 },
{ Name = "BankConversionFailed", Type = "BankLockedReason", EnumValue = 3 },
},
},
{
Name = "BankTabData",
Type = "Structure",
Fields =
{
{ Name = "ID", Type = "number", Nilable = false },
{ Name = "bankType", Type = "BankType", Nilable = false },
{ Name = "name", Type = "cstring", Nilable = false },
{ Name = "icon", Type = "fileID", Nilable = false },
{ Name = "depositFlags", Type = "BagSlotFlags", Nilable = false },
{ Name = "tabCleanupConfirmation", Type = "cstring", Nilable = false },
{ Name = "tabNameEditBoxHeader", Type = "cstring", Nilable = false },
},
},
{
Name = "PurchasableBankTabData",
Type = "Structure",
Fields =
{
{ Name = "tabCost", Type = "BigUInteger", Nilable = false },
{ Name = "canAfford", Type = "bool", Nilable = false },
{ Name = "purchasePromptTitle", Type = "cstring", Nilable = false },
{ Name = "purchasePromptBody", Type = "cstring", Nilable = false },
{ Name = "purchasePromptConfirmation", Type = "cstring", Nilable = false },
},
},
},
};
APIDocumentation:AddDocumentationTable(Bank);
@@ -0,0 +1,329 @@
local BarberShop =
{
Name = "BarberShop",
Type = "System",
Namespace = "C_BarberShop",
Environment = "All",
Functions =
{
{
Name = "ApplyCustomizationChoices",
Type = "Function",
Returns =
{
{ Name = "success", Type = "bool", Nilable = false },
},
},
{
Name = "Cancel",
Type = "Function",
},
{
Name = "ClearPreviewChoices",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "clearSavedChoices", Type = "bool", Nilable = false, Default = false },
},
},
{
Name = "GetAvailableCustomizations",
Type = "Function",
MayReturnNothing = true,
Returns =
{
{ Name = "categories", Type = "table", InnerType = "CharCustomizationCategory", Nilable = false },
},
},
{
Name = "GetCurrentCameraZoom",
Type = "Function",
Returns =
{
{ Name = "zoomLevel", Type = "number", Nilable = false },
},
},
{
Name = "GetCurrentCharacterData",
Type = "Function",
MayReturnNothing = true,
Returns =
{
{ Name = "characterData", Type = "PlayerInfoCharacterData", Nilable = false },
},
},
{
Name = "GetCurrentCost",
Type = "Function",
Returns =
{
{ Name = "cost", Type = "number", Nilable = false },
},
},
{
Name = "GetViewingChrModel",
Type = "Function",
Returns =
{
{ Name = "chrModelID", Type = "number", Nilable = true },
},
},
{
Name = "HasAlteredForm",
Type = "Function",
Returns =
{
{ Name = "hasAlteredForm", Type = "bool", Nilable = false },
},
},
{
Name = "HasAnyChanges",
Type = "Function",
Returns =
{
{ Name = "hasChanges", Type = "bool", Nilable = false },
},
},
{
Name = "HasCustomizationFeature",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "featureMask", Type = "ChrModelFeatureFlags", Nilable = false },
},
Returns =
{
{ Name = "hasCustomizationFeature", Type = "bool", Nilable = false },
},
},
{
Name = "IsViewingAlteredForm",
Type = "Function",
Returns =
{
{ Name = "isViewingAlteredForm", Type = "bool", Nilable = false },
},
},
{
Name = "MarkCustomizationChoiceAsSeen",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "choiceID", Type = "number", Nilable = false },
},
},
{
Name = "MarkCustomizationOptionAsSeen",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "optionID", Type = "number", Nilable = false },
},
},
{
Name = "PreviewCustomizationChoice",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "optionID", Type = "number", Nilable = false },
{ Name = "choiceID", Type = "number", Nilable = false },
},
},
{
Name = "RandomizeCustomizationChoices",
Type = "Function",
},
{
Name = "ResetCameraRotation",
Type = "Function",
},
{
Name = "ResetCustomizationChoices",
Type = "Function",
},
{
Name = "RotateCamera",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "diffDegrees", Type = "number", Nilable = false },
},
},
{
Name = "SaveSeenChoices",
Type = "Function",
},
{
Name = "SetCameraDistanceOffset",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "offset", Type = "number", Nilable = false },
},
},
{
Name = "SetCameraZoomLevel",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "zoomLevel", Type = "number", Nilable = false },
{ Name = "keepCustomZoom", Type = "bool", Nilable = true },
},
},
{
Name = "SetCustomizationChoice",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "optionID", Type = "number", Nilable = false },
{ Name = "choiceID", Type = "number", Nilable = false },
},
},
{
Name = "SetModelDressState",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "dressedState", Type = "bool", Nilable = false },
},
},
{
Name = "SetSelectedSex",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "sex", Type = "UnitSex", Nilable = false },
},
},
{
Name = "SetViewingAlteredForm",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "isViewingAlteredForm", Type = "bool", Nilable = false },
},
},
{
Name = "SetViewingChrModel",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "chrModelID", Type = "number", Nilable = true },
{ Name = "spellShapeshiftFormID", Type = "number", Nilable = true },
},
},
{
Name = "SetViewingShapeshiftForm",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "shapeshiftFormID", Type = "number", Nilable = true },
},
},
{
Name = "ZoomCamera",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "zoomAmount", Type = "number", Nilable = false },
},
},
},
Events =
{
{
Name = "BarberShopAppearanceApplied",
Type = "Event",
LiteralName = "BARBER_SHOP_APPEARANCE_APPLIED",
UniqueEvent = true,
},
{
Name = "BarberShopCameraValuesUpdated",
Type = "Event",
LiteralName = "BARBER_SHOP_CAMERA_VALUES_UPDATED",
SynchronousEvent = true,
},
{
Name = "BarberShopClose",
Type = "Event",
LiteralName = "BARBER_SHOP_CLOSE",
SynchronousEvent = true,
},
{
Name = "BarberShopCostUpdate",
Type = "Event",
LiteralName = "BARBER_SHOP_COST_UPDATE",
SynchronousEvent = true,
},
{
Name = "BarberShopForceCustomizationsUpdate",
Type = "Event",
LiteralName = "BARBER_SHOP_FORCE_CUSTOMIZATIONS_UPDATE",
SynchronousEvent = true,
},
{
Name = "BarberShopOpen",
Type = "Event",
LiteralName = "BARBER_SHOP_OPEN",
SynchronousEvent = true,
},
{
Name = "BarberShopResult",
Type = "Event",
LiteralName = "BARBER_SHOP_RESULT",
SynchronousEvent = true,
Payload =
{
{ Name = "success", Type = "bool", Nilable = false },
},
},
},
Tables =
{
},
};
APIDocumentation:AddDocumentationTable(BarberShop);
@@ -0,0 +1,31 @@
local BarberShopInternal =
{
Name = "BarberShop",
Type = "System",
Namespace = "C_BarberShopInternal",
Environment = "All",
Functions =
{
{
Name = "SetQAMode",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "qaModeEnabled", Type = "bool", Nilable = false },
},
},
},
Events =
{
},
Tables =
{
},
};
APIDocumentation:AddDocumentationTable(BarberShopInternal);
@@ -0,0 +1,15 @@
local Base =
{
Tables =
{
{
Name = "ScriptObject",
Type = "Structure",
Fields =
{
},
},
},
};
APIDocumentation:AddDocumentationTable(Base);
@@ -0,0 +1,268 @@
local BattleNet =
{
Name = "BattleNet",
Type = "System",
Namespace = "C_BattleNet",
Environment = "All",
Functions =
{
{
Name = "BNCheckBattleTagInviteToRecentAlly",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "recentAllyGUID", Type = "WOWGUID", Nilable = false },
},
},
{
Name = "GetAccountInfoByGUID",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "guid", Type = "WOWGUID", Nilable = false },
},
Returns =
{
{ Name = "accountInfo", Type = "BNetAccountInfo", Nilable = true },
},
},
{
Name = "GetAccountInfoByID",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "id", Type = "number", Nilable = false },
{ Name = "wowAccountGUID", Type = "WOWGUID", Nilable = true },
},
Returns =
{
{ Name = "accountInfo", Type = "BNetAccountInfo", Nilable = true },
},
},
{
Name = "GetFriendAccountInfo",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "friendIndex", Type = "luaIndex", Nilable = false },
{ Name = "wowAccountGUID", Type = "WOWGUID", Nilable = true },
},
Returns =
{
{ Name = "accountInfo", Type = "BNetAccountInfo", Nilable = true },
},
},
{
Name = "GetFriendGameAccountInfo",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "friendIndex", Type = "luaIndex", Nilable = false },
{ Name = "accountIndex", Type = "luaIndex", Nilable = false },
},
Returns =
{
{ Name = "gameAccountInfo", Type = "BNetGameAccountInfo", Nilable = true },
},
},
{
Name = "GetFriendNumGameAccounts",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "friendIndex", Type = "luaIndex", Nilable = false },
},
Returns =
{
{ Name = "numGameAccounts", Type = "number", Nilable = false },
},
},
{
Name = "GetGameAccountInfoByGUID",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "guid", Type = "WOWGUID", Nilable = false },
},
Returns =
{
{ Name = "gameAccountInfo", Type = "BNetGameAccountInfo", Nilable = true },
},
},
{
Name = "GetGameAccountInfoByID",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "id", Type = "number", Nilable = false },
},
Returns =
{
{ Name = "gameAccountInfo", Type = "BNetGameAccountInfo", Nilable = true },
},
},
{
Name = "InstallHighResTextures",
Type = "Function",
HasRestrictions = true,
},
{
Name = "SendGameData",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "gameAccountID", Type = "number", Nilable = false },
{ Name = "prefix", Type = "stringView", Nilable = false },
{ Name = "data", Type = "stringView", Nilable = false },
},
Returns =
{
{ Name = "result", Type = "SendAddonMessageResult", Nilable = false },
},
},
{
Name = "SendWhisper",
Type = "Function",
HasRestrictions = true,
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "bnetAccountID", Type = "number", Nilable = false },
{ Name = "text", Type = "stringView", Nilable = false },
},
Returns =
{
{ Name = "success", Type = "bool", Nilable = false },
},
},
{
Name = "SetAFK",
Type = "Function",
HasRestrictions = true,
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "isAFK", Type = "bool", Nilable = false, Default = true },
},
},
{
Name = "SetCustomMessage",
Type = "Function",
HasRestrictions = true,
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "text", Type = "cstring", Nilable = false },
},
Returns =
{
{ Name = "success", Type = "bool", Nilable = false },
},
},
{
Name = "SetDND",
Type = "Function",
HasRestrictions = true,
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "isDND", Type = "bool", Nilable = false, Default = true },
},
},
},
Events =
{
},
Tables =
{
{
Name = "BNetAccountInfo",
Type = "Structure",
Fields =
{
{ Name = "bnetAccountID", Type = "number", Nilable = false },
{ Name = "accountName", Type = "string", Nilable = false },
{ Name = "battleTag", Type = "string", Nilable = false },
{ Name = "isFriend", Type = "bool", Nilable = false },
{ Name = "isBattleTagFriend", Type = "bool", Nilable = false },
{ Name = "lastOnlineTime", Type = "number", Nilable = false },
{ Name = "isAFK", Type = "bool", Nilable = false },
{ Name = "isDND", Type = "bool", Nilable = false },
{ Name = "isFavorite", Type = "bool", Nilable = false },
{ Name = "appearOffline", Type = "bool", Nilable = false },
{ Name = "customMessage", Type = "string", Nilable = false },
{ Name = "customMessageTime", Type = "number", Nilable = false },
{ Name = "note", Type = "string", Nilable = false },
{ Name = "rafLinkType", Type = "RafLinkType", Nilable = false },
{ Name = "gameAccountInfo", Type = "BNetGameAccountInfo", Nilable = false },
},
},
{
Name = "BNetGameAccountInfo",
Type = "Structure",
Fields =
{
{ Name = "gameAccountID", Type = "number", Nilable = false },
{ Name = "clientProgram", Type = "string", Nilable = false },
{ Name = "isOnline", Type = "bool", Nilable = false },
{ Name = "isGameBusy", Type = "bool", Nilable = false },
{ Name = "isGameAFK", Type = "bool", Nilable = false },
{ Name = "wowProjectID", Type = "number", Nilable = true },
{ Name = "characterName", Type = "string", Nilable = true },
{ Name = "realmName", Type = "string", Nilable = true },
{ Name = "realmDisplayName", Type = "string", Nilable = true },
{ Name = "realmID", Type = "number", Nilable = true },
{ Name = "factionName", Type = "string", Nilable = true },
{ Name = "raceName", Type = "string", Nilable = true },
{ Name = "classID", Type = "number", Nilable = true },
{ Name = "className", Type = "string", Nilable = true },
{ Name = "areaName", Type = "string", Nilable = true },
{ Name = "characterLevel", Type = "number", Nilable = true },
{ Name = "richPresence", Type = "string", Nilable = true },
{ Name = "playerGuid", Type = "WOWGUID", Nilable = true },
{ Name = "canSummon", Type = "bool", Nilable = false },
{ Name = "hasFocus", Type = "bool", Nilable = false },
{ Name = "regionID", Type = "number", Nilable = false },
{ Name = "isInCurrentRegion", Type = "bool", Nilable = false },
{ Name = "timerunningSeasonID", Type = "number", Nilable = true },
},
},
},
};
APIDocumentation:AddDocumentationTable(BattleNet);
@@ -0,0 +1,398 @@
local BattlePetConstants =
{
Tables =
{
{
Name = "BattlePetAbilityFlag",
Type = "Enumeration",
NumValues = 6,
MinValue = 1,
MaxValue = 32,
Fields =
{
{ Name = "DisplayAsHostileDebuff", Type = "BattlePetAbilityFlag", EnumValue = 1 },
{ Name = "HideStrongWeakHints", Type = "BattlePetAbilityFlag", EnumValue = 2 },
{ Name = "Passive", Type = "BattlePetAbilityFlag", EnumValue = 4 },
{ Name = "ServerOnlyAura", Type = "BattlePetAbilityFlag", EnumValue = 8 },
{ Name = "ShowCast", Type = "BattlePetAbilityFlag", EnumValue = 16 },
{ Name = "StartOnCooldown", Type = "BattlePetAbilityFlag", EnumValue = 32 },
},
},
{
Name = "BattlePetAbilitySlot",
Type = "Enumeration",
NumValues = 3,
MinValue = 0,
MaxValue = 2,
Fields =
{
{ Name = "A", Type = "BattlePetAbilitySlot", EnumValue = 0 },
{ Name = "B", Type = "BattlePetAbilitySlot", EnumValue = 1 },
{ Name = "C", Type = "BattlePetAbilitySlot", EnumValue = 2 },
},
},
{
Name = "BattlePetAbilityTargets",
Type = "Enumeration",
NumValues = 13,
MinValue = 0,
MaxValue = 12,
Fields =
{
{ Name = "EnemyFrontPet", Type = "BattlePetAbilityTargets", EnumValue = 0 },
{ Name = "FriendlyFrontPet", Type = "BattlePetAbilityTargets", EnumValue = 1 },
{ Name = "Weather", Type = "BattlePetAbilityTargets", EnumValue = 2 },
{ Name = "EnemyPad", Type = "BattlePetAbilityTargets", EnumValue = 3 },
{ Name = "FriendlyPad", Type = "BattlePetAbilityTargets", EnumValue = 4 },
{ Name = "EnemyBackPet_1", Type = "BattlePetAbilityTargets", EnumValue = 5 },
{ Name = "EnemyBackPet_2", Type = "BattlePetAbilityTargets", EnumValue = 6 },
{ Name = "FriendlyBackPet_1", Type = "BattlePetAbilityTargets", EnumValue = 7 },
{ Name = "FriendlyBackPet_2", Type = "BattlePetAbilityTargets", EnumValue = 8 },
{ Name = "Caster", Type = "BattlePetAbilityTargets", EnumValue = 9 },
{ Name = "Owner", Type = "BattlePetAbilityTargets", EnumValue = 10 },
{ Name = "Specific", Type = "BattlePetAbilityTargets", EnumValue = 11 },
{ Name = "ProcTarget", Type = "BattlePetAbilityTargets", EnumValue = 12 },
},
},
{
Name = "BattlePetAbilityTurnFlag",
Type = "Enumeration",
NumValues = 6,
MinValue = 1,
MaxValue = 32,
Fields =
{
{ Name = "CanProcFromProc", Type = "BattlePetAbilityTurnFlag", EnumValue = 1 },
{ Name = "TriggerBySelf", Type = "BattlePetAbilityTurnFlag", EnumValue = 2 },
{ Name = "TriggerByFriend", Type = "BattlePetAbilityTurnFlag", EnumValue = 4 },
{ Name = "TriggerByEnemy", Type = "BattlePetAbilityTurnFlag", EnumValue = 8 },
{ Name = "TriggerByWeather", Type = "BattlePetAbilityTurnFlag", EnumValue = 16 },
{ Name = "TriggerByAuraCaster", Type = "BattlePetAbilityTurnFlag", EnumValue = 32 },
},
},
{
Name = "BattlePetAbilityTurnType",
Type = "Enumeration",
NumValues = 2,
MinValue = 0,
MaxValue = 1,
Fields =
{
{ Name = "Normal", Type = "BattlePetAbilityTurnType", EnumValue = 0 },
{ Name = "TriggeredEffect", Type = "BattlePetAbilityTurnType", EnumValue = 1 },
},
},
{
Name = "BattlePetAbilityType",
Type = "Enumeration",
NumValues = 2,
MinValue = 0,
MaxValue = 1,
Fields =
{
{ Name = "Ability", Type = "BattlePetAbilityType", EnumValue = 0 },
{ Name = "Aura", Type = "BattlePetAbilityType", EnumValue = 1 },
},
},
{
Name = "BattlePetAction",
Type = "Enumeration",
NumValues = 5,
MinValue = 0,
MaxValue = 4,
Fields =
{
{ Name = "None", Type = "BattlePetAction", EnumValue = 0 },
{ Name = "Ability", Type = "BattlePetAction", EnumValue = 1 },
{ Name = "SwitchPet", Type = "BattlePetAction", EnumValue = 2 },
{ Name = "Trap", Type = "BattlePetAction", EnumValue = 3 },
{ Name = "Skip", Type = "BattlePetAction", EnumValue = 4 },
},
},
{
Name = "BattlePetBreedQuality",
Type = "Enumeration",
NumValues = 6,
MinValue = 0,
MaxValue = 5,
Fields =
{
{ Name = "Poor", Type = "BattlePetBreedQuality", EnumValue = 0 },
{ Name = "Common", Type = "BattlePetBreedQuality", EnumValue = 1 },
{ Name = "Uncommon", Type = "BattlePetBreedQuality", EnumValue = 2 },
{ Name = "Rare", Type = "BattlePetBreedQuality", EnumValue = 3 },
{ Name = "Epic", Type = "BattlePetBreedQuality", EnumValue = 4 },
{ Name = "Legendary", Type = "BattlePetBreedQuality", EnumValue = 5 },
},
},
{
Name = "BattlePetEffectFlags",
Type = "Enumeration",
NumValues = 2,
MinValue = 1,
MaxValue = 2,
Fields =
{
{ Name = "EnableAbilityPicker", Type = "BattlePetEffectFlags", EnumValue = 1 },
{ Name = "LuaNeedsAllPets", Type = "BattlePetEffectFlags", EnumValue = 2 },
},
},
{
Name = "BattlePetEffectParamType",
Type = "Enumeration",
NumValues = 2,
MinValue = 0,
MaxValue = 1,
Fields =
{
{ Name = "Int", Type = "BattlePetEffectParamType", EnumValue = 0 },
{ Name = "Ability", Type = "BattlePetEffectParamType", EnumValue = 1 },
},
},
{
Name = "BattlePetEvent",
Type = "Enumeration",
NumValues = 13,
MinValue = 0,
MaxValue = 12,
Fields =
{
{ Name = "OnAuraApplied", Type = "BattlePetEvent", EnumValue = 0 },
{ Name = "OnDamageTaken", Type = "BattlePetEvent", EnumValue = 1 },
{ Name = "OnDamageDealt", Type = "BattlePetEvent", EnumValue = 2 },
{ Name = "OnHealTaken", Type = "BattlePetEvent", EnumValue = 3 },
{ Name = "OnHealDealt", Type = "BattlePetEvent", EnumValue = 4 },
{ Name = "OnAuraRemoved", Type = "BattlePetEvent", EnumValue = 5 },
{ Name = "OnRoundStart", Type = "BattlePetEvent", EnumValue = 6 },
{ Name = "OnRoundEnd", Type = "BattlePetEvent", EnumValue = 7 },
{ Name = "OnTurn", Type = "BattlePetEvent", EnumValue = 8 },
{ Name = "OnAbility", Type = "BattlePetEvent", EnumValue = 9 },
{ Name = "OnSwapIn", Type = "BattlePetEvent", EnumValue = 10 },
{ Name = "OnSwapOut", Type = "BattlePetEvent", EnumValue = 11 },
{ Name = "PostAuraTicks", Type = "BattlePetEvent", EnumValue = 12 },
},
},
{
Name = "BattlePetNpcEmote",
Type = "Enumeration",
NumValues = 8,
MinValue = 0,
MaxValue = 7,
Fields =
{
{ Name = "BattleUnused", Type = "BattlePetNpcEmote", EnumValue = 0 },
{ Name = "BattleStart", Type = "BattlePetNpcEmote", EnumValue = 1 },
{ Name = "BattleWin", Type = "BattlePetNpcEmote", EnumValue = 2 },
{ Name = "BattleLose", Type = "BattlePetNpcEmote", EnumValue = 3 },
{ Name = "PetSwap", Type = "BattlePetNpcEmote", EnumValue = 4 },
{ Name = "PetKill", Type = "BattlePetNpcEmote", EnumValue = 5 },
{ Name = "PetDie", Type = "BattlePetNpcEmote", EnumValue = 6 },
{ Name = "PetAbility", Type = "BattlePetNpcEmote", EnumValue = 7 },
},
},
{
Name = "BattlePetNpcTeamFlag",
Type = "Enumeration",
NumValues = 2,
MinValue = 1,
MaxValue = 2,
Fields =
{
{ Name = "MatchPlayerHighPetLevel", Type = "BattlePetNpcTeamFlag", EnumValue = 1 },
{ Name = "NoPlayerXP", Type = "BattlePetNpcTeamFlag", EnumValue = 2 },
},
},
{
Name = "BattlePetOwner",
Type = "Enumeration",
NumValues = 3,
MinValue = 0,
MaxValue = 2,
Fields =
{
{ Name = "Weather", Type = "BattlePetOwner", EnumValue = 0 },
{ Name = "Ally", Type = "BattlePetOwner", EnumValue = 1 },
{ Name = "Enemy", Type = "BattlePetOwner", EnumValue = 2 },
},
},
{
Name = "BattlePetSources",
Type = "Enumeration",
NumValues = 12,
MinValue = 0,
MaxValue = 11,
Fields =
{
{ Name = "Drop", Type = "BattlePetSources", EnumValue = 0 },
{ Name = "Quest", Type = "BattlePetSources", EnumValue = 1 },
{ Name = "Vendor", Type = "BattlePetSources", EnumValue = 2 },
{ Name = "Profession", Type = "BattlePetSources", EnumValue = 3 },
{ Name = "WildPet", Type = "BattlePetSources", EnumValue = 4 },
{ Name = "Achievement", Type = "BattlePetSources", EnumValue = 5 },
{ Name = "WorldEvent", Type = "BattlePetSources", EnumValue = 6 },
{ Name = "Promotion", Type = "BattlePetSources", EnumValue = 7 },
{ Name = "Tcg", Type = "BattlePetSources", EnumValue = 8 },
{ Name = "PetStore", Type = "BattlePetSources", EnumValue = 9 },
{ Name = "Discovery", Type = "BattlePetSources", EnumValue = 10 },
{ Name = "TradingPost", Type = "BattlePetSources", EnumValue = 11 },
},
},
{
Name = "BattlePetSpeciesFlags",
Type = "Enumeration",
NumValues = 17,
MinValue = 1,
MaxValue = 65536,
Fields =
{
{ Name = "NoRename", Type = "BattlePetSpeciesFlags", EnumValue = 1 },
{ Name = "WellKnown", Type = "BattlePetSpeciesFlags", EnumValue = 2 },
{ Name = "NotAcccountwide", Type = "BattlePetSpeciesFlags", EnumValue = 4 },
{ Name = "Capturable", Type = "BattlePetSpeciesFlags", EnumValue = 8 },
{ Name = "NotTradable", Type = "BattlePetSpeciesFlags", EnumValue = 16 },
{ Name = "HideFromJournal", Type = "BattlePetSpeciesFlags", EnumValue = 32 },
{ Name = "LegacyAccountUnique", Type = "BattlePetSpeciesFlags", EnumValue = 64 },
{ Name = "CantBattle", Type = "BattlePetSpeciesFlags", EnumValue = 128 },
{ Name = "HordeOnly", Type = "BattlePetSpeciesFlags", EnumValue = 256 },
{ Name = "AllianceOnly", Type = "BattlePetSpeciesFlags", EnumValue = 512 },
{ Name = "Boss", Type = "BattlePetSpeciesFlags", EnumValue = 1024 },
{ Name = "RandomDisplay", Type = "BattlePetSpeciesFlags", EnumValue = 2048 },
{ Name = "NoLicenseRequired", Type = "BattlePetSpeciesFlags", EnumValue = 4096 },
{ Name = "AddsAllowedWithBoss", Type = "BattlePetSpeciesFlags", EnumValue = 8192 },
{ Name = "HideUntilLearned", Type = "BattlePetSpeciesFlags", EnumValue = 16384 },
{ Name = "MatchPlayerHighPetLevel", Type = "BattlePetSpeciesFlags", EnumValue = 32768 },
{ Name = "NoWildPetAddsAllowed", Type = "BattlePetSpeciesFlags", EnumValue = 65536 },
},
},
{
Name = "BattlePetStateFlag",
Type = "Enumeration",
NumValues = 13,
MinValue = 0,
MaxValue = 2048,
Fields =
{
{ Name = "None", Type = "BattlePetStateFlag", EnumValue = 0 },
{ Name = "SwapOutLock", Type = "BattlePetStateFlag", EnumValue = 1 },
{ Name = "TurnLock", Type = "BattlePetStateFlag", EnumValue = 2 },
{ Name = "SpeedBonus", Type = "BattlePetStateFlag", EnumValue = 4 },
{ Name = "Client", Type = "BattlePetStateFlag", EnumValue = 8 },
{ Name = "MaxHealthBonus", Type = "BattlePetStateFlag", EnumValue = 16 },
{ Name = "Stamina", Type = "BattlePetStateFlag", EnumValue = 32 },
{ Name = "QualityDoesNotEffect", Type = "BattlePetStateFlag", EnumValue = 64 },
{ Name = "DynamicScaling", Type = "BattlePetStateFlag", EnumValue = 128 },
{ Name = "Power", Type = "BattlePetStateFlag", EnumValue = 256 },
{ Name = "SpeedMult", Type = "BattlePetStateFlag", EnumValue = 512 },
{ Name = "SwapInLock", Type = "BattlePetStateFlag", EnumValue = 1024 },
{ Name = "ServerOnly", Type = "BattlePetStateFlag", EnumValue = 2048 },
},
},
{
Name = "BattlePetTypes",
Type = "Enumeration",
NumValues = 10,
MinValue = 0,
MaxValue = 9,
Fields =
{
{ Name = "Humanoid", Type = "BattlePetTypes", EnumValue = 0 },
{ Name = "Dragonkin", Type = "BattlePetTypes", EnumValue = 1 },
{ Name = "Flying", Type = "BattlePetTypes", EnumValue = 2 },
{ Name = "Undead", Type = "BattlePetTypes", EnumValue = 3 },
{ Name = "Critter", Type = "BattlePetTypes", EnumValue = 4 },
{ Name = "Magic", Type = "BattlePetTypes", EnumValue = 5 },
{ Name = "Elemental", Type = "BattlePetTypes", EnumValue = 6 },
{ Name = "Beast", Type = "BattlePetTypes", EnumValue = 7 },
{ Name = "Aquatic", Type = "BattlePetTypes", EnumValue = 8 },
{ Name = "Mechanical", Type = "BattlePetTypes", EnumValue = 9 },
},
},
{
Name = "BattlePetVisualFlag",
Type = "Enumeration",
NumValues = 3,
MinValue = 1,
MaxValue = 4,
Fields =
{
{ Name = "Test1", Type = "BattlePetVisualFlag", EnumValue = 1 },
{ Name = "Test2", Type = "BattlePetVisualFlag", EnumValue = 2 },
{ Name = "Test3", Type = "BattlePetVisualFlag", EnumValue = 4 },
},
},
{
Name = "BattlePetVisualRange",
Type = "Enumeration",
NumValues = 6,
MinValue = 0,
MaxValue = 5,
Fields =
{
{ Name = "Melee", Type = "BattlePetVisualRange", EnumValue = 0 },
{ Name = "Ranged", Type = "BattlePetVisualRange", EnumValue = 1 },
{ Name = "InPlace", Type = "BattlePetVisualRange", EnumValue = 2 },
{ Name = "PointBlank", Type = "BattlePetVisualRange", EnumValue = 3 },
{ Name = "BehindMelee", Type = "BattlePetVisualRange", EnumValue = 4 },
{ Name = "BehindRanged", Type = "BattlePetVisualRange", EnumValue = 5 },
},
},
{
Name = "BattlepetDbFlags",
Type = "Enumeration",
NumValues = 13,
MinValue = 0,
MaxValue = 1024,
Fields =
{
{ Name = "None", Type = "BattlepetDbFlags", EnumValue = 0 },
{ Name = "Favorite", Type = "BattlepetDbFlags", EnumValue = 1 },
{ Name = "Converted", Type = "BattlepetDbFlags", EnumValue = 2 },
{ Name = "Revoked", Type = "BattlepetDbFlags", EnumValue = 4 },
{ Name = "LockedForConvert", Type = "BattlepetDbFlags", EnumValue = 8 },
{ Name = "Ability0Selection", Type = "BattlepetDbFlags", EnumValue = 16 },
{ Name = "Ability1Selection", Type = "BattlepetDbFlags", EnumValue = 32 },
{ Name = "Ability2Selection", Type = "BattlepetDbFlags", EnumValue = 64 },
{ Name = "FanfareNeeded", Type = "BattlepetDbFlags", EnumValue = 128 },
{ Name = "DisplayOverridden", Type = "BattlepetDbFlags", EnumValue = 256 },
{ Name = "AcquiredViaLicense", Type = "BattlepetDbFlags", EnumValue = 512 },
{ Name = "TradingPost", Type = "BattlepetDbFlags", EnumValue = 1024 },
{ Name = "LockMask", Type = "BattlepetDbFlags", EnumValue = 12 },
},
},
{
Name = "BattlepetDeletedReason",
Type = "Enumeration",
NumValues = 8,
MinValue = 0,
MaxValue = 7,
Fields =
{
{ Name = "Unknown", Type = "BattlepetDeletedReason", EnumValue = 0 },
{ Name = "PlayerReleased", Type = "BattlepetDeletedReason", EnumValue = 1 },
{ Name = "PlayerCaged", Type = "BattlepetDeletedReason", EnumValue = 2 },
{ Name = "Gm", Type = "BattlepetDeletedReason", EnumValue = 3 },
{ Name = "CageError", Type = "BattlepetDeletedReason", EnumValue = 4 },
{ Name = "DelJournal", Type = "BattlepetDeletedReason", EnumValue = 5 },
{ Name = "TradingPost", Type = "BattlepetDeletedReason", EnumValue = 6 },
{ Name = "AccountStore", Type = "BattlepetDeletedReason", EnumValue = 7 },
},
},
{
Name = "BattlepetSlotLockCheat",
Type = "Enumeration",
NumValues = 5,
MinValue = -3,
MaxValue = 1,
Fields =
{
{ Name = "Cheat_2_Locked", Type = "BattlepetSlotLockCheat", EnumValue = -3 },
{ Name = "Cheat_1_Locked", Type = "BattlepetSlotLockCheat", EnumValue = -2 },
{ Name = "Cheat_0_Locked", Type = "BattlepetSlotLockCheat", EnumValue = -1 },
{ Name = "CheatOff", Type = "BattlepetSlotLockCheat", EnumValue = 0 },
{ Name = "UnlockAll", Type = "BattlepetSlotLockCheat", EnumValue = 1 },
},
},
},
};
APIDocumentation:AddDocumentationTable(BattlePetConstants);
@@ -0,0 +1,260 @@
local BattlePet =
{
Name = "BattlePet",
Type = "System",
Namespace = "C_BattlePet",
Environment = "All",
Functions =
{
},
Events =
{
{
Name = "PetBattleAbilityChanged",
Type = "Event",
LiteralName = "PET_BATTLE_ABILITY_CHANGED",
SynchronousEvent = true,
Payload =
{
{ Name = "owner", Type = "number", Nilable = false },
{ Name = "petIndex", Type = "number", Nilable = false },
{ Name = "abilityID", Type = "number", Nilable = false },
},
},
{
Name = "PetBattleActionSelected",
Type = "Event",
LiteralName = "PET_BATTLE_ACTION_SELECTED",
SynchronousEvent = true,
},
{
Name = "PetBattleAuraApplied",
Type = "Event",
LiteralName = "PET_BATTLE_AURA_APPLIED",
SynchronousEvent = true,
Payload =
{
{ Name = "owner", Type = "number", Nilable = false },
{ Name = "petIndex", Type = "number", Nilable = false },
{ Name = "auraInstanceID", Type = "number", Nilable = false },
},
},
{
Name = "PetBattleAuraCanceled",
Type = "Event",
LiteralName = "PET_BATTLE_AURA_CANCELED",
SynchronousEvent = true,
Payload =
{
{ Name = "owner", Type = "number", Nilable = false },
{ Name = "petIndex", Type = "number", Nilable = false },
{ Name = "auraInstanceID", Type = "number", Nilable = false },
},
},
{
Name = "PetBattleAuraChanged",
Type = "Event",
LiteralName = "PET_BATTLE_AURA_CHANGED",
SynchronousEvent = true,
Payload =
{
{ Name = "owner", Type = "number", Nilable = false },
{ Name = "petIndex", Type = "number", Nilable = false },
{ Name = "auraInstanceID", Type = "number", Nilable = false },
},
},
{
Name = "PetBattleCaptured",
Type = "Event",
LiteralName = "PET_BATTLE_CAPTURED",
SynchronousEvent = true,
Payload =
{
{ Name = "owner", Type = "number", Nilable = false },
{ Name = "petIndex", Type = "number", Nilable = false },
},
},
{
Name = "PetBattleClose",
Type = "Event",
LiteralName = "PET_BATTLE_CLOSE",
SynchronousEvent = true,
},
{
Name = "PetBattleFinalRound",
Type = "Event",
LiteralName = "PET_BATTLE_FINAL_ROUND",
SynchronousEvent = true,
Payload =
{
{ Name = "owner", Type = "number", Nilable = false },
},
},
{
Name = "PetBattleHealthChanged",
Type = "Event",
LiteralName = "PET_BATTLE_HEALTH_CHANGED",
SynchronousEvent = true,
Payload =
{
{ Name = "owner", Type = "number", Nilable = false },
{ Name = "petIndex", Type = "number", Nilable = false },
{ Name = "healthChange", Type = "number", Nilable = false },
},
},
{
Name = "PetBattleLevelChanged",
Type = "Event",
LiteralName = "PET_BATTLE_LEVEL_CHANGED",
SynchronousEvent = true,
Payload =
{
{ Name = "owner", Type = "number", Nilable = false },
{ Name = "petIndex", Type = "number", Nilable = false },
{ Name = "newLevel", Type = "number", Nilable = false },
},
},
{
Name = "PetBattleMaxHealthChanged",
Type = "Event",
LiteralName = "PET_BATTLE_MAX_HEALTH_CHANGED",
SynchronousEvent = true,
Payload =
{
{ Name = "owner", Type = "number", Nilable = false },
{ Name = "petIndex", Type = "number", Nilable = false },
{ Name = "healthChange", Type = "number", Nilable = false },
},
},
{
Name = "PetBattleOpeningDone",
Type = "Event",
LiteralName = "PET_BATTLE_OPENING_DONE",
SynchronousEvent = true,
},
{
Name = "PetBattleOpeningStart",
Type = "Event",
LiteralName = "PET_BATTLE_OPENING_START",
SynchronousEvent = true,
},
{
Name = "PetBattleOver",
Type = "Event",
LiteralName = "PET_BATTLE_OVER",
SynchronousEvent = true,
},
{
Name = "PetBattleOverrideAbility",
Type = "Event",
LiteralName = "PET_BATTLE_OVERRIDE_ABILITY",
SynchronousEvent = true,
Payload =
{
{ Name = "abilityIndex", Type = "number", Nilable = false },
},
},
{
Name = "PetBattlePetChanged",
Type = "Event",
LiteralName = "PET_BATTLE_PET_CHANGED",
SynchronousEvent = true,
Payload =
{
{ Name = "owner", Type = "number", Nilable = false },
},
},
{
Name = "PetBattlePetRoundPlaybackComplete",
Type = "Event",
LiteralName = "PET_BATTLE_PET_ROUND_PLAYBACK_COMPLETE",
SynchronousEvent = true,
Payload =
{
{ Name = "roundNumber", Type = "number", Nilable = false },
},
},
{
Name = "PetBattlePetRoundResults",
Type = "Event",
LiteralName = "PET_BATTLE_PET_ROUND_RESULTS",
SynchronousEvent = true,
Payload =
{
{ Name = "roundNumber", Type = "number", Nilable = false },
},
},
{
Name = "PetBattlePetTypeChanged",
Type = "Event",
LiteralName = "PET_BATTLE_PET_TYPE_CHANGED",
SynchronousEvent = true,
Payload =
{
{ Name = "owner", Type = "number", Nilable = false },
{ Name = "petIndex", Type = "number", Nilable = false },
{ Name = "stateValue", Type = "number", Nilable = false },
},
},
{
Name = "PetBattlePvpDuelRequestCancel",
Type = "Event",
LiteralName = "PET_BATTLE_PVP_DUEL_REQUEST_CANCEL",
SynchronousEvent = true,
},
{
Name = "PetBattlePvpDuelRequested",
Type = "Event",
LiteralName = "PET_BATTLE_PVP_DUEL_REQUESTED",
SynchronousEvent = true,
Payload =
{
{ Name = "fullName", Type = "cstring", Nilable = false },
},
},
{
Name = "PetBattleQueueProposalAccepted",
Type = "Event",
LiteralName = "PET_BATTLE_QUEUE_PROPOSAL_ACCEPTED",
SynchronousEvent = true,
},
{
Name = "PetBattleQueueProposalDeclined",
Type = "Event",
LiteralName = "PET_BATTLE_QUEUE_PROPOSAL_DECLINED",
SynchronousEvent = true,
},
{
Name = "PetBattleQueueProposeMatch",
Type = "Event",
LiteralName = "PET_BATTLE_QUEUE_PROPOSE_MATCH",
SynchronousEvent = true,
},
{
Name = "PetBattleQueueStatus",
Type = "Event",
LiteralName = "PET_BATTLE_QUEUE_STATUS",
SynchronousEvent = true,
},
{
Name = "PetBattleXpChanged",
Type = "Event",
LiteralName = "PET_BATTLE_XP_CHANGED",
SynchronousEvent = true,
Payload =
{
{ Name = "owner", Type = "number", Nilable = false },
{ Name = "petIndex", Type = "number", Nilable = false },
{ Name = "xpChange", Type = "number", Nilable = false },
},
},
},
Tables =
{
},
};
APIDocumentation:AddDocumentationTable(BattlePet);
@@ -0,0 +1,239 @@
local BattlepayConstants =
{
Tables =
{
{
Name = "BulkPurchaseResult",
Type = "Enumeration",
NumValues = 8,
MinValue = 0,
MaxValue = 7,
Fields =
{
{ Name = "ResultOk", Type = "BulkPurchaseResult", EnumValue = 0 },
{ Name = "ResultInProgress", Type = "BulkPurchaseResult", EnumValue = 1 },
{ Name = "ResultPartialSuccess", Type = "BulkPurchaseResult", EnumValue = 2 },
{ Name = "ResultFailed", Type = "BulkPurchaseResult", EnumValue = 3 },
{ Name = "ResultTooManyProducts", Type = "BulkPurchaseResult", EnumValue = 4 },
{ Name = "ResultSystemDisabled", Type = "BulkPurchaseResult", EnumValue = 5 },
{ Name = "ResultInsufficientFunds", Type = "BulkPurchaseResult", EnumValue = 6 },
{ Name = "ResultPurchaseTimeout", Type = "BulkPurchaseResult", EnumValue = 7 },
},
},
{
Name = "BulkPurchaseStatus",
Type = "Enumeration",
NumValues = 5,
MinValue = 0,
MaxValue = 4,
Fields =
{
{ Name = "PlacingOrders", Type = "BulkPurchaseStatus", EnumValue = 0 },
{ Name = "PurchasesPending", Type = "BulkPurchaseStatus", EnumValue = 1 },
{ Name = "FetchEntitlements", Type = "BulkPurchaseStatus", EnumValue = 2 },
{ Name = "Done", Type = "BulkPurchaseStatus", EnumValue = 3 },
{ Name = "Failed", Type = "BulkPurchaseStatus", EnumValue = 4 },
},
},
{
Name = "BulkRefundResult",
Type = "Enumeration",
NumValues = 6,
MinValue = 0,
MaxValue = 5,
Fields =
{
{ Name = "ResultOk", Type = "BulkRefundResult", EnumValue = 0 },
{ Name = "ResultFailed", Type = "BulkRefundResult", EnumValue = 1 },
{ Name = "ResultInvalidRequest", Type = "BulkRefundResult", EnumValue = 2 },
{ Name = "ResultRefundWindowExpired", Type = "BulkRefundResult", EnumValue = 3 },
{ Name = "ResultSystemDisabled", Type = "BulkRefundResult", EnumValue = 4 },
{ Name = "ResultTimeout", Type = "BulkRefundResult", EnumValue = 5 },
},
},
{
Name = "CanRedeemTokenForBalanceResult",
Type = "Enumeration",
NumValues = 2,
MinValue = 0,
MaxValue = 1,
Fields =
{
{ Name = "Ok", Type = "CanRedeemTokenForBalanceResult", EnumValue = 0 },
{ Name = "FailureCap", Type = "CanRedeemTokenForBalanceResult", EnumValue = 1 },
},
},
{
Name = "SimpleOrderStatus",
Type = "Enumeration",
NumValues = 5,
MinValue = 0,
MaxValue = 4,
Fields =
{
{ Name = "Invalid", Type = "SimpleOrderStatus", EnumValue = 0 },
{ Name = "Creating", Type = "SimpleOrderStatus", EnumValue = 1 },
{ Name = "InProgress", Type = "SimpleOrderStatus", EnumValue = 2 },
{ Name = "Success", Type = "SimpleOrderStatus", EnumValue = 3 },
{ Name = "Failed", Type = "SimpleOrderStatus", EnumValue = 4 },
},
},
{
Name = "VasTransactionPurchaseResult",
Type = "Enumeration",
NumValues = 145,
MinValue = 0,
MaxValue = 20097,
Fields =
{
{ Name = "None", Type = "VasTransactionPurchaseResult", EnumValue = 0 },
{ Name = "VasPurchaseDisabled", Type = "VasTransactionPurchaseResult", EnumValue = 1 },
{ Name = "NoneCharacter", Type = "VasTransactionPurchaseResult", EnumValue = 2 },
{ Name = "NoneProduct", Type = "VasTransactionPurchaseResult", EnumValue = 3 },
{ Name = "OnlyOneVasAtATime", Type = "VasTransactionPurchaseResult", EnumValue = 4 },
{ Name = "InvalidDestinationRealm", Type = "VasTransactionPurchaseResult", EnumValue = 5 },
{ Name = "InvalidDestinationAccount", Type = "VasTransactionPurchaseResult", EnumValue = 6 },
{ Name = "InvalidSourceAccount", Type = "VasTransactionPurchaseResult", EnumValue = 7 },
{ Name = "DisallowedSourceAccount", Type = "VasTransactionPurchaseResult", EnumValue = 8 },
{ Name = "DisallowedDestinationAccount", Type = "VasTransactionPurchaseResult", EnumValue = 9 },
{ Name = "UnknownError", Type = "VasTransactionPurchaseResult", EnumValue = 10 },
{ Name = "LowerBoxLevel", Type = "VasTransactionPurchaseResult", EnumValue = 11 },
{ Name = "InvalidDistribution", Type = "VasTransactionPurchaseResult", EnumValue = 12 },
{ Name = "InvalidBpayProductID", Type = "VasTransactionPurchaseResult", EnumValue = 13 },
{ Name = "InvalidBpayDeliverableID", Type = "VasTransactionPurchaseResult", EnumValue = 14 },
{ Name = "InvalidBpayProductType", Type = "VasTransactionPurchaseResult", EnumValue = 15 },
{ Name = "EndServerErrors", Type = "VasTransactionPurchaseResult", EnumValue = 16 },
{ Name = "BeginProxyErrors", Type = "VasTransactionPurchaseResult", EnumValue = 17 },
{ Name = "ProxyBadObjType", Type = "VasTransactionPurchaseResult", EnumValue = 18 },
{ Name = "ProxyObjNotInDb", Type = "VasTransactionPurchaseResult", EnumValue = 19 },
{ Name = "ProxyUniqueKey", Type = "VasTransactionPurchaseResult", EnumValue = 20 },
{ Name = "ProxyDbError", Type = "VasTransactionPurchaseResult", EnumValue = 21 },
{ Name = "ProxyDataInvalid", Type = "VasTransactionPurchaseResult", EnumValue = 22 },
{ Name = "ProxyLostProxyConnection", Type = "VasTransactionPurchaseResult", EnumValue = 23 },
{ Name = "ProxyLocksFailed", Type = "VasTransactionPurchaseResult", EnumValue = 24 },
{ Name = "ProxyMissingResultsPtr", Type = "VasTransactionPurchaseResult", EnumValue = 25 },
{ Name = "ProxyLockedForTransfer", Type = "VasTransactionPurchaseResult", EnumValue = 26 },
{ Name = "ProxyNoReturnValue", Type = "VasTransactionPurchaseResult", EnumValue = 27 },
{ Name = "ProxyDeleteNotSupported", Type = "VasTransactionPurchaseResult", EnumValue = 28 },
{ Name = "ProxyObjDropped", Type = "VasTransactionPurchaseResult", EnumValue = 29 },
{ Name = "ProxyCannotDeleteGuildLeader", Type = "VasTransactionPurchaseResult", EnumValue = 30 },
{ Name = "ProxyCannotDeleteArenaCaptain", Type = "VasTransactionPurchaseResult", EnumValue = 31 },
{ Name = "ProxyMoneyLimitExceeded", Type = "VasTransactionPurchaseResult", EnumValue = 32 },
{ Name = "ProxyBadRequestContained", Type = "VasTransactionPurchaseResult", EnumValue = 33 },
{ Name = "ProxyIsReadonly", Type = "VasTransactionPurchaseResult", EnumValue = 34 },
{ Name = "ProxyBadDbType", Type = "VasTransactionPurchaseResult", EnumValue = 35 },
{ Name = "ProxyOperationAlreadyInProgress", Type = "VasTransactionPurchaseResult", EnumValue = 36 },
{ Name = "ProxyExternalUpdateDetected", Type = "VasTransactionPurchaseResult", EnumValue = 37 },
{ Name = "ProxyCharacterLevelTooHigh", Type = "VasTransactionPurchaseResult", EnumValue = 38 },
{ Name = "ProxyCharacterTransferred", Type = "VasTransactionPurchaseResult", EnumValue = 39 },
{ Name = "ProxyCharacterTransferredNoBoostInProgress", Type = "VasTransactionPurchaseResult", EnumValue = 40 },
{ Name = "ProxyLockedForUpgrade", Type = "VasTransactionPurchaseResult", EnumValue = 41 },
{ Name = "ProxyLockedForToken", Type = "VasTransactionPurchaseResult", EnumValue = 42 },
{ Name = "ProxyLockedForVas", Type = "VasTransactionPurchaseResult", EnumValue = 43 },
{ Name = "ProxyGenericError", Type = "VasTransactionPurchaseResult", EnumValue = 44 },
{ Name = "ProxyCannotInsertNull", Type = "VasTransactionPurchaseResult", EnumValue = 45 },
{ Name = "ProxyCannotUndeleteTrialBoostCharacter", Type = "VasTransactionPurchaseResult", EnumValue = 46 },
{ Name = "ProxyPredicateFailed", Type = "VasTransactionPurchaseResult", EnumValue = 47 },
{ Name = "ProxyWeeklyRewardNotFound", Type = "VasTransactionPurchaseResult", EnumValue = 48 },
{ Name = "ProxyInsertRequestContainedNoData", Type = "VasTransactionPurchaseResult", EnumValue = 49 },
{ Name = "ProxyInvalidKey", Type = "VasTransactionPurchaseResult", EnumValue = 50 },
{ Name = "ProxyBindFailed", Type = "VasTransactionPurchaseResult", EnumValue = 51 },
{ Name = "ProxyTooManyRows", Type = "VasTransactionPurchaseResult", EnumValue = 52 },
{ Name = "ProxyCharacterHasWoWToken", Type = "VasTransactionPurchaseResult", EnumValue = 53 },
{ Name = "ProxyTooBusyBackOff", Type = "VasTransactionPurchaseResult", EnumValue = 54 },
{ Name = "ProxyAccountDataTooBig", Type = "VasTransactionPurchaseResult", EnumValue = 55 },
{ Name = "EndProxyErrors", Type = "VasTransactionPurchaseResult", EnumValue = 56 },
{ Name = "BeginDbErrors", Type = "VasTransactionPurchaseResult", EnumValue = 20010 },
{ Name = "DbRealmNotEligible", Type = "VasTransactionPurchaseResult", EnumValue = 20011 },
{ Name = "DbCannotMoveGuildmaster", Type = "VasTransactionPurchaseResult", EnumValue = 20012 },
{ Name = "DbMaxCharactersOnServer", Type = "VasTransactionPurchaseResult", EnumValue = 20013 },
{ Name = "DbNoMixedAlliance", Type = "VasTransactionPurchaseResult", EnumValue = 20014 },
{ Name = "DbDuplicateCharacterName", Type = "VasTransactionPurchaseResult", EnumValue = 20015 },
{ Name = "DbHasMail", Type = "VasTransactionPurchaseResult", EnumValue = 20016 },
{ Name = "DbAccountDoesNotOwnCharacter", Type = "VasTransactionPurchaseResult", EnumValue = 20017 },
{ Name = "DbMoveInProgress", Type = "VasTransactionPurchaseResult", EnumValue = 20018 },
{ Name = "DbCharacterDoesNotExist", Type = "VasTransactionPurchaseResult", EnumValue = 20019 },
{ Name = "DbNoCopiesAvailable", Type = "VasTransactionPurchaseResult", EnumValue = 20020 },
{ Name = "DbUnderMinLevelReq", Type = "VasTransactionPurchaseResult", EnumValue = 20021 },
{ Name = "DbIneligibleTargetRealm", Type = "VasTransactionPurchaseResult", EnumValue = 20022 },
{ Name = "DbTransferDateTooSoon", Type = "VasTransactionPurchaseResult", EnumValue = 20023 },
{ Name = "DbNewNameTooLong", Type = "VasTransactionPurchaseResult", EnumValue = 20024 },
{ Name = "DbCharNotLocked", Type = "VasTransactionPurchaseResult", EnumValue = 20025 },
{ Name = "DbCharLocked", Type = "VasTransactionPurchaseResult", EnumValue = 20026 },
{ Name = "DbAllianceNotEligible", Type = "VasTransactionPurchaseResult", EnumValue = 20027 },
{ Name = "DbBatchProcessingDisabled", Type = "VasTransactionPurchaseResult", EnumValue = 20028 },
{ Name = "DbNoneBatchQueueID", Type = "VasTransactionPurchaseResult", EnumValue = 20029 },
{ Name = "DbTransferNotFinalized", Type = "VasTransactionPurchaseResult", EnumValue = 20030 },
{ Name = "DbTransferNotCancellable", Type = "VasTransactionPurchaseResult", EnumValue = 20031 },
{ Name = "DbTooMuchMoneyForLevel", Type = "VasTransactionPurchaseResult", EnumValue = 20032 },
{ Name = "DbHasAuctions", Type = "VasTransactionPurchaseResult", EnumValue = 20033 },
{ Name = "DbLastSaveTooRecent", Type = "VasTransactionPurchaseResult", EnumValue = 20034 },
{ Name = "DbTransferNotLockable", Type = "VasTransactionPurchaseResult", EnumValue = 20035 },
{ Name = "DbTransferNotUnlockable", Type = "VasTransactionPurchaseResult", EnumValue = 20036 },
{ Name = "DbNoneRealmForEvent", Type = "VasTransactionPurchaseResult", EnumValue = 20037 },
{ Name = "DbEventRealmClosed", Type = "VasTransactionPurchaseResult", EnumValue = 20038 },
{ Name = "DbNoneTemplateForEvent", Type = "VasTransactionPurchaseResult", EnumValue = 20039 },
{ Name = "DbInventoryCorrupt", Type = "VasTransactionPurchaseResult", EnumValue = 20040 },
{ Name = "DbCouldNotObtainCharLock", Type = "VasTransactionPurchaseResult", EnumValue = 20041 },
{ Name = "DbNoneLockID", Type = "VasTransactionPurchaseResult", EnumValue = 20042 },
{ Name = "DbLockNotAcknowledged", Type = "VasTransactionPurchaseResult", EnumValue = 20043 },
{ Name = "DbLockAlreadyRequested", Type = "VasTransactionPurchaseResult", EnumValue = 20044 },
{ Name = "DbNoneSupportQueueID", Type = "VasTransactionPurchaseResult", EnumValue = 20045 },
{ Name = "DbNoneSupportActionID", Type = "VasTransactionPurchaseResult", EnumValue = 20046 },
{ Name = "DbNotRollbackable", Type = "VasTransactionPurchaseResult", EnumValue = 20047 },
{ Name = "DbNotMovebackable", Type = "VasTransactionPurchaseResult", EnumValue = 20048 },
{ Name = "DbRenameAlreadyRequested", Type = "VasTransactionPurchaseResult", EnumValue = 20049 },
{ Name = "DbReservationExpired", Type = "VasTransactionPurchaseResult", EnumValue = 20050 },
{ Name = "DbNameNotAvailable", Type = "VasTransactionPurchaseResult", EnumValue = 20051 },
{ Name = "DbLastRenameTooRecent", Type = "VasTransactionPurchaseResult", EnumValue = 20052 },
{ Name = "DbReservationDoesNotMatch", Type = "VasTransactionPurchaseResult", EnumValue = 20053 },
{ Name = "DbLastRequestTooSoon", Type = "VasTransactionPurchaseResult", EnumValue = 20054 },
{ Name = "DbAlreadyRenameFlagged", Type = "VasTransactionPurchaseResult", EnumValue = 20055 },
{ Name = "DbMultipleTransferCn", Type = "VasTransactionPurchaseResult", EnumValue = 20056 },
{ Name = "DbCustomizeAlreadyRequested", Type = "VasTransactionPurchaseResult", EnumValue = 20057 },
{ Name = "DbLastCustomizeTooSoon", Type = "VasTransactionPurchaseResult", EnumValue = 20058 },
{ Name = "DbWaitingForPayment", Type = "VasTransactionPurchaseResult", EnumValue = 20059 },
{ Name = "DbUnableToCustomize", Type = "VasTransactionPurchaseResult", EnumValue = 20060 },
{ Name = "DbFactionChangeTooSoon", Type = "VasTransactionPurchaseResult", EnumValue = 20061 },
{ Name = "DbRaceClassComboIneligible", Type = "VasTransactionPurchaseResult", EnumValue = 20062 },
{ Name = "DbDuplicateSupportRequest", Type = "VasTransactionPurchaseResult", EnumValue = 20063 },
{ Name = "DbCannotMoveArenaCaptn", Type = "VasTransactionPurchaseResult", EnumValue = 20064 },
{ Name = "DbNoCsiFound", Type = "VasTransactionPurchaseResult", EnumValue = 20065 },
{ Name = "DbPendingItemAudit", Type = "VasTransactionPurchaseResult", EnumValue = 20066 },
{ Name = "DbBatchStateInvalid", Type = "VasTransactionPurchaseResult", EnumValue = 20067 },
{ Name = "DbEventNotActive", Type = "VasTransactionPurchaseResult", EnumValue = 20068 },
{ Name = "DbGuildRankInsufficient", Type = "VasTransactionPurchaseResult", EnumValue = 20069 },
{ Name = "DbCharacterWithoutGuild", Type = "VasTransactionPurchaseResult", EnumValue = 20070 },
{ Name = "DbDeletedGuild", Type = "VasTransactionPurchaseResult", EnumValue = 20071 },
{ Name = "DbGmSenorityInsufficient", Type = "VasTransactionPurchaseResult", EnumValue = 20072 },
{ Name = "DbAuthenticatorInsufficient", Type = "VasTransactionPurchaseResult", EnumValue = 20073 },
{ Name = "DbGuildLevelInsufficient", Type = "VasTransactionPurchaseResult", EnumValue = 20074 },
{ Name = "DbRegionalDbNotFound", Type = "VasTransactionPurchaseResult", EnumValue = 20075 },
{ Name = "DbIneligibleMapID", Type = "VasTransactionPurchaseResult", EnumValue = 20076 },
{ Name = "DbBnetAccountNotProvided", Type = "VasTransactionPurchaseResult", EnumValue = 20077 },
{ Name = "DbBpayDeliveryPending", Type = "VasTransactionPurchaseResult", EnumValue = 20078 },
{ Name = "DbHasBpayToken", Type = "VasTransactionPurchaseResult", EnumValue = 20079 },
{ Name = "DbHasHeirloomItem", Type = "VasTransactionPurchaseResult", EnumValue = 20080 },
{ Name = "DbResultSourceAccountBanned", Type = "VasTransactionPurchaseResult", EnumValue = 20081 },
{ Name = "DbResultAccountRestricted", Type = "VasTransactionPurchaseResult", EnumValue = 20082 },
{ Name = "DbLastSaveTooDistant", Type = "VasTransactionPurchaseResult", EnumValue = 20083 },
{ Name = "DbCagedPetInInventory", Type = "VasTransactionPurchaseResult", EnumValue = 20084 },
{ Name = "DbOnBoostCooldown", Type = "VasTransactionPurchaseResult", EnumValue = 20085 },
{ Name = "DbNewLeaderInvalid", Type = "VasTransactionPurchaseResult", EnumValue = 20086 },
{ Name = "DbPvEPvPTransferNotAllowed", Type = "VasTransactionPurchaseResult", EnumValue = 20087 },
{ Name = "DbNeedsLevelSquish", Type = "VasTransactionPurchaseResult", EnumValue = 20088 },
{ Name = "DbHasUnclaimedCacheRewards", Type = "VasTransactionPurchaseResult", EnumValue = 20089 },
{ Name = "DbNeedsEraChoice", Type = "VasTransactionPurchaseResult", EnumValue = 20090 },
{ Name = "DbHasNewPlayerExperienceRestriction", Type = "VasTransactionPurchaseResult", EnumValue = 20091 },
{ Name = "DbHasCraftingOrders", Type = "VasTransactionPurchaseResult", EnumValue = 20092 },
{ Name = "DbNameChangeSkipped", Type = "VasTransactionPurchaseResult", EnumValue = 20093 },
{ Name = "DbInvalidName", Type = "VasTransactionPurchaseResult", EnumValue = 20094 },
{ Name = "DbBoostProcessingDisabled", Type = "VasTransactionPurchaseResult", EnumValue = 20095 },
{ Name = "DbHouseOwnerRestriction", Type = "VasTransactionPurchaseResult", EnumValue = 20096 },
{ Name = "EndDbErrors", Type = "VasTransactionPurchaseResult", EnumValue = 20097 },
},
},
},
};
APIDocumentation:AddDocumentationTable(BattlepayConstants);
@@ -0,0 +1,44 @@
local BehavioralMessaging =
{
Name = "BehavioralMessaging",
Type = "System",
Namespace = "C_BehavioralMessaging",
Environment = "All",
Functions =
{
{
Name = "SendNotificationReceipt",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "dbId", Type = "NotificationDbId", Nilable = false },
{ Name = "openTimeSeconds", Type = "number", Nilable = false },
{ Name = "readTimeSeconds", Type = "number", Nilable = false },
},
},
},
Events =
{
{
Name = "BehavioralNotification",
Type = "Event",
LiteralName = "BEHAVIORAL_NOTIFICATION",
SynchronousEvent = true,
Payload =
{
{ Name = "notificationType", Type = "string", Nilable = false },
{ Name = "dbId", Type = "NotificationDbId", Nilable = false },
},
},
},
Tables =
{
},
};
APIDocumentation:AddDocumentationTable(BehavioralMessaging);
@@ -0,0 +1,78 @@
local BlackMarketInfo =
{
Name = "BlackMarketInfo",
Type = "System",
Namespace = "C_BlackMarketInfo",
Environment = "All",
Functions =
{
},
Events =
{
{
Name = "BlackMarketBidResult",
Type = "Event",
LiteralName = "BLACK_MARKET_BID_RESULT",
SynchronousEvent = true,
Payload =
{
{ Name = "marketID", Type = "number", Nilable = false },
{ Name = "resultCode", Type = "number", Nilable = false },
},
},
{
Name = "BlackMarketClose",
Type = "Event",
LiteralName = "BLACK_MARKET_CLOSE",
SynchronousEvent = true,
},
{
Name = "BlackMarketItemUpdate",
Type = "Event",
LiteralName = "BLACK_MARKET_ITEM_UPDATE",
SynchronousEvent = true,
},
{
Name = "BlackMarketOpen",
Type = "Event",
LiteralName = "BLACK_MARKET_OPEN",
SynchronousEvent = true,
},
{
Name = "BlackMarketOutbid",
Type = "Event",
LiteralName = "BLACK_MARKET_OUTBID",
SynchronousEvent = true,
Payload =
{
{ Name = "marketID", Type = "number", Nilable = false },
{ Name = "itemID", Type = "number", Nilable = false },
},
},
{
Name = "BlackMarketUnavailable",
Type = "Event",
LiteralName = "BLACK_MARKET_UNAVAILABLE",
SynchronousEvent = true,
},
{
Name = "BlackMarketWon",
Type = "Event",
LiteralName = "BLACK_MARKET_WON",
SynchronousEvent = true,
Payload =
{
{ Name = "marketID", Type = "number", Nilable = false },
{ Name = "itemID", Type = "number", Nilable = false },
},
},
},
Tables =
{
},
};
APIDocumentation:AddDocumentationTable(BlackMarketInfo);
@@ -0,0 +1,583 @@
## Title: Blizzard API Documentation Generated
## Author: Blizzard Entertainment
## LoadOnDemand: 1
## AllowLoad: Both
## Dependencies: Blizzard_APIDocumentation
# Start documentation files here
AbbreviateConfigAPIDocumentation.lua
AccessibilityOptionsDocumentation.lua
AccountInfoDocumentation.lua
AccountStoreDocumentation.lua
AchievementInfoDocumentation.lua
AchievementTelemetryDocumentation.lua
ActionBarFrameDocumentation.lua
AddOnProfilerDocumentation.lua
AddOnsDocumentation.lua
AdventureJournalDocumentation.lua
AdventureMapDocumentation.lua
AlliedRacesFrameDocumentation.lua
AnimaDiversionUIDocumentation.lua
ArdenwealdGardeningDocumentation.lua
AreaPoiInfoDocumentation.lua
ArtifactUIDocumentation.lua
AssistedCombatDocumentation.lua
AuctionHouseDocumentation.lua
AzeriteEmpoweredItemDocumentation.lua
AzeriteEssenceDocumentation.lua
AzeriteItemDocumentation.lua
BNetOutageDocumentation.lua
BagIndexConstantsDocumentation.lua
BankDocumentation.lua
BarberShopInternalDocumentation.lua
BarberShopDocumentation.lua
BattleNetDocumentation.lua
BattlePetDocumentation.lua
BehavioralMessagingDocumentation.lua
BlackMarketInfoDocumentation.lua
BrowserDocumentation.lua
BuildDocumentation.lua
CVarDocumentation.lua
CalendarDocumentation.lua
CameraDocumentation.lua
CatalogShopDocumentation.lua
ChallengeModeInfoDocumentation.lua
ChatBubblesDocumentation.lua
ChatInfoDocumentation.lua
ChromieTimeUIDocumentation.lua
CinematicDocumentation.lua
CinematicListDocumentation.lua
ClassColorDocumentation.lua
ClassTalentsDocumentation.lua
ClassTrialDocumentation.lua
ClickBindingsDocumentation.lua
ClientDocumentation.lua
ClientSceneDocumentation.lua
ClubDocumentation.lua
ClubFinderDocumentation.lua
ColorOverridesDocumentation.lua
ColorUtilDocumentation.lua
CombatAudioAlertDocumentation.lua
CombatLogDocumentation.lua
CombatLogInternalDocumentation.lua
CombatLogSecureDocumentation.lua
CombatTextDocumentation.lua
CommentatorFrameDocumentation.lua
CompactUnitFramesDocumentation.lua
ConfigurationWarningsDocumentation.lua
ConnectionDocumentation.lua
ConsoleDocumentation.lua
ConsoleScriptCollectionDocumentation.lua
ContainerDocumentation.lua
ContentTrackingDocumentation.lua
ContributionCollectorDocumentation.lua
CooldownViewerDocumentation.lua
CovenantsDocumentation.lua
CovenantCallingsDocumentation.lua
CovenantPreviewDocumentation.lua
CovenantSanctumDocumentation.lua
CraftingOrderUIDocumentation.lua
CreatureInfoDocumentation.lua
CurrencyInfoDocumentation.lua
CursorDocumentation.lua
CursorUtilDocumentation.lua
CurveUtilDocumentation.lua
DamageMeterDocumentation.lua
DateAndTimeDocumentation.lua
DeathAlertDocumentation.lua
DeathInfoDocumentation.lua
DeathRecapDocumentation.lua
DebugToggleDocumentation.lua
DelvesUIDocumentation.lua
DuelInfoDocumentation.lua
DurationUtilDocumentation.lua
DyeColorInfoDocumentation.lua
EditModeManagerDocumentation.lua
EncodingUtilDocumentation.lua
EncounterEventsDocumentation.lua
EncounterInfoDocumentation.lua
EncounterJournalDocumentation.lua
EncounterTimelineDocumentation.lua
EncounterWarningsDocumentation.lua
EndOfMatchUIDocumentation.lua
EquipmentManagerDocumentation.lua
EventSchedulerUIDocumentation.lua
EventUtilsDocumentation.lua
ExpansionDocumentation.lua
ExpansionInfoDocumentation.lua
ExpansionTrialDocumentation.lua
ExternalEventURLDocumentation.lua
FogOfWarDocumentation.lua
FontDocumentation.lua
FrameAPIArchaeologyDigsiteDocumentation.lua
FrameAPIBlobDocumentation.lua
FrameAPICharacterModelBaseDocumentation.lua
FrameAPICinematicModelDocumentation.lua
FrameAPICooldownDocumentation.lua
FrameAPIDressUpModelDocumentation.lua
FrameAPIFogOfWarFrameDocumentation.lua
FrameAPIModelSceneFrameDocumentation.lua
FrameAPIModelSceneFrameActorDocumentation.lua
FrameAPIModelSceneFrameActorBaseDocumentation.lua
FrameAPINamePlateDocumentation.lua
FrameAPIQuestPOIDocumentation.lua
FrameAPIScenarioPOIDocumentation.lua
FrameAPISimpleCheckoutDocumentation.lua
FrameAPITabardModelDocumentation.lua
FrameAPITabardModelBaseDocumentation.lua
FrameAPITooltipDocumentation.lua
FrameAPIUnitPositionFrameDocumentation.lua
FrameScriptDocumentation.lua
FriendListDocumentation.lua
GMTicketInfoDocumentation.lua
GameCursorDocumentation.lua
GameErrorDocumentation.lua
GamePadDocumentation.lua
GameRulesDocumentation.lua
GameUIDocumentation.lua
GarrisonInfoDocumentation.lua
UIGenericWidgetDisplayDocumentation.lua
GlueDocumentation.lua
GlyphInfoDocumentation.lua
GossipInfoDocumentation.lua
GuildBankDocumentation.lua
GuildInfoDocumentation.lua
HeirloomInfoDocumentation.lua
HouseEditorUIDocumentation.lua
HouseExteriorUIDocumentation.lua
HousingBasicModeUIDocumentation.lua
HousingCatalogSearcherAPIDocumentation.lua
HousingCatalogUIDocumentation.lua
HousingCleanupModeUIDocumentation.lua
HousingCustomizeModeUIDocumentation.lua
HousingDecorUIDocumentation.lua
HousingExpertModeUIDocumentation.lua
HousingFixturePointFrameAPIDocumentation.lua
HousingLayoutPinFrameAPIDocumentation.lua
HousingLayoutUIDocumentation.lua
HousingNeighborhoodUIDocumentation.lua
HousingPhotoSharingUIDocumentation.lua
HousingUIDocumentation.lua
ImmersiveInteractionManagerDocumentation.lua
InGameNavigationDocumentation.lua
IncomingSummonDocumentation.lua
InputDocumentation.lua
InstanceDocumentation.lua
InstanceEncounterDocumentation.lua
InstanceLeaverInfoDocumentation.lua
InterfaceFileManifestDocumentation.lua
InvasionInfoDocumentation.lua
IslandsInfoDocumentation.lua
IslandsQueueUIDocumentation.lua
ItemDocumentation.lua
ItemInteractionUIDocumentation.lua
ItemSocketInfoDocumentation.lua
ItemTextDocumentation.lua
ItemUpgradeDocumentation.lua
KeyBindingsDocumentation.lua
LFGInfoDocumentation.lua
LFGListInfoDocumentation.lua
LegendaryCraftingDocumentation.lua
LevelLinkDocumentation.lua
LevelSquishDocumentation.lua
LimitedInputDocumentation.lua
LiveEventDocumentation.lua
LoadingScreenDocumentation.lua
LobbyMatchmakerInfoDocumentation.lua
LocaleDocumentation.lua
LocalizationDocumentation.lua
LogDocumentation.lua
LootDocumentation.lua
LootHistoryDocumentation.lua
LootJournalDocumentation.lua
LoreTextDocumentation.lua
LossOfControlDocumentation.lua
LuaColorCurveObjectAPIDocumentation.lua
LuaCurveObjectAPIDocumentation.lua
LuaCurveObjectBaseAPIDocumentation.lua
LuaDurationObjectAPIDocumentation.lua
LuaTableUtilDocumentation.lua
MacOptionsDocumentation.lua
MailInfoDocumentation.lua
MajorFactionsDocumentation.lua
MapExplorationDocumentation.lua
MapDocumentation.lua
MerchantFrameDocumentation.lua
MinimapDocumentation.lua
MinimapFrameAPIDocumentation.lua
MirrorTimerDocumentation.lua
UIModelInfoDocumentation.lua
MountJournalDocumentation.lua
MovieDocumentation.lua
MythicPlusInfoDocumentation.lua
NamePlateDocumentation.lua
NamePlateManagerDocumentation.lua
NeighborhoodInitiativeDocumentation.lua
NewItemsDocumentation.lua
OsDocumentation.lua
PaperDollInfoDocumentation.lua
ParentalControlsDocumentation.lua
PartyInfoDocumentation.lua
PartyPoseUIDocumentation.lua
PerformanceDocumentation.lua
PerksActivitiesDocumentation.lua
PerksProgramDocumentation.lua
PetBattlesDocumentation.lua
PetInfoDocumentation.lua
PetJournalInfoDocumentation.lua
PingManagerDocumentation.lua
PingManagerSecureDocumentation.lua
PingPinFrameAPIDocumentation.lua
PlatformDocumentation.lua
PlayerChoiceDocumentation.lua
PlayerInfoDocumentation.lua
PlayerInteractionManagerDocumentation.lua
PlayerLocationDocumentation.lua
PlayerMentorshipDocumentation.lua
PlayerScriptDocumentation.lua
PonyDocumentation.lua
ProfessionSpecUIDocumentation.lua
PvpInfoDocumentation.lua
QuestHubInfoDocumentation.lua
QuestInfoSystemDocumentation.lua
QuestItemUseDocumentation.lua
QuestLineInfoDocumentation.lua
QuestLogDocumentation.lua
QuestOfferDocumentation.lua
QuestSessionDocumentation.lua
QuestTaskInfoDocumentation.lua
RaidLocksDocumentation.lua
RaidMarkersDocumentation.lua
RecentAlliesDocumentation.lua
RecruitAFriendDocumentation.lua
RemixArtifactUIDocumentation.lua
ReportSystemDocumentation.lua
ReputationInfoDocumentation.lua
ResearchInfoDocumentation.lua
RestrictedActionsDocumentation.lua
ScenarioInfoDocumentation.lua
ScrappingMachineUIDocumentation.lua
ScreenDocumentation.lua
ScriptWarningsDocumentation.lua
ScriptedAnimationsDocumentation.lua
SeasonInfoDocumentation.lua
SecretPredicateAPIDocumentation.lua
SecureTransferDocumentation.lua
SettingsUtilDocumentation.lua
SharedTraitsDocumentation.lua
SimpleAnimAPIDocumentation.lua
SimpleAnimAlphaAPIDocumentation.lua
SimpleAnimFlipBookAPIDocumentation.lua
SimpleAnimGroupAPIDocumentation.lua
SimpleAnimPathAPIDocumentation.lua
SimpleAnimRotationAPIDocumentation.lua
SimpleAnimScaleAPIDocumentation.lua
SimpleAnimScaleLineAPIDocumentation.lua
SimpleAnimTextureCoordTranslationAPIDocumentation.lua
SimpleAnimTranslationAPIDocumentation.lua
SimpleAnimTranslationLineAPIDocumentation.lua
SimpleAnimVertexColorAPIDocumentation.lua
SimpleAnimatableObjectAPIDocumentation.lua
SimpleBrowserAPIDocumentation.lua
SimpleButtonAPIDocumentation.lua
SimpleCheckboxAPIDocumentation.lua
SimpleColorSelectAPIDocumentation.lua
SimpleControlPointAPIDocumentation.lua
SimpleEditBoxAPIDocumentation.lua
SimpleFontAPIDocumentation.lua
SimpleFontStringAPIDocumentation.lua
SimpleFrameAPIDocumentation.lua
SimpleFrameScriptObjectAPIDocumentation.lua
SimpleHTMLAPIDocumentation.lua
SimpleLineAPIDocumentation.lua
SimpleMapSceneAPIDocumentation.lua
SimpleMaskTextureAPIDocumentation.lua
SimpleMessageFrameAPIDocumentation.lua
SimpleModelAPIDocumentation.lua
SimpleModelFFXAPIDocumentation.lua
SimpleMovieAPIDocumentation.lua
SimpleObjectAPIDocumentation.lua
SimpleOffScreenFrameAPIDocumentation.lua
SimpleRegionAPIDocumentation.lua
SimpleScriptRegionAPIDocumentation.lua
SimpleScriptRegionResizingAPIDocumentation.lua
SimpleScrollFrameAPIDocumentation.lua
SimpleSliderAPIDocumentation.lua
SimpleStatusBarAPIDocumentation.lua
SimpleTextureAPIDocumentation.lua
SimpleTextureBaseAPIDocumentation.lua
SkillInfoDocumentation.lua
SlashCommandDocumentation.lua
SocialQueueDocumentation.lua
SocialRestrictionsDocumentation.lua
SoulbindsDocumentation.lua
SoundDocumentation.lua
SpecializationInfoDocumentation.lua
SpecializationSharedDocumentation.lua
SpellDocumentation.lua
SpellActivationOverlayDocumentation.lua
SpellBookDocumentation.lua
SpellDiminishUIDocumentation.lua
SplashScreenDocumentation.lua
StableInfoDocumentation.lua
StorePublicUIDocumentation.lua
StreamingDocumentation.lua
StringUtilDocumentation.lua
SummonInfoDocumentation.lua
SuperTrackManagerDocumentation.lua
SystemDocumentation.lua
SystemTimeDocumentation.lua
TTSSettingsDocumentation.lua
TalkingHeadDocumentation.lua
TargetScriptDocumentation.lua
TaxiMapDocumentation.lua
TextureUtilsDocumentation.lua
ThreatDocumentation.lua
TimerunningUIDocumentation.lua
TitleDocumentation.lua
TooltipComparisonDocumentation.lua
TooltipInfoDocumentation.lua
TotemDocumentation.lua
ToyBoxInfoDocumentation.lua
TradeInfoDocumentation.lua
TradeSkillUIDocumentation.lua
TrainerDocumentation.lua
TraitConfigDocumentation.lua
TransmogOutfitInfoDocumentation.lua
TransmogDocumentation.lua
TransmogItemsDocumentation.lua
TransmogSetsDocumentation.lua
TutorialDocumentation.lua
UIManagerDocumentation.lua
UIActionDocumentation.lua
UIColorDocumentation.lua
UIEventToastManagerDocumentation.lua
UIFrameManagerDocumentation.lua
UIMacrosDocumentation.lua
UIModifiedInstanceDocumentation.lua
UISystemVisibilityManagerDocumentation.lua
UITimerDocumentation.lua
UIWidgetManagerDocumentation.lua
URLDocumentation.lua
UnitDocumentation.lua
UnitAuraDocumentation.lua
UnitHealPredictionCalculatorAPIDocumentation.lua
UnitRoleDocumentation.lua
UserFeedbackDocumentation.lua
VehicleDocumentation.lua
VideoDocumentation.lua
VignetteInfoDocumentation.lua
VoiceChatDocumentation.lua
WarCampaignDocumentation.lua
WarbandSceneInfoDocumentation.lua
WeeklyRewardsDocumentation.lua
WorldLootObjectDocumentation.lua
WorldSafeLocsUIInternalDocumentation.lua
WorldStateInfoDocumentation.lua
WowEntitlementInfoDocumentation.lua
WowSurveyDocumentation.lua
WowTokenUIDocumentation.lua
XMLUtilDocumentation.lua
ZoneAbilityDocumentation.lua
ZoneScriptDocumentation.lua
AccountConstantsDocumentation.lua
ActionDocumentation.lua
ActionBarSharedDocumentation.lua
AddOnProfilerConstantsDocumentation.lua
AppearanceSourceDocumentation.lua
ArrowCalloutConstantsDocumentation.lua
AsyncAssistActionsConstantsDocumentation.lua
AuctionHouseConstantsDocumentation.lua
AuctionHouseEnumsDocumentation.lua
AzeriteConstantsDocumentation.lua
BagConstantsDocumentation.lua
BaseDocumentation.lua
BattlePetConstantsDocumentation.lua
BattlepayConstantsDocumentation.lua
BountySharedDocumentation.lua
ButtonStateDocumentation.lua
CalendarConstantsDocumentation.lua
CameraConstantsDocumentation.lua
CatalogShopConstantsDocumentation.lua
CharacterCreationConstantsDocumentation.lua
CharacterCustomizationSharedDocumentation.lua
CharacterSelectionConstantsDocumentation.lua
CharacterServicesConstantsDocumentation.lua
ChatConstantsDocumentation.lua
CinematicConstantsDocumentation.lua
ClickBindingsConstantsDocumentation.lua
ClientSettingsDocumentation.lua
ClubSharedDocumentation.lua
ColorDocumentation.lua
ColorOverrideConstantsDocumentation.lua
CombatAudioAlertConstantsDocumentation.lua
CombatAudioAlertSharedDocumentation.lua
CombatLogConstantsDocumentation.lua
CombatLogSharedDocumentation.lua
CombatTextSharedDocumentation.lua
CommentatorSharedDocumentation.lua
ConfigurationWarningConstantsDocumentation.lua
ContentTrackingTypesDocumentation.lua
CooldownViewerConstantsDocumentation.lua
CovenantCallingsConstantsDocumentation.lua
CovenantSanctumConstantsDocumentation.lua
CovenantsConstantsDocumentation.lua
CraftingOrderUIConstantsDocumentation.lua
CraftingOrderUISharedDocumentation.lua
CurrencyConstantsDocumentation.lua
CurrencyConstants_MainlineDocumentation.lua
CursorConstDocumentation.lua
DamageConstantsDocumentation.lua
DamageMeterConstantsDocumentation.lua
DelvesConstantsDocumentation.lua
DungeonEncounterConstantsDocumentation.lua
DyeColorInfoSharedDocumentation.lua
EditModeManagerConstantsDocumentation.lua
EditModeManagerConstants_MainlineDocumentation.lua
EncodingUtilConstantsDocumentation.lua
EncounterEventsSharedDocumentation.lua
EncounterJournalConstantsDocumentation.lua
EncounterTimelineConstantsDocumentation.lua
EventSchedulerConstantsDocumentation.lua
ExpansionConstantsDocumentation.lua
ExpansionLevelConstantsDocumentation.lua
FrameAPIModelSceneFrameSharedDocumentation.lua
GARRISON_FOLLOWER_TYPEConstantsDocumentation.lua
GARRISON_TYPEConstantsDocumentation.lua
GamePadConstDocumentation.lua
GameRulesConstantsDocumentation.lua
GarrisonConstantsDocumentation.lua
GarrisonSharedDocumentation.lua
GlyphConstantsDocumentation.lua
GossipConstantsDocumentation.lua
GroupFinderConstantsDocumentation.lua
GuildConstantsDocumentation.lua
GuildInfoSharedDocumentation.lua
HouseExteriorConstantsDocumentation.lua
HousingCatalogConstantsDocumentation.lua
HousingDecorSharedDocumentation.lua
HousingLayoutUITypesDocumentation.lua
HousingUISharedDocumentation.lua
ImageSharingConstantsDocumentation.lua
InputConstantsDocumentation.lua
ItemConstantsDocumentation.lua
ItemConstants_MainlineDocumentation.lua
ItemConstants_SharedDocumentation.lua
ItemQualitiesDocumentation.lua
ItemSharedDocumentation.lua
LFGConstantsDocumentation.lua
LegendaryCraftingTypesDocumentation.lua
LevelConstantsDocumentation.lua
LocalizationSharedDocumentation.lua
LogConstantsDocumentation.lua
LogicConstantsDocumentation.lua
LootConstantsDocumentation.lua
LuaCurveObjectConstantsDocumentation.lua
LuaDurationObjectSharedDocumentation.lua
MajorFactionsConstantsDocumentation.lua
MapConstantsDocumentation.lua
MatrixSharedDocumentation.lua
MinimapConstantsDocumentation.lua
ModelAnimationSharedDocumentation.lua
MoneyConstantsDocumentation.lua
MountConstantsDocumentation.lua
MythicPlusInfoSharedDocumentation.lua
NamePlateConstantsDocumentation.lua
NeighborhoodInitiativesConstantsDocumentation.lua
PVPMgrConstantsDocumentation.lua
PartyConstantsDocumentation.lua
PartyPoseUIConstantsDocumentation.lua
PerksVendorConstantsDocumentation.lua
PetBattleConstantsDocumentation.lua
PetConstantsDocumentation.lua
PetScalingConstantsDocumentation.lua
PingConstantsDocumentation.lua
PlayerDocumentation.lua
PlayerDataConstantsDocumentation.lua
PlayerHousingConstantsDocumentation.lua
PlayerInfoSharedDocumentation.lua
PlayerInteractionManagerConstantsDocumentation.lua
PlayerMentorshipConstantsDocumentation.lua
PowerTypeConstantsDocumentation.lua
ProceduralSpawnConstantsDocumentation.lua
ProfessionConstantsDocumentation.lua
ProfessionSpecConstantsDocumentation.lua
PvPFactionConstantsDocumentation.lua
PvpInfoConstantsDocumentation.lua
QuestConstantsDocumentation.lua
QuestConstants_MainlineDocumentation.lua
QuestInfoSharedDocumentation.lua
QuestRewardsDocumentation.lua
QuestSessionConstantsDocumentation.lua
QueueSpecificDocumentation.lua
RecentAlliesConstantsDocumentation.lua
RecruitAFriendSharedDocumentation.lua
RenownConstantsDocumentation.lua
ReportSystemConstantsDocumentation.lua
RestrictedActionsConstantsDocumentation.lua
RolodexConstantsDocumentation.lua
ScreenLocationConstantsDocumentation.lua
ScriptRegionSharedDocumentation.lua
SeasonsConstantsDocumentation.lua
SecretAspectConstantsDocumentation.lua
SecretPredicatesDocumentation.lua
SecretWrapperConstantsDocumentation.lua
SharedScriptObjectModelLightDocumentation.lua
SharedScriptObjectNamePlateFrameDocumentation.lua
SharedScriptObjectUnitPositionFrameDocumentation.lua
SharedTraitsEnumsDocumentation.lua
SimpleHTMLSharedDocumentation.lua
SimpleStatusBarConstantsDocumentation.lua
SocialConstantsDocumentation.lua
SoftTargetConstantsDocumentation.lua
SoulbindsConstantsDocumentation.lua
SpellBookConstantsDocumentation.lua
SpellConstantsDocumentation.lua
SpellDiminishConstantsDocumentation.lua
SpellIDDocumentation.lua
SpellSharedDocumentation.lua
SplashScreenConstantsDocumentation.lua
SummonConstantsDocumentation.lua
SuperTrackManagerSharedDocumentation.lua
TalentAndGlyphConstantsDocumentation.lua
TextureSharedDocumentation.lua
TimeDocumentation.lua
TimerConstantsDocumentation.lua
TimerunningConstantsDocumentation.lua
TooltipConstantsDocumentation.lua
TooltipInfoSharedDocumentation.lua
TradeSkillUITypesDocumentation.lua
TraitConstantsDocumentation.lua
TransformManipulatorConstantsDocumentation.lua
TransmogConstantsDocumentation.lua
TransmogOutfitConstantsDocumentation.lua
TransmogSharedDocumentation.lua
UIActionConstantsDocumentation.lua
UIButtonSharedDocumentation.lua
UICharacterClassConstantsDocumentation.lua
UIColorSharedDocumentation.lua
UICovenantDisplayInfoConstantsDocumentation.lua
UIEventToastConstantsDocumentation.lua
UIFileAssetSharedDocumentation.lua
UIMapPinSharedDocumentation.lua
UIModelInfoSharedDocumentation.lua
UISharedDocumentation.lua
UITextureAssetSharedDocumentation.lua
UITextureConstantsDocumentation.lua
UIWidgetManagerSharedDocumentation.lua
UiModelSceneConstantsDocumentation.lua
UiRpcRequestManagerConstantsDocumentation.lua
UnitAuraSharedDocumentation.lua
UnitConstantsDocumentation.lua
UnitHealPredictionCalculatorSharedDocumentation.lua
UnitSexConstantsDocumentation.lua
UnitSharedDocumentation.lua
ValidateNameConstantsDocumentation.lua
VectorSharedDocumentation.lua
VignetteConstantsDocumentation.lua
WarbandSceneInfoConstantsDocumentation.lua
WeeklyRewardsSharedDocumentation.lua
WorldElapsedTimerConstantsDocumentation.lua
WowCSConstantsDocumentation.lua
WowSurveyConstantsDocumentation.lua
# End documentation files here
@@ -0,0 +1,20 @@
local BountyShared =
{
Tables =
{
{
Name = "BountyInfo",
Type = "Structure",
Fields =
{
{ Name = "questID", Type = "number", Nilable = false },
{ Name = "factionID", Type = "number", Nilable = false },
{ Name = "icon", Type = "fileID", Nilable = false },
{ Name = "numObjectives", Type = "number", Nilable = false },
{ Name = "turninRequirementText", Type = "cstring", Nilable = true },
},
},
},
};
APIDocumentation:AddDocumentationTable(BountyShared);
@@ -0,0 +1,63 @@
local Browser =
{
Name = "Browser",
Type = "System",
Namespace = "C_Browser",
Environment = "All",
Functions =
{
},
Events =
{
{
Name = "SimpleBrowserPopup",
Type = "Event",
LiteralName = "SIMPLE_BROWSER_POPUP",
SynchronousEvent = true,
Payload =
{
{ Name = "url", Type = "string", Nilable = false },
},
},
{
Name = "SimpleBrowserSocialCallbackInvoked",
Type = "Event",
LiteralName = "SIMPLE_BROWSER_SOCIAL_CALLBACK_INVOKED",
UniqueEvent = true,
Payload =
{
{ Name = "url", Type = "string", Nilable = false },
},
},
{
Name = "SimpleBrowserWebError",
Type = "Event",
LiteralName = "SIMPLE_BROWSER_WEB_ERROR",
SynchronousEvent = true,
Payload =
{
{ Name = "errorCode", Type = "number", Nilable = false },
},
},
{
Name = "SimpleBrowserWebProxyFailed",
Type = "Event",
LiteralName = "SIMPLE_BROWSER_WEB_PROXY_FAILED",
SynchronousEvent = true,
},
{
Name = "SimpleCheckoutClosed",
Type = "Event",
LiteralName = "SIMPLE_CHECKOUT_CLOSED",
SynchronousEvent = true,
},
},
Tables =
{
},
};
APIDocumentation:AddDocumentationTable(Browser);
@@ -0,0 +1,125 @@
local Build =
{
Name = "Build",
Type = "System",
Environment = "All",
Functions =
{
{
Name = "GetBuildInfo",
Type = "Function",
Returns =
{
{ Name = "buildVersion", Type = "cstring", Nilable = false },
{ Name = "buildNumber", Type = "cstring", Nilable = false },
{ Name = "buildDate", Type = "cstring", Nilable = false },
{ Name = "interfaceVersion", Type = "number", Nilable = false },
{ Name = "localizedVersion", Type = "cstring", Nilable = false },
{ Name = "buildInfo", Type = "string", Nilable = false },
},
},
{
Name = "Is64BitClient",
Type = "Function",
Returns =
{
{ Name = "is64Bit", Type = "bool", Nilable = false },
},
},
{
Name = "IsBetaBuild",
Type = "Function",
Returns =
{
{ Name = "isBetaBuild", Type = "bool", Nilable = false },
},
},
{
Name = "IsDebugBuild",
Type = "Function",
Returns =
{
{ Name = "isDebugBuild", Type = "bool", Nilable = false },
},
},
{
Name = "IsLinuxClient",
Type = "Function",
Returns =
{
{ Name = "isLinux", Type = "bool", Nilable = false },
},
},
{
Name = "IsMacClient",
Type = "Function",
Returns =
{
{ Name = "isMac", Type = "bool", Nilable = false },
},
},
{
Name = "IsPublicBuild",
Type = "Function",
Returns =
{
{ Name = "isPublicBuild", Type = "bool", Nilable = false },
},
},
{
Name = "IsPublicTestClient",
Type = "Function",
Documentation = { "Reflects the state of the OnlyBetaAndPTR TOC directive" },
Returns =
{
{ Name = "isPublicTestClient", Type = "bool", Nilable = false },
},
},
{
Name = "IsTestBuild",
Type = "Function",
Returns =
{
{ Name = "isTestBuild", Type = "bool", Nilable = false },
},
},
{
Name = "IsWindowsClient",
Type = "Function",
Returns =
{
{ Name = "isWindows", Type = "bool", Nilable = false },
},
},
{
Name = "SupportsClipCursor",
Type = "Function",
Returns =
{
{ Name = "supportsClipCursor", Type = "bool", Nilable = false },
},
},
},
Events =
{
},
Tables =
{
},
};
APIDocumentation:AddDocumentationTable(Build);
@@ -0,0 +1,8 @@
local ButtonState =
{
Tables =
{
},
};
APIDocumentation:AddDocumentationTable(ButtonState);
@@ -0,0 +1,173 @@
local CVar =
{
Name = "CVarScripts",
Type = "System",
Namespace = "C_CVar",
Environment = "All",
Functions =
{
{
Name = "GetCVar",
Type = "Function",
SecretArguments = "NotAllowed",
Arguments =
{
{ Name = "name", Type = "cstring", Nilable = false },
},
Returns =
{
{ Name = "value", Type = "string", Nilable = true },
},
},
{
Name = "GetCVarBitfield",
Type = "Function",
SecretArguments = "NotAllowed",
Arguments =
{
{ Name = "name", Type = "cstring", Nilable = false },
{ Name = "index", Type = "luaIndex", Nilable = false },
},
Returns =
{
{ Name = "value", Type = "bool", Nilable = true },
},
},
{
Name = "GetCVarBool",
Type = "Function",
SecretArguments = "NotAllowed",
Arguments =
{
{ Name = "name", Type = "cstring", Nilable = false },
},
Returns =
{
{ Name = "value", Type = "bool", Nilable = true },
},
},
{
Name = "GetCVarDefault",
Type = "Function",
RequiresValidAndPublicCVar = true,
SecretArguments = "NotAllowed",
Arguments =
{
{ Name = "name", Type = "cstring", Nilable = false },
},
Returns =
{
{ Name = "defaultValue", Type = "string", Nilable = true },
},
},
{
Name = "GetCVarInfo",
Type = "Function",
SecretArguments = "NotAllowed",
Arguments =
{
{ Name = "name", Type = "cstring", Nilable = false },
},
Returns =
{
{ Name = "value", Type = "cstring", Nilable = false },
{ Name = "defaultValue", Type = "cstring", Nilable = false },
{ Name = "isStoredServerAccount", Type = "bool", Nilable = false },
{ Name = "isStoredServerCharacter", Type = "bool", Nilable = false },
{ Name = "isLockedFromUser", Type = "bool", Nilable = false },
{ Name = "isSecure", Type = "bool", Nilable = false },
{ Name = "isReadOnly", Type = "bool", Nilable = false },
},
},
{
Name = "RegisterCVar",
Type = "Function",
SecretArguments = "NotAllowed",
Arguments =
{
{ Name = "name", Type = "cstring", Nilable = false },
{ Name = "value", Type = "cstring", Nilable = true },
},
},
{
Name = "ResetTestCVars",
Type = "Function",
},
{
Name = "SetCVar",
Type = "Function",
RequiresValidAndPublicCVar = true,
RequiresNonReadOnlyCVar = true,
RequiresNonSecureCVar = true,
SecretArguments = "NotAllowed",
Arguments =
{
{ Name = "name", Type = "cstring", Nilable = false },
{ Name = "value", Type = "cstring", Nilable = true },
},
Returns =
{
{ Name = "success", Type = "bool", Nilable = false },
},
},
{
Name = "SetCVarBitfield",
Type = "Function",
RequiresValidAndPublicCVar = true,
RequiresNonReadOnlyCVar = true,
RequiresNonSecureCVar = true,
RequiresIndexInRange = true,
SecretArguments = "NotAllowed",
Arguments =
{
{ Name = "name", Type = "cstring", Nilable = false },
{ Name = "index", Type = "luaIndex", Nilable = false },
{ Name = "value", Type = "bool", Nilable = false },
},
Returns =
{
{ Name = "success", Type = "bool", Nilable = false },
},
},
},
Events =
{
},
Tables =
{
{
Name = "CVarInfo",
Type = "Structure",
Fields =
{
{ Name = "value", Type = "cstring", Nilable = false },
{ Name = "defaultValue", Type = "cstring", Nilable = false },
{ Name = "isStoredServerAccount", Type = "bool", Nilable = false },
{ Name = "isStoredServerCharacter", Type = "bool", Nilable = false },
{ Name = "isLockedFromUser", Type = "bool", Nilable = false },
{ Name = "isSecure", Type = "bool", Nilable = false },
{ Name = "isReadOnly", Type = "bool", Nilable = false },
},
},
},
};
APIDocumentation:AddDocumentationTable(CVar);
@@ -0,0 +1,346 @@
local CalendarConstants =
{
Tables =
{
{
Name = "CalendarCommandType",
Type = "Enumeration",
NumValues = 12,
MinValue = 0,
MaxValue = 11,
Fields =
{
{ Name = "Create", Type = "CalendarCommandType", EnumValue = 0 },
{ Name = "Invite", Type = "CalendarCommandType", EnumValue = 1 },
{ Name = "Rsvp", Type = "CalendarCommandType", EnumValue = 2 },
{ Name = "RemoveInvite", Type = "CalendarCommandType", EnumValue = 3 },
{ Name = "RemoveEvent", Type = "CalendarCommandType", EnumValue = 4 },
{ Name = "Status", Type = "CalendarCommandType", EnumValue = 5 },
{ Name = "ModeratorStatus", Type = "CalendarCommandType", EnumValue = 6 },
{ Name = "GetCalendar", Type = "CalendarCommandType", EnumValue = 7 },
{ Name = "GetEvent", Type = "CalendarCommandType", EnumValue = 8 },
{ Name = "UpdateEvent", Type = "CalendarCommandType", EnumValue = 9 },
{ Name = "Complain", Type = "CalendarCommandType", EnumValue = 10 },
{ Name = "Notes", Type = "CalendarCommandType", EnumValue = 11 },
},
},
{
Name = "CalendarErrorType",
Type = "Enumeration",
NumValues = 51,
MinValue = 0,
MaxValue = 50,
Fields =
{
{ Name = "Success", Type = "CalendarErrorType", EnumValue = 0 },
{ Name = "CommunityEventsExceeded", Type = "CalendarErrorType", EnumValue = 1 },
{ Name = "EventsExceeded", Type = "CalendarErrorType", EnumValue = 2 },
{ Name = "SelfInvitesExceeded", Type = "CalendarErrorType", EnumValue = 3 },
{ Name = "OtherInvitesExceeded", Type = "CalendarErrorType", EnumValue = 4 },
{ Name = "NoPermission", Type = "CalendarErrorType", EnumValue = 5 },
{ Name = "EventInvalid", Type = "CalendarErrorType", EnumValue = 6 },
{ Name = "NotInvited", Type = "CalendarErrorType", EnumValue = 7 },
{ Name = "UnknownError", Type = "CalendarErrorType", EnumValue = 8 },
{ Name = "NotInGuild", Type = "CalendarErrorType", EnumValue = 9 },
{ Name = "NotInCommunity", Type = "CalendarErrorType", EnumValue = 10 },
{ Name = "TargetAlreadyInvited", Type = "CalendarErrorType", EnumValue = 11 },
{ Name = "NameNotFound", Type = "CalendarErrorType", EnumValue = 12 },
{ Name = "WrongFaction", Type = "CalendarErrorType", EnumValue = 13 },
{ Name = "Ignored", Type = "CalendarErrorType", EnumValue = 14 },
{ Name = "InvitesExceeded", Type = "CalendarErrorType", EnumValue = 15 },
{ Name = "InvalidMaxSize", Type = "CalendarErrorType", EnumValue = 16 },
{ Name = "InvalidDate", Type = "CalendarErrorType", EnumValue = 17 },
{ Name = "InvalidTime", Type = "CalendarErrorType", EnumValue = 18 },
{ Name = "NoInvites", Type = "CalendarErrorType", EnumValue = 19 },
{ Name = "NeedsTitle", Type = "CalendarErrorType", EnumValue = 20 },
{ Name = "EventPassed", Type = "CalendarErrorType", EnumValue = 21 },
{ Name = "EventLocked", Type = "CalendarErrorType", EnumValue = 22 },
{ Name = "DeleteCreatorFailed", Type = "CalendarErrorType", EnumValue = 23 },
{ Name = "DataAlreadySet", Type = "CalendarErrorType", EnumValue = 24 },
{ Name = "CalendarDisabled", Type = "CalendarErrorType", EnumValue = 25 },
{ Name = "RestrictedAccount", Type = "CalendarErrorType", EnumValue = 26 },
{ Name = "ArenaEventsExceeded", Type = "CalendarErrorType", EnumValue = 27 },
{ Name = "RestrictedLevel", Type = "CalendarErrorType", EnumValue = 28 },
{ Name = "Squelched", Type = "CalendarErrorType", EnumValue = 29 },
{ Name = "NoInvite", Type = "CalendarErrorType", EnumValue = 30 },
{ Name = "ComplaintDisabled", Type = "CalendarErrorType", EnumValue = 31 },
{ Name = "ComplaintSelf", Type = "CalendarErrorType", EnumValue = 32 },
{ Name = "ComplaintSameGuild", Type = "CalendarErrorType", EnumValue = 33 },
{ Name = "ComplaintGm", Type = "CalendarErrorType", EnumValue = 34 },
{ Name = "ComplaintLimit", Type = "CalendarErrorType", EnumValue = 35 },
{ Name = "ComplaintNotFound", Type = "CalendarErrorType", EnumValue = 36 },
{ Name = "EventWrongServer", Type = "CalendarErrorType", EnumValue = 37 },
{ Name = "NoCommunityInvites", Type = "CalendarErrorType", EnumValue = 38 },
{ Name = "InvalidSignup", Type = "CalendarErrorType", EnumValue = 39 },
{ Name = "NoModerator", Type = "CalendarErrorType", EnumValue = 40 },
{ Name = "ModeratorRestricted", Type = "CalendarErrorType", EnumValue = 41 },
{ Name = "InvalidNotes", Type = "CalendarErrorType", EnumValue = 42 },
{ Name = "InvalidTitle", Type = "CalendarErrorType", EnumValue = 43 },
{ Name = "InvalidDescription", Type = "CalendarErrorType", EnumValue = 44 },
{ Name = "InvalidClub", Type = "CalendarErrorType", EnumValue = 45 },
{ Name = "CreatorNotFound", Type = "CalendarErrorType", EnumValue = 46 },
{ Name = "EventThrottled", Type = "CalendarErrorType", EnumValue = 47 },
{ Name = "InviteThrottled", Type = "CalendarErrorType", EnumValue = 48 },
{ Name = "Internal", Type = "CalendarErrorType", EnumValue = 49 },
{ Name = "ComplaintAdded", Type = "CalendarErrorType", EnumValue = 50 },
},
},
{
Name = "CalendarEventBits",
Type = "Enumeration",
NumValues = 15,
MinValue = 1,
MaxValue = 3788,
Fields =
{
{ Name = "Player", Type = "CalendarEventBits", EnumValue = 1 },
{ Name = "GuildDeprecated", Type = "CalendarEventBits", EnumValue = 2 },
{ Name = "System", Type = "CalendarEventBits", EnumValue = 4 },
{ Name = "Holiday", Type = "CalendarEventBits", EnumValue = 8 },
{ Name = "Locked", Type = "CalendarEventBits", EnumValue = 16 },
{ Name = "AutoApprove", Type = "CalendarEventBits", EnumValue = 32 },
{ Name = "CommunityAnnouncement", Type = "CalendarEventBits", EnumValue = 64 },
{ Name = "RaidLockout", Type = "CalendarEventBits", EnumValue = 128 },
{ Name = "ArenaDeprecated", Type = "CalendarEventBits", EnumValue = 256 },
{ Name = "RaidResetDeprecated", Type = "CalendarEventBits", EnumValue = 512 },
{ Name = "CommunitySignup", Type = "CalendarEventBits", EnumValue = 1024 },
{ Name = "GuildSignup", Type = "CalendarEventBits", EnumValue = 2048 },
{ Name = "CommunityWide", Type = "CalendarEventBits", EnumValue = 3136 },
{ Name = "PlayerCreated", Type = "CalendarEventBits", EnumValue = 3395 },
{ Name = "CantComplain", Type = "CalendarEventBits", EnumValue = 3788 },
},
},
{
Name = "CalendarEventRepeatOptions",
Type = "Enumeration",
NumValues = 4,
MinValue = 0,
MaxValue = 3,
Fields =
{
{ Name = "Never", Type = "CalendarEventRepeatOptions", EnumValue = 0 },
{ Name = "Weekly", Type = "CalendarEventRepeatOptions", EnumValue = 1 },
{ Name = "Biweekly", Type = "CalendarEventRepeatOptions", EnumValue = 2 },
{ Name = "Monthly", Type = "CalendarEventRepeatOptions", EnumValue = 3 },
},
},
{
Name = "CalendarEventType",
Type = "Enumeration",
NumValues = 6,
MinValue = 0,
MaxValue = 5,
Fields =
{
{ Name = "Raid", Type = "CalendarEventType", EnumValue = 0 },
{ Name = "Dungeon", Type = "CalendarEventType", EnumValue = 1 },
{ Name = "PvP", Type = "CalendarEventType", EnumValue = 2 },
{ Name = "Meeting", Type = "CalendarEventType", EnumValue = 3 },
{ Name = "Other", Type = "CalendarEventType", EnumValue = 4 },
{ Name = "HeroicDeprecated", Type = "CalendarEventType", EnumValue = 5 },
},
},
{
Name = "CalendarFilterFlags",
Type = "Enumeration",
NumValues = 5,
MinValue = 1,
MaxValue = 16,
Fields =
{
{ Name = "WeeklyHoliday", Type = "CalendarFilterFlags", EnumValue = 1 },
{ Name = "Darkmoon", Type = "CalendarFilterFlags", EnumValue = 2 },
{ Name = "Battleground", Type = "CalendarFilterFlags", EnumValue = 4 },
{ Name = "RaidLockout", Type = "CalendarFilterFlags", EnumValue = 8 },
{ Name = "RaidReset", Type = "CalendarFilterFlags", EnumValue = 16 },
},
},
{
Name = "CalendarGetEventType",
Type = "Enumeration",
NumValues = 3,
MinValue = 0,
MaxValue = 2,
Fields =
{
{ Name = "Get", Type = "CalendarGetEventType", EnumValue = 0 },
{ Name = "Add", Type = "CalendarGetEventType", EnumValue = 1 },
{ Name = "Copy", Type = "CalendarGetEventType", EnumValue = 2 },
},
},
{
Name = "CalendarHolidayFilterType",
Type = "Enumeration",
NumValues = 3,
MinValue = 0,
MaxValue = 2,
Fields =
{
{ Name = "Weekly", Type = "CalendarHolidayFilterType", EnumValue = 0 },
{ Name = "Darkmoon", Type = "CalendarHolidayFilterType", EnumValue = 1 },
{ Name = "Battleground", Type = "CalendarHolidayFilterType", EnumValue = 2 },
},
},
{
Name = "CalendarInviteBits",
Type = "Enumeration",
NumValues = 5,
MinValue = 0,
MaxValue = 8,
Fields =
{
{ Name = "None", Type = "CalendarInviteBits", EnumValue = 0 },
{ Name = "PendingInvite", Type = "CalendarInviteBits", EnumValue = 1 },
{ Name = "Moderator", Type = "CalendarInviteBits", EnumValue = 2 },
{ Name = "Creator", Type = "CalendarInviteBits", EnumValue = 4 },
{ Name = "Signup", Type = "CalendarInviteBits", EnumValue = 8 },
},
},
{
Name = "CalendarInviteSortType",
Type = "Enumeration",
NumValues = 6,
MinValue = 0,
MaxValue = 5,
Fields =
{
{ Name = "Name", Type = "CalendarInviteSortType", EnumValue = 0 },
{ Name = "Level", Type = "CalendarInviteSortType", EnumValue = 1 },
{ Name = "Class", Type = "CalendarInviteSortType", EnumValue = 2 },
{ Name = "Status", Type = "CalendarInviteSortType", EnumValue = 3 },
{ Name = "Party", Type = "CalendarInviteSortType", EnumValue = 4 },
{ Name = "Notes", Type = "CalendarInviteSortType", EnumValue = 5 },
},
},
{
Name = "CalendarInviteType",
Type = "Enumeration",
NumValues = 2,
MinValue = 0,
MaxValue = 1,
Fields =
{
{ Name = "Normal", Type = "CalendarInviteType", EnumValue = 0 },
{ Name = "Signup", Type = "CalendarInviteType", EnumValue = 1 },
},
},
{
Name = "CalendarModeratorStatus",
Type = "Enumeration",
NumValues = 3,
MinValue = 0,
MaxValue = 2,
Fields =
{
{ Name = "None", Type = "CalendarModeratorStatus", EnumValue = 0 },
{ Name = "Moderator", Type = "CalendarModeratorStatus", EnumValue = 1 },
{ Name = "Creator", Type = "CalendarModeratorStatus", EnumValue = 2 },
},
},
{
Name = "CalendarStatus",
Type = "Enumeration",
NumValues = 9,
MinValue = 0,
MaxValue = 8,
Fields =
{
{ Name = "Invited", Type = "CalendarStatus", EnumValue = 0 },
{ Name = "Available", Type = "CalendarStatus", EnumValue = 1 },
{ Name = "Declined", Type = "CalendarStatus", EnumValue = 2 },
{ Name = "Confirmed", Type = "CalendarStatus", EnumValue = 3 },
{ Name = "Out", Type = "CalendarStatus", EnumValue = 4 },
{ Name = "Standby", Type = "CalendarStatus", EnumValue = 5 },
{ Name = "Signedup", Type = "CalendarStatus", EnumValue = 6 },
{ Name = "NotSignedup", Type = "CalendarStatus", EnumValue = 7 },
{ Name = "Tentative", Type = "CalendarStatus", EnumValue = 8 },
},
},
{
Name = "CalendarTexturesType",
Type = "Enumeration",
NumValues = 2,
MinValue = 0,
MaxValue = 1,
Fields =
{
{ Name = "Dungeons", Type = "CalendarTexturesType", EnumValue = 0 },
{ Name = "Raid", Type = "CalendarTexturesType", EnumValue = 1 },
},
},
{
Name = "CalendarType",
Type = "Enumeration",
NumValues = 8,
MinValue = 0,
MaxValue = 7,
Fields =
{
{ Name = "Player", Type = "CalendarType", EnumValue = 0 },
{ Name = "Community", Type = "CalendarType", EnumValue = 1 },
{ Name = "RaidLockout", Type = "CalendarType", EnumValue = 2 },
{ Name = "RaidResetDeprecated", Type = "CalendarType", EnumValue = 3 },
{ Name = "Holiday", Type = "CalendarType", EnumValue = 4 },
{ Name = "HolidayWeekly", Type = "CalendarType", EnumValue = 5 },
{ Name = "HolidayDarkmoon", Type = "CalendarType", EnumValue = 6 },
{ Name = "HolidayBattleground", Type = "CalendarType", EnumValue = 7 },
},
},
{
Name = "CalendarWebActionType",
Type = "Enumeration",
NumValues = 7,
MinValue = 0,
MaxValue = 6,
Fields =
{
{ Name = "Accept", Type = "CalendarWebActionType", EnumValue = 0 },
{ Name = "Decline", Type = "CalendarWebActionType", EnumValue = 1 },
{ Name = "Remove", Type = "CalendarWebActionType", EnumValue = 2 },
{ Name = "ReportSpam", Type = "CalendarWebActionType", EnumValue = 3 },
{ Name = "Signup", Type = "CalendarWebActionType", EnumValue = 4 },
{ Name = "Tentative", Type = "CalendarWebActionType", EnumValue = 5 },
{ Name = "TentativeSignup", Type = "CalendarWebActionType", EnumValue = 6 },
},
},
{
Name = "HolidayCalendarFlags",
Type = "Enumeration",
NumValues = 2,
MinValue = 1,
MaxValue = 2,
Fields =
{
{ Name = "Alliance", Type = "HolidayCalendarFlags", EnumValue = 1 },
{ Name = "Horde", Type = "HolidayCalendarFlags", EnumValue = 2 },
},
},
{
Name = "HolidayFlags",
Type = "Enumeration",
NumValues = 7,
MinValue = 1,
MaxValue = 64,
Fields =
{
{ Name = "IsRegionwide", Type = "HolidayFlags", EnumValue = 1 },
{ Name = "DontShowInCalendar", Type = "HolidayFlags", EnumValue = 2 },
{ Name = "DontDisplayEnd", Type = "HolidayFlags", EnumValue = 4 },
{ Name = "DontDisplayBanner", Type = "HolidayFlags", EnumValue = 8 },
{ Name = "NotAvailableClientSide", Type = "HolidayFlags", EnumValue = 16 },
{ Name = "DurationUseMinutes", Type = "HolidayFlags", EnumValue = 32 },
{ Name = "BeginEventOnlyOnStageChange", Type = "HolidayFlags", EnumValue = 64 },
},
},
{
Name = "CalendarGetEventTypeConstants",
Type = "Constants",
Values =
{
{ Name = "DEFAULT_CALENDAR_GET_EVENT_TYPE", Type = "CalendarGetEventType", Value = Enum.CalendarGetEventType.Get },
},
},
},
};
APIDocumentation:AddDocumentationTable(CalendarConstants);
@@ -0,0 +1,22 @@
local CameraConstants =
{
Tables =
{
{
Name = "CameraModeAspectRatio",
Type = "Enumeration",
NumValues = 4,
MinValue = 0,
MaxValue = 3,
Fields =
{
{ Name = "Default", Type = "CameraModeAspectRatio", EnumValue = 0 },
{ Name = "LegacyLetterbox", Type = "CameraModeAspectRatio", EnumValue = 1 },
{ Name = "HighDefinition_16_X_9", Type = "CameraModeAspectRatio", EnumValue = 2 },
{ Name = "Cinemascope_2_Dot_4_X_1", Type = "CameraModeAspectRatio", EnumValue = 3 },
},
},
},
};
APIDocumentation:AddDocumentationTable(CameraConstants);
@@ -0,0 +1,55 @@
local Camera =
{
Name = "Camera",
Type = "System",
Environment = "All",
Functions =
{
{
Name = "GetCameraFOVDefaults",
Type = "Function",
Returns =
{
{ Name = "fieldOfViewDegreesDefault", Type = "number", Nilable = false },
{ Name = "fieldOfViewDegreesPlayerMin", Type = "number", Nilable = false },
{ Name = "fieldOfViewDegreesPlayerMax", Type = "number", Nilable = false },
},
},
{
Name = "GetUICameraInfo",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "uiCameraID", Type = "number", Nilable = false },
},
Returns =
{
{ Name = "posX", Type = "number", Nilable = false },
{ Name = "posY", Type = "number", Nilable = false },
{ Name = "posZ", Type = "number", Nilable = false },
{ Name = "lookAtX", Type = "number", Nilable = false },
{ Name = "lookAtY", Type = "number", Nilable = false },
{ Name = "lookAtZ", Type = "number", Nilable = false },
{ Name = "animID", Type = "number", Nilable = false },
{ Name = "animVariation", Type = "number", Nilable = false },
{ Name = "animFrame", Type = "number", Nilable = false },
{ Name = "useModelCenter", Type = "bool", Nilable = false },
},
},
},
Events =
{
},
Tables =
{
},
};
APIDocumentation:AddDocumentationTable(Camera);
@@ -0,0 +1,17 @@
local CatalogShopConstants =
{
Tables =
{
{
Name = "CatalogShopVirtualCurrencyConstants",
Type = "Constants",
Values =
{
{ Name = "HEARTHSTEEL_VC_CURRENCY_CODE", Type = "cstring", Value = XVV },
{ Name = "TRADERS_TENDER_VC_CURRENCY_CODE", Type = "cstring", Value = XWP },
},
},
},
};
APIDocumentation:AddDocumentationTable(CatalogShopConstants);
@@ -0,0 +1,830 @@
local CatalogShop =
{
Name = "CatalogShop",
Type = "System",
Namespace = "C_CatalogShop",
Environment = "All",
Functions =
{
{
Name = "BulkPurchaseProducts",
Type = "Function",
HasRestrictions = true,
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "productIDs", Type = "table", InnerType = "number", Nilable = false },
},
Returns =
{
{ Name = "canPurchaseProducts", Type = "bool", Nilable = false },
},
},
{
Name = "BulkRefundDecors",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "decorGUIDs", Type = "table", InnerType = "WOWGUID", Nilable = false },
},
},
{
Name = "CloseCatalogShopInteraction",
Type = "Function",
},
{
Name = "ConfirmHousingPurchase",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "productIDs", Type = "table", InnerType = "number", Nilable = false },
},
},
{
Name = "FindBestCurrencyProductForNeededAmount",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "vcCurrencyCode", Type = "string", Nilable = false },
{ Name = "amountNeeded", Type = "number", Nilable = false },
},
Returns =
{
{ Name = "vcProductID", Type = "number", Nilable = true },
},
},
{
Name = "GetAvailableCategoryIDs",
Type = "Function",
Returns =
{
{ Name = "categoryIDs", Type = "table", InnerType = "number", Nilable = false },
},
},
{
Name = "GetAvailableTransmogRaceInfos",
Type = "Function",
Returns =
{
{ Name = "raceIDs", Type = "table", InnerType = "AvailableRaceInfo", Nilable = false },
},
},
{
Name = "GetCatalogShopProductDisplayInfo",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "catalogShopProductID", Type = "number", Nilable = false },
},
Returns =
{
{ Name = "item", Type = "CatalogShopProductDisplayInfo", Nilable = false },
},
},
{
Name = "GetCategoryInfo",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "categoryID", Type = "number", Nilable = false },
},
Returns =
{
{ Name = "categoryInfo", Type = "CatalogShopCategoryInfo", Nilable = false },
},
},
{
Name = "GetCategorySectionInfo",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "categoryID", Type = "number", Nilable = false },
{ Name = "sectionID", Type = "number", Nilable = false },
},
Returns =
{
{ Name = "sectionInfo", Type = "CatalogShopSectionInfo", Nilable = false },
},
},
{
Name = "GetFailureInfo",
Type = "Function",
Returns =
{
{ Name = "errorResultEnum", Type = "StoreError", Nilable = true },
{ Name = "errorResultRaw", Type = "number", Nilable = true },
},
},
{
Name = "GetFirstCategoryByProductID",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "productID", Type = "number", Nilable = false },
},
Returns =
{
{ Name = "categoryInfo", Type = "CatalogShopCategoryInfo", Nilable = true },
},
},
{
Name = "GetNewProducts",
Type = "Function",
Returns =
{
{ Name = "newProducts", Type = "table", InnerType = "number", Nilable = false },
},
},
{
Name = "GetProductAvailabilityTimeRemainingSecs",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "catalogShopProductID", Type = "number", Nilable = false },
},
Returns =
{
{ Name = "timeRemainingSecs", Type = "number", Nilable = true },
},
},
{
Name = "GetProductIDsForBundle",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "bundleProductID", Type = "number", Nilable = false },
},
Returns =
{
{ Name = "childIDs", Type = "table", InnerType = "CatalogShopBundleChildInfo", Nilable = false },
},
},
{
Name = "GetProductIDsForCategory",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "categoryID", Type = "number", Nilable = false },
},
Returns =
{
{ Name = "productIDs", Type = "table", InnerType = "number", Nilable = false },
},
},
{
Name = "GetProductIDsForCategorySection",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "categoryID", Type = "number", Nilable = false },
{ Name = "sectionID", Type = "number", Nilable = false },
},
Returns =
{
{ Name = "productIDs", Type = "table", InnerType = "number", Nilable = false },
},
},
{
Name = "GetProductInfo",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "productID", Type = "number", Nilable = false },
},
Returns =
{
{ Name = "productInfo", Type = "CatalogShopProductInfo", Nilable = true },
},
},
{
Name = "GetProductSortOrder",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "categoryID", Type = "number", Nilable = false },
{ Name = "sectionID", Type = "number", Nilable = false },
{ Name = "productID", Type = "number", Nilable = false },
},
Returns =
{
{ Name = "sortOrder", Type = "number", Nilable = true },
},
},
{
Name = "GetRefundableDecors",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "productIdFilterOpt", Type = "number", Nilable = true },
},
Returns =
{
{ Name = "refundableDecorInfos", Type = "table", InnerType = "RefundableDecorInfo", Nilable = false },
{ Name = "minTimeRemainingSeconds", Type = "time_t", Nilable = false },
},
},
{
Name = "GetSectionIDsForCategory",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "categoryID", Type = "number", Nilable = false },
},
Returns =
{
{ Name = "sectionIDs", Type = "table", InnerType = "number", Nilable = false },
},
},
{
Name = "GetSpellVisualInfoForMount",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "spellVisualID", Type = "number", Nilable = false },
},
Returns =
{
{ Name = "spellVisualInfo", Type = "CatalogShopSpellVisualInfo", Nilable = false },
},
},
{
Name = "GetVCProductInfos",
Type = "Function",
Returns =
{
{ Name = "vcProductInfos", Type = "table", InnerType = "CatalogShopVCProductInfo", Nilable = false },
},
},
{
Name = "GetVirtualCurrencyBalance",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "currencyCode", Type = "string", Nilable = false },
},
Returns =
{
{ Name = "balance", Type = "string", Nilable = true },
},
},
{
Name = "HasNewProducts",
Type = "Function",
Returns =
{
{ Name = "hasNewProducts", Type = "bool", Nilable = false },
},
},
{
Name = "IsShop2Enabled",
Type = "Function",
Returns =
{
{ Name = "value", Type = "bool", Nilable = true },
},
},
{
Name = "OnLegalDisclaimerClicked",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "catalogShopProductID", Type = "number", Nilable = false },
},
},
{
Name = "OnLegalPersonalizedOptOutClicked",
Type = "Function",
},
{
Name = "OpenCatalogShopInteractionFromHouse",
Type = "Function",
Returns =
{
{ Name = "shoppingSessionUUIDStr", Type = "string", Nilable = false },
},
},
{
Name = "OpenCatalogShopInteractionFromShop",
Type = "Function",
Returns =
{
{ Name = "shoppingSessionUUIDStr", Type = "string", Nilable = false },
},
},
{
Name = "ProductDisplayedTelemetry",
Type = "Function",
HasRestrictions = true,
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "categoryId", Type = "number", Nilable = false },
{ Name = "sectionId", Type = "number", Nilable = false },
{ Name = "catalogShopProductID", Type = "number", Nilable = false },
},
},
{
Name = "ProductSelectedTelemetry",
Type = "Function",
HasRestrictions = true,
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "categoryId", Type = "number", Nilable = false },
{ Name = "sectionId", Type = "number", Nilable = false },
{ Name = "catalogShopProductID", Type = "number", Nilable = false },
{ Name = "wasCodeSelection", Type = "bool", Nilable = false },
},
},
{
Name = "PurchaseProduct",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "productID", Type = "number", Nilable = false },
},
Returns =
{
{ Name = "canPurchase", Type = "bool", Nilable = false },
},
},
{
Name = "RefreshRefundableDecors",
Type = "Function",
},
{
Name = "RefreshVirtualCurrencyBalance",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "currencyCode", Type = "string", Nilable = false },
},
},
{
Name = "ShouldShowHousingWarning",
Type = "Function",
Returns =
{
{ Name = "shouldShowHousingWarning", Type = "bool", Nilable = false },
},
},
{
Name = "StartHousingVCPurchaseConfirmation",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "productID", Type = "number", Nilable = false },
},
},
},
Events =
{
{
Name = "BulkPurchaseResultReceived",
Type = "Event",
LiteralName = "BULK_PURCHASE_RESULT_RECEIVED",
SynchronousEvent = true,
Payload =
{
{ Name = "result", Type = "BulkPurchaseResult", Nilable = false },
{ Name = "productResults", Type = "table", InnerType = "BulkPurchaseIndividualProductResult", Nilable = false },
{ Name = "bestTopUpProductID", Type = "number", Nilable = true },
{ Name = "totalCost", Type = "number", Nilable = true },
},
},
{
Name = "BulkRefundResultReceived",
Type = "Event",
LiteralName = "BULK_REFUND_RESULT_RECEIVED",
SynchronousEvent = true,
Payload =
{
{ Name = "result", Type = "BulkRefundResult", Nilable = false },
},
},
{
Name = "CatalogShopAddPendingProduct",
Type = "Event",
LiteralName = "CATALOG_SHOP_ADD_PENDING_PRODUCT",
SynchronousEvent = true,
Payload =
{
{ Name = "productID", Type = "number", Nilable = false },
},
},
{
Name = "CatalogShopDataRefresh",
Type = "Event",
LiteralName = "CATALOG_SHOP_DATA_REFRESH",
SynchronousEvent = true,
Payload =
{
{ Name = "shoppingSessionUUIDStr", Type = "string", Nilable = true },
},
},
{
Name = "CatalogShopDisabled",
Type = "Event",
LiteralName = "CATALOG_SHOP_DISABLED",
SynchronousEvent = true,
},
{
Name = "CatalogShopFetchFailure",
Type = "Event",
LiteralName = "CATALOG_SHOP_FETCH_FAILURE",
SynchronousEvent = true,
Payload =
{
{ Name = "shoppingSessionUUIDStr", Type = "string", Nilable = true },
},
},
{
Name = "CatalogShopFetchSuccess",
Type = "Event",
LiteralName = "CATALOG_SHOP_FETCH_SUCCESS",
SynchronousEvent = true,
Payload =
{
{ Name = "shoppingSessionUUIDStr", Type = "string", Nilable = true },
},
},
{
Name = "CatalogShopOpenSimpleCheckout",
Type = "Event",
LiteralName = "CATALOG_SHOP_OPEN_SIMPLE_CHECKOUT",
SynchronousEvent = true,
Payload =
{
{ Name = "checkoutID", Type = "number", Nilable = false },
},
},
{
Name = "CatalogShopPmtImageDownloaded",
Type = "Event",
LiteralName = "CATALOG_SHOP_PMT_IMAGE_DOWNLOADED",
SynchronousEvent = true,
Payload =
{
{ Name = "catalogProductID", Type = "number", Nilable = false },
},
},
{
Name = "CatalogShopPurchaseSuccess",
Type = "Event",
LiteralName = "CATALOG_SHOP_PURCHASE_SUCCESS",
SynchronousEvent = true,
Payload =
{
{ Name = "productID", Type = "number", Nilable = false },
},
},
{
Name = "CatalogShopRebuildScrollBox",
Type = "Event",
LiteralName = "CATALOG_SHOP_REBUILD_SCROLL_BOX",
SynchronousEvent = true,
},
{
Name = "CatalogShopRefundableDecorsUpdated",
Type = "Event",
LiteralName = "CATALOG_SHOP_REFUNDABLE_DECORS_UPDATED",
SynchronousEvent = true,
},
{
Name = "CatalogShopRemovePendingProduct",
Type = "Event",
LiteralName = "CATALOG_SHOP_REMOVE_PENDING_PRODUCT",
SynchronousEvent = true,
Payload =
{
{ Name = "productID", Type = "number", Nilable = false },
},
},
{
Name = "CatalogShopResultError",
Type = "Event",
LiteralName = "CATALOG_SHOP_RESULT_ERROR",
SynchronousEvent = true,
},
{
Name = "CatalogShopSpecificProductRefresh",
Type = "Event",
LiteralName = "CATALOG_SHOP_SPECIFIC_PRODUCT_REFRESH",
SynchronousEvent = true,
Payload =
{
{ Name = "productID", Type = "number", Nilable = false },
},
},
{
Name = "CatalogShopVirtualCurrencyBalanceUpdate",
Type = "Event",
LiteralName = "CATALOG_SHOP_VIRTUAL_CURRENCY_BALANCE_UPDATE",
SynchronousEvent = true,
Payload =
{
{ Name = "currencyCode", Type = "string", Nilable = false },
{ Name = "balance", Type = "string", Nilable = false },
},
},
{
Name = "CatalogShopVirtualCurrencyBalanceUpdateFailure",
Type = "Event",
LiteralName = "CATALOG_SHOP_VIRTUAL_CURRENCY_BALANCE_UPDATE_FAILURE",
SynchronousEvent = true,
Payload =
{
{ Name = "currencyCode", Type = "string", Nilable = false },
},
},
{
Name = "SetSeenProducts",
Type = "Event",
LiteralName = "SET_SEEN_PRODUCTS",
SynchronousEvent = true,
Payload =
{
{ Name = "productIds", Type = "table", InnerType = "number", Nilable = false },
},
},
{
Name = "ShowNewProductNotification",
Type = "Event",
LiteralName = "SHOW_NEW_PRODUCT_NOTIFICATION",
SynchronousEvent = true,
},
},
Tables =
{
{
Name = "AvailableRaceInfo",
Type = "Structure",
Fields =
{
{ Name = "raceID", Type = "number", Nilable = false },
{ Name = "displayName", Type = "string", Nilable = false },
},
},
{
Name = "BulkPurchaseIndividualProductResult",
Type = "Structure",
Fields =
{
{ Name = "recordId", Type = "number", Nilable = false },
{ Name = "parentProductId", Type = "number", Nilable = true },
{ Name = "entitlementId", Type = "string", Nilable = false },
{ Name = "externalTransactionId", Type = "string", Nilable = false },
{ Name = "status", Type = "SimpleOrderStatus", Nilable = false },
},
},
{
Name = "CatalogShopBundleChildInfo",
Type = "Structure",
Fields =
{
{ Name = "childProductID", Type = "number", Nilable = false },
{ Name = "displayOrder", Type = "number", Nilable = false },
{ Name = "quantityInBundle", Type = "number", Nilable = false },
},
},
{
Name = "CatalogShopCategoryInfo",
Type = "Structure",
Fields =
{
{ Name = "ID", Type = "number", Nilable = false },
{ Name = "displayName", Type = "string", Nilable = false },
{ Name = "iconTexture", Type = "string", Nilable = false },
{ Name = "linkTag", Type = "string", Nilable = false },
{ Name = "isDisabled", Type = "bool", Nilable = false },
{ Name = "showPersistentRefundButton", Type = "bool", Nilable = false },
},
},
{
Name = "CatalogShopProductDisplayInfo",
Type = "Structure",
Fields =
{
{ Name = "defaultPreviewModelSceneID", Type = "number", Nilable = false },
{ Name = "defaultCardModelSceneID", Type = "number", Nilable = false },
{ Name = "defaultWideCardModelSceneID", Type = "number", Nilable = false },
{ Name = "itemID", Type = "number", Nilable = false },
{ Name = "overridePreviewModelSceneID", Type = "number", Nilable = true },
{ Name = "overrideCardModelSceneID", Type = "number", Nilable = true },
{ Name = "overrideWideCardModelSceneID", Type = "number", Nilable = true },
{ Name = "creatureDisplayInfoIDs", Type = "table", InnerType = "number", Nilable = false },
{ Name = "spellVisualIDs", Type = "table", InnerType = "number", Nilable = false },
{ Name = "mainHandItemModifiedAppearanceID", Type = "number", Nilable = true },
{ Name = "offHandItemModifiedAppearanceID", Type = "number", Nilable = true },
{ Name = "itemModifiedAppearanceIDs", Type = "table", InnerType = "number", Nilable = false },
{ Name = "iconFileDataID", Type = "number", Nilable = true },
{ Name = "iconTextureKit", Type = "textureKit", Nilable = true },
{ Name = "productType", Type = "string", Nilable = true },
{ Name = "itemDescription", Type = "string", Nilable = true },
{ Name = "hasUnknownLicense", Type = "bool", Nilable = false },
{ Name = "productPMTURL", Type = "string", Nilable = true },
{ Name = "otherProductImageAtlasName", Type = "string", Nilable = true },
{ Name = "otherProductGameTitleBaseTag", Type = "string", Nilable = true },
{ Name = "otherProductGameType", Type = "string", Nilable = true },
{ Name = "customLoopingSoundStart", Type = "number", Nilable = true },
{ Name = "customLoopingSoundMiddle", Type = "number", Nilable = true },
{ Name = "customLoopingSoundEnd", Type = "number", Nilable = true },
{ Name = "specialActorID_1", Type = "string", Nilable = true },
{ Name = "specialActorID_2", Type = "string", Nilable = true },
{ Name = "specialActorID_3", Type = "string", Nilable = true },
{ Name = "specialActorID_4", Type = "string", Nilable = true },
{ Name = "specialActorID_5", Type = "string", Nilable = true },
{ Name = "gameFlavorID", Type = "number", Nilable = true },
{ Name = "decorFileDataID", Type = "number", Nilable = true },
{ Name = "quantity", Type = "number", Nilable = true },
},
},
{
Name = "CatalogShopProductInfo",
Type = "Structure",
Fields =
{
{ Name = "catalogShopProductID", Type = "number", Nilable = false },
{ Name = "name", Type = "string", Nilable = false },
{ Name = "type", Type = "string", Nilable = true },
{ Name = "description", Type = "string", Nilable = false },
{ Name = "iconTexture", Type = "string", Nilable = false },
{ Name = "isFullyOwned", Type = "bool", Nilable = false },
{ Name = "isPurchasePending", Type = "bool", Nilable = false },
{ Name = "refundable", Type = "bool", Nilable = false },
{ Name = "price", Type = "string", Nilable = false },
{ Name = "originalPrice", Type = "string", Nilable = false },
{ Name = "discountPercentage", Type = "number", Nilable = false },
{ Name = "itemID", Type = "number", Nilable = false },
{ Name = "mountID", Type = "number", Nilable = false },
{ Name = "mountTypeName", Type = "string", Nilable = false },
{ Name = "speciesID", Type = "number", Nilable = false },
{ Name = "transmogSetID", Type = "number", Nilable = false },
{ Name = "itemModifiedAppearanceID", Type = "number", Nilable = false },
{ Name = "subItems", Type = "table", InnerType = "CatalogShopSubItemInfo", Nilable = false },
{ Name = "subItemsLoaded", Type = "bool", Nilable = false },
{ Name = "backgroundTexture", Type = "string", Nilable = false },
{ Name = "foregroundTexture", Type = "string", Nilable = true },
{ Name = "smallCardBGTexture", Type = "string", Nilable = true },
{ Name = "smallCardFGTexture", Type = "string", Nilable = true },
{ Name = "wideCardBGTexture", Type = "string", Nilable = true },
{ Name = "wideCardFGTexture", Type = "string", Nilable = true },
{ Name = "previewIconTexture", Type = "string", Nilable = true },
{ Name = "optionalWideCardBackgroundTexture", Type = "string", Nilable = true },
{ Name = "isBundle", Type = "bool", Nilable = false },
{ Name = "bundleChildrenSize", Type = "number", Nilable = false },
{ Name = "licenseTermType", Type = "number", Nilable = false },
{ Name = "licenseTermDuration", Type = "number", Nilable = false },
{ Name = "virtualCurrencies", Type = "table", InnerType = "CatalogShopVirtualCurrency", Nilable = false },
{ Name = "isHidden", Type = "bool", Nilable = false },
{ Name = "hasPendingOrders", Type = "bool", Nilable = false },
{ Name = "numBundleDetailCards", Type = "number", Nilable = false },
{ Name = "isDynamicallyDiscounted", Type = "bool", Nilable = false },
{ Name = "shouldShowOriginalPrice", Type = "bool", Nilable = false },
{ Name = "wideCardBGOverrideProductURL", Type = "string", Nilable = true },
{ Name = "consumableQuantity", Type = "number", Nilable = true },
{ Name = "isVCProduct", Type = "bool", Nilable = false },
{ Name = "containsHousingItem", Type = "bool", Nilable = false },
},
},
{
Name = "CatalogShopSectionInfo",
Type = "Structure",
Fields =
{
{ Name = "ID", Type = "number", Nilable = false },
{ Name = "displayName", Type = "string", Nilable = false },
{ Name = "parentCatalogShopCategoryInfoID", Type = "number", Nilable = true },
{ Name = "cardType", Type = "string", Nilable = true },
{ Name = "scrollGridSize", Type = "number", Nilable = true },
{ Name = "shouldShowRecommendationOptOutDisclaimer", Type = "bool", Nilable = false },
},
},
{
Name = "CatalogShopSpellVisualInfo",
Type = "Structure",
Fields =
{
{ Name = "animID", Type = "number", Nilable = true },
{ Name = "spellVisualKitID", Type = "number", Nilable = true },
},
},
{
Name = "CatalogShopSubItemInfo",
Type = "Structure",
Fields =
{
{ Name = "name", Type = "string", Nilable = false },
{ Name = "itemID", Type = "number", Nilable = false },
{ Name = "itemAppearanceID", Type = "number", Nilable = false },
{ Name = "invType", Type = "string", Nilable = false },
{ Name = "quality", Type = "ItemQuality", Nilable = false },
},
},
{
Name = "CatalogShopVCProductInfo",
Type = "Structure",
Fields =
{
{ Name = "vcProductID", Type = "number", Nilable = false },
},
},
{
Name = "CatalogShopVirtualCurrency",
Type = "Structure",
Fields =
{
{ Name = "amount", Type = "number", Nilable = false },
{ Name = "currencyCode", Type = "string", Nilable = false },
},
},
{
Name = "RefundableDecorInfo",
Type = "Structure",
Fields =
{
{ Name = "decorGUID", Type = "WOWGUID", Nilable = false },
{ Name = "timeRemainingSeconds", Type = "time_t", Nilable = false },
{ Name = "name", Type = "string", Nilable = false },
{ Name = "price", Type = "string", Nilable = false },
},
},
},
};
APIDocumentation:AddDocumentationTable(CatalogShop);
@@ -0,0 +1,536 @@
local ChallengeModeInfo =
{
Name = "ChallengeModeInfo",
Type = "System",
Namespace = "C_ChallengeMode",
Environment = "All",
Functions =
{
{
Name = "CanUseKeystoneInCurrentMap",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "itemLocation", Type = "ItemLocation", Mixin = "ItemLocationMixin", Nilable = false },
},
Returns =
{
{ Name = "canUse", Type = "bool", Nilable = false },
},
},
{
Name = "ClearKeystone",
Type = "Function",
},
{
Name = "CloseKeystoneFrame",
Type = "Function",
},
{
Name = "GetActiveChallengeMapID",
Type = "Function",
Returns =
{
{ Name = "mapChallengeModeID", Type = "number", Nilable = true },
},
},
{
Name = "GetActiveKeystoneInfo",
Type = "Function",
Returns =
{
{ Name = "activeKeystoneLevel", Type = "number", Nilable = false },
{ Name = "activeAffixIDs", Type = "table", InnerType = "number", Nilable = false },
{ Name = "wasActiveKeystoneCharged", Type = "bool", Nilable = false },
},
},
{
Name = "GetAffixInfo",
Type = "Function",
MayReturnNothing = true,
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "affixID", Type = "number", Nilable = false },
},
Returns =
{
{ Name = "name", Type = "cstring", Nilable = false },
{ Name = "description", Type = "cstring", Nilable = false },
{ Name = "filedataid", Type = "number", Nilable = false },
},
},
{
Name = "GetChallengeCompletionInfo",
Type = "Function",
Returns =
{
{ Name = "info", Type = "ChallengeCompletionInfo", Nilable = false },
},
},
{
Name = "GetDeathCount",
Type = "Function",
MayReturnNothing = true,
Returns =
{
{ Name = "numDeaths", Type = "number", Nilable = false },
{ Name = "timeLost", Type = "number", Nilable = false },
},
},
{
Name = "GetDungeonScoreRarityColor",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Documentation = { "Returns a color value from the passed in overall season M+ rating." },
Arguments =
{
{ Name = "dungeonScore", Type = "number", Nilable = false },
},
Returns =
{
{ Name = "scoreColor", Type = "colorRGB", Mixin = "ColorMixin", Nilable = false },
},
},
{
Name = "GetGuildLeaders",
Type = "Function",
MayReturnNothing = true,
Returns =
{
{ Name = "topAttempt", Type = "table", InnerType = "ChallengeModeGuildTopAttempt", Nilable = false },
},
},
{
Name = "GetKeystoneLevelRarityColor",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Documentation = { "Returns a color value from the passed in keystone level." },
Arguments =
{
{ Name = "level", Type = "number", Nilable = false },
},
Returns =
{
{ Name = "levelScore", Type = "colorRGB", Mixin = "ColorMixin", Nilable = false },
},
},
{
Name = "GetLeaverPenaltyWarningTimeLeft",
Type = "Function",
Documentation = { "Returns how much time is left before player is automatically flagged as a leaver (and removed from the group) for exiting a restricted challenge mode instance" },
Returns =
{
{ Name = "timeLeftSeconds", Type = "number", Nilable = false, Default = 0 },
},
},
{
Name = "GetMapScoreInfo",
Type = "Function",
MayReturnNothing = true,
Returns =
{
{ Name = "displayScores", Type = "table", InnerType = "MythicPlusRatingLinkInfo", Nilable = false },
},
},
{
Name = "GetMapTable",
Type = "Function",
Returns =
{
{ Name = "mapChallengeModeIDs", Type = "table", InnerType = "number", Nilable = false },
},
},
{
Name = "GetMapUIInfo",
Type = "Function",
MayReturnNothing = true,
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "mapChallengeModeID", Type = "number", Nilable = false },
},
Returns =
{
{ Name = "name", Type = "cstring", Nilable = false },
{ Name = "id", Type = "number", Nilable = false },
{ Name = "timeLimit", Type = "number", Nilable = false },
{ Name = "texture", Type = "number", Nilable = true },
{ Name = "backgroundTexture", Type = "number", Nilable = false },
{ Name = "mapID", Type = "number", Nilable = false },
},
},
{
Name = "GetOverallDungeonScore",
Type = "Function",
Documentation = { "Gets the overall season mythic+ rating for the player." },
Returns =
{
{ Name = "overallDungeonScore", Type = "number", Nilable = false },
},
},
{
Name = "GetPowerLevelDamageHealthMod",
Type = "Function",
MayReturnNothing = true,
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "powerLevel", Type = "number", Nilable = false },
},
Returns =
{
{ Name = "damageMod", Type = "number", Nilable = false },
{ Name = "healthMod", Type = "number", Nilable = false },
},
},
{
Name = "GetSlottedKeystoneInfo",
Type = "Function",
MayReturnNothing = true,
Returns =
{
{ Name = "mapChallengeModeID", Type = "number", Nilable = false },
{ Name = "affixIDs", Type = "table", InnerType = "number", Nilable = false },
{ Name = "keystoneLevel", Type = "number", Nilable = false },
},
},
{
Name = "GetSpecificDungeonOverallScoreRarityColor",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Documentation = { "Returns a color value from the passed in mythic+ rating from the combined affix scores for a specific dungeon" },
Arguments =
{
{ Name = "specificDungeonOverallScore", Type = "number", Nilable = false },
},
Returns =
{
{ Name = "specificDungeonOverallScoreColor", Type = "colorRGB", Mixin = "ColorMixin", Nilable = false },
},
},
{
Name = "GetSpecificDungeonScoreRarityColor",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Documentation = { "Returns a color value from the passed in mythic+ rating for a specific dungeon." },
Arguments =
{
{ Name = "specificDungeonScore", Type = "number", Nilable = false },
},
Returns =
{
{ Name = "specificDungeonScoreColor", Type = "colorRGB", Mixin = "ColorMixin", Nilable = false },
},
},
{
Name = "GetStartTime",
Type = "Function",
Returns =
{
{ Name = "startTime", Type = "number", Nilable = false },
},
},
{
Name = "HasSlottedKeystone",
Type = "Function",
Returns =
{
{ Name = "hasSlottedKeystone", Type = "bool", Nilable = false },
},
},
{
Name = "IsChallengeModeActive",
Type = "Function",
Returns =
{
{ Name = "challengeModeActive", Type = "bool", Nilable = false },
},
},
{
Name = "IsChallengeModeResettable",
Type = "Function",
Returns =
{
{ Name = "canReset", Type = "bool", Nilable = false },
},
},
{
Name = "RemoveKeystone",
Type = "Function",
Returns =
{
{ Name = "removalSuccessful", Type = "bool", Nilable = false },
},
},
{
Name = "RequestLeaders",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "mapChallengeModeID", Type = "number", Nilable = false },
},
},
{
Name = "Reset",
Type = "Function",
},
{
Name = "SlotKeystone",
Type = "Function",
},
{
Name = "StartChallengeMode",
Type = "Function",
Returns =
{
{ Name = "success", Type = "bool", Nilable = false },
},
},
},
Events =
{
{
Name = "ChallengeModeCompleted",
Type = "Event",
LiteralName = "CHALLENGE_MODE_COMPLETED",
SynchronousEvent = true,
},
{
Name = "ChallengeModeCompletedRewards",
Type = "Event",
LiteralName = "CHALLENGE_MODE_COMPLETED_REWARDS",
SynchronousEvent = true,
Payload =
{
{ Name = "mapID", Type = "number", Nilable = false },
{ Name = "medal", Type = "number", Nilable = false },
{ Name = "timeMS", Type = "number", Nilable = false },
{ Name = "money", Type = "number", Nilable = false },
{ Name = "rewards", Type = "table", InnerType = "ChallengeModeReward", Nilable = false },
},
},
{
Name = "ChallengeModeDeathCountUpdated",
Type = "Event",
LiteralName = "CHALLENGE_MODE_DEATH_COUNT_UPDATED",
SynchronousEvent = true,
},
{
Name = "ChallengeModeKeystoneReceptableOpen",
Type = "Event",
LiteralName = "CHALLENGE_MODE_KEYSTONE_RECEPTABLE_OPEN",
SynchronousEvent = true,
},
{
Name = "ChallengeModeKeystoneSlotted",
Type = "Event",
LiteralName = "CHALLENGE_MODE_KEYSTONE_SLOTTED",
SynchronousEvent = true,
Payload =
{
{ Name = "keystoneID", Type = "number", Nilable = false },
},
},
{
Name = "ChallengeModeLeaderboardResult",
Type = "Event",
LiteralName = "CHALLENGE_MODE_LEADERBOARD_RESULT",
SynchronousEvent = true,
Payload =
{
{ Name = "mapID", Type = "number", Nilable = false },
{ Name = "challengeModeID", Type = "number", Nilable = false },
{ Name = "page", Type = "number", Nilable = false },
{ Name = "results", Type = "table", InnerType = "MythicPlusLeaderboardResult", Nilable = false },
},
},
{
Name = "ChallengeModeLeadersUpdate",
Type = "Event",
LiteralName = "CHALLENGE_MODE_LEADERS_UPDATE",
SynchronousEvent = true,
},
{
Name = "ChallengeModeLeaverTimerEnded",
Type = "Event",
LiteralName = "CHALLENGE_MODE_LEAVER_TIMER_ENDED",
SynchronousEvent = true,
},
{
Name = "ChallengeModeLeaverTimerStarted",
Type = "Event",
LiteralName = "CHALLENGE_MODE_LEAVER_TIMER_STARTED",
SynchronousEvent = true,
},
{
Name = "ChallengeModeMapsUpdate",
Type = "Event",
LiteralName = "CHALLENGE_MODE_MAPS_UPDATE",
SynchronousEvent = true,
},
{
Name = "ChallengeModeMemberInfoUpdated",
Type = "Event",
LiteralName = "CHALLENGE_MODE_MEMBER_INFO_UPDATED",
SynchronousEvent = true,
},
{
Name = "ChallengeModeNewRecord",
Type = "Event",
LiteralName = "CHALLENGE_MODE_NEW_RECORD",
SynchronousEvent = true,
Payload =
{
{ Name = "mapID", Type = "number", Nilable = false },
{ Name = "timeMS", Type = "number", Nilable = false },
{ Name = "medal", Type = "number", Nilable = false },
},
},
{
Name = "ChallengeModeReset",
Type = "Event",
LiteralName = "CHALLENGE_MODE_RESET",
SynchronousEvent = true,
Payload =
{
{ Name = "mapID", Type = "number", Nilable = false },
},
},
{
Name = "ChallengeModeStart",
Type = "Event",
LiteralName = "CHALLENGE_MODE_START",
SynchronousEvent = true,
Payload =
{
{ Name = "mapID", Type = "number", Nilable = false },
},
},
},
Tables =
{
{
Name = "ChallengeCompletionInfo",
Type = "Structure",
Fields =
{
{ Name = "mapChallengeModeID", Type = "number", Nilable = false, Default = 0 },
{ Name = "level", Type = "number", Nilable = false, Default = 0 },
{ Name = "time", Type = "number", Nilable = false, Default = 0 },
{ Name = "onTime", Type = "bool", Nilable = false, Default = false },
{ Name = "keystoneUpgradeLevels", Type = "number", Nilable = false, Default = 0 },
{ Name = "practiceRun", Type = "bool", Nilable = false, Default = false },
{ Name = "oldOverallDungeonScore", Type = "number", Nilable = true },
{ Name = "newOverallDungeonScore", Type = "number", Nilable = true },
{ Name = "isMapRecord", Type = "bool", Nilable = false, Default = false },
{ Name = "isAffixRecord", Type = "bool", Nilable = false, Default = false },
{ Name = "isEligibleForScore", Type = "bool", Nilable = false, Default = false },
{ Name = "members", Type = "table", InnerType = "ChallengeModeCompletionMemberInfo", Nilable = false },
},
},
{
Name = "ChallengeModeBestTime",
Type = "Structure",
Fields =
{
{ Name = "mapChallengeModeID", Type = "number", Nilable = false },
{ Name = "durationMs", Type = "number", Nilable = false },
{ Name = "members", Type = "table", InnerType = "ChallengeModeBestTimeMember", Nilable = false },
},
},
{
Name = "ChallengeModeBestTimeMember",
Type = "Structure",
Fields =
{
{ Name = "name", Type = "string", Nilable = false },
{ Name = "classFileName", Type = "cstring", Nilable = false },
{ Name = "className", Type = "cstring", Nilable = false },
{ Name = "specializationID", Type = "number", Nilable = false },
},
},
{
Name = "ChallengeModeCompletionMemberInfo",
Type = "Structure",
Fields =
{
{ Name = "memberGUID", Type = "WOWGUID", Nilable = false },
{ Name = "name", Type = "string", Nilable = false },
},
},
{
Name = "ChallengeModeGuildAttemptMember",
Type = "Structure",
Fields =
{
{ Name = "name", Type = "string", Nilable = false },
{ Name = "classFileName", Type = "cstring", Nilable = false },
},
},
{
Name = "ChallengeModeGuildTopAttempt",
Type = "Structure",
Fields =
{
{ Name = "name", Type = "string", Nilable = false },
{ Name = "classFileName", Type = "cstring", Nilable = false },
{ Name = "keystoneLevel", Type = "number", Nilable = false },
{ Name = "mapChallengeModeID", Type = "number", Nilable = false },
{ Name = "isYou", Type = "bool", Nilable = false },
{ Name = "members", Type = "table", InnerType = "ChallengeModeGuildAttemptMember", Nilable = false },
},
},
{
Name = "ChallengeModeReward",
Type = "Structure",
Fields =
{
{ Name = "rewardID", Type = "number", Nilable = false },
{ Name = "displayInfoID", Type = "number", Nilable = false },
{ Name = "quantity", Type = "number", Nilable = false },
{ Name = "isCurrency", Type = "bool", Nilable = false },
},
},
},
};
APIDocumentation:AddDocumentationTable(ChallengeModeInfo);
@@ -0,0 +1,34 @@
local CharacterCreationConstants =
{
Tables =
{
{
Name = "CharCreateAnimTurnType",
Type = "Enumeration",
NumValues = 2,
MinValue = 0,
MaxValue = 1,
Fields =
{
{ Name = "Normal", Type = "CharCreateAnimTurnType", EnumValue = 0 },
{ Name = "Torso", Type = "CharCreateAnimTurnType", EnumValue = 1 },
},
},
{
Name = "CharSectionCondition",
Type = "Enumeration",
NumValues = 4,
MinValue = 0,
MaxValue = 3,
Fields =
{
{ Name = "AlliedRace", Type = "CharSectionCondition", EnumValue = 0 },
{ Name = "HeritageArmor", Type = "CharSectionCondition", EnumValue = 1 },
{ Name = "ConditionalAppeareance", Type = "CharSectionCondition", EnumValue = 2 },
{ Name = "RaceClassCombo", Type = "CharSectionCondition", EnumValue = 3 },
},
},
},
};
APIDocumentation:AddDocumentationTable(CharacterCreationConstants);
@@ -0,0 +1,145 @@
local CharacterCustomizationShared =
{
Tables =
{
{
Name = "CharCustomizationType",
Type = "Enumeration",
NumValues = 9,
MinValue = 0,
MaxValue = 8,
Fields =
{
{ Name = "Skin", Type = "CharCustomizationType", EnumValue = 0 },
{ Name = "Face", Type = "CharCustomizationType", EnumValue = 1 },
{ Name = "Hair", Type = "CharCustomizationType", EnumValue = 2 },
{ Name = "HairColor", Type = "CharCustomizationType", EnumValue = 3 },
{ Name = "FacialHair", Type = "CharCustomizationType", EnumValue = 4 },
{ Name = "CustomOptionTattoo", Type = "CharCustomizationType", EnumValue = 5 },
{ Name = "CustomOptionHorn", Type = "CharCustomizationType", EnumValue = 6 },
{ Name = "CustomOptionFacewear", Type = "CharCustomizationType", EnumValue = 7 },
{ Name = "CustomOptionTattooColor", Type = "CharCustomizationType", EnumValue = 8 },
},
},
{
Name = "ChrCustomizationCategoryFlag",
Type = "Enumeration",
NumValues = 2,
MinValue = 1,
MaxValue = 2,
Fields =
{
{ Name = "UndressModel", Type = "ChrCustomizationCategoryFlag", EnumValue = 1 },
{ Name = "Subcategory", Type = "ChrCustomizationCategoryFlag", EnumValue = 2 },
},
},
{
Name = "ChrCustomizationOptionType",
Type = "Enumeration",
NumValues = 3,
MinValue = 0,
MaxValue = 2,
Fields =
{
{ Name = "Dropdown", Type = "ChrCustomizationOptionType", EnumValue = 0 },
{ Name = "Checkbox", Type = "ChrCustomizationOptionType", EnumValue = 1 },
{ Name = "Slider", Type = "ChrCustomizationOptionType", EnumValue = 2 },
},
},
{
Name = "ChrModelFeatureFlags",
Type = "Enumeration",
NumValues = 8,
MinValue = 0,
MaxValue = 64,
Fields =
{
{ Name = "None", Type = "ChrModelFeatureFlags", EnumValue = 0 },
{ Name = "Summons", Type = "ChrModelFeatureFlags", EnumValue = 1 },
{ Name = "Forms", Type = "ChrModelFeatureFlags", EnumValue = 2 },
{ Name = "Identity", Type = "ChrModelFeatureFlags", EnumValue = 4 },
{ Name = "Deprecated0", Type = "ChrModelFeatureFlags", EnumValue = 8 },
{ Name = "Mounts", Type = "ChrModelFeatureFlags", EnumValue = 16 },
{ Name = "HunterPets", Type = "ChrModelFeatureFlags", EnumValue = 32 },
{ Name = "Players", Type = "ChrModelFeatureFlags", EnumValue = 64 },
},
},
{
Name = "NewCharGear",
Type = "Enumeration",
NumValues = 2,
MinValue = 0,
MaxValue = 1,
Fields =
{
{ Name = "Start", Type = "NewCharGear", EnumValue = 0 },
{ Name = "Preview", Type = "NewCharGear", EnumValue = 1 },
},
},
{
Name = "CharCustomizationCategory",
Type = "Structure",
Fields =
{
{ Name = "id", Type = "number", Nilable = false },
{ Name = "orderIndex", Type = "number", Nilable = false },
{ Name = "name", Type = "cstring", Nilable = false },
{ Name = "icon", Type = "textureAtlas", Nilable = false },
{ Name = "selectedIcon", Type = "textureAtlas", Nilable = false },
{ Name = "undressModel", Type = "bool", Nilable = false },
{ Name = "subcategory", Type = "bool", Nilable = false },
{ Name = "cameraZoomLevel", Type = "number", Nilable = false },
{ Name = "cameraDistanceOffset", Type = "number", Nilable = false },
{ Name = "spellShapeshiftFormID", Type = "number", Nilable = true },
{ Name = "chrModelID", Type = "number", Nilable = true },
{ Name = "options", Type = "table", InnerType = "CharCustomizationOption", Nilable = false },
{ Name = "hasNewChoices", Type = "bool", Nilable = false },
{ Name = "needsNativeFormCategory", Type = "bool", Nilable = false },
},
},
{
Name = "CharCustomizationChoice",
Type = "Structure",
Fields =
{
{ Name = "id", Type = "number", Nilable = false },
{ Name = "name", Type = "cstring", Nilable = false },
{ Name = "ineligibleChoice", Type = "bool", Nilable = false },
{ Name = "isNew", Type = "bool", Nilable = false },
{ Name = "swatchColor1", Type = "colorRGB", Mixin = "ColorMixin", Nilable = true },
{ Name = "swatchColor2", Type = "colorRGB", Mixin = "ColorMixin", Nilable = true },
{ Name = "soundKit", Type = "number", Nilable = true },
{ Name = "isLocked", Type = "bool", Nilable = false },
{ Name = "lockedText", Type = "string", Nilable = true },
},
},
{
Name = "CharCustomizationConstants",
Type = "Constants",
Values =
{
{ Name = "CHAR_CUSTOMIZE_CUSTOM_DISPLAY_OPTION_FIRST", Type = "CharCustomizationType", Value = CustomOptionTattoo },
{ Name = "CHAR_CUSTOMIZE_CUSTOM_DISPLAY_OPTION_LAST", Type = "CharCustomizationType", Value = CustomOptionTattooColor },
{ Name = "NUM_CUSTOM_DISPLAY", Type = "number", Value = Constants.CharCustomizationConstants.CHAR_CUSTOMIZE_CUSTOM_DISPLAY_OPTION_LAST - Constants.CharCustomizationConstants.CHAR_CUSTOMIZE_CUSTOM_DISPLAY_OPTION_FIRST + 1 },
{ Name = "NAME_RESERVATION_DAYS", Type = "number", Value = 30 },
},
},
{
Name = "CharCustomizationOption",
Type = "Structure",
Fields =
{
{ Name = "id", Type = "number", Nilable = false },
{ Name = "name", Type = "cstring", Nilable = false },
{ Name = "orderIndex", Type = "number", Nilable = false },
{ Name = "optionType", Type = "ChrCustomizationOptionType", Nilable = false },
{ Name = "choices", Type = "table", InnerType = "CharCustomizationChoice", Nilable = false },
{ Name = "currentChoiceIndex", Type = "luaIndex", Nilable = true },
{ Name = "hasNewChoices", Type = "bool", Nilable = false },
{ Name = "isSound", Type = "bool", Nilable = false },
},
},
},
};
APIDocumentation:AddDocumentationTable(CharacterCustomizationShared);
@@ -0,0 +1,135 @@
local CharacterSelectionConstants =
{
Tables =
{
{
Name = "WarbandEventState",
Type = "Enumeration",
NumValues = 8,
MinValue = 0,
MaxValue = 7,
Fields =
{
{ Name = "None", Type = "WarbandEventState", EnumValue = 0 },
{ Name = "DelayingEvent", Type = "WarbandEventState", EnumValue = 1 },
{ Name = "SheathingWeapon", Type = "WarbandEventState", EnumValue = 2 },
{ Name = "DelayingStandStateTransition", Type = "WarbandEventState", EnumValue = 3 },
{ Name = "StandStateTransitioning", Type = "WarbandEventState", EnumValue = 4 },
{ Name = "ShowingWeapon", Type = "WarbandEventState", EnumValue = 5 },
{ Name = "StandStateLooping", Type = "WarbandEventState", EnumValue = 6 },
{ Name = "NumWarbandEventStates", Type = "WarbandEventState", EnumValue = 7 },
},
},
{
Name = "WarbandGroupFlags",
Type = "Enumeration",
NumValues = 2,
MinValue = 0,
MaxValue = 1,
Fields =
{
{ Name = "None", Type = "WarbandGroupFlags", EnumValue = 0 },
{ Name = "Collapsed", Type = "WarbandGroupFlags", EnumValue = 1 },
},
},
{
Name = "WarbandPlacementDisplayInfoType",
Type = "Enumeration",
NumValues = 3,
MinValue = 0,
MaxValue = 2,
Fields =
{
{ Name = "Model", Type = "WarbandPlacementDisplayInfoType", EnumValue = 0 },
{ Name = "Creature", Type = "WarbandPlacementDisplayInfoType", EnumValue = 1 },
{ Name = "Item", Type = "WarbandPlacementDisplayInfoType", EnumValue = 2 },
},
},
{
Name = "WarbandSceneAnimationEvent",
Type = "Enumeration",
NumValues = 10,
MinValue = 0,
MaxValue = 9,
Fields =
{
{ Name = "StartingPose", Type = "WarbandSceneAnimationEvent", EnumValue = 0 },
{ Name = "Idle", Type = "WarbandSceneAnimationEvent", EnumValue = 1 },
{ Name = "Mouseover", Type = "WarbandSceneAnimationEvent", EnumValue = 2 },
{ Name = "Select", Type = "WarbandSceneAnimationEvent", EnumValue = 3 },
{ Name = "Deselect", Type = "WarbandSceneAnimationEvent", EnumValue = 4 },
{ Name = "Insert", Type = "WarbandSceneAnimationEvent", EnumValue = 5 },
{ Name = "EnterWorld", Type = "WarbandSceneAnimationEvent", EnumValue = 6 },
{ Name = "Spin", Type = "WarbandSceneAnimationEvent", EnumValue = 7 },
{ Name = "Poke", Type = "WarbandSceneAnimationEvent", EnumValue = 8 },
{ Name = "Ffx", Type = "WarbandSceneAnimationEvent", EnumValue = 9 },
},
},
{
Name = "WarbandSceneAnimationSheatheState",
Type = "Enumeration",
NumValues = 3,
MinValue = 0,
MaxValue = 2,
Fields =
{
{ Name = "Maintain", Type = "WarbandSceneAnimationSheatheState", EnumValue = 0 },
{ Name = "SheatheWeapons", Type = "WarbandSceneAnimationSheatheState", EnumValue = 1 },
{ Name = "ShowWeapons", Type = "WarbandSceneAnimationSheatheState", EnumValue = 2 },
},
},
{
Name = "WarbandSceneAnimationStandState",
Type = "Enumeration",
NumValues = 9,
MinValue = 0,
MaxValue = 8,
Fields =
{
{ Name = "Maintain", Type = "WarbandSceneAnimationStandState", EnumValue = 0 },
{ Name = "Stand", Type = "WarbandSceneAnimationStandState", EnumValue = 1 },
{ Name = "SitOnGround", Type = "WarbandSceneAnimationStandState", EnumValue = 2 },
{ Name = "Kneel", Type = "WarbandSceneAnimationStandState", EnumValue = 3 },
{ Name = "ReadyStance", Type = "WarbandSceneAnimationStandState", EnumValue = 4 },
{ Name = "SitOnChairLow", Type = "WarbandSceneAnimationStandState", EnumValue = 5 },
{ Name = "SitOnChairMedium", Type = "WarbandSceneAnimationStandState", EnumValue = 6 },
{ Name = "SitOnChairHigh", Type = "WarbandSceneAnimationStandState", EnumValue = 7 },
{ Name = "Sleep", Type = "WarbandSceneAnimationStandState", EnumValue = 8 },
},
},
{
Name = "WarbandSceneAnimationStandStateFlags",
Type = "Enumeration",
NumValues = 9,
MinValue = 1,
MaxValue = 256,
Fields =
{
{ Name = "Maintain", Type = "WarbandSceneAnimationStandStateFlags", EnumValue = 1 },
{ Name = "Stand", Type = "WarbandSceneAnimationStandStateFlags", EnumValue = 2 },
{ Name = "SitOnGround", Type = "WarbandSceneAnimationStandStateFlags", EnumValue = 4 },
{ Name = "Kneel", Type = "WarbandSceneAnimationStandStateFlags", EnumValue = 8 },
{ Name = "ReadyStance", Type = "WarbandSceneAnimationStandStateFlags", EnumValue = 16 },
{ Name = "SitOnChairLow", Type = "WarbandSceneAnimationStandStateFlags", EnumValue = 32 },
{ Name = "SitOnChairMedium", Type = "WarbandSceneAnimationStandStateFlags", EnumValue = 64 },
{ Name = "SitOnChairHigh", Type = "WarbandSceneAnimationStandStateFlags", EnumValue = 128 },
{ Name = "Sleep", Type = "WarbandSceneAnimationStandStateFlags", EnumValue = 256 },
},
},
{
Name = "WarbandScenePlacementType",
Type = "Enumeration",
NumValues = 3,
MinValue = 0,
MaxValue = 2,
Fields =
{
{ Name = "Character", Type = "WarbandScenePlacementType", EnumValue = 0 },
{ Name = "Pet", Type = "WarbandScenePlacementType", EnumValue = 1 },
{ Name = "Chair", Type = "WarbandScenePlacementType", EnumValue = 2 },
},
},
},
};
APIDocumentation:AddDocumentationTable(CharacterSelectionConstants);
@@ -0,0 +1,20 @@
local CharacterServicesConstants =
{
Tables =
{
{
Name = "CharacterServiceInfoFlag",
Type = "Enumeration",
NumValues = 2,
MinValue = 1,
MaxValue = 2,
Fields =
{
{ Name = "RestrictToRecommendedSpecs", Type = "CharacterServiceInfoFlag", EnumValue = 1 },
{ Name = "AllowMaxLevelBoost", Type = "CharacterServiceInfoFlag", EnumValue = 2 },
},
},
},
};
APIDocumentation:AddDocumentationTable(CharacterServicesConstants);
@@ -0,0 +1,36 @@
local ChatBubbles =
{
Name = "ChatBubbles",
Type = "System",
Namespace = "C_ChatBubbles",
Environment = "All",
Functions =
{
{
Name = "GetAllChatBubbles",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "includeForbidden", Type = "bool", Nilable = false, Default = false },
},
Returns =
{
{ Name = "chatBubbles", Type = "table", InnerType = "ChatBubbleFrame", Nilable = false },
},
},
},
Events =
{
},
Tables =
{
},
};
APIDocumentation:AddDocumentationTable(ChatBubbles);
@@ -0,0 +1,245 @@
local ChatConstants =
{
Tables =
{
{
Name = "ChannelPlayerFlags",
Type = "Enumeration",
NumValues = 5,
MinValue = 0,
MaxValue = 8,
Fields =
{
{ Name = "ChannelPlayerNone", Type = "ChannelPlayerFlags", EnumValue = 0 },
{ Name = "ChannelPlayerOwner", Type = "ChannelPlayerFlags", EnumValue = 1 },
{ Name = "ChannelPlayerModerator", Type = "ChannelPlayerFlags", EnumValue = 2 },
{ Name = "ChannelPlayerTextAllow", Type = "ChannelPlayerFlags", EnumValue = 4 },
{ Name = "ChannelPlayerHidden", Type = "ChannelPlayerFlags", EnumValue = 8 },
},
},
{
Name = "ChatChannelRuleset",
Type = "Enumeration",
NumValues = 9,
MinValue = 0,
MaxValue = 8,
Fields =
{
{ Name = "None", Type = "ChatChannelRuleset", EnumValue = 0 },
{ Name = "Mentor", Type = "ChatChannelRuleset", EnumValue = 1 },
{ Name = "Disabled", Type = "ChatChannelRuleset", EnumValue = 2 },
{ Name = "ChromieTimeCataclysm", Type = "ChatChannelRuleset", EnumValue = 3 },
{ Name = "ChromieTimeBuringCrusade", Type = "ChatChannelRuleset", EnumValue = 4 },
{ Name = "ChromieTimeWrath", Type = "ChatChannelRuleset", EnumValue = 5 },
{ Name = "ChromieTimeMists", Type = "ChatChannelRuleset", EnumValue = 6 },
{ Name = "ChromieTimeWoD", Type = "ChatChannelRuleset", EnumValue = 7 },
{ Name = "ChromieTimeLegion", Type = "ChatChannelRuleset", EnumValue = 8 },
},
},
{
Name = "ChatChannelType",
Type = "Enumeration",
NumValues = 5,
MinValue = 0,
MaxValue = 4,
Fields =
{
{ Name = "None", Type = "ChatChannelType", EnumValue = 0 },
{ Name = "Custom", Type = "ChatChannelType", EnumValue = 1 },
{ Name = "PrivateParty", Type = "ChatChannelType", EnumValue = 2 },
{ Name = "PublicParty", Type = "ChatChannelType", EnumValue = 3 },
{ Name = "Communities", Type = "ChatChannelType", EnumValue = 4 },
},
},
{
Name = "ChatMessagingLockdownReason",
Type = "Enumeration",
NumValues = 3,
MinValue = 0,
MaxValue = 2,
Fields =
{
{ Name = "ActiveEncounter", Type = "ChatMessagingLockdownReason", EnumValue = 0, Documentation = { "Chat lockdown is active because the player is in an active and incomplete instance encounter." } },
{ Name = "ActiveMythicKeystoneOrChallengeMode", Type = "ChatMessagingLockdownReason", EnumValue = 1, Documentation = { "Chat lockdown is active because the player is in an active and incomplete Mythic Keystone or Challenge Mode map." } },
{ Name = "ActivePvPMatch", Type = "ChatMessagingLockdownReason", EnumValue = 2, Documentation = { "Chat lockdown is active because the player is in an active and incomplete PvP match." } },
},
},
{
Name = "ChatToxityFilterOptOut",
Type = "Enumeration",
NumValues = 4,
MinValue = 0,
MaxValue = 4294967295,
Fields =
{
{ Name = "FilterAll", Type = "ChatToxityFilterOptOut", EnumValue = 0 },
{ Name = "ExcludeFilterFriend", Type = "ChatToxityFilterOptOut", EnumValue = 1 },
{ Name = "ExcludeFilterGuild", Type = "ChatToxityFilterOptOut", EnumValue = 2 },
{ Name = "ExcludeFilterAll", Type = "ChatToxityFilterOptOut", EnumValue = 4294967295 },
},
},
{
Name = "ChatWhisperTargetStatus",
Type = "Enumeration",
NumValues = 4,
MinValue = 0,
MaxValue = 3,
Fields =
{
{ Name = "CanWhisper", Type = "ChatWhisperTargetStatus", EnumValue = 0 },
{ Name = "CanWhisperGuild", Type = "ChatWhisperTargetStatus", EnumValue = 1 },
{ Name = "Offline", Type = "ChatWhisperTargetStatus", EnumValue = 2 },
{ Name = "WrongFaction", Type = "ChatWhisperTargetStatus", EnumValue = 3 },
},
},
{
Name = "ExcludedCensorSources",
Type = "Enumeration",
NumValues = 10,
MinValue = 0,
MaxValue = 255,
Fields =
{
{ Name = "None", Type = "ExcludedCensorSources", EnumValue = 0 },
{ Name = "Friends", Type = "ExcludedCensorSources", EnumValue = 1 },
{ Name = "Guild", Type = "ExcludedCensorSources", EnumValue = 2 },
{ Name = "Reserve1", Type = "ExcludedCensorSources", EnumValue = 4 },
{ Name = "Reserve2", Type = "ExcludedCensorSources", EnumValue = 8 },
{ Name = "Reserve3", Type = "ExcludedCensorSources", EnumValue = 16 },
{ Name = "Reserve4", Type = "ExcludedCensorSources", EnumValue = 32 },
{ Name = "Reserve5", Type = "ExcludedCensorSources", EnumValue = 64 },
{ Name = "Reserve6", Type = "ExcludedCensorSources", EnumValue = 128 },
{ Name = "All", Type = "ExcludedCensorSources", EnumValue = 255 },
},
},
{
Name = "LanguageFlag",
Type = "Enumeration",
NumValues = 3,
MinValue = 1,
MaxValue = 4,
Fields =
{
{ Name = "IsExotic", Type = "LanguageFlag", EnumValue = 1 },
{ Name = "HiddenFromPlayer", Type = "LanguageFlag", EnumValue = 2 },
{ Name = "HideLanguageNameInChat", Type = "LanguageFlag", EnumValue = 4 },
},
},
{
Name = "PermanentChatChannelType",
Type = "Enumeration",
NumValues = 4,
MinValue = 0,
MaxValue = 3,
Fields =
{
{ Name = "None", Type = "PermanentChatChannelType", EnumValue = 0 },
{ Name = "Zone", Type = "PermanentChatChannelType", EnumValue = 1 },
{ Name = "Communities", Type = "PermanentChatChannelType", EnumValue = 2 },
{ Name = "Custom", Type = "PermanentChatChannelType", EnumValue = 3 },
},
},
{
Name = "RegisterAddonMessagePrefixResult",
Type = "Enumeration",
NumValues = 4,
MinValue = 0,
MaxValue = 3,
Fields =
{
{ Name = "Success", Type = "RegisterAddonMessagePrefixResult", EnumValue = 0 },
{ Name = "DuplicatePrefix", Type = "RegisterAddonMessagePrefixResult", EnumValue = 1 },
{ Name = "InvalidPrefix", Type = "RegisterAddonMessagePrefixResult", EnumValue = 2 },
{ Name = "MaxPrefixes", Type = "RegisterAddonMessagePrefixResult", EnumValue = 3 },
},
},
{
Name = "SendAddonMessageResult",
Type = "Enumeration",
NumValues = 13,
MinValue = 0,
MaxValue = 12,
Fields =
{
{ Name = "Success", Type = "SendAddonMessageResult", EnumValue = 0 },
{ Name = "InvalidPrefix", Type = "SendAddonMessageResult", EnumValue = 1 },
{ Name = "InvalidMessage", Type = "SendAddonMessageResult", EnumValue = 2 },
{ Name = "AddonMessageThrottle", Type = "SendAddonMessageResult", EnumValue = 3 },
{ Name = "InvalidChatType", Type = "SendAddonMessageResult", EnumValue = 4 },
{ Name = "NotInGroup", Type = "SendAddonMessageResult", EnumValue = 5 },
{ Name = "TargetRequired", Type = "SendAddonMessageResult", EnumValue = 6 },
{ Name = "InvalidChannel", Type = "SendAddonMessageResult", EnumValue = 7 },
{ Name = "ChannelThrottle", Type = "SendAddonMessageResult", EnumValue = 8 },
{ Name = "GeneralError", Type = "SendAddonMessageResult", EnumValue = 9 },
{ Name = "NotInGuild", Type = "SendAddonMessageResult", EnumValue = 10 },
{ Name = "AddOnMessageLockdown", Type = "SendAddonMessageResult", EnumValue = 11 },
{ Name = "TargetOffline", Type = "SendAddonMessageResult", EnumValue = 12 },
},
},
{
Name = "TtsBoolSetting",
Type = "Enumeration",
NumValues = 5,
MinValue = 0,
MaxValue = 4,
Fields =
{
{ Name = "PlaySoundSeparatingChatLineBreaks", Type = "TtsBoolSetting", EnumValue = 0 },
{ Name = "AddCharacterNameToSpeech", Type = "TtsBoolSetting", EnumValue = 1 },
{ Name = "PlayActivitySoundWhenNotFocused", Type = "TtsBoolSetting", EnumValue = 2 },
{ Name = "AlternateSystemVoice", Type = "TtsBoolSetting", EnumValue = 3 },
{ Name = "NarrateMyMessages", Type = "TtsBoolSetting", EnumValue = 4 },
},
},
{
Name = "TtsVoiceType",
Type = "Enumeration",
NumValues = 2,
MinValue = 0,
MaxValue = 1,
Fields =
{
{ Name = "Standard", Type = "TtsVoiceType", EnumValue = 0 },
{ Name = "Alternate", Type = "TtsVoiceType", EnumValue = 1 },
},
},
{
Name = "ChatChannelInfo",
Type = "Structure",
Fields =
{
{ Name = "name", Type = "cstring", Nilable = false },
{ Name = "shortcut", Type = "cstring", Nilable = false },
{ Name = "localID", Type = "number", Nilable = false },
{ Name = "instanceID", Type = "number", Nilable = false },
{ Name = "zoneChannelID", Type = "number", Nilable = false },
{ Name = "channelType", Type = "PermanentChatChannelType", Nilable = false },
},
},
{
Name = "ChatFrameConstants",
Type = "Constants",
Values =
{
{ Name = "MaxChatWindows", Type = "number", Value = 10 },
{ Name = "MaxChatChannels", Type = "number", Value = 20 },
{ Name = "MaxCharacterNameBytes", Type = "number", Value = FULLNAME_MAX_CHAR },
},
},
{
Name = "TTSConstants",
Type = "Constants",
Values =
{
{ Name = "TTSRateMin", Type = "number", Value = -10 },
{ Name = "TTSRateMax", Type = "number", Value = 10 },
{ Name = "TTSRateDefault", Type = "number", Value = 0 },
{ Name = "TTSVolumeMin", Type = "number", Value = 0 },
{ Name = "TTSVolumeMax", Type = "number", Value = 100 },
{ Name = "TTSVolumeDefault", Type = "number", Value = 100 },
},
},
},
};
APIDocumentation:AddDocumentationTable(ChatConstants);
@@ -0,0 +1,75 @@
local ChromieTimeUI =
{
Name = "ChromieTimeInfo",
Type = "System",
Namespace = "C_ChromieTime",
Environment = "All",
Functions =
{
{
Name = "CloseUI",
Type = "Function",
},
{
Name = "GetChromieTimeExpansionOption",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "expansionRecID", Type = "number", Nilable = false },
},
Returns =
{
{ Name = "info", Type = "ChromieTimeExpansionInfo", Nilable = true },
},
},
{
Name = "GetChromieTimeExpansionOptions",
Type = "Function",
Returns =
{
{ Name = "expansionOptions", Type = "table", InnerType = "ChromieTimeExpansionInfo", Nilable = false },
},
},
{
Name = "SelectChromieTimeOption",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "chromieTimeExpansionInfoId", Type = "number", Nilable = false },
},
},
},
Events =
{
},
Tables =
{
{
Name = "ChromieTimeExpansionInfo",
Type = "Structure",
Fields =
{
{ Name = "id", Type = "number", Nilable = false },
{ Name = "name", Type = "cstring", Nilable = false },
{ Name = "description", Type = "cstring", Nilable = false },
{ Name = "mapAtlas", Type = "textureAtlas", Nilable = false },
{ Name = "previewAtlas", Type = "textureAtlas", Nilable = false },
{ Name = "completed", Type = "bool", Nilable = false },
{ Name = "alreadyOn", Type = "bool", Nilable = false },
{ Name = "recommended", Type = "bool", Nilable = false },
{ Name = "sortPriority", Type = "number", Nilable = false },
},
},
},
};
APIDocumentation:AddDocumentationTable(ChromieTimeUI);
@@ -0,0 +1,22 @@
local CinematicConstants =
{
Tables =
{
{
Name = "CinematicType",
Type = "Enumeration",
NumValues = 4,
MinValue = 0,
MaxValue = 3,
Fields =
{
{ Name = "GlueMovie", Type = "CinematicType", EnumValue = 0 },
{ Name = "GameMovie", Type = "CinematicType", EnumValue = 1 },
{ Name = "GameClientScene", Type = "CinematicType", EnumValue = 2 },
{ Name = "GameCinematicSequence", Type = "CinematicType", EnumValue = 3 },
},
},
},
};
APIDocumentation:AddDocumentationTable(CinematicConstants);
@@ -0,0 +1,121 @@
local Cinematic =
{
Name = "Cinematic",
Type = "System",
Environment = "All",
Functions =
{
{
Name = "CinematicFinished",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "movieType", Type = "CinematicType", Nilable = false },
{ Name = "userCanceled", Type = "bool", Nilable = false, Default = false },
{ Name = "didError", Type = "bool", Nilable = false, Default = false },
},
},
{
Name = "CinematicStarted",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "movieType", Type = "CinematicType", Nilable = false },
{ Name = "movieID", Type = "number", Nilable = false },
{ Name = "canCancel", Type = "bool", Nilable = false, Default = true },
},
},
{
Name = "InCinematic",
Type = "Function",
Returns =
{
{ Name = "inCinematic", Type = "bool", Nilable = false },
},
},
{
Name = "MouseOverrideCinematicDisable",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "doOverride", Type = "bool", Nilable = false, Default = false },
},
},
{
Name = "OpeningCinematic",
Type = "Function",
},
{
Name = "StopCinematic",
Type = "Function",
},
},
Events =
{
{
Name = "CinematicStart",
Type = "Event",
LiteralName = "CINEMATIC_START",
SynchronousEvent = true,
Payload =
{
{ Name = "canBeCancelled", Type = "bool", Nilable = false },
{ Name = "forcedAspectRatio", Type = "CameraModeAspectRatio", Nilable = false },
},
},
{
Name = "CinematicStop",
Type = "Event",
LiteralName = "CINEMATIC_STOP",
SynchronousEvent = true,
},
{
Name = "HideSubtitle",
Type = "Event",
LiteralName = "HIDE_SUBTITLE",
SynchronousEvent = true,
},
{
Name = "PlayMovie",
Type = "Event",
LiteralName = "PLAY_MOVIE",
SynchronousEvent = true,
Payload =
{
{ Name = "movieID", Type = "number", Nilable = false },
},
},
{
Name = "ShowSubtitle",
Type = "Event",
LiteralName = "SHOW_SUBTITLE",
SynchronousEvent = true,
Payload =
{
{ Name = "subtitle", Type = "cstring", Nilable = false },
{ Name = "sender", Type = "cstring", Nilable = true },
},
},
{
Name = "StopMovie",
Type = "Event",
LiteralName = "STOP_MOVIE",
SynchronousEvent = true,
},
},
Tables =
{
},
};
APIDocumentation:AddDocumentationTable(Cinematic);
@@ -0,0 +1,44 @@
local CinematicList =
{
Name = "CinematicList",
Type = "System",
Namespace = "C_CinematicList",
Environment = "All",
Functions =
{
{
Name = "GetUICinematicList",
Type = "Function",
Returns =
{
{ Name = "cinematics", Type = "table", InnerType = "UICinematic", Nilable = false },
},
},
},
Events =
{
},
Tables =
{
{
Name = "UICinematic",
Type = "Structure",
Fields =
{
{ Name = "expansion", Type = "number", Nilable = false },
{ Name = "movieIDs", Type = "table", InnerType = "number", Nilable = false },
{ Name = "buttonUpAtlas", Type = "textureAtlas", Nilable = false },
{ Name = "buttonDownAtlas", Type = "textureAtlas", Nilable = false },
{ Name = "title", Type = "string", Nilable = true },
{ Name = "disableAutoPlay", Type = "bool", Nilable = false },
{ Name = "orderID", Type = "number", Nilable = false },
},
},
},
};
APIDocumentation:AddDocumentationTable(CinematicList);
@@ -0,0 +1,37 @@
local ClassColor =
{
Name = "ClassColor",
Type = "System",
Namespace = "C_ClassColor",
Environment = "All",
Functions =
{
{
Name = "GetClassColor",
Type = "Function",
MayReturnNothing = true,
SecretArguments = "AllowedWhenTainted",
Arguments =
{
{ Name = "className", Type = "string", Nilable = false },
},
Returns =
{
{ Name = "classColor", Type = "colorRGB", Mixin = "ColorMixin", Nilable = false },
},
},
},
Events =
{
},
Tables =
{
},
};
APIDocumentation:AddDocumentationTable(ClassColor);
@@ -0,0 +1,433 @@
local ClassTalents =
{
Name = "ClassTalents",
Type = "System",
Namespace = "C_ClassTalents",
Environment = "All",
Functions =
{
{
Name = "CanChangeTalents",
Type = "Function",
Documentation = { "Returns true only if the player has staged changes and can commit their talents in their current state." },
Returns =
{
{ Name = "canChange", Type = "bool", Nilable = false },
{ Name = "canAdd", Type = "bool", Nilable = false },
{ Name = "changeError", Type = "string", Nilable = true },
},
},
{
Name = "CanCreateNewConfig",
Type = "Function",
Returns =
{
{ Name = "canCreate", Type = "bool", Nilable = false },
},
},
{
Name = "CanEditTalents",
Type = "Function",
Documentation = { "Returns true if the player could switch talents if they staged a proper loadout." },
Returns =
{
{ Name = "canEdit", Type = "bool", Nilable = false },
{ Name = "changeError", Type = "cstring", Nilable = false },
},
},
{
Name = "CommitConfig",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "savedConfigID", Type = "number", Nilable = true },
},
Returns =
{
{ Name = "success", Type = "bool", Nilable = false },
},
},
{
Name = "DeleteConfig",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "configID", Type = "number", Nilable = false },
},
Returns =
{
{ Name = "success", Type = "bool", Nilable = false },
},
},
{
Name = "GetActiveConfigID",
Type = "Function",
Returns =
{
{ Name = "activeConfigID", Type = "number", Nilable = true },
},
},
{
Name = "GetActiveHeroTalentSpec",
Type = "Function",
Documentation = { "Returns the SubTreeID of the player's active Hero Talent Specialization SubTree." },
Returns =
{
{ Name = "heroSpecID", Type = "number", Nilable = true, Documentation = { "SubTreeID of the player's active Hero Talent Specialization or nil if no Specialization is active." } },
},
},
{
Name = "GetConfigIDsBySpecID",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "specID", Type = "number", Nilable = true },
},
Returns =
{
{ Name = "configIDs", Type = "table", InnerType = "number", Nilable = false },
},
},
{
Name = "GetHasStarterBuild",
Type = "Function",
Returns =
{
{ Name = "hasStarterBuild", Type = "bool", Nilable = false },
},
},
{
Name = "GetHeroTalentSpecsForClassSpec",
Type = "Function",
MayReturnNothing = true,
SecretArguments = "AllowedWhenUntainted",
Documentation = { "Returns the SubTreeIDs of the Hero Talent Specializations available to a Class Specialization and config; Returns nothing if none available" },
Arguments =
{
{ Name = "configID", Type = "number", Nilable = true, Documentation = { "If not supplied, defaults to the player's active config" } },
{ Name = "classSpecID", Type = "number", Nilable = true, Documentation = { "If not supplied, defaults to the player's active spec" } },
},
Returns =
{
{ Name = "subTreeIDs", Type = "table", InnerType = "number", Nilable = true, Documentation = { "SubTreeIDs of each Hero Talent Specialization" } },
{ Name = "requiredPlayerLevel", Type = "number", Nilable = true, Documentation = { "The player level at which one of the Hero Talent Specializations can be activated" } },
},
},
{
Name = "GetLastSelectedSavedConfigID",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "specID", Type = "number", Nilable = false },
},
Returns =
{
{ Name = "configID", Type = "number", Nilable = true },
},
},
{
Name = "GetNextStarterBuildPurchase",
Type = "Function",
Returns =
{
{ Name = "nodeID", Type = "number", Nilable = true },
{ Name = "entryID", Type = "number", Nilable = true },
},
},
{
Name = "GetStarterBuildActive",
Type = "Function",
Returns =
{
{ Name = "isActive", Type = "bool", Nilable = false },
},
},
{
Name = "GetTraitTreeForSpec",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "specID", Type = "number", Nilable = false },
},
Returns =
{
{ Name = "treeID", Type = "number", Nilable = true },
},
},
{
Name = "HasUnspentHeroTalentPoints",
Type = "Function",
Documentation = { "Returns whether the player has any unspent talent points in their active hero talent tree. If hasUnspentPoints is true, numHeroPoints will be greater than zero." },
Returns =
{
{ Name = "hasUnspentPoints", Type = "bool", Nilable = false },
{ Name = "numHeroPoints", Type = "number", Nilable = false },
},
},
{
Name = "HasUnspentTalentPoints",
Type = "Function",
Documentation = { "Returns whether the player has any unspent talent points in their class or spec talent trees. If hasUnspentPoints is true, the number of unspent points for at least one of the trees will be greater than zero. Hero talent points are not included by this function." },
Returns =
{
{ Name = "hasUnspentPoints", Type = "bool", Nilable = false },
{ Name = "numClassPoints", Type = "number", Nilable = false },
{ Name = "numSpecPoints", Type = "number", Nilable = false },
},
},
{
Name = "ImportLoadout",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "configID", Type = "number", Nilable = false },
{ Name = "entries", Type = "table", InnerType = "ImportLoadoutEntryInfo", Nilable = false },
{ Name = "name", Type = "string", Nilable = false },
{ Name = "importString", Type = "string", Nilable = true },
},
Returns =
{
{ Name = "success", Type = "bool", Nilable = false },
{ Name = "importError", Type = "cstring", Nilable = false },
},
},
{
Name = "InitializeViewLoadout",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "specID", Type = "number", Nilable = false },
{ Name = "level", Type = "number", Nilable = false },
},
},
{
Name = "IsConfigPopulated",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Documentation = { "New configs may or may not be populated and ready to load immediately after creation. Avoid calling for configs intentionally created empty." },
Arguments =
{
{ Name = "configID", Type = "number", Nilable = false },
},
Returns =
{
{ Name = "isPopulated", Type = "bool", Nilable = false },
},
},
{
Name = "LoadConfig",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "configID", Type = "number", Nilable = false },
{ Name = "autoApply", Type = "bool", Nilable = false },
},
Returns =
{
{ Name = "result", Type = "LoadConfigResult", Nilable = false },
{ Name = "changeError", Type = "string", Nilable = true },
{ Name = "newLearnedNodeIDs", Type = "table", InnerType = "number", Nilable = false },
},
},
{
Name = "RenameConfig",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "configID", Type = "number", Nilable = false },
{ Name = "name", Type = "string", Nilable = false },
},
Returns =
{
{ Name = "success", Type = "bool", Nilable = false },
},
},
{
Name = "RequestNewConfig",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "name", Type = "string", Nilable = false },
},
Returns =
{
{ Name = "success", Type = "bool", Nilable = false },
},
},
{
Name = "SaveConfig",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "configID", Type = "number", Nilable = false },
},
Returns =
{
{ Name = "success", Type = "bool", Nilable = false },
},
},
{
Name = "SetStarterBuildActive",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "active", Type = "bool", Nilable = false },
},
Returns =
{
{ Name = "result", Type = "LoadConfigResult", Nilable = false },
},
},
{
Name = "SetUsesSharedActionBars",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "configID", Type = "number", Nilable = false },
{ Name = "usesShared", Type = "bool", Nilable = false },
},
},
{
Name = "UpdateLastSelectedSavedConfigID",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "specID", Type = "number", Nilable = false },
{ Name = "configID", Type = "number", Nilable = true },
},
},
{
Name = "ViewLoadout",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "entries", Type = "table", InnerType = "ImportLoadoutEntryInfo", Nilable = false },
{ Name = "importString", Type = "string", Nilable = true },
},
Returns =
{
{ Name = "success", Type = "bool", Nilable = false },
},
},
},
Events =
{
{
Name = "ActiveCombatConfigChanged",
Type = "Event",
LiteralName = "ACTIVE_COMBAT_CONFIG_CHANGED",
SynchronousEvent = true,
Payload =
{
{ Name = "configID", Type = "number", Nilable = false },
},
},
{
Name = "SelectedLoadoutChanged",
Type = "Event",
LiteralName = "SELECTED_LOADOUT_CHANGED",
SynchronousEvent = true,
},
{
Name = "SpecializationChangeCastFailed",
Type = "Event",
LiteralName = "SPECIALIZATION_CHANGE_CAST_FAILED",
SynchronousEvent = true,
},
{
Name = "StarterBuildActivationFailed",
Type = "Event",
LiteralName = "STARTER_BUILD_ACTIVATION_FAILED",
SynchronousEvent = true,
},
},
Tables =
{
{
Name = "LoadConfigResult",
Type = "Enumeration",
NumValues = 4,
MinValue = 0,
MaxValue = 3,
Fields =
{
{ Name = "Error", Type = "LoadConfigResult", EnumValue = 0 },
{ Name = "NoChangesNecessary", Type = "LoadConfigResult", EnumValue = 1 },
{ Name = "LoadInProgress", Type = "LoadConfigResult", EnumValue = 2 },
{ Name = "Ready", Type = "LoadConfigResult", EnumValue = 3 },
},
},
{
Name = "ImportLoadoutEntryInfo",
Type = "Structure",
Fields =
{
{ Name = "nodeID", Type = "number", Nilable = false },
{ Name = "ranksGranted", Type = "number", Nilable = false },
{ Name = "ranksPurchased", Type = "number", Nilable = false },
{ Name = "selectionEntryID", Type = "number", Nilable = false },
},
},
},
};
APIDocumentation:AddDocumentationTable(ClassTalents);
@@ -0,0 +1,33 @@
local ClassTrial =
{
Name = "ClassTrial",
Type = "System",
Namespace = "C_ClassTrial",
Environment = "All",
Functions =
{
},
Events =
{
{
Name = "ClassTrialTimerStart",
Type = "Event",
LiteralName = "CLASS_TRIAL_TIMER_START",
SynchronousEvent = true,
},
{
Name = "ClassTrialUpgradeComplete",
Type = "Event",
LiteralName = "CLASS_TRIAL_UPGRADE_COMPLETE",
SynchronousEvent = true,
},
},
Tables =
{
},
};
APIDocumentation:AddDocumentationTable(ClassTrial);
@@ -0,0 +1,46 @@
local ClickBindingsConstants =
{
Tables =
{
{
Name = "ClickBindingInteraction",
Type = "Enumeration",
NumValues = 2,
MinValue = 1,
MaxValue = 2,
Fields =
{
{ Name = "Target", Type = "ClickBindingInteraction", EnumValue = 1 },
{ Name = "OpenContextMenu", Type = "ClickBindingInteraction", EnumValue = 2 },
},
},
{
Name = "ClickBindingType",
Type = "Enumeration",
NumValues = 5,
MinValue = 0,
MaxValue = 4,
Fields =
{
{ Name = "None", Type = "ClickBindingType", EnumValue = 0 },
{ Name = "Spell", Type = "ClickBindingType", EnumValue = 1 },
{ Name = "Macro", Type = "ClickBindingType", EnumValue = 2 },
{ Name = "Interaction", Type = "ClickBindingType", EnumValue = 3 },
{ Name = "PetAction", Type = "ClickBindingType", EnumValue = 4 },
},
},
{
Name = "ClickBindingInfo",
Type = "Structure",
Fields =
{
{ Name = "type", Type = "ClickBindingType", Nilable = false },
{ Name = "actionID", Type = "number", Nilable = false, Documentation = { "Base spellID for spell, macro index for macro, ClickBindingInteraction for interaction, spellID for PetAction" } },
{ Name = "button", Type = "cstring", Nilable = false },
{ Name = "modifiers", Type = "number", Nilable = false },
},
},
},
};
APIDocumentation:AddDocumentationTable(ClickBindingsConstants);
@@ -0,0 +1,153 @@
local ClickBindings =
{
Name = "ClickBindings",
Type = "System",
Namespace = "C_ClickBindings",
Environment = "All",
Functions =
{
{
Name = "CanSpellBeClickBound",
Type = "Function",
SecretArguments = "AllowedWhenTainted",
Arguments =
{
{ Name = "spellID", Type = "number", Nilable = false, Documentation = { "Base spellID for spell, spellID for PetAction" } },
},
Returns =
{
{ Name = "canBeBound", Type = "bool", Nilable = false },
},
},
{
Name = "ExecuteBinding",
Type = "Function",
HasRestrictions = true,
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "targetToken", Type = "cstring", Nilable = false },
{ Name = "button", Type = "cstring", Nilable = false },
{ Name = "modifiers", Type = "number", Nilable = false },
},
},
{
Name = "GetBindingType",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "button", Type = "cstring", Nilable = false },
{ Name = "modifiers", Type = "number", Nilable = false },
},
Returns =
{
{ Name = "type", Type = "ClickBindingType", Nilable = false },
},
},
{
Name = "GetEffectiveInteractionButton",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "button", Type = "cstring", Nilable = false },
{ Name = "modifiers", Type = "number", Nilable = false },
},
Returns =
{
{ Name = "effectiveButton", Type = "cstring", Nilable = false },
},
},
{
Name = "GetProfileInfo",
Type = "Function",
Returns =
{
{ Name = "infoVec", Type = "table", InnerType = "ClickBindingInfo", Nilable = false },
},
},
{
Name = "GetStringFromModifiers",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "modifiers", Type = "number", Nilable = false },
},
Returns =
{
{ Name = "modifierString", Type = "string", Nilable = false },
},
},
{
Name = "GetTutorialShown",
Type = "Function",
Returns =
{
{ Name = "tutorialShown", Type = "bool", Nilable = false },
},
},
{
Name = "MakeModifiers",
Type = "Function",
Returns =
{
{ Name = "modifiers", Type = "number", Nilable = false },
},
},
{
Name = "ResetCurrentProfile",
Type = "Function",
HasRestrictions = true,
},
{
Name = "SetProfileByInfo",
Type = "Function",
HasRestrictions = true,
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "infoVec", Type = "table", InnerType = "ClickBindingInfo", Nilable = false },
},
},
{
Name = "SetTutorialShown",
Type = "Function",
},
},
Events =
{
{
Name = "ClickbindingsSetHighlightsShown",
Type = "Event",
LiteralName = "CLICKBINDINGS_SET_HIGHLIGHTS_SHOWN",
SynchronousEvent = true,
Payload =
{
{ Name = "showHighlights", Type = "bool", Nilable = false },
},
},
},
Tables =
{
},
};
APIDocumentation:AddDocumentationTable(ClickBindings);
@@ -0,0 +1,104 @@
local Client =
{
Name = "Client",
Type = "System",
Environment = "All",
Functions =
{
{
Name = "FlashClientIcon",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "briefly", Type = "bool", Nilable = false, Default = false },
},
},
{
Name = "GetBillingTimeRested",
Type = "Function",
Returns =
{
{ Name = "billingTimeRested", Type = "number", Nilable = false },
},
},
{
Name = "GetFileIDFromPath",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "filePath", Type = "cstring", Nilable = false },
},
Returns =
{
{ Name = "fileID", Type = "fileID", Nilable = false },
},
},
{
Name = "GetFramerate",
Type = "Function",
Returns =
{
{ Name = "framerate", Type = "number", Nilable = false },
},
},
{
Name = "IsCpuBound",
Type = "Function",
Returns =
{
{ Name = "isCpuBound", Type = "bool", Nilable = true },
},
},
{
Name = "ReportBug",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "description", Type = "cstring", Nilable = false },
},
},
{
Name = "ReportSuggestion",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "description", Type = "cstring", Nilable = false },
},
},
{
Name = "RestartGx",
Type = "Function",
},
{
Name = "Screenshot",
Type = "Function",
},
{
Name = "UpdateWindow",
Type = "Function",
},
},
Events =
{
},
Tables =
{
},
};
APIDocumentation:AddDocumentationTable(Client);
@@ -0,0 +1,49 @@
local ClientScene =
{
Name = "ClientScene",
Type = "System",
Namespace = "C_ClientScene",
Environment = "All",
Functions =
{
},
Events =
{
{
Name = "ClientSceneClosed",
Type = "Event",
LiteralName = "CLIENT_SCENE_CLOSED",
SynchronousEvent = true,
},
{
Name = "ClientSceneOpened",
Type = "Event",
LiteralName = "CLIENT_SCENE_OPENED",
SynchronousEvent = true,
Payload =
{
{ Name = "sceneType", Type = "ClientSceneType", Nilable = false },
},
},
},
Tables =
{
{
Name = "ClientSceneType",
Type = "Enumeration",
NumValues = 2,
MinValue = 0,
MaxValue = 1,
Fields =
{
{ Name = "DefaultSceneType", Type = "ClientSceneType", EnumValue = 0 },
{ Name = "MinigameSceneType", Type = "ClientSceneType", EnumValue = 1 },
},
},
},
};
APIDocumentation:AddDocumentationTable(ClientScene);
@@ -0,0 +1,27 @@
local ClientSettings =
{
Tables =
{
{
Name = "ClientSettingsConfigFlag",
Type = "Enumeration",
NumValues = 9,
MinValue = 1,
MaxValue = 256,
Fields =
{
{ Name = "ClientSettingsConfigDebug", Type = "ClientSettingsConfigFlag", EnumValue = 1 },
{ Name = "ClientSettingsConfigInternal", Type = "ClientSettingsConfigFlag", EnumValue = 2 },
{ Name = "ClientSettingsConfigPerf", Type = "ClientSettingsConfigFlag", EnumValue = 4 },
{ Name = "ClientSettingsConfigGm", Type = "ClientSettingsConfigFlag", EnumValue = 8 },
{ Name = "ClientSettingsConfigTest", Type = "ClientSettingsConfigFlag", EnumValue = 16 },
{ Name = "ClientSettingsConfigTestRetail", Type = "ClientSettingsConfigFlag", EnumValue = 32 },
{ Name = "ClientSettingsConfigBeta", Type = "ClientSettingsConfigFlag", EnumValue = 64 },
{ Name = "ClientSettingsConfigBetaRetail", Type = "ClientSettingsConfigFlag", EnumValue = 128 },
{ Name = "ClientSettingsConfigRetail", Type = "ClientSettingsConfigFlag", EnumValue = 256 },
},
},
},
};
APIDocumentation:AddDocumentationTable(ClientSettings);
@@ -0,0 +1,989 @@
local ClubFinder =
{
Name = "ClubFinderInfo",
Type = "System",
Namespace = "C_ClubFinder",
Environment = "All",
Functions =
{
{
Name = "ApplicantAcceptClubInvite",
Type = "Function",
HasRestrictions = true,
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "clubFinderGUID", Type = "WOWGUID", Nilable = false },
},
},
{
Name = "ApplicantDeclineClubInvite",
Type = "Function",
HasRestrictions = true,
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "clubFinderGUID", Type = "WOWGUID", Nilable = false },
},
},
{
Name = "CancelMembershipRequest",
Type = "Function",
HasRestrictions = true,
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "clubFinderGUID", Type = "WOWGUID", Nilable = false },
},
},
{
Name = "CheckAllPlayerApplicantSettings",
Type = "Function",
},
{
Name = "ClearAllFinderCache",
Type = "Function",
},
{
Name = "ClearClubApplicantsCache",
Type = "Function",
},
{
Name = "ClearClubFinderPostingsCache",
Type = "Function",
},
{
Name = "DoesPlayerBelongToClubFromClubGUID",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "clubFinderGUID", Type = "WOWGUID", Nilable = false },
},
Returns =
{
{ Name = "belongsToClub", Type = "bool", Nilable = false },
},
},
{
Name = "GetClubFinderDisableReason",
Type = "Function",
Returns =
{
{ Name = "disableReason", Type = "ClubFinderDisableReason", Nilable = true },
},
},
{
Name = "GetClubRecruitmentSettings",
Type = "Function",
Returns =
{
{ Name = "settings", Type = "ClubSettingsInfo", Nilable = false },
},
},
{
Name = "GetClubTypeFromFinderGUID",
Type = "Function",
MayReturnNothing = true,
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "clubFinderGUID", Type = "WOWGUID", Nilable = false },
},
Returns =
{
{ Name = "clubType", Type = "ClubFinderRequestType", Nilable = false },
},
},
{
Name = "GetFocusIndexFromFlag",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "flags", Type = "number", Nilable = false },
},
Returns =
{
{ Name = "index", Type = "number", Nilable = false },
},
},
{
Name = "GetPlayerApplicantLocaleFlags",
Type = "Function",
Returns =
{
{ Name = "localeFlags", Type = "number", Nilable = false },
},
},
{
Name = "GetPlayerApplicantSettings",
Type = "Function",
Returns =
{
{ Name = "settings", Type = "ClubSettingsInfo", Nilable = false },
},
},
{
Name = "GetPlayerClubApplicationStatus",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "clubFinderGUID", Type = "WOWGUID", Nilable = false },
},
Returns =
{
{ Name = "clubStatus", Type = "PlayerClubRequestStatus", Nilable = false },
},
},
{
Name = "GetPlayerSettingsFocusFlagsSelectedCount",
Type = "Function",
Returns =
{
{ Name = "focusCount", Type = "number", Nilable = false },
},
},
{
Name = "GetPostingIDFromClubFinderGUID",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "clubFinderGUID", Type = "WOWGUID", Nilable = false },
},
Returns =
{
{ Name = "postingID", Type = "number", Nilable = true },
},
},
{
Name = "GetRecruitingClubInfoFromClubID",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "clubId", Type = "ClubId", Nilable = false },
},
Returns =
{
{ Name = "clubInfo", Type = "RecruitingClubInfo", Nilable = true },
},
},
{
Name = "GetRecruitingClubInfoFromFinderGUID",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "clubFinderGUID", Type = "WOWGUID", Nilable = false },
},
Returns =
{
{ Name = "clubInfo", Type = "RecruitingClubInfo", Nilable = false },
},
},
{
Name = "GetStatusOfPostingFromClubId",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "postingID", Type = "ClubId", Nilable = false },
},
Returns =
{
{ Name = "postingFlags", Type = "table", InnerType = "ClubFinderClubPostingStatusFlags", Nilable = false },
},
},
{
Name = "GetTotalMatchingCommunityListSize",
Type = "Function",
Returns =
{
{ Name = "totalSize", Type = "number", Nilable = false },
},
},
{
Name = "GetTotalMatchingGuildListSize",
Type = "Function",
Returns =
{
{ Name = "totalSize", Type = "number", Nilable = false },
},
},
{
Name = "HasAlreadyAppliedToLinkedPosting",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "clubFinderGUID", Type = "WOWGUID", Nilable = false },
},
Returns =
{
{ Name = "hasAlreadyApplied", Type = "bool", Nilable = false },
},
},
{
Name = "HasPostingBeenDelisted",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "postingID", Type = "ClubId", Nilable = false },
},
Returns =
{
{ Name = "postingDelisted", Type = "bool", Nilable = false },
},
},
{
Name = "IsCommunityFinderEnabled",
Type = "Function",
Returns =
{
{ Name = "isEnabled", Type = "bool", Nilable = false },
},
},
{
Name = "IsEnabled",
Type = "Function",
Returns =
{
{ Name = "isEnabled", Type = "bool", Nilable = false },
},
},
{
Name = "IsListingEnabledFromFlags",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "flags", Type = "number", Nilable = false },
},
Returns =
{
{ Name = "isListed", Type = "bool", Nilable = false },
},
},
{
Name = "IsPostingBanned",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "postingID", Type = "ClubId", Nilable = false },
},
Returns =
{
{ Name = "postingBanned", Type = "bool", Nilable = false },
},
},
{
Name = "IsValidSearchString",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "name", Type = "cstring", Nilable = false },
},
Returns =
{
{ Name = "isApproved", Type = "bool", Nilable = false },
},
},
{
Name = "LookupClubPostingFromClubFinderGUID",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "clubFinderGUID", Type = "WOWGUID", Nilable = false },
{ Name = "isLinkedPosting", Type = "bool", Nilable = false },
},
},
{
Name = "PlayerGetClubInvitationList",
Type = "Function",
MayReturnNothing = true,
Returns =
{
{ Name = "inviteList", Type = "table", InnerType = "RecruitingClubInfo", Nilable = false },
},
},
{
Name = "PlayerRequestPendingClubsList",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "type", Type = "ClubFinderRequestType", Nilable = false },
},
},
{
Name = "PlayerReturnPendingCommunitiesList",
Type = "Function",
Returns =
{
{ Name = "info", Type = "table", InnerType = "RecruitingClubInfo", Nilable = false },
},
},
{
Name = "PlayerReturnPendingGuildsList",
Type = "Function",
Returns =
{
{ Name = "info", Type = "table", InnerType = "RecruitingClubInfo", Nilable = false },
},
},
{
Name = "PostClub",
Type = "Function",
HasRestrictions = true,
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "clubId", Type = "ClubId", Nilable = false },
{ Name = "itemLevelRequirement", Type = "number", Nilable = false },
{ Name = "name", Type = "string", Nilable = false },
{ Name = "description", Type = "string", Nilable = false },
{ Name = "avatarId", Type = "number", Nilable = false },
{ Name = "specs", Type = "table", InnerType = "number", Nilable = false },
{ Name = "type", Type = "ClubFinderRequestType", Nilable = false },
{ Name = "crossFaction", Type = "bool", Nilable = false, Default = false },
},
Returns =
{
{ Name = "succesful", Type = "bool", Nilable = false },
},
},
{
Name = "RequestApplicantList",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "type", Type = "ClubFinderRequestType", Nilable = false },
},
},
{
Name = "RequestClubsList",
Type = "Function",
HasRestrictions = true,
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "guildListRequested", Type = "bool", Nilable = false },
{ Name = "searchString", Type = "string", Nilable = false },
{ Name = "specIDs", Type = "table", InnerType = "number", Nilable = false },
},
},
{
Name = "RequestMembershipToClub",
Type = "Function",
HasRestrictions = true,
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "clubFinderGUID", Type = "WOWGUID", Nilable = false },
{ Name = "comment", Type = "string", Nilable = false },
{ Name = "specIDs", Type = "table", InnerType = "number", Nilable = false },
},
},
{
Name = "RequestNextCommunityPage",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "startingIndex", Type = "number", Nilable = false },
{ Name = "pageSize", Type = "number", Nilable = false },
},
},
{
Name = "RequestNextGuildPage",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "startingIndex", Type = "number", Nilable = false },
{ Name = "pageSize", Type = "number", Nilable = false },
},
},
{
Name = "RequestPostingInformationFromClubId",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "clubId", Type = "ClubId", Nilable = false },
},
Returns =
{
{ Name = "success", Type = "bool", Nilable = false },
},
},
{
Name = "RequestSubscribedClubPostingIDs",
Type = "Function",
},
{
Name = "ResetClubPostingMapCache",
Type = "Function",
},
{
Name = "RespondToApplicant",
Type = "Function",
HasRestrictions = true,
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "clubFinderGUID", Type = "WOWGUID", Nilable = false },
{ Name = "playerGUID", Type = "WOWGUID", Nilable = false },
{ Name = "shouldAccept", Type = "bool", Nilable = false },
{ Name = "requestType", Type = "ClubFinderRequestType", Nilable = false },
{ Name = "playerName", Type = "string", Nilable = false },
{ Name = "forceAccept", Type = "bool", Nilable = false },
{ Name = "reported", Type = "bool", Nilable = true },
},
},
{
Name = "ReturnClubApplicantList",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "clubId", Type = "ClubId", Nilable = false },
},
Returns =
{
{ Name = "info", Type = "table", InnerType = "ClubFinderApplicantInfo", Nilable = false },
},
},
{
Name = "ReturnMatchingCommunityList",
Type = "Function",
Returns =
{
{ Name = "recruitingClubs", Type = "table", InnerType = "RecruitingClubInfo", Nilable = false },
},
},
{
Name = "ReturnMatchingGuildList",
Type = "Function",
Returns =
{
{ Name = "recruitingClubs", Type = "table", InnerType = "RecruitingClubInfo", Nilable = false },
},
},
{
Name = "ReturnPendingClubApplicantList",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "clubId", Type = "ClubId", Nilable = false },
},
Returns =
{
{ Name = "info", Type = "table", InnerType = "ClubFinderApplicantInfo", Nilable = false },
},
},
{
Name = "SendChatWhisper",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "clubFinderGUID", Type = "WOWGUID", Nilable = false },
{ Name = "playerGUID", Type = "WOWGUID", Nilable = false },
{ Name = "applicantType", Type = "ClubFinderRequestType", Nilable = false },
{ Name = "name", Type = "string", Nilable = false },
},
},
{
Name = "SetAllRecruitmentSettings",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "value", Type = "number", Nilable = false },
},
},
{
Name = "SetPlayerApplicantLocaleFlags",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "localeFlags", Type = "number", Nilable = false },
},
},
{
Name = "SetPlayerApplicantSettings",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "index", Type = "number", Nilable = false },
{ Name = "checked", Type = "bool", Nilable = false },
},
},
{
Name = "SetRecruitmentLocale",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "locale", Type = "number", Nilable = false },
},
},
{
Name = "SetRecruitmentSettings",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "index", Type = "number", Nilable = false },
{ Name = "checked", Type = "bool", Nilable = false },
},
},
{
Name = "ShouldShowClubFinder",
Type = "Function",
Returns =
{
{ Name = "shouldShow", Type = "bool", Nilable = false },
},
},
},
Events =
{
{
Name = "ClubFinderApplicantInviteRecieved",
Type = "Event",
LiteralName = "CLUB_FINDER_APPLICANT_INVITE_RECIEVED",
SynchronousEvent = true,
Payload =
{
{ Name = "clubFinderGUIDs", Type = "table", InnerType = "WOWGUID", Nilable = false },
},
},
{
Name = "ClubFinderApplicationsUpdated",
Type = "Event",
LiteralName = "CLUB_FINDER_APPLICATIONS_UPDATED",
SynchronousEvent = true,
Payload =
{
{ Name = "type", Type = "ClubFinderRequestType", Nilable = false },
{ Name = "clubFinderGUIDs", Type = "table", InnerType = "WOWGUID", Nilable = false },
},
},
{
Name = "ClubFinderCanWhisperApplicant",
Type = "Event",
LiteralName = "CLUB_FINDER_CAN_WHISPER_APPLICANT",
SynchronousEvent = true,
Payload =
{
{ Name = "applicant", Type = "WOWGUID", Nilable = false },
},
},
{
Name = "ClubFinderClubListReturned",
Type = "Event",
LiteralName = "CLUB_FINDER_CLUB_LIST_RETURNED",
SynchronousEvent = true,
Documentation = { "Signals when we recieve club data that can be used" },
Payload =
{
{ Name = "type", Type = "ClubFinderRequestType", Nilable = false },
},
},
{
Name = "ClubFinderClubReported",
Type = "Event",
LiteralName = "CLUB_FINDER_CLUB_REPORTED",
SynchronousEvent = true,
Documentation = { "Sends an update to the UI about a reported guild or community." },
Payload =
{
{ Name = "type", Type = "ClubFinderRequestType", Nilable = false },
{ Name = "clubFinderGUID", Type = "WOWGUID", Nilable = false },
},
},
{
Name = "ClubFinderCommunityOfflineJoin",
Type = "Event",
LiteralName = "CLUB_FINDER_COMMUNITY_OFFLINE_JOIN",
SynchronousEvent = true,
Documentation = { "Signals to the UI that you (the player) have joined a community offline." },
Payload =
{
{ Name = "clubId", Type = "ClubId", Nilable = false },
},
},
{
Name = "ClubFinderEnabledOrDisabled",
Type = "Event",
LiteralName = "CLUB_FINDER_ENABLED_OR_DISABLED",
SynchronousEvent = true,
Documentation = { "Sends an update to the UI that the club finder feature has been enabled or disabled." },
},
{
Name = "ClubFinderGuildRealmNameUpdated",
Type = "Event",
LiteralName = "CLUB_FINDER_GUILD_REALM_NAME_UPDATED",
SynchronousEvent = true,
Documentation = { "Sends an update to the UI if the realm name of a guild was found asynchronously." },
Payload =
{
{ Name = "clubFinderGUID", Type = "WOWGUID", Nilable = false },
{ Name = "realmName", Type = "string", Nilable = false },
},
},
{
Name = "ClubFinderLinkedClubReturned",
Type = "Event",
LiteralName = "CLUB_FINDER_LINKED_CLUB_RETURNED",
SynchronousEvent = true,
Documentation = { "When a player clicks a club link, this returns that information back about the club they clicked on" },
Payload =
{
{ Name = "clubInfo", Type = "RecruitingClubInfo", Nilable = false },
},
},
{
Name = "ClubFinderMembershipListChanged",
Type = "Event",
LiteralName = "CLUB_FINDER_MEMBERSHIP_LIST_CHANGED",
SynchronousEvent = true,
},
{
Name = "ClubFinderPlayerPendingListRecieved",
Type = "Event",
LiteralName = "CLUB_FINDER_PLAYER_PENDING_LIST_RECIEVED",
SynchronousEvent = true,
Payload =
{
{ Name = "type", Type = "ClubFinderRequestType", Nilable = false },
},
},
{
Name = "ClubFinderPostUpdated",
Type = "Event",
LiteralName = "CLUB_FINDER_POST_UPDATED",
SynchronousEvent = true,
Payload =
{
{ Name = "clubFinderGUIDs", Type = "table", InnerType = "WOWGUID", Nilable = false },
},
},
{
Name = "ClubFinderRecruitListChanged",
Type = "Event",
LiteralName = "CLUB_FINDER_RECRUIT_LIST_CHANGED",
SynchronousEvent = true,
},
{
Name = "ClubFinderRecruitmentPostReturned",
Type = "Event",
LiteralName = "CLUB_FINDER_RECRUITMENT_POST_RETURNED",
SynchronousEvent = true,
Documentation = { "Signals when our recruitment post we just requested is returned back to us" },
Payload =
{
{ Name = "type", Type = "ClubFinderRequestType", Nilable = false },
},
},
{
Name = "ClubFinderRecruitsUpdated",
Type = "Event",
LiteralName = "CLUB_FINDER_RECRUITS_UPDATED",
SynchronousEvent = true,
Documentation = { "Signals when we recieve the recruits list" },
Payload =
{
{ Name = "type", Type = "ClubFinderRequestType", Nilable = false },
},
},
},
Tables =
{
{
Name = "ClubFinderApplicationUpdateType",
Type = "Enumeration",
NumValues = 4,
MinValue = 0,
MaxValue = 3,
Fields =
{
{ Name = "None", Type = "ClubFinderApplicationUpdateType", EnumValue = 0 },
{ Name = "AcceptInvite", Type = "ClubFinderApplicationUpdateType", EnumValue = 1 },
{ Name = "DeclineInvite", Type = "ClubFinderApplicationUpdateType", EnumValue = 2 },
{ Name = "Cancel", Type = "ClubFinderApplicationUpdateType", EnumValue = 3 },
},
},
{
Name = "ClubFinderClubPostingStatusFlags",
Type = "Enumeration",
NumValues = 9,
MinValue = 0,
MaxValue = 8,
Fields =
{
{ Name = "None", Type = "ClubFinderClubPostingStatusFlags", EnumValue = 0 },
{ Name = "NeedsCacheUpdate", Type = "ClubFinderClubPostingStatusFlags", EnumValue = 1 },
{ Name = "ForceDescriptionChange", Type = "ClubFinderClubPostingStatusFlags", EnumValue = 2 },
{ Name = "ForceNameChange", Type = "ClubFinderClubPostingStatusFlags", EnumValue = 3 },
{ Name = "UnderReview", Type = "ClubFinderClubPostingStatusFlags", EnumValue = 4 },
{ Name = "Banned", Type = "ClubFinderClubPostingStatusFlags", EnumValue = 5 },
{ Name = "FakePost", Type = "ClubFinderClubPostingStatusFlags", EnumValue = 6 },
{ Name = "PendingDelete", Type = "ClubFinderClubPostingStatusFlags", EnumValue = 7 },
{ Name = "PostDelisted", Type = "ClubFinderClubPostingStatusFlags", EnumValue = 8 },
},
},
{
Name = "ClubFinderDisableReason",
Type = "Enumeration",
NumValues = 3,
MinValue = 0,
MaxValue = 2,
Fields =
{
{ Name = "Muted", Type = "ClubFinderDisableReason", EnumValue = 0 },
{ Name = "Silenced", Type = "ClubFinderDisableReason", EnumValue = 1 },
{ Name = "VeteranTrial", Type = "ClubFinderDisableReason", EnumValue = 2 },
},
},
{
Name = "ClubFinderPostingReportType",
Type = "Enumeration",
NumValues = 5,
MinValue = 0,
MaxValue = 4,
Fields =
{
{ Name = "PostersName", Type = "ClubFinderPostingReportType", EnumValue = 0 },
{ Name = "ClubName", Type = "ClubFinderPostingReportType", EnumValue = 1 },
{ Name = "PostingDescription", Type = "ClubFinderPostingReportType", EnumValue = 2 },
{ Name = "ApplicantsName", Type = "ClubFinderPostingReportType", EnumValue = 3 },
{ Name = "JoinNote", Type = "ClubFinderPostingReportType", EnumValue = 4 },
},
},
{
Name = "ClubFinderRequestType",
Type = "Enumeration",
NumValues = 4,
MinValue = 0,
MaxValue = 3,
Fields =
{
{ Name = "None", Type = "ClubFinderRequestType", EnumValue = 0 },
{ Name = "Guild", Type = "ClubFinderRequestType", EnumValue = 1 },
{ Name = "Community", Type = "ClubFinderRequestType", EnumValue = 2 },
{ Name = "All", Type = "ClubFinderRequestType", EnumValue = 3 },
},
},
{
Name = "ClubFinderSettingFlags",
Type = "Enumeration",
NumValues = 26,
MinValue = 0,
MaxValue = 25,
Fields =
{
{ Name = "None", Type = "ClubFinderSettingFlags", EnumValue = 0 },
{ Name = "Dungeons", Type = "ClubFinderSettingFlags", EnumValue = 1 },
{ Name = "Raids", Type = "ClubFinderSettingFlags", EnumValue = 2 },
{ Name = "PvP", Type = "ClubFinderSettingFlags", EnumValue = 3 },
{ Name = "RP", Type = "ClubFinderSettingFlags", EnumValue = 4 },
{ Name = "Social", Type = "ClubFinderSettingFlags", EnumValue = 5 },
{ Name = "Small", Type = "ClubFinderSettingFlags", EnumValue = 6 },
{ Name = "Medium", Type = "ClubFinderSettingFlags", EnumValue = 7 },
{ Name = "Large", Type = "ClubFinderSettingFlags", EnumValue = 8 },
{ Name = "Tank", Type = "ClubFinderSettingFlags", EnumValue = 9 },
{ Name = "Healer", Type = "ClubFinderSettingFlags", EnumValue = 10 },
{ Name = "Damage", Type = "ClubFinderSettingFlags", EnumValue = 11 },
{ Name = "EnableListing", Type = "ClubFinderSettingFlags", EnumValue = 12 },
{ Name = "MaxLevelOnly", Type = "ClubFinderSettingFlags", EnumValue = 13 },
{ Name = "AutoAccept", Type = "ClubFinderSettingFlags", EnumValue = 14 },
{ Name = "FactionHorde", Type = "ClubFinderSettingFlags", EnumValue = 15 },
{ Name = "FactionAlliance", Type = "ClubFinderSettingFlags", EnumValue = 16 },
{ Name = "FactionNeutral", Type = "ClubFinderSettingFlags", EnumValue = 17 },
{ Name = "SortRelevance", Type = "ClubFinderSettingFlags", EnumValue = 18 },
{ Name = "SortMemberCount", Type = "ClubFinderSettingFlags", EnumValue = 19 },
{ Name = "SortNewest", Type = "ClubFinderSettingFlags", EnumValue = 20 },
{ Name = "LanguageReserved1", Type = "ClubFinderSettingFlags", EnumValue = 21 },
{ Name = "LanguageReserved2", Type = "ClubFinderSettingFlags", EnumValue = 22 },
{ Name = "LanguageReserved3", Type = "ClubFinderSettingFlags", EnumValue = 23 },
{ Name = "LanguageReserved4", Type = "ClubFinderSettingFlags", EnumValue = 24 },
{ Name = "LanguageReserved5", Type = "ClubFinderSettingFlags", EnumValue = 25 },
},
},
{
Name = "PlayerClubRequestStatus",
Type = "Enumeration",
NumValues = 8,
MinValue = 0,
MaxValue = 7,
Fields =
{
{ Name = "None", Type = "PlayerClubRequestStatus", EnumValue = 0 },
{ Name = "Pending", Type = "PlayerClubRequestStatus", EnumValue = 1 },
{ Name = "AutoApproved", Type = "PlayerClubRequestStatus", EnumValue = 2 },
{ Name = "Declined", Type = "PlayerClubRequestStatus", EnumValue = 3 },
{ Name = "Approved", Type = "PlayerClubRequestStatus", EnumValue = 4 },
{ Name = "Joined", Type = "PlayerClubRequestStatus", EnumValue = 5 },
{ Name = "JoinedAnother", Type = "PlayerClubRequestStatus", EnumValue = 6 },
{ Name = "Canceled", Type = "PlayerClubRequestStatus", EnumValue = 7 },
},
},
{
Name = "ClubFinderApplicantInfo",
Type = "Structure",
Fields =
{
{ Name = "clubFinderGUID", Type = "WOWGUID", Nilable = false },
{ Name = "playerGUID", Type = "WOWGUID", Nilable = false },
{ Name = "closed", Type = "number", Nilable = false },
{ Name = "name", Type = "string", Nilable = false },
{ Name = "message", Type = "string", Nilable = false },
{ Name = "level", Type = "number", Nilable = false },
{ Name = "classID", Type = "number", Nilable = false },
{ Name = "ilvl", Type = "number", Nilable = false },
{ Name = "specIds", Type = "table", InnerType = "number", Nilable = false },
{ Name = "requestStatus", Type = "PlayerClubRequestStatus", Nilable = false },
{ Name = "lookupSuccess", Type = "bool", Nilable = false },
{ Name = "lastUpdatedTime", Type = "BigInteger", Nilable = false },
{ Name = "faction", Type = "number", Nilable = false },
},
},
{
Name = "ClubSettingsInfo",
Type = "Structure",
Fields =
{
{ Name = "playStyleDungeon", Type = "bool", Nilable = false },
{ Name = "playStyleRaids", Type = "bool", Nilable = false },
{ Name = "playStylePvp", Type = "bool", Nilable = false },
{ Name = "playStyleRP", Type = "bool", Nilable = false },
{ Name = "playStyleSocial", Type = "bool", Nilable = false },
{ Name = "roleTank", Type = "bool", Nilable = false },
{ Name = "roleHealer", Type = "bool", Nilable = false },
{ Name = "roleDps", Type = "bool", Nilable = false },
{ Name = "sizeSmall", Type = "bool", Nilable = false },
{ Name = "sizeMedium", Type = "bool", Nilable = false },
{ Name = "sizeLarge", Type = "bool", Nilable = false },
{ Name = "maxLevelOnly", Type = "bool", Nilable = false },
{ Name = "enableListing", Type = "bool", Nilable = false },
{ Name = "sortRelevance", Type = "bool", Nilable = false },
{ Name = "sortMembers", Type = "bool", Nilable = false },
{ Name = "sortNewest", Type = "bool", Nilable = false },
{ Name = "autoAccept", Type = "bool", Nilable = false },
{ Name = "crossFaction", Type = "bool", Nilable = false },
},
},
{
Name = "RecruitingClubInfo",
Type = "Structure",
Fields =
{
{ Name = "clubFinderGUID", Type = "WOWGUID", Nilable = false },
{ Name = "numActiveMembers", Type = "number", Nilable = false },
{ Name = "name", Type = "string", Nilable = false },
{ Name = "comment", Type = "string", Nilable = false },
{ Name = "guildLeader", Type = "string", Nilable = false },
{ Name = "isGuild", Type = "bool", Nilable = false },
{ Name = "emblemInfo", Type = "number", Nilable = false },
{ Name = "tabardInfo", Type = "GuildTabardInfo", Nilable = true },
{ Name = "recruitingSpecIds", Type = "table", InnerType = "number", Nilable = false },
{ Name = "recruitmentFlags", Type = "number", Nilable = false },
{ Name = "localeSet", Type = "bool", Nilable = false },
{ Name = "recruitmentLocale", Type = "number", Nilable = false },
{ Name = "minILvl", Type = "number", Nilable = false },
{ Name = "cached", Type = "number", Nilable = false },
{ Name = "cacheRequested", Type = "number", Nilable = false },
{ Name = "lastPosterGUID", Type = "WOWGUID", Nilable = false },
{ Name = "clubId", Type = "ClubId", Nilable = false },
{ Name = "lastUpdatedTime", Type = "BigInteger", Nilable = false },
{ Name = "isCrossFaction", Type = "bool", Nilable = false },
{ Name = "realmName", Type = "string", Nilable = true },
},
},
},
};
APIDocumentation:AddDocumentationTable(ClubFinder);
@@ -0,0 +1,22 @@
local ClubShared =
{
Tables =
{
{
Name = "ClubRoleIdentifier",
Type = "Enumeration",
NumValues = 4,
MinValue = 1,
MaxValue = 4,
Fields =
{
{ Name = "Owner", Type = "ClubRoleIdentifier", EnumValue = 1 },
{ Name = "Leader", Type = "ClubRoleIdentifier", EnumValue = 2 },
{ Name = "Moderator", Type = "ClubRoleIdentifier", EnumValue = 3 },
{ Name = "Member", Type = "ClubRoleIdentifier", EnumValue = 4 },
},
},
},
};
APIDocumentation:AddDocumentationTable(ClubShared);
@@ -0,0 +1,8 @@
local Color =
{
Tables =
{
},
};
APIDocumentation:AddDocumentationTable(Color);
@@ -0,0 +1,26 @@
local ColorOverrideConstants =
{
Tables =
{
{
Name = "ColorOverride",
Type = "Enumeration",
NumValues = 8,
MinValue = 0,
MaxValue = 7,
Fields =
{
{ Name = "ItemQualityPoor", Type = "ColorOverride", EnumValue = 0 },
{ Name = "ItemQualityCommon", Type = "ColorOverride", EnumValue = 1 },
{ Name = "ItemQualityUncommon", Type = "ColorOverride", EnumValue = 2 },
{ Name = "ItemQualityRare", Type = "ColorOverride", EnumValue = 3 },
{ Name = "ItemQualityEpic", Type = "ColorOverride", EnumValue = 4 },
{ Name = "ItemQualityLegendary", Type = "ColorOverride", EnumValue = 5 },
{ Name = "ItemQualityArtifact", Type = "ColorOverride", EnumValue = 6 },
{ Name = "ItemQualityAccount", Type = "ColorOverride", EnumValue = 7 },
},
},
},
};
APIDocumentation:AddDocumentationTable(ColorOverrideConstants);
@@ -0,0 +1,117 @@
local ColorOverrides =
{
Name = "ColorOverrides",
Type = "System",
Namespace = "C_ColorOverrides",
Environment = "All",
Functions =
{
{
Name = "ClearColorOverrides",
Type = "Function",
},
{
Name = "GetColorForQuality",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "quality", Type = "ItemQuality", Nilable = false },
},
Returns =
{
{ Name = "color", Type = "colorRGBA", Mixin = "ColorMixin", Nilable = false },
},
},
{
Name = "GetColorOverrideInfo",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "overrideType", Type = "ColorOverride", Nilable = false },
},
Returns =
{
{ Name = "overrideInfo", Type = "ColorOverrideInfo", Nilable = true },
},
},
{
Name = "GetDefaultColorForQuality",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "quality", Type = "ItemQuality", Nilable = false },
},
Returns =
{
{ Name = "color", Type = "colorRGBA", Mixin = "ColorMixin", Nilable = false },
},
},
{
Name = "RemoveColorOverride",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "overrideType", Type = "ColorOverride", Nilable = false },
},
},
{
Name = "SetColorOverride",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "overrideType", Type = "ColorOverride", Nilable = false },
{ Name = "color", Type = "colorRGBA", Mixin = "ColorMixin", Nilable = false },
},
},
},
Events =
{
{
Name = "ColorOverrideUpdated",
Type = "Event",
LiteralName = "COLOR_OVERRIDE_UPDATED",
SynchronousEvent = true,
Payload =
{
{ Name = "overrideType", Type = "ColorOverride", Nilable = false },
},
},
{
Name = "ColorOverridesReset",
Type = "Event",
LiteralName = "COLOR_OVERRIDES_RESET",
SynchronousEvent = true,
},
},
Tables =
{
{
Name = "ColorOverrideInfo",
Type = "Structure",
Fields =
{
{ Name = "overrideType", Type = "ColorOverride", Nilable = false },
{ Name = "overrideColor", Type = "colorRGB", Mixin = "ColorMixin", Nilable = false },
{ Name = "overrideColorString", Type = "string", Nilable = false },
},
},
},
};
APIDocumentation:AddDocumentationTable(ColorOverrides);
@@ -0,0 +1,151 @@
local ColorUtil =
{
Name = "ColorUtil",
Type = "System",
Namespace = "C_ColorUtil",
Environment = "All",
Functions =
{
{
Name = "ConvertHSLToHSV",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Documentation = { "Converts an unpacked HSL color to HSV." },
Arguments =
{
{ Name = "hslH", Type = "number", Nilable = false },
{ Name = "hslS", Type = "number", Nilable = false },
{ Name = "hslL", Type = "number", Nilable = false },
},
Returns =
{
{ Name = "hsvH", Type = "number", Nilable = false },
{ Name = "hsvS", Type = "number", Nilable = false },
{ Name = "hsvV", Type = "number", Nilable = false },
},
},
{
Name = "ConvertHSVToHSL",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Documentation = { "Converts an unpacked HSV color to HSL." },
Arguments =
{
{ Name = "hsvH", Type = "number", Nilable = false },
{ Name = "hsvS", Type = "number", Nilable = false },
{ Name = "hsvV", Type = "number", Nilable = false },
},
Returns =
{
{ Name = "hslH", Type = "number", Nilable = false },
{ Name = "hslS", Type = "number", Nilable = false },
{ Name = "hslL", Type = "number", Nilable = false },
},
},
{
Name = "ConvertHSVToRGB",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Documentation = { "Converts an unpacked HSV color to RGB." },
Arguments =
{
{ Name = "hsvH", Type = "number", Nilable = false },
{ Name = "hsvS", Type = "number", Nilable = false },
{ Name = "hsvV", Type = "number", Nilable = false },
},
Returns =
{
{ Name = "rgbR", Type = "number", Nilable = false },
{ Name = "rgbG", Type = "number", Nilable = false },
{ Name = "rgbB", Type = "number", Nilable = false },
},
},
{
Name = "ConvertRGBToHSV",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Documentation = { "Converts an unpacked RGB color to HSV. For achromatic inputs, the returned hue will be -1." },
Arguments =
{
{ Name = "rgbR", Type = "number", Nilable = false },
{ Name = "rgbG", Type = "number", Nilable = false },
{ Name = "rgbB", Type = "number", Nilable = false },
},
Returns =
{
{ Name = "hsvH", Type = "number", Nilable = false },
{ Name = "hsvS", Type = "number", Nilable = false },
{ Name = "hsvV", Type = "number", Nilable = false },
},
},
{
Name = "GenerateTextColorCode",
Type = "Function",
SecretArguments = "AllowedWhenTainted",
Documentation = { "Generates a hex color code suitable for use in text color code markup." },
Arguments =
{
{ Name = "color", Type = "colorRGB", Mixin = "ColorMixin", Nilable = false, Documentation = { "Color to generate a hex color code from." } },
},
Returns =
{
{ Name = "textColorCode", Type = "string", Nilable = false, Documentation = { "Hex representation of the color formatted as an 8-byte ARGB string, with alpha forced to 255." } },
},
},
{
Name = "WrapTextInColor",
Type = "Function",
SecretArguments = "AllowedWhenTainted",
Documentation = { "Wraps a given string with color code markup." },
Arguments =
{
{ Name = "text", Type = "cstring", Nilable = false, Documentation = { "Text to be wrapped in color markup." } },
{ Name = "color", Type = "colorRGB", Mixin = "ColorMixin", Nilable = false, Documentation = { "Color to apply to the text." } },
},
Returns =
{
{ Name = "coloredText", Type = "string", Nilable = false, Documentation = { "The input text wrapped in '|c' and '|r' quoted code sequences for the supplied color." } },
},
},
{
Name = "WrapTextInColorCode",
Type = "Function",
SecretArguments = "AllowedWhenTainted",
Documentation = { "Wraps a given string with color code markup." },
Arguments =
{
{ Name = "text", Type = "cstring", Nilable = false, Documentation = { "Text to be wrapped in color markup." } },
{ Name = "textColorCode", Type = "cstring", Nilable = false, Documentation = { "Color to apply to the text, formatted as an 8-byte ARGB string as returned by GenerateTextColorCode." } },
},
Returns =
{
{ Name = "coloredText", Type = "string", Nilable = false, Documentation = { "The input text wrapped in '|c' and '|r' quoted code sequences for the supplied color." } },
},
},
},
Events =
{
},
Tables =
{
},
};
APIDocumentation:AddDocumentationTable(ColorUtil);
@@ -0,0 +1,54 @@
local CombatAudioAlertConstants =
{
Tables =
{
{
Name = "CAAConstants",
Type = "Constants",
Values =
{
{ Name = "CAAEnabledDefault", Type = "bool", Value = false },
{ Name = "CAAVoiceDefault", Type = "number", Value = 0 },
{ Name = "CAASayCombatStartDefault", Type = "bool", Value = true },
{ Name = "CAASayCombatEndDefault", Type = "bool", Value = true },
{ Name = "CAAPlayerHealthPercentDefault", Type = "number", Value = 0 },
{ Name = "CAAPlayerHealthFormatDefault", Type = "number", Value = 1 },
{ Name = "CAATargetNameDefault", Type = "bool", Value = true },
{ Name = "CAATargetHealthPercentDefault", Type = "number", Value = 2 },
{ Name = "CAATargetHealthFormatDefault", Type = "number", Value = 3 },
{ Name = "CAATargetDeathBehaviorDefault", Type = "number", Value = 0 },
{ Name = "CAASayIfTargetedDefault", Type = "number", Value = 1 },
{ Name = "CAAPartyHealthPercentDefault", Type = "number", Value = 0 },
{ Name = "CAAPlayerCastModeDefault", Type = "number", Value = 0 },
{ Name = "CAAPlayerCastFormatDefault", Type = "number", Value = 4 },
{ Name = "CAATargetCastModeDefault", Type = "number", Value = 0 },
{ Name = "CAATargetCastFormatDefault", Type = "number", Value = 0 },
{ Name = "CAAInterruptCastDefault", Type = "number", Value = 0 },
{ Name = "CAAInterruptCastSuccessDefault", Type = "number", Value = 0 },
{ Name = "CAASayYourDebuffsDefault", Type = "bool", Value = true },
{ Name = "CAASayYourDebuffsFormatDefault", Type = "number", Value = 0 },
{ Name = "CAASayYourDebuffsMinDurationDefault", Type = "number", Value = 1.5 },
{ Name = "CAASayYourDebuffsMinDurationMin", Type = "number", Value = 0 },
{ Name = "CAASayYourDebuffsMinDurationMax", Type = "number", Value = 5 },
{ Name = "CAASayYourDebuffsMinDurationStep", Type = "number", Value = 0.5 },
{ Name = "CAADebuffSelfAlertDefault", Type = "number", Value = 0 },
{ Name = "CAAPlayerResourcePercentDefault", Type = "number", Value = 0 },
{ Name = "CAAPlayerResourceFormatDefault", Type = "number", Value = 1 },
{ Name = "CAAMinCastTimeMin", Type = "number", Value = 0 },
{ Name = "CAAMinCastTimeMax", Type = "number", Value = 5 },
{ Name = "CAAMinCastTimeDefault", Type = "number", Value = 1.5 },
{ Name = "CAAMinCastTimeStep", Type = "number", Value = 0.5 },
{ Name = "CAAThrottleMin", Type = "number", Value = 0 },
{ Name = "CAAThrottleMax", Type = "number", Value = 5 },
{ Name = "CAAThrottleDefault", Type = "number", Value = 0 },
{ Name = "CAAThrottleStep", Type = "number", Value = 0.5 },
{ Name = "CAAFrequencyMin", Type = "number", Value = -10 },
{ Name = "CAAFrequencyMax", Type = "number", Value = 10 },
{ Name = "CAAFrequencyDefault", Type = "number", Value = 0 },
{ Name = "CAASampleTextThrottleTime", Type = "number", Value = 1 },
},
},
},
};
APIDocumentation:AddDocumentationTable(CombatAudioAlertConstants);
@@ -0,0 +1,223 @@
local CombatAudioAlert =
{
Name = "CombatAudioAlert",
Type = "System",
Namespace = "C_CombatAudioAlert",
Environment = "All",
Functions =
{
{
Name = "GetCategoryVoice",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "category", Type = "CombatAudioAlertCategory", Nilable = false },
},
Returns =
{
{ Name = "voice", Type = "number", Nilable = false },
},
},
{
Name = "GetCategoryVolume",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "category", Type = "CombatAudioAlertCategory", Nilable = false },
},
Returns =
{
{ Name = "volume", Type = "number", Nilable = false },
},
},
{
Name = "GetFormatSetting",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "unit", Type = "CombatAudioAlertUnit", Nilable = false },
{ Name = "alertType", Type = "CombatAudioAlertType", Nilable = false },
},
Returns =
{
{ Name = "formatVal", Type = "number", Nilable = false },
},
},
{
Name = "GetSpeakerSpeed",
Type = "Function",
Returns =
{
{ Name = "speed", Type = "number", Nilable = false },
},
},
{
Name = "GetSpecSetting",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "setting", Type = "CombatAudioAlertSpecSetting", Nilable = false },
},
Returns =
{
{ Name = "value", Type = "number", Nilable = false },
},
},
{
Name = "GetThrottle",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "throttleType", Type = "CombatAudioAlertThrottle", Nilable = false },
},
Returns =
{
{ Name = "throttle", Type = "number", Nilable = false },
},
},
{
Name = "IsEnabled",
Type = "Function",
Returns =
{
{ Name = "isEnabled", Type = "bool", Nilable = false },
},
},
{
Name = "SetCategoryVoice",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "category", Type = "CombatAudioAlertCategory", Nilable = false },
{ Name = "newVal", Type = "number", Nilable = false },
},
Returns =
{
{ Name = "success", Type = "bool", Nilable = false },
},
},
{
Name = "SetCategoryVolume",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "category", Type = "CombatAudioAlertCategory", Nilable = false },
{ Name = "newVal", Type = "number", Nilable = false },
},
Returns =
{
{ Name = "success", Type = "bool", Nilable = false },
},
},
{
Name = "SetFormatSetting",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "unit", Type = "CombatAudioAlertUnit", Nilable = false },
{ Name = "alertType", Type = "CombatAudioAlertType", Nilable = false },
{ Name = "newVal", Type = "number", Nilable = false },
},
Returns =
{
{ Name = "success", Type = "bool", Nilable = false },
},
},
{
Name = "SetSpeakerSpeed",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "newVal", Type = "number", Nilable = false },
},
Returns =
{
{ Name = "success", Type = "bool", Nilable = false },
},
},
{
Name = "SetSpecSetting",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "setting", Type = "CombatAudioAlertSpecSetting", Nilable = false },
{ Name = "newVal", Type = "number", Nilable = false },
},
Returns =
{
{ Name = "success", Type = "bool", Nilable = false },
},
},
{
Name = "SetThrottle",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "throttleType", Type = "CombatAudioAlertThrottle", Nilable = false },
{ Name = "newVal", Type = "number", Nilable = false },
},
Returns =
{
{ Name = "success", Type = "bool", Nilable = false },
},
},
{
Name = "SpeakText",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "text", Type = "string", Nilable = false },
{ Name = "category", Type = "CombatAudioAlertCategory", Nilable = false },
{ Name = "allowOverlap", Type = "bool", Nilable = false, Default = true },
},
},
},
Events =
{
},
Tables =
{
},
};
APIDocumentation:AddDocumentationTable(CombatAudioAlert);
@@ -0,0 +1,270 @@
local CombatAudioAlertShared =
{
Tables =
{
{
Name = "CombatAudioAlertCastState",
Type = "Enumeration",
NumValues = 3,
MinValue = 0,
MaxValue = 2,
Fields =
{
{ Name = "Off", Type = "CombatAudioAlertCastState", EnumValue = 0 },
{ Name = "OnCastStart", Type = "CombatAudioAlertCastState", EnumValue = 1 },
{ Name = "OnCastEnd", Type = "CombatAudioAlertCastState", EnumValue = 2 },
},
},
{
Name = "CombatAudioAlertCategory",
Type = "Enumeration",
NumValues = 9,
MinValue = 0,
MaxValue = 8,
Fields =
{
{ Name = "General", Type = "CombatAudioAlertCategory", EnumValue = 0 },
{ Name = "PlayerHealth", Type = "CombatAudioAlertCategory", EnumValue = 1 },
{ Name = "TargetHealth", Type = "CombatAudioAlertCategory", EnumValue = 2 },
{ Name = "PlayerCast", Type = "CombatAudioAlertCategory", EnumValue = 3 },
{ Name = "TargetCast", Type = "CombatAudioAlertCategory", EnumValue = 4 },
{ Name = "PlayerResource1", Type = "CombatAudioAlertCategory", EnumValue = 5 },
{ Name = "PlayerResource2", Type = "CombatAudioAlertCategory", EnumValue = 6 },
{ Name = "PartyHealth", Type = "CombatAudioAlertCategory", EnumValue = 7 },
{ Name = "PlayerDebuffs", Type = "CombatAudioAlertCategory", EnumValue = 8 },
},
},
{
Name = "CombatAudioAlertDebuffSelfAlertValues",
Type = "Enumeration",
NumValues = 2,
MinValue = 0,
MaxValue = 1,
Fields =
{
{ Name = "Off", Type = "CombatAudioAlertDebuffSelfAlertValues", EnumValue = 0 },
{ Name = "DispelType", Type = "CombatAudioAlertDebuffSelfAlertValues", EnumValue = 1 },
},
},
{
Name = "CombatAudioAlertPartyPercentValues",
Type = "Enumeration",
NumValues = 11,
MinValue = 0,
MaxValue = 10,
Fields =
{
{ Name = "Off", Type = "CombatAudioAlertPartyPercentValues", EnumValue = 0 },
{ Name = "Under100Percent", Type = "CombatAudioAlertPartyPercentValues", EnumValue = 1 },
{ Name = "Under90Percent", Type = "CombatAudioAlertPartyPercentValues", EnumValue = 2 },
{ Name = "Under80Percent", Type = "CombatAudioAlertPartyPercentValues", EnumValue = 3 },
{ Name = "Under70Percent", Type = "CombatAudioAlertPartyPercentValues", EnumValue = 4 },
{ Name = "Under60Percent", Type = "CombatAudioAlertPartyPercentValues", EnumValue = 5 },
{ Name = "Under50Percent", Type = "CombatAudioAlertPartyPercentValues", EnumValue = 6 },
{ Name = "Under40Percent", Type = "CombatAudioAlertPartyPercentValues", EnumValue = 7 },
{ Name = "Under30Percent", Type = "CombatAudioAlertPartyPercentValues", EnumValue = 8 },
{ Name = "Under20Percent", Type = "CombatAudioAlertPartyPercentValues", EnumValue = 9 },
{ Name = "Under10Percent", Type = "CombatAudioAlertPartyPercentValues", EnumValue = 10 },
},
},
{
Name = "CombatAudioAlertPercentValues",
Type = "Enumeration",
NumValues = 6,
MinValue = 0,
MaxValue = 5,
Fields =
{
{ Name = "Off", Type = "CombatAudioAlertPercentValues", EnumValue = 0 },
{ Name = "Every10Percent", Type = "CombatAudioAlertPercentValues", EnumValue = 1 },
{ Name = "Every20Percent", Type = "CombatAudioAlertPercentValues", EnumValue = 2 },
{ Name = "Every30Percent", Type = "CombatAudioAlertPercentValues", EnumValue = 3 },
{ Name = "Every40Percent", Type = "CombatAudioAlertPercentValues", EnumValue = 4 },
{ Name = "Every50Percent", Type = "CombatAudioAlertPercentValues", EnumValue = 5 },
},
},
{
Name = "CombatAudioAlertPlayerCastFormatValues",
Type = "Enumeration",
NumValues = 5,
MinValue = 0,
MaxValue = 4,
Fields =
{
{ Name = "CastingSpellname", Type = "CombatAudioAlertPlayerCastFormatValues", EnumValue = 0 },
{ Name = "CastSpellname", Type = "CombatAudioAlertPlayerCastFormatValues", EnumValue = 1 },
{ Name = "Casting", Type = "CombatAudioAlertPlayerCastFormatValues", EnumValue = 2 },
{ Name = "Cast", Type = "CombatAudioAlertPlayerCastFormatValues", EnumValue = 3 },
{ Name = "Spellname", Type = "CombatAudioAlertPlayerCastFormatValues", EnumValue = 4 },
},
},
{
Name = "CombatAudioAlertPlayerDebuffFormatValues",
Type = "Enumeration",
NumValues = 2,
MinValue = 0,
MaxValue = 1,
Fields =
{
{ Name = "Full", Type = "CombatAudioAlertPlayerDebuffFormatValues", EnumValue = 0 },
{ Name = "NoSpellname", Type = "CombatAudioAlertPlayerDebuffFormatValues", EnumValue = 1 },
},
},
{
Name = "CombatAudioAlertPlayerHealthFormatValues",
Type = "Enumeration",
NumValues = 6,
MinValue = 0,
MaxValue = 5,
Fields =
{
{ Name = "HealthFull", Type = "CombatAudioAlertPlayerHealthFormatValues", EnumValue = 0 },
{ Name = "HealthNoPercent", Type = "CombatAudioAlertPlayerHealthFormatValues", EnumValue = 1 },
{ Name = "HealthNoPercentDiv10", Type = "CombatAudioAlertPlayerHealthFormatValues", EnumValue = 2 },
{ Name = "NoHealthFull", Type = "CombatAudioAlertPlayerHealthFormatValues", EnumValue = 3 },
{ Name = "NoHealthNoPercent", Type = "CombatAudioAlertPlayerHealthFormatValues", EnumValue = 4 },
{ Name = "NoHealthNoPercentDiv10", Type = "CombatAudioAlertPlayerHealthFormatValues", EnumValue = 5 },
},
},
{
Name = "CombatAudioAlertPlayerResourceFormatValues",
Type = "Enumeration",
NumValues = 6,
MinValue = 0,
MaxValue = 5,
Fields =
{
{ Name = "ResourceFull", Type = "CombatAudioAlertPlayerResourceFormatValues", EnumValue = 0 },
{ Name = "ResourceNoPercent", Type = "CombatAudioAlertPlayerResourceFormatValues", EnumValue = 1 },
{ Name = "ResourceNoPercentDiv10", Type = "CombatAudioAlertPlayerResourceFormatValues", EnumValue = 2 },
{ Name = "NoResourceFull", Type = "CombatAudioAlertPlayerResourceFormatValues", EnumValue = 3 },
{ Name = "NoResourceNoPercent", Type = "CombatAudioAlertPlayerResourceFormatValues", EnumValue = 4 },
{ Name = "NoResourceNoPercentDiv10", Type = "CombatAudioAlertPlayerResourceFormatValues", EnumValue = 5 },
},
},
{
Name = "CombatAudioAlertSayIfTargetedType",
Type = "Enumeration",
NumValues = 4,
MinValue = 0,
MaxValue = 3,
Fields =
{
{ Name = "None", Type = "CombatAudioAlertSayIfTargetedType", EnumValue = 0 },
{ Name = "Aggro", Type = "CombatAudioAlertSayIfTargetedType", EnumValue = 1 },
{ Name = "Targeted", Type = "CombatAudioAlertSayIfTargetedType", EnumValue = 2 },
{ Name = "TargetedBy", Type = "CombatAudioAlertSayIfTargetedType", EnumValue = 3 },
},
},
{
Name = "CombatAudioAlertSpecSetting",
Type = "Enumeration",
NumValues = 9,
MinValue = 0,
MaxValue = 8,
Fields =
{
{ Name = "Resource1Percent", Type = "CombatAudioAlertSpecSetting", EnumValue = 0 },
{ Name = "Resource1Format", Type = "CombatAudioAlertSpecSetting", EnumValue = 1 },
{ Name = "Resource1Voice", Type = "CombatAudioAlertSpecSetting", EnumValue = 2 },
{ Name = "Resource1Volume", Type = "CombatAudioAlertSpecSetting", EnumValue = 3 },
{ Name = "Resource2Percent", Type = "CombatAudioAlertSpecSetting", EnumValue = 4 },
{ Name = "Resource2Format", Type = "CombatAudioAlertSpecSetting", EnumValue = 5 },
{ Name = "Resource2Voice", Type = "CombatAudioAlertSpecSetting", EnumValue = 6 },
{ Name = "Resource2Volume", Type = "CombatAudioAlertSpecSetting", EnumValue = 7 },
{ Name = "SayIfTargeted", Type = "CombatAudioAlertSpecSetting", EnumValue = 8 },
},
},
{
Name = "CombatAudioAlertTargetCastFormatValues",
Type = "Enumeration",
NumValues = 7,
MinValue = 0,
MaxValue = 6,
Fields =
{
{ Name = "TargetCastingSpellname", Type = "CombatAudioAlertTargetCastFormatValues", EnumValue = 0 },
{ Name = "TargetCastSpellname", Type = "CombatAudioAlertTargetCastFormatValues", EnumValue = 1 },
{ Name = "CastingSpellname", Type = "CombatAudioAlertTargetCastFormatValues", EnumValue = 2 },
{ Name = "CastSpellname", Type = "CombatAudioAlertTargetCastFormatValues", EnumValue = 3 },
{ Name = "Casting", Type = "CombatAudioAlertTargetCastFormatValues", EnumValue = 4 },
{ Name = "Cast", Type = "CombatAudioAlertTargetCastFormatValues", EnumValue = 5 },
{ Name = "Spellname", Type = "CombatAudioAlertTargetCastFormatValues", EnumValue = 6 },
},
},
{
Name = "CombatAudioAlertTargetDeathBehavior",
Type = "Enumeration",
NumValues = 2,
MinValue = 0,
MaxValue = 1,
Fields =
{
{ Name = "Default", Type = "CombatAudioAlertTargetDeathBehavior", EnumValue = 0 },
{ Name = "SayTargetDead", Type = "CombatAudioAlertTargetDeathBehavior", EnumValue = 1 },
},
},
{
Name = "CombatAudioAlertTargetHealthFormatValues",
Type = "Enumeration",
NumValues = 9,
MinValue = 0,
MaxValue = 8,
Fields =
{
{ Name = "NoHealthFull", Type = "CombatAudioAlertTargetHealthFormatValues", EnumValue = 0 },
{ Name = "NoHealthNoPercent", Type = "CombatAudioAlertTargetHealthFormatValues", EnumValue = 1 },
{ Name = "NoHealthNoPercentDiv10", Type = "CombatAudioAlertTargetHealthFormatValues", EnumValue = 2 },
{ Name = "HealthFull", Type = "CombatAudioAlertTargetHealthFormatValues", EnumValue = 3 },
{ Name = "HealthNoPercent", Type = "CombatAudioAlertTargetHealthFormatValues", EnumValue = 4 },
{ Name = "HealthNoPercentDiv10", Type = "CombatAudioAlertTargetHealthFormatValues", EnumValue = 5 },
{ Name = "TargetFull", Type = "CombatAudioAlertTargetHealthFormatValues", EnumValue = 6 },
{ Name = "TargetNoPercent", Type = "CombatAudioAlertTargetHealthFormatValues", EnumValue = 7 },
{ Name = "TargetNoPercentDiv10", Type = "CombatAudioAlertTargetHealthFormatValues", EnumValue = 8 },
},
},
{
Name = "CombatAudioAlertThrottle",
Type = "Enumeration",
NumValues = 7,
MinValue = 0,
MaxValue = 6,
Fields =
{
{ Name = "Sample", Type = "CombatAudioAlertThrottle", EnumValue = 0 },
{ Name = "PlayerHealth", Type = "CombatAudioAlertThrottle", EnumValue = 1 },
{ Name = "TargetHealth", Type = "CombatAudioAlertThrottle", EnumValue = 2 },
{ Name = "PlayerCast", Type = "CombatAudioAlertThrottle", EnumValue = 3 },
{ Name = "TargetCast", Type = "CombatAudioAlertThrottle", EnumValue = 4 },
{ Name = "PlayerResource1", Type = "CombatAudioAlertThrottle", EnumValue = 5 },
{ Name = "PlayerResource2", Type = "CombatAudioAlertThrottle", EnumValue = 6 },
},
},
{
Name = "CombatAudioAlertType",
Type = "Enumeration",
NumValues = 2,
MinValue = 0,
MaxValue = 1,
Fields =
{
{ Name = "Health", Type = "CombatAudioAlertType", EnumValue = 0 },
{ Name = "Cast", Type = "CombatAudioAlertType", EnumValue = 1 },
},
},
{
Name = "CombatAudioAlertUnit",
Type = "Enumeration",
NumValues = 2,
MinValue = 0,
MaxValue = 1,
Fields =
{
{ Name = "Player", Type = "CombatAudioAlertUnit", EnumValue = 0 },
{ Name = "Target", Type = "CombatAudioAlertUnit", EnumValue = 1 },
},
},
},
};
APIDocumentation:AddDocumentationTable(CombatAudioAlertShared);
@@ -0,0 +1,87 @@
local CombatLogConstants =
{
Tables =
{
{
Name = "CombatLogObject",
Type = "Enumeration",
NumValues = 20,
MinValue = 0,
MaxValue = 2147483648,
Fields =
{
{ Name = "Empty", Type = "CombatLogObject", EnumValue = 0 },
{ Name = "AffiliationMine", Type = "CombatLogObject", EnumValue = 1 },
{ Name = "AffiliationParty", Type = "CombatLogObject", EnumValue = 2 },
{ Name = "AffiliationRaid", Type = "CombatLogObject", EnumValue = 4 },
{ Name = "AffiliationOutsider", Type = "CombatLogObject", EnumValue = 8 },
{ Name = "ReactionFriendly", Type = "CombatLogObject", EnumValue = 16 },
{ Name = "ReactionNeutral", Type = "CombatLogObject", EnumValue = 32 },
{ Name = "ReactionHostile", Type = "CombatLogObject", EnumValue = 64 },
{ Name = "ControlPlayer", Type = "CombatLogObject", EnumValue = 256 },
{ Name = "ControlNpc", Type = "CombatLogObject", EnumValue = 512 },
{ Name = "TypePlayer", Type = "CombatLogObject", EnumValue = 1024 },
{ Name = "TypeNpc", Type = "CombatLogObject", EnumValue = 2048 },
{ Name = "TypePet", Type = "CombatLogObject", EnumValue = 4096 },
{ Name = "TypeGuardian", Type = "CombatLogObject", EnumValue = 8192 },
{ Name = "TypeObject", Type = "CombatLogObject", EnumValue = 16384 },
{ Name = "Target", Type = "CombatLogObject", EnumValue = 65536 },
{ Name = "Focus", Type = "CombatLogObject", EnumValue = 131072 },
{ Name = "Maintank", Type = "CombatLogObject", EnumValue = 262144 },
{ Name = "Mainassist", Type = "CombatLogObject", EnumValue = 524288 },
{ Name = "None", Type = "CombatLogObject", EnumValue = 2147483648 },
},
},
{
Name = "CombatLogObjectTarget",
Type = "Enumeration",
NumValues = 9,
MinValue = 1,
MaxValue = 2147483648,
Fields =
{
{ Name = "Raidtarget1", Type = "CombatLogObjectTarget", EnumValue = 1 },
{ Name = "Raidtarget2", Type = "CombatLogObjectTarget", EnumValue = 2 },
{ Name = "Raidtarget3", Type = "CombatLogObjectTarget", EnumValue = 4 },
{ Name = "Raidtarget4", Type = "CombatLogObjectTarget", EnumValue = 8 },
{ Name = "Raidtarget5", Type = "CombatLogObjectTarget", EnumValue = 16 },
{ Name = "Raidtarget6", Type = "CombatLogObjectTarget", EnumValue = 32 },
{ Name = "Raidtarget7", Type = "CombatLogObjectTarget", EnumValue = 64 },
{ Name = "Raidtarget8", Type = "CombatLogObjectTarget", EnumValue = 128 },
{ Name = "RaidNone", Type = "CombatLogObjectTarget", EnumValue = 2147483648 },
},
},
{
Name = "CombatLogMessageLimits",
Type = "Constants",
Values =
{
{ Name = "CombatLogDefaultMessageLimit", Type = "number", Value = 300 },
{ Name = "CombatLogMaximumMessageLimit", Type = "number", Value = 1000 },
},
},
{
Name = "CombatLogObjectMasks",
Type = "Constants",
Values =
{
{ Name = "COMBATLOG_OBJECT_AFFILIATION_MASK", Type = "CombatLogObject", Value = 15 },
{ Name = "COMBATLOG_OBJECT_REACTION_MASK", Type = "CombatLogObject", Value = 240 },
{ Name = "COMBATLOG_OBJECT_CONTROL_MASK", Type = "CombatLogObject", Value = 768 },
{ Name = "COMBATLOG_OBJECT_TYPE_MASK", Type = "CombatLogObject", Value = 64512 },
{ Name = "COMBATLOG_OBJECT_SPECIAL_MASK", Type = "CombatLogObject", Value = 4294901760 },
},
},
{
Name = "CombatLogObjectTargetMasks",
Type = "Constants",
Values =
{
{ Name = "COMBATLOG_OBJECT_RAID_TARGET_MASK", Type = "CombatLogObjectTarget", Value = 255 },
{ Name = "COMBATLOG_OBJECT_RAID_MASK", Type = "CombatLogObjectTarget", Value = 4294967295 },
},
},
},
};
APIDocumentation:AddDocumentationTable(CombatLogConstants);
@@ -0,0 +1,154 @@
local CombatLog =
{
Name = "CombatLog",
Type = "System",
Namespace = "C_CombatLog",
Environment = "All",
Functions =
{
{
Name = "ApplyFilterSettings",
Type = "Function",
HasRestrictions = true,
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "filterSettings", Type = "LuaValueVariant", Nilable = false },
},
},
{
Name = "AreFilteredEventsEnabled",
Type = "Function",
Returns =
{
{ Name = "enabled", Type = "bool", Nilable = false },
},
},
{
Name = "ClearEntries",
Type = "Function",
},
{
Name = "DoesObjectMatchFilter",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "mask", Type = "CombatLogObject", Nilable = false },
{ Name = "flags", Type = "CombatLogObject", Nilable = false },
},
Returns =
{
{ Name = "matches", Type = "bool", Nilable = false },
},
},
{
Name = "GetEntryRetentionTime",
Type = "Function",
Returns =
{
{ Name = "retentionTime", Type = "number", Nilable = false },
},
},
{
Name = "GetMessageLimit",
Type = "Function",
Returns =
{
{ Name = "messageLimit", Type = "number", Nilable = false },
},
},
{
Name = "IsCombatLogRestricted",
Type = "Function",
Returns =
{
{ Name = "restricted", Type = "bool", Nilable = false },
},
},
{
Name = "RefilterEntries",
Type = "Function",
},
{
Name = "SetEntryRetentionTime",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "retentionTime", Type = "number", Nilable = false },
},
},
{
Name = "SetFilteredEventsEnabled",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "enabled", Type = "bool", Nilable = false },
},
},
{
Name = "SetMessageLimit",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "messageLimit", Type = "number", Nilable = false },
},
},
},
Events =
{
{
Name = "CombatLogEntriesCleared",
Type = "Event",
LiteralName = "COMBAT_LOG_ENTRIES_CLEARED",
SynchronousEvent = true,
},
{
Name = "CombatLogEvent",
Type = "Event",
LiteralName = "COMBAT_LOG_EVENT",
HasRestrictions = true,
SynchronousEvent = true,
CallbackEvent = true,
},
{
Name = "CombatLogEventUnfiltered",
Type = "Event",
LiteralName = "COMBAT_LOG_EVENT_UNFILTERED",
HasRestrictions = true,
SynchronousEvent = true,
CallbackEvent = true,
},
{
Name = "CombatLogMessageLimitChanged",
Type = "Event",
LiteralName = "COMBAT_LOG_MESSAGE_LIMIT_CHANGED",
SynchronousEvent = true,
Payload =
{
{ Name = "messageLimit", Type = "number", Nilable = false },
},
},
},
Tables =
{
},
};
APIDocumentation:AddDocumentationTable(CombatLog);
@@ -0,0 +1,36 @@
local CombatLogInternal =
{
Name = "CombatLogInternal",
Type = "System",
Namespace = "C_CombatLogInternal",
Environment = "All",
Functions =
{
{
Name = "GetCurrentEventInfo",
Type = "Function",
Returns =
{
},
},
},
Events =
{
{
Name = "CombatLogEventInternalUnfiltered",
Type = "Event",
LiteralName = "COMBAT_LOG_EVENT_INTERNAL_UNFILTERED",
SynchronousEvent = true,
CallbackEvent = true,
},
},
Tables =
{
},
};
APIDocumentation:AddDocumentationTable(CombatLogInternal);
@@ -0,0 +1,154 @@
local CombatLogSecure =
{
Name = "CombatLogSecure",
Type = "System",
Namespace = "C_CombatLogSecure",
Environment = "SecureOnly",
Functions =
{
{
Name = "AddEventFilter",
Type = "Function",
HasRestrictions = true,
},
{
Name = "ClearEventFilters",
Type = "Function",
HasRestrictions = true,
},
{
Name = "CreateCombatLogMessage",
Type = "Function",
HasRestrictions = true,
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "message", Type = "string", Nilable = false },
{ Name = "colorR", Type = "number", Nilable = false },
{ Name = "colorG", Type = "number", Nilable = false },
{ Name = "colorB", Type = "number", Nilable = false },
{ Name = "order", Type = "CombatLogMessageOrder", Nilable = false },
},
},
{
Name = "GetCurrentEntryInfo",
Type = "Function",
HasRestrictions = true,
Returns =
{
},
},
{
Name = "GetCurrentEventInfo",
Type = "Function",
HasRestrictions = true,
Returns =
{
},
},
{
Name = "GetEntryCount",
Type = "Function",
HasRestrictions = true,
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "ignoreFilter", Type = "bool", Nilable = false, Default = false },
},
Returns =
{
{ Name = "count", Type = "number", Nilable = false },
},
},
{
Name = "SeekToNewestEntry",
Type = "Function",
HasRestrictions = true,
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "ignoreFilter", Type = "bool", Nilable = false, Default = false },
},
Returns =
{
{ Name = "isValidEntry", Type = "bool", Nilable = false },
},
},
{
Name = "SeekToPreviousEntry",
Type = "Function",
HasRestrictions = true,
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "ignoreFilter", Type = "bool", Nilable = false, Default = false },
},
Returns =
{
{ Name = "isValidEntry", Type = "bool", Nilable = false },
},
},
{
Name = "ShouldShowCurrentEntry",
Type = "Function",
HasRestrictions = true,
Returns =
{
{ Name = "shouldShow", Type = "bool", Nilable = false },
},
},
},
Events =
{
{
Name = "CombatLogApplyFilterSettings",
Type = "Event",
LiteralName = "COMBAT_LOG_APPLY_FILTER_SETTINGS",
HasRestrictions = true,
CallbackEvent = true,
Payload =
{
{ Name = "filterSettings", Type = "LuaValueVariant", Nilable = false },
},
},
{
Name = "CombatLogMessage",
Type = "Event",
LiteralName = "COMBAT_LOG_MESSAGE",
SynchronousEvent = true,
Payload =
{
{ Name = "message", Type = "string", Nilable = false, Documentation = { "A preformatted combat log message protected by a |K string wrapper." } },
{ Name = "colorR", Type = "number", Nilable = false },
{ Name = "colorG", Type = "number", Nilable = false },
{ Name = "colorB", Type = "number", Nilable = false },
{ Name = "order", Type = "CombatLogMessageOrder", Nilable = false },
},
},
{
Name = "CombatLogRefilterEntries",
Type = "Event",
LiteralName = "COMBAT_LOG_REFILTER_ENTRIES",
HasRestrictions = true,
CallbackEvent = true,
},
},
Tables =
{
},
};
APIDocumentation:AddDocumentationTable(CombatLogSecure);
@@ -0,0 +1,27 @@
local CombatLogShared =
{
Tables =
{
{
Name = "CombatLogMessageOrder",
Type = "Enumeration",
NumValues = 2,
MinValue = 0,
MaxValue = 1,
Fields =
{
{ Name = "Newest", Type = "CombatLogMessageOrder", EnumValue = 0 },
{ Name = "Oldest", Type = "CombatLogMessageOrder", EnumValue = 1 },
},
},
{
Name = "CombatLogEventInfo",
Type = "Structure",
Fields =
{
},
},
},
};
APIDocumentation:AddDocumentationTable(CombatLogShared);
@@ -0,0 +1,59 @@
local CombatText =
{
Name = "CombatText",
Type = "System",
Namespace = "C_CombatText",
Environment = "All",
Functions =
{
{
Name = "GetActiveUnit",
Type = "Function",
Returns =
{
{ Name = "unitTarget", Type = "string", Nilable = true },
},
},
{
Name = "GetCurrentEventInfo",
Type = "Function",
SecretReturns = true,
Returns =
{
},
},
{
Name = "SetActiveUnit",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "unitToken", Type = "UnitToken", Nilable = false },
},
},
},
Events =
{
{
Name = "CombatTextUpdate",
Type = "Event",
LiteralName = "COMBAT_TEXT_UPDATE",
SynchronousEvent = true,
Payload =
{
{ Name = "combatTextType", Type = "cstring", Nilable = false },
},
},
},
Tables =
{
},
};
APIDocumentation:AddDocumentationTable(CombatText);

Some files were not shown because too many files have changed in this diff Show More