diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/server/database/Database/Implementation/HotfixDatabase.cpp | 26 | ||||
-rw-r--r-- | src/server/game/DataStores/DB2LoadInfo.h | 10 | ||||
-rw-r--r-- | src/server/game/DataStores/DB2Metadata.h | 230 | ||||
-rw-r--r-- | src/server/game/DataStores/DB2Structure.h | 10 | ||||
-rw-r--r-- | src/server/game/DataStores/DBCEnums.h | 9 | ||||
-rw-r--r-- | src/server/game/Miscellaneous/SharedDefines.h | 2 | ||||
-rw-r--r-- | src/server/game/Spells/Auras/SpellAuraDefines.h | 1 | ||||
-rw-r--r-- | src/server/game/Spells/Auras/SpellAuraEffects.cpp | 3 | ||||
-rw-r--r-- | src/server/game/Spells/SpellEffects.cpp | 2 | ||||
-rw-r--r-- | src/server/game/Spells/SpellInfo.cpp | 6 |
10 files changed, 227 insertions, 72 deletions
diff --git a/src/server/database/Database/Implementation/HotfixDatabase.cpp b/src/server/database/Database/Implementation/HotfixDatabase.cpp index f9e5dd7d9ae..596c9381265 100644 --- a/src/server/database/Database/Implementation/HotfixDatabase.cpp +++ b/src/server/database/Database/Implementation/HotfixDatabase.cpp @@ -269,8 +269,9 @@ void HotfixDatabaseConnection::DoPrepareStatements() " FROM battlemaster_list_locale WHERE (`VerifiedBuild` > 0) = ? AND locale = ?", CONNECTION_SYNCH); // BroadcastText.db2 - PrepareStatement(HOTFIX_SEL_BROADCAST_TEXT, "SELECT Text, Text1, ID, LanguageID, ConditionID, EmotesID, Flags, ChatBubbleDurationMs, SoundKitID1, " - "SoundKitID2, EmoteID1, EmoteID2, EmoteID3, EmoteDelay1, EmoteDelay2, EmoteDelay3 FROM broadcast_text WHERE (`VerifiedBuild` > 0) = ?", CONNECTION_SYNCH); + PrepareStatement(HOTFIX_SEL_BROADCAST_TEXT, "SELECT Text, Text1, ID, LanguageID, ConditionID, EmotesID, Flags, ChatBubbleDurationMs, " + "VoiceOverPriorityID, SoundKitID1, SoundKitID2, EmoteID1, EmoteID2, EmoteID3, EmoteDelay1, EmoteDelay2, EmoteDelay3 FROM broadcast_text" + " WHERE (`VerifiedBuild` > 0) = ?", CONNECTION_SYNCH); PREPARE_MAX_ID_STMT(HOTFIX_SEL_BROADCAST_TEXT, "SELECT MAX(ID) + 1 FROM broadcast_text", CONNECTION_SYNCH); PREPARE_LOCALE_STMT(HOTFIX_SEL_BROADCAST_TEXT, "SELECT ID, Text_lang, Text1_lang FROM broadcast_text_locale WHERE (`VerifiedBuild` > 0) = ?" " AND locale = ?", CONNECTION_SYNCH); @@ -928,15 +929,15 @@ void HotfixDatabaseConnection::DoPrepareStatements() // ItemSparse.db2 PrepareStatement(HOTFIX_SEL_ITEM_SPARSE, "SELECT ID, AllowableRace, Description, Display3, Display2, Display1, Display, ExpansionID, DmgVariance, " - "LimitCategory, DurationInInventory, QualityModifier, BagFamily, ItemRange, StatPercentageOfSocket1, StatPercentageOfSocket2, " - "StatPercentageOfSocket3, StatPercentageOfSocket4, StatPercentageOfSocket5, StatPercentageOfSocket6, StatPercentageOfSocket7, " - "StatPercentageOfSocket8, StatPercentageOfSocket9, StatPercentageOfSocket10, StatPercentEditor1, StatPercentEditor2, StatPercentEditor3, " - "StatPercentEditor4, StatPercentEditor5, StatPercentEditor6, StatPercentEditor7, StatPercentEditor8, StatPercentEditor9, StatPercentEditor10, " - "Stackable, MaxCount, RequiredAbility, SellPrice, BuyPrice, VendorStackCount, PriceVariance, PriceRandomValue, Flags1, Flags2, Flags3, " - "Flags4, FactionRelated, ModifiedCraftingReagentItemID, ContentTuningID, PlayerLevelToItemLevelCurveID, ItemNameDescriptionID, " - "RequiredTransmogHoliday, RequiredHoliday, GemProperties, SocketMatchEnchantmentId, TotemCategoryID, InstanceBound, ZoneBound1, ZoneBound2, " - "ItemSet, LockID, StartQuestID, PageID, ItemDelay, MinFactionID, RequiredSkillRank, RequiredSkill, ItemLevel, AllowableClass, ArtifactID, " - "SpellWeight, SpellWeightCategory, SocketType1, SocketType2, SocketType3, SheatheType, Material, PageMaterialID, LanguageID, Bonding, " + "LimitCategory, DurationInInventory, QualityModifier, BagFamily, StartQuestID, LanguageID, ItemRange, StatPercentageOfSocket1, " + "StatPercentageOfSocket2, StatPercentageOfSocket3, StatPercentageOfSocket4, StatPercentageOfSocket5, StatPercentageOfSocket6, " + "StatPercentageOfSocket7, StatPercentageOfSocket8, StatPercentageOfSocket9, StatPercentageOfSocket10, StatPercentEditor1, StatPercentEditor2, " + "StatPercentEditor3, StatPercentEditor4, StatPercentEditor5, StatPercentEditor6, StatPercentEditor7, StatPercentEditor8, StatPercentEditor9, " + "StatPercentEditor10, Stackable, MaxCount, RequiredAbility, SellPrice, BuyPrice, VendorStackCount, PriceVariance, PriceRandomValue, Flags1, " + "Flags2, Flags3, Flags4, FactionRelated, ModifiedCraftingReagentItemID, ContentTuningID, PlayerLevelToItemLevelCurveID, " + "ItemNameDescriptionID, RequiredTransmogHoliday, RequiredHoliday, GemProperties, SocketMatchEnchantmentId, TotemCategoryID, InstanceBound, " + "ZoneBound1, ZoneBound2, ItemSet, LockID, PageID, ItemDelay, MinFactionID, RequiredSkillRank, RequiredSkill, ItemLevel, AllowableClass, " + "ArtifactID, SpellWeight, SpellWeightCategory, SocketType1, SocketType2, SocketType3, SheatheType, Material, PageMaterialID, Bonding, " "DamageDamageType, StatModifierBonusStat1, StatModifierBonusStat2, StatModifierBonusStat3, StatModifierBonusStat4, StatModifierBonusStat5, " "StatModifierBonusStat6, StatModifierBonusStat7, StatModifierBonusStat8, StatModifierBonusStat9, StatModifierBonusStat10, ContainerSlots, " "MinReputation, RequiredPVPMedal, RequiredPVPRank, RequiredLevel, InventoryType, OverallQualityID FROM item_sparse" @@ -1006,7 +1007,8 @@ void HotfixDatabaseConnection::DoPrepareStatements() PREPARE_MAX_ID_STMT(HOTFIX_SEL_LANGUAGE_WORDS, "SELECT MAX(ID) + 1 FROM language_words", CONNECTION_SYNCH); // Languages.db2 - PrepareStatement(HOTFIX_SEL_LANGUAGES, "SELECT ID, Name FROM languages WHERE (`VerifiedBuild` > 0) = ?", CONNECTION_SYNCH); + PrepareStatement(HOTFIX_SEL_LANGUAGES, "SELECT ID, Name, Flags, UiTextureKitID, UiTextureKitElementCount FROM languages" + " WHERE (`VerifiedBuild` > 0) = ?", CONNECTION_SYNCH); PREPARE_MAX_ID_STMT(HOTFIX_SEL_LANGUAGES, "SELECT MAX(ID) + 1 FROM languages", CONNECTION_SYNCH); PREPARE_LOCALE_STMT(HOTFIX_SEL_LANGUAGES, "SELECT ID, Name_lang FROM languages_locale WHERE (`VerifiedBuild` > 0) = ? AND locale = ?", CONNECTION_SYNCH); diff --git a/src/server/game/DataStores/DB2LoadInfo.h b/src/server/game/DataStores/DB2LoadInfo.h index e415251a315..5079e6ec38c 100644 --- a/src/server/game/DataStores/DB2LoadInfo.h +++ b/src/server/game/DataStores/DB2LoadInfo.h @@ -876,6 +876,7 @@ struct BroadcastTextLoadInfo { false, FT_SHORT, "EmotesID" }, { false, FT_BYTE, "Flags" }, { false, FT_INT, "ChatBubbleDurationMs" }, + { true, FT_INT, "VoiceOverPriorityID" }, { false, FT_INT, "SoundKitID1" }, { false, FT_INT, "SoundKitID2" }, { false, FT_SHORT, "EmoteID1" }, @@ -3399,6 +3400,8 @@ struct ItemSparseLoadInfo { false, FT_INT, "DurationInInventory" }, { false, FT_FLOAT, "QualityModifier" }, { false, FT_INT, "BagFamily" }, + { true, FT_INT, "StartQuestID" }, + { true, FT_INT, "LanguageID" }, { false, FT_FLOAT, "ItemRange" }, { false, FT_FLOAT, "StatPercentageOfSocket1" }, { false, FT_FLOAT, "StatPercentageOfSocket2" }, @@ -3447,7 +3450,6 @@ struct ItemSparseLoadInfo { false, FT_SHORT, "ZoneBound2" }, { false, FT_SHORT, "ItemSet" }, { false, FT_SHORT, "LockID" }, - { false, FT_SHORT, "StartQuestID" }, { false, FT_SHORT, "PageID" }, { false, FT_SHORT, "ItemDelay" }, { false, FT_SHORT, "MinFactionID" }, @@ -3464,7 +3466,6 @@ struct ItemSparseLoadInfo { false, FT_BYTE, "SheatheType" }, { false, FT_BYTE, "Material" }, { false, FT_BYTE, "PageMaterialID" }, - { false, FT_BYTE, "LanguageID" }, { false, FT_BYTE, "Bonding" }, { false, FT_BYTE, "DamageDamageType" }, { true, FT_BYTE, "StatModifierBonusStat1" }, @@ -3729,6 +3730,9 @@ struct LanguagesLoadInfo { { false, FT_INT, "ID" }, { false, FT_STRING, "Name" }, + { true, FT_INT, "Flags" }, + { true, FT_INT, "UiTextureKitID" }, + { true, FT_INT, "UiTextureKitElementCount" }, }; static DB2LoadInfo const loadInfo(&fields[0], std::extent<decltype(fields)>::value, LanguagesMeta::Instance(), HOTFIX_SEL_LANGUAGES); return &loadInfo; @@ -6089,7 +6093,7 @@ struct TaxiNodesLoadInfo { false, FT_SHORT, "ContinentID" }, { true, FT_INT, "ConditionID" }, { false, FT_SHORT, "CharacterBitNumber" }, - { false, FT_BYTE, "Flags" }, + { false, FT_SHORT, "Flags" }, { true, FT_INT, "UiTextureKitID" }, { true, FT_INT, "MinimapAtlasMemberID" }, { false, FT_FLOAT, "Facing" }, diff --git a/src/server/game/DataStores/DB2Metadata.h b/src/server/game/DataStores/DB2Metadata.h index c55b9b4ffe3..5da0bf807b3 100644 --- a/src/server/game/DataStores/DB2Metadata.h +++ b/src/server/game/DataStores/DB2Metadata.h @@ -646,6 +646,22 @@ struct AreaTriggerCylinderMeta } }; +struct AreaTriggerDiskMeta +{ + static DB2Meta const* Instance() + { + static DB2MetaField const fields[4] = + { + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + }; + static DB2Meta instance(4223661, -1, 4, 4, 0x479EA96E, fields, -1); + return &instance; + } +}; + struct AreaTriggerSphereMeta { static DB2Meta const* Instance() @@ -1551,7 +1567,7 @@ struct BroadcastTextMeta { static DB2Meta const* Instance() { - static DB2MetaField const fields[11] = + static DB2MetaField const fields[12] = { { FT_STRING, 1, true }, { FT_STRING, 1, true }, @@ -1561,11 +1577,12 @@ struct BroadcastTextMeta { FT_SHORT, 1, false }, { FT_BYTE, 1, false }, { FT_INT, 1, false }, + { FT_INT, 1, true }, { FT_INT, 2, false }, { FT_SHORT, 3, false }, { FT_SHORT, 3, false }, }; - static DB2Meta instance(841604, 2, 11, 11, 0x47DAC81A, fields, -1); + static DB2Meta instance(841604, 2, 12, 12, 0x73D5C87B, fields, -1); return &instance; } }; @@ -1653,7 +1670,7 @@ struct CampaignMeta { static DB2Meta const* Instance() { - static DB2MetaField const fields[11] = + static DB2MetaField const fields[12] = { { FT_STRING, 1, true }, { FT_STRING_NOT_LOCALIZED, 1, true }, @@ -1666,8 +1683,9 @@ struct CampaignMeta { FT_INT, 1, true }, { FT_INT, 1, true }, { FT_INT, 1, false }, + { FT_INT, 1, true }, }; - static DB2Meta instance(2031607, -1, 11, 11, 0x07E99A2F, fields, -1); + static DB2Meta instance(2031607, -1, 12, 12, 0xBB53EA83, fields, -1); return &instance; } }; @@ -2743,6 +2761,21 @@ struct ChrRacesMeta } }; +struct ChrSelectBackgroundCDIMeta +{ + static DB2Meta const* Instance() + { + static DB2MetaField const fields[3] = + { + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + static DB2Meta instance(4195187, -1, 3, 3, 0x0D2649CC, fields, -1); + return &instance; + } +}; + struct ChrSpecializationMeta { static DB2Meta const* Instance() @@ -3441,10 +3474,10 @@ struct CreatureImmunitiesMeta { FT_BYTE, 1, false }, { FT_BYTE, 1, false }, { FT_INT, 2, true }, - { FT_INT, 9, false }, + { FT_INT, 10, false }, { FT_INT, 16, false }, }; - static DB2Meta instance(1131322, -1, 9, 9, 0xC4800010, fields, -1); + static DB2Meta instance(1131322, -1, 9, 9, 0x70F0D55D, fields, -1); return &instance; } }; @@ -3933,11 +3966,14 @@ struct DisplaySeasonMeta { static DB2Meta const* Instance() { - static DB2MetaField const fields[1] = + static DB2MetaField const fields[4] = { + { FT_STRING, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, { FT_INT, 1, true }, }; - static DB2Meta instance(4279827, -1, 1, 1, 0xCAAEA413, fields, -1); + static DB2Meta instance(4279827, -1, 4, 4, 0x103D11A4, fields, -1); return &instance; } }; @@ -5415,14 +5451,14 @@ struct GarrTalentMeta { FT_INT, 1, true }, { FT_INT, 1, false }, { FT_INT, 1, false }, - { FT_BYTE, 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 DB2Meta instance(1361032, 2, 15, 15, 0xE4B665DF, fields, 3); + static DB2Meta instance(1361032, 2, 15, 15, 0xC0080EC7, fields, 3); return &instance; } }; @@ -5466,8 +5502,9 @@ struct GarrTalentRankMeta { static DB2Meta const* Instance() { - static DB2MetaField const fields[17] = + static DB2MetaField const fields[18] = { + { FT_INT, 1, false }, { FT_INT, 1, true }, { FT_INT, 1, true }, { FT_INT, 1, true }, @@ -5486,7 +5523,37 @@ struct GarrTalentRankMeta { FT_INT, 1, true }, { FT_INT, 1, true }, }; - static DB2Meta instance(3069763, -1, 17, 16, 0x97D67140, fields, 16); + static DB2Meta instance(3069763, 0, 18, 17, 0x77242AAD, fields, 17); + return &instance; + } +}; + +struct GarrTalentRankGroupEntryMeta +{ + static DB2Meta const* Instance() + { + static DB2MetaField const fields[2] = + { + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + static DB2Meta instance(4382239, -1, 2, 1, 0xC1D26838, fields, 1); + return &instance; + } +}; + +struct GarrTalentRankGroupResearchModMeta +{ + static DB2Meta const* Instance() + { + static DB2MetaField const fields[4] = + { + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_INT, 1, true }, + }; + static DB2Meta instance(4389481, -1, 4, 3, 0xF988F65E, fields, 3); return &instance; } }; @@ -5544,7 +5611,7 @@ struct GarrTalentTreeMeta { FT_BYTE, 1, false }, { FT_INT, 1, true }, }; - static DB2Meta instance(1361030, -1, 12, 12, 0x5BC6917D, fields, -1); + static DB2Meta instance(1361030, -1, 12, 12, 0x2B0B1C6E, fields, -1); return &instance; } }; @@ -5659,12 +5726,13 @@ struct GlobalPlayerConditionMeta { static DB2Meta const* Instance() { - static DB2MetaField const fields[2] = + static DB2MetaField const fields[3] = { { FT_INT, 1, true }, { FT_INT, 1, true }, + { FT_INT, 1, true }, }; - static DB2Meta instance(4082838, -1, 2, 1, 0x8DFACE83, fields, 1); + static DB2Meta instance(4082838, -1, 3, 2, 0x7D5C8DF9, fields, 2); return &instance; } }; @@ -5755,17 +5823,32 @@ struct GlyphRequiredSpecMeta } }; +struct GossipXGarrTalentTreesMeta +{ + static DB2Meta const* Instance() + { + static DB2MetaField const fields[2] = + { + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + static DB2Meta instance(4407361, -1, 2, 1, 0x04F15B82, fields, 1); + return &instance; + } +}; + struct GossipXUIDisplayInfoMeta { static DB2Meta const* Instance() { - static DB2MetaField const fields[3] = + static DB2MetaField const fields[4] = { { FT_STRING, 1, true }, + { FT_STRING, 1, true }, { FT_INT, 1, true }, { FT_INT, 1, true }, }; - static DB2Meta instance(3622253, -1, 3, 3, 0x78F4B261, fields, -1); + static DB2Meta instance(3622253, -1, 4, 4, 0x9FB6E0E4, fields, -1); return &instance; } }; @@ -6402,11 +6485,12 @@ struct ItemBonusListMeta { static DB2Meta const* Instance() { - static DB2MetaField const fields[1] = + static DB2MetaField const fields[2] = { + { FT_INT, 1, false }, { FT_INT, 1, true }, }; - static DB2Meta instance(1805807, -1, 1, 1, 0xD7673266, fields, -1); + static DB2Meta instance(1805807, 0, 2, 2, 0xF62F7FDF, fields, -1); return &instance; } }; @@ -6500,6 +6584,20 @@ struct ItemBonusTreeMeta } }; +struct ItemBonusTreeGroupEntryMeta +{ + static DB2Meta const* Instance() + { + static DB2MetaField const fields[2] = + { + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + static DB2Meta instance(4407505, -1, 2, 1, 0xD18146A8, fields, 1); + return &instance; + } +}; + struct ItemBonusTreeNodeMeta { static DB2Meta const* Instance() @@ -6568,6 +6666,34 @@ struct ItemContextPickerEntryMeta } }; +struct ItemConversionMeta +{ + static DB2Meta const* Instance() + { + static DB2MetaField const fields[2] = + { + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + static DB2Meta instance(4337196, -1, 2, 2, 0x7A09B221, fields, -1); + return &instance; + } +}; + +struct ItemConversionEntryMeta +{ + static DB2Meta const* Instance() + { + static DB2MetaField const fields[2] = + { + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + static DB2Meta instance(4337197, -1, 2, 1, 0xFC502944, fields, 1); + return &instance; + } +}; + struct ItemCurrencyCostMeta { static DB2Meta const* Instance() @@ -7069,6 +7195,8 @@ struct ItemSparseMeta { FT_INT, 1, false }, { FT_FLOAT, 1, true }, { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, { FT_FLOAT, 1, true }, { FT_FLOAT, 10, true }, { FT_INT, 10, true }, @@ -7101,7 +7229,6 @@ struct ItemSparseMeta { FT_SHORT, 1, false }, { FT_SHORT, 1, false }, { FT_SHORT, 1, false }, - { FT_SHORT, 1, false }, { FT_SHORT, 1, true }, { FT_BYTE, 1, false }, { FT_BYTE, 1, false }, @@ -7112,7 +7239,6 @@ struct ItemSparseMeta { FT_BYTE, 1, false }, { FT_BYTE, 1, false }, { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, { FT_BYTE, 10, true }, { FT_BYTE, 1, false }, { FT_BYTE, 1, false }, @@ -7122,7 +7248,7 @@ struct ItemSparseMeta { FT_BYTE, 1, true }, { FT_BYTE, 1, true }, }; - static DB2Meta instance(1572924, -1, 64, 64, 0x59721DCE, fields, -1); + static DB2Meta instance(1572924, -1, 64, 64, 0x7C2B6E28, fields, -1); return &instance; } }; @@ -7589,11 +7715,14 @@ struct LanguagesMeta { static DB2Meta const* Instance() { - static DB2MetaField const fields[1] = + static DB2MetaField const fields[4] = { { FT_STRING, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, }; - static DB2Meta instance(1135325, -1, 1, 1, 0x1AC95960, fields, -1); + static DB2Meta instance(1135325, -1, 4, 4, 0xBE3D3DBB, fields, -1); return &instance; } }; @@ -8441,12 +8570,13 @@ struct ModifiedCraftingCategoryMeta { static DB2Meta const* Instance() { - static DB2MetaField const fields[2] = + static DB2MetaField const fields[3] = { { FT_STRING, 1, true }, + { FT_STRING, 1, true }, { FT_INT, 1, true }, }; - static DB2Meta instance(3386486, -1, 2, 2, 0xEC698BBC, fields, -1); + static DB2Meta instance(3386486, -1, 3, 3, 0x3A37D76E, fields, -1); return &instance; } }; @@ -9575,16 +9705,17 @@ struct PvpBrawlMeta { static DB2Meta const* Instance() { - static DB2MetaField const fields[6] = + static DB2MetaField const fields[7] = { { 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 }, }; - static DB2Meta instance(1585723, -1, 6, 6, 0x965B1EFF, fields, -1); + static DB2Meta instance(1585723, 3, 7, 7, 0x3BCC77F0, fields, -1); return &instance; } }; @@ -9621,11 +9752,13 @@ struct PvpSeasonMeta { static DB2Meta const* Instance() { - static DB2MetaField const fields[1] = + static DB2MetaField const fields[3] = { { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, }; - static DB2Meta instance(2966426, -1, 1, 1, 0x757F145A, fields, -1); + static DB2Meta instance(2966426, -1, 3, 3, 0x30D9FEFF, fields, -1); return &instance; } }; @@ -10517,7 +10650,7 @@ struct ScheduledIntervalMeta { FT_INT, 1, true }, { FT_INT, 1, true }, }; - static DB2Meta instance(1327082, -1, 5, 5, 0x51E48A73, fields, -1); + static DB2Meta instance(1327082, -1, 5, 5, 0x1FED7D54, fields, -1); return &instance; } }; @@ -12810,7 +12943,7 @@ struct TaxiNodesMeta { FT_SHORT, 1, false }, { FT_INT, 1, true }, { FT_SHORT, 1, false }, - { FT_BYTE, 1, false }, + { FT_SHORT, 1, false }, { FT_INT, 1, true }, { FT_INT, 1, true }, { FT_FLOAT, 1, true }, @@ -12818,7 +12951,7 @@ struct TaxiNodesMeta { FT_INT, 1, false }, { FT_INT, 2, true }, }; - static DB2Meta instance(1068100, 4, 15, 15, 0x3AFF48F9, fields, 5); + static DB2Meta instance(1068100, 4, 15, 15, 0x32DF03E3, fields, 5); return &instance; } }; @@ -14381,6 +14514,21 @@ struct VocalUISoundsMeta } }; +struct VoiceOverPriorityMeta +{ + static DB2Meta const* Instance() + { + static DB2MetaField const fields[3] = + { + { FT_STRING_NOT_LOCALIZED, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + static DB2Meta instance(4211372, -1, 3, 3, 0x9AA1B7D0, fields, -1); + return &instance; + } +}; + struct VolumeFogConditionMeta { static DB2Meta const* Instance() @@ -14538,22 +14686,6 @@ struct WbAccessControlListMeta } }; -struct WbCertWhitelistMeta -{ - static DB2Meta const* Instance() - { - static DB2MetaField const fields[4] = - { - { FT_STRING_NOT_LOCALIZED, 1, true }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, - }; - static DB2Meta instance(879591, -1, 4, 4, 0x543DDD18, fields, -1); - return &instance; - } -}; - struct WeaponImpactSoundsMeta { static DB2Meta const* Instance() diff --git a/src/server/game/DataStores/DB2Structure.h b/src/server/game/DataStores/DB2Structure.h index 500cbd48dbd..86fc2192d0f 100644 --- a/src/server/game/DataStores/DB2Structure.h +++ b/src/server/game/DataStores/DB2Structure.h @@ -527,6 +527,7 @@ struct BroadcastTextEntry uint16 EmotesID; uint8 Flags; uint32 ChatBubbleDurationMs; + int32 VoiceOverPriorityID; std::array<uint32, 2> SoundKitID; std::array<uint16, MAX_BROADCAST_TEXT_EMOTES> EmoteID; std::array<uint16, MAX_BROADCAST_TEXT_EMOTES> EmoteDelay; @@ -2215,6 +2216,8 @@ struct ItemSparseEntry uint32 DurationInInventory; float QualityModifier; uint32 BagFamily; + int32 StartQuestID; + int32 LanguageID; float ItemRange; std::array<float, MAX_ITEM_PROTO_STATS> StatPercentageOfSocket; std::array<int32, MAX_ITEM_PROTO_STATS> StatPercentEditor; @@ -2241,7 +2244,6 @@ struct ItemSparseEntry std::array<uint16, MAX_ITEM_PROTO_ZONES> ZoneBound; uint16 ItemSet; uint16 LockID; - uint16 StartQuestID; uint16 PageID; uint16 ItemDelay; uint16 MinFactionID; @@ -2256,7 +2258,6 @@ struct ItemSparseEntry uint8 SheatheType; uint8 Material; uint8 PageMaterialID; - uint8 LanguageID; uint8 Bonding; uint8 DamageDamageType; std::array<int8, MAX_ITEM_PROTO_STATS> StatModifierBonusStat; @@ -2386,6 +2387,9 @@ struct LanguagesEntry { uint32 ID; LocalizedString Name; + int32 Flags; + int32 UiTextureKitID; + int32 UiTextureKitElementCount; }; struct LFGDungeonsEntry @@ -3694,7 +3698,7 @@ struct TaxiNodesEntry uint16 ContinentID; int32 ConditionID; uint16 CharacterBitNumber; - uint8 Flags; + uint16 Flags; int32 UiTextureKitID; int32 MinimapAtlasMemberID; float Facing; diff --git a/src/server/game/DataStores/DBCEnums.h b/src/server/game/DataStores/DBCEnums.h index 534fb9b0861..b4442ddea4b 100644 --- a/src/server/game/DataStores/DBCEnums.h +++ b/src/server/game/DataStores/DBCEnums.h @@ -191,7 +191,7 @@ enum AzeriteTierUnlockSetFlags AZERITE_TIER_UNLOCK_SET_FLAG_DEFAULT = 0x1 }; -#define BATTLE_PET_SPECIES_MAX_ID 3189 +#define BATTLE_PET_SPECIES_MAX_ID 3248 enum class BattlePetSpeciesFlags : uint16 { @@ -608,6 +608,7 @@ enum class CriteriaType : uint8 MythicPlusRatingAttained = 230, /*NYI*/ // (Player) Mythic+ Rating "{#DungeonScore}" attained SpentTalentPoint = 231, /*NYI*/ // (Player) spent talent point + MythicPlusDisplaySeasonEnded = 234, /*NYI*/ // {DisplaySeason} Count }; @@ -1366,6 +1367,10 @@ enum class ModifierTreeType : int32 PlayerBestWeeklyWinPvpTierInBracketEqualOrGreaterThan = 325, // (Mainline) Player has best weekly win at or above "{@PVP_TIER_ENUM}" for "{@PVP_BRACKET}" PlayerHasVanillaCollectorsEdition = 326, // Player has Vanilla Collector's Edition PlayerHasItemWithKeystoneLevelModifierEqualOrGreaterThan = 327, + + PlayerMythicPlusRatingInDisplaySeasonEqualOrGreaterThan = 329, /*NYI*/ // Player has Mythic+ Rating of at least "{#DungeonScore}" in {DisplaySeason} + + MythicPlusRatingIsInTop01Percent = 334, // top 0.1% rating }; enum class ModifierTreeOperator : int8 @@ -1552,7 +1557,7 @@ enum class SpellVisualEffectNameType : uint32 UnitItemRangedIgnoreDisarmed = 10 }; -#define TaxiMaskSize 339 +#define TaxiMaskSize 345 typedef std::array<uint8, TaxiMaskSize> TaxiMask; enum TotemCategoryType diff --git a/src/server/game/Miscellaneous/SharedDefines.h b/src/server/game/Miscellaneous/SharedDefines.h index 0b681d014a6..1203f119dfb 100644 --- a/src/server/game/Miscellaneous/SharedDefines.h +++ b/src/server/game/Miscellaneous/SharedDefines.h @@ -1420,6 +1420,8 @@ enum SpellEffectName SPELL_EFFECT_MODIFY_KEYSTONE_2 = 285, SPELL_EFFECT_GRANT_BATTLEPET_EXPERIENCE = 286, SPELL_EFFECT_SET_GARRISON_FOLLOWER_LEVEL = 287, + SPELL_EFFECT_288 = 288, + SPELL_EFFECT_289 = 289, TOTAL_SPELL_EFFECTS }; diff --git a/src/server/game/Spells/Auras/SpellAuraDefines.h b/src/server/game/Spells/Auras/SpellAuraDefines.h index 2ac9712156e..23d76d06cd0 100644 --- a/src/server/game/Spells/Auras/SpellAuraDefines.h +++ b/src/server/game/Spells/Auras/SpellAuraDefines.h @@ -597,6 +597,7 @@ enum AuraType : uint32 SPELL_AURA_MOD_VERSATILITY_HEALING_DONE_BENEFIT = 503, // NYI SPELL_AURA_MOD_HEALING_TAKEN_FROM_CASTER = 504, SPELL_AURA_MOD_PLAYER_CHOICE_REROLLS = 505, // NYI + SPELL_AURA_DISABLE_INERTIA = 506, // NYI TOTAL_AURAS }; diff --git a/src/server/game/Spells/Auras/SpellAuraEffects.cpp b/src/server/game/Spells/Auras/SpellAuraEffects.cpp index 636cb873cf8..d44979988f1 100644 --- a/src/server/game/Spells/Auras/SpellAuraEffects.cpp +++ b/src/server/game/Spells/Auras/SpellAuraEffects.cpp @@ -571,7 +571,8 @@ NonDefaultConstructible<pAuraEffectHandler> AuraEffectHandler[TOTAL_AURAS]= &AuraEffect::HandleNULL, //502 SPELL_AURA_MOD_VERSATILITY_DAMAGE_DONE_BENEFIT &AuraEffect::HandleNULL, //503 SPELL_AURA_MOD_VERSATILITY_HEALING_DONE_BENEFIT &AuraEffect::HandleNoImmediateEffect, //504 SPELL_AURA_MOD_HEALING_TAKEN_FROM_CASTER implemented in Unit::SpellHealingBonusTaken - &AuraEffect::HandleNULL, //503 SPELL_AURA_MOD_PLAYER_CHOICE_REROLLS + &AuraEffect::HandleNULL, //505 SPELL_AURA_MOD_PLAYER_CHOICE_REROLLS + &AuraEffect::HandleNULL, //506 SPELL_AURA_DISABLE_INERTIA }; AuraEffect::AuraEffect(Aura* base, SpellEffectInfo const& spellEfffectInfo, int32 const* baseAmount, Unit* caster) : diff --git a/src/server/game/Spells/SpellEffects.cpp b/src/server/game/Spells/SpellEffects.cpp index a95a807a01c..91b23ccd141 100644 --- a/src/server/game/Spells/SpellEffects.cpp +++ b/src/server/game/Spells/SpellEffects.cpp @@ -370,6 +370,8 @@ NonDefaultConstructible<SpellEffectHandlerFn> SpellEffectHandlers[TOTAL_SPELL_EF &Spell::EffectNULL, //285 SPELL_EFFECT_MODIFY_KEYSTONE_2 &Spell::EffectGrantBattlePetExperience, //286 SPELL_EFFECT_GRANT_BATTLEPET_EXPERIENCE &Spell::EffectNULL, //287 SPELL_EFFECT_SET_GARRISON_FOLLOWER_LEVEL + &Spell::EffectUnused, //288 SPELL_EFFECT_288 + &Spell::EffectNULL, //289 SPELL_EFFECT_289 }; void Spell::EffectNULL() diff --git a/src/server/game/Spells/SpellInfo.cpp b/src/server/game/Spells/SpellInfo.cpp index 17afab842cf..1ecc0575018 100644 --- a/src/server/game/Spells/SpellInfo.cpp +++ b/src/server/game/Spells/SpellInfo.cpp @@ -1092,8 +1092,10 @@ std::array<SpellEffectInfo::StaticData, TOTAL_SPELL_EFFECTS> SpellEffectInfo::_d {EFFECT_IMPLICIT_TARGET_EXPLICIT, TARGET_OBJECT_TYPE_UNIT}, // 283 SPELL_EFFECT_COMPLETE_CAMPAIGN {EFFECT_IMPLICIT_TARGET_EXPLICIT, TARGET_OBJECT_TYPE_UNIT}, // 284 SPELL_EFFECT_SEND_CHAT_MESSAGE {EFFECT_IMPLICIT_TARGET_EXPLICIT, TARGET_OBJECT_TYPE_UNIT}, // 285 SPELL_EFFECT_MODIFY_KEYSTONE_2 - {EFFECT_IMPLICIT_TARGET_EXPLICIT, TARGET_OBJECT_TYPE_UNIT}, // 284 SPELL_EFFECT_GRANT_BATTLEPET_EXPERIENCE - {EFFECT_IMPLICIT_TARGET_NONE, TARGET_OBJECT_TYPE_NONE}, // 285 SPELL_EFFECT_SET_GARRISON_FOLLOWER_LEVEL + {EFFECT_IMPLICIT_TARGET_EXPLICIT, TARGET_OBJECT_TYPE_UNIT}, // 286 SPELL_EFFECT_GRANT_BATTLEPET_EXPERIENCE + {EFFECT_IMPLICIT_TARGET_NONE, TARGET_OBJECT_TYPE_NONE}, // 287 SPELL_EFFECT_SET_GARRISON_FOLLOWER_LEVEL + {EFFECT_IMPLICIT_TARGET_NONE, TARGET_OBJECT_TYPE_NONE}, // 288 SPELL_EFFECT_288 + {EFFECT_IMPLICIT_TARGET_EXPLICIT, TARGET_OBJECT_TYPE_UNIT}, // 289 SPELL_EFFECT_289 } }; SpellInfo::SpellInfo(SpellNameEntry const* spellName, ::Difficulty difficulty, SpellInfoLoadHelper const& data) |