diff options
author | Shauren <shauren.trinity@gmail.com> | 2021-08-07 19:40:34 +0200 |
---|---|---|
committer | Shauren <shauren.trinity@gmail.com> | 2021-08-08 00:18:10 +0200 |
commit | ce1046a8fd0f04aad6c414786949269fffea88f3 (patch) | |
tree | 025a5a5ac6cbc886cf98897d0af814d33497bf8d /src | |
parent | cd5357dc185f95c6ef78089c5ab8bd2b885dd89f (diff) |
Core/DataStores: 9.1.0 db2 structures
Diffstat (limited to 'src')
22 files changed, 768 insertions, 646 deletions
diff --git a/src/server/database/Database/Implementation/HotfixDatabase.cpp b/src/server/database/Database/Implementation/HotfixDatabase.cpp index f105fc60df6..67420de9325 100644 --- a/src/server/database/Database/Implementation/HotfixDatabase.cpp +++ b/src/server/database/Database/Implementation/HotfixDatabase.cpp @@ -168,7 +168,7 @@ void HotfixDatabaseConnection::DoPrepareStatements() PREPARE_MAX_ID_STMT(HOTFIX_SEL_AZERITE_EMPOWERED_ITEM, "SELECT MAX(ID) + 1 FROM azerite_empowered_item", CONNECTION_SYNCH); // AzeriteEssence.db2 - PrepareStatement(HOTFIX_SEL_AZERITE_ESSENCE, "SELECT Name, Description, ID, SpecSetID FROM azerite_essence WHERE (`VerifiedBuild` > 0) = ?", CONNECTION_SYNCH); + PrepareStatement(HOTFIX_SEL_AZERITE_ESSENCE, "SELECT ID, Name, Description, SpecSetID FROM azerite_essence WHERE (`VerifiedBuild` > 0) = ?", CONNECTION_SYNCH); PREPARE_MAX_ID_STMT(HOTFIX_SEL_AZERITE_ESSENCE, "SELECT MAX(ID) + 1 FROM azerite_essence", CONNECTION_SYNCH); PREPARE_LOCALE_STMT(HOTFIX_SEL_AZERITE_ESSENCE, "SELECT ID, Name_lang, Description_lang FROM azerite_essence_locale" " WHERE (`VerifiedBuild` > 0) = ? AND locale = ?", CONNECTION_SYNCH); @@ -231,7 +231,7 @@ void HotfixDatabaseConnection::DoPrepareStatements() PREPARE_MAX_ID_STMT(HOTFIX_SEL_BANNED_ADDONS, "SELECT MAX(ID) + 1 FROM banned_addons", CONNECTION_SYNCH); // BarberShopStyle.db2 - PrepareStatement(HOTFIX_SEL_BARBER_SHOP_STYLE, "SELECT DisplayName, Description, ID, Type, CostModifier, Race, Sex, Data FROM barber_shop_style" + PrepareStatement(HOTFIX_SEL_BARBER_SHOP_STYLE, "SELECT ID, DisplayName, Description, Type, CostModifier, Race, Sex, Data FROM barber_shop_style" " WHERE (`VerifiedBuild` > 0) = ?", CONNECTION_SYNCH); PREPARE_MAX_ID_STMT(HOTFIX_SEL_BARBER_SHOP_STYLE, "SELECT MAX(ID) + 1 FROM barber_shop_style", CONNECTION_SYNCH); PREPARE_LOCALE_STMT(HOTFIX_SEL_BARBER_SHOP_STYLE, "SELECT ID, DisplayName_lang, Description_lang FROM barber_shop_style_locale" @@ -288,7 +288,8 @@ void HotfixDatabaseConnection::DoPrepareStatements() " AND locale = ?", CONNECTION_SYNCH); // CharacterLoadout.db2 - PrepareStatement(HOTFIX_SEL_CHARACTER_LOADOUT, "SELECT RaceMask, ID, ChrClassID, Purpose FROM character_loadout WHERE (`VerifiedBuild` > 0) = ?", CONNECTION_SYNCH); + PrepareStatement(HOTFIX_SEL_CHARACTER_LOADOUT, "SELECT ID, RaceMask, ChrClassID, Purpose, Unused910 FROM character_loadout" + " WHERE (`VerifiedBuild` > 0) = ?", CONNECTION_SYNCH); PREPARE_MAX_ID_STMT(HOTFIX_SEL_CHARACTER_LOADOUT, "SELECT MAX(ID) + 1 FROM character_loadout", CONNECTION_SYNCH); // CharacterLoadoutItem.db2 @@ -297,7 +298,7 @@ void HotfixDatabaseConnection::DoPrepareStatements() PREPARE_MAX_ID_STMT(HOTFIX_SEL_CHARACTER_LOADOUT_ITEM, "SELECT MAX(ID) + 1 FROM character_loadout_item", CONNECTION_SYNCH); // ChatChannels.db2 - PrepareStatement(HOTFIX_SEL_CHAT_CHANNELS, "SELECT Name, Shortcut, ID, Flags, FactionGroup, Ruleset FROM chat_channels" + PrepareStatement(HOTFIX_SEL_CHAT_CHANNELS, "SELECT ID, Name, Shortcut, Flags, FactionGroup, Ruleset FROM chat_channels" " WHERE (`VerifiedBuild` > 0) = ?", CONNECTION_SYNCH); PREPARE_MAX_ID_STMT(HOTFIX_SEL_CHAT_CHANNELS, "SELECT MAX(ID) + 1 FROM chat_channels", CONNECTION_SYNCH); PREPARE_LOCALE_STMT(HOTFIX_SEL_CHAT_CHANNELS, "SELECT ID, Name_lang, Shortcut_lang FROM chat_channels_locale WHERE (`VerifiedBuild` > 0) = ?" @@ -328,8 +329,8 @@ void HotfixDatabaseConnection::DoPrepareStatements() PREPARE_MAX_ID_STMT(HOTFIX_SEL_CHR_CLASSES_X_POWER_TYPES, "SELECT MAX(ID) + 1 FROM chr_classes_x_power_types", CONNECTION_SYNCH); // ChrCustomizationChoice.db2 - PrepareStatement(HOTFIX_SEL_CHR_CUSTOMIZATION_CHOICE, "SELECT Name, ID, ChrCustomizationOptionID, ChrCustomizationReqID, SortOrder, SwatchColor1, " - "SwatchColor2, UiOrderIndex, Flags FROM chr_customization_choice WHERE (`VerifiedBuild` > 0) = ?", CONNECTION_SYNCH); + PrepareStatement(HOTFIX_SEL_CHR_CUSTOMIZATION_CHOICE, "SELECT Name, ID, ChrCustomizationOptionID, ChrCustomizationReqID, SortOrder, UiOrderIndex, " + "Flags, SwatchColor1, SwatchColor2 FROM chr_customization_choice WHERE (`VerifiedBuild` > 0) = ?", CONNECTION_SYNCH); PREPARE_MAX_ID_STMT(HOTFIX_SEL_CHR_CUSTOMIZATION_CHOICE, "SELECT MAX(ID) + 1 FROM chr_customization_choice", CONNECTION_SYNCH); PREPARE_LOCALE_STMT(HOTFIX_SEL_CHR_CUSTOMIZATION_CHOICE, "SELECT ID, Name_lang FROM chr_customization_choice_locale" " WHERE (`VerifiedBuild` > 0) = ? AND locale = ?", CONNECTION_SYNCH); @@ -368,7 +369,7 @@ void HotfixDatabaseConnection::DoPrepareStatements() PrepareStatement(HOTFIX_SEL_CHR_MODEL, "SELECT FaceCustomizationOffset1, FaceCustomizationOffset2, FaceCustomizationOffset3, CustomizeOffset1, " "CustomizeOffset2, CustomizeOffset3, ID, Sex, DisplayID, CharComponentTextureLayoutID, Flags, SkeletonFileDataID, ModelFallbackChrModelID, " "TextureFallbackChrModelID, HelmVisFallbackChrModelID, CustomizeScale, CustomizeFacing, CameraDistanceOffset, BarberShopCameraOffsetScale, " - "BarberShopCameraRotationOffset FROM chr_model WHERE (`VerifiedBuild` > 0) = ?", CONNECTION_SYNCH); + "BarberShopCameraHeightOffsetScale, BarberShopCameraRotationOffset FROM chr_model WHERE (`VerifiedBuild` > 0) = ?", CONNECTION_SYNCH); PREPARE_MAX_ID_STMT(HOTFIX_SEL_CHR_MODEL, "SELECT MAX(ID) + 1 FROM chr_model", CONNECTION_SYNCH); // ChrRaceXChrModel.db2 @@ -376,16 +377,17 @@ void HotfixDatabaseConnection::DoPrepareStatements() PREPARE_MAX_ID_STMT(HOTFIX_SEL_CHR_RACE_X_CHR_MODEL, "SELECT MAX(ID) + 1 FROM chr_race_x_chr_model", CONNECTION_SYNCH); // ChrRaces.db2 - PrepareStatement(HOTFIX_SEL_CHR_RACES, "SELECT ClientPrefix, ClientFileString, Name, NameFemale, NameLowercase, NameFemaleLowercase, NameS, " - "NameFemaleS, NameLowercaseS, NameFemaleLowercaseS, RaceFantasyDescription, NameL, NameFemaleL, NameLowercaseL, NameFemaleLowercaseL, ID, " - "Flags, BaseLanguage, ResSicknessSpellID, SplashSoundID, CreateScreenFileDataID, SelectScreenFileDataID, LowResScreenFileDataID, " - "AlteredFormStartVisualKitID1, AlteredFormStartVisualKitID2, AlteredFormStartVisualKitID3, AlteredFormFinishVisualKitID1, " - "AlteredFormFinishVisualKitID2, AlteredFormFinishVisualKitID3, HeritageArmorAchievementID, StartingLevel, UiDisplayOrder, PlayableRaceBit, " - "HelmetAnimScalingRaceID, TransmogrifyDisabledSlotMask, AlteredFormCustomizeOffsetFallback1, AlteredFormCustomizeOffsetFallback2, " - "AlteredFormCustomizeOffsetFallback3, AlteredFormCustomizeRotationFallback, FactionID, CinematicSequenceID, CreatureType, Alliance, " - "RaceRelated, UnalteredVisualRaceID, DefaultClassID, NeutralRaceID, MaleModelFallbackRaceID, MaleModelFallbackSex, FemaleModelFallbackRaceID, " - "FemaleModelFallbackSex, MaleTextureFallbackRaceID, MaleTextureFallbackSex, FemaleTextureFallbackRaceID, FemaleTextureFallbackSex, " - "UnalteredVisualCustomizationRaceID FROM chr_races WHERE (`VerifiedBuild` > 0) = ?", CONNECTION_SYNCH); + PrepareStatement(HOTFIX_SEL_CHR_RACES, "SELECT ID, ClientPrefix, ClientFileString, Name, NameFemale, NameLowercase, NameFemaleLowercase, NameS, " + "NameFemaleS, NameLowercaseS, NameFemaleLowercaseS, RaceFantasyDescription, NameL, NameFemaleL, NameLowercaseL, NameFemaleLowercaseL, Flags, " + "FactionID, CinematicSequenceID, ResSicknessSpellID, SplashSoundID, Alliance, RaceRelated, UnalteredVisualRaceID, DefaultClassID, " + "CreateScreenFileDataID, SelectScreenFileDataID, NeutralRaceID, LowResScreenFileDataID, AlteredFormStartVisualKitID1, " + "AlteredFormStartVisualKitID2, AlteredFormStartVisualKitID3, AlteredFormFinishVisualKitID1, AlteredFormFinishVisualKitID2, " + "AlteredFormFinishVisualKitID3, HeritageArmorAchievementID, StartingLevel, UiDisplayOrder, MaleModelFallbackRaceID, " + "FemaleModelFallbackRaceID, MaleTextureFallbackRaceID, FemaleTextureFallbackRaceID, PlayableRaceBit, HelmetAnimScalingRaceID, " + "TransmogrifyDisabledSlotMask, UnalteredVisualCustomizationRaceID, AlteredFormCustomizeOffsetFallback1, AlteredFormCustomizeOffsetFallback2, " + "AlteredFormCustomizeOffsetFallback3, AlteredFormCustomizeRotationFallback, Unknown910_11, Unknown910_12, Unknown910_13, Unknown910_21, " + "Unknown910_22, Unknown910_23, BaseLanguage, CreatureType, MaleModelFallbackSex, FemaleModelFallbackSex, MaleTextureFallbackSex, " + "FemaleTextureFallbackSex FROM chr_races WHERE (`VerifiedBuild` > 0) = ?", CONNECTION_SYNCH); PREPARE_MAX_ID_STMT(HOTFIX_SEL_CHR_RACES, "SELECT MAX(ID) + 1 FROM chr_races", CONNECTION_SYNCH); PREPARE_LOCALE_STMT(HOTFIX_SEL_CHR_RACES, "SELECT ID, Name_lang, NameFemale_lang, NameLowercase_lang, NameFemaleLowercase_lang, NameS_lang, " "NameFemaleS_lang, NameLowercaseS_lang, NameFemaleLowercaseS_lang, RaceFantasyDescription_lang, NameL_lang, NameFemaleL_lang, " @@ -415,8 +417,8 @@ void HotfixDatabaseConnection::DoPrepareStatements() PREPARE_MAX_ID_STMT(HOTFIX_SEL_CONTENT_TUNING, "SELECT MAX(ID) + 1 FROM content_tuning", CONNECTION_SYNCH); // ContentTuningXExpected.db2 - PrepareStatement(HOTFIX_SEL_CONTENT_TUNING_X_EXPECTED, "SELECT ID, ExpectedStatModID, MythicPlusSeasonID, ContentTuningID" - " FROM content_tuning_x_expected WHERE (`VerifiedBuild` > 0) = ?", CONNECTION_SYNCH); + PrepareStatement(HOTFIX_SEL_CONTENT_TUNING_X_EXPECTED, "SELECT ID, ExpectedStatModID, MinMythicPlusSeasonID, MaxMythicPlusSeasonID, " + "ContentTuningID FROM content_tuning_x_expected WHERE (`VerifiedBuild` > 0) = ?", CONNECTION_SYNCH); PREPARE_MAX_ID_STMT(HOTFIX_SEL_CONTENT_TUNING_X_EXPECTED, "SELECT MAX(ID) + 1 FROM content_tuning_x_expected", CONNECTION_SYNCH); // ConversationLine.db2 @@ -553,8 +555,8 @@ void HotfixDatabaseConnection::DoPrepareStatements() PREPARE_MAX_ID_STMT(HOTFIX_SEL_EXPECTED_STAT_MOD, "SELECT MAX(ID) + 1 FROM expected_stat_mod", CONNECTION_SYNCH); // Faction.db2 - PrepareStatement(HOTFIX_SEL_FACTION, "SELECT ReputationRaceMask1, ReputationRaceMask2, ReputationRaceMask3, ReputationRaceMask4, Name, " - "Description, ID, ReputationIndex, ParentFactionID, Expansion, FriendshipRepID, Flags, ParagonFactionID, ReputationClassMask1, " + PrepareStatement(HOTFIX_SEL_FACTION, "SELECT ID, ReputationRaceMask1, ReputationRaceMask2, ReputationRaceMask3, ReputationRaceMask4, Name, " + "Description, ReputationIndex, ParentFactionID, Expansion, FriendshipRepID, Flags, ParagonFactionID, ReputationClassMask1, " "ReputationClassMask2, ReputationClassMask3, ReputationClassMask4, ReputationFlags1, ReputationFlags2, ReputationFlags3, ReputationFlags4, " "ReputationBase1, ReputationBase2, ReputationBase3, ReputationBase4, ReputationMax1, ReputationMax2, ReputationMax3, ReputationMax4, " "ParentFactionMod1, ParentFactionMod2, ParentFactionCap1, ParentFactionCap2 FROM faction WHERE (`VerifiedBuild` > 0) = ?", CONNECTION_SYNCH); @@ -593,7 +595,7 @@ void HotfixDatabaseConnection::DoPrepareStatements() PREPARE_LOCALE_STMT(HOTFIX_SEL_GAMEOBJECTS, "SELECT ID, Name_lang FROM gameobjects_locale WHERE (`VerifiedBuild` > 0) = ? AND locale = ?", CONNECTION_SYNCH); // GarrAbility.db2 - PrepareStatement(HOTFIX_SEL_GARR_ABILITY, "SELECT Name, Description, ID, GarrAbilityCategoryID, GarrFollowerTypeID, IconFileDataID, " + PrepareStatement(HOTFIX_SEL_GARR_ABILITY, "SELECT ID, Name, Description, GarrAbilityCategoryID, GarrFollowerTypeID, IconFileDataID, " "FactionChangeGarrAbilityID, Flags FROM garr_ability WHERE (`VerifiedBuild` > 0) = ?", CONNECTION_SYNCH); PREPARE_MAX_ID_STMT(HOTFIX_SEL_GARR_ABILITY, "SELECT MAX(ID) + 1 FROM garr_ability", CONNECTION_SYNCH); PREPARE_LOCALE_STMT(HOTFIX_SEL_GARR_ABILITY, "SELECT ID, Name_lang, Description_lang FROM garr_ability_locale WHERE (`VerifiedBuild` > 0) = ?" @@ -614,14 +616,14 @@ void HotfixDatabaseConnection::DoPrepareStatements() PREPARE_MAX_ID_STMT(HOTFIX_SEL_GARR_BUILDING_PLOT_INST, "SELECT MAX(ID) + 1 FROM garr_building_plot_inst", CONNECTION_SYNCH); // GarrClassSpec.db2 - PrepareStatement(HOTFIX_SEL_GARR_CLASS_SPEC, "SELECT ClassSpec, ClassSpecMale, ClassSpecFemale, ID, UiTextureAtlasMemberID, GarrFollItemSetID, " + PrepareStatement(HOTFIX_SEL_GARR_CLASS_SPEC, "SELECT ID, ClassSpec, ClassSpecMale, ClassSpecFemale, UiTextureAtlasMemberID, GarrFollItemSetID, " "FollowerClassLimit, Flags FROM garr_class_spec WHERE (`VerifiedBuild` > 0) = ?", CONNECTION_SYNCH); PREPARE_MAX_ID_STMT(HOTFIX_SEL_GARR_CLASS_SPEC, "SELECT MAX(ID) + 1 FROM garr_class_spec", CONNECTION_SYNCH); PREPARE_LOCALE_STMT(HOTFIX_SEL_GARR_CLASS_SPEC, "SELECT ID, ClassSpec_lang, ClassSpecMale_lang, ClassSpecFemale_lang FROM garr_class_spec_locale" " WHERE (`VerifiedBuild` > 0) = ? AND locale = ?", CONNECTION_SYNCH); // GarrFollower.db2 - PrepareStatement(HOTFIX_SEL_GARR_FOLLOWER, "SELECT HordeSourceText, AllianceSourceText, TitleName, ID, GarrTypeID, GarrFollowerTypeID, " + PrepareStatement(HOTFIX_SEL_GARR_FOLLOWER, "SELECT ID, HordeSourceText, AllianceSourceText, TitleName, GarrTypeID, GarrFollowerTypeID, " "HordeCreatureID, AllianceCreatureID, HordeGarrFollRaceID, AllianceGarrFollRaceID, HordeGarrClassSpecID, AllianceGarrClassSpecID, Quality, " "FollowerLevel, ItemLevelWeapon, ItemLevelArmor, HordeSourceTypeEnum, AllianceSourceTypeEnum, HordeIconFileDataID, AllianceIconFileDataID, " "HordeGarrFollItemSetID, AllianceGarrFollItemSetID, HordeUITextureKitID, AllianceUITextureKitID, Vitality, HordeFlavorGarrStringID, " @@ -821,7 +823,7 @@ void HotfixDatabaseConnection::DoPrepareStatements() // ItemEffect.db2 PrepareStatement(HOTFIX_SEL_ITEM_EFFECT, "SELECT ID, LegacySlotIndex, TriggerType, Charges, CoolDownMSec, CategoryCoolDownMSec, SpellCategoryID, " - "SpellID, ChrSpecializationID, ParentItemID FROM item_effect WHERE (`VerifiedBuild` > 0) = ?", CONNECTION_SYNCH); + "SpellID, ChrSpecializationID FROM item_effect WHERE (`VerifiedBuild` > 0) = ?", CONNECTION_SYNCH); PREPARE_MAX_ID_STMT(HOTFIX_SEL_ITEM_EFFECT, "SELECT MAX(ID) + 1 FROM item_effect", CONNECTION_SYNCH); // ItemExtendedCost.db2 @@ -878,7 +880,7 @@ void HotfixDatabaseConnection::DoPrepareStatements() PREPARE_MAX_ID_STMT(HOTFIX_SEL_ITEM_PRICE_BASE, "SELECT MAX(ID) + 1 FROM item_price_base", CONNECTION_SYNCH); // ItemSearchName.db2 - PrepareStatement(HOTFIX_SEL_ITEM_SEARCH_NAME, "SELECT AllowableRace, Display, ID, OverallQualityID, ExpansionID, MinFactionID, MinReputation, " + PrepareStatement(HOTFIX_SEL_ITEM_SEARCH_NAME, "SELECT ID, AllowableRace, Display, OverallQualityID, ExpansionID, MinFactionID, MinReputation, " "AllowableClass, RequiredLevel, RequiredSkill, RequiredSkillRank, RequiredAbility, ItemLevel, Flags1, Flags2, Flags3, Flags4" " FROM item_search_name WHERE (`VerifiedBuild` > 0) = ?", CONNECTION_SYNCH); PREPARE_MAX_ID_STMT(HOTFIX_SEL_ITEM_SEARCH_NAME, "SELECT MAX(ID) + 1 FROM item_search_name", CONNECTION_SYNCH); @@ -898,20 +900,20 @@ void HotfixDatabaseConnection::DoPrepareStatements() PREPARE_MAX_ID_STMT(HOTFIX_SEL_ITEM_SET_SPELL, "SELECT MAX(ID) + 1 FROM item_set_spell", CONNECTION_SYNCH); // ItemSparse.db2 - PrepareStatement(HOTFIX_SEL_ITEM_SPARSE, "SELECT ID, AllowableRace, Description, Display3, Display2, Display1, Display, DmgVariance, " - "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, LimitCategory, GemProperties, SocketMatchEnchantmentId, TotemCategoryID, InstanceBound, " - "ZoneBound1, ZoneBound2, ItemSet, LockID, StartQuestID, PageID, ItemDelay, MinFactionID, RequiredSkillRank, RequiredSkill, ItemLevel, " - "AllowableClass, ExpansionID, ArtifactID, SpellWeight, SpellWeightCategory, SocketType1, SocketType2, SocketType3, SheatheType, Material, " - "PageMaterialID, LanguageID, Bonding, DamageDamageType, StatModifierBonusStat1, StatModifierBonusStat2, StatModifierBonusStat3, " - "StatModifierBonusStat4, StatModifierBonusStat5, StatModifierBonusStat6, StatModifierBonusStat7, StatModifierBonusStat8, " - "StatModifierBonusStat9, StatModifierBonusStat10, ContainerSlots, MinReputation, RequiredPVPMedal, RequiredPVPRank, RequiredLevel, " - "InventoryType, OverallQualityID FROM item_sparse WHERE (`VerifiedBuild` > 0) = ?", CONNECTION_SYNCH); + PrepareStatement(HOTFIX_SEL_ITEM_SPARSE, "SELECT ID, AllowableRace, Description, Display3, Display2, Display1, Display, ExpansionID, DmgVariance, " + "InstanceBound, 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, LimitCategory, GemProperties, SocketMatchEnchantmentId, TotemCategoryID, ZoneBound1, ZoneBound2, " + "ItemSet, LockID, StartQuestID, PageID, ItemDelay, MinFactionID, RequiredSkillRank, RequiredSkill, ItemLevel, AllowableClass, ArtifactID, " + "SpellWeight, SpellWeightCategory, SocketType1, SocketType2, SocketType3, SheatheType, Material, PageMaterialID, LanguageID, Bonding, " + "DamageDamageType, StatModifierBonusStat1, StatModifierBonusStat2, StatModifierBonusStat3, StatModifierBonusStat4, StatModifierBonusStat5, " + "StatModifierBonusStat6, StatModifierBonusStat7, StatModifierBonusStat8, StatModifierBonusStat9, StatModifierBonusStat10, ContainerSlots, " + "MinReputation, RequiredPVPMedal, RequiredPVPRank, RequiredLevel, InventoryType, OverallQualityID FROM item_sparse" + " WHERE (`VerifiedBuild` > 0) = ?", CONNECTION_SYNCH); PREPARE_MAX_ID_STMT(HOTFIX_SEL_ITEM_SPARSE, "SELECT MAX(ID) + 1 FROM item_sparse", CONNECTION_SYNCH); PREPARE_LOCALE_STMT(HOTFIX_SEL_ITEM_SPARSE, "SELECT ID, Description_lang, Display3_lang, Display2_lang, Display1_lang, Display_lang" " FROM item_sparse_locale WHERE (`VerifiedBuild` > 0) = ? AND locale = ?", CONNECTION_SYNCH); @@ -929,6 +931,10 @@ void HotfixDatabaseConnection::DoPrepareStatements() PrepareStatement(HOTFIX_SEL_ITEM_X_BONUS_TREE, "SELECT ID, ItemBonusTreeID, ItemID FROM item_x_bonus_tree WHERE (`VerifiedBuild` > 0) = ?", CONNECTION_SYNCH); PREPARE_MAX_ID_STMT(HOTFIX_SEL_ITEM_X_BONUS_TREE, "SELECT MAX(ID) + 1 FROM item_x_bonus_tree", CONNECTION_SYNCH); + // ItemXItemEffect.db2 + PrepareStatement(HOTFIX_SEL_ITEM_X_ITEM_EFFECT, "SELECT ID, ItemEffectID, ItemID FROM item_x_item_effect WHERE (`VerifiedBuild` > 0) = ?", CONNECTION_SYNCH); + PREPARE_MAX_ID_STMT(HOTFIX_SEL_ITEM_X_ITEM_EFFECT, "SELECT MAX(ID) + 1 FROM item_x_item_effect", CONNECTION_SYNCH); + // Keychain.db2 PrepareStatement(HOTFIX_SEL_KEYCHAIN, "SELECT ID, Key1, Key2, Key3, Key4, Key5, Key6, Key7, Key8, Key9, Key10, Key11, Key12, Key13, Key14, Key15, " "Key16, Key17, Key18, Key19, Key20, Key21, Key22, Key23, Key24, Key25, Key26, Key27, Key28, Key29, Key30, Key31, Key32 FROM keychain" @@ -940,7 +946,7 @@ 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 Name, ID FROM languages WHERE (`VerifiedBuild` > 0) = ?", CONNECTION_SYNCH); + PrepareStatement(HOTFIX_SEL_LANGUAGES, "SELECT ID, Name 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); @@ -980,10 +986,10 @@ void HotfixDatabaseConnection::DoPrepareStatements() PREPARE_LOCALE_STMT(HOTFIX_SEL_MAIL_TEMPLATE, "SELECT ID, Body_lang FROM mail_template_locale WHERE (`VerifiedBuild` > 0) = ? AND locale = ?", CONNECTION_SYNCH); // Map.db2 - PrepareStatement(HOTFIX_SEL_MAP, "SELECT ID, Directory, MapName, InternalName, MapDescription0, MapDescription1, PvpShortDescription, " - "PvpLongDescription, CorpseX, CorpseY, MapType, InstanceType, ExpansionID, AreaTableID, LoadingScreenID, TimeOfDayOverride, ParentMapID, " - "CosmeticParentMapID, TimeOffset, MinimapIconScale, CorpseMapID, MaxPlayers, WindSettingsID, ZmpFileDataID, WdtFileDataID, Flags1, Flags2" - " FROM map WHERE (`VerifiedBuild` > 0) = ?", CONNECTION_SYNCH); + PrepareStatement(HOTFIX_SEL_MAP, "SELECT ID, Directory, MapName, MapDescription0, MapDescription1, PvpShortDescription, PvpLongDescription, " + "CorpseX, CorpseY, MapType, InstanceType, ExpansionID, AreaTableID, LoadingScreenID, TimeOfDayOverride, ParentMapID, CosmeticParentMapID, " + "TimeOffset, MinimapIconScale, CorpseMapID, MaxPlayers, WindSettingsID, ZmpFileDataID, WdtFileDataID, Flags1, Flags2 FROM map" + " WHERE (`VerifiedBuild` > 0) = ?", CONNECTION_SYNCH); PREPARE_MAX_ID_STMT(HOTFIX_SEL_MAP, "SELECT MAX(ID) + 1 FROM map", CONNECTION_SYNCH); PREPARE_LOCALE_STMT(HOTFIX_SEL_MAP, "SELECT ID, MapName_lang, MapDescription0_lang, MapDescription1_lang, PvpShortDescription_lang, " "PvpLongDescription_lang FROM map_locale WHERE (`VerifiedBuild` > 0) = ? AND locale = ?", CONNECTION_SYNCH); @@ -1073,7 +1079,7 @@ void HotfixDatabaseConnection::DoPrepareStatements() PREPARE_MAX_ID_STMT(HOTFIX_SEL_PHASE_X_PHASE_GROUP, "SELECT MAX(ID) + 1 FROM phase_x_phase_group", CONNECTION_SYNCH); // PlayerCondition.db2 - PrepareStatement(HOTFIX_SEL_PLAYER_CONDITION, "SELECT RaceMask, FailureDescription, ID, ClassMask, SkillLogic, LanguageID, MinLanguage, " + PrepareStatement(HOTFIX_SEL_PLAYER_CONDITION, "SELECT ID, RaceMask, FailureDescription, ClassMask, SkillLogic, LanguageID, MinLanguage, " "MaxLanguage, MaxFactionID, MaxReputation, ReputationLogic, CurrentPvpFaction, PvpMedal, PrevQuestLogic, CurrQuestLogic, " "CurrentCompletedQuestLogic, SpellLogic, ItemLogic, ItemFlags, AuraSpellLogic, WorldStateExpressionID, WeatherID, PartyStatus, " "LifetimeMaxPVPRank, AchievementLogic, Gender, NativeGender, AreaLogic, LfgLogic, CurrencyLogic, QuestKillID, QuestKillLogic, " @@ -1314,7 +1320,7 @@ void HotfixDatabaseConnection::DoPrepareStatements() PrepareStatement(HOTFIX_SEL_SPELL_EFFECT, "SELECT ID, EffectAura, DifficultyID, EffectIndex, Effect, EffectAmplitude, EffectAttributes, " "EffectAuraPeriod, EffectBonusCoefficient, EffectChainAmplitude, EffectChainTargets, EffectItemType, EffectMechanic, EffectPointsPerResource, " "EffectPosFacing, EffectRealPointsPerLevel, EffectTriggerSpell, BonusCoefficientFromAP, PvpMultiplier, Coefficient, Variance, " - "ResourceCoefficient, GroupSizeBasePointsCoefficient, EffectBasePoints, EffectMiscValue1, EffectMiscValue2, EffectRadiusIndex1, " + "ResourceCoefficient, GroupSizeBasePointsCoefficient, EffectBasePoints, ScalingClass, EffectMiscValue1, EffectMiscValue2, EffectRadiusIndex1, " "EffectRadiusIndex2, EffectSpellClassMask1, EffectSpellClassMask2, EffectSpellClassMask3, EffectSpellClassMask4, ImplicitTarget1, " "ImplicitTarget2, SpellID FROM spell_effect WHERE (`VerifiedBuild` > 0) = ?", CONNECTION_SYNCH); PREPARE_MAX_ID_STMT(HOTFIX_SEL_SPELL_EFFECT, "SELECT MAX(ID) + 1 FROM spell_effect", CONNECTION_SYNCH); @@ -1336,7 +1342,7 @@ void HotfixDatabaseConnection::DoPrepareStatements() PREPARE_MAX_ID_STMT(HOTFIX_SEL_SPELL_INTERRUPTS, "SELECT MAX(ID) + 1 FROM spell_interrupts", CONNECTION_SYNCH); // SpellItemEnchantment.db2 - PrepareStatement(HOTFIX_SEL_SPELL_ITEM_ENCHANTMENT, "SELECT Name, HordeName, ID, EffectArg1, EffectArg2, EffectArg3, EffectScalingPoints1, " + PrepareStatement(HOTFIX_SEL_SPELL_ITEM_ENCHANTMENT, "SELECT ID, Name, HordeName, EffectArg1, EffectArg2, EffectArg3, EffectScalingPoints1, " "EffectScalingPoints2, EffectScalingPoints3, IconFileDataID, MinItemLevel, MaxItemLevel, TransmogUseConditionID, TransmogCost, " "EffectPointsMin1, EffectPointsMin2, EffectPointsMin3, ItemVisual, Flags, RequiredSkillID, RequiredSkillRank, ItemLevel, Charges, Effect1, " "Effect2, Effect3, ScalingClass, ScalingClassRestricted, ConditionID, MinLevel, MaxLevel FROM spell_item_enchantment" @@ -1418,7 +1424,7 @@ void HotfixDatabaseConnection::DoPrepareStatements() PREPARE_MAX_ID_STMT(HOTFIX_SEL_SPELL_REAGENTS, "SELECT MAX(ID) + 1 FROM spell_reagents", CONNECTION_SYNCH); // SpellScaling.db2 - PrepareStatement(HOTFIX_SEL_SPELL_SCALING, "SELECT ID, SpellID, Class, MinScalingLevel, MaxScalingLevel, ScalesFromItemLevel FROM spell_scaling" + PrepareStatement(HOTFIX_SEL_SPELL_SCALING, "SELECT ID, SpellID, MinScalingLevel, MaxScalingLevel, ScalesFromItemLevel FROM spell_scaling" " WHERE (`VerifiedBuild` > 0) = ?", CONNECTION_SYNCH); PREPARE_MAX_ID_STMT(HOTFIX_SEL_SPELL_SCALING, "SELECT MAX(ID) + 1 FROM spell_scaling", CONNECTION_SYNCH); @@ -1516,7 +1522,7 @@ void HotfixDatabaseConnection::DoPrepareStatements() PREPARE_LOCALE_STMT(HOTFIX_SEL_TRANSMOG_SET, "SELECT ID, Name_lang FROM transmog_set_locale WHERE (`VerifiedBuild` > 0) = ? AND locale = ?", CONNECTION_SYNCH); // TransmogSetGroup.db2 - PrepareStatement(HOTFIX_SEL_TRANSMOG_SET_GROUP, "SELECT Name, ID FROM transmog_set_group WHERE (`VerifiedBuild` > 0) = ?", CONNECTION_SYNCH); + PrepareStatement(HOTFIX_SEL_TRANSMOG_SET_GROUP, "SELECT ID, Name FROM transmog_set_group WHERE (`VerifiedBuild` > 0) = ?", CONNECTION_SYNCH); PREPARE_MAX_ID_STMT(HOTFIX_SEL_TRANSMOG_SET_GROUP, "SELECT MAX(ID) + 1 FROM transmog_set_group", CONNECTION_SYNCH); PREPARE_LOCALE_STMT(HOTFIX_SEL_TRANSMOG_SET_GROUP, "SELECT ID, Name_lang FROM transmog_set_group_locale WHERE (`VerifiedBuild` > 0) = ?" " AND locale = ?", CONNECTION_SYNCH); diff --git a/src/server/database/Database/Implementation/HotfixDatabase.h b/src/server/database/Database/Implementation/HotfixDatabase.h index 7daab31d346..431dfef994b 100644 --- a/src/server/database/Database/Implementation/HotfixDatabase.h +++ b/src/server/database/Database/Implementation/HotfixDatabase.h @@ -540,6 +540,9 @@ enum HotfixDatabaseStatements : uint32 HOTFIX_SEL_ITEM_X_BONUS_TREE, HOTFIX_SEL_ITEM_X_BONUS_TREE_MAX_ID, + HOTFIX_SEL_ITEM_X_ITEM_EFFECT, + HOTFIX_SEL_ITEM_X_ITEM_EFFECT_MAX_ID, + HOTFIX_SEL_KEYCHAIN, HOTFIX_SEL_KEYCHAIN_MAX_ID, diff --git a/src/server/game/Achievements/CriteriaHandler.cpp b/src/server/game/Achievements/CriteriaHandler.cpp index 24e5134d845..3a2852ebdee 100644 --- a/src/server/game/Achievements/CriteriaHandler.cpp +++ b/src/server/game/Achievements/CriteriaHandler.cpp @@ -2055,7 +2055,7 @@ bool CriteriaHandler::ModifierSatisfied(ModifierTreeEntry const* modifier, uint6 case ModifierTreeType::BattlePetType: // 78 { BattlePetSpeciesEntry const* speciesEntry = sBattlePetSpeciesStore.LookupEntry(miscValue1); - if (!speciesEntry || speciesEntry->PetTypeEnum != reqValue) + if (!speciesEntry || speciesEntry->PetTypeEnum != int32(reqValue)) return false; break; } @@ -2656,7 +2656,7 @@ bool CriteriaHandler::ModifierSatisfied(ModifierTreeEntry const* modifier, uint6 uint32 count = 0; for (WorldPackets::BattlePet::BattlePetSlot const& slot : referencePlayer->GetSession()->GetBattlePetMgr()->GetSlots()) if (BattlePetSpeciesEntry const* species = sBattlePetSpeciesStore.LookupEntry(slot.Pet.Species)) - if (species->PetTypeEnum == secondaryAsset) + if (species->PetTypeEnum == int32(secondaryAsset)) ++count; if (count < reqValue) return false; diff --git a/src/server/game/DataStores/DB2LoadInfo.h b/src/server/game/DataStores/DB2LoadInfo.h index 8c350f061d6..460e49c73bb 100644 --- a/src/server/game/DataStores/DB2LoadInfo.h +++ b/src/server/game/DataStores/DB2LoadInfo.h @@ -520,9 +520,9 @@ struct AzeriteEssenceLoadInfo { static DB2FieldMeta const fields[] = { + { false, FT_INT, "ID" }, { false, FT_STRING, "Name" }, { false, FT_STRING, "Description" }, - { false, FT_INT, "ID" }, { true, FT_INT, "SpecSetID" }, }; static DB2LoadInfo const loadInfo(&fields[0], std::extent<decltype(fields)>::value, AzeriteEssenceMeta::Instance(), HOTFIX_SEL_AZERITE_ESSENCE); @@ -732,9 +732,9 @@ struct BarberShopStyleLoadInfo { static DB2FieldMeta const fields[] = { + { false, FT_INT, "ID" }, { false, FT_STRING, "DisplayName" }, { false, FT_STRING, "Description" }, - { false, FT_INT, "ID" }, { false, FT_BYTE, "Type" }, { false, FT_FLOAT, "CostModifier" }, { false, FT_BYTE, "Race" }, @@ -754,7 +754,7 @@ struct BattlePetBreedQualityLoadInfo { { false, FT_INT, "ID" }, { false, FT_FLOAT, "StateMultiplier" }, - { false, FT_BYTE, "QualityEnum" }, + { true, FT_BYTE, "QualityEnum" }, }; static DB2LoadInfo const loadInfo(&fields[0], std::extent<decltype(fields)>::value, BattlePetBreedQualityMeta::Instance(), HOTFIX_SEL_BATTLE_PET_BREED_QUALITY); return &loadInfo; @@ -789,7 +789,7 @@ struct BattlePetSpeciesLoadInfo { true, FT_INT, "CreatureID" }, { true, FT_INT, "SummonSpellID" }, { true, FT_INT, "IconFileDataID" }, - { false, FT_BYTE, "PetTypeEnum" }, + { true, FT_BYTE, "PetTypeEnum" }, { false, FT_SHORT, "Flags" }, { true, FT_BYTE, "SourceTypeEnum" }, { true, FT_INT, "CardUIModelSceneID" }, @@ -931,10 +931,11 @@ struct CharacterLoadoutLoadInfo { static DB2FieldMeta const fields[] = { - { true, FT_LONG, "RaceMask" }, { false, FT_INT, "ID" }, + { true, FT_LONG, "RaceMask" }, { true, FT_BYTE, "ChrClassID" }, { true, FT_BYTE, "Purpose" }, + { true, FT_BYTE, "Unused910" }, }; static DB2LoadInfo const loadInfo(&fields[0], std::extent<decltype(fields)>::value, CharacterLoadoutMeta::Instance(), HOTFIX_SEL_CHARACTER_LOADOUT); return &loadInfo; @@ -962,9 +963,9 @@ struct ChatChannelsLoadInfo { static DB2FieldMeta const fields[] = { + { false, FT_INT, "ID" }, { false, FT_STRING, "Name" }, { false, FT_STRING, "Shortcut" }, - { false, FT_INT, "ID" }, { true, FT_INT, "Flags" }, { true, FT_BYTE, "FactionGroup" }, { true, FT_INT, "Ruleset" }, @@ -1067,10 +1068,10 @@ struct ChrCustomizationChoiceLoadInfo { true, FT_INT, "ChrCustomizationOptionID" }, { true, FT_INT, "ChrCustomizationReqID" }, { false, FT_SHORT, "SortOrder" }, - { true, FT_INT, "SwatchColor1" }, - { true, FT_INT, "SwatchColor2" }, { false, FT_SHORT, "UiOrderIndex" }, { true, FT_INT, "Flags" }, + { true, FT_INT, "SwatchColor1" }, + { true, FT_INT, "SwatchColor2" }, }; static DB2LoadInfo const loadInfo(&fields[0], std::extent<decltype(fields)>::value, ChrCustomizationChoiceMeta::Instance(), HOTFIX_SEL_CHR_CUSTOMIZATION_CHOICE); return &loadInfo; @@ -1198,6 +1199,7 @@ struct ChrModelLoadInfo { false, FT_FLOAT, "CustomizeFacing" }, { false, FT_FLOAT, "CameraDistanceOffset" }, { false, FT_FLOAT, "BarberShopCameraOffsetScale" }, + { false, FT_FLOAT, "BarberShopCameraHeightOffsetScale" }, { false, FT_FLOAT, "BarberShopCameraRotationOffset" }, }; static DB2LoadInfo const loadInfo(&fields[0], std::extent<decltype(fields)>::value, ChrModelMeta::Instance(), HOTFIX_SEL_CHR_MODEL); @@ -1226,6 +1228,7 @@ struct ChrRacesLoadInfo { static DB2FieldMeta const fields[] = { + { false, FT_INT, "ID" }, { false, FT_STRING_NOT_LOCALIZED, "ClientPrefix" }, { false, FT_STRING_NOT_LOCALIZED, "ClientFileString" }, { false, FT_STRING, "Name" }, @@ -1241,47 +1244,52 @@ struct ChrRacesLoadInfo { false, FT_STRING, "NameFemaleL" }, { false, FT_STRING, "NameLowercaseL" }, { false, FT_STRING, "NameFemaleLowercaseL" }, - { false, FT_INT, "ID" }, { true, FT_INT, "Flags" }, - { true, FT_INT, "BaseLanguage" }, + { true, FT_INT, "FactionID" }, + { true, FT_INT, "CinematicSequenceID" }, { true, FT_INT, "ResSicknessSpellID" }, { true, FT_INT, "SplashSoundID" }, + { true, FT_INT, "Alliance" }, + { true, FT_INT, "RaceRelated" }, + { true, FT_INT, "UnalteredVisualRaceID" }, + { true, FT_INT, "DefaultClassID" }, { true, FT_INT, "CreateScreenFileDataID" }, { true, FT_INT, "SelectScreenFileDataID" }, + { true, FT_INT, "NeutralRaceID" }, { true, FT_INT, "LowResScreenFileDataID" }, - { false, FT_INT, "AlteredFormStartVisualKitID1" }, - { false, FT_INT, "AlteredFormStartVisualKitID2" }, - { false, FT_INT, "AlteredFormStartVisualKitID3" }, - { false, FT_INT, "AlteredFormFinishVisualKitID1" }, - { false, FT_INT, "AlteredFormFinishVisualKitID2" }, - { false, FT_INT, "AlteredFormFinishVisualKitID3" }, + { true, FT_INT, "AlteredFormStartVisualKitID1" }, + { true, FT_INT, "AlteredFormStartVisualKitID2" }, + { true, FT_INT, "AlteredFormStartVisualKitID3" }, + { true, FT_INT, "AlteredFormFinishVisualKitID1" }, + { true, FT_INT, "AlteredFormFinishVisualKitID2" }, + { true, FT_INT, "AlteredFormFinishVisualKitID3" }, { true, FT_INT, "HeritageArmorAchievementID" }, { true, FT_INT, "StartingLevel" }, { true, FT_INT, "UiDisplayOrder" }, + { true, FT_INT, "MaleModelFallbackRaceID" }, + { true, FT_INT, "FemaleModelFallbackRaceID" }, + { true, FT_INT, "MaleTextureFallbackRaceID" }, + { true, FT_INT, "FemaleTextureFallbackRaceID" }, { true, FT_INT, "PlayableRaceBit" }, { true, FT_INT, "HelmetAnimScalingRaceID" }, { true, FT_INT, "TransmogrifyDisabledSlotMask" }, + { true, FT_INT, "UnalteredVisualCustomizationRaceID" }, { false, FT_FLOAT, "AlteredFormCustomizeOffsetFallback1" }, { false, FT_FLOAT, "AlteredFormCustomizeOffsetFallback2" }, { false, FT_FLOAT, "AlteredFormCustomizeOffsetFallback3" }, { false, FT_FLOAT, "AlteredFormCustomizeRotationFallback" }, - { true, FT_SHORT, "FactionID" }, - { true, FT_SHORT, "CinematicSequenceID" }, + { false, FT_FLOAT, "Unknown910_11" }, + { false, FT_FLOAT, "Unknown910_12" }, + { false, FT_FLOAT, "Unknown910_13" }, + { false, FT_FLOAT, "Unknown910_21" }, + { false, FT_FLOAT, "Unknown910_22" }, + { false, FT_FLOAT, "Unknown910_23" }, + { true, FT_BYTE, "BaseLanguage" }, { true, FT_BYTE, "CreatureType" }, - { true, FT_BYTE, "Alliance" }, - { true, FT_BYTE, "RaceRelated" }, - { true, FT_BYTE, "UnalteredVisualRaceID" }, - { true, FT_BYTE, "DefaultClassID" }, - { true, FT_BYTE, "NeutralRaceID" }, - { true, FT_BYTE, "MaleModelFallbackRaceID" }, { true, FT_BYTE, "MaleModelFallbackSex" }, - { true, FT_BYTE, "FemaleModelFallbackRaceID" }, { true, FT_BYTE, "FemaleModelFallbackSex" }, - { true, FT_BYTE, "MaleTextureFallbackRaceID" }, { true, FT_BYTE, "MaleTextureFallbackSex" }, - { true, FT_BYTE, "FemaleTextureFallbackRaceID" }, { true, FT_BYTE, "FemaleTextureFallbackSex" }, - { true, FT_BYTE, "UnalteredVisualCustomizationRaceID" }, }; static DB2LoadInfo const loadInfo(&fields[0], std::extent<decltype(fields)>::value, ChrRacesMeta::Instance(), HOTFIX_SEL_CHR_RACES); return &loadInfo; @@ -1387,7 +1395,8 @@ struct ContentTuningXExpectedLoadInfo { { false, FT_INT, "ID" }, { true, FT_INT, "ExpectedStatModID" }, - { true, FT_INT, "MythicPlusSeasonID" }, + { true, FT_INT, "MinMythicPlusSeasonID" }, + { true, FT_INT, "MaxMythicPlusSeasonID" }, { false, FT_INT, "ContentTuningID" }, }; static DB2LoadInfo const loadInfo(&fields[0], std::extent<decltype(fields)>::value, ContentTuningXExpectedMeta::Instance(), HOTFIX_SEL_CONTENT_TUNING_X_EXPECTED); @@ -1761,7 +1770,7 @@ struct DungeonEncounterLoadInfo { true, FT_INT, "CompleteWorldStateID" }, { true, FT_BYTE, "Bit" }, { true, FT_INT, "CreatureDisplayID" }, - { false, FT_BYTE, "Flags" }, + { true, FT_INT, "Flags" }, { true, FT_INT, "SpellIconFileID" }, { true, FT_INT, "Faction" }, }; @@ -1933,13 +1942,13 @@ struct FactionLoadInfo { static DB2FieldMeta const fields[] = { + { false, FT_INT, "ID" }, { true, FT_LONG, "ReputationRaceMask1" }, { true, FT_LONG, "ReputationRaceMask2" }, { true, FT_LONG, "ReputationRaceMask3" }, { true, FT_LONG, "ReputationRaceMask4" }, { false, FT_STRING, "Name" }, { false, FT_STRING, "Description" }, - { false, FT_INT, "ID" }, { true, FT_SHORT, "ReputationIndex" }, { false, FT_SHORT, "ParentFactionID" }, { false, FT_BYTE, "Expansion" }, @@ -2098,9 +2107,9 @@ struct GarrAbilityLoadInfo { static DB2FieldMeta const fields[] = { + { false, FT_INT, "ID" }, { false, FT_STRING, "Name" }, { false, FT_STRING, "Description" }, - { false, FT_INT, "ID" }, { false, FT_BYTE, "GarrAbilityCategoryID" }, { false, FT_BYTE, "GarrFollowerTypeID" }, { true, FT_INT, "IconFileDataID" }, @@ -2173,10 +2182,10 @@ struct GarrClassSpecLoadInfo { static DB2FieldMeta const fields[] = { + { false, FT_INT, "ID" }, { false, FT_STRING, "ClassSpec" }, { false, FT_STRING, "ClassSpecMale" }, { false, FT_STRING, "ClassSpecFemale" }, - { false, FT_INT, "ID" }, { false, FT_SHORT, "UiTextureAtlasMemberID" }, { false, FT_SHORT, "GarrFollItemSetID" }, { false, FT_BYTE, "FollowerClassLimit" }, @@ -2193,10 +2202,10 @@ struct GarrFollowerLoadInfo { static DB2FieldMeta const fields[] = { + { false, FT_INT, "ID" }, { false, FT_STRING, "HordeSourceText" }, { false, FT_STRING, "AllianceSourceText" }, { false, FT_STRING, "TitleName" }, - { false, FT_INT, "ID" }, { false, FT_BYTE, "GarrTypeID" }, { false, FT_BYTE, "GarrFollowerTypeID" }, { true, FT_INT, "HordeCreatureID" }, @@ -2991,7 +3000,6 @@ struct ItemEffectLoadInfo { false, FT_SHORT, "SpellCategoryID" }, { true, FT_INT, "SpellID" }, { false, FT_SHORT, "ChrSpecializationID" }, - { false, FT_INT, "ParentItemID" }, }; static DB2LoadInfo const loadInfo(&fields[0], std::extent<decltype(fields)>::value, ItemEffectMeta::Instance(), HOTFIX_SEL_ITEM_EFFECT); return &loadInfo; @@ -3189,11 +3197,11 @@ struct ItemSearchNameLoadInfo { static DB2FieldMeta const fields[] = { + { false, FT_INT, "ID" }, { true, FT_LONG, "AllowableRace" }, { false, FT_STRING, "Display" }, - { false, FT_INT, "ID" }, { false, FT_BYTE, "OverallQualityID" }, - { false, FT_BYTE, "ExpansionID" }, + { true, FT_INT, "ExpansionID" }, { false, FT_SHORT, "MinFactionID" }, { false, FT_BYTE, "MinReputation" }, { true, FT_INT, "AllowableClass" }, @@ -3276,7 +3284,9 @@ struct ItemSparseLoadInfo { false, FT_STRING, "Display2" }, { false, FT_STRING, "Display1" }, { false, FT_STRING, "Display" }, + { true, FT_INT, "ExpansionID" }, { false, FT_FLOAT, "DmgVariance" }, + { true, FT_INT, "InstanceBound" }, { false, FT_INT, "DurationInInventory" }, { false, FT_FLOAT, "QualityModifier" }, { false, FT_INT, "BagFamily" }, @@ -3324,7 +3334,6 @@ struct ItemSparseLoadInfo { false, FT_SHORT, "GemProperties" }, { false, FT_SHORT, "SocketMatchEnchantmentId" }, { false, FT_SHORT, "TotemCategoryID" }, - { false, FT_SHORT, "InstanceBound" }, { false, FT_SHORT, "ZoneBound1" }, { false, FT_SHORT, "ZoneBound2" }, { false, FT_SHORT, "ItemSet" }, @@ -3337,7 +3346,6 @@ struct ItemSparseLoadInfo { false, FT_SHORT, "RequiredSkill" }, { false, FT_SHORT, "ItemLevel" }, { true, FT_SHORT, "AllowableClass" }, - { false, FT_BYTE, "ExpansionID" }, { false, FT_BYTE, "ArtifactID" }, { false, FT_BYTE, "SpellWeight" }, { false, FT_BYTE, "SpellWeightCategory" }, @@ -3422,6 +3430,21 @@ struct ItemXBonusTreeLoadInfo } }; +struct ItemXItemEffectLoadInfo +{ + static DB2LoadInfo const* Instance() + { + static DB2FieldMeta const fields[] = + { + { false, FT_INT, "ID" }, + { true, FT_INT, "ItemEffectID" }, + { false, FT_INT, "ItemID" }, + }; + static DB2LoadInfo const loadInfo(&fields[0], std::extent<decltype(fields)>::value, ItemXItemEffectMeta::Instance(), HOTFIX_SEL_ITEM_X_ITEM_EFFECT); + return &loadInfo; + } +}; + struct KeychainLoadInfo { static DB2LoadInfo const* Instance() @@ -3488,8 +3511,8 @@ struct LanguagesLoadInfo { static DB2FieldMeta const fields[] = { - { false, FT_STRING, "Name" }, { false, FT_INT, "ID" }, + { false, FT_STRING, "Name" }, }; static DB2LoadInfo const loadInfo(&fields[0], std::extent<decltype(fields)>::value, LanguagesMeta::Instance(), HOTFIX_SEL_LANGUAGES); return &loadInfo; @@ -3703,7 +3726,6 @@ struct MapLoadInfo { false, FT_INT, "ID" }, { false, FT_STRING_NOT_LOCALIZED, "Directory" }, { false, FT_STRING, "MapName" }, - { false, FT_STRING_NOT_LOCALIZED, "InternalName" }, { false, FT_STRING, "MapDescription0" }, { false, FT_STRING, "MapDescription1" }, { false, FT_STRING, "PvpShortDescription" }, @@ -3786,7 +3808,7 @@ struct ModifierTreeLoadInfo { true, FT_INT, "Type" }, { true, FT_INT, "Asset" }, { true, FT_INT, "SecondaryAsset" }, - { true, FT_BYTE, "TertiaryAsset" }, + { true, FT_INT, "TertiaryAsset" }, }; static DB2LoadInfo const loadInfo(&fields[0], std::extent<decltype(fields)>::value, ModifierTreeMeta::Instance(), HOTFIX_SEL_MODIFIER_TREE); return &loadInfo; @@ -3996,7 +4018,7 @@ struct ParagonReputationLoadInfo static DB2FieldMeta const fields[] = { { false, FT_INT, "ID" }, - { false, FT_INT, "FactionID" }, + { true, FT_INT, "FactionID" }, { true, FT_INT, "LevelThreshold" }, { true, FT_INT, "QuestID" }, }; @@ -4040,9 +4062,9 @@ struct PlayerConditionLoadInfo { static DB2FieldMeta const fields[] = { + { false, FT_INT, "ID" }, { true, FT_LONG, "RaceMask" }, { false, FT_STRING, "FailureDescription" }, - { false, FT_INT, "ID" }, { true, FT_INT, "ClassMask" }, { false, FT_INT, "SkillLogic" }, { true, FT_INT, "LanguageID" }, @@ -5043,6 +5065,7 @@ struct SpellEffectLoadInfo { false, FT_FLOAT, "ResourceCoefficient" }, { false, FT_FLOAT, "GroupSizeBasePointsCoefficient" }, { false, FT_FLOAT, "EffectBasePoints" }, + { true, FT_INT, "ScalingClass" }, { true, FT_INT, "EffectMiscValue1" }, { true, FT_INT, "EffectMiscValue2" }, { false, FT_INT, "EffectRadiusIndex1" }, @@ -5117,9 +5140,9 @@ struct SpellItemEnchantmentLoadInfo { static DB2FieldMeta const fields[] = { + { false, FT_INT, "ID" }, { false, FT_STRING, "Name" }, { false, FT_STRING, "HordeName" }, - { false, FT_INT, "ID" }, { false, FT_INT, "EffectArg1" }, { false, FT_INT, "EffectArg2" }, { false, FT_INT, "EffectArg3" }, @@ -5452,7 +5475,6 @@ struct SpellScalingLoadInfo { { false, FT_INT, "ID" }, { true, FT_INT, "SpellID" }, - { true, FT_INT, "Class" }, { false, FT_INT, "MinScalingLevel" }, { false, FT_INT, "MaxScalingLevel" }, { true, FT_SHORT, "ScalesFromItemLevel" }, @@ -5582,7 +5604,7 @@ struct SpellXSpellVisualLoadInfo { false, FT_BYTE, "DifficultyID" }, { false, FT_INT, "SpellVisualID" }, { false, FT_FLOAT, "Probability" }, - { false, FT_BYTE, "Priority" }, + { true, FT_INT, "Priority" }, { true, FT_INT, "SpellIconFileID" }, { true, FT_INT, "ActiveIconFileID" }, { false, FT_SHORT, "ViewerUnitConditionID" }, @@ -5832,8 +5854,8 @@ struct TransmogSetGroupLoadInfo { static DB2FieldMeta const fields[] = { - { false, FT_STRING, "Name" }, { false, FT_INT, "ID" }, + { false, FT_STRING, "Name" }, }; static DB2LoadInfo const loadInfo(&fields[0], std::extent<decltype(fields)>::value, TransmogSetGroupMeta::Instance(), HOTFIX_SEL_TRANSMOG_SET_GROUP); return &loadInfo; diff --git a/src/server/game/DataStores/DB2Metadata.h b/src/server/game/DataStores/DB2Metadata.h index 5812d998246..0200e833757 100644 --- a/src/server/game/DataStores/DB2Metadata.h +++ b/src/server/game/DataStores/DB2Metadata.h @@ -127,9 +127,8 @@ struct AlliedRaceMeta { static DB2Meta const* Instance() { - static DB2MetaField const fields[9] = + static DB2MetaField const fields[8] = { - { FT_INT, 1, false }, { FT_INT, 1, true }, { FT_INT, 1, true }, { FT_INT, 1, true }, @@ -139,7 +138,7 @@ struct AlliedRaceMeta { FT_INT, 1, true }, { FT_INT, 1, true }, }; - static DB2Meta instance(1710672, 0, 9, 9, 0xCAF97110, fields, -1); + static DB2Meta instance(1710672, -1, 8, 8, 0xA1956399, fields, -1); return &instance; } }; @@ -485,7 +484,7 @@ struct AreaPOIMeta { static DB2Meta const* Instance() { - static DB2MetaField const fields[18] = + static DB2MetaField const fields[20] = { { FT_STRING, 1, true }, { FT_STRING, 1, true }, @@ -498,15 +497,17 @@ struct AreaPOIMeta { FT_INT, 1, true }, { FT_INT, 1, true }, { FT_INT, 1, true }, + { FT_INT, 1, false }, { FT_SHORT, 1, false }, { FT_SHORT, 1, true }, { FT_SHORT, 1, false }, { FT_SHORT, 1, false }, { FT_SHORT, 1, false }, + { FT_SHORT, 1, false }, { FT_BYTE, 1, false }, { FT_BYTE, 1, false }, }; - static DB2Meta instance(1000630, 2, 18, 18, 0xD546D302, fields, 11); + static DB2Meta instance(1000630, 2, 20, 20, 0x5D6364F6, fields, 12); return &instance; } }; @@ -662,13 +663,12 @@ struct ArenaCcItemMeta { static DB2Meta const* Instance() { - static DB2MetaField const fields[3] = + static DB2MetaField const fields[2] = { - { FT_INT, 1, false }, { FT_INT, 1, true }, { FT_INT, 1, true }, }; - static DB2Meta instance(3849793, 0, 3, 2, 0x8611CEBF, fields, 2); + static DB2Meta instance(3849793, -1, 2, 1, 0x7C16FFBA, fields, 1); return &instance; } }; @@ -708,7 +708,7 @@ struct ArtifactMeta { FT_INT, 1, false }, { FT_INT, 1, false }, }; - static DB2Meta instance(1007934, 1, 11, 11, 0x3174093A, fields, -1); + static DB2Meta instance(1007934, 1, 11, 11, 0x0419BFC6, fields, -1); return &instance; } }; @@ -757,7 +757,7 @@ struct ArtifactAppearanceSetMeta { FT_BYTE, 1, false }, { FT_BYTE, 1, false }, }; - static DB2Meta instance(1116408, 2, 9, 8, 0x397003CA, fields, 8); + static DB2Meta instance(1116408, 2, 9, 8, 0x73827201, fields, 8); return &instance; } }; @@ -936,14 +936,13 @@ struct AzeriteEssenceMeta { static DB2Meta const* Instance() { - static DB2MetaField const fields[4] = + static DB2MetaField const fields[3] = { { FT_STRING, 1, true }, { FT_STRING, 1, true }, - { FT_INT, 1, false }, { FT_INT, 1, true }, }; - static DB2Meta instance(2829665, 2, 4, 4, 0xF67EFD79, fields, -1); + static DB2Meta instance(2829665, -1, 3, 3, 0xEE17576C, fields, -1); return &instance; } }; @@ -985,15 +984,14 @@ struct AzeriteItemMilestonePowerMeta { static DB2Meta const* Instance() { - static DB2MetaField const fields[5] = + static DB2MetaField const fields[4] = { - { FT_INT, 1, false }, { FT_INT, 1, true }, { FT_INT, 1, true }, { FT_INT, 1, true }, { FT_INT, 1, true }, }; - static DB2Meta instance(1915395, 0, 5, 5, 0x492EA86B, fields, -1); + static DB2Meta instance(1915395, -1, 4, 4, 0x2686FEB4, fields, -1); return &instance; } }; @@ -1137,18 +1135,17 @@ struct BarberShopStyleMeta { static DB2Meta const* Instance() { - static DB2MetaField const fields[8] = + static DB2MetaField const fields[7] = { { FT_STRING, 1, true }, { FT_STRING, 1, true }, - { FT_INT, 1, false }, { FT_BYTE, 1, false }, { FT_FLOAT, 1, true }, { FT_BYTE, 1, false }, { FT_BYTE, 1, false }, { FT_BYTE, 1, false }, }; - static DB2Meta instance(1237437, 2, 8, 8, 0x4AA6B25C, fields, -1); + static DB2Meta instance(1237437, -1, 7, 7, 0x62CBDE2B, fields, -1); return &instance; } }; @@ -1191,7 +1188,7 @@ struct BattlePetAbilityMeta { FT_SHORT, 1, false }, { FT_BYTE, 1, false }, }; - static DB2Meta instance(841610, -1, 7, 7, 0x7BF6E30A, fields, -1); + static DB2Meta instance(841610, -1, 7, 7, 0x1A4DC74F, fields, -1); return &instance; } }; @@ -1255,9 +1252,9 @@ struct BattlePetBreedQualityMeta static DB2MetaField const fields[2] = { { FT_FLOAT, 1, true }, - { FT_BYTE, 1, false }, + { FT_BYTE, 1, true }, }; - static DB2Meta instance(801578, -1, 2, 2, 0xAFB434F3, fields, -1); + static DB2Meta instance(801578, -1, 2, 2, 0x36ACF8C7, fields, -1); return &instance; } }; @@ -1285,10 +1282,10 @@ struct BattlePetDisplayOverrideMeta { { FT_INT, 1, false }, { FT_INT, 1, false }, - { FT_INT, 1, false }, { FT_BYTE, 1, false }, + { FT_INT, 1, true }, }; - static DB2Meta instance(1802988, -1, 4, 4, 0x7A75AAF8, fields, -1); + static DB2Meta instance(1802988, -1, 4, 3, 0x19434855, fields, 3); return &instance; } }; @@ -1333,14 +1330,14 @@ struct BattlePetSpeciesMeta { FT_INT, 1, true }, { FT_INT, 1, true }, { FT_INT, 1, true }, - { FT_BYTE, 1, false }, + { FT_BYTE, 1, true }, { FT_SHORT, 1, false }, { FT_BYTE, 1, true }, { FT_INT, 1, true }, { FT_INT, 1, true }, { FT_INT, 1, true }, }; - static DB2Meta instance(841622, 2, 12, 12, 0x33F39540, fields, -1); + static DB2Meta instance(841622, 2, 12, 12, 0x05692893, fields, -1); return &instance; } }; @@ -1371,7 +1368,7 @@ struct BattlePetSpeciesXAbilityMeta { FT_BYTE, 1, true }, { FT_SHORT, 1, false }, }; - static DB2Meta instance(801582, -1, 4, 3, 0xE27BBDC8, fields, 3); + static DB2Meta instance(801582, -1, 4, 3, 0x6446E9E9, fields, 3); return &instance; } }; @@ -1523,16 +1520,15 @@ struct BountyMeta { static DB2Meta const* Instance() { - static DB2MetaField const fields[6] = + static DB2MetaField const fields[5] = { - { FT_INT, 1, false }, { FT_INT, 1, true }, { FT_SHORT, 1, false }, { FT_INT, 1, false }, { FT_INT, 1, false }, { FT_BYTE, 1, false }, }; - static DB2Meta instance(1367866, 0, 6, 5, 0x66D9FE53, fields, 5); + static DB2Meta instance(1367866, -1, 5, 4, 0x3EF2E7BC, fields, 4); return &instance; } }; @@ -1569,7 +1565,7 @@ struct BroadcastTextMeta { FT_SHORT, 3, false }, { FT_SHORT, 3, false }, }; - static DB2Meta instance(841604, 2, 11, 11, 0x762EC396, fields, -1); + static DB2Meta instance(841604, 2, 11, 11, 0x47DAC81A, fields, -1); return &instance; } }; @@ -1657,12 +1653,11 @@ struct CampaignMeta { static DB2Meta const* Instance() { - static DB2MetaField const fields[12] = + static DB2MetaField const fields[11] = { { FT_STRING, 1, true }, { FT_STRING_NOT_LOCALIZED, 1, true }, { FT_STRING, 1, true }, - { FT_INT, 1, false }, { FT_INT, 1, true }, { FT_INT, 1, true }, { FT_INT, 1, true }, @@ -1672,7 +1667,7 @@ struct CampaignMeta { FT_INT, 1, true }, { FT_INT, 1, false }, }; - static DB2Meta instance(2031607, 3, 12, 12, 0xA6065A95, fields, -1); + static DB2Meta instance(2031607, -1, 11, 11, 0x14B351BB, fields, -1); return &instance; } }; @@ -1727,10 +1722,9 @@ struct CelestialBodyMeta { static DB2Meta const* Instance() { - static DB2MetaField const fields[15] = + static DB2MetaField const fields[14] = { { FT_FLOAT, 3, true }, - { FT_INT, 1, false }, { FT_INT, 1, true }, { FT_FLOAT, 1, true }, { FT_INT, 1, true }, @@ -1745,7 +1739,7 @@ struct CelestialBodyMeta { FT_FLOAT, 2, true }, { FT_FLOAT, 2, true }, }; - static DB2Meta instance(1592470, 1, 15, 15, 0xB9732DAC, fields, -1); + static DB2Meta instance(1592470, -1, 14, 14, 0x2A19926D, fields, -1); return &instance; } }; @@ -1922,25 +1916,6 @@ struct CharSectionConditionMeta } }; -struct CharSectionsMeta -{ - static DB2Meta const* Instance() - { - static DB2MetaField const fields[7] = - { - { FT_BYTE, 1, true }, - { FT_BYTE, 1, true }, - { FT_BYTE, 1, true }, - { FT_BYTE, 1, true }, - { FT_BYTE, 1, true }, - { FT_SHORT, 1, true }, - { FT_INT, 3, true }, - }; - static DB2Meta instance(1365366, -1, 7, 7, 0xF2BF29D4, fields, -1); - return &instance; - } -}; - struct CharShipmentMeta { static DB2Meta const* Instance() @@ -1994,10 +1969,12 @@ struct CharStartKitMeta { static DB2Meta const* Instance() { - static DB2MetaField const fields[14] = + static DB2MetaField const fields[16] = { { FT_STRING, 1, true }, { FT_FLOAT, 3, true }, + { FT_FLOAT, 3, true }, + { FT_FLOAT, 3, true }, { FT_BYTE, 1, false }, { FT_INT, 1, true }, { FT_INT, 1, true }, @@ -2011,7 +1988,7 @@ struct CharStartKitMeta { FT_INT, 1, true }, { FT_BYTE, 1, false }, }; - static DB2Meta instance(3055696, -1, 14, 13, 0xF22C193E, fields, 13); + static DB2Meta instance(3055696, -1, 16, 15, 0x25F9934B, fields, 15); return &instance; } }; @@ -2055,11 +2032,11 @@ struct CharacterLoadoutMeta static DB2MetaField const fields[4] = { { FT_LONG, 1, true }, - { FT_INT, 1, false }, + { FT_BYTE, 1, true }, { FT_BYTE, 1, true }, { FT_BYTE, 1, true }, }; - static DB2Meta instance(1344281, 1, 4, 4, 0x7BA6DD4F, fields, -1); + static DB2Meta instance(1344281, -1, 4, 4, 0x29A2A261, fields, -1); return &instance; } }; @@ -2121,16 +2098,15 @@ struct ChatChannelsMeta { static DB2Meta const* Instance() { - static DB2MetaField const fields[6] = + static DB2MetaField const fields[5] = { { FT_STRING, 1, true }, { FT_STRING, 1, true }, - { FT_INT, 1, false }, { FT_INT, 1, true }, { FT_BYTE, 1, true }, { FT_INT, 1, true }, }; - static DB2Meta instance(1345278, 2, 6, 6, 0x331D8CF2, fields, -1); + static DB2Meta instance(1345278, -1, 5, 5, 0x4613E027, fields, -1); return &instance; } }; @@ -2332,14 +2308,13 @@ struct ChrCustClientChoiceConversionMeta { static DB2Meta const* Instance() { - static DB2MetaField const fields[4] = + static DB2MetaField const fields[3] = { - { FT_INT, 1, false }, { FT_INT, 1, true }, { FT_INT, 1, true }, { FT_INT, 1, true }, }; - static DB2Meta instance(3590348, 0, 4, 3, 0x531DD388, fields, 3); + static DB2Meta instance(3590348, -1, 3, 2, 0xB0E0D3ED, fields, 2); return &instance; } }; @@ -2363,10 +2338,9 @@ struct ChrCustomizationMeta { static DB2Meta const* Instance() { - static DB2MetaField const fields[8] = + static DB2MetaField const fields[7] = { { FT_STRING, 1, true }, - { FT_INT, 1, false }, { FT_INT, 1, true }, { FT_INT, 1, true }, { FT_INT, 1, true }, @@ -2374,7 +2348,7 @@ struct ChrCustomizationMeta { FT_INT, 3, true }, { FT_INT, 1, true }, }; - static DB2Meta instance(1611874, 1, 8, 7, 0xCE94DFDA, fields, 7); + static DB2Meta instance(1611874, -1, 7, 6, 0x25807B05, fields, 6); return &instance; } }; @@ -2397,10 +2371,9 @@ struct ChrCustomizationCategoryMeta { static DB2Meta const* Instance() { - static DB2MetaField const fields[9] = + static DB2MetaField const fields[8] = { { FT_STRING, 1, true }, - { FT_INT, 1, false }, { FT_INT, 1, true }, { FT_INT, 1, true }, { FT_INT, 1, true }, @@ -2409,7 +2382,7 @@ struct ChrCustomizationCategoryMeta { FT_INT, 1, true }, { FT_FLOAT, 1, true }, }; - static DB2Meta instance(3526439, 1, 9, 9, 0x69C90AAA, fields, -1); + static DB2Meta instance(3526439, -1, 8, 8, 0x32F1F57F, fields, -1); return &instance; } }; @@ -2418,19 +2391,18 @@ struct ChrCustomizationChoiceMeta { static DB2Meta const* Instance() { - static DB2MetaField const fields[9] = + static DB2MetaField const fields[8] = { { FT_STRING, 1, true }, { FT_INT, 1, false }, { FT_INT, 1, true }, { FT_INT, 1, true }, { FT_SHORT, 1, false }, - { FT_INT, 1, true }, - { FT_INT, 1, true }, { FT_SHORT, 1, false }, { FT_INT, 1, true }, + { FT_INT, 2, true }, }; - static DB2Meta instance(3450554, 1, 9, 9, 0x5E646924, fields, 2); + static DB2Meta instance(3450554, 1, 8, 8, 0xE8148293, fields, 2); return &instance; } }; @@ -2472,15 +2444,14 @@ struct ChrCustomizationDisplayInfoMeta { static DB2Meta const* Instance() { - static DB2MetaField const fields[5] = + static DB2MetaField const fields[4] = { - { FT_INT, 1, false }, { FT_INT, 1, true }, { FT_INT, 1, true }, { FT_FLOAT, 1, true }, { FT_FLOAT, 1, true }, }; - static DB2Meta instance(3593032, 0, 5, 5, 0xE662481C, fields, -1); + static DB2Meta instance(3593032, -1, 4, 4, 0xA6A36361, fields, -1); return &instance; } }; @@ -2489,9 +2460,8 @@ struct ChrCustomizationElementMeta { static DB2Meta const* Instance() { - static DB2MetaField const fields[10] = + static DB2MetaField const fields[9] = { - { FT_INT, 1, false }, { FT_INT, 1, true }, { FT_INT, 1, true }, { FT_INT, 1, true }, @@ -2502,7 +2472,7 @@ struct ChrCustomizationElementMeta { FT_INT, 1, true }, { FT_INT, 1, true }, }; - static DB2Meta instance(3512765, 0, 10, 10, 0x23DA3D78, fields, -1); + static DB2Meta instance(3512765, -1, 9, 9, 0x6E9CF39B, fields, -1); return &instance; } }; @@ -2526,13 +2496,12 @@ struct ChrCustomizationMaterialMeta { static DB2Meta const* Instance() { - static DB2MetaField const fields[3] = + static DB2MetaField const fields[2] = { - { FT_INT, 1, false }, { FT_INT, 1, true }, { FT_INT, 1, true }, }; - static DB2Meta instance(3459652, 0, 3, 3, 0x25D08F0C, fields, -1); + static DB2Meta instance(3459652, -1, 2, 2, 0xE2C530AB, fields, -1); return &instance; } }; @@ -2565,16 +2534,15 @@ struct ChrCustomizationReqMeta { static DB2Meta const* Instance() { - static DB2MetaField const fields[6] = + static DB2MetaField const fields[5] = { - { FT_INT, 1, false }, { FT_INT, 1, true }, { FT_INT, 1, true }, { FT_INT, 1, true }, { FT_INT, 1, true }, { FT_INT, 1, true }, }; - static DB2Meta instance(3450453, 0, 6, 6, 0xEA6C595F, fields, -1); + static DB2Meta instance(3450453, -1, 5, 5, 0x4C4F8982, fields, -1); return &instance; } }; @@ -2613,7 +2581,7 @@ struct ChrModelMeta { static DB2Meta const* Instance() { - static DB2MetaField const fields[16] = + static DB2MetaField const fields[17] = { { FT_FLOAT, 3, true }, { FT_FLOAT, 3, true }, @@ -2631,8 +2599,9 @@ struct ChrModelMeta { FT_FLOAT, 1, true }, { FT_FLOAT, 1, true }, { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, }; - static DB2Meta instance(3384313, 2, 16, 16, 0xE62BB49C, fields, -1); + static DB2Meta instance(3384313, 2, 17, 17, 0xA621ABEF, fields, -1); return &instance; } }; @@ -2660,9 +2629,8 @@ struct ChrModelTextureLayerMeta { static DB2Meta const* Instance() { - static DB2MetaField const fields[9] = + static DB2MetaField const fields[8] = { - { FT_INT, 1, false }, { FT_INT, 1, true }, { FT_INT, 1, true }, { FT_INT, 1, true }, @@ -2672,20 +2640,7 @@ struct ChrModelTextureLayerMeta { FT_INT, 2, true }, { FT_INT, 1, true }, }; - static DB2Meta instance(3548976, 0, 9, 8, 0xB6E31714, fields, 8); - return &instance; - } -}; - -struct ChrModelTextureTargetMeta -{ - static DB2Meta const* Instance() - { - static DB2MetaField const fields[1] = - { - { FT_INT, 1, false }, - }; - static DB2Meta instance(3536417, 0, 1, 1, 0x28EBA06A, fields, -1); + static DB2Meta instance(3548976, -1, 8, 7, 0xEDDA06AD, fields, 7); return &instance; } }; @@ -2726,7 +2681,7 @@ struct ChrRacesMeta { static DB2Meta const* Instance() { - static DB2MetaField const fields[50] = + static DB2MetaField const fields[51] = { { FT_STRING_NOT_LOCALIZED, 1, true }, { FT_STRING_NOT_LOCALIZED, 1, true }, @@ -2743,7 +2698,6 @@ struct ChrRacesMeta { 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 }, @@ -2751,8 +2705,19 @@ struct ChrRacesMeta { FT_INT, 1, true }, { FT_INT, 1, true }, { FT_INT, 1, true }, - { FT_INT, 3, false }, - { FT_INT, 3, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 3, true }, + { FT_INT, 3, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, { FT_INT, 1, true }, { FT_INT, 1, true }, { FT_INT, 1, true }, @@ -2761,17 +2726,8 @@ struct ChrRacesMeta { FT_INT, 1, true }, { FT_FLOAT, 3, true }, { FT_FLOAT, 1, true }, - { FT_SHORT, 1, true }, - { FT_SHORT, 1, true }, - { FT_BYTE, 1, true }, - { FT_BYTE, 1, true }, - { FT_BYTE, 1, true }, - { FT_BYTE, 1, true }, - { FT_BYTE, 1, true }, - { FT_BYTE, 1, true }, - { FT_BYTE, 1, true }, - { FT_BYTE, 1, true }, - { FT_BYTE, 1, true }, + { FT_FLOAT, 3, true }, + { FT_FLOAT, 3, true }, { FT_BYTE, 1, true }, { FT_BYTE, 1, true }, { FT_BYTE, 1, true }, @@ -2779,7 +2735,7 @@ struct ChrRacesMeta { FT_BYTE, 1, true }, { FT_BYTE, 1, true }, }; - static DB2Meta instance(1305311, 15, 50, 50, 0x85A50CA9, fields, -1); + static DB2Meta instance(1305311, -1, 51, 51, 0x0F5197A5, fields, -1); return &instance; } }; @@ -3008,13 +2964,12 @@ struct CommunityIconMeta { static DB2Meta const* Instance() { - static DB2MetaField const fields[3] = + static DB2MetaField const fields[2] = { - { FT_INT, 1, false }, { FT_INT, 1, true }, { FT_INT, 1, true }, }; - static DB2Meta instance(2098645, 0, 3, 3, 0xA20A2758, fields, -1); + static DB2Meta instance(2098645, -1, 2, 2, 0xE873E553, fields, -1); return &instance; } }; @@ -3084,9 +3039,8 @@ struct ContentTuningMeta { static DB2Meta const* Instance() { - static DB2MetaField const fields[12] = + static DB2MetaField const fields[11] = { - { FT_INT, 1, false }, { FT_INT, 1, true }, { FT_INT, 1, true }, { FT_INT, 1, true }, @@ -3099,7 +3053,7 @@ struct ContentTuningMeta { FT_INT, 1, true }, { FT_INT, 1, true }, }; - static DB2Meta instance(1962930, 0, 12, 12, 0x7802E330, fields, -1); + static DB2Meta instance(1962930, -1, 11, 11, 0x0FE5997F, fields, -1); return &instance; } }; @@ -3108,13 +3062,14 @@ struct ContentTuningXExpectedMeta { static DB2Meta const* Instance() { - static DB2MetaField const fields[3] = + static DB2MetaField const fields[4] = { { FT_INT, 1, true }, { FT_INT, 1, true }, { FT_INT, 1, true }, + { FT_INT, 1, true }, }; - static DB2Meta instance(2976765, -1, 3, 2, 0x157D6C1D, fields, 2); + static DB2Meta instance(2976765, -1, 4, 3, 0x6AA7B304, fields, 3); return &instance; } }; @@ -3123,17 +3078,16 @@ struct ContributionMeta { static DB2Meta const* Instance() { - static DB2MetaField const fields[7] = + static DB2MetaField const fields[6] = { { FT_STRING, 1, true }, { FT_STRING, 1, true }, - { FT_INT, 1, false }, { FT_INT, 1, true }, { FT_INT, 1, true }, { FT_INT, 1, true }, { FT_INT, 4, true }, }; - static DB2Meta instance(1587153, 2, 7, 7, 0x6D42FEB5, fields, 3); + static DB2Meta instance(1587153, -1, 6, 6, 0x13D1FB22, fields, 2); return &instance; } }; @@ -3214,14 +3168,14 @@ struct CovenantMeta { { FT_STRING, 1, true }, { FT_STRING, 1, true }, - { FT_INT, 1, false }, + { FT_INT, 1, true }, { FT_INT, 1, true }, { FT_INT, 1, true }, { FT_INT, 1, true }, { FT_INT, 1, true }, { FT_INT, 1, true }, }; - static DB2Meta instance(3384973, 2, 8, 8, 0x551DD981, fields, -1); + static DB2Meta instance(3384973, -1, 8, 8, 0x5762356B, fields, -1); return &instance; } }; @@ -3253,11 +3207,8 @@ struct CreatureDifficultyMeta { static DB2Meta const* Instance() { - static DB2MetaField const fields[9] = + static DB2MetaField const fields[6] = { - { FT_BYTE, 1, true }, - { FT_BYTE, 1, true }, - { FT_BYTE, 1, true }, { FT_INT, 1, true }, { FT_INT, 1, true }, { FT_SHORT, 1, false }, @@ -3265,7 +3216,7 @@ struct CreatureDifficultyMeta { FT_INT, 8, true }, { FT_INT, 1, true }, }; - static DB2Meta instance(879282, -1, 9, 8, 0x592C0350, fields, 8); + static DB2Meta instance(879282, -1, 6, 5, 0xA9DFA592, fields, 5); return &instance; } }; @@ -3316,7 +3267,7 @@ struct CreatureDisplayInfoMeta { FT_BYTE, 1, true }, { FT_INT, 3, true }, }; - static DB2Meta instance(1108759, 0, 25, 25, 0x96D440DE, fields, -1); + static DB2Meta instance(1108759, 0, 25, 25, 0x899324AA, fields, -1); return &instance; } }; @@ -3336,7 +3287,7 @@ struct CreatureDisplayInfoCondMeta { FT_INT, 3, true }, { FT_INT, 1, true }, }; - static DB2Meta instance(1332686, 1, 8, 7, 0x0AA29755, fields, 7); + static DB2Meta instance(1332686, 1, 8, 7, 0x0A0D2C2D, fields, 7); return &instance; } }; @@ -3603,13 +3554,12 @@ struct CreatureXContributionMeta { static DB2Meta const* Instance() { - static DB2MetaField const fields[3] = + static DB2MetaField const fields[2] = { - { FT_INT, 1, false }, { FT_INT, 1, true }, { FT_INT, 1, true }, }; - static DB2Meta instance(1587158, 0, 3, 2, 0x30BC09DD, fields, 2); + static DB2Meta instance(1587158, -1, 2, 1, 0x5D2C00A2, fields, 1); return &instance; } }; @@ -3814,9 +3764,8 @@ struct DecalPropertiesMeta { static DB2Meta const* Instance() { - static DB2MetaField const fields[22] = + static DB2MetaField const fields[21] = { - { FT_INT, 1, false }, { FT_INT, 1, true }, { FT_INT, 1, true }, { FT_INT, 1, true }, @@ -3839,7 +3788,7 @@ struct DecalPropertiesMeta { FT_FLOAT, 4, true }, { FT_FLOAT, 4, true }, }; - static DB2Meta instance(1278176, 0, 22, 22, 0xF090CC1E, fields, -1); + static DB2Meta instance(1278176, -1, 21, 21, 0x5B1091EF, fields, -1); return &instance; } }; @@ -4020,11 +3969,11 @@ struct DungeonEncounterMeta { FT_INT, 1, true }, { FT_BYTE, 1, true }, { FT_INT, 1, true }, - { FT_BYTE, 1, false }, + { FT_INT, 1, true }, { FT_INT, 1, true }, { FT_INT, 1, true }, }; - static DB2Meta instance(1347279, 1, 11, 11, 0x5BFA4FD8, fields, 2); + static DB2Meta instance(1347279, 1, 11, 11, 0x9BF480A9, fields, 2); return &instance; } }; @@ -4166,18 +4115,17 @@ struct ExhaustionMeta { static DB2Meta const* Instance() { - static DB2MetaField const fields[8] = + static DB2MetaField const fields[7] = { { FT_STRING, 1, true }, { FT_STRING_NOT_LOCALIZED, 1, true }, - { FT_INT, 1, false }, { FT_INT, 1, true }, { FT_FLOAT, 1, true }, { FT_FLOAT, 1, true }, { FT_FLOAT, 1, true }, { FT_FLOAT, 1, true }, }; - static DB2Meta instance(1343313, 2, 8, 8, 0x5C1273E4, fields, -1); + static DB2Meta instance(1343313, -1, 7, 7, 0x309E7201, fields, -1); return &instance; } }; @@ -4230,17 +4178,16 @@ struct ExtraAbilityInfoMeta { static DB2Meta const* Instance() { - static DB2MetaField const fields[7] = + static DB2MetaField const fields[6] = { { FT_STRING, 1, true }, - { FT_INT, 1, false }, { FT_INT, 1, true }, { FT_INT, 1, true }, { FT_INT, 1, true }, { FT_INT, 1, true }, { FT_INT, 1, true }, }; - static DB2Meta instance(3527889, 1, 7, 7, 0x1DEAB5A7, fields, 2); + static DB2Meta instance(3527889, -1, 6, 6, 0xE6971680, fields, 1); return &instance; } }; @@ -4249,12 +4196,11 @@ struct FactionMeta { static DB2Meta const* Instance() { - static DB2MetaField const fields[16] = + static DB2MetaField const fields[15] = { { FT_LONG, 4, true }, { FT_STRING, 1, true }, { FT_STRING, 1, true }, - { FT_INT, 1, false }, { FT_SHORT, 1, true }, { FT_SHORT, 1, false }, { FT_BYTE, 1, false }, @@ -4268,7 +4214,7 @@ struct FactionMeta { FT_FLOAT, 2, true }, { FT_BYTE, 2, false }, }; - static DB2Meta instance(1361972, 3, 16, 16, 0x451E56EC, fields, -1); + static DB2Meta instance(1361972, -1, 15, 15, 0xCA98EC6B, fields, -1); return &instance; } }; @@ -4277,16 +4223,15 @@ struct FactionGroupMeta { static DB2Meta const* Instance() { - static DB2MetaField const fields[6] = + static DB2MetaField const fields[5] = { { FT_STRING_NOT_LOCALIZED, 1, true }, { FT_STRING, 1, true }, - { FT_INT, 1, false }, { FT_BYTE, 1, false }, { FT_INT, 1, true }, { FT_INT, 1, true }, }; - static DB2Meta instance(1343595, 2, 6, 6, 0x23EDF09E, fields, -1); + static DB2Meta instance(1343595, -1, 5, 5, 0x57C52A03, fields, -1); return &instance; } }; @@ -4370,7 +4315,7 @@ struct FriendshipReputationMeta { FT_INT, 1, true }, { FT_INT, 1, true }, }; - static DB2Meta instance(1237639, 3, 7, 7, 0x64BEFE10, fields, -1); + static DB2Meta instance(1237639, 3, 7, 7, 0x3E4022DF, fields, -1); return &instance; } }; @@ -4473,12 +4418,11 @@ struct GameClockDebugMeta { static DB2Meta const* Instance() { - static DB2MetaField const fields[2] = + static DB2MetaField const fields[1] = { - { FT_INT, 1, false }, { FT_INT, 1, true }, }; - static DB2Meta instance(2922072, 0, 2, 2, 0x1E5DD1EB, fields, -1); + static DB2Meta instance(2922072, -1, 1, 1, 0x5209FB2C, fields, -1); return &instance; } }; @@ -4623,18 +4567,17 @@ struct GarrAbilityMeta { static DB2Meta const* Instance() { - static DB2MetaField const fields[8] = + static DB2MetaField const fields[7] = { { FT_STRING, 1, true }, { FT_STRING, 1, true }, - { FT_INT, 1, false }, { FT_BYTE, 1, false }, { FT_BYTE, 1, false }, { FT_INT, 1, true }, { FT_SHORT, 1, false }, { FT_SHORT, 1, false }, }; - static DB2Meta instance(966238, 2, 8, 8, 0x5DBA4191, fields, -1); + static DB2Meta instance(966238, -1, 7, 7, 0x23F759A6, fields, -1); return &instance; } }; @@ -4680,9 +4623,8 @@ struct GarrAutoCombatantMeta { static DB2Meta const* Instance() { - static DB2MetaField const fields[10] = + static DB2MetaField const fields[9] = { - { FT_INT, 1, false }, { FT_INT, 1, true }, { FT_INT, 1, true }, { FT_INT, 1, true }, @@ -4693,7 +4635,7 @@ struct GarrAutoCombatantMeta { FT_INT, 1, true }, { FT_INT, 1, true }, }; - static DB2Meta instance(3305399, 0, 10, 10, 0xBC77BB9B, fields, -1); + static DB2Meta instance(3305399, -1, 9, 9, 0x9FDF8374, fields, -1); return &instance; } }; @@ -4702,18 +4644,17 @@ struct GarrAutoSpellMeta { static DB2Meta const* Instance() { - static DB2MetaField const fields[8] = + static DB2MetaField const fields[7] = { { FT_STRING, 1, true }, { FT_STRING, 1, true }, - { FT_INT, 1, false }, { FT_INT, 1, true }, { FT_INT, 1, true }, { FT_INT, 1, true }, { FT_INT, 1, true }, { FT_INT, 1, true }, }; - static DB2Meta instance(3305400, 2, 8, 8, 0xDFD06B4A, fields, -1); + static DB2Meta instance(3305400, -1, 7, 7, 0xEC12D90F, fields, -1); return &instance; } }; @@ -4812,18 +4753,17 @@ struct GarrClassSpecMeta { static DB2Meta const* Instance() { - static DB2MetaField const fields[8] = + static DB2MetaField const fields[7] = { { FT_STRING, 1, true }, { FT_STRING, 1, true }, { FT_STRING, 1, true }, - { FT_INT, 1, false }, { FT_SHORT, 1, false }, { FT_SHORT, 1, false }, { FT_BYTE, 1, false }, { FT_BYTE, 1, false }, }; - static DB2Meta instance(981570, 3, 8, 8, 0xB90D2171, fields, -1); + static DB2Meta instance(981570, -1, 7, 7, 0x43CB5203, fields, -1); return &instance; } }; @@ -4850,10 +4790,9 @@ struct GarrEncounterMeta { static DB2Meta const* Instance() { - static DB2MetaField const fields[9] = + static DB2MetaField const fields[8] = { { FT_STRING, 1, true }, - { FT_INT, 1, false }, { FT_INT, 1, true }, { FT_INT, 1, true }, { FT_INT, 1, false }, @@ -4862,7 +4801,7 @@ struct GarrEncounterMeta { FT_INT, 1, true }, { FT_INT, 1, true }, }; - static DB2Meta instance(975304, 1, 9, 9, 0x785239C5, fields, -1); + static DB2Meta instance(975304, -1, 8, 8, 0x8F348804, fields, -1); return &instance; } }; @@ -4877,7 +4816,7 @@ struct GarrEncounterSetXEncounterMeta { FT_INT, 1, false }, { FT_INT, 1, false }, }; - static DB2Meta instance(1354772, 0, 3, 2, 0x9DFCF560, fields, 2); + static DB2Meta instance(1354772, 0, 3, 2, 0x98BBF3BC, fields, 2); return &instance; } }; @@ -4933,12 +4872,11 @@ struct GarrFollowerMeta { static DB2Meta const* Instance() { - static DB2MetaField const fields[34] = + static DB2MetaField const fields[33] = { { FT_STRING, 1, true }, { FT_STRING, 1, true }, { FT_STRING, 1, true }, - { FT_INT, 1, false }, { FT_BYTE, 1, false }, { FT_BYTE, 1, false }, { FT_INT, 1, true }, @@ -4970,7 +4908,7 @@ struct GarrFollowerMeta { FT_INT, 1, true }, { FT_INT, 1, true }, }; - static DB2Meta instance(949906, 3, 34, 34, 0x712646FC, fields, -1); + static DB2Meta instance(949906, -1, 33, 33, 0xA8F69527, fields, -1); return &instance; } }; @@ -5081,15 +5019,14 @@ struct GarrItemLevelUpgradeDataMeta { static DB2Meta const* Instance() { - static DB2MetaField const fields[5] = + static DB2MetaField const fields[4] = { - { FT_INT, 1, false }, { FT_INT, 1, true }, { FT_INT, 1, true }, { FT_INT, 1, true }, { FT_INT, 1, true }, }; - static DB2Meta instance(1572314, 0, 5, 5, 0x13566AC6, fields, -1); + static DB2Meta instance(1572314, -1, 4, 4, 0x16C36383, fields, -1); return &instance; } }; @@ -5128,15 +5065,14 @@ struct GarrMechanicTypeMeta { static DB2Meta const* Instance() { - static DB2MetaField const fields[5] = + static DB2MetaField const fields[4] = { { FT_STRING, 1, true }, { FT_STRING, 1, true }, - { FT_INT, 1, false }, { FT_INT, 1, true }, { FT_BYTE, 1, false }, }; - static DB2Meta instance(967964, 2, 5, 5, 0x28057312, fields, -1); + static DB2Meta instance(967964, -1, 4, 4, 0x855960B1, fields, -1); return &instance; } }; @@ -5145,14 +5081,13 @@ struct GarrMissionMeta { static DB2Meta const* Instance() { - static DB2MetaField const fields[32] = + static DB2MetaField const fields[31] = { { FT_STRING, 1, true }, { FT_STRING, 1, true }, { FT_STRING, 1, true }, { FT_FLOAT, 2, true }, { FT_FLOAT, 2, true }, - { FT_INT, 1, false }, { FT_BYTE, 1, false }, { FT_BYTE, 1, false }, { FT_BYTE, 1, false }, @@ -5180,7 +5115,7 @@ struct GarrMissionMeta { FT_INT, 1, true }, { FT_INT, 1, true }, }; - static DB2Meta instance(967962, 5, 32, 32, 0x09B91DB9, fields, 17); + static DB2Meta instance(967962, -1, 31, 31, 0xF35C1992, fields, 16); return &instance; } }; @@ -5236,16 +5171,15 @@ struct GarrMissionXEncounterMeta { static DB2Meta const* Instance() { - static DB2MetaField const fields[6] = + static DB2MetaField const fields[5] = { { FT_INT, 1, false }, { FT_INT, 1, false }, - { FT_INT, 1, false }, { FT_BYTE, 1, false }, { FT_BYTE, 1, true }, { FT_INT, 1, true }, }; - static DB2Meta instance(967960, 0, 6, 5, 0x2926B50E, fields, 5); + static DB2Meta instance(967960, -1, 5, 4, 0x7D04FB3D, fields, 4); return &instance; } }; @@ -5494,11 +5428,16 @@ struct GarrTalentRankMeta { static DB2Meta const* Instance() { - static DB2MetaField const fields[12] = + static DB2MetaField const fields[17] = { { FT_INT, 1, true }, { FT_INT, 1, true }, { FT_INT, 1, true }, + { FT_FLOAT, 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 }, @@ -5509,7 +5448,7 @@ struct GarrTalentRankMeta { FT_INT, 1, true }, { FT_INT, 1, true }, }; - static DB2Meta instance(3069763, -1, 12, 11, 0x572E1310, fields, 11); + static DB2Meta instance(3069763, -1, 17, 16, 0x97D67140, fields, 16); return &instance; } }; @@ -5555,7 +5494,6 @@ struct GarrTalentTreeMeta static DB2MetaField const fields[12] = { { FT_STRING, 1, true }, - { FT_INT, 1, false }, { FT_INT, 1, true }, { FT_INT, 1, true }, { FT_BYTE, 1, true }, @@ -5566,8 +5504,9 @@ struct GarrTalentTreeMeta { FT_INT, 1, true }, { FT_INT, 1, true }, { FT_INT, 1, true }, + { FT_INT, 1, true }, }; - static DB2Meta instance(1361030, 1, 12, 12, 0xA9265795, fields, -1); + static DB2Meta instance(1361030, -1, 12, 12, 0x248B373E, fields, -1); return &instance; } }; @@ -5677,31 +5616,45 @@ struct GlobalGameContentTuningMeta } }; -struct GlobalStringsMeta +struct GlobalPlayerConditionMeta { static DB2Meta const* Instance() { - static DB2MetaField const fields[3] = + static DB2MetaField const fields[2] = { - { FT_STRING_NOT_LOCALIZED, 1, true }, - { FT_STRING, 1, true }, - { FT_BYTE, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, }; - static DB2Meta instance(1394440, -1, 3, 3, 0x9F2B05C5, fields, -1); + static DB2Meta instance(4082838, -1, 2, 1, 0x8DFACE83, fields, 1); return &instance; } }; -struct GlobalTable_PlayerConditionMeta +struct GlobalPlayerConditionSetMeta { static DB2Meta const* Instance() { static DB2MetaField const fields[2] = { - { FT_INT, 1, true }, + { FT_INT, 1, false }, { FT_INT, 1, true }, }; - static DB2Meta instance(3476011, -1, 2, 2, 0x331A6B6C, fields, -1); + static DB2Meta instance(4082839, 0, 2, 2, 0x91FD6A7C, fields, -1); + return &instance; + } +}; + +struct GlobalStringsMeta +{ + static DB2Meta const* Instance() + { + static DB2MetaField const fields[3] = + { + { FT_STRING_NOT_LOCALIZED, 1, true }, + { FT_STRING, 1, true }, + { FT_BYTE, 1, false }, + }; + static DB2Meta instance(1394440, -1, 3, 3, 0x9F2B05C5, fields, -1); return &instance; } }; @@ -5767,14 +5720,13 @@ struct GossipXUIDisplayInfoMeta { static DB2Meta const* Instance() { - static DB2MetaField const fields[4] = + static DB2MetaField const fields[3] = { { FT_STRING, 1, true }, - { FT_INT, 1, false }, { FT_INT, 1, true }, { FT_INT, 1, true }, }; - static DB2Meta instance(3622253, 1, 4, 4, 0xDD005226, fields, -1); + static DB2Meta instance(3622253, -1, 3, 3, 0x78F4B261, fields, -1); return &instance; } }; @@ -6154,9 +6106,8 @@ struct HolidaysMeta { static DB2Meta const* Instance() { - static DB2MetaField const fields[12] = + static DB2MetaField const fields[11] = { - { FT_INT, 1, false }, { FT_SHORT, 1, false }, { FT_BYTE, 1, false }, { FT_INT, 1, false }, @@ -6169,7 +6120,7 @@ struct HolidaysMeta { FT_BYTE, 10, false }, { FT_INT, 3, true }, }; - static DB2Meta instance(996357, 0, 12, 12, 0x07DF2D39, fields, -1); + static DB2Meta instance(996357, -1, 11, 11, 0x36898004, fields, -1); return &instance; } }; @@ -6300,7 +6251,7 @@ struct ItemAppearanceMeta { FT_INT, 1, true }, { FT_INT, 1, true }, }; - static DB2Meta instance(982462, -1, 5, 5, 0x02129C17, fields, -1); + static DB2Meta instance(982462, -1, 5, 5, 0x50445CDB, fields, -1); return &instance; } }; @@ -6409,11 +6360,12 @@ struct ItemBonusListGroupMeta { static DB2Meta const* Instance() { - static DB2MetaField const fields[1] = + static DB2MetaField const fields[2] = { { FT_INT, 1, true }, + { FT_INT, 1, true }, }; - static DB2Meta instance(3755382, -1, 1, 1, 0x25BF4C79, fields, -1); + static DB2Meta instance(3755382, -1, 2, 2, 0xD8C7D35E, fields, -1); return &instance; } }; @@ -6578,14 +6530,13 @@ struct ItemCurrencyValueMeta { static DB2Meta const* Instance() { - static DB2MetaField const fields[4] = + static DB2MetaField const fields[3] = { - { FT_INT, 1, false }, { FT_INT, 1, true }, { FT_INT, 4, true }, { FT_INT, 1, true }, }; - static DB2Meta instance(3755770, 0, 4, 3, 0xD411AFA8, fields, 3); + static DB2Meta instance(3755770, -1, 3, 2, 0x0317B705, fields, 2); return &instance; } }; @@ -6739,7 +6690,7 @@ struct ItemEffectMeta { static DB2Meta const* Instance() { - static DB2MetaField const fields[9] = + static DB2MetaField const fields[8] = { { FT_BYTE, 1, false }, { FT_BYTE, 1, true }, @@ -6749,9 +6700,8 @@ struct ItemEffectMeta { FT_SHORT, 1, false }, { FT_INT, 1, true }, { FT_SHORT, 1, false }, - { FT_INT, 1, true }, }; - static DB2Meta instance(969941, -1, 9, 8, 0xE3E95759, fields, 8); + static DB2Meta instance(969941, -1, 8, 8, 0x54C10519, fields, -1); return &instance; } }; @@ -6992,13 +6942,12 @@ struct ItemSearchNameMeta { static DB2Meta const* Instance() { - static DB2MetaField const fields[14] = + static DB2MetaField const fields[13] = { { FT_LONG, 1, true }, { FT_STRING, 1, true }, - { FT_INT, 1, false }, - { FT_BYTE, 1, false }, { FT_BYTE, 1, false }, + { FT_INT, 1, true }, { FT_SHORT, 1, false }, { FT_BYTE, 1, false }, { FT_INT, 1, true }, @@ -7009,7 +6958,7 @@ struct ItemSearchNameMeta { FT_SHORT, 1, false }, { FT_INT, 4, true }, }; - static DB2Meta instance(1273408, 2, 14, 14, 0xA5ED136F, fields, -1); + static DB2Meta instance(1273408, -1, 13, 13, 0x91DAD283, fields, -1); return &instance; } }; @@ -7059,7 +7008,9 @@ struct ItemSparseMeta { FT_STRING, 1, true }, { FT_STRING, 1, true }, { FT_STRING, 1, true }, + { FT_INT, 1, true }, { FT_FLOAT, 1, true }, + { FT_INT, 1, true }, { FT_INT, 1, false }, { FT_FLOAT, 1, true }, { FT_INT, 1, false }, @@ -7086,7 +7037,6 @@ struct ItemSparseMeta { FT_SHORT, 1, false }, { FT_SHORT, 1, false }, { FT_SHORT, 1, false }, - { FT_SHORT, 1, false }, { FT_SHORT, 2, false }, { FT_SHORT, 1, false }, { FT_SHORT, 1, false }, @@ -7101,7 +7051,6 @@ struct ItemSparseMeta { FT_BYTE, 1, false }, { FT_BYTE, 1, false }, { FT_BYTE, 1, false }, - { FT_BYTE, 1, false }, { FT_BYTE, 3, false }, { FT_BYTE, 1, false }, { FT_BYTE, 1, false }, @@ -7118,7 +7067,7 @@ struct ItemSparseMeta { FT_BYTE, 1, false }, { FT_BYTE, 1, false }, }; - static DB2Meta instance(1572924, -1, 64, 64, 0x12CC2F52, fields, -1); + static DB2Meta instance(1572924, -1, 64, 64, 0x12EE4DFE, fields, -1); return &instance; } }; @@ -7173,7 +7122,7 @@ struct ItemSubClassMeta { FT_BYTE, 1, true }, { FT_BYTE, 1, true }, }; - static DB2Meta instance(1261604, 2, 11, 11, 0x2EDFDAA6, fields, 3); + static DB2Meta instance(1261604, 2, 11, 11, 0xCE3533A2, fields, 3); return &instance; } }; @@ -7197,11 +7146,13 @@ struct ItemVisualsMeta { static DB2Meta const* Instance() { - static DB2MetaField const fields[1] = + static DB2MetaField const fields[3] = { + { FT_INT, 1, true }, + { FT_INT, 1, true }, { FT_INT, 5, true }, }; - static DB2Meta instance(1343605, -1, 1, 1, 0x8BDC2A63, fields, -1); + static DB2Meta instance(1343605, -1, 3, 3, 0xC4001121, fields, -1); return &instance; } }; @@ -7271,7 +7222,7 @@ struct JournalEncounterMeta { FT_BYTE, 1, false }, { FT_BYTE, 1, true }, }; - static DB2Meta instance(1240336, 3, 12, 12, 0x7D6A99D0, fields, -1); + static DB2Meta instance(1240336, 3, 12, 12, 0xE3E5FC84, fields, -1); return &instance; } }; @@ -7309,7 +7260,7 @@ struct JournalEncounterItemMeta { FT_BYTE, 1, false }, { FT_BYTE, 1, true }, }; - static DB2Meta instance(1344467, 0, 6, 6, 0x003A0C63, fields, 1); + static DB2Meta instance(1344467, 0, 6, 6, 0xD9CA2B4E, fields, 1); return &instance; } }; @@ -7376,11 +7327,10 @@ struct JournalInstanceMeta { static DB2Meta const* Instance() { - static DB2MetaField const fields[11] = + static DB2MetaField const fields[10] = { { FT_STRING, 1, true }, { FT_STRING, 1, true }, - { FT_INT, 1, false }, { FT_SHORT, 1, false }, { FT_INT, 1, true }, { FT_INT, 1, true }, @@ -7390,7 +7340,7 @@ struct JournalInstanceMeta { FT_BYTE, 1, false }, { FT_SHORT, 1, false }, }; - static DB2Meta instance(1237438, 2, 11, 11, 0xEB2E3026, fields, -1); + static DB2Meta instance(1237438, -1, 10, 10, 0x4C0A3947, fields, -1); return &instance; } }; @@ -7468,14 +7418,13 @@ struct KeystoneAffixMeta { static DB2Meta const* Instance() { - static DB2MetaField const fields[4] = + static DB2MetaField const fields[3] = { { FT_STRING, 1, true }, { FT_STRING, 1, true }, - { FT_INT, 1, false }, { FT_INT, 1, true }, }; - static DB2Meta instance(1344761, 2, 4, 4, 0x6A1F8517, fields, -1); + static DB2Meta instance(1344761, -1, 3, 3, 0xF5F1EB34, fields, -1); return &instance; } }; @@ -7570,12 +7519,11 @@ struct LanguagesMeta { static DB2Meta const* Instance() { - static DB2MetaField const fields[2] = + static DB2MetaField const fields[1] = { { FT_STRING, 1, true }, - { FT_INT, 1, false }, }; - static DB2Meta instance(1135325, 1, 2, 2, 0x8DD4A016, fields, -1); + static DB2Meta instance(1135325, -1, 1, 1, 0x1AC95960, fields, -1); return &instance; } }; @@ -7616,7 +7564,7 @@ struct LightDataMeta { static DB2Meta const* Instance() { - static DB2MetaField const fields[40] = + static DB2MetaField const fields[45] = { { FT_SHORT, 1, false }, { FT_SHORT, 1, false }, @@ -7647,19 +7595,24 @@ struct LightDataMeta { FT_FLOAT, 1, true }, { FT_FLOAT, 1, true }, { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, { FT_INT, 1, false }, { FT_INT, 1, false }, { FT_INT, 1, true }, { FT_INT, 1, true }, { FT_INT, 1, false }, { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, { FT_INT, 1, false }, { FT_FLOAT, 1, true }, { FT_INT, 1, false }, + { FT_INT, 1, false }, + { FT_FLOAT, 4, true }, { FT_FLOAT, 4, true }, { FT_FLOAT, 4, true }, }; - static DB2Meta instance(1375580, -1, 40, 40, 0x14259798, fields, 0); + static DB2Meta instance(1375580, -1, 45, 45, 0x79AC7C4B, fields, 0); return &instance; } }; @@ -7668,10 +7621,9 @@ struct LightParamsMeta { static DB2Meta const* Instance() { - static DB2MetaField const fields[12] = + static DB2MetaField const fields[11] = { { FT_FLOAT, 3, true }, - { FT_INT, 1, false }, { FT_BYTE, 1, false }, { FT_SHORT, 1, false }, { FT_BYTE, 1, false }, @@ -7683,7 +7635,7 @@ struct LightParamsMeta { FT_INT, 1, true }, { FT_INT, 1, true }, }; - static DB2Meta instance(1334669, 1, 12, 12, 0xC7A9808E, fields, -1); + static DB2Meta instance(1334669, -1, 11, 11, 0x99BB0B6F, fields, -1); return &instance; } }; @@ -7934,16 +7886,15 @@ struct LockTypeMeta { static DB2Meta const* Instance() { - static DB2MetaField const fields[6] = + static DB2MetaField const fields[5] = { { FT_STRING, 1, true }, { FT_STRING, 1, true }, { FT_STRING, 1, true }, { FT_STRING_NOT_LOCALIZED, 1, true }, - { FT_INT, 1, false }, { FT_INT, 1, true }, }; - static DB2Meta instance(1284823, 4, 6, 6, 0xC811899B, fields, -1); + static DB2Meta instance(1284823, -1, 5, 5, 0x13BBE77C, fields, -1); return &instance; } }; @@ -7988,7 +7939,7 @@ struct LoreTextMeta { FT_STRING, 1, true }, { FT_INT, 1, true }, }; - static DB2Meta instance(3311370, -1, 3, 3, 0x196A0B3F, fields, -1); + static DB2Meta instance(3311370, -1, 3, 3, 0xBD184A2F, fields, -1); return &instance; } }; @@ -8042,9 +7993,8 @@ struct ManagedWorldStateMeta { static DB2Meta const* Instance() { - static DB2MetaField const fields[11] = + static DB2MetaField const fields[10] = { - { FT_INT, 1, false }, { FT_INT, 1, true }, { FT_INT, 1, true }, { FT_INT, 1, false }, @@ -8056,7 +8006,7 @@ struct ManagedWorldStateMeta { FT_BYTE, 1, true }, { FT_INT, 4, true }, }; - static DB2Meta instance(1587159, 0, 11, 11, 0xD3ADCD94, fields, -1); + static DB2Meta instance(1587159, -1, 10, 10, 0xDAF3789B, fields, -1); return &instance; } }; @@ -8162,11 +8112,10 @@ struct MapMeta { static DB2Meta const* Instance() { - static DB2MetaField const fields[24] = + static DB2MetaField const fields[23] = { { FT_STRING_NOT_LOCALIZED, 1, true }, { FT_STRING, 1, true }, - { FT_STRING_NOT_LOCALIZED, 1, true }, { FT_STRING, 1, true }, { FT_STRING, 1, true }, { FT_STRING, 1, true }, @@ -8189,7 +8138,7 @@ struct MapMeta { FT_INT, 1, true }, { FT_INT, 2, true }, }; - static DB2Meta instance(1349477, -1, 24, 24, 0x793F4E8E, fields, -1); + static DB2Meta instance(1349477, -1, 23, 23, 0xDA9493AF, fields, -1); return &instance; } }; @@ -8222,7 +8171,7 @@ struct MapChallengeModeMeta { FT_INT, 1, false }, { FT_SHORT, 3, true }, }; - static DB2Meta instance(801709, 1, 6, 6, 0x0531FF07, fields, 2); + static DB2Meta instance(801709, 1, 6, 6, 0xAA74ABBB, fields, 2); return &instance; } }; @@ -8448,14 +8397,16 @@ struct ModifiedCraftingReagentItemMeta { static DB2Meta const* Instance() { - static DB2MetaField const fields[4] = + static DB2MetaField const fields[6] = { { FT_STRING, 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(3386487, -1, 4, 4, 0xCC09E623, fields, -1); + static DB2Meta instance(3386487, -1, 6, 6, 0x4CB6DC4C, fields, -1); return &instance; } }; @@ -8464,12 +8415,13 @@ struct ModifiedCraftingReagentSlotMeta { static DB2Meta const* Instance() { - static DB2MetaField const fields[2] = + static DB2MetaField const fields[3] = { { FT_STRING, 1, true }, { FT_INT, 1, true }, + { FT_INT, 1, true }, }; - static DB2Meta instance(3386488, -1, 2, 2, 0x79B765B9, fields, -1); + static DB2Meta instance(3386488, -1, 3, 3, 0xE6F91EEB, fields, -1); return &instance; } }; @@ -8494,12 +8446,11 @@ struct ModifiedReagentItemMeta { static DB2Meta const* Instance() { - static DB2MetaField const fields[2] = + static DB2MetaField const fields[1] = { - { FT_INT, 1, false }, { FT_INT, 1, true }, }; - static DB2Meta instance(3386490, 0, 2, 2, 0x8CB2494F, fields, -1); + static DB2Meta instance(3386490, -1, 1, 1, 0x676F80C2, fields, -1); return &instance; } }; @@ -8516,9 +8467,9 @@ struct ModifierTreeMeta { FT_INT, 1, true }, { FT_INT, 1, true }, { FT_INT, 1, true }, - { FT_BYTE, 1, true }, + { FT_INT, 1, true }, }; - static DB2Meta instance(1267645, -1, 7, 7, 0x6FCCC8E6, fields, -1); + static DB2Meta instance(1267645, -1, 7, 7, 0x0C304A6E, fields, -1); return &instance; } }; @@ -8552,9 +8503,8 @@ struct MountCapabilityMeta { static DB2Meta const* Instance() { - static DB2MetaField const fields[9] = + static DB2MetaField const fields[8] = { - { FT_INT, 1, false }, { FT_BYTE, 1, false }, { FT_SHORT, 1, false }, { FT_SHORT, 1, false }, @@ -8564,7 +8514,7 @@ struct MountCapabilityMeta { FT_SHORT, 1, true }, { FT_INT, 1, true }, }; - static DB2Meta instance(1114709, 0, 9, 9, 0x14576F0D, fields, -1); + static DB2Meta instance(1114709, -1, 8, 8, 0x42F8FEA2, fields, -1); return &instance; } }; @@ -8747,6 +8697,23 @@ struct MythicPlusSeasonRewardLevelsMeta } }; +struct MythicPlusSeasonTrackedAffixMeta +{ + static DB2Meta const* Instance() + { + static DB2MetaField const fields[5] = + { + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + static DB2Meta instance(4067473, 0, 5, 5, 0xC4093695, fields, -1); + return &instance; + } +}; + struct NPCModelItemSlotDisplayInfoMeta { static DB2Meta const* Instance() @@ -8835,14 +8802,13 @@ struct NumTalentsAtLevelMeta { static DB2Meta const* Instance() { - static DB2MetaField const fields[4] = + static DB2MetaField const fields[3] = { - { FT_INT, 1, false }, { FT_INT, 1, true }, { FT_INT, 1, true }, { FT_INT, 1, true }, }; - static DB2Meta instance(1953326, 0, 4, 4, 0x0F173041, fields, -1); + static DB2Meta instance(1953326, -1, 3, 3, 0xF2B2E67A, fields, -1); return &instance; } }; @@ -8902,9 +8868,8 @@ struct OccluderMeta { static DB2Meta const* Instance() { - static DB2MetaField const fields[9] = + static DB2MetaField const fields[8] = { - { FT_INT, 1, false }, { FT_INT, 1, true }, { FT_BYTE, 1, false }, { FT_BYTE, 1, false }, @@ -8914,7 +8879,25 @@ struct OccluderMeta { FT_BYTE, 1, false }, { FT_BYTE, 1, false }, }; - static DB2Meta instance(2066958, 0, 9, 9, 0x5BAE5E78, fields, -1); + static DB2Meta instance(2066958, -1, 8, 8, 0xD7DDC6E9, fields, -1); + return &instance; + } +}; + +struct OccluderCurtainMeta +{ + static DB2Meta const* Instance() + { + static DB2MetaField const fields[6] = + { + { 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(3850529, -1, 6, 6, 0x82B3A9F9, fields, -1); return &instance; } }; @@ -8923,14 +8906,13 @@ struct OccluderLocationMeta { static DB2Meta const* Instance() { - static DB2MetaField const fields[4] = + static DB2MetaField const fields[3] = { { FT_FLOAT, 3, true }, { FT_FLOAT, 3, true }, - { FT_INT, 1, false }, { FT_INT, 1, true }, }; - static DB2Meta instance(2115224, 2, 4, 4, 0xAC2ED558, fields, -1); + static DB2Meta instance(2115224, -1, 3, 3, 0x1E91D675, fields, -1); return &instance; } }; @@ -8939,14 +8921,13 @@ struct OccluderNodeMeta { static DB2Meta const* Instance() { - static DB2MetaField const fields[4] = + static DB2MetaField const fields[3] = { - { FT_INT, 1, false }, { FT_SHORT, 1, false }, { FT_SHORT, 1, true }, { FT_INT, 1, true }, }; - static DB2Meta instance(2066959, 0, 4, 4, 0x899EA7B8, fields, -1); + static DB2Meta instance(2066959, -1, 3, 3, 0xC2344517, fields, -1); return &instance; } }; @@ -9032,14 +9013,13 @@ struct PVPScoreboardCellInfoMeta { static DB2Meta const* Instance() { - static DB2MetaField const fields[4] = + static DB2MetaField const fields[3] = { - { FT_INT, 1, false }, { FT_INT, 1, true }, { FT_INT, 1, true }, { FT_INT, 1, true }, }; - static DB2Meta instance(2992916, 0, 4, 4, 0xD73FB2BF, fields, 1); + static DB2Meta instance(2992916, -1, 3, 3, 0x6D45CD58, fields, 0); return &instance; } }; @@ -9048,14 +9028,13 @@ struct PVPScoreboardColumnHeaderMeta { static DB2Meta const* Instance() { - static DB2MetaField const fields[4] = + static DB2MetaField const fields[3] = { { FT_STRING, 1, true }, { FT_STRING, 1, true }, - { FT_INT, 1, false }, { FT_INT, 1, true }, }; - static DB2Meta instance(2992917, 2, 4, 4, 0xB4340B7C, fields, -1); + static DB2Meta instance(2992917, -1, 3, 3, 0x72A806A9, fields, -1); return &instance; } }; @@ -9064,14 +9043,13 @@ struct PVPScoreboardLayoutMeta { static DB2Meta const* Instance() { - static DB2MetaField const fields[4] = + static DB2MetaField const fields[3] = { - { FT_INT, 1, false }, { FT_INT, 1, true }, { FT_INT, 1, true }, { FT_INT, 1, true }, }; - static DB2Meta instance(2992918, 0, 4, 4, 0x3E838DFD, fields, 1); + static DB2Meta instance(2992918, -1, 3, 3, 0xE53EA902, fields, 0); return &instance; } }; @@ -9125,11 +9103,11 @@ struct ParagonReputationMeta { static DB2MetaField const fields[3] = { - { FT_INT, 1, false }, + { FT_INT, 1, true }, { FT_INT, 1, true }, { FT_INT, 1, true }, }; - static DB2Meta instance(1581183, -1, 3, 3, 0x879782A3, fields, 0); + static DB2Meta instance(1581183, -1, 3, 3, 0xA583D6E0, fields, -1); return &instance; } }; @@ -9217,14 +9195,13 @@ struct PathNodeMeta { static DB2Meta const* Instance() { - static DB2MetaField const fields[4] = + static DB2MetaField const fields[3] = { - { FT_INT, 1, false }, { FT_SHORT, 1, false }, { FT_SHORT, 1, true }, { FT_INT, 1, true }, }; - static DB2Meta instance(801733, 0, 4, 4, 0x899EA7B8, fields, -1); + static DB2Meta instance(801733, -1, 3, 3, 0xC2344517, fields, -1); return &instance; } }; @@ -9233,16 +9210,14 @@ struct PathNodePropertyMeta { static DB2Meta const* Instance() { - static DB2MetaField const fields[6] = + static DB2MetaField const fields[4] = { - { FT_INT, 1, false }, { FT_SHORT, 1, false }, { FT_SHORT, 1, false }, - { FT_INT, 1, true }, { FT_BYTE, 1, false }, { FT_INT, 1, true }, }; - static DB2Meta instance(801734, 0, 6, 6, 0x60412F02, fields, -1); + static DB2Meta instance(801734, -1, 4, 4, 0x2ABD7BED, fields, -1); return &instance; } }; @@ -9251,14 +9226,13 @@ struct PathPropertyMeta { static DB2Meta const* Instance() { - static DB2MetaField const fields[4] = + static DB2MetaField const fields[3] = { - { FT_INT, 1, false }, { FT_SHORT, 1, false }, { FT_BYTE, 1, false }, { FT_INT, 1, true }, }; - static DB2Meta instance(801735, 0, 4, 4, 0xCF5160B6, fields, -1); + static DB2Meta instance(801735, -1, 3, 3, 0xE902514D, fields, -1); return &instance; } }; @@ -9319,11 +9293,10 @@ struct PlayerConditionMeta { static DB2Meta const* Instance() { - static DB2MetaField const fields[81] = + static DB2MetaField const fields[80] = { { FT_LONG, 1, true }, { FT_STRING, 1, true }, - { FT_INT, 1, false }, { FT_INT, 1, true }, { FT_INT, 1, false }, { FT_INT, 1, true }, @@ -9403,7 +9376,7 @@ struct PlayerConditionMeta { FT_INT, 6, false }, { FT_INT, 2, true }, }; - static DB2Meta instance(1045411, 2, 81, 81, 0x19151309, fields, -1); + static DB2Meta instance(1045411, -1, 80, 80, 0xEB346F42, fields, -1); return &instance; } }; @@ -9504,7 +9477,7 @@ struct PowerTypeMeta { FT_FLOAT, 1, true }, { FT_SHORT, 1, true }, }; - static DB2Meta instance(1266022, 2, 13, 13, 0x12BC9258, fields, -1); + static DB2Meta instance(1266022, 2, 13, 13, 0xF9D4B3CC, fields, -1); return &instance; } }; @@ -9530,15 +9503,16 @@ struct PvpBrawlMeta { static DB2Meta const* Instance() { - static DB2MetaField const fields[5] = + static DB2MetaField const fields[6] = { { FT_STRING, 1, true }, { FT_STRING, 1, true }, { FT_STRING, 1, true }, { FT_INT, 1, true }, { FT_INT, 1, true }, + { FT_INT, 1, true }, }; - static DB2Meta instance(1585723, -1, 5, 5, 0xA3BF25B1, fields, -1); + static DB2Meta instance(1585723, -1, 6, 6, 0x965B1EFF, fields, -1); return &instance; } }; @@ -9575,12 +9549,11 @@ struct PvpSeasonMeta { static DB2Meta const* Instance() { - static DB2MetaField const fields[2] = + static DB2MetaField const fields[1] = { - { FT_INT, 1, false }, { FT_INT, 1, true }, }; - static DB2Meta instance(2966426, 0, 2, 2, 0xCEFB693B, fields, -1); + static DB2Meta instance(2966426, -1, 1, 1, 0x757F145A, fields, -1); return &instance; } }; @@ -9617,7 +9590,7 @@ struct PvpTalentMeta { FT_INT, 1, true }, { FT_INT, 1, true }, }; - static DB2Meta instance(1302853, 1, 9, 9, 0xA6A98BD5, fields, 2); + static DB2Meta instance(1302853, 1, 9, 9, 0x9C0D6221, fields, 2); return &instance; } }; @@ -9667,7 +9640,7 @@ struct PvpTierMeta { FT_BYTE, 1, true }, { FT_INT, 1, true }, }; - static DB2Meta instance(2066871, 1, 9, 9, 0xE16BF48A, fields, 6); + static DB2Meta instance(2066871, 1, 9, 9, 0x242D9DC6, fields, 6); return &instance; } }; @@ -9801,7 +9774,7 @@ struct QuestPOIBlobMeta { FT_INT, 1, false }, { FT_INT, 1, false }, }; - static DB2Meta instance(1251882, 0, 9, 9, 0x3C4D1099, fields, 1); + static DB2Meta instance(1251882, 0, 9, 9, 0x303C19ED, fields, 1); return &instance; } }; @@ -9870,12 +9843,11 @@ struct QuestV2CliTaskMeta { static DB2Meta const* Instance() { - static DB2MetaField const fields[25] = + static DB2MetaField const fields[24] = { { FT_LONG, 1, true }, { FT_STRING, 1, true }, { FT_STRING, 1, true }, - { FT_INT, 1, false }, { FT_SHORT, 1, false }, { FT_INT, 1, false }, { FT_INT, 1, false }, @@ -9898,7 +9870,7 @@ struct QuestV2CliTaskMeta { FT_INT, 3, true }, { FT_INT, 3, false }, }; - static DB2Meta instance(1028735, 3, 25, 25, 0x7AE578CB, fields, -1); + static DB2Meta instance(1028735, -1, 24, 24, 0x8E44DE75, fields, -1); return &instance; } }; @@ -9997,13 +9969,12 @@ struct RafActivityMeta { static DB2Meta const* Instance() { - static DB2MetaField const fields[3] = + static DB2MetaField const fields[2] = { - { FT_INT, 1, false }, { FT_INT, 1, true }, { FT_INT, 1, true }, }; - static DB2Meta instance(3081207, 0, 3, 3, 0x39041980, fields, -1); + static DB2Meta instance(3081207, -1, 2, 2, 0x6D12B989, fields, -1); return &instance; } }; @@ -10084,12 +10055,11 @@ struct RenownRewardsMeta { static DB2Meta const* Instance() { - static DB2MetaField const fields[19] = + static DB2MetaField const fields[18] = { { 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 }, @@ -10106,7 +10076,7 @@ struct RenownRewardsMeta { FT_INT, 1, true }, { FT_INT, 1, true }, }; - static DB2Meta instance(3743117, 3, 19, 19, 0xE58AA7BC, fields, 4); + static DB2Meta instance(3743117, -1, 18, 18, 0xD70AF525, fields, 3); return &instance; } }; @@ -10133,13 +10103,12 @@ struct ResearchFieldMeta { static DB2Meta const* Instance() { - static DB2MetaField const fields[3] = + static DB2MetaField const fields[2] = { { FT_STRING, 1, true }, - { FT_INT, 1, false }, { FT_BYTE, 1, false }, }; - static DB2Meta instance(1133711, 1, 3, 3, 0x19E8D6A8, fields, -1); + static DB2Meta instance(1133711, -1, 2, 2, 0xA72372CF, fields, -1); return &instance; } }; @@ -10148,11 +10117,10 @@ struct ResearchProjectMeta { static DB2Meta const* Instance() { - static DB2MetaField const fields[9] = + static DB2MetaField const fields[8] = { { FT_STRING, 1, true }, { FT_STRING, 1, true }, - { FT_INT, 1, false }, { FT_BYTE, 1, false }, { FT_INT, 1, true }, { FT_SHORT, 1, false }, @@ -10160,7 +10128,7 @@ struct ResearchProjectMeta { FT_INT, 1, true }, { FT_INT, 1, false }, }; - static DB2Meta instance(1134090, 2, 9, 9, 0xFD3FD69A, fields, -1); + static DB2Meta instance(1134090, -1, 8, 8, 0x971E1BDD, fields, -1); return &instance; } }; @@ -10286,7 +10254,7 @@ struct RuneforgeLegendaryAbilityMeta { static DB2Meta const* Instance() { - static DB2MetaField const fields[9] = + static DB2MetaField const fields[11] = { { FT_STRING, 1, true }, { FT_INT, 1, false }, @@ -10297,8 +10265,10 @@ struct RuneforgeLegendaryAbilityMeta { FT_INT, 1, true }, { FT_INT, 1, true }, { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, }; - static DB2Meta instance(3500241, 1, 9, 9, 0x61DAAC70, fields, -1); + static DB2Meta instance(3500241, 1, 11, 11, 0x590C5444, fields, -1); return &instance; } }; @@ -10320,9 +10290,8 @@ struct SSAOSettingsMeta { static DB2Meta const* Instance() { - static DB2MetaField const fields[8] = + static DB2MetaField const fields[7] = { - { FT_INT, 1, false }, { FT_FLOAT, 1, true }, { FT_FLOAT, 1, true }, { FT_FLOAT, 1, true }, @@ -10331,7 +10300,7 @@ struct SSAOSettingsMeta { FT_FLOAT, 1, true }, { FT_FLOAT, 1, true }, }; - static DB2Meta instance(2056369, 0, 8, 8, 0xD7975681, fields, -1); + static DB2Meta instance(2056369, -1, 7, 7, 0xDD3608E6, fields, -1); return &instance; } }; @@ -10615,7 +10584,7 @@ struct SkillLineMeta { FT_SHORT, 1, false }, { FT_INT, 1, true }, }; - static DB2Meta instance(1240935, 5, 13, 13, 0xE09DF4B1, fields, -1); + static DB2Meta instance(1240935, 5, 13, 13, 0xF1776F95, fields, -1); return &instance; } }; @@ -10642,7 +10611,7 @@ struct SkillLineAbilityMeta { FT_SHORT, 1, true }, { FT_SHORT, 1, true }, }; - static DB2Meta instance(1266278, 1, 15, 15, 0x765222E5, fields, 2); + static DB2Meta instance(1266278, 1, 15, 15, 0x72CEE0A1, fields, 2); return &instance; } }; @@ -10684,17 +10653,16 @@ struct SoulbindMeta { static DB2Meta const* Instance() { - static DB2MetaField const fields[7] = + static DB2MetaField const fields[6] = { { FT_STRING, 1, true }, - { FT_INT, 1, false }, { FT_INT, 1, true }, { FT_INT, 1, true }, { FT_INT, 1, true }, { FT_INT, 1, true }, { FT_INT, 1, true }, }; - static DB2Meta instance(3488583, 1, 7, 7, 0xD29923C2, fields, -1); + static DB2Meta instance(3488583, -1, 6, 6, 0x18A13B2B, fields, -1); return &instance; } }; @@ -10703,15 +10671,28 @@ struct SoulbindConduitMeta { static DB2Meta const* Instance() { - static DB2MetaField const fields[5] = + static DB2MetaField const fields[4] = { - { FT_INT, 1, false }, { FT_INT, 1, true }, { FT_INT, 1, true }, { FT_INT, 1, true }, { FT_INT, 1, true }, }; - static DB2Meta instance(3594380, 0, 5, 5, 0x6F7E0B02, fields, -1); + static DB2Meta instance(3594380, -1, 4, 4, 0xDBCDBFB7, fields, -1); + return &instance; + } +}; + +struct SoulbindConduitEnhancedSocketMeta +{ + static DB2Meta const* Instance() + { + static DB2MetaField const fields[2] = + { + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + static DB2Meta instance(4069554, -1, 2, 2, 0x194A9825, fields, -1); return &instance; } }; @@ -10765,10 +10746,9 @@ struct SoulbindUIDisplayInfoMeta { static DB2Meta const* Instance() { - static DB2MetaField const fields[9] = + static DB2MetaField const fields[8] = { { FT_STRING, 1, true }, - { FT_INT, 1, false }, { FT_INT, 1, true }, { FT_INT, 1, true }, { FT_INT, 1, true }, @@ -10777,7 +10757,7 @@ struct SoulbindUIDisplayInfoMeta { FT_INT, 1, true }, { FT_INT, 1, true }, }; - static DB2Meta instance(3490472, 1, 9, 9, 0x58274CBA, fields, -1); + static DB2Meta instance(3490472, -1, 8, 8, 0xE343AB5B, fields, -1); return &instance; } }; @@ -10850,7 +10830,7 @@ struct SoundBusOverrideMeta { FT_BYTE, 1, false }, { FT_BYTE, 1, false }, }; - static DB2Meta instance(1598732, 0, 7, 7, 0xDECEC2B1, fields, 1); + static DB2Meta instance(1598732, 0, 7, 7, 0x78B582DD, fields, 1); return &instance; } }; @@ -10944,9 +10924,8 @@ struct SoundKitMeta { static DB2Meta const* Instance() { - static DB2MetaField const fields[16] = + static DB2MetaField const fields[15] = { - { FT_INT, 1, false }, { FT_INT, 1, true }, { FT_FLOAT, 1, true }, { FT_SHORT, 1, false }, @@ -10963,7 +10942,7 @@ struct SoundKitMeta { FT_SHORT, 1, false }, { FT_BYTE, 1, false }, }; - static DB2Meta instance(1237434, 0, 16, 16, 0xC1F36D6B, fields, -1); + static DB2Meta instance(1237434, -1, 15, 15, 0xF1254A02, fields, -1); return &instance; } }; @@ -10972,10 +10951,9 @@ struct SoundKitAdvancedMeta { static DB2Meta const* Instance() { - static DB2MetaField const fields[55] = + static DB2MetaField const fields[56] = { { FT_INT, 1, false }, - { FT_INT, 1, false }, { FT_FLOAT, 1, true }, { FT_FLOAT, 1, true }, { FT_INT, 1, false }, @@ -11029,8 +11007,10 @@ struct SoundKitAdvancedMeta { FT_FLOAT, 1, true }, { FT_FLOAT, 1, true }, { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, + { FT_FLOAT, 1, true }, }; - static DB2Meta instance(1237436, 0, 55, 55, 0x5EF6DD40, fields, -1); + static DB2Meta instance(1237436, -1, 56, 56, 0x812AB943, fields, -1); return &instance; } }; @@ -11159,7 +11139,7 @@ struct SourceInfoMeta { FT_BYTE, 1, true }, { FT_INT, 1, false }, }; - static DB2Meta instance(1313612, -1, 4, 3, 0x1945161B, fields, 3); + static DB2Meta instance(1313612, -1, 4, 3, 0xA1A61C40, fields, 3); return &instance; } }; @@ -11659,7 +11639,7 @@ struct SpellEffectMeta { static DB2Meta const* Instance() { - static DB2MetaField const fields[28] = + static DB2MetaField const fields[29] = { { FT_SHORT, 1, true }, { FT_INT, 1, true }, @@ -11684,13 +11664,14 @@ struct SpellEffectMeta { FT_FLOAT, 1, true }, { FT_FLOAT, 1, true }, { FT_FLOAT, 1, true }, + { FT_INT, 1, true }, { FT_INT, 2, true }, { FT_INT, 2, false }, { FT_INT, 4, true }, { FT_SHORT, 2, true }, { FT_INT, 1, true }, }; - static DB2Meta instance(1140088, -1, 28, 27, 0x8E2EAEB1, fields, 27); + static DB2Meta instance(1140088, -1, 29, 28, 0xFA33A84E, fields, 28); return &instance; } }; @@ -11815,11 +11796,10 @@ struct SpellItemEnchantmentMeta { static DB2Meta const* Instance() { - static DB2MetaField const fields[23] = + static DB2MetaField const fields[22] = { { FT_STRING, 1, true }, { FT_STRING, 1, true }, - { FT_INT, 1, false }, { FT_INT, 3, false }, { FT_FLOAT, 3, true }, { FT_INT, 1, false }, @@ -11841,7 +11821,7 @@ struct SpellItemEnchantmentMeta { FT_BYTE, 1, false }, { FT_BYTE, 1, false }, }; - static DB2Meta instance(1362771, 2, 23, 23, 0x9E09787D, fields, -1); + static DB2Meta instance(1362771, -1, 22, 22, 0x56C62FD8, fields, -1); return &instance; } }; @@ -11868,13 +11848,14 @@ struct SpellKeyboundOverrideMeta { static DB2Meta const* Instance() { - static DB2MetaField const fields[3] = + static DB2MetaField const fields[4] = { { FT_STRING_NOT_LOCALIZED, 1, true }, { FT_BYTE, 1, true }, { FT_INT, 1, true }, + { FT_INT, 1, true }, }; - static DB2Meta instance(1127327, -1, 3, 3, 0x611EB481, fields, -1); + static DB2Meta instance(1127327, -1, 4, 4, 0xEBD9E8B2, fields, -1); return &instance; } }; @@ -12027,12 +12008,13 @@ struct SpellOverrideNameMeta { 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(2618823, -1, 2, 2, 0xB6F641E6, fields, -1); + static DB2Meta instance(2618823, -1, 3, 3, 0x2E13F053, fields, -1); return &instance; } }; @@ -12067,13 +12049,12 @@ struct SpellPowerDifficultyMeta { static DB2Meta const* Instance() { - static DB2MetaField const fields[3] = + static DB2MetaField const fields[2] = { - { FT_INT, 1, false }, { FT_BYTE, 1, false }, { FT_BYTE, 1, false }, }; - static DB2Meta instance(982804, 0, 3, 3, 0x6CF6BAAA, fields, -1); + static DB2Meta instance(982804, -1, 2, 2, 0xF5BB8C39, fields, -1); return &instance; } }; @@ -12082,13 +12063,12 @@ struct SpellProceduralEffectMeta { static DB2Meta const* Instance() { - static DB2MetaField const fields[3] = + static DB2MetaField const fields[2] = { - { FT_INT, 1, false }, { FT_BYTE, 1, true }, { FT_FLOAT, 4, true }, }; - static DB2Meta instance(1140477, 0, 3, 3, 0x41DDE181, fields, -1); + static DB2Meta instance(1140477, -1, 2, 2, 0x2196187C, fields, -1); return &instance; } }; @@ -12190,15 +12170,14 @@ struct SpellScalingMeta { static DB2Meta const* Instance() { - static DB2MetaField const fields[5] = + static DB2MetaField const fields[4] = { { FT_INT, 1, true }, - { FT_INT, 1, true }, { FT_INT, 1, false }, { FT_INT, 1, false }, { FT_SHORT, 1, true }, }; - static DB2Meta instance(1139940, -1, 5, 5, 0x732DE96C, fields, -1); + static DB2Meta instance(1139940, -1, 4, 4, 0x47361722, fields, -1); return &instance; } }; @@ -12207,16 +12186,15 @@ struct SpellScriptMeta { static DB2Meta const* Instance() { - static DB2MetaField const fields[6] = + static DB2MetaField const fields[5] = { { FT_STRING_NOT_LOCALIZED, 1, true }, { FT_STRING_NOT_LOCALIZED, 1, true }, { FT_STRING_NOT_LOCALIZED, 1, true }, - { FT_INT, 1, false }, { FT_INT, 1, true }, { FT_INT, 1, true }, }; - static DB2Meta instance(3055899, 3, 6, 6, 0xA2577E7A, fields, -1); + static DB2Meta instance(3055899, -1, 5, 5, 0xB6E6892D, fields, -1); return &instance; } }; @@ -12345,10 +12323,10 @@ struct SpellVisualMeta { FT_SHORT, 1, false }, { FT_SHORT, 1, false }, { FT_INT, 1, false }, - { FT_INT, 1, true }, { FT_INT, 1, false }, + { FT_INT, 1, true }, }; - static DB2Meta instance(897952, -1, 16, 16, 0xD49A0A98, fields, -1); + static DB2Meta instance(897952, -1, 16, 16, 0x694130F0, fields, -1); return &instance; } }; @@ -12395,7 +12373,7 @@ struct SpellVisualEffectNameMeta { static DB2Meta const* Instance() { - static DB2MetaField const fields[14] = + static DB2MetaField const fields[15] = { { FT_INT, 1, true }, { FT_FLOAT, 1, true }, @@ -12411,8 +12389,9 @@ struct SpellVisualEffectNameMeta { FT_INT, 1, false }, { FT_INT, 1, true }, { FT_INT, 1, true }, + { FT_BYTE, 1, true }, }; - static DB2Meta instance(897948, -1, 14, 14, 0x8AA2AAED, fields, -1); + static DB2Meta instance(897948, -1, 15, 15, 0xFB276656, fields, -1); return &instance; } }; @@ -12492,14 +12471,13 @@ struct SpellVisualKitModelAttachMeta { static DB2Meta const* Instance() { - static DB2MetaField const fields[23] = + static DB2MetaField const fields[22] = { { FT_FLOAT, 3, true }, { FT_FLOAT, 3, true }, - { FT_INT, 1, false }, - { FT_SHORT, 1, false }, - { FT_BYTE, 1, true }, - { FT_SHORT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, { FT_FLOAT, 1, true }, { FT_FLOAT, 1, true }, { FT_FLOAT, 1, true }, @@ -12508,17 +12486,17 @@ struct SpellVisualKitModelAttachMeta { FT_FLOAT, 1, true }, { FT_FLOAT, 1, true }, { FT_FLOAT, 1, true }, - { FT_SHORT, 1, true }, - { FT_SHORT, 1, true }, - { FT_SHORT, 1, true }, - { FT_SHORT, 1, false }, - { FT_BYTE, 1, false }, - { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, { FT_FLOAT, 1, true }, { FT_FLOAT, 1, true }, { FT_INT, 1, true }, }; - static DB2Meta instance(897953, 2, 23, 22, 0xF2BEEF44, fields, 22); + static DB2Meta instance(897953, -1, 22, 21, 0xFF64C814, fields, 21); return &instance; } }; @@ -12527,13 +12505,12 @@ struct SpellVisualKitPickerMeta { static DB2Meta const* Instance() { - static DB2MetaField const fields[3] = + static DB2MetaField const fields[2] = { - { FT_INT, 1, false }, { FT_INT, 1, true }, { FT_INT, 1, true }, }; - static DB2Meta instance(3989478, 0, 3, 3, 0xC1AB1620, fields, -1); + static DB2Meta instance(3989478, -1, 2, 2, 0x9E5A38AF, fields, -1); return &instance; } }; @@ -12542,14 +12519,13 @@ struct SpellVisualKitPickerEntryMeta { static DB2Meta const* Instance() { - static DB2MetaField const fields[4] = + static DB2MetaField const fields[3] = { - { FT_INT, 1, false }, { FT_INT, 1, true }, { FT_FLOAT, 1, true }, { FT_INT, 1, true }, }; - static DB2Meta instance(3989479, 0, 4, 3, 0x94FA5841, fields, 3); + static DB2Meta instance(3989479, -1, 3, 2, 0x51617F2A, fields, 2); return &instance; } }; @@ -12622,7 +12598,7 @@ struct SpellXSpellVisualMeta { FT_BYTE, 1, false }, { FT_INT, 1, false }, { FT_FLOAT, 1, true }, - { FT_BYTE, 1, false }, + { FT_INT, 1, true }, { FT_INT, 1, true }, { FT_INT, 1, true }, { FT_SHORT, 1, false }, @@ -12631,7 +12607,7 @@ struct SpellXSpellVisualMeta { FT_INT, 1, false }, { FT_INT, 1, true }, }; - static DB2Meta instance(1101657, 0, 12, 11, 0xE4509F95, fields, 11); + static DB2Meta instance(1101657, 0, 12, 11, 0x54345358, fields, 11); return &instance; } }; @@ -12766,7 +12742,7 @@ struct TaxiNodesMeta { FT_INT, 1, false }, { FT_INT, 2, true }, }; - static DB2Meta instance(1068100, 4, 15, 15, 0x890762DD, fields, 5); + static DB2Meta instance(1068100, 4, 15, 15, 0x3AFF48F9, fields, 5); return &instance; } }; @@ -12959,17 +12935,16 @@ struct TradeSkillCategoryMeta { static DB2Meta const* Instance() { - static DB2MetaField const fields[7] = + static DB2MetaField const fields[6] = { { FT_STRING, 1, true }, { FT_STRING, 1, true }, - { FT_INT, 1, false }, { FT_SHORT, 1, false }, { FT_SHORT, 1, false }, { FT_SHORT, 1, true }, { FT_BYTE, 1, false }, }; - static DB2Meta instance(1301101, 2, 7, 7, 0xEACBC3D4, fields, -1); + static DB2Meta instance(1301101, -1, 6, 6, 0x37BA768F, fields, -1); return &instance; } }; @@ -13022,12 +12997,11 @@ struct TransmogHolidayMeta { static DB2Meta const* Instance() { - static DB2MetaField const fields[2] = + static DB2MetaField const fields[1] = { - { FT_INT, 1, false }, { FT_INT, 1, true }, }; - static DB2Meta instance(1589454, 0, 2, 2, 0xCDFBE4A2, fields, -1); + static DB2Meta instance(1589454, -1, 1, 1, 0x23739B0B, fields, -1); return &instance; } }; @@ -13069,7 +13043,7 @@ struct TransmogSetMeta { FT_SHORT, 1, true }, { FT_INT, 1, true }, }; - static DB2Meta instance(1376213, 1, 13, 13, 0x502F4275, fields, 7); + static DB2Meta instance(1376213, 1, 13, 13, 0x9D7EC118, fields, 7); return &instance; } }; @@ -13078,12 +13052,11 @@ struct TransmogSetGroupMeta { static DB2Meta const* Instance() { - static DB2MetaField const fields[2] = + static DB2MetaField const fields[1] = { { FT_STRING, 1, true }, - { FT_INT, 1, false }, }; - static DB2Meta instance(1576116, 1, 2, 2, 0x6AB28D48, fields, -1); + static DB2Meta instance(1576116, -1, 1, 1, 0x557543EF, fields, -1); return &instance; } }; @@ -13092,14 +13065,13 @@ struct TransmogSetItemMeta { static DB2Meta const* Instance() { - static DB2MetaField const fields[4] = + static DB2MetaField const fields[3] = { { FT_INT, 1, false }, { FT_INT, 1, false }, - { FT_INT, 1, false }, { FT_INT, 1, true }, }; - static DB2Meta instance(1376212, 0, 4, 4, 0x79E6E5F6, fields, 1); + static DB2Meta instance(1376212, -1, 3, 3, 0x111B9C75, fields, 0); return &instance; } }; @@ -13177,11 +13149,12 @@ struct UIChromieTimeExpansionInfoMeta { static DB2Meta const* Instance() { - static DB2MetaField const fields[10] = + static DB2MetaField const fields[11] = { { FT_STRING, 1, true }, { FT_STRING, 1, true }, - { FT_INT, 1, false }, + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, { FT_INT, 1, true }, { FT_INT, 1, true }, { FT_INT, 1, true }, @@ -13190,7 +13163,7 @@ struct UIChromieTimeExpansionInfoMeta { FT_INT, 1, true }, { FT_INT, 1, true }, }; - static DB2Meta instance(3488582, 2, 10, 10, 0x3EEBBD91, fields, -1); + static DB2Meta instance(3488582, -1, 11, 11, 0x8EA17C93, fields, -1); return &instance; } }; @@ -13239,6 +13212,61 @@ struct UICovenantPreviewMeta } }; +struct UIDungeonScoreRarityMeta +{ + static DB2Meta const* Instance() + { + static DB2MetaField const fields[11] = + { + { FT_INT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + static DB2Meta instance(4065278, 0, 11, 11, 0x09E2483B, fields, -1); + return &instance; + } +}; + +struct UIEventToastMeta +{ + static DB2Meta const* Instance() + { + static DB2MetaField const fields[20] = + { + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_STRING, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + }; + static DB2Meta instance(3946498, -1, 20, 20, 0x47EA22ED, fields, -1); + return &instance; + } +}; + struct UIExpansionDisplayInfoMeta { static DB2Meta const* Instance() @@ -13273,9 +13301,8 @@ struct UIScriptedAnimationEffectMeta { static DB2Meta const* Instance() { - static DB2MetaField const fields[17] = + static DB2MetaField const fields[26] = { - { FT_INT, 1, false }, { FT_INT, 1, true }, { FT_INT, 1, true }, { FT_INT, 1, true }, @@ -13292,8 +13319,18 @@ struct UIScriptedAnimationEffectMeta { FT_FLOAT, 1, true }, { FT_FLOAT, 1, true }, { FT_FLOAT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, }; - static DB2Meta instance(3556601, 0, 17, 17, 0xBBA9C412, fields, -1); + static DB2Meta instance(3556601, -1, 26, 26, 0xFDE3E098, fields, -1); return &instance; } }; @@ -13302,7 +13339,7 @@ struct UISplashScreenMeta { static DB2Meta const* Instance() { - static DB2MetaField const fields[16] = + static DB2MetaField const fields[15] = { { FT_STRING, 1, true }, { FT_STRING, 1, true }, @@ -13311,7 +13348,6 @@ struct UISplashScreenMeta { 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_BYTE, 1, true }, @@ -13321,7 +13357,7 @@ struct UISplashScreenMeta { FT_INT, 1, true }, { FT_INT, 1, true }, }; - static DB2Meta instance(2960122, 7, 16, 16, 0xCB8F573D, fields, -1); + static DB2Meta instance(2960122, -1, 15, 15, 0xAA415970, fields, -1); return &instance; } }; @@ -13399,13 +13435,12 @@ struct UiCanvasMeta { static DB2Meta const* Instance() { - static DB2MetaField const fields[3] = + static DB2MetaField const fields[2] = { - { FT_INT, 1, false }, { FT_SHORT, 1, true }, { FT_SHORT, 1, true }, }; - static DB2Meta instance(1989363, 0, 3, 3, 0xD6692509, fields, -1); + static DB2Meta instance(1989363, -1, 2, 2, 0x98462100, fields, -1); return &instance; } }; @@ -13414,9 +13449,8 @@ struct UiCovenantDisplayInfoMeta { static DB2Meta const* Instance() { - static DB2MetaField const fields[13] = + static DB2MetaField const fields[12] = { - { FT_INT, 1, false }, { FT_INT, 1, true }, { FT_INT, 1, true }, { FT_INT, 1, true }, @@ -13430,7 +13464,7 @@ struct UiCovenantDisplayInfoMeta { FT_INT, 1, true }, { FT_INT, 1, true }, }; - static DB2Meta instance(3509132, 0, 13, 13, 0x577C57A9, fields, -1); + static DB2Meta instance(3509132, -1, 12, 12, 0x186ECD7E, fields, -1); return &instance; } }; @@ -13439,13 +13473,12 @@ struct UiItemInteractionMeta { static DB2Meta const* Instance() { - static DB2MetaField const fields[15] = + static DB2MetaField const fields[14] = { { FT_STRING, 1, true }, { FT_STRING, 1, true }, { FT_STRING, 1, true }, { FT_STRING, 1, true }, - { FT_INT, 1, false }, { FT_INT, 1, true }, { FT_INT, 1, true }, { FT_INT, 1, true }, @@ -13457,7 +13490,7 @@ struct UiItemInteractionMeta { FT_INT, 1, true }, { FT_INT, 1, true }, }; - static DB2Meta instance(3182424, 4, 15, 15, 0x62BB4D7F, fields, -1); + static DB2Meta instance(3182424, -1, 14, 14, 0xE0C3CD2E, fields, -1); return &instance; } }; @@ -13751,13 +13784,14 @@ struct UiQuestDetailsThemeMeta { static DB2Meta const* Instance() { - static DB2MetaField const fields[3] = + static DB2MetaField const fields[4] = { { FT_STRING, 1, true }, { FT_INT, 1, true }, { FT_INT, 1, true }, + { FT_INT, 1, true }, }; - static DB2Meta instance(3448518, -1, 3, 3, 0xDFF2A61D, fields, -1); + static DB2Meta instance(3448518, -1, 4, 4, 0x5C8053B8, fields, -1); return &instance; } }; @@ -13792,20 +13826,6 @@ struct UiTextureAtlasElementMeta } }; -struct UiTextureAtlasElementOverrideMeta -{ - static DB2Meta const* Instance() - { - static DB2MetaField const fields[2] = - { - { FT_INT, 1, true }, - { FT_INT, 1, true }, - }; - static DB2Meta instance(3765186, -1, 2, 1, 0x6B5B752D, fields, 1); - return &instance; - } -}; - struct UiTextureAtlasMemberMeta { static DB2Meta const* Instance() @@ -13856,10 +13876,10 @@ struct UiWidgetMeta { FT_INT, 1, true }, { FT_INT, 1, true }, { FT_INT, 1, true }, - { FT_INT, 1, true }, { FT_BYTE, 1, true }, + { FT_INT, 1, true }, }; - static DB2Meta instance(1983278, 1, 9, 9, 0xBCC7B06B, fields, -1); + static DB2Meta instance(1983278, 1, 9, 9, 0xE0FFDA35, fields, -1); return &instance; } }; @@ -13960,10 +13980,9 @@ struct UiWidgetVisualizationMeta { static DB2Meta const* Instance() { - static DB2MetaField const fields[9] = + static DB2MetaField const fields[10] = { { FT_STRING_NOT_LOCALIZED, 1, true }, - { FT_INT, 1, false }, { FT_BYTE, 1, true }, { FT_INT, 1, true }, { FT_INT, 1, true }, @@ -13971,8 +13990,10 @@ struct UiWidgetVisualizationMeta { FT_INT, 1, true }, { FT_INT, 1, true }, { FT_BYTE, 1, true }, + { FT_INT, 1, true }, + { FT_BYTE, 1, true }, }; - static DB2Meta instance(1983276, 1, 9, 9, 0x6089B8EF, fields, -1); + static DB2Meta instance(1983276, -1, 10, 10, 0xA13CF945, fields, -1); return &instance; } }; @@ -14377,16 +14398,15 @@ struct WaypointEdgeMeta { static DB2Meta const* Instance() { - static DB2MetaField const fields[6] = + static DB2MetaField const fields[5] = { - { FT_INT, 1, false }, { FT_INT, 1, true }, { FT_INT, 1, true }, { FT_INT, 1, true }, { FT_INT, 1, true }, { FT_INT, 1, true }, }; - static DB2Meta instance(2565258, 0, 6, 6, 0x08771DF8, fields, -1); + static DB2Meta instance(2565258, -1, 5, 5, 0xC1B704EB, fields, -1); return &instance; } }; @@ -14395,17 +14415,16 @@ struct WaypointNodeMeta { static DB2Meta const* Instance() { - static DB2MetaField const fields[7] = + static DB2MetaField const fields[6] = { { FT_STRING, 1, true }, - { FT_INT, 1, false }, { FT_INT, 1, true }, { FT_INT, 1, true }, { FT_INT, 1, true }, { FT_INT, 1, true }, { FT_INT, 1, true }, }; - static DB2Meta instance(2565265, 1, 7, 7, 0x36436109, fields, -1); + static DB2Meta instance(2565265, -1, 6, 6, 0x0CA4C966, fields, -1); return &instance; } }; @@ -14522,7 +14541,7 @@ struct WeaponTrailModelDefMeta { FT_SHORT, 1, false }, { FT_SHORT, 1, false }, }; - static DB2Meta instance(1239843, -1, 3, 2, 0xADF47FBF, fields, 2); + static DB2Meta instance(1239843, -1, 3, 2, 0xE6D974AC, fields, 2); return &instance; } }; @@ -14720,7 +14739,7 @@ struct WorldMapOverlayMeta { FT_INT, 1, false }, { FT_INT, 4, false }, }; - static DB2Meta instance(1134579, 0, 13, 13, 0x40F7DB0A, fields, 1); + static DB2Meta instance(1134579, 0, 13, 13, 0x9646BFAE, fields, 1); return &instance; } }; @@ -14815,17 +14834,18 @@ struct ZoneLightMeta { static DB2Meta const* Instance() { - static DB2MetaField const fields[7] = + static DB2MetaField const fields[8] = { { FT_STRING_NOT_LOCALIZED, 1, true }, - { FT_SHORT, 1, false }, - { FT_SHORT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, { FT_BYTE, 1, false }, { FT_FLOAT, 1, true }, { FT_FLOAT, 1, true }, - { FT_SHORT, 1, false }, + { FT_INT, 1, true }, + { FT_INT, 1, true }, }; - static DB2Meta instance(1310253, -1, 7, 7, 0x1065A739, fields, -1); + static DB2Meta instance(1310253, -1, 8, 8, 0xA466DB55, fields, -1); return &instance; } }; diff --git a/src/server/game/DataStores/DB2Stores.cpp b/src/server/game/DataStores/DB2Stores.cpp index ee13cf121bd..8fc46b91f42 100644 --- a/src/server/game/DataStores/DB2Stores.cpp +++ b/src/server/game/DataStores/DB2Stores.cpp @@ -196,6 +196,7 @@ DB2Storage<ItemSparseEntry> sItemSparseStore("ItemSparse.db2 DB2Storage<ItemSpecEntry> sItemSpecStore("ItemSpec.db2", ItemSpecLoadInfo::Instance()); DB2Storage<ItemSpecOverrideEntry> sItemSpecOverrideStore("ItemSpecOverride.db2", ItemSpecOverrideLoadInfo::Instance()); DB2Storage<ItemXBonusTreeEntry> sItemXBonusTreeStore("ItemXBonusTree.db2", ItemXBonusTreeLoadInfo::Instance()); +DB2Storage<ItemXItemEffectEntry> sItemXItemEffectStore("ItemXItemEffect.db2", ItemXItemEffectLoadInfo::Instance()); DB2Storage<KeychainEntry> sKeychainStore("Keychain.db2", KeychainLoadInfo::Instance()); DB2Storage<LanguageWordsEntry> sLanguageWordsStore("LanguageWords.db2", LanguageWordsLoadInfo::Instance()); DB2Storage<LanguagesEntry> sLanguagesStore("Languages.db2", LanguagesLoadInfo::Instance()); @@ -416,7 +417,7 @@ namespace CurvePointsContainer _curvePoints; EmotesTextSoundContainer _emoteTextSounds; std::unordered_map<std::pair<uint32 /*level*/, int32 /*expansion*/>, ExpectedStatEntry const*> _expectedStatsByLevel; - std::unordered_map<uint32 /*contentTuningId*/, std::vector<ExpectedStatModEntry const*>> _expectedStatModsByContentTuning; + std::unordered_map<uint32 /*contentTuningId*/, std::vector<ContentTuningXExpectedEntry const*>> _expectedStatModsByContentTuning; FactionTeamContainer _factionTeams; std::unordered_map<uint32, std::set<FriendshipRepReactionEntry const*, DB2Manager::FriendshipRepReactionEntryComparator>> _friendshipRepReactions; HeirloomItemsContainer _heirlooms; @@ -745,6 +746,7 @@ uint32 DB2Manager::LoadStores(std::string const& dataPath, LocaleConstant defaul LOAD_DB2(sItemSpecStore); LOAD_DB2(sItemSpecOverrideStore); LOAD_DB2(sItemXBonusTreeStore); + LOAD_DB2(sItemXItemEffectStore); LOAD_DB2(sKeychainStore); LOAD_DB2(sLanguageWordsStore); LOAD_DB2(sLanguagesStore); @@ -1074,8 +1076,8 @@ uint32 DB2Manager::LoadStores(std::string const& dataPath, LocaleConstant defaul } for (ContentTuningXExpectedEntry const* contentTuningXExpectedStat : sContentTuningXExpectedStore) - if (ExpectedStatModEntry const* expectedStatMod = sExpectedStatModStore.LookupEntry(contentTuningXExpectedStat->ExpectedStatModID)) - _expectedStatModsByContentTuning[contentTuningXExpectedStat->ContentTuningID].push_back(expectedStatMod); + if (sExpectedStatModStore.LookupEntry(contentTuningXExpectedStat->ExpectedStatModID)) + _expectedStatModsByContentTuning[contentTuningXExpectedStat->ContentTuningID].push_back(contentTuningXExpectedStat); for (CurvePointEntry const* curvePoint : sCurvePointStore) if (sCurveStore.LookupEntry(curvePoint->CurveID)) @@ -2131,10 +2133,25 @@ EmotesTextSoundEntry const* DB2Manager::GetTextSoundEmoteFor(uint32 emote, uint8 template<float(ExpectedStatModEntry::*field)> struct ExpectedStatModReducer { - float operator()(float mod, ExpectedStatModEntry const* expectedStatMod) + float operator()(float mod, ContentTuningXExpectedEntry const* contentTuningXExpected) { - return mod * (expectedStatMod ? expectedStatMod->*field : 1.0f); + if (!contentTuningXExpected) + return mod; + + //if (contentTuningXExpected->MinMythicPlusSeasonID) + // if (MythicPlusSeasonEntry const* mythicPlusSeason = sMythicPlusSeasonStore.LookupEntry(contentTuningXExpected->MinMythicPlusSeasonID)) + // if (MythicPlusSubSeason < mythicPlusSeason->SubSeason) + // return mod; + + //if (contentTuningXExpected->MaxMythicPlusSeasonID) + // if (MythicPlusSeasonEntry const* mythicPlusSeason = sMythicPlusSeasonStore.LookupEntry(contentTuningXExpected->MaxMythicPlusSeasonID)) + // if (MythicPlusSubSeason >= mythicPlusSeason->SubSeason) + // return mod; + + return mod * sExpectedStatModStore.AssertEntry(contentTuningXExpected->ExpectedStatModID)->*field; } + + // int32 MythicPlusSubSeason = 0; }; float DB2Manager::EvaluateExpectedStat(ExpectedStatType stat, uint32 level, int32 expansion, uint32 contentTuningId, Classes unitClass) const @@ -2165,7 +2182,7 @@ float DB2Manager::EvaluateExpectedStat(ExpectedStatType stat, uint32 level, int3 break; } - std::vector<ExpectedStatModEntry const*> const* contentTuningMods = Trinity::Containers::MapGetValuePtr(_expectedStatModsByContentTuning, contentTuningId); + std::vector<ContentTuningXExpectedEntry const*> const* contentTuningMods = Trinity::Containers::MapGetValuePtr(_expectedStatModsByContentTuning, contentTuningId); float value = 0.0f; switch (stat) { diff --git a/src/server/game/DataStores/DB2Stores.h b/src/server/game/DataStores/DB2Stores.h index ded5f83d646..fe170bdb0e6 100644 --- a/src/server/game/DataStores/DB2Stores.h +++ b/src/server/game/DataStores/DB2Stores.h @@ -151,6 +151,7 @@ TC_GAME_API extern DB2Storage<ItemSetSpellEntry> sItemSetSpel TC_GAME_API extern DB2Storage<ItemSparseEntry> sItemSparseStore; TC_GAME_API extern DB2Storage<ItemSpecEntry> sItemSpecStore; TC_GAME_API extern DB2Storage<ItemSpecOverrideEntry> sItemSpecOverrideStore; +TC_GAME_API extern DB2Storage<ItemXItemEffectEntry> sItemXItemEffectStore; TC_GAME_API extern DB2Storage<LanguageWordsEntry> sLanguageWordsStore; TC_GAME_API extern DB2Storage<LanguagesEntry> sLanguagesStore; TC_GAME_API extern DB2Storage<LFGDungeonsEntry> sLFGDungeonsStore; diff --git a/src/server/game/DataStores/DB2Structure.h b/src/server/game/DataStores/DB2Structure.h index 203f5f0f388..d353fa20d59 100644 --- a/src/server/game/DataStores/DB2Structure.h +++ b/src/server/game/DataStores/DB2Structure.h @@ -332,9 +332,9 @@ struct AzeriteEmpoweredItemEntry struct AzeriteEssenceEntry { + uint32 ID; LocalizedString Name; LocalizedString Description; - uint32 ID; int32 SpecSetID; }; @@ -440,9 +440,9 @@ struct BannedAddonsEntry struct BarberShopStyleEntry { + uint32 ID; LocalizedString DisplayName; LocalizedString Description; - uint32 ID; uint8 Type; // value 0 -> hair, value 2 -> facialhair float CostModifier; uint8 Race; @@ -454,7 +454,7 @@ struct BattlePetBreedQualityEntry { uint32 ID; float StateMultiplier; - uint8 QualityEnum; + int8 QualityEnum; }; struct BattlePetBreedStateEntry @@ -473,7 +473,7 @@ struct BattlePetSpeciesEntry int32 CreatureID; int32 SummonSpellID; int32 IconFileDataID; - uint8 PetTypeEnum; + int8 PetTypeEnum; uint16 Flags; int8 SourceTypeEnum; int32 CardUIModelSceneID; @@ -549,10 +549,11 @@ struct CharTitlesEntry struct CharacterLoadoutEntry { - Trinity::RaceMask<int64> RaceMask; uint32 ID; + Trinity::RaceMask<int64> RaceMask; int8 ChrClassID; int8 Purpose; + int8 Unused910; bool IsForNewCharacter() const { return Purpose == 9; } }; @@ -566,9 +567,9 @@ struct CharacterLoadoutItemEntry struct ChatChannelsEntry { + uint32 ID; LocalizedString Name; LocalizedString Shortcut; - uint32 ID; int32 Flags; int8 FactionGroup; int32 Ruleset; @@ -639,10 +640,9 @@ struct ChrCustomizationChoiceEntry int32 ChrCustomizationOptionID; int32 ChrCustomizationReqID; uint16 SortOrder; - int32 SwatchColor1; - int32 SwatchColor2; uint16 UiOrderIndex; int32 Flags; + int32 SwatchColor[2]; }; struct ChrCustomizationDisplayInfoEntry @@ -720,6 +720,7 @@ struct ChrModelEntry float CustomizeFacing; float CameraDistanceOffset; float BarberShopCameraOffsetScale; + float BarberShopCameraHeightOffsetScale; // applied after BarberShopCameraOffsetScale float BarberShopCameraRotationOffset; }; @@ -732,6 +733,7 @@ struct ChrRaceXChrModelEntry struct ChrRacesEntry { + uint32 ID; char const* ClientPrefix; char const* ClientFileString; LocalizedString Name; @@ -747,41 +749,42 @@ struct ChrRacesEntry LocalizedString NameFemaleL; LocalizedString NameLowercaseL; LocalizedString NameFemaleLowercaseL; - uint32 ID; int32 Flags; - int32 BaseLanguage; + int32 FactionID; + int32 CinematicSequenceID; int32 ResSicknessSpellID; int32 SplashSoundID; + int32 Alliance; + int32 RaceRelated; + int32 UnalteredVisualRaceID; + int32 DefaultClassID; int32 CreateScreenFileDataID; int32 SelectScreenFileDataID; + int32 NeutralRaceID; int32 LowResScreenFileDataID; - uint32 AlteredFormStartVisualKitID[3]; - uint32 AlteredFormFinishVisualKitID[3]; + int32 AlteredFormStartVisualKitID[3]; + int32 AlteredFormFinishVisualKitID[3]; int32 HeritageArmorAchievementID; int32 StartingLevel; int32 UiDisplayOrder; + int32 MaleModelFallbackRaceID; + int32 FemaleModelFallbackRaceID; + int32 MaleTextureFallbackRaceID; + int32 FemaleTextureFallbackRaceID; int32 PlayableRaceBit; int32 HelmetAnimScalingRaceID; int32 TransmogrifyDisabledSlotMask; + int32 UnalteredVisualCustomizationRaceID; float AlteredFormCustomizeOffsetFallback[3]; float AlteredFormCustomizeRotationFallback; - int16 FactionID; - int16 CinematicSequenceID; + float Unknown910_1[3]; + float Unknown910_2[3]; + int8 BaseLanguage; int8 CreatureType; - int8 Alliance; - int8 RaceRelated; - int8 UnalteredVisualRaceID; - int8 DefaultClassID; - int8 NeutralRaceID; - int8 MaleModelFallbackRaceID; int8 MaleModelFallbackSex; - int8 FemaleModelFallbackRaceID; int8 FemaleModelFallbackSex; - int8 MaleTextureFallbackRaceID; int8 MaleTextureFallbackSex; - int8 FemaleTextureFallbackRaceID; int8 FemaleTextureFallbackSex; - int8 UnalteredVisualCustomizationRaceID; EnumFlag<ChrRacesFlag> GetFlags() const { return static_cast<ChrRacesFlag>(Flags); } }; @@ -860,7 +863,8 @@ struct ContentTuningXExpectedEntry { uint32 ID; int32 ExpectedStatModID; - int32 MythicPlusSeasonID; + int32 MinMythicPlusSeasonID; + int32 MaxMythicPlusSeasonID; uint32 ContentTuningID; }; @@ -886,6 +890,17 @@ struct CorruptionEffectsEntry int32 Flags; }; +//struct CreatureDifficultyEntry +//{ +// uint32 ID; +// int32 LevelDeltaMin; +// int32 LevelDeltaMax; +// uint16 FactionID; +// int32 ContentTuningID; +// int32 Flags[8]; +// uint32 CreatureID; +//}; + struct CreatureDisplayInfoEntry { uint32 ID; @@ -1239,7 +1254,7 @@ struct DungeonEncounterEntry int32 CompleteWorldStateID; int8 Bit; int32 CreatureDisplayID; - uint8 Flags; + int32 Flags; int32 SpellIconFileID; int32 Faction; }; @@ -1320,10 +1335,10 @@ struct ExpectedStatModEntry struct FactionEntry { + uint32 ID; Trinity::RaceMask<int64> ReputationRaceMask[4]; LocalizedString Name; LocalizedString Description; - uint32 ID; int16 ReputationIndex; uint16 ParentFactionID; uint8 Expansion; @@ -1451,9 +1466,9 @@ struct GameObjectsEntry struct GarrAbilityEntry { + uint32 ID; LocalizedString Name; LocalizedString Description; - uint32 ID; uint8 GarrAbilityCategoryID; uint8 GarrFollowerTypeID; int32 IconFileDataID; @@ -1501,10 +1516,10 @@ struct GarrBuildingPlotInstEntry struct GarrClassSpecEntry { + uint32 ID; LocalizedString ClassSpec; LocalizedString ClassSpecMale; LocalizedString ClassSpecFemale; - uint32 ID; uint16 UiTextureAtlasMemberID; uint16 GarrFollItemSetID; uint8 FollowerClassLimit; @@ -1513,10 +1528,10 @@ struct GarrClassSpecEntry struct GarrFollowerEntry { + uint32 ID; LocalizedString HordeSourceText; LocalizedString AllianceSourceText; LocalizedString TitleName; - uint32 ID; uint8 GarrTypeID; uint8 GarrFollowerTypeID; int32 HordeCreatureID; @@ -1915,7 +1930,6 @@ struct ItemEffectEntry uint16 SpellCategoryID; int32 SpellID; uint16 ChrSpecializationID; - uint32 ParentItemID; }; #define MAX_ITEM_EXT_COST_ITEMS 5 @@ -2012,11 +2026,11 @@ struct ItemPriceBaseEntry struct ItemSearchNameEntry { + uint32 ID; Trinity::RaceMask<int64> AllowableRace; LocalizedString Display; - uint32 ID; uint8 OverallQualityID; - uint8 ExpansionID; + int32 ExpansionID; uint16 MinFactionID; uint8 MinReputation; int32 AllowableClass; @@ -2058,7 +2072,9 @@ struct ItemSparseEntry LocalizedString Display2; LocalizedString Display1; LocalizedString Display; + int32 ExpansionID; float DmgVariance; + int32 InstanceBound; uint32 DurationInInventory; float QualityModifier; uint32 BagFamily; @@ -2085,7 +2101,6 @@ struct ItemSparseEntry uint16 GemProperties; uint16 SocketMatchEnchantmentId; uint16 TotemCategoryID; - uint16 InstanceBound; uint16 ZoneBound[MAX_ITEM_PROTO_ZONES]; uint16 ItemSet; uint16 LockID; @@ -2097,7 +2112,6 @@ struct ItemSparseEntry uint16 RequiredSkill; uint16 ItemLevel; int16 AllowableClass; - uint8 ExpansionID; uint8 ArtifactID; uint8 SpellWeight; uint8 SpellWeightCategory; @@ -2143,6 +2157,13 @@ struct ItemXBonusTreeEntry uint32 ItemID; }; +struct ItemXItemEffectEntry +{ + uint32 ID; + int32 ItemEffectID; + uint32 ItemID; +}; + #define KEYCHAIN_SIZE 32 struct KeychainEntry @@ -2160,8 +2181,8 @@ struct LanguageWordsEntry struct LanguagesEntry { - LocalizedString Name; uint32 ID; + LocalizedString Name; }; struct LFGDungeonsEntry @@ -2260,7 +2281,6 @@ struct MapEntry uint32 ID; char const* Directory; LocalizedString MapName; - char const* InternalName; LocalizedString MapDescription0; // Horde LocalizedString MapDescription1; // Alliance LocalizedString PvpShortDescription; @@ -2357,7 +2377,7 @@ struct ModifierTreeEntry int32 Type; int32 Asset; int32 SecondaryAsset; - int8 TertiaryAsset; + int32 TertiaryAsset; }; struct MountEntry @@ -2466,7 +2486,7 @@ struct OverrideSpellDataEntry struct ParagonReputationEntry { uint32 ID; - uint32 FactionID; + int32 FactionID; int32 LevelThreshold; int32 QuestID; }; @@ -2486,9 +2506,9 @@ struct PhaseXPhaseGroupEntry struct PlayerConditionEntry { + uint32 ID; Trinity::RaceMask<int64> RaceMask; LocalizedString FailureDescription; - uint32 ID; int32 ClassMask; uint32 SkillLogic; int32 LanguageID; @@ -3037,6 +3057,7 @@ struct SpellEffectEntry float ResourceCoefficient; float GroupSizeBasePointsCoefficient; float EffectBasePoints; + int32 ScalingClass; int32 EffectMiscValue[2]; uint32 EffectRadiusIndex[2]; flag128 EffectSpellClassMask; @@ -3075,9 +3096,9 @@ struct SpellInterruptsEntry struct SpellItemEnchantmentEntry { + uint32 ID; LocalizedString Name; LocalizedString HordeName; - uint32 ID; uint32 EffectArg[MAX_ITEM_ENCHANTMENT_EFFECTS]; float EffectScalingPoints[MAX_ITEM_ENCHANTMENT_EFFECTS]; uint32 IconFileDataID; @@ -3239,7 +3260,6 @@ struct SpellScalingEntry { uint32 ID; int32 SpellID; - int32 Class; uint32 MinScalingLevel; uint32 MaxScalingLevel; int16 ScalesFromItemLevel; @@ -3312,7 +3332,7 @@ struct SpellXSpellVisualEntry uint8 DifficultyID; uint32 SpellVisualID; float Probability; - uint8 Priority; + int32 Priority; int32 SpellIconFileID; int32 ActiveIconFileID; uint16 ViewerUnitConditionID; @@ -3445,8 +3465,8 @@ struct TransmogSetEntry struct TransmogSetGroupEntry { - LocalizedString Name; uint32 ID; + LocalizedString Name; }; struct TransmogSetItemEntry diff --git a/src/server/game/DataStores/DBCEnums.h b/src/server/game/DataStores/DBCEnums.h index a8852784022..cc58d5ccac6 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 3084 +#define BATTLE_PET_SPECIES_MAX_ID 3159 enum BattlemasterListFlags { @@ -528,7 +528,7 @@ enum CriteriaTypes : uint8 CRITERIA_TYPE_CONVERT_ITEMS_TO_CURRENCY = 229, }; -#define CRITERIA_TYPE_TOTAL 230 +#define CRITERIA_TYPE_TOTAL 232 enum class CriteriaTreeFlags : uint16 { @@ -1460,7 +1460,7 @@ enum class SpellShapeshiftFormFlags : int32 DEFINE_ENUM_FLAG(SpellShapeshiftFormFlags); -#define TaxiMaskSize 337 +#define TaxiMaskSize 338 typedef std::array<uint8, TaxiMaskSize> TaxiMask; enum TotemCategoryType diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp index 329a39311f8..ac699cd5725 100644 --- a/src/server/game/Entities/Unit/Unit.cpp +++ b/src/server/game/Entities/Unit/Unit.cpp @@ -7458,6 +7458,11 @@ uint32 Unit::SpellHealingBonusTaken(Unit* caster, SpellInfo const* spellProto, u return true; return false; }); + + TakenTotalMod *= GetTotalAuraMultiplier(SPELL_AURA_MOD_HEALING_TAKEN_FROM_CASTER, [caster](AuraEffect const* aurEff) -> bool + { + return aurEff->GetCasterGUID() == caster->GetGUID(); + }); } float heal = healamount * TakenTotalMod; diff --git a/src/server/game/Globals/ObjectMgr.cpp b/src/server/game/Globals/ObjectMgr.cpp index c223fd89b39..42ac714018d 100644 --- a/src/server/game/Globals/ObjectMgr.cpp +++ b/src/server/game/Globals/ObjectMgr.cpp @@ -3069,14 +3069,10 @@ void ObjectMgr::LoadItemTemplates() } // Load item effects (spells) - for (ItemEffectEntry const* effectEntry : sItemEffectStore) - { - auto itemItr = _itemTemplateStore.find(effectEntry->ParentItemID); - if (itemItr == _itemTemplateStore.end()) - continue; - - itemItr->second.Effects.push_back(effectEntry); - } + for (ItemXItemEffectEntry const* effectEntry : sItemXItemEffectStore) + if (ItemTemplate* item = Trinity::Containers::MapGetValuePtr(_itemTemplateStore, effectEntry->ItemID)) + if (ItemEffectEntry const* effect = sItemEffectStore.LookupEntry(effectEntry->ItemEffectID)) + item->Effects.push_back(effect); TC_LOG_INFO("server.loading", ">> Loaded " SZFMTD " item templates in %u ms", _itemTemplateStore.size(), GetMSTimeDiffToNow(oldMSTime)); } diff --git a/src/server/game/Miscellaneous/SharedDefines.h b/src/server/game/Miscellaneous/SharedDefines.h index a1e6f6356c8..9998e949db8 100644 --- a/src/server/game/Miscellaneous/SharedDefines.h +++ b/src/server/game/Miscellaneous/SharedDefines.h @@ -1372,6 +1372,8 @@ enum SpellEffectName SPELL_EFFECT_LEARN_SOULBIND_CONDUIT = 281, SPELL_EFFECT_CONVERT_ITEMS_TO_CURRENCY = 282, SPELL_EFFECT_COMPLETE_CAMPAIGN = 283, // Flags all quests as completed that are assigned to campaign (MiscValueA) + SPELL_EFFECT_SEND_CHAT_MESSAGE = 284, // MiscValue[0] = BroadcastTextID, MiscValue[1] = ChatType + SPELL_EFFECT_MODIFY_KEYSTONE_2 = 285, TOTAL_SPELL_EFFECTS }; diff --git a/src/server/game/Server/WorldSession.h b/src/server/game/Server/WorldSession.h index acf57a30be5..df4ebae873b 100644 --- a/src/server/game/Server/WorldSession.h +++ b/src/server/game/Server/WorldSession.h @@ -30,6 +30,7 @@ #include "IteratorPair.h" #include "LockedQueue.h" #include "ObjectGuid.h" +#include "Optional.h" #include "Packet.h" #include "RaceMask.h" #include "SharedDefines.h" diff --git a/src/server/game/Spells/Auras/SpellAuraDefines.h b/src/server/game/Spells/Auras/SpellAuraDefines.h index 7c9944a1929..0706e3709e1 100644 --- a/src/server/game/Spells/Auras/SpellAuraDefines.h +++ b/src/server/game/Spells/Auras/SpellAuraDefines.h @@ -582,6 +582,8 @@ enum AuraType : uint32 SPELL_AURA_MOD_CRITICAL_DAMAGE_TAKEN_FROM_CASTER = 501, SPELL_AURA_MOD_VERSATILITY_DAMAGE_DONE_BENEFIT = 502, // NYI 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 TOTAL_AURAS }; diff --git a/src/server/game/Spells/Auras/SpellAuraEffects.cpp b/src/server/game/Spells/Auras/SpellAuraEffects.cpp index 0da680198f1..d82501dba26 100644 --- a/src/server/game/Spells/Auras/SpellAuraEffects.cpp +++ b/src/server/game/Spells/Auras/SpellAuraEffects.cpp @@ -571,6 +571,8 @@ NonDefaultConstructible<pAuraEffectHandler> AuraEffectHandler[TOTAL_AURAS]= &AuraEffect::HandleNULL, //501 SPELL_AURA_MOD_CRITICAL_DAMAGE_TAKEN_FROM_CASTER &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::AuraEffect(Aura* base, SpellEffectInfo const* spellEfffectInfo, int32 *baseAmount, Unit* caster) : diff --git a/src/server/game/Spells/Spell.h b/src/server/game/Spells/Spell.h index bf5e2ef84a7..cce4c750358 100644 --- a/src/server/game/Spells/Spell.h +++ b/src/server/game/Spells/Spell.h @@ -490,6 +490,7 @@ class TC_GAME_API Spell void EffectRespecAzeriteEmpoweredItem(SpellEffIndex effIndex); void EffectLearnAzeriteEssencePower(SpellEffIndex effIndex); void EffectCreatePrivateConversation(SpellEffIndex effIndex); + void EffectSendChatMessage(SpellEffIndex effIndex); typedef std::unordered_set<Aura*> UsedSpellMods; diff --git a/src/server/game/Spells/SpellEffects.cpp b/src/server/game/Spells/SpellEffects.cpp index b546b1325d6..f2d6ea95ab5 100644 --- a/src/server/game/Spells/SpellEffects.cpp +++ b/src/server/game/Spells/SpellEffects.cpp @@ -30,6 +30,7 @@ #include "Conversation.h" #include "Creature.h" #include "CreatureAI.h" +#include "CreatureTextMgr.h" #include "DatabaseEnv.h" #include "DB2Stores.h" #include "DuelPackets.h" @@ -363,6 +364,8 @@ NonDefaultConstructible<pEffect> SpellEffects[TOTAL_SPELL_EFFECTS] = &Spell::EffectNULL, //281 SPELL_EFFECT_LEARN_SOULBIND_CONDUIT &Spell::EffectNULL, //282 SPELL_EFFECT_CONVERT_ITEMS_TO_CURRENCY &Spell::EffectNULL, //283 SPELL_EFFECT_COMPLETE_CAMPAIGN + &Spell::EffectSendChatMessage, //284 SPELL_EFFECT_SEND_CHAT_MESSAGE + &Spell::EffectNULL, //285 SPELL_EFFECT_MODIFY_KEYSTONE_2 }; void Spell::EffectNULL(SpellEffIndex /*effIndex*/) @@ -5851,3 +5854,16 @@ void Spell::EffectCreatePrivateConversation(SpellEffIndex /*effIndex*/) Conversation::CreateConversation(effectInfo->MiscValue, GetCaster(), unitTarget->GetPosition(), { unitTarget->GetGUID() }, GetSpellInfo()); } + +void Spell::EffectSendChatMessage(SpellEffIndex /*effIndex*/) +{ + if (effectHandleMode != SPELL_EFFECT_HANDLE_HIT) + return; + + uint32 broadcastTextId = effectInfo->MiscValue; + if (!sBroadcastTextStore.LookupEntry(broadcastTextId)) + return; + + ChatMsg chatType = ChatMsg(effectInfo->MiscValueB); + unitTarget->Talk(broadcastTextId, chatType, CreatureTextMgr::GetRangeForChatType(chatType), unitTarget); +} diff --git a/src/server/game/Spells/SpellInfo.cpp b/src/server/game/Spells/SpellInfo.cpp index dde1cda8a3a..9bca5fcf1c0 100644 --- a/src/server/game/Spells/SpellInfo.cpp +++ b/src/server/game/Spells/SpellInfo.cpp @@ -400,6 +400,7 @@ SpellEffectInfo::SpellEffectInfo(SpellInfo const* spellInfo, SpellEffectEntry co TriggerSpell = _effect.EffectTriggerSpell; SpellClassMask = _effect.EffectSpellClassMask; BonusCoefficientFromAP = _effect.BonusCoefficientFromAP; + Scaling.Class = _effect.ScalingClass; Scaling.Coefficient = _effect.Coefficient; Scaling.Variance = _effect.Variance; Scaling.ResourceCoefficient = _effect.ResourceCoefficient; @@ -539,7 +540,7 @@ int32 SpellEffectInfo::CalcBaseValue(Unit const* caster, Unit const* target, uin float value = 0.0f; if (level > 0) { - if (!_spellInfo->Scaling.Class) + if (!Scaling.Class) return 0; uint32 effectiveItemLevel = itemLevel != -1 ? uint32(itemLevel) : 1u; @@ -548,21 +549,21 @@ int32 SpellEffectInfo::CalcBaseValue(Unit const* caster, Unit const* target, uin if (_spellInfo->Scaling.ScalesFromItemLevel) effectiveItemLevel = _spellInfo->Scaling.ScalesFromItemLevel; - if (_spellInfo->Scaling.Class == -8 || _spellInfo->Scaling.Class == -9) + if (Scaling.Class == -8 || Scaling.Class == -9) { RandPropPointsEntry const* randPropPoints = sRandPropPointsStore.LookupEntry(effectiveItemLevel); if (!randPropPoints) randPropPoints = sRandPropPointsStore.AssertEntry(sRandPropPointsStore.GetNumRows() - 1); - value = _spellInfo->Scaling.Class == -8 ? randPropPoints->DamageReplaceStatF : randPropPoints->DamageSecondaryF; + value = Scaling.Class == -8 ? randPropPoints->DamageReplaceStatF : randPropPoints->DamageSecondaryF; } else value = GetRandomPropertyPoints(effectiveItemLevel, ITEM_QUALITY_RARE, INVTYPE_CHEST, 0); } else - value = GetSpellScalingColumnForClass(sSpellScalingGameTable.GetRow(level), _spellInfo->Scaling.Class); + value = GetSpellScalingColumnForClass(sSpellScalingGameTable.GetRow(level), Scaling.Class); - if (_spellInfo->Scaling.Class == -7) + if (Scaling.Class == -7) if (GtCombatRatingsMultByILvl const* ratingMult = sCombatRatingsMultByILvlGameTable.GetRow(effectiveItemLevel)) if (ItemSparseEntry const* itemSparse = sItemSparseStore.LookupEntry(itemId)) value *= GetIlvlStatMultiplier(ratingMult, InventoryType(itemSparse->InventoryType)); @@ -1077,6 +1078,8 @@ SpellEffectInfo::StaticData SpellEffectInfo::_data[TOTAL_SPELL_EFFECTS] = {EFFECT_IMPLICIT_TARGET_EXPLICIT, TARGET_OBJECT_TYPE_UNIT}, // 281 SPELL_EFFECT_LEARN_SOULBIND_CONDUIT {EFFECT_IMPLICIT_TARGET_EXPLICIT, TARGET_OBJECT_TYPE_UNIT}, // 282 SPELL_EFFECT_CONVERT_ITEMS_TO_CURRENCY {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 }; SpellInfo::SpellInfo(SpellNameEntry const* spellName, ::Difficulty difficulty, SpellInfoLoadHelper const& data, @@ -1133,7 +1136,6 @@ SpellInfo::SpellInfo(SpellNameEntry const* spellName, ::Difficulty difficulty, S // SpellScalingEntry if (SpellScalingEntry const* _scaling = data.Scaling) { - Scaling.Class = _scaling->Class; Scaling.MinScalingLevel = _scaling->MinScalingLevel; Scaling.MaxScalingLevel = _scaling->MaxScalingLevel; Scaling.ScalesFromItemLevel = _scaling->ScalesFromItemLevel; diff --git a/src/server/game/Spells/SpellInfo.h b/src/server/game/Spells/SpellInfo.h index 0bffa60aab5..9e4265efac9 100644 --- a/src/server/game/Spells/SpellInfo.h +++ b/src/server/game/Spells/SpellInfo.h @@ -291,6 +291,7 @@ public: // SpellScalingEntry struct ScalingInfo { + int32 Class; float Coefficient; float Variance; float ResourceCoefficient; @@ -463,7 +464,6 @@ class TC_GAME_API SpellInfo // SpellScalingEntry struct ScalingInfo { - int32 Class = 0; uint32 MinScalingLevel = 0; uint32 MaxScalingLevel = 0; uint32 ScalesFromItemLevel = 0; diff --git a/src/server/game/Texts/CreatureTextMgr.h b/src/server/game/Texts/CreatureTextMgr.h index 9c15000cd42..3c6adfdd9eb 100644 --- a/src/server/game/Texts/CreatureTextMgr.h +++ b/src/server/game/Texts/CreatureTextMgr.h @@ -104,9 +104,10 @@ class TC_GAME_API CreatureTextMgr template <class Builder> static void SendChatPacket(WorldObject* source, Builder const& builder, ChatMsg msgType, WorldObject const* whisperTarget = nullptr, CreatureTextRange range = TEXT_RANGE_NORMAL, Team team = TEAM_OTHER, bool gmOnly = false); + static float GetRangeForChatType(ChatMsg msgType); + private: static void SendNonChatPacket(WorldObject* source, WorldPacket const* data, ChatMsg msgType, WorldObject const* whisperTarget, CreatureTextRange range, Team team, bool gmOnly); - static float GetRangeForChatType(ChatMsg msgType); CreatureTextMap mTextMap; LocaleCreatureTextMap mLocaleTextMap; diff --git a/src/tools/extractor_common/ExtractorDB2LoadInfo.h b/src/tools/extractor_common/ExtractorDB2LoadInfo.h index f4161e836be..a45e14f0ad0 100644 --- a/src/tools/extractor_common/ExtractorDB2LoadInfo.h +++ b/src/tools/extractor_common/ExtractorDB2LoadInfo.h @@ -231,7 +231,6 @@ struct MapLoadInfo { false, FT_INT, "ID" }, { false, FT_STRING_NOT_LOCALIZED, "Directory" }, { false, FT_STRING, "MapName" }, - { false, FT_STRING_NOT_LOCALIZED, "InternalName" }, { false, FT_STRING, "MapDescription0" }, { false, FT_STRING, "MapDescription1" }, { false, FT_STRING, "PvpShortDescription" }, @@ -256,11 +255,10 @@ struct MapLoadInfo { true, FT_INT, "Flags1" }, { true, FT_INT, "Flags2" }, }; - static DB2MetaField const fields[24] = + static DB2MetaField const fields[23] = { { FT_STRING_NOT_LOCALIZED, 1, true }, { FT_STRING, 1, true }, - { FT_STRING_NOT_LOCALIZED, 1, true }, { FT_STRING, 1, true }, { FT_STRING, 1, true }, { FT_STRING, 1, true }, @@ -283,7 +281,7 @@ struct MapLoadInfo { FT_INT, 1, true }, { FT_INT, 2, true }, }; - static DB2Meta meta(1349477, -1, 24, 24, 0x793F4E8E, fields, -1); + static DB2Meta meta(1349477, -1, 23, 23, 0xDA9493AF, fields, -1); static DB2FileLoadInfo const loadInfo(&loadedFields[0], std::extent<decltype(loadedFields)>::value, &meta); return &loadInfo; } diff --git a/src/tools/map_extractor/loadlib/DBFilesClientList.h b/src/tools/map_extractor/loadlib/DBFilesClientList.h index e1711ff9db8..470ab80b8aa 100644 --- a/src/tools/map_extractor/loadlib/DBFilesClientList.h +++ b/src/tools/map_extractor/loadlib/DBFilesClientList.h @@ -130,7 +130,6 @@ DB2FileInfo const DBFilesClientList[] = { 1360263, "CharComponentTextureSections.db2" }, { 1256914, "CharHairGeosets.db2" }, { 2388725, "CharSectionCondition.db2" }, - { 1365366, "CharSections.db2" }, { 972425, "CharShipment.db2" }, { 972405, "CharShipmentContainer.db2" }, { 3055696, "CharStartKit.db2" }, @@ -152,6 +151,7 @@ DB2FileInfo const DBFilesClientList[] = { 3671168, "ChrCreateClassAnimTarget.db2" }, { 3671169, "ChrCreateClassAnimTargetInfo.db2" }, { 3590348, "ChrCustClientChoiceConversion.db2" }, + { 3952714, "ChrCustItemGeoModify.db2" }, { 1611874, "ChrCustomization.db2" }, { 3460181, "ChrCustomizationBoneSet.db2" }, { 3526439, "ChrCustomizationCategory.db2" }, @@ -169,7 +169,6 @@ DB2FileInfo const DBFilesClientList[] = { 3384313, "ChrModel.db2" }, { 3566562, "ChrModelMaterial.db2" }, { 3548976, "ChrModelTextureLayer.db2" }, - { 3536417, "ChrModelTextureTarget.db2" }, { 3507821, "ChrRaceRacialAbility.db2" }, { 3490304, "ChrRaceXChrModel.db2" }, { 1305311, "ChrRaces.db2" }, @@ -327,8 +326,9 @@ DB2FileInfo const DBFilesClientList[] = { 1343604, "GemProperties.db2" }, { 3752002, "GlobalCurve.db2" }, { 3756368, "GlobalGameContentTuning.db2" }, + { 4082838, "GlobalPlayerCondition.db2" }, + { 4082839, "GlobalPlayerConditionSet.db2" }, { 1394440, "GlobalStrings.db2" }, - { 3476011, "GlobalTable_PlayerCondition.db2" }, { 1270147, "GlyphBindableSpell.db2" }, { 948546, "GlyphExclusiveCategory.db2" }, { 1345274, "GlyphProperties.db2" }, @@ -495,6 +495,7 @@ DB2FileInfo const DBFilesClientList[] = { 2923510, "MountEquipment.db2" }, { 1114715, "MountTypeXCapability.db2" }, { 1576117, "MountXDisplay.db2" }, + { 3989477, "MountXSpellVisualKitPicker.db2" }, { 1332556, "Movie.db2" }, { 1301154, "MovieFileData.db2" }, { 1339819, "MovieVariation.db2" }, @@ -502,6 +503,7 @@ DB2FileInfo const DBFilesClientList[] = { 1965589, "MultiTransitionProperties.db2" }, { 2400282, "MythicPlusSeason.db2" }, { 2123783, "MythicPlusSeasonRewardLevels.db2" }, + { 4067473, "MythicPlusSeasonTrackedAffix.db2" }, { 1340661, "NPCModelItemSlotDisplayInfo.db2" }, { 1282621, "NPCSounds.db2" }, { 1122117, "NameGen.db2" }, @@ -513,6 +515,7 @@ DB2FileInfo const DBFilesClientList[] = { 1090575, "ObjectEffectModifier.db2" }, { 1090578, "ObjectEffectPackageElem.db2" }, { 2066958, "Occluder.db2" }, + { 3850529, "OccluderCurtain.db2" }, { 2115224, "OccluderLocation.db2" }, { 2066959, "OccluderNode.db2" }, { 1279739, "OutlineEffect.db2" }, @@ -614,6 +617,7 @@ DB2FileInfo const DBFilesClientList[] = { 3581893, "SkySceneXPlayerCondition.db2" }, { 3488583, "Soulbind.db2" }, { 3594380, "SoulbindConduit.db2" }, + { 4069554, "SoulbindConduitEnhancedSocket.db2" }, { 3604984, "SoulbindConduitItem.db2" }, { 3620681, "SoulbindConduitRank.db2" }, { 3858895, "SoulbindConduitRankProperties.db2" }, @@ -709,6 +713,8 @@ DB2FileInfo const DBFilesClientList[] = { 897951, "SpellVisualKitAreaModel.db2" }, { 1140480, "SpellVisualKitEffect.db2" }, { 897953, "SpellVisualKitModelAttach.db2" }, + { 3989478, "SpellVisualKitPicker.db2" }, + { 3989479, "SpellVisualKitPickerEntry.db2" }, { 897954, "SpellVisualMissile.db2" }, { 3607312, "SpellVisualScreenEffect.db2" }, { 1724949, "SpellXDescriptionVariables.db2" }, @@ -748,6 +754,8 @@ DB2FileInfo const DBFilesClientList[] = { 3488582, "UIChromieTimeExpansionInfo.db2" }, { 3502042, "UICovenantAbility.db2" }, { 3502043, "UICovenantPreview.db2" }, + { 4065278, "UIDungeonScoreRarity.db2" }, + { 3946498, "UIEventToast.db2" }, { 1729547, "UIExpansionDisplayInfo.db2" }, { 1729546, "UIExpansionDisplayInfoIcon.db2" }, { 3556601, "UIScriptedAnimationEffect.db2" }, @@ -777,7 +785,6 @@ DB2FileInfo const DBFilesClientList[] = { 3448518, "UiQuestDetailsTheme.db2" }, { 897470, "UiTextureAtlas.db2" }, { 1989276, "UiTextureAtlasElement.db2" }, - { 3765186, "UiTextureAtlasElementOverride.db2" }, { 897532, "UiTextureAtlasMember.db2" }, { 939159, "UiTextureKit.db2" }, { 1983278, "UiWidget.db2" }, |