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,540 @@
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 },
},
},
},
Predicates =
{
},
};
APIDocumentation:AddDocumentationTable(ChallengeModeInfo);