251 lines
12 KiB
Lua
251 lines
12 KiB
Lua
---@meta
|
|
|
|
---@class ExdataLegionPass
|
|
---@field timestamp? integer # How long until the pass expires. Usually 5 minutes from creation.
|
|
---@field title? xi.legion.title # Legion chamber
|
|
---@field signature? string # 12 characters pass owner name
|
|
|
|
---@class ExdataPerpetualHourglass
|
|
---@field flags? integer # Undocumented flags. Changes Hourglass text color to denote status.
|
|
---@field startTime? integer # Reservation start time
|
|
---@field endTime? integer # Reservation end time
|
|
---@field zoneId? xi.zone # Zone reserved by Hourglass
|
|
|
|
---@class ExdataBettingSlip
|
|
---@field raceId? integer # Chocobo race ID [0-262143]
|
|
---@field raceGrade? xi.chocoboRacing.raceGrade
|
|
---@field racePairingL? integer # [0-7], 0-indexed chocobo entry
|
|
---@field racePairingR? integer # [0-7], 0-indexed chocobo entry
|
|
---@field quills? integer # [0-999]
|
|
|
|
---@class ExdataAssaultLog
|
|
---@field flags? boolean[] # 10 flags indexed [1-10] representing completed assaults.
|
|
|
|
---@class ExdataBrennerBook
|
|
---@field timeValue? integer # Seconds since epoch 1009929600 (Jan 2, 2002 00:00 UTC)
|
|
---@field level? xi.brenner.levelCap
|
|
|
|
---@class ExdataMeebleGrimoire
|
|
---@field clears? table<xi.meeble.expeditionType, integer[]> # clears[expeditionType][level] = count (0-7)
|
|
---@field count? integer # Distinct expedition count
|
|
---@field zone? xi.meeble.zone
|
|
|
|
---@class ExdataHoneymoonTicket
|
|
---@field plan? xi.chocoboRaising.honeymoonPlan
|
|
|
|
---@class ExdataRaceCertificate
|
|
---@field raceId? integer # [0-262143]
|
|
---@field raceGrade? xi.chocoboRacing.raceGrade
|
|
|
|
---@class ExdataLotteryTicket
|
|
---@field number? integer # [0-16777215]
|
|
---@field title? xi.bonanza.eventId
|
|
|
|
---@class ExdataTabulaRune
|
|
---@field id? xi.maze.rune
|
|
---@field rotation? integer # Rune rotation [0-3]
|
|
---@field position? integer # Grid index [0-24] on the 5x5 board
|
|
|
|
---@class ExdataTabula
|
|
---@field voucher? xi.maze.voucher
|
|
---@field runes? ExdataTabulaRune[] # Up to 12 runes
|
|
---@field uses? integer # Uses count [0-127] (Tabula R only)
|
|
|
|
---@class ExdataEvolith
|
|
---@field augment? integer # Augment ID [0-1023]
|
|
---@field shape? xi.evolith.shape
|
|
---@field element? xi.evolith.element
|
|
---@field bonus? integer # Bonus [0-15]
|
|
---@field signature? string # 12 characters
|
|
|
|
---@class ExdataCraftingSet
|
|
---@field quality? integer
|
|
---@field signature? string # 12 characters
|
|
|
|
---@class ExdataGlowingLamp
|
|
---@field chamberId? xi.einherjar.chamber
|
|
---@field flags? integer # Undocumented flags
|
|
---@field startTime? integer # Reservation start time
|
|
---@field endTime? integer # Reservation end time
|
|
|
|
---@class ExdataChocoboEgg
|
|
---@field dna? integer[] # 3 color genes indexed [1-3], each [0-7]
|
|
---@field ability? xi.chocoboRaising.ability
|
|
---@field plan? xi.chocoboRaising.honeymoonPlan
|
|
---@field isBred? boolean # Whether the egg is from breeding
|
|
|
|
---@class ExdataChocoboStatByte
|
|
---@field trait? boolean # Physical trait flag (legs/tail/head)
|
|
---@field rp? integer
|
|
---@field rank? xi.chocoboRaising.statRank
|
|
|
|
---@class ExdataChocoboStatByteRCP
|
|
---@field rp? integer
|
|
---@field rank? xi.chocoboRaising.statRank
|
|
|
|
---@class ExdataChocoboCard
|
|
---@field strength? ExdataChocoboStatByte # Strength (legs trait)
|
|
---@field endurance? ExdataChocoboStatByte # Endurance (tail trait)
|
|
---@field discernment? ExdataChocoboStatByte # Discernment (head trait)
|
|
---@field receptivity? ExdataChocoboStatByteRCP
|
|
---@field dna? integer[] # 3 color genes indexed [1-3], each [0-7]
|
|
---@field abilities? xi.chocoboRaising.ability[]
|
|
---@field temperament? xi.chocoboRaising.temperament
|
|
---@field weather? xi.chocoboRaising.weather
|
|
---@field gender? xi.chocoboRaising.gender
|
|
---@field color? xi.chocoboRaising.color
|
|
---@field size? xi.chocoboRacing.jockeySize
|
|
---@field name? string # 12 characters chocobo name
|
|
|
|
---@class ExdataFish
|
|
---@field size? integer # Im, [0-65535]
|
|
---@field weight? integer # Pz, [0-65535]
|
|
---@field isRanked? boolean
|
|
|
|
---@class ExdataEscutcheon
|
|
---@field status? integer # 0 = no craftsmanship data
|
|
---@field bonusObjective? xi.escutcheon.bonusObjective
|
|
---@field craftsmanship? integer # Raw craftsmanship accumulator
|
|
---@field stage? xi.escutcheon.stage
|
|
---@field successDownPenalty? integer # Scutum only. Accumulated penalty [0-65535]. Client display = (value-128)/3, capped at -30
|
|
---@field signature? string # 12 characters
|
|
|
|
---@class ExdataSoulPlate
|
|
---@field signature? string # 14 characters mob name
|
|
---@field zoneId? xi.zone
|
|
---@field familyId? xi.mobFamily
|
|
---@field poolId? xi.mobPool
|
|
---@field level? integer
|
|
---@field feralSkill? xi.pankration.feralSkill
|
|
---@field feralPoints? integer
|
|
---@field quality? integer # Zeni score based on distance, facing, HP%, claim [0-63]
|
|
|
|
---@class ExdataFeralSkillSlot
|
|
---@field skillId? xi.pankration.feralSkill|integer
|
|
---@field level? integer
|
|
|
|
---@class ExdataSoulReflector
|
|
---@field nameFirst? xi.pankration.firstName
|
|
---@field nameLast? xi.pankration.secondName
|
|
---@field poolId? xi.mobPool|integer
|
|
---@field exp? integer # Experience points [0-200]
|
|
---@field discipline? integer # Discipline accumulator [0-255]. /16 = xi.pankration.discipline
|
|
---@field temperament? integer # Tame/wild axis [0-15]. /2 = xi.pankration.temperament
|
|
---@field aggressiveness? integer # Aggressive/defensive axis [0-15]. /2 = xi.pankration.aggressiveness
|
|
---@field level? integer # Monster level [1-50]
|
|
---@field feralSkills? ExdataFeralSkillSlot[] # 7 slots: 1-5 equipped, 6-7 innate
|
|
|
|
---@class ExdataWeaponUnlock
|
|
---@field unlockPoints? integer
|
|
|
|
---@class ExdataFurniture
|
|
---@field on2ndFloor? boolean
|
|
---@field installed? boolean
|
|
---@field x? integer
|
|
---@field z? integer
|
|
---@field y? integer
|
|
---@field rotation? integer
|
|
---@field order? integer # LSB-only: placement order for moghancement tiebreaking
|
|
---@field signature? string
|
|
|
|
---@class ExdataFlowerPot
|
|
---@field step? integer # Flowerpot stage
|
|
---@field dried? boolean
|
|
---@field crystal1? integer # First crystal feed element - skipped for single crystal feed plants
|
|
---@field crystal2? integer # Second crystal feed element
|
|
---@field kind? integer # Seed/plant type
|
|
---@field examined? boolean # Examined since last wilt check
|
|
---@field strength? integer # RNG strength [0-127]
|
|
---@field x? integer
|
|
---@field z? integer
|
|
---@field y? integer
|
|
---@field rotation? integer
|
|
---@field timePlanted? integer # Vanatime when planted
|
|
---@field timeNextStep? integer # Vanatime of next stage
|
|
|
|
---@class ExdataMannequin
|
|
---@field x? integer
|
|
---@field z? integer
|
|
---@field y? integer
|
|
---@field rotation? integer
|
|
---@field main? integer
|
|
---@field sub? integer
|
|
---@field ranged? integer
|
|
---@field head? integer
|
|
---@field body? integer
|
|
---@field hands? integer
|
|
---@field legs? integer
|
|
---@field feet? integer
|
|
---@field race? xi.mannequin.type
|
|
---@field pose? xi.mannequin.pose
|
|
|
|
---@class ExdataAugment
|
|
---@field id? integer
|
|
---@field value? integer
|
|
|
|
---@class ExdataAugmentStandard
|
|
---@field augmentKind? xi.augment.kind
|
|
---@field augmentSubKind? xi.augment.subKind|integer
|
|
---@field augments? ExdataAugment[] # Up to 5 augments
|
|
---@field signature? string
|
|
|
|
---@class ExdataAugmentTrialInfo
|
|
---@field id? integer
|
|
---@field completed? boolean
|
|
|
|
---@class ExdataAugmentTrial
|
|
---@field augmentKind? xi.augment.kind
|
|
---@field augmentSubKind? xi.augment.subKind|integer
|
|
---@field augments? ExdataAugment[] # Up to 4 augments
|
|
---@field trial? ExdataAugmentTrialInfo
|
|
---@field signature? string
|
|
|
|
---@class ExdataMezzotintAugment
|
|
---@field index? xi.mezzotint.augment
|
|
---@field value? integer
|
|
|
|
---@class ExdataAugmentMezzotint
|
|
---@field augmentKind? xi.augment.kind
|
|
---@field augmentSubKind? xi.augment.subKind|integer
|
|
---@field type? xi.mezzotint.type
|
|
---@field rank? integer
|
|
---@field accumulatedRP? integer
|
|
---@field augments? ExdataMezzotintAugment[] # Up to 3 slots
|
|
---@field signature? string
|
|
|
|
---@class ExdataAugmentBundle
|
|
---@field augmentKind? xi.augment.kind
|
|
---@field type? integer
|
|
---@field accumulatedRP? integer
|
|
---@field rank? integer
|
|
---@field maxRankTier? integer
|
|
---@field rpCurve? xi.augment.rpCurve
|
|
---@field augmentIndex? integer
|
|
---@field signature? string
|
|
|
|
---@class ExdataLinkshellColor
|
|
---@field r? integer
|
|
---@field g? integer
|
|
---@field b? integer
|
|
---@field a? integer
|
|
|
|
---@class ExdataLinkshell
|
|
---@field groupId? integer
|
|
---@field groupKey? integer
|
|
---@field color? ExdataLinkshellColor
|
|
---@field flag? integer
|
|
---@field name? string
|
|
|
|
---@class ExdataSerialized
|
|
---@field serverIndex? integer # Only retail server IDs render correctly
|
|
---@field serialNumber? integer # [1-65535]
|
|
---@field signature? string
|
|
|
|
---@class ExdataItemTimerInfo
|
|
---@field remainingCharges? integer
|
|
---@field flags? integer
|
|
---@field timeValue1? integer
|
|
---@field timeValue2? integer
|
|
---@field signature? string
|
|
|
|
---@alias Exdata ExdataLegionPass|ExdataPerpetualHourglass|ExdataBettingSlip|ExdataAssaultLog|ExdataBrennerBook|ExdataMeebleGrimoire|ExdataHoneymoonTicket|ExdataRaceCertificate|ExdataLotteryTicket|ExdataTabula|ExdataEvolith|ExdataCraftingSet|ExdataGlowingLamp|ExdataChocoboEgg|ExdataChocoboCard|ExdataFish|ExdataEscutcheon|ExdataSoulPlate|ExdataSoulReflector|ExdataWeaponUnlock|ExdataFurniture|ExdataFlowerPot|ExdataMannequin|ExdataAugmentStandard|ExdataAugmentTrial|ExdataAugmentMezzotint|ExdataAugmentBundle|ExdataLinkshell|ExdataSerialized|ExdataItemTimerInfo
|