TrinityCore
UF::UnitData Struct Reference

#include <UpdateFields.h>

Classes

struct  AuraStateTag
 
struct  DisplayIDTag
 
struct  FactionTemplateTag
 
struct  FlagsTag
 
struct  NpcFlagsTag
 
struct  PvpFlagsTag
 

Public Member Functions

void WriteCreate (ByteBuffer &data, EnumFlag< UpdateFieldFlag > fieldVisibilityFlags, Unit const *owner, Player const *receiver) const
 
void WriteUpdate (ByteBuffer &data, EnumFlag< UpdateFieldFlag > fieldVisibilityFlags, Unit const *owner, Player const *receiver) const
 
void WriteUpdate (ByteBuffer &data, Mask const &changesMask, bool ignoreNestedChangesMask, Unit const *owner, Player const *receiver) const
 
void AppendAllowedFieldsMaskForFlag (Mask &allowedMaskForTarget, EnumFlag< UpdateFieldFlag > fieldVisibilityFlags) const
 
void FilterDisallowedFieldsMaskForFlag (Mask &changesMask, EnumFlag< UpdateFieldFlag > fieldVisibilityFlags) const
 
void ClearChangesMask ()
 
- Public Member Functions inherited from UF::HasChangesMask< 195 >
MutableFieldReference< T, false > ModifyValue (UpdateField< T, BlockBit, Bit >(Derived::*field))
 
MutableFieldReference< T, false > ModifyValue (UpdateFieldArray< T, Size, Bit, FirstElementBit >(Derived::*field), uint32 index)
 
MutableFieldReference< T, false > ModifyValue (DynamicUpdateField< T, BlockBit, Bit >(Derived::*field))
 
MutableFieldReference< T, false > ModifyValue (DynamicUpdateField< T, BlockBit, Bit >(Derived::*field), uint32 index)
 
MutableFieldReference< T, false > ModifyValue (OptionalUpdateField< T, BlockBit, Bit >(Derived::*field))
 
void MarkChanged (UpdateField< T, BlockBit, Bit >(Derived::*))
 
void MarkChanged (UpdateFieldArray< T, Size, Bit, FirstElementBit >(Derived::*), uint32 index)
 
void MarkChanged (DynamicUpdateField< T, BlockBit, Bit >(Derived::*), uint32)
 
void MarkChanged (OptionalUpdateField< T, BlockBit, Bit >(Derived::*))
 
void ClearChanged (UpdateField< T, BlockBit, Bit >(Derived::*))
 
void ClearChanged (UpdateFieldArray< T, Size, Bit, FirstElementBit >(Derived::*), uint32 index)
 
void ClearChanged (DynamicUpdateField< T, BlockBit, Bit >(Derived::*field), uint32 index)
 
void ClearChanged (OptionalUpdateField< T, BlockBit, Bit >(Derived::*))
 
Mask const & GetChangesMask () const
 

Public Attributes

UpdateField< std::vector< uint32 >, 0, 1 > StateWorldEffectIDs
 
DynamicUpdateField< UF::PassiveSpellHistory, 0, 2 > PassiveSpells
 
DynamicUpdateField< int32, 0, 3 > WorldEffects
 
DynamicUpdateField< ObjectGuid, 0, 4 > ChannelObjects
 
UpdateField< int32, 0, 5 > DisplayID
 
UpdateField< uint32, 0, 6 > StateSpellVisualID
 
UpdateField< uint32, 0, 7 > StateAnimID
 
UpdateField< uint32, 0, 8 > StateAnimKitID
 
UpdateField< uint32, 0, 9 > StateWorldEffectsQuestObjectiveID
 
UpdateField< int32, 0, 10 > SpellOverrideNameID
 
UpdateField< ObjectGuid, 0, 11 > Charm
 
UpdateField< ObjectGuid, 0, 12 > Summon
 
UpdateField< ObjectGuid, 0, 13 > Critter
 
UpdateField< ObjectGuid, 0, 14 > CharmedBy
 
UpdateField< ObjectGuid, 0, 15 > SummonedBy
 
UpdateField< ObjectGuid, 0, 16 > CreatedBy
 
UpdateField< ObjectGuid, 0, 17 > DemonCreator
 
UpdateField< ObjectGuid, 0, 18 > LookAtControllerTarget
 
UpdateField< ObjectGuid, 0, 19 > Target
 
UpdateField< ObjectGuid, 0, 20 > BattlePetCompanionGUID
 
UpdateField< uint64, 0, 21 > BattlePetDBID
 
UpdateField< UF::UnitChannel, 0, 22 > ChannelData
 
UpdateField< uint32, 0, 23 > SummonedByHomeRealm
 
UpdateField< uint8, 0, 24 > Race
 
UpdateField< uint8, 0, 25 > ClassId
 
UpdateField< uint8, 0, 26 > PlayerClassId
 
UpdateField< uint8, 0, 27 > Sex
 
UpdateField< uint8, 0, 28 > DisplayPower
 
UpdateField< uint32, 0, 29 > OverrideDisplayPowerID
 
UpdateField< int64, 0, 30 > Health
 
UpdateField< int64, 0, 31 > MaxHealth
 
UpdateField< int32, 32, 33 > Level
 
UpdateField< int32, 32, 34 > EffectiveLevel
 
UpdateField< int32, 32, 35 > ContentTuningID
 
UpdateField< int32, 32, 36 > ScalingLevelMin
 
UpdateField< int32, 32, 37 > ScalingLevelMax
 
UpdateField< int32, 32, 38 > ScalingLevelDelta
 
UpdateField< int32, 32, 39 > ScalingFactionGroup
 
UpdateField< int32, 32, 40 > ScalingHealthItemLevelCurveID
 
UpdateField< int32, 32, 41 > ScalingDamageItemLevelCurveID
 
UpdateField< int32, 32, 42 > FactionTemplate
 
UpdateField< uint32, 32, 43 > Flags
 
UpdateField< uint32, 32, 44 > Flags2
 
UpdateField< uint32, 32, 45 > Flags3
 
UpdateField< uint32, 32, 46 > AuraState
 
UpdateField< uint32, 32, 47 > RangedAttackRoundBaseTime
 
UpdateField< float, 32, 48 > BoundingRadius
 
UpdateField< float, 32, 49 > CombatReach
 
UpdateField< float, 32, 50 > DisplayScale
 
UpdateField< int32, 32, 51 > CreatureFamily
 
UpdateField< int32, 32, 52 > CreatureType
 
UpdateField< int32, 32, 53 > NativeDisplayID
 
UpdateField< float, 32, 54 > NativeXDisplayScale
 
UpdateField< int32, 32, 55 > MountDisplayID
 
UpdateField< int32, 32, 56 > CosmeticMountDisplayID
 
UpdateField< float, 32, 57 > MinDamage
 
UpdateField< float, 32, 58 > MaxDamage
 
UpdateField< float, 32, 59 > MinOffHandDamage
 
UpdateField< float, 32, 60 > MaxOffHandDamage
 
UpdateField< uint8, 32, 61 > StandState
 
UpdateField< uint8, 32, 62 > PetTalentPoints
 
UpdateField< uint8, 32, 63 > VisFlags
 
UpdateField< uint8, 64, 65 > AnimTier
 
UpdateField< uint32, 64, 66 > PetNumber
 
UpdateField< uint32, 64, 67 > PetNameTimestamp
 
UpdateField< uint32, 64, 68 > PetExperience
 
UpdateField< uint32, 64, 69 > PetNextLevelExperience
 
UpdateField< float, 64, 70 > ModCastingSpeed
 
UpdateField< float, 64, 71 > ModCastingSpeedNeg
 
UpdateField< float, 64, 72 > ModSpellHaste
 
UpdateField< float, 64, 73 > ModHaste
 
UpdateField< float, 64, 74 > ModRangedHaste
 
UpdateField< float, 64, 75 > ModHasteRegen
 
UpdateField< float, 64, 76 > ModTimeRate
 
UpdateField< int32, 64, 77 > CreatedBySpell
 
UpdateField< int32, 64, 78 > EmoteState
 
UpdateField< int32, 64, 79 > BaseMana
 
UpdateField< int32, 64, 80 > BaseHealth
 
UpdateField< uint8, 64, 81 > SheatheState
 
UpdateField< uint8, 64, 82 > PvpFlags
 
UpdateField< uint8, 64, 83 > PetFlags
 
UpdateField< uint8, 64, 84 > ShapeshiftForm
 
UpdateField< int32, 64, 85 > AttackPower
 
UpdateField< int32, 64, 86 > AttackPowerModPos
 
UpdateField< int32, 64, 87 > AttackPowerModNeg
 
UpdateField< float, 64, 88 > AttackPowerMultiplier
 
UpdateField< int32, 64, 89 > RangedAttackPower
 
UpdateField< int32, 64, 90 > RangedAttackPowerModPos
 
UpdateField< int32, 64, 91 > RangedAttackPowerModNeg
 
UpdateField< float, 64, 92 > RangedAttackPowerMultiplier
 
UpdateField< int32, 64, 93 > MainHandWeaponAttackPower
 
UpdateField< int32, 64, 94 > OffHandWeaponAttackPower
 
UpdateField< int32, 64, 95 > RangedWeaponAttackPower
 
UpdateField< int32, 96, 97 > SetAttackSpeedAura
 
UpdateField< float, 96, 98 > Lifesteal
 
UpdateField< float, 96, 99 > MinRangedDamage
 
UpdateField< float, 96, 100 > MaxRangedDamage
 
UpdateField< float, 96, 101 > ManaCostMultiplier
 
UpdateField< float, 96, 102 > MaxHealthModifier
 
UpdateField< float, 96, 103 > HoverHeight
 
UpdateField< int32, 96, 104 > MinItemLevelCutoff
 
UpdateField< int32, 96, 105 > MinItemLevel
 
UpdateField< int32, 96, 106 > MaxItemLevel
 
UpdateField< int32, 96, 107 > AzeriteItemLevel
 
UpdateField< int32, 96, 108 > WildBattlePetLevel
 
UpdateField< int32, 96, 109 > BattlePetCompanionExperience
 
UpdateField< uint32, 96, 110 > BattlePetCompanionNameTimestamp
 
UpdateField< int32, 96, 111 > InteractSpellID
 
UpdateField< int32, 96, 112 > ScaleDuration
 
UpdateField< int32, 96, 113 > LooksLikeMountID
 
UpdateField< int32, 96, 114 > LooksLikeCreatureID
 
UpdateField< int32, 96, 115 > LookAtControllerID
 
UpdateField< int32, 96, 116 > TaxiNodesID
 
UpdateField< ObjectGuid, 96, 117 > GuildGUID
 
UpdateField< ObjectGuid, 96, 118 > SkinningOwnerGUID
 
UpdateField< uint32, 96, 119 > SilencedSchoolMask
 
UpdateField< ObjectGuid, 96, 120 > NameplateAttachToGUID
 
UpdateFieldArray< uint32, 2, 121, 122 > NpcFlags
 
UpdateFieldArray< int32, 7, 124, 125 > Power
 
UpdateFieldArray< int32, 7, 124, 132 > MaxPower
 
UpdateFieldArray< float, 7, 124, 139 > PowerRegenFlatModifier
 
UpdateFieldArray< float, 7, 124, 146 > PowerRegenInterruptedFlatModifier
 
UpdateFieldArray< UF::VisibleItem, 3, 153, 154 > VirtualItems
 
UpdateFieldArray< uint32, 2, 157, 158 > AttackRoundBaseTime
 
UpdateFieldArray< int32, 4, 160, 161 > Stats
 
UpdateFieldArray< int32, 4, 160, 165 > StatPosBuff
 
UpdateFieldArray< int32, 4, 160, 169 > StatNegBuff
 
UpdateFieldArray< int32, 7, 173, 174 > Resistances
 
UpdateFieldArray< int32, 7, 173, 181 > BonusResistanceMods
 
UpdateFieldArray< int32, 7, 173, 188 > ManaCostModifier
 

Additional Inherited Members

