Core/DataStores: Load CurrencyContainer, GarrMission, JournalEncounter, JournalEncounterSection, JournalInstance, JournalTier, KeystoneAffix, MapChallengeMode, MawPower and SoulbindConduitRank

This commit is contained in:
Shauren
2021-10-31 23:07:17 +01:00
parent 127c9e5014
commit 70a62c3978
7 changed files with 986 additions and 1 deletions

View File

@@ -0,0 +1,440 @@
--
-- Table structure for table `currency_container`
--
DROP TABLE IF EXISTS `currency_container`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `currency_container` (
`ID` int(10) unsigned NOT NULL DEFAULT '0',
`ContainerName` text,
`ContainerDescription` text,
`MinAmount` int(11) NOT NULL DEFAULT '0',
`MaxAmount` int(11) NOT NULL DEFAULT '0',
`ContainerIconID` int(11) NOT NULL DEFAULT '0',
`ContainerQuality` int(11) NOT NULL DEFAULT '0',
`OnLootSpellVisualKitID` int(11) NOT NULL DEFAULT '0',
`CurrencyTypesID` 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;
/*!40101 SET character_set_client = @saved_cs_client */;
--
-- Table structure for table `currency_container_locale`
--
DROP TABLE IF EXISTS `currency_container_locale`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `currency_container_locale` (
`ID` int(10) unsigned NOT NULL DEFAULT '0',
`locale` varchar(4) NOT NULL,
`ContainerName_lang` text,
`ContainerDescription_lang` text,
`VerifiedBuild` int(11) NOT NULL DEFAULT '0',
PRIMARY KEY (`ID`,`locale`,`VerifiedBuild`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci
/*!50500 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) */;
/*!40101 SET character_set_client = @saved_cs_client */;
--
-- Table structure for table `garr_mission`
--
DROP TABLE IF EXISTS `garr_mission`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `garr_mission` (
`ID` int(10) unsigned NOT NULL DEFAULT '0',
`Name` text,
`Location` text,
`Description` text,
`MapPosX` float NOT NULL DEFAULT '0',
`MapPosY` float NOT NULL DEFAULT '0',
`WorldPosX` float NOT NULL DEFAULT '0',
`WorldPosY` float NOT NULL DEFAULT '0',
`GarrTypeID` tinyint(3) unsigned NOT NULL DEFAULT '0',
`GarrMissionTypeID` tinyint(3) unsigned NOT NULL DEFAULT '0',
`GarrFollowerTypeID` tinyint(3) unsigned NOT NULL DEFAULT '0',
`MaxFollowers` tinyint(3) unsigned NOT NULL DEFAULT '0',
`MissionCost` int(10) unsigned NOT NULL DEFAULT '0',
`MissionCostCurrencyTypesID` smallint(5) unsigned NOT NULL DEFAULT '0',
`OfferedGarrMissionTextureID` tinyint(3) unsigned NOT NULL DEFAULT '0',
`UiTextureKitID` smallint(5) unsigned NOT NULL DEFAULT '0',
`EnvGarrMechanicID` int(10) unsigned NOT NULL DEFAULT '0',
`EnvGarrMechanicTypeID` int(11) NOT NULL DEFAULT '0',
`PlayerConditionID` int(10) unsigned NOT NULL DEFAULT '0',
`GarrMissionSetID` int(11) NOT NULL DEFAULT '0',
`TargetLevel` tinyint(4) NOT NULL DEFAULT '0',
`TargetItemLevel` smallint(5) unsigned NOT NULL DEFAULT '0',
`MissionDuration` int(11) NOT NULL DEFAULT '0',
`TravelDuration` int(11) NOT NULL DEFAULT '0',
`OfferDuration` int(10) unsigned NOT NULL DEFAULT '0',
`BaseCompletionChance` tinyint(3) unsigned NOT NULL DEFAULT '0',
`BaseFollowerXP` int(10) unsigned NOT NULL DEFAULT '0',
`OvermaxRewardPackID` int(10) unsigned NOT NULL DEFAULT '0',
`FollowerDeathChance` tinyint(3) unsigned NOT NULL DEFAULT '0',
`AreaID` int(10) unsigned NOT NULL DEFAULT '0',
`Flags` int(10) unsigned NOT NULL DEFAULT '0',
`AutoMissionScalar` float NOT NULL DEFAULT '0',
`AutoMissionScalarCurveID` int(11) NOT NULL DEFAULT '0',
`AutoCombatantEnvCasterID` 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;
/*!40101 SET character_set_client = @saved_cs_client */;
--
-- Table structure for table `garr_mission_locale`
--
DROP TABLE IF EXISTS `garr_mission_locale`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `garr_mission_locale` (
`ID` int(10) unsigned NOT NULL DEFAULT '0',
`locale` varchar(4) NOT NULL,
`Name_lang` text,
`Location_lang` text,
`Description_lang` text,
`VerifiedBuild` int(11) NOT NULL DEFAULT '0',
PRIMARY KEY (`ID`,`locale`,`VerifiedBuild`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci
/*!50500 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) */;
/*!40101 SET character_set_client = @saved_cs_client */;
--
-- Table structure for table `journal_encounter`
--
DROP TABLE IF EXISTS `journal_encounter`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `journal_encounter` (
`Name` text,
`Description` text,
`MapX` float NOT NULL DEFAULT '0',
`MapY` float NOT NULL DEFAULT '0',
`ID` int(10) unsigned NOT NULL DEFAULT '0',
`JournalInstanceID` smallint(5) unsigned NOT NULL DEFAULT '0',
`DungeonEncounterID` smallint(5) unsigned NOT NULL DEFAULT '0',
`OrderIndex` int(10) unsigned NOT NULL DEFAULT '0',
`FirstSectionID` smallint(5) unsigned NOT NULL DEFAULT '0',
`UiMapID` smallint(5) unsigned NOT NULL DEFAULT '0',
`MapDisplayConditionID` int(10) unsigned NOT NULL DEFAULT '0',
`Flags` tinyint(3) unsigned NOT NULL DEFAULT '0',
`DifficultyMask` tinyint(4) NOT NULL DEFAULT '0',
`VerifiedBuild` int(11) NOT NULL DEFAULT '0',
PRIMARY KEY (`ID`,`VerifiedBuild`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
/*!40101 SET character_set_client = @saved_cs_client */;
--
-- Table structure for table `journal_encounter_locale`
--
DROP TABLE IF EXISTS `journal_encounter_locale`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `journal_encounter_locale` (
`ID` int(10) unsigned NOT NULL DEFAULT '0',
`locale` varchar(4) NOT NULL,
`Name_lang` text,
`Description_lang` text,
`VerifiedBuild` int(11) NOT NULL DEFAULT '0',
PRIMARY KEY (`ID`,`locale`,`VerifiedBuild`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci
/*!50500 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) */;
/*!40101 SET character_set_client = @saved_cs_client */;
--
-- Table structure for table `journal_encounter_section`
--
DROP TABLE IF EXISTS `journal_encounter_section`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `journal_encounter_section` (
`ID` int(10) unsigned NOT NULL DEFAULT '0',
`Title` text,
`BodyText` text,
`JournalEncounterID` smallint(5) unsigned NOT NULL DEFAULT '0',
`OrderIndex` tinyint(3) unsigned NOT NULL DEFAULT '0',
`ParentSectionID` smallint(5) unsigned NOT NULL DEFAULT '0',
`FirstChildSectionID` smallint(5) unsigned NOT NULL DEFAULT '0',
`NextSiblingSectionID` smallint(5) unsigned NOT NULL DEFAULT '0',
`Type` tinyint(3) unsigned NOT NULL DEFAULT '0',
`IconCreatureDisplayInfoID` int(10) unsigned NOT NULL DEFAULT '0',
`UiModelSceneID` int(11) NOT NULL DEFAULT '0',
`SpellID` int(11) NOT NULL DEFAULT '0',
`IconFileDataID` int(11) NOT NULL DEFAULT '0',
`Flags` smallint(5) unsigned NOT NULL DEFAULT '0',
`IconFlags` smallint(5) unsigned NOT NULL DEFAULT '0',
`DifficultyMask` tinyint(4) NOT NULL DEFAULT '0',
`VerifiedBuild` int(11) NOT NULL DEFAULT '0',
PRIMARY KEY (`ID`,`VerifiedBuild`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
/*!40101 SET character_set_client = @saved_cs_client */;
--
-- Table structure for table `journal_encounter_section_locale`
--
DROP TABLE IF EXISTS `journal_encounter_section_locale`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `journal_encounter_section_locale` (
`ID` int(10) unsigned NOT NULL DEFAULT '0',
`locale` varchar(4) NOT NULL,
`Title_lang` text,
`BodyText_lang` text,
`VerifiedBuild` int(11) NOT NULL DEFAULT '0',
PRIMARY KEY (`ID`,`locale`,`VerifiedBuild`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci
/*!50500 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) */;
/*!40101 SET character_set_client = @saved_cs_client */;
--
-- Table structure for table `journal_instance`
--
DROP TABLE IF EXISTS `journal_instance`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `journal_instance` (
`ID` int(10) unsigned NOT NULL DEFAULT '0',
`Name` text,
`Description` text,
`MapID` smallint(5) unsigned NOT NULL DEFAULT '0',
`BackgroundFileDataID` int(11) NOT NULL DEFAULT '0',
`ButtonFileDataID` int(11) NOT NULL DEFAULT '0',
`ButtonSmallFileDataID` int(11) NOT NULL DEFAULT '0',
`LoreFileDataID` int(11) NOT NULL DEFAULT '0',
`OrderIndex` tinyint(3) unsigned NOT NULL DEFAULT '0',
`Flags` tinyint(3) unsigned NOT NULL DEFAULT '0',
`AreaID` smallint(5) 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;
/*!40101 SET character_set_client = @saved_cs_client */;
--
-- Table structure for table `journal_instance_locale`
--
DROP TABLE IF EXISTS `journal_instance_locale`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `journal_instance_locale` (
`ID` int(10) unsigned NOT NULL DEFAULT '0',
`locale` varchar(4) NOT NULL,
`Name_lang` text,
`Description_lang` text,
`VerifiedBuild` int(11) NOT NULL DEFAULT '0',
PRIMARY KEY (`ID`,`locale`,`VerifiedBuild`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci
/*!50500 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) */;
/*!40101 SET character_set_client = @saved_cs_client */;
--
-- Table structure for table `journal_tier`
--
DROP TABLE IF EXISTS `journal_tier`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `journal_tier` (
`ID` int(10) unsigned NOT NULL DEFAULT '0',
`Name` text,
`PlayerConditionID` 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;
/*!40101 SET character_set_client = @saved_cs_client */;
--
-- Table structure for table `journal_tier_locale`
--
DROP TABLE IF EXISTS `journal_tier_locale`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `journal_tier_locale` (
`ID` int(10) unsigned NOT NULL DEFAULT '0',
`locale` varchar(4) NOT NULL,
`Name_lang` text,
`VerifiedBuild` int(11) NOT NULL DEFAULT '0',
PRIMARY KEY (`ID`,`locale`,`VerifiedBuild`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci
/*!50500 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) */;
/*!40101 SET character_set_client = @saved_cs_client */;
--
-- Table structure for table `keystone_affix`
--
DROP TABLE IF EXISTS `keystone_affix`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `keystone_affix` (
`ID` int(10) unsigned NOT NULL DEFAULT '0',
`Name` text,
`Description` text,
`FiledataID` 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;
/*!40101 SET character_set_client = @saved_cs_client */;
--
-- Table structure for table `keystone_affix_locale`
--
DROP TABLE IF EXISTS `keystone_affix_locale`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `keystone_affix_locale` (
`ID` int(10) unsigned NOT NULL DEFAULT '0',
`locale` varchar(4) NOT NULL,
`Name_lang` text,
`Description_lang` text,
`VerifiedBuild` int(11) NOT NULL DEFAULT '0',
PRIMARY KEY (`ID`,`locale`,`VerifiedBuild`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci
/*!50500 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) */;
/*!40101 SET character_set_client = @saved_cs_client */;
--
-- Table structure for table `map_challenge_mode`
--
DROP TABLE IF EXISTS `map_challenge_mode`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `map_challenge_mode` (
`Name` text,
`ID` int(10) unsigned NOT NULL DEFAULT '0',
`MapID` smallint(5) unsigned NOT NULL DEFAULT '0',
`Flags` tinyint(3) unsigned NOT NULL DEFAULT '0',
`ExpansionLevel` int(10) unsigned NOT NULL DEFAULT '0',
`CriteriaCount1` smallint(6) NOT NULL DEFAULT '0',
`CriteriaCount2` smallint(6) NOT NULL DEFAULT '0',
`CriteriaCount3` smallint(6) NOT NULL DEFAULT '0',
`VerifiedBuild` int(11) NOT NULL DEFAULT '0',
PRIMARY KEY (`ID`,`VerifiedBuild`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
/*!40101 SET character_set_client = @saved_cs_client */;
--
-- Table structure for table `map_challenge_mode_locale`
--
DROP TABLE IF EXISTS `map_challenge_mode_locale`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `map_challenge_mode_locale` (
`ID` int(10) unsigned NOT NULL DEFAULT '0',
`locale` varchar(4) NOT NULL,
`Name_lang` text,
`VerifiedBuild` int(11) NOT NULL DEFAULT '0',
PRIMARY KEY (`ID`,`locale`,`VerifiedBuild`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci
/*!50500 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) */;
/*!40101 SET character_set_client = @saved_cs_client */;
--
-- Table structure for table `maw_power`
--
DROP TABLE IF EXISTS `maw_power`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `maw_power` (
`ID` int(10) unsigned NOT NULL DEFAULT '0',
`SpellID` int(11) NOT NULL DEFAULT '0',
`MawPowerRarityID` 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;
/*!40101 SET character_set_client = @saved_cs_client */;
--
-- Table structure for table `soulbind_conduit_rank`
--
DROP TABLE IF EXISTS `soulbind_conduit_rank`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `soulbind_conduit_rank` (
`ID` int(10) unsigned NOT NULL DEFAULT '0',
`RankIndex` int(11) NOT NULL DEFAULT '0',
`SpellID` int(11) NOT NULL DEFAULT '0',
`AuraPointsOverride` float NOT NULL DEFAULT '0',
`SoulbindConduitID` 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;
/*!40101 SET character_set_client = @saved_cs_client */;

View File

@@ -481,6 +481,13 @@ void HotfixDatabaseConnection::DoPrepareStatements()
PREPARE_LOCALE_STMT(HOTFIX_SEL_CRITERIA_TREE, "SELECT ID, Description_lang FROM criteria_tree_locale WHERE (`VerifiedBuild` > 0) = ?"
" AND locale = ?", CONNECTION_SYNCH);
// CurrencyContainer.db2
PrepareStatement(HOTFIX_SEL_CURRENCY_CONTAINER, "SELECT ID, ContainerName, ContainerDescription, MinAmount, MaxAmount, ContainerIconID, "
"ContainerQuality, OnLootSpellVisualKitID, CurrencyTypesID FROM currency_container WHERE (`VerifiedBuild` > 0) = ?", CONNECTION_SYNCH);
PREPARE_MAX_ID_STMT(HOTFIX_SEL_CURRENCY_CONTAINER, "SELECT MAX(ID) + 1 FROM currency_container", CONNECTION_SYNCH);
PREPARE_LOCALE_STMT(HOTFIX_SEL_CURRENCY_CONTAINER, "SELECT ID, ContainerName_lang, ContainerDescription_lang FROM currency_container_locale"
" WHERE (`VerifiedBuild` > 0) = ? AND locale = ?", CONNECTION_SYNCH);
// CurrencyTypes.db2
PrepareStatement(HOTFIX_SEL_CURRENCY_TYPES, "SELECT ID, Name, Description, CategoryID, InventoryIconFileID, SpellWeight, SpellCategory, MaxQty, "
"MaxEarnablePerWeek, Quality, FactionID, ItemGroupSoundsID, XpQuestDifficulty, AwardConditionID, MaxQtyWorldStateID, Flags1, Flags2"
@@ -643,6 +650,16 @@ void HotfixDatabaseConnection::DoPrepareStatements()
" FROM garr_follower_x_ability WHERE (`VerifiedBuild` > 0) = ?", CONNECTION_SYNCH);
PREPARE_MAX_ID_STMT(HOTFIX_SEL_GARR_FOLLOWER_X_ABILITY, "SELECT MAX(ID) + 1 FROM garr_follower_x_ability", CONNECTION_SYNCH);
// GarrMission.db2
PrepareStatement(HOTFIX_SEL_GARR_MISSION, "SELECT ID, Name, Location, Description, MapPosX, MapPosY, WorldPosX, WorldPosY, GarrTypeID, "
"GarrMissionTypeID, GarrFollowerTypeID, MaxFollowers, MissionCost, MissionCostCurrencyTypesID, OfferedGarrMissionTextureID, UiTextureKitID, "
"EnvGarrMechanicID, EnvGarrMechanicTypeID, PlayerConditionID, GarrMissionSetID, TargetLevel, TargetItemLevel, MissionDuration, "
"TravelDuration, OfferDuration, BaseCompletionChance, BaseFollowerXP, OvermaxRewardPackID, FollowerDeathChance, AreaID, Flags, "
"AutoMissionScalar, AutoMissionScalarCurveID, AutoCombatantEnvCasterID FROM garr_mission WHERE (`VerifiedBuild` > 0) = ?", CONNECTION_SYNCH);
PREPARE_MAX_ID_STMT(HOTFIX_SEL_GARR_MISSION, "SELECT MAX(ID) + 1 FROM garr_mission", CONNECTION_SYNCH);
PREPARE_LOCALE_STMT(HOTFIX_SEL_GARR_MISSION, "SELECT ID, Name_lang, Location_lang, Description_lang FROM garr_mission_locale"
" WHERE (`VerifiedBuild` > 0) = ? AND locale = ?", CONNECTION_SYNCH);
// GarrPlot.db2
PrepareStatement(HOTFIX_SEL_GARR_PLOT, "SELECT ID, Name, PlotType, HordeConstructObjID, AllianceConstructObjID, Flags, UiCategoryID, "
"UpgradeRequirement1, UpgradeRequirement2 FROM garr_plot WHERE (`VerifiedBuild` > 0) = ?", CONNECTION_SYNCH);
@@ -940,12 +957,45 @@ void HotfixDatabaseConnection::DoPrepareStatements()
PrepareStatement(HOTFIX_SEL_ITEM_X_ITEM_EFFECT, "SELECT ID, ItemEffectID, ItemID FROM item_x_item_effect WHERE (`VerifiedBuild` > 0) = ?", CONNECTION_SYNCH);
PREPARE_MAX_ID_STMT(HOTFIX_SEL_ITEM_X_ITEM_EFFECT, "SELECT MAX(ID) + 1 FROM item_x_item_effect", CONNECTION_SYNCH);
// JournalEncounter.db2
PrepareStatement(HOTFIX_SEL_JOURNAL_ENCOUNTER, "SELECT Name, Description, MapX, MapY, ID, JournalInstanceID, DungeonEncounterID, OrderIndex, "
"FirstSectionID, UiMapID, MapDisplayConditionID, Flags, DifficultyMask FROM journal_encounter WHERE (`VerifiedBuild` > 0) = ?", CONNECTION_SYNCH);
PREPARE_MAX_ID_STMT(HOTFIX_SEL_JOURNAL_ENCOUNTER, "SELECT MAX(ID) + 1 FROM journal_encounter", CONNECTION_SYNCH);
PREPARE_LOCALE_STMT(HOTFIX_SEL_JOURNAL_ENCOUNTER, "SELECT ID, Name_lang, Description_lang FROM journal_encounter_locale"
" WHERE (`VerifiedBuild` > 0) = ? AND locale = ?", CONNECTION_SYNCH);
// JournalEncounterSection.db2
PrepareStatement(HOTFIX_SEL_JOURNAL_ENCOUNTER_SECTION, "SELECT ID, Title, BodyText, JournalEncounterID, OrderIndex, ParentSectionID, "
"FirstChildSectionID, NextSiblingSectionID, Type, IconCreatureDisplayInfoID, UiModelSceneID, SpellID, IconFileDataID, Flags, IconFlags, "
"DifficultyMask FROM journal_encounter_section WHERE (`VerifiedBuild` > 0) = ?", CONNECTION_SYNCH);
PREPARE_MAX_ID_STMT(HOTFIX_SEL_JOURNAL_ENCOUNTER_SECTION, "SELECT MAX(ID) + 1 FROM journal_encounter_section", CONNECTION_SYNCH);
PREPARE_LOCALE_STMT(HOTFIX_SEL_JOURNAL_ENCOUNTER_SECTION, "SELECT ID, Title_lang, BodyText_lang FROM journal_encounter_section_locale"
" WHERE (`VerifiedBuild` > 0) = ? AND locale = ?", CONNECTION_SYNCH);
// JournalInstance.db2
PrepareStatement(HOTFIX_SEL_JOURNAL_INSTANCE, "SELECT ID, Name, Description, MapID, BackgroundFileDataID, ButtonFileDataID, "
"ButtonSmallFileDataID, LoreFileDataID, OrderIndex, Flags, AreaID FROM journal_instance WHERE (`VerifiedBuild` > 0) = ?", CONNECTION_SYNCH);
PREPARE_MAX_ID_STMT(HOTFIX_SEL_JOURNAL_INSTANCE, "SELECT MAX(ID) + 1 FROM journal_instance", CONNECTION_SYNCH);
PREPARE_LOCALE_STMT(HOTFIX_SEL_JOURNAL_INSTANCE, "SELECT ID, Name_lang, Description_lang FROM journal_instance_locale"
" WHERE (`VerifiedBuild` > 0) = ? AND locale = ?", CONNECTION_SYNCH);
// JournalTier.db2
PrepareStatement(HOTFIX_SEL_JOURNAL_TIER, "SELECT ID, Name, PlayerConditionID FROM journal_tier WHERE (`VerifiedBuild` > 0) = ?", CONNECTION_SYNCH);
PREPARE_MAX_ID_STMT(HOTFIX_SEL_JOURNAL_TIER, "SELECT MAX(ID) + 1 FROM journal_tier", CONNECTION_SYNCH);
PREPARE_LOCALE_STMT(HOTFIX_SEL_JOURNAL_TIER, "SELECT ID, Name_lang FROM journal_tier_locale WHERE (`VerifiedBuild` > 0) = ? AND locale = ?", CONNECTION_SYNCH);
// Keychain.db2
PrepareStatement(HOTFIX_SEL_KEYCHAIN, "SELECT ID, Key1, Key2, Key3, Key4, Key5, Key6, Key7, Key8, Key9, Key10, Key11, Key12, Key13, Key14, Key15, "
"Key16, Key17, Key18, Key19, Key20, Key21, Key22, Key23, Key24, Key25, Key26, Key27, Key28, Key29, Key30, Key31, Key32 FROM keychain"
" WHERE (`VerifiedBuild` > 0) = ?", CONNECTION_SYNCH);
PREPARE_MAX_ID_STMT(HOTFIX_SEL_KEYCHAIN, "SELECT MAX(ID) + 1 FROM keychain", CONNECTION_SYNCH);
// KeystoneAffix.db2
PrepareStatement(HOTFIX_SEL_KEYSTONE_AFFIX, "SELECT ID, Name, Description, FiledataID FROM keystone_affix WHERE (`VerifiedBuild` > 0) = ?", CONNECTION_SYNCH);
PREPARE_MAX_ID_STMT(HOTFIX_SEL_KEYSTONE_AFFIX, "SELECT MAX(ID) + 1 FROM keystone_affix", CONNECTION_SYNCH);
PREPARE_LOCALE_STMT(HOTFIX_SEL_KEYSTONE_AFFIX, "SELECT ID, Name_lang, Description_lang FROM keystone_affix_locale WHERE (`VerifiedBuild` > 0) = ?"
" AND locale = ?", CONNECTION_SYNCH);
// LanguageWords.db2
PrepareStatement(HOTFIX_SEL_LANGUAGE_WORDS, "SELECT ID, Word, LanguageID FROM language_words WHERE (`VerifiedBuild` > 0) = ?", CONNECTION_SYNCH);
PREPARE_MAX_ID_STMT(HOTFIX_SEL_LANGUAGE_WORDS, "SELECT MAX(ID) + 1 FROM language_words", CONNECTION_SYNCH);
@@ -999,6 +1049,13 @@ void HotfixDatabaseConnection::DoPrepareStatements()
PREPARE_LOCALE_STMT(HOTFIX_SEL_MAP, "SELECT ID, MapName_lang, MapDescription0_lang, MapDescription1_lang, PvpShortDescription_lang, "
"PvpLongDescription_lang FROM map_locale WHERE (`VerifiedBuild` > 0) = ? AND locale = ?", CONNECTION_SYNCH);
// MapChallengeMode.db2
PrepareStatement(HOTFIX_SEL_MAP_CHALLENGE_MODE, "SELECT Name, ID, MapID, Flags, ExpansionLevel, CriteriaCount1, CriteriaCount2, CriteriaCount3"
" FROM map_challenge_mode WHERE (`VerifiedBuild` > 0) = ?", CONNECTION_SYNCH);
PREPARE_MAX_ID_STMT(HOTFIX_SEL_MAP_CHALLENGE_MODE, "SELECT MAX(ID) + 1 FROM map_challenge_mode", CONNECTION_SYNCH);
PREPARE_LOCALE_STMT(HOTFIX_SEL_MAP_CHALLENGE_MODE, "SELECT ID, Name_lang FROM map_challenge_mode_locale WHERE (`VerifiedBuild` > 0) = ?"
" AND locale = ?", CONNECTION_SYNCH);
// MapDifficulty.db2
PrepareStatement(HOTFIX_SEL_MAP_DIFFICULTY, "SELECT ID, Message, DifficultyID, LockID, ResetInterval, MaxPlayers, ItemContext, "
"ItemContextPickerID, Flags, ContentTuningID, MapID FROM map_difficulty WHERE (`VerifiedBuild` > 0) = ?", CONNECTION_SYNCH);
@@ -1012,6 +1069,10 @@ void HotfixDatabaseConnection::DoPrepareStatements()
PREPARE_LOCALE_STMT(HOTFIX_SEL_MAP_DIFFICULTY_X_CONDITION, "SELECT ID, FailureDescription_lang FROM map_difficulty_x_condition_locale"
" WHERE (`VerifiedBuild` > 0) = ? AND locale = ?", CONNECTION_SYNCH);
// MawPower.db2
PrepareStatement(HOTFIX_SEL_MAW_POWER, "SELECT ID, SpellID, MawPowerRarityID FROM maw_power WHERE (`VerifiedBuild` > 0) = ?", CONNECTION_SYNCH);
PREPARE_MAX_ID_STMT(HOTFIX_SEL_MAW_POWER, "SELECT MAX(ID) + 1 FROM maw_power", CONNECTION_SYNCH);
// ModifierTree.db2
PrepareStatement(HOTFIX_SEL_MODIFIER_TREE, "SELECT ID, Parent, Operator, Amount, Type, Asset, SecondaryAsset, TertiaryAsset FROM modifier_tree"
" WHERE (`VerifiedBuild` > 0) = ?", CONNECTION_SYNCH);
@@ -1259,6 +1320,11 @@ void HotfixDatabaseConnection::DoPrepareStatements()
" FROM skill_race_class_info WHERE (`VerifiedBuild` > 0) = ?", CONNECTION_SYNCH);
PREPARE_MAX_ID_STMT(HOTFIX_SEL_SKILL_RACE_CLASS_INFO, "SELECT MAX(ID) + 1 FROM skill_race_class_info", CONNECTION_SYNCH);
// SoulbindConduitRank.db2
PrepareStatement(HOTFIX_SEL_SOULBIND_CONDUIT_RANK, "SELECT ID, RankIndex, SpellID, AuraPointsOverride, SoulbindConduitID"
" FROM soulbind_conduit_rank WHERE (`VerifiedBuild` > 0) = ?", CONNECTION_SYNCH);
PREPARE_MAX_ID_STMT(HOTFIX_SEL_SOULBIND_CONDUIT_RANK, "SELECT MAX(ID) + 1 FROM soulbind_conduit_rank", CONNECTION_SYNCH);
// SoundKit.db2
PrepareStatement(HOTFIX_SEL_SOUND_KIT, "SELECT ID, SoundType, VolumeFloat, Flags, MinDistance, DistanceCutoff, EAXDef, SoundKitAdvancedID, "
"VolumeVariationPlus, VolumeVariationMinus, PitchVariationPlus, PitchVariationMinus, DialogType, PitchAdjust, BusOverwriteID, MaxInstances"

View File

@@ -281,6 +281,10 @@ enum HotfixDatabaseStatements : uint32
HOTFIX_SEL_CRITERIA_TREE_MAX_ID,
HOTFIX_SEL_CRITERIA_TREE_LOCALE,
HOTFIX_SEL_CURRENCY_CONTAINER,
HOTFIX_SEL_CURRENCY_CONTAINER_MAX_ID,
HOTFIX_SEL_CURRENCY_CONTAINER_LOCALE,
HOTFIX_SEL_CURRENCY_TYPES,
HOTFIX_SEL_CURRENCY_TYPES_MAX_ID,
HOTFIX_SEL_CURRENCY_TYPES_LOCALE,
@@ -367,6 +371,10 @@ enum HotfixDatabaseStatements : uint32
HOTFIX_SEL_GARR_FOLLOWER_X_ABILITY,
HOTFIX_SEL_GARR_FOLLOWER_X_ABILITY_MAX_ID,
HOTFIX_SEL_GARR_MISSION,
HOTFIX_SEL_GARR_MISSION_MAX_ID,
HOTFIX_SEL_GARR_MISSION_LOCALE,
HOTFIX_SEL_GARR_PLOT,
HOTFIX_SEL_GARR_PLOT_MAX_ID,
@@ -546,9 +554,29 @@ enum HotfixDatabaseStatements : uint32
HOTFIX_SEL_ITEM_X_ITEM_EFFECT,
HOTFIX_SEL_ITEM_X_ITEM_EFFECT_MAX_ID,
HOTFIX_SEL_JOURNAL_ENCOUNTER,
HOTFIX_SEL_JOURNAL_ENCOUNTER_MAX_ID,
HOTFIX_SEL_JOURNAL_ENCOUNTER_LOCALE,
HOTFIX_SEL_JOURNAL_ENCOUNTER_SECTION,
HOTFIX_SEL_JOURNAL_ENCOUNTER_SECTION_MAX_ID,
HOTFIX_SEL_JOURNAL_ENCOUNTER_SECTION_LOCALE,
HOTFIX_SEL_JOURNAL_INSTANCE,
HOTFIX_SEL_JOURNAL_INSTANCE_MAX_ID,
HOTFIX_SEL_JOURNAL_INSTANCE_LOCALE,
HOTFIX_SEL_JOURNAL_TIER,
HOTFIX_SEL_JOURNAL_TIER_MAX_ID,
HOTFIX_SEL_JOURNAL_TIER_LOCALE,
HOTFIX_SEL_KEYCHAIN,
HOTFIX_SEL_KEYCHAIN_MAX_ID,
HOTFIX_SEL_KEYSTONE_AFFIX,
HOTFIX_SEL_KEYSTONE_AFFIX_MAX_ID,
HOTFIX_SEL_KEYSTONE_AFFIX_LOCALE,
HOTFIX_SEL_LANGUAGE_WORDS,
HOTFIX_SEL_LANGUAGE_WORDS_MAX_ID,
@@ -577,6 +605,10 @@ enum HotfixDatabaseStatements : uint32
HOTFIX_SEL_MAP_MAX_ID,
HOTFIX_SEL_MAP_LOCALE,
HOTFIX_SEL_MAP_CHALLENGE_MODE,
HOTFIX_SEL_MAP_CHALLENGE_MODE_MAX_ID,
HOTFIX_SEL_MAP_CHALLENGE_MODE_LOCALE,
HOTFIX_SEL_MAP_DIFFICULTY,
HOTFIX_SEL_MAP_DIFFICULTY_MAX_ID,
HOTFIX_SEL_MAP_DIFFICULTY_LOCALE,
@@ -585,6 +617,9 @@ enum HotfixDatabaseStatements : uint32
HOTFIX_SEL_MAP_DIFFICULTY_X_CONDITION_MAX_ID,
HOTFIX_SEL_MAP_DIFFICULTY_X_CONDITION_LOCALE,
HOTFIX_SEL_MAW_POWER,
HOTFIX_SEL_MAW_POWER_MAX_ID,
HOTFIX_SEL_MODIFIER_TREE,
HOTFIX_SEL_MODIFIER_TREE_MAX_ID,
@@ -733,6 +768,9 @@ enum HotfixDatabaseStatements : uint32
HOTFIX_SEL_SKILL_RACE_CLASS_INFO,
HOTFIX_SEL_SKILL_RACE_CLASS_INFO_MAX_ID,
HOTFIX_SEL_SOULBIND_CONDUIT_RANK,
HOTFIX_SEL_SOULBIND_CONDUIT_RANK_MAX_ID,
HOTFIX_SEL_SOUND_KIT,
HOTFIX_SEL_SOUND_KIT_MAX_ID,

View File

@@ -1648,6 +1648,27 @@ struct CriteriaTreeLoadInfo
}
};
struct CurrencyContainerLoadInfo
{
static DB2LoadInfo const* Instance()
{
static DB2FieldMeta const fields[] =
{
{ false, FT_INT, "ID" },
{ false, FT_STRING, "ContainerName" },
{ false, FT_STRING, "ContainerDescription" },
{ true, FT_INT, "MinAmount" },
{ true, FT_INT, "MaxAmount" },
{ true, FT_INT, "ContainerIconID" },
{ true, FT_INT, "ContainerQuality" },
{ true, FT_INT, "OnLootSpellVisualKitID" },
{ false, FT_INT, "CurrencyTypesID" },
};
static DB2LoadInfo const loadInfo(&fields[0], std::extent<decltype(fields)>::value, CurrencyContainerMeta::Instance(), HOTFIX_SEL_CURRENCY_CONTAINER);
return &loadInfo;
}
};
struct CurrencyTypesLoadInfo
{
static DB2LoadInfo const* Instance()
@@ -2275,6 +2296,52 @@ struct GarrFollowerXAbilityLoadInfo
}
};
struct GarrMissionLoadInfo
{
static DB2LoadInfo const* Instance()
{
static DB2FieldMeta const fields[] =
{
{ false, FT_INT, "ID" },
{ false, FT_STRING, "Name" },
{ false, FT_STRING, "Location" },
{ false, FT_STRING, "Description" },
{ false, FT_FLOAT, "MapPosX" },
{ false, FT_FLOAT, "MapPosY" },
{ false, FT_FLOAT, "WorldPosX" },
{ false, FT_FLOAT, "WorldPosY" },
{ false, FT_BYTE, "GarrTypeID" },
{ false, FT_BYTE, "GarrMissionTypeID" },
{ false, FT_BYTE, "GarrFollowerTypeID" },
{ false, FT_BYTE, "MaxFollowers" },
{ false, FT_INT, "MissionCost" },
{ false, FT_SHORT, "MissionCostCurrencyTypesID" },
{ false, FT_BYTE, "OfferedGarrMissionTextureID" },
{ false, FT_SHORT, "UiTextureKitID" },
{ false, FT_INT, "EnvGarrMechanicID" },
{ true, FT_INT, "EnvGarrMechanicTypeID" },
{ false, FT_INT, "PlayerConditionID" },
{ true, FT_INT, "GarrMissionSetID" },
{ true, FT_BYTE, "TargetLevel" },
{ false, FT_SHORT, "TargetItemLevel" },
{ true, FT_INT, "MissionDuration" },
{ true, FT_INT, "TravelDuration" },
{ false, FT_INT, "OfferDuration" },
{ false, FT_BYTE, "BaseCompletionChance" },
{ false, FT_INT, "BaseFollowerXP" },
{ false, FT_INT, "OvermaxRewardPackID" },
{ false, FT_BYTE, "FollowerDeathChance" },
{ false, FT_INT, "AreaID" },
{ false, FT_INT, "Flags" },
{ false, FT_FLOAT, "AutoMissionScalar" },
{ true, FT_INT, "AutoMissionScalarCurveID" },
{ true, FT_INT, "AutoCombatantEnvCasterID" },
};
static DB2LoadInfo const loadInfo(&fields[0], std::extent<decltype(fields)>::value, GarrMissionMeta::Instance(), HOTFIX_SEL_GARR_MISSION);
return &loadInfo;
}
};
struct GarrPlotLoadInfo
{
static DB2LoadInfo const* Instance()
@@ -3461,6 +3528,97 @@ struct ItemXItemEffectLoadInfo
}
};
struct JournalEncounterLoadInfo
{
static DB2LoadInfo const* Instance()
{
static DB2FieldMeta const fields[] =
{
{ false, FT_STRING, "Name" },
{ false, FT_STRING, "Description" },
{ false, FT_FLOAT, "MapX" },
{ false, FT_FLOAT, "MapY" },
{ false, FT_INT, "ID" },
{ false, FT_SHORT, "JournalInstanceID" },
{ false, FT_SHORT, "DungeonEncounterID" },
{ false, FT_INT, "OrderIndex" },
{ false, FT_SHORT, "FirstSectionID" },
{ false, FT_SHORT, "UiMapID" },
{ false, FT_INT, "MapDisplayConditionID" },
{ false, FT_BYTE, "Flags" },
{ true, FT_BYTE, "DifficultyMask" },
};
static DB2LoadInfo const loadInfo(&fields[0], std::extent<decltype(fields)>::value, JournalEncounterMeta::Instance(), HOTFIX_SEL_JOURNAL_ENCOUNTER);
return &loadInfo;
}
};
struct JournalEncounterSectionLoadInfo
{
static DB2LoadInfo const* Instance()
{
static DB2FieldMeta const fields[] =
{
{ false, FT_INT, "ID" },
{ false, FT_STRING, "Title" },
{ false, FT_STRING, "BodyText" },
{ false, FT_SHORT, "JournalEncounterID" },
{ false, FT_BYTE, "OrderIndex" },
{ false, FT_SHORT, "ParentSectionID" },
{ false, FT_SHORT, "FirstChildSectionID" },
{ false, FT_SHORT, "NextSiblingSectionID" },
{ false, FT_BYTE, "Type" },
{ false, FT_INT, "IconCreatureDisplayInfoID" },
{ true, FT_INT, "UiModelSceneID" },
{ true, FT_INT, "SpellID" },
{ true, FT_INT, "IconFileDataID" },
{ false, FT_SHORT, "Flags" },
{ false, FT_SHORT, "IconFlags" },
{ true, FT_BYTE, "DifficultyMask" },
};
static DB2LoadInfo const loadInfo(&fields[0], std::extent<decltype(fields)>::value, JournalEncounterSectionMeta::Instance(), HOTFIX_SEL_JOURNAL_ENCOUNTER_SECTION);
return &loadInfo;
}
};
struct JournalInstanceLoadInfo
{
static DB2LoadInfo const* Instance()
{
static DB2FieldMeta const fields[] =
{
{ false, FT_INT, "ID" },
{ false, FT_STRING, "Name" },
{ false, FT_STRING, "Description" },
{ false, FT_SHORT, "MapID" },
{ true, FT_INT, "BackgroundFileDataID" },
{ true, FT_INT, "ButtonFileDataID" },
{ true, FT_INT, "ButtonSmallFileDataID" },
{ true, FT_INT, "LoreFileDataID" },
{ false, FT_BYTE, "OrderIndex" },
{ false, FT_BYTE, "Flags" },
{ false, FT_SHORT, "AreaID" },
};
static DB2LoadInfo const loadInfo(&fields[0], std::extent<decltype(fields)>::value, JournalInstanceMeta::Instance(), HOTFIX_SEL_JOURNAL_INSTANCE);
return &loadInfo;
}
};
struct JournalTierLoadInfo
{
static DB2LoadInfo const* Instance()
{
static DB2FieldMeta const fields[] =
{
{ false, FT_INT, "ID" },
{ false, FT_STRING, "Name" },
{ true, FT_INT, "PlayerConditionID" },
};
static DB2LoadInfo const loadInfo(&fields[0], std::extent<decltype(fields)>::value, JournalTierMeta::Instance(), HOTFIX_SEL_JOURNAL_TIER);
return &loadInfo;
}
};
struct KeychainLoadInfo
{
static DB2LoadInfo const* Instance()
@@ -3506,6 +3664,22 @@ struct KeychainLoadInfo
}
};
struct KeystoneAffixLoadInfo
{
static DB2LoadInfo const* Instance()
{
static DB2FieldMeta const fields[] =
{
{ false, FT_INT, "ID" },
{ false, FT_STRING, "Name" },
{ false, FT_STRING, "Description" },
{ true, FT_INT, "FiledataID" },
};
static DB2LoadInfo const loadInfo(&fields[0], std::extent<decltype(fields)>::value, KeystoneAffixMeta::Instance(), HOTFIX_SEL_KEYSTONE_AFFIX);
return &loadInfo;
}
};
struct LanguageWordsLoadInfo
{
static DB2LoadInfo const* Instance()
@@ -3771,6 +3945,26 @@ struct MapLoadInfo
}
};
struct MapChallengeModeLoadInfo
{
static DB2LoadInfo const* Instance()
{
static DB2FieldMeta const fields[] =
{
{ false, FT_STRING, "Name" },
{ false, FT_INT, "ID" },
{ false, FT_SHORT, "MapID" },
{ false, FT_BYTE, "Flags" },
{ false, FT_INT, "ExpansionLevel" },
{ true, FT_SHORT, "CriteriaCount1" },
{ true, FT_SHORT, "CriteriaCount2" },
{ true, FT_SHORT, "CriteriaCount3" },
};
static DB2LoadInfo const loadInfo(&fields[0], std::extent<decltype(fields)>::value, MapChallengeModeMeta::Instance(), HOTFIX_SEL_MAP_CHALLENGE_MODE);
return &loadInfo;
}
};
struct MapDifficultyLoadInfo
{
static DB2LoadInfo const* Instance()
@@ -3811,6 +4005,21 @@ struct MapDifficultyXConditionLoadInfo
}
};
struct MawPowerLoadInfo
{
static DB2LoadInfo const* Instance()
{
static DB2FieldMeta const fields[] =
{
{ false, FT_INT, "ID" },
{ true, FT_INT, "SpellID" },
{ true, FT_INT, "MawPowerRarityID" },
};
static DB2LoadInfo const loadInfo(&fields[0], std::extent<decltype(fields)>::value, MawPowerMeta::Instance(), HOTFIX_SEL_MAW_POWER);
return &loadInfo;
}
};
struct ModifierTreeLoadInfo
{
static DB2LoadInfo const* Instance()
@@ -4816,6 +5025,23 @@ struct SkillRaceClassInfoLoadInfo
}
};
struct SoulbindConduitRankLoadInfo
{
static DB2LoadInfo const* Instance()
{
static DB2FieldMeta const fields[] =
{
{ false, FT_INT, "ID" },
{ true, FT_INT, "RankIndex" },
{ true, FT_INT, "SpellID" },
{ false, FT_FLOAT, "AuraPointsOverride" },
{ false, FT_INT, "SoulbindConduitID" },
};
static DB2LoadInfo const loadInfo(&fields[0], std::extent<decltype(fields)>::value, SoulbindConduitRankMeta::Instance(), HOTFIX_SEL_SOULBIND_CONDUIT_RANK);
return &loadInfo;
}
};
struct SoundKitLoadInfo
{
static DB2LoadInfo const* Instance()

View File

@@ -116,6 +116,7 @@ DB2Storage<CreatureModelDataEntry> sCreatureModelDataStore("Creatur
DB2Storage<CreatureTypeEntry> sCreatureTypeStore("CreatureType.db2", CreatureTypeLoadInfo::Instance());
DB2Storage<CriteriaEntry> sCriteriaStore("Criteria.db2", CriteriaLoadInfo::Instance());
DB2Storage<CriteriaTreeEntry> sCriteriaTreeStore("CriteriaTree.db2", CriteriaTreeLoadInfo::Instance());
DB2Storage<CurrencyContainerEntry> sCurrencyContainerStore("CurrencyContainer.db2", CurrencyContainerLoadInfo::Instance());
DB2Storage<CurrencyTypesEntry> sCurrencyTypesStore("CurrencyTypes.db2", CurrencyTypesLoadInfo::Instance());
DB2Storage<CurveEntry> sCurveStore("Curve.db2", CurveLoadInfo::Instance());
DB2Storage<CurvePointEntry> sCurvePointStore("CurvePoint.db2", CurvePointLoadInfo::Instance());
@@ -141,6 +142,7 @@ DB2Storage<GarrBuildingPlotInstEntry> sGarrBuildingPlotInstStore("Garr
DB2Storage<GarrClassSpecEntry> sGarrClassSpecStore("GarrClassSpec.db2", GarrClassSpecLoadInfo::Instance());
DB2Storage<GarrFollowerEntry> sGarrFollowerStore("GarrFollower.db2", GarrFollowerLoadInfo::Instance());
DB2Storage<GarrFollowerXAbilityEntry> sGarrFollowerXAbilityStore("GarrFollowerXAbility.db2", GarrFollowerXAbilityLoadInfo::Instance());
DB2Storage<GarrMissionEntry> sGarrMissionStore("GarrMission.db2", GarrMissionLoadInfo::Instance());
DB2Storage<GarrPlotEntry> sGarrPlotStore("GarrPlot.db2", GarrPlotLoadInfo::Instance());
DB2Storage<GarrPlotBuildingEntry> sGarrPlotBuildingStore("GarrPlotBuilding.db2", GarrPlotBuildingLoadInfo::Instance());
DB2Storage<GarrPlotInstanceEntry> sGarrPlotInstanceStore("GarrPlotInstance.db2", GarrPlotInstanceLoadInfo::Instance());
@@ -198,7 +200,12 @@ DB2Storage<ItemSpecEntry> sItemSpecStore("ItemSpec.db2", I
DB2Storage<ItemSpecOverrideEntry> sItemSpecOverrideStore("ItemSpecOverride.db2", ItemSpecOverrideLoadInfo::Instance());
DB2Storage<ItemXBonusTreeEntry> sItemXBonusTreeStore("ItemXBonusTree.db2", ItemXBonusTreeLoadInfo::Instance());
DB2Storage<ItemXItemEffectEntry> sItemXItemEffectStore("ItemXItemEffect.db2", ItemXItemEffectLoadInfo::Instance());
DB2Storage<JournalEncounterEntry> sJournalEncounterStore("JournalEncounter.db2", JournalEncounterLoadInfo::Instance());
DB2Storage<JournalEncounterSectionEntry> sJournalEncounterSectionStore("JournalEncounterSection.db2", JournalEncounterSectionLoadInfo::Instance());
DB2Storage<JournalInstanceEntry> sJournalInstanceStore("JournalInstance.db2", JournalInstanceLoadInfo::Instance());
DB2Storage<JournalTierEntry> sJournalTierStore("JournalTier.db2", JournalTierLoadInfo::Instance());
DB2Storage<KeychainEntry> sKeychainStore("Keychain.db2", KeychainLoadInfo::Instance());
DB2Storage<KeystoneAffixEntry> sKeystoneAffixStore("KeystoneAffix.db2", KeystoneAffixLoadInfo::Instance());
DB2Storage<LanguageWordsEntry> sLanguageWordsStore("LanguageWords.db2", LanguageWordsLoadInfo::Instance());
DB2Storage<LanguagesEntry> sLanguagesStore("Languages.db2", LanguagesLoadInfo::Instance());
DB2Storage<LFGDungeonsEntry> sLFGDungeonsStore("LFGDungeons.db2", LfgDungeonsLoadInfo::Instance());
@@ -207,8 +214,10 @@ DB2Storage<LiquidTypeEntry> sLiquidTypeStore("LiquidType.db2
DB2Storage<LockEntry> sLockStore("Lock.db2", LockLoadInfo::Instance());
DB2Storage<MailTemplateEntry> sMailTemplateStore("MailTemplate.db2", MailTemplateLoadInfo::Instance());
DB2Storage<MapEntry> sMapStore("Map.db2", MapLoadInfo::Instance());
DB2Storage<MapChallengeModeEntry> sMapChallengeModeStore("MapChallengeMode.db2", MapChallengeModeLoadInfo::Instance());
DB2Storage<MapDifficultyEntry> sMapDifficultyStore("MapDifficulty.db2", MapDifficultyLoadInfo::Instance());
DB2Storage<MapDifficultyXConditionEntry> sMapDifficultyXConditionStore("MapDifficultyXCondition.db2", MapDifficultyXConditionLoadInfo::Instance());
DB2Storage<MawPowerEntry> sMawPowerStore("MawPower.db2", MawPowerLoadInfo::Instance());
DB2Storage<ModifierTreeEntry> sModifierTreeStore("ModifierTree.db2", ModifierTreeLoadInfo::Instance());
DB2Storage<MountCapabilityEntry> sMountCapabilityStore("MountCapability.db2", MountCapabilityLoadInfo::Instance());
DB2Storage<MountEntry> sMountStore("Mount.db2", MountLoadInfo::Instance());
@@ -255,6 +264,7 @@ DB2Storage<SceneScriptTextEntry> sSceneScriptTextStore("SceneScri
DB2Storage<SkillLineEntry> sSkillLineStore("SkillLine.db2", SkillLineLoadInfo::Instance());
DB2Storage<SkillLineAbilityEntry> sSkillLineAbilityStore("SkillLineAbility.db2", SkillLineAbilityLoadInfo::Instance());
DB2Storage<SkillRaceClassInfoEntry> sSkillRaceClassInfoStore("SkillRaceClassInfo.db2", SkillRaceClassInfoLoadInfo::Instance());
DB2Storage<SoulbindConduitRankEntry> sSoulbindConduitRankStore("SoulbindConduitRank.db2", SoulbindConduitRankLoadInfo::Instance());
DB2Storage<SoundKitEntry> sSoundKitStore("SoundKit.db2", SoundKitLoadInfo::Instance());
DB2Storage<SpecializationSpellsEntry> sSpecializationSpellsStore("SpecializationSpells.db2", SpecializationSpellsLoadInfo::Instance());
DB2Storage<SpecSetMemberEntry> sSpecSetMemberStore("SpecSetMember.db2", SpecSetMemberLoadInfo::Instance());
@@ -417,6 +427,7 @@ namespace
std::unordered_map<std::pair<uint8 /*race*/, uint8/*gender*/>, std::vector<ChrCustomizationOptionEntry const*>> _chrCustomizationOptionsByRaceAndGender;
std::unordered_map<uint32 /*chrCustomizationReqId*/, std::unordered_map<uint32 /*chrCustomizationOptionId*/, std::vector<uint32>>> _chrCustomizationRequiredChoices;
ChrSpecializationByIndexContainer _chrSpecializationsByIndex;
std::unordered_multimap<uint32, CurrencyContainerEntry const*> _currencyContainers;
CurvePointsContainer _curvePoints;
EmotesTextSoundContainer _emoteTextSounds;
std::unordered_map<std::pair<uint32 /*level*/, int32 /*expansion*/>, ExpectedStatEntry const*> _expectedStatsByLevel;
@@ -438,6 +449,7 @@ namespace
ItemToBonusTreeContainer _itemToBonusTree;
ItemSetSpellContainer _itemSetSpells;
ItemSpecOverridesContainer _itemSpecOverrides;
std::vector<JournalTierEntry const*> _journalTiersByIndex;
DB2Manager::MapDifficultyContainer _mapDifficulties;
std::unordered_map<uint32, DB2Manager::MapDifficultyConditionsContainer> _mapDifficultyConditions;
std::unordered_map<uint32, MountEntry const*> _mountsBySpellId;
@@ -457,12 +469,14 @@ namespace
std::unordered_map<uint32, std::vector<SkillLineEntry const*>> _skillLinesByParentSkillLine;
std::unordered_map<uint32, std::vector<SkillLineAbilityEntry const*>> _skillLineAbilitiesBySkillupSkill;
SkillRaceClassInfoContainer _skillRaceClassInfoBySkill;
std::unordered_map<std::pair<int32, int32>, SoulbindConduitRankEntry const*> _soulbindConduitRanks;
SpecializationSpellsContainer _specializationSpellsBySpec;
std::unordered_set<std::pair<int32, uint32>> _specsBySpecSet;
std::unordered_set<uint8> _spellFamilyNames;
SpellProcsPerMinuteModContainer _spellProcsPerMinuteMods;
TalentsByPosition _talentsByPosition;
ToyItemIdsContainer _toys;
std::unordered_map<uint32, TransmogIllusionEntry const*> _transmogIllusionsByEnchantmentId;
std::unordered_map<uint32, std::vector<TransmogSetEntry const*>> _transmogSetsByItemModifiedAppearance;
std::unordered_map<uint32, std::vector<TransmogSetItemEntry const*>> _transmogSetItemsByTransmogSet;
std::unordered_map<int32, UiMapBounds> _uiMapBounds;
@@ -669,6 +683,7 @@ uint32 DB2Manager::LoadStores(std::string const& dataPath, LocaleConstant defaul
LOAD_DB2(sCreatureTypeStore);
LOAD_DB2(sCriteriaStore);
LOAD_DB2(sCriteriaTreeStore);
LOAD_DB2(sCurrencyContainerStore);
LOAD_DB2(sCurrencyTypesStore);
LOAD_DB2(sCurveStore);
LOAD_DB2(sCurvePointStore);
@@ -694,8 +709,9 @@ uint32 DB2Manager::LoadStores(std::string const& dataPath, LocaleConstant defaul
LOAD_DB2(sGarrClassSpecStore);
LOAD_DB2(sGarrFollowerStore);
LOAD_DB2(sGarrFollowerXAbilityStore);
LOAD_DB2(sGarrPlotBuildingStore);
LOAD_DB2(sGarrMissionStore);
LOAD_DB2(sGarrPlotStore);
LOAD_DB2(sGarrPlotBuildingStore);
LOAD_DB2(sGarrPlotInstanceStore);
LOAD_DB2(sGarrSiteLevelStore);
LOAD_DB2(sGarrSiteLevelPlotInstStore);
@@ -751,7 +767,12 @@ uint32 DB2Manager::LoadStores(std::string const& dataPath, LocaleConstant defaul
LOAD_DB2(sItemSpecOverrideStore);
LOAD_DB2(sItemXBonusTreeStore);
LOAD_DB2(sItemXItemEffectStore);
LOAD_DB2(sJournalEncounterStore);
LOAD_DB2(sJournalEncounterSectionStore);
LOAD_DB2(sJournalInstanceStore);
LOAD_DB2(sJournalTierStore);
LOAD_DB2(sKeychainStore);
LOAD_DB2(sKeystoneAffixStore);
LOAD_DB2(sLanguageWordsStore);
LOAD_DB2(sLanguagesStore);
LOAD_DB2(sLFGDungeonsStore);
@@ -760,8 +781,10 @@ uint32 DB2Manager::LoadStores(std::string const& dataPath, LocaleConstant defaul
LOAD_DB2(sLockStore);
LOAD_DB2(sMailTemplateStore);
LOAD_DB2(sMapStore);
LOAD_DB2(sMapChallengeModeStore);
LOAD_DB2(sMapDifficultyStore);
LOAD_DB2(sMapDifficultyXConditionStore);
LOAD_DB2(sMawPowerStore);
LOAD_DB2(sModifierTreeStore);
LOAD_DB2(sMountCapabilityStore);
LOAD_DB2(sMountStore);
@@ -808,6 +831,7 @@ uint32 DB2Manager::LoadStores(std::string const& dataPath, LocaleConstant defaul
LOAD_DB2(sSkillLineStore);
LOAD_DB2(sSkillLineAbilityStore);
LOAD_DB2(sSkillRaceClassInfoStore);
LOAD_DB2(sSoulbindConduitRankStore);
LOAD_DB2(sSoundKitStore);
LOAD_DB2(sSpecializationSpellsStore);
LOAD_DB2(sSpecSetMemberStore);
@@ -1087,6 +1111,9 @@ uint32 DB2Manager::LoadStores(std::string const& dataPath, LocaleConstant defaul
if (sExpectedStatModStore.LookupEntry(contentTuningXExpectedStat->ExpectedStatModID))
_expectedStatModsByContentTuning[contentTuningXExpectedStat->ContentTuningID].push_back(contentTuningXExpectedStat);
for (CurrencyContainerEntry const* currencyContainer : sCurrencyContainerStore)
_currencyContainers.emplace(currencyContainer->CurrencyTypesID, currencyContainer);
for (CurvePointEntry const* curvePoint : sCurvePointStore)
if (sCurveStore.LookupEntry(curvePoint->CurveID))
_curvePoints[curvePoint->CurveID].push_back(curvePoint);
@@ -1175,6 +1202,9 @@ uint32 DB2Manager::LoadStores(std::string const& dataPath, LocaleConstant defaul
for (auto&& kvp : _azeriteEmpoweredItems)
LoadAzeriteEmpoweredItemUnlockMappings(azeriteUnlockMappings, kvp.first);
for (JournalTierEntry const* journalTier : sJournalTierStore)
_journalTiersByIndex.push_back(journalTier);
for (MapDifficultyEntry const* entry : sMapDifficultyStore)
_mapDifficulties[entry->MapID][entry->DifficultyID] = entry;
_mapDifficulties[0][0] = _mapDifficulties[1][0]; // map 0 is missing from MapDifficulty.dbc so we cheat a bit
@@ -1314,6 +1344,9 @@ uint32 DB2Manager::LoadStores(std::string const& dataPath, LocaleConstant defaul
if (sSkillLineStore.LookupEntry(entry->SkillID))
_skillRaceClassInfoBySkill.insert(SkillRaceClassInfoContainer::value_type(entry->SkillID, entry));
for (SoulbindConduitRankEntry const* soulbindConduitRank : sSoulbindConduitRankStore)
_soulbindConduitRanks[{ soulbindConduitRank->SoulbindConduitID, soulbindConduitRank->RankIndex }] = soulbindConduitRank;
for (SpecializationSpellsEntry const* specSpells : sSpecializationSpellsStore)
_specializationSpellsBySpec[specSpells->SpecID].push_back(specSpells);
@@ -1359,6 +1392,9 @@ uint32 DB2Manager::LoadStores(std::string const& dataPath, LocaleConstant defaul
for (ToyEntry const* toy : sToyStore)
_toys.insert(toy->ItemID);
for (TransmogIllusionEntry const* transmogIllusion : sTransmogIllusionStore)
_transmogIllusionsByEnchantmentId[transmogIllusion->SpellItemEnchantmentID] = transmogIllusion;
for (TransmogSetItemEntry const* transmogSetItem : sTransmogSetItemStore)
{
TransmogSetEntry const* set = sTransmogSetStore.LookupEntry(transmogSetItem->TransmogSetID);
@@ -1979,6 +2015,15 @@ char const* DB2Manager::GetCreatureFamilyPetName(uint32 petfamily, LocaleConstan
return petFamily->Name[locale][0] != '\0' ? petFamily->Name[locale] : nullptr;
}
CurrencyContainerEntry const* DB2Manager::GetCurrencyContainerForCurrencyQuantity(uint32 currencyId, int32 quantity) const
{
for (std::pair<uint32 const, CurrencyContainerEntry const*> const& p : Trinity::Containers::MapEqualRange(_currencyContainers, currencyId))
if (quantity >= p.second->MinAmount && (!p.second->MaxAmount || quantity <= p.second->MaxAmount))
return p.second;
return nullptr;
}
enum class CurveInterpolationMode : uint8
{
Linear = 0,
@@ -2534,6 +2579,13 @@ std::vector<ItemSpecOverrideEntry const*> const* DB2Manager::GetItemSpecOverride
return Trinity::Containers::MapGetValuePtr(_itemSpecOverrides, itemId);
}
JournalTierEntry const* DB2Manager::GetJournalTier(uint32 index) const
{
if (index < _journalTiersByIndex.size())
return _journalTiersByIndex[index];
return nullptr;
}
LFGDungeonsEntry const* DB2Manager::GetLfgDungeon(uint32 mapId, Difficulty difficulty)
{
for (LFGDungeonsEntry const* dungeon : sLFGDungeonsStore)
@@ -2886,6 +2938,11 @@ SkillRaceClassInfoEntry const* DB2Manager::GetSkillRaceClassInfo(uint32 skill, u
return nullptr;
}
SoulbindConduitRankEntry const* DB2Manager::GetSoulbindConduitRank(int32 soulbindConduitId, int32 rank) const
{
return Trinity::Containers::MapGetValuePtr(_soulbindConduitRanks, { soulbindConduitId, rank });
}
std::vector<SpecializationSpellsEntry const*> const* DB2Manager::GetSpecializationSpells(uint32 specId) const
{
return Trinity::Containers::MapGetValuePtr(_specializationSpellsBySpec, specId);
@@ -2940,6 +2997,11 @@ bool DB2Manager::IsToyItem(uint32 toy) const
return _toys.count(toy) > 0;
}
TransmogIllusionEntry const* DB2Manager::GetTransmogIllusionForEnchantment(uint32 spellItemEnchantmentId) const
{
return Trinity::Containers::MapGetValuePtr(_transmogIllusionsByEnchantmentId, spellItemEnchantmentId);
}
std::vector<TransmogSetEntry const*> const* DB2Manager::GetTransmogSetsForItemModifiedAppearance(uint32 itemModifiedAppearanceId) const
{
return Trinity::Containers::MapGetValuePtr(_transmogSetsByItemModifiedAppearance, itemModifiedAppearanceId);

View File

@@ -110,6 +110,7 @@ TC_GAME_API extern DB2Storage<GarrBuildingPlotInstEntry> sGarrBuildin
TC_GAME_API extern DB2Storage<GarrClassSpecEntry> sGarrClassSpecStore;
TC_GAME_API extern DB2Storage<GarrFollowerEntry> sGarrFollowerStore;
TC_GAME_API extern DB2Storage<GarrFollowerXAbilityEntry> sGarrFollowerXAbilityStore;
TC_GAME_API extern DB2Storage<GarrMissionEntry> sGarrMissionStore;
TC_GAME_API extern DB2Storage<GarrPlotEntry> sGarrPlotStore;
TC_GAME_API extern DB2Storage<GarrPlotBuildingEntry> sGarrPlotBuildingStore;
TC_GAME_API extern DB2Storage<GarrPlotInstanceEntry> sGarrPlotInstanceStore;
@@ -152,6 +153,10 @@ TC_GAME_API extern DB2Storage<ItemSparseEntry> sItemSparseS
TC_GAME_API extern DB2Storage<ItemSpecEntry> sItemSpecStore;
TC_GAME_API extern DB2Storage<ItemSpecOverrideEntry> sItemSpecOverrideStore;
TC_GAME_API extern DB2Storage<ItemXItemEffectEntry> sItemXItemEffectStore;
TC_GAME_API extern DB2Storage<JournalEncounterEntry> sJournalEncounterStore;
TC_GAME_API extern DB2Storage<JournalEncounterSectionEntry> sJournalEncounterSectionStore;
TC_GAME_API extern DB2Storage<JournalInstanceEntry> sJournalInstanceStore;
TC_GAME_API extern DB2Storage<KeystoneAffixEntry> sKeystoneAffixStore;
TC_GAME_API extern DB2Storage<LanguageWordsEntry> sLanguageWordsStore;
TC_GAME_API extern DB2Storage<LanguagesEntry> sLanguagesStore;
TC_GAME_API extern DB2Storage<LFGDungeonsEntry> sLFGDungeonsStore;
@@ -159,6 +164,8 @@ TC_GAME_API extern DB2Storage<LiquidTypeEntry> sLiquidTypeS
TC_GAME_API extern DB2Storage<LockEntry> sLockStore;
TC_GAME_API extern DB2Storage<MailTemplateEntry> sMailTemplateStore;
TC_GAME_API extern DB2Storage<MapEntry> sMapStore;
TC_GAME_API extern DB2Storage<MapChallengeModeEntry> sMapChallengeModeStore;
TC_GAME_API extern DB2Storage<MawPowerEntry> sMawPowerStore;
TC_GAME_API extern DB2Storage<ModifierTreeEntry> sModifierTreeStore;
TC_GAME_API extern DB2Storage<MountCapabilityEntry> sMountCapabilityStore;
TC_GAME_API extern DB2Storage<MountEntry> sMountStore;
@@ -230,6 +237,7 @@ TC_GAME_API extern DB2Storage<TransmogSetGroupEntry> sTransmogSet
TC_GAME_API extern DB2Storage<TransmogSetItemEntry> sTransmogSetItemStore;
TC_GAME_API extern DB2Storage<TransportAnimationEntry> sTransportAnimationStore;
TC_GAME_API extern DB2Storage<TransportRotationEntry> sTransportRotationStore;
TC_GAME_API extern DB2Storage<UiMapEntry> sUiMapStore;
TC_GAME_API extern DB2Storage<UnitPowerBarEntry> sUnitPowerBarStore;
TC_GAME_API extern DB2Storage<VehicleEntry> sVehicleStore;
TC_GAME_API extern DB2Storage<VehicleSeatEntry> sVehicleSeatStore;
@@ -366,6 +374,7 @@ public:
ChrSpecializationEntry const* GetDefaultChrSpecializationForClass(uint32 class_) const;
Optional<ContentTuningLevels> GetContentTuningData(uint32 contentTuningId, uint32 replacementConditionMask, bool forItem = false) const;
static char const* GetCreatureFamilyPetName(uint32 petfamily, LocaleConstant locale);
CurrencyContainerEntry const* GetCurrencyContainerForCurrencyQuantity(uint32 currencyId, int32 quantity) const;
float GetCurveValueAt(uint32 curveId, float x) const;
EmotesTextSoundEntry const* GetTextSoundEmoteFor(uint32 emote, uint8 race, uint8 gender, uint8 class_) const;
float EvaluateExpectedStat(ExpectedStatType stat, uint32 level, int32 expansion, uint32 contentTuningId, Classes unitClass) const;
@@ -388,6 +397,7 @@ public:
ItemModifiedAppearanceEntry const* GetDefaultItemModifiedAppearance(uint32 itemId) const;
std::vector<ItemSetSpellEntry const*> const* GetItemSetSpells(uint32 itemSetId) const;
std::vector<ItemSpecOverrideEntry const*> const* GetItemSpecOverrides(uint32 itemId) const;
JournalTierEntry const* GetJournalTier(uint32 index) const;
static LFGDungeonsEntry const* GetLfgDungeon(uint32 mapId, Difficulty difficulty);
static uint32 GetDefaultMapLight(uint32 mapId);
static uint32 GetLiquidFlags(uint32 liquidType);
@@ -422,6 +432,7 @@ public:
std::vector<SkillLineEntry const*> const* GetSkillLinesForParentSkill(uint32 parentSkillId) const;
std::vector<SkillLineAbilityEntry const*> const* GetSkillLineAbilitiesBySkill(uint32 skillId) const;
SkillRaceClassInfoEntry const* GetSkillRaceClassInfo(uint32 skill, uint8 race, uint8 class_);
SoulbindConduitRankEntry const* GetSoulbindConduitRank(int32 soulbindConduitId, int32 rank) const;
std::vector<SpecializationSpellsEntry const*> const* GetSpecializationSpells(uint32 specId) const;
bool IsSpecSetMember(int32 specSetId, uint32 specId) const;
static bool IsValidSpellFamiliyName(SpellFamilyNames family);
@@ -429,6 +440,7 @@ public:
std::vector<TalentEntry const*> const& GetTalentsByPosition(uint32 class_, uint32 tier, uint32 column) const;
static bool IsTotemCategoryCompatibleWith(uint32 itemTotemCategoryId, uint32 requiredTotemCategoryId);
bool IsToyItem(uint32 toy) const;
TransmogIllusionEntry const* GetTransmogIllusionForEnchantment(uint32 spellItemEnchantmentId) const;
std::vector<TransmogSetEntry const*> const* GetTransmogSetsForItemModifiedAppearance(uint32 itemModifiedAppearanceId) const;
std::vector<TransmogSetItemEntry const*> const* GetTransmogSetItems(uint32 transmogSetId) const;
static bool GetUiMapPosition(float x, float y, float z, int32 mapId, int32 areaId, int32 wmoDoodadPlacementId, int32 wmoGroupId, UiMapSystem system, bool local,

View File

@@ -1237,6 +1237,19 @@ struct CriteriaTreeEntry
EnumFlag<CriteriaTreeFlags> GetFlags() const { return static_cast<CriteriaTreeFlags>(Flags); }
};
struct CurrencyContainerEntry
{
uint32 ID;
LocalizedString ContainerName;
LocalizedString ContainerDescription;
int32 MinAmount;
int32 MaxAmount;
int32 ContainerIconID;
int32 ContainerQuality;
int32 OnLootSpellVisualKitID;
uint32 CurrencyTypesID;
};
struct CurrencyTypesEntry
{
uint32 ID;
@@ -1647,6 +1660,42 @@ struct GarrFollowerXAbilityEntry
uint32 GarrFollowerID;
};
struct GarrMissionEntry
{
uint32 ID;
LocalizedString Name;
LocalizedString Location;
LocalizedString Description;
DBCPosition2D MapPos;
DBCPosition2D WorldPos;
uint8 GarrTypeID;
uint8 GarrMissionTypeID;
uint8 GarrFollowerTypeID;
uint8 MaxFollowers;
uint32 MissionCost;
uint16 MissionCostCurrencyTypesID;
uint8 OfferedGarrMissionTextureID;
uint16 UiTextureKitID;
uint32 EnvGarrMechanicID;
int32 EnvGarrMechanicTypeID;
uint32 PlayerConditionID;
int32 GarrMissionSetID;
int8 TargetLevel;
uint16 TargetItemLevel;
int32 MissionDuration;
int32 TravelDuration;
uint32 OfferDuration;
uint8 BaseCompletionChance;
uint32 BaseFollowerXP;
uint32 OvermaxRewardPackID;
uint8 FollowerDeathChance;
uint32 AreaID;
uint32 Flags;
float AutoMissionScalar;
int32 AutoMissionScalarCurveID;
int32 AutoCombatantEnvCasterID;
};
struct GarrPlotEntry
{
uint32 ID;
@@ -2238,6 +2287,64 @@ struct ItemXItemEffectEntry
uint32 ItemID;
};
struct JournalEncounterEntry
{
LocalizedString Name;
LocalizedString Description;
DBCPosition2D Map;
uint32 ID;
uint16 JournalInstanceID;
uint16 DungeonEncounterID;
uint32 OrderIndex;
uint16 FirstSectionID;
uint16 UiMapID;
uint32 MapDisplayConditionID;
uint8 Flags;
int8 DifficultyMask;
};
struct JournalEncounterSectionEntry
{
uint32 ID;
LocalizedString Title;
LocalizedString BodyText;
uint16 JournalEncounterID;
uint8 OrderIndex;
uint16 ParentSectionID;
uint16 FirstChildSectionID;
uint16 NextSiblingSectionID;
uint8 Type;
uint32 IconCreatureDisplayInfoID;
int32 UiModelSceneID;
int32 SpellID;
int32 IconFileDataID;
uint16 Flags;
uint16 IconFlags;
int8 DifficultyMask;
};
struct JournalInstanceEntry
{
uint32 ID;
LocalizedString Name;
LocalizedString Description;
uint16 MapID;
int32 BackgroundFileDataID;
int32 ButtonFileDataID;
int32 ButtonSmallFileDataID;
int32 LoreFileDataID;
uint8 OrderIndex;
uint8 Flags;
uint16 AreaID;
};
struct JournalTierEntry
{
uint32 ID;
LocalizedString Name;
int32 PlayerConditionID;
};
#define KEYCHAIN_SIZE 32
struct KeychainEntry
@@ -2246,6 +2353,14 @@ struct KeychainEntry
uint8 Key[KEYCHAIN_SIZE];
};
struct KeystoneAffixEntry
{
uint32 ID;
LocalizedString Name;
LocalizedString Description;
int32 FiledataID;
};
struct LanguageWordsEntry
{
uint32 ID;
@@ -2409,6 +2524,16 @@ struct MapEntry
bool IsGarrison() const { return (Flags[0] & MAP_FLAG_GARRISON) != 0; }
};
struct MapChallengeModeEntry
{
LocalizedString Name;
uint32 ID;
uint16 MapID;
uint8 Flags;
uint32 ExpansionLevel;
int16 CriteriaCount[3];
};
struct MapDifficultyEntry
{
uint32 ID;
@@ -2442,6 +2567,13 @@ struct MapDifficultyXConditionEntry
uint32 MapDifficultyID;
};
struct MawPowerEntry
{
uint32 ID;
int32 SpellID;
int32 MawPowerRarityID;
};
struct ModifierTreeEntry
{
uint32 ID;
@@ -2970,6 +3102,15 @@ struct SkillRaceClassInfoEntry
int16 SkillTierID;
};
struct SoulbindConduitRankEntry
{
uint32 ID;
int32 RankIndex;
int32 SpellID;
float AuraPointsOverride;
uint32 SoulbindConduitID;
};
struct SoundKitEntry
{
uint32 ID;