API:GetGuildAdvancementData
From RoR Wiki
UI Lua API · Guild functions
Version: WAR 1.4.8
Returns the player's guild advancement: tactic points, unlocked standards, posts and bearers, and the list of guild tactics.
data = GetGuildAdvancementData()
Arguments
None.
Returns
- data
table– A table with named fields and an array part, see below.
Named fields:
| Key | Type | Meaning |
|---|---|---|
abilityPoints |
number |
– |
numberBannersUnlocked |
number |
Number of guild standards unlocked. |
numberPolesUnlocked |
number |
Number of banner posts unlocked. The stock UI fills its post combo box from 1 to this value. |
numberStandardBearersUnlocked |
number |
Maximum number of standard bearers. |
Array part, indexed from 1, one table per guild tactic:
| Key | Type | Meaning |
|---|---|---|
abilityID |
number |
Ability id of the tactic. |
prereqAbilityID |
number |
Ability id of the prerequisite tactic. |
guildRankPurchasedAt |
number |
Guild rank at which the tactic was bought; the stock UI treats values above 0 as bought. |
isUpgraded |
number |
– |
Details
- Read the array part with
ipairsand the counts by name; both live in the same table. isUpgradedis a number, not a boolean.- If there is no player object, or the Lua state is not available, the function returns nothing.
Errors
None.
Example
Reading the tactic list, from default/ea_guildwindow/source/guildtacticslist.lua:
local guildAdvancementData = GetGuildAdvancementData()
if ( guildAdvancementData ~=nil) then
for key, value in ipairs( guildAdvancementData ) do
if (value.abilityID > 0) then
GuildTacticsList.abilityListData[key] = {}
GuildTacticsList.abilityListData[key].abilityID = value.abilityID
GuildTacticsList.abilityListData[key].prereqAbilityID = value.prereqAbilityID
GuildTacticsList.abilityListData[key].guildRankPurchasedAt = value.guildRankPurchasedAt
...
Reading a count, from default/ea_guildwindow/source/guildwindowtabbanner.lua:
for postNumber = 2, GuildAdvancementData.numberPolesUnlocked do
ComboBoxAddMenuItem( "GWRewardsBannerPostCombo", GetFormatStringFromTable( "guildstrings", StringTables.Guild.TEXT_POST_X, {postNumber} ) )
end
