From bbb320f39013bb540d69a36fe7be72c1ac6ba9d3 Mon Sep 17 00:00:00 2001 From: Ovahlord Date: Mon, 27 Nov 2023 22:04:39 +0100 Subject: Core/DataStores: load ItemRandomProperties.db2 and ItemRandomSuffix.db2 --- src/server/game/DataStores/DB2LoadInfo.h | 37 +++++++++++++++++++++++++++++++ src/server/game/DataStores/DB2Stores.cpp | 2 ++ src/server/game/DataStores/DB2Stores.h | 2 ++ src/server/game/DataStores/DB2Structure.h | 15 +++++++++++++ 4 files changed, 56 insertions(+) (limited to 'src/server/game') diff --git a/src/server/game/DataStores/DB2LoadInfo.h b/src/server/game/DataStores/DB2LoadInfo.h index 6cb7a4124e2..5df14becfee 100644 --- a/src/server/game/DataStores/DB2LoadInfo.h +++ b/src/server/game/DataStores/DB2LoadInfo.h @@ -2917,6 +2917,43 @@ struct ItemPriceBaseLoadInfo static constexpr DB2LoadInfo Instance{ Fields, 4, &ItemPriceBaseMeta::Instance, HOTFIX_SEL_ITEM_PRICE_BASE }; }; +struct ItemRandomPropertiesLoadInfo +{ + static constexpr DB2FieldMeta Fields[7] = + { + { false, FT_INT, "ID" }, + { false, FT_STRING, "Name" }, + { false, FT_SHORT, "Enchantment1" }, + { false, FT_SHORT, "Enchantment2" }, + { false, FT_SHORT, "Enchantment3" }, + { false, FT_SHORT, "Enchantment4" }, + { false, FT_SHORT, "Enchantment5" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 7, &ItemRandomPropertiesMeta::Instance, HOTFIX_SEL_ITEM_RANDOM_PROPERTIES }; +}; + +struct ItemRandomSuffixLoadInfo +{ + static constexpr DB2FieldMeta Fields[12] = + { + { false, FT_INT, "ID" }, + { false, FT_STRING, "Name" }, + { false, FT_SHORT, "Enchantment1" }, + { false, FT_SHORT, "Enchantment2" }, + { false, FT_SHORT, "Enchantment3" }, + { false, FT_SHORT, "Enchantment4" }, + { false, FT_SHORT, "Enchantment5" }, + { false, FT_SHORT, "AllocationPct1" }, + { false, FT_SHORT, "AllocationPct2" }, + { false, FT_SHORT, "AllocationPct3" }, + { false, FT_SHORT, "AllocationPct4" }, + { false, FT_SHORT, "AllocationPct5" }, + }; + + static constexpr DB2LoadInfo Instance{ Fields, 12, &ItemRandomSuffixMeta::Instance, HOTFIX_SEL_ITEM_RANDOM_SUFFIX }; +}; + struct ItemSearchNameLoadInfo { static constexpr DB2FieldMeta Fields[17] = diff --git a/src/server/game/DataStores/DB2Stores.cpp b/src/server/game/DataStores/DB2Stores.cpp index 6fbd316f650..6b50a5cfc07 100644 --- a/src/server/game/DataStores/DB2Stores.cpp +++ b/src/server/game/DataStores/DB2Stores.cpp @@ -195,6 +195,8 @@ DB2Storage sItemModifiedAppearanceStore("It DB2Storage sItemModifiedAppearanceExtraStore("ItemModifiedAppearanceExtra.db2", &ItemModifiedAppearanceExtraLoadInfo::Instance); DB2Storage sItemNameDescriptionStore("ItemNameDescription.db2", &ItemNameDescriptionLoadInfo::Instance); DB2Storage sItemPriceBaseStore("ItemPriceBase.db2", &ItemPriceBaseLoadInfo::Instance); +DB2Storage sItemRandomPropertiesStore("ItemRandomProperties.db2", &ItemRandomPropertiesLoadInfo::Instance); +DB2Storage sItemRandomSuffixStore("ItemRandomSuffix.db2", &ItemRandomSuffixLoadInfo::Instance); DB2Storage sItemSearchNameStore("ItemSearchName.db2", &ItemSearchNameLoadInfo::Instance); DB2Storage sItemSetStore("ItemSet.db2", &ItemSetLoadInfo::Instance); DB2Storage sItemSetSpellStore("ItemSetSpell.db2", &ItemSetSpellLoadInfo::Instance); diff --git a/src/server/game/DataStores/DB2Stores.h b/src/server/game/DataStores/DB2Stores.h index 0374d9228e6..1bcc2e6c4d4 100644 --- a/src/server/game/DataStores/DB2Stores.h +++ b/src/server/game/DataStores/DB2Stores.h @@ -159,6 +159,8 @@ TC_GAME_API extern DB2Storage sItemLimitCa TC_GAME_API extern DB2Storage sItemModifiedAppearanceStore; TC_GAME_API extern DB2Storage sItemModifiedAppearanceExtraStore; TC_GAME_API extern DB2Storage sItemPriceBaseStore; +TC_GAME_API extern DB2Storage sItemRandomPropertiesStore; +TC_GAME_API extern DB2Storage sItemRandomSuffixStore; TC_GAME_API extern DB2Storage sItemSearchNameStore; TC_GAME_API extern DB2Storage sItemSetStore; TC_GAME_API extern DB2Storage sItemSetSpellStore; diff --git a/src/server/game/DataStores/DB2Structure.h b/src/server/game/DataStores/DB2Structure.h index d020b457199..4024dc833bf 100644 --- a/src/server/game/DataStores/DB2Structure.h +++ b/src/server/game/DataStores/DB2Structure.h @@ -2240,6 +2240,21 @@ struct ItemPriceBaseEntry float Weapon; }; +struct ItemRandomPropertiesEntry +{ + uint32 ID; + LocalizedString Name; + std::array Enchantment; +}; + +struct ItemRandomSuffixEntry +{ + uint32 ID; + LocalizedString Name; + std::array Enchantment; + std::array AllocationPct; +}; + struct ItemSearchNameEntry { Trinity::RaceMask AllowableRace; -- cgit v1.2.3