diff options
author | Shauren <shauren.trinity@gmail.com> | 2024-10-30 14:40:23 +0100 |
---|---|---|
committer | Shauren <shauren.trinity@gmail.com> | 2024-10-30 14:40:23 +0100 |
commit | b0352ef78ed93e18a869652e628345bc660f252b (patch) | |
tree | ff5070af73b6804a6d8963ef46ae9f8ea0432d5a /src | |
parent | f6c37f6791f1a28f5a077f251ec60a541cf0284f (diff) |
Core/DataStores: Updated db2 structures to 11.0.5
Diffstat (limited to 'src')
-rw-r--r-- | src/server/database/Database/Implementation/HotfixDatabase.cpp | 14 | ||||
-rw-r--r-- | src/server/game/DataStores/DB2LoadInfo.h | 23 | ||||
-rw-r--r-- | src/server/game/DataStores/DB2Metadata.h | 49 | ||||
-rw-r--r-- | src/server/game/DataStores/DB2Stores.cpp | 14 | ||||
-rw-r--r-- | src/server/game/DataStores/DB2Structure.h | 8 | ||||
-rw-r--r-- | src/server/game/Miscellaneous/SharedDefines.h | 37 | ||||
-rw-r--r-- | src/server/game/Miscellaneous/enuminfo_SharedDefines.cpp | 129 | ||||
-rw-r--r-- | src/server/game/Spells/SpellInfo.cpp | 1 | ||||
-rw-r--r-- | src/server/game/Spells/SpellInfo.h | 2 | ||||
-rw-r--r-- | src/tools/map_extractor/loadlib/DBFilesClientList.h | 1 |
10 files changed, 234 insertions, 44 deletions
diff --git a/src/server/database/Database/Implementation/HotfixDatabase.cpp b/src/server/database/Database/Implementation/HotfixDatabase.cpp index 30febfb2746..735d11d7574 100644 --- a/src/server/database/Database/Implementation/HotfixDatabase.cpp +++ b/src/server/database/Database/Implementation/HotfixDatabase.cpp @@ -293,7 +293,7 @@ void HotfixDatabaseConnection::DoPrepareStatements() " AND locale = ?", CONNECTION_SYNCH); // BroadcastTextDuration.db2 - PrepareStatement(HOTFIX_SEL_BROADCAST_TEXT_DURATION, "SELECT ID, BroadcastTextID, Locale, Duration FROM broadcast_text_duration" + PrepareStatement(HOTFIX_SEL_BROADCAST_TEXT_DURATION, "SELECT ID, Locale, Duration, BroadcastTextID FROM broadcast_text_duration" " WHERE (`VerifiedBuild` > 0) = ?", CONNECTION_SYNCH); PREPARE_MAX_ID_STMT(HOTFIX_SEL_BROADCAST_TEXT_DURATION, "SELECT MAX(ID) + 1 FROM broadcast_text_duration", CONNECTION_SYNCH); @@ -385,9 +385,9 @@ void HotfixDatabaseConnection::DoPrepareStatements() PREPARE_MAX_ID_STMT(HOTFIX_SEL_CHR_CUSTOMIZATION_ELEMENT, "SELECT MAX(ID) + 1 FROM chr_customization_element", CONNECTION_SYNCH); // ChrCustomizationOption.db2 - PrepareStatement(HOTFIX_SEL_CHR_CUSTOMIZATION_OPTION, "SELECT Name, ID, SecondaryID, Flags, ChrRacesID, Sex, ChrModelID, SortIndex, " - "ChrCustomizationCategoryID, OptionType, BarberShopCostModifier, ChrCustomizationID, ChrCustomizationReqID, UiOrderIndex, AddedInPatch" - " FROM chr_customization_option WHERE (`VerifiedBuild` > 0) = ?", CONNECTION_SYNCH); + PrepareStatement(HOTFIX_SEL_CHR_CUSTOMIZATION_OPTION, "SELECT Name, ID, SecondaryID, Flags, ChrModelID, SortIndex, ChrCustomizationCategoryID, " + "OptionType, BarberShopCostModifier, ChrCustomizationID, ChrCustomizationReqID, UiOrderIndex, AddedInPatch FROM chr_customization_option" + " WHERE (`VerifiedBuild` > 0) = ?", CONNECTION_SYNCH); PREPARE_MAX_ID_STMT(HOTFIX_SEL_CHR_CUSTOMIZATION_OPTION, "SELECT MAX(ID) + 1 FROM chr_customization_option", CONNECTION_SYNCH); PREPARE_LOCALE_STMT(HOTFIX_SEL_CHR_CUSTOMIZATION_OPTION, "SELECT ID, Name_lang FROM chr_customization_option_locale" " WHERE (`VerifiedBuild` > 0) = ? AND locale = ?", CONNECTION_SYNCH); @@ -568,7 +568,7 @@ void HotfixDatabaseConnection::DoPrepareStatements() // Difficulty.db2 PrepareStatement(HOTFIX_SEL_DIFFICULTY, "SELECT ID, Name, InstanceType, OrderIndex, OldEnumValue, FallbackDifficultyID, MinPlayers, MaxPlayers, " - "Flags, ItemContext, ToggleDifficultyID, GroupSizeHealthCurveID, GroupSizeDmgCurveID, GroupSizeSpellPointsCurveID FROM difficulty" + "Flags, ItemContext, ToggleDifficultyID, GroupSizeHealthCurveID, GroupSizeDmgCurveID, GroupSizeSpellPointsCurveID, Unknown1105 FROM difficulty" " WHERE (`VerifiedBuild` > 0) = ?", CONNECTION_SYNCH); PREPARE_MAX_ID_STMT(HOTFIX_SEL_DIFFICULTY, "SELECT MAX(ID) + 1 FROM difficulty", CONNECTION_SYNCH); PREPARE_LOCALE_STMT(HOTFIX_SEL_DIFFICULTY, "SELECT ID, Name_lang FROM difficulty_locale WHERE (`VerifiedBuild` > 0) = ? AND locale = ?", CONNECTION_SYNCH); @@ -1108,7 +1108,7 @@ void HotfixDatabaseConnection::DoPrepareStatements() PrepareStatement(HOTFIX_SEL_LFG_DUNGEONS, "SELECT ID, Name, Description, TypeID, Subtype, Faction, IconTextureFileID, RewardsBgTextureFileID, " "PopupBgTextureFileID, ExpansionLevel, MapID, DifficultyID, MinGear, GroupID, OrderIndex, RequiredPlayerConditionId, RandomID, ScenarioID, " "FinalEncounterID, CountTank, CountHealer, CountDamage, MinCountTank, MinCountHealer, MinCountDamage, BonusReputationAmount, MentorItemLevel, " - "MentorCharLevel, ContentTuningID, Flags1, Flags2 FROM lfg_dungeons WHERE (`VerifiedBuild` > 0) = ?", CONNECTION_SYNCH); + "MentorCharLevel, MaxPremadeGroupSize, ContentTuningID, Flags1, Flags2 FROM lfg_dungeons WHERE (`VerifiedBuild` > 0) = ?", CONNECTION_SYNCH); PREPARE_MAX_ID_STMT(HOTFIX_SEL_LFG_DUNGEONS, "SELECT MAX(ID) + 1 FROM lfg_dungeons", CONNECTION_SYNCH); PREPARE_LOCALE_STMT(HOTFIX_SEL_LFG_DUNGEONS, "SELECT ID, Name_lang, Description_lang FROM lfg_dungeons_locale WHERE (`VerifiedBuild` > 0) = ?" " AND locale = ?", CONNECTION_SYNCH); @@ -1605,7 +1605,7 @@ void HotfixDatabaseConnection::DoPrepareStatements() // SpellMisc.db2 PrepareStatement(HOTFIX_SEL_SPELL_MISC, "SELECT ID, Attributes1, Attributes2, Attributes3, Attributes4, Attributes5, Attributes6, Attributes7, " - "Attributes8, Attributes9, Attributes10, Attributes11, Attributes12, Attributes13, Attributes14, Attributes15, DifficultyID, " + "Attributes8, Attributes9, Attributes10, Attributes11, Attributes12, Attributes13, Attributes14, Attributes15, Attributes16, DifficultyID, " "CastingTimeIndex, DurationIndex, PvPDurationIndex, RangeIndex, SchoolMask, Speed, LaunchDelay, MinDuration, SpellIconFileDataID, " "ActiveIconFileDataID, ContentTuningID, ShowFutureSpellPlayerConditionID, SpellVisualScript, ActiveSpellVisualScript, SpellID FROM spell_misc" " WHERE (`VerifiedBuild` > 0) = ?", CONNECTION_SYNCH); diff --git a/src/server/game/DataStores/DB2LoadInfo.h b/src/server/game/DataStores/DB2LoadInfo.h index 02bb483aa5e..4fe9d5a6f51 100644 --- a/src/server/game/DataStores/DB2LoadInfo.h +++ b/src/server/game/DataStores/DB2LoadInfo.h @@ -792,9 +792,9 @@ struct BroadcastTextDurationLoadInfo static constexpr DB2FieldMeta Fields[4] = { { false, FT_INT, "ID" }, - { false, FT_INT, "BroadcastTextID" }, { true, FT_INT, "Locale" }, { true, FT_INT, "Duration" }, + { false, FT_INT, "BroadcastTextID" }, }; static constexpr DB2LoadInfo Instance{ Fields, 4, &BroadcastTextDurationMeta::Instance, HOTFIX_SEL_BROADCAST_TEXT_DURATION }; @@ -1048,14 +1048,12 @@ struct ChrCustomizationElementLoadInfo struct ChrCustomizationOptionLoadInfo { - static constexpr DB2FieldMeta Fields[15] = + static constexpr DB2FieldMeta Fields[13] = { { false, FT_STRING, "Name" }, { false, FT_INT, "ID" }, { false, FT_SHORT, "SecondaryID" }, { true, FT_INT, "Flags" }, - { true, FT_INT, "ChrRacesID" }, - { true, FT_INT, "Sex" }, { false, FT_INT, "ChrModelID" }, { true, FT_INT, "SortIndex" }, { true, FT_INT, "ChrCustomizationCategoryID" }, @@ -1067,7 +1065,7 @@ struct ChrCustomizationOptionLoadInfo { true, FT_INT, "AddedInPatch" }, }; - static constexpr DB2LoadInfo Instance{ Fields, 15, &ChrCustomizationOptionMeta::Instance, HOTFIX_SEL_CHR_CUSTOMIZATION_OPTION }; + static constexpr DB2LoadInfo Instance{ Fields, 13, &ChrCustomizationOptionMeta::Instance, HOTFIX_SEL_CHR_CUSTOMIZATION_OPTION }; }; struct ChrCustomizationReqLoadInfo @@ -1672,7 +1670,7 @@ struct DestructibleModelDataLoadInfo struct DifficultyLoadInfo { - static constexpr DB2FieldMeta Fields[14] = + static constexpr DB2FieldMeta Fields[15] = { { false, FT_INT, "ID" }, { false, FT_STRING, "Name" }, @@ -1688,9 +1686,10 @@ struct DifficultyLoadInfo { false, FT_INT, "GroupSizeHealthCurveID" }, { false, FT_INT, "GroupSizeDmgCurveID" }, { false, FT_INT, "GroupSizeSpellPointsCurveID" }, + { true, FT_INT, "Unknown1105" }, }; - static constexpr DB2LoadInfo Instance{ Fields, 14, &DifficultyMeta::Instance, HOTFIX_SEL_DIFFICULTY }; + static constexpr DB2LoadInfo Instance{ Fields, 15, &DifficultyMeta::Instance, HOTFIX_SEL_DIFFICULTY }; }; struct DungeonEncounterLoadInfo @@ -3526,7 +3525,7 @@ struct LanguagesLoadInfo struct LfgDungeonsLoadInfo { - static constexpr DB2FieldMeta Fields[31] = + static constexpr DB2FieldMeta Fields[32] = { { false, FT_INT, "ID" }, { false, FT_STRING, "Name" }, @@ -3556,12 +3555,13 @@ struct LfgDungeonsLoadInfo { false, FT_SHORT, "BonusReputationAmount" }, { false, FT_SHORT, "MentorItemLevel" }, { false, FT_BYTE, "MentorCharLevel" }, + { false, FT_BYTE, "MaxPremadeGroupSize" }, { true, FT_INT, "ContentTuningID" }, { true, FT_INT, "Flags1" }, { true, FT_INT, "Flags2" }, }; - static constexpr DB2LoadInfo Instance{ Fields, 31, &LFGDungeonsMeta::Instance, HOTFIX_SEL_LFG_DUNGEONS }; + static constexpr DB2LoadInfo Instance{ Fields, 32, &LFGDungeonsMeta::Instance, HOTFIX_SEL_LFG_DUNGEONS }; }; struct LightLoadInfo @@ -5294,7 +5294,7 @@ struct SpellLevelsLoadInfo struct SpellMiscLoadInfo { - static constexpr DB2FieldMeta Fields[32] = + static constexpr DB2FieldMeta Fields[33] = { { false, FT_INT, "ID" }, { true, FT_INT, "Attributes1" }, @@ -5312,6 +5312,7 @@ struct SpellMiscLoadInfo { true, FT_INT, "Attributes13" }, { true, FT_INT, "Attributes14" }, { true, FT_INT, "Attributes15" }, + { true, FT_INT, "Attributes16" }, { false, FT_BYTE, "DifficultyID" }, { false, FT_SHORT, "CastingTimeIndex" }, { false, FT_SHORT, "DurationIndex" }, @@ -5330,7 +5331,7 @@ struct SpellMiscLoadInfo { false, FT_INT, "SpellID" }, }; - static constexpr DB2LoadInfo Instance{ Fields, 32, &SpellMiscMeta::Instance, HOTFIX_SEL_SPELL_MISC }; + static constexpr DB2LoadInfo Instance{ Fields, 33, &SpellMiscMeta::Instance, HOTFIX_SEL_SPELL_MISC }; }; struct SpellNameLoadInfo diff --git a/src/server/game/DataStores/DB2Metadata.h b/src/server/game/DataStores/DB2Metadata.h index a512851c56f..b047b37deb5 100644 --- a/src/server/game/DataStores/DB2Metadata.h +++ b/src/server/game/DataStores/DB2Metadata.h @@ -1487,7 +1487,7 @@ struct BroadcastTextDurationMeta { FT_INT, 1, true }, }; - static constexpr DB2Meta Instance{ 2166900, -1, 3, 3, 0xE60CAC24, Fields, 0 }; + static constexpr DB2Meta Instance{ 2166900, -1, 3, 2, 0x9CBEE39C, Fields, 2 }; }; struct CameraEffectMeta @@ -2302,7 +2302,7 @@ struct ChrCustomizationMaterialMeta struct ChrCustomizationOptionMeta { - static constexpr DB2MetaField Fields[15] = + static constexpr DB2MetaField Fields[13] = { { FT_STRING, 1, true }, { FT_INT, 1, false }, @@ -2312,8 +2312,6 @@ struct ChrCustomizationOptionMeta { FT_INT, 1, true }, { FT_INT, 1, true }, { FT_INT, 1, true }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, { FT_FLOAT, 1, true }, { FT_INT, 1, true }, { FT_INT, 1, true }, @@ -2321,7 +2319,7 @@ struct ChrCustomizationOptionMeta { FT_INT, 1, true }, }; - static constexpr DB2Meta Instance{ 3384247, 1, 15, 15, 0x3F9B06FB, Fields, 6 }; + static constexpr DB2Meta Instance{ 3384247, 1, 13, 13, 0x1EB3451E, Fields, 4 }; }; struct ChrCustomizationReqMeta @@ -2983,7 +2981,7 @@ struct ContentPushMeta struct ContentRestrictionRuleMeta { - static constexpr DB2MetaField Fields[8] = + static constexpr DB2MetaField Fields[9] = { { FT_INT, 1, true }, { FT_INT, 1, true }, @@ -2993,9 +2991,10 @@ struct ContentRestrictionRuleMeta { FT_INT, 1, true }, { FT_INT, 1, true }, { FT_INT, 1, true }, + { FT_INT, 1, true }, }; - static constexpr DB2Meta Instance{ 4668112, -1, 8, 7, 0xB9C0B42E, Fields, 7 }; + static constexpr DB2Meta Instance{ 4668112, -1, 9, 8, 0xC10A8C25, Fields, 8 }; }; struct ContentRestrictionRuleSetMeta @@ -3999,7 +3998,7 @@ struct DeviceBlacklistMeta struct DifficultyMeta { - static constexpr DB2MetaField Fields[13] = + static constexpr DB2MetaField Fields[14] = { { FT_STRING, 1, true }, { FT_BYTE, 1, false }, @@ -4014,9 +4013,10 @@ struct DifficultyMeta { FT_INT, 1, false }, { FT_INT, 1, false }, { FT_INT, 1, false }, + { FT_INT, 1, true }, }; - static constexpr DB2Meta Instance{ 1352127, -1, 13, 13, 0xDDC70D8E, Fields, -1 }; + static constexpr DB2Meta Instance{ 1352127, -1, 14, 14, 0x017A4F91, Fields, -1 }; }; struct DisplaySeasonMeta @@ -7449,7 +7449,7 @@ struct LFGDungeonGroupMeta struct LFGDungeonsMeta { - static constexpr DB2MetaField Fields[29] = + static constexpr DB2MetaField Fields[30] = { { FT_STRING, 1, true }, { FT_STRING, 1, true }, @@ -7478,11 +7478,12 @@ struct LFGDungeonsMeta { FT_SHORT, 1, false }, { FT_SHORT, 1, false }, { FT_BYTE, 1, false }, + { FT_BYTE, 1, false }, { FT_INT, 1, true }, { FT_INT, 2, true }, }; - static constexpr DB2Meta Instance{ 1361033, -1, 29, 29, 0xBA9CE7CB, Fields, -1 }; + static constexpr DB2Meta Instance{ 1361033, -1, 30, 30, 0x9274FE74, Fields, -1 }; }; struct LFGRoleRequirementMeta @@ -10816,12 +10817,13 @@ struct ScreenEffectTypeMeta struct ScreenLocationMeta { - static constexpr DB2MetaField Fields[1] = + static constexpr DB2MetaField Fields[2] = { { FT_STRING_NOT_LOCALIZED, 1, true }, + { FT_BYTE, 1, false }, }; - static constexpr DB2Meta Instance{ 1279416, -1, 1, 1, 0x4E07A6EC, Fields, -1 }; + static constexpr DB2Meta Instance{ 1279416, -1, 2, 2, 0xB5DB4956, Fields, -1 }; }; struct SeamlessSiteMeta @@ -12114,7 +12116,7 @@ struct SpellMiscMeta { static constexpr DB2MetaField Fields[17] = { - { FT_INT, 15, true }, + { FT_INT, 16, true }, { FT_BYTE, 1, false }, { FT_SHORT, 1, false }, { FT_SHORT, 1, false }, @@ -12133,7 +12135,7 @@ struct SpellMiscMeta { FT_INT, 1, true }, }; - static constexpr DB2Meta Instance{ 1003144, -1, 17, 16, 0x4823459D, Fields, 16 }; + static constexpr DB2Meta Instance{ 1003144, -1, 17, 16, 0xB2E0F1E4, Fields, 16 }; }; struct SpellMissileMeta @@ -13566,6 +13568,23 @@ struct UIChromieTimeExpansionInfoMeta static constexpr DB2Meta Instance{ 3488582, -1, 13, 13, 0x3425F0FF, Fields, -1 }; }; +struct UICinematicIntroInfoMeta +{ + static constexpr DB2MetaField Fields[8] = + { + { FT_STRING, 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{ 6155772, -1, 8, 8, 0x44820FD5, Fields, -1 }; +}; + struct UICovenantAbilityMeta { static constexpr DB2MetaField Fields[4] = diff --git a/src/server/game/DataStores/DB2Stores.cpp b/src/server/game/DataStores/DB2Stores.cpp index c3ae95f2bed..d149ba0fce4 100644 --- a/src/server/game/DataStores/DB2Stores.cpp +++ b/src/server/game/DataStores/DB2Stores.cpp @@ -1013,14 +1013,14 @@ uint32 DB2Manager::LoadStores(std::string const& dataPath, LocaleConstant defaul } // Check loaded DB2 files proper version - if (!sAreaTableStore.LookupEntry(15786) || // last area added in 11.0.2 (56647) - !sCharTitlesStore.LookupEntry(854) || // last char title added in 11.0.2 (56647) + if (!sAreaTableStore.LookupEntry(15913) || // last area added in 11.0.5 (57171) + !sCharTitlesStore.LookupEntry(871) || // last char title added in 11.0.5 (57171) !sFlightCapabilityStore.LookupEntry(1) || // default flight capability (required) - !sGemPropertiesStore.LookupEntry(4251) || // last gem property added in 11.0.2 (56647) - !sItemStore.LookupEntry(232498) || // last item added in 11.0.2 (56647) - !sItemExtendedCostStore.LookupEntry(9369) || // last item extended cost added in 11.0.2 (56647) - !sMapStore.LookupEntry(2786) || // last map added in 11.0.2 (56647) - !sSpellNameStore.LookupEntry(471174)) // last spell added in 11.0.2 (56647) + !sGemPropertiesStore.LookupEntry(4251) || // last gem property added in 11.0.5 (57171) + !sItemStore.LookupEntry(233014) || // last item added in 11.0.5 (57171) + !sItemExtendedCostStore.LookupEntry(9647) || // last item extended cost added in 11.0.5 (57171) + !sMapStore.LookupEntry(2792) || // last map added in 11.0.5 (57171) + !sSpellNameStore.LookupEntry(474722)) // last spell added in 11.0.5 (57171) { TC_LOG_FATAL("misc", "You have _outdated_ DB2 files. Please extract correct versions from current using client."); return 0; diff --git a/src/server/game/DataStores/DB2Structure.h b/src/server/game/DataStores/DB2Structure.h index c06178d58a0..1e3b3d6e277 100644 --- a/src/server/game/DataStores/DB2Structure.h +++ b/src/server/game/DataStores/DB2Structure.h @@ -556,9 +556,9 @@ struct BroadcastTextEntry struct BroadcastTextDurationEntry { uint32 ID; - uint32 BroadcastTextID; int32 Locale; int32 Duration; + uint32 BroadcastTextID; }; struct Cfg_CategoriesEntry @@ -751,8 +751,6 @@ struct ChrCustomizationOptionEntry uint32 ID; uint16 SecondaryID; int32 Flags; - int32 ChrRacesID; - int32 Sex; uint32 ChrModelID; int32 SortIndex; int32 ChrCustomizationCategoryID; @@ -1504,6 +1502,7 @@ struct DifficultyEntry uint32 GroupSizeHealthCurveID; uint32 GroupSizeDmgCurveID; uint32 GroupSizeSpellPointsCurveID; + int32 Unknown1105; }; struct DungeonEncounterEntry @@ -2690,6 +2689,7 @@ struct LFGDungeonsEntry uint16 BonusReputationAmount; uint16 MentorItemLevel; uint8 MentorCharLevel; + uint8 MaxPremadeGroupSize; int32 ContentTuningID; std::array<int32, 2> Flags; @@ -3833,7 +3833,7 @@ struct SpellLevelsEntry struct SpellMiscEntry { uint32 ID; - std::array<int32, 15> Attributes; + std::array<int32, 16> Attributes; uint8 DifficultyID; uint16 CastingTimeIndex; uint16 DurationIndex; diff --git a/src/server/game/Miscellaneous/SharedDefines.h b/src/server/game/Miscellaneous/SharedDefines.h index 0e29df80e57..3809d2962fe 100644 --- a/src/server/game/Miscellaneous/SharedDefines.h +++ b/src/server/game/Miscellaneous/SharedDefines.h @@ -981,6 +981,43 @@ enum SpellAttr14 : uint32 SPELL_ATTR14_UNK31 = 0x80000000 // TITLE Unknown attribute 31@Attr14 }; +// EnumUtils: DESCRIBE THIS +enum SpellAttr15 : uint32 +{ + SPELL_ATTR15_UNK0 = 0x00000001, // TITLE Unknown attribute 0@Attr15 + SPELL_ATTR15_UNK1 = 0x00000002, // TITLE Unknown attribute 1@Attr15 + SPELL_ATTR15_UNK2 = 0x00000004, // TITLE Unknown attribute 2@Attr15 + SPELL_ATTR15_UNK3 = 0x00000008, // TITLE Unknown attribute 3@Attr15 + SPELL_ATTR15_UNK4 = 0x00000010, // TITLE Unknown attribute 4@Attr15 + SPELL_ATTR15_UNK5 = 0x00000020, // TITLE Unknown attribute 5@Attr15 + SPELL_ATTR15_UNK6 = 0x00000040, // TITLE Unknown attribute 6@Attr15 + SPELL_ATTR15_UNK7 = 0x00000080, // TITLE Unknown attribute 7@Attr15 + SPELL_ATTR15_UNK8 = 0x00000100, // TITLE Unknown attribute 8@Attr15 + SPELL_ATTR15_UNK9 = 0x00000200, // TITLE Unknown attribute 9@Attr15 + SPELL_ATTR15_UNK10 = 0x00000400, // TITLE Unknown attribute 10@Attr15 + SPELL_ATTR15_UNK11 = 0x00000800, // TITLE Unknown attribute 11@Attr15 + SPELL_ATTR15_UNK12 = 0x00001000, // TITLE Unknown attribute 12@Attr15 + SPELL_ATTR15_UNK13 = 0x00002000, // TITLE Unknown attribute 13@Attr15 + SPELL_ATTR15_UNK14 = 0x00004000, // TITLE Unknown attribute 14@Attr15 + SPELL_ATTR15_UNK15 = 0x00008000, // TITLE Unknown attribute 15@Attr15 + SPELL_ATTR15_UNK16 = 0x00010000, // TITLE Unknown attribute 16@Attr15 + SPELL_ATTR15_UNK17 = 0x00020000, // TITLE Unknown attribute 17@Attr15 + SPELL_ATTR15_UNK18 = 0x00040000, // TITLE Unknown attribute 18@Attr15 + SPELL_ATTR15_UNK19 = 0x00080000, // TITLE Unknown attribute 19@Attr15 + SPELL_ATTR15_UNK20 = 0x00100000, // TITLE Unknown attribute 20@Attr15 + SPELL_ATTR15_UNK21 = 0x00200000, // TITLE Unknown attribute 21@Attr15 + SPELL_ATTR15_UNK22 = 0x00400000, // TITLE Unknown attribute 22@Attr15 + SPELL_ATTR15_UNK23 = 0x00800000, // TITLE Unknown attribute 23@Attr15 + SPELL_ATTR15_UNK24 = 0x01000000, // TITLE Unknown attribute 24@Attr15 + SPELL_ATTR15_UNK25 = 0x02000000, // TITLE Unknown attribute 25@Attr15 + SPELL_ATTR15_UNK26 = 0x04000000, // TITLE Unknown attribute 26@Attr15 + SPELL_ATTR15_UNK27 = 0x08000000, // TITLE Unknown attribute 27@Attr15 + SPELL_ATTR15_UNK28 = 0x10000000, // TITLE Unknown attribute 28@Attr15 + SPELL_ATTR15_UNK29 = 0x20000000, // TITLE Unknown attribute 29@Attr15 + SPELL_ATTR15_UNK30 = 0x40000000, // TITLE Unknown attribute 30@Attr15 + SPELL_ATTR15_UNK31 = 0x80000000 // TITLE Unknown attribute 31@Attr15 +}; + #define MIN_SPECIALIZATION_LEVEL 10 #define MAX_SPECIALIZATIONS 5 #define PET_SPEC_OVERRIDE_CLASS_INDEX MAX_CLASSES diff --git a/src/server/game/Miscellaneous/enuminfo_SharedDefines.cpp b/src/server/game/Miscellaneous/enuminfo_SharedDefines.cpp index 76dfd8d84ea..303f4505582 100644 --- a/src/server/game/Miscellaneous/enuminfo_SharedDefines.cpp +++ b/src/server/game/Miscellaneous/enuminfo_SharedDefines.cpp @@ -2201,6 +2201,135 @@ TC_API_EXPORT size_t EnumUtils<SpellAttr14>::ToIndex(SpellAttr14 value) } } +/*******************************************************************\ +|* data for enum 'SpellAttr15' in 'SharedDefines.h' auto-generated *| +\*******************************************************************/ +template <> +TC_API_EXPORT EnumText EnumUtils<SpellAttr15>::ToString(SpellAttr15 value) +{ + switch (value) + { + case SPELL_ATTR15_UNK0: return { "SPELL_ATTR15_UNK0", "Unknown attribute 0@Attr15", "" }; + case SPELL_ATTR15_UNK1: return { "SPELL_ATTR15_UNK1", "Unknown attribute 1@Attr15", "" }; + case SPELL_ATTR15_UNK2: return { "SPELL_ATTR15_UNK2", "Unknown attribute 2@Attr15", "" }; + case SPELL_ATTR15_UNK3: return { "SPELL_ATTR15_UNK3", "Unknown attribute 3@Attr15", "" }; + case SPELL_ATTR15_UNK4: return { "SPELL_ATTR15_UNK4", "Unknown attribute 4@Attr15", "" }; + case SPELL_ATTR15_UNK5: return { "SPELL_ATTR15_UNK5", "Unknown attribute 5@Attr15", "" }; + case SPELL_ATTR15_UNK6: return { "SPELL_ATTR15_UNK6", "Unknown attribute 6@Attr15", "" }; + case SPELL_ATTR15_UNK7: return { "SPELL_ATTR15_UNK7", "Unknown attribute 7@Attr15", "" }; + case SPELL_ATTR15_UNK8: return { "SPELL_ATTR15_UNK8", "Unknown attribute 8@Attr15", "" }; + case SPELL_ATTR15_UNK9: return { "SPELL_ATTR15_UNK9", "Unknown attribute 9@Attr15", "" }; + case SPELL_ATTR15_UNK10: return { "SPELL_ATTR15_UNK10", "Unknown attribute 10@Attr15", "" }; + case SPELL_ATTR15_UNK11: return { "SPELL_ATTR15_UNK11", "Unknown attribute 11@Attr15", "" }; + case SPELL_ATTR15_UNK12: return { "SPELL_ATTR15_UNK12", "Unknown attribute 12@Attr15", "" }; + case SPELL_ATTR15_UNK13: return { "SPELL_ATTR15_UNK13", "Unknown attribute 13@Attr15", "" }; + case SPELL_ATTR15_UNK14: return { "SPELL_ATTR15_UNK14", "Unknown attribute 14@Attr15", "" }; + case SPELL_ATTR15_UNK15: return { "SPELL_ATTR15_UNK15", "Unknown attribute 15@Attr15", "" }; + case SPELL_ATTR15_UNK16: return { "SPELL_ATTR15_UNK16", "Unknown attribute 16@Attr15", "" }; + case SPELL_ATTR15_UNK17: return { "SPELL_ATTR15_UNK17", "Unknown attribute 17@Attr15", "" }; + case SPELL_ATTR15_UNK18: return { "SPELL_ATTR15_UNK18", "Unknown attribute 18@Attr15", "" }; + case SPELL_ATTR15_UNK19: return { "SPELL_ATTR15_UNK19", "Unknown attribute 19@Attr15", "" }; + case SPELL_ATTR15_UNK20: return { "SPELL_ATTR15_UNK20", "Unknown attribute 20@Attr15", "" }; + case SPELL_ATTR15_UNK21: return { "SPELL_ATTR15_UNK21", "Unknown attribute 21@Attr15", "" }; + case SPELL_ATTR15_UNK22: return { "SPELL_ATTR15_UNK22", "Unknown attribute 22@Attr15", "" }; + case SPELL_ATTR15_UNK23: return { "SPELL_ATTR15_UNK23", "Unknown attribute 23@Attr15", "" }; + case SPELL_ATTR15_UNK24: return { "SPELL_ATTR15_UNK24", "Unknown attribute 24@Attr15", "" }; + case SPELL_ATTR15_UNK25: return { "SPELL_ATTR15_UNK25", "Unknown attribute 25@Attr15", "" }; + case SPELL_ATTR15_UNK26: return { "SPELL_ATTR15_UNK26", "Unknown attribute 26@Attr15", "" }; + case SPELL_ATTR15_UNK27: return { "SPELL_ATTR15_UNK27", "Unknown attribute 27@Attr15", "" }; + case SPELL_ATTR15_UNK28: return { "SPELL_ATTR15_UNK28", "Unknown attribute 28@Attr15", "" }; + case SPELL_ATTR15_UNK29: return { "SPELL_ATTR15_UNK29", "Unknown attribute 29@Attr15", "" }; + case SPELL_ATTR15_UNK30: return { "SPELL_ATTR15_UNK30", "Unknown attribute 30@Attr15", "" }; + case SPELL_ATTR15_UNK31: return { "SPELL_ATTR15_UNK31", "Unknown attribute 31@Attr15", "" }; + default: throw std::out_of_range("value"); + } +} + +template <> +TC_API_EXPORT size_t EnumUtils<SpellAttr15>::Count() { return 32; } + +template <> +TC_API_EXPORT SpellAttr15 EnumUtils<SpellAttr15>::FromIndex(size_t index) +{ + switch (index) + { + case 0: return SPELL_ATTR15_UNK0; + case 1: return SPELL_ATTR15_UNK1; + case 2: return SPELL_ATTR15_UNK2; + case 3: return SPELL_ATTR15_UNK3; + case 4: return SPELL_ATTR15_UNK4; + case 5: return SPELL_ATTR15_UNK5; + case 6: return SPELL_ATTR15_UNK6; + case 7: return SPELL_ATTR15_UNK7; + case 8: return SPELL_ATTR15_UNK8; + case 9: return SPELL_ATTR15_UNK9; + case 10: return SPELL_ATTR15_UNK10; + case 11: return SPELL_ATTR15_UNK11; + case 12: return SPELL_ATTR15_UNK12; + case 13: return SPELL_ATTR15_UNK13; + case 14: return SPELL_ATTR15_UNK14; + case 15: return SPELL_ATTR15_UNK15; + case 16: return SPELL_ATTR15_UNK16; + case 17: return SPELL_ATTR15_UNK17; + case 18: return SPELL_ATTR15_UNK18; + case 19: return SPELL_ATTR15_UNK19; + case 20: return SPELL_ATTR15_UNK20; + case 21: return SPELL_ATTR15_UNK21; + case 22: return SPELL_ATTR15_UNK22; + case 23: return SPELL_ATTR15_UNK23; + case 24: return SPELL_ATTR15_UNK24; + case 25: return SPELL_ATTR15_UNK25; + case 26: return SPELL_ATTR15_UNK26; + case 27: return SPELL_ATTR15_UNK27; + case 28: return SPELL_ATTR15_UNK28; + case 29: return SPELL_ATTR15_UNK29; + case 30: return SPELL_ATTR15_UNK30; + case 31: return SPELL_ATTR15_UNK31; + default: throw std::out_of_range("index"); + } +} + +template <> +TC_API_EXPORT size_t EnumUtils<SpellAttr15>::ToIndex(SpellAttr15 value) +{ + switch (value) + { + case SPELL_ATTR15_UNK0: return 0; + case SPELL_ATTR15_UNK1: return 1; + case SPELL_ATTR15_UNK2: return 2; + case SPELL_ATTR15_UNK3: return 3; + case SPELL_ATTR15_UNK4: return 4; + case SPELL_ATTR15_UNK5: return 5; + case SPELL_ATTR15_UNK6: return 6; + case SPELL_ATTR15_UNK7: return 7; + case SPELL_ATTR15_UNK8: return 8; + case SPELL_ATTR15_UNK9: return 9; + case SPELL_ATTR15_UNK10: return 10; + case SPELL_ATTR15_UNK11: return 11; + case SPELL_ATTR15_UNK12: return 12; + case SPELL_ATTR15_UNK13: return 13; + case SPELL_ATTR15_UNK14: return 14; + case SPELL_ATTR15_UNK15: return 15; + case SPELL_ATTR15_UNK16: return 16; + case SPELL_ATTR15_UNK17: return 17; + case SPELL_ATTR15_UNK18: return 18; + case SPELL_ATTR15_UNK19: return 19; + case SPELL_ATTR15_UNK20: return 20; + case SPELL_ATTR15_UNK21: return 21; + case SPELL_ATTR15_UNK22: return 22; + case SPELL_ATTR15_UNK23: return 23; + case SPELL_ATTR15_UNK24: return 24; + case SPELL_ATTR15_UNK25: return 25; + case SPELL_ATTR15_UNK26: return 26; + case SPELL_ATTR15_UNK27: return 27; + case SPELL_ATTR15_UNK28: return 28; + case SPELL_ATTR15_UNK29: return 29; + case SPELL_ATTR15_UNK30: return 30; + case SPELL_ATTR15_UNK31: return 31; + default: throw std::out_of_range("value"); + } +} + /***********************************************************************\ |* data for enum 'SpellCastResult' in 'SharedDefines.h' auto-generated *| \***********************************************************************/ diff --git a/src/server/game/Spells/SpellInfo.cpp b/src/server/game/Spells/SpellInfo.cpp index d85b5825de1..3d56fec4acb 100644 --- a/src/server/game/Spells/SpellInfo.cpp +++ b/src/server/game/Spells/SpellInfo.cpp @@ -1224,6 +1224,7 @@ SpellInfo::SpellInfo(SpellNameEntry const* spellName, ::Difficulty difficulty, S AttributesEx12 = _misc->Attributes[12]; AttributesEx13 = _misc->Attributes[13]; AttributesEx14 = _misc->Attributes[14]; + AttributesEx15 = _misc->Attributes[15]; CastTimeEntry = sSpellCastTimesStore.LookupEntry(_misc->CastingTimeIndex); DurationEntry = sSpellDurationStore.LookupEntry(_misc->DurationIndex); RangeEntry = sSpellRangeStore.LookupEntry(_misc->RangeIndex); diff --git a/src/server/game/Spells/SpellInfo.h b/src/server/game/Spells/SpellInfo.h index faf01836171..d327683dc28 100644 --- a/src/server/game/Spells/SpellInfo.h +++ b/src/server/game/Spells/SpellInfo.h @@ -339,6 +339,7 @@ class TC_GAME_API SpellInfo uint32 AttributesEx12 = 0; uint32 AttributesEx13 = 0; uint32 AttributesEx14 = 0; + uint32 AttributesEx15 = 0; uint32 AttributesCu = 0; std::bitset<MAX_SPELL_EFFECTS> NegativeEffects; uint64 Stances = 0; @@ -459,6 +460,7 @@ class TC_GAME_API SpellInfo bool HasAttribute(SpellAttr12 attribute) const { return !!(AttributesEx12 & attribute); } bool HasAttribute(SpellAttr13 attribute) const { return !!(AttributesEx13 & attribute); } bool HasAttribute(SpellAttr14 attribute) const { return !!(AttributesEx14 & attribute); } + bool HasAttribute(SpellAttr15 attribute) const { return !!(AttributesEx15 & attribute); } bool HasAttribute(SpellCustomAttributes customAttribute) const { return !!(AttributesCu & customAttribute); } bool CanBeInterrupted(WorldObject const* interruptCaster, Unit const* interruptTarget, bool ignoreImmunity = false) const; diff --git a/src/tools/map_extractor/loadlib/DBFilesClientList.h b/src/tools/map_extractor/loadlib/DBFilesClientList.h index 2a011e2f216..480855aed5d 100644 --- a/src/tools/map_extractor/loadlib/DBFilesClientList.h +++ b/src/tools/map_extractor/loadlib/DBFilesClientList.h @@ -933,6 +933,7 @@ DB2FileInfo const DBFilesClientList[] = { 975024, "Trophy.db2" }, { 5011999, "UIArrowCallout.db2" }, { 3488582, "UIChromieTimeExpansionInfo.db2" }, + { 6155772, "UICinematicIntroInfo.db2" }, { 3502042, "UICovenantAbility.db2" }, { 3502043, "UICovenantPreview.db2" }, { 4579858, "UIDeadlyDebuff.db2" }, |