aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/DataStores
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2025-04-25 22:50:11 +0200
committerShauren <shauren.trinity@gmail.com>2025-04-25 22:50:11 +0200
commitf9bf082be962d45de79f936d625f644253e9b810 (patch)
treea7c40c0b5baf522d04896721df5c5d91e25c834e /src/server/game/DataStores
parent05709a24976cc4cd378ee62bdfec52510892aa5b (diff)
Core: Updated to 11.1.5
Diffstat (limited to 'src/server/game/DataStores')
-rw-r--r--src/server/game/DataStores/DB2LoadInfo.h65
-rw-r--r--src/server/game/DataStores/DB2Metadata.h227
-rw-r--r--src/server/game/DataStores/DB2Structure.h35
-rw-r--r--src/server/game/DataStores/DBCEnums.h40
4 files changed, 246 insertions, 121 deletions
diff --git a/src/server/game/DataStores/DB2LoadInfo.h b/src/server/game/DataStores/DB2LoadInfo.h
index f3fc6fa7366..a9d7548b077 100644
--- a/src/server/game/DataStores/DB2LoadInfo.h
+++ b/src/server/game/DataStores/DB2LoadInfo.h
@@ -962,7 +962,7 @@ struct ChrClassesLoadInfo
{ .IsSigned = false, .Type = FT_SHORT, .Name = "CinematicSequenceID" },
{ .IsSigned = false, .Type = FT_SHORT, .Name = "DefaultSpec" },
{ .IsSigned = false, .Type = FT_BYTE, .Name = "ID" },
- { .IsSigned = false, .Type = FT_BYTE, .Name = "PrimaryStatPriority" },
+ { .IsSigned = true, .Type = FT_BYTE, .Name = "PrimaryStatPriority" },
{ .IsSigned = true, .Type = FT_BYTE, .Name = "DisplayPower" },
{ .IsSigned = false, .Type = FT_BYTE, .Name = "RangedAttackPowerPerAgility" },
{ .IsSigned = false, .Type = FT_BYTE, .Name = "AttackPowerPerAgility" },
@@ -1499,7 +1499,7 @@ struct CreatureModelDataLoadInfo
{ .IsSigned = false, .Type = FT_INT, .Name = "FootstepCameraEffectID" },
{ .IsSigned = false, .Type = FT_INT, .Name = "DeathThudCameraEffectID" },
{ .IsSigned = false, .Type = FT_INT, .Name = "SoundID" },
- { .IsSigned = false, .Type = FT_INT, .Name = "SizeClass" },
+ { .IsSigned = true, .Type = FT_BYTE, .Name = "SizeClass" },
{ .IsSigned = false, .Type = FT_FLOAT, .Name = "CollisionWidth" },
{ .IsSigned = false, .Type = FT_FLOAT, .Name = "CollisionHeight" },
{ .IsSigned = false, .Type = FT_FLOAT, .Name = "WorldEffectScale" },
@@ -1709,7 +1709,7 @@ struct DifficultyLoadInfo
struct DungeonEncounterLoadInfo
{
- static constexpr DB2FieldMeta Fields[10] =
+ static constexpr DB2FieldMeta Fields[11] =
{
{ .IsSigned = false, .Type = FT_STRING, .Name = "Name" },
{ .IsSigned = false, .Type = FT_INT, .Name = "ID" },
@@ -1721,9 +1721,10 @@ struct DungeonEncounterLoadInfo
{ .IsSigned = true, .Type = FT_INT, .Name = "Flags" },
{ .IsSigned = true, .Type = FT_INT, .Name = "SpellIconFileID" },
{ .IsSigned = true, .Type = FT_INT, .Name = "Faction" },
+ { .IsSigned = true, .Type = FT_INT, .Name = "Unknown1115" },
};
- static constexpr DB2LoadInfo Instance{ Fields, 10, &DungeonEncounterMeta::Instance, HOTFIX_SEL_DUNGEON_ENCOUNTER };
+ static constexpr DB2LoadInfo Instance{ Fields, 11, &DungeonEncounterMeta::Instance, HOTFIX_SEL_DUNGEON_ENCOUNTER };
};
struct DurabilityCostsLoadInfo
@@ -2516,7 +2517,7 @@ struct HeirloomLoadInfo
{ .IsSigned = true, .Type = FT_INT, .Name = "LegacyUpgradedItemID" },
{ .IsSigned = true, .Type = FT_INT, .Name = "StaticUpgradedItemID" },
{ .IsSigned = true, .Type = FT_BYTE, .Name = "SourceTypeEnum" },
- { .IsSigned = false, .Type = FT_BYTE, .Name = "Flags" },
+ { .IsSigned = true, .Type = FT_INT, .Name = "Flags" },
{ .IsSigned = true, .Type = FT_INT, .Name = "LegacyItemID" },
{ .IsSigned = true, .Type = FT_INT, .Name = "UpgradeItemID1" },
{ .IsSigned = true, .Type = FT_INT, .Name = "UpgradeItemID2" },
@@ -2843,7 +2844,7 @@ struct ItemClassLoadInfo
{ .IsSigned = false, .Type = FT_STRING, .Name = "ClassName" },
{ .IsSigned = true, .Type = FT_BYTE, .Name = "ClassID" },
{ .IsSigned = false, .Type = FT_FLOAT, .Name = "PriceModifier" },
- { .IsSigned = false, .Type = FT_BYTE, .Name = "Flags" },
+ { .IsSigned = true, .Type = FT_INT, .Name = "Flags" },
};
static constexpr DB2LoadInfo Instance{ Fields, 5, &ItemClassMeta::Instance, HOTFIX_SEL_ITEM_CLASS };
@@ -3009,7 +3010,7 @@ struct ItemExtendedCostLoadInfo
{ .IsSigned = false, .Type = FT_INT, .Name = "ID" },
{ .IsSigned = false, .Type = FT_SHORT, .Name = "RequiredArenaRating" },
{ .IsSigned = true, .Type = FT_BYTE, .Name = "ArenaBracket" },
- { .IsSigned = false, .Type = FT_BYTE, .Name = "Flags" },
+ { .IsSigned = true, .Type = FT_INT, .Name = "Flags" },
{ .IsSigned = false, .Type = FT_BYTE, .Name = "MinFactionID" },
{ .IsSigned = true, .Type = FT_INT, .Name = "MinReputation" },
{ .IsSigned = false, .Type = FT_BYTE, .Name = "RequiredAchievement" },
@@ -4037,15 +4038,16 @@ struct NamesReservedLocaleLoadInfo
struct NumTalentsAtLevelLoadInfo
{
- static constexpr DB2FieldMeta Fields[4] =
+ static constexpr DB2FieldMeta Fields[5] =
{
{ .IsSigned = false, .Type = FT_INT, .Name = "ID" },
{ .IsSigned = true, .Type = FT_INT, .Name = "NumTalents" },
{ .IsSigned = true, .Type = FT_INT, .Name = "NumTalentsDeathKnight" },
{ .IsSigned = true, .Type = FT_INT, .Name = "NumTalentsDemonHunter" },
+ { .IsSigned = false, .Type = FT_FLOAT, .Name = "Unknown1115" },
};
- static constexpr DB2LoadInfo Instance{ Fields, 4, &NumTalentsAtLevelMeta::Instance, HOTFIX_SEL_NUM_TALENTS_AT_LEVEL };
+ static constexpr DB2LoadInfo Instance{ Fields, 5, &NumTalentsAtLevelMeta::Instance, HOTFIX_SEL_NUM_TALENTS_AT_LEVEL };
};
struct OverrideSpellDataLoadInfo
@@ -5003,7 +5005,7 @@ struct SpellCastingRequirementsLoadInfo
{
{ .IsSigned = false, .Type = FT_INT, .Name = "ID" },
{ .IsSigned = true, .Type = FT_INT, .Name = "SpellID" },
- { .IsSigned = false, .Type = FT_BYTE, .Name = "FacingCasterFlags" },
+ { .IsSigned = true, .Type = FT_INT, .Name = "FacingCasterFlags" },
{ .IsSigned = false, .Type = FT_SHORT, .Name = "MinFactionID" },
{ .IsSigned = true, .Type = FT_INT, .Name = "MinReputation" },
{ .IsSigned = false, .Type = FT_SHORT, .Name = "RequiredAreasID" },
@@ -5804,22 +5806,39 @@ struct TactKeyLoadInfo
struct TalentLoadInfo
{
- static constexpr DB2FieldMeta Fields[11] =
+ static constexpr DB2FieldMeta Fields[28] =
{
{ .IsSigned = false, .Type = FT_INT, .Name = "ID" },
{ .IsSigned = false, .Type = FT_STRING, .Name = "Description" },
{ .IsSigned = false, .Type = FT_BYTE, .Name = "TierID" },
{ .IsSigned = false, .Type = FT_BYTE, .Name = "Flags" },
{ .IsSigned = false, .Type = FT_BYTE, .Name = "ColumnIndex" },
+ { .IsSigned = false, .Type = FT_SHORT, .Name = "TabID" },
{ .IsSigned = true, .Type = FT_BYTE, .Name = "ClassID" },
{ .IsSigned = false, .Type = FT_SHORT, .Name = "SpecID" },
{ .IsSigned = false, .Type = FT_INT, .Name = "SpellID" },
{ .IsSigned = false, .Type = FT_INT, .Name = "OverridesSpellID" },
- { .IsSigned = false, .Type = FT_BYTE, .Name = "CategoryMask1" },
- { .IsSigned = false, .Type = FT_BYTE, .Name = "CategoryMask2" },
- };
-
- static constexpr DB2LoadInfo Instance{ Fields, 11, &TalentMeta::Instance, HOTFIX_SEL_TALENT };
+ { .IsSigned = false, .Type = FT_INT, .Name = "RequiredSpellID" },
+ { .IsSigned = true, .Type = FT_INT, .Name = "CategoryMask1" },
+ { .IsSigned = true, .Type = FT_INT, .Name = "CategoryMask2" },
+ { .IsSigned = false, .Type = FT_INT, .Name = "SpellRank1" },
+ { .IsSigned = false, .Type = FT_INT, .Name = "SpellRank2" },
+ { .IsSigned = false, .Type = FT_INT, .Name = "SpellRank3" },
+ { .IsSigned = false, .Type = FT_INT, .Name = "SpellRank4" },
+ { .IsSigned = false, .Type = FT_INT, .Name = "SpellRank5" },
+ { .IsSigned = false, .Type = FT_INT, .Name = "SpellRank6" },
+ { .IsSigned = false, .Type = FT_INT, .Name = "SpellRank7" },
+ { .IsSigned = false, .Type = FT_INT, .Name = "SpellRank8" },
+ { .IsSigned = false, .Type = FT_INT, .Name = "SpellRank9" },
+ { .IsSigned = false, .Type = FT_INT, .Name = "PrereqTalent1" },
+ { .IsSigned = false, .Type = FT_INT, .Name = "PrereqTalent2" },
+ { .IsSigned = false, .Type = FT_INT, .Name = "PrereqTalent3" },
+ { .IsSigned = false, .Type = FT_BYTE, .Name = "PrereqRank1" },
+ { .IsSigned = false, .Type = FT_BYTE, .Name = "PrereqRank2" },
+ { .IsSigned = false, .Type = FT_BYTE, .Name = "PrereqRank3" },
+ };
+
+ static constexpr DB2LoadInfo Instance{ Fields, 28, &TalentMeta::Instance, HOTFIX_SEL_TALENT };
};
struct TaxiNodesLoadInfo
@@ -5904,7 +5923,7 @@ struct ToyLoadInfo
{ .IsSigned = false, .Type = FT_STRING, .Name = "SourceText" },
{ .IsSigned = false, .Type = FT_INT, .Name = "ID" },
{ .IsSigned = true, .Type = FT_INT, .Name = "ItemID" },
- { .IsSigned = false, .Type = FT_BYTE, .Name = "Flags" },
+ { .IsSigned = true, .Type = FT_INT, .Name = "Flags" },
{ .IsSigned = true, .Type = FT_BYTE, .Name = "SourceTypeEnum" },
};
@@ -6634,12 +6653,12 @@ struct VehicleSeatLoadInfo
{ .IsSigned = false, .Type = FT_FLOAT, .Name = "CameraEnteringZoom" },
{ .IsSigned = false, .Type = FT_FLOAT, .Name = "CameraSeatZoomMin" },
{ .IsSigned = false, .Type = FT_FLOAT, .Name = "CameraSeatZoomMax" },
- { .IsSigned = true, .Type = FT_SHORT, .Name = "EnterAnimKitID" },
- { .IsSigned = true, .Type = FT_SHORT, .Name = "RideAnimKitID" },
- { .IsSigned = true, .Type = FT_SHORT, .Name = "ExitAnimKitID" },
- { .IsSigned = true, .Type = FT_SHORT, .Name = "VehicleEnterAnimKitID" },
- { .IsSigned = true, .Type = FT_SHORT, .Name = "VehicleRideAnimKitID" },
- { .IsSigned = true, .Type = FT_SHORT, .Name = "VehicleExitAnimKitID" },
+ { .IsSigned = true, .Type = FT_INT, .Name = "EnterAnimKitID" },
+ { .IsSigned = true, .Type = FT_INT, .Name = "RideAnimKitID" },
+ { .IsSigned = true, .Type = FT_INT, .Name = "ExitAnimKitID" },
+ { .IsSigned = true, .Type = FT_INT, .Name = "VehicleEnterAnimKitID" },
+ { .IsSigned = true, .Type = FT_INT, .Name = "VehicleRideAnimKitID" },
+ { .IsSigned = true, .Type = FT_INT, .Name = "VehicleExitAnimKitID" },
{ .IsSigned = true, .Type = FT_SHORT, .Name = "CameraModeID" },
};
diff --git a/src/server/game/DataStores/DB2Metadata.h b/src/server/game/DataStores/DB2Metadata.h
index 08faf1eea37..c71bbabf68c 100644
--- a/src/server/game/DataStores/DB2Metadata.h
+++ b/src/server/game/DataStores/DB2Metadata.h
@@ -737,23 +737,24 @@ struct AnimationDataMeta
struct AreaConditionalDataMeta
{
- static constexpr DB2MetaField Fields[5] =
+ static constexpr DB2MetaField Fields[6] =
{
{ .Type = FT_STRING, .ArraySize = 1, .IsSigned = true },
{ .Type = FT_INT, .ArraySize = 1, .IsSigned = false },
{ .Type = FT_INT, .ArraySize = 1, .IsSigned = true },
{ .Type = FT_INT, .ArraySize = 1, .IsSigned = true },
{ .Type = FT_INT, .ArraySize = 1, .IsSigned = true },
+ { .Type = FT_INT, .ArraySize = 1, .IsSigned = true },
};
static constexpr DB2Meta Instance =
{
.FileDataId = 2123730,
.IndexField = 1,
- .ParentIndexField = 4,
- .FieldCount = 5,
- .FileFieldCount = 4,
- .LayoutHash = 0xFFC38678,
+ .ParentIndexField = 5,
+ .FieldCount = 6,
+ .FileFieldCount = 5,
+ .LayoutHash = 0xAEE182C6,
.Fields = Fields
};
};
@@ -2687,6 +2688,26 @@ struct Cfg_ConfigsMeta
};
};
+struct Cfg_GameRulesMeta
+{
+ static constexpr DB2MetaField Fields[2] =
+ {
+ { .Type = FT_BYTE, .ArraySize = 1, .IsSigned = true },
+ { .Type = FT_BYTE, .ArraySize = 1, .IsSigned = true },
+ };
+
+ static constexpr DB2Meta Instance =
+ {
+ .FileDataId = 6841377,
+ .IndexField = -1,
+ .ParentIndexField = -1,
+ .FieldCount = 2,
+ .FileFieldCount = 2,
+ .LayoutHash = 0x41B88A54,
+ .Fields = Fields
+ };
+};
+
struct Cfg_RegionsMeta
{
static constexpr DB2MetaField Fields[5] =
@@ -3294,7 +3315,7 @@ struct ChrClassesMeta
{ .Type = FT_SHORT, .ArraySize = 1, .IsSigned = false },
{ .Type = FT_SHORT, .ArraySize = 1, .IsSigned = false },
{ .Type = FT_BYTE, .ArraySize = 1, .IsSigned = false },
- { .Type = FT_BYTE, .ArraySize = 1, .IsSigned = false },
+ { .Type = FT_BYTE, .ArraySize = 1, .IsSigned = true },
{ .Type = FT_BYTE, .ArraySize = 1, .IsSigned = true },
{ .Type = FT_BYTE, .ArraySize = 1, .IsSigned = false },
{ .Type = FT_BYTE, .ArraySize = 1, .IsSigned = false },
@@ -3313,7 +3334,7 @@ struct ChrClassesMeta
.ParentIndexField = -1,
.FieldCount = 39,
.FileFieldCount = 39,
- .LayoutHash = 0x6D301B0D,
+ .LayoutHash = 0x03A0FD4D,
.Fields = Fields
};
};
@@ -5013,6 +5034,73 @@ struct ConversationLineMeta
};
};
+struct CooldownSetMeta
+{
+ static constexpr DB2MetaField Fields[3] =
+ {
+ { .Type = FT_INT, .ArraySize = 1, .IsSigned = false },
+ { .Type = FT_INT, .ArraySize = 1, .IsSigned = true },
+ { .Type = FT_INT, .ArraySize = 1, .IsSigned = true },
+ };
+
+ static constexpr DB2Meta Instance =
+ {
+ .FileDataId = 6405756,
+ .IndexField = 0,
+ .ParentIndexField = 1,
+ .FieldCount = 3,
+ .FileFieldCount = 3,
+ .LayoutHash = 0x833402CE,
+ .Fields = Fields
+ };
+};
+
+struct CooldownSetLinkedSpellMeta
+{
+ static constexpr DB2MetaField Fields[3] =
+ {
+ { .Type = FT_INT, .ArraySize = 1, .IsSigned = true },
+ { .Type = FT_INT, .ArraySize = 1, .IsSigned = true },
+ { .Type = FT_INT, .ArraySize = 1, .IsSigned = true },
+ };
+
+ static constexpr DB2Meta Instance =
+ {
+ .FileDataId = 6422327,
+ .IndexField = -1,
+ .ParentIndexField = 2,
+ .FieldCount = 3,
+ .FileFieldCount = 2,
+ .LayoutHash = 0x11E4972F,
+ .Fields = Fields
+ };
+};
+
+struct CooldownSetSpellMeta
+{
+ static constexpr DB2MetaField Fields[7] =
+ {
+ { .Type = FT_INT, .ArraySize = 1, .IsSigned = false },
+ { .Type = FT_INT, .ArraySize = 1, .IsSigned = true },
+ { .Type = FT_INT, .ArraySize = 1, .IsSigned = true },
+ { .Type = FT_BYTE, .ArraySize = 1, .IsSigned = false },
+ { .Type = FT_INT, .ArraySize = 1, .IsSigned = true },
+ { .Type = FT_INT, .ArraySize = 1, .IsSigned = true },
+ { .Type = FT_INT, .ArraySize = 1, .IsSigned = true },
+ };
+
+ static constexpr DB2Meta Instance =
+ {
+ .FileDataId = 6405757,
+ .IndexField = 0,
+ .ParentIndexField = 1,
+ .FieldCount = 7,
+ .FileFieldCount = 7,
+ .LayoutHash = 0xB5A471F2,
+ .Fields = Fields
+ };
+};
+
struct CorruptionEffectsMeta
{
static constexpr DB2MetaField Fields[4] =
@@ -5469,7 +5557,7 @@ struct CreatureDisplayInfoMeta
.ParentIndexField = -1,
.FieldCount = 28,
.FileFieldCount = 28,
- .LayoutHash = 0x19189406,
+ .LayoutHash = 0x7275F5F6,
.Fields = Fields
};
};
@@ -5765,7 +5853,7 @@ struct CreatureModelDataMeta
{ .Type = FT_INT, .ArraySize = 1, .IsSigned = false },
{ .Type = FT_INT, .ArraySize = 1, .IsSigned = false },
{ .Type = FT_INT, .ArraySize = 1, .IsSigned = false },
- { .Type = FT_INT, .ArraySize = 1, .IsSigned = false },
+ { .Type = FT_BYTE, .ArraySize = 1, .IsSigned = true },
{ .Type = FT_FLOAT, .ArraySize = 1, .IsSigned = true },
{ .Type = FT_FLOAT, .ArraySize = 1, .IsSigned = true },
{ .Type = FT_FLOAT, .ArraySize = 1, .IsSigned = true },
@@ -5794,7 +5882,7 @@ struct CreatureModelDataMeta
.ParentIndexField = -1,
.FieldCount = 34,
.FileFieldCount = 34,
- .LayoutHash = 0x6148D238,
+ .LayoutHash = 0x0F5449F8,
.Fields = Fields
};
};
@@ -6189,7 +6277,7 @@ struct DeathThudLookupsMeta
{
static constexpr DB2MetaField Fields[4] =
{
- { .Type = FT_BYTE, .ArraySize = 1, .IsSigned = false },
+ { .Type = FT_BYTE, .ArraySize = 1, .IsSigned = true },
{ .Type = FT_BYTE, .ArraySize = 1, .IsSigned = false },
{ .Type = FT_INT, .ArraySize = 1, .IsSigned = false },
{ .Type = FT_INT, .ArraySize = 1, .IsSigned = false },
@@ -6202,7 +6290,7 @@ struct DeathThudLookupsMeta
.ParentIndexField = -1,
.FieldCount = 4,
.FileFieldCount = 4,
- .LayoutHash = 0xDDC6DB32,
+ .LayoutHash = 0xB84E88F2,
.Fields = Fields
};
};
@@ -6571,7 +6659,7 @@ struct DriverBlacklistMeta
struct DungeonEncounterMeta
{
- static constexpr DB2MetaField Fields[10] =
+ static constexpr DB2MetaField Fields[11] =
{
{ .Type = FT_STRING, .ArraySize = 1, .IsSigned = true },
{ .Type = FT_INT, .ArraySize = 1, .IsSigned = false },
@@ -6583,6 +6671,7 @@ struct DungeonEncounterMeta
{ .Type = FT_INT, .ArraySize = 1, .IsSigned = true },
{ .Type = FT_INT, .ArraySize = 1, .IsSigned = true },
{ .Type = FT_INT, .ArraySize = 1, .IsSigned = true },
+ { .Type = FT_INT, .ArraySize = 1, .IsSigned = true },
};
static constexpr DB2Meta Instance =
@@ -6590,9 +6679,9 @@ struct DungeonEncounterMeta
.FileDataId = 1347279,
.IndexField = 1,
.ParentIndexField = 2,
- .FieldCount = 10,
- .FileFieldCount = 10,
- .LayoutHash = 0x7B6AC42A,
+ .FieldCount = 11,
+ .FileFieldCount = 11,
+ .LayoutHash = 0xE408B8D4,
.Fields = Fields
};
};
@@ -6719,7 +6808,7 @@ struct EmotesTextDataMeta
static constexpr DB2MetaField Fields[3] =
{
{ .Type = FT_STRING, .ArraySize = 1, .IsSigned = true },
- { .Type = FT_BYTE, .ArraySize = 1, .IsSigned = false },
+ { .Type = FT_INT, .ArraySize = 1, .IsSigned = true },
{ .Type = FT_INT, .ArraySize = 1, .IsSigned = true },
};
@@ -6730,7 +6819,7 @@ struct EmotesTextDataMeta
.ParentIndexField = 2,
.FieldCount = 3,
.FileFieldCount = 2,
- .LayoutHash = 0x4BF58EA9,
+ .LayoutHash = 0x62B26C79,
.Fields = Fields
};
};
@@ -7264,9 +7353,11 @@ struct GameClockDebugMeta
struct GameModeMeta
{
- static constexpr DB2MetaField Fields[9] =
+ static constexpr DB2MetaField Fields[12] =
{
{ .Type = FT_STRING_NOT_LOCALIZED, .ArraySize = 1, .IsSigned = true },
+ { .Type = FT_STRING_NOT_LOCALIZED, .ArraySize = 1, .IsSigned = true },
+ { .Type = FT_STRING_NOT_LOCALIZED, .ArraySize = 1, .IsSigned = true },
{ .Type = FT_INT, .ArraySize = 1, .IsSigned = true },
{ .Type = FT_INT, .ArraySize = 1, .IsSigned = true },
{ .Type = FT_INT, .ArraySize = 1, .IsSigned = true },
@@ -7275,6 +7366,7 @@ struct GameModeMeta
{ .Type = FT_INT, .ArraySize = 1, .IsSigned = true },
{ .Type = FT_INT, .ArraySize = 1, .IsSigned = true },
{ .Type = FT_INT, .ArraySize = 1, .IsSigned = true },
+ { .Type = FT_BYTE, .ArraySize = 1, .IsSigned = true },
};
static constexpr DB2Meta Instance =
@@ -7282,9 +7374,9 @@ struct GameModeMeta
.FileDataId = 5008306,
.IndexField = -1,
.ParentIndexField = -1,
- .FieldCount = 9,
- .FileFieldCount = 9,
- .LayoutHash = 0x60A1CBA9,
+ .FieldCount = 12,
+ .FileFieldCount = 12,
+ .LayoutHash = 0x3609B763,
.Fields = Fields
};
};
@@ -9719,7 +9811,7 @@ struct HeirloomMeta
{ .Type = FT_INT, .ArraySize = 1, .IsSigned = true },
{ .Type = FT_INT, .ArraySize = 1, .IsSigned = true },
{ .Type = FT_BYTE, .ArraySize = 1, .IsSigned = true },
- { .Type = FT_BYTE, .ArraySize = 1, .IsSigned = false },
+ { .Type = FT_INT, .ArraySize = 1, .IsSigned = true },
{ .Type = FT_INT, .ArraySize = 1, .IsSigned = true },
{ .Type = FT_INT, .ArraySize = 6, .IsSigned = true },
{ .Type = FT_SHORT, .ArraySize = 6, .IsSigned = false },
@@ -9732,7 +9824,7 @@ struct HeirloomMeta
.ParentIndexField = -1,
.FieldCount = 10,
.FileFieldCount = 10,
- .LayoutHash = 0x2F8299AE,
+ .LayoutHash = 0x9ECA649E,
.Fields = Fields
};
};
@@ -10468,7 +10560,7 @@ struct ItemClassMeta
{ .Type = FT_STRING, .ArraySize = 1, .IsSigned = true },
{ .Type = FT_BYTE, .ArraySize = 1, .IsSigned = true },
{ .Type = FT_FLOAT, .ArraySize = 1, .IsSigned = true },
- { .Type = FT_BYTE, .ArraySize = 1, .IsSigned = false },
+ { .Type = FT_INT, .ArraySize = 1, .IsSigned = true },
};
static constexpr DB2Meta Instance =
@@ -10478,7 +10570,7 @@ struct ItemClassMeta
.ParentIndexField = -1,
.FieldCount = 4,
.FileFieldCount = 4,
- .LayoutHash = 0xA2EB4A48,
+ .LayoutHash = 0x35680EB8,
.Fields = Fields
};
};
@@ -10844,7 +10936,7 @@ struct ItemExtendedCostMeta
{
{ .Type = FT_SHORT, .ArraySize = 1, .IsSigned = false },
{ .Type = FT_BYTE, .ArraySize = 1, .IsSigned = true },
- { .Type = FT_BYTE, .ArraySize = 1, .IsSigned = false },
+ { .Type = FT_INT, .ArraySize = 1, .IsSigned = true },
{ .Type = FT_BYTE, .ArraySize = 1, .IsSigned = false },
{ .Type = FT_INT, .ArraySize = 1, .IsSigned = true },
{ .Type = FT_BYTE, .ArraySize = 1, .IsSigned = false },
@@ -10861,7 +10953,7 @@ struct ItemExtendedCostMeta
.ParentIndexField = -1,
.FieldCount = 10,
.FileFieldCount = 10,
- .LayoutHash = 0xD2894EC8,
+ .LayoutHash = 0x6F3FC018,
.Fields = Fields
};
};
@@ -13335,7 +13427,7 @@ struct MawPowerRarityMeta
.ParentIndexField = -1,
.FieldCount = 2,
.FileFieldCount = 2,
- .LayoutHash = 0x3DFF7866,
+ .LayoutHash = 0xA575912D,
.Fields = Fields
};
};
@@ -14337,21 +14429,23 @@ struct NamesReservedLocaleMeta
struct NumTalentsAtLevelMeta
{
- static constexpr DB2MetaField Fields[3] =
+ static constexpr DB2MetaField Fields[5] =
{
+ { .Type = FT_INT, .ArraySize = 1, .IsSigned = false },
{ .Type = FT_INT, .ArraySize = 1, .IsSigned = true },
{ .Type = FT_INT, .ArraySize = 1, .IsSigned = true },
{ .Type = FT_INT, .ArraySize = 1, .IsSigned = true },
+ { .Type = FT_FLOAT, .ArraySize = 1, .IsSigned = true },
};
static constexpr DB2Meta Instance =
{
.FileDataId = 1953326,
- .IndexField = -1,
+ .IndexField = 0,
.ParentIndexField = -1,
- .FieldCount = 3,
- .FileFieldCount = 3,
- .LayoutHash = 0x9E707863,
+ .FieldCount = 5,
+ .FileFieldCount = 5,
+ .LayoutHash = 0x1B85660E,
.Fields = Fields
};
};
@@ -15491,7 +15585,7 @@ struct PlayerDataElementAccountMeta
.ParentIndexField = -1,
.FieldCount = 3,
.FileFieldCount = 3,
- .LayoutHash = 0x7F54ED49,
+ .LayoutHash = 0x099A3DF9,
.Fields = Fields
};
};
@@ -15512,7 +15606,7 @@ struct PlayerDataElementCharacterMeta
.ParentIndexField = -1,
.FieldCount = 3,
.FileFieldCount = 3,
- .LayoutHash = 0x7F54ED49,
+ .LayoutHash = 0x099A3DF9,
.Fields = Fields
};
};
@@ -18782,7 +18876,7 @@ struct SpellCastingRequirementsMeta
static constexpr DB2MetaField Fields[7] =
{
{ .Type = FT_INT, .ArraySize = 1, .IsSigned = true },
- { .Type = FT_BYTE, .ArraySize = 1, .IsSigned = false },
+ { .Type = FT_INT, .ArraySize = 1, .IsSigned = true },
{ .Type = FT_SHORT, .ArraySize = 1, .IsSigned = false },
{ .Type = FT_INT, .ArraySize = 1, .IsSigned = true },
{ .Type = FT_SHORT, .ArraySize = 1, .IsSigned = false },
@@ -18797,7 +18891,7 @@ struct SpellCastingRequirementsMeta
.ParentIndexField = -1,
.FieldCount = 7,
.FileFieldCount = 7,
- .LayoutHash = 0xEB5F42A0,
+ .LayoutHash = 0x02074290,
.Fields = Fields
};
};
@@ -20571,26 +20665,6 @@ struct StartupFilesMeta
};
};
-struct Startup_StringsMeta
-{
- static constexpr DB2MetaField Fields[2] =
- {
- { .Type = FT_STRING_NOT_LOCALIZED, .ArraySize = 1, .IsSigned = true },
- { .Type = FT_STRING, .ArraySize = 1, .IsSigned = true },
- };
-
- static constexpr DB2Meta Instance =
- {
- .FileDataId = 1375805,
- .IndexField = -1,
- .ParentIndexField = -1,
- .FieldCount = 2,
- .FileFieldCount = 2,
- .LayoutHash = 0xD758674F,
- .Fields = Fields
- };
-};
-
struct StationeryMeta
{
static constexpr DB2MetaField Fields[3] =
@@ -20675,17 +20749,22 @@ struct TactKeyLookupMeta
struct TalentMeta
{
- static constexpr DB2MetaField Fields[9] =
+ static constexpr DB2MetaField Fields[14] =
{
{ .Type = FT_STRING, .ArraySize = 1, .IsSigned = true },
{ .Type = FT_BYTE, .ArraySize = 1, .IsSigned = false },
{ .Type = FT_BYTE, .ArraySize = 1, .IsSigned = false },
{ .Type = FT_BYTE, .ArraySize = 1, .IsSigned = false },
+ { .Type = FT_SHORT, .ArraySize = 1, .IsSigned = false },
{ .Type = FT_BYTE, .ArraySize = 1, .IsSigned = true },
{ .Type = FT_SHORT, .ArraySize = 1, .IsSigned = false },
{ .Type = FT_INT, .ArraySize = 1, .IsSigned = false },
{ .Type = FT_INT, .ArraySize = 1, .IsSigned = false },
- { .Type = FT_BYTE, .ArraySize = 2, .IsSigned = false },
+ { .Type = FT_INT, .ArraySize = 1, .IsSigned = false },
+ { .Type = FT_INT, .ArraySize = 2, .IsSigned = true },
+ { .Type = FT_INT, .ArraySize = 9, .IsSigned = false },
+ { .Type = FT_INT, .ArraySize = 3, .IsSigned = false },
+ { .Type = FT_BYTE, .ArraySize = 3, .IsSigned = false },
};
static constexpr DB2Meta Instance =
@@ -20693,9 +20772,9 @@ struct TalentMeta
.FileDataId = 1369062,
.IndexField = -1,
.ParentIndexField = -1,
- .FieldCount = 9,
- .FileFieldCount = 9,
- .LayoutHash = 0xFD0E9E24,
+ .FieldCount = 14,
+ .FileFieldCount = 14,
+ .LayoutHash = 0x4D999D55,
.Fields = Fields
};
};
@@ -20833,7 +20912,7 @@ struct TerrainTypeMeta
{ .Type = FT_SHORT, .ArraySize = 1, .IsSigned = false },
{ .Type = FT_SHORT, .ArraySize = 1, .IsSigned = false },
{ .Type = FT_BYTE, .ArraySize = 1, .IsSigned = false },
- { .Type = FT_BYTE, .ArraySize = 1, .IsSigned = false },
+ { .Type = FT_INT, .ArraySize = 1, .IsSigned = true },
};
static constexpr DB2Meta Instance =
@@ -20843,7 +20922,7 @@ struct TerrainTypeMeta
.ParentIndexField = -1,
.FieldCount = 5,
.FileFieldCount = 5,
- .LayoutHash = 0xEC0D143D,
+ .LayoutHash = 0x7A6E1ECD,
.Fields = Fields
};
};
@@ -20967,7 +21046,7 @@ struct ToyMeta
{ .Type = FT_STRING, .ArraySize = 1, .IsSigned = true },
{ .Type = FT_INT, .ArraySize = 1, .IsSigned = false },
{ .Type = FT_INT, .ArraySize = 1, .IsSigned = true },
- { .Type = FT_BYTE, .ArraySize = 1, .IsSigned = false },
+ { .Type = FT_INT, .ArraySize = 1, .IsSigned = true },
{ .Type = FT_BYTE, .ArraySize = 1, .IsSigned = true },
};
@@ -20978,7 +21057,7 @@ struct ToyMeta
.ParentIndexField = -1,
.FieldCount = 5,
.FileFieldCount = 5,
- .LayoutHash = 0xC55DB9B0,
+ .LayoutHash = 0x821B5D20,
.Fields = Fields
};
};
@@ -23524,12 +23603,12 @@ struct VehicleSeatMeta
{ .Type = FT_FLOAT, .ArraySize = 1, .IsSigned = true },
{ .Type = FT_FLOAT, .ArraySize = 1, .IsSigned = true },
{ .Type = FT_FLOAT, .ArraySize = 1, .IsSigned = true },
- { .Type = FT_SHORT, .ArraySize = 1, .IsSigned = true },
- { .Type = FT_SHORT, .ArraySize = 1, .IsSigned = true },
- { .Type = FT_SHORT, .ArraySize = 1, .IsSigned = true },
- { .Type = FT_SHORT, .ArraySize = 1, .IsSigned = true },
- { .Type = FT_SHORT, .ArraySize = 1, .IsSigned = true },
- { .Type = FT_SHORT, .ArraySize = 1, .IsSigned = true },
+ { .Type = FT_INT, .ArraySize = 1, .IsSigned = true },
+ { .Type = FT_INT, .ArraySize = 1, .IsSigned = true },
+ { .Type = FT_INT, .ArraySize = 1, .IsSigned = true },
+ { .Type = FT_INT, .ArraySize = 1, .IsSigned = true },
+ { .Type = FT_INT, .ArraySize = 1, .IsSigned = true },
+ { .Type = FT_INT, .ArraySize = 1, .IsSigned = true },
{ .Type = FT_SHORT, .ArraySize = 1, .IsSigned = true },
};
@@ -23540,7 +23619,7 @@ struct VehicleSeatMeta
.ParentIndexField = -1,
.FieldCount = 61,
.FileFieldCount = 61,
- .LayoutHash = 0x53C25193,
+ .LayoutHash = 0x973F2793,
.Fields = Fields
};
};
diff --git a/src/server/game/DataStores/DB2Structure.h b/src/server/game/DataStores/DB2Structure.h
index 4af8e10f860..eff70fb4b9d 100644
--- a/src/server/game/DataStores/DB2Structure.h
+++ b/src/server/game/DataStores/DB2Structure.h
@@ -684,7 +684,7 @@ struct ChrClassesEntry
uint16 CinematicSequenceID;
uint16 DefaultSpec;
uint8 ID;
- uint8 PrimaryStatPriority;
+ int8 PrimaryStatPriority;
int8 DisplayPower;
uint8 RangedAttackPowerPerAgility;
uint8 AttackPowerPerAgility;
@@ -1101,7 +1101,7 @@ struct CreatureModelDataEntry
uint32 FootstepCameraEffectID;
uint32 DeathThudCameraEffectID;
uint32 SoundID;
- uint32 SizeClass;
+ int8 SizeClass;
float CollisionWidth;
float CollisionHeight;
float WorldEffectScale;
@@ -1530,6 +1530,7 @@ struct DungeonEncounterEntry
int32 Flags;
int32 SpellIconFileID;
int32 Faction;
+ int32 Unknown1115;
};
struct DurabilityCostsEntry
@@ -2096,7 +2097,7 @@ struct HeirloomEntry
int32 LegacyUpgradedItemID;
int32 StaticUpgradedItemID;
int8 SourceTypeEnum;
- uint8 Flags;
+ int32 Flags;
int32 LegacyItemID;
std::array<int32, 6> UpgradeItemID;
std::array<uint16, 6> UpgradeItemBonusListID;
@@ -2275,7 +2276,7 @@ struct ItemClassEntry
LocalizedString ClassName;
int8 ClassID;
float PriceModifier;
- uint8 Flags;
+ int32 Flags;
};
struct ItemContextPickerEntryEntry
@@ -2364,7 +2365,7 @@ struct ItemExtendedCostEntry
uint32 ID;
uint16 RequiredArenaRating;
int8 ArenaBracket; // arena slot restrictions (min slot value)
- uint8 Flags;
+ int32 Flags;
uint8 MinFactionID;
int32 MinReputation;
uint8 RequiredAchievement; // required personal arena rating
@@ -3057,6 +3058,7 @@ struct NumTalentsAtLevelEntry
int32 NumTalents;
int32 NumTalentsDeathKnight;
int32 NumTalentsDemonHunter;
+ float Unknown1115;
};
#define MAX_OVERRIDE_SPELL 10
@@ -3655,7 +3657,7 @@ struct SpellCastingRequirementsEntry
{
uint32 ID;
int32 SpellID;
- uint8 FacingCasterFlags;
+ int32 FacingCasterFlags;
uint16 MinFactionID;
int32 MinReputation;
uint16 RequiredAreasID;
@@ -4158,11 +4160,16 @@ struct TalentEntry
uint8 TierID;
uint8 Flags;
uint8 ColumnIndex;
+ uint16 TabID;
int8 ClassID;
uint16 SpecID;
uint32 SpellID;
uint32 OverridesSpellID;
- std::array<uint8, 2> CategoryMask;
+ uint32 RequiredSpellID;
+ std::array<int32, 2> CategoryMask;
+ std::array<uint32, 9> SpellRank;
+ std::array<uint32, 3> PrereqTalent;
+ std::array<uint8, 3> PrereqRank;
};
struct TaxiNodesEntry
@@ -4235,7 +4242,7 @@ struct ToyEntry
LocalizedString SourceText;
uint32 ID;
int32 ItemID;
- uint8 Flags;
+ int32 Flags;
int8 SourceTypeEnum;
};
@@ -4730,12 +4737,12 @@ struct VehicleSeatEntry
float CameraEnteringZoom;
float CameraSeatZoomMin;
float CameraSeatZoomMax;
- int16 EnterAnimKitID;
- int16 RideAnimKitID;
- int16 ExitAnimKitID;
- int16 VehicleEnterAnimKitID;
- int16 VehicleRideAnimKitID;
- int16 VehicleExitAnimKitID;
+ int32 EnterAnimKitID;
+ int32 RideAnimKitID;
+ int32 ExitAnimKitID;
+ int32 VehicleEnterAnimKitID;
+ int32 VehicleRideAnimKitID;
+ int32 VehicleExitAnimKitID;
int16 CameraModeID;
inline bool HasFlag(VehicleSeatFlags flag) const { return !!(Flags & flag); }
diff --git a/src/server/game/DataStores/DBCEnums.h b/src/server/game/DataStores/DBCEnums.h
index 80f5389d5a4..dc7f13b4192 100644
--- a/src/server/game/DataStores/DBCEnums.h
+++ b/src/server/game/DataStores/DBCEnums.h
@@ -441,7 +441,7 @@ enum class ContentTuningCalcType : int32
enum class ContentTuningFlag : int32
{
DisabledForItem = 0x04,
- Horde = 0x8,
+ Horde = 0x08,
Alliance = 0x10
};
@@ -885,14 +885,15 @@ DEFINE_ENUM_FLAG(CurrencyTypesFlags);
enum class CurrencyTypesFlagsB : uint32
{
- UseTotalEarnedForEarned = 0x01,
- ShowQuestXPGainInTooltip = 0x02, // NYI
- NoNotificationMailOnOfflineProgress = 0x04, // NYI
- BattlenetVirtualCurrency = 0x08, // NYI
- FutureCurrencyFlag = 0x10, // NYI
- DontDisplayIfZero = 0x20, // NYI
- ScaleMaxQuantityBySeasonWeeks = 0x40, // NYI
- ScaleMaxQuantityByWeeksSinceStart = 0x80, // NYI
+ UseTotalEarnedForEarned = 0x0001,
+ ShowQuestXPGainInTooltip = 0x0002, // NYI
+ NoNotificationMailOnOfflineProgress = 0x0004, // NYI
+ BattlenetVirtualCurrency = 0x0008, // NYI
+ FutureCurrencyFlag = 0x0010, // NYI
+ DontDisplayIfZero = 0x0020, // NYI
+ ScaleMaxQuantityBySeasonWeeks = 0x0040, // NYI
+ ScaleMaxQuantityByWeeksSinceStart = 0x0080, // NYI
+ ForceMaxQuantityOnConversion = 0x0100, // NYI
};
DEFINE_ENUM_FLAG(CurrencyTypesFlagsB);
@@ -1027,6 +1028,14 @@ enum class GlobalCurve : int32
ContentTuningPvpItemLevelHealthScaling = 13,
ContentTuningPvpLevelDamageScaling = 14,
ContentTuningPvpItemLevelDamageScaling = 15,
+
+ ArmorItemLevelDiminishing = 18,
+
+ ChallengeModeHealth = 21,
+ ChallengeModeDamage = 22,
+ MythicPlusEndOfRunGearSequenceLevel = 23,
+
+ SpellAreaEffectWarningRadius = 26, // ground spell effect warning circle radius (based on spell radius)
};
#define MAX_ITEM_PROTO_FLAGS 5
@@ -1829,6 +1838,9 @@ enum class ModifierTreeType : int32
PlayerDataElementCharacterEqual = 390, /*NYI*/ // Player {PlayerDataElementCharacter} is greater than {#Amount}
PlayerDataElementAccountEqual = 391, /*NYI*/ // Player {PlayerDataElementAccount} is greater than {#Amount}
PlayerHasCompletedQuestOrIsReadyToTurnIn = 392, // Player has previously completed quest "{QuestV2}" or is ready to turn it in
+ PlayerTitle = 393, // Player is currently using "{ChrTitles}" title
+
+ PlayerIsInGuild = 404, // Player is in a guild
};
enum class ModifierTreeOperator : int8
@@ -1996,6 +2008,14 @@ enum class PlayerInteractionType : int32
CharacterBanker = 67,
AccountBanker = 68,
ProfessionRespec = 69,
+ PlaceholderType71 = 70,
+ PlaceholderType72 = 71,
+ PlaceholderType73 = 72,
+ PlaceholderType74 = 73,
+ PlaceholderType75 = 74,
+ PlaceholderType76 = 75,
+ GuildRename = 76,
+ PlaceholderType77 = 77,
};
enum class PowerTypeFlags : int16
@@ -2301,7 +2321,7 @@ enum class SummonPropertiesFlags : uint32
DEFINE_ENUM_FLAG(SummonPropertiesFlags);
#define MAX_TALENT_TIERS 7
-#define MAX_TALENT_COLUMNS 3
+#define MAX_TALENT_COLUMNS 4
#define MAX_PVP_TALENT_SLOTS 4
enum class TaxiNodeFlags : int32