diff --git a/Source/Framework/Database/Databases/HotfixDatabase.cs b/Source/Framework/Database/Databases/HotfixDatabase.cs index 40a410f0a..94489afef 100644 --- a/Source/Framework/Database/Databases/HotfixDatabase.cs +++ b/Source/Framework/Database/Databases/HotfixDatabase.cs @@ -629,6 +629,10 @@ namespace Framework.Database PrepareStatement(HotfixStatements.SEL_ITEM_MODIFIED_APPEARANCE, "SELECT ID, ItemID, ItemAppearanceModifierID, ItemAppearanceID, OrderIndex, " + "TransmogSourceTypeEnum FROM item_modified_appearance"); + // ItemModifiedAppearanceExtra.db2 + PrepareStatement(HotfixStatements.SEL_ITEM_MODIFIED_APPEARANCE_EXTRA, "SELECT ID, IconFileDataID, UnequippedIconFileDataID, SheatheType, " + + "DisplayWeaponSubclassID, DisplayInventoryType FROM item_modified_appearance_extra"); + // ItemNameDescription.db2 PrepareStatement(HotfixStatements.SEL_ITEM_NAME_DESCRIPTION, "SELECT ID, Description, Color FROM item_name_description"); PrepareStatement(HotfixStatements.SEL_ITEM_NAME_DESCRIPTION_LOCALE, "SELECT ID, Description_lang FROM item_name_description_locale WHERE locale = ?"); @@ -1514,6 +1518,8 @@ namespace Framework.Database SEL_ITEM_MODIFIED_APPEARANCE, + SEL_ITEM_MODIFIED_APPEARANCE_EXTRA, + SEL_ITEM_NAME_DESCRIPTION, SEL_ITEM_NAME_DESCRIPTION_LOCALE, diff --git a/Source/Game/DataStorage/CliDB.cs b/Source/Game/DataStorage/CliDB.cs index 22cfce681..08985f57f 100644 --- a/Source/Game/DataStorage/CliDB.cs +++ b/Source/Game/DataStorage/CliDB.cs @@ -195,6 +195,7 @@ namespace Game.DataStorage ItemLimitCategoryStorage = ReadDB2("ItemLimitCategory.db2", HotfixStatements.SEL_ITEM_LIMIT_CATEGORY, HotfixStatements.SEL_ITEM_LIMIT_CATEGORY_LOCALE); ItemLimitCategoryConditionStorage = ReadDB2("ItemLimitCategoryCondition.db2", HotfixStatements.SEL_ITEM_LIMIT_CATEGORY_CONDITION); ItemModifiedAppearanceStorage = ReadDB2("ItemModifiedAppearance.db2", HotfixStatements.SEL_ITEM_MODIFIED_APPEARANCE); + ItemModifiedAppearanceExtraStorage = ReadDB2("ItemModifiedAppearanceExtra.db2", HotfixStatements.SEL_ITEM_MODIFIED_APPEARANCE_EXTRA); ItemNameDescriptionStorage = ReadDB2("ItemNameDescription.db2", HotfixStatements.SEL_ITEM_NAME_DESCRIPTION, HotfixStatements.SEL_ITEM_NAME_DESCRIPTION_LOCALE); ItemPriceBaseStorage = ReadDB2("ItemPriceBase.db2", HotfixStatements.SEL_ITEM_PRICE_BASE); ItemSearchNameStorage = ReadDB2("ItemSearchName.db2", HotfixStatements.SEL_ITEM_SEARCH_NAME, HotfixStatements.SEL_ITEM_SEARCH_NAME_LOCALE); @@ -563,6 +564,7 @@ namespace Game.DataStorage public static DB6Storage ItemLimitCategoryStorage; public static DB6Storage ItemLimitCategoryConditionStorage; public static DB6Storage ItemModifiedAppearanceStorage; + public static DB6Storage ItemModifiedAppearanceExtraStorage; public static DB6Storage ItemNameDescriptionStorage; public static DB6Storage ItemPriceBaseStorage; public static DB6Storage ItemSearchNameStorage; diff --git a/Source/Game/DataStorage/Structs/I_Records.cs b/Source/Game/DataStorage/Structs/I_Records.cs index 1b1712faa..fc7d1f622 100644 --- a/Source/Game/DataStorage/Structs/I_Records.cs +++ b/Source/Game/DataStorage/Structs/I_Records.cs @@ -272,6 +272,16 @@ namespace Game.DataStorage public sbyte TransmogSourceTypeEnum; } + public sealed class ItemModifiedAppearanceExtraRecord + { + public uint Id; + public int IconFileDataID; + public int UnequippedIconFileDataID; + public byte SheatheType; + public sbyte DisplayWeaponSubclassID; + public sbyte DisplayInventoryType; + } + public sealed class ItemNameDescriptionRecord { public uint Id; diff --git a/sql/updates/hotfixes/master/2021_06_06_01_hotfixes.sql b/sql/updates/hotfixes/master/2021_06_06_01_hotfixes.sql new file mode 100644 index 000000000..c0c43673f --- /dev/null +++ b/sql/updates/hotfixes/master/2021_06_06_01_hotfixes.sql @@ -0,0 +1,17 @@ +-- +-- Table structure for table `item_modified_appearance_extra` +-- +DROP TABLE IF EXISTS `item_modified_appearance_extra`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!50503 SET character_set_client = utf8mb4 */; +CREATE TABLE `item_modified_appearance_extra` ( + `ID` int(10) unsigned NOT NULL DEFAULT '0', + `IconFileDataID` int(11) NOT NULL DEFAULT '0', + `UnequippedIconFileDataID` int(11) NOT NULL DEFAULT '0', + `SheatheType` tinyint(3) unsigned NOT NULL DEFAULT '0', + `DisplayWeaponSubclassID` tinyint(4) NOT NULL DEFAULT '0', + `DisplayInventoryType` 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 */;