diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/server/database/Database/Implementation/HotfixDatabase.cpp | 20 | ||||
-rw-r--r-- | src/server/game/DataStores/DB2LoadInfo.h | 35 | ||||
-rw-r--r-- | src/server/game/DataStores/DB2Metadata.h | 117 | ||||
-rw-r--r-- | src/server/game/DataStores/DB2Structure.h | 19 | ||||
-rw-r--r-- | src/server/game/DataStores/DBCEnums.h | 2 | ||||
-rw-r--r-- | src/server/game/Entities/Player/Player.cpp | 8 | ||||
-rw-r--r-- | src/tools/map_extractor/System.cpp | 2 | ||||
-rw-r--r-- | src/tools/map_extractor/loadlib/DBFilesClientList.h | 2 | ||||
-rw-r--r-- | src/tools/vmap4_extractor/vmapexport.cpp | 2 |
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; |