Blizzard_APIDocumentation/GarrisonInfoDocumentation.lua

Blizzard_APIDocumentation/GarrisonInfoDocumentation.lua (9.1.5.40906; unchanged since 9.1.0.39229)
  1. local GarrisonInfo =
  2. {
  3. Name = "GarrisonInfo",
  4. Type = "System",
  5. Namespace = "C_Garrison",
  6. Functions =
  7. {
  8. {
  9. Name = "AddFollowerToMission",
  10. Type = "Function",
  11. Arguments =
  12. {
  13. { Name = "missionID", Type = "number", Nilable = false },
  14. { Name = "followerID", Type = "string", Nilable = false },
  15. { Name = "boardIndex", Type = "number", Nilable = true },
  16. },
  17. Returns =
  18. {
  19. { Name = "followerAdded", Type = "bool", Nilable = false },
  20. },
  21. },
  22. {
  23. Name = "GetAutoCombatDamageClassValues",
  24. Type = "Function",
  25. Returns =
  26. {
  27. { Name = "damageClassStrings", Type = "table", InnerType = "AutoCombatDamageClassString", Nilable = false },
  28. },
  29. },
  30. {
  31. Name = "GetAutoMissionBoardState",
  32. Type = "Function",
  33. Arguments =
  34. {
  35. { Name = "missionID", Type = "number", Nilable = false },
  36. },
  37. Returns =
  38. {
  39. { Name = "targetInfo", Type = "table", InnerType = "AutoMissionTargetingInfo", Nilable = false },
  40. },
  41. },
  42. {
  43. Name = "GetAutoMissionEnvironmentEffect",
  44. Type = "Function",
  45. Arguments =
  46. {
  47. { Name = "missionID", Type = "number", Nilable = false },
  48. },
  49. Returns =
  50. {
  51. { Name = "autoMissionEnvEffect", Type = "AutoMissionEnvironmentEffect", Nilable = true },
  52. },
  53. },
  54. {
  55. Name = "GetAutoMissionTargetingInfo",
  56. Type = "Function",
  57. Arguments =
  58. {
  59. { Name = "missionID", Type = "number", Nilable = false },
  60. { Name = "followerID", Type = "string", Nilable = false },
  61. { Name = "casterBoardIndex", Type = "number", Nilable = false },
  62. },
  63. Returns =
  64. {
  65. { Name = "targetInfo", Type = "table", InnerType = "AutoMissionTargetingInfo", Nilable = false },
  66. },
  67. },
  68. {
  69. Name = "GetAutoMissionTargetingInfoForSpell",
  70. Type = "Function",
  71. Arguments =
  72. {
  73. { Name = "missionID", Type = "number", Nilable = false },
  74. { Name = "autoCombatSpellID", Type = "number", Nilable = false },
  75. { Name = "casterBoardIndex", Type = "number", Nilable = false },
  76. },
  77. Returns =
  78. {
  79. { Name = "targetInfo", Type = "table", InnerType = "AutoMissionTargetingInfo", Nilable = false },
  80. },
  81. },
  82. {
  83. Name = "GetAutoTroops",
  84. Type = "Function",
  85. Arguments =
  86. {
  87. { Name = "followerType", Type = "number", Nilable = false },
  88. },
  89. Returns =
  90. {
  91. { Name = "autoTroopInfo", Type = "table", InnerType = "AutoCombatTroopInfo", Nilable = false },
  92. },
  93. },
  94. {
  95. Name = "GetCombatLogSpellInfo",
  96. Type = "Function",
  97. Arguments =
  98. {
  99. { Name = "autoCombatSpellID", Type = "number", Nilable = false },
  100. },
  101. Returns =
  102. {
  103. { Name = "spellInfo", Type = "AutoCombatSpellInfo", Nilable = true },
  104. },
  105. },
  106. {
  107. Name = "GetCurrentGarrTalentTreeFriendshipFactionID",
  108. Type = "Function",
  109. Returns =
  110. {
  111. { Name = "currentGarrTalentTreeFriendshipFactionID", Type = "number", Nilable = true },
  112. },
  113. },
  114. {
  115. Name = "GetCurrentGarrTalentTreeID",
  116. Type = "Function",
  117. Returns =
  118. {
  119. { Name = "currentGarrTalentTreeID", Type = "number", Nilable = true },
  120. },
  121. },
  122. {
  123. Name = "GetFollowerAutoCombatSpells",
  124. Type = "Function",
  125. Arguments =
  126. {
  127. { Name = "garrFollowerID", Type = "string", Nilable = false },
  128. { Name = "followerLevel", Type = "number", Nilable = false },
  129. },
  130. Returns =
  131. {
  132. { Name = "autoCombatSpells", Type = "table", InnerType = "AutoCombatSpellInfo", Nilable = false },
  133. { Name = "autoCombatAutoAttack", Type = "AutoCombatSpellInfo", Nilable = true },
  134. },
  135. },
  136. {
  137. Name = "GetFollowerAutoCombatStats",
  138. Type = "Function",
  139. Arguments =
  140. {
  141. { Name = "garrFollowerID", Type = "string", Nilable = false },
  142. },
  143. Returns =
  144. {
  145. { Name = "autoCombatInfo", Type = "FollowerAutoCombatStatsInfo", Nilable = true },
  146. },
  147. },
  148. {
  149. Name = "GetFollowerMissionCompleteInfo",
  150. Type = "Function",
  151. Arguments =
  152. {
  153. { Name = "followerID", Type = "string", Nilable = false },
  154. },
  155. Returns =
  156. {
  157. { Name = "followerMissionCompleteInfo", Type = "FollowerMissionCompleteInfo", Nilable = false },
  158. },
  159. },
  160. {
  161. Name = "GetGarrisonPlotsInstancesForMap",
  162. Type = "Function",
  163. Arguments =
  164. {
  165. { Name = "uiMapID", Type = "number", Nilable = false },
  166. },
  167. Returns =
  168. {
  169. { Name = "garrisonPlotInstances", Type = "table", InnerType = "GarrisonPlotInstanceMapInfo", Nilable = false },
  170. },
  171. },
  172. {
  173. Name = "GetGarrisonTalentTreeCurrencyTypes",
  174. Type = "Function",
  175. Arguments =
  176. {
  177. { Name = "garrTalentTreeID", Type = "number", Nilable = false },
  178. },
  179. Returns =
  180. {
  181. { Name = "garrTalentTreeCurrencyType", Type = "number", Nilable = true },
  182. },
  183. },
  184. {
  185. Name = "GetGarrisonTalentTreeType",
  186. Type = "Function",
  187. Arguments =
  188. {
  189. { Name = "garrTalentTreeID", Type = "number", Nilable = false },
  190. },
  191. Returns =
  192. {
  193. { Name = "garrTalentTreeType", Type = "number", Nilable = false },
  194. },
  195. },
  196. {
  197. Name = "GetMissionCompleteEncounters",
  198. Type = "Function",
  199. Arguments =
  200. {
  201. { Name = "missionID", Type = "number", Nilable = false },
  202. },
  203. Returns =
  204. {
  205. { Name = "encounters", Type = "table", InnerType = "GarrisonEnemyEncounterInfo", Nilable = false },
  206. },
  207. },
  208. {
  209. Name = "GetMissionDeploymentInfo",
  210. Type = "Function",
  211. Arguments =
  212. {
  213. { Name = "missionID", Type = "number", Nilable = false },
  214. },
  215. Returns =
  216. {
  217. { Name = "missionDeploymentInfo", Type = "MissionDeploymentInfo", Nilable = false },
  218. },
  219. },
  220. {
  221. Name = "GetMissionEncounterIconInfo",
  222. Type = "Function",
  223. Arguments =
  224. {
  225. { Name = "missionID", Type = "number", Nilable = false },
  226. },
  227. Returns =
  228. {
  229. { Name = "missionEncounterIconInfo", Type = "MissionEncounterIconInfo", Nilable = false },
  230. },
  231. },
  232. {
  233. Name = "GetTalentInfo",
  234. Type = "Function",
  235. Arguments =
  236. {
  237. { Name = "talentID", Type = "number", Nilable = false },
  238. },
  239. Returns =
  240. {
  241. { Name = "info", Type = "GarrisonTalentInfo", Nilable = false },
  242. },
  243. },
  244. {
  245. Name = "GetTalentPointsSpentInTalentTree",
  246. Type = "Function",
  247. Arguments =
  248. {
  249. { Name = "garrTalentTreeID", Type = "number", Nilable = false },
  250. },
  251. Returns =
  252. {
  253. { Name = "talentPoints", Type = "number", Nilable = false },
  254. },
  255. },
  256. {
  257. Name = "GetTalentTreeIDsByClassID",
  258. Type = "Function",
  259. Arguments =
  260. {
  261. { Name = "garrType", Type = "number", Nilable = false },
  262. { Name = "classID", Type = "number", Nilable = false },
  263. },
  264. Returns =
  265. {
  266. { Name = "treeIDs", Type = "table", InnerType = "number", Nilable = false },
  267. },
  268. },
  269. {
  270. Name = "GetTalentTreeInfo",
  271. Type = "Function",
  272. Arguments =
  273. {
  274. { Name = "treeID", Type = "number", Nilable = false },
  275. },
  276. Returns =
  277. {
  278. { Name = "info", Type = "GarrisonTalentTreeInfo", Nilable = false },
  279. },
  280. },
  281. {
  282. Name = "GetTalentTreeResetInfo",
  283. Type = "Function",
  284. Arguments =
  285. {
  286. { Name = "garrTalentTreeID", Type = "number", Nilable = false },
  287. },
  288. Returns =
  289. {
  290. { Name = "goldCost", Type = "number", Nilable = false },
  291. { Name = "currencyCosts", Type = "table", InnerType = "GarrisonTalentCurrencyCostInfo", Nilable = false },
  292. },
  293. },
  294. {
  295. Name = "GetTalentTreeTalentPointResearchInfo",
  296. Type = "Function",
  297. Arguments =
  298. {
  299. { Name = "garrTalentTreeID", Type = "number", Nilable = false },
  300. { Name = "talentPointIndex", Type = "number", Nilable = false },
  301. { Name = "isRespec", Type = "number", Nilable = false },
  302. },
  303. Returns =
  304. {
  305. { Name = "goldCost", Type = "number", Nilable = false },
  306. { Name = "currencyCosts", Type = "table", InnerType = "GarrisonTalentCurrencyCostInfo", Nilable = false },
  307. { Name = "durationSecs", Type = "number", Nilable = false },
  308. },
  309. },
  310. {
  311. Name = "GetTalentUnlockWorldQuest",
  312. Type = "Function",
  313. Arguments =
  314. {
  315. { Name = "talentID", Type = "number", Nilable = false },
  316. },
  317. Returns =
  318. {
  319. { Name = "worldQuestID", Type = "number", Nilable = false },
  320. },
  321. },
  322. {
  323. Name = "HasAdventures",
  324. Type = "Function",
  325. Returns =
  326. {
  327. { Name = "hasAdventures", Type = "bool", Nilable = false },
  328. },
  329. },
  330. {
  331. Name = "IsAtGarrisonMissionNPC",
  332. Type = "Function",
  333. Returns =
  334. {
  335. { Name = "atGarrisonMissionNPC", Type = "bool", Nilable = false },
  336. },
  337. },
  338. {
  339. Name = "IsEnvironmentCountered",
  340. Type = "Function",
  341. Arguments =
  342. {
  343. { Name = "missionID", Type = "number", Nilable = false },
  344. },
  345. Returns =
  346. {
  347. { Name = "environmentCountered", Type = "bool", Nilable = false },
  348. },
  349. },
  350. {
  351. Name = "IsFollowerOnCompletedMission",
  352. Type = "Function",
  353. Arguments =
  354. {
  355. { Name = "followerID", Type = "string", Nilable = false },
  356. },
  357. Returns =
  358. {
  359. { Name = "followerOnCompletedMission", Type = "bool", Nilable = false },
  360. },
  361. },
  362. {
  363. Name = "IsTalentConditionMet",
  364. Type = "Function",
  365. Arguments =
  366. {
  367. { Name = "talentID", Type = "number", Nilable = false },
  368. },
  369. Returns =
  370. {
  371. { Name = "isMet", Type = "bool", Nilable = false },
  372. { Name = "failureString", Type = "string", Nilable = true },
  373. },
  374. },
  375. {
  376. Name = "RegenerateCombatLog",
  377. Type = "Function",
  378. Arguments =
  379. {
  380. { Name = "missionID", Type = "number", Nilable = false },
  381. },
  382. Returns =
  383. {
  384. { Name = "success", Type = "bool", Nilable = false },
  385. },
  386. },
  387. {
  388. Name = "RemoveFollowerFromMission",
  389. Type = "Function",
  390. Arguments =
  391. {
  392. { Name = "missionID", Type = "number", Nilable = false },
  393. { Name = "followerID", Type = "string", Nilable = false },
  394. { Name = "boardIndex", Type = "number", Nilable = true },
  395. },
  396. },
  397. {
  398. Name = "RushHealAllFollowers",
  399. Type = "Function",
  400. Arguments =
  401. {
  402. { Name = "followerType", Type = "number", Nilable = false },
  403. },
  404. },
  405. {
  406. Name = "RushHealFollower",
  407. Type = "Function",
  408. Arguments =
  409. {
  410. { Name = "garrFollowerID", Type = "string", Nilable = false },
  411. },
  412. },
  413. {
  414. Name = "SetAutoCombatSpellFastForward",
  415. Type = "Function",
  416. Arguments =
  417. {
  418. { Name = "state", Type = "bool", Nilable = false },
  419. },
  420. },
  421. },
  422. Events =
  423. {
  424. {
  425. Name = "GarrisonArchitectClosed",
  426. Type = "Event",
  427. LiteralName = "GARRISON_ARCHITECT_CLOSED",
  428. },
  429. {
  430. Name = "GarrisonArchitectOpened",
  431. Type = "Event",
  432. LiteralName = "GARRISON_ARCHITECT_OPENED",
  433. Payload =
  434. {
  435. { Name = "followerTypeID", Type = "number", Nilable = false },
  436. },
  437. },
  438. {
  439. Name = "GarrisonBuildingActivatable",
  440. Type = "Event",
  441. LiteralName = "GARRISON_BUILDING_ACTIVATABLE",
  442. Payload =
  443. {
  444. { Name = "buildingName", Type = "string", Nilable = false },
  445. { Name = "garrisonType", Type = "number", Nilable = false },
  446. },
  447. },
  448. {
  449. Name = "GarrisonBuildingActivated",
  450. Type = "Event",
  451. LiteralName = "GARRISON_BUILDING_ACTIVATED",
  452. Payload =
  453. {
  454. { Name = "garrisonPlotInstanceID", Type = "number", Nilable = false },
  455. { Name = "garrisonBuildingID", Type = "number", Nilable = false },
  456. },
  457. },
  458. {
  459. Name = "GarrisonBuildingError",
  460. Type = "Event",
  461. LiteralName = "GARRISON_BUILDING_ERROR",
  462. },
  463. {
  464. Name = "GarrisonBuildingListUpdate",
  465. Type = "Event",
  466. LiteralName = "GARRISON_BUILDING_LIST_UPDATE",
  467. Payload =
  468. {
  469. { Name = "categoryID", Type = "number", Nilable = false },
  470. },
  471. },
  472. {
  473. Name = "GarrisonBuildingPlaced",
  474. Type = "Event",
  475. LiteralName = "GARRISON_BUILDING_PLACED",
  476. Payload =
  477. {
  478. { Name = "garrisonPlotInstanceID", Type = "number", Nilable = false },
  479. { Name = "newPlacement", Type = "bool", Nilable = false },
  480. },
  481. },
  482. {
  483. Name = "GarrisonBuildingRemoved",
  484. Type = "Event",
  485. LiteralName = "GARRISON_BUILDING_REMOVED",
  486. Payload =
  487. {
  488. { Name = "garrPlotInstanceID", Type = "number", Nilable = false },
  489. { Name = "garrBuildingID", Type = "number", Nilable = false },
  490. },
  491. },
  492. {
  493. Name = "GarrisonBuildingUpdate",
  494. Type = "Event",
  495. LiteralName = "GARRISON_BUILDING_UPDATE",
  496. Payload =
  497. {
  498. { Name = "garrisonBuildingID", Type = "number", Nilable = false },
  499. { Name = "garrPlotInstanceID", Type = "number", Nilable = true },
  500. },
  501. },
  502. {
  503. Name = "GarrisonFollowerAdded",
  504. Type = "Event",
  505. LiteralName = "GARRISON_FOLLOWER_ADDED",
  506. Payload =
  507. {
  508. { Name = "followerDbID", Type = "string", Nilable = false },
  509. { Name = "followerName", Type = "string", Nilable = false },
  510. { Name = "followerClassName", Type = "string", Nilable = false },
  511. { Name = "followerLevel", Type = "number", Nilable = false },
  512. { Name = "followerQuality", Type = "number", Nilable = false },
  513. { Name = "isUpgraded", Type = "bool", Nilable = false },
  514. { Name = "textureKit", Type = "string", Nilable = false },
  515. { Name = "followerTypeID", Type = "number", Nilable = false },
  516. },
  517. },
  518. {
  519. Name = "GarrisonFollowerCategoriesUpdated",
  520. Type = "Event",
  521. LiteralName = "GARRISON_FOLLOWER_CATEGORIES_UPDATED",
  522. },
  523. {
  524. Name = "GarrisonFollowerDurabilityChanged",
  525. Type = "Event",
  526. LiteralName = "GARRISON_FOLLOWER_DURABILITY_CHANGED",
  527. Payload =
  528. {
  529. { Name = "garrFollowerTypeID", Type = "number", Nilable = false },
  530. { Name = "followerDbID", Type = "string", Nilable = false },
  531. { Name = "followerDurability", Type = "number", Nilable = false },
  532. },
  533. },
  534. {
  535. Name = "GarrisonFollowerHealed",
  536. Type = "Event",
  537. LiteralName = "GARRISON_FOLLOWER_HEALED",
  538. Payload =
  539. {
  540. { Name = "followerID", Type = "string", Nilable = false },
  541. },
  542. },
  543. {
  544. Name = "GarrisonFollowerListUpdate",
  545. Type = "Event",
  546. LiteralName = "GARRISON_FOLLOWER_LIST_UPDATE",
  547. Payload =
  548. {
  549. { Name = "followerTypeID", Type = "number", Nilable = false },
  550. },
  551. },
  552. {
  553. Name = "GarrisonFollowerRemoved",
  554. Type = "Event",
  555. LiteralName = "GARRISON_FOLLOWER_REMOVED",
  556. Payload =
  557. {
  558. { Name = "followerTypeID", Type = "number", Nilable = false },
  559. },
  560. },
  561. {
  562. Name = "GarrisonFollowerUpgraded",
  563. Type = "Event",
  564. LiteralName = "GARRISON_FOLLOWER_UPGRADED",
  565. Payload =
  566. {
  567. { Name = "followerDbID", Type = "string", Nilable = false },
  568. },
  569. },
  570. {
  571. Name = "GarrisonFollowerXpChanged",
  572. Type = "Event",
  573. LiteralName = "GARRISON_FOLLOWER_XP_CHANGED",
  574. Payload =
  575. {
  576. { Name = "garrFollowerTypeID", Type = "number", Nilable = false },
  577. { Name = "followerDbID", Type = "string", Nilable = false },
  578. { Name = "xpChange", Type = "number", Nilable = false },
  579. { Name = "oldFollowerXp", Type = "number", Nilable = false },
  580. { Name = "oldFollowerLevel", Type = "number", Nilable = false },
  581. { Name = "oldFollowerQuality", Type = "number", Nilable = false },
  582. },
  583. },
  584. {
  585. Name = "GarrisonHideLandingPage",
  586. Type = "Event",
  587. LiteralName = "GARRISON_HIDE_LANDING_PAGE",
  588. },
  589. {
  590. Name = "GarrisonInvasionAvailable",
  591. Type = "Event",
  592. LiteralName = "GARRISON_INVASION_AVAILABLE",
  593. },
  594. {
  595. Name = "GarrisonInvasionUnavailable",
  596. Type = "Event",
  597. LiteralName = "GARRISON_INVASION_UNAVAILABLE",
  598. },
  599. {
  600. Name = "GarrisonLandingpageShipments",
  601. Type = "Event",
  602. LiteralName = "GARRISON_LANDINGPAGE_SHIPMENTS",
  603. },
  604. {
  605. Name = "GarrisonMissionAreaBonusAdded",
  606. Type = "Event",
  607. LiteralName = "GARRISON_MISSION_AREA_BONUS_ADDED",
  608. Payload =
  609. {
  610. { Name = "garrisonMissonBonusAbilityID", Type = "number", Nilable = false },
  611. },
  612. },
  613. {
  614. Name = "GarrisonMissionBonusRollComplete",
  615. Type = "Event",
  616. LiteralName = "GARRISON_MISSION_BONUS_ROLL_COMPLETE",
  617. Payload =
  618. {
  619. { Name = "missionID", Type = "number", Nilable = false },
  620. { Name = "success", Type = "bool", Nilable = false },
  621. },
  622. },
  623. {
  624. Name = "GarrisonMissionCompleteResponse",
  625. Type = "Event",
  626. LiteralName = "GARRISON_MISSION_COMPLETE_RESPONSE",
  627. Payload =
  628. {
  629. { Name = "missionID", Type = "number", Nilable = false },
  630. { Name = "canComplete", Type = "bool", Nilable = false },
  631. { Name = "success", Type = "bool", Nilable = false },
  632. { Name = "bonusRollSuccess", Type = "bool", Nilable = false },
  633. { Name = "followerDeaths", Type = "table", InnerType = "GarrisonFollowerDeathInfo", Nilable = false },
  634. { Name = "autoCombatResult", Type = "AutoCombatResult", Nilable = true },
  635. },
  636. },
  637. {
  638. Name = "GarrisonMissionFinished",
  639. Type = "Event",
  640. LiteralName = "GARRISON_MISSION_FINISHED",
  641. Payload =
  642. {
  643. { Name = "followerTypeID", Type = "number", Nilable = false },
  644. { Name = "missionID", Type = "number", Nilable = false },
  645. },
  646. },
  647. {
  648. Name = "GarrisonMissionListUpdate",
  649. Type = "Event",
  650. LiteralName = "GARRISON_MISSION_LIST_UPDATE",
  651. Payload =
  652. {
  653. { Name = "garrFollowerTypeID", Type = "number", Nilable = false },
  654. },
  655. },
  656. {
  657. Name = "GarrisonMissionNpcClosed",
  658. Type = "Event",
  659. LiteralName = "GARRISON_MISSION_NPC_CLOSED",
  660. },
  661. {
  662. Name = "GarrisonMissionNpcOpened",
  663. Type = "Event",
  664. LiteralName = "GARRISON_MISSION_NPC_OPENED",
  665. Payload =
  666. {
  667. { Name = "followerTypeID", Type = "number", Nilable = false },
  668. },
  669. },
  670. {
  671. Name = "GarrisonMissionRewardInfo",
  672. Type = "Event",
  673. LiteralName = "GARRISON_MISSION_REWARD_INFO",
  674. Payload =
  675. {
  676. { Name = "missionID", Type = "number", Nilable = false },
  677. { Name = "followerDbID", Type = "string", Nilable = false },
  678. },
  679. },
  680. {
  681. Name = "GarrisonMissionStarted",
  682. Type = "Event",
  683. LiteralName = "GARRISON_MISSION_STARTED",
  684. Payload =
  685. {
  686. { Name = "garrFollowerTypeID", Type = "number", Nilable = false },
  687. { Name = "missionID", Type = "number", Nilable = false },
  688. },
  689. },
  690. {
  691. Name = "GarrisonMonumentCloseUi",
  692. Type = "Event",
  693. LiteralName = "GARRISON_MONUMENT_CLOSE_UI",
  694. },
  695. {
  696. Name = "GarrisonMonumentListLoaded",
  697. Type = "Event",
  698. LiteralName = "GARRISON_MONUMENT_LIST_LOADED",
  699. Payload =
  700. {
  701. { Name = "success", Type = "bool", Nilable = false },
  702. },
  703. },
  704. {
  705. Name = "GarrisonMonumentReplaced",
  706. Type = "Event",
  707. LiteralName = "GARRISON_MONUMENT_REPLACED",
  708. Payload =
  709. {
  710. { Name = "success", Type = "bool", Nilable = false },
  711. },
  712. },
  713. {
  714. Name = "GarrisonMonumentSelectedTrophyIdLoaded",
  715. Type = "Event",
  716. LiteralName = "GARRISON_MONUMENT_SELECTED_TROPHY_ID_LOADED",
  717. Payload =
  718. {
  719. { Name = "success", Type = "bool", Nilable = false },
  720. },
  721. },
  722. {
  723. Name = "GarrisonMonumentShowUi",
  724. Type = "Event",
  725. LiteralName = "GARRISON_MONUMENT_SHOW_UI",
  726. },
  727. {
  728. Name = "GarrisonRandomMissionAdded",
  729. Type = "Event",
  730. LiteralName = "GARRISON_RANDOM_MISSION_ADDED",
  731. Payload =
  732. {
  733. { Name = "followerTypeID", Type = "number", Nilable = false },
  734. { Name = "missionID", Type = "number", Nilable = false },
  735. },
  736. },
  737. {
  738. Name = "GarrisonRecallPortalLastUsedTime",
  739. Type = "Event",
  740. LiteralName = "GARRISON_RECALL_PORTAL_LAST_USED_TIME",
  741. Payload =
  742. {
  743. { Name = "success", Type = "bool", Nilable = false },
  744. { Name = "recallPortalLastUsedTime", Type = "number", Nilable = false },
  745. },
  746. },
  747. {
  748. Name = "GarrisonRecallPortalUsed",
  749. Type = "Event",
  750. LiteralName = "GARRISON_RECALL_PORTAL_USED",
  751. Payload =
  752. {
  753. { Name = "success", Type = "bool", Nilable = false },
  754. },
  755. },
  756. {
  757. Name = "GarrisonRecruitFollowerResult",
  758. Type = "Event",
  759. LiteralName = "GARRISON_RECRUIT_FOLLOWER_RESULT",
  760. },
  761. {
  762. Name = "GarrisonRecruitmentFollowersGenerated",
  763. Type = "Event",
  764. LiteralName = "GARRISON_RECRUITMENT_FOLLOWERS_GENERATED",
  765. },
  766. {
  767. Name = "GarrisonRecruitmentNpcClosed",
  768. Type = "Event",
  769. LiteralName = "GARRISON_RECRUITMENT_NPC_CLOSED",
  770. },
  771. {
  772. Name = "GarrisonRecruitmentNpcOpened",
  773. Type = "Event",
  774. LiteralName = "GARRISON_RECRUITMENT_NPC_OPENED",
  775. Payload =
  776. {
  777. { Name = "followerTypeID", Type = "number", Nilable = false },
  778. },
  779. },
  780. {
  781. Name = "GarrisonRecruitmentReady",
  782. Type = "Event",
  783. LiteralName = "GARRISON_RECRUITMENT_READY",
  784. },
  785. {
  786. Name = "GarrisonShipmentReceived",
  787. Type = "Event",
  788. LiteralName = "GARRISON_SHIPMENT_RECEIVED",
  789. },
  790. {
  791. Name = "GarrisonShipyardNpcClosed",
  792. Type = "Event",
  793. LiteralName = "GARRISON_SHIPYARD_NPC_CLOSED",
  794. },
  795. {
  796. Name = "GarrisonShipyardNpcOpened",
  797. Type = "Event",
  798. LiteralName = "GARRISON_SHIPYARD_NPC_OPENED",
  799. Payload =
  800. {
  801. { Name = "followerTypeID", Type = "number", Nilable = false },
  802. },
  803. },
  804. {
  805. Name = "GarrisonShowLandingPage",
  806. Type = "Event",
  807. LiteralName = "GARRISON_SHOW_LANDING_PAGE",
  808. },
  809. {
  810. Name = "GarrisonSpecGroupUpdated",
  811. Type = "Event",
  812. LiteralName = "GARRISON_SPEC_GROUP_UPDATED",
  813. Payload =
  814. {
  815. { Name = "garrTypeID", Type = "number", Nilable = false },
  816. { Name = "specID", Type = "number", Nilable = false },
  817. },
  818. },
  819. {
  820. Name = "GarrisonSpecGroupsCleared",
  821. Type = "Event",
  822. LiteralName = "GARRISON_SPEC_GROUPS_CLEARED",
  823. Payload =
  824. {
  825. { Name = "garrTypeID", Type = "number", Nilable = false },
  826. },
  827. },
  828. {
  829. Name = "GarrisonTalentComplete",
  830. Type = "Event",
  831. LiteralName = "GARRISON_TALENT_COMPLETE",
  832. Payload =
  833. {
  834. { Name = "garrTypeID", Type = "number", Nilable = false },
  835. { Name = "doAlert", Type = "bool", Nilable = false },
  836. },
  837. },
  838. {
  839. Name = "GarrisonTalentEventUpdate",
  840. Type = "Event",
  841. LiteralName = "GARRISON_TALENT_EVENT_UPDATE",
  842. Payload =
  843. {
  844. { Name = "eventType", Type = "number", Nilable = false },
  845. { Name = "eventID", Type = "number", Nilable = false },
  846. },
  847. },
  848. {
  849. Name = "GarrisonTalentNpcClosed",
  850. Type = "Event",
  851. LiteralName = "GARRISON_TALENT_NPC_CLOSED",
  852. },
  853. {
  854. Name = "GarrisonTalentNpcOpened",
  855. Type = "Event",
  856. LiteralName = "GARRISON_TALENT_NPC_OPENED",
  857. Payload =
  858. {
  859. { Name = "garrisonTypeID", Type = "number", Nilable = false },
  860. { Name = "garrisonTalentTreeID", Type = "number", Nilable = false },
  861. },
  862. },
  863. {
  864. Name = "GarrisonTalentResearchStarted",
  865. Type = "Event",
  866. LiteralName = "GARRISON_TALENT_RESEARCH_STARTED",
  867. Payload =
  868. {
  869. { Name = "garrTypeID", Type = "number", Nilable = false },
  870. { Name = "garrisonTalentTreeID", Type = "number", Nilable = false },
  871. { Name = "garrTalentID", Type = "number", Nilable = false },
  872. },
  873. },
  874. {
  875. Name = "GarrisonTalentUnlocksResult",
  876. Type = "Event",
  877. LiteralName = "GARRISON_TALENT_UNLOCKS_RESULT",
  878. },
  879. {
  880. Name = "GarrisonTalentUpdate",
  881. Type = "Event",
  882. LiteralName = "GARRISON_TALENT_UPDATE",
  883. Payload =
  884. {
  885. { Name = "garrTypeID", Type = "number", Nilable = false },
  886. },
  887. },
  888. {
  889. Name = "GarrisonTradeskillNpcClosed",
  890. Type = "Event",
  891. LiteralName = "GARRISON_TRADESKILL_NPC_CLOSED",
  892. },
  893. {
  894. Name = "GarrisonUpdate",
  895. Type = "Event",
  896. LiteralName = "GARRISON_UPDATE",
  897. },
  898. {
  899. Name = "GarrisonUpgradeableResult",
  900. Type = "Event",
  901. LiteralName = "GARRISON_UPGRADEABLE_RESULT",
  902. Payload =
  903. {
  904. { Name = "garrisonUpgradeable", Type = "bool", Nilable = false },
  905. },
  906. },
  907. {
  908. Name = "GarrisonUsePartyGarrisonChanged",
  909. Type = "Event",
  910. LiteralName = "GARRISON_USE_PARTY_GARRISON_CHANGED",
  911. },
  912. {
  913. Name = "ShipmentCrafterClosed",
  914. Type = "Event",
  915. LiteralName = "SHIPMENT_CRAFTER_CLOSED",
  916. },
  917. {
  918. Name = "ShipmentCrafterInfo",
  919. Type = "Event",
  920. LiteralName = "SHIPMENT_CRAFTER_INFO",
  921. Payload =
  922. {
  923. { Name = "success", Type = "number", Nilable = false },
  924. { Name = "shipmentCount", Type = "number", Nilable = false },
  925. { Name = "maxShipments", Type = "number", Nilable = false },
  926. { Name = "ownedShipments", Type = "number", Nilable = false },
  927. { Name = "plotInstanceID", Type = "number", Nilable = false },
  928. },
  929. },
  930. {
  931. Name = "ShipmentCrafterOpened",
  932. Type = "Event",
  933. LiteralName = "SHIPMENT_CRAFTER_OPENED",
  934. Payload =
  935. {
  936. { Name = "charShipmentContainerID", Type = "number", Nilable = false },
  937. },
  938. },
  939. {
  940. Name = "ShipmentCrafterReagentUpdate",
  941. Type = "Event",
  942. LiteralName = "SHIPMENT_CRAFTER_REAGENT_UPDATE",
  943. },
  944. {
  945. Name = "ShipmentUpdate",
  946. Type = "Event",
  947. LiteralName = "SHIPMENT_UPDATE",
  948. Payload =
  949. {
  950. { Name = "shipmentStarted", Type = "bool", Nilable = true },
  951. { Name = "hasAttachedFollower", Type = "bool", Nilable = true },
  952. },
  953. },
  954. },
  955. Tables =
  956. {
  957. {
  958. Name = "AutoCombatDamageClassString",
  959. Type = "Structure",
  960. Fields =
  961. {
  962. { Name = "damageClassValue", Type = "number", Nilable = false },
  963. { Name = "locString", Type = "string", Nilable = false },
  964. },
  965. },
  966. {
  967. Name = "AutoCombatResult",
  968. Type = "Structure",
  969. Fields =
  970. {
  971. { Name = "winner", Type = "bool", Nilable = false },
  972. { Name = "combatLog", Type = "table", InnerType = "AutoMissionRound", Nilable = false },
  973. },
  974. },
  975. {
  976. Name = "AutoCombatSpellInfo",
  977. Type = "Structure",
  978. Fields =
  979. {
  980. { Name = "autoCombatSpellID", Type = "number", Nilable = false },
  981. { Name = "name", Type = "string", Nilable = false },
  982. { Name = "description", Type = "string", Nilable = false },
  983. { Name = "cooldown", Type = "number", Nilable = false },
  984. { Name = "duration", Type = "number", Nilable = false },
  985. { Name = "schoolMask", Type = "number", Nilable = false },
  986. { Name = "previewMask", Type = "number", Nilable = false },
  987. { Name = "icon", Type = "number", Nilable = false },
  988. { Name = "spellTutorialFlag", Type = "number", Nilable = false },
  989. { Name = "hasThornsEffect", Type = "bool", Nilable = false },
  990. },
  991. },
  992. {
  993. Name = "AutoCombatTroopInfo",
  994. Type = "Structure",
  995. Fields =
  996. {
  997. { Name = "name", Type = "string", Nilable = false },
  998. { Name = "followerID", Type = "string", Nilable = false },
  999. { Name = "garrFollowerID", Type = "string", Nilable = false },
  1000. { Name = "followerTypeID", Type = "number", Nilable = false },
  1001. { Name = "displayIDs", Type = "table", InnerType = "FollowerDisplayID", Nilable = false },
  1002. { Name = "level", Type = "number", Nilable = false },
  1003. { Name = "quality", Type = "number", Nilable = false },
  1004. { Name = "levelXP", Type = "number", Nilable = false },
  1005. { Name = "maxXP", Type = "number", Nilable = false },
  1006. { Name = "height", Type = "number", Nilable = false },
  1007. { Name = "scale", Type = "number", Nilable = false },
  1008. { Name = "displayScale", Type = "number", Nilable = true },
  1009. { Name = "displayHeight", Type = "number", Nilable = true },
  1010. { Name = "classSpec", Type = "number", Nilable = true },
  1011. { Name = "className", Type = "string", Nilable = true },
  1012. { Name = "flavorText", Type = "string", Nilable = true },
  1013. { Name = "classAtlas", Type = "string", Nilable = false },
  1014. { Name = "portraitIconID", Type = "number", Nilable = false },
  1015. { Name = "textureKit", Type = "string", Nilable = false },
  1016. { Name = "isTroop", Type = "bool", Nilable = false },
  1017. { Name = "raceID", Type = "number", Nilable = false },
  1018. { Name = "health", Type = "number", Nilable = false },
  1019. { Name = "maxHealth", Type = "number", Nilable = false },
  1020. { Name = "role", Type = "number", Nilable = false },
  1021. { Name = "isAutoTroop", Type = "bool", Nilable = false },
  1022. { Name = "isSoulbind", Type = "bool", Nilable = false },
  1023. { Name = "isCollected", Type = "bool", Nilable = false },
  1024. { Name = "autoCombatStats", Type = "FollowerAutoCombatStatsInfo", Nilable = false },
  1025. },
  1026. },
  1027. {
  1028. Name = "AutoMissionCombatEventInfo",
  1029. Type = "Structure",
  1030. Fields =
  1031. {
  1032. { Name = "boardIndex", Type = "number", Nilable = false },
  1033. { Name = "oldHealth", Type = "number", Nilable = false },
  1034. { Name = "newHealth", Type = "number", Nilable = false },
  1035. { Name = "maxHealth", Type = "number", Nilable = false },
  1036. { Name = "points", Type = "number", Nilable = true },
  1037. },
  1038. },
  1039. {
  1040. Name = "AutoMissionEnvironmentEffect",
  1041. Type = "Structure",
  1042. Fields =
  1043. {
  1044. { Name = "name", Type = "string", Nilable = false },
  1045. { Name = "autoCombatSpellInfo", Type = "AutoCombatSpellInfo", Nilable = false },
  1046. },
  1047. },
  1048. {
  1049. Name = "AutoMissionEvent",
  1050. Type = "Structure",
  1051. Fields =
  1052. {
  1053. { Name = "type", Type = "number", Nilable = false },
  1054. { Name = "spellID", Type = "number", Nilable = false },
  1055. { Name = "schoolMask", Type = "number", Nilable = false },
  1056. { Name = "effectIndex", Type = "number", Nilable = false },
  1057. { Name = "casterBoardIndex", Type = "number", Nilable = false },
  1058. { Name = "auraType", Type = "number", Nilable = false },
  1059. { Name = "targetInfo", Type = "table", InnerType = "AutoMissionCombatEventInfo", Nilable = false },
  1060. },
  1061. },
  1062. {
  1063. Name = "AutoMissionRound",
  1064. Type = "Structure",
  1065. Fields =
  1066. {
  1067. { Name = "events", Type = "table", InnerType = "AutoMissionEvent", Nilable = false },
  1068. },
  1069. },
  1070. {
  1071. Name = "AutoMissionTargetingInfo",
  1072. Type = "Structure",
  1073. Fields =
  1074. {
  1075. { Name = "targetIndex", Type = "number", Nilable = false },
  1076. { Name = "previewType", Type = "number", Nilable = false },
  1077. { Name = "spellID", Type = "number", Nilable = false },
  1078. { Name = "effectIndex", Type = "number", Nilable = false },
  1079. },
  1080. },
  1081. {
  1082. Name = "FollowerAutoCombatStatsInfo",
  1083. Type = "Structure",
  1084. Fields =
  1085. {
  1086. { Name = "currentHealth", Type = "number", Nilable = false },
  1087. { Name = "maxHealth", Type = "number", Nilable = false },
  1088. { Name = "attack", Type = "number", Nilable = false },
  1089. { Name = "healingTimestamp", Type = "number", Nilable = false },
  1090. { Name = "healCost", Type = "number", Nilable = false },
  1091. { Name = "minutesHealingRemaining", Type = "number", Nilable = false },
  1092. },
  1093. },
  1094. {
  1095. Name = "FollowerDisplayID",
  1096. Type = "Structure",
  1097. Fields =
  1098. {
  1099. { Name = "id", Type = "number", Nilable = false },
  1100. { Name = "followerPageScale", Type = "number", Nilable = false },
  1101. { Name = "showWeapon", Type = "bool", Nilable = false },
  1102. },
  1103. },
  1104. {
  1105. Name = "FollowerMissionCompleteInfo",
  1106. Type = "Structure",
  1107. Fields =
  1108. {
  1109. { Name = "name", Type = "string", Nilable = false },
  1110. { Name = "displayIDs", Type = "table", InnerType = "FollowerDisplayID", Nilable = false },
  1111. { Name = "level", Type = "number", Nilable = false },
  1112. { Name = "quality", Type = "number", Nilable = false },
  1113. { Name = "currentXP", Type = "number", Nilable = false },
  1114. { Name = "maxXP", Type = "number", Nilable = false },
  1115. { Name = "height", Type = "number", Nilable = false },
  1116. { Name = "scale", Type = "number", Nilable = false },
  1117. { Name = "movementType", Type = "number", Nilable = true },
  1118. { Name = "impactDelay", Type = "number", Nilable = true },
  1119. { Name = "castID", Type = "number", Nilable = true },
  1120. { Name = "castSoundID", Type = "number", Nilable = true },
  1121. { Name = "impactID", Type = "number", Nilable = true },
  1122. { Name = "impactSoundID", Type = "number", Nilable = true },
  1123. { Name = "targetImpactID", Type = "number", Nilable = true },
  1124. { Name = "targetImpactSoundID", Type = "number", Nilable = true },
  1125. { Name = "className", Type = "string", Nilable = true },
  1126. { Name = "classAtlas", Type = "string", Nilable = false },
  1127. { Name = "portraitIconID", Type = "number", Nilable = false },
  1128. { Name = "textureKit", Type = "string", Nilable = false },
  1129. { Name = "isTroop", Type = "bool", Nilable = false },
  1130. { Name = "boardIndex", Type = "number", Nilable = false },
  1131. { Name = "health", Type = "number", Nilable = false },
  1132. { Name = "maxHealth", Type = "number", Nilable = false },
  1133. { Name = "role", Type = "number", Nilable = false },
  1134. },
  1135. },
  1136. {
  1137. Name = "GarrisonAbilityCounterInfo",
  1138. Type = "Structure",
  1139. Fields =
  1140. {
  1141. { Name = "id", Type = "number", Nilable = false },
  1142. { Name = "icon", Type = "number", Nilable = false },
  1143. { Name = "name", Type = "string", Nilable = false },
  1144. { Name = "factor", Type = "number", Nilable = false },
  1145. { Name = "description", Type = "string", Nilable = false },
  1146. },
  1147. },
  1148. {
  1149. Name = "GarrisonAbilityInfo",
  1150. Type = "Structure",
  1151. Fields =
  1152. {
  1153. { Name = "id", Type = "number", Nilable = false },
  1154. { Name = "name", Type = "string", Nilable = false },
  1155. { Name = "description", Type = "string", Nilable = false },
  1156. { Name = "icon", Type = "number", Nilable = false },
  1157. { Name = "isTrait", Type = "bool", Nilable = false },
  1158. { Name = "isSpecialization", Type = "bool", Nilable = false },
  1159. { Name = "temporary", Type = "bool", Nilable = false },
  1160. { Name = "category", Type = "string", Nilable = true },
  1161. { Name = "counters", Type = "table", InnerType = "GarrisonAbilityCounterInfo", Nilable = false },
  1162. { Name = "isEmptySlot", Type = "bool", Nilable = false },
  1163. },
  1164. },
  1165. {
  1166. Name = "GarrisonEnemyEncounterInfo",
  1167. Type = "Structure",
  1168. Fields =
  1169. {
  1170. { Name = "name", Type = "string", Nilable = false },
  1171. { Name = "displayID", Type = "number", Nilable = false },
  1172. { Name = "portraitFileDataID", Type = "number", Nilable = false },
  1173. { Name = "textureKit", Type = "string", Nilable = false },
  1174. { Name = "scale", Type = "number", Nilable = false },
  1175. { Name = "height", Type = "number", Nilable = false },
  1176. { Name = "mechanics", Type = "table", InnerType = "GarrisonMechanicInfo", Nilable = false },
  1177. { Name = "autoCombatSpells", Type = "table", InnerType = "AutoCombatSpellInfo", Nilable = false },
  1178. { Name = "autoCombatAutoAttack", Type = "AutoCombatSpellInfo", Nilable = true },
  1179. { Name = "role", Type = "number", Nilable = false },
  1180. { Name = "health", Type = "number", Nilable = false },
  1181. { Name = "maxHealth", Type = "number", Nilable = false },
  1182. { Name = "attack", Type = "number", Nilable = false },
  1183. { Name = "boardIndex", Type = "number", Nilable = false },
  1184. { Name = "isElite", Type = "bool", Nilable = false },
  1185. },
  1186. },
  1187. {
  1188. Name = "GarrisonFollowerDeathInfo",
  1189. Type = "Structure",
  1190. Fields =
  1191. {
  1192. { Name = "followerID", Type = "string", Nilable = false },
  1193. { Name = "state", Type = "number", Nilable = false },
  1194. },
  1195. },
  1196. {
  1197. Name = "GarrisonMechanicInfo",
  1198. Type = "Structure",
  1199. Fields =
  1200. {
  1201. { Name = "mechanicTypeID", Type = "number", Nilable = false },
  1202. { Name = "icon", Type = "number", Nilable = false },
  1203. { Name = "name", Type = "string", Nilable = false },
  1204. { Name = "factor", Type = "number", Nilable = false },
  1205. { Name = "description", Type = "string", Nilable = false },
  1206. { Name = "ability", Type = "GarrisonAbilityInfo", Nilable = true },
  1207. },
  1208. },
  1209. {
  1210. Name = "GarrisonPlotInstanceMapInfo",
  1211. Type = "Structure",
  1212. Fields =
  1213. {
  1214. { Name = "buildingPlotInstanceID", Type = "number", Nilable = false },
  1215. { Name = "position", Type = "table", Mixin = "Vector2DMixin", Nilable = false },
  1216. { Name = "name", Type = "string", Nilable = false },
  1217. { Name = "atlasName", Type = "string", Nilable = false },
  1218. },
  1219. },
  1220. {
  1221. Name = "MissionDeploymentInfo",
  1222. Type = "Structure",
  1223. Fields =
  1224. {
  1225. { Name = "location", Type = "string", Nilable = false },
  1226. { Name = "xp", Type = "number", Nilable = false },
  1227. { Name = "environment", Type = "string", Nilable = true },
  1228. { Name = "environmentDesc", Type = "string", Nilable = true },
  1229. { Name = "environmentTexture", Type = "number", Nilable = false },
  1230. { Name = "locTextureKit", Type = "string", Nilable = false },
  1231. { Name = "isExhausting", Type = "bool", Nilable = false },
  1232. { Name = "enemies", Type = "table", InnerType = "GarrisonEnemyEncounterInfo", Nilable = false },
  1233. },
  1234. },
  1235. {
  1236. Name = "MissionEncounterIconInfo",
  1237. Type = "Structure",
  1238. Fields =
  1239. {
  1240. { Name = "portraitFileDataID", Type = "number", Nilable = false },
  1241. { Name = "missionScalar", Type = "number", Nilable = false },
  1242. { Name = "isElite", Type = "bool", Nilable = false },
  1243. { Name = "isRare", Type = "bool", Nilable = false },
  1244. },
  1245. },
  1246. },
  1247. };
  1248. APIDocumentation:AddDocumentationTable(GarrisonInfo);