Files
SessionGoldTracker/docs/blizzard-api/Blizzard_APIDocumentationGenerated/GarrisonInfoDocumentation.lua
T
2026-10-15 14:27:00 +11:00

1464 lines
39 KiB
Lua

local GarrisonInfo =
{
Name = "GarrisonInfo",
Type = "System",
Namespace = "C_Garrison",
Environment = "All",
Functions =
{
{
Name = "AddFollowerToMission",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "missionID", Type = "number", Nilable = false },
{ Name = "followerID", Type = "GarrisonFollower", Nilable = false },
{ Name = "boardIndex", Type = "number", Nilable = true },
},
Returns =
{
{ Name = "followerAdded", Type = "bool", Nilable = false },
},
},
{
Name = "GetAutoCombatDamageClassValues",
Type = "Function",
Returns =
{
{ Name = "damageClassStrings", Type = "table", InnerType = "AutoCombatDamageClassString", Nilable = false },
},
},
{
Name = "GetAutoMissionBoardState",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "missionID", Type = "number", Nilable = false },
},
Returns =
{
{ Name = "targetInfo", Type = "table", InnerType = "AutoMissionTargetingInfo", Nilable = false },
},
},
{
Name = "GetAutoMissionEnvironmentEffect",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "missionID", Type = "number", Nilable = false },
},
Returns =
{
{ Name = "autoMissionEnvEffect", Type = "AutoMissionEnvironmentEffect", Nilable = true },
},
},
{
Name = "GetAutoMissionTargetingInfo",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "missionID", Type = "number", Nilable = false },
{ Name = "followerID", Type = "GarrisonFollower", Nilable = false },
{ Name = "casterBoardIndex", Type = "number", Nilable = false },
},
Returns =
{
{ Name = "targetInfo", Type = "table", InnerType = "AutoMissionTargetingInfo", Nilable = false },
},
},
{
Name = "GetAutoMissionTargetingInfoForSpell",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "missionID", Type = "number", Nilable = false },
{ Name = "autoCombatSpellID", Type = "number", Nilable = false },
{ Name = "casterBoardIndex", Type = "number", Nilable = false },
},
Returns =
{
{ Name = "targetInfo", Type = "table", InnerType = "AutoMissionTargetingInfo", Nilable = false },
},
},
{
Name = "GetAutoTroops",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "followerType", Type = "number", Nilable = false },
},
Returns =
{
{ Name = "autoTroopInfo", Type = "table", InnerType = "AutoCombatTroopInfo", Nilable = false },
},
},
{
Name = "GetCombatLogSpellInfo",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "autoCombatSpellID", Type = "number", Nilable = false },
},
Returns =
{
{ Name = "spellInfo", Type = "AutoCombatSpellInfo", Nilable = true },
},
},
{
Name = "GetCurrentCypherEquipmentLevel",
Type = "Function",
Returns =
{
{ Name = "equipmentLevel", Type = "number", Nilable = false },
},
},
{
Name = "GetCurrentGarrTalentTreeFriendshipFactionID",
Type = "Function",
Returns =
{
{ Name = "currentGarrTalentTreeFriendshipFactionID", Type = "number", Nilable = true },
},
},
{
Name = "GetCurrentGarrTalentTreeID",
Type = "Function",
Returns =
{
{ Name = "currentGarrTalentTreeID", Type = "number", Nilable = true },
},
},
{
Name = "GetCyphersToNextEquipmentLevel",
Type = "Function",
Returns =
{
{ Name = "cyphersToNext", Type = "number", Nilable = true },
},
},
{
Name = "GetFollowerAutoCombatSpells",
Type = "Function",
MayReturnNothing = true,
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "garrFollowerID", Type = "GarrisonFollower", Nilable = false },
{ Name = "followerLevel", Type = "number", Nilable = false },
},
Returns =
{
{ Name = "autoCombatSpells", Type = "table", InnerType = "AutoCombatSpellInfo", Nilable = false },
{ Name = "autoCombatAutoAttack", Type = "AutoCombatSpellInfo", Nilable = true },
},
},
{
Name = "GetFollowerAutoCombatStats",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "garrFollowerID", Type = "GarrisonFollower", Nilable = false },
},
Returns =
{
{ Name = "autoCombatInfo", Type = "FollowerAutoCombatStatsInfo", Nilable = true },
},
},
{
Name = "GetFollowerMissionCompleteInfo",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "followerID", Type = "GarrisonFollower", Nilable = false },
},
Returns =
{
{ Name = "followerMissionCompleteInfo", Type = "FollowerMissionCompleteInfo", Nilable = false },
},
},
{
Name = "GetGarrisonPlotsInstancesForMap",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "uiMapID", Type = "number", Nilable = false },
},
Returns =
{
{ Name = "garrisonPlotInstances", Type = "table", InnerType = "GarrisonPlotInstanceMapInfo", Nilable = false },
},
},
{
Name = "GetGarrisonTalentTreeCurrencyTypes",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "garrTalentTreeID", Type = "number", Nilable = false },
},
Returns =
{
{ Name = "garrTalentTreeCurrencyType", Type = "number", Nilable = true },
},
},
{
Name = "GetGarrisonTalentTreeType",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "garrTalentTreeID", Type = "number", Nilable = false },
},
Returns =
{
{ Name = "garrTalentTreeType", Type = "number", Nilable = false },
},
},
{
Name = "GetMaxCypherEquipmentLevel",
Type = "Function",
Returns =
{
{ Name = "maxEquipmentLevel", Type = "number", Nilable = false },
},
},
{
Name = "GetMissionCompleteEncounters",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "missionID", Type = "number", Nilable = false },
},
Returns =
{
{ Name = "encounters", Type = "table", InnerType = "GarrisonEnemyEncounterInfo", Nilable = false },
},
},
{
Name = "GetMissionDeploymentInfo",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "missionID", Type = "number", Nilable = false },
},
Returns =
{
{ Name = "missionDeploymentInfo", Type = "MissionDeploymentInfo", Nilable = false },
},
},
{
Name = "GetMissionEncounterIconInfo",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "missionID", Type = "number", Nilable = false },
},
Returns =
{
{ Name = "missionEncounterIconInfo", Type = "MissionEncounterIconInfo", Nilable = false },
},
},
{
Name = "GetTalentInfo",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "talentID", Type = "number", Nilable = false },
},
Returns =
{
{ Name = "info", Type = "GarrisonTalentInfo", Nilable = false },
},
},
{
Name = "GetTalentPointsSpentInTalentTree",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "garrTalentTreeID", Type = "number", Nilable = false },
},
Returns =
{
{ Name = "talentPoints", Type = "number", Nilable = false },
},
},
{
Name = "GetTalentTreeIDsByClassID",
Type = "Function",
MayReturnNothing = true,
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "garrType", Type = "number", Nilable = false },
{ Name = "classID", Type = "number", Nilable = false },
},
Returns =
{
{ Name = "treeIDs", Type = "table", InnerType = "number", Nilable = false },
},
},
{
Name = "GetTalentTreeInfo",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "treeID", Type = "number", Nilable = false },
},
Returns =
{
{ Name = "info", Type = "GarrisonTalentTreeInfo", Nilable = false },
},
},
{
Name = "GetTalentTreeResetInfo",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "garrTalentTreeID", Type = "number", Nilable = false },
},
Returns =
{
{ Name = "goldCost", Type = "number", Nilable = false },
{ Name = "currencyCosts", Type = "table", InnerType = "GarrisonTalentCurrencyCostInfo", Nilable = false },
},
},
{
Name = "GetTalentTreeTalentPointResearchInfo",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "garrTalentID", Type = "number", Nilable = false },
{ Name = "researchRank", Type = "number", Nilable = false },
{ Name = "garrTalentTreeID", Type = "number", Nilable = false },
{ Name = "talentPointIndex", Type = "number", Nilable = false },
{ Name = "isRespec", Type = "bool", Nilable = false },
},
Returns =
{
{ Name = "goldCost", Type = "number", Nilable = false },
{ Name = "currencyCosts", Type = "table", InnerType = "GarrisonTalentCurrencyCostInfo", Nilable = false },
{ Name = "durationSecs", Type = "number", Nilable = false },
},
},
{
Name = "GetTalentUnlockWorldQuest",
Type = "Function",
MayReturnNothing = true,
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "talentID", Type = "number", Nilable = false },
},
Returns =
{
{ Name = "worldQuestID", Type = "number", Nilable = false },
},
},
{
Name = "HasAdventures",
Type = "Function",
Returns =
{
{ Name = "hasAdventures", Type = "bool", Nilable = false },
},
},
{
Name = "IsAtGarrisonMissionNPC",
Type = "Function",
Returns =
{
{ Name = "atGarrisonMissionNPC", Type = "bool", Nilable = false },
},
},
{
Name = "IsEnvironmentCountered",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "missionID", Type = "number", Nilable = false },
},
Returns =
{
{ Name = "environmentCountered", Type = "bool", Nilable = false },
},
},
{
Name = "IsFollowerOnCompletedMission",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "followerID", Type = "GarrisonFollower", Nilable = false },
},
Returns =
{
{ Name = "followerOnCompletedMission", Type = "bool", Nilable = false },
},
},
{
Name = "IsLandingPageMinimapButtonVisible",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "garrType", Type = "number", Nilable = false },
},
Returns =
{
{ Name = "isLandingPageMinimapButtonVisible", Type = "bool", Nilable = false },
},
},
{
Name = "IsTalentConditionMet",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "talentID", Type = "number", Nilable = false },
},
Returns =
{
{ Name = "isMet", Type = "bool", Nilable = false },
{ Name = "failureString", Type = "cstring", Nilable = true },
},
},
{
Name = "RegenerateCombatLog",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "missionID", Type = "number", Nilable = false },
},
Returns =
{
{ Name = "success", Type = "bool", Nilable = false },
},
},
{
Name = "RemoveFollowerFromMission",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "missionID", Type = "number", Nilable = false },
{ Name = "followerID", Type = "GarrisonFollower", Nilable = false },
{ Name = "boardIndex", Type = "number", Nilable = true },
},
},
{
Name = "RushHealAllFollowers",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "followerType", Type = "number", Nilable = false },
},
},
{
Name = "RushHealFollower",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "garrFollowerID", Type = "GarrisonFollower", Nilable = false },
},
},
{
Name = "SetAutoCombatSpellFastForward",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "state", Type = "bool", Nilable = false },
},
},
},
Events =
{
{
Name = "GarrisonArchitectClosed",
Type = "Event",
LiteralName = "GARRISON_ARCHITECT_CLOSED",
SynchronousEvent = true,
},
{
Name = "GarrisonArchitectOpened",
Type = "Event",
LiteralName = "GARRISON_ARCHITECT_OPENED",
SynchronousEvent = true,
Payload =
{
{ Name = "followerTypeID", Type = "number", Nilable = false },
},
},
{
Name = "GarrisonBuildingActivatable",
Type = "Event",
LiteralName = "GARRISON_BUILDING_ACTIVATABLE",
SynchronousEvent = true,
Payload =
{
{ Name = "buildingName", Type = "cstring", Nilable = false },
{ Name = "garrisonType", Type = "number", Nilable = false },
},
},
{
Name = "GarrisonBuildingActivated",
Type = "Event",
LiteralName = "GARRISON_BUILDING_ACTIVATED",
SynchronousEvent = true,
Payload =
{
{ Name = "garrisonPlotInstanceID", Type = "number", Nilable = false },
{ Name = "garrisonBuildingID", Type = "number", Nilable = false },
},
},
{
Name = "GarrisonBuildingError",
Type = "Event",
LiteralName = "GARRISON_BUILDING_ERROR",
SynchronousEvent = true,
},
{
Name = "GarrisonBuildingListUpdate",
Type = "Event",
LiteralName = "GARRISON_BUILDING_LIST_UPDATE",
SynchronousEvent = true,
Payload =
{
{ Name = "categoryID", Type = "number", Nilable = false },
},
},
{
Name = "GarrisonBuildingPlaced",
Type = "Event",
LiteralName = "GARRISON_BUILDING_PLACED",
SynchronousEvent = true,
Payload =
{
{ Name = "garrisonPlotInstanceID", Type = "number", Nilable = false },
{ Name = "newPlacement", Type = "bool", Nilable = false },
},
},
{
Name = "GarrisonBuildingRemoved",
Type = "Event",
LiteralName = "GARRISON_BUILDING_REMOVED",
SynchronousEvent = true,
Payload =
{
{ Name = "garrPlotInstanceID", Type = "number", Nilable = false },
{ Name = "garrBuildingID", Type = "number", Nilable = false },
},
},
{
Name = "GarrisonBuildingUpdate",
Type = "Event",
LiteralName = "GARRISON_BUILDING_UPDATE",
SynchronousEvent = true,
Payload =
{
{ Name = "garrisonBuildingID", Type = "number", Nilable = false },
{ Name = "garrPlotInstanceID", Type = "number", Nilable = true },
},
},
{
Name = "GarrisonFollowerAdded",
Type = "Event",
LiteralName = "GARRISON_FOLLOWER_ADDED",
SynchronousEvent = true,
Payload =
{
{ Name = "followerDbID", Type = "GarrisonFollower", Nilable = false },
{ Name = "followerName", Type = "cstring", Nilable = false },
{ Name = "followerClassName", Type = "cstring", Nilable = false },
{ Name = "followerLevel", Type = "number", Nilable = false },
{ Name = "followerQuality", Type = "number", Nilable = false },
{ Name = "isUpgraded", Type = "bool", Nilable = false },
{ Name = "textureKit", Type = "textureKit", Nilable = false },
{ Name = "followerTypeID", Type = "number", Nilable = false },
},
},
{
Name = "GarrisonFollowerCategoriesUpdated",
Type = "Event",
LiteralName = "GARRISON_FOLLOWER_CATEGORIES_UPDATED",
SynchronousEvent = true,
},
{
Name = "GarrisonFollowerDurabilityChanged",
Type = "Event",
LiteralName = "GARRISON_FOLLOWER_DURABILITY_CHANGED",
SynchronousEvent = true,
Payload =
{
{ Name = "garrFollowerTypeID", Type = "number", Nilable = false },
{ Name = "followerDbID", Type = "GarrisonFollower", Nilable = false },
{ Name = "followerDurability", Type = "number", Nilable = false },
},
},
{
Name = "GarrisonFollowerHealed",
Type = "Event",
LiteralName = "GARRISON_FOLLOWER_HEALED",
SynchronousEvent = true,
Payload =
{
{ Name = "followerID", Type = "GarrisonFollower", Nilable = false },
},
},
{
Name = "GarrisonFollowerListUpdate",
Type = "Event",
LiteralName = "GARRISON_FOLLOWER_LIST_UPDATE",
SynchronousEvent = true,
Payload =
{
{ Name = "followerTypeID", Type = "number", Nilable = false },
},
},
{
Name = "GarrisonFollowerRemoved",
Type = "Event",
LiteralName = "GARRISON_FOLLOWER_REMOVED",
SynchronousEvent = true,
Payload =
{
{ Name = "followerTypeID", Type = "number", Nilable = false },
},
},
{
Name = "GarrisonFollowerUpgraded",
Type = "Event",
LiteralName = "GARRISON_FOLLOWER_UPGRADED",
SynchronousEvent = true,
Payload =
{
{ Name = "followerDbID", Type = "GarrisonFollower", Nilable = false },
},
},
{
Name = "GarrisonFollowerXpChanged",
Type = "Event",
LiteralName = "GARRISON_FOLLOWER_XP_CHANGED",
SynchronousEvent = true,
Payload =
{
{ Name = "garrFollowerTypeID", Type = "number", Nilable = false },
{ Name = "followerDbID", Type = "GarrisonFollower", Nilable = false },
{ Name = "xpChange", Type = "number", Nilable = false },
{ Name = "oldFollowerXp", Type = "number", Nilable = false },
{ Name = "oldFollowerLevel", Type = "number", Nilable = false },
{ Name = "oldFollowerQuality", Type = "number", Nilable = false },
},
},
{
Name = "GarrisonHideLandingPage",
Type = "Event",
LiteralName = "GARRISON_HIDE_LANDING_PAGE",
SynchronousEvent = true,
},
{
Name = "GarrisonInvasionAvailable",
Type = "Event",
LiteralName = "GARRISON_INVASION_AVAILABLE",
SynchronousEvent = true,
},
{
Name = "GarrisonInvasionUnavailable",
Type = "Event",
LiteralName = "GARRISON_INVASION_UNAVAILABLE",
SynchronousEvent = true,
},
{
Name = "GarrisonLandingpageShipments",
Type = "Event",
LiteralName = "GARRISON_LANDINGPAGE_SHIPMENTS",
SynchronousEvent = true,
UniqueEvent = true,
},
{
Name = "GarrisonMissionAreaBonusAdded",
Type = "Event",
LiteralName = "GARRISON_MISSION_AREA_BONUS_ADDED",
SynchronousEvent = true,
Payload =
{
{ Name = "garrisonMissonBonusAbilityID", Type = "number", Nilable = false },
},
},
{
Name = "GarrisonMissionBonusRollComplete",
Type = "Event",
LiteralName = "GARRISON_MISSION_BONUS_ROLL_COMPLETE",
SynchronousEvent = true,
Payload =
{
{ Name = "missionID", Type = "number", Nilable = false },
{ Name = "success", Type = "bool", Nilable = false },
},
},
{
Name = "GarrisonMissionCompleteResponse",
Type = "Event",
LiteralName = "GARRISON_MISSION_COMPLETE_RESPONSE",
SynchronousEvent = true,
Payload =
{
{ Name = "missionID", Type = "number", Nilable = false },
{ Name = "canComplete", Type = "bool", Nilable = false },
{ Name = "success", Type = "bool", Nilable = false },
{ Name = "bonusRollSuccess", Type = "bool", Nilable = false },
{ Name = "followerDeaths", Type = "table", InnerType = "GarrisonFollowerDeathInfo", Nilable = false },
{ Name = "autoCombatResult", Type = "AutoCombatResult", Nilable = true },
},
},
{
Name = "GarrisonMissionFinished",
Type = "Event",
LiteralName = "GARRISON_MISSION_FINISHED",
SynchronousEvent = true,
Payload =
{
{ Name = "followerTypeID", Type = "number", Nilable = false },
{ Name = "missionID", Type = "number", Nilable = false },
},
},
{
Name = "GarrisonMissionListUpdate",
Type = "Event",
LiteralName = "GARRISON_MISSION_LIST_UPDATE",
SynchronousEvent = true,
Payload =
{
{ Name = "garrFollowerTypeID", Type = "number", Nilable = false },
},
},
{
Name = "GarrisonMissionNpcClosed",
Type = "Event",
LiteralName = "GARRISON_MISSION_NPC_CLOSED",
SynchronousEvent = true,
},
{
Name = "GarrisonMissionNpcOpened",
Type = "Event",
LiteralName = "GARRISON_MISSION_NPC_OPENED",
SynchronousEvent = true,
Payload =
{
{ Name = "followerTypeID", Type = "number", Nilable = false },
},
},
{
Name = "GarrisonMissionRewardInfo",
Type = "Event",
LiteralName = "GARRISON_MISSION_REWARD_INFO",
SynchronousEvent = true,
Payload =
{
{ Name = "missionID", Type = "number", Nilable = false },
{ Name = "followerDbID", Type = "GarrisonFollower", Nilable = false },
},
},
{
Name = "GarrisonMissionStarted",
Type = "Event",
LiteralName = "GARRISON_MISSION_STARTED",
SynchronousEvent = true,
Payload =
{
{ Name = "garrFollowerTypeID", Type = "number", Nilable = false },
{ Name = "missionID", Type = "number", Nilable = false },
},
},
{
Name = "GarrisonMonumentCloseUi",
Type = "Event",
LiteralName = "GARRISON_MONUMENT_CLOSE_UI",
SynchronousEvent = true,
},
{
Name = "GarrisonMonumentListLoaded",
Type = "Event",
LiteralName = "GARRISON_MONUMENT_LIST_LOADED",
SynchronousEvent = true,
Payload =
{
{ Name = "success", Type = "bool", Nilable = false },
},
},
{
Name = "GarrisonMonumentReplaced",
Type = "Event",
LiteralName = "GARRISON_MONUMENT_REPLACED",
SynchronousEvent = true,
Payload =
{
{ Name = "success", Type = "bool", Nilable = false },
},
},
{
Name = "GarrisonMonumentSelectedTrophyIdLoaded",
Type = "Event",
LiteralName = "GARRISON_MONUMENT_SELECTED_TROPHY_ID_LOADED",
SynchronousEvent = true,
Payload =
{
{ Name = "success", Type = "bool", Nilable = false },
},
},
{
Name = "GarrisonMonumentShowUi",
Type = "Event",
LiteralName = "GARRISON_MONUMENT_SHOW_UI",
SynchronousEvent = true,
},
{
Name = "GarrisonRandomMissionAdded",
Type = "Event",
LiteralName = "GARRISON_RANDOM_MISSION_ADDED",
SynchronousEvent = true,
Payload =
{
{ Name = "followerTypeID", Type = "number", Nilable = false },
{ Name = "missionID", Type = "number", Nilable = false },
},
},
{
Name = "GarrisonRecallPortalLastUsedTime",
Type = "Event",
LiteralName = "GARRISON_RECALL_PORTAL_LAST_USED_TIME",
SynchronousEvent = true,
Payload =
{
{ Name = "success", Type = "bool", Nilable = false },
{ Name = "recallPortalLastUsedTime", Type = "number", Nilable = false },
},
},
{
Name = "GarrisonRecallPortalUsed",
Type = "Event",
LiteralName = "GARRISON_RECALL_PORTAL_USED",
SynchronousEvent = true,
Payload =
{
{ Name = "success", Type = "bool", Nilable = false },
},
},
{
Name = "GarrisonRecruitFollowerResult",
Type = "Event",
LiteralName = "GARRISON_RECRUIT_FOLLOWER_RESULT",
SynchronousEvent = true,
},
{
Name = "GarrisonRecruitmentFollowersGenerated",
Type = "Event",
LiteralName = "GARRISON_RECRUITMENT_FOLLOWERS_GENERATED",
SynchronousEvent = true,
},
{
Name = "GarrisonRecruitmentNpcClosed",
Type = "Event",
LiteralName = "GARRISON_RECRUITMENT_NPC_CLOSED",
SynchronousEvent = true,
},
{
Name = "GarrisonRecruitmentNpcOpened",
Type = "Event",
LiteralName = "GARRISON_RECRUITMENT_NPC_OPENED",
SynchronousEvent = true,
Payload =
{
{ Name = "followerTypeID", Type = "number", Nilable = false },
},
},
{
Name = "GarrisonRecruitmentReady",
Type = "Event",
LiteralName = "GARRISON_RECRUITMENT_READY",
SynchronousEvent = true,
},
{
Name = "GarrisonShipmentReceived",
Type = "Event",
LiteralName = "GARRISON_SHIPMENT_RECEIVED",
UniqueEvent = true,
},
{
Name = "GarrisonShipyardNpcClosed",
Type = "Event",
LiteralName = "GARRISON_SHIPYARD_NPC_CLOSED",
SynchronousEvent = true,
},
{
Name = "GarrisonShipyardNpcOpened",
Type = "Event",
LiteralName = "GARRISON_SHIPYARD_NPC_OPENED",
SynchronousEvent = true,
Payload =
{
{ Name = "followerTypeID", Type = "number", Nilable = false },
},
},
{
Name = "GarrisonShowLandingPage",
Type = "Event",
LiteralName = "GARRISON_SHOW_LANDING_PAGE",
SynchronousEvent = true,
},
{
Name = "GarrisonSpecGroupUpdated",
Type = "Event",
LiteralName = "GARRISON_SPEC_GROUP_UPDATED",
SynchronousEvent = true,
Payload =
{
{ Name = "garrTypeID", Type = "number", Nilable = false },
{ Name = "specID", Type = "number", Nilable = false },
},
},
{
Name = "GarrisonSpecGroupsCleared",
Type = "Event",
LiteralName = "GARRISON_SPEC_GROUPS_CLEARED",
SynchronousEvent = true,
Payload =
{
{ Name = "garrTypeID", Type = "number", Nilable = false },
},
},
{
Name = "GarrisonTalentComplete",
Type = "Event",
LiteralName = "GARRISON_TALENT_COMPLETE",
SynchronousEvent = true,
Payload =
{
{ Name = "garrTypeID", Type = "number", Nilable = false },
{ Name = "doAlert", Type = "bool", Nilable = false },
},
},
{
Name = "GarrisonTalentEventUpdate",
Type = "Event",
LiteralName = "GARRISON_TALENT_EVENT_UPDATE",
SynchronousEvent = true,
Payload =
{
{ Name = "eventType", Type = "number", Nilable = false },
{ Name = "eventID", Type = "number", Nilable = false },
},
},
{
Name = "GarrisonTalentNpcClosed",
Type = "Event",
LiteralName = "GARRISON_TALENT_NPC_CLOSED",
SynchronousEvent = true,
},
{
Name = "GarrisonTalentNpcOpened",
Type = "Event",
LiteralName = "GARRISON_TALENT_NPC_OPENED",
SynchronousEvent = true,
Payload =
{
{ Name = "garrisonTypeID", Type = "number", Nilable = false },
{ Name = "garrisonTalentTreeID", Type = "number", Nilable = false },
},
},
{
Name = "GarrisonTalentResearchStarted",
Type = "Event",
LiteralName = "GARRISON_TALENT_RESEARCH_STARTED",
SynchronousEvent = true,
Payload =
{
{ Name = "garrTypeID", Type = "number", Nilable = false },
{ Name = "garrisonTalentTreeID", Type = "number", Nilable = false },
{ Name = "garrTalentID", Type = "number", Nilable = false },
},
},
{
Name = "GarrisonTalentUnlocksResult",
Type = "Event",
LiteralName = "GARRISON_TALENT_UNLOCKS_RESULT",
SynchronousEvent = true,
},
{
Name = "GarrisonTalentUpdate",
Type = "Event",
LiteralName = "GARRISON_TALENT_UPDATE",
SynchronousEvent = true,
Payload =
{
{ Name = "garrTypeID", Type = "number", Nilable = false },
},
},
{
Name = "GarrisonTradeskillNpcClosed",
Type = "Event",
LiteralName = "GARRISON_TRADESKILL_NPC_CLOSED",
SynchronousEvent = true,
},
{
Name = "GarrisonUpdate",
Type = "Event",
LiteralName = "GARRISON_UPDATE",
SynchronousEvent = true,
},
{
Name = "GarrisonUpgradeableResult",
Type = "Event",
LiteralName = "GARRISON_UPGRADEABLE_RESULT",
SynchronousEvent = true,
Payload =
{
{ Name = "garrisonUpgradeable", Type = "bool", Nilable = false },
},
},
{
Name = "GarrisonUsePartyGarrisonChanged",
Type = "Event",
LiteralName = "GARRISON_USE_PARTY_GARRISON_CHANGED",
SynchronousEvent = true,
},
{
Name = "ShipmentCrafterClosed",
Type = "Event",
LiteralName = "SHIPMENT_CRAFTER_CLOSED",
SynchronousEvent = true,
},
{
Name = "ShipmentCrafterInfo",
Type = "Event",
LiteralName = "SHIPMENT_CRAFTER_INFO",
SynchronousEvent = true,
Payload =
{
{ Name = "success", Type = "number", Nilable = false },
{ Name = "shipmentCount", Type = "number", Nilable = false },
{ Name = "maxShipments", Type = "number", Nilable = false },
{ Name = "ownedShipments", Type = "number", Nilable = false },
{ Name = "plotInstanceID", Type = "number", Nilable = false },
},
},
{
Name = "ShipmentCrafterOpened",
Type = "Event",
LiteralName = "SHIPMENT_CRAFTER_OPENED",
SynchronousEvent = true,
Payload =
{
{ Name = "charShipmentContainerID", Type = "number", Nilable = false },
},
},
{
Name = "ShipmentCrafterReagentUpdate",
Type = "Event",
LiteralName = "SHIPMENT_CRAFTER_REAGENT_UPDATE",
SynchronousEvent = true,
},
{
Name = "ShipmentUpdate",
Type = "Event",
LiteralName = "SHIPMENT_UPDATE",
SynchronousEvent = true,
Payload =
{
{ Name = "shipmentStarted", Type = "bool", Nilable = true },
{ Name = "hasAttachedFollower", Type = "bool", Nilable = true },
},
},
},
Tables =
{
{
Name = "AutoCombatDamageClassString",
Type = "Structure",
Fields =
{
{ Name = "damageClassValue", Type = "number", Nilable = false },
{ Name = "locString", Type = "cstring", Nilable = false },
},
},
{
Name = "AutoCombatResult",
Type = "Structure",
Fields =
{
{ Name = "winner", Type = "bool", Nilable = false },
{ Name = "combatLog", Type = "table", InnerType = "AutoMissionRound", Nilable = false },
},
},
{
Name = "AutoCombatSpellInfo",
Type = "Structure",
Fields =
{
{ Name = "autoCombatSpellID", Type = "number", Nilable = false },
{ Name = "name", Type = "cstring", Nilable = false },
{ Name = "description", Type = "string", Nilable = false },
{ Name = "cooldown", Type = "number", Nilable = false },
{ Name = "duration", Type = "number", Nilable = false },
{ Name = "schoolMask", Type = "number", Nilable = false },
{ Name = "previewMask", Type = "number", Nilable = false },
{ Name = "icon", Type = "fileID", Nilable = false },
{ Name = "spellTutorialFlag", Type = "number", Nilable = false },
{ Name = "hasThornsEffect", Type = "bool", Nilable = false },
},
},
{
Name = "AutoCombatTroopInfo",
Type = "Structure",
Fields =
{
{ Name = "name", Type = "cstring", Nilable = false },
{ Name = "followerID", Type = "GarrisonFollower", Nilable = false },
{ Name = "garrFollowerID", Type = "GarrisonFollower", Nilable = false },
{ Name = "followerTypeID", Type = "number", Nilable = false },
{ Name = "displayIDs", Type = "table", InnerType = "FollowerDisplayID", Nilable = false },
{ Name = "level", Type = "number", Nilable = false },
{ Name = "quality", Type = "number", Nilable = false },
{ Name = "levelXP", Type = "number", Nilable = false },
{ Name = "maxXP", Type = "number", Nilable = false },
{ Name = "height", Type = "number", Nilable = false },
{ Name = "scale", Type = "number", Nilable = false },
{ Name = "displayScale", Type = "number", Nilable = true },
{ Name = "displayHeight", Type = "number", Nilable = true },
{ Name = "classSpec", Type = "number", Nilable = true },
{ Name = "className", Type = "string", Nilable = true },
{ Name = "flavorText", Type = "string", Nilable = true },
{ Name = "classAtlas", Type = "textureAtlas", Nilable = false },
{ Name = "portraitIconID", Type = "fileID", Nilable = false },
{ Name = "textureKit", Type = "textureKit", Nilable = false },
{ Name = "isTroop", Type = "bool", Nilable = false },
{ Name = "raceID", Type = "number", Nilable = false },
{ Name = "health", Type = "number", Nilable = false },
{ Name = "maxHealth", Type = "number", Nilable = false },
{ Name = "role", Type = "number", Nilable = false },
{ Name = "isAutoTroop", Type = "bool", Nilable = false },
{ Name = "isSoulbind", Type = "bool", Nilable = false },
{ Name = "isCollected", Type = "bool", Nilable = false },
{ Name = "autoCombatStats", Type = "FollowerAutoCombatStatsInfo", Nilable = false },
},
},
{
Name = "AutoMissionCombatEventInfo",
Type = "Structure",
Fields =
{
{ Name = "boardIndex", Type = "number", Nilable = false },
{ Name = "oldHealth", Type = "number", Nilable = false },
{ Name = "newHealth", Type = "number", Nilable = false },
{ Name = "maxHealth", Type = "number", Nilable = false },
{ Name = "points", Type = "number", Nilable = true },
},
},
{
Name = "AutoMissionEnvironmentEffect",
Type = "Structure",
Fields =
{
{ Name = "name", Type = "string", Nilable = false },
{ Name = "autoCombatSpellInfo", Type = "AutoCombatSpellInfo", Nilable = false },
},
},
{
Name = "AutoMissionEvent",
Type = "Structure",
Fields =
{
{ Name = "type", Type = "number", Nilable = false },
{ Name = "spellID", Type = "number", Nilable = false },
{ Name = "schoolMask", Type = "number", Nilable = false },
{ Name = "effectIndex", Type = "number", Nilable = false },
{ Name = "casterBoardIndex", Type = "number", Nilable = false },
{ Name = "auraType", Type = "number", Nilable = false },
{ Name = "targetInfo", Type = "table", InnerType = "AutoMissionCombatEventInfo", Nilable = false },
},
},
{
Name = "AutoMissionRound",
Type = "Structure",
Fields =
{
{ Name = "events", Type = "table", InnerType = "AutoMissionEvent", Nilable = false },
},
},
{
Name = "AutoMissionTargetingInfo",
Type = "Structure",
Fields =
{
{ Name = "targetIndex", Type = "number", Nilable = false },
{ Name = "previewType", Type = "number", Nilable = false },
{ Name = "spellID", Type = "number", Nilable = false },
{ Name = "effectIndex", Type = "number", Nilable = false },
},
},
{
Name = "FollowerAutoCombatStatsInfo",
Type = "Structure",
Fields =
{
{ Name = "currentHealth", Type = "number", Nilable = false },
{ Name = "maxHealth", Type = "number", Nilable = false },
{ Name = "attack", Type = "number", Nilable = false },
{ Name = "healingTimestamp", Type = "time_t", Nilable = false },
{ Name = "healCost", Type = "number", Nilable = false },
{ Name = "minutesHealingRemaining", Type = "number", Nilable = false },
},
},
{
Name = "FollowerDisplayID",
Type = "Structure",
Fields =
{
{ Name = "id", Type = "number", Nilable = false },
{ Name = "followerPageScale", Type = "number", Nilable = false },
{ Name = "showWeapon", Type = "bool", Nilable = false },
},
},
{
Name = "FollowerMissionCompleteInfo",
Type = "Structure",
Fields =
{
{ Name = "name", Type = "cstring", Nilable = false },
{ Name = "displayIDs", Type = "table", InnerType = "FollowerDisplayID", Nilable = false },
{ Name = "level", Type = "number", Nilable = false },
{ Name = "quality", Type = "number", Nilable = false },
{ Name = "currentXP", Type = "number", Nilable = false },
{ Name = "maxXP", Type = "number", Nilable = false },
{ Name = "height", Type = "number", Nilable = false },
{ Name = "scale", Type = "number", Nilable = false },
{ Name = "movementType", Type = "number", Nilable = true },
{ Name = "impactDelay", Type = "number", Nilable = true },
{ Name = "castID", Type = "number", Nilable = true },
{ Name = "castSoundID", Type = "number", Nilable = true },
{ Name = "impactID", Type = "number", Nilable = true },
{ Name = "impactSoundID", Type = "number", Nilable = true },
{ Name = "targetImpactID", Type = "number", Nilable = true },
{ Name = "targetImpactSoundID", Type = "number", Nilable = true },
{ Name = "className", Type = "string", Nilable = true },
{ Name = "classAtlas", Type = "textureAtlas", Nilable = false },
{ Name = "portraitIconID", Type = "fileID", Nilable = false },
{ Name = "textureKit", Type = "textureKit", Nilable = false },
{ Name = "isTroop", Type = "bool", Nilable = false },
{ Name = "boardIndex", Type = "number", Nilable = false },
{ Name = "health", Type = "number", Nilable = false },
{ Name = "maxHealth", Type = "number", Nilable = false },
{ Name = "role", Type = "number", Nilable = false },
},
},
{
Name = "GarrisonAbilityCounterInfo",
Type = "Structure",
Fields =
{
{ Name = "id", Type = "number", Nilable = false },
{ Name = "icon", Type = "fileID", Nilable = false },
{ Name = "name", Type = "cstring", Nilable = false },
{ Name = "factor", Type = "number", Nilable = false },
{ Name = "description", Type = "cstring", Nilable = false },
},
},
{
Name = "GarrisonAbilityInfo",
Type = "Structure",
Fields =
{
{ Name = "id", Type = "number", Nilable = false },
{ Name = "name", Type = "cstring", Nilable = false },
{ Name = "description", Type = "string", Nilable = false },
{ Name = "icon", Type = "fileID", Nilable = false },
{ Name = "isTrait", Type = "bool", Nilable = false },
{ Name = "isSpecialization", Type = "bool", Nilable = false },
{ Name = "temporary", Type = "bool", Nilable = false },
{ Name = "category", Type = "string", Nilable = true },
{ Name = "counters", Type = "table", InnerType = "GarrisonAbilityCounterInfo", Nilable = false },
{ Name = "isEmptySlot", Type = "bool", Nilable = false },
},
},
{
Name = "GarrisonEnemyEncounterInfo",
Type = "Structure",
Fields =
{
{ Name = "name", Type = "cstring", Nilable = false },
{ Name = "displayID", Type = "fileID", Nilable = false },
{ Name = "portraitFileDataID", Type = "fileID", Nilable = false },
{ Name = "textureKit", Type = "textureKit", Nilable = false },
{ Name = "scale", Type = "number", Nilable = false },
{ Name = "height", Type = "number", Nilable = false },
{ Name = "mechanics", Type = "table", InnerType = "GarrisonMechanicInfo", Nilable = false },
{ Name = "autoCombatSpells", Type = "table", InnerType = "AutoCombatSpellInfo", Nilable = false },
{ Name = "autoCombatAutoAttack", Type = "AutoCombatSpellInfo", Nilable = true },
{ Name = "role", Type = "number", Nilable = false },
{ Name = "health", Type = "number", Nilable = false },
{ Name = "maxHealth", Type = "number", Nilable = false },
{ Name = "attack", Type = "number", Nilable = false },
{ Name = "boardIndex", Type = "number", Nilable = false },
{ Name = "isElite", Type = "bool", Nilable = false },
},
},
{
Name = "GarrisonFollowerDeathInfo",
Type = "Structure",
Fields =
{
{ Name = "followerID", Type = "GarrisonFollower", Nilable = false },
{ Name = "state", Type = "luaIndex", Nilable = false },
},
},
{
Name = "GarrisonMechanicInfo",
Type = "Structure",
Fields =
{
{ Name = "mechanicTypeID", Type = "number", Nilable = false },
{ Name = "icon", Type = "fileID", Nilable = false },
{ Name = "name", Type = "cstring", Nilable = false },
{ Name = "factor", Type = "number", Nilable = false },
{ Name = "description", Type = "cstring", Nilable = false },
{ Name = "ability", Type = "GarrisonAbilityInfo", Nilable = true },
},
},
{
Name = "GarrisonPlotInstanceMapInfo",
Type = "Structure",
Fields =
{
{ Name = "buildingPlotInstanceID", Type = "number", Nilable = false },
{ Name = "position", Type = "vector2", Mixin = "Vector2DMixin", Nilable = false },
{ Name = "name", Type = "cstring", Nilable = false },
{ Name = "atlasName", Type = "textureAtlas", Nilable = false },
},
},
{
Name = "MissionDeploymentInfo",
Type = "Structure",
Fields =
{
{ Name = "location", Type = "cstring", Nilable = false },
{ Name = "xp", Type = "number", Nilable = false },
{ Name = "environment", Type = "string", Nilable = true },
{ Name = "environmentDesc", Type = "string", Nilable = true },
{ Name = "environmentTexture", Type = "fileID", Nilable = false },
{ Name = "locTextureKit", Type = "textureKit", Nilable = false },
{ Name = "isExhausting", Type = "bool", Nilable = false },
{ Name = "enemies", Type = "table", InnerType = "GarrisonEnemyEncounterInfo", Nilable = false },
},
},
{
Name = "MissionEncounterIconInfo",
Type = "Structure",
Fields =
{
{ Name = "portraitFileDataID", Type = "fileID", Nilable = false },
{ Name = "missionScalar", Type = "number", Nilable = false },
{ Name = "isElite", Type = "bool", Nilable = false },
{ Name = "isRare", Type = "bool", Nilable = false },
},
},
},
Predicates =
{
},
};
APIDocumentation:AddDocumentationTable(GarrisonInfo);