diff options
author | Shauren <shauren.trinity@gmail.com> | 2017-06-14 23:51:52 +0200 |
---|---|---|
committer | Shauren <shauren.trinity@gmail.com> | 2017-06-14 23:51:52 +0200 |
commit | bfbb948c73d6e6a556776a4fd0daf2c0f84a02c4 (patch) | |
tree | e9d7eda080edfdbea3b05876a7ac807f2faa6163 /src | |
parent | ff1a71d6f72734f32cb83e1a24b159ff655011ad (diff) |
Core/DataStores: Updated db2 structures to 7.2.5.24330
Diffstat (limited to 'src')
-rw-r--r-- | src/server/database/Database/Implementation/HotfixDatabase.cpp | 31 | ||||
-rw-r--r-- | src/server/game/DataStores/DB2LoadInfo.h | 18 | ||||
-rw-r--r-- | src/server/game/DataStores/DB2Metadata.h | 164 | ||||
-rw-r--r-- | src/server/game/DataStores/DB2Structure.h | 17 | ||||
-rw-r--r-- | src/server/game/DataStores/DBCEnums.h | 14 | ||||
-rw-r--r-- | src/server/game/DataStores/GameTables.h | 2 | ||||
-rw-r--r-- | src/server/game/Entities/Player/CollectionMgr.cpp | 15 | ||||
-rw-r--r-- | src/server/game/Entities/Player/CollectionMgr.h | 3 | ||||
-rw-r--r-- | src/tools/map_extractor/loadlib/DBFilesClientList.h | 4 |
9 files changed, 154 insertions, 114 deletions
diff --git a/src/server/database/Database/Implementation/HotfixDatabase.cpp b/src/server/database/Database/Implementation/HotfixDatabase.cpp index fd9415afa16..126c4e8452b 100644 --- a/src/server/database/Database/Implementation/HotfixDatabase.cpp +++ b/src/server/database/Database/Implementation/HotfixDatabase.cpp @@ -226,8 +226,8 @@ void HotfixDatabaseConnection::DoPrepareStatements() PREPARE_LOCALE_STMT(HOTFIX_SEL_CRITERIA_TREE, "SELECT ID, Description_lang FROM criteria_tree_locale WHERE locale = ?", CONNECTION_SYNCH); // CurrencyTypes.db2 - PrepareStatement(HOTFIX_SEL_CURRENCY_TYPES, "SELECT ID, Name, InventoryIcon1, InventoryIcon2, MaxQty, MaxEarnablePerWeek, Flags, Description, " - "CategoryID, SpellCategory, Quality, SpellWeight FROM currency_types ORDER BY ID DESC", CONNECTION_SYNCH); + PrepareStatement(HOTFIX_SEL_CURRENCY_TYPES, "SELECT ID, Name, MaxQty, MaxEarnablePerWeek, Flags, Description, CategoryID, SpellCategory, Quality, " + "InventoryIconFileDataID, SpellWeight FROM currency_types ORDER BY ID DESC", CONNECTION_SYNCH); PREPARE_LOCALE_STMT(HOTFIX_SEL_CURRENCY_TYPES, "SELECT ID, Name_lang, Description_lang FROM currency_types_locale WHERE locale = ?", CONNECTION_SYNCH); // Curve.db2 @@ -267,8 +267,8 @@ void HotfixDatabaseConnection::DoPrepareStatements() PrepareStatement(HOTFIX_SEL_DURABILITY_QUALITY, "SELECT ID, QualityMod FROM durability_quality ORDER BY ID DESC", CONNECTION_SYNCH); // Emotes.db2 - PrepareStatement(HOTFIX_SEL_EMOTES, "SELECT ID, EmoteSlashCommand, SpellVisualKitID, EmoteFlags, AnimID, EmoteSpecProc, EmoteSpecProcParam, " - "EmoteSoundID, ClassMask, RaceMask FROM emotes ORDER BY ID DESC", CONNECTION_SYNCH); + PrepareStatement(HOTFIX_SEL_EMOTES, "SELECT ID, EmoteSlashCommand, SpellVisualKitID, EmoteFlags, RaceMask, AnimID, EmoteSpecProc, " + "EmoteSpecProcParam, EmoteSoundID, ClassMask FROM emotes ORDER BY ID DESC", CONNECTION_SYNCH); // EmotesText.db2 PrepareStatement(HOTFIX_SEL_EMOTES_TEXT, "SELECT ID, Name, EmoteID FROM emotes_text ORDER BY ID DESC", CONNECTION_SYNCH); @@ -382,15 +382,15 @@ void HotfixDatabaseConnection::DoPrepareStatements() // Heirloom.db2 PrepareStatement(HOTFIX_SEL_HEIRLOOM, "SELECT ItemID, SourceText, OldItem1, OldItem2, NextDifficultyItemID, UpgradeItemID1, UpgradeItemID2, " - "ItemBonusListID1, ItemBonusListID2, Flags, Source, ID FROM heirloom ORDER BY ID DESC", CONNECTION_SYNCH); + "UpgradeItemID3, ItemBonusListID1, ItemBonusListID2, ItemBonusListID3, Flags, Source, ID FROM heirloom ORDER BY ID DESC", CONNECTION_SYNCH); PREPARE_LOCALE_STMT(HOTFIX_SEL_HEIRLOOM, "SELECT ID, SourceText_lang FROM heirloom_locale WHERE locale = ?", CONNECTION_SYNCH); // Holidays.db2 PrepareStatement(HOTFIX_SEL_HOLIDAYS, "SELECT ID, Date1, Date2, Date3, Date4, Date5, Date6, Date7, Date8, Date9, Date10, Date11, Date12, Date13, " - "Date14, Date15, Date16, TextureFilename, Duration1, Duration2, Duration3, Duration4, Duration5, Duration6, Duration7, Duration8, Duration9, " - "Duration10, Region, Looping, CalendarFlags1, CalendarFlags2, CalendarFlags3, CalendarFlags4, CalendarFlags5, CalendarFlags6, CalendarFlags7, " - "CalendarFlags8, CalendarFlags9, CalendarFlags10, Priority, CalendarFilterType, Flags, HolidayNameID, HolidayDescriptionID FROM holidays" - " ORDER BY ID DESC", CONNECTION_SYNCH); + "Date14, Date15, Date16, Duration1, Duration2, Duration3, Duration4, Duration5, Duration6, Duration7, Duration8, Duration9, Duration10, " + "Region, Looping, CalendarFlags1, CalendarFlags2, CalendarFlags3, CalendarFlags4, CalendarFlags5, CalendarFlags6, CalendarFlags7, " + "CalendarFlags8, CalendarFlags9, CalendarFlags10, Priority, CalendarFilterType, Flags, HolidayNameID, HolidayDescriptionID, " + "TextureFileDataID1, TextureFileDataID2, TextureFileDataID3 FROM holidays ORDER BY ID DESC", CONNECTION_SYNCH); // ImportPriceArmor.db2 PrepareStatement(HOTFIX_SEL_IMPORT_PRICE_ARMOR, "SELECT ID, ClothFactor, LeatherFactor, MailFactor, PlateFactor FROM import_price_armor" @@ -557,10 +557,11 @@ void HotfixDatabaseConnection::DoPrepareStatements() " ORDER BY ID DESC", CONNECTION_SYNCH); // LfgDungeons.db2 - PrepareStatement(HOTFIX_SEL_LFG_DUNGEONS, "SELECT Name, Flags, TextureFilename, Description, MinItemLevel, MaxLevel, TargetLevelMax, MapID, " - "RandomID, ScenarioID, LastBossJournalEncounterID, BonusReputationAmount, MentorItemLevel, PlayerConditionID, MinLevel, TargetLevel, " - "TargetLevelMin, DifficultyID, Type, Faction, Expansion, OrderIndex, GroupID, CountTank, CountHealer, CountDamage, MinCountTank, " - "MinCountHealer, MinCountDamage, SubType, MentorCharLevel, ID FROM lfg_dungeons ORDER BY ID DESC", CONNECTION_SYNCH); + PrepareStatement(HOTFIX_SEL_LFG_DUNGEONS, "SELECT ID, Name, Flags, Description, MinItemLevel, MaxLevel, TargetLevelMax, MapID, RandomID, " + "ScenarioID, LastBossJournalEncounterID, BonusReputationAmount, MentorItemLevel, PlayerConditionID, MinLevel, TargetLevel, TargetLevelMin, " + "DifficultyID, Type, Faction, Expansion, OrderIndex, GroupID, CountTank, CountHealer, CountDamage, MinCountTank, MinCountHealer, " + "MinCountDamage, SubType, MentorCharLevel, TextureFileDataID, RewardIconFileDataID, ProposalTextureFileDataID FROM lfg_dungeons" + " ORDER BY ID DESC", CONNECTION_SYNCH); PREPARE_LOCALE_STMT(HOTFIX_SEL_LFG_DUNGEONS, "SELECT ID, Name_lang, Description_lang FROM lfg_dungeons_locale WHERE locale = ?", CONNECTION_SYNCH); // Light.db2 @@ -592,8 +593,8 @@ void HotfixDatabaseConnection::DoPrepareStatements() "LongDescription_lang FROM map_locale WHERE locale = ?", CONNECTION_SYNCH); // MapDifficulty.db2 - PrepareStatement(HOTFIX_SEL_MAP_DIFFICULTY, "SELECT ID, Message, MapID, DifficultyID, RaidDurationType, MaxPlayers, LockID, ItemBonusTreeModID, " - "Context FROM map_difficulty ORDER BY ID DESC", CONNECTION_SYNCH); + PrepareStatement(HOTFIX_SEL_MAP_DIFFICULTY, "SELECT ID, Message, MapID, DifficultyID, RaidDurationType, MaxPlayers, LockID, Flags, " + "ItemBonusTreeModID, Context FROM map_difficulty ORDER BY ID DESC", CONNECTION_SYNCH); PREPARE_LOCALE_STMT(HOTFIX_SEL_MAP_DIFFICULTY, "SELECT ID, Message_lang FROM map_difficulty_locale WHERE locale = ?", CONNECTION_SYNCH); // ModifierTree.db2 diff --git a/src/server/game/DataStores/DB2LoadInfo.h b/src/server/game/DataStores/DB2LoadInfo.h index bdc0aa51349..4610f92f7f9 100644 --- a/src/server/game/DataStores/DB2LoadInfo.h +++ b/src/server/game/DataStores/DB2LoadInfo.h @@ -1039,8 +1039,6 @@ struct CurrencyTypesLoadInfo { { false, FT_INT, "ID" }, { false, FT_STRING, "Name" }, - { false, FT_STRING_NOT_LOCALIZED, "InventoryIcon1" }, - { false, FT_STRING_NOT_LOCALIZED, "InventoryIcon2" }, { false, FT_INT, "MaxQty" }, { false, FT_INT, "MaxEarnablePerWeek" }, { false, FT_INT, "Flags" }, @@ -1048,6 +1046,7 @@ struct CurrencyTypesLoadInfo { false, FT_BYTE, "CategoryID" }, { false, FT_BYTE, "SpellCategory" }, { false, FT_BYTE, "Quality" }, + { false, FT_INT, "InventoryIconFileDataID" }, { false, FT_INT, "SpellWeight" }, }; static DB2LoadInfo const loadInfo(&fields[0], std::extent<decltype(fields)>::value, CurrencyTypesMeta::Instance(), HOTFIX_SEL_CURRENCY_TYPES); @@ -1235,12 +1234,12 @@ struct EmotesLoadInfo { false, FT_STRING_NOT_LOCALIZED, "EmoteSlashCommand" }, { false, FT_INT, "SpellVisualKitID" }, { false, FT_INT, "EmoteFlags" }, + { true, FT_INT, "RaceMask" }, { false, FT_SHORT, "AnimID" }, { false, FT_BYTE, "EmoteSpecProc" }, { false, FT_INT, "EmoteSpecProcParam" }, { false, FT_INT, "EmoteSoundID" }, { true, FT_INT, "ClassMask" }, - { true, FT_INT, "RaceMask" }, }; static DB2LoadInfo const loadInfo(&fields[0], std::extent<decltype(fields)>::value, EmotesMeta::Instance(), HOTFIX_SEL_EMOTES); return &loadInfo; @@ -1795,8 +1794,10 @@ struct HeirloomLoadInfo { false, FT_INT, "NextDifficultyItemID" }, { false, FT_INT, "UpgradeItemID1" }, { false, FT_INT, "UpgradeItemID2" }, + { false, FT_INT, "UpgradeItemID3" }, { false, FT_SHORT, "ItemBonusListID1" }, { false, FT_SHORT, "ItemBonusListID2" }, + { false, FT_SHORT, "ItemBonusListID3" }, { false, FT_BYTE, "Flags" }, { false, FT_BYTE, "Source" }, { false, FT_INT, "ID" }, @@ -1829,7 +1830,6 @@ struct HolidaysLoadInfo { false, FT_INT, "Date14" }, { false, FT_INT, "Date15" }, { false, FT_INT, "Date16" }, - { false, FT_STRING_NOT_LOCALIZED, "TextureFilename" }, { false, FT_SHORT, "Duration1" }, { false, FT_SHORT, "Duration2" }, { false, FT_SHORT, "Duration3" }, @@ -1857,6 +1857,9 @@ struct HolidaysLoadInfo { false, FT_BYTE, "Flags" }, { false, FT_INT, "HolidayNameID" }, { false, FT_INT, "HolidayDescriptionID" }, + { true, FT_INT, "TextureFileDataID1" }, + { true, FT_INT, "TextureFileDataID2" }, + { true, FT_INT, "TextureFileDataID3" }, }; static DB2LoadInfo const loadInfo(&fields[0], std::extent<decltype(fields)>::value, HolidaysMeta::Instance(), HOTFIX_SEL_HOLIDAYS); return &loadInfo; @@ -2723,9 +2726,9 @@ struct LfgDungeonsLoadInfo { static DB2FieldMeta const fields[] = { + { false, FT_INT, "ID" }, { false, FT_STRING, "Name" }, { false, FT_INT, "Flags" }, - { false, FT_STRING_NOT_LOCALIZED, "TextureFilename" }, { false, FT_STRING, "Description" }, { false, FT_FLOAT, "MinItemLevel" }, { false, FT_SHORT, "MaxLevel" }, @@ -2754,7 +2757,9 @@ struct LfgDungeonsLoadInfo { false, FT_BYTE, "MinCountDamage" }, { false, FT_BYTE, "SubType" }, { false, FT_BYTE, "MentorCharLevel" }, - { false, FT_INT, "ID" }, + { true, FT_INT, "TextureFileDataID" }, + { true, FT_INT, "RewardIconFileDataID" }, + { true, FT_INT, "ProposalTextureFileDataID" }, }; static DB2LoadInfo const loadInfo(&fields[0], std::extent<decltype(fields)>::value, LfgDungeonsMeta::Instance(), HOTFIX_SEL_LFG_DUNGEONS); return &loadInfo; @@ -2959,6 +2964,7 @@ struct MapDifficultyLoadInfo { false, FT_BYTE, "RaidDurationType" }, { false, FT_BYTE, "MaxPlayers" }, { false, FT_BYTE, "LockID" }, + { false, FT_BYTE, "Flags" }, { false, FT_BYTE, "ItemBonusTreeModID" }, { false, FT_INT, "Context" }, }; diff --git a/src/server/game/DataStores/DB2Metadata.h b/src/server/game/DataStores/DB2Metadata.h index 0a3ff17925a..0488988b8a8 100644 --- a/src/server/game/DataStores/DB2Metadata.h +++ b/src/server/game/DataStores/DB2Metadata.h @@ -444,10 +444,10 @@ struct ArtifactTierMeta { static DB2Meta const* Instance() { - static char const* types = "iiii"; - static uint8 const arraySizes[4] = { 1, 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[4] = { uint32(0), uint32(0), uint32(0), uint32(0) }; - static DB2Meta instance(-1, 4, 0x5D3F394A, types, arraySizes, fieldDefaults); + static char const* types = "iiiii"; + static uint8 const arraySizes[5] = { 1, 1, 1, 1, 1 }; + static DB2FieldDefault const fieldDefaults[5] = { uint32(0), uint32(0), uint32(0), uint32(0), uint32(0) }; + static DB2Meta instance(-1, 5, 0xEB558336, types, arraySizes, fieldDefaults); return &instance; } }; @@ -951,7 +951,7 @@ struct CharStartOutfitMeta static char const* types = "iibbbbb"; static uint8 const arraySizes[7] = { 24, 1, 1, 1, 1, 1, 1 }; static DB2FieldDefault const fieldDefaults[7] = { uint32(0), uint32(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0) }; - static DB2Meta instance(-1, 7, 0x11FCA973, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 7, 0xF1166793, types, arraySizes, fieldDefaults); return &instance; } }; @@ -1220,6 +1220,30 @@ struct CombatConditionMeta } }; +struct CommentatorStartLocationMeta +{ + static DB2Meta const* Instance() + { + static char const* types = "fi"; + static uint8 const arraySizes[2] = { 3, 1 }; + static DB2FieldDefault const fieldDefaults[2] = { float(0), uint32(0) }; + static DB2Meta instance(-1, 2, 0xC04769B3, types, arraySizes, fieldDefaults); + return &instance; + } +}; + +struct CommentatorTrackedCooldownMeta +{ + static DB2Meta const* Instance() + { + static char const* types = "hbbi"; + static uint8 const arraySizes[4] = { 1, 1, 1, 1 }; + static DB2FieldDefault const fieldDefaults[4] = { uint16(0), uint8(0), uint8(0), uint32(0) }; + static DB2Meta instance(-1, 4, 0x8252AE1E, types, arraySizes, fieldDefaults); + return &instance; + } +}; + struct ComponentModelFileDataMeta { static DB2Meta const* Instance() @@ -1320,10 +1344,10 @@ struct CreatureDisplayInfoCondMeta { static DB2Meta const* Instance() { - static char const* types = "iiiibbiiiiiiiii"; - static uint8 const arraySizes[15] = { 1, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3 }; - static DB2FieldDefault const fieldDefaults[15] = { uint32(0), uint32(0), uint32(0), uint32(0), uint8(0), uint8(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0) }; - static DB2Meta instance(-1, 15, 0x9E3B4111, types, arraySizes, fieldDefaults); + static char const* types = "iiiiibbiiiiiiii"; + static uint8 const arraySizes[15] = { 1, 1, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3 }; + static DB2FieldDefault const fieldDefaults[15] = { uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint8(0), uint8(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0) }; + static DB2Meta instance(-1, 15, 0xD59D16F9, types, arraySizes, fieldDefaults); return &instance; } }; @@ -1500,10 +1524,10 @@ struct CurrencyTypesMeta { static DB2Meta const* Instance() { - static char const* types = "ssiiisbbbi"; - static uint8 const arraySizes[10] = { 1, 2, 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[10] = { "", "", uint32(0), uint32(0), uint32(0), "", uint8(0), uint8(0), uint8(0), uint32(0) }; - static DB2Meta instance(-1, 10, 0x6F93491A, types, arraySizes, fieldDefaults); + static char const* types = "siiisbbbii"; + static uint8 const arraySizes[10] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; + static DB2FieldDefault const fieldDefaults[10] = { "", uint32(0), uint32(0), uint32(0), "", uint8(0), uint8(0), uint8(0), uint32(0), uint32(0) }; + static DB2Meta instance(-1, 10, 0x312E3E69, types, arraySizes, fieldDefaults); return &instance; } }; @@ -1659,7 +1683,7 @@ struct DungeonEncounterMeta static char const* types = "sihbbbiii"; static uint8 const arraySizes[9] = { 1, 1, 1, 1, 1, 1, 1, 1, 1 }; static DB2FieldDefault const fieldDefaults[9] = { "", uint32(0), uint16(0), uint8(0), uint8(0), uint8(0), uint32(0), uint32(0), uint32(0) }; - static DB2Meta instance(6, 9, 0x12E68741, types, arraySizes, fieldDefaults); + static DB2Meta instance(6, 9, 0x710B4A11, types, arraySizes, fieldDefaults); return &instance; } }; @@ -1728,10 +1752,10 @@ struct EmotesMeta { static DB2Meta const* Instance() { - static char const* types = "siihbiiii"; + static char const* types = "siiihbiii"; static uint8 const arraySizes[9] = { 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[9] = { "", uint32(0), uint32(0), uint16(0), uint8(0), uint32(0), uint32(0), uint32(0), uint32(0) }; - static DB2Meta instance(-1, 9, 0xB331D120, types, arraySizes, fieldDefaults); + static DB2FieldDefault const fieldDefaults[9] = { "", uint32(0), uint32(0), uint32(0), uint16(0), uint8(0), uint32(0), uint32(0), uint32(0) }; + static DB2Meta instance(-1, 9, 0xCE25ADEC, types, arraySizes, fieldDefaults); return &instance; } }; @@ -1812,10 +1836,10 @@ struct FactionGroupMeta { static DB2Meta const* Instance() { - static char const* types = "ssb"; - static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[3] = { "", "", uint8(0) }; - static DB2Meta instance(-1, 3, 0xA6EAE900, types, arraySizes, fieldDefaults); + static char const* types = "ssbii"; + static uint8 const arraySizes[5] = { 1, 1, 1, 1, 1 }; + static DB2FieldDefault const fieldDefaults[5] = { "", "", uint8(0), uint32(0), uint32(0) }; + static DB2Meta instance(-1, 5, 0xAA5D6DA4, types, arraySizes, fieldDefaults); return &instance; } }; @@ -2484,10 +2508,10 @@ struct GarrTalentTreeMeta { static DB2Meta const* Instance() { - static char const* types = "bbii"; - static uint8 const arraySizes[4] = { 1, 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[4] = { uint8(0), uint8(0), uint32(0), uint32(0) }; - static DB2Meta instance(-1, 4, 0xC42F0FDC, types, arraySizes, fieldDefaults); + static char const* types = "hbbii"; + static uint8 const arraySizes[5] = { 1, 1, 1, 1, 1 }; + static DB2FieldDefault const fieldDefaults[5] = { uint16(0), uint8(0), uint8(0), uint32(0), uint32(0) }; + static DB2Meta instance(-1, 5, 0x6A32C419, types, arraySizes, fieldDefaults); return &instance; } }; @@ -2713,7 +2737,7 @@ struct HeirloomMeta static DB2Meta const* Instance() { static char const* types = "isiiiihbbi"; - static uint8 const arraySizes[10] = { 1, 1, 1, 1, 1, 2, 2, 1, 1, 1 }; + static uint8 const arraySizes[10] = { 1, 1, 1, 1, 1, 3, 3, 1, 1, 1 }; static DB2FieldDefault const fieldDefaults[10] = { uint32(0), "", uint32(0), uint32(0), uint32(0), uint32(0), uint16(0), uint8(0), uint8(0), uint32(0) }; static DB2Meta instance(9, 10, 0x3CE7D5FF, types, arraySizes, fieldDefaults); return &instance; @@ -2784,10 +2808,10 @@ struct HolidaysMeta { static DB2Meta const* Instance() { - static char const* types = "iishhbbbbbii"; - static uint8 const arraySizes[12] = { 1, 16, 1, 10, 1, 1, 10, 1, 1, 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[12] = { uint32(0), uint32(0), "", uint16(0), uint16(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint32(0), uint32(0) }; - static DB2Meta instance(0, 12, 0x11A68D7A, types, arraySizes, fieldDefaults); + static char const* types = "iihhbbbbbiii"; + static uint8 const arraySizes[12] = { 1, 16, 10, 1, 1, 10, 1, 1, 1, 1, 1, 3 }; + static DB2FieldDefault const fieldDefaults[12] = { uint32(0), uint32(0), uint16(0), uint16(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint32(0), uint32(0), uint32(0) }; + static DB2Meta instance(0, 12, 0x4CE0E634, types, arraySizes, fieldDefaults); return &instance; } }; @@ -3648,10 +3672,10 @@ struct LfgDungeonsMeta { static DB2Meta const* Instance() { - static char const* types = "sissfhhhhhhhhhbbbbbbbbbbbbbbbbbi"; - static uint8 const arraySizes[32] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[32] = { "", uint32(0), "", "", float(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint32(0) }; - static DB2Meta instance(31, 32, 0x3F2A92F9, types, arraySizes, fieldDefaults); + static char const* types = "sisfhhhhhhhhhbbbbbbbbbbbbbbbbbiii"; + static uint8 const arraySizes[33] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; + static DB2FieldDefault const fieldDefaults[33] = { "", uint32(0), "", float(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint16(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint32(0), uint32(0), uint32(0) }; + static DB2Meta instance(-1, 33, 0x0FBB2573, types, arraySizes, fieldDefaults); return &instance; } }; @@ -3720,10 +3744,10 @@ struct LightSkyboxMeta { static DB2Meta const* Instance() { - static char const* types = "sib"; - static uint8 const arraySizes[3] = { 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[3] = { "", uint32(0), uint8(0) }; - static DB2Meta instance(-1, 3, 0x6BE10D77, types, arraySizes, fieldDefaults); + static char const* types = "siib"; + static uint8 const arraySizes[4] = { 1, 1, 1, 1 }; + static DB2FieldDefault const fieldDefaults[4] = { "", uint32(0), uint32(0), uint8(0) }; + static DB2Meta instance(-1, 4, 0x599D510E, types, arraySizes, fieldDefaults); return &instance; } }; @@ -3996,10 +4020,10 @@ struct MapDifficultyMeta { static DB2Meta const* Instance() { - static char const* types = "shbbbbbi"; - static uint8 const arraySizes[8] = { 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[8] = { "", uint16(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint32(0) }; - static DB2Meta instance(-1, 8, 0x396E3077, types, arraySizes, fieldDefaults); + static char const* types = "shbbbbbbi"; + static uint8 const arraySizes[9] = { 1, 1, 1, 1, 1, 1, 1, 1, 1 }; + static DB2FieldDefault const fieldDefaults[9] = { "", uint16(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint32(0) }; + static DB2Meta instance(-1, 9, 0x592DC1E1, types, arraySizes, fieldDefaults); return &instance; } }; @@ -4632,10 +4656,10 @@ struct PvpTalentMeta { static DB2Meta const* Instance() { - static char const* types = "iisiiiiii"; - static uint8 const arraySizes[9] = { 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[9] = { uint32(0), uint32(0), "", uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0) }; - static DB2Meta instance(-1, 9, 0xB89EF320, types, arraySizes, fieldDefaults); + static char const* types = "iisiiiiiii"; + static uint8 const arraySizes[10] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; + static DB2FieldDefault const fieldDefaults[10] = { uint32(0), uint32(0), "", uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0) }; + static DB2Meta instance(-1, 10, 0x8868B3E8, types, arraySizes, fieldDefaults); return &instance; } }; @@ -4832,18 +4856,6 @@ struct QuestXPMeta } }; -struct RacialMountsMeta -{ - static DB2Meta const* Instance() - { - static char const* types = "ib"; - static uint8 const arraySizes[2] = { 1, 1 }; - static DB2FieldDefault const fieldDefaults[2] = { uint32(0), uint8(0) }; - static DB2Meta instance(-1, 2, 0x6D8150FD, types, arraySizes, fieldDefaults); - return &instance; - } -}; - struct RandPropPointsMeta { static DB2Meta const* Instance() @@ -5019,7 +5031,7 @@ struct ScenarioStepMeta static char const* types = "sshhhhbbi"; static uint8 const arraySizes[9] = { 1, 1, 1, 1, 1, 1, 1, 1, 1 }; static DB2FieldDefault const fieldDefaults[9] = { "", "", uint16(0), uint16(0), uint16(0), uint16(0), uint8(0), uint8(0), uint32(0) }; - static DB2Meta instance(-1, 9, 0x6578D565, types, arraySizes, fieldDefaults); + static DB2Meta instance(-1, 9, 0x7E9FAC31, types, arraySizes, fieldDefaults); return &instance; } }; @@ -5235,7 +5247,7 @@ struct SoundBusMeta static char const* types = "fhbbbbbi"; static uint8 const arraySizes[8] = { 1, 1, 1, 1, 1, 1, 1, 1 }; static DB2FieldDefault const fieldDefaults[8] = { float(0), uint16(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint32(0) }; - static DB2Meta instance(7, 8, 0x9A949479, types, arraySizes, fieldDefaults); + static DB2Meta instance(7, 8, 0x4B191162, types, arraySizes, fieldDefaults); return &instance; } }; @@ -5556,10 +5568,10 @@ struct SpellChainEffectsMeta { static DB2Meta const* Instance() { - static char const* types = "fffiiffffffffffffffffffffffffffffffffffiffsshhhhbbbbbbbbbbi"; - static uint8 const arraySizes[59] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 3, 3, 3, 1, 1, 1, 3, 1, 1, 1, 11, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[59] = { float(0), float(0), float(0), uint32(0), uint32(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), uint32(0), float(0), float(0), "", "", uint16(0), uint16(0), uint16(0), uint16(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint32(0) }; - static DB2Meta instance(-1, 59, 0x18683A3F, types, arraySizes, fieldDefaults); + static char const* types = "fffiiffffffffffffffffffffffffffffffffffiffshhhhbbbbbbbbbbii"; + static uint8 const arraySizes[59] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 11, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3 }; + static DB2FieldDefault const fieldDefaults[59] = { float(0), float(0), float(0), uint32(0), uint32(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), float(0), uint32(0), float(0), float(0), "", uint16(0), uint16(0), uint16(0), uint16(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint32(0), uint32(0) }; + static DB2Meta instance(-1, 59, 0x96AA6737, types, arraySizes, fieldDefaults); return &instance; } }; @@ -6048,10 +6060,10 @@ struct SpellVisualMeta { static DB2Meta const* Instance() { - static char const* types = "iiiiiiiiiiiiiiiffiiiiihhbbiiii"; - static uint8 const arraySizes[30] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[30] = { uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), float(0), float(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint16(0), uint16(0), uint8(0), uint8(0), uint32(0), uint32(0), uint32(0), uint32(0) }; - static DB2Meta instance(26, 30, 0x03C190D7, types, arraySizes, fieldDefaults); + static char const* types = "iffhhbbiiiiiiiiiiiiiiiiiiiiiii"; + static uint8 const arraySizes[30] = { 1, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; + static DB2FieldDefault const fieldDefaults[30] = { uint32(0), float(0), float(0), uint16(0), uint16(0), uint8(0), uint8(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0), uint32(0) }; + static DB2Meta instance(7, 30, 0x8E440CD2, types, arraySizes, fieldDefaults); return &instance; } }; @@ -6096,10 +6108,10 @@ struct SpellVisualKitMeta { static DB2Meta const* Instance() { - static char const* types = "ifhhii"; - static uint8 const arraySizes[6] = { 1, 1, 1, 1, 1, 1 }; - static DB2FieldDefault const fieldDefaults[6] = { uint32(0), float(0), uint16(0), uint16(0), uint32(0), uint32(0) }; - static DB2Meta instance(4, 6, 0xC1E1518E, types, arraySizes, fieldDefaults); + static char const* types = "ifhhi"; + static uint8 const arraySizes[5] = { 1, 1, 1, 1, 1 }; + static DB2FieldDefault const fieldDefaults[5] = { uint32(0), float(0), uint16(0), uint16(0), uint32(0) }; + static DB2Meta instance(-1, 5, 0x73E2BF35, types, arraySizes, fieldDefaults); return &instance; } }; @@ -6168,10 +6180,10 @@ struct StartupFilesMeta { static DB2Meta const* Instance() { - static char const* types = "ii"; - static uint8 const arraySizes[2] = { 1, 1 }; - static DB2FieldDefault const fieldDefaults[2] = { uint32(0), uint32(0) }; - static DB2Meta instance(-1, 2, 0x8B69689C, types, arraySizes, fieldDefaults); + static char const* types = "iii"; + static uint8 const arraySizes[3] = { 1, 1, 1 }; + static DB2FieldDefault const fieldDefaults[3] = { uint32(0), uint32(0), uint32(0) }; + static DB2Meta instance(-1, 3, 0x3DDEE73C, types, arraySizes, fieldDefaults); return &instance; } }; diff --git a/src/server/game/DataStores/DB2Structure.h b/src/server/game/DataStores/DB2Structure.h index 30831a2975f..08b42d3bfca 100644 --- a/src/server/game/DataStores/DB2Structure.h +++ b/src/server/game/DataStores/DB2Structure.h @@ -739,7 +739,6 @@ struct CurrencyTypesEntry { uint32 ID; LocalizedString* Name; - char const* InventoryIcon[2]; uint32 MaxQty; uint32 MaxEarnablePerWeek; uint32 Flags; @@ -747,6 +746,7 @@ struct CurrencyTypesEntry uint8 CategoryID; uint8 SpellCategory; uint8 Quality; + uint32 InventoryIconFileDataID; uint32 SpellWeight; }; @@ -843,12 +843,12 @@ struct EmotesEntry char const* EmoteSlashCommand; uint32 SpellVisualKitID; uint32 EmoteFlags; + int32 RaceMask; uint16 AnimID; uint8 EmoteSpecProc; uint32 EmoteSpecProcParam; uint32 EmoteSoundID; int32 ClassMask; - int32 RaceMask; }; struct EmotesTextEntry @@ -1206,8 +1206,8 @@ struct HeirloomEntry LocalizedString* SourceText; uint32 OldItem[2]; uint32 NextDifficultyItemID; - uint32 UpgradeItemID[2]; - uint16 ItemBonusListID[2]; + uint32 UpgradeItemID[3]; + uint16 ItemBonusListID[3]; uint8 Flags; uint8 Source; uint32 ID; @@ -1221,7 +1221,6 @@ struct HolidaysEntry { uint32 ID; uint32 Date[MAX_HOLIDAY_DATES]; // dates in unix time starting at January, 1, 2000 - char const* TextureFilename; uint16 Duration[MAX_HOLIDAY_DURATIONS]; uint16 Region; uint8 Looping; @@ -1231,6 +1230,7 @@ struct HolidaysEntry uint8 Flags; uint32 HolidayNameID; uint32 HolidayDescriptionID; + int32 TextureFileDataID[3]; }; struct ImportPriceArmorEntry @@ -1631,9 +1631,9 @@ struct KeyChainEntry struct LfgDungeonsEntry { + uint32 ID; LocalizedString* Name; uint32 Flags; - char const* TextureFilename; LocalizedString* Description; float MinItemLevel; uint16 MaxLevel; @@ -1662,7 +1662,9 @@ struct LfgDungeonsEntry uint8 MinCountDamage; uint8 SubType; uint8 MentorCharLevel; - uint32 ID; + int32 TextureFileDataID; + int32 RewardIconFileDataID; + int32 ProposalTextureFileDataID; // Helpers uint32 Entry() const { return ID + (Type << 24); } @@ -1785,6 +1787,7 @@ struct MapDifficultyEntry uint8 RaidDurationType; // 1 means daily reset, 2 means weekly uint8 MaxPlayers; // m_maxPlayers some heroic versions have 0 when expected same amount as in normal version uint8 LockID; + uint8 Flags; uint8 ItemBonusTreeModID; uint32 Context; diff --git a/src/server/game/DataStores/DBCEnums.h b/src/server/game/DataStores/DBCEnums.h index 467494acc6a..636808dee1b 100644 --- a/src/server/game/DataStores/DBCEnums.h +++ b/src/server/game/DataStores/DBCEnums.h @@ -147,7 +147,7 @@ enum ArtifactPowerFlag : uint8 ARTIFACT_POWER_FLAG_DONT_COUNT_FIRST_BONUS_RANK = 0x10, }; -#define BATTLE_PET_SPECIES_MAX_ID 2051 +#define BATTLE_PET_SPECIES_MAX_ID 2073 enum ChrSpecializationFlag { @@ -481,7 +481,7 @@ enum CriteriaTypes : uint8 // 204 - Special criteria type to award players for some external events? Comes with what looks like an identifier, so guessing it's not unique. }; -#define CRITERIA_TYPE_TOTAL 207 +#define CRITERIA_TYPE_TOTAL 208 enum CriteriaTreeFlags : uint16 { @@ -559,11 +559,14 @@ enum Difficulty : uint8 DIFFICULTY_EVENT_DUNGEON = 19, DIFFICULTY_EVENT_SCENARIO = 20, DIFFICULTY_MYTHIC = 23, - DIFFICULTY_TIMEWALKER = 24, + DIFFICULTY_TIMEWALKING = 24, DIFFICULTY_WORLD_PVP_SCENARIO = 25, DIFFICULTY_5_MAN_SCENARIO_N = 26, DIFFICULTY_20_MAN_SCENARIO_N = 27, DIFFICULTY_PVEVP_SCENARIO = 29, + DIFFICULTY_EVENT_SCENARIO_6 = 30, + DIFFICULTY_WORLD_PVP_SCENARIO_2 = 32, + DIFFICULTY_TIMEWALKING_RAID = 33, MAX_DIFFICULTY }; @@ -756,6 +759,11 @@ enum ItemSpecStat ITEM_SPEC_STAT_NONE = 40 }; +enum MapDifficultyFlags : uint8 +{ + MAP_DIFFICULTY_FLAG_CANNOT_EXTEND = 0x10 +}; + enum MountCapabilityFlags { MOUNT_CAPABILITY_FLAG_CAN_PITCH = 0x4, // client checks MOVEMENTFLAG2_FULL_SPEED_PITCHING diff --git a/src/server/game/DataStores/GameTables.h b/src/server/game/DataStores/GameTables.h index 21952c515ef..e85d2a70f9a 100644 --- a/src/server/game/DataStores/GameTables.h +++ b/src/server/game/DataStores/GameTables.h @@ -103,7 +103,7 @@ struct GtCombatRatingsMultByILvl float JewelryMultiplier = 0.0f; }; -uint8 constexpr PRESTIGE_COLUMN_COUNT = 16; +uint8 constexpr PRESTIGE_COLUMN_COUNT = 33; struct GtHonorLevelEntry { float Prestige[PRESTIGE_COLUMN_COUNT] = { }; diff --git a/src/server/game/Entities/Player/CollectionMgr.cpp b/src/server/game/Entities/Player/CollectionMgr.cpp index f52408f1c4b..80fbacd59bb 100644 --- a/src/server/game/Entities/Player/CollectionMgr.cpp +++ b/src/server/game/Entities/Player/CollectionMgr.cpp @@ -162,10 +162,12 @@ void CollectionMgr::LoadAccountHeirlooms(PreparedQueryResult result) uint32 bonusId = 0; - if (flags & HEIRLOOM_FLAG_BONUS_LEVEL_90) - bonusId = heirloom->ItemBonusListID[0]; - if (flags & HEIRLOOM_FLAG_BONUS_LEVEL_100) + if (flags & HEIRLOOM_FLAG_BONUS_LEVEL_110) + bonusId = heirloom->ItemBonusListID[2]; + else if (flags & HEIRLOOM_FLAG_BONUS_LEVEL_100) bonusId = heirloom->ItemBonusListID[1]; + else if (flags & HEIRLOOM_FLAG_BONUS_LEVEL_90) + bonusId = heirloom->ItemBonusListID[0]; _heirlooms[itemId] = HeirloomData(flags, bonusId); } while (result->NextRow()); @@ -243,6 +245,11 @@ void CollectionMgr::UpgradeHeirloom(uint32 itemId, uint32 castItem) flags |= HEIRLOOM_FLAG_BONUS_LEVEL_100; bonusId = heirloom->ItemBonusListID[1]; } + if (heirloom->UpgradeItemID[2] == castItem) + { + flags |= HEIRLOOM_FLAG_BONUS_LEVEL_110; + bonusId = heirloom->ItemBonusListID[2]; + } for (Item* item : player->GetItemListByEntry(itemId, true)) item->AddBonuses(bonusId); @@ -320,6 +327,8 @@ bool CollectionMgr::CanApplyHeirloomXpBonus(uint32 itemId, uint32 level) if (itr == _heirlooms.end()) return false; + if (itr->second.flags & HEIRLOOM_FLAG_BONUS_LEVEL_110) + return level <= 110; if (itr->second.flags & HEIRLOOM_FLAG_BONUS_LEVEL_100) return level <= 100; if (itr->second.flags & HEIRLOOM_FLAG_BONUS_LEVEL_90) diff --git a/src/server/game/Entities/Player/CollectionMgr.h b/src/server/game/Entities/Player/CollectionMgr.h index 5150ea3963a..3036d879041 100644 --- a/src/server/game/Entities/Player/CollectionMgr.h +++ b/src/server/game/Entities/Player/CollectionMgr.h @@ -34,7 +34,8 @@ enum HeirloomPlayerFlags { HEIRLOOM_FLAG_NONE = 0x00, HEIRLOOM_FLAG_BONUS_LEVEL_90 = 0x01, - HEIRLOOM_FLAG_BONUS_LEVEL_100 = 0x02 + HEIRLOOM_FLAG_BONUS_LEVEL_100 = 0x02, + HEIRLOOM_FLAG_BONUS_LEVEL_110 = 0x04 }; enum HeirloomItemFlags diff --git a/src/tools/map_extractor/loadlib/DBFilesClientList.h b/src/tools/map_extractor/loadlib/DBFilesClientList.h index a7e1552462e..11428d9dc14 100644 --- a/src/tools/map_extractor/loadlib/DBFilesClientList.h +++ b/src/tools/map_extractor/loadlib/DBFilesClientList.h @@ -120,6 +120,8 @@ char const* DBFilesClientList[] = "DBFilesClient\\CinematicSequences.db2", "DBFilesClient\\CloakDampening.db2", "DBFilesClient\\CombatCondition.db2", + "DBFilesClient\\CommentatorStartLocation.db2", + "DBFilesClient\\CommentatorTrackedCooldown.db2", "DBFilesClient\\ComponentModelFileData.db2", "DBFilesClient\\ComponentTextureFileData.db2", "DBFilesClient\\Contribution.db2", @@ -197,7 +199,6 @@ char const* DBFilesClientList[] = "DBFilesClient\\GarrEncounter.db2", "DBFilesClient\\GarrEncounterSetXEncounter.db2", "DBFilesClient\\GarrEncounterXMechanic.db2", - "DBFilesClient\\GarrFollItemSetMember.db2", "DBFilesClient\\GarrFollSupportSpell.db2", "DBFilesClient\\GarrFollower.db2", "DBFilesClient\\GarrFollowerLevelXP.db2", @@ -421,7 +422,6 @@ char const* DBFilesClientList[] = "DBFilesClient\\QuestV2CliTask.db2", "DBFilesClient\\QuestXGroupActivity.db2", "DBFilesClient\\QuestXP.db2", - "DBFilesClient\\RacialMounts.db2", "DBFilesClient\\RandPropPoints.db2", "DBFilesClient\\ResearchBranch.db2", "DBFilesClient\\ResearchField.db2", |