- Public Types inherited from UF::HasChangesMask< 195 >
using Base = HasChangesMask< Bits >
 
using Mask = UpdateMask< Bits >
 
- Protected Member Functions inherited from UF::HasChangesMask< 195 >
void ClearChangesMask (UpdateField< T, BlockBit, Bit > &field)
 
void ClearChangesMask (UpdateField< T, BlockBit, Bit > &, std::false_type)
 
void ClearChangesMask (UpdateField< T, BlockBit, Bit > &field, std::true_type)
 
void ClearChangesMask (UpdateFieldArray< T, Size, Bit, FirstElementBit > &field)
 
void ClearChangesMask (UpdateFieldArray< T, Size, Bit, FirstElementBit > &, std::false_type)
 
void ClearChangesMask (UpdateFieldArray< T, Size, Bit, FirstElementBit > &field, std::true_type)
 
void ClearChangesMask (DynamicUpdateField< T, BlockBit, Bit > &field)
 
void ClearChangesMask (DynamicUpdateField< T, BlockBit, Bit > &, std::false_type)
 
void ClearChangesMask (DynamicUpdateField< T, BlockBit, Bit > &field, std::true_type)
 
void ClearChangesMask (OptionalUpdateField< T, BlockBit, Bit > &field)
 
void ClearChangesMask (OptionalUpdateField< T, BlockBit, Bit > &, std::false_type)
 
void ClearChangesMask (OptionalUpdateField< T, BlockBit, Bit > &field, std::true_type)
 
- Protected Attributes inherited from UF::HasChangesMask< 195 >
Mask _changesMask
 

Member Function Documentation

◆ AppendAllowedFieldsMaskForFlag()

void UF::UnitData::AppendAllowedFieldsMaskForFlag ( Mask allowedMaskForTarget,
EnumFlag< UpdateFieldFlag fieldVisibilityFlags 
) const
1142 {
1143  if (fieldVisibilityFlags.HasFlag(UpdateFieldFlag::Owner))
1144  allowedMaskForTarget |= { 0x00002000u, 0x1E008000u, 0xFFE10000u, 0x1000007Eu, 0x01FFF800u, 0xFFFFFFFFu, 0x00000007u };
1145  if (fieldVisibilityFlags.HasFlag(UpdateFieldFlag::UnitAll))
1146  allowedMaskForTarget |= { 0x00000000u, 0x00000000u, 0x00000000u, 0x10000000u, 0x01FFF800u, 0x00000000u, 0x00000000u };
1147  if (fieldVisibilityFlags.HasFlag(UpdateFieldFlag::Empath))
1148  allowedMaskForTarget |= { 0x00000000u, 0x1E000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x001FE000u, 0x00000000u };
1149 }
constexpr bool HasFlag(T flag) const
Definition: EnumFlag.h:106
+ Here is the call graph for this function:

◆ ClearChangesMask()

void UF::UnitData::ClearChangesMask ( )
1787 {
1919 }
UpdateField< uint32, 0, 7 > StateAnimID
Definition: UpdateFields.h:264
UpdateField< uint8, 0, 26 > PlayerClassId
Definition: UpdateFields.h:283
UpdateField< float, 64, 76 > ModTimeRate
Definition: UpdateFields.h:334
UpdateField< float, 64, 72 > ModSpellHaste
Definition: UpdateFields.h:330
UpdateField< float, 64, 92 > RangedAttackPowerMultiplier
Definition: UpdateFields.h:351
UpdateField< ObjectGuid, 0, 12 > Summon
Definition: UpdateFields.h:269
UpdateFieldArray< int32, 7, 124, 125 > Power
Definition: UpdateFields.h:381
Mask _changesMask
Definition: UpdateField.h:646
UpdateFieldArray< float, 7, 124, 139 > PowerRegenFlatModifier
Definition: UpdateFields.h:383
UpdateField< uint32, 32, 45 > Flags3
Definition: UpdateFields.h:303
UpdateField< float, 64, 70 > ModCastingSpeed
Definition: UpdateFields.h:328
UpdateField< ObjectGuid, 0, 14 > CharmedBy
Definition: UpdateFields.h:271
UpdateField< int32, 96, 116 > TaxiNodesID
Definition: UpdateFields.h:374
UpdateField< int32, 64, 91 > RangedAttackPowerModNeg
Definition: UpdateFields.h:350
UpdateField< int32, 64, 90 > RangedAttackPowerModPos
Definition: UpdateFields.h:349
UpdateField< int32, 0, 5 > DisplayID
Definition: UpdateFields.h:261
UpdateField< int32, 64, 94 > OffHandWeaponAttackPower
Definition: UpdateFields.h:353
UpdateField< int32, 96, 106 > MaxItemLevel
Definition: UpdateFields.h:364
UpdateField< int32, 64, 89 > RangedAttackPower
Definition: UpdateFields.h:348
UpdateFieldArray< float, 7, 124, 146 > PowerRegenInterruptedFlatModifier
Definition: UpdateFields.h:384
UpdateFieldArray< int32, 4, 160, 165 > StatPosBuff
Definition: UpdateFields.h:388
UpdateField< float, 96, 99 > MinRangedDamage
Definition: UpdateFields.h:357
UpdateField< UF::UnitChannel, 0, 22 > ChannelData
Definition: UpdateFields.h:279
UpdateField< float, 32, 57 > MinDamage
Definition: UpdateFields.h:316
UpdateField< uint8, 32, 62 > PetTalentPoints
Definition: UpdateFields.h:321
UpdateField< int32, 96, 115 > LookAtControllerID
Definition: UpdateFields.h:373
void ClearChangesMask(UpdateField< T, BlockBit, Bit > &field)
Definition: UpdateField.h:583
UpdateField< ObjectGuid, 0, 16 > CreatedBy
Definition: UpdateFields.h:273
UpdateField< float, 32, 59 > MinOffHandDamage
Definition: UpdateFields.h:318
Stats
Definition: SharedDefines.h:258
UpdateField< float, 64, 75 > ModHasteRegen
Definition: UpdateFields.h:333
UpdateField< uint64, 0, 21 > BattlePetDBID
Definition: UpdateFields.h:278
UpdateFieldArray< int32, 7, 173, 174 > Resistances
Definition: UpdateFields.h:390
UpdateField< uint32, 96, 110 > BattlePetCompanionNameTimestamp
Definition: UpdateFields.h:368
UpdateField< uint32, 32, 46 > AuraState
Definition: UpdateFields.h:304
UpdateField< int32, 96, 107 > AzeriteItemLevel
Definition: UpdateFields.h:365
UpdateField< int32, 32, 41 > ScalingDamageItemLevelCurveID
Definition: UpdateFields.h:297
UpdateField< int32, 32, 35 > ContentTuningID
Definition: UpdateFields.h:291
UpdateField< int32, 32, 33 > Level
Definition: UpdateFields.h:289
UpdateField< uint32, 96, 119 > SilencedSchoolMask
Definition: UpdateFields.h:377
UpdateFieldArray< uint32, 2, 121, 122 > NpcFlags
Definition: UpdateFields.h:379
void ResetAll()
Definition: UpdateMask.h:78
UpdateField< std::vector< uint32 >, 0, 1 > StateWorldEffectIDs
Definition: UpdateFields.h:257
UpdateField< uint32, 64, 67 > PetNameTimestamp
Definition: UpdateFields.h:325
UpdateFieldArray< uint32, 2, 157, 158 > AttackRoundBaseTime
Definition: UpdateFields.h:386
UpdateField< float, 32, 60 > MaxOffHandDamage
Definition: UpdateFields.h:319
UpdateField< int32, 64, 80 > BaseHealth
Definition: UpdateFields.h:338
UpdateField< ObjectGuid, 0, 19 > Target
Definition: UpdateFields.h:276
UpdateField< int32, 64, 85 > AttackPower
Definition: UpdateFields.h:344
UpdateField< int32, 32, 40 > ScalingHealthItemLevelCurveID
Definition: UpdateFields.h:296
UpdateField< int32, 96, 114 > LooksLikeCreatureID
Definition: UpdateFields.h:372
UpdateField< uint32, 64, 66 > PetNumber
Definition: UpdateFields.h:324
UpdateField< int32, 64, 86 > AttackPowerModPos
Definition: UpdateFields.h:345
UpdateField< uint32, 64, 68 > PetExperience
Definition: UpdateFields.h:326
UpdateField< float, 32, 58 > MaxDamage
Definition: UpdateFields.h:317
UpdateField< uint8, 0, 27 > Sex
Definition: UpdateFields.h:284
UpdateField< int32, 96, 111 > InteractSpellID
Definition: UpdateFields.h:369
UpdateField< float, 64, 73 > ModHaste
Definition: UpdateFields.h:331
UpdateField< int32, 32, 55 > MountDisplayID
Definition: UpdateFields.h:314
UpdateField< uint32, 0, 8 > StateAnimKitID
Definition: UpdateFields.h:265
UpdateField< uint32, 64, 69 > PetNextLevelExperience
Definition: UpdateFields.h:327
UpdateField< float, 96, 101 > ManaCostMultiplier
Definition: UpdateFields.h:359
UpdateField< float, 96, 102 > MaxHealthModifier
Definition: UpdateFields.h:360
UpdateField< uint8, 64, 82 > PvpFlags
Definition: UpdateFields.h:340
UpdateField< float, 96, 103 > HoverHeight
Definition: UpdateFields.h:361
UpdateField< int32, 32, 34 > EffectiveLevel
Definition: UpdateFields.h:290
UpdateField< uint32, 0, 9 > StateWorldEffectsQuestObjectiveID
Definition: UpdateFields.h:266
UpdateFieldArray< int32, 4, 160, 169 > StatNegBuff
Definition: UpdateFields.h:389
UpdateField< int32, 64, 87 > AttackPowerModNeg
Definition: UpdateFields.h:346
UpdateField< uint8, 0, 24 > Race
Definition: UpdateFields.h:281
UpdateField< int64, 0, 31 > MaxHealth
Definition: UpdateFields.h:288
UpdateField< uint32, 32, 44 > Flags2
Definition: UpdateFields.h:302
UpdateField< int32, 64, 79 > BaseMana
Definition: UpdateFields.h:337
UpdateField< int64, 0, 30 > Health
Definition: UpdateFields.h:287
UpdateFieldArray< int32, 7, 173, 188 > ManaCostModifier
Definition: UpdateFields.h:392
DynamicUpdateField< ObjectGuid, 0, 4 > ChannelObjects
Definition: UpdateFields.h:260
UpdateField< int32, 32, 36 > ScalingLevelMin
Definition: UpdateFields.h:292
ShapeshiftForm
Definition: SpellAuraDefines.h:610
UpdateField< int32, 64, 93 > MainHandWeaponAttackPower
Definition: UpdateFields.h:352
UpdateField< float, 64, 74 > ModRangedHaste
Definition: UpdateFields.h:332
UpdateField< int32, 32, 38 > ScalingLevelDelta
Definition: UpdateFields.h:294
UpdateField< float, 32, 49 > CombatReach
Definition: UpdateFields.h:308
UpdateField< ObjectGuid, 0, 18 > LookAtControllerTarget
Definition: UpdateFields.h:275
UpdateField< int32, 0, 10 > SpellOverrideNameID
Definition: UpdateFields.h:267
UpdateField< int32, 96, 108 > WildBattlePetLevel
Definition: UpdateFields.h:366
UpdateField< int32, 64, 78 > EmoteState
Definition: UpdateFields.h:336
UpdateField< int32, 32, 56 > CosmeticMountDisplayID
Definition: UpdateFields.h:315
UpdateField< float, 96, 100 > MaxRangedDamage
Definition: UpdateFields.h:358
UpdateField< uint8, 32, 61 > StandState
Definition: UpdateFields.h:320
UpdateField< ObjectGuid, 0, 20 > BattlePetCompanionGUID
Definition: UpdateFields.h:277
UpdateField< int32, 96, 113 > LooksLikeMountID
Definition: UpdateFields.h:371
UpdateFieldArray< int32, 7, 124, 132 > MaxPower
Definition: UpdateFields.h:382
UpdateField< int32, 64, 77 > CreatedBySpell
Definition: UpdateFields.h:335
UpdateField< int32, 32, 37 > ScalingLevelMax
Definition: UpdateFields.h:293
UpdateField< uint8, 64, 83 > PetFlags
Definition: UpdateFields.h:342
UpdateField< float, 32, 50 > DisplayScale
Definition: UpdateFields.h:309
UpdateField< int32, 32, 39 > ScalingFactionGroup
Definition: UpdateFields.h:295
UpdateField< int32, 64, 95 > RangedWeaponAttackPower
Definition: UpdateFields.h:354
UpdateField< uint8, 0, 25 > ClassId
Definition: UpdateFields.h:282
UpdateField< ObjectGuid, 96, 120 > NameplateAttachToGUID
Definition: UpdateFields.h:378
UpdateFieldArray< int32, 7, 173, 181 > BonusResistanceMods
Definition: UpdateFields.h:391
UpdateField< float, 32, 48 > BoundingRadius
Definition: UpdateFields.h:307
UpdateField< uint8, 32, 63 > VisFlags
Definition: UpdateFields.h:322
UpdateField< ObjectGuid, 0, 11 > Charm
Definition: UpdateFields.h:268
UpdateField< int32, 96, 105 > MinItemLevel
Definition: UpdateFields.h:363
UpdateField< ObjectGuid, 96, 117 > GuildGUID
Definition: UpdateFields.h:375
UpdateField< ObjectGuid, 96, 118 > SkinningOwnerGUID
Definition: UpdateFields.h:376
UpdateField< int32, 96, 112 > ScaleDuration
Definition: UpdateFields.h:370
UpdateField< int32, 32, 42 > FactionTemplate
Definition: UpdateFields.h:298
UpdateField< uint8, 64, 65 > AnimTier
Definition: UpdateFields.h:323
UpdateField< ObjectGuid, 0, 15 > SummonedBy
Definition: UpdateFields.h:272
UpdateField< uint8, 64, 81 > SheatheState
Definition: UpdateFields.h:339
UpdateField< int32, 96, 109 > BattlePetCompanionExperience
Definition: UpdateFields.h:367
UpdateField< uint32, 32, 43 > Flags
Definition: UpdateFields.h:300
UpdateField< float, 96, 98 > Lifesteal
Definition: UpdateFields.h:356
UpdateField< int32, 96, 97 > SetAttackSpeedAura
Definition: UpdateFields.h:355
CreatureFamily
Definition: SharedDefines.h:4427
UpdateField< uint32, 0, 23 > SummonedByHomeRealm
Definition: UpdateFields.h:280
UpdateFieldArray< UF::VisibleItem, 3, 153, 154 > VirtualItems
Definition: UpdateFields.h:385
UpdateField< uint8, 0, 28 > DisplayPower
Definition: UpdateFields.h:285
UpdateField< int32, 96, 104 > MinItemLevelCutoff
Definition: UpdateFields.h:362
UpdateField< float, 32, 54 > NativeXDisplayScale
Definition: UpdateFields.h:313
UpdateField< uint32, 0, 29 > OverrideDisplayPowerID
Definition: UpdateFields.h:286
UpdateField< float, 64, 71 > ModCastingSpeedNeg
Definition: UpdateFields.h:329
UpdateField< ObjectGuid, 0, 13 > Critter
Definition: UpdateFields.h:270
UpdateField< uint32, 32, 47 > RangedAttackRoundBaseTime
Definition: UpdateFields.h:306
DynamicUpdateField< int32, 0, 3 > WorldEffects
Definition: UpdateFields.h:259
DynamicUpdateField< UF::PassiveSpellHistory, 0, 2 > PassiveSpells
Definition: UpdateFields.h:258
UpdateField< float, 64, 88 > AttackPowerMultiplier
Definition: UpdateFields.h:347
UpdateField< uint32, 0, 6 > StateSpellVisualID
Definition: UpdateFields.h:263
CreatureType
Definition: SharedDefines.h:4403
UpdateField< int32, 32, 53 > NativeDisplayID
Definition: UpdateFields.h:312
UpdateField< ObjectGuid, 0, 17 > DemonCreator
Definition: UpdateFields.h:274
+ Here is the call graph for this function:

