table
Reads one of the game’s data tables merged the way the game merges it (M2DA). The table is built from every GDA file whose name starts with the table’s prefix, from every source (for example the core’s abi_base.gda and a mod’s abi_*.gda), using the copy of each file the game uses. Files are ordered by source, then by name; when two files give the same ID, the game keeps the row from the first. Each row says which file and source it comes from, and _over lists the files whose rows for that ID it replaces. Filter with id or where; use overrides_only to see only what mods and add-ins change; page with limit/offset.
Read-only: it writes nothing.
Arguments
| Name | Type | Required | What |
|---|---|---|---|
table | string or integer | yes | The table: its number (m2da_base.gda’s ID, as the scripts’ TABLE_* constants: 1 is Abilities), its worksheet prefix (“abi”), its label (“Abilities”), or a GDA file’s name (“abi_base”). |
id | integer or array | Only the rows of this ID, or these IDs. | |
where | object | Only rows whose columns have these values: {“Label”: “Flurry”}. Text without case. | |
columns | array | Only these columns. Default: all. | |
overrides_only | boolean | Only the IDs that files give different rows, the row the game keeps of each (with dropped, the others too). Default false. | |
dropped | boolean | Also the rows the game drops: a later file’s row of an ID an earlier file has, marked _dropped. Default false: the table as the game has it. | |
limit | integer (≥ 1, ≤ 10000) | The most to return. Default 100. | |
offset | integer (≥ 0) | How many to skip first, to page through a long answer. Default 0. |
Call it as table over MCP, or from a shell as ghilana.exe --call table '<arguments as JSON>'.