aboutsummaryrefslogtreecommitdiff
path: root/sql
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2022-12-16 22:44:55 +0100
committerShauren <shauren.trinity@gmail.com>2022-12-16 22:44:55 +0100
commit0cc5ab8372f19dad7412038d52dcd39db5e0e171 (patch)
tree99e621862e90fc9f073897445d4a8bdd4fbfa557 /sql
parent9be60f240960f6538329b5e017f435c6237a89ea (diff)
Core/Players: Implemented new talent system
Diffstat (limited to 'sql')
-rw-r--r--sql/base/characters_database.sql63
-rw-r--r--sql/updates/characters/master/2022_12_16_00_characters.sql37
-rw-r--r--sql/updates/hotfixes/master/2022_12_16_01_hotfixes.sql382
3 files changed, 480 insertions, 2 deletions
diff --git a/sql/base/characters_database.sql b/sql/base/characters_database.sql
index 5e9ebc0b9c5..53120ed9e3b 100644
--- a/sql/base/characters_database.sql
+++ b/sql/base/characters_database.sql
@@ -458,10 +458,11 @@ DROP TABLE IF EXISTS `character_action`;
CREATE TABLE `character_action` (
`guid` bigint unsigned NOT NULL DEFAULT '0',
`spec` tinyint unsigned NOT NULL DEFAULT '0',
+ `traitConfigId` int NOT NULL DEFAULT '0',
`button` tinyint unsigned NOT NULL DEFAULT '0',
`action` bigint unsigned NOT NULL DEFAULT '0',
`type` tinyint unsigned NOT NULL DEFAULT '0',
- PRIMARY KEY (`guid`,`spec`,`button`)
+ PRIMARY KEY (`guid`,`spec`,`traitConfigId`,`button`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
/*!40101 SET character_set_client = @saved_cs_client */;
@@ -1700,6 +1701,63 @@ LOCK TABLES `character_talent` WRITE;
UNLOCK TABLES;
--
+-- Table structure for table `character_trait_config`
+--
+
+DROP TABLE IF EXISTS `character_trait_config`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!50503 SET character_set_client = utf8mb4 */;
+CREATE TABLE `character_trait_config` (
+ `guid` bigint unsigned NOT NULL,
+ `traitConfigId` int NOT NULL,
+ `type` int NOT NULL,
+ `chrSpecializationId` int DEFAULT NULL,
+ `combatConfigFlags` int DEFAULT NULL,
+ `localIdentifier` int DEFAULT NULL,
+ `skillLineId` int DEFAULT NULL,
+ `traitSystemId` int DEFAULT NULL,
+ `name` varchar(260) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '',
+ PRIMARY KEY (`guid`,`traitConfigId`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `character_trait_config`
+--
+
+LOCK TABLES `character_trait_config` WRITE;
+/*!40000 ALTER TABLE `character_trait_config` DISABLE KEYS */;
+/*!40000 ALTER TABLE `character_trait_config` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `character_trait_entry`
+--
+
+DROP TABLE IF EXISTS `character_trait_entry`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!50503 SET character_set_client = utf8mb4 */;
+CREATE TABLE `character_trait_entry` (
+ `guid` bigint unsigned NOT NULL,
+ `traitConfigId` int NOT NULL,
+ `traitNodeId` int NOT NULL,
+ `traitNodeEntryId` int NOT NULL,
+ `rank` int NOT NULL DEFAULT '0',
+ `grantedRanks` int NOT NULL DEFAULT '0',
+ PRIMARY KEY (`guid`,`traitConfigId`,`traitNodeId`,`traitNodeEntryId`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `character_trait_entry`
+--
+
+LOCK TABLES `character_trait_entry` WRITE;
+/*!40000 ALTER TABLE `character_trait_entry` DISABLE KEYS */;
+/*!40000 ALTER TABLE `character_trait_entry` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
-- Table structure for table `character_transmog_outfits`
--
@@ -3606,7 +3664,8 @@ INSERT INTO `updates` VALUES
('2022_10_03_00_characters.sql','7B062787230D9158A622EB4AFE7FA6D18AB47BB3','ARCHIVED','2022-10-03 22:32:58',0),
('2022_10_03_01_characters.sql','7CF58BD9CC366301CC992017028568C8774C4BC2','ARCHIVED','2022-10-03 22:36:38',0),
('2022_10_03_02_characters.sql','33135AB3132943F15F4849A16EC5EFEA402F24F6','ARCHIVED','2022-10-03 22:38:27',0),
-('2022_11_20_00_characters.sql','4EB8BB24CAF16B0962DF3EF92C77BE05E234CFA6','ARCHIVED','2022-11-20 11:05:20',0);
+('2022_11_20_00_characters.sql','4EB8BB24CAF16B0962DF3EF92C77BE05E234CFA6','ARCHIVED','2022-11-20 11:05:20',0),
+('2022_12_16_00_characters.sql','ABD1E101FE6629E0520C91E98942E55067EDD492','RELEASED','2022-12-16 22:52:19',0);
/*!40000 ALTER TABLE `updates` ENABLE KEYS */;
UNLOCK TABLES;
diff --git a/sql/updates/characters/master/2022_12_16_00_characters.sql b/sql/updates/characters/master/2022_12_16_00_characters.sql
index 8a0dd2989cd..654062fc6ca 100644
--- a/sql/updates/characters/master/2022_12_16_00_characters.sql
+++ b/sql/updates/characters/master/2022_12_16_00_characters.sql
@@ -8,3 +8,40 @@ ALTER TABLE `character_inventory` ADD UNIQUE KEY `uk_location` (`guid`,`bag`,`sl
ALTER TABLE `character_inventory` DROP `newSlot`;
UPDATE `characters` SET `equipmentCache`=CONCAT(`equipmentCache`, '0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ');
+
+--
+-- Table structure for table `character_trait_entry`
+--
+DROP TABLE IF EXISTS `character_trait_entry`;
+CREATE TABLE `character_trait_entry` (
+ `guid` bigint unsigned NOT NULL,
+ `traitConfigId` int NOT NULL,
+ `traitNodeId` int NOT NULL,
+ `traitNodeEntryId` int NOT NULL,
+ `rank` int NOT NULL DEFAULT '0',
+ `grantedRanks` int NOT NULL DEFAULT '0',
+ PRIMARY KEY (`guid`,`traitConfigId`,`traitNodeId`,`traitNodeEntryId`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
+
+--
+-- Table structure for table `character_trait_config`
+--
+DROP TABLE IF EXISTS `character_trait_config`;
+CREATE TABLE `character_trait_config` (
+ `guid` bigint unsigned NOT NULL,
+ `traitConfigId` int NOT NULL,
+ `type` int NOT NULL,
+ `chrSpecializationId` int DEFAULT NULL,
+ `combatConfigFlags` int DEFAULT NULL,
+ `localIdentifier` int DEFAULT NULL,
+ `skillLineId` int DEFAULT NULL,
+ `traitSystemId` int DEFAULT NULL,
+ `name` varchar(260) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '',
+ PRIMARY KEY (`guid`,`traitConfigId`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
+
+ALTER TABLE `character_action` ADD `traitConfigId` int NOT NULL DEFAULT 0 AFTER `spec`;
+ALTER TABLE `character_action` DROP PRIMARY KEY;
+ALTER TABLE `character_action` ADD PRIMARY KEY (`guid`,`spec`,`traitConfigId`,`button`);
+
+DELETE FROM `character_talent`;
diff --git a/sql/updates/hotfixes/master/2022_12_16_01_hotfixes.sql b/sql/updates/hotfixes/master/2022_12_16_01_hotfixes.sql
new file mode 100644
index 00000000000..a76ff3ea1a1
--- /dev/null
+++ b/sql/updates/hotfixes/master/2022_12_16_01_hotfixes.sql
@@ -0,0 +1,382 @@
+--
+-- Table structure for table `skill_line_x_trait_tree`
+--
+DROP TABLE IF EXISTS `skill_line_x_trait_tree`;
+CREATE TABLE `skill_line_x_trait_tree` (
+ `ID` int(10) unsigned NOT NULL DEFAULT '0',
+ `SkillLineID` int(11) NOT NULL DEFAULT '0',
+ `TraitTreeID` int(11) NOT NULL DEFAULT '0',
+ `OrderIndex` int(11) NOT NULL DEFAULT '0',
+ `VerifiedBuild` int(11) NOT NULL DEFAULT '0',
+ PRIMARY KEY (`ID`,`VerifiedBuild`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
+
+--
+-- Table structure for table `trait_cond`
+--
+DROP TABLE IF EXISTS `trait_cond`;
+CREATE TABLE `trait_cond` (
+ `ID` int(10) unsigned NOT NULL DEFAULT '0',
+ `CondType` int(11) NOT NULL DEFAULT '0',
+ `TraitTreeID` int(11) NOT NULL DEFAULT '0',
+ `GrantedRanks` int(11) NOT NULL DEFAULT '0',
+ `QuestID` int(11) NOT NULL DEFAULT '0',
+ `AchievementID` int(11) NOT NULL DEFAULT '0',
+ `SpecSetID` int(11) NOT NULL DEFAULT '0',
+ `TraitNodeGroupID` int(11) NOT NULL DEFAULT '0',
+ `TraitNodeID` int(11) NOT NULL DEFAULT '0',
+ `TraitCurrencyID` int(11) NOT NULL DEFAULT '0',
+ `SpentAmountRequired` int(11) NOT NULL DEFAULT '0',
+ `Flags` int(11) NOT NULL DEFAULT '0',
+ `RequiredLevel` int(11) NOT NULL DEFAULT '0',
+ `FreeSharedStringID` int(11) NOT NULL DEFAULT '0',
+ `SpendMoreSharedStringID` int(11) NOT NULL DEFAULT '0',
+ `VerifiedBuild` int(11) NOT NULL DEFAULT '0',
+ PRIMARY KEY (`ID`,`VerifiedBuild`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
+
+--
+-- Table structure for table `trait_cost`
+--
+DROP TABLE IF EXISTS `trait_cost`;
+CREATE TABLE `trait_cost` (
+ `InternalName` text,
+ `ID` int(10) unsigned NOT NULL DEFAULT '0',
+ `Amount` int(11) NOT NULL DEFAULT '0',
+ `TraitCurrencyID` int(11) NOT NULL DEFAULT '0',
+ `VerifiedBuild` int(11) NOT NULL DEFAULT '0',
+ PRIMARY KEY (`ID`,`VerifiedBuild`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
+
+--
+-- Table structure for table `trait_currency`
+--
+DROP TABLE IF EXISTS `trait_currency`;
+CREATE TABLE `trait_currency` (
+ `ID` int(10) unsigned NOT NULL DEFAULT '0',
+ `Type` int(11) NOT NULL DEFAULT '0',
+ `CurrencyTypesID` int(11) NOT NULL DEFAULT '0',
+ `Flags` int(11) NOT NULL DEFAULT '0',
+ `Icon` int(11) NOT NULL DEFAULT '0',
+ `VerifiedBuild` int(11) NOT NULL DEFAULT '0',
+ PRIMARY KEY (`ID`,`VerifiedBuild`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
+
+--
+-- Table structure for table `trait_currency_source`
+--
+DROP TABLE IF EXISTS `trait_currency_source`;
+CREATE TABLE `trait_currency_source` (
+ `Requirement` text,
+ `ID` int(10) unsigned NOT NULL DEFAULT '0',
+ `TraitCurrencyID` int(11) NOT NULL DEFAULT '0',
+ `Amount` int(11) NOT NULL DEFAULT '0',
+ `QuestID` int(11) NOT NULL DEFAULT '0',
+ `AchievementID` int(11) NOT NULL DEFAULT '0',
+ `PlayerLevel` int(11) NOT NULL DEFAULT '0',
+ `TraitNodeEntryID` int(11) NOT NULL DEFAULT '0',
+ `OrderIndex` int(11) NOT NULL DEFAULT '0',
+ `VerifiedBuild` int(11) NOT NULL DEFAULT '0',
+ PRIMARY KEY (`ID`,`VerifiedBuild`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
+
+--
+-- Table structure for table `trait_currency_source_locale`
+--
+DROP TABLE IF EXISTS `trait_currency_source_locale`;
+CREATE TABLE `trait_currency_source_locale` (
+ `ID` int(10) unsigned NOT NULL DEFAULT '0',
+ `locale` varchar(4) NOT NULL,
+ `Requirement_lang` text,
+ `VerifiedBuild` int(11) NOT NULL DEFAULT '0',
+ PRIMARY KEY (`ID`,`locale`,`VerifiedBuild`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci
+PARTITION BY LIST COLUMNS(locale)
+(PARTITION deDE VALUES IN ('deDE') ENGINE = InnoDB,
+ PARTITION esES VALUES IN ('esES') ENGINE = InnoDB,
+ PARTITION esMX VALUES IN ('esMX') ENGINE = InnoDB,
+ PARTITION frFR VALUES IN ('frFR') ENGINE = InnoDB,
+ PARTITION itIT VALUES IN ('itIT') ENGINE = InnoDB,
+ PARTITION koKR VALUES IN ('koKR') ENGINE = InnoDB,
+ PARTITION ptBR VALUES IN ('ptBR') ENGINE = InnoDB,
+ PARTITION ruRU VALUES IN ('ruRU') ENGINE = InnoDB,
+ PARTITION zhCN VALUES IN ('zhCN') ENGINE = InnoDB,
+ PARTITION zhTW VALUES IN ('zhTW') ENGINE = InnoDB);
+
+--
+-- Table structure for table `trait_definition`
+--
+DROP TABLE IF EXISTS `trait_definition`;
+CREATE TABLE `trait_definition` (
+ `OverrideName` text,
+ `OverrideSubtext` text,
+ `OverrideDescription` text,
+ `ID` int(10) unsigned NOT NULL DEFAULT '0',
+ `SpellID` int(11) NOT NULL DEFAULT '0',
+ `OverrideIcon` int(11) NOT NULL DEFAULT '0',
+ `OverridesSpellID` int(11) NOT NULL DEFAULT '0',
+ `VisibleSpellID` int(11) NOT NULL DEFAULT '0',
+ `VerifiedBuild` int(11) NOT NULL DEFAULT '0',
+ PRIMARY KEY (`ID`,`VerifiedBuild`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
+
+--
+-- Table structure for table `trait_definition_locale`
+--
+DROP TABLE IF EXISTS `trait_definition_locale`;
+CREATE TABLE `trait_definition_locale` (
+ `ID` int(10) unsigned NOT NULL DEFAULT '0',
+ `locale` varchar(4) NOT NULL,
+ `OverrideName_lang` text,
+ `OverrideSubtext_lang` text,
+ `OverrideDescription_lang` text,
+ `VerifiedBuild` int(11) NOT NULL DEFAULT '0',
+ PRIMARY KEY (`ID`,`locale`,`VerifiedBuild`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci
+PARTITION BY LIST COLUMNS(locale)
+(PARTITION deDE VALUES IN ('deDE') ENGINE = InnoDB,
+ PARTITION esES VALUES IN ('esES') ENGINE = InnoDB,
+ PARTITION esMX VALUES IN ('esMX') ENGINE = InnoDB,
+ PARTITION frFR VALUES IN ('frFR') ENGINE = InnoDB,
+ PARTITION itIT VALUES IN ('itIT') ENGINE = InnoDB,
+ PARTITION koKR VALUES IN ('koKR') ENGINE = InnoDB,
+ PARTITION ptBR VALUES IN ('ptBR') ENGINE = InnoDB,
+ PARTITION ruRU VALUES IN ('ruRU') ENGINE = InnoDB,
+ PARTITION zhCN VALUES IN ('zhCN') ENGINE = InnoDB,
+ PARTITION zhTW VALUES IN ('zhTW') ENGINE = InnoDB);
+
+--
+-- Table structure for table `trait_definition_effect_points`
+--
+DROP TABLE IF EXISTS `trait_definition_effect_points`;
+CREATE TABLE `trait_definition_effect_points` (
+ `ID` int(10) unsigned NOT NULL DEFAULT '0',
+ `TraitDefinitionID` int(11) NOT NULL DEFAULT '0',
+ `EffectIndex` int(11) NOT NULL DEFAULT '0',
+ `OperationType` int(11) NOT NULL DEFAULT '0',
+ `CurveID` int(11) NOT NULL DEFAULT '0',
+ `VerifiedBuild` int(11) NOT NULL DEFAULT '0',
+ PRIMARY KEY (`ID`,`VerifiedBuild`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
+
+--
+-- Table structure for table `trait_edge`
+--
+DROP TABLE IF EXISTS `trait_edge`;
+CREATE TABLE `trait_edge` (
+ `ID` int(10) unsigned NOT NULL DEFAULT '0',
+ `VisualStyle` int(11) NOT NULL DEFAULT '0',
+ `LeftTraitNodeID` int(11) NOT NULL DEFAULT '0',
+ `RightTraitNodeID` int(11) NOT NULL DEFAULT '0',
+ `Type` int(11) NOT NULL DEFAULT '0',
+ `VerifiedBuild` int(11) NOT NULL DEFAULT '0',
+ PRIMARY KEY (`ID`,`VerifiedBuild`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
+
+--
+-- Table structure for table `trait_node`
+--
+DROP TABLE IF EXISTS `trait_node`;
+CREATE TABLE `trait_node` (
+ `ID` int(10) unsigned NOT NULL DEFAULT '0',
+ `TraitTreeID` int(11) NOT NULL DEFAULT '0',
+ `PosX` int(11) NOT NULL DEFAULT '0',
+ `PosY` int(11) NOT NULL DEFAULT '0',
+ `Type` tinyint(4) NOT NULL DEFAULT '0',
+ `Flags` int(11) NOT NULL DEFAULT '0',
+ `VerifiedBuild` int(11) NOT NULL DEFAULT '0',
+ PRIMARY KEY (`ID`,`VerifiedBuild`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
+
+--
+-- Table structure for table `trait_node_entry`
+--
+DROP TABLE IF EXISTS `trait_node_entry`;
+CREATE TABLE `trait_node_entry` (
+ `ID` int(10) unsigned NOT NULL DEFAULT '0',
+ `TraitDefinitionID` int(11) NOT NULL DEFAULT '0',
+ `MaxRanks` int(11) NOT NULL DEFAULT '0',
+ `NodeEntryType` tinyint(3) unsigned NOT NULL DEFAULT '0',
+ `VerifiedBuild` int(11) NOT NULL DEFAULT '0',
+ PRIMARY KEY (`ID`,`VerifiedBuild`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
+
+--
+-- Table structure for table `trait_node_entry_x_trait_cond`
+--
+DROP TABLE IF EXISTS `trait_node_entry_x_trait_cond`;
+CREATE TABLE `trait_node_entry_x_trait_cond` (
+ `ID` int(10) unsigned NOT NULL DEFAULT '0',
+ `TraitCondID` int(11) NOT NULL DEFAULT '0',
+ `TraitNodeEntryID` int(10) unsigned NOT NULL DEFAULT '0',
+ `VerifiedBuild` int(11) NOT NULL DEFAULT '0',
+ PRIMARY KEY (`ID`,`VerifiedBuild`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
+
+--
+-- Table structure for table `trait_node_entry_x_trait_cost`
+--
+DROP TABLE IF EXISTS `trait_node_entry_x_trait_cost`;
+CREATE TABLE `trait_node_entry_x_trait_cost` (
+ `ID` int(10) unsigned NOT NULL DEFAULT '0',
+ `TraitNodeEntryID` int(11) NOT NULL DEFAULT '0',
+ `TraitCostID` int(11) NOT NULL DEFAULT '0',
+ `VerifiedBuild` int(11) NOT NULL DEFAULT '0',
+ PRIMARY KEY (`ID`,`VerifiedBuild`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
+
+--
+-- Table structure for table `trait_node_group`
+--
+DROP TABLE IF EXISTS `trait_node_group`;
+CREATE TABLE `trait_node_group` (
+ `ID` int(10) unsigned NOT NULL DEFAULT '0',
+ `TraitTreeID` int(11) NOT NULL DEFAULT '0',
+ `Flags` int(11) NOT NULL DEFAULT '0',
+ `VerifiedBuild` int(11) NOT NULL DEFAULT '0',
+ PRIMARY KEY (`ID`,`VerifiedBuild`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
+
+--
+-- Table structure for table `trait_node_group_x_trait_cond`
+--
+DROP TABLE IF EXISTS `trait_node_group_x_trait_cond`;
+CREATE TABLE `trait_node_group_x_trait_cond` (
+ `ID` int(10) unsigned NOT NULL DEFAULT '0',
+ `TraitCondID` int(11) NOT NULL DEFAULT '0',
+ `TraitNodeGroupID` int(11) NOT NULL DEFAULT '0',
+ `VerifiedBuild` int(11) NOT NULL DEFAULT '0',
+ PRIMARY KEY (`ID`,`VerifiedBuild`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
+
+--
+-- Table structure for table `trait_node_group_x_trait_cost`
+--
+DROP TABLE IF EXISTS `trait_node_group_x_trait_cost`;
+CREATE TABLE `trait_node_group_x_trait_cost` (
+ `ID` int(10) unsigned NOT NULL DEFAULT '0',
+ `TraitNodeGroupID` int(11) NOT NULL DEFAULT '0',
+ `TraitCostID` int(11) NOT NULL DEFAULT '0',
+ `VerifiedBuild` int(11) NOT NULL DEFAULT '0',
+ PRIMARY KEY (`ID`,`VerifiedBuild`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
+
+--
+-- Table structure for table `trait_node_group_x_trait_node`
+--
+DROP TABLE IF EXISTS `trait_node_group_x_trait_node`;
+CREATE TABLE `trait_node_group_x_trait_node` (
+ `ID` int(10) unsigned NOT NULL DEFAULT '0',
+ `TraitNodeGroupID` int(11) NOT NULL DEFAULT '0',
+ `TraitNodeID` int(11) NOT NULL DEFAULT '0',
+ `Index` int(11) NOT NULL DEFAULT '0',
+ `VerifiedBuild` int(11) NOT NULL DEFAULT '0',
+ PRIMARY KEY (`ID`,`VerifiedBuild`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
+
+--
+-- Table structure for table `trait_node_x_trait_cond`
+--
+DROP TABLE IF EXISTS `trait_node_x_trait_cond`;
+CREATE TABLE `trait_node_x_trait_cond` (
+ `ID` int(10) unsigned NOT NULL DEFAULT '0',
+ `TraitCondID` int(11) NOT NULL DEFAULT '0',
+ `TraitNodeID` int(11) NOT NULL DEFAULT '0',
+ `VerifiedBuild` int(11) NOT NULL DEFAULT '0',
+ PRIMARY KEY (`ID`,`VerifiedBuild`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
+
+--
+-- Table structure for table `trait_node_x_trait_cost`
+--
+DROP TABLE IF EXISTS `trait_node_x_trait_cost`;
+CREATE TABLE `trait_node_x_trait_cost` (
+ `ID` int(10) unsigned NOT NULL DEFAULT '0',
+ `TraitNodeID` int(10) unsigned NOT NULL DEFAULT '0',
+ `TraitCostID` int(11) NOT NULL DEFAULT '0',
+ `VerifiedBuild` int(11) NOT NULL DEFAULT '0',
+ PRIMARY KEY (`ID`,`VerifiedBuild`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
+
+--
+-- Table structure for table `trait_node_x_trait_node_entry`
+--
+DROP TABLE IF EXISTS `trait_node_x_trait_node_entry`;
+CREATE TABLE `trait_node_x_trait_node_entry` (
+ `ID` int(10) unsigned NOT NULL DEFAULT '0',
+ `TraitNodeID` int(11) NOT NULL DEFAULT '0',
+ `TraitNodeEntryID` int(11) NOT NULL DEFAULT '0',
+ `Index` int(11) NOT NULL DEFAULT '0',
+ `VerifiedBuild` int(11) NOT NULL DEFAULT '0',
+ PRIMARY KEY (`ID`,`VerifiedBuild`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
+
+--
+-- Table structure for table `trait_tree`
+--
+DROP TABLE IF EXISTS `trait_tree`;
+CREATE TABLE `trait_tree` (
+ `ID` int(10) unsigned NOT NULL DEFAULT '0',
+ `TraitSystemID` int(11) NOT NULL DEFAULT '0',
+ `Unused1000_1` int(11) NOT NULL DEFAULT '0',
+ `FirstTraitNodeID` int(11) NOT NULL DEFAULT '0',
+ `PlayerConditionID` int(11) NOT NULL DEFAULT '0',
+ `Flags` int(11) NOT NULL DEFAULT '0',
+ `Unused1000_2` float NOT NULL DEFAULT '0',
+ `Unused1000_3` float NOT NULL DEFAULT '0',
+ `VerifiedBuild` int(11) NOT NULL DEFAULT '0',
+ PRIMARY KEY (`ID`,`VerifiedBuild`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
+
+--
+-- Table structure for table `trait_tree_loadout`
+--
+DROP TABLE IF EXISTS `trait_tree_loadout`;
+CREATE TABLE `trait_tree_loadout` (
+ `ID` int(10) unsigned NOT NULL DEFAULT '0',
+ `TraitTreeID` int(11) NOT NULL DEFAULT '0',
+ `ChrSpecializationID` int(11) NOT NULL DEFAULT '0',
+ `VerifiedBuild` int(11) NOT NULL DEFAULT '0',
+ PRIMARY KEY (`ID`,`VerifiedBuild`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
+
+
+--
+-- Table structure for table `trait_tree_loadout_entry`
+--
+DROP TABLE IF EXISTS `trait_tree_loadout_entry`;
+CREATE TABLE `trait_tree_loadout_entry` (
+ `ID` int(10) unsigned NOT NULL DEFAULT '0',
+ `TraitTreeLoadoutID` int(11) NOT NULL DEFAULT '0',
+ `SelectedTraitNodeID` int(11) NOT NULL DEFAULT '0',
+ `SelectedTraitNodeEntryID` int(11) NOT NULL DEFAULT '0',
+ `NumPoints` int(11) NOT NULL DEFAULT '0',
+ `OrderIndex` int(11) NOT NULL DEFAULT '0',
+ `VerifiedBuild` int(11) NOT NULL DEFAULT '0',
+ PRIMARY KEY (`ID`,`VerifiedBuild`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
+
+--
+-- Table structure for table `trait_tree_x_trait_cost`
+--
+DROP TABLE IF EXISTS `trait_tree_x_trait_cost`;
+CREATE TABLE `trait_tree_x_trait_cost` (
+ `ID` int(10) unsigned NOT NULL DEFAULT '0',
+ `TraitTreeID` int(10) unsigned NOT NULL DEFAULT '0',
+ `TraitCostID` int(11) NOT NULL DEFAULT '0',
+ `VerifiedBuild` int(11) NOT NULL DEFAULT '0',
+ PRIMARY KEY (`ID`,`VerifiedBuild`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
+
+--
+-- Table structure for table `trait_tree_x_trait_currency`
+--
+DROP TABLE IF EXISTS `trait_tree_x_trait_currency`;
+CREATE TABLE `trait_tree_x_trait_currency` (
+ `ID` int(10) unsigned NOT NULL DEFAULT '0',
+ `Index` int(11) NOT NULL DEFAULT '0',
+ `TraitTreeID` int(11) NOT NULL DEFAULT '0',
+ `TraitCurrencyID` int(11) NOT NULL DEFAULT '0',
+ `VerifiedBuild` int(11) NOT NULL DEFAULT '0',
+ PRIMARY KEY (`ID`,`VerifiedBuild`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;