First commit, step 4 completed

This commit is contained in:
bepis
2026-10-15 14:27:00 +11:00
commit 9a30efa170
5378 changed files with 1136719 additions and 0 deletions
@@ -0,0 +1,108 @@
local GarrisonShared =
{
Tables =
{
{
Name = "GarrisonAbilityEffect",
Type = "Structure",
Fields =
{
{ Name = "name", Type = "cstring", Nilable = false },
{ Name = "description", Type = "cstring", Nilable = false },
{ Name = "icon", Type = "number", Nilable = false },
{ Name = "factor", Type = "number", Nilable = false },
},
},
{
Name = "GarrisonFollowerAbilityInfo",
Type = "Structure",
Fields =
{
{ Name = "id", Type = "number", Nilable = false },
{ Name = "name", Type = "cstring", Nilable = false },
{ Name = "description", Type = "string", Nilable = false },
{ Name = "icon", Type = "number", Nilable = false },
{ Name = "isTrait", Type = "bool", Nilable = false },
{ Name = "isSpecialization", Type = "bool", Nilable = false },
{ Name = "temporary", Type = "bool", Nilable = false },
{ Name = "category", Type = "cstring", Nilable = true },
{ Name = "counters", Type = "table", InnerType = "GarrisonAbilityEffect", Nilable = false },
{ Name = "isEmptySlot", Type = "bool", Nilable = false },
},
},
{
Name = "GarrisonTalentCurrencyCostInfo",
Type = "Structure",
Fields =
{
{ Name = "currencyType", Type = "number", Nilable = false },
{ Name = "currencyQuantity", Type = "number", Nilable = false },
},
},
{
Name = "GarrisonTalentInfo",
Type = "Structure",
Fields =
{
{ Name = "id", Type = "number", Nilable = false },
{ Name = "ability", Type = "GarrisonFollowerAbilityInfo", Nilable = false },
{ Name = "name", Type = "string", Nilable = false },
{ Name = "icon", Type = "number", Nilable = false },
{ Name = "tier", Type = "number", Nilable = false },
{ Name = "uiOrder", Type = "number", Nilable = false },
{ Name = "type", Type = "number", Nilable = false },
{ Name = "prerequisiteTalentID", Type = "number", Nilable = true },
{ Name = "selected", Type = "bool", Nilable = false },
{ Name = "researched", Type = "bool", Nilable = false },
{ Name = "ignoreTalent", Type = "bool", Nilable = false },
{ Name = "researchDuration", Type = "time_t", Nilable = false },
{ Name = "startTime", Type = "time_t", Nilable = false },
{ Name = "timeRemaining", Type = "time_t", Nilable = false },
{ Name = "researchGoldCost", Type = "number", Nilable = false },
{ Name = "researchCurrencyCosts", Type = "table", InnerType = "GarrisonTalentCurrencyCostInfo", Nilable = false },
{ Name = "talentAvailability", Type = "GarrisonTalentAvailability", Nilable = false },
{ Name = "talentRank", Type = "number", Nilable = false },
{ Name = "talentMaxRank", Type = "number", Nilable = false },
{ Name = "isBeingResearched", Type = "bool", Nilable = false },
{ Name = "description", Type = "string", Nilable = false },
{ Name = "perkSpellID", Type = "number", Nilable = false },
{ Name = "researchDescription", Type = "string", Nilable = true },
{ Name = "playerConditionReason", Type = "string", Nilable = true },
{ Name = "socketInfo", Type = "GarrisonTalentSocketInfo", Nilable = false },
{ Name = "treeID", Type = "number", Nilable = false },
},
},
{
Name = "GarrisonTalentSocketInfo",
Type = "Structure",
Fields =
{
{ Name = "socketType", Type = "number", Nilable = false },
{ Name = "socketSubtype", Type = "number", Nilable = false },
{ Name = "misc0", Type = "number", Nilable = false },
{ Name = "misc1", Type = "number", Nilable = false },
},
},
{
Name = "GarrisonTalentTreeInfo",
Type = "Structure",
Fields =
{
{ Name = "treeID", Type = "number", Nilable = false },
{ Name = "title", Type = "cstring", Nilable = false },
{ Name = "textureKit", Type = "textureKit", Nilable = false },
{ Name = "talents", Type = "table", InnerType = "GarrisonTalentInfo", Nilable = false },
{ Name = "isClassAgnostic", Type = "bool", Nilable = false },
{ Name = "isThemed", Type = "bool", Nilable = false },
{ Name = "featureType", Type = "number", Nilable = false },
{ Name = "featureSubtype", Type = "number", Nilable = false },
},
},
},
Predicates =
{
},
};
APIDocumentation:AddDocumentationTable(GarrisonShared);