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);