In the above the key is:
- Green: Unique Key's
- Blue: Relationship with another table.
- Yellow: No relationship.
From what we can gather the Database is important largely to the Single Player and AI of the game.
A break down of the tables and their uses as we understand it is listed below
TagSetType consists of 2 fields
- TagSetTypeID - This is the Primary Key it is an Integer
- Name - This is a Text Field and contains the Name of the Tag Set Type
The Table is used to set up the Tag Set Types, existing in the Database Already are a total of 11 Tag Set Types they are:
TagSet holds all the TagSetID's from th various Definitions and sets up their relationship. As such it has 2 fields
- TagSetID - UUID, Primary Key, This is a UUID created in one of the Definition files and stored here.
- TagSetTypeID, - INT, this is the Tagset ID associated with the TagSetID.
In this case this Tag Set is a unitdef.
Tag holds the Unique ID for various Tag's used by the game along with their more 'Normal' name
This table defines things that other items can be assigned to in TagSetTag
- TagID - UUID,Primary Key this is a UUID that is used to uniquely identify this item.
- Name - The Name as used by the game.
in this case the tagid is assigned to unit_mech. and identifys that anything with this tag assigned to it in TagSetTag is of that type.
TagSetTag is a relationship Table, it is where you find TagSets assigned to each other it has 2 fields
- TagSetID - This is a UUID value that is also defined in TagSet.
- TagID - This is a UUID value that is defined from Tag
Together the two assign a TagSetID to various Tag's.. Such as Assigning a MechDefinition to various Groups so the AI and Game know what to do with it.
Here we can see that the TagSetID d1da24d2-a7d0etcetcetc.. has been assigned the Tag's in TagID
PilotDef is a table that defines the Pilots in the Database, it contains a total of 4 fields
- PilotDefId, Text, Primary Key, This is the Definition ID, it needs to match the one in the pilots.json file
- FriendlyName, text, This is the pilots Friendly Name eg how it reads normally.
- IconID, text not null, This is the Sprite Identifier for pilot.
- TagSetID, UUID, FK, not null, This is the Unique ID that will match a value that exists in the TagSET table and will also be used in all other tables as a reference.
Here we can see Buckshotfrom the Beta, we can see the PilotDefId matches that in the .json file, the Friendly Name, SpriteID and the Unique ID for tagsets.
UnitDef is a table that defines the individual units in the Database, it consists of 6 fields
- UnitDefID, Text, PrimaryKey, This is the Definition ID and needs to match the one in the .json files.
- FriendlyName, Text, A Friendly name that you can id.
- IconID, text, not used apparently.
- UnitTypeID, Int, matches the Unit's type to the Unit Type table.
- TagSetID, UUID FK, The UUID that will match a value that exists in the TagSet Table and will also be used to reference this entry in all other tables
- Cost, Int, The Units Cost.
Here we can see the Atlas, first we have the UnitDefID which matches it's .json file entry, it's friendly name Atlas, no icon, that it is unit type 1, it's Unique ID for the Tagsets and it's cost of 11,400,000 C-Bills.
UnitType is the table that defines the unit types. It consists of 2 fields and currently the values shown in the example are the unit types.
- UnitTypeID, INT, primary key the int that is used in UnitDef
- Name, string, the name of a unit type.
LanceDef is the table that defines Lance Types in the Database, it consists of 5 fields
- LanceDefID , String, Primary Key, This is the Definition ID and needs to match the one in the .json files
- Friendly Name, string, friendly name for knowing what the entry is
- Difficulty, int, the Difficulty rating of the lance.
- TagSetId, UUID FK, The UUID that will match a value that exists in the TagSet Table and will also be used to reference this entry in all other tables
- Cost, Int, The units cost in c-bills
Mood is the table that identifies the Moods it has 4 fields.
- MoodID, Text, Primary Key, The ID value for the mood possibly used as a reference in .json etc files.
- Name, text, seems to be a match of the moodid could also be the one used in the .json files.
- FriendlyName, text friendly mood name.
- TagSetID, The UUID that will match a value that exists in the TagSet Table and will also be used to reference this entry in all other tables
|ClearDayDesert||ClearDayDesert||Clear Day Desert||121849bc-9cd3-44e2-be09-da0a535208a8|