◆ FilterDisallowedFieldsMaskForFlag()

void UF::UnitData::FilterDisallowedFieldsMaskForFlag ( Mask changesMask,
EnumFlag< UpdateFieldFlag fieldVisibilityFlags 
) const
1152 {
1153  Mask allowedMaskForTarget({ 0xFFFFDFFFu, 0xE1FF7FFFu, 0x001EFFFFu, 0xFFFFFF81u, 0xFE0007FFu, 0x00000000u, 0x00000000u });
1154  AppendAllowedFieldsMaskForFlag(allowedMaskForTarget, fieldVisibilityFlags);
1155  changesMask &= allowedMaskForTarget;
1156 }
void AppendAllowedFieldsMaskForFlag(Mask &allowedMaskForTarget, EnumFlag< UpdateFieldFlag > fieldVisibilityFlags) const
Definition: UpdateFields.cpp:1141
UpdateMask< Bits > Mask
Definition: UpdateField.h:466

◆ WriteCreate()

void UF::UnitData::WriteCreate ( ByteBuffer data,
EnumFlag< UpdateFieldFlag fieldVisibilityFlags,
Unit const *  owner,
Player const *  receiver 
) const
934 {
935  data << int32(ViewerDependentValue<DisplayIDTag>::GetValue(this, owner, receiver));
936  for (std::size_t i = 0; i < 2; ++i)
937  {
938  data << uint32(ViewerDependentValue<NpcFlagsTag>::GetValue(this, i, owner, receiver));
939  }
940  data << uint32(StateSpellVisualID);
941  data << uint32(StateAnimID);
942  data << uint32(StateAnimKitID);
943  data << uint32(StateWorldEffectIDs->size());
945  data << int32(SpellOverrideNameID);
946  for (std::size_t i = 0; i < StateWorldEffectIDs->size(); ++i)
947  {
948  data << uint32((*StateWorldEffectIDs)[i]);
949  }
950  data << Charm;
951  data << Summon;
952  if (fieldVisibilityFlags.HasFlag(UpdateFieldFlag::Owner))
953  {
954  data << Critter;
955  }
956  data << CharmedBy;
957  data << SummonedBy;
958  data << CreatedBy;
959  data << DemonCreator;
960  data << LookAtControllerTarget;
961  data << Target;
962  data << BattlePetCompanionGUID;
963  data << uint64(BattlePetDBID);
964  ChannelData->WriteCreate(data, owner, receiver);
965  data << uint32(SummonedByHomeRealm);
966  data << uint8(Race);
967  data << uint8(ClassId);
968  data << uint8(PlayerClassId);
969  data << uint8(Sex);
970  data << uint8(DisplayPower);
972  data << int64(Health);
973  for (std::size_t i = 0; i < 7; ++i)
974  {
975  data << int32(Power[i]);
976  data << int32(MaxPower[i]);
977  }
978  if (fieldVisibilityFlags.HasFlag(UpdateFieldFlag::Owner | UpdateFieldFlag::UnitAll))
979  {
980  for (std::size_t i = 0; i < 7; ++i)
981  {
982  data << float(PowerRegenFlatModifier[i]);
983  data << float(PowerRegenInterruptedFlatModifier[i]);
984  }
985  }
986  data << int64(MaxHealth);
987  data << int32(Level);
988  data << int32(EffectiveLevel);
989  data << int32(ContentTuningID);
990  data << int32(ScalingLevelMin);
991  data << int32(ScalingLevelMax);
992  data << int32(ScalingLevelDelta);
993  data << int32(ScalingFactionGroup);
996  data << int32(ViewerDependentValue<FactionTemplateTag>::GetValue(this, owner, receiver));
997  for (std::size_t i = 0; i < 3; ++i)
998  {
999  VirtualItems[i].WriteCreate(data, owner, receiver);
1000  }
1001  data << uint32(ViewerDependentValue<FlagsTag>::GetValue(this, owner, receiver));
1002  data << uint32(Flags2);
1003  data << uint32(Flags3);
1004  data << uint32(ViewerDependentValue<AuraStateTag>::GetValue(this, owner, receiver));
1005  for (std::size_t i = 0; i < 2; ++i)
1006  {
1007  data << uint32(AttackRoundBaseTime[i]);
1008  }
1009  if (fieldVisibilityFlags.HasFlag(UpdateFieldFlag::Owner))
1010  {
1012  }
1013  data << float(BoundingRadius);
1014  data << float(CombatReach);
1015  data << float(DisplayScale);
1016  data << int32(CreatureFamily);
1017  data << int32(CreatureType);
1018  data << int32(NativeDisplayID);
1019  data << float(NativeXDisplayScale);
1020  data << int32(MountDisplayID);
1021  data << int32(CosmeticMountDisplayID);
1022  if (fieldVisibilityFlags.HasFlag(UpdateFieldFlag::Owner | UpdateFieldFlag::Empath))
1023  {
1024  data << float(MinDamage);
1025  data << float(MaxDamage);
1026  data << float(MinOffHandDamage);
1027  data << float(MaxOffHandDamage);
1028  }
1029  data << uint8(StandState);
1030  data << uint8(PetTalentPoints);
1031  data << uint8(VisFlags);
1032  data << uint8(AnimTier);
1033  data << uint32(PetNumber);
1034  data << uint32(PetNameTimestamp);
1035  data << uint32(PetExperience);
1036  data << uint32(PetNextLevelExperience);
1037  data << float(ModCastingSpeed);
1038  data << float(ModCastingSpeedNeg);
1039  data << float(ModSpellHaste);
1040  data << float(ModHaste);
1041  data << float(ModRangedHaste);
1042  data << float(ModHasteRegen);
1043  data << float(ModTimeRate);
1044  data << int32(CreatedBySpell);
1045  data << int32(EmoteState);
1046  if (fieldVisibilityFlags.HasFlag(UpdateFieldFlag::Owner))
1047  {
1048  for (std::size_t i = 0; i < 4; ++i)
1049  {
1050  data << int32(Stats[i]);
1051  data << int32(StatPosBuff[i]);
1052  data << int32(StatNegBuff[i]);
1053  }
1054  }
1055  if (fieldVisibilityFlags.HasFlag(UpdateFieldFlag::Owner | UpdateFieldFlag::Empath))
1056  {
1057  for (std::size_t i = 0; i < 7; ++i)
1058  {
1059  data << int32(Resistances[i]);
1060  }
1061  }
1062  if (fieldVisibilityFlags.HasFlag(UpdateFieldFlag::Owner))
1063  {
1064  for (std::size_t i = 0; i < 7; ++i)
1065  {
1066  data << int32(BonusResistanceMods[i]);
1067  data << int32(ManaCostModifier[i]);
1068  }
1069  }
1070  data << int32(BaseMana);
1071  if (fieldVisibilityFlags.HasFlag(UpdateFieldFlag::Owner))
1072  {
1073  data << int32(BaseHealth);
1074  }
1075  data << uint8(SheatheState);
1076  data << uint8(ViewerDependentValue<PvpFlagsTag>::GetValue(this, owner, receiver));
1077  data << uint8(PetFlags);
1078  data << uint8(ShapeshiftForm);
1079  if (fieldVisibilityFlags.HasFlag(UpdateFieldFlag::Owner))
1080  {
1081  data << int32(AttackPower);
1082  data << int32(AttackPowerModPos);
1083  data << int32(AttackPowerModNeg);
1084  data << float(AttackPowerMultiplier);
1085  data << int32(RangedAttackPower);
1086  data << int32(RangedAttackPowerModPos);
1087  data << int32(RangedAttackPowerModNeg);
1088  data << float(RangedAttackPowerMultiplier);
1091  data << int32(RangedWeaponAttackPower);
1092  data << int32(SetAttackSpeedAura);
1093  data << float(Lifesteal);
1094  data << float(MinRangedDamage);
1095  data << float(MaxRangedDamage);
1096  data << float(ManaCostMultiplier);
1097  data << float(MaxHealthModifier);
1098  }
1099  data << float(HoverHeight);
1100  data << int32(MinItemLevelCutoff);
1101  data << int32(MinItemLevel);
1102  data << int32(MaxItemLevel);
1103  data << int32(AzeriteItemLevel);
1104  data << int32(WildBattlePetLevel);
1107  data << int32(InteractSpellID);
1108  data << int32(ScaleDuration);
1109  data << int32(LooksLikeMountID);
1110  data << int32(LooksLikeCreatureID);
1111  data << int32(LookAtControllerID);
1112  data << int32(TaxiNodesID);
1113  data << GuildGUID;
1114  data << uint32(PassiveSpells.size());
1115  data << uint32(WorldEffects.size());
1116  data << uint32(ChannelObjects.size());
1117  data << SkinningOwnerGUID;
1118  data << uint32(SilencedSchoolMask);
1119  data << NameplateAttachToGUID;
1120  for (std::size_t i = 0; i < PassiveSpells.size(); ++i)
1121  {
1122  PassiveSpells[i].WriteCreate(data, owner, receiver);
1123  }
1124  for (std::size_t i = 0; i < WorldEffects.size(); ++i)
1125  {
1126  data << int32(WorldEffects[i]);
1127  }
1128  for (std::size_t i = 0; i < ChannelObjects.size(); ++i)
1129  {
1130  data << ChannelObjects[i];
1131  }
1132 }
UpdateField< uint32, 0, 7 > StateAnimID
Definition: UpdateFields.h:264
UpdateField< uint8, 0, 26 > PlayerClassId
Definition: UpdateFields.h:283
UpdateField< float, 64, 76 > ModTimeRate
Definition: UpdateFields.h:334
UpdateField< float, 64, 72 > ModSpellHaste
Definition: UpdateFields.h:330
UpdateField< float, 64, 92 > RangedAttackPowerMultiplier
Definition: UpdateFields.h:351
UpdateField< ObjectGuid, 0, 12 > Summon
Definition: UpdateFields.h:269
UpdateFieldArray< int32, 7, 124, 125 > Power
Definition: UpdateFields.h:381
UpdateFieldArray< float, 7, 124, 139 > PowerRegenFlatModifier
Definition: UpdateFields.h:383
UpdateField< uint32, 32, 45 > Flags3
Definition: UpdateFields.h:303
UpdateField< float, 64, 70 > ModCastingSpeed
Definition: UpdateFields.h:328
UpdateField< ObjectGuid, 0, 14 > CharmedBy
Definition: UpdateFields.h:271
UpdateField< int32, 96, 116 > TaxiNodesID
Definition: UpdateFields.h:374
UpdateField< int32, 64, 91 > RangedAttackPowerModNeg
Definition: UpdateFields.h:350
UpdateField< int32, 64, 90 > RangedAttackPowerModPos
Definition: UpdateFields.h:349
UpdateField< int32, 64, 94 > OffHandWeaponAttackPower
Definition: UpdateFields.h:353
UpdateField< int32, 96, 106 > MaxItemLevel
Definition: UpdateFields.h:364
UpdateField< int32, 64, 89 > RangedAttackPower
Definition: UpdateFields.h:348
UpdateFieldArray< float, 7, 124, 146 > PowerRegenInterruptedFlatModifier
Definition: UpdateFields.h:384
UpdateFieldArray< int32, 4, 160, 165 > StatPosBuff
Definition: UpdateFields.h:388
UpdateField< float, 96, 99 > MinRangedDamage
Definition: UpdateFields.h:357
int64_t int64
Definition: Define.h:147
UpdateField< UF::UnitChannel, 0, 22 > ChannelData
Definition: UpdateFields.h:279
UpdateField< float, 32, 57 > MinDamage
Definition: UpdateFields.h:316
UpdateField< uint8, 32, 62 > PetTalentPoints
Definition: UpdateFields.h:321
UpdateField< int32, 96, 115 > LookAtControllerID
Definition: UpdateFields.h:373
UpdateField< ObjectGuid, 0, 16 > CreatedBy
Definition: UpdateFields.h:273
UpdateField< float, 32, 59 > MinOffHandDamage
Definition: UpdateFields.h:318
Stats
Definition: SharedDefines.h:258
UpdateField< float, 64, 75 > ModHasteRegen
Definition: UpdateFields.h:333
UpdateField< uint64, 0, 21 > BattlePetDBID
Definition: UpdateFields.h:278
UpdateFieldArray< int32, 7, 173, 174 > Resistances
Definition: UpdateFields.h:390
UpdateField< uint32, 96, 110 > BattlePetCompanionNameTimestamp
Definition: UpdateFields.h:368
UpdateField< int32, 96, 107 > AzeriteItemLevel
Definition: UpdateFields.h:365
UpdateField< int32, 32, 41 > ScalingDamageItemLevelCurveID
Definition: UpdateFields.h:297
UpdateField< int32, 32, 35 > ContentTuningID
Definition: UpdateFields.h:291
UpdateField< int32, 32, 33 > Level
Definition: UpdateFields.h:289
UpdateField< uint32, 96, 119 > SilencedSchoolMask
Definition: UpdateFields.h:377
UpdateField< std::vector< uint32 >, 0, 1 > StateWorldEffectIDs
Definition: UpdateFields.h:257
UpdateField< uint32, 64, 67 > PetNameTimestamp
Definition: UpdateFields.h:325
UpdateFieldArray< uint32, 2, 157, 158 > AttackRoundBaseTime
Definition: UpdateFields.h:386
UpdateField< float, 32, 60 > MaxOffHandDamage
Definition: UpdateFields.h:319
UpdateField< int32, 64, 80 > BaseHealth
Definition: UpdateFields.h:338
UpdateField< ObjectGuid, 0, 19 > Target
Definition: UpdateFields.h:276
UpdateField< int32, 64, 85 > AttackPower
Definition: UpdateFields.h:344
UpdateField< int32, 32, 40 > ScalingHealthItemLevelCurveID
Definition: UpdateFields.h:296
UpdateField< int32, 96, 114 > LooksLikeCreatureID
Definition: UpdateFields.h:372
UpdateField< uint32, 64, 66 > PetNumber
Definition: UpdateFields.h:324
UpdateField< int32, 64, 86 > AttackPowerModPos
Definition: UpdateFields.h:345
std::size_t size() const
Definition: UpdateField.h:811
UpdateField< uint32, 64, 68 > PetExperience
Definition: UpdateFields.h:326
UpdateField< float, 32, 58 > MaxDamage
Definition: UpdateFields.h:317
UpdateField< uint8, 0, 27 > Sex
Definition: UpdateFields.h:284
UpdateField< int32, 96, 111 > InteractSpellID
Definition: UpdateFields.h:369
UpdateField< float, 64, 73 > ModHaste
Definition: UpdateFields.h:331
UpdateField< int32, 32, 55 > MountDisplayID
Definition: UpdateFields.h:314
UpdateField< uint32, 0, 8 > StateAnimKitID
Definition: UpdateFields.h:265
UpdateField< uint32, 64, 69 > PetNextLevelExperience
Definition: UpdateFields.h:327
UpdateField< float, 96, 101 > ManaCostMultiplier
Definition: UpdateFields.h:359
UpdateField< float, 96, 102 > MaxHealthModifier
Definition: UpdateFields.h:360
UpdateField< float, 96, 103 > HoverHeight
Definition: UpdateFields.h:361
UpdateField< int32, 32, 34 > EffectiveLevel
Definition: UpdateFields.h:290
UpdateField< uint32, 0, 9 > StateWorldEffectsQuestObjectiveID
Definition: UpdateFields.h:266
UpdateFieldArray< int32, 4, 160, 169 > StatNegBuff
Definition: UpdateFields.h:389
UpdateField< int32, 64, 87 > AttackPowerModNeg
Definition: UpdateFields.h:346
UpdateField< uint8, 0, 24 > Race
Definition: UpdateFields.h:281
UpdateField< int64, 0, 31 > MaxHealth
Definition: UpdateFields.h:288
UpdateField< uint32, 32, 44 > Flags2
Definition: UpdateFields.h:302
UpdateField< int32, 64, 79 > BaseMana
Definition: UpdateFields.h:337
int32_t int32
Definition: Define.h:148
UpdateField< int64, 0, 30 > Health
Definition: UpdateFields.h:287
UpdateFieldArray< int32, 7, 173, 188 > ManaCostModifier
Definition: UpdateFields.h:392
DynamicUpdateField< ObjectGuid, 0, 4 > ChannelObjects
Definition: UpdateFields.h:260
uint32_t uint32
Definition: Define.h:152
uint64_t uint64
Definition: Define.h:151
UpdateField< int32, 32, 36 > ScalingLevelMin
Definition: UpdateFields.h:292
ShapeshiftForm
Definition: SpellAuraDefines.h:610
UpdateField< int32, 64, 93 > MainHandWeaponAttackPower
Definition: UpdateFields.h:352
UpdateField< float, 64, 74 > ModRangedHaste
Definition: UpdateFields.h:332
UpdateField< int32, 32, 38 > ScalingLevelDelta
Definition: UpdateFields.h:294
UpdateField< float, 32, 49 > CombatReach
Definition: UpdateFields.h:308
UpdateField< ObjectGuid, 0, 18 > LookAtControllerTarget
Definition: UpdateFields.h:275
UpdateField< int32, 0, 10 > SpellOverrideNameID
Definition: UpdateFields.h:267
UpdateField< int32, 96, 108 > WildBattlePetLevel
Definition: UpdateFields.h:366
UpdateField< int32, 64, 78 > EmoteState
Definition: UpdateFields.h:336
UpdateField< int32, 32, 56 > CosmeticMountDisplayID
Definition: UpdateFields.h:315
UpdateField< float, 96, 100 > MaxRangedDamage
Definition: UpdateFields.h:358
UpdateField< uint8, 32, 61 > StandState
Definition: UpdateFields.h:320
UpdateField< ObjectGuid, 0, 20 > BattlePetCompanionGUID
Definition: UpdateFields.h:277
UpdateField< int32, 96, 113 > LooksLikeMountID
Definition: UpdateFields.h:371
UpdateFieldArray< int32, 7, 124, 132 > MaxPower
Definition: UpdateFields.h:382
UpdateField< int32, 64, 77 > CreatedBySpell
Definition: UpdateFields.h:335
UpdateField< int32, 32, 37 > ScalingLevelMax
Definition: UpdateFields.h:293
UpdateField< uint8, 64, 83 > PetFlags
Definition: UpdateFields.h:342
UpdateField< float, 32, 50 > DisplayScale
Definition: UpdateFields.h:309
UpdateField< int32, 32, 39 > ScalingFactionGroup
Definition: UpdateFields.h:295
UpdateField< int32, 64, 95 > RangedWeaponAttackPower
Definition: UpdateFields.h:354
UpdateField< uint8, 0, 25 > ClassId
Definition: UpdateFields.h:282
UpdateField< ObjectGuid, 96, 120 > NameplateAttachToGUID
Definition: UpdateFields.h:378
UpdateFieldArray< int32, 7, 173, 181 > BonusResistanceMods
Definition: UpdateFields.h:391
UpdateField< float, 32, 48 > BoundingRadius
Definition: UpdateFields.h:307
UpdateField< uint8, 32, 63 > VisFlags
Definition: UpdateFields.h:322
UpdateField< ObjectGuid, 0, 11 > Charm
Definition: UpdateFields.h:268
UpdateField< int32, 96, 105 > MinItemLevel
Definition: UpdateFields.h:363
UpdateField< ObjectGuid, 96, 117 > GuildGUID
Definition: UpdateFields.h:375
UpdateField< ObjectGuid, 96, 118 > SkinningOwnerGUID
Definition: UpdateFields.h:376
UpdateField< int32, 96, 112 > ScaleDuration
Definition: UpdateFields.h:370
UpdateField< uint8, 64, 65 > AnimTier
Definition: UpdateFields.h:323
UpdateField< ObjectGuid, 0, 15 > SummonedBy
Definition: UpdateFields.h:272
UpdateField< uint8, 64, 81 > SheatheState
Definition: UpdateFields.h:339
UpdateField< int32, 96, 109 > BattlePetCompanionExperience
Definition: UpdateFields.h:367
constexpr bool HasFlag(T flag) const
Definition: EnumFlag.h:106
uint8_t uint8
Definition: Define.h:154
UpdateField< float, 96, 98 > Lifesteal
Definition: UpdateFields.h:356
UpdateField< int32, 96, 97 > SetAttackSpeedAura
Definition: UpdateFields.h:355
CreatureFamily
Definition: SharedDefines.h:4427
UpdateField< uint32, 0, 23 > SummonedByHomeRealm
Definition: UpdateFields.h:280
UpdateFieldArray< UF::VisibleItem, 3, 153, 154 > VirtualItems
Definition: UpdateFields.h:385
UpdateField< uint8, 0, 28 > DisplayPower
Definition: UpdateFields.h:285
UpdateField< int32, 96, 104 > MinItemLevelCutoff
Definition: UpdateFields.h:362
UpdateField< float, 32, 54 > NativeXDisplayScale
Definition: UpdateFields.h:313
UpdateField< uint32, 0, 29 > OverrideDisplayPowerID
Definition: UpdateFields.h:286
UpdateField< float, 64, 71 > ModCastingSpeedNeg
Definition: UpdateFields.h:329
UpdateField< ObjectGuid, 0, 13 > Critter
Definition: UpdateFields.h:270
UpdateField< uint32, 32, 47 > RangedAttackRoundBaseTime
Definition: UpdateFields.h:306
DynamicUpdateField< int32, 0, 3 > WorldEffects
Definition: UpdateFields.h:259
DynamicUpdateField< UF::PassiveSpellHistory, 0, 2 > PassiveSpells
Definition: UpdateFields.h:258
UpdateField< float, 64, 88 > AttackPowerMultiplier
Definition: UpdateFields.h:347
UpdateField< uint32, 0, 6 > StateSpellVisualID
Definition: UpdateFields.h:263
CreatureType
Definition: SharedDefines.h:4403
UpdateField< int32, 32, 53 > NativeDisplayID
Definition: UpdateFields.h:312
UpdateField< ObjectGuid, 0, 17 > DemonCreator
Definition: UpdateFields.h:274
+ Here is the call graph for this function:

◆ WriteUpdate() [1/2]

void UF::UnitData::WriteUpdate ( ByteBuffer data,
EnumFlag< UpdateFieldFlag fieldVisibilityFlags,
Unit const *  owner,
Player const *  receiver 
) const
1135 {
1136  Mask allowedMaskForTarget({ 0xFFFFDFFFu, 0xE1FF7FFFu, 0x001EFFFFu, 0xFFFFFF81u, 0xFE0007FFu, 0x00000000u, 0x00000000u });
1137  AppendAllowedFieldsMaskForFlag(allowedMaskForTarget, fieldVisibilityFlags);
1138  WriteUpdate(data, _changesMask & allowedMaskForTarget, false, owner, receiver);
1139 }
Mask _changesMask
Definition: UpdateField.h:646
void AppendAllowedFieldsMaskForFlag(Mask &allowedMaskForTarget, EnumFlag< UpdateFieldFlag > fieldVisibilityFlags) const
Definition: UpdateFields.cpp:1141
UpdateMask< Bits > Mask
Definition: UpdateField.h:466
void WriteUpdate(ByteBuffer &data, EnumFlag< UpdateFieldFlag > fieldVisibilityFlags, Unit const *owner, Player const *receiver) const
Definition: UpdateFields.cpp:1134
+ Here is the call graph for this function:

◆ WriteUpdate() [2/2]

void UF::UnitData::WriteUpdate ( ByteBuffer data,
Mask const &  changesMask,
bool  ignoreNestedChangesMask,
Unit const *  owner,
Player const *  receiver 
) const
1159 {
1160  data.WriteBits(changesMask.GetBlocksMask(0), 7);
1161  for (std::size_t i = 0; i < 7; ++i)
1162  if (changesMask.GetBlock(i))
1163  data.WriteBits(changesMask.GetBlock(i), 32);
1164 
1165  if (changesMask[0])
1166  {
1167  if (changesMask[1])
1168  {
1169  data.WriteBits(StateWorldEffectIDs->size(), 32);
1170  for (std::size_t i = 0; i < StateWorldEffectIDs->size(); ++i)
1171  {
1172  data << uint32((*StateWorldEffectIDs)[i]);
1173  }
1174  }
1175  }
1176  data.FlushBits();
1177  if (changesMask[0])
1178  {
1179  if (changesMask[2])
1180  {
1181  if (!ignoreNestedChangesMask)
1183  else
1185  }
1186  if (changesMask[3])
1187  {
1188  if (!ignoreNestedChangesMask)
1190  else
1192  }
1193  if (changesMask[4])
1194  {
1195  if (!ignoreNestedChangesMask)
1197  else
1199  }
1200  }
1201  data.FlushBits();
1202  if (changesMask[0])
1203  {
1204  if (changesMask[2])
1205  {
1206  for (std::size_t i = 0; i < PassiveSpells.size(); ++i)
1207  {
1208  if (PassiveSpells.HasChanged(i) || ignoreNestedChangesMask)
1209  {
1210  PassiveSpells[i].WriteUpdate(data, ignoreNestedChangesMask, owner, receiver);
1211  }
1212  }
1213  }
1214  if (changesMask[3])
1215  {
1216  for (std::size_t i = 0; i < WorldEffects.size(); ++i)
1217  {
1218  if (WorldEffects.HasChanged(i) || ignoreNestedChangesMask)
1219  {
1220  data << int32(WorldEffects[i]);
1221  }
1222  }
1223  }
1224  if (changesMask[4])
1225  {
1226  for (std::size_t i = 0; i < ChannelObjects.size(); ++i)
1227  {
1228  if (ChannelObjects.HasChanged(i) || ignoreNestedChangesMask)
1229  {
1230  data << ChannelObjects[i];
1231  }
1232  }
1233  }
1234  if (changesMask[5])
1235  {
1236  data << int32(ViewerDependentValue<DisplayIDTag>::GetValue(this, owner, receiver));
1237  }
1238  if (changesMask[6])
1239  {
1240  data << uint32(StateSpellVisualID);
1241  }
1242  if (changesMask[7])
1243  {
1244  data << uint32(StateAnimID);
1245  }
1246  if (changesMask[8])
1247  {
1248  data << uint32(StateAnimKitID);
1249  }
1250  if (changesMask[9])
1251  {
1253  }
1254  if (changesMask[10])
1255  {
1256  data << int32(SpellOverrideNameID);
1257  }
1258  if (changesMask[11])
1259  {
1260  data << Charm;
1261  }
1262  if (changesMask[12])
1263  {
1264  data << Summon;
1265  }
1266  if (changesMask[13])
1267  {
1268  data << Critter;
1269  }
1270  if (changesMask[14])
1271  {
1272  data << CharmedBy;
1273  }
1274  if (changesMask[15])
1275  {
1276  data << SummonedBy;
1277  }
1278  if (changesMask[16])
1279  {
1280  data << CreatedBy;
1281  }
1282  if (changesMask[17])
1283  {
1284  data << DemonCreator;
1285  }
1286  if (changesMask[18])
1287  {
1288  data << LookAtControllerTarget;
1289  }
1290  if (changesMask[19])
1291  {
1292  data << Target;
1293  }
1294  if (changesMask[20])
1295  {
1296  data << BattlePetCompanionGUID;
1297  }
1298  if (changesMask[21])
1299  {
1300  data << uint64(BattlePetDBID);
1301  }
1302  if (changesMask[22])
1303  {
1304  ChannelData->WriteUpdate(data, ignoreNestedChangesMask, owner, receiver);
1305  }
1306  if (changesMask[23])
1307  {
1308  data << uint32(SummonedByHomeRealm);
1309  }
1310  if (changesMask[24])
1311  {
1312  data << uint8(Race);
1313  }
1314  if (changesMask[25])
1315  {
1316  data << uint8(ClassId);
1317  }
1318  if (changesMask[26])
1319  {
1320  data << uint8(PlayerClassId);
1321  }
1322  if (changesMask[27])
1323  {
1324  data << uint8(Sex);
1325  }
1326  if (changesMask[28])
1327  {
1328  data << uint8(DisplayPower);
1329  }
1330  if (changesMask[29])
1331  {
1332  data << uint32(OverrideDisplayPowerID);
1333  }
1334  if (changesMask[30])
1335  {
1336  data << int64(Health);
1337  }
1338  if (changesMask[31])
1339  {
1340  data << int64(MaxHealth);
1341  }
1342  }
1343  if (changesMask[32])
1344  {
1345  if (changesMask[33])
1346  {
1347  data << int32(Level);
1348  }
1349  if (changesMask[34])
1350  {
1351  data << int32(EffectiveLevel);
1352  }
1353  if (changesMask[35])
1354  {
1355  data << int32(ContentTuningID);
1356  }
1357  if (changesMask[36])
1358  {
1359  data << int32(ScalingLevelMin);
1360  }
1361  if (changesMask[37])
1362  {
1363  data << int32(ScalingLevelMax);
1364  }
1365  if (changesMask[38])
1366  {
1367  data << int32(ScalingLevelDelta);
1368  }
1369  if (changesMask[39])
1370  {
1371  data << int32(ScalingFactionGroup);
1372  }
1373  if (changesMask[40])
1374  {
1376  }
1377  if (changesMask[41])
1378  {
1380  }
1381  if (changesMask[42])
1382  {
1383  data << int32(ViewerDependentValue<FactionTemplateTag>::GetValue(this, owner, receiver));
1384  }
1385  if (changesMask[43])
1386  {
1387  data << uint32(ViewerDependentValue<FlagsTag>::GetValue(this, owner, receiver));
1388  }
1389  if (changesMask[44])
1390  {
1391  data << uint32(Flags2);
1392  }
1393  if (changesMask[45])
1394  {
1395  data << uint32(Flags3);
1396  }
1397  if (changesMask[46])
1398  {
1399  data << uint32(ViewerDependentValue<AuraStateTag>::GetValue(this, owner, receiver));
1400  }
1401  if (changesMask[47])
1402  {
1404  }
1405  if (changesMask[48])
1406  {
1407  data << float(BoundingRadius);
1408  }
1409  if (changesMask[49])
1410  {
1411  data << float(CombatReach);
1412  }
1413  if (changesMask[50])
1414  {
1415  data << float(DisplayScale);
1416  }
1417  if (changesMask[51])
1418  {
1419  data << int32(CreatureFamily);
1420  }
1421  if (changesMask[52])
1422  {
1423  data << int32(CreatureType);
1424  }
1425  if (changesMask[53])
1426  {
1427  data << int32(NativeDisplayID);
1428  }
1429  if (changesMask[54])
1430  {
1431  data << float(NativeXDisplayScale);
1432  }
1433  if (changesMask[55])
1434  {
1435  data << int32(MountDisplayID);
1436  }
1437  if (changesMask[56])
1438  {
1439  data << int32(CosmeticMountDisplayID);
1440  }
1441  if (changesMask[57])
1442  {
1443  data << float(MinDamage);
1444  }
1445  if (changesMask[58])
1446  {
1447  data << float(MaxDamage);
1448  }
1449  if (changesMask[59])
1450  {
1451  data << float(MinOffHandDamage);
1452  }
1453  if (changesMask[60])
1454  {
1455  data << float(MaxOffHandDamage);
1456  }
1457  if (changesMask[61])
1458  {
1459  data << uint8(StandState);
1460  }
1461  if (changesMask[62])
1462  {
1463  data << uint8(PetTalentPoints);
1464  }
1465  if (changesMask[63])
1466  {
1467  data << uint8(VisFlags);
1468  }
1469  }
1470  if (changesMask[64])
1471  {
1472  if (changesMask[65])
1473  {
1474  data << uint8(AnimTier);
1475  }
1476  if (changesMask[66])
1477  {
1478  data << uint32(PetNumber);
1479  }
1480  if (changesMask[67])
1481  {
1482  data << uint32(PetNameTimestamp);
1483  }
1484  if (changesMask[68])
1485  {
1486  data << uint32(PetExperience);
1487  }
1488  if (changesMask[69])
1489  {
1490  data << uint32(PetNextLevelExperience);
1491  }
1492  if (changesMask[70])
1493  {
1494  data << float(ModCastingSpeed);
1495  }
1496  if (changesMask[71])
1497  {
1498  data << float(ModCastingSpeedNeg);
1499  }
1500  if (changesMask[72])
1501  {
1502  data << float(ModSpellHaste);
1503  }
1504  if (changesMask[73])
1505  {
1506  data << float(ModHaste);
1507  }
1508  if (changesMask[74])
1509  {
1510  data << float(ModRangedHaste);
1511  }
1512  if (changesMask[75])
1513  {
1514  data << float(ModHasteRegen);
1515  }
1516  if (changesMask[76])
1517  {
1518  data << float(ModTimeRate);
1519  }
1520  if (changesMask[77])
1521  {
1522  data << int32(CreatedBySpell);
1523  }
1524  if (changesMask[78])
1525  {
1526  data << int32(EmoteState);
1527  }
1528  if (changesMask[79])
1529  {
1530  data << int32(BaseMana);
1531  }
1532  if (changesMask[80])
1533  {
1534  data << int32(BaseHealth);
1535  }
1536  if (changesMask[81])
1537  {
1538  data << uint8(SheatheState);
1539  }
1540  if (changesMask[82])
1541  {
1542  data << uint8(ViewerDependentValue<PvpFlagsTag>::GetValue(this, owner, receiver));
1543  }
1544  if (changesMask[83])
1545  {
1546  data << uint8(PetFlags);
1547  }
1548  if (changesMask[84])
1549  {
1550  data << uint8(ShapeshiftForm);
1551  }
1552  if (changesMask[85])
1553  {
1554  data << int32(AttackPower);
1555  }
1556  if (changesMask[86])
1557  {
1558  data << int32(AttackPowerModPos);
1559  }
1560  if (changesMask[87])
1561  {
1562  data << int32(AttackPowerModNeg);
1563  }
1564  if (changesMask[88])
1565  {
1566  data << float(AttackPowerMultiplier);
1567  }
1568  if (changesMask[89])
1569  {
1570  data << int32(RangedAttackPower);
1571  }
1572  if (changesMask[90])
1573  {
1574  data << int32(RangedAttackPowerModPos);
1575  }
1576  if (changesMask[91])
1577  {
1578  data << int32(RangedAttackPowerModNeg);
1579  }
1580  if (changesMask[92])
1581  {
1582  data << float(RangedAttackPowerMultiplier);
1583  }
1584  if (changesMask[93])
1585  {
1587  }
1588  if (changesMask[94])
1589  {
1591  }
1592  if (changesMask[95])
1593  {
1594  data << int32(RangedWeaponAttackPower);
1595  }
1596  }
1597  if (changesMask[96])
1598  {
1599  if (changesMask[97])
1600  {
1601  data << int32(SetAttackSpeedAura);
1602  }
1603  if (changesMask[98])
1604  {
1605  data << float(Lifesteal);
1606  }
1607  if (changesMask[99])
1608  {
1609  data << float(MinRangedDamage);
1610  }
1611  if (changesMask[100])
1612  {
1613  data << float(MaxRangedDamage);
1614  }
1615  if (changesMask[101])
1616  {
1617  data << float(ManaCostMultiplier);
1618  }
1619  if (changesMask[102])
1620  {
1621  data << float(MaxHealthModifier);
1622  }
1623  if (changesMask[103])
1624  {
1625  data << float(HoverHeight);
1626  }
1627  if (changesMask[104])
1628  {
1629  data << int32(MinItemLevelCutoff);
1630  }
1631  if (changesMask[105])
1632  {
1633  data << int32(MinItemLevel);
1634  }
1635  if (changesMask[106])
1636  {
1637  data << int32(MaxItemLevel);
1638  }
1639  if (changesMask[107])
1640  {
1641  data << int32(AzeriteItemLevel);
1642  }
1643  if (changesMask[108])
1644  {
1645  data << int32(WildBattlePetLevel);
1646  }
1647  if (changesMask[109])
1648  {
1650  }
1651  if (changesMask[110])
1652  {
1654  }
1655  if (changesMask[111])
1656  {
1657  data << int32(InteractSpellID);
1658  }
1659  if (changesMask[112])
1660  {
1661  data << int32(ScaleDuration);
1662  }
1663  if (changesMask[113])
1664  {
1665  data << int32(LooksLikeMountID);
1666  }
1667  if (changesMask[114])
1668  {
1669  data << int32(LooksLikeCreatureID);
1670  }
1671  if (changesMask[115])
1672  {
1673  data << int32(LookAtControllerID);
1674  }
1675  if (changesMask[116])
1676  {
1677  data << int32(TaxiNodesID);
1678  }
1679  if (changesMask[117])
1680  {
1681  data << GuildGUID;
1682  }
1683  if (changesMask[118])
1684  {
1685  data << SkinningOwnerGUID;
1686  }
1687  if (changesMask[119])
1688  {
1689  data << uint32(SilencedSchoolMask);
1690  }
1691  if (changesMask[120])
1692  {
1693  data << NameplateAttachToGUID;
1694  }
1695  }
1696  if (changesMask[121])
1697  {
1698  for (std::size_t i = 0; i < 2; ++i)
1699  {
1700  if (changesMask[122 + i])
1701  {
1702  data << uint32(ViewerDependentValue<NpcFlagsTag>::GetValue(this, i, owner, receiver));
1703  }
1704  }
1705  }
1706  if (changesMask[124])
1707  {
1708  for (std::size_t i = 0; i < 7; ++i)
1709  {
1710  if (changesMask[125 + i])
1711  {
1712  data << int32(Power[i]);
1713  }
1714  if (changesMask[132 + i])
1715  {
1716  data << int32(MaxPower[i]);
1717  }
1718  if (changesMask[139 + i])
1719  {
1720  data << float(PowerRegenFlatModifier[i]);
1721  }
1722  if (changesMask[146 + i])
1723  {
1724  data << float(PowerRegenInterruptedFlatModifier[i]);
1725  }
1726  }
1727  }
1728  if (changesMask[153])
1729  {
1730  for (std::size_t i = 0; i < 3; ++i)
1731  {
1732  if (changesMask[154 + i])
1733  {
1734  VirtualItems[i].WriteUpdate(data, ignoreNestedChangesMask, owner, receiver);
1735  }
1736  }
1737  }
1738  if (changesMask[157])
1739  {
1740  for (std::size_t i = 0; i < 2; ++i)
1741  {
1742  if (changesMask[158 + i])
1743  {
1744  data << uint32(AttackRoundBaseTime[i]);
1745  }
1746  }
1747  }
1748  if (changesMask[160])
1749  {
1750  for (std::size_t i = 0; i < 4; ++i)
1751  {
1752  if (changesMask[161 + i])
1753  {
1754  data << int32(Stats[i]);
1755  }
1756  if (changesMask[165 + i])
1757  {
1758  data << int32(StatPosBuff[i]);
1759  }
1760  if (changesMask[169 + i])
1761  {
1762  data << int32(StatNegBuff[i]);
1763  }
1764  }
1765  }
1766  if (changesMask[173])
1767  {
1768  for (std::size_t i = 0; i < 7; ++i)
1769  {
1770  if (changesMask[174 + i])
1771  {
1772  data << int32(Resistances[i]);
1773  }
1774  if (changesMask[181 + i])
1775  {
1776  data << int32(BonusResistanceMods[i]);
1777  }
1778  if (changesMask[188 + i])
1779  {
1780  data << int32(ManaCostModifier[i]);
1781  }
1782  }
1783  }
1784 }
UpdateField< uint32, 0, 7 > StateAnimID
Definition: UpdateFields.h:264
UpdateField< uint8, 0, 26 > PlayerClassId
Definition: UpdateFields.h:283
UpdateField< float, 64, 76 > ModTimeRate
Definition: UpdateFields.h:334
bool HasChanged(uint32 index) const
Definition: UpdateField.h:840
UpdateField< float, 64, 72 > ModSpellHaste
Definition: UpdateFields.h:330
UpdateField< float, 64, 92 > RangedAttackPowerMultiplier
Definition: UpdateFields.h:351
UpdateField< ObjectGuid, 0, 12 > Summon
Definition: UpdateFields.h:269
UpdateFieldArray< int32, 7, 124, 125 > Power
Definition: UpdateFields.h:381
UpdateFieldArray< float, 7, 124, 139 > PowerRegenFlatModifier
Definition: UpdateFields.h:383
UpdateField< uint32, 32, 45 > Flags3
Definition: UpdateFields.h:303
UpdateField< float, 64, 70 > ModCastingSpeed
Definition: UpdateFields.h:328
UpdateField< ObjectGuid, 0, 14 > CharmedBy
Definition: UpdateFields.h:271
UpdateField< int32, 96, 116 > TaxiNodesID
Definition: UpdateFields.h:374
UpdateField< int32, 64, 91 > RangedAttackPowerModNeg
Definition: UpdateFields.h:350
UpdateField< int32, 64, 90 > RangedAttackPowerModPos
Definition: UpdateFields.h:349
UpdateField< int32, 64, 94 > OffHandWeaponAttackPower
Definition: UpdateFields.h:353
UpdateField< int32, 96, 106 > MaxItemLevel
Definition: UpdateFields.h:364
UpdateField< int32, 64, 89 > RangedAttackPower
Definition: UpdateFields.h:348
UpdateFieldArray< float, 7, 124, 146 > PowerRegenInterruptedFlatModifier
Definition: UpdateFields.h:384
UpdateFieldArray< int32, 4, 160, 165 > StatPosBuff
Definition: UpdateFields.h:388
UpdateField< float, 96, 99 > MinRangedDamage
Definition: UpdateFields.h:357
int64_t int64
Definition: Define.h:147
UpdateField< UF::UnitChannel, 0, 22 > ChannelData
Definition: UpdateFields.h:279
UpdateField< float, 32, 57 > MinDamage
Definition: UpdateFields.h:316
UpdateField< uint8, 32, 62 > PetTalentPoints
Definition: UpdateFields.h:321
UpdateField< int32, 96, 115 > LookAtControllerID
Definition: UpdateFields.h:373
UpdateField< ObjectGuid, 0, 16 > CreatedBy
Definition: UpdateFields.h:273
UpdateField< float, 32, 59 > MinOffHandDamage
Definition: UpdateFields.h:318
Stats
Definition: SharedDefines.h:258
UpdateField< float, 64, 75 > ModHasteRegen
Definition: UpdateFields.h:333
UpdateField< uint64, 0, 21 > BattlePetDBID
Definition: UpdateFields.h:278
UpdateFieldArray< int32, 7, 173, 174 > Resistances
Definition: UpdateFields.h:390
UpdateField< uint32, 96, 110 > BattlePetCompanionNameTimestamp
Definition: UpdateFields.h:368
void FlushBits()
Definition: ByteBuffer.h:155
void WriteBits(std::size_t value, int32 bits)
Definition: ByteBuffer.h:203
UpdateField< int32, 96, 107 > AzeriteItemLevel
Definition: UpdateFields.h:365
UpdateField< int32, 32, 41 > ScalingDamageItemLevelCurveID
Definition: UpdateFields.h:297
UpdateField< int32, 32, 35 > ContentTuningID
Definition: UpdateFields.h:291
UpdateField< int32, 32, 33 > Level
Definition: UpdateFields.h:289
UpdateField< uint32, 96, 119 > SilencedSchoolMask
Definition: UpdateFields.h:377
UpdateField< std::vector< uint32 >, 0, 1 > StateWorldEffectIDs
Definition: UpdateFields.h:257
UpdateField< uint32, 64, 67 > PetNameTimestamp
Definition: UpdateFields.h:325
UpdateFieldArray< uint32, 2, 157, 158 > AttackRoundBaseTime
Definition: UpdateFields.h:386
UpdateField< float, 32, 60 > MaxOffHandDamage
Definition: UpdateFields.h:319
UpdateField< int32, 64, 80 > BaseHealth
Definition: UpdateFields.h:338
UpdateField< ObjectGuid, 0, 19 > Target
Definition: UpdateFields.h:276
UpdateField< int32, 64, 85 > AttackPower
Definition: UpdateFields.h:344
UpdateField< int32, 32, 40 > ScalingHealthItemLevelCurveID
Definition: UpdateFields.h:296
UpdateField< int32, 96, 114 > LooksLikeCreatureID
Definition: UpdateFields.h:372
UpdateField< uint32, 64, 66 > PetNumber
Definition: UpdateFields.h:324
UpdateField< int32, 64, 86 > AttackPowerModPos
Definition: UpdateFields.h:345
std::size_t size() const
Definition: UpdateField.h:811
UpdateField< uint32, 64, 68 > PetExperience
Definition: UpdateFields.h:326
UpdateField< float, 32, 58 > MaxDamage
Definition: UpdateFields.h:317
UpdateField< uint8, 0, 27 > Sex
Definition: UpdateFields.h:284
UpdateField< int32, 96, 111 > InteractSpellID
Definition: UpdateFields.h:369
UpdateField< float, 64, 73 > ModHaste
Definition: UpdateFields.h:331
UpdateField< int32, 32, 55 > MountDisplayID
Definition: UpdateFields.h:314
UpdateField< uint32, 0, 8 > StateAnimKitID
Definition: UpdateFields.h:265
UpdateField< uint32, 64, 69 > PetNextLevelExperience
Definition: UpdateFields.h:327
UpdateField< float, 96, 101 > ManaCostMultiplier
Definition: UpdateFields.h:359
UpdateField< float, 96, 102 > MaxHealthModifier
Definition: UpdateFields.h:360
UpdateField< float, 96, 103 > HoverHeight
Definition: UpdateFields.h:361
UpdateField< int32, 32, 34 > EffectiveLevel
Definition: UpdateFields.h:290
UpdateField< uint32, 0, 9 > StateWorldEffectsQuestObjectiveID
Definition: UpdateFields.h:266
UpdateFieldArray< int32, 4, 160, 169 > StatNegBuff
Definition: UpdateFields.h:389
UpdateField< int32, 64, 87 > AttackPowerModNeg
Definition: UpdateFields.h:346
UpdateField< uint8, 0, 24 > Race
Definition: UpdateFields.h:281
UpdateField< int64, 0, 31 > MaxHealth
Definition: UpdateFields.h:288
UpdateField< uint32, 32, 44 > Flags2
Definition: UpdateFields.h:302
UpdateField< int32, 64, 79 > BaseMana
Definition: UpdateFields.h:337
int32_t int32
Definition: Define.h:148
UpdateField< int64, 0, 30 > Health
Definition: UpdateFields.h:287
UpdateFieldArray< int32, 7, 173, 188 > ManaCostModifier
Definition: UpdateFields.h:392
DynamicUpdateField< ObjectGuid, 0, 4 > ChannelObjects
Definition: UpdateFields.h:260
uint32_t uint32
Definition: Define.h:152
uint64_t uint64
Definition: Define.h:151
UpdateField< int32, 32, 36 > ScalingLevelMin
Definition: UpdateFields.h:292
ShapeshiftForm
Definition: SpellAuraDefines.h:610
UpdateField< int32, 64, 93 > MainHandWeaponAttackPower
Definition: UpdateFields.h:352
UpdateField< float, 64, 74 > ModRangedHaste
Definition: UpdateFields.h:332
UpdateField< int32, 32, 38 > ScalingLevelDelta
Definition: UpdateFields.h:294
UpdateField< float, 32, 49 > CombatReach
Definition: UpdateFields.h:308
UpdateField< ObjectGuid, 0, 18 > LookAtControllerTarget
Definition: UpdateFields.h:275
UpdateField< int32, 0, 10 > SpellOverrideNameID
Definition: UpdateFields.h:267
UpdateField< int32, 96, 108 > WildBattlePetLevel
Definition: UpdateFields.h:366
UpdateField< int32, 64, 78 > EmoteState
Definition: UpdateFields.h:336
UpdateField< int32, 32, 56 > CosmeticMountDisplayID
Definition: UpdateFields.h:315
UpdateField< float, 96, 100 > MaxRangedDamage
Definition: UpdateFields.h:358
UpdateField< uint8, 32, 61 > StandState
Definition: UpdateFields.h:320
UpdateField< ObjectGuid, 0, 20 > BattlePetCompanionGUID
Definition: UpdateFields.h:277
UpdateField< int32, 96, 113 > LooksLikeMountID
Definition: UpdateFields.h:371
UpdateFieldArray< int32, 7, 124, 132 > MaxPower
Definition: UpdateFields.h:382
UpdateField< int32, 64, 77 > CreatedBySpell
Definition: UpdateFields.h:335
UpdateField< int32, 32, 37 > ScalingLevelMax
Definition: UpdateFields.h:293
UpdateField< uint8, 64, 83 > PetFlags
Definition: UpdateFields.h:342
UpdateField< float, 32, 50 > DisplayScale
Definition: UpdateFields.h:309
UpdateField< int32, 32, 39 > ScalingFactionGroup
Definition: UpdateFields.h:295
UpdateField< int32, 64, 95 > RangedWeaponAttackPower
Definition: UpdateFields.h:354
UpdateField< uint8, 0, 25 > ClassId
Definition: UpdateFields.h:282
UpdateField< ObjectGuid, 96, 120 > NameplateAttachToGUID
Definition: UpdateFields.h:378
UpdateFieldArray< int32, 7, 173, 181 > BonusResistanceMods
Definition: UpdateFields.h:391
UpdateField< float, 32, 48 > BoundingRadius
Definition: UpdateFields.h:307
UpdateField< uint8, 32, 63 > VisFlags
Definition: UpdateFields.h:322
UpdateField< ObjectGuid, 0, 11 > Charm
Definition: UpdateFields.h:268
UpdateField< int32, 96, 105 > MinItemLevel
Definition: UpdateFields.h:363
UpdateField< ObjectGuid, 96, 117 > GuildGUID
Definition: UpdateFields.h:375
UpdateField< ObjectGuid, 96, 118 > SkinningOwnerGUID
Definition: UpdateFields.h:376
UpdateField< int32, 96, 112 > ScaleDuration
Definition: UpdateFields.h:370
UpdateField< uint8, 64, 65 > AnimTier
Definition: UpdateFields.h:323
UpdateField< ObjectGuid, 0, 15 > SummonedBy
Definition: UpdateFields.h:272
UpdateField< uint8, 64, 81 > SheatheState
Definition: UpdateFields.h:339
UpdateField< int32, 96, 109 > BattlePetCompanionExperience
Definition: UpdateFields.h:367
uint8_t uint8
Definition: Define.h:154
UpdateField< float, 96, 98 > Lifesteal
Definition: UpdateFields.h:356
UpdateField< int32, 96, 97 > SetAttackSpeedAura
Definition: UpdateFields.h:355
CreatureFamily
Definition: SharedDefines.h:4427
UpdateField< uint32, 0, 23 > SummonedByHomeRealm
Definition: UpdateFields.h:280
UpdateFieldArray< UF::VisibleItem, 3, 153, 154 > VirtualItems
Definition: UpdateFields.h:385
UpdateField< uint8, 0, 28 > DisplayPower
Definition: UpdateFields.h:285
UpdateField< int32, 96, 104 > MinItemLevelCutoff
Definition: UpdateFields.h:362
UpdateField< float, 32, 54 > NativeXDisplayScale
Definition: UpdateFields.h:313
UpdateField< uint32, 0, 29 > OverrideDisplayPowerID
Definition: UpdateFields.h:286
UpdateField< float, 64, 71 > ModCastingSpeedNeg
Definition: UpdateFields.h:329
UpdateField< ObjectGuid, 0, 13 > Critter
Definition: UpdateFields.h:270
UpdateField< uint32, 32, 47 > RangedAttackRoundBaseTime
Definition: UpdateFields.h:306
DynamicUpdateField< int32, 0, 3 > WorldEffects
Definition: UpdateFields.h:259
void WriteUpdateMask(ByteBuffer &data, int32 bitsForSize=32) const
Definition: UpdateField.h:845
void WriteCompleteDynamicFieldUpdateMask(std::size_t size, ByteBuffer &data, int32 bitsForSize=32)
Definition: UpdateField.cpp:43
DynamicUpdateField< UF::PassiveSpellHistory, 0, 2 > PassiveSpells
Definition: UpdateFields.h:258
UpdateField< float, 64, 88 > AttackPowerMultiplier
Definition: UpdateFields.h:347
UpdateField< uint32, 0, 6 > StateSpellVisualID
Definition: UpdateFields.h:263
CreatureType
Definition: SharedDefines.h:4403
UpdateField< int32, 32, 53 > NativeDisplayID
Definition: UpdateFields.h:312
UpdateField< ObjectGuid, 0, 17 > DemonCreator
Definition: UpdateFields.h:274
+ Here is the call graph for this function:

Member Data Documentation

◆ AnimTier

UpdateField<uint8, 64, 65> UF::UnitData::AnimTier

◆ AttackPower

UpdateField<int32, 64, 85> UF::UnitData::AttackPower

◆ AttackPowerModNeg

UpdateField<int32, 64, 87> UF::UnitData::AttackPowerModNeg

◆ AttackPowerModPos

UpdateField<int32, 64, 86> UF::UnitData::AttackPowerModPos

◆ AttackPowerMultiplier

UpdateField<float, 64, 88> UF::UnitData::AttackPowerMultiplier

◆ AttackRoundBaseTime

UpdateFieldArray<uint32, 2, 157, 158> UF::UnitData::AttackRoundBaseTime

◆ AuraState

UpdateField<uint32, 32, 46> UF::UnitData::AuraState

◆ AzeriteItemLevel

UpdateField<int32, 96, 107> UF::UnitData::AzeriteItemLevel

◆ BaseHealth

UpdateField<int32, 64, 80> UF::UnitData::BaseHealth

◆ BaseMana

UpdateField<int32, 64, 79> UF::UnitData::BaseMana

◆ BattlePetCompanionExperience

UpdateField<int32, 96, 109> UF::UnitData::BattlePetCompanionExperience

◆ BattlePetCompanionGUID

UpdateField<ObjectGuid, 0, 20> UF::UnitData::BattlePetCompanionGUID

◆ BattlePetCompanionNameTimestamp

UpdateField<uint32, 96, 110> UF::UnitData::BattlePetCompanionNameTimestamp

◆ BattlePetDBID

UpdateField<uint64, 0, 21> UF::UnitData::BattlePetDBID

◆ BonusResistanceMods

UpdateFieldArray<int32, 7, 173, 181> UF::UnitData::BonusResistanceMods

◆ BoundingRadius

UpdateField<float, 32, 48> UF::UnitData::BoundingRadius

◆ ChannelData

UpdateField<UF::UnitChannel, 0, 22> UF::UnitData::ChannelData

◆ ChannelObjects

DynamicUpdateField<ObjectGuid, 0, 4> UF::UnitData::ChannelObjects

◆ Charm

UpdateField<ObjectGuid, 0, 11> UF::UnitData::Charm

◆ CharmedBy

UpdateField<ObjectGuid, 0, 14> UF::UnitData::CharmedBy

◆ ClassId

UpdateField<uint8, 0, 25> UF::UnitData::ClassId

◆ CombatReach

UpdateField<float, 32, 49> UF::UnitData::CombatReach

◆ ContentTuningID

UpdateField<int32, 32, 35> UF::UnitData::ContentTuningID

◆ CosmeticMountDisplayID

UpdateField<int32, 32, 56> UF::UnitData::CosmeticMountDisplayID

◆ CreatedBy

UpdateField<ObjectGuid, 0, 16> UF::UnitData::CreatedBy

◆ CreatedBySpell

UpdateField<int32, 64, 77> UF::UnitData::CreatedBySpell

◆ CreatureFamily

UpdateField<int32, 32, 51> UF::UnitData::CreatureFamily

◆ CreatureType

UpdateField<int32, 32, 52> UF::UnitData::CreatureType

◆ Critter

UpdateField<ObjectGuid, 0, 13> UF::UnitData::Critter

◆ DemonCreator

UpdateField<ObjectGuid, 0, 17> UF::UnitData::DemonCreator

◆ DisplayID

UpdateField<int32, 0, 5> UF::UnitData::DisplayID

◆ DisplayPower

UpdateField<uint8, 0, 28> UF::UnitData::DisplayPower

◆ DisplayScale

UpdateField<float, 32, 50> UF::UnitData::DisplayScale

◆ EffectiveLevel

UpdateField<int32, 32, 34> UF::UnitData::EffectiveLevel

◆ EmoteState

UpdateField<int32, 64, 78> UF::UnitData::EmoteState

◆ FactionTemplate

UpdateField<int32, 32, 42> UF::UnitData::FactionTemplate

◆ Flags

UpdateField<uint32, 32, 43> UF::UnitData::Flags

◆ Flags2

UpdateField<uint32, 32, 44> UF::UnitData::Flags2

◆ Flags3

UpdateField<uint32, 32, 45> UF::UnitData::Flags3

◆ GuildGUID

UpdateField<ObjectGuid, 96, 117> UF::UnitData::GuildGUID

◆ Health

UpdateField<int64, 0, 30> UF::UnitData::Health

◆ HoverHeight

UpdateField<float, 96, 103> UF::UnitData::HoverHeight

◆ InteractSpellID

UpdateField<int32, 96, 111> UF::UnitData::InteractSpellID

◆ Level

UpdateField<int32, 32, 33> UF::UnitData::Level

◆ Lifesteal

UpdateField<float, 96, 98> UF::UnitData::Lifesteal

◆ LookAtControllerID

UpdateField<int32, 96, 115> UF::UnitData::LookAtControllerID

◆ LookAtControllerTarget

UpdateField<ObjectGuid, 0, 18> UF::UnitData::LookAtControllerTarget

◆ LooksLikeCreatureID

UpdateField<int32, 96, 114> UF::UnitData::LooksLikeCreatureID

◆ LooksLikeMountID

UpdateField<int32, 96, 113> UF::UnitData::LooksLikeMountID

◆ MainHandWeaponAttackPower

UpdateField<int32, 64, 93> UF::UnitData::MainHandWeaponAttackPower

◆ ManaCostModifier

UpdateFieldArray<int32, 7, 173, 188> UF::UnitData::ManaCostModifier

◆ ManaCostMultiplier

UpdateField<float, 96, 101> UF::UnitData::ManaCostMultiplier

◆ MaxDamage

UpdateField<float, 32, 58> UF::UnitData::MaxDamage

◆ MaxHealth

UpdateField<int64, 0, 31> UF::UnitData::MaxHealth

◆ MaxHealthModifier

UpdateField<float, 96, 102> UF::UnitData::MaxHealthModifier

◆ MaxItemLevel

UpdateField<int32, 96, 106> UF::UnitData::MaxItemLevel

◆ MaxOffHandDamage

UpdateField<float, 32, 60> UF::UnitData::MaxOffHandDamage

◆ MaxPower

UpdateFieldArray<int32, 7, 124, 132> UF::UnitData::MaxPower

◆ MaxRangedDamage

UpdateField<float, 96, 100> UF::UnitData::MaxRangedDamage

◆ MinDamage

UpdateField<float, 32, 57> UF::UnitData::MinDamage

◆ MinItemLevel

UpdateField<int32, 96, 105> UF::UnitData::MinItemLevel

◆ MinItemLevelCutoff

UpdateField<int32, 96, 104> UF::UnitData::MinItemLevelCutoff

◆ MinOffHandDamage

UpdateField<float, 32, 59> UF::UnitData::MinOffHandDamage

◆ MinRangedDamage

UpdateField<float, 96, 99> UF::UnitData::MinRangedDamage

◆ ModCastingSpeed

UpdateField<float, 64, 70> UF::UnitData::ModCastingSpeed

◆ ModCastingSpeedNeg

UpdateField<float, 64, 71> UF::UnitData::ModCastingSpeedNeg

◆ ModHaste

UpdateField<float, 64, 73> UF::UnitData::ModHaste

◆ ModHasteRegen

UpdateField<float, 64, 75> UF::UnitData::ModHasteRegen

◆ ModRangedHaste

UpdateField<float, 64, 74> UF::UnitData::ModRangedHaste

◆ ModSpellHaste

UpdateField<float, 64, 72> UF::UnitData::ModSpellHaste

◆ ModTimeRate

UpdateField<float, 64, 76> UF::UnitData::ModTimeRate

◆ MountDisplayID

UpdateField<int32, 32, 55> UF::UnitData::MountDisplayID

◆ NameplateAttachToGUID

UpdateField<ObjectGuid, 96, 120> UF::UnitData::NameplateAttachToGUID

◆ NativeDisplayID

UpdateField<int32, 32, 53> UF::UnitData::NativeDisplayID

◆ NativeXDisplayScale

UpdateField<float, 32, 54> UF::UnitData::NativeXDisplayScale

◆ NpcFlags

UpdateFieldArray<uint32, 2, 121, 122> UF::UnitData::NpcFlags

◆ OffHandWeaponAttackPower

UpdateField<int32, 64, 94> UF::UnitData::OffHandWeaponAttackPower

◆ OverrideDisplayPowerID

UpdateField<uint32, 0, 29> UF::UnitData::OverrideDisplayPowerID

◆ PassiveSpells

DynamicUpdateField<UF::PassiveSpellHistory, 0, 2> UF::UnitData::PassiveSpells

◆ PetExperience

UpdateField<uint32, 64, 68> UF::UnitData::PetExperience

◆ PetFlags

UpdateField<uint8, 64, 83> UF::UnitData::PetFlags

◆ PetNameTimestamp

UpdateField<uint32, 64, 67> UF::UnitData::PetNameTimestamp

◆ PetNextLevelExperience

UpdateField<uint32, 64, 69> UF::UnitData::PetNextLevelExperience

◆ PetNumber

UpdateField<uint32, 64, 66> UF::UnitData::PetNumber

◆ PetTalentPoints

UpdateField<uint8, 32, 62> UF::UnitData::PetTalentPoints

◆ PlayerClassId

UpdateField<uint8, 0, 26> UF::UnitData::PlayerClassId

◆ Power

UpdateFieldArray<int32, 7, 124, 125> UF::UnitData::Power

◆ PowerRegenFlatModifier

UpdateFieldArray<float, 7, 124, 139> UF::UnitData::PowerRegenFlatModifier

◆ PowerRegenInterruptedFlatModifier

UpdateFieldArray<float, 7, 124, 146> UF::UnitData::PowerRegenInterruptedFlatModifier

◆ PvpFlags

UpdateField<uint8, 64, 82> UF::UnitData::PvpFlags

◆ Race

UpdateField<uint8, 0, 24> UF::UnitData::Race

◆ RangedAttackPower

UpdateField<int32, 64, 89> UF::UnitData::RangedAttackPower

◆ RangedAttackPowerModNeg

UpdateField<int32, 64, 91> UF::UnitData::RangedAttackPowerModNeg

◆ RangedAttackPowerModPos

UpdateField<int32, 64, 90> UF::UnitData::RangedAttackPowerModPos

◆ RangedAttackPowerMultiplier

UpdateField<float, 64, 92> UF::UnitData::RangedAttackPowerMultiplier

◆ RangedAttackRoundBaseTime

UpdateField<uint32, 32, 47> UF::UnitData::RangedAttackRoundBaseTime

◆ RangedWeaponAttackPower

UpdateField<int32, 64, 95> UF::UnitData::RangedWeaponAttackPower

◆ Resistances

UpdateFieldArray<int32, 7, 173, 174> UF::UnitData::Resistances

◆ ScaleDuration

UpdateField<int32, 96, 112> UF::UnitData::ScaleDuration

◆ ScalingDamageItemLevelCurveID

UpdateField<int32, 32, 41> UF::UnitData::ScalingDamageItemLevelCurveID

◆ ScalingFactionGroup

UpdateField<int32, 32, 39> UF::UnitData::ScalingFactionGroup

◆ ScalingHealthItemLevelCurveID

UpdateField<int32, 32, 40> UF::UnitData::ScalingHealthItemLevelCurveID

◆ ScalingLevelDelta

UpdateField<int32, 32, 38> UF::UnitData::ScalingLevelDelta

◆ ScalingLevelMax

UpdateField<int32, 32, 37> UF::UnitData::ScalingLevelMax

◆ ScalingLevelMin

UpdateField<int32, 32, 36> UF::UnitData::ScalingLevelMin

◆ SetAttackSpeedAura

UpdateField<int32, 96, 97> UF::UnitData::SetAttackSpeedAura

◆ Sex

UpdateField<uint8, 0, 27> UF::UnitData::Sex

◆ ShapeshiftForm

UpdateField<uint8, 64, 84> UF::UnitData::ShapeshiftForm

◆ SheatheState

UpdateField<uint8, 64, 81> UF::UnitData::SheatheState

◆ SilencedSchoolMask

UpdateField<uint32, 96, 119> UF::UnitData::SilencedSchoolMask

◆ SkinningOwnerGUID

UpdateField<ObjectGuid, 96, 118> UF::UnitData::SkinningOwnerGUID

◆ SpellOverrideNameID

UpdateField<int32, 0, 10> UF::UnitData::SpellOverrideNameID

◆ StandState

UpdateField<uint8, 32, 61> UF::UnitData::StandState

◆ StateAnimID

UpdateField<uint32, 0, 7> UF::UnitData::StateAnimID

◆ StateAnimKitID

UpdateField<uint32, 0, 8> UF::UnitData::StateAnimKitID

◆ StateSpellVisualID

UpdateField<uint32, 0, 6> UF::UnitData::StateSpellVisualID

◆ StateWorldEffectIDs

UpdateField<std::vector<uint32>, 0, 1> UF::UnitData::StateWorldEffectIDs

◆ StateWorldEffectsQuestObjectiveID

UpdateField<uint32, 0, 9> UF::UnitData::StateWorldEffectsQuestObjectiveID

◆ StatNegBuff

UpdateFieldArray<int32, 4, 160, 169> UF::UnitData::StatNegBuff

◆ StatPosBuff

UpdateFieldArray<int32, 4, 160, 165> UF::UnitData::StatPosBuff

◆ Stats

UpdateFieldArray<int32, 4, 160, 161> UF::UnitData::Stats

◆ Summon

UpdateField<ObjectGuid, 0, 12> UF::UnitData::Summon

◆ SummonedBy

UpdateField<ObjectGuid, 0, 15> UF::UnitData::SummonedBy

◆ SummonedByHomeRealm

UpdateField<uint32, 0, 23> UF::UnitData::SummonedByHomeRealm

◆ Target

UpdateField<ObjectGuid, 0, 19> UF::UnitData::Target

◆ TaxiNodesID

UpdateField<int32, 96, 116> UF::UnitData::TaxiNodesID

◆ VirtualItems

UpdateFieldArray<UF::VisibleItem, 3, 153, 154> UF::UnitData::VirtualItems

◆ VisFlags

UpdateField<uint8, 32, 63> UF::UnitData::VisFlags

◆ WildBattlePetLevel

UpdateField<int32, 96, 108> UF::UnitData::WildBattlePetLevel

◆ WorldEffects

DynamicUpdateField<int32, 0, 3> UF::UnitData::WorldEffects

The documentation for this struct was generated from the following files: