Core/Entities: Updated updatefields to 7.0.1.20810
This commit is contained in:
@@ -546,7 +546,7 @@ inline void Battleground::_ProcessJoin(uint32 diff)
|
||||
player->SendDirectMessage(battlefieldStatus.Write());
|
||||
|
||||
// Correctly display EnemyUnitFrame
|
||||
player->SetByteValue(PLAYER_BYTES_3, PLAYER_BYTES_3_OFFSET_ARENA_FACTION, player->GetBGTeam());
|
||||
player->SetByteValue(PLAYER_BYTES_4, PLAYER_BYTES_4_OFFSET_ARENA_FACTION, player->GetBGTeam());
|
||||
|
||||
player->RemoveAurasDueToSpell(SPELL_ARENA_PREPARATION);
|
||||
player->ResetAllPowers();
|
||||
|
||||
@@ -101,6 +101,8 @@ uint32 ItemUpdateFieldFlags[CONTAINER_END] =
|
||||
UF_FLAG_PUBLIC, // ITEM_FIELD_CREATE_PLAYED_TIME
|
||||
UF_FLAG_OWNER, // ITEM_FIELD_MODIFIERS_MASK
|
||||
UF_FLAG_PUBLIC, // ITEM_FIELD_CONTEXT
|
||||
UF_FLAG_OWNER, // ITEM_FIELD_ARTIFACT_XP
|
||||
UF_FLAG_OWNER, // ITEM_FIELD_APPEARANCE_MOD_ID
|
||||
UF_FLAG_PUBLIC, // CONTAINER_FIELD_SLOT_1
|
||||
UF_FLAG_PUBLIC, // CONTAINER_FIELD_SLOT_1+1
|
||||
UF_FLAG_PUBLIC, // CONTAINER_FIELD_SLOT_1+2
|
||||
@@ -252,6 +254,8 @@ uint32 ItemDynamicUpdateFieldFlags[CONTAINER_DYNAMIC_END] =
|
||||
{
|
||||
UF_FLAG_OWNER, // ITEM_DYNAMIC_FIELD_MODIFIERS
|
||||
UF_FLAG_OWNER | UF_FLAG_0x100, // ITEM_DYNAMIC_FIELD_BONUSLIST_IDS
|
||||
UF_FLAG_OWNER, // ITEM_DYNAMIC_FIELD_ARTIFACT_POWERS
|
||||
UF_FLAG_OWNER, // ITEM_DYNAMIC_FIELD_GEMS
|
||||
};
|
||||
|
||||
uint32 UnitUpdateFieldFlags[PLAYER_END] =
|
||||
@@ -344,6 +348,9 @@ uint32 UnitUpdateFieldFlags[PLAYER_END] =
|
||||
UF_FLAG_PRIVATE | UF_FLAG_OWNER | UF_FLAG_UNIT_ALL, // UNIT_FIELD_POWER_REGEN_INTERRUPTED_FLAT_MODIFIER+5
|
||||
UF_FLAG_PUBLIC, // UNIT_FIELD_LEVEL
|
||||
UF_FLAG_PUBLIC, // UNIT_FIELD_EFFECTIVE_LEVEL
|
||||
UF_FLAG_PUBLIC, // UNIT_FIELD_SCALING_LEVEL_MIN
|
||||
UF_FLAG_PUBLIC, // UNIT_FIELD_SCALING_LEVEL_MAX
|
||||
UF_FLAG_PUBLIC, // UNIT_FIELD_SCALING_LEVEL_DELTA
|
||||
UF_FLAG_PUBLIC, // UNIT_FIELD_FACTIONTEMPLATE
|
||||
UF_FLAG_PUBLIC, // UNIT_VIRTUAL_ITEM_SLOT_ID
|
||||
UF_FLAG_PUBLIC, // UNIT_VIRTUAL_ITEM_SLOT_ID+1
|
||||
@@ -377,6 +384,7 @@ uint32 UnitUpdateFieldFlags[PLAYER_END] =
|
||||
UF_FLAG_PUBLIC, // UNIT_FIELD_MOD_HASTE
|
||||
UF_FLAG_PUBLIC, // UNIT_FIELD_MOD_RANGED_HASTE
|
||||
UF_FLAG_PUBLIC, // UNIT_FIELD_MOD_HASTE_REGEN
|
||||
UF_FLAG_PUBLIC, // UNIT_FIELD_MOD_TIME_RATE
|
||||
UF_FLAG_PUBLIC, // UNIT_CREATED_BY_SPELL
|
||||
UF_FLAG_PUBLIC | UF_FLAG_DYNAMIC, // UNIT_NPC_FLAGS
|
||||
UF_FLAG_PUBLIC | UF_FLAG_DYNAMIC, // UNIT_NPC_FLAGS+1
|
||||
@@ -488,6 +496,7 @@ uint32 UnitUpdateFieldFlags[PLAYER_END] =
|
||||
UF_FLAG_PUBLIC, // PLAYER_BYTES
|
||||
UF_FLAG_PUBLIC, // PLAYER_BYTES_2
|
||||
UF_FLAG_PUBLIC, // PLAYER_BYTES_3
|
||||
UF_FLAG_PUBLIC, // PLAYER_BYTES_4
|
||||
UF_FLAG_PUBLIC, // PLAYER_DUEL_TEAM
|
||||
UF_FLAG_PUBLIC, // PLAYER_GUILD_TIMESTAMP
|
||||
UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG
|
||||
@@ -1288,6 +1297,8 @@ uint32 UnitUpdateFieldFlags[PLAYER_END] =
|
||||
UF_FLAG_PUBLIC, // PLAYER_FIELD_AVG_ITEM_LEVEL+2
|
||||
UF_FLAG_PUBLIC, // PLAYER_FIELD_AVG_ITEM_LEVEL+3
|
||||
UF_FLAG_PUBLIC, // PLAYER_FIELD_CURRENT_BATTLE_PET_BREED_QUALITY
|
||||
UF_FLAG_PUBLIC, // PLAYER_FIELD_PRESTIGE
|
||||
UF_FLAG_PUBLIC, // PLAYER_FIELD_HONOR_LEVEL
|
||||
UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD
|
||||
UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+1
|
||||
UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+2
|
||||
@@ -2024,6 +2035,18 @@ uint32 UnitUpdateFieldFlags[PLAYER_END] =
|
||||
UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+733
|
||||
UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+734
|
||||
UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+735
|
||||
UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+736
|
||||
UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+737
|
||||
UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+738
|
||||
UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+739
|
||||
UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+740
|
||||
UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+741
|
||||
UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+742
|
||||
UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+743
|
||||
UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+744
|
||||
UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+745
|
||||
UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+746
|
||||
UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+747
|
||||
UF_FLAG_PRIVATE, // PLAYER_FARSIGHT
|
||||
UF_FLAG_PRIVATE, // PLAYER_FARSIGHT+1
|
||||
UF_FLAG_PRIVATE, // PLAYER_FARSIGHT+2
|
||||
@@ -2507,24 +2530,13 @@ uint32 UnitUpdateFieldFlags[PLAYER_END] =
|
||||
UF_FLAG_PRIVATE, // PLAYER_RANGED_CRIT_PERCENTAGE
|
||||
UF_FLAG_PRIVATE, // PLAYER_OFFHAND_CRIT_PERCENTAGE
|
||||
UF_FLAG_PRIVATE, // PLAYER_SPELL_CRIT_PERCENTAGE1
|
||||
UF_FLAG_PRIVATE, // PLAYER_SPELL_CRIT_PERCENTAGE1+1
|
||||
UF_FLAG_PRIVATE, // PLAYER_SPELL_CRIT_PERCENTAGE1+2
|
||||
UF_FLAG_PRIVATE, // PLAYER_SPELL_CRIT_PERCENTAGE1+3
|
||||
UF_FLAG_PRIVATE, // PLAYER_SPELL_CRIT_PERCENTAGE1+4
|
||||
UF_FLAG_PRIVATE, // PLAYER_SPELL_CRIT_PERCENTAGE1+5
|
||||
UF_FLAG_PRIVATE, // PLAYER_SPELL_CRIT_PERCENTAGE1+6
|
||||
UF_FLAG_PRIVATE, // PLAYER_SHIELD_BLOCK
|
||||
UF_FLAG_PRIVATE, // PLAYER_SHIELD_BLOCK_CRIT_PERCENTAGE
|
||||
UF_FLAG_PRIVATE, // PLAYER_MASTERY
|
||||
UF_FLAG_PRIVATE, // PLAYER_AMPLIFY
|
||||
UF_FLAG_PRIVATE, // PLAYER_MULTISTRIKE
|
||||
UF_FLAG_PRIVATE, // PLAYER_MULTISTRIKE_EFFECT
|
||||
UF_FLAG_PRIVATE, // PLAYER_READINESS
|
||||
UF_FLAG_PRIVATE, // PLAYER_SPEED
|
||||
UF_FLAG_PRIVATE, // PLAYER_LIFESTEAL
|
||||
UF_FLAG_PRIVATE, // PLAYER_AVOIDANCE
|
||||
UF_FLAG_PRIVATE, // PLAYER_STURDINESS
|
||||
UF_FLAG_PRIVATE, // PLAYER_CLEAVE
|
||||
UF_FLAG_PRIVATE, // PLAYER_VERSATILITY
|
||||
UF_FLAG_PRIVATE, // PLAYER_VERSATILITY_BONUS
|
||||
UF_FLAG_PRIVATE, // PLAYER_FIELD_PVP_POWER_DAMAGE
|
||||
@@ -2785,7 +2797,10 @@ uint32 UnitUpdateFieldFlags[PLAYER_END] =
|
||||
UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+253
|
||||
UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+254
|
||||
UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+255
|
||||
UF_FLAG_PRIVATE, // PLAYER_REST_STATE_EXPERIENCE
|
||||
UF_FLAG_PRIVATE, // PLAYER_FIELD_REST_INFO
|
||||
UF_FLAG_PRIVATE, // PLAYER_FIELD_REST_INFO+1
|
||||
UF_FLAG_PRIVATE, // PLAYER_FIELD_REST_INFO+2
|
||||
UF_FLAG_PRIVATE, // PLAYER_FIELD_REST_INFO+3
|
||||
UF_FLAG_PRIVATE, // PLAYER_FIELD_MOD_DAMAGE_DONE_POS
|
||||
UF_FLAG_PRIVATE, // PLAYER_FIELD_MOD_DAMAGE_DONE_POS+1
|
||||
UF_FLAG_PRIVATE, // PLAYER_FIELD_MOD_DAMAGE_DONE_POS+2
|
||||
@@ -2923,27 +2938,11 @@ uint32 UnitUpdateFieldFlags[PLAYER_END] =
|
||||
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_MAX_LEVEL
|
||||
UF_FLAG_PRIVATE, // PLAYER_RUNE_REGEN_1
|
||||
UF_FLAG_PRIVATE, // PLAYER_RUNE_REGEN_1+1
|
||||
UF_FLAG_PRIVATE, // PLAYER_RUNE_REGEN_1+2
|
||||
UF_FLAG_PRIVATE, // PLAYER_RUNE_REGEN_1+3
|
||||
UF_FLAG_PRIVATE, // PLAYER_FIELD_SCALING_PLAYER_LEVEL_DELTA
|
||||
UF_FLAG_PRIVATE, // PLAYER_NO_REAGENT_COST_1
|
||||
UF_FLAG_PRIVATE, // PLAYER_NO_REAGENT_COST_1+1
|
||||
UF_FLAG_PRIVATE, // PLAYER_NO_REAGENT_COST_1+2
|
||||
UF_FLAG_PRIVATE, // PLAYER_NO_REAGENT_COST_1+3
|
||||
UF_FLAG_PRIVATE, // PLAYER_FIELD_GLYPH_SLOTS_1
|
||||
UF_FLAG_PRIVATE, // PLAYER_FIELD_GLYPH_SLOTS_1+1
|
||||
UF_FLAG_PRIVATE, // PLAYER_FIELD_GLYPH_SLOTS_1+2
|
||||
UF_FLAG_PRIVATE, // PLAYER_FIELD_GLYPH_SLOTS_1+3
|
||||
UF_FLAG_PRIVATE, // PLAYER_FIELD_GLYPH_SLOTS_1+4
|
||||
UF_FLAG_PRIVATE, // PLAYER_FIELD_GLYPH_SLOTS_1+5
|
||||
UF_FLAG_PRIVATE, // PLAYER_FIELD_GLYPHS_1
|
||||
UF_FLAG_PRIVATE, // PLAYER_FIELD_GLYPHS_1+1
|
||||
UF_FLAG_PRIVATE, // PLAYER_FIELD_GLYPHS_1+2
|
||||
UF_FLAG_PRIVATE, // PLAYER_FIELD_GLYPHS_1+3
|
||||
UF_FLAG_PRIVATE, // PLAYER_FIELD_GLYPHS_1+4
|
||||
UF_FLAG_PRIVATE, // PLAYER_FIELD_GLYPHS_1+5
|
||||
UF_FLAG_PRIVATE, // PLAYER_GLYPHS_ENABLED
|
||||
UF_FLAG_PRIVATE, // PLAYER_PET_SPELL_POWER
|
||||
UF_FLAG_PRIVATE, // PLAYER_FIELD_RESEARCHING_1
|
||||
UF_FLAG_PRIVATE, // PLAYER_FIELD_RESEARCHING_1+1
|
||||
@@ -2969,7 +2968,6 @@ uint32 UnitUpdateFieldFlags[PLAYER_END] =
|
||||
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
|
||||
UF_FLAG_PRIVATE, // PLAYER_FIELD_ITEM_LEVEL_DELTA
|
||||
UF_FLAG_PRIVATE, // PLAYER_FIELD_BAG_SLOT_FLAGS
|
||||
UF_FLAG_PRIVATE, // PLAYER_FIELD_BAG_SLOT_FLAGS+1
|
||||
UF_FLAG_PRIVATE, // PLAYER_FIELD_BAG_SLOT_FLAGS+2
|
||||
@@ -3857,6 +3855,8 @@ 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_HONOR
|
||||
UF_FLAG_PRIVATE, // PLAYER_FIELD_HONOR_NEXT_LEVEL
|
||||
};
|
||||
|
||||
uint32 UnitDynamicUpdateFieldFlags[PLAYER_DYNAMIC_END] =
|
||||
@@ -3870,6 +3870,8 @@ uint32 UnitDynamicUpdateFieldFlags[PLAYER_DYNAMIC_END] =
|
||||
UF_FLAG_PRIVATE, // PLAYER_DYNAMIC_FIELD_HEIRLOOMS
|
||||
UF_FLAG_PRIVATE, // PLAYER_DYNAMIC_FIELD_HEIRLOOM_FLAGS
|
||||
UF_FLAG_PRIVATE, // PLAYER_DYNAMIC_FIELD_TOYS
|
||||
UF_FLAG_PRIVATE, // PLAYER_DYNAMIC_FIELD_TRANSMOG
|
||||
UF_FLAG_PRIVATE, // PLAYER_DYNAMIC_FIELD_CONDITIONAL_TRANSMOG
|
||||
};
|
||||
|
||||
uint32 GameObjectUpdateFieldFlags[GAMEOBJECT_END] =
|
||||
@@ -3985,6 +3987,7 @@ uint32 CorpseUpdateFieldFlags[CORPSE_END] =
|
||||
UF_FLAG_PUBLIC, // CORPSE_FIELD_FLAGS
|
||||
UF_FLAG_DYNAMIC, // CORPSE_FIELD_DYNAMIC_FLAGS
|
||||
UF_FLAG_PUBLIC, // CORPSE_FIELD_FACTIONTEMPLATE
|
||||
UF_FLAG_PUBLIC, // CORPSE_FIELD_CUSTOM_DISPLAY_OPTION
|
||||
};
|
||||
|
||||
uint32 AreaTriggerUpdateFieldFlags[AREATRIGGER_END] =
|
||||
@@ -4008,16 +4011,25 @@ uint32 AreaTriggerUpdateFieldFlags[AREATRIGGER_END] =
|
||||
UF_FLAG_PUBLIC | UF_FLAG_URGENT, // AREATRIGGER_OVERRIDE_SCALE_CURVE+4
|
||||
UF_FLAG_PUBLIC | UF_FLAG_URGENT, // AREATRIGGER_OVERRIDE_SCALE_CURVE+5
|
||||
UF_FLAG_PUBLIC | UF_FLAG_URGENT, // AREATRIGGER_OVERRIDE_SCALE_CURVE+6
|
||||
UF_FLAG_PUBLIC | UF_FLAG_URGENT, // AREATRIGGER_EXTRA_SCALE_CURVE
|
||||
UF_FLAG_PUBLIC | UF_FLAG_URGENT, // AREATRIGGER_EXTRA_SCALE_CURVE+1
|
||||
UF_FLAG_PUBLIC | UF_FLAG_URGENT, // AREATRIGGER_EXTRA_SCALE_CURVE+2
|
||||
UF_FLAG_PUBLIC | UF_FLAG_URGENT, // AREATRIGGER_EXTRA_SCALE_CURVE+3
|
||||
UF_FLAG_PUBLIC | UF_FLAG_URGENT, // AREATRIGGER_EXTRA_SCALE_CURVE+4
|
||||
UF_FLAG_PUBLIC | UF_FLAG_URGENT, // AREATRIGGER_EXTRA_SCALE_CURVE+5
|
||||
UF_FLAG_PUBLIC | UF_FLAG_URGENT, // AREATRIGGER_EXTRA_SCALE_CURVE+6
|
||||
UF_FLAG_PUBLIC, // AREATRIGGER_CASTER
|
||||
UF_FLAG_PUBLIC, // AREATRIGGER_CASTER+1
|
||||
UF_FLAG_PUBLIC, // AREATRIGGER_CASTER+2
|
||||
UF_FLAG_PUBLIC, // AREATRIGGER_CASTER+3
|
||||
UF_FLAG_PUBLIC, // AREATRIGGER_DURATION
|
||||
UF_FLAG_PUBLIC | UF_FLAG_URGENT, // AREATRIGGER_TIME_TO_TARGET
|
||||
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_DYNAMIC | UF_FLAG_URGENT, // AREATRIGGER_BOUNDS_RADIUS_2D
|
||||
UF_FLAG_PUBLIC | UF_FLAG_URGENT, // AREATRIGGER_EXPLICIT_SCALE
|
||||
UF_FLAG_PUBLIC, // AREATRIGGER_DECAL_PROPERTIES_ID
|
||||
};
|
||||
|
||||
uint32 SceneObjectUpdateFieldFlags[SCENEOBJECT_END] =
|
||||
@@ -4057,7 +4069,7 @@ uint32 ConversationUpdateFieldFlags[CONVERSATION_END] =
|
||||
UF_FLAG_DYNAMIC, // OBJECT_FIELD_ENTRY
|
||||
UF_FLAG_DYNAMIC | UF_FLAG_URGENT, // OBJECT_DYNAMIC_FLAGS
|
||||
UF_FLAG_PUBLIC, // OBJECT_FIELD_SCALE_X
|
||||
UF_FLAG_PRIVATE, // CONVERSATION_FIELD_DUMMY
|
||||
UF_FLAG_DYNAMIC, // CONVERSATION_FIELD_LAST_LINE_DURATION
|
||||
};
|
||||
|
||||
uint32 ConversationDynamicUpdateFieldFlags[CONVERSATION_DYNAMIC_END] =
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
#ifndef _UPDATEFIELDS_H
|
||||
#define _UPDATEFIELDS_H
|
||||
|
||||
// Auto generated for version 6, 2, 3, 20726
|
||||
// Auto generated for version 7, 0, 1, 20810
|
||||
|
||||
enum ObjectFields
|
||||
{
|
||||
@@ -55,14 +55,18 @@ enum ItemFields
|
||||
ITEM_FIELD_CREATE_PLAYED_TIME = OBJECT_END + 0x043, // Size: 1, Flags: PUBLIC
|
||||
ITEM_FIELD_MODIFIERS_MASK = OBJECT_END + 0x044, // Size: 1, Flags: OWNER
|
||||
ITEM_FIELD_CONTEXT = OBJECT_END + 0x045, // Size: 1, Flags: PUBLIC
|
||||
ITEM_END = OBJECT_END + 0x046,
|
||||
ITEM_FIELD_ARTIFACT_XP = OBJECT_END + 0x046, // Size: 1, Flags: OWNER
|
||||
ITEM_FIELD_APPEARANCE_MOD_ID = OBJECT_END + 0x047, // Size: 1, Flags: OWNER
|
||||
ITEM_END = OBJECT_END + 0x048,
|
||||
};
|
||||
|
||||
enum ItemDynamicFields
|
||||
{
|
||||
ITEM_DYNAMIC_FIELD_MODIFIERS = OBJECT_DYNAMIC_END + 0x000, // Flags: OWNER
|
||||
ITEM_DYNAMIC_FIELD_BONUSLIST_IDS = OBJECT_DYNAMIC_END + 0x001, // Flags: OWNER, 0x100
|
||||
ITEM_DYNAMIC_END = OBJECT_DYNAMIC_END + 0x002,
|
||||
ITEM_DYNAMIC_FIELD_ARTIFACT_POWERS = OBJECT_DYNAMIC_END + 0x002, // Flags: OWNER
|
||||
ITEM_DYNAMIC_FIELD_GEMS = OBJECT_DYNAMIC_END + 0x003, // Flags: OWNER
|
||||
ITEM_DYNAMIC_END = OBJECT_DYNAMIC_END + 0x004,
|
||||
};
|
||||
|
||||
enum ContainerFields
|
||||
@@ -104,76 +108,80 @@ enum UnitFields
|
||||
UNIT_FIELD_POWER_REGEN_INTERRUPTED_FLAT_MODIFIER = OBJECT_END + 0x044, // Size: 6, Flags: PRIVATE, OWNER, UNIT_ALL
|
||||
UNIT_FIELD_LEVEL = OBJECT_END + 0x04A, // Size: 1, Flags: PUBLIC
|
||||
UNIT_FIELD_EFFECTIVE_LEVEL = OBJECT_END + 0x04B, // Size: 1, Flags: PUBLIC
|
||||
UNIT_FIELD_FACTIONTEMPLATE = OBJECT_END + 0x04C, // Size: 1, Flags: PUBLIC
|
||||
UNIT_VIRTUAL_ITEM_SLOT_ID = OBJECT_END + 0x04D, // Size: 6, Flags: PUBLIC
|
||||
UNIT_FIELD_FLAGS = OBJECT_END + 0x053, // Size: 1, Flags: PUBLIC
|
||||
UNIT_FIELD_FLAGS_2 = OBJECT_END + 0x054, // Size: 1, Flags: PUBLIC
|
||||
UNIT_FIELD_FLAGS_3 = OBJECT_END + 0x055, // Size: 1, Flags: PUBLIC
|
||||
UNIT_FIELD_AURASTATE = OBJECT_END + 0x056, // Size: 1, Flags: PUBLIC
|
||||
UNIT_FIELD_BASEATTACKTIME = OBJECT_END + 0x057, // Size: 2, Flags: PUBLIC
|
||||
UNIT_FIELD_RANGEDATTACKTIME = OBJECT_END + 0x059, // Size: 1, Flags: PRIVATE
|
||||
UNIT_FIELD_BOUNDINGRADIUS = OBJECT_END + 0x05A, // Size: 1, Flags: PUBLIC
|
||||
UNIT_FIELD_COMBATREACH = OBJECT_END + 0x05B, // Size: 1, Flags: PUBLIC
|
||||
UNIT_FIELD_DISPLAYID = OBJECT_END + 0x05C, // Size: 1, Flags: DYNAMIC, URGENT
|
||||
UNIT_FIELD_NATIVEDISPLAYID = OBJECT_END + 0x05D, // Size: 1, Flags: PUBLIC, URGENT
|
||||
UNIT_FIELD_MOUNTDISPLAYID = OBJECT_END + 0x05E, // Size: 1, Flags: PUBLIC, URGENT
|
||||
UNIT_FIELD_MINDAMAGE = OBJECT_END + 0x05F, // Size: 1, Flags: PRIVATE, OWNER, SPECIAL_INFO
|
||||
UNIT_FIELD_MAXDAMAGE = OBJECT_END + 0x060, // Size: 1, Flags: PRIVATE, OWNER, SPECIAL_INFO
|
||||
UNIT_FIELD_MINOFFHANDDAMAGE = OBJECT_END + 0x061, // Size: 1, Flags: PRIVATE, OWNER, SPECIAL_INFO
|
||||
UNIT_FIELD_MAXOFFHANDDAMAGE = OBJECT_END + 0x062, // Size: 1, Flags: PRIVATE, OWNER, SPECIAL_INFO
|
||||
UNIT_FIELD_BYTES_1 = OBJECT_END + 0x063, // Size: 1, Flags: PUBLIC
|
||||
UNIT_FIELD_PETNUMBER = OBJECT_END + 0x064, // Size: 1, Flags: PUBLIC
|
||||
UNIT_FIELD_PET_NAME_TIMESTAMP = OBJECT_END + 0x065, // Size: 1, Flags: PUBLIC
|
||||
UNIT_FIELD_PETEXPERIENCE = OBJECT_END + 0x066, // Size: 1, Flags: OWNER
|
||||
UNIT_FIELD_PETNEXTLEVELEXP = OBJECT_END + 0x067, // Size: 1, Flags: OWNER
|
||||
UNIT_MOD_CAST_SPEED = OBJECT_END + 0x068, // Size: 1, Flags: PUBLIC
|
||||
UNIT_MOD_CAST_HASTE = OBJECT_END + 0x069, // Size: 1, Flags: PUBLIC
|
||||
UNIT_FIELD_MOD_HASTE = OBJECT_END + 0x06A, // Size: 1, Flags: PUBLIC
|
||||
UNIT_FIELD_MOD_RANGED_HASTE = OBJECT_END + 0x06B, // Size: 1, Flags: PUBLIC
|
||||
UNIT_FIELD_MOD_HASTE_REGEN = OBJECT_END + 0x06C, // Size: 1, Flags: PUBLIC
|
||||
UNIT_CREATED_BY_SPELL = OBJECT_END + 0x06D, // Size: 1, Flags: PUBLIC
|
||||
UNIT_NPC_FLAGS = OBJECT_END + 0x06E, // Size: 2, Flags: PUBLIC, DYNAMIC
|
||||
UNIT_NPC_EMOTESTATE = OBJECT_END + 0x070, // Size: 1, Flags: PUBLIC
|
||||
UNIT_FIELD_STAT = OBJECT_END + 0x071, // Size: 5, Flags: PRIVATE, OWNER
|
||||
UNIT_FIELD_POSSTAT = OBJECT_END + 0x076, // Size: 5, Flags: PRIVATE, OWNER
|
||||
UNIT_FIELD_NEGSTAT = OBJECT_END + 0x07B, // Size: 5, Flags: PRIVATE, OWNER
|
||||
UNIT_FIELD_RESISTANCES = OBJECT_END + 0x080, // Size: 7, Flags: PRIVATE, OWNER, SPECIAL_INFO
|
||||
UNIT_FIELD_RESISTANCEBUFFMODSPOSITIVE = OBJECT_END + 0x087, // Size: 7, Flags: PRIVATE, OWNER
|
||||
UNIT_FIELD_RESISTANCEBUFFMODSNEGATIVE = OBJECT_END + 0x08E, // Size: 7, Flags: PRIVATE, OWNER
|
||||
UNIT_FIELD_MOD_BONUS_ARMOR = OBJECT_END + 0x095, // Size: 1, Flags: PRIVATE, OWNER
|
||||
UNIT_FIELD_BASE_MANA = OBJECT_END + 0x096, // Size: 1, Flags: PUBLIC
|
||||
UNIT_FIELD_BASE_HEALTH = OBJECT_END + 0x097, // Size: 1, Flags: PRIVATE, OWNER
|
||||
UNIT_FIELD_BYTES_2 = OBJECT_END + 0x098, // Size: 1, Flags: PUBLIC
|
||||
UNIT_FIELD_ATTACK_POWER = OBJECT_END + 0x099, // Size: 1, Flags: PRIVATE, OWNER
|
||||
UNIT_FIELD_ATTACK_POWER_MOD_POS = OBJECT_END + 0x09A, // Size: 1, Flags: PRIVATE, OWNER
|
||||
UNIT_FIELD_ATTACK_POWER_MOD_NEG = OBJECT_END + 0x09B, // Size: 1, Flags: PRIVATE, OWNER
|
||||
UNIT_FIELD_ATTACK_POWER_MULTIPLIER = OBJECT_END + 0x09C, // Size: 1, Flags: PRIVATE, OWNER
|
||||
UNIT_FIELD_RANGED_ATTACK_POWER = OBJECT_END + 0x09D, // Size: 1, Flags: PRIVATE, OWNER
|
||||
UNIT_FIELD_RANGED_ATTACK_POWER_MOD_POS = OBJECT_END + 0x09E, // Size: 1, Flags: PRIVATE, OWNER
|
||||
UNIT_FIELD_RANGED_ATTACK_POWER_MOD_NEG = OBJECT_END + 0x09F, // Size: 1, Flags: PRIVATE, OWNER
|
||||
UNIT_FIELD_RANGED_ATTACK_POWER_MULTIPLIER = OBJECT_END + 0x0A0, // Size: 1, Flags: PRIVATE, OWNER
|
||||
UNIT_FIELD_MINRANGEDDAMAGE = OBJECT_END + 0x0A1, // Size: 1, Flags: PRIVATE, OWNER
|
||||
UNIT_FIELD_MAXRANGEDDAMAGE = OBJECT_END + 0x0A2, // Size: 1, Flags: PRIVATE, OWNER
|
||||
UNIT_FIELD_POWER_COST_MODIFIER = OBJECT_END + 0x0A3, // Size: 7, Flags: PRIVATE, OWNER
|
||||
UNIT_FIELD_POWER_COST_MULTIPLIER = OBJECT_END + 0x0AA, // Size: 7, Flags: PRIVATE, OWNER
|
||||
UNIT_FIELD_MAXHEALTHMODIFIER = OBJECT_END + 0x0B1, // Size: 1, Flags: PRIVATE, OWNER
|
||||
UNIT_FIELD_HOVERHEIGHT = OBJECT_END + 0x0B2, // Size: 1, Flags: PUBLIC
|
||||
UNIT_FIELD_MIN_ITEM_LEVEL_CUTOFF = OBJECT_END + 0x0B3, // Size: 1, Flags: PUBLIC
|
||||
UNIT_FIELD_MIN_ITEM_LEVEL = OBJECT_END + 0x0B4, // Size: 1, Flags: PUBLIC
|
||||
UNIT_FIELD_MAXITEMLEVEL = OBJECT_END + 0x0B5, // Size: 1, Flags: PUBLIC
|
||||
UNIT_FIELD_WILD_BATTLEPET_LEVEL = OBJECT_END + 0x0B6, // Size: 1, Flags: PUBLIC
|
||||
UNIT_FIELD_BATTLEPET_COMPANION_NAME_TIMESTAMP = OBJECT_END + 0x0B7, // Size: 1, Flags: PUBLIC
|
||||
UNIT_FIELD_INTERACT_SPELLID = OBJECT_END + 0x0B8, // Size: 1, Flags: PUBLIC
|
||||
UNIT_FIELD_STATE_SPELL_VISUAL_ID = OBJECT_END + 0x0B9, // Size: 1, Flags: DYNAMIC, URGENT
|
||||
UNIT_FIELD_STATE_ANIM_ID = OBJECT_END + 0x0BA, // Size: 1, Flags: DYNAMIC, URGENT
|
||||
UNIT_FIELD_STATE_ANIM_KIT_ID = OBJECT_END + 0x0BB, // Size: 1, Flags: DYNAMIC, URGENT
|
||||
UNIT_FIELD_STATE_WORLD_EFFECT_ID = OBJECT_END + 0x0BC, // Size: 4, Flags: DYNAMIC, URGENT
|
||||
UNIT_FIELD_SCALE_DURATION = OBJECT_END + 0x0C0, // Size: 1, Flags: PUBLIC
|
||||
UNIT_FIELD_LOOKS_LIKE_MOUNT_ID = OBJECT_END + 0x0C1, // Size: 1, Flags: PUBLIC
|
||||
UNIT_FIELD_LOOKS_LIKE_CREATURE_ID = OBJECT_END + 0x0C2, // Size: 1, Flags: PUBLIC
|
||||
UNIT_FIELD_LOOK_AT_CONTROLLER_ID = OBJECT_END + 0x0C3, // Size: 1, Flags: PUBLIC
|
||||
UNIT_FIELD_LOOK_AT_CONTROLLER_TARGET = OBJECT_END + 0x0C4, // Size: 4, Flags: PUBLIC
|
||||
UNIT_END = OBJECT_END + 0x0C8,
|
||||
UNIT_FIELD_SCALING_LEVEL_MIN = OBJECT_END + 0x04C, // Size: 1, Flags: PUBLIC
|
||||
UNIT_FIELD_SCALING_LEVEL_MAX = OBJECT_END + 0x04D, // Size: 1, Flags: PUBLIC
|
||||
UNIT_FIELD_SCALING_LEVEL_DELTA = OBJECT_END + 0x04E, // Size: 1, Flags: PUBLIC
|
||||
UNIT_FIELD_FACTIONTEMPLATE = OBJECT_END + 0x04F, // Size: 1, Flags: PUBLIC
|
||||
UNIT_VIRTUAL_ITEM_SLOT_ID = OBJECT_END + 0x050, // Size: 6, Flags: PUBLIC
|
||||
UNIT_FIELD_FLAGS = OBJECT_END + 0x056, // Size: 1, Flags: PUBLIC
|
||||
UNIT_FIELD_FLAGS_2 = OBJECT_END + 0x057, // Size: 1, Flags: PUBLIC
|
||||
UNIT_FIELD_FLAGS_3 = OBJECT_END + 0x058, // Size: 1, Flags: PUBLIC
|
||||
UNIT_FIELD_AURASTATE = OBJECT_END + 0x059, // Size: 1, Flags: PUBLIC
|
||||
UNIT_FIELD_BASEATTACKTIME = OBJECT_END + 0x05A, // Size: 2, Flags: PUBLIC
|
||||
UNIT_FIELD_RANGEDATTACKTIME = OBJECT_END + 0x05C, // Size: 1, Flags: PRIVATE
|
||||
UNIT_FIELD_BOUNDINGRADIUS = OBJECT_END + 0x05D, // Size: 1, Flags: PUBLIC
|
||||
UNIT_FIELD_COMBATREACH = OBJECT_END + 0x05E, // Size: 1, Flags: PUBLIC
|
||||
UNIT_FIELD_DISPLAYID = OBJECT_END + 0x05F, // Size: 1, Flags: DYNAMIC, URGENT
|
||||
UNIT_FIELD_NATIVEDISPLAYID = OBJECT_END + 0x060, // Size: 1, Flags: PUBLIC, URGENT
|
||||
UNIT_FIELD_MOUNTDISPLAYID = OBJECT_END + 0x061, // Size: 1, Flags: PUBLIC, URGENT
|
||||
UNIT_FIELD_MINDAMAGE = OBJECT_END + 0x062, // Size: 1, Flags: PRIVATE, OWNER, SPECIAL_INFO
|
||||
UNIT_FIELD_MAXDAMAGE = OBJECT_END + 0x063, // Size: 1, Flags: PRIVATE, OWNER, SPECIAL_INFO
|
||||
UNIT_FIELD_MINOFFHANDDAMAGE = OBJECT_END + 0x064, // Size: 1, Flags: PRIVATE, OWNER, SPECIAL_INFO
|
||||
UNIT_FIELD_MAXOFFHANDDAMAGE = OBJECT_END + 0x065, // Size: 1, Flags: PRIVATE, OWNER, SPECIAL_INFO
|
||||
UNIT_FIELD_BYTES_1 = OBJECT_END + 0x066, // Size: 1, Flags: PUBLIC
|
||||
UNIT_FIELD_PETNUMBER = OBJECT_END + 0x067, // Size: 1, Flags: PUBLIC
|
||||
UNIT_FIELD_PET_NAME_TIMESTAMP = OBJECT_END + 0x068, // Size: 1, Flags: PUBLIC
|
||||
UNIT_FIELD_PETEXPERIENCE = OBJECT_END + 0x069, // Size: 1, Flags: OWNER
|
||||
UNIT_FIELD_PETNEXTLEVELEXP = OBJECT_END + 0x06A, // Size: 1, Flags: OWNER
|
||||
UNIT_MOD_CAST_SPEED = OBJECT_END + 0x06B, // Size: 1, Flags: PUBLIC
|
||||
UNIT_MOD_CAST_HASTE = OBJECT_END + 0x06C, // Size: 1, Flags: PUBLIC
|
||||
UNIT_FIELD_MOD_HASTE = OBJECT_END + 0x06D, // Size: 1, Flags: PUBLIC
|
||||
UNIT_FIELD_MOD_RANGED_HASTE = OBJECT_END + 0x06E, // Size: 1, Flags: PUBLIC
|
||||
UNIT_FIELD_MOD_HASTE_REGEN = OBJECT_END + 0x06F, // Size: 1, Flags: PUBLIC
|
||||
UNIT_FIELD_MOD_TIME_RATE = OBJECT_END + 0x070, // Size: 1, Flags: PUBLIC
|
||||
UNIT_CREATED_BY_SPELL = OBJECT_END + 0x071, // Size: 1, Flags: PUBLIC
|
||||
UNIT_NPC_FLAGS = OBJECT_END + 0x072, // Size: 2, Flags: PUBLIC, DYNAMIC
|
||||
UNIT_NPC_EMOTESTATE = OBJECT_END + 0x074, // Size: 1, Flags: PUBLIC
|
||||
UNIT_FIELD_STAT = OBJECT_END + 0x075, // Size: 5, Flags: PRIVATE, OWNER
|
||||
UNIT_FIELD_POSSTAT = OBJECT_END + 0x07A, // Size: 5, Flags: PRIVATE, OWNER
|
||||
UNIT_FIELD_NEGSTAT = OBJECT_END + 0x07F, // Size: 5, Flags: PRIVATE, OWNER
|
||||
UNIT_FIELD_RESISTANCES = OBJECT_END + 0x084, // Size: 7, Flags: PRIVATE, OWNER, SPECIAL_INFO
|
||||
UNIT_FIELD_RESISTANCEBUFFMODSPOSITIVE = OBJECT_END + 0x08B, // Size: 7, Flags: PRIVATE, OWNER
|
||||
UNIT_FIELD_RESISTANCEBUFFMODSNEGATIVE = OBJECT_END + 0x092, // Size: 7, Flags: PRIVATE, OWNER
|
||||
UNIT_FIELD_MOD_BONUS_ARMOR = OBJECT_END + 0x099, // Size: 1, Flags: PRIVATE, OWNER
|
||||
UNIT_FIELD_BASE_MANA = OBJECT_END + 0x09A, // Size: 1, Flags: PUBLIC
|
||||
UNIT_FIELD_BASE_HEALTH = OBJECT_END + 0x09B, // Size: 1, Flags: PRIVATE, OWNER
|
||||
UNIT_FIELD_BYTES_2 = OBJECT_END + 0x09C, // Size: 1, Flags: PUBLIC
|
||||
UNIT_FIELD_ATTACK_POWER = OBJECT_END + 0x09D, // Size: 1, Flags: PRIVATE, OWNER
|
||||
UNIT_FIELD_ATTACK_POWER_MOD_POS = OBJECT_END + 0x09E, // Size: 1, Flags: PRIVATE, OWNER
|
||||
UNIT_FIELD_ATTACK_POWER_MOD_NEG = OBJECT_END + 0x09F, // Size: 1, Flags: PRIVATE, OWNER
|
||||
UNIT_FIELD_ATTACK_POWER_MULTIPLIER = OBJECT_END + 0x0A0, // Size: 1, Flags: PRIVATE, OWNER
|
||||
UNIT_FIELD_RANGED_ATTACK_POWER = OBJECT_END + 0x0A1, // Size: 1, Flags: PRIVATE, OWNER
|
||||
UNIT_FIELD_RANGED_ATTACK_POWER_MOD_POS = OBJECT_END + 0x0A2, // Size: 1, Flags: PRIVATE, OWNER
|
||||
UNIT_FIELD_RANGED_ATTACK_POWER_MOD_NEG = OBJECT_END + 0x0A3, // Size: 1, Flags: PRIVATE, OWNER
|
||||
UNIT_FIELD_RANGED_ATTACK_POWER_MULTIPLIER = OBJECT_END + 0x0A4, // Size: 1, Flags: PRIVATE, OWNER
|
||||
UNIT_FIELD_MINRANGEDDAMAGE = OBJECT_END + 0x0A5, // Size: 1, Flags: PRIVATE, OWNER
|
||||
UNIT_FIELD_MAXRANGEDDAMAGE = OBJECT_END + 0x0A6, // Size: 1, Flags: PRIVATE, OWNER
|
||||
UNIT_FIELD_POWER_COST_MODIFIER = OBJECT_END + 0x0A7, // Size: 7, Flags: PRIVATE, OWNER
|
||||
UNIT_FIELD_POWER_COST_MULTIPLIER = OBJECT_END + 0x0AE, // Size: 7, Flags: PRIVATE, OWNER
|
||||
UNIT_FIELD_MAXHEALTHMODIFIER = OBJECT_END + 0x0B5, // Size: 1, Flags: PRIVATE, OWNER
|
||||
UNIT_FIELD_HOVERHEIGHT = OBJECT_END + 0x0B6, // Size: 1, Flags: PUBLIC
|
||||
UNIT_FIELD_MIN_ITEM_LEVEL_CUTOFF = OBJECT_END + 0x0B7, // Size: 1, Flags: PUBLIC
|
||||
UNIT_FIELD_MIN_ITEM_LEVEL = OBJECT_END + 0x0B8, // Size: 1, Flags: PUBLIC
|
||||
UNIT_FIELD_MAXITEMLEVEL = OBJECT_END + 0x0B9, // Size: 1, Flags: PUBLIC
|
||||
UNIT_FIELD_WILD_BATTLEPET_LEVEL = OBJECT_END + 0x0BA, // Size: 1, Flags: PUBLIC
|
||||
UNIT_FIELD_BATTLEPET_COMPANION_NAME_TIMESTAMP = OBJECT_END + 0x0BB, // Size: 1, Flags: PUBLIC
|
||||
UNIT_FIELD_INTERACT_SPELLID = OBJECT_END + 0x0BC, // Size: 1, Flags: PUBLIC
|
||||
UNIT_FIELD_STATE_SPELL_VISUAL_ID = OBJECT_END + 0x0BD, // Size: 1, Flags: DYNAMIC, URGENT
|
||||
UNIT_FIELD_STATE_ANIM_ID = OBJECT_END + 0x0BE, // Size: 1, Flags: DYNAMIC, URGENT
|
||||
UNIT_FIELD_STATE_ANIM_KIT_ID = OBJECT_END + 0x0BF, // Size: 1, Flags: DYNAMIC, URGENT
|
||||
UNIT_FIELD_STATE_WORLD_EFFECT_ID = OBJECT_END + 0x0C0, // Size: 4, Flags: DYNAMIC, URGENT
|
||||
UNIT_FIELD_SCALE_DURATION = OBJECT_END + 0x0C4, // Size: 1, Flags: PUBLIC
|
||||
UNIT_FIELD_LOOKS_LIKE_MOUNT_ID = OBJECT_END + 0x0C5, // Size: 1, Flags: PUBLIC
|
||||
UNIT_FIELD_LOOKS_LIKE_CREATURE_ID = OBJECT_END + 0x0C6, // Size: 1, Flags: PUBLIC
|
||||
UNIT_FIELD_LOOK_AT_CONTROLLER_ID = OBJECT_END + 0x0C7, // Size: 1, Flags: PUBLIC
|
||||
UNIT_FIELD_LOOK_AT_CONTROLLER_TARGET = OBJECT_END + 0x0C8, // Size: 4, Flags: PUBLIC
|
||||
UNIT_END = OBJECT_END + 0x0CC,
|
||||
};
|
||||
|
||||
enum UnitDynamicFields
|
||||
@@ -196,108 +204,104 @@ enum PlayerFields
|
||||
PLAYER_BYTES = UNIT_END + 0x011, // Size: 1, Flags: PUBLIC
|
||||
PLAYER_BYTES_2 = UNIT_END + 0x012, // Size: 1, Flags: PUBLIC
|
||||
PLAYER_BYTES_3 = UNIT_END + 0x013, // Size: 1, Flags: PUBLIC
|
||||
PLAYER_DUEL_TEAM = UNIT_END + 0x014, // Size: 1, Flags: PUBLIC
|
||||
PLAYER_GUILD_TIMESTAMP = UNIT_END + 0x015, // Size: 1, Flags: PUBLIC
|
||||
PLAYER_QUEST_LOG = UNIT_END + 0x016, // Size: 750, Flags: PARTY_MEMBER
|
||||
PLAYER_VISIBLE_ITEM = UNIT_END + 0x304, // Size: 38, Flags: PUBLIC
|
||||
PLAYER_CHOSEN_TITLE = UNIT_END + 0x32A, // Size: 1, Flags: PUBLIC
|
||||
PLAYER_FAKE_INEBRIATION = UNIT_END + 0x32B, // Size: 1, Flags: PUBLIC
|
||||
PLAYER_FIELD_VIRTUAL_PLAYER_REALM = UNIT_END + 0x32C, // Size: 1, Flags: PUBLIC
|
||||
PLAYER_FIELD_CURRENT_SPEC_ID = UNIT_END + 0x32D, // Size: 1, Flags: PUBLIC
|
||||
PLAYER_FIELD_TAXI_MOUNT_ANIM_KIT_ID = UNIT_END + 0x32E, // Size: 1, Flags: PUBLIC
|
||||
PLAYER_FIELD_AVG_ITEM_LEVEL = UNIT_END + 0x32F, // Size: 4, Flags: PUBLIC
|
||||
PLAYER_FIELD_CURRENT_BATTLE_PET_BREED_QUALITY = UNIT_END + 0x333, // Size: 1, Flags: PUBLIC
|
||||
PLAYER_FIELD_INV_SLOT_HEAD = UNIT_END + 0x334, // Size: 736, Flags: PRIVATE
|
||||
PLAYER_FIELD_END_NOT_SELF = UNIT_END + 0x334,
|
||||
PLAYER_FARSIGHT = UNIT_END + 0x614, // Size: 4, Flags: PRIVATE
|
||||
PLAYER__FIELD_KNOWN_TITLES = UNIT_END + 0x618, // Size: 12, Flags: PRIVATE
|
||||
PLAYER_FIELD_COINAGE = UNIT_END + 0x624, // Size: 2, Flags: PRIVATE
|
||||
PLAYER_XP = UNIT_END + 0x626, // Size: 1, Flags: PRIVATE
|
||||
PLAYER_NEXT_LEVEL_XP = UNIT_END + 0x627, // Size: 1, Flags: PRIVATE
|
||||
PLAYER_SKILL_LINEID = UNIT_END + 0x628, // Size: 448, Flags: PRIVATE
|
||||
PLAYER_CHARACTER_POINTS = UNIT_END + 0x7E8, // Size: 1, Flags: PRIVATE
|
||||
PLAYER_FIELD_MAX_TALENT_TIERS = UNIT_END + 0x7E9, // Size: 1, Flags: PRIVATE
|
||||
PLAYER_TRACK_CREATURES = UNIT_END + 0x7EA, // Size: 1, Flags: PRIVATE
|
||||
PLAYER_TRACK_RESOURCES = UNIT_END + 0x7EB, // Size: 1, Flags: PRIVATE
|
||||
PLAYER_EXPERTISE = UNIT_END + 0x7EC, // Size: 1, Flags: PRIVATE
|
||||
PLAYER_OFFHAND_EXPERTISE = UNIT_END + 0x7ED, // Size: 1, Flags: PRIVATE
|
||||
PLAYER_FIELD_RANGED_EXPERTISE = UNIT_END + 0x7EE, // Size: 1, Flags: PRIVATE
|
||||
PLAYER_FIELD_COMBAT_RATING_EXPERTISE = UNIT_END + 0x7EF, // Size: 1, Flags: PRIVATE
|
||||
PLAYER_BLOCK_PERCENTAGE = UNIT_END + 0x7F0, // Size: 1, Flags: PRIVATE
|
||||
PLAYER_DODGE_PERCENTAGE = UNIT_END + 0x7F1, // Size: 1, Flags: PRIVATE
|
||||
PLAYER_PARRY_PERCENTAGE = UNIT_END + 0x7F2, // Size: 1, Flags: PRIVATE
|
||||
PLAYER_CRIT_PERCENTAGE = UNIT_END + 0x7F3, // Size: 1, Flags: PRIVATE
|
||||
PLAYER_RANGED_CRIT_PERCENTAGE = UNIT_END + 0x7F4, // Size: 1, Flags: PRIVATE
|
||||
PLAYER_OFFHAND_CRIT_PERCENTAGE = UNIT_END + 0x7F5, // Size: 1, Flags: PRIVATE
|
||||
PLAYER_SPELL_CRIT_PERCENTAGE1 = UNIT_END + 0x7F6, // Size: 7, Flags: PRIVATE
|
||||
PLAYER_SHIELD_BLOCK = UNIT_END + 0x7FD, // Size: 1, Flags: PRIVATE
|
||||
PLAYER_SHIELD_BLOCK_CRIT_PERCENTAGE = UNIT_END + 0x7FE, // Size: 1, Flags: PRIVATE
|
||||
PLAYER_MASTERY = UNIT_END + 0x7FF, // Size: 1, Flags: PRIVATE
|
||||
PLAYER_AMPLIFY = UNIT_END + 0x800, // Size: 1, Flags: PRIVATE
|
||||
PLAYER_MULTISTRIKE = UNIT_END + 0x801, // Size: 1, Flags: PRIVATE
|
||||
PLAYER_MULTISTRIKE_EFFECT = UNIT_END + 0x802, // Size: 1, Flags: PRIVATE
|
||||
PLAYER_READINESS = UNIT_END + 0x803, // Size: 1, Flags: PRIVATE
|
||||
PLAYER_SPEED = UNIT_END + 0x804, // Size: 1, Flags: PRIVATE
|
||||
PLAYER_LIFESTEAL = UNIT_END + 0x805, // Size: 1, Flags: PRIVATE
|
||||
PLAYER_AVOIDANCE = UNIT_END + 0x806, // Size: 1, Flags: PRIVATE
|
||||
PLAYER_STURDINESS = UNIT_END + 0x807, // Size: 1, Flags: PRIVATE
|
||||
PLAYER_CLEAVE = UNIT_END + 0x808, // Size: 1, Flags: PRIVATE
|
||||
PLAYER_VERSATILITY = UNIT_END + 0x809, // Size: 1, Flags: PRIVATE
|
||||
PLAYER_VERSATILITY_BONUS = UNIT_END + 0x80A, // Size: 1, Flags: PRIVATE
|
||||
PLAYER_FIELD_PVP_POWER_DAMAGE = UNIT_END + 0x80B, // Size: 1, Flags: PRIVATE
|
||||
PLAYER_FIELD_PVP_POWER_HEALING = UNIT_END + 0x80C, // Size: 1, Flags: PRIVATE
|
||||
PLAYER_EXPLORED_ZONES_1 = UNIT_END + 0x80D, // Size: 256, Flags: PRIVATE
|
||||
PLAYER_REST_STATE_EXPERIENCE = UNIT_END + 0x90D, // Size: 1, Flags: PRIVATE
|
||||
PLAYER_FIELD_MOD_DAMAGE_DONE_POS = UNIT_END + 0x90E, // Size: 7, Flags: PRIVATE
|
||||
PLAYER_FIELD_MOD_DAMAGE_DONE_NEG = UNIT_END + 0x915, // Size: 7, Flags: PRIVATE
|
||||
PLAYER_FIELD_MOD_DAMAGE_DONE_PCT = UNIT_END + 0x91C, // Size: 7, Flags: PRIVATE
|
||||
PLAYER_FIELD_MOD_HEALING_DONE_POS = UNIT_END + 0x923, // Size: 1, Flags: PRIVATE
|
||||
PLAYER_FIELD_MOD_HEALING_PCT = UNIT_END + 0x924, // Size: 1, Flags: PRIVATE
|
||||
PLAYER_FIELD_MOD_HEALING_DONE_PCT = UNIT_END + 0x925, // Size: 1, Flags: PRIVATE
|
||||
PLAYER_FIELD_MOD_PERIODIC_HEALING_DONE_PERCENT = UNIT_END + 0x926, // Size: 1, Flags: PRIVATE
|
||||
PLAYER_FIELD_WEAPON_DMG_MULTIPLIERS = UNIT_END + 0x927, // Size: 3, Flags: PRIVATE
|
||||
PLAYER_FIELD_WEAPON_ATK_SPEED_MULTIPLIERS = UNIT_END + 0x92A, // Size: 3, Flags: PRIVATE
|
||||
PLAYER_FIELD_MOD_SPELL_POWER_PCT = UNIT_END + 0x92D, // Size: 1, Flags: PRIVATE
|
||||
PLAYER_FIELD_MOD_RESILIENCE_PERCENT = UNIT_END + 0x92E, // Size: 1, Flags: PRIVATE
|
||||
PLAYER_FIELD_OVERRIDE_SPELL_POWER_BY_AP_PCT = UNIT_END + 0x92F, // Size: 1, Flags: PRIVATE
|
||||
PLAYER_FIELD_OVERRIDE_AP_BY_SPELL_POWER_PERCENT = UNIT_END + 0x930, // Size: 1, Flags: PRIVATE
|
||||
PLAYER_FIELD_MOD_TARGET_RESISTANCE = UNIT_END + 0x931, // Size: 1, Flags: PRIVATE
|
||||
PLAYER_FIELD_MOD_TARGET_PHYSICAL_RESISTANCE = UNIT_END + 0x932, // Size: 1, Flags: PRIVATE
|
||||
PLAYER_FIELD_LOCAL_FLAGS = UNIT_END + 0x933, // Size: 1, Flags: PRIVATE
|
||||
PLAYER_FIELD_BYTES = UNIT_END + 0x934, // Size: 1, Flags: PRIVATE
|
||||
PLAYER_SELF_RES_SPELL = UNIT_END + 0x935, // Size: 1, Flags: PRIVATE
|
||||
PLAYER_FIELD_PVP_MEDALS = UNIT_END + 0x936, // Size: 1, Flags: PRIVATE
|
||||
PLAYER_FIELD_BUYBACK_PRICE_1 = UNIT_END + 0x937, // Size: 12, Flags: PRIVATE
|
||||
PLAYER_FIELD_BUYBACK_TIMESTAMP_1 = UNIT_END + 0x943, // Size: 12, Flags: PRIVATE
|
||||
PLAYER_FIELD_KILLS = UNIT_END + 0x94F, // Size: 1, Flags: PRIVATE
|
||||
PLAYER_FIELD_LIFETIME_HONORABLE_KILLS = UNIT_END + 0x950, // Size: 1, Flags: PRIVATE
|
||||
PLAYER_FIELD_WATCHED_FACTION_INDEX = UNIT_END + 0x951, // Size: 1, Flags: PRIVATE
|
||||
PLAYER_FIELD_COMBAT_RATING_1 = UNIT_END + 0x952, // Size: 32, Flags: PRIVATE
|
||||
PLAYER_FIELD_ARENA_TEAM_INFO_1_1 = UNIT_END + 0x972, // Size: 36, Flags: PRIVATE
|
||||
PLAYER_FIELD_MAX_LEVEL = UNIT_END + 0x996, // Size: 1, Flags: PRIVATE
|
||||
PLAYER_RUNE_REGEN_1 = UNIT_END + 0x997, // Size: 4, Flags: PRIVATE
|
||||
PLAYER_NO_REAGENT_COST_1 = UNIT_END + 0x99B, // Size: 4, Flags: PRIVATE
|
||||
PLAYER_FIELD_GLYPH_SLOTS_1 = UNIT_END + 0x99F, // Size: 6, Flags: PRIVATE
|
||||
PLAYER_FIELD_GLYPHS_1 = UNIT_END + 0x9A5, // Size: 6, Flags: PRIVATE
|
||||
PLAYER_GLYPHS_ENABLED = UNIT_END + 0x9AB, // Size: 1, Flags: PRIVATE
|
||||
PLAYER_PET_SPELL_POWER = UNIT_END + 0x9AC, // Size: 1, Flags: PRIVATE
|
||||
PLAYER_FIELD_RESEARCHING_1 = UNIT_END + 0x9AD, // Size: 10, Flags: PRIVATE
|
||||
PLAYER_PROFESSION_SKILL_LINE_1 = UNIT_END + 0x9B7, // Size: 2, Flags: PRIVATE
|
||||
PLAYER_FIELD_UI_HIT_MODIFIER = UNIT_END + 0x9B9, // Size: 1, Flags: PRIVATE
|
||||
PLAYER_FIELD_UI_SPELL_HIT_MODIFIER = UNIT_END + 0x9BA, // Size: 1, Flags: PRIVATE
|
||||
PLAYER_FIELD_HOME_REALM_TIME_OFFSET = UNIT_END + 0x9BB, // Size: 1, Flags: PRIVATE
|
||||
PLAYER_FIELD_MOD_PET_HASTE = UNIT_END + 0x9BC, // Size: 1, Flags: PRIVATE
|
||||
PLAYER_FIELD_SUMMONED_BATTLE_PET_ID = UNIT_END + 0x9BD, // Size: 4, Flags: PRIVATE
|
||||
PLAYER_FIELD_BYTES2 = UNIT_END + 0x9C1, // Size: 1, Flags: PRIVATE, URGENT_SELF_ONLY
|
||||
PLAYER_FIELD_LFG_BONUS_FACTION_ID = UNIT_END + 0x9C2, // Size: 1, Flags: PRIVATE
|
||||
PLAYER_FIELD_LOOT_SPEC_ID = UNIT_END + 0x9C3, // Size: 1, Flags: PRIVATE
|
||||
PLAYER_FIELD_OVERRIDE_ZONE_PVP_TYPE = UNIT_END + 0x9C4, // Size: 1, Flags: PRIVATE, URGENT_SELF_ONLY
|
||||
PLAYER_FIELD_ITEM_LEVEL_DELTA = UNIT_END + 0x9C5, // Size: 1, Flags: PRIVATE
|
||||
PLAYER_FIELD_BAG_SLOT_FLAGS = UNIT_END + 0x9C6, // Size: 4, Flags: PRIVATE
|
||||
PLAYER_FIELD_BANK_BAG_SLOT_FLAGS = UNIT_END + 0x9CA, // Size: 7, Flags: PRIVATE
|
||||
PLAYER_FIELD_INSERT_ITEMS_LEFT_TO_RIGHT = UNIT_END + 0x9D1, // Size: 1, Flags: PRIVATE
|
||||
PLAYER_FIELD_QUEST_COMPLETED = UNIT_END + 0x9D2, // Size: 875, Flags: PRIVATE
|
||||
PLAYER_END = UNIT_END + 0xD3D,
|
||||
PLAYER_BYTES_4 = UNIT_END + 0x014, // Size: 1, Flags: PUBLIC
|
||||
PLAYER_DUEL_TEAM = UNIT_END + 0x015, // Size: 1, Flags: PUBLIC
|
||||
PLAYER_GUILD_TIMESTAMP = UNIT_END + 0x016, // Size: 1, Flags: PUBLIC
|
||||
PLAYER_QUEST_LOG = UNIT_END + 0x017, // Size: 750, Flags: PARTY_MEMBER
|
||||
PLAYER_VISIBLE_ITEM = UNIT_END + 0x305, // Size: 38, Flags: PUBLIC
|
||||
PLAYER_CHOSEN_TITLE = UNIT_END + 0x32B, // Size: 1, Flags: PUBLIC
|
||||
PLAYER_FAKE_INEBRIATION = UNIT_END + 0x32C, // Size: 1, Flags: PUBLIC
|
||||
PLAYER_FIELD_VIRTUAL_PLAYER_REALM = UNIT_END + 0x32D, // Size: 1, Flags: PUBLIC
|
||||
PLAYER_FIELD_CURRENT_SPEC_ID = UNIT_END + 0x32E, // Size: 1, Flags: PUBLIC
|
||||
PLAYER_FIELD_TAXI_MOUNT_ANIM_KIT_ID = UNIT_END + 0x32F, // Size: 1, Flags: PUBLIC
|
||||
PLAYER_FIELD_AVG_ITEM_LEVEL = UNIT_END + 0x330, // Size: 4, Flags: PUBLIC
|
||||
PLAYER_FIELD_CURRENT_BATTLE_PET_BREED_QUALITY = UNIT_END + 0x334, // Size: 1, Flags: PUBLIC
|
||||
PLAYER_FIELD_PRESTIGE = UNIT_END + 0x335, // Size: 1, Flags: PUBLIC
|
||||
PLAYER_FIELD_HONOR_LEVEL = UNIT_END + 0x336, // Size: 1, Flags: PUBLIC
|
||||
PLAYER_FIELD_INV_SLOT_HEAD = UNIT_END + 0x337, // Size: 748, Flags: PRIVATE
|
||||
PLAYER_FIELD_END_NOT_SELF = UNIT_END + 0x337,
|
||||
PLAYER_FARSIGHT = UNIT_END + 0x623, // Size: 4, Flags: PRIVATE
|
||||
PLAYER__FIELD_KNOWN_TITLES = UNIT_END + 0x627, // Size: 12, Flags: PRIVATE
|
||||
PLAYER_FIELD_COINAGE = UNIT_END + 0x633, // Size: 2, Flags: PRIVATE
|
||||
PLAYER_XP = UNIT_END + 0x635, // Size: 1, Flags: PRIVATE
|
||||
PLAYER_NEXT_LEVEL_XP = UNIT_END + 0x636, // Size: 1, Flags: PRIVATE
|
||||
PLAYER_SKILL_LINEID = UNIT_END + 0x637, // Size: 448, Flags: PRIVATE
|
||||
PLAYER_CHARACTER_POINTS = UNIT_END + 0x7F7, // Size: 1, Flags: PRIVATE
|
||||
PLAYER_FIELD_MAX_TALENT_TIERS = UNIT_END + 0x7F8, // Size: 1, Flags: PRIVATE
|
||||
PLAYER_TRACK_CREATURES = UNIT_END + 0x7F9, // Size: 1, Flags: PRIVATE
|
||||
PLAYER_TRACK_RESOURCES = UNIT_END + 0x7FA, // Size: 1, Flags: PRIVATE
|
||||
PLAYER_EXPERTISE = UNIT_END + 0x7FB, // Size: 1, Flags: PRIVATE
|
||||
PLAYER_OFFHAND_EXPERTISE = UNIT_END + 0x7FC, // Size: 1, Flags: PRIVATE
|
||||
PLAYER_FIELD_RANGED_EXPERTISE = UNIT_END + 0x7FD, // Size: 1, Flags: PRIVATE
|
||||
PLAYER_FIELD_COMBAT_RATING_EXPERTISE = UNIT_END + 0x7FE, // Size: 1, Flags: PRIVATE
|
||||
PLAYER_BLOCK_PERCENTAGE = UNIT_END + 0x7FF, // Size: 1, Flags: PRIVATE
|
||||
PLAYER_DODGE_PERCENTAGE = UNIT_END + 0x800, // Size: 1, Flags: PRIVATE
|
||||
PLAYER_PARRY_PERCENTAGE = UNIT_END + 0x801, // Size: 1, Flags: PRIVATE
|
||||
PLAYER_CRIT_PERCENTAGE = UNIT_END + 0x802, // Size: 1, Flags: PRIVATE
|
||||
PLAYER_RANGED_CRIT_PERCENTAGE = UNIT_END + 0x803, // Size: 1, Flags: PRIVATE
|
||||
PLAYER_OFFHAND_CRIT_PERCENTAGE = UNIT_END + 0x804, // Size: 1, Flags: PRIVATE
|
||||
PLAYER_SPELL_CRIT_PERCENTAGE1 = UNIT_END + 0x805, // Size: 1, Flags: PRIVATE
|
||||
PLAYER_SHIELD_BLOCK = UNIT_END + 0x806, // Size: 1, Flags: PRIVATE
|
||||
PLAYER_SHIELD_BLOCK_CRIT_PERCENTAGE = UNIT_END + 0x807, // Size: 1, Flags: PRIVATE
|
||||
PLAYER_MASTERY = UNIT_END + 0x808, // Size: 1, Flags: PRIVATE
|
||||
PLAYER_SPEED = UNIT_END + 0x809, // Size: 1, Flags: PRIVATE
|
||||
PLAYER_LIFESTEAL = UNIT_END + 0x80A, // Size: 1, Flags: PRIVATE
|
||||
PLAYER_AVOIDANCE = UNIT_END + 0x80B, // Size: 1, Flags: PRIVATE
|
||||
PLAYER_STURDINESS = UNIT_END + 0x80C, // Size: 1, Flags: PRIVATE
|
||||
PLAYER_VERSATILITY = UNIT_END + 0x80D, // Size: 1, Flags: PRIVATE
|
||||
PLAYER_VERSATILITY_BONUS = UNIT_END + 0x80E, // Size: 1, Flags: PRIVATE
|
||||
PLAYER_FIELD_PVP_POWER_DAMAGE = UNIT_END + 0x80F, // Size: 1, Flags: PRIVATE
|
||||
PLAYER_FIELD_PVP_POWER_HEALING = UNIT_END + 0x810, // Size: 1, Flags: PRIVATE
|
||||
PLAYER_EXPLORED_ZONES_1 = UNIT_END + 0x811, // Size: 256, Flags: PRIVATE
|
||||
PLAYER_FIELD_REST_INFO = UNIT_END + 0x911, // Size: 4, Flags: PRIVATE
|
||||
PLAYER_FIELD_MOD_DAMAGE_DONE_POS = UNIT_END + 0x915, // Size: 7, Flags: PRIVATE
|
||||
PLAYER_FIELD_MOD_DAMAGE_DONE_NEG = UNIT_END + 0x91C, // Size: 7, Flags: PRIVATE
|
||||
PLAYER_FIELD_MOD_DAMAGE_DONE_PCT = UNIT_END + 0x923, // Size: 7, Flags: PRIVATE
|
||||
PLAYER_FIELD_MOD_HEALING_DONE_POS = UNIT_END + 0x92A, // Size: 1, Flags: PRIVATE
|
||||
PLAYER_FIELD_MOD_HEALING_PCT = UNIT_END + 0x92B, // Size: 1, Flags: PRIVATE
|
||||
PLAYER_FIELD_MOD_HEALING_DONE_PCT = UNIT_END + 0x92C, // Size: 1, Flags: PRIVATE
|
||||
PLAYER_FIELD_MOD_PERIODIC_HEALING_DONE_PERCENT = UNIT_END + 0x92D, // Size: 1, Flags: PRIVATE
|
||||
PLAYER_FIELD_WEAPON_DMG_MULTIPLIERS = UNIT_END + 0x92E, // Size: 3, Flags: PRIVATE
|
||||
PLAYER_FIELD_WEAPON_ATK_SPEED_MULTIPLIERS = UNIT_END + 0x931, // Size: 3, Flags: PRIVATE
|
||||
PLAYER_FIELD_MOD_SPELL_POWER_PCT = UNIT_END + 0x934, // Size: 1, Flags: PRIVATE
|
||||
PLAYER_FIELD_MOD_RESILIENCE_PERCENT = UNIT_END + 0x935, // Size: 1, Flags: PRIVATE
|
||||
PLAYER_FIELD_OVERRIDE_SPELL_POWER_BY_AP_PCT = UNIT_END + 0x936, // Size: 1, Flags: PRIVATE
|
||||
PLAYER_FIELD_OVERRIDE_AP_BY_SPELL_POWER_PERCENT = UNIT_END + 0x937, // Size: 1, Flags: PRIVATE
|
||||
PLAYER_FIELD_MOD_TARGET_RESISTANCE = UNIT_END + 0x938, // Size: 1, Flags: PRIVATE
|
||||
PLAYER_FIELD_MOD_TARGET_PHYSICAL_RESISTANCE = UNIT_END + 0x939, // Size: 1, Flags: PRIVATE
|
||||
PLAYER_FIELD_LOCAL_FLAGS = UNIT_END + 0x93A, // Size: 1, Flags: PRIVATE
|
||||
PLAYER_FIELD_BYTES = UNIT_END + 0x93B, // Size: 1, Flags: PRIVATE
|
||||
PLAYER_SELF_RES_SPELL = UNIT_END + 0x93C, // Size: 1, Flags: PRIVATE
|
||||
PLAYER_FIELD_PVP_MEDALS = UNIT_END + 0x93D, // Size: 1, Flags: PRIVATE
|
||||
PLAYER_FIELD_BUYBACK_PRICE_1 = UNIT_END + 0x93E, // Size: 12, Flags: PRIVATE
|
||||
PLAYER_FIELD_BUYBACK_TIMESTAMP_1 = UNIT_END + 0x94A, // Size: 12, Flags: PRIVATE
|
||||
PLAYER_FIELD_KILLS = UNIT_END + 0x956, // Size: 1, Flags: PRIVATE
|
||||
PLAYER_FIELD_LIFETIME_HONORABLE_KILLS = UNIT_END + 0x957, // Size: 1, Flags: PRIVATE
|
||||
PLAYER_FIELD_WATCHED_FACTION_INDEX = UNIT_END + 0x958, // Size: 1, Flags: PRIVATE
|
||||
PLAYER_FIELD_COMBAT_RATING_1 = UNIT_END + 0x959, // Size: 32, Flags: PRIVATE
|
||||
PLAYER_FIELD_ARENA_TEAM_INFO_1_1 = UNIT_END + 0x979, // Size: 36, Flags: PRIVATE
|
||||
PLAYER_FIELD_MAX_LEVEL = UNIT_END + 0x99D, // Size: 1, Flags: PRIVATE
|
||||
PLAYER_FIELD_SCALING_PLAYER_LEVEL_DELTA = UNIT_END + 0x99E, // Size: 1, Flags: PRIVATE
|
||||
PLAYER_NO_REAGENT_COST_1 = UNIT_END + 0x99F, // Size: 4, Flags: PRIVATE
|
||||
PLAYER_PET_SPELL_POWER = UNIT_END + 0x9A3, // Size: 1, Flags: PRIVATE
|
||||
PLAYER_FIELD_RESEARCHING_1 = UNIT_END + 0x9A4, // Size: 10, Flags: PRIVATE
|
||||
PLAYER_PROFESSION_SKILL_LINE_1 = UNIT_END + 0x9AE, // Size: 2, Flags: PRIVATE
|
||||
PLAYER_FIELD_UI_HIT_MODIFIER = UNIT_END + 0x9B0, // Size: 1, Flags: PRIVATE
|
||||
PLAYER_FIELD_UI_SPELL_HIT_MODIFIER = UNIT_END + 0x9B1, // Size: 1, Flags: PRIVATE
|
||||
PLAYER_FIELD_HOME_REALM_TIME_OFFSET = UNIT_END + 0x9B2, // Size: 1, Flags: PRIVATE
|
||||
PLAYER_FIELD_MOD_PET_HASTE = UNIT_END + 0x9B3, // Size: 1, Flags: PRIVATE
|
||||
PLAYER_FIELD_SUMMONED_BATTLE_PET_ID = UNIT_END + 0x9B4, // Size: 4, Flags: PRIVATE
|
||||
PLAYER_FIELD_BYTES2 = UNIT_END + 0x9B8, // Size: 1, Flags: PRIVATE, URGENT_SELF_ONLY
|
||||
PLAYER_FIELD_LFG_BONUS_FACTION_ID = UNIT_END + 0x9B9, // Size: 1, Flags: PRIVATE
|
||||
PLAYER_FIELD_LOOT_SPEC_ID = UNIT_END + 0x9BA, // Size: 1, Flags: PRIVATE
|
||||
PLAYER_FIELD_OVERRIDE_ZONE_PVP_TYPE = UNIT_END + 0x9BB, // Size: 1, Flags: PRIVATE, URGENT_SELF_ONLY
|
||||
PLAYER_FIELD_BAG_SLOT_FLAGS = UNIT_END + 0x9BC, // Size: 4, Flags: PRIVATE
|
||||
PLAYER_FIELD_BANK_BAG_SLOT_FLAGS = UNIT_END + 0x9C0, // Size: 7, Flags: PRIVATE
|
||||
PLAYER_FIELD_INSERT_ITEMS_LEFT_TO_RIGHT = UNIT_END + 0x9C7, // Size: 1, Flags: PRIVATE
|
||||
PLAYER_FIELD_QUEST_COMPLETED = UNIT_END + 0x9C8, // Size: 875, Flags: PRIVATE
|
||||
PLAYER_FIELD_HONOR = UNIT_END + 0xD33, // Size: 1, Flags: PRIVATE
|
||||
PLAYER_FIELD_HONOR_NEXT_LEVEL = UNIT_END + 0xD34, // Size: 1, Flags: PRIVATE
|
||||
PLAYER_END = UNIT_END + 0xD35,
|
||||
};
|
||||
|
||||
enum PlayerDynamicFields
|
||||
@@ -309,7 +313,9 @@ enum PlayerDynamicFields
|
||||
PLAYER_DYNAMIC_FIELD_HEIRLOOMS = UNIT_DYNAMIC_END + 0x004, // Flags: PRIVATE
|
||||
PLAYER_DYNAMIC_FIELD_HEIRLOOM_FLAGS = UNIT_DYNAMIC_END + 0x005, // Flags: PRIVATE
|
||||
PLAYER_DYNAMIC_FIELD_TOYS = UNIT_DYNAMIC_END + 0x006, // Flags: PRIVATE
|
||||
PLAYER_DYNAMIC_END = UNIT_DYNAMIC_END + 0x007,
|
||||
PLAYER_DYNAMIC_FIELD_TRANSMOG = UNIT_DYNAMIC_END + 0x007, // Flags: PRIVATE
|
||||
PLAYER_DYNAMIC_FIELD_CONDITIONAL_TRANSMOG = UNIT_DYNAMIC_END + 0x008, // Flags: PRIVATE
|
||||
PLAYER_DYNAMIC_END = UNIT_DYNAMIC_END + 0x009,
|
||||
};
|
||||
|
||||
enum GameObjectFields
|
||||
@@ -361,7 +367,8 @@ enum CorpseFields
|
||||
CORPSE_FIELD_FLAGS = OBJECT_END + 0x01E, // Size: 1, Flags: PUBLIC
|
||||
CORPSE_FIELD_DYNAMIC_FLAGS = OBJECT_END + 0x01F, // Size: 1, Flags: DYNAMIC
|
||||
CORPSE_FIELD_FACTIONTEMPLATE = OBJECT_END + 0x020, // Size: 1, Flags: PUBLIC
|
||||
CORPSE_END = OBJECT_END + 0x021,
|
||||
CORPSE_FIELD_CUSTOM_DISPLAY_OPTION = OBJECT_END + 0x021, // Size: 1, Flags: PUBLIC
|
||||
CORPSE_END = OBJECT_END + 0x022,
|
||||
};
|
||||
|
||||
enum CorpseDynamicFields
|
||||
@@ -372,14 +379,17 @@ enum CorpseDynamicFields
|
||||
enum AreaTriggerFields
|
||||
{
|
||||
AREATRIGGER_OVERRIDE_SCALE_CURVE = OBJECT_END + 0x000, // Size: 7, Flags: PUBLIC, URGENT
|
||||
AREATRIGGER_CASTER = OBJECT_END + 0x007, // Size: 4, Flags: PUBLIC
|
||||
AREATRIGGER_DURATION = OBJECT_END + 0x00B, // Size: 1, Flags: PUBLIC
|
||||
AREATRIGGER_TIME_TO_TARGET_SCALE = OBJECT_END + 0x00C, // Size: 1, Flags: PUBLIC, URGENT
|
||||
AREATRIGGER_SPELLID = OBJECT_END + 0x00D, // Size: 1, Flags: PUBLIC
|
||||
AREATRIGGER_SPELLVISUALID = OBJECT_END + 0x00E, // Size: 1, Flags: DYNAMIC
|
||||
AREATRIGGER_BOUNDS_RADIUS_2D = OBJECT_END + 0x00F, // Size: 1, Flags: DYNAMIC, URGENT
|
||||
AREATRIGGER_EXPLICIT_SCALE = OBJECT_END + 0x010, // Size: 1, Flags: PUBLIC, URGENT
|
||||
AREATRIGGER_END = OBJECT_END + 0x011,
|
||||
AREATRIGGER_EXTRA_SCALE_CURVE = OBJECT_END + 0x007, // Size: 7, Flags: PUBLIC, URGENT
|
||||
AREATRIGGER_CASTER = OBJECT_END + 0x00E, // Size: 4, Flags: PUBLIC
|
||||
AREATRIGGER_DURATION = OBJECT_END + 0x012, // Size: 1, Flags: PUBLIC
|
||||
AREATRIGGER_TIME_TO_TARGET = OBJECT_END + 0x013, // Size: 1, Flags: PUBLIC, URGENT
|
||||
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_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,
|
||||
};
|
||||
|
||||
enum AreaTriggerDynamicFields
|
||||
@@ -403,7 +413,7 @@ enum SceneObjectDynamicFields
|
||||
|
||||
enum ConversationFields
|
||||
{
|
||||
CONVERSATION_FIELD_DUMMY = OBJECT_END + 0x000, // Size: 1, Flags: PRIVATE
|
||||
CONVERSATION_FIELD_LAST_LINE_DURATION = OBJECT_END + 0x000, // Size: 1, Flags: DYNAMIC
|
||||
CONVERSATION_END = OBJECT_END + 0x001,
|
||||
};
|
||||
|
||||
|
||||
@@ -464,9 +464,11 @@ bool Player::Create(ObjectGuid::LowType guidlow, WorldPackets::Character::Charac
|
||||
SetByteValue(PLAYER_BYTES, PLAYER_BYTES_OFFSET_HAIR_STYLE_ID, createInfo->HairStyle);
|
||||
SetByteValue(PLAYER_BYTES, PLAYER_BYTES_OFFSET_HAIR_COLOR_ID, createInfo->HairColor);
|
||||
SetByteValue(PLAYER_BYTES_2, PLAYER_BYTES_2_OFFSET_FACIAL_STYLE, createInfo->FacialHairStyle);
|
||||
SetByteValue(PLAYER_BYTES_2, PLAYER_BYTES_2_OFFSET_REST_STATE, (GetSession()->IsARecruiter() || GetSession()->GetRecruiterId() != 0) ? REST_STATE_RAF_LINKED : REST_STATE_NOT_RAF_LINKED);
|
||||
for (uint32 i = 0; i < PLAYER_CUSTOM_DISPLAY_SIZE; ++i)
|
||||
SetByteValue(PLAYER_BYTES_2, PLAYER_BYTES_2_OFFSET_CUSTOM_DISPLAY_OPTION + i, createInfo->CustomDisplay[i]);
|
||||
SetUInt32Value(PLAYER_FIELD_REST_INFO + REST_STATE_XP, (GetSession()->IsARecruiter() || GetSession()->GetRecruiterId() != 0) ? REST_STATE_RAF_LINKED : REST_STATE_NOT_RAF_LINKED);
|
||||
SetByteValue(PLAYER_BYTES_3, PLAYER_BYTES_3_OFFSET_GENDER, createInfo->Sex);
|
||||
SetByteValue(PLAYER_BYTES_3, PLAYER_BYTES_3_OFFSET_ARENA_FACTION, 0);
|
||||
SetByteValue(PLAYER_BYTES_4, PLAYER_BYTES_4_OFFSET_ARENA_FACTION, 0);
|
||||
|
||||
SetGuidValue(OBJECT_FIELD_DATA, ObjectGuid::Empty);
|
||||
SetUInt32Value(PLAYER_GUILDRANK, 0);
|
||||
@@ -2619,8 +2621,7 @@ void Player::InitStatsForLevel(bool reapplyMods)
|
||||
SetFloatValue(PLAYER_RANGED_CRIT_PERCENTAGE, 0.0f);
|
||||
|
||||
// Init spell schools (will be recalculated in UpdateAllStats() at loading and in _ApplyAllStatBonuses() at reset
|
||||
for (uint8 i = 0; i < 7; ++i)
|
||||
SetFloatValue(PLAYER_SPELL_CRIT_PERCENTAGE1+i, 0.0f);
|
||||
SetFloatValue(PLAYER_SPELL_CRIT_PERCENTAGE1, 0.0f);
|
||||
|
||||
SetFloatValue(PLAYER_PARRY_PERCENTAGE, 0.0f);
|
||||
SetFloatValue(PLAYER_BLOCK_PERCENTAGE, 0.0f);
|
||||
@@ -16340,8 +16341,9 @@ bool Player::LoadFromDB(ObjectGuid guid, SQLQueryHolder *holder)
|
||||
SetByteValue(PLAYER_BYTES, PLAYER_BYTES_OFFSET_HAIR_STYLE_ID, fields[11].GetUInt8());
|
||||
SetByteValue(PLAYER_BYTES, PLAYER_BYTES_OFFSET_HAIR_COLOR_ID, fields[12].GetUInt8());
|
||||
SetByteValue(PLAYER_BYTES_2, PLAYER_BYTES_2_OFFSET_FACIAL_STYLE, fields[13].GetUInt8());
|
||||
SetByteValue(PLAYER_BYTES_2, PLAYER_BYTES_2_OFFSET_BANK_BAG_SLOTS, fields[17].GetUInt8());
|
||||
SetByteValue(PLAYER_BYTES_2, PLAYER_BYTES_2_OFFSET_REST_STATE, fields[18].GetUInt8());
|
||||
for (uint32 i = 0; i < PLAYER_CUSTOM_DISPLAY_SIZE; ++i)
|
||||
SetByteValue(PLAYER_BYTES_2, PLAYER_BYTES_2_OFFSET_CUSTOM_DISPLAY_OPTION + i, fields[14 + i].GetUInt8());
|
||||
SetBankBagSlotCount(fields[17].GetUInt8());
|
||||
SetByteValue(PLAYER_BYTES_3, PLAYER_BYTES_3_OFFSET_GENDER, gender);
|
||||
SetByteValue(PLAYER_BYTES_3, PLAYER_BYTES_3_OFFSET_INEBRIATION, fields[53].GetUInt8());
|
||||
SetUInt32Value(PLAYER_FLAGS, fields[19].GetUInt32());
|
||||
@@ -16773,6 +16775,7 @@ bool Player::LoadFromDB(ObjectGuid guid, SQLQueryHolder *holder)
|
||||
InitRunes();
|
||||
|
||||
// rest bonus can only be calculated after InitStatsForLevel()
|
||||
SetUInt32Value(PLAYER_FIELD_REST_INFO + REST_STATE_XP, fields[18].GetUInt8());
|
||||
m_rest_bonus = fields[29].GetFloat();
|
||||
|
||||
if (time_diff > 0)
|
||||
@@ -18552,11 +18555,10 @@ void Player::SaveToDB(bool create /*=false*/)
|
||||
stmt->setUInt8(index++, GetByteValue(PLAYER_BYTES, PLAYER_BYTES_OFFSET_HAIR_STYLE_ID));
|
||||
stmt->setUInt8(index++, GetByteValue(PLAYER_BYTES, PLAYER_BYTES_OFFSET_HAIR_COLOR_ID));
|
||||
stmt->setUInt8(index++, GetByteValue(PLAYER_BYTES_2, PLAYER_BYTES_2_OFFSET_FACIAL_STYLE));
|
||||
stmt->setUInt8(index++, 0);
|
||||
stmt->setUInt8(index++, 0);
|
||||
stmt->setUInt8(index++, 0);
|
||||
stmt->setUInt8(index++, GetByteValue(PLAYER_BYTES_2, PLAYER_BYTES_2_OFFSET_BANK_BAG_SLOTS));
|
||||
stmt->setUInt8(index++, GetByteValue(PLAYER_BYTES_2, PLAYER_BYTES_2_OFFSET_REST_STATE));
|
||||
for (uint32 i = 0; i < PLAYER_CUSTOM_DISPLAY_SIZE; ++i)
|
||||
stmt->setUInt8(index++, GetByteValue(PLAYER_BYTES_2, PLAYER_BYTES_2_OFFSET_CUSTOM_DISPLAY_OPTION + i));
|
||||
stmt->setUInt8(index++, GetBankBagSlotCount());
|
||||
stmt->setUInt8(index++, uint8(GetUInt32Value(PLAYER_FIELD_REST_INFO + REST_STATE_XP)));
|
||||
stmt->setUInt32(index++, GetUInt32Value(PLAYER_FLAGS));
|
||||
stmt->setUInt16(index++, (uint16)GetMapId());
|
||||
stmt->setUInt32(index++, (uint32)GetInstanceId());
|
||||
@@ -18682,11 +18684,10 @@ void Player::SaveToDB(bool create /*=false*/)
|
||||
stmt->setUInt8(index++, GetByteValue(PLAYER_BYTES, PLAYER_BYTES_OFFSET_HAIR_STYLE_ID));
|
||||
stmt->setUInt8(index++, GetByteValue(PLAYER_BYTES, PLAYER_BYTES_OFFSET_HAIR_COLOR_ID));
|
||||
stmt->setUInt8(index++, GetByteValue(PLAYER_BYTES_2, PLAYER_BYTES_2_OFFSET_FACIAL_STYLE));
|
||||
stmt->setUInt8(index++, 0);
|
||||
stmt->setUInt8(index++, 0);
|
||||
stmt->setUInt8(index++, 0);
|
||||
stmt->setUInt8(index++, GetByteValue(PLAYER_BYTES_2, PLAYER_BYTES_2_OFFSET_BANK_BAG_SLOTS));
|
||||
stmt->setUInt8(index++, GetByteValue(PLAYER_BYTES_2, PLAYER_BYTES_2_OFFSET_REST_STATE));
|
||||
for (uint32 i = 0; i < PLAYER_CUSTOM_DISPLAY_SIZE; ++i)
|
||||
stmt->setUInt8(index++, GetByteValue(PLAYER_BYTES_2, PLAYER_BYTES_2_OFFSET_CUSTOM_DISPLAY_OPTION + i));
|
||||
stmt->setUInt8(index++, GetBankBagSlotCount());
|
||||
stmt->setUInt8(index++, uint8(GetUInt32Value(PLAYER_FIELD_REST_INFO + REST_STATE_XP)));
|
||||
stmt->setUInt32(index++, GetUInt32Value(PLAYER_FLAGS));
|
||||
|
||||
if (!IsBeingTeleported())
|
||||
@@ -20601,17 +20602,17 @@ void Player::SetRestBonus(float rest_bonus_new)
|
||||
|
||||
// update data for client
|
||||
if ((GetsRecruitAFriendBonus(true) && (GetSession()->IsARecruiter() || GetSession()->GetRecruiterId() != 0)))
|
||||
SetByteValue(PLAYER_BYTES_2, PLAYER_BYTES_2_OFFSET_REST_STATE, REST_STATE_RAF_LINKED);
|
||||
SetUInt32Value(PLAYER_FIELD_REST_INFO + REST_STATE_XP, REST_STATE_RAF_LINKED);
|
||||
else
|
||||
{
|
||||
if (m_rest_bonus > 10)
|
||||
SetByteValue(PLAYER_BYTES_2, PLAYER_BYTES_2_OFFSET_REST_STATE, REST_STATE_RESTED);
|
||||
SetUInt32Value(PLAYER_FIELD_REST_INFO + REST_STATE_XP, REST_STATE_RESTED);
|
||||
else if (m_rest_bonus <= 1)
|
||||
SetByteValue(PLAYER_BYTES_2, PLAYER_BYTES_2_OFFSET_REST_STATE, REST_STATE_NOT_RAF_LINKED);
|
||||
SetUInt32Value(PLAYER_FIELD_REST_INFO + REST_STATE_XP, REST_STATE_NOT_RAF_LINKED);
|
||||
}
|
||||
|
||||
//RestTickUpdate
|
||||
SetUInt32Value(PLAYER_REST_STATE_EXPERIENCE, uint32(m_rest_bonus));
|
||||
SetUInt32Value(PLAYER_FIELD_REST_INFO + REST_RESTED_XP, uint32(m_rest_bonus));
|
||||
}
|
||||
|
||||
bool Player::ActivateTaxiPathTo(std::vector<uint32> const& nodes, Creature* npc /*= NULL*/, uint32 spellid /*= 0*/)
|
||||
@@ -21747,7 +21748,7 @@ void Player::SetBattlegroundEntryPoint()
|
||||
void Player::SetBGTeam(uint32 team)
|
||||
{
|
||||
m_bgData.bgTeam = team;
|
||||
SetByteValue(PLAYER_BYTES_3, PLAYER_BYTES_3_OFFSET_ARENA_FACTION, uint8(team == ALLIANCE ? 1 : 0));
|
||||
SetByteValue(PLAYER_BYTES_4, PLAYER_BYTES_4_OFFSET_ARENA_FACTION, uint8(team == ALLIANCE ? 1 : 0));
|
||||
}
|
||||
|
||||
uint32 Player::GetBGTeam() const
|
||||
@@ -24014,14 +24015,11 @@ void Player::InitGlyphsForLevel()
|
||||
|
||||
SetGlyphSlot(slot++, gs->ID);
|
||||
}
|
||||
|
||||
SetUInt32Value(PLAYER_GLYPHS_ENABLED, slotMask);
|
||||
}
|
||||
|
||||
void Player::SetGlyph(uint8 slot, uint32 glyph)
|
||||
{
|
||||
_talentMgr->GroupInfo[GetActiveTalentGroup()].Glyphs[slot] = glyph;
|
||||
SetUInt32Value(PLAYER_FIELD_GLYPHS_1 + slot, glyph);
|
||||
}
|
||||
|
||||
bool Player::isTotalImmune() const
|
||||
@@ -24097,18 +24095,17 @@ bool Player::isTotalImmunity() const
|
||||
return false;
|
||||
}
|
||||
|
||||
uint32 Player::GetRuneTypeBaseCooldown(RuneType runeType) const
|
||||
uint32 Player::GetRuneTypeBaseCooldown() const
|
||||
{
|
||||
float cooldown = RUNE_BASE_COOLDOWN;
|
||||
float hastePct;
|
||||
|
||||
AuraEffectList const& regenAura = GetAuraEffectsByType(SPELL_AURA_MOD_POWER_REGEN_PERCENT);
|
||||
for (AuraEffectList::const_iterator i = regenAura.begin();i != regenAura.end(); ++i)
|
||||
if ((*i)->GetMiscValue() == POWER_RUNES && (*i)->GetMiscValueB() == runeType)
|
||||
if ((*i)->GetMiscValue() == POWER_RUNES)
|
||||
cooldown *= 1.0f - (*i)->GetAmount() / 100.0f;
|
||||
|
||||
// Runes cooldown are now affected by player's haste from equipment ...
|
||||
hastePct = GetRatingBonusValue(CR_HASTE_MELEE);
|
||||
float hastePct = GetRatingBonusValue(CR_HASTE_MELEE);
|
||||
|
||||
// ... and some auras.
|
||||
hastePct += GetTotalAuraModifier(SPELL_AURA_MOD_MELEE_HASTE);
|
||||
@@ -24227,6 +24224,10 @@ void Player::InitRunes()
|
||||
if (getClass() != CLASS_DEATH_KNIGHT)
|
||||
return;
|
||||
|
||||
uint32 runeIndex = GetPowerIndex(POWER_RUNES);
|
||||
if (runeIndex == MAX_POWERS)
|
||||
return;
|
||||
|
||||
m_runes = new Runes;
|
||||
|
||||
m_runes->runeState = 0;
|
||||
@@ -24243,8 +24244,9 @@ void Player::InitRunes()
|
||||
m_runes->SetRuneState(i);
|
||||
}
|
||||
|
||||
for (uint8 i = 0; i < NUM_RUNE_TYPES; ++i)
|
||||
SetFloatValue(PLAYER_RUNE_REGEN_1 + i, 0.1f); // set a base regen timer equal to 10 sec
|
||||
// set a base regen timer equal to 10 sec
|
||||
SetStatFloatValue(UNIT_FIELD_POWER_REGEN_FLAT_MODIFIER + runeIndex, 0.1f);
|
||||
SetStatFloatValue(UNIT_FIELD_POWER_REGEN_INTERRUPTED_FLAT_MODIFIER + runeIndex, 0.1f);
|
||||
}
|
||||
|
||||
bool Player::IsBaseRuneSlotsOnCooldown(RuneType runeType) const
|
||||
|
||||
@@ -575,28 +575,32 @@ enum PlayerBytesOffsets
|
||||
|
||||
enum PlayerBytes2Offsets
|
||||
{
|
||||
PLAYER_BYTES_2_OFFSET_FACIAL_STYLE = 0,
|
||||
PLAYER_BYTES_2_OFFSET_PARTY_TYPE = 1,
|
||||
PLAYER_BYTES_2_OFFSET_BANK_BAG_SLOTS = 2,
|
||||
PLAYER_BYTES_2_OFFSET_REST_STATE = 3
|
||||
PLAYER_BYTES_2_OFFSET_CUSTOM_DISPLAY_OPTION = 0, // 3 bytes
|
||||
PLAYER_BYTES_2_OFFSET_FACIAL_STYLE = 3,
|
||||
};
|
||||
|
||||
#define PLAYER_CUSTOM_DISPLAY_SIZE 3
|
||||
|
||||
enum PlayerBytes3Offsets
|
||||
{
|
||||
PLAYER_BYTES_3_OFFSET_GENDER = 0,
|
||||
PLAYER_BYTES_3_OFFSET_INEBRIATION = 1,
|
||||
PLAYER_BYTES_3_OFFSET_PVP_TITLE = 2,
|
||||
PLAYER_BYTES_3_OFFSET_ARENA_FACTION = 3
|
||||
PLAYER_BYTES_3_OFFSET_PARTY_TYPE = 0,
|
||||
PLAYER_BYTES_3_OFFSET_BANK_BAG_SLOTS = 1,
|
||||
PLAYER_BYTES_3_OFFSET_GENDER = 2,
|
||||
PLAYER_BYTES_3_OFFSET_INEBRIATION = 3,
|
||||
};
|
||||
|
||||
enum PlayerBytes4Offsets
|
||||
{
|
||||
PLAYER_BYTES_4_OFFSET_PVP_TITLE = 0,
|
||||
PLAYER_BYTES_4_OFFSET_ARENA_FACTION = 1
|
||||
};
|
||||
|
||||
enum PlayerFieldBytesOffsets
|
||||
{
|
||||
PLAYER_FIELD_BYTES_OFFSET_RAF_GRANTABLE_LEVEL = 0,
|
||||
PLAYER_FIELD_BYTES_OFFSET_ACTION_BAR_TOGGLES = 1,
|
||||
PLAYER_FIELD_BYTES_OFFSET_PVP_RANK = 2,
|
||||
PLAYER_FIELD_BYTES_OFFSET_LIFETIME_MAX_PVP_RANK = 3
|
||||
PLAYER_FIELD_BYTES_OFFSET_RAF_GRANTABLE_LEVEL = 0,
|
||||
PLAYER_FIELD_BYTES_OFFSET_ACTION_BAR_TOGGLES = 1,
|
||||
PLAYER_FIELD_BYTES_OFFSET_LIFETIME_MAX_PVP_RANK = 2,
|
||||
PLAYER_FIELD_BYTES_OFFSET_MAX_ARTIFACT_POWER_RANKS = 3,
|
||||
};
|
||||
|
||||
enum PlayerFieldBytes2Offsets
|
||||
@@ -627,6 +631,16 @@ enum PlayerFieldKillsOffsets
|
||||
PLAYER_FIELD_KILLS_OFFSET_YESTERDAY_KILLS = 1
|
||||
};
|
||||
|
||||
enum PlayerRestInfoOffsets
|
||||
{
|
||||
REST_STATE_XP = 0,
|
||||
REST_RESTED_XP = 1,
|
||||
REST_STATE_HONOR = 2,
|
||||
REST_RESTED_HONOR = 3,
|
||||
|
||||
MAX_REST_INFO
|
||||
};
|
||||
|
||||
enum MirrorTimerType
|
||||
{
|
||||
FATIGUE_TIMER = 0,
|
||||
@@ -1161,6 +1175,8 @@ struct TC_GAME_API PlayerTalentInfo
|
||||
memset(GroupInfo[i].Glyphs, 0, MAX_GLYPH_SLOT_INDEX * sizeof(uint32));
|
||||
GroupInfo[i].SpecId = 0;
|
||||
}
|
||||
|
||||
GlyphSlots.fill(0);
|
||||
}
|
||||
|
||||
~PlayerTalentInfo()
|
||||
@@ -1181,6 +1197,8 @@ struct TC_GAME_API PlayerTalentInfo
|
||||
uint8 ActiveGroup;
|
||||
uint8 GroupsCount;
|
||||
|
||||
std::array<uint32, MAX_GLYPH_SLOT_INDEX> GlyphSlots;
|
||||
|
||||
private:
|
||||
PlayerTalentInfo(PlayerTalentInfo const&);
|
||||
};
|
||||
@@ -1347,8 +1365,8 @@ class TC_GAME_API Player : public Unit, public GridObject<Player>
|
||||
static bool IsBankPos(uint8 bag, uint8 slot);
|
||||
bool IsValidPos(uint16 pos, bool explicit_pos) const { return IsValidPos(pos >> 8, pos & 255, explicit_pos); }
|
||||
bool IsValidPos(uint8 bag, uint8 slot, bool explicit_pos) const;
|
||||
uint8 GetBankBagSlotCount() const { return GetByteValue(PLAYER_BYTES_2, PLAYER_BYTES_2_OFFSET_BANK_BAG_SLOTS); }
|
||||
void SetBankBagSlotCount(uint8 count) { SetByteValue(PLAYER_BYTES_2, PLAYER_BYTES_2_OFFSET_BANK_BAG_SLOTS, count); }
|
||||
uint8 GetBankBagSlotCount() const { return GetByteValue(PLAYER_BYTES_3, PLAYER_BYTES_3_OFFSET_BANK_BAG_SLOTS); }
|
||||
void SetBankBagSlotCount(uint8 count) { SetByteValue(PLAYER_BYTES_3, PLAYER_BYTES_3_OFFSET_BANK_BAG_SLOTS, count); }
|
||||
bool HasItemCount(uint32 item, uint32 count = 1, bool inBankAlso = false) const;
|
||||
bool HasItemFitToSpellRequirements(SpellInfo const* spellInfo, Item const* ignoreItem = nullptr) const;
|
||||
bool CanNoReagentCast(SpellInfo const* spellInfo) const;
|
||||
@@ -1789,9 +1807,9 @@ class TC_GAME_API Player : public Unit, public GridObject<Player>
|
||||
void ActivateTalentGroup(uint8 group);
|
||||
|
||||
void InitGlyphsForLevel();
|
||||
void SetGlyphSlot(uint8 slot, uint32 slottype) { SetUInt32Value(PLAYER_FIELD_GLYPH_SLOTS_1 + slot, slottype); }
|
||||
void SetGlyphSlot(uint8 slot, uint32 slottype) { _talentMgr->GlyphSlots[slot] = slottype; }
|
||||
|
||||
uint32 GetGlyphSlot(uint8 slot) const { return GetUInt32Value(PLAYER_FIELD_GLYPH_SLOTS_1 + slot); }
|
||||
uint32 GetGlyphSlot(uint8 slot) const { return _talentMgr->GlyphSlots[slot]; }
|
||||
void SetGlyph(uint8 slot, uint32 glyph);
|
||||
uint32 GetGlyph(uint8 group, uint8 slot) const { return _talentMgr->GroupInfo[group].Glyphs[slot]; }
|
||||
|
||||
@@ -1971,7 +1989,6 @@ class TC_GAME_API Player : public Unit, public GridObject<Player>
|
||||
void ApplyManaRegenBonus(int32 amount, bool apply);
|
||||
void ApplyHealthRegenBonus(int32 amount, bool apply);
|
||||
void UpdateManaRegen();
|
||||
void UpdateRuneRegen(RuneType rune);
|
||||
uint32 GetRuneTimer(uint8 index) const { return m_runeGraceCooldown[index]; }
|
||||
void SetRuneTimer(uint8 index, uint32 timer) { m_runeGraceCooldown[index] = timer; }
|
||||
uint32 GetLastRuneGraceTimer(uint8 index) const { return m_lastRuneGraceTimers[index]; }
|
||||
@@ -2411,8 +2428,8 @@ class TC_GAME_API Player : public Unit, public GridObject<Player>
|
||||
RuneType GetBaseRune(uint8 index) const { return RuneType(m_runes->runes[index].BaseRune); }
|
||||
RuneType GetCurrentRune(uint8 index) const { return RuneType(m_runes->runes[index].CurrentRune); }
|
||||
uint32 GetRuneCooldown(uint8 index) const { return m_runes->runes[index].Cooldown; }
|
||||
uint32 GetRuneBaseCooldown(uint8 index) const { return GetRuneTypeBaseCooldown(GetBaseRune(index)); }
|
||||
uint32 GetRuneTypeBaseCooldown(RuneType runeType) const;
|
||||
uint32 GetRuneBaseCooldown(uint8 index) const { return GetRuneTypeBaseCooldown(); }
|
||||
uint32 GetRuneTypeBaseCooldown() const;
|
||||
bool IsBaseRuneSlotsOnCooldown(RuneType runeType) const;
|
||||
RuneType GetLastUsedRune() const { return m_runes->lastUsedRune; }
|
||||
void SetLastUsedRune(RuneType type) { m_runes->lastUsedRune = type; }
|
||||
|
||||
@@ -752,6 +752,10 @@ void Player::ApplyHealthRegenBonus(int32 amount, bool apply)
|
||||
|
||||
void Player::UpdateManaRegen()
|
||||
{
|
||||
uint32 manaIndex = GetPowerIndex(POWER_MANA);
|
||||
if (manaIndex == MAX_POWERS)
|
||||
return;
|
||||
|
||||
// Mana regen from spirit
|
||||
float spirit_regen = OCTRegenMPPerSpirit();
|
||||
// Apply PCT bonus from SPELL_AURA_MOD_POWER_REGEN_PERCENT aura on spirit base regen
|
||||
@@ -763,36 +767,22 @@ void Player::UpdateManaRegen()
|
||||
// Set regen rate in cast state apply only on spirit based regen
|
||||
int32 modManaRegenInterrupt = GetTotalAuraModifier(SPELL_AURA_MOD_MANA_REGEN_INTERRUPT);
|
||||
|
||||
SetStatFloatValue(UNIT_FIELD_POWER_REGEN_INTERRUPTED_FLAT_MODIFIER, base_regen + CalculatePct(spirit_regen, modManaRegenInterrupt));
|
||||
SetStatFloatValue(UNIT_FIELD_POWER_REGEN_FLAT_MODIFIER, 0.001f + spirit_regen + base_regen);
|
||||
}
|
||||
|
||||
void Player::UpdateRuneRegen(RuneType rune)
|
||||
{
|
||||
if (rune >= NUM_RUNE_TYPES)
|
||||
return;
|
||||
|
||||
uint32 cooldown = 0;
|
||||
|
||||
for (uint32 i = 0; i < MAX_RUNES; ++i)
|
||||
if (GetBaseRune(i) == rune)
|
||||
{
|
||||
cooldown = GetRuneBaseCooldown(i);
|
||||
break;
|
||||
}
|
||||
|
||||
if (cooldown <= 0)
|
||||
return;
|
||||
|
||||
float regen = float(1 * IN_MILLISECONDS) / float(cooldown);
|
||||
SetFloatValue(PLAYER_RUNE_REGEN_1 + uint8(rune), regen);
|
||||
SetStatFloatValue(UNIT_FIELD_POWER_REGEN_INTERRUPTED_FLAT_MODIFIER + manaIndex, base_regen + CalculatePct(spirit_regen, modManaRegenInterrupt));
|
||||
SetStatFloatValue(UNIT_FIELD_POWER_REGEN_FLAT_MODIFIER + manaIndex, 0.001f + spirit_regen + base_regen);
|
||||
}
|
||||
|
||||
void Player::UpdateAllRunesRegen()
|
||||
{
|
||||
for (uint8 i = 0; i < NUM_RUNE_TYPES; ++i)
|
||||
if (uint32 cooldown = GetRuneTypeBaseCooldown(RuneType(i)))
|
||||
SetFloatValue(PLAYER_RUNE_REGEN_1 + i, float(1 * IN_MILLISECONDS) / float(cooldown));
|
||||
if (getClass() != CLASS_DEATH_KNIGHT)
|
||||
return;
|
||||
|
||||
uint32 runeIndex = GetPowerIndex(POWER_RUNES);
|
||||
if (runeIndex == MAX_POWERS)
|
||||
return;
|
||||
|
||||
uint32 cooldown = GetRuneTypeBaseCooldown();
|
||||
SetStatFloatValue(UNIT_FIELD_POWER_REGEN_FLAT_MODIFIER + runeIndex, float(1 * IN_MILLISECONDS) / float(cooldown));
|
||||
SetStatFloatValue(UNIT_FIELD_POWER_REGEN_INTERRUPTED_FLAT_MODIFIER + runeIndex, float(1 * IN_MILLISECONDS) / float(cooldown));
|
||||
}
|
||||
|
||||
void Player::_ApplyAllStatBonuses()
|
||||
|
||||
@@ -8234,7 +8234,7 @@ float Unit::GetUnitSpellCriticalChance(Unit* victim, SpellInfo const* spellProto
|
||||
crit_chance = 0.0f;
|
||||
// For other schools
|
||||
else if (GetTypeId() == TYPEID_PLAYER)
|
||||
crit_chance = GetFloatValue(PLAYER_SPELL_CRIT_PERCENTAGE1 + GetFirstSchoolInMask(schoolMask));
|
||||
crit_chance = GetFloatValue(PLAYER_SPELL_CRIT_PERCENTAGE1);
|
||||
else
|
||||
{
|
||||
crit_chance = (float)m_baseSpellCritChance;
|
||||
|
||||
@@ -4024,7 +4024,7 @@ void AuraEffect::HandleModPowerRegen(AuraApplication const* aurApp, uint8 mode,
|
||||
if (GetMiscValue() == POWER_MANA)
|
||||
target->ToPlayer()->UpdateManaRegen();
|
||||
else if (GetMiscValue() == POWER_RUNES)
|
||||
target->ToPlayer()->UpdateRuneRegen(RuneType(GetMiscValueB()));
|
||||
target->ToPlayer()->UpdateAllRunesRegen();
|
||||
// other powers are not immediate effects - implemented in Player::Regenerate, Creature::Regenerate
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user