aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/server/game/DataStores/DB2LoadInfo.h78
-rw-r--r--src/server/game/DataStores/DB2Stores.cpp14
-rw-r--r--src/server/game/DataStores/DB2Structure.h78
-rw-r--r--src/server/game/DataStores/DBCEnums.h6
-rw-r--r--src/server/game/Entities/Player/CollectionMgr.cpp2
-rw-r--r--src/server/game/Entities/Player/Player.cpp4
-rw-r--r--src/server/game/Spells/Auras/SpellAuraDefines.h83
-rw-r--r--src/server/game/Spells/Auras/SpellAuraEffects.cpp82
8 files changed, 259 insertions, 88 deletions
diff --git a/src/server/game/DataStores/DB2LoadInfo.h b/src/server/game/DataStores/DB2LoadInfo.h
index d8347263cce..65e90a37e91 100644
--- a/src/server/game/DataStores/DB2LoadInfo.h
+++ b/src/server/game/DataStores/DB2LoadInfo.h
@@ -542,7 +542,7 @@ struct AzeritePowerSetMemberLoadInfo
static constexpr DB2FieldMeta Fields[6] =
{
{ false, FT_INT, "ID" },
- { true, FT_INT, "AzeritePowerSetID" },
+ { false, FT_INT, "AzeritePowerSetID" },
{ true, FT_INT, "AzeritePowerID" },
{ true, FT_INT, "Class" },
{ false, FT_BYTE, "Tier" },
@@ -641,7 +641,7 @@ struct BattlePetBreedQualityLoadInfo
{
{ false, FT_INT, "ID" },
{ false, FT_FLOAT, "StateMultiplier" },
- { true, FT_BYTE, "QualityEnum" },
+ { false, FT_BYTE, "QualityEnum" },
};
static constexpr DB2LoadInfo Instance{ Fields, 3, &BattlePetBreedQualityMeta::Instance, HOTFIX_SEL_BATTLE_PET_BREED_QUALITY };
@@ -1145,7 +1145,7 @@ struct ChrSpecializationLoadInfo
{ false, FT_STRING, "FemaleName" },
{ false, FT_STRING, "Description" },
{ false, FT_INT, "ID" },
- { true, FT_BYTE, "ClassID" },
+ { false, FT_BYTE, "ClassID" },
{ true, FT_BYTE, "OrderIndex" },
{ true, FT_BYTE, "PetTalentType" },
{ true, FT_BYTE, "Role" },
@@ -1200,7 +1200,7 @@ struct ConditionalChrModelLoadInfo
static constexpr DB2FieldMeta Fields[6] =
{
{ false, FT_INT, "ID" },
- { true, FT_INT, "ChrModelID" },
+ { false, FT_INT, "ChrModelID" },
{ true, FT_INT, "ChrCustomizationReqID" },
{ true, FT_INT, "PlayerConditionID" },
{ true, FT_INT, "Flags" },
@@ -1508,20 +1508,20 @@ struct DestructibleModelDataLoadInfo
{ false, FT_INT, "ID" },
{ true, FT_BYTE, "State0ImpactEffectDoodadSet" },
{ false, FT_BYTE, "State0AmbientDoodadSet" },
- { true, FT_INT, "State1Wmo" },
+ { false, FT_INT, "State1Wmo" },
{ true, FT_BYTE, "State1DestructionDoodadSet" },
{ true, FT_BYTE, "State1ImpactEffectDoodadSet" },
{ false, FT_BYTE, "State1AmbientDoodadSet" },
- { true, FT_INT, "State2Wmo" },
+ { false, FT_INT, "State2Wmo" },
{ true, FT_BYTE, "State2DestructionDoodadSet" },
{ true, FT_BYTE, "State2ImpactEffectDoodadSet" },
{ false, FT_BYTE, "State2AmbientDoodadSet" },
- { true, FT_INT, "State3Wmo" },
+ { false, FT_INT, "State3Wmo" },
{ false, FT_BYTE, "State3InitDoodadSet" },
{ false, FT_BYTE, "State3AmbientDoodadSet" },
{ false, FT_BYTE, "EjectDirection" },
{ false, FT_BYTE, "DoNotHighlight" },
- { true, FT_INT, "State0Wmo" },
+ { false, FT_INT, "State0Wmo" },
{ false, FT_BYTE, "HealEffect" },
{ false, FT_SHORT, "HealEffectSpeed" },
{ true, FT_BYTE, "State0NameSet" },
@@ -2050,7 +2050,7 @@ struct GarrMissionLoadInfo
{ false, FT_BYTE, "FollowerDeathChance" },
{ false, FT_INT, "AreaID" },
{ false, FT_INT, "Flags" },
- { true, FT_INT, "GarrMissionSetID" },
+ { false, FT_INT, "GarrMissionSetID" },
};
static constexpr DB2LoadInfo Instance{ Fields, 31, &GarrMissionMeta::Instance, HOTFIX_SEL_GARR_MISSION };
@@ -2580,7 +2580,7 @@ struct ItemChildEquipmentLoadInfo
{ false, FT_INT, "ID" },
{ true, FT_INT, "ChildItemID" },
{ false, FT_BYTE, "ChildItemEquipSlot" },
- { true, FT_INT, "ParentItemID" },
+ { false, FT_INT, "ParentItemID" },
};
static constexpr DB2LoadInfo Instance{ Fields, 4, &ItemChildEquipmentMeta::Instance, HOTFIX_SEL_ITEM_CHILD_EQUIPMENT };
@@ -2747,7 +2747,7 @@ struct ItemEffectLoadInfo
{ false, FT_SHORT, "SpellCategoryID" },
{ true, FT_INT, "SpellID" },
{ false, FT_SHORT, "ChrSpecializationID" },
- { true, FT_INT, "ParentItemID" },
+ { false, FT_INT, "ParentItemID" },
};
static constexpr DB2LoadInfo Instance{ Fields, 10, &ItemEffectMeta::Instance, HOTFIX_SEL_ITEM_EFFECT };
@@ -2861,7 +2861,7 @@ struct ItemModifiedAppearanceLoadInfo
{ true, FT_INT, "ItemAppearanceModifierID" },
{ true, FT_INT, "ItemAppearanceID" },
{ true, FT_INT, "OrderIndex" },
- { false, FT_BYTE, "TransmogSourceTypeEnum" },
+ { true, FT_INT, "TransmogSourceTypeEnum" },
};
static constexpr DB2LoadInfo Instance{ Fields, 6, &ItemModifiedAppearanceMeta::Instance, HOTFIX_SEL_ITEM_MODIFIED_APPEARANCE };
@@ -2972,7 +2972,7 @@ struct ItemSetSpellLoadInfo
{ false, FT_SHORT, "ChrSpecID" },
{ false, FT_INT, "SpellID" },
{ false, FT_BYTE, "Threshold" },
- { true, FT_INT, "ItemSetID" },
+ { false, FT_INT, "ItemSetID" },
};
static constexpr DB2LoadInfo Instance{ Fields, 5, &ItemSetSpellMeta::Instance, HOTFIX_SEL_ITEM_SET_SPELL };
@@ -3190,7 +3190,7 @@ struct JournalEncounterSectionLoadInfo
{ false, FT_SHORT, "ParentSectionID" },
{ false, FT_SHORT, "FirstChildSectionID" },
{ false, FT_SHORT, "NextSiblingSectionID" },
- { false, FT_BYTE, "Type" },
+ { true, FT_BYTE, "Type" },
{ false, FT_INT, "IconCreatureDisplayInfoID" },
{ true, FT_INT, "UiModelSceneID" },
{ true, FT_INT, "SpellID" },
@@ -4067,7 +4067,7 @@ struct PvpTalentLoadInfo
{
{ false, FT_STRING, "Description" },
{ false, FT_INT, "ID" },
- { true, FT_INT, "SpecID" },
+ { false, FT_INT, "SpecID" },
{ true, FT_INT, "SpellID" },
{ true, FT_INT, "OverridesSpellID" },
{ true, FT_INT, "Flags" },
@@ -4114,7 +4114,7 @@ struct PvpTierLoadInfo
{ true, FT_SHORT, "MaxRating" },
{ true, FT_INT, "PrevTier" },
{ true, FT_INT, "NextTier" },
- { true, FT_BYTE, "BracketID" },
+ { false, FT_BYTE, "BracketID" },
{ true, FT_BYTE, "Rank" },
{ true, FT_INT, "RankIconFileDataID" },
};
@@ -4462,7 +4462,7 @@ struct SkillLineXTraitTreeLoadInfo
static constexpr DB2FieldMeta Fields[4] =
{
{ false, FT_INT, "ID" },
- { true, FT_INT, "SkillLineID" },
+ { false, FT_INT, "SkillLineID" },
{ true, FT_INT, "TraitTreeID" },
{ true, FT_INT, "OrderIndex" },
};
@@ -5088,7 +5088,7 @@ struct SpellReagentsCurrencyLoadInfo
static constexpr DB2FieldMeta Fields[4] =
{
{ false, FT_INT, "ID" },
- { true, FT_INT, "SpellID" },
+ { false, FT_INT, "SpellID" },
{ false, FT_SHORT, "CurrencyTypesID" },
{ false, FT_SHORT, "CurrencyCount" },
};
@@ -5503,7 +5503,7 @@ struct TraitCondLoadInfo
{
{ false, FT_INT, "ID" },
{ true, FT_INT, "CondType" },
- { true, FT_INT, "TraitTreeID" },
+ { false, FT_INT, "TraitTreeID" },
{ true, FT_INT, "GrantedRanks" },
{ true, FT_INT, "QuestID" },
{ true, FT_INT, "AchievementID" },
@@ -5554,7 +5554,7 @@ struct TraitCurrencySourceLoadInfo
{
{ false, FT_STRING, "Requirement" },
{ false, FT_INT, "ID" },
- { true, FT_INT, "TraitCurrencyID" },
+ { false, FT_INT, "TraitCurrencyID" },
{ true, FT_INT, "Amount" },
{ true, FT_INT, "QuestID" },
{ true, FT_INT, "AchievementID" },
@@ -5588,7 +5588,7 @@ struct TraitDefinitionEffectPointsLoadInfo
static constexpr DB2FieldMeta Fields[5] =
{
{ false, FT_INT, "ID" },
- { true, FT_INT, "TraitDefinitionID" },
+ { false, FT_INT, "TraitDefinitionID" },
{ true, FT_INT, "EffectIndex" },
{ true, FT_INT, "OperationType" },
{ true, FT_INT, "CurveID" },
@@ -5603,7 +5603,7 @@ struct TraitEdgeLoadInfo
{
{ false, FT_INT, "ID" },
{ true, FT_INT, "VisualStyle" },
- { true, FT_INT, "LeftTraitNodeID" },
+ { false, FT_INT, "LeftTraitNodeID" },
{ true, FT_INT, "RightTraitNodeID" },
{ true, FT_INT, "Type" },
};
@@ -5616,7 +5616,7 @@ struct TraitNodeLoadInfo
static constexpr DB2FieldMeta Fields[6] =
{
{ false, FT_INT, "ID" },
- { true, FT_INT, "TraitTreeID" },
+ { false, FT_INT, "TraitTreeID" },
{ true, FT_INT, "PosX" },
{ true, FT_INT, "PosY" },
{ false, FT_BYTE, "Type" },
@@ -5656,7 +5656,7 @@ struct TraitNodeEntryXTraitCostLoadInfo
static constexpr DB2FieldMeta Fields[3] =
{
{ false, FT_INT, "ID" },
- { true, FT_INT, "TraitNodeEntryID" },
+ { false, FT_INT, "TraitNodeEntryID" },
{ true, FT_INT, "TraitCostID" },
};
@@ -5668,7 +5668,7 @@ struct TraitNodeGroupLoadInfo
static constexpr DB2FieldMeta Fields[3] =
{
{ false, FT_INT, "ID" },
- { true, FT_INT, "TraitTreeID" },
+ { false, FT_INT, "TraitTreeID" },
{ true, FT_INT, "Flags" },
};
@@ -5681,7 +5681,7 @@ struct TraitNodeGroupXTraitCondLoadInfo
{
{ false, FT_INT, "ID" },
{ true, FT_INT, "TraitCondID" },
- { true, FT_INT, "TraitNodeGroupID" },
+ { false, FT_INT, "TraitNodeGroupID" },
};
static constexpr DB2LoadInfo Instance{ Fields, 3, &TraitNodeGroupXTraitCondMeta::Instance, HOTFIX_SEL_TRAIT_NODE_GROUP_X_TRAIT_COND };
@@ -5692,7 +5692,7 @@ struct TraitNodeGroupXTraitCostLoadInfo
static constexpr DB2FieldMeta Fields[3] =
{
{ false, FT_INT, "ID" },
- { true, FT_INT, "TraitNodeGroupID" },
+ { false, FT_INT, "TraitNodeGroupID" },
{ true, FT_INT, "TraitCostID" },
};
@@ -5704,7 +5704,7 @@ struct TraitNodeGroupXTraitNodeLoadInfo
static constexpr DB2FieldMeta Fields[4] =
{
{ false, FT_INT, "ID" },
- { true, FT_INT, "TraitNodeGroupID" },
+ { false, FT_INT, "TraitNodeGroupID" },
{ true, FT_INT, "TraitNodeID" },
{ true, FT_INT, "Index" },
};
@@ -5718,7 +5718,7 @@ struct TraitNodeXTraitCondLoadInfo
{
{ false, FT_INT, "ID" },
{ true, FT_INT, "TraitCondID" },
- { true, FT_INT, "TraitNodeID" },
+ { false, FT_INT, "TraitNodeID" },
};
static constexpr DB2LoadInfo Instance{ Fields, 3, &TraitNodeXTraitCondMeta::Instance, HOTFIX_SEL_TRAIT_NODE_X_TRAIT_COND };
@@ -5729,7 +5729,7 @@ struct TraitNodeXTraitCostLoadInfo
static constexpr DB2FieldMeta Fields[3] =
{
{ false, FT_INT, "ID" },
- { true, FT_INT, "TraitNodeID" },
+ { false, FT_INT, "TraitNodeID" },
{ true, FT_INT, "TraitCostID" },
};
@@ -5741,7 +5741,7 @@ struct TraitNodeXTraitNodeEntryLoadInfo
static constexpr DB2FieldMeta Fields[4] =
{
{ false, FT_INT, "ID" },
- { true, FT_INT, "TraitNodeID" },
+ { false, FT_INT, "TraitNodeID" },
{ true, FT_INT, "TraitNodeEntryID" },
{ true, FT_INT, "Index" },
};
@@ -5754,7 +5754,7 @@ struct TraitTreeLoadInfo
static constexpr DB2FieldMeta Fields[8] =
{
{ false, FT_INT, "ID" },
- { true, FT_INT, "TraitSystemID" },
+ { false, FT_INT, "TraitSystemID" },
{ true, FT_INT, "TraitTreeID" },
{ true, FT_INT, "FirstTraitNodeID" },
{ true, FT_INT, "PlayerConditionID" },
@@ -5771,7 +5771,7 @@ struct TraitTreeLoadoutLoadInfo
static constexpr DB2FieldMeta Fields[3] =
{
{ false, FT_INT, "ID" },
- { true, FT_INT, "TraitTreeID" },
+ { false, FT_INT, "TraitTreeID" },
{ true, FT_INT, "ChrSpecializationID" },
};
@@ -5783,7 +5783,7 @@ struct TraitTreeLoadoutEntryLoadInfo
static constexpr DB2FieldMeta Fields[6] =
{
{ false, FT_INT, "ID" },
- { true, FT_INT, "TraitTreeLoadoutID" },
+ { false, FT_INT, "TraitTreeLoadoutID" },
{ true, FT_INT, "SelectedTraitNodeID" },
{ true, FT_INT, "SelectedTraitNodeEntryID" },
{ true, FT_INT, "NumPoints" },
@@ -5798,7 +5798,7 @@ struct TraitTreeXTraitCostLoadInfo
static constexpr DB2FieldMeta Fields[3] =
{
{ false, FT_INT, "ID" },
- { true, FT_INT, "TraitTreeID" },
+ { false, FT_INT, "TraitTreeID" },
{ true, FT_INT, "TraitCostID" },
};
@@ -5811,7 +5811,7 @@ struct TraitTreeXTraitCurrencyLoadInfo
{
{ false, FT_INT, "ID" },
{ true, FT_INT, "Index" },
- { true, FT_INT, "TraitTreeID" },
+ { false, FT_INT, "TraitTreeID" },
{ true, FT_INT, "TraitCurrencyID" },
};
@@ -5901,7 +5901,7 @@ struct UiMapLoadInfo
{ false, FT_INT, "ID" },
{ true, FT_INT, "ParentUiMapID" },
{ true, FT_INT, "Flags" },
- { false, FT_BYTE, "System" },
+ { true, FT_BYTE, "System" },
{ false, FT_BYTE, "Type" },
{ true, FT_INT, "BountySetID" },
{ false, FT_INT, "BountyDisplayLocation" },
@@ -5909,8 +5909,8 @@ struct UiMapLoadInfo
{ true, FT_INT, "VisibilityPlayerConditionID" },
{ true, FT_BYTE, "HelpTextPosition" },
{ true, FT_INT, "BkgAtlasID" },
- { true, FT_INT, "AlternateUiMapGroup" },
- { true, FT_INT, "ContentTuningID" },
+ { false, FT_INT, "AlternateUiMapGroup" },
+ { false, FT_INT, "ContentTuningID" },
};
static constexpr DB2LoadInfo Instance{ Fields, 14, &UiMapMeta::Instance, HOTFIX_SEL_UI_MAP };
diff --git a/src/server/game/DataStores/DB2Stores.cpp b/src/server/game/DataStores/DB2Stores.cpp
index 9a979890fae..1715ccaaa89 100644
--- a/src/server/game/DataStores/DB2Stores.cpp
+++ b/src/server/game/DataStores/DB2Stores.cpp
@@ -951,13 +951,13 @@ uint32 DB2Manager::LoadStores(std::string const& dataPath, LocaleConstant defaul
}
// Check loaded DB2 files proper version
- if (!sAreaTableStore.LookupEntry(15151) || // last area added in 10.2.5 (53007)
- !sCharTitlesStore.LookupEntry(805) || // last char title added in 10.2.5 (53007)
- !sGemPropertiesStore.LookupEntry(4081) || // last gem property added in 10.2.5 (53007)
- !sItemStore.LookupEntry(215160) || // last item added in 10.2.5 (53007)
- !sItemExtendedCostStore.LookupEntry(8510) || // last item extended cost added in 10.2.5 (53007)
- !sMapStore.LookupEntry(2708) || // last map added in 10.2.5 (53007)
- !sSpellNameStore.LookupEntry(438878)) // last spell added in 10.2.5 (53007)
+ if (!sAreaTableStore.LookupEntry(15325) || // last area added in 4.4.0 (53627)
+ !sCharTitlesStore.LookupEntry(757) || // last char title added in 4.4.0 (53627)
+ !sGemPropertiesStore.LookupEntry(2250) || // last gem property added in 4.4.0 (53627)
+ !sItemStore.LookupEntry(211851) || // last item added in 4.4.0 (53627)
+ !sItemExtendedCostStore.LookupEntry(8328) || // last item extended cost added in 4.4.0 (53627)
+ !sMapStore.LookupEntry(2755) || // last map added in 4.4.0 (53627)
+ !sSpellNameStore.LookupEntry(445043)) // last spell added in 4.4.0 (53627)
{
TC_LOG_ERROR("misc", "You have _outdated_ DB2 files. Please extract correct versions from current using client.");
exit(1);
diff --git a/src/server/game/DataStores/DB2Structure.h b/src/server/game/DataStores/DB2Structure.h
index be163abe409..1b270288c6e 100644
--- a/src/server/game/DataStores/DB2Structure.h
+++ b/src/server/game/DataStores/DB2Structure.h
@@ -381,7 +381,7 @@ struct AzeritePowerEntry
struct AzeritePowerSetMemberEntry
{
uint32 ID;
- int32 AzeritePowerSetID;
+ uint32 AzeritePowerSetID;
int32 AzeritePowerID;
int32 Class;
uint8 Tier;
@@ -445,7 +445,7 @@ struct BattlePetBreedQualityEntry
{
uint32 ID;
float StateMultiplier;
- int8 QualityEnum;
+ uint8 QualityEnum;
};
struct BattlePetBreedStateEntry
@@ -815,7 +815,7 @@ struct ChrSpecializationEntry
LocalizedString FemaleName;
LocalizedString Description;
uint32 ID;
- int8 ClassID;
+ uint8 ClassID;
int8 OrderIndex;
int8 PetTalentType;
int8 Role;
@@ -853,7 +853,7 @@ struct CinematicSequencesEntry
struct ConditionalChrModelEntry
{
uint32 ID;
- int32 ChrModelID;
+ uint32 ChrModelID;
int32 ChrCustomizationReqID;
int32 PlayerConditionID;
int32 Flags;
@@ -1355,20 +1355,20 @@ struct DestructibleModelDataEntry
uint32 ID;
int8 State0ImpactEffectDoodadSet;
uint8 State0AmbientDoodadSet;
- int32 State1Wmo;
+ uint32 State1Wmo;
int8 State1DestructionDoodadSet;
int8 State1ImpactEffectDoodadSet;
uint8 State1AmbientDoodadSet;
- int32 State2Wmo;
+ uint32 State2Wmo;
int8 State2DestructionDoodadSet;
int8 State2ImpactEffectDoodadSet;
uint8 State2AmbientDoodadSet;
- int32 State3Wmo;
+ uint32 State3Wmo;
uint8 State3InitDoodadSet;
uint8 State3AmbientDoodadSet;
uint8 EjectDirection;
uint8 DoNotHighlight;
- int32 State0Wmo;
+ uint32 State0Wmo;
uint8 HealEffect;
uint16 HealEffectSpeed;
int8 State0NameSet;
@@ -1754,7 +1754,7 @@ struct GarrMissionEntry
uint8 FollowerDeathChance;
uint32 AreaID;
uint32 Flags;
- int32 GarrMissionSetID;
+ uint32 GarrMissionSetID;
};
struct GarrPlotEntry
@@ -2052,7 +2052,7 @@ struct ItemChildEquipmentEntry
uint32 ID;
int32 ChildItemID;
uint8 ChildItemEquipSlot;
- int32 ParentItemID;
+ uint32 ParentItemID;
};
struct ItemClassEntry
@@ -2139,7 +2139,7 @@ struct ItemEffectEntry
uint16 SpellCategoryID;
int32 SpellID;
uint16 ChrSpecializationID;
- int32 ParentItemID;
+ uint32 ParentItemID;
};
#define MAX_ITEM_EXT_COST_ITEMS 5
@@ -2205,7 +2205,7 @@ struct ItemModifiedAppearanceEntry
int32 ItemAppearanceModifierID;
int32 ItemAppearanceID;
int32 OrderIndex;
- uint8 TransmogSourceTypeEnum;
+ int32 TransmogSourceTypeEnum;
};
struct ItemModifiedAppearanceExtraEntry
@@ -2269,7 +2269,7 @@ struct ItemSetSpellEntry
uint16 ChrSpecID;
uint32 SpellID;
uint8 Threshold;
- int32 ItemSetID;
+ uint32 ItemSetID;
};
struct ItemSparseEntry
@@ -2400,7 +2400,7 @@ struct JournalEncounterSectionEntry
uint16 ParentSectionID;
uint16 FirstChildSectionID;
uint16 NextSiblingSectionID;
- uint8 Type;
+ int8 Type;
uint32 IconCreatureDisplayInfoID;
int32 UiModelSceneID;
int32 SpellID;
@@ -2997,7 +2997,7 @@ struct PvpTalentEntry
{
LocalizedString Description;
uint32 ID;
- int32 SpecID;
+ uint32 SpecID;
int32 SpellID;
int32 OverridesSpellID;
int32 Flags;
@@ -3029,7 +3029,7 @@ struct PvpTierEntry
int16 MaxRating;
int32 PrevTier;
int32 NextTier;
- int8 BracketID;
+ uint8 BracketID;
int8 Rank;
int32 RankIconFileDataID;
};
@@ -3237,7 +3237,7 @@ struct SkillLineAbilityEntry
struct SkillLineXTraitTreeEntry
{
uint32 ID;
- int32 SkillLineID;
+ uint32 SkillLineID;
int32 TraitTreeID;
int32 OrderIndex;
};
@@ -3631,7 +3631,7 @@ struct SpellReagentsEntry
struct SpellReagentsCurrencyEntry
{
uint32 ID;
- int32 SpellID;
+ uint32 SpellID;
uint16 CurrencyTypesID;
uint16 CurrencyCount;
};
@@ -3914,7 +3914,7 @@ struct TraitCondEntry
{
uint32 ID;
int32 CondType;
- int32 TraitTreeID;
+ uint32 TraitTreeID;
int32 GrantedRanks;
int32 QuestID;
int32 AchievementID;
@@ -3954,7 +3954,7 @@ struct TraitCurrencySourceEntry
{
LocalizedString Requirement;
uint32 ID;
- int32 TraitCurrencyID;
+ uint32 TraitCurrencyID;
int32 Amount;
int32 QuestID;
int32 AchievementID;
@@ -3978,7 +3978,7 @@ struct TraitDefinitionEntry
struct TraitDefinitionEffectPointsEntry
{
uint32 ID;
- int32 TraitDefinitionID;
+ uint32 TraitDefinitionID;
int32 EffectIndex;
int32 OperationType;
int32 CurveID;
@@ -3990,7 +3990,7 @@ struct TraitEdgeEntry
{
uint32 ID;
int32 VisualStyle;
- int32 LeftTraitNodeID;
+ uint32 LeftTraitNodeID;
int32 RightTraitNodeID;
int32 Type;
};
@@ -3998,7 +3998,7 @@ struct TraitEdgeEntry
struct TraitNodeEntry
{
uint32 ID;
- int32 TraitTreeID;
+ uint32 TraitTreeID;
int32 PosX;
int32 PosY;
uint8 Type;
@@ -4027,14 +4027,14 @@ struct TraitNodeEntryXTraitCondEntry
struct TraitNodeEntryXTraitCostEntry
{
uint32 ID;
- int32 TraitNodeEntryID;
+ uint32 TraitNodeEntryID;
int32 TraitCostID;
};
struct TraitNodeGroupEntry
{
uint32 ID;
- int32 TraitTreeID;
+ uint32 TraitTreeID;
int32 Flags;
};
@@ -4042,20 +4042,20 @@ struct TraitNodeGroupXTraitCondEntry
{
uint32 ID;
int32 TraitCondID;
- int32 TraitNodeGroupID;
+ uint32 TraitNodeGroupID;
};
struct TraitNodeGroupXTraitCostEntry
{
uint32 ID;
- int32 TraitNodeGroupID;
+ uint32 TraitNodeGroupID;
int32 TraitCostID;
};
struct TraitNodeGroupXTraitNodeEntry
{
uint32 ID;
- int32 TraitNodeGroupID;
+ uint32 TraitNodeGroupID;
int32 TraitNodeID;
int32 Index;
};
@@ -4064,20 +4064,20 @@ struct TraitNodeXTraitCondEntry
{
uint32 ID;
int32 TraitCondID;
- int32 TraitNodeID;
+ uint32 TraitNodeID;
};
struct TraitNodeXTraitCostEntry
{
uint32 ID;
- int32 TraitNodeID;
+ uint32 TraitNodeID;
int32 TraitCostID;
};
struct TraitNodeXTraitNodeEntryEntry
{
uint32 ID;
- int32 TraitNodeID;
+ uint32 TraitNodeID;
int32 TraitNodeEntryID;
int32 Index;
};
@@ -4085,7 +4085,7 @@ struct TraitNodeXTraitNodeEntryEntry
struct TraitTreeEntry
{
uint32 ID;
- int32 TraitSystemID;
+ uint32 TraitSystemID;
int32 TraitTreeID;
int32 FirstTraitNodeID;
int32 PlayerConditionID;
@@ -4099,14 +4099,14 @@ struct TraitTreeEntry
struct TraitTreeLoadoutEntry
{
uint32 ID;
- int32 TraitTreeID;
+ uint32 TraitTreeID;
int32 ChrSpecializationID;
};
struct TraitTreeLoadoutEntryEntry
{
uint32 ID;
- int32 TraitTreeLoadoutID;
+ uint32 TraitTreeLoadoutID;
int32 SelectedTraitNodeID;
int32 SelectedTraitNodeEntryID;
int32 NumPoints;
@@ -4116,7 +4116,7 @@ struct TraitTreeLoadoutEntryEntry
struct TraitTreeXTraitCostEntry
{
uint32 ID;
- int32 TraitTreeID;
+ uint32 TraitTreeID;
int32 TraitCostID;
};
@@ -4124,7 +4124,7 @@ struct TraitTreeXTraitCurrencyEntry
{
uint32 ID;
int32 Index;
- int32 TraitTreeID;
+ uint32 TraitTreeID;
int32 TraitCurrencyID;
};
@@ -4179,7 +4179,7 @@ struct UiMapEntry
uint32 ID;
int32 ParentUiMapID;
int32 Flags;
- uint8 System;
+ int8 System;
uint8 Type;
int32 BountySetID;
uint32 BountyDisplayLocation;
@@ -4187,8 +4187,8 @@ struct UiMapEntry
int32 VisibilityPlayerConditionID; // if not met then client checks other maps with the same AlternateUiMapGroup, not re-evaluating UiMapAssignment for them
int8 HelpTextPosition;
int32 BkgAtlasID;
- int32 AlternateUiMapGroup;
- int32 ContentTuningID;
+ uint32 AlternateUiMapGroup;
+ uint32 ContentTuningID;
EnumFlag<UiMapFlag> GetFlags() const { return static_cast<UiMapFlag>(Flags); }
};
diff --git a/src/server/game/DataStores/DBCEnums.h b/src/server/game/DataStores/DBCEnums.h
index 6cd7f0c40e3..fa15667504d 100644
--- a/src/server/game/DataStores/DBCEnums.h
+++ b/src/server/game/DataStores/DBCEnums.h
@@ -58,7 +58,7 @@ enum LevelLimit
enum BattlegroundBracketId // bracketId for level ranges
{
BG_BRACKET_ID_FIRST = 0,
- BG_BRACKET_ID_LAST = 12,
+ BG_BRACKET_ID_LAST = 15,
// must be max value in PvPDificulty slot + 1
MAX_BATTLEGROUND_BRACKETS
@@ -2129,8 +2129,8 @@ enum class SummonPropertiesFlags : uint32
DEFINE_ENUM_FLAG(SummonPropertiesFlags);
-#define MAX_TALENT_TIERS 7
-#define MAX_TALENT_COLUMNS 3
+#define MAX_TALENT_TIERS 11
+#define MAX_TALENT_COLUMNS 4
#define MAX_PVP_TALENT_SLOTS 4
enum class TaxiNodeFlags : int32
diff --git a/src/server/game/Entities/Player/CollectionMgr.cpp b/src/server/game/Entities/Player/CollectionMgr.cpp
index 51a8cac3879..a2b27285f17 100644
--- a/src/server/game/Entities/Player/CollectionMgr.cpp
+++ b/src/server/game/Entities/Player/CollectionMgr.cpp
@@ -502,6 +502,7 @@ void CollectionMgr::LoadAccountItemAppearances(PreparedQueryResult knownAppearan
} while (favoriteAppearances->NextRow());
}
+ /*
// Static item appearances known by every player
static uint32 constexpr hiddenAppearanceItems[] =
{
@@ -526,6 +527,7 @@ void CollectionMgr::LoadAccountItemAppearances(PreparedQueryResult knownAppearan
_appearances->set(hiddenAppearance->ID);
}
+ */
}
void CollectionMgr::SaveAccountItemAppearances(LoginDatabaseTransaction trans)
diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp
index c59c553f37b..b6d803c966e 100644
--- a/src/server/game/Entities/Player/Player.cpp
+++ b/src/server/game/Entities/Player/Player.cpp
@@ -2367,6 +2367,7 @@ bool Player::IsMaxLevel() const
void Player::InitTalentForLevel()
{
+ /*
uint8 level = GetLevel();
// talents base at level diff (talents = level - 9 but some can be used already)
if (level < MIN_SPECIALIZATION_LEVEL)
@@ -2397,6 +2398,7 @@ void Player::InitTalentForLevel()
if (!GetSession()->PlayerLoading())
SendTalentsInfoData(); // update at client
+ */
}
void Player::InitStatsForLevel(bool reapplyMods)
@@ -26711,6 +26713,7 @@ TalentLearnResult Player::LearnTalent(uint32 talentId, int32* spellOnCooldown)
void Player::ResetTalentSpecialization()
{
+ /*
// Reset only talents that have different spells for each spec
uint32 class_ = GetClass();
for (uint32 t = 0; t < MAX_TALENT_TIERS; ++t)
@@ -26731,6 +26734,7 @@ void Player::ResetTalentSpecialization()
SendTalentsInfoData();
UpdateItemSetAuras(false);
+ */
}
TalentLearnResult Player::LearnPvpTalent(uint32 talentID, uint8 slot, int32* spellOnCooldown)
diff --git a/src/server/game/Spells/Auras/SpellAuraDefines.h b/src/server/game/Spells/Auras/SpellAuraDefines.h
index 2fe40981c7a..30d420e0406 100644
--- a/src/server/game/Spells/Auras/SpellAuraDefines.h
+++ b/src/server/game/Spells/Auras/SpellAuraDefines.h
@@ -636,6 +636,89 @@ enum AuraType : uint32
SPELL_AURA_542 = 542,
SPELL_AURA_543 = 543,
SPELL_AURA_544 = 544,
+ SPELL_AURA_545 = 545,
+ SPELL_AURA_546 = 546,
+ SPELL_AURA_547 = 547,
+ SPELL_AURA_548 = 548,
+ SPELL_AURA_549 = 549,
+ SPELL_AURA_550 = 550,
+ SPELL_AURA_551 = 551,
+ SPELL_AURA_552 = 552,
+ SPELL_AURA_553 = 553,
+ SPELL_AURA_554 = 554,
+ SPELL_AURA_555 = 555,
+ SPELL_AURA_556 = 556,
+ SPELL_AURA_557 = 557,
+ SPELL_AURA_558 = 558,
+ SPELL_AURA_559 = 559,
+ SPELL_AURA_560 = 560,
+ SPELL_AURA_561 = 561,
+ SPELL_AURA_562 = 562,
+ SPELL_AURA_563 = 563,
+ SPELL_AURA_564 = 564,
+ SPELL_AURA_565 = 565,
+ SPELL_AURA_566 = 566,
+ SPELL_AURA_567 = 567,
+ SPELL_AURA_568 = 568,
+ SPELL_AURA_569 = 569,
+ SPELL_AURA_570 = 570,
+ SPELL_AURA_571 = 571,
+ SPELL_AURA_572 = 572,
+ SPELL_AURA_573 = 573,
+ SPELL_AURA_574 = 574,
+ SPELL_AURA_575 = 575,
+ SPELL_AURA_576 = 576,
+ SPELL_AURA_577 = 577,
+ SPELL_AURA_578 = 578,
+ SPELL_AURA_579 = 579,
+ SPELL_AURA_580 = 580,
+ SPELL_AURA_581 = 581,
+ SPELL_AURA_582 = 582,
+ SPELL_AURA_583 = 583,
+ SPELL_AURA_584 = 584,
+ SPELL_AURA_585 = 585,
+ SPELL_AURA_586 = 586,
+ SPELL_AURA_587 = 587,
+ SPELL_AURA_588 = 588,
+ SPELL_AURA_589 = 589,
+ SPELL_AURA_590 = 590,
+ SPELL_AURA_591 = 591,
+ SPELL_AURA_592 = 592,
+ SPELL_AURA_593 = 593,
+ SPELL_AURA_594 = 594,
+ SPELL_AURA_595 = 595,
+ SPELL_AURA_596 = 596,
+ SPELL_AURA_597 = 597,
+ SPELL_AURA_598 = 598,
+ SPELL_AURA_599 = 599,
+ SPELL_AURA_600 = 600,
+ SPELL_AURA_601 = 601,
+ SPELL_AURA_602 = 602,
+ SPELL_AURA_603 = 603,
+ SPELL_AURA_604 = 604,
+ SPELL_AURA_605 = 605,
+ SPELL_AURA_606 = 606,
+ SPELL_AURA_607 = 607,
+ SPELL_AURA_608 = 608,
+ SPELL_AURA_609 = 609,
+ SPELL_AURA_610 = 610,
+ SPELL_AURA_611 = 611,
+ SPELL_AURA_612 = 612,
+ SPELL_AURA_613 = 613,
+ SPELL_AURA_614 = 614,
+ SPELL_AURA_615 = 615,
+ SPELL_AURA_616 = 616,
+ SPELL_AURA_617 = 617,
+ SPELL_AURA_618 = 618,
+ SPELL_AURA_619 = 619,
+ SPELL_AURA_620 = 620,
+ SPELL_AURA_621 = 621,
+ SPELL_AURA_622 = 622,
+ SPELL_AURA_623 = 623,
+ SPELL_AURA_624 = 624,
+ SPELL_AURA_625 = 625,
+ SPELL_AURA_626 = 626,
+
TOTAL_AURAS
};
diff --git a/src/server/game/Spells/Auras/SpellAuraEffects.cpp b/src/server/game/Spells/Auras/SpellAuraEffects.cpp
index 65894bf3ec7..ce642c60e63 100644
--- a/src/server/game/Spells/Auras/SpellAuraEffects.cpp
+++ b/src/server/game/Spells/Auras/SpellAuraEffects.cpp
@@ -613,6 +613,88 @@ NonDefaultConstructible<pAuraEffectHandler> AuraEffectHandler[TOTAL_AURAS]=
&AuraEffect::HandleNULL, //542
&AuraEffect::HandleNULL, //543
&AuraEffect::HandleNULL, //544
+ &AuraEffect::HandleNULL, //545
+ &AuraEffect::HandleNULL, //546
+ &AuraEffect::HandleNULL, //547
+ &AuraEffect::HandleNULL, //548
+ &AuraEffect::HandleNULL, //549
+ &AuraEffect::HandleNULL, //550
+ &AuraEffect::HandleNULL, //551
+ &AuraEffect::HandleNULL, //552
+ &AuraEffect::HandleNULL, //553
+ &AuraEffect::HandleNULL, //554
+ &AuraEffect::HandleNULL, //555
+ &AuraEffect::HandleNULL, //556
+ &AuraEffect::HandleNULL, //557
+ &AuraEffect::HandleNULL, //558
+ &AuraEffect::HandleNULL, //559
+ &AuraEffect::HandleNULL, //560
+ &AuraEffect::HandleNULL, //561
+ &AuraEffect::HandleNULL, //562
+ &AuraEffect::HandleNULL, //563
+ &AuraEffect::HandleNULL, //564
+ &AuraEffect::HandleNULL, //565
+ &AuraEffect::HandleNULL, //566
+ &AuraEffect::HandleNULL, //567
+ &AuraEffect::HandleNULL, //568
+ &AuraEffect::HandleNULL, //569
+ &AuraEffect::HandleNULL, //570
+ &AuraEffect::HandleNULL, //571
+ &AuraEffect::HandleNULL, //572
+ &AuraEffect::HandleNULL, //573
+ &AuraEffect::HandleNULL, //574
+ &AuraEffect::HandleNULL, //575
+ &AuraEffect::HandleNULL, //576
+ &AuraEffect::HandleNULL, //577
+ &AuraEffect::HandleNULL, //578
+ &AuraEffect::HandleNULL, //579
+ &AuraEffect::HandleNULL, //580
+ &AuraEffect::HandleNULL, //581
+ &AuraEffect::HandleNULL, //582
+ &AuraEffect::HandleNULL, //583
+ &AuraEffect::HandleNULL, //584
+ &AuraEffect::HandleNULL, //585
+ &AuraEffect::HandleNULL, //586
+ &AuraEffect::HandleNULL, //587
+ &AuraEffect::HandleNULL, //588
+ &AuraEffect::HandleNULL, //589
+ &AuraEffect::HandleNULL, //590
+ &AuraEffect::HandleNULL, //591
+ &AuraEffect::HandleNULL, //592
+ &AuraEffect::HandleNULL, //593
+ &AuraEffect::HandleNULL, //594
+ &AuraEffect::HandleNULL, //595
+ &AuraEffect::HandleNULL, //596
+ &AuraEffect::HandleNULL, //597
+ &AuraEffect::HandleNULL, //598
+ &AuraEffect::HandleNULL, //599
+ &AuraEffect::HandleNULL, //600
+ &AuraEffect::HandleNULL, //601
+ &AuraEffect::HandleNULL, //602
+ &AuraEffect::HandleNULL, //603
+ &AuraEffect::HandleNULL, //604
+ &AuraEffect::HandleNULL, //605
+ &AuraEffect::HandleNULL, //606
+ &AuraEffect::HandleNULL, //607
+ &AuraEffect::HandleNULL, //608
+ &AuraEffect::HandleNULL, //609
+ &AuraEffect::HandleNULL, //610
+ &AuraEffect::HandleNULL, //611
+ &AuraEffect::HandleNULL, //612
+ &AuraEffect::HandleNULL, //613
+ &AuraEffect::HandleNULL, //614
+ &AuraEffect::HandleNULL, //615
+ &AuraEffect::HandleNULL, //616
+ &AuraEffect::HandleNULL, //617
+ &AuraEffect::HandleNULL, //618
+ &AuraEffect::HandleNULL, //619
+ &AuraEffect::HandleNULL, //620
+ &AuraEffect::HandleNULL, //621
+ &AuraEffect::HandleNULL, //622
+ &AuraEffect::HandleNULL, //623
+ &AuraEffect::HandleNULL, //624
+ &AuraEffect::HandleNULL, //625
+ &AuraEffect::HandleNULL, //626
};
AuraEffect::AuraEffect(Aura* base, SpellEffectInfo const& spellEfffectInfo, int32 const* baseAmount, Unit* caster) :