aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorOvahlord <dreadkiller@gmx.de>2024-05-23 20:10:59 +0200
committerOvahlord <dreadkiller@gmx.de>2024-05-23 21:18:10 +0200
commit9d6e3e54abf649d1914c41d7d12c59c560671032 (patch)
treef53b72d27df8471d250cbcd43b4035b862080056 /src
parent54f3ff67425380688e909f8436454442a5b8d202 (diff)
Core/Datastores: updated DB2 structures to 4.4.0.54737
Diffstat (limited to 'src')
-rw-r--r--src/server/database/Database/Implementation/HotfixDatabase.cpp20
-rw-r--r--src/server/game/DataStores/DB2LoadInfo.h35
-rw-r--r--src/server/game/DataStores/DB2Metadata.h117
-rw-r--r--src/server/game/DataStores/DB2Structure.h19
-rw-r--r--src/server/game/DataStores/DBCEnums.h2
-rw-r--r--src/server/game/Entities/Player/Player.cpp8
-rw-r--r--src/tools/map_extractor/System.cpp2
-rw-r--r--src/tools/map_extractor/loadlib/DBFilesClientList.h2
-rw-r--r--src/tools/vmap4_extractor/vmapexport.cpp2
9 files changed, 148 insertions, 59 deletions
diff --git a/src/server/database/Database/Implementation/HotfixDatabase.cpp b/src/server/database/Database/Implementation/HotfixDatabase.cpp
index 39f823f0b1c..5a6936938f7 100644
--- a/src/server/database/Database/Implementation/HotfixDatabase.cpp
+++ b/src/server/database/Database/Implementation/HotfixDatabase.cpp
@@ -264,8 +264,8 @@ void HotfixDatabaseConnection::DoPrepareStatements()
// BattlemasterList.db2
PrepareStatement(HOTFIX_SEL_BATTLEMASTER_LIST, "SELECT ID, Name, GameType, ShortDescription, LongDescription, InstanceType, MinLevel, MaxLevel, "
"RatedPlayers, MinPlayers, MaxPlayers, GroupsAllowed, MaxGroupSize, HolidayWorldState, Flags, IconFileDataID, RequiredPlayerConditionID, "
- "MapID1, MapID2, MapID3, MapID4, MapID5, MapID6, MapID7, MapID8, MapID9, MapID10, MapID11, MapID12, MapID13, MapID14, MapID15, MapID16"
- " FROM battlemaster_list WHERE (`VerifiedBuild` > 0) = ?", CONNECTION_SYNCH);
+ "Field_4_4_0_54339_016, Field_4_4_0_54339_017, MapID1, MapID2, MapID3, MapID4, MapID5, MapID6, MapID7, MapID8, MapID9, MapID10, MapID11, "
+ "MapID12, MapID13, MapID14, MapID15, MapID16 FROM battlemaster_list WHERE (`VerifiedBuild` > 0) = ?", CONNECTION_SYNCH);
PREPARE_MAX_ID_STMT(HOTFIX_SEL_BATTLEMASTER_LIST, "SELECT MAX(ID) + 1 FROM battlemaster_list", CONNECTION_SYNCH);
PREPARE_LOCALE_STMT(HOTFIX_SEL_BATTLEMASTER_LIST, "SELECT ID, Name_lang, GameType_lang, ShortDescription_lang, LongDescription_lang"
" FROM battlemaster_list_locale WHERE (`VerifiedBuild` > 0) = ? AND locale = ?", CONNECTION_SYNCH);
@@ -493,7 +493,8 @@ void HotfixDatabaseConnection::DoPrepareStatements()
// CurrencyTypes.db2
PrepareStatement(HOTFIX_SEL_CURRENCY_TYPES, "SELECT ID, Name, Description, CategoryID, InventoryIconFileID, SpellWeight, SpellCategory, MaxQty, "
- "MaxEarnablePerWeek, Quality, FactionID, AwardConditionID, Flags1, Flags2 FROM currency_types WHERE (`VerifiedBuild` > 0) = ?", CONNECTION_SYNCH);
+ "MaxEarnablePerWeek, Quality, FactionID, Field_3_4_3_51278_010, Field_4_4_0_54137_011, Flags1, Flags2 FROM currency_types"
+ " WHERE (`VerifiedBuild` > 0) = ?", CONNECTION_SYNCH);
PREPARE_MAX_ID_STMT(HOTFIX_SEL_CURRENCY_TYPES, "SELECT MAX(ID) + 1 FROM currency_types", CONNECTION_SYNCH);
PREPARE_LOCALE_STMT(HOTFIX_SEL_CURRENCY_TYPES, "SELECT ID, Name_lang, Description_lang FROM currency_types_locale WHERE (`VerifiedBuild` > 0) = ?"
" AND locale = ?", CONNECTION_SYNCH);
@@ -523,8 +524,8 @@ void HotfixDatabaseConnection::DoPrepareStatements()
PREPARE_LOCALE_STMT(HOTFIX_SEL_DIFFICULTY, "SELECT ID, Name_lang FROM difficulty_locale WHERE (`VerifiedBuild` > 0) = ? AND locale = ?", CONNECTION_SYNCH);
// DungeonEncounter.db2
- PrepareStatement(HOTFIX_SEL_DUNGEON_ENCOUNTER, "SELECT Name, ID, MapID, DifficultyID, OrderIndex, Bit, Flags, Faction FROM dungeon_encounter"
- " WHERE (`VerifiedBuild` > 0) = ?", CONNECTION_SYNCH);
+ PrepareStatement(HOTFIX_SEL_DUNGEON_ENCOUNTER, "SELECT Name, ID, MapID, DifficultyID, OrderIndex, CompleteWorldStateID, Bit, Flags, "
+ "SpellIconFileID, Faction FROM dungeon_encounter WHERE (`VerifiedBuild` > 0) = ?", CONNECTION_SYNCH);
PREPARE_MAX_ID_STMT(HOTFIX_SEL_DUNGEON_ENCOUNTER, "SELECT MAX(ID) + 1 FROM dungeon_encounter", CONNECTION_SYNCH);
PREPARE_LOCALE_STMT(HOTFIX_SEL_DUNGEON_ENCOUNTER, "SELECT ID, Name_lang FROM dungeon_encounter_locale WHERE (`VerifiedBuild` > 0) = ?"
" AND locale = ?", CONNECTION_SYNCH);
@@ -816,7 +817,8 @@ void HotfixDatabaseConnection::DoPrepareStatements()
// ItemBonusTreeNode.db2
PrepareStatement(HOTFIX_SEL_ITEM_BONUS_TREE_NODE, "SELECT ID, ItemContext, ChildItemBonusTreeID, ChildItemBonusListID, ChildItemLevelSelectorID, "
- "ParentItemBonusTreeID FROM item_bonus_tree_node WHERE (`VerifiedBuild` > 0) = ?", CONNECTION_SYNCH);
+ "ChildItemBonusListGroupID, IblGroupPointsModSetID, MinMythicPlusLevel, MaxMythicPlusLevel, ParentItemBonusTreeID FROM item_bonus_tree_node"
+ " WHERE (`VerifiedBuild` > 0) = ?", CONNECTION_SYNCH);
PREPARE_MAX_ID_STMT(HOTFIX_SEL_ITEM_BONUS_TREE_NODE, "SELECT MAX(ID) + 1 FROM item_bonus_tree_node", CONNECTION_SYNCH);
// ItemChildEquipment.db2
@@ -984,8 +986,8 @@ void HotfixDatabaseConnection::DoPrepareStatements()
PREPARE_MAX_ID_STMT(HOTFIX_SEL_ITEM_X_BONUS_TREE, "SELECT MAX(ID) + 1 FROM item_x_bonus_tree", CONNECTION_SYNCH);
// JournalEncounter.db2
- PrepareStatement(HOTFIX_SEL_JOURNAL_ENCOUNTER, "SELECT ID, Name, Description, MapX, MapY, JournalInstanceID, OrderIndex, FirstSectionID, UiMapID, "
- "MapDisplayConditionID, Flags, DifficultyMask FROM journal_encounter WHERE (`VerifiedBuild` > 0) = ?", CONNECTION_SYNCH);
+ 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);
@@ -999,7 +1001,7 @@ void HotfixDatabaseConnection::DoPrepareStatements()
" WHERE (`VerifiedBuild` > 0) = ? AND locale = ?", CONNECTION_SYNCH);
// JournalInstance.db2
- PrepareStatement(HOTFIX_SEL_JOURNAL_INSTANCE, "SELECT Name, Description, ID, MapID, BackgroundFileDataID, ButtonFileDataID, "
+ PrepareStatement(HOTFIX_SEL_JOURNAL_INSTANCE, "SELECT ID, Name, Description, MapID, BackgroundFileDataID, ButtonFileDataID, "
"ButtonSmallFileDataID, LoreFileDataID, 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"
diff --git a/src/server/game/DataStores/DB2LoadInfo.h b/src/server/game/DataStores/DB2LoadInfo.h
index 56129ea8ae0..48d876c8009 100644
--- a/src/server/game/DataStores/DB2LoadInfo.h
+++ b/src/server/game/DataStores/DB2LoadInfo.h
@@ -695,7 +695,7 @@ struct BattlePetSpeciesStateLoadInfo
struct BattlemasterListLoadInfo
{
- static constexpr DB2FieldMeta Fields[33] =
+ static constexpr DB2FieldMeta Fields[35] =
{
{ false, FT_INT, "ID" },
{ false, FT_STRING, "Name" },
@@ -714,6 +714,8 @@ struct BattlemasterListLoadInfo
{ true, FT_BYTE, "Flags" },
{ true, FT_INT, "IconFileDataID" },
{ true, FT_INT, "RequiredPlayerConditionID" },
+ { true, FT_INT, "Field_4_4_0_54339_016" },
+ { true, FT_INT, "Field_4_4_0_54339_017" },
{ true, FT_SHORT, "MapID1" },
{ true, FT_SHORT, "MapID2" },
{ true, FT_SHORT, "MapID3" },
@@ -732,7 +734,7 @@ struct BattlemasterListLoadInfo
{ true, FT_SHORT, "MapID16" },
};
- static constexpr DB2LoadInfo Instance{ Fields, 33, &BattlemasterListMeta::Instance, HOTFIX_SEL_BATTLEMASTER_LIST };
+ static constexpr DB2LoadInfo Instance{ Fields, 35, &BattlemasterListMeta::Instance, HOTFIX_SEL_BATTLEMASTER_LIST };
};
struct BroadcastTextLoadInfo
@@ -1452,7 +1454,7 @@ struct CurrencyContainerLoadInfo
struct CurrencyTypesLoadInfo
{
- static constexpr DB2FieldMeta Fields[14] =
+ static constexpr DB2FieldMeta Fields[15] =
{
{ false, FT_INT, "ID" },
{ false, FT_STRING, "Name" },
@@ -1465,12 +1467,13 @@ struct CurrencyTypesLoadInfo
{ false, FT_INT, "MaxEarnablePerWeek" },
{ true, FT_BYTE, "Quality" },
{ true, FT_INT, "FactionID" },
- { true, FT_INT, "AwardConditionID" },
+ { true, FT_INT, "Field_3_4_3_51278_010" },
+ { true, FT_INT, "Field_4_4_0_54137_011" },
{ true, FT_INT, "Flags1" },
{ true, FT_INT, "Flags2" },
};
- static constexpr DB2LoadInfo Instance{ Fields, 14, &CurrencyTypesMeta::Instance, HOTFIX_SEL_CURRENCY_TYPES };
+ static constexpr DB2LoadInfo Instance{ Fields, 15, &CurrencyTypesMeta::Instance, HOTFIX_SEL_CURRENCY_TYPES };
};
struct CurveLoadInfo
@@ -1558,19 +1561,21 @@ struct DifficultyLoadInfo
struct DungeonEncounterLoadInfo
{
- static constexpr DB2FieldMeta Fields[8] =
+ static constexpr DB2FieldMeta Fields[10] =
{
{ false, FT_STRING, "Name" },
{ false, FT_INT, "ID" },
{ true, FT_SHORT, "MapID" },
{ true, FT_INT, "DifficultyID" },
{ true, FT_INT, "OrderIndex" },
+ { true, FT_INT, "CompleteWorldStateID" },
{ true, FT_BYTE, "Bit" },
{ true, FT_INT, "Flags" },
+ { true, FT_INT, "SpellIconFileID" },
{ true, FT_INT, "Faction" },
};
- static constexpr DB2LoadInfo Instance{ Fields, 8, &DungeonEncounterMeta::Instance, HOTFIX_SEL_DUNGEON_ENCOUNTER };
+ static constexpr DB2LoadInfo Instance{ Fields, 10, &DungeonEncounterMeta::Instance, HOTFIX_SEL_DUNGEON_ENCOUNTER };
};
struct DurabilityCostsLoadInfo
@@ -2560,17 +2565,21 @@ struct ItemBonusListLevelDeltaLoadInfo
struct ItemBonusTreeNodeLoadInfo
{
- static constexpr DB2FieldMeta Fields[6] =
+ static constexpr DB2FieldMeta Fields[10] =
{
{ false, FT_INT, "ID" },
{ false, FT_BYTE, "ItemContext" },
{ false, FT_SHORT, "ChildItemBonusTreeID" },
{ false, FT_SHORT, "ChildItemBonusListID" },
{ false, FT_SHORT, "ChildItemLevelSelectorID" },
+ { true, FT_INT, "ChildItemBonusListGroupID" },
+ { true, FT_INT, "IblGroupPointsModSetID" },
+ { true, FT_INT, "MinMythicPlusLevel" },
+ { true, FT_INT, "MaxMythicPlusLevel" },
{ false, FT_INT, "ParentItemBonusTreeID" },
};
- static constexpr DB2LoadInfo Instance{ Fields, 6, &ItemBonusTreeNodeMeta::Instance, HOTFIX_SEL_ITEM_BONUS_TREE_NODE };
+ static constexpr DB2LoadInfo Instance{ Fields, 10, &ItemBonusTreeNodeMeta::Instance, HOTFIX_SEL_ITEM_BONUS_TREE_NODE };
};
struct ItemChildEquipmentLoadInfo
@@ -2861,7 +2870,7 @@ struct ItemModifiedAppearanceLoadInfo
{ true, FT_INT, "ItemAppearanceModifierID" },
{ true, FT_INT, "ItemAppearanceID" },
{ true, FT_INT, "OrderIndex" },
- { true, FT_INT, "TransmogSourceTypeEnum" },
+ { false, FT_BYTE, "TransmogSourceTypeEnum" },
};
static constexpr DB2LoadInfo Instance{ Fields, 6, &ItemModifiedAppearanceMeta::Instance, HOTFIX_SEL_ITEM_MODIFIED_APPEARANCE };
@@ -3218,9 +3227,9 @@ struct JournalInstanceLoadInfo
{
static constexpr DB2FieldMeta Fields[10] =
{
+ { false, FT_INT, "ID" },
{ false, FT_STRING, "Name" },
{ false, FT_STRING, "Description" },
- { false, FT_INT, "ID" },
{ false, FT_SHORT, "MapID" },
{ true, FT_INT, "BackgroundFileDataID" },
{ true, FT_INT, "ButtonFileDataID" },
@@ -3872,7 +3881,7 @@ struct PlayerConditionLoadInfo
{ true, FT_INT, "PhaseUseFlags" },
{ false, FT_SHORT, "PhaseID" },
{ false, FT_INT, "PhaseGroupID" },
- { false, FT_BYTE, "Flags" },
+ { true, FT_INT, "Flags" },
{ true, FT_BYTE, "ChrSpecializationIndex" },
{ true, FT_BYTE, "ChrSpecializationRole" },
{ false, FT_INT, "ModifierTreeID" },
@@ -4506,7 +4515,7 @@ struct SoundKitLoadInfo
{ false, FT_INT, "ID" },
{ false, FT_BYTE, "SoundType" },
{ false, FT_FLOAT, "VolumeFloat" },
- { false, FT_SHORT, "Flags" },
+ { true, FT_INT, "Flags" },
{ false, FT_FLOAT, "MinDistance" },
{ false, FT_FLOAT, "DistanceCutoff" },
{ false, FT_BYTE, "EAXDef" },
diff --git a/src/server/game/DataStores/DB2Metadata.h b/src/server/game/DataStores/DB2Metadata.h
index 22c8ccb90ec..fe79f365a1b 100644
--- a/src/server/game/DataStores/DB2Metadata.h
+++ b/src/server/game/DataStores/DB2Metadata.h
@@ -1263,7 +1263,7 @@ struct BattlePetVisualMeta
struct BattlemasterListMeta
{
- static constexpr DB2MetaField Fields[17] =
+ static constexpr DB2MetaField Fields[19] =
{
{ FT_STRING, 1, true },
{ FT_STRING, 1, true },
@@ -1281,10 +1281,12 @@ struct BattlemasterListMeta
{ FT_BYTE, 1, true },
{ FT_INT, 1, true },
{ FT_INT, 1, true },
+ { FT_INT, 1, true },
+ { FT_INT, 1, true },
{ FT_SHORT, 16, true },
};
- static constexpr DB2Meta Instance{ 1360265, -1, 17, 17, 0xFF326044, Fields, -1 };
+ static constexpr DB2Meta Instance{ 1360265, -1, 19, 19, 0xE67A4AF0, Fields, -1 };
};
struct BattlepayCurrencyMeta
@@ -3208,7 +3210,7 @@ struct CurrencyContainerMeta
struct CurrencyTypesMeta
{
- static constexpr DB2MetaField Fields[12] =
+ static constexpr DB2MetaField Fields[13] =
{
{ FT_STRING, 1, true },
{ FT_STRING, 1, true },
@@ -3221,10 +3223,11 @@ struct CurrencyTypesMeta
{ FT_BYTE, 1, true },
{ FT_INT, 1, true },
{ FT_INT, 1, true },
+ { FT_INT, 1, true },
{ FT_INT, 2, true },
};
- static constexpr DB2Meta Instance{ 1095531, -1, 12, 12, 0xE814E32E, Fields, -1 };
+ static constexpr DB2Meta Instance{ 1095531, -1, 13, 13, 0x5BD9D2E6, Fields, -1 };
};
struct CurveMeta
@@ -3443,19 +3446,21 @@ struct DriverBlacklistMeta
struct DungeonEncounterMeta
{
- static constexpr DB2MetaField Fields[8] =
+ static constexpr DB2MetaField Fields[10] =
{
{ FT_STRING, 1, true },
{ FT_INT, 1, false },
{ FT_SHORT, 1, true },
{ FT_INT, 1, true },
{ FT_INT, 1, true },
+ { FT_INT, 1, true },
{ FT_BYTE, 1, true },
{ FT_INT, 1, true },
{ FT_INT, 1, true },
+ { FT_INT, 1, true },
};
- static constexpr DB2Meta Instance{ 1347279, 1, 8, 8, 0x737936D8, Fields, 2 };
+ static constexpr DB2Meta Instance{ 1347279, 1, 10, 10, 0x970800CA, Fields, 2 };
};
struct DurabilityCostsMeta
@@ -5292,16 +5297,20 @@ struct ItemBonusListLevelDeltaMeta
struct ItemBonusTreeNodeMeta
{
- static constexpr DB2MetaField Fields[5] =
+ static constexpr DB2MetaField Fields[9] =
{
{ FT_BYTE, 1, false },
{ FT_SHORT, 1, false },
{ FT_SHORT, 1, false },
{ FT_SHORT, 1, false },
{ FT_INT, 1, true },
+ { FT_INT, 1, true },
+ { FT_INT, 1, true },
+ { FT_INT, 1, true },
+ { FT_INT, 1, true },
};
- static constexpr DB2Meta Instance{ 987134, -1, 5, 4, 0xB396FA9A, Fields, 4 };
+ static constexpr DB2Meta Instance{ 987134, -1, 9, 8, 0xF5BD96C0, Fields, 8 };
};
struct ItemChildEquipmentMeta
@@ -5589,10 +5598,10 @@ struct ItemModifiedAppearanceMeta
{ FT_INT, 1, true },
{ FT_INT, 1, true },
{ FT_INT, 1, true },
- { FT_INT, 1, true },
+ { FT_BYTE, 1, false },
};
- static constexpr DB2Meta Instance{ 982457, 0, 6, 6, 0xF6BAD95D, Fields, 1 };
+ static constexpr DB2Meta Instance{ 982457, 0, 6, 6, 0xB6515E40, Fields, 1 };
};
struct ItemModifiedAppearanceExtraMeta
@@ -5647,7 +5656,7 @@ struct ItemRandomPropertiesMeta
static constexpr DB2MetaField Fields[2] =
{
{ FT_STRING, 1, true },
- { FT_SHORT, 5, true },
+ { FT_INT, 5, true },
};
static constexpr DB2Meta Instance{ 1237441, -1, 2, 2, 0x0D2C3577, Fields, -1 };
@@ -5682,7 +5691,7 @@ struct ItemReforgeMeta
{
static constexpr DB2MetaField Fields[6] =
{
- { FT_INT, 1, true },
+ { FT_INT, 1, false },
{ FT_SHORT, 1, false },
{ FT_FLOAT, 1, true },
{ FT_SHORT, 1, false },
@@ -5973,7 +5982,7 @@ struct JournalEncounterCreatureMeta
struct JournalEncounterItemMeta
{
- static constexpr DB2MetaField Fields[6] =
+ static constexpr DB2MetaField Fields[7] =
{
{ FT_INT, 1, false },
{ FT_SHORT, 1, false },
@@ -5981,9 +5990,10 @@ struct JournalEncounterItemMeta
{ FT_BYTE, 1, true },
{ FT_INT, 1, true },
{ FT_BYTE, 1, true },
+ { FT_INT, 1, true },
};
- static constexpr DB2Meta Instance{ 1344467, 0, 6, 6, 0x13C68F9B, Fields, 1 };
+ static constexpr DB2Meta Instance{ 1344467, 0, 7, 7, 0x2F00E0F6, Fields, 1 };
};
struct JournalEncounterSectionMeta
@@ -6037,11 +6047,10 @@ struct JournalEncounterXMapLocMeta
struct JournalInstanceMeta
{
- static constexpr DB2MetaField Fields[10] =
+ static constexpr DB2MetaField Fields[9] =
{
{ FT_STRING, 1, true },
{ FT_STRING, 1, true },
- { FT_INT, 1, false },
{ FT_SHORT, 1, false },
{ FT_INT, 1, true },
{ FT_INT, 1, true },
@@ -6051,7 +6060,7 @@ struct JournalInstanceMeta
{ FT_SHORT, 1, false },
};
- static constexpr DB2Meta Instance{ 1237438, 2, 10, 10, 0xF4F48AF6, Fields, -1 };
+ static constexpr DB2Meta Instance{ 1237438, -1, 9, 9, 0xE213FF3B, Fields, -1 };
};
struct JournalInstanceEntranceMeta
@@ -6117,14 +6126,15 @@ struct JournalTierMeta
struct JournalTierXInstanceMeta
{
- static constexpr DB2MetaField Fields[3] =
+ static constexpr DB2MetaField Fields[4] =
{
{ FT_SHORT, 1, false },
{ FT_SHORT, 1, false },
{ FT_INT, 1, true },
+ { FT_INT, 1, true },
};
- static constexpr DB2Meta Instance{ 1285009, -1, 3, 3, 0x003E6589, Fields, 0 };
+ static constexpr DB2Meta Instance{ 1285009, -1, 4, 4, 0x1351FB2E, Fields, 0 };
};
struct KeychainMeta
@@ -7696,7 +7706,7 @@ struct PlayerConditionMeta
{ FT_INT, 1, true },
{ FT_SHORT, 1, false },
{ FT_INT, 1, false },
- { FT_BYTE, 1, false },
+ { FT_INT, 1, true },
{ FT_BYTE, 1, true },
{ FT_BYTE, 1, true },
{ FT_INT, 1, false },
@@ -7736,7 +7746,7 @@ struct PlayerConditionMeta
{ FT_INT, 2, true },
};
- static constexpr DB2Meta Instance{ 1045411, 2, 81, 81, 0xD1764989, Fields, -1 };
+ static constexpr DB2Meta Instance{ 1045411, 2, 81, 81, 0x47B4D68A, Fields, -1 };
};
struct PlayerDataFlagAccountMeta
@@ -8458,7 +8468,7 @@ struct ScalingStatDistributionMeta
struct ScalingStatValuesMeta
{
- static constexpr DB2MetaField Fields[23] =
+ static constexpr DB2MetaField Fields[38] =
{
{ FT_INT, 1, true },
{ FT_INT, 1, true },
@@ -8483,9 +8493,24 @@ struct ScalingStatValuesMeta
{ FT_INT, 1, true },
{ FT_INT, 1, true },
{ FT_INT, 1, true },
+ { FT_INT, 1, true },
+ { FT_INT, 1, true },
+ { FT_INT, 1, true },
+ { FT_INT, 1, true },
+ { FT_INT, 1, true },
+ { FT_INT, 1, true },
+ { FT_INT, 1, true },
+ { FT_INT, 4, true },
+ { FT_INT, 4, true },
+ { FT_INT, 4, true },
+ { FT_INT, 4, true },
+ { FT_INT, 4, true },
+ { FT_INT, 4, true },
+ { FT_INT, 4, true },
+ { FT_INT, 4, true },
};
- static constexpr DB2Meta Instance{ 4719537, -1, 23, 23, 0x7037AEF9, Fields, -1 };
+ static constexpr DB2Meta Instance{ 4719537, -1, 38, 38, 0x9BCC4819, Fields, -1 };
};
struct ScenarioMeta
@@ -8947,7 +8972,7 @@ struct SoundKitMeta
{ FT_INT, 1, false },
{ FT_BYTE, 1, false },
{ FT_FLOAT, 1, true },
- { FT_SHORT, 1, false },
+ { FT_INT, 1, true },
{ FT_FLOAT, 1, true },
{ FT_FLOAT, 1, true },
{ FT_BYTE, 1, false },
@@ -8963,7 +8988,7 @@ struct SoundKitMeta
{ FT_INT, 1, false },
};
- static constexpr DB2Meta Instance{ 1237434, 0, 17, 17, 0x69EC2D22, Fields, -1 };
+ static constexpr DB2Meta Instance{ 1237434, 0, 17, 17, 0x5BA5D1BB, Fields, -1 };
};
struct SoundKitAdvancedMeta
@@ -10931,6 +10956,17 @@ struct TransformMatrixMeta
static constexpr DB2Meta Instance{ 1338702, -1, 5, 5, 0x92BCCC4C, Fields, -1 };
};
+struct TransmogDefaultLevelMeta
+{
+ static constexpr DB2MetaField Fields[2] =
+ {
+ { FT_BYTE, 1, true },
+ { FT_INT, 1, true },
+ };
+
+ static constexpr DB2Meta Instance{ 2399695, -1, 2, 2, 0x95FD2CA2, Fields, -1 };
+};
+
struct TransmogHolidayMeta
{
static constexpr DB2MetaField Fields[2] =
@@ -11060,6 +11096,37 @@ struct UIArrowCalloutMeta
static constexpr DB2Meta Instance{ 5011999, 2, 9, 9, 0xC42C586B, Fields, -1 };
};
+struct UIEventToastMeta
+{
+ static constexpr DB2MetaField Fields[22] =
+ {
+ { FT_STRING, 1, true },
+ { FT_STRING, 1, true },
+ { FT_STRING, 1, true },
+ { FT_STRING, 1, true },
+ { FT_STRING, 1, true },
+ { FT_STRING, 1, true },
+ { FT_INT, 1, false },
+ { FT_INT, 1, true },
+ { FT_INT, 1, true },
+ { FT_INT, 1, true },
+ { FT_INT, 1, true },
+ { FT_INT, 1, true },
+ { FT_INT, 1, true },
+ { FT_INT, 1, true },
+ { FT_INT, 1, true },
+ { FT_INT, 1, true },
+ { FT_INT, 1, true },
+ { FT_INT, 1, true },
+ { FT_INT, 1, true },
+ { FT_INT, 1, true },
+ { FT_INT, 1, true },
+ { FT_INT, 1, true },
+ };
+
+ static constexpr DB2Meta Instance{ 3946498, 6, 22, 22, 0xE0B754D7, Fields, -1 };
+};
+
struct UIExpansionDisplayInfoMeta
{
static constexpr DB2MetaField Fields[4] =
diff --git a/src/server/game/DataStores/DB2Structure.h b/src/server/game/DataStores/DB2Structure.h
index 5038355d5b6..eebf8bcf1ad 100644
--- a/src/server/game/DataStores/DB2Structure.h
+++ b/src/server/game/DataStores/DB2Structure.h
@@ -500,6 +500,8 @@ struct BattlemasterListEntry
int8 Flags;
int32 IconFileDataID;
int32 RequiredPlayerConditionID;
+ int32 Field_4_4_0_54339_016;
+ int32 Field_4_4_0_54339_017;
std::array<int16, 16> MapID;
EnumFlag<BattlemasterListFlags> GetFlags() const { return static_cast<BattlemasterListFlags>(Flags); }
@@ -1276,7 +1278,8 @@ struct CurrencyTypesEntry
uint32 MaxEarnablePerWeek;
int8 Quality;
int32 FactionID;
- int32 AwardConditionID;
+ int32 Field_3_4_3_51278_010;
+ int32 Field_4_4_0_54137_011;
std::array<int32, 2> Flags;
EnumFlag<CurrencyTypesFlags> GetFlags() const { return static_cast<CurrencyTypesFlags>(Flags[0]); }
@@ -1402,8 +1405,10 @@ struct DungeonEncounterEntry
int16 MapID;
int32 DifficultyID;
int32 OrderIndex;
+ int32 CompleteWorldStateID;
int8 Bit;
int32 Flags;
+ int32 SpellIconFileID;
int32 Faction;
};
@@ -2044,6 +2049,10 @@ struct ItemBonusTreeNodeEntry
uint16 ChildItemBonusTreeID;
uint16 ChildItemBonusListID;
uint16 ChildItemLevelSelectorID;
+ int32 ChildItemBonusListGroupID;
+ int32 IblGroupPointsModSetID;
+ int32 MinMythicPlusLevel;
+ int32 MaxMythicPlusLevel;
uint32 ParentItemBonusTreeID;
};
@@ -2205,7 +2214,7 @@ struct ItemModifiedAppearanceEntry
int32 ItemAppearanceModifierID;
int32 ItemAppearanceID;
int32 OrderIndex;
- int32 TransmogSourceTypeEnum;
+ uint8 TransmogSourceTypeEnum;
};
struct ItemModifiedAppearanceExtraEntry
@@ -2414,9 +2423,9 @@ struct JournalEncounterSectionEntry
struct JournalInstanceEntry
{
+ uint32 ID;
LocalizedString Name;
LocalizedString Description;
- uint32 ID;
uint16 MapID;
int32 BackgroundFileDataID;
int32 ButtonFileDataID;
@@ -2887,7 +2896,7 @@ struct PlayerConditionEntry
int32 PhaseUseFlags;
uint16 PhaseID;
uint32 PhaseGroupID;
- uint8 Flags;
+ int32 Flags;
int8 ChrSpecializationIndex;
int8 ChrSpecializationRole;
uint32 ModifierTreeID;
@@ -3262,7 +3271,7 @@ struct SoundKitEntry
uint32 ID;
uint8 SoundType;
float VolumeFloat;
- uint16 Flags;
+ int32 Flags;
float MinDistance;
float DistanceCutoff;
uint8 EAXDef;
diff --git a/src/server/game/DataStores/DBCEnums.h b/src/server/game/DataStores/DBCEnums.h
index 41dcc94dadb..6bb767efd68 100644
--- a/src/server/game/DataStores/DBCEnums.h
+++ b/src/server/game/DataStores/DBCEnums.h
@@ -58,7 +58,7 @@ enum LevelLimit
enum BattlegroundBracketId // bracketId for level ranges
{
BG_BRACKET_ID_FIRST = 0,
- BG_BRACKET_ID_LAST = 15,
+ BG_BRACKET_ID_LAST = 16,
// must be max value in PvPDificulty slot + 1
MAX_BATTLEGROUND_BRACKETS
diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp
index 484b18cd4a3..d470fd202b3 100644
--- a/src/server/game/Entities/Player/Player.cpp
+++ b/src/server/game/Entities/Player/Player.cpp
@@ -6920,8 +6920,8 @@ void Player::SendCurrencies() const
continue;
// Check award condition
- if (!ConditionMgr::IsPlayerMeetingCondition(this, currency->AwardConditionID))
- continue;
+ //if (!ConditionMgr::IsPlayerMeetingCondition(this, currency->AwardConditionID))
+ // continue;
WorldPackets::Misc::SetupCurrency::Record record;
record.Type = currency->ID;
@@ -6987,8 +6987,8 @@ void Player::ModifyCurrency(uint32 id, int32 amount, CurrencyGainSource gainSour
return;
// Check award condition
- if (!ConditionMgr::IsPlayerMeetingCondition(this, currency->AwardConditionID))
- return;
+ //if (!ConditionMgr::IsPlayerMeetingCondition(this, currency->AwardConditionID))
+ // return;
bool isGainOnRefund = [&]() -> bool
{
diff --git a/src/tools/map_extractor/System.cpp b/src/tools/map_extractor/System.cpp
index 1288955a3d9..0e6f224e166 100644
--- a/src/tools/map_extractor/System.cpp
+++ b/src/tools/map_extractor/System.cpp
@@ -109,7 +109,7 @@ float CONF_flat_liquid_delta_limit = 0.001f; // If max - min less this value - l
uint32 CONF_Locale = 0;
-char const* CONF_Product = "wow_classic_beta";
+char const* CONF_Product = "wow_classic";
char const* CONF_Region = "eu";
bool CONF_UseRemoteCasc = false;
diff --git a/src/tools/map_extractor/loadlib/DBFilesClientList.h b/src/tools/map_extractor/loadlib/DBFilesClientList.h
index 5bfacd211e1..b6c2a3bdcd4 100644
--- a/src/tools/map_extractor/loadlib/DBFilesClientList.h
+++ b/src/tools/map_extractor/loadlib/DBFilesClientList.h
@@ -746,6 +746,7 @@ DB2FileInfo const DBFilesClientList[] =
{ 4420306, "TraitTreeXTraitCost.db2" },
{ 4524218, "TraitTreeXTraitCurrency.db2" },
{ 1338702, "TransformMatrix.db2" },
+ { 2399695, "TransmogDefaultLevel.db2" },
{ 1589454, "TransmogHoliday.db2" },
{ 1376213, "TransmogSet.db2" },
{ 1576116, "TransmogSetGroup.db2" },
@@ -755,6 +756,7 @@ DB2FileInfo const DBFilesClientList[] =
{ 1140687, "TransportRotation.db2" },
{ 975024, "Trophy.db2" },
{ 5011999, "UIArrowCallout.db2" },
+ { 3946498, "UIEventToast.db2" },
{ 1729547, "UIExpansionDisplayInfo.db2" },
{ 1729546, "UIExpansionDisplayInfoIcon.db2" },
{ 4861207, "UIGenericWidgetDisplay.db2" },
diff --git a/src/tools/vmap4_extractor/vmapexport.cpp b/src/tools/vmap4_extractor/vmapexport.cpp
index 3707d07e421..1c29130769f 100644
--- a/src/tools/vmap4_extractor/vmapexport.cpp
+++ b/src/tools/vmap4_extractor/vmapexport.cpp
@@ -62,7 +62,7 @@ std::vector<MapEntry> map_ids; // partitioned by parent maps first
std::unordered_set<uint32> maps_that_are_parents;
boost::filesystem::path input_path;
bool preciseVectorData = false;
-char const* CascProduct = "wow_classic_beta";
+char const* CascProduct = "wow_classic";
char const* CascRegion = "eu";
bool UseRemoteCasc = false;
uint32 DbcLocale = 0;