aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/server/game/Entities/AreaTrigger/AreaTrigger.cpp6
-rw-r--r--src/server/game/Entities/DynamicObject/DynamicObject.cpp7
-rw-r--r--src/server/game/Entities/Object/Updates/UpdateFieldFlags.cpp147
-rw-r--r--src/server/game/Entities/Object/Updates/UpdateFields.h157
-rw-r--r--src/server/game/Entities/Player/Player.h12
-rw-r--r--src/server/game/Spells/Auras/SpellAuraEffects.cpp4
6 files changed, 239 insertions, 94 deletions
diff --git a/src/server/game/Entities/AreaTrigger/AreaTrigger.cpp b/src/server/game/Entities/AreaTrigger/AreaTrigger.cpp
index 568c0e39469..a4becd62698 100644
--- a/src/server/game/Entities/AreaTrigger/AreaTrigger.cpp
+++ b/src/server/game/Entities/AreaTrigger/AreaTrigger.cpp
@@ -71,17 +71,13 @@ bool AreaTrigger::CreateAreaTrigger(ObjectGuid::LowType guidlow, uint32 triggerE
Object::_Create(ObjectGuid::Create<HighGuid::AreaTrigger>(GetMapId(), triggerEntry, guidlow));
SetPhaseMask(caster->GetPhaseMask(), false);
- uint32 spellVisual = 0;
- if (SpellXSpellVisualEntry const* visual = sSpellXSpellVisualStore.LookupEntry(spellXSpellVisualId))
- spellVisual = visual->SpellVisualID[0];
-
SetEntry(triggerEntry);
SetDuration(spell->GetDuration());
SetObjectScale(1);
SetGuidValue(AREATRIGGER_CASTER, caster->GetGUID());
SetUInt32Value(AREATRIGGER_SPELLID, spell->Id);
- SetUInt32Value(AREATRIGGER_SPELLVISUALID, spellVisual);
+ SetUInt32Value(AREATRIGGER_SPELL_X_SPELL_VISUAL_ID, spellXSpellVisualId);
SetUInt32Value(AREATRIGGER_DURATION, spell->GetDuration());
CopyPhaseFrom(caster);
diff --git a/src/server/game/Entities/DynamicObject/DynamicObject.cpp b/src/server/game/Entities/DynamicObject/DynamicObject.cpp
index 793bbcd656e..26d6ac9a67c 100644
--- a/src/server/game/Entities/DynamicObject/DynamicObject.cpp
+++ b/src/server/game/Entities/DynamicObject/DynamicObject.cpp
@@ -93,14 +93,11 @@ bool DynamicObject::CreateDynamicObject(ObjectGuid::LowType guidlow, Unit* caste
WorldObject::_Create(ObjectGuid::Create<HighGuid::DynamicObject>(GetMapId(), spell->Id, guidlow));
SetPhaseMask(caster->GetPhaseMask(), false);
- uint32 spellVisual = 0;
- if (SpellXSpellVisualEntry const* visual = sSpellXSpellVisualStore.LookupEntry(spellXSpellVisualId))
- spellVisual = visual->SpellVisualID[0];
-
SetEntry(spell->Id);
SetObjectScale(1.0f);
SetGuidValue(DYNAMICOBJECT_CASTER, caster->GetGUID());
- SetUInt32Value(DYNAMICOBJECT_BYTES, spellVisual | (type << 28));
+ SetUInt32Value(DYNAMICOBJECT_TYPE, type);
+ SetUInt32Value(DYNAMICOBJECT_SPELL_X_SPELL_VISUAL_ID, spellXSpellVisualId);
SetUInt32Value(DYNAMICOBJECT_SPELLID, spell->Id);
SetFloatValue(DYNAMICOBJECT_RADIUS, radius);
SetUInt32Value(DYNAMICOBJECT_CASTTIME, getMSTime());
diff --git a/src/server/game/Entities/Object/Updates/UpdateFieldFlags.cpp b/src/server/game/Entities/Object/Updates/UpdateFieldFlags.cpp
index 57d7964c9c3..55cf4603060 100644
--- a/src/server/game/Entities/Object/Updates/UpdateFieldFlags.cpp
+++ b/src/server/game/Entities/Object/Updates/UpdateFieldFlags.cpp
@@ -2579,7 +2579,9 @@ uint32 UnitUpdateFieldFlags[PLAYER_END] =
UF_FLAG_PRIVATE, // PLAYER_FIELD_COMBAT_RATING_EXPERTISE
UF_FLAG_PRIVATE, // PLAYER_BLOCK_PERCENTAGE
UF_FLAG_PRIVATE, // PLAYER_DODGE_PERCENTAGE
+ UF_FLAG_PRIVATE, // PLAYER_DODGE_PERCENTAGE_FROM_ATTRIBUTE
UF_FLAG_PRIVATE, // PLAYER_PARRY_PERCENTAGE
+ UF_FLAG_PRIVATE, // PLAYER_PARRY_PERCENTAGE_FROM_ATTRIBUTE
UF_FLAG_PRIVATE, // PLAYER_CRIT_PERCENTAGE
UF_FLAG_PRIVATE, // PLAYER_RANGED_CRIT_PERCENTAGE
UF_FLAG_PRIVATE, // PLAYER_OFFHAND_CRIT_PERCENTAGE
@@ -2991,6 +2993,12 @@ uint32 UnitUpdateFieldFlags[PLAYER_END] =
UF_FLAG_PRIVATE, // PLAYER_FIELD_ARENA_TEAM_INFO_1_1+33
UF_FLAG_PRIVATE, // PLAYER_FIELD_ARENA_TEAM_INFO_1_1+34
UF_FLAG_PRIVATE, // PLAYER_FIELD_ARENA_TEAM_INFO_1_1+35
+ UF_FLAG_PRIVATE, // PLAYER_FIELD_ARENA_TEAM_INFO_1_1+36
+ UF_FLAG_PRIVATE, // PLAYER_FIELD_ARENA_TEAM_INFO_1_1+37
+ UF_FLAG_PRIVATE, // PLAYER_FIELD_ARENA_TEAM_INFO_1_1+38
+ UF_FLAG_PRIVATE, // PLAYER_FIELD_ARENA_TEAM_INFO_1_1+39
+ UF_FLAG_PRIVATE, // PLAYER_FIELD_ARENA_TEAM_INFO_1_1+40
+ UF_FLAG_PRIVATE, // PLAYER_FIELD_ARENA_TEAM_INFO_1_1+41
UF_FLAG_PRIVATE, // PLAYER_FIELD_MAX_LEVEL
UF_FLAG_PRIVATE, // PLAYER_FIELD_SCALING_PLAYER_LEVEL_DELTA
UF_FLAG_PRIVATE, // PLAYER_FIELD_MAX_CREATURE_SCALING_LEVEL
@@ -3015,7 +3023,8 @@ uint32 UnitUpdateFieldFlags[PLAYER_END] =
UF_FLAG_PRIVATE, // PLAYER_FIELD_UI_SPELL_HIT_MODIFIER
UF_FLAG_PRIVATE, // PLAYER_FIELD_HOME_REALM_TIME_OFFSET
UF_FLAG_PRIVATE, // PLAYER_FIELD_MOD_PET_HASTE
- UF_FLAG_PRIVATE | UF_FLAG_URGENT_SELF_ONLY, // PLAYER_FIELD_BYTES2
+ UF_FLAG_PRIVATE, // PLAYER_FIELD_BYTES2
+ UF_FLAG_PRIVATE | UF_FLAG_URGENT_SELF_ONLY, // PLAYER_FIELD_BYTES3
UF_FLAG_PRIVATE, // PLAYER_FIELD_LFG_BONUS_FACTION_ID
UF_FLAG_PRIVATE, // PLAYER_FIELD_LOOT_SPEC_ID
UF_FLAG_PRIVATE | UF_FLAG_URGENT_SELF_ONLY, // PLAYER_FIELD_OVERRIDE_ZONE_PVP_TYPE
@@ -3906,6 +3915,131 @@ uint32 UnitUpdateFieldFlags[PLAYER_END] =
UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+872
UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+873
UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+874
+ UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+875
+ UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+876
+ UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+877
+ UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+878
+ UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+879
+ UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+880
+ UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+881
+ UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+882
+ UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+883
+ UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+884
+ UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+885
+ UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+886
+ UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+887
+ UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+888
+ UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+889
+ UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+890
+ UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+891
+ UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+892
+ UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+893
+ UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+894
+ UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+895
+ UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+896
+ UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+897
+ UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+898
+ UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+899
+ UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+900
+ UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+901
+ UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+902
+ UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+903
+ UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+904
+ UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+905
+ UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+906
+ UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+907
+ UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+908
+ UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+909
+ UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+910
+ UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+911
+ UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+912
+ UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+913
+ UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+914
+ UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+915
+ UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+916
+ UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+917
+ UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+918
+ UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+919
+ UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+920
+ UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+921
+ UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+922
+ UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+923
+ UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+924
+ UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+925
+ UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+926
+ UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+927
+ UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+928
+ UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+929
+ UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+930
+ UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+931
+ UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+932
+ UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+933
+ UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+934
+ UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+935
+ UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+936
+ UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+937
+ UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+938
+ UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+939
+ UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+940
+ UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+941
+ UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+942
+ UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+943
+ UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+944
+ UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+945
+ UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+946
+ UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+947
+ UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+948
+ UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+949
+ UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+950
+ UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+951
+ UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+952
+ UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+953
+ UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+954
+ UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+955
+ UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+956
+ UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+957
+ UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+958
+ UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+959
+ UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+960
+ UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+961
+ UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+962
+ UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+963
+ UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+964
+ UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+965
+ UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+966
+ UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+967
+ UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+968
+ UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+969
+ UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+970
+ UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+971
+ UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+972
+ UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+973
+ UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+974
+ UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+975
+ UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+976
+ UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+977
+ UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+978
+ UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+979
+ UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+980
+ UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+981
+ UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+982
+ UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+983
+ UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+984
+ UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+985
+ UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+986
+ UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+987
+ UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+988
+ UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+989
+ UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+990
+ UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+991
+ UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+992
+ UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+993
+ UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+994
+ UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+995
+ UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+996
+ UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+997
+ UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+998
+ UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+999
UF_FLAG_PRIVATE, // PLAYER_FIELD_HONOR
UF_FLAG_PRIVATE, // PLAYER_FIELD_HONOR_NEXT_LEVEL
};
@@ -3924,6 +4058,8 @@ uint32 UnitDynamicUpdateFieldFlags[PLAYER_DYNAMIC_END] =
UF_FLAG_PRIVATE, // PLAYER_DYNAMIC_FIELD_TRANSMOG
UF_FLAG_PRIVATE, // PLAYER_DYNAMIC_FIELD_CONDITIONAL_TRANSMOG
UF_FLAG_PRIVATE, // PLAYER_DYNAMIC_FIELD_CHARACTER_RESTRICTIONS
+ UF_FLAG_PRIVATE, // PLAYER_DYNAMIC_FIELD_SPELL_PCT_MOD_BY_LABEL
+ UF_FLAG_PRIVATE, // PLAYER_DYNAMIC_FIELD_SPELL_FLAT_MOD_BY_LABEL
};
uint32 GameObjectUpdateFieldFlags[GAMEOBJECT_END] =
@@ -3986,7 +4122,8 @@ uint32 DynamicObjectUpdateFieldFlags[DYNAMICOBJECT_END] =
UF_FLAG_PUBLIC, // DYNAMICOBJECT_CASTER+1
UF_FLAG_PUBLIC, // DYNAMICOBJECT_CASTER+2
UF_FLAG_PUBLIC, // DYNAMICOBJECT_CASTER+3
- UF_FLAG_DYNAMIC, // DYNAMICOBJECT_BYTES
+ UF_FLAG_PUBLIC, // DYNAMICOBJECT_TYPE
+ UF_FLAG_PUBLIC, // DYNAMICOBJECT_SPELL_X_SPELL_VISUAL_ID
UF_FLAG_PUBLIC, // DYNAMICOBJECT_SPELLID
UF_FLAG_PUBLIC, // DYNAMICOBJECT_RADIUS
UF_FLAG_PUBLIC, // DYNAMICOBJECT_CASTTIME
@@ -4079,9 +4216,13 @@ uint32 AreaTriggerUpdateFieldFlags[AREATRIGGER_END] =
UF_FLAG_PUBLIC | UF_FLAG_URGENT, // AREATRIGGER_TIME_TO_TARGET_SCALE
UF_FLAG_PUBLIC | UF_FLAG_URGENT, // AREATRIGGER_TIME_TO_TARGET_EXTRA_SCALE
UF_FLAG_PUBLIC, // AREATRIGGER_SPELLID
- UF_FLAG_DYNAMIC, // AREATRIGGER_SPELLVISUALID
+ UF_FLAG_PUBLIC, // AREATRIGGER_SPELL_X_SPELL_VISUAL_ID
UF_FLAG_DYNAMIC | UF_FLAG_URGENT, // AREATRIGGER_BOUNDS_RADIUS_2D
UF_FLAG_PUBLIC, // AREATRIGGER_DECAL_PROPERTIES_ID
+ UF_FLAG_PUBLIC, // AREATRIGGER_CREATING_EFFECT_GUID
+ UF_FLAG_PUBLIC, // AREATRIGGER_CREATING_EFFECT_GUID+1
+ UF_FLAG_PUBLIC, // AREATRIGGER_CREATING_EFFECT_GUID+2
+ UF_FLAG_PUBLIC, // AREATRIGGER_CREATING_EFFECT_GUID+3
};
uint32 SceneObjectUpdateFieldFlags[SCENEOBJECT_END] =
diff --git a/src/server/game/Entities/Object/Updates/UpdateFields.h b/src/server/game/Entities/Object/Updates/UpdateFields.h
index 5b906584df1..5f3568d0756 100644
--- a/src/server/game/Entities/Object/Updates/UpdateFields.h
+++ b/src/server/game/Entities/Object/Updates/UpdateFields.h
@@ -19,7 +19,7 @@
#ifndef _UPDATEFIELDS_H
#define _UPDATEFIELDS_H
-// Auto generated for version 7, 0, 3, 22210
+// Auto generated for version 7, 1, 0, 22900
enum ObjectFields
{
@@ -238,72 +238,75 @@ enum PlayerFields
PLAYER_FIELD_COMBAT_RATING_EXPERTISE = UNIT_END + 0x834, // Size: 1, Flags: PRIVATE
PLAYER_BLOCK_PERCENTAGE = UNIT_END + 0x835, // Size: 1, Flags: PRIVATE
PLAYER_DODGE_PERCENTAGE = UNIT_END + 0x836, // Size: 1, Flags: PRIVATE
- PLAYER_PARRY_PERCENTAGE = UNIT_END + 0x837, // Size: 1, Flags: PRIVATE
- PLAYER_CRIT_PERCENTAGE = UNIT_END + 0x838, // Size: 1, Flags: PRIVATE
- PLAYER_RANGED_CRIT_PERCENTAGE = UNIT_END + 0x839, // Size: 1, Flags: PRIVATE
- PLAYER_OFFHAND_CRIT_PERCENTAGE = UNIT_END + 0x83A, // Size: 1, Flags: PRIVATE
- PLAYER_SPELL_CRIT_PERCENTAGE1 = UNIT_END + 0x83B, // Size: 1, Flags: PRIVATE
- PLAYER_SHIELD_BLOCK = UNIT_END + 0x83C, // Size: 1, Flags: PRIVATE
- PLAYER_SHIELD_BLOCK_CRIT_PERCENTAGE = UNIT_END + 0x83D, // Size: 1, Flags: PRIVATE
- PLAYER_MASTERY = UNIT_END + 0x83E, // Size: 1, Flags: PRIVATE
- PLAYER_SPEED = UNIT_END + 0x83F, // Size: 1, Flags: PRIVATE
- PLAYER_LIFESTEAL = UNIT_END + 0x840, // Size: 1, Flags: PRIVATE
- PLAYER_AVOIDANCE = UNIT_END + 0x841, // Size: 1, Flags: PRIVATE
- PLAYER_STURDINESS = UNIT_END + 0x842, // Size: 1, Flags: PRIVATE
- PLAYER_VERSATILITY = UNIT_END + 0x843, // Size: 1, Flags: PRIVATE
- PLAYER_VERSATILITY_BONUS = UNIT_END + 0x844, // Size: 1, Flags: PRIVATE
- PLAYER_FIELD_PVP_POWER_DAMAGE = UNIT_END + 0x845, // Size: 1, Flags: PRIVATE
- PLAYER_FIELD_PVP_POWER_HEALING = UNIT_END + 0x846, // Size: 1, Flags: PRIVATE
- PLAYER_EXPLORED_ZONES_1 = UNIT_END + 0x847, // Size: 256, Flags: PRIVATE
- PLAYER_FIELD_REST_INFO = UNIT_END + 0x947, // Size: 4, Flags: PRIVATE
- PLAYER_FIELD_MOD_DAMAGE_DONE_POS = UNIT_END + 0x94B, // Size: 7, Flags: PRIVATE
- PLAYER_FIELD_MOD_DAMAGE_DONE_NEG = UNIT_END + 0x952, // Size: 7, Flags: PRIVATE
- PLAYER_FIELD_MOD_DAMAGE_DONE_PCT = UNIT_END + 0x959, // Size: 7, Flags: PRIVATE
- PLAYER_FIELD_MOD_HEALING_DONE_POS = UNIT_END + 0x960, // Size: 1, Flags: PRIVATE
- PLAYER_FIELD_MOD_HEALING_PCT = UNIT_END + 0x961, // Size: 1, Flags: PRIVATE
- PLAYER_FIELD_MOD_HEALING_DONE_PCT = UNIT_END + 0x962, // Size: 1, Flags: PRIVATE
- PLAYER_FIELD_MOD_PERIODIC_HEALING_DONE_PERCENT = UNIT_END + 0x963, // Size: 1, Flags: PRIVATE
- PLAYER_FIELD_WEAPON_DMG_MULTIPLIERS = UNIT_END + 0x964, // Size: 3, Flags: PRIVATE
- PLAYER_FIELD_WEAPON_ATK_SPEED_MULTIPLIERS = UNIT_END + 0x967, // Size: 3, Flags: PRIVATE
- PLAYER_FIELD_MOD_SPELL_POWER_PCT = UNIT_END + 0x96A, // Size: 1, Flags: PRIVATE
- PLAYER_FIELD_MOD_RESILIENCE_PERCENT = UNIT_END + 0x96B, // Size: 1, Flags: PRIVATE
- PLAYER_FIELD_OVERRIDE_SPELL_POWER_BY_AP_PCT = UNIT_END + 0x96C, // Size: 1, Flags: PRIVATE
- PLAYER_FIELD_OVERRIDE_AP_BY_SPELL_POWER_PERCENT = UNIT_END + 0x96D, // Size: 1, Flags: PRIVATE
- PLAYER_FIELD_MOD_TARGET_RESISTANCE = UNIT_END + 0x96E, // Size: 1, Flags: PRIVATE
- PLAYER_FIELD_MOD_TARGET_PHYSICAL_RESISTANCE = UNIT_END + 0x96F, // Size: 1, Flags: PRIVATE
- PLAYER_FIELD_LOCAL_FLAGS = UNIT_END + 0x970, // Size: 1, Flags: PRIVATE
- PLAYER_FIELD_BYTES = UNIT_END + 0x971, // Size: 1, Flags: PRIVATE
- PLAYER_SELF_RES_SPELL = UNIT_END + 0x972, // Size: 1, Flags: PRIVATE
- PLAYER_FIELD_PVP_MEDALS = UNIT_END + 0x973, // Size: 1, Flags: PRIVATE
- PLAYER_FIELD_BUYBACK_PRICE_1 = UNIT_END + 0x974, // Size: 12, Flags: PRIVATE
- PLAYER_FIELD_BUYBACK_TIMESTAMP_1 = UNIT_END + 0x980, // Size: 12, Flags: PRIVATE
- PLAYER_FIELD_KILLS = UNIT_END + 0x98C, // Size: 1, Flags: PRIVATE
- PLAYER_FIELD_LIFETIME_HONORABLE_KILLS = UNIT_END + 0x98D, // Size: 1, Flags: PRIVATE
- PLAYER_FIELD_WATCHED_FACTION_INDEX = UNIT_END + 0x98E, // Size: 1, Flags: PRIVATE
- PLAYER_FIELD_COMBAT_RATING_1 = UNIT_END + 0x98F, // Size: 32, Flags: PRIVATE
- PLAYER_FIELD_ARENA_TEAM_INFO_1_1 = UNIT_END + 0x9AF, // Size: 36, Flags: PRIVATE
- PLAYER_FIELD_MAX_LEVEL = UNIT_END + 0x9D3, // Size: 1, Flags: PRIVATE
- PLAYER_FIELD_SCALING_PLAYER_LEVEL_DELTA = UNIT_END + 0x9D4, // Size: 1, Flags: PRIVATE
- PLAYER_FIELD_MAX_CREATURE_SCALING_LEVEL = UNIT_END + 0x9D5, // Size: 1, Flags: PRIVATE
- PLAYER_NO_REAGENT_COST_1 = UNIT_END + 0x9D6, // Size: 4, Flags: PRIVATE
- PLAYER_PET_SPELL_POWER = UNIT_END + 0x9DA, // Size: 1, Flags: PRIVATE
- PLAYER_FIELD_RESEARCHING_1 = UNIT_END + 0x9DB, // Size: 10, Flags: PRIVATE
- PLAYER_PROFESSION_SKILL_LINE_1 = UNIT_END + 0x9E5, // Size: 2, Flags: PRIVATE
- PLAYER_FIELD_UI_HIT_MODIFIER = UNIT_END + 0x9E7, // Size: 1, Flags: PRIVATE
- PLAYER_FIELD_UI_SPELL_HIT_MODIFIER = UNIT_END + 0x9E8, // Size: 1, Flags: PRIVATE
- PLAYER_FIELD_HOME_REALM_TIME_OFFSET = UNIT_END + 0x9E9, // Size: 1, Flags: PRIVATE
- PLAYER_FIELD_MOD_PET_HASTE = UNIT_END + 0x9EA, // Size: 1, Flags: PRIVATE
- PLAYER_FIELD_BYTES2 = UNIT_END + 0x9EB, // Size: 1, Flags: PRIVATE, URGENT_SELF_ONLY
- PLAYER_FIELD_LFG_BONUS_FACTION_ID = UNIT_END + 0x9EC, // Size: 1, Flags: PRIVATE
- PLAYER_FIELD_LOOT_SPEC_ID = UNIT_END + 0x9ED, // Size: 1, Flags: PRIVATE
- PLAYER_FIELD_OVERRIDE_ZONE_PVP_TYPE = UNIT_END + 0x9EE, // Size: 1, Flags: PRIVATE, URGENT_SELF_ONLY
- PLAYER_FIELD_BAG_SLOT_FLAGS = UNIT_END + 0x9EF, // Size: 4, Flags: PRIVATE
- PLAYER_FIELD_BANK_BAG_SLOT_FLAGS = UNIT_END + 0x9F3, // Size: 7, Flags: PRIVATE
- PLAYER_FIELD_INSERT_ITEMS_LEFT_TO_RIGHT = UNIT_END + 0x9FA, // Size: 1, Flags: PRIVATE
- PLAYER_FIELD_QUEST_COMPLETED = UNIT_END + 0x9FB, // Size: 875, Flags: PRIVATE
- PLAYER_FIELD_HONOR = UNIT_END + 0xD66, // Size: 1, Flags: PRIVATE
- PLAYER_FIELD_HONOR_NEXT_LEVEL = UNIT_END + 0xD67, // Size: 1, Flags: PRIVATE
- PLAYER_END = UNIT_END + 0xD68,
+ PLAYER_DODGE_PERCENTAGE_FROM_ATTRIBUTE = UNIT_END + 0x837, // Size: 1, Flags: PRIVATE
+ PLAYER_PARRY_PERCENTAGE = UNIT_END + 0x838, // Size: 1, Flags: PRIVATE
+ PLAYER_PARRY_PERCENTAGE_FROM_ATTRIBUTE = UNIT_END + 0x839, // Size: 1, Flags: PRIVATE
+ PLAYER_CRIT_PERCENTAGE = UNIT_END + 0x83A, // Size: 1, Flags: PRIVATE
+ PLAYER_RANGED_CRIT_PERCENTAGE = UNIT_END + 0x83B, // Size: 1, Flags: PRIVATE
+ PLAYER_OFFHAND_CRIT_PERCENTAGE = UNIT_END + 0x83C, // Size: 1, Flags: PRIVATE
+ PLAYER_SPELL_CRIT_PERCENTAGE1 = UNIT_END + 0x83D, // Size: 1, Flags: PRIVATE
+ PLAYER_SHIELD_BLOCK = UNIT_END + 0x83E, // Size: 1, Flags: PRIVATE
+ PLAYER_SHIELD_BLOCK_CRIT_PERCENTAGE = UNIT_END + 0x83F, // Size: 1, Flags: PRIVATE
+ PLAYER_MASTERY = UNIT_END + 0x840, // Size: 1, Flags: PRIVATE
+ PLAYER_SPEED = UNIT_END + 0x841, // Size: 1, Flags: PRIVATE
+ PLAYER_LIFESTEAL = UNIT_END + 0x842, // Size: 1, Flags: PRIVATE
+ PLAYER_AVOIDANCE = UNIT_END + 0x843, // Size: 1, Flags: PRIVATE
+ PLAYER_STURDINESS = UNIT_END + 0x844, // Size: 1, Flags: PRIVATE
+ PLAYER_VERSATILITY = UNIT_END + 0x845, // Size: 1, Flags: PRIVATE
+ PLAYER_VERSATILITY_BONUS = UNIT_END + 0x846, // Size: 1, Flags: PRIVATE
+ PLAYER_FIELD_PVP_POWER_DAMAGE = UNIT_END + 0x847, // Size: 1, Flags: PRIVATE
+ PLAYER_FIELD_PVP_POWER_HEALING = UNIT_END + 0x848, // Size: 1, Flags: PRIVATE
+ PLAYER_EXPLORED_ZONES_1 = UNIT_END + 0x849, // Size: 256, Flags: PRIVATE
+ PLAYER_FIELD_REST_INFO = UNIT_END + 0x949, // Size: 4, Flags: PRIVATE
+ PLAYER_FIELD_MOD_DAMAGE_DONE_POS = UNIT_END + 0x94D, // Size: 7, Flags: PRIVATE
+ PLAYER_FIELD_MOD_DAMAGE_DONE_NEG = UNIT_END + 0x954, // Size: 7, Flags: PRIVATE
+ PLAYER_FIELD_MOD_DAMAGE_DONE_PCT = UNIT_END + 0x95B, // Size: 7, Flags: PRIVATE
+ PLAYER_FIELD_MOD_HEALING_DONE_POS = UNIT_END + 0x962, // Size: 1, Flags: PRIVATE
+ PLAYER_FIELD_MOD_HEALING_PCT = UNIT_END + 0x963, // Size: 1, Flags: PRIVATE
+ PLAYER_FIELD_MOD_HEALING_DONE_PCT = UNIT_END + 0x964, // Size: 1, Flags: PRIVATE
+ PLAYER_FIELD_MOD_PERIODIC_HEALING_DONE_PERCENT = UNIT_END + 0x965, // Size: 1, Flags: PRIVATE
+ PLAYER_FIELD_WEAPON_DMG_MULTIPLIERS = UNIT_END + 0x966, // Size: 3, Flags: PRIVATE
+ PLAYER_FIELD_WEAPON_ATK_SPEED_MULTIPLIERS = UNIT_END + 0x969, // Size: 3, Flags: PRIVATE
+ PLAYER_FIELD_MOD_SPELL_POWER_PCT = UNIT_END + 0x96C, // Size: 1, Flags: PRIVATE
+ PLAYER_FIELD_MOD_RESILIENCE_PERCENT = UNIT_END + 0x96D, // Size: 1, Flags: PRIVATE
+ PLAYER_FIELD_OVERRIDE_SPELL_POWER_BY_AP_PCT = UNIT_END + 0x96E, // Size: 1, Flags: PRIVATE
+ PLAYER_FIELD_OVERRIDE_AP_BY_SPELL_POWER_PERCENT = UNIT_END + 0x96F, // Size: 1, Flags: PRIVATE
+ PLAYER_FIELD_MOD_TARGET_RESISTANCE = UNIT_END + 0x970, // Size: 1, Flags: PRIVATE
+ PLAYER_FIELD_MOD_TARGET_PHYSICAL_RESISTANCE = UNIT_END + 0x971, // Size: 1, Flags: PRIVATE
+ PLAYER_FIELD_LOCAL_FLAGS = UNIT_END + 0x972, // Size: 1, Flags: PRIVATE
+ PLAYER_FIELD_BYTES = UNIT_END + 0x973, // Size: 1, Flags: PRIVATE
+ PLAYER_SELF_RES_SPELL = UNIT_END + 0x974, // Size: 1, Flags: PRIVATE
+ PLAYER_FIELD_PVP_MEDALS = UNIT_END + 0x975, // Size: 1, Flags: PRIVATE
+ PLAYER_FIELD_BUYBACK_PRICE_1 = UNIT_END + 0x976, // Size: 12, Flags: PRIVATE
+ PLAYER_FIELD_BUYBACK_TIMESTAMP_1 = UNIT_END + 0x982, // Size: 12, Flags: PRIVATE
+ PLAYER_FIELD_KILLS = UNIT_END + 0x98E, // Size: 1, Flags: PRIVATE
+ PLAYER_FIELD_LIFETIME_HONORABLE_KILLS = UNIT_END + 0x98F, // Size: 1, Flags: PRIVATE
+ PLAYER_FIELD_WATCHED_FACTION_INDEX = UNIT_END + 0x990, // Size: 1, Flags: PRIVATE
+ PLAYER_FIELD_COMBAT_RATING_1 = UNIT_END + 0x991, // Size: 32, Flags: PRIVATE
+ PLAYER_FIELD_ARENA_TEAM_INFO_1_1 = UNIT_END + 0x9B1, // Size: 42, Flags: PRIVATE
+ PLAYER_FIELD_MAX_LEVEL = UNIT_END + 0x9DB, // Size: 1, Flags: PRIVATE
+ PLAYER_FIELD_SCALING_PLAYER_LEVEL_DELTA = UNIT_END + 0x9DC, // Size: 1, Flags: PRIVATE
+ PLAYER_FIELD_MAX_CREATURE_SCALING_LEVEL = UNIT_END + 0x9DD, // Size: 1, Flags: PRIVATE
+ PLAYER_NO_REAGENT_COST_1 = UNIT_END + 0x9DE, // Size: 4, Flags: PRIVATE
+ PLAYER_PET_SPELL_POWER = UNIT_END + 0x9E2, // Size: 1, Flags: PRIVATE
+ PLAYER_FIELD_RESEARCHING_1 = UNIT_END + 0x9E3, // Size: 10, Flags: PRIVATE
+ PLAYER_PROFESSION_SKILL_LINE_1 = UNIT_END + 0x9ED, // Size: 2, Flags: PRIVATE
+ PLAYER_FIELD_UI_HIT_MODIFIER = UNIT_END + 0x9EF, // Size: 1, Flags: PRIVATE
+ PLAYER_FIELD_UI_SPELL_HIT_MODIFIER = UNIT_END + 0x9F0, // Size: 1, Flags: PRIVATE
+ PLAYER_FIELD_HOME_REALM_TIME_OFFSET = UNIT_END + 0x9F1, // Size: 1, Flags: PRIVATE
+ PLAYER_FIELD_MOD_PET_HASTE = UNIT_END + 0x9F2, // Size: 1, Flags: PRIVATE
+ PLAYER_FIELD_BYTES2 = UNIT_END + 0x9F3, // Size: 1, Flags: PRIVATE
+ PLAYER_FIELD_BYTES3 = UNIT_END + 0x9F4, // Size: 1, Flags: PRIVATE, URGENT_SELF_ONLY
+ PLAYER_FIELD_LFG_BONUS_FACTION_ID = UNIT_END + 0x9F5, // Size: 1, Flags: PRIVATE
+ PLAYER_FIELD_LOOT_SPEC_ID = UNIT_END + 0x9F6, // Size: 1, Flags: PRIVATE
+ PLAYER_FIELD_OVERRIDE_ZONE_PVP_TYPE = UNIT_END + 0x9F7, // Size: 1, Flags: PRIVATE, URGENT_SELF_ONLY
+ PLAYER_FIELD_BAG_SLOT_FLAGS = UNIT_END + 0x9F8, // Size: 4, Flags: PRIVATE
+ PLAYER_FIELD_BANK_BAG_SLOT_FLAGS = UNIT_END + 0x9FC, // Size: 7, Flags: PRIVATE
+ PLAYER_FIELD_INSERT_ITEMS_LEFT_TO_RIGHT = UNIT_END + 0xA03, // Size: 1, Flags: PRIVATE
+ PLAYER_FIELD_QUEST_COMPLETED = UNIT_END + 0xA04, // Size: 1000, Flags: PRIVATE
+ PLAYER_FIELD_HONOR = UNIT_END + 0xDEC, // Size: 1, Flags: PRIVATE
+ PLAYER_FIELD_HONOR_NEXT_LEVEL = UNIT_END + 0xDED, // Size: 1, Flags: PRIVATE
+ PLAYER_END = UNIT_END + 0xDEE,
};
enum PlayerDynamicFields
@@ -318,7 +321,9 @@ enum PlayerDynamicFields
PLAYER_DYNAMIC_FIELD_TRANSMOG = UNIT_DYNAMIC_END + 0x007, // Flags: PRIVATE
PLAYER_DYNAMIC_FIELD_CONDITIONAL_TRANSMOG = UNIT_DYNAMIC_END + 0x008, // Flags: PRIVATE
PLAYER_DYNAMIC_FIELD_CHARACTER_RESTRICTIONS = UNIT_DYNAMIC_END + 0x009, // Flags: PRIVATE
- PLAYER_DYNAMIC_END = UNIT_DYNAMIC_END + 0x00A,
+ PLAYER_DYNAMIC_FIELD_SPELL_PCT_MOD_BY_LABEL = UNIT_DYNAMIC_END + 0x00A, // Flags: PRIVATE
+ PLAYER_DYNAMIC_FIELD_SPELL_FLAT_MOD_BY_LABEL = UNIT_DYNAMIC_END + 0x00B, // Flags: PRIVATE
+ PLAYER_DYNAMIC_END = UNIT_DYNAMIC_END + 0x00C,
};
enum GameObjectFields
@@ -347,11 +352,12 @@ enum GameObjectDynamicFields
enum DynamicObjectFields
{
DYNAMICOBJECT_CASTER = OBJECT_END + 0x000, // Size: 4, Flags: PUBLIC
- DYNAMICOBJECT_BYTES = OBJECT_END + 0x004, // Size: 1, Flags: DYNAMIC
- DYNAMICOBJECT_SPELLID = OBJECT_END + 0x005, // Size: 1, Flags: PUBLIC
- DYNAMICOBJECT_RADIUS = OBJECT_END + 0x006, // Size: 1, Flags: PUBLIC
- DYNAMICOBJECT_CASTTIME = OBJECT_END + 0x007, // Size: 1, Flags: PUBLIC
- DYNAMICOBJECT_END = OBJECT_END + 0x008,
+ DYNAMICOBJECT_TYPE = OBJECT_END + 0x004, // Size: 1, Flags: PUBLIC
+ DYNAMICOBJECT_SPELL_X_SPELL_VISUAL_ID = OBJECT_END + 0x005, // Size: 1, Flags: PUBLIC
+ DYNAMICOBJECT_SPELLID = OBJECT_END + 0x006, // Size: 1, Flags: PUBLIC
+ DYNAMICOBJECT_RADIUS = OBJECT_END + 0x007, // Size: 1, Flags: PUBLIC
+ DYNAMICOBJECT_CASTTIME = OBJECT_END + 0x008, // Size: 1, Flags: PUBLIC
+ DYNAMICOBJECT_END = OBJECT_END + 0x009,
};
enum DynamicObjectDynamicFields
@@ -389,10 +395,11 @@ enum AreaTriggerFields
AREATRIGGER_TIME_TO_TARGET_SCALE = OBJECT_END + 0x014, // Size: 1, Flags: PUBLIC, URGENT
AREATRIGGER_TIME_TO_TARGET_EXTRA_SCALE = OBJECT_END + 0x015, // Size: 1, Flags: PUBLIC, URGENT
AREATRIGGER_SPELLID = OBJECT_END + 0x016, // Size: 1, Flags: PUBLIC
- AREATRIGGER_SPELLVISUALID = OBJECT_END + 0x017, // Size: 1, Flags: DYNAMIC
+ AREATRIGGER_SPELL_X_SPELL_VISUAL_ID = OBJECT_END + 0x017, // Size: 1, Flags: PUBLIC
AREATRIGGER_BOUNDS_RADIUS_2D = OBJECT_END + 0x018, // Size: 1, Flags: DYNAMIC, URGENT
AREATRIGGER_DECAL_PROPERTIES_ID = OBJECT_END + 0x019, // Size: 1, Flags: PUBLIC
- AREATRIGGER_END = OBJECT_END + 0x01A,
+ AREATRIGGER_CREATING_EFFECT_GUID = OBJECT_END + 0x01A, // Size: 4, Flags: PUBLIC
+ AREATRIGGER_END = OBJECT_END + 0x01E,
};
enum AreaTriggerDynamicFields
diff --git a/src/server/game/Entities/Player/Player.h b/src/server/game/Entities/Player/Player.h
index 12d1b93eb71..068d253610f 100644
--- a/src/server/game/Entities/Player/Player.h
+++ b/src/server/game/Entities/Player/Player.h
@@ -584,12 +584,16 @@ enum PlayerFieldBytes2Offsets
{
PLAYER_FIELD_BYTES_2_OFFSET_IGNORE_POWER_REGEN_PREDICTION_MASK = 0,
PLAYER_FIELD_BYTES_2_OFFSET_AURA_VISION = 1,
- PLAYER_FIELD_BYTES_2_OFFSET_OVERRIDE_SPELLS_ID = 2 // uint16!
};
-static_assert((PLAYER_FIELD_BYTES_2_OFFSET_OVERRIDE_SPELLS_ID & 1) == 0, "PLAYER_FIELD_BYTES_2_OFFSET_OVERRIDE_SPELLS_ID must be aligned to 2 byte boundary");
+enum PlayerFieldBytes3Offsets
+{
+ PLAYER_FIELD_BYTES_3_OFFSET_OVERRIDE_SPELLS_ID = 0 // uint16!
+};
+
+static_assert((PLAYER_FIELD_BYTES_3_OFFSET_OVERRIDE_SPELLS_ID & 1) == 0, "PLAYER_FIELD_BYTES_3_OFFSET_OVERRIDE_SPELLS_ID must be aligned to 2 byte boundary");
-#define PLAYER_BYTES_2_OVERRIDE_SPELLS_UINT16_OFFSET (PLAYER_FIELD_BYTES_2_OFFSET_OVERRIDE_SPELLS_ID / 2)
+#define PLAYER_BYTES_3_OVERRIDE_SPELLS_UINT16_OFFSET (PLAYER_FIELD_BYTES_3_OFFSET_OVERRIDE_SPELLS_ID / 2)
#define KNOWN_TITLES_SIZE 6
#define MAX_TITLE_INDEX (KNOWN_TITLES_SIZE * 64) // 4 uint64 fields
@@ -670,7 +674,7 @@ enum QuestSaveType
typedef std::map<uint32, QuestSaveType> QuestStatusSaveMap;
// Size of client completed quests bit map
-#define QUESTS_COMPLETED_BITS_SIZE 875
+#define QUESTS_COMPLETED_BITS_SIZE 1000
enum QuestSlotOffsets
{
diff --git a/src/server/game/Spells/Auras/SpellAuraEffects.cpp b/src/server/game/Spells/Auras/SpellAuraEffects.cpp
index 0b4bdffe334..7ce328e1ab0 100644
--- a/src/server/game/Spells/Auras/SpellAuraEffects.cpp
+++ b/src/server/game/Spells/Auras/SpellAuraEffects.cpp
@@ -5410,7 +5410,7 @@ void AuraEffect::HandleAuraOverrideSpells(AuraApplication const* aurApp, uint8 m
if (apply)
{
- target->SetUInt16Value(PLAYER_FIELD_BYTES2, PLAYER_BYTES_2_OVERRIDE_SPELLS_UINT16_OFFSET, overrideId);
+ target->SetUInt16Value(PLAYER_FIELD_BYTES3, PLAYER_BYTES_3_OVERRIDE_SPELLS_UINT16_OFFSET, overrideId);
if (OverrideSpellDataEntry const* overrideSpells = sOverrideSpellDataStore.LookupEntry(overrideId))
for (uint8 i = 0; i < MAX_OVERRIDE_SPELL; ++i)
if (uint32 spellId = overrideSpells->SpellID[i])
@@ -5418,7 +5418,7 @@ void AuraEffect::HandleAuraOverrideSpells(AuraApplication const* aurApp, uint8 m
}
else
{
- target->SetUInt16Value(PLAYER_FIELD_BYTES2, PLAYER_BYTES_2_OVERRIDE_SPELLS_UINT16_OFFSET, 0);
+ target->SetUInt16Value(PLAYER_FIELD_BYTES3, PLAYER_BYTES_3_OVERRIDE_SPELLS_UINT16_OFFSET, 0);
if (OverrideSpellDataEntry const* overrideSpells = sOverrideSpellDataStore.LookupEntry(overrideId))
for (uint8 i = 0; i < MAX_OVERRIDE_SPELL; ++i)
if (uint32 spellId = overrideSpells->SpellID[i])