diff options
Diffstat (limited to 'src')
47 files changed, 3299 insertions, 1773 deletions
diff --git a/src/server/game/AI/CoreAI/PassiveAI.cpp b/src/server/game/AI/CoreAI/PassiveAI.cpp index 3ae73636619..a717cbbe2f1 100644 --- a/src/server/game/AI/CoreAI/PassiveAI.cpp +++ b/src/server/game/AI/CoreAI/PassiveAI.cpp @@ -49,14 +49,14 @@ void PossessedAI::UpdateAI(uint32 /*diff*/) void PossessedAI::JustDied(Unit* /*u*/) { // We died while possessed, disable our loot - me->RemoveFlag(UNIT_DYNAMIC_FLAGS, UNIT_DYNFLAG_LOOTABLE); + me->RemoveFlag(OBJECT_DYNAMIC_FLAGS, UNIT_DYNFLAG_LOOTABLE); } void PossessedAI::KilledUnit(Unit* victim) { // We killed a creature, disable victim's loot if (victim->GetTypeId() == TYPEID_UNIT) - victim->RemoveFlag(UNIT_DYNAMIC_FLAGS, UNIT_DYNFLAG_LOOTABLE); + victim->RemoveFlag(OBJECT_DYNAMIC_FLAGS, UNIT_DYNFLAG_LOOTABLE); } void CritterAI::DamageTaken(Unit* /*done_by*/, uint32&) diff --git a/src/server/game/AI/SmartScripts/SmartScript.cpp b/src/server/game/AI/SmartScripts/SmartScript.cpp index 6fea7a7acc2..9a2e43e79ff 100644 --- a/src/server/game/AI/SmartScripts/SmartScript.cpp +++ b/src/server/game/AI/SmartScripts/SmartScript.cpp @@ -1908,7 +1908,7 @@ void SmartScript::ProcessAction(SmartScriptHolder& e, Unit* unit, uint32 var0, u for (ObjectList::const_iterator itr = targets->begin(); itr != targets->end(); ++itr) if (IsUnit(*itr)) - (*itr)->ToUnit()->SetUInt32Value(UNIT_DYNAMIC_FLAGS, e.action.unitFlag.flag); + (*itr)->ToUnit()->SetUInt32Value(OBJECT_DYNAMIC_FLAGS, e.action.unitFlag.flag); delete targets; break; @@ -1921,7 +1921,7 @@ void SmartScript::ProcessAction(SmartScriptHolder& e, Unit* unit, uint32 var0, u for (ObjectList::const_iterator itr = targets->begin(); itr != targets->end(); ++itr) if (IsUnit(*itr)) - (*itr)->ToUnit()->SetFlag(UNIT_DYNAMIC_FLAGS, e.action.unitFlag.flag); + (*itr)->ToUnit()->SetFlag(OBJECT_DYNAMIC_FLAGS, e.action.unitFlag.flag); delete targets; break; @@ -1934,7 +1934,7 @@ void SmartScript::ProcessAction(SmartScriptHolder& e, Unit* unit, uint32 var0, u for (ObjectList::const_iterator itr = targets->begin(); itr != targets->end(); ++itr) if (IsUnit(*itr)) - (*itr)->ToUnit()->RemoveFlag(UNIT_DYNAMIC_FLAGS, e.action.unitFlag.flag); + (*itr)->ToUnit()->RemoveFlag(OBJECT_DYNAMIC_FLAGS, e.action.unitFlag.flag); delete targets; break; diff --git a/src/server/game/Entities/AreaTrigger/AreaTrigger.cpp b/src/server/game/Entities/AreaTrigger/AreaTrigger.cpp index 71836fb5210..c6ef9546b70 100644 --- a/src/server/game/Entities/AreaTrigger/AreaTrigger.cpp +++ b/src/server/game/Entities/AreaTrigger/AreaTrigger.cpp @@ -29,6 +29,7 @@ AreaTrigger::AreaTrigger() : WorldObject(false), _duration(0) m_updateFlag = UPDATEFLAG_STATIONARY_POSITION; m_valuesCount = AREATRIGGER_END; + _dynamicValuesCount = AREATRIGGER_DYNAMIC_END; } AreaTrigger::~AreaTrigger() @@ -71,12 +72,10 @@ bool AreaTrigger::CreateAreaTrigger(ObjectGuid::LowType guidlow, uint32 triggerE SetDuration(spell->GetDuration()); SetObjectScale(1); + SetGuidValue(AREATRIGGER_CASTER, caster->GetGUID()); SetUInt32Value(AREATRIGGER_SPELLID, spell->Id); SetUInt32Value(AREATRIGGER_SPELLVISUALID, spell->SpellVisual[0]); SetUInt32Value(AREATRIGGER_DURATION, spell->GetDuration()); - SetFloatValue(AREATRIGGER_FINAL_POS + 0, pos.GetPositionX()); - SetFloatValue(AREATRIGGER_FINAL_POS + 1, pos.GetPositionY()); - SetFloatValue(AREATRIGGER_FINAL_POS + 2, pos.GetPositionZ()); for (auto phase : caster->GetPhases()) SetInPhase(phase, false, true); diff --git a/src/server/game/Entities/Corpse/Corpse.cpp b/src/server/game/Entities/Corpse/Corpse.cpp index 052e91640a2..955e608c72c 100644 --- a/src/server/game/Entities/Corpse/Corpse.cpp +++ b/src/server/game/Entities/Corpse/Corpse.cpp @@ -34,6 +34,7 @@ Corpse::Corpse(CorpseType type) : WorldObject(type != CORPSE_BONES), m_type(type m_updateFlag = UPDATEFLAG_STATIONARY_POSITION; m_valuesCount = CORPSE_END; + _dynamicValuesCount = CORPSE_DYNAMIC_END; m_time = time(NULL); diff --git a/src/server/game/Entities/Creature/Creature.cpp b/src/server/game/Entities/Creature/Creature.cpp index bea37cec080..fce6ac71815 100644 --- a/src/server/game/Entities/Creature/Creature.cpp +++ b/src/server/game/Entities/Creature/Creature.cpp @@ -151,6 +151,7 @@ m_originalEntry(0), m_homePosition(), m_transportHomePosition(), m_creatureInfo( { m_regenTimer = CREATURE_REGEN_INTERVAL; m_valuesCount = UNIT_END; + _dynamicValuesCount = UNIT_DYNAMIC_END; for (uint8 i = 0; i < CREATURE_MAX_SPELLS; ++i) m_spells[i] = 0; @@ -381,7 +382,7 @@ bool Creature::UpdateEntry(uint32 entry, CreatureData const* data /*= nullptr*/) SetUInt32Value(UNIT_FIELD_FLAGS, unit_flags); SetUInt32Value(UNIT_FIELD_FLAGS_2, cInfo->unit_flags2); - SetUInt32Value(UNIT_DYNAMIC_FLAGS, dynamicflags); + SetUInt32Value(OBJECT_DYNAMIC_FLAGS, dynamicflags); RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IN_COMBAT); @@ -898,7 +899,7 @@ void Creature::SetLootRecipient(Unit* unit) { m_lootRecipient.Clear(); m_lootRecipientGroup.Clear(); - RemoveFlag(UNIT_DYNAMIC_FLAGS, UNIT_DYNFLAG_LOOTABLE|UNIT_DYNFLAG_TAPPED); + RemoveFlag(OBJECT_DYNAMIC_FLAGS, UNIT_DYNFLAG_LOOTABLE | UNIT_DYNFLAG_TAPPED); return; } @@ -913,7 +914,7 @@ void Creature::SetLootRecipient(Unit* unit) if (Group* group = player->GetGroup()) m_lootRecipientGroup = group->GetGUID(); - SetFlag(UNIT_DYNAMIC_FLAGS, UNIT_DYNFLAG_TAPPED); + SetFlag(OBJECT_DYNAMIC_FLAGS, UNIT_DYNFLAG_TAPPED); } // return true if this creature is tapped by the player or by a member of his group. @@ -955,7 +956,7 @@ void Creature::SaveToDB(uint32 mapid, uint8 spawnMask, uint32 phaseMask) uint32 displayId = GetNativeDisplayId(); uint32 npcflag = GetUInt32Value(UNIT_NPC_FLAGS); uint32 unit_flags = GetUInt32Value(UNIT_FIELD_FLAGS); - uint32 dynamicflags = GetUInt32Value(UNIT_DYNAMIC_FLAGS); + uint32 dynamicflags = GetUInt32Value(OBJECT_DYNAMIC_FLAGS); // check if it's a custom model and if not, use 0 for displayId CreatureTemplate const* cinfo = GetCreatureTemplate(); diff --git a/src/server/game/Entities/DynamicObject/DynamicObject.cpp b/src/server/game/Entities/DynamicObject/DynamicObject.cpp index 1d3ea42a4df..893e77631e1 100644 --- a/src/server/game/Entities/DynamicObject/DynamicObject.cpp +++ b/src/server/game/Entities/DynamicObject/DynamicObject.cpp @@ -37,6 +37,7 @@ DynamicObject::DynamicObject(bool isWorldObject) : WorldObject(isWorldObject), m_updateFlag = UPDATEFLAG_STATIONARY_POSITION; m_valuesCount = DYNAMICOBJECT_END; + _dynamicValuesCount = DYNAMICOBJECT_DYNAMIC_END; } DynamicObject::~DynamicObject() diff --git a/src/server/game/Entities/GameObject/GameObject.cpp b/src/server/game/Entities/GameObject/GameObject.cpp index f5facec6ba4..d42a8f60cff 100644 --- a/src/server/game/Entities/GameObject/GameObject.cpp +++ b/src/server/game/Entities/GameObject/GameObject.cpp @@ -44,6 +44,7 @@ GameObject::GameObject() : WorldObject(false), MapObject(), m_updateFlag = (UPDATEFLAG_STATIONARY_POSITION | UPDATEFLAG_ROTATION); m_valuesCount = GAMEOBJECT_END; + _dynamicValuesCount = GAMEOBJECT_DYNAMIC_END; m_respawnTime = 0; m_respawnDelayTime = 300; m_lootState = GO_NOT_READY; @@ -2263,7 +2264,7 @@ void GameObject::BuildValuesUpdate(uint8 updateType, ByteBuffer* data, Player* t { updateMask.SetBit(index); - if (index == GAMEOBJECT_DYNAMIC) + if (index == OBJECT_DYNAMIC_FLAGS) { uint16 dynFlags = 0; int16 pathProgress = -1; diff --git a/src/server/game/Entities/GameObject/GameObject.h b/src/server/game/Entities/GameObject/GameObject.h index 07df49485fc..9fba8da35c7 100644 --- a/src/server/game/Entities/GameObject/GameObject.h +++ b/src/server/game/Entities/GameObject/GameObject.h @@ -686,9 +686,9 @@ class GameObject : public WorldObject, public GridObject<GameObject>, public Map ASSERT(false); } m_spawnedByDefault = false; // all object with owner is despawned after delay - SetGuidValue(OBJECT_FIELD_CREATED_BY, owner); + SetGuidValue(GAMEOBJECT_FIELD_CREATED_BY, owner); } - ObjectGuid GetOwnerGUID() const { return GetGuidValue(OBJECT_FIELD_CREATED_BY); } + ObjectGuid GetOwnerGUID() const { return GetGuidValue(GAMEOBJECT_FIELD_CREATED_BY); } Unit* GetOwner() const; void SetSpellId(uint32 id) diff --git a/src/server/game/Entities/Item/Container/Bag.cpp b/src/server/game/Entities/Item/Container/Bag.cpp index b1b06da4cda..8a2fbfa76fe 100644 --- a/src/server/game/Entities/Item/Container/Bag.cpp +++ b/src/server/game/Entities/Item/Container/Bag.cpp @@ -31,6 +31,7 @@ Bag::Bag(): Item() m_objectTypeId = TYPEID_CONTAINER; m_valuesCount = CONTAINER_END; + _dynamicValuesCount = CONTAINER_DYNAMIC_END; memset(m_bagslot, 0, sizeof(Item*) * MAX_BAG_SIZE); } @@ -97,7 +98,7 @@ bool Bag::Create(ObjectGuid::LowType guidlow, uint32 itemid, Player const* owner // Cleaning 20 slots for (uint8 i = 0; i < MAX_BAG_SIZE; ++i) { - SetGuidValue(CONTAINER_FIELD_SLOT_1 + (i*2), ObjectGuid::Empty); + SetGuidValue(CONTAINER_FIELD_SLOT_1 + (i * 4), ObjectGuid::Empty); m_bagslot[i] = NULL; } @@ -119,7 +120,7 @@ bool Bag::LoadFromDB(ObjectGuid::LowType guid, ObjectGuid owner_guid, Field* fie // cleanup bag content related item value fields (its will be filled correctly from `character_inventory`) for (uint8 i = 0; i < MAX_BAG_SIZE; ++i) { - SetGuidValue(CONTAINER_FIELD_SLOT_1 + (i * 2), ObjectGuid::Empty); + SetGuidValue(CONTAINER_FIELD_SLOT_1 + (i * 4), ObjectGuid::Empty); delete m_bagslot[i]; m_bagslot[i] = NULL; } @@ -154,7 +155,7 @@ void Bag::RemoveItem(uint8 slot, bool /*update*/) m_bagslot[slot]->SetContainer(NULL); m_bagslot[slot] = NULL; - SetGuidValue(CONTAINER_FIELD_SLOT_1 + (slot * 2), ObjectGuid::Empty); + SetGuidValue(CONTAINER_FIELD_SLOT_1 + (slot * 4), ObjectGuid::Empty); } void Bag::StoreItem(uint8 slot, Item* pItem, bool /*update*/) @@ -164,7 +165,7 @@ void Bag::StoreItem(uint8 slot, Item* pItem, bool /*update*/) if (pItem && pItem->GetGUID() != this->GetGUID()) { m_bagslot[slot] = pItem; - SetGuidValue(CONTAINER_FIELD_SLOT_1 + (slot * 2), pItem->GetGUID()); + SetGuidValue(CONTAINER_FIELD_SLOT_1 + (slot * 4), pItem->GetGUID()); pItem->SetGuidValue(ITEM_FIELD_CONTAINED, GetGUID()); pItem->SetGuidValue(ITEM_FIELD_OWNER, GetOwnerGUID()); pItem->SetContainer(this); diff --git a/src/server/game/Entities/Item/Item.cpp b/src/server/game/Entities/Item/Item.cpp index 5ec4b917208..f2b86727af0 100644 --- a/src/server/game/Entities/Item/Item.cpp +++ b/src/server/game/Entities/Item/Item.cpp @@ -247,6 +247,7 @@ Item::Item() m_updateFlag = 0; m_valuesCount = ITEM_END; + _dynamicValuesCount = ITEM_DYNAMIC_END; m_slot = 0; uState = ITEM_NEW; uQueuePos = -1; @@ -268,7 +269,7 @@ bool Item::Create(ObjectGuid::LowType guidlow, uint32 itemid, Player const* owne if (owner) { - SetGuidValue(ITEM_FIELD_OWNER, owner->GetGUID()); + SetOwnerGUID(owner->GetGUID()); SetGuidValue(ITEM_FIELD_CONTAINED, owner->GetGUID()); } @@ -450,7 +451,7 @@ bool Item::LoadFromDB(ObjectGuid::LowType guid, ObjectGuid owner_guid, Field* fi } std::string enchants = fields[6].GetString(); - _LoadIntoDataField(enchants.c_str(), ITEM_FIELD_ENCHANTMENT_1_1, MAX_ENCHANTMENT_SLOT * MAX_ENCHANTMENT_OFFSET); + _LoadIntoDataField(enchants.c_str(), ITEM_FIELD_ENCHANTMENT, MAX_ENCHANTMENT_SLOT * MAX_ENCHANTMENT_OFFSET); SetInt32Value(ITEM_FIELD_RANDOM_PROPERTIES_ID, fields[7].GetInt16()); // recalculate suffix factor if (GetItemRandomPropertyId() < 0) @@ -881,9 +882,9 @@ void Item::SetEnchantment(EnchantmentSlot slot, uint32 id, uint32 duration, uint owner->GetSession()->SendEnchantmentLog(GetOwnerGUID(), caster, GetEntry(), id); } - SetUInt32Value(ITEM_FIELD_ENCHANTMENT_1_1 + slot*MAX_ENCHANTMENT_OFFSET + ENCHANTMENT_ID_OFFSET, id); - SetUInt32Value(ITEM_FIELD_ENCHANTMENT_1_1 + slot*MAX_ENCHANTMENT_OFFSET + ENCHANTMENT_DURATION_OFFSET, duration); - SetUInt32Value(ITEM_FIELD_ENCHANTMENT_1_1 + slot*MAX_ENCHANTMENT_OFFSET + ENCHANTMENT_CHARGES_OFFSET, charges); + SetUInt32Value(ITEM_FIELD_ENCHANTMENT + slot*MAX_ENCHANTMENT_OFFSET + ENCHANTMENT_ID_OFFSET, id); + SetUInt32Value(ITEM_FIELD_ENCHANTMENT + slot*MAX_ENCHANTMENT_OFFSET + ENCHANTMENT_DURATION_OFFSET, duration); + SetUInt32Value(ITEM_FIELD_ENCHANTMENT + slot*MAX_ENCHANTMENT_OFFSET + ENCHANTMENT_CHARGES_OFFSET, charges); SetState(ITEM_CHANGED, owner); } @@ -892,7 +893,7 @@ void Item::SetEnchantmentDuration(EnchantmentSlot slot, uint32 duration, Player* if (GetEnchantmentDuration(slot) == duration) return; - SetUInt32Value(ITEM_FIELD_ENCHANTMENT_1_1 + slot*MAX_ENCHANTMENT_OFFSET + ENCHANTMENT_DURATION_OFFSET, duration); + SetUInt32Value(ITEM_FIELD_ENCHANTMENT + slot*MAX_ENCHANTMENT_OFFSET + ENCHANTMENT_DURATION_OFFSET, duration); SetState(ITEM_CHANGED, owner); // Cannot use GetOwner() here, has to be passed as an argument to avoid freeze due to hashtable locking } @@ -902,7 +903,7 @@ void Item::SetEnchantmentCharges(EnchantmentSlot slot, uint32 charges) if (GetEnchantmentCharges(slot) == charges) return; - SetUInt32Value(ITEM_FIELD_ENCHANTMENT_1_1 + slot*MAX_ENCHANTMENT_OFFSET + ENCHANTMENT_CHARGES_OFFSET, charges); + SetUInt32Value(ITEM_FIELD_ENCHANTMENT + slot*MAX_ENCHANTMENT_OFFSET + ENCHANTMENT_CHARGES_OFFSET, charges); SetState(ITEM_CHANGED, GetOwner()); } @@ -912,7 +913,7 @@ void Item::ClearEnchantment(EnchantmentSlot slot) return; for (uint8 x = 0; x < MAX_ITEM_ENCHANTMENT_EFFECTS; ++x) - SetUInt32Value(ITEM_FIELD_ENCHANTMENT_1_1 + slot*MAX_ENCHANTMENT_OFFSET + x, 0); + SetUInt32Value(ITEM_FIELD_ENCHANTMENT + slot*MAX_ENCHANTMENT_OFFSET + x, 0); SetState(ITEM_CHANGED, GetOwner()); } diff --git a/src/server/game/Entities/Item/Item.h b/src/server/game/Entities/Item/Item.h index d7d40b53f97..6d60eb2466a 100644 --- a/src/server/game/Entities/Item/Item.h +++ b/src/server/game/Entities/Item/Item.h @@ -300,9 +300,9 @@ class Item : public Object void SetEnchantmentDuration(EnchantmentSlot slot, uint32 duration, Player* owner); void SetEnchantmentCharges(EnchantmentSlot slot, uint32 charges); void ClearEnchantment(EnchantmentSlot slot); - uint32 GetEnchantmentId(EnchantmentSlot slot) const { return GetUInt32Value(ITEM_FIELD_ENCHANTMENT_1_1 + slot*MAX_ENCHANTMENT_OFFSET + ENCHANTMENT_ID_OFFSET);} - uint32 GetEnchantmentDuration(EnchantmentSlot slot) const { return GetUInt32Value(ITEM_FIELD_ENCHANTMENT_1_1 + slot*MAX_ENCHANTMENT_OFFSET + ENCHANTMENT_DURATION_OFFSET);} - uint32 GetEnchantmentCharges(EnchantmentSlot slot) const { return GetUInt32Value(ITEM_FIELD_ENCHANTMENT_1_1 + slot*MAX_ENCHANTMENT_OFFSET + ENCHANTMENT_CHARGES_OFFSET);} + uint32 GetEnchantmentId(EnchantmentSlot slot) const { return GetUInt32Value(ITEM_FIELD_ENCHANTMENT + slot*MAX_ENCHANTMENT_OFFSET + ENCHANTMENT_ID_OFFSET);} + uint32 GetEnchantmentDuration(EnchantmentSlot slot) const { return GetUInt32Value(ITEM_FIELD_ENCHANTMENT + slot*MAX_ENCHANTMENT_OFFSET + ENCHANTMENT_DURATION_OFFSET);} + uint32 GetEnchantmentCharges(EnchantmentSlot slot) const { return GetUInt32Value(ITEM_FIELD_ENCHANTMENT + slot*MAX_ENCHANTMENT_OFFSET + ENCHANTMENT_CHARGES_OFFSET);} std::string const& GetText() const { return m_text; } void SetText(std::string const& text) { m_text = text; } diff --git a/src/server/game/Entities/Object/Object.cpp b/src/server/game/Entities/Object/Object.cpp index 8f58ea156f2..6b418d10897 100644 --- a/src/server/game/Entities/Object/Object.cpp +++ b/src/server/game/Entities/Object/Object.cpp @@ -59,8 +59,11 @@ Object::Object() m_objectType = TYPEMASK_OBJECT; m_updateFlag = UPDATEFLAG_NONE; - m_uint32Values = NULL; + m_uint32Values = nullptr; + _dynamicValues = nullptr; + _dynamicChangesArrayMask = nullptr; m_valuesCount = 0; + _dynamicValuesCount = 0; _fieldNotifyFlags = UF_FLAG_DYNAMIC; m_inWorld = false; @@ -100,8 +103,14 @@ Object::~Object() sObjectAccessor->RemoveUpdateObject(this); } - delete [] m_uint32Values; + delete[] m_uint32Values; m_uint32Values = nullptr; + + delete[] _dynamicValues; + _dynamicValues = nullptr; + + delete[] _dynamicChangesArrayMask; + _dynamicChangesArrayMask = nullptr; } void Object::_InitValues() @@ -111,6 +120,13 @@ void Object::_InitValues() _changesMask.SetCount(m_valuesCount); + _dynamicChangesMask.SetCount(_dynamicValuesCount); + if (_dynamicValuesCount) + { + _dynamicValues = new std::vector<uint32>[_dynamicValuesCount]; + _dynamicChangesArrayMask = new UpdateMask[_dynamicValuesCount]; + } + m_objectUpdated = false; } @@ -231,6 +247,7 @@ void Object::BuildCreateUpdateBlockForPlayer(UpdateData* data, Player* target) c BuildMovementUpdate(&buf, flags); BuildValuesUpdate(updateType, &buf, target); + BuildDynamicValuesUpdate(updateType, &buf, target); data->AddUpdateBlock(buf); } @@ -253,6 +270,7 @@ void Object::BuildValuesUpdateBlockForPlayer(UpdateData* data, Player* target) c buf << GetPackGUID(); BuildValuesUpdate(UPDATETYPE_VALUES, &buf, target); + BuildDynamicValuesUpdate(UPDATETYPE_VALUES, &buf, target); data->AddUpdateBlock(buf); } @@ -691,9 +709,55 @@ void Object::BuildValuesUpdate(uint8 updateType, ByteBuffer* data, Player* targe data->append(fieldBuffer); } +void Object::BuildDynamicValuesUpdate(uint8 updateType, ByteBuffer* data, Player* target) const +{ + if (!target) + return; + + ByteBuffer fieldBuffer; + UpdateMask updateMask; + updateMask.SetCount(_dynamicValuesCount); + + uint32* flags = nullptr; + uint32 visibleFlag = GetDynamicUpdateFieldData(target, flags); + + for (uint16 index = 0; index < _dynamicValuesCount; ++index) + { + ByteBuffer buffer; + std::vector<uint32> const& values = _dynamicValues[index]; + if (_fieldNotifyFlags & flags[index] || + ((updateType == UPDATETYPE_VALUES ? _dynamicChangesMask.GetBit(index) : !values.empty()) && (flags[index] & visibleFlag))) + { + updateMask.SetBit(index); + + UpdateMask arrayMask; + arrayMask.SetCount(values.size()); + for (std::size_t v = 0; v < values.size(); ++v) + { + if (updateType != UPDATETYPE_VALUES || _dynamicChangesArrayMask[index].GetBit(v)) + { + arrayMask.SetBit(v); + buffer << uint32(values[v]); + } + } + + fieldBuffer << uint8(arrayMask.GetBlockCount()); + arrayMask.AppendToPacket(&fieldBuffer); + fieldBuffer.append(buffer); + } + } + + *data << uint8(updateMask.GetBlockCount()); + updateMask.AppendToPacket(data); + data->append(fieldBuffer); +} + void Object::ClearUpdateMask(bool remove) { _changesMask.Clear(); + _dynamicChangesMask.Clear(); + for (uint32 i = 0; i < _dynamicValuesCount; ++i) + _dynamicChangesArrayMask[i].Clear(); if (m_objectUpdated) { @@ -740,7 +804,7 @@ uint32 Object::GetUpdateFieldData(Player const* target, uint32*& flags) const if (ToUnit()->GetOwnerGUID() == target->GetGUID()) visibleFlag |= UF_FLAG_OWNER; - if (HasFlag(UNIT_DYNAMIC_FLAGS, UNIT_DYNFLAG_SPECIALINFO)) + if (HasFlag(OBJECT_DYNAMIC_FLAGS, UNIT_DYNFLAG_SPECIALINFO)) if (ToUnit()->HasAuraTypeWithCaster(SPELL_AURA_EMPATHY, target->GetGUID())) visibleFlag |= UF_FLAG_SPECIAL_INFO; @@ -773,6 +837,45 @@ uint32 Object::GetUpdateFieldData(Player const* target, uint32*& flags) const return visibleFlag; } +uint32 Object::GetDynamicUpdateFieldData(Player const* target, uint32*& flags) const +{ + uint32 visibleFlag = UF_FLAG_PUBLIC; + + if (target == this) + visibleFlag |= UF_FLAG_PRIVATE; + + switch (GetTypeId()) + { + case TYPEID_ITEM: + case TYPEID_CONTAINER: + flags = ItemDynamicUpdateFieldFlags; + if (((Item const*)this)->GetOwnerGUID() == target->GetGUID()) + visibleFlag |= UF_FLAG_OWNER | UF_FLAG_ITEM_OWNER; + break; + case TYPEID_UNIT: + case TYPEID_PLAYER: + { + Player* plr = ToUnit()->GetCharmerOrOwnerPlayerOrPlayerItself(); + flags = UnitDynamicUpdateFieldFlags; + if (ToUnit()->GetOwnerGUID() == target->GetGUID()) + visibleFlag |= UF_FLAG_OWNER; + + if (HasFlag(OBJECT_DYNAMIC_FLAGS, UNIT_DYNFLAG_SPECIALINFO)) + if (ToUnit()->HasAuraTypeWithCaster(SPELL_AURA_EMPATHY, target->GetGUID())) + visibleFlag |= UF_FLAG_SPECIAL_INFO; + + if (plr && plr->IsInSameRaidWith(target)) + visibleFlag |= UF_FLAG_PARTY_MEMBER; + break; + } + default: + flags = nullptr; + break; + } + + return visibleFlag; +} + void Object::_LoadIntoDataField(std::string const& data, uint32 startOffset, uint32 count) { if (data.empty()) @@ -1185,6 +1288,82 @@ void Object::ApplyModFlag64(uint16 index, uint64 flag, bool apply) if (apply) SetFlag64(index, flag); else RemoveFlag64(index, flag); } +std::vector<uint32> const& Object::GetDynamicValues(uint16 index) const +{ + ASSERT(index < _dynamicValuesCount || PrintIndexError(index, false)); + return _dynamicValues[index]; +} + +void Object::AddDynamicValue(uint16 index, uint32 value) +{ + ASSERT(index < _dynamicValuesCount || PrintIndexError(index, false)); + + std::vector<uint32>& values = _dynamicValues[index]; + UpdateMask& mask = _dynamicChangesArrayMask[index]; + + _dynamicChangesMask.SetBit(index); + if (values.size() >= values.capacity()) + values.reserve(values.capacity() + 32); + + values.push_back(value); + if (mask.GetCount() < values.size()) + mask.AddBlock(); + + mask.SetBit(values.size()); + + if (m_inWorld && !m_objectUpdated) + { + sObjectAccessor->AddUpdateObject(this); + m_objectUpdated = true; + } +} + +void Object::RemoveDynamicValue(uint16 index, uint32 value) +{ + ASSERT(index < _dynamicValuesCount || PrintIndexError(index, false)); + /// TODO: Research if this is actually needed +} + +void Object::ClearDynamicValue(uint16 index) +{ + ASSERT(index < _dynamicValuesCount || PrintIndexError(index, false)); + + if (!_dynamicValues[index].empty()) + { + _dynamicValues[index].clear(); + _dynamicChangesMask.SetBit(index); + _dynamicChangesArrayMask[index].SetCount(0); + + if (m_inWorld && !m_objectUpdated) + { + sObjectAccessor->AddUpdateObject(this); + m_objectUpdated = true; + } + } +} + +void Object::SetDynamicValue(uint16 index, uint8 offset, uint32 value) +{ + ASSERT(index < _dynamicValuesCount || PrintIndexError(index, false)); + + std::vector<uint32>& values = _dynamicValues[index]; + + ASSERT(offset < values.size()); + + if (values[offset] != value) + { + values[offset] = value; + _dynamicChangesMask.SetBit(index); + _dynamicChangesArrayMask[index].SetBit(offset); + + if (m_inWorld && !m_objectUpdated) + { + sObjectAccessor->AddUpdateObject(this); + m_objectUpdated = true; + } + } +} + bool Object::PrintIndexError(uint32 index, bool set) const { TC_LOG_ERROR("misc", "Attempt %s non-existed value field: %u (count: %u) for object typeid: %u type mask: %u", (set ? "set value to" : "get value from"), index, m_valuesCount, GetTypeId(), m_objectType); diff --git a/src/server/game/Entities/Object/Object.h b/src/server/game/Entities/Object/Object.h index 95d85b2afce..353dfc1b917 100644 --- a/src/server/game/Entities/Object/Object.h +++ b/src/server/game/Entities/Object/Object.h @@ -165,6 +165,12 @@ class Object bool HasFlag64(uint16 index, uint64 flag) const; void ApplyModFlag64(uint16 index, uint64 flag, bool apply); + std::vector<uint32> const& GetDynamicValues(uint16 index) const; + void AddDynamicValue(uint16 index, uint32 value); + void RemoveDynamicValue(uint16 index, uint32 value); + void ClearDynamicValue(uint16 index); + void SetDynamicValue(uint16 index, uint8 offset, uint32 value); + void ClearUpdateMask(bool remove); uint16 GetValuesCount() const { return m_valuesCount; } @@ -210,9 +216,11 @@ class Object void _LoadIntoDataField(std::string const& data, uint32 startOffset, uint32 count); uint32 GetUpdateFieldData(Player const* target, uint32*& flags) const; + uint32 GetDynamicUpdateFieldData(Player const* target, uint32*& flags) const; void BuildMovementUpdate(ByteBuffer* data, uint16 flags) const; virtual void BuildValuesUpdate(uint8 updatetype, ByteBuffer* data, Player* target) const; + virtual void BuildDynamicValuesUpdate(uint8 updatetype, ByteBuffer* data, Player* target) const; uint16 m_objectType; @@ -226,9 +234,14 @@ class Object float *m_floatValues; }; + std::vector<uint32>* _dynamicValues; + UpdateMask _changesMask; + UpdateMask _dynamicChangesMask; + UpdateMask* _dynamicChangesArrayMask; uint16 m_valuesCount; + uint16 _dynamicValuesCount; uint16 _fieldNotifyFlags; diff --git a/src/server/game/Entities/Object/Updates/UpdateFieldFlags.cpp b/src/server/game/Entities/Object/Updates/UpdateFieldFlags.cpp index 0db2a312c9a..c19096f31f2 100644 --- a/src/server/game/Entities/Object/Updates/UpdateFieldFlags.cpp +++ b/src/server/game/Entities/Object/Updates/UpdateFieldFlags.cpp @@ -21,80 +21,86 @@ uint32 ItemUpdateFieldFlags[CONTAINER_END] = { UF_FLAG_PUBLIC, // OBJECT_FIELD_GUID UF_FLAG_PUBLIC, // OBJECT_FIELD_GUID+1 + UF_FLAG_PUBLIC, // OBJECT_FIELD_GUID+2 + UF_FLAG_PUBLIC, // OBJECT_FIELD_GUID+3 UF_FLAG_PUBLIC, // OBJECT_FIELD_DATA UF_FLAG_PUBLIC, // OBJECT_FIELD_DATA+1 + UF_FLAG_PUBLIC, // OBJECT_FIELD_DATA+2 + UF_FLAG_PUBLIC, // OBJECT_FIELD_DATA+3 UF_FLAG_PUBLIC, // OBJECT_FIELD_TYPE - UF_FLAG_PUBLIC, // OBJECT_FIELD_ENTRY + UF_FLAG_DYNAMIC, // OBJECT_FIELD_ENTRY + UF_FLAG_DYNAMIC | UF_FLAG_URGENT, // OBJECT_DYNAMIC_FLAGS UF_FLAG_PUBLIC, // OBJECT_FIELD_SCALE_X - UF_FLAG_NONE, // OBJECT_FIELD_PADDING UF_FLAG_PUBLIC, // ITEM_FIELD_OWNER UF_FLAG_PUBLIC, // ITEM_FIELD_OWNER+1 + UF_FLAG_PUBLIC, // ITEM_FIELD_OWNER+2 + UF_FLAG_PUBLIC, // ITEM_FIELD_OWNER+3 UF_FLAG_PUBLIC, // ITEM_FIELD_CONTAINED UF_FLAG_PUBLIC, // ITEM_FIELD_CONTAINED+1 + UF_FLAG_PUBLIC, // ITEM_FIELD_CONTAINED+2 + UF_FLAG_PUBLIC, // ITEM_FIELD_CONTAINED+3 UF_FLAG_PUBLIC, // ITEM_FIELD_CREATOR UF_FLAG_PUBLIC, // ITEM_FIELD_CREATOR+1 + UF_FLAG_PUBLIC, // ITEM_FIELD_CREATOR+2 + UF_FLAG_PUBLIC, // ITEM_FIELD_CREATOR+3 UF_FLAG_PUBLIC, // ITEM_FIELD_GIFTCREATOR UF_FLAG_PUBLIC, // ITEM_FIELD_GIFTCREATOR+1 - UF_FLAG_OWNER | UF_FLAG_ITEM_OWNER, // ITEM_FIELD_STACK_COUNT - UF_FLAG_OWNER | UF_FLAG_ITEM_OWNER, // ITEM_FIELD_DURATION - UF_FLAG_OWNER | UF_FLAG_ITEM_OWNER, // ITEM_FIELD_SPELL_CHARGES - UF_FLAG_OWNER | UF_FLAG_ITEM_OWNER, // ITEM_FIELD_SPELL_CHARGES+1 - UF_FLAG_OWNER | UF_FLAG_ITEM_OWNER, // ITEM_FIELD_SPELL_CHARGES+2 - UF_FLAG_OWNER | UF_FLAG_ITEM_OWNER, // ITEM_FIELD_SPELL_CHARGES+3 - UF_FLAG_OWNER | UF_FLAG_ITEM_OWNER, // ITEM_FIELD_SPELL_CHARGES+4 + UF_FLAG_PUBLIC, // ITEM_FIELD_GIFTCREATOR+2 + UF_FLAG_PUBLIC, // ITEM_FIELD_GIFTCREATOR+3 + UF_FLAG_OWNER, // ITEM_FIELD_STACK_COUNT + UF_FLAG_OWNER, // ITEM_FIELD_DURATION + UF_FLAG_OWNER, // ITEM_FIELD_SPELL_CHARGES + UF_FLAG_OWNER, // ITEM_FIELD_SPELL_CHARGES+1 + UF_FLAG_OWNER, // ITEM_FIELD_SPELL_CHARGES+2 + UF_FLAG_OWNER, // ITEM_FIELD_SPELL_CHARGES+3 + UF_FLAG_OWNER, // ITEM_FIELD_SPELL_CHARGES+4 UF_FLAG_PUBLIC, // ITEM_FIELD_FLAGS - UF_FLAG_PUBLIC, // ITEM_FIELD_ENCHANTMENT_1_1 - UF_FLAG_PUBLIC, // ITEM_FIELD_ENCHANTMENT_1_1+1 - UF_FLAG_PUBLIC, // ITEM_FIELD_ENCHANTMENT_1_3 - UF_FLAG_PUBLIC, // ITEM_FIELD_ENCHANTMENT_2_1 - UF_FLAG_PUBLIC, // ITEM_FIELD_ENCHANTMENT_2_1+1 - UF_FLAG_PUBLIC, // ITEM_FIELD_ENCHANTMENT_2_3 - UF_FLAG_PUBLIC, // ITEM_FIELD_ENCHANTMENT_3_1 - UF_FLAG_PUBLIC, // ITEM_FIELD_ENCHANTMENT_3_1+1 - UF_FLAG_PUBLIC, // ITEM_FIELD_ENCHANTMENT_3_3 - UF_FLAG_PUBLIC, // ITEM_FIELD_ENCHANTMENT_4_1 - UF_FLAG_PUBLIC, // ITEM_FIELD_ENCHANTMENT_4_1+1 - UF_FLAG_PUBLIC, // ITEM_FIELD_ENCHANTMENT_4_3 - UF_FLAG_PUBLIC, // ITEM_FIELD_ENCHANTMENT_5_1 - UF_FLAG_PUBLIC, // ITEM_FIELD_ENCHANTMENT_5_1+1 - UF_FLAG_PUBLIC, // ITEM_FIELD_ENCHANTMENT_5_3 - UF_FLAG_PUBLIC, // ITEM_FIELD_ENCHANTMENT_6_1 - UF_FLAG_PUBLIC, // ITEM_FIELD_ENCHANTMENT_6_1+1 - UF_FLAG_PUBLIC, // ITEM_FIELD_ENCHANTMENT_6_3 - UF_FLAG_PUBLIC, // ITEM_FIELD_ENCHANTMENT_7_1 - UF_FLAG_PUBLIC, // ITEM_FIELD_ENCHANTMENT_7_1+1 - UF_FLAG_PUBLIC, // ITEM_FIELD_ENCHANTMENT_7_3 - UF_FLAG_PUBLIC, // ITEM_FIELD_ENCHANTMENT_8_1 - UF_FLAG_PUBLIC, // ITEM_FIELD_ENCHANTMENT_8_1+1 - UF_FLAG_PUBLIC, // ITEM_FIELD_ENCHANTMENT_8_3 - UF_FLAG_PUBLIC, // ITEM_FIELD_ENCHANTMENT_9_1 - UF_FLAG_PUBLIC, // ITEM_FIELD_ENCHANTMENT_9_1+1 - UF_FLAG_PUBLIC, // ITEM_FIELD_ENCHANTMENT_9_3 - UF_FLAG_PUBLIC, // ITEM_FIELD_ENCHANTMENT_10_1 - UF_FLAG_PUBLIC, // ITEM_FIELD_ENCHANTMENT_10_1+1 - UF_FLAG_PUBLIC, // ITEM_FIELD_ENCHANTMENT_10_3 - UF_FLAG_PUBLIC, // ITEM_FIELD_ENCHANTMENT_11_1 - UF_FLAG_PUBLIC, // ITEM_FIELD_ENCHANTMENT_11_1+1 - UF_FLAG_PUBLIC, // ITEM_FIELD_ENCHANTMENT_11_3 - UF_FLAG_PUBLIC, // ITEM_FIELD_ENCHANTMENT_12_1 - UF_FLAG_PUBLIC, // ITEM_FIELD_ENCHANTMENT_12_1+1 - UF_FLAG_PUBLIC, // ITEM_FIELD_ENCHANTMENT_12_3 - UF_FLAG_PUBLIC, // ITEM_FIELD_ENCHANTMENT_13_1 - UF_FLAG_PUBLIC, // ITEM_FIELD_ENCHANTMENT_13_1+1 - UF_FLAG_PUBLIC, // ITEM_FIELD_ENCHANTMENT_13_3 - UF_FLAG_PUBLIC, // ITEM_FIELD_ENCHANTMENT_14_1 - UF_FLAG_PUBLIC, // ITEM_FIELD_ENCHANTMENT_14_1+1 - UF_FLAG_PUBLIC, // ITEM_FIELD_ENCHANTMENT_14_3 - UF_FLAG_PUBLIC, // ITEM_FIELD_ENCHANTMENT_15_1 - UF_FLAG_PUBLIC, // ITEM_FIELD_ENCHANTMENT_15_1+1 - UF_FLAG_PUBLIC, // ITEM_FIELD_ENCHANTMENT_15_3 + UF_FLAG_PUBLIC, // ITEM_FIELD_ENCHANTMENT + UF_FLAG_PUBLIC, // ITEM_FIELD_ENCHANTMENT+1 + UF_FLAG_PUBLIC, // ITEM_FIELD_ENCHANTMENT+2 + UF_FLAG_PUBLIC, // ITEM_FIELD_ENCHANTMENT+3 + UF_FLAG_PUBLIC, // ITEM_FIELD_ENCHANTMENT+4 + UF_FLAG_PUBLIC, // ITEM_FIELD_ENCHANTMENT+5 + UF_FLAG_PUBLIC, // ITEM_FIELD_ENCHANTMENT+6 + UF_FLAG_PUBLIC, // ITEM_FIELD_ENCHANTMENT+7 + UF_FLAG_PUBLIC, // ITEM_FIELD_ENCHANTMENT+8 + UF_FLAG_PUBLIC, // ITEM_FIELD_ENCHANTMENT+9 + UF_FLAG_PUBLIC, // ITEM_FIELD_ENCHANTMENT+10 + UF_FLAG_PUBLIC, // ITEM_FIELD_ENCHANTMENT+11 + UF_FLAG_PUBLIC, // ITEM_FIELD_ENCHANTMENT+12 + UF_FLAG_PUBLIC, // ITEM_FIELD_ENCHANTMENT+13 + UF_FLAG_PUBLIC, // ITEM_FIELD_ENCHANTMENT+14 + UF_FLAG_PUBLIC, // ITEM_FIELD_ENCHANTMENT+15 + UF_FLAG_PUBLIC, // ITEM_FIELD_ENCHANTMENT+16 + UF_FLAG_PUBLIC, // ITEM_FIELD_ENCHANTMENT+17 + UF_FLAG_PUBLIC, // ITEM_FIELD_ENCHANTMENT+18 + UF_FLAG_PUBLIC, // ITEM_FIELD_ENCHANTMENT+19 + UF_FLAG_PUBLIC, // ITEM_FIELD_ENCHANTMENT+20 + UF_FLAG_PUBLIC, // ITEM_FIELD_ENCHANTMENT+21 + UF_FLAG_PUBLIC, // ITEM_FIELD_ENCHANTMENT+22 + UF_FLAG_PUBLIC, // ITEM_FIELD_ENCHANTMENT+23 + UF_FLAG_PUBLIC, // ITEM_FIELD_ENCHANTMENT+24 + UF_FLAG_PUBLIC, // ITEM_FIELD_ENCHANTMENT+25 + UF_FLAG_PUBLIC, // ITEM_FIELD_ENCHANTMENT+26 + UF_FLAG_PUBLIC, // ITEM_FIELD_ENCHANTMENT+27 + UF_FLAG_PUBLIC, // ITEM_FIELD_ENCHANTMENT+28 + UF_FLAG_PUBLIC, // ITEM_FIELD_ENCHANTMENT+29 + UF_FLAG_PUBLIC, // ITEM_FIELD_ENCHANTMENT+30 + UF_FLAG_PUBLIC, // ITEM_FIELD_ENCHANTMENT+31 + UF_FLAG_PUBLIC, // ITEM_FIELD_ENCHANTMENT+32 + UF_FLAG_PUBLIC, // ITEM_FIELD_ENCHANTMENT+33 + UF_FLAG_PUBLIC, // ITEM_FIELD_ENCHANTMENT+34 + UF_FLAG_PUBLIC, // ITEM_FIELD_ENCHANTMENT+35 + UF_FLAG_PUBLIC, // ITEM_FIELD_ENCHANTMENT+36 + UF_FLAG_PUBLIC, // ITEM_FIELD_ENCHANTMENT+37 + UF_FLAG_PUBLIC, // ITEM_FIELD_ENCHANTMENT+38 UF_FLAG_PUBLIC, // ITEM_FIELD_PROPERTY_SEED UF_FLAG_PUBLIC, // ITEM_FIELD_RANDOM_PROPERTIES_ID - UF_FLAG_OWNER | UF_FLAG_ITEM_OWNER, // ITEM_FIELD_DURABILITY - UF_FLAG_OWNER | UF_FLAG_ITEM_OWNER, // ITEM_FIELD_MAXDURABILITY + UF_FLAG_OWNER, // ITEM_FIELD_DURABILITY + UF_FLAG_OWNER, // ITEM_FIELD_MAXDURABILITY UF_FLAG_PUBLIC, // ITEM_FIELD_CREATE_PLAYED_TIME - UF_FLAG_PUBLIC, // CONTAINER_FIELD_NUM_SLOTS - UF_FLAG_NONE, // CONTAINER_ALIGN_PAD + UF_FLAG_OWNER, // ITEM_FIELD_MODIFIERS_MASK + UF_FLAG_PUBLIC, // ITEM_FIELD_CONTEXT UF_FLAG_PUBLIC, // CONTAINER_FIELD_SLOT_1 UF_FLAG_PUBLIC, // CONTAINER_FIELD_SLOT_1+1 UF_FLAG_PUBLIC, // CONTAINER_FIELD_SLOT_1+2 @@ -167,74 +173,192 @@ uint32 ItemUpdateFieldFlags[CONTAINER_END] = UF_FLAG_PUBLIC, // CONTAINER_FIELD_SLOT_1+69 UF_FLAG_PUBLIC, // CONTAINER_FIELD_SLOT_1+70 UF_FLAG_PUBLIC, // CONTAINER_FIELD_SLOT_1+71 + UF_FLAG_PUBLIC, // CONTAINER_FIELD_SLOT_1+72 + UF_FLAG_PUBLIC, // CONTAINER_FIELD_SLOT_1+73 + UF_FLAG_PUBLIC, // CONTAINER_FIELD_SLOT_1+74 + UF_FLAG_PUBLIC, // CONTAINER_FIELD_SLOT_1+75 + UF_FLAG_PUBLIC, // CONTAINER_FIELD_SLOT_1+76 + UF_FLAG_PUBLIC, // CONTAINER_FIELD_SLOT_1+77 + UF_FLAG_PUBLIC, // CONTAINER_FIELD_SLOT_1+78 + UF_FLAG_PUBLIC, // CONTAINER_FIELD_SLOT_1+79 + UF_FLAG_PUBLIC, // CONTAINER_FIELD_SLOT_1+80 + UF_FLAG_PUBLIC, // CONTAINER_FIELD_SLOT_1+81 + UF_FLAG_PUBLIC, // CONTAINER_FIELD_SLOT_1+82 + UF_FLAG_PUBLIC, // CONTAINER_FIELD_SLOT_1+83 + UF_FLAG_PUBLIC, // CONTAINER_FIELD_SLOT_1+84 + UF_FLAG_PUBLIC, // CONTAINER_FIELD_SLOT_1+85 + UF_FLAG_PUBLIC, // CONTAINER_FIELD_SLOT_1+86 + UF_FLAG_PUBLIC, // CONTAINER_FIELD_SLOT_1+87 + UF_FLAG_PUBLIC, // CONTAINER_FIELD_SLOT_1+88 + UF_FLAG_PUBLIC, // CONTAINER_FIELD_SLOT_1+89 + UF_FLAG_PUBLIC, // CONTAINER_FIELD_SLOT_1+90 + UF_FLAG_PUBLIC, // CONTAINER_FIELD_SLOT_1+91 + UF_FLAG_PUBLIC, // CONTAINER_FIELD_SLOT_1+92 + UF_FLAG_PUBLIC, // CONTAINER_FIELD_SLOT_1+93 + UF_FLAG_PUBLIC, // CONTAINER_FIELD_SLOT_1+94 + UF_FLAG_PUBLIC, // CONTAINER_FIELD_SLOT_1+95 + UF_FLAG_PUBLIC, // CONTAINER_FIELD_SLOT_1+96 + UF_FLAG_PUBLIC, // CONTAINER_FIELD_SLOT_1+97 + UF_FLAG_PUBLIC, // CONTAINER_FIELD_SLOT_1+98 + UF_FLAG_PUBLIC, // CONTAINER_FIELD_SLOT_1+99 + UF_FLAG_PUBLIC, // CONTAINER_FIELD_SLOT_1+100 + UF_FLAG_PUBLIC, // CONTAINER_FIELD_SLOT_1+101 + UF_FLAG_PUBLIC, // CONTAINER_FIELD_SLOT_1+102 + UF_FLAG_PUBLIC, // CONTAINER_FIELD_SLOT_1+103 + UF_FLAG_PUBLIC, // CONTAINER_FIELD_SLOT_1+104 + UF_FLAG_PUBLIC, // CONTAINER_FIELD_SLOT_1+105 + UF_FLAG_PUBLIC, // CONTAINER_FIELD_SLOT_1+106 + UF_FLAG_PUBLIC, // CONTAINER_FIELD_SLOT_1+107 + UF_FLAG_PUBLIC, // CONTAINER_FIELD_SLOT_1+108 + UF_FLAG_PUBLIC, // CONTAINER_FIELD_SLOT_1+109 + UF_FLAG_PUBLIC, // CONTAINER_FIELD_SLOT_1+110 + UF_FLAG_PUBLIC, // CONTAINER_FIELD_SLOT_1+111 + UF_FLAG_PUBLIC, // CONTAINER_FIELD_SLOT_1+112 + UF_FLAG_PUBLIC, // CONTAINER_FIELD_SLOT_1+113 + UF_FLAG_PUBLIC, // CONTAINER_FIELD_SLOT_1+114 + UF_FLAG_PUBLIC, // CONTAINER_FIELD_SLOT_1+115 + UF_FLAG_PUBLIC, // CONTAINER_FIELD_SLOT_1+116 + UF_FLAG_PUBLIC, // CONTAINER_FIELD_SLOT_1+117 + UF_FLAG_PUBLIC, // CONTAINER_FIELD_SLOT_1+118 + UF_FLAG_PUBLIC, // CONTAINER_FIELD_SLOT_1+119 + UF_FLAG_PUBLIC, // CONTAINER_FIELD_SLOT_1+120 + UF_FLAG_PUBLIC, // CONTAINER_FIELD_SLOT_1+121 + UF_FLAG_PUBLIC, // CONTAINER_FIELD_SLOT_1+122 + UF_FLAG_PUBLIC, // CONTAINER_FIELD_SLOT_1+123 + UF_FLAG_PUBLIC, // CONTAINER_FIELD_SLOT_1+124 + UF_FLAG_PUBLIC, // CONTAINER_FIELD_SLOT_1+125 + UF_FLAG_PUBLIC, // CONTAINER_FIELD_SLOT_1+126 + UF_FLAG_PUBLIC, // CONTAINER_FIELD_SLOT_1+127 + UF_FLAG_PUBLIC, // CONTAINER_FIELD_SLOT_1+128 + UF_FLAG_PUBLIC, // CONTAINER_FIELD_SLOT_1+129 + UF_FLAG_PUBLIC, // CONTAINER_FIELD_SLOT_1+130 + UF_FLAG_PUBLIC, // CONTAINER_FIELD_SLOT_1+131 + UF_FLAG_PUBLIC, // CONTAINER_FIELD_SLOT_1+132 + UF_FLAG_PUBLIC, // CONTAINER_FIELD_SLOT_1+133 + UF_FLAG_PUBLIC, // CONTAINER_FIELD_SLOT_1+134 + UF_FLAG_PUBLIC, // CONTAINER_FIELD_SLOT_1+135 + UF_FLAG_PUBLIC, // CONTAINER_FIELD_SLOT_1+136 + UF_FLAG_PUBLIC, // CONTAINER_FIELD_SLOT_1+137 + UF_FLAG_PUBLIC, // CONTAINER_FIELD_SLOT_1+138 + UF_FLAG_PUBLIC, // CONTAINER_FIELD_SLOT_1+139 + UF_FLAG_PUBLIC, // CONTAINER_FIELD_SLOT_1+140 + UF_FLAG_PUBLIC, // CONTAINER_FIELD_SLOT_1+141 + UF_FLAG_PUBLIC, // CONTAINER_FIELD_SLOT_1+142 + UF_FLAG_PUBLIC, // CONTAINER_FIELD_SLOT_1+143 + UF_FLAG_PUBLIC, // CONTAINER_FIELD_NUM_SLOTS +}; + +uint32 ItemDynamicUpdateFieldFlags[CONTAINER_DYNAMIC_END] = +{ + UF_FLAG_OWNER, // ITEM_DYNAMIC_FIELD_MODIFIERS + UF_FLAG_OWNER, // ITEM_DYNAMIC_FIELD_BONUSLIST_IDS }; uint32 UnitUpdateFieldFlags[PLAYER_END] = { UF_FLAG_PUBLIC, // OBJECT_FIELD_GUID UF_FLAG_PUBLIC, // OBJECT_FIELD_GUID+1 + UF_FLAG_PUBLIC, // OBJECT_FIELD_GUID+2 + UF_FLAG_PUBLIC, // OBJECT_FIELD_GUID+3 UF_FLAG_PUBLIC, // OBJECT_FIELD_DATA UF_FLAG_PUBLIC, // OBJECT_FIELD_DATA+1 + UF_FLAG_PUBLIC, // OBJECT_FIELD_DATA+2 + UF_FLAG_PUBLIC, // OBJECT_FIELD_DATA+3 UF_FLAG_PUBLIC, // OBJECT_FIELD_TYPE - UF_FLAG_PUBLIC, // OBJECT_FIELD_ENTRY + UF_FLAG_DYNAMIC, // OBJECT_FIELD_ENTRY + UF_FLAG_DYNAMIC | UF_FLAG_URGENT, // OBJECT_DYNAMIC_FLAGS UF_FLAG_PUBLIC, // OBJECT_FIELD_SCALE_X - UF_FLAG_NONE, // OBJECT_FIELD_PADDING UF_FLAG_PUBLIC, // UNIT_FIELD_CHARM UF_FLAG_PUBLIC, // UNIT_FIELD_CHARM+1 + UF_FLAG_PUBLIC, // UNIT_FIELD_CHARM+2 + UF_FLAG_PUBLIC, // UNIT_FIELD_CHARM+3 UF_FLAG_PUBLIC, // UNIT_FIELD_SUMMON UF_FLAG_PUBLIC, // UNIT_FIELD_SUMMON+1 + UF_FLAG_PUBLIC, // UNIT_FIELD_SUMMON+2 + UF_FLAG_PUBLIC, // UNIT_FIELD_SUMMON+3 UF_FLAG_PRIVATE, // UNIT_FIELD_CRITTER UF_FLAG_PRIVATE, // UNIT_FIELD_CRITTER+1 + UF_FLAG_PRIVATE, // UNIT_FIELD_CRITTER+2 + UF_FLAG_PRIVATE, // UNIT_FIELD_CRITTER+3 UF_FLAG_PUBLIC, // UNIT_FIELD_CHARMEDBY UF_FLAG_PUBLIC, // UNIT_FIELD_CHARMEDBY+1 + UF_FLAG_PUBLIC, // UNIT_FIELD_CHARMEDBY+2 + UF_FLAG_PUBLIC, // UNIT_FIELD_CHARMEDBY+3 UF_FLAG_PUBLIC, // UNIT_FIELD_SUMMONEDBY UF_FLAG_PUBLIC, // UNIT_FIELD_SUMMONEDBY+1 + UF_FLAG_PUBLIC, // UNIT_FIELD_SUMMONEDBY+2 + UF_FLAG_PUBLIC, // UNIT_FIELD_SUMMONEDBY+3 UF_FLAG_PUBLIC, // UNIT_FIELD_CREATEDBY UF_FLAG_PUBLIC, // UNIT_FIELD_CREATEDBY+1 + UF_FLAG_PUBLIC, // UNIT_FIELD_CREATEDBY+2 + UF_FLAG_PUBLIC, // UNIT_FIELD_CREATEDBY+3 + UF_FLAG_PUBLIC, // UNIT_FIELD_DEMON_CREATOR + UF_FLAG_PUBLIC, // UNIT_FIELD_DEMON_CREATOR+1 + UF_FLAG_PUBLIC, // UNIT_FIELD_DEMON_CREATOR+2 + UF_FLAG_PUBLIC, // UNIT_FIELD_DEMON_CREATOR+3 UF_FLAG_PUBLIC, // UNIT_FIELD_TARGET UF_FLAG_PUBLIC, // UNIT_FIELD_TARGET+1 - UF_FLAG_PUBLIC, // UNIT_FIELD_CHANNEL_OBJECT - UF_FLAG_PUBLIC, // UNIT_FIELD_CHANNEL_OBJECT+1 - UF_FLAG_PUBLIC, // UNIT_CHANNEL_SPELL + UF_FLAG_PUBLIC, // UNIT_FIELD_TARGET+2 + UF_FLAG_PUBLIC, // UNIT_FIELD_TARGET+3 + UF_FLAG_PUBLIC, // UNIT_FIELD_BATTLE_PET_COMPANION_GUID + UF_FLAG_PUBLIC, // UNIT_FIELD_BATTLE_PET_COMPANION_GUID+1 + UF_FLAG_PUBLIC, // UNIT_FIELD_BATTLE_PET_COMPANION_GUID+2 + UF_FLAG_PUBLIC, // UNIT_FIELD_BATTLE_PET_COMPANION_GUID+3 + UF_FLAG_PUBLIC, // UNIT_FIELD_BATTLE_PET_DB_ID + UF_FLAG_PUBLIC, // UNIT_FIELD_BATTLE_PET_DB_ID+1 + UF_FLAG_PUBLIC | UF_FLAG_URGENT, // UNIT_FIELD_CHANNEL_OBJECT + UF_FLAG_PUBLIC | UF_FLAG_URGENT, // UNIT_FIELD_CHANNEL_OBJECT+1 + UF_FLAG_PUBLIC | UF_FLAG_URGENT, // UNIT_FIELD_CHANNEL_OBJECT+2 + UF_FLAG_PUBLIC | UF_FLAG_URGENT, // UNIT_FIELD_CHANNEL_OBJECT+3 + UF_FLAG_PUBLIC | UF_FLAG_URGENT, // UNIT_CHANNEL_SPELL + UF_FLAG_PUBLIC, // UNIT_FIELD_SUMMONED_BY_HOME_REALM UF_FLAG_PUBLIC, // UNIT_FIELD_BYTES_0 + UF_FLAG_PUBLIC, // UNIT_FIELD_DISPLAY_POWER + UF_FLAG_PUBLIC, // UNIT_FIELD_OVERRIDE_DISPLAY_POWER_ID UF_FLAG_PUBLIC, // UNIT_FIELD_HEALTH - UF_FLAG_PUBLIC, // UNIT_FIELD_POWER1 - UF_FLAG_PUBLIC, // UNIT_FIELD_POWER2 - UF_FLAG_PUBLIC, // UNIT_FIELD_POWER3 - UF_FLAG_PUBLIC, // UNIT_FIELD_POWER4 - UF_FLAG_PUBLIC, // UNIT_FIELD_POWER5 + UF_FLAG_PUBLIC | UF_FLAG_URGENT_SELF_ONLY, // UNIT_FIELD_POWER + UF_FLAG_PUBLIC | UF_FLAG_URGENT_SELF_ONLY, // UNIT_FIELD_POWER+1 + UF_FLAG_PUBLIC | UF_FLAG_URGENT_SELF_ONLY, // UNIT_FIELD_POWER+2 + UF_FLAG_PUBLIC | UF_FLAG_URGENT_SELF_ONLY, // UNIT_FIELD_POWER+3 + UF_FLAG_PUBLIC | UF_FLAG_URGENT_SELF_ONLY, // UNIT_FIELD_POWER+4 + UF_FLAG_PUBLIC | UF_FLAG_URGENT_SELF_ONLY, // UNIT_FIELD_POWER+5 UF_FLAG_PUBLIC, // UNIT_FIELD_MAXHEALTH - UF_FLAG_PUBLIC, // UNIT_FIELD_MAXPOWER1 - UF_FLAG_PUBLIC, // UNIT_FIELD_MAXPOWER2 - UF_FLAG_PUBLIC, // UNIT_FIELD_MAXPOWER3 - UF_FLAG_PUBLIC, // UNIT_FIELD_MAXPOWER4 - UF_FLAG_PUBLIC, // UNIT_FIELD_MAXPOWER5 - UF_FLAG_PRIVATE | UF_FLAG_OWNER | UF_FLAG_UNUSED2, // UNIT_FIELD_POWER_REGEN_FLAT_MODIFIER - UF_FLAG_PRIVATE | UF_FLAG_OWNER | UF_FLAG_UNUSED2, // UNIT_FIELD_POWER_REGEN_FLAT_MODIFIER+1 - UF_FLAG_PRIVATE | UF_FLAG_OWNER | UF_FLAG_UNUSED2, // UNIT_FIELD_POWER_REGEN_FLAT_MODIFIER+2 - UF_FLAG_PRIVATE | UF_FLAG_OWNER | UF_FLAG_UNUSED2, // UNIT_FIELD_POWER_REGEN_FLAT_MODIFIER+3 - UF_FLAG_PRIVATE | UF_FLAG_OWNER | UF_FLAG_UNUSED2, // UNIT_FIELD_POWER_REGEN_FLAT_MODIFIER+4 - UF_FLAG_PRIVATE | UF_FLAG_OWNER | UF_FLAG_UNUSED2, // UNIT_FIELD_POWER_REGEN_INTERRUPTED_FLAT_MODIFIER - UF_FLAG_PRIVATE | UF_FLAG_OWNER | UF_FLAG_UNUSED2, // UNIT_FIELD_POWER_REGEN_INTERRUPTED_FLAT_MODIFIER+1 - UF_FLAG_PRIVATE | UF_FLAG_OWNER | UF_FLAG_UNUSED2, // UNIT_FIELD_POWER_REGEN_INTERRUPTED_FLAT_MODIFIER+2 - UF_FLAG_PRIVATE | UF_FLAG_OWNER | UF_FLAG_UNUSED2, // UNIT_FIELD_POWER_REGEN_INTERRUPTED_FLAT_MODIFIER+3 - UF_FLAG_PRIVATE | UF_FLAG_OWNER | UF_FLAG_UNUSED2, // UNIT_FIELD_POWER_REGEN_INTERRUPTED_FLAT_MODIFIER+4 + UF_FLAG_PUBLIC, // UNIT_FIELD_MAXPOWER + UF_FLAG_PUBLIC, // UNIT_FIELD_MAXPOWER+1 + UF_FLAG_PUBLIC, // UNIT_FIELD_MAXPOWER+2 + UF_FLAG_PUBLIC, // UNIT_FIELD_MAXPOWER+3 + UF_FLAG_PUBLIC, // UNIT_FIELD_MAXPOWER+4 + UF_FLAG_PUBLIC, // UNIT_FIELD_MAXPOWER+5 + UF_FLAG_PRIVATE | UF_FLAG_OWNER | UF_FLAG_UNIT_ALL, // UNIT_FIELD_POWER_REGEN_FLAT_MODIFIER + UF_FLAG_PRIVATE | UF_FLAG_OWNER | UF_FLAG_UNIT_ALL, // UNIT_FIELD_POWER_REGEN_FLAT_MODIFIER+1 + UF_FLAG_PRIVATE | UF_FLAG_OWNER | UF_FLAG_UNIT_ALL, // UNIT_FIELD_POWER_REGEN_FLAT_MODIFIER+2 + UF_FLAG_PRIVATE | UF_FLAG_OWNER | UF_FLAG_UNIT_ALL, // UNIT_FIELD_POWER_REGEN_FLAT_MODIFIER+3 + UF_FLAG_PRIVATE | UF_FLAG_OWNER | UF_FLAG_UNIT_ALL, // UNIT_FIELD_POWER_REGEN_FLAT_MODIFIER+4 + UF_FLAG_PRIVATE | UF_FLAG_OWNER | UF_FLAG_UNIT_ALL, // UNIT_FIELD_POWER_REGEN_FLAT_MODIFIER+5 + UF_FLAG_PRIVATE | UF_FLAG_OWNER | UF_FLAG_UNIT_ALL, // UNIT_FIELD_POWER_REGEN_INTERRUPTED_FLAT_MODIFIER + UF_FLAG_PRIVATE | UF_FLAG_OWNER | UF_FLAG_UNIT_ALL, // UNIT_FIELD_POWER_REGEN_INTERRUPTED_FLAT_MODIFIER+1 + UF_FLAG_PRIVATE | UF_FLAG_OWNER | UF_FLAG_UNIT_ALL, // UNIT_FIELD_POWER_REGEN_INTERRUPTED_FLAT_MODIFIER+2 + UF_FLAG_PRIVATE | UF_FLAG_OWNER | UF_FLAG_UNIT_ALL, // UNIT_FIELD_POWER_REGEN_INTERRUPTED_FLAT_MODIFIER+3 + UF_FLAG_PRIVATE | UF_FLAG_OWNER | UF_FLAG_UNIT_ALL, // UNIT_FIELD_POWER_REGEN_INTERRUPTED_FLAT_MODIFIER+4 + 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_FACTIONTEMPLATE UF_FLAG_PUBLIC, // UNIT_VIRTUAL_ITEM_SLOT_ID UF_FLAG_PUBLIC, // UNIT_VIRTUAL_ITEM_SLOT_ID+1 UF_FLAG_PUBLIC, // UNIT_VIRTUAL_ITEM_SLOT_ID+2 UF_FLAG_PUBLIC, // UNIT_FIELD_FLAGS UF_FLAG_PUBLIC, // UNIT_FIELD_FLAGS_2 + UF_FLAG_PUBLIC, // UNIT_FIELD_FLAGS_3 UF_FLAG_PUBLIC, // UNIT_FIELD_AURASTATE UF_FLAG_PUBLIC, // UNIT_FIELD_BASEATTACKTIME UF_FLAG_PUBLIC, // UNIT_FIELD_BASEATTACKTIME+1 UF_FLAG_PRIVATE, // UNIT_FIELD_RANGEDATTACKTIME UF_FLAG_PUBLIC, // UNIT_FIELD_BOUNDINGRADIUS UF_FLAG_PUBLIC, // UNIT_FIELD_COMBATREACH - UF_FLAG_DYNAMIC, // UNIT_FIELD_DISPLAYID - UF_FLAG_PUBLIC, // UNIT_FIELD_NATIVEDISPLAYID - UF_FLAG_PUBLIC, // UNIT_FIELD_MOUNTDISPLAYID + UF_FLAG_DYNAMIC | UF_FLAG_URGENT, // UNIT_FIELD_DISPLAYID + UF_FLAG_PUBLIC | UF_FLAG_URGENT, // UNIT_FIELD_NATIVEDISPLAYID + UF_FLAG_PUBLIC | UF_FLAG_URGENT, // UNIT_FIELD_MOUNTDISPLAYID UF_FLAG_PRIVATE | UF_FLAG_OWNER | UF_FLAG_SPECIAL_INFO, // UNIT_FIELD_MINDAMAGE UF_FLAG_PRIVATE | UF_FLAG_OWNER | UF_FLAG_SPECIAL_INFO, // UNIT_FIELD_MAXDAMAGE UF_FLAG_PRIVATE | UF_FLAG_OWNER | UF_FLAG_SPECIAL_INFO, // UNIT_FIELD_MINOFFHANDDAMAGE @@ -244,27 +368,30 @@ uint32 UnitUpdateFieldFlags[PLAYER_END] = UF_FLAG_PUBLIC, // UNIT_FIELD_PET_NAME_TIMESTAMP UF_FLAG_OWNER, // UNIT_FIELD_PETEXPERIENCE UF_FLAG_OWNER, // UNIT_FIELD_PETNEXTLEVELEXP - UF_FLAG_DYNAMIC, // UNIT_DYNAMIC_FLAGS UF_FLAG_PUBLIC, // UNIT_MOD_CAST_SPEED UF_FLAG_PUBLIC, // UNIT_MOD_CAST_HASTE + 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_CREATED_BY_SPELL - UF_FLAG_DYNAMIC, // UNIT_NPC_FLAGS + UF_FLAG_PUBLIC | UF_FLAG_DYNAMIC, // UNIT_NPC_FLAGS + UF_FLAG_PUBLIC | UF_FLAG_DYNAMIC, // UNIT_NPC_FLAGS+1 UF_FLAG_PUBLIC, // UNIT_NPC_EMOTESTATE - UF_FLAG_PRIVATE | UF_FLAG_OWNER, // UNIT_FIELD_STAT0 - UF_FLAG_PRIVATE | UF_FLAG_OWNER, // UNIT_FIELD_STAT1 - UF_FLAG_PRIVATE | UF_FLAG_OWNER, // UNIT_FIELD_STAT2 - UF_FLAG_PRIVATE | UF_FLAG_OWNER, // UNIT_FIELD_STAT3 - UF_FLAG_PRIVATE | UF_FLAG_OWNER, // UNIT_FIELD_STAT4 - UF_FLAG_PRIVATE | UF_FLAG_OWNER, // UNIT_FIELD_POSSTAT0 - UF_FLAG_PRIVATE | UF_FLAG_OWNER, // UNIT_FIELD_POSSTAT1 - UF_FLAG_PRIVATE | UF_FLAG_OWNER, // UNIT_FIELD_POSSTAT2 - UF_FLAG_PRIVATE | UF_FLAG_OWNER, // UNIT_FIELD_POSSTAT3 - UF_FLAG_PRIVATE | UF_FLAG_OWNER, // UNIT_FIELD_POSSTAT4 - UF_FLAG_PRIVATE | UF_FLAG_OWNER, // UNIT_FIELD_NEGSTAT0 - UF_FLAG_PRIVATE | UF_FLAG_OWNER, // UNIT_FIELD_NEGSTAT1 - UF_FLAG_PRIVATE | UF_FLAG_OWNER, // UNIT_FIELD_NEGSTAT2 - UF_FLAG_PRIVATE | UF_FLAG_OWNER, // UNIT_FIELD_NEGSTAT3 - UF_FLAG_PRIVATE | UF_FLAG_OWNER, // UNIT_FIELD_NEGSTAT4 + UF_FLAG_PRIVATE | UF_FLAG_OWNER, // UNIT_FIELD_STAT + UF_FLAG_PRIVATE | UF_FLAG_OWNER, // UNIT_FIELD_STAT+1 + UF_FLAG_PRIVATE | UF_FLAG_OWNER, // UNIT_FIELD_STAT+2 + UF_FLAG_PRIVATE | UF_FLAG_OWNER, // UNIT_FIELD_STAT+3 + UF_FLAG_PRIVATE | UF_FLAG_OWNER, // UNIT_FIELD_STAT+4 + UF_FLAG_PRIVATE | UF_FLAG_OWNER, // UNIT_FIELD_POSSTAT + UF_FLAG_PRIVATE | UF_FLAG_OWNER, // UNIT_FIELD_POSSTAT+1 + UF_FLAG_PRIVATE | UF_FLAG_OWNER, // UNIT_FIELD_POSSTAT+2 + UF_FLAG_PRIVATE | UF_FLAG_OWNER, // UNIT_FIELD_POSSTAT+3 + UF_FLAG_PRIVATE | UF_FLAG_OWNER, // UNIT_FIELD_POSSTAT+4 + UF_FLAG_PRIVATE | UF_FLAG_OWNER, // UNIT_FIELD_NEGSTAT + UF_FLAG_PRIVATE | UF_FLAG_OWNER, // UNIT_FIELD_NEGSTAT+1 + UF_FLAG_PRIVATE | UF_FLAG_OWNER, // UNIT_FIELD_NEGSTAT+2 + UF_FLAG_PRIVATE | UF_FLAG_OWNER, // UNIT_FIELD_NEGSTAT+3 + UF_FLAG_PRIVATE | UF_FLAG_OWNER, // UNIT_FIELD_NEGSTAT+4 UF_FLAG_PRIVATE | UF_FLAG_OWNER | UF_FLAG_SPECIAL_INFO, // UNIT_FIELD_RESISTANCES UF_FLAG_PRIVATE | UF_FLAG_OWNER | UF_FLAG_SPECIAL_INFO, // UNIT_FIELD_RESISTANCES+1 UF_FLAG_PRIVATE | UF_FLAG_OWNER | UF_FLAG_SPECIAL_INFO, // UNIT_FIELD_RESISTANCES+2 @@ -286,6 +413,7 @@ uint32 UnitUpdateFieldFlags[PLAYER_END] = UF_FLAG_PRIVATE | UF_FLAG_OWNER, // UNIT_FIELD_RESISTANCEBUFFMODSNEGATIVE+4 UF_FLAG_PRIVATE | UF_FLAG_OWNER, // UNIT_FIELD_RESISTANCEBUFFMODSNEGATIVE+5 UF_FLAG_PRIVATE | UF_FLAG_OWNER, // UNIT_FIELD_RESISTANCEBUFFMODSNEGATIVE+6 + UF_FLAG_PRIVATE | UF_FLAG_OWNER, // UNIT_FIELD_MOD_BONUS_ARMOR UF_FLAG_PUBLIC, // UNIT_FIELD_BASE_MANA UF_FLAG_PRIVATE | UF_FLAG_OWNER, // UNIT_FIELD_BASE_HEALTH UF_FLAG_PUBLIC, // UNIT_FIELD_BYTES_2 @@ -315,11 +443,36 @@ uint32 UnitUpdateFieldFlags[PLAYER_END] = UF_FLAG_PRIVATE | UF_FLAG_OWNER, // UNIT_FIELD_POWER_COST_MULTIPLIER+6 UF_FLAG_PRIVATE | UF_FLAG_OWNER, // UNIT_FIELD_MAXHEALTHMODIFIER UF_FLAG_PUBLIC, // UNIT_FIELD_HOVERHEIGHT + UF_FLAG_PUBLIC, // UNIT_FIELD_MIN_ITEM_LEVEL_CUTOFF + UF_FLAG_PUBLIC, // UNIT_FIELD_MIN_ITEM_LEVEL UF_FLAG_PUBLIC, // UNIT_FIELD_MAXITEMLEVEL - UF_FLAG_NONE, // UNIT_FIELD_PADDING + UF_FLAG_PUBLIC, // UNIT_FIELD_WILD_BATTLEPET_LEVEL + UF_FLAG_PUBLIC, // UNIT_FIELD_BATTLEPET_COMPANION_NAME_TIMESTAMP + UF_FLAG_PUBLIC, // UNIT_FIELD_INTERACT_SPELLID + UF_FLAG_DYNAMIC | UF_FLAG_URGENT, // UNIT_FIELD_STATE_SPELL_VISUAL_ID + UF_FLAG_DYNAMIC | UF_FLAG_URGENT, // UNIT_FIELD_STATE_ANIM_ID + UF_FLAG_DYNAMIC | UF_FLAG_URGENT, // UNIT_FIELD_STATE_ANIM_KIT_ID + UF_FLAG_DYNAMIC | UF_FLAG_URGENT, // UNIT_FIELD_STATE_WORLD_EFFECT_ID + UF_FLAG_DYNAMIC | UF_FLAG_URGENT, // UNIT_FIELD_STATE_WORLD_EFFECT_ID+1 + UF_FLAG_DYNAMIC | UF_FLAG_URGENT, // UNIT_FIELD_STATE_WORLD_EFFECT_ID+2 + UF_FLAG_DYNAMIC | UF_FLAG_URGENT, // UNIT_FIELD_STATE_WORLD_EFFECT_ID+3 + UF_FLAG_PUBLIC, // UNIT_FIELD_SCALE_DURATION + UF_FLAG_PUBLIC, // UNIT_FIELD_LOOKS_LIKE_MOUNT_ID + UF_FLAG_PUBLIC, // UNIT_FIELD_LOOKS_LIKE_CREATURE_ID UF_FLAG_PUBLIC, // PLAYER_DUEL_ARBITER UF_FLAG_PUBLIC, // PLAYER_DUEL_ARBITER+1 + UF_FLAG_PUBLIC, // PLAYER_DUEL_ARBITER+2 + UF_FLAG_PUBLIC, // PLAYER_DUEL_ARBITER+3 + UF_FLAG_PUBLIC, // PLAYER_WOW_ACCOUNT + UF_FLAG_PUBLIC, // PLAYER_WOW_ACCOUNT+1 + UF_FLAG_PUBLIC, // PLAYER_WOW_ACCOUNT+2 + UF_FLAG_PUBLIC, // PLAYER_WOW_ACCOUNT+3 + UF_FLAG_PUBLIC, // PLAYER_LOOT_TARGET_GUID + UF_FLAG_PUBLIC, // PLAYER_LOOT_TARGET_GUID+1 + UF_FLAG_PUBLIC, // PLAYER_LOOT_TARGET_GUID+2 + UF_FLAG_PUBLIC, // PLAYER_LOOT_TARGET_GUID+3 UF_FLAG_PUBLIC, // PLAYER_FLAGS + UF_FLAG_PUBLIC, // PLAYER_FLAGS_EX UF_FLAG_PUBLIC, // PLAYER_GUILDRANK UF_FLAG_PUBLIC, // PLAYER_GUILDDELETE_DATE UF_FLAG_PUBLIC, // PLAYER_GUILDLEVEL @@ -328,297 +481,821 @@ uint32 UnitUpdateFieldFlags[PLAYER_END] = UF_FLAG_PUBLIC, // PLAYER_BYTES_3 UF_FLAG_PUBLIC, // PLAYER_DUEL_TEAM UF_FLAG_PUBLIC, // PLAYER_GUILD_TIMESTAMP - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_1_1 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_1_2 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_1_3 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_1_3+1 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_1_4 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_2_1 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_2_2 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_2_3 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_2_3+1 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_2_5 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_3_1 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_3_2 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_3_3 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_3_3+1 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_3_5 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_4_1 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_4_2 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_4_3 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_4_3+1 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_4_5 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_5_1 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_5_2 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_5_3 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_5_3+1 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_5_5 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_6_1 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_6_2 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_6_3 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_6_3+1 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_6_5 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_7_1 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_7_2 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_7_3 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_7_3+1 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_7_5 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_8_1 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_8_2 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_8_3 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_8_3+1 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_8_5 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_9_1 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_9_2 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_9_3 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_9_3+1 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_9_5 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_10_1 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_10_2 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_10_3 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_10_3+1 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_10_5 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_11_1 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_11_2 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_11_3 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_11_3+1 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_11_5 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_12_1 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_12_2 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_12_3 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_12_3+1 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_12_5 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_13_1 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_13_2 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_13_3 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_13_3+1 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_13_5 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_14_1 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_14_2 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_14_3 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_14_3+1 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_14_5 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_15_1 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_15_2 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_15_3 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_15_3+1 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_15_5 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_16_1 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_16_2 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_16_3 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_16_3+1 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_16_5 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_17_1 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_17_2 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_17_3 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_17_3+1 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_17_5 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_18_1 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_18_2 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_18_3 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_18_3+1 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_18_5 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_19_1 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_19_2 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_19_3 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_19_3+1 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_19_5 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_20_1 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_20_2 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_20_3 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_20_3+1 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_20_5 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_21_1 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_21_2 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_21_3 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_21_3+1 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_21_5 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_22_1 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_22_2 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_22_3 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_22_3+1 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_22_5 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_23_1 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_23_2 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_23_3 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_23_3+1 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_23_5 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_24_1 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_24_2 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_24_3 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_24_3+1 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_24_5 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_25_1 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_25_2 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_25_3 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_25_3+1 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_25_5 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_26_1 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_26_2 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_26_3 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_26_3+1 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_26_5 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_27_1 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_27_2 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_27_3 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_27_3+1 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_27_5 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_28_1 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_28_2 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_28_3 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_28_3+1 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_28_5 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_29_1 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_29_2 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_29_3 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_29_3+1 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_29_5 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_30_1 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_30_2 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_30_3 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_30_3+1 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_30_5 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_31_1 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_31_2 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_31_3 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_31_3+1 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_31_5 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_32_1 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_32_2 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_32_3 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_32_3+1 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_32_5 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_33_1 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_33_2 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_33_3 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_33_3+1 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_33_5 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_34_1 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_34_2 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_34_3 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_34_3+1 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_34_5 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_35_1 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_35_2 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_35_3 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_35_3+1 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_35_5 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_36_1 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_36_2 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_36_3 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_36_3+1 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_36_5 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_37_1 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_37_2 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_37_3 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_37_3+1 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_37_5 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_38_1 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_38_2 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_38_3 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_38_3+1 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_38_5 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_39_1 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_39_2 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_39_3 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_39_3+1 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_39_5 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_40_1 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_40_2 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_40_3 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_40_3+1 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_40_5 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_41_1 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_41_2 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_41_3 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_41_3+1 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_41_5 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_42_1 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_42_2 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_42_3 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_42_3+1 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_42_5 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_43_1 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_43_2 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_43_3 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_43_3+1 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_43_5 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_44_1 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_44_2 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_44_3 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_44_3+1 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_44_5 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_45_1 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_45_2 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_45_3 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_45_3+1 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_45_5 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_46_1 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_46_2 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_46_3 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_46_3+1 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_46_5 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_47_1 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_47_2 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_47_3 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_47_3+1 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_47_5 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_48_1 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_48_2 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_48_3 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_48_3+1 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_48_5 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_49_1 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_49_2 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_49_3 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_49_3+1 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_49_5 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_50_1 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_50_2 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_50_3 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_50_3+1 - UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG_50_5 - UF_FLAG_PUBLIC, // PLAYER_VISIBLE_ITEM_1_ENTRYID - UF_FLAG_PUBLIC, // PLAYER_VISIBLE_ITEM_1_ENCHANTMENT - UF_FLAG_PUBLIC, // PLAYER_VISIBLE_ITEM_2_ENTRYID - UF_FLAG_PUBLIC, // PLAYER_VISIBLE_ITEM_2_ENCHANTMENT - UF_FLAG_PUBLIC, // PLAYER_VISIBLE_ITEM_3_ENTRYID - UF_FLAG_PUBLIC, // PLAYER_VISIBLE_ITEM_3_ENCHANTMENT - UF_FLAG_PUBLIC, // PLAYER_VISIBLE_ITEM_4_ENTRYID - UF_FLAG_PUBLIC, // PLAYER_VISIBLE_ITEM_4_ENCHANTMENT - UF_FLAG_PUBLIC, // PLAYER_VISIBLE_ITEM_5_ENTRYID - UF_FLAG_PUBLIC, // PLAYER_VISIBLE_ITEM_5_ENCHANTMENT - UF_FLAG_PUBLIC, // PLAYER_VISIBLE_ITEM_6_ENTRYID - UF_FLAG_PUBLIC, // PLAYER_VISIBLE_ITEM_6_ENCHANTMENT - UF_FLAG_PUBLIC, // PLAYER_VISIBLE_ITEM_7_ENTRYID - UF_FLAG_PUBLIC, // PLAYER_VISIBLE_ITEM_7_ENCHANTMENT - UF_FLAG_PUBLIC, // PLAYER_VISIBLE_ITEM_8_ENTRYID - UF_FLAG_PUBLIC, // PLAYER_VISIBLE_ITEM_8_ENCHANTMENT - UF_FLAG_PUBLIC, // PLAYER_VISIBLE_ITEM_9_ENTRYID - UF_FLAG_PUBLIC, // PLAYER_VISIBLE_ITEM_9_ENCHANTMENT - UF_FLAG_PUBLIC, // PLAYER_VISIBLE_ITEM_10_ENTRYID - UF_FLAG_PUBLIC, // PLAYER_VISIBLE_ITEM_10_ENCHANTMENT - UF_FLAG_PUBLIC, // PLAYER_VISIBLE_ITEM_11_ENTRYID - UF_FLAG_PUBLIC, // PLAYER_VISIBLE_ITEM_11_ENCHANTMENT - UF_FLAG_PUBLIC, // PLAYER_VISIBLE_ITEM_12_ENTRYID - UF_FLAG_PUBLIC, // PLAYER_VISIBLE_ITEM_12_ENCHANTMENT - UF_FLAG_PUBLIC, // PLAYER_VISIBLE_ITEM_13_ENTRYID - UF_FLAG_PUBLIC, // PLAYER_VISIBLE_ITEM_13_ENCHANTMENT - UF_FLAG_PUBLIC, // PLAYER_VISIBLE_ITEM_14_ENTRYID - UF_FLAG_PUBLIC, // PLAYER_VISIBLE_ITEM_14_ENCHANTMENT - UF_FLAG_PUBLIC, // PLAYER_VISIBLE_ITEM_15_ENTRYID - UF_FLAG_PUBLIC, // PLAYER_VISIBLE_ITEM_15_ENCHANTMENT - UF_FLAG_PUBLIC, // PLAYER_VISIBLE_ITEM_16_ENTRYID - UF_FLAG_PUBLIC, // PLAYER_VISIBLE_ITEM_16_ENCHANTMENT - UF_FLAG_PUBLIC, // PLAYER_VISIBLE_ITEM_17_ENTRYID - UF_FLAG_PUBLIC, // PLAYER_VISIBLE_ITEM_17_ENCHANTMENT - UF_FLAG_PUBLIC, // PLAYER_VISIBLE_ITEM_18_ENTRYID - UF_FLAG_PUBLIC, // PLAYER_VISIBLE_ITEM_18_ENCHANTMENT - UF_FLAG_PUBLIC, // PLAYER_VISIBLE_ITEM_19_ENTRYID - UF_FLAG_PUBLIC, // PLAYER_VISIBLE_ITEM_19_ENCHANTMENT + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+2 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+3 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+4 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+5 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+6 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+7 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+8 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+9 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+10 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+11 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+12 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+13 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+14 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+15 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+16 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+17 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+18 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+19 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+20 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+21 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+22 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+23 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+24 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+25 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+26 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+27 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+28 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+29 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+30 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+31 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+32 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+33 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+34 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+35 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+36 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+37 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+38 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+39 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+40 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+41 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+42 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+43 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+44 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+45 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+46 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+47 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+48 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+49 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+50 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+51 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+52 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+53 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+54 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+55 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+56 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+57 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+58 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+59 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+60 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+61 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+62 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+63 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+64 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+65 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+66 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+67 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+68 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+69 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+70 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+71 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+72 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+73 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+74 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+75 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+76 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+77 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+78 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+79 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+80 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+81 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+82 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+83 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+84 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+85 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+86 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+87 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+88 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+89 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+90 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+91 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+92 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+93 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+94 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+95 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+96 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+97 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+98 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+99 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+100 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+101 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+102 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+103 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+104 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+105 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+106 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+107 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+108 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+109 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+110 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+111 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+112 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+113 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+114 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+115 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+116 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+117 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+118 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+119 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+120 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+121 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+122 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+123 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+124 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+125 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+126 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+127 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+128 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+129 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+130 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+131 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+132 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+133 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+134 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+135 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+136 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+137 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+138 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+139 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+140 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+141 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+142 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+143 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+144 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+145 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+146 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+147 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+148 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+149 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+150 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+151 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+152 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+153 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+154 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+155 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+156 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+157 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+158 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+159 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+160 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+161 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+162 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+163 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+164 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+165 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+166 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+167 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+168 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+169 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+170 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+171 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+172 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+173 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+174 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+175 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+176 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+177 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+178 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+179 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+180 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+181 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+182 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+183 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+184 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+185 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+186 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+187 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+188 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+189 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+190 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+191 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+192 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+193 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+194 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+195 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+196 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+197 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+198 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+199 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+200 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+201 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+202 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+203 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+204 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+205 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+206 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+207 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+208 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+209 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+210 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+211 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+212 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+213 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+214 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+215 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+216 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+217 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+218 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+219 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+220 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+221 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+222 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+223 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+224 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+225 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+226 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+227 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+228 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+229 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+230 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+231 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+232 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+233 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+234 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+235 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+236 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+237 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+238 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+239 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+240 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+241 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+242 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+243 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+244 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+245 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+246 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+247 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+248 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+249 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+250 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+251 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+252 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+253 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+254 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+255 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+256 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+257 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+258 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+259 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+260 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+261 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+262 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+263 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+264 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+265 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+266 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+267 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+268 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+269 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+270 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+271 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+272 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+273 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+274 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+275 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+276 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+277 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+278 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+279 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+280 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+281 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+282 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+283 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+284 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+285 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+286 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+287 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+288 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+289 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+290 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+291 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+292 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+293 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+294 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+295 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+296 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+297 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+298 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+299 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+300 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+301 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+302 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+303 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+304 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+305 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+306 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+307 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+308 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+309 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+310 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+311 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+312 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+313 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+314 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+315 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+316 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+317 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+318 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+319 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+320 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+321 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+322 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+323 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+324 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+325 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+326 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+327 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+328 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+329 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+330 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+331 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+332 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+333 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+334 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+335 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+336 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+337 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+338 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+339 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+340 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+341 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+342 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+343 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+344 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+345 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+346 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+347 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+348 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+349 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+350 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+351 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+352 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+353 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+354 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+355 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+356 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+357 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+358 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+359 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+360 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+361 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+362 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+363 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+364 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+365 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+366 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+367 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+368 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+369 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+370 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+371 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+372 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+373 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+374 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+375 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+376 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+377 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+378 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+379 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+380 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+381 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+382 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+383 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+384 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+385 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+386 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+387 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+388 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+389 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+390 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+391 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+392 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+393 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+394 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+395 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+396 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+397 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+398 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+399 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+400 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+401 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+402 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+403 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+404 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+405 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+406 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+407 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+408 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+409 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+410 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+411 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+412 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+413 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+414 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+415 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+416 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+417 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+418 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+419 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+420 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+421 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+422 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+423 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+424 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+425 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+426 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+427 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+428 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+429 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+430 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+431 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+432 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+433 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+434 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+435 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+436 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+437 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+438 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+439 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+440 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+441 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+442 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+443 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+444 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+445 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+446 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+447 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+448 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+449 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+450 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+451 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+452 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+453 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+454 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+455 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+456 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+457 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+458 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+459 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+460 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+461 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+462 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+463 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+464 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+465 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+466 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+467 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+468 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+469 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+470 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+471 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+472 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+473 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+474 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+475 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+476 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+477 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+478 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+479 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+480 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+481 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+482 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+483 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+484 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+485 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+486 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+487 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+488 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+489 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+490 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+491 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+492 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+493 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+494 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+495 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+496 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+497 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+498 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+499 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+500 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+501 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+502 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+503 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+504 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+505 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+506 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+507 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+508 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+509 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+510 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+511 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+512 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+513 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+514 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+515 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+516 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+517 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+518 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+519 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+520 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+521 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+522 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+523 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+524 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+525 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+526 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+527 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+528 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+529 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+530 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+531 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+532 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+533 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+534 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+535 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+536 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+537 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+538 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+539 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+540 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+541 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+542 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+543 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+544 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+545 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+546 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+547 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+548 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+549 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+550 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+551 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+552 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+553 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+554 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+555 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+556 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+557 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+558 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+559 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+560 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+561 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+562 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+563 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+564 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+565 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+566 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+567 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+568 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+569 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+570 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+571 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+572 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+573 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+574 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+575 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+576 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+577 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+578 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+579 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+580 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+581 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+582 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+583 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+584 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+585 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+586 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+587 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+588 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+589 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+590 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+591 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+592 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+593 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+594 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+595 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+596 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+597 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+598 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+599 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+600 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+601 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+602 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+603 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+604 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+605 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+606 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+607 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+608 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+609 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+610 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+611 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+612 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+613 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+614 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+615 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+616 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+617 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+618 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+619 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+620 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+621 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+622 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+623 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+624 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+625 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+626 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+627 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+628 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+629 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+630 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+631 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+632 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+633 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+634 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+635 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+636 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+637 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+638 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+639 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+640 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+641 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+642 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+643 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+644 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+645 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+646 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+647 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+648 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+649 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+650 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+651 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+652 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+653 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+654 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+655 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+656 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+657 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+658 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+659 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+660 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+661 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+662 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+663 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+664 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+665 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+666 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+667 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+668 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+669 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+670 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+671 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+672 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+673 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+674 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+675 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+676 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+677 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+678 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+679 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+680 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+681 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+682 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+683 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+684 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+685 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+686 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+687 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+688 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+689 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+690 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+691 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+692 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+693 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+694 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+695 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+696 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+697 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+698 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+699 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+700 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+701 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+702 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+703 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+704 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+705 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+706 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+707 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+708 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+709 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+710 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+711 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+712 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+713 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+714 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+715 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+716 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+717 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+718 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+719 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+720 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+721 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+722 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+723 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+724 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+725 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+726 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+727 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+728 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+729 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+730 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+731 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+732 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+733 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+734 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+735 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+736 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+737 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+738 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+739 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+740 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+741 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+742 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+743 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+744 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+745 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+746 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+747 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+748 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+749 + UF_FLAG_PUBLIC, // PLAYER_VISIBLE_ITEM + UF_FLAG_PUBLIC, // PLAYER_VISIBLE_ITEM+1 + UF_FLAG_PUBLIC, // PLAYER_VISIBLE_ITEM+2 + UF_FLAG_PUBLIC, // PLAYER_VISIBLE_ITEM+3 + UF_FLAG_PUBLIC, // PLAYER_VISIBLE_ITEM+4 + UF_FLAG_PUBLIC, // PLAYER_VISIBLE_ITEM+5 + UF_FLAG_PUBLIC, // PLAYER_VISIBLE_ITEM+6 + UF_FLAG_PUBLIC, // PLAYER_VISIBLE_ITEM+7 + UF_FLAG_PUBLIC, // PLAYER_VISIBLE_ITEM+8 + UF_FLAG_PUBLIC, // PLAYER_VISIBLE_ITEM+9 + UF_FLAG_PUBLIC, // PLAYER_VISIBLE_ITEM+10 + UF_FLAG_PUBLIC, // PLAYER_VISIBLE_ITEM+11 + UF_FLAG_PUBLIC, // PLAYER_VISIBLE_ITEM+12 + UF_FLAG_PUBLIC, // PLAYER_VISIBLE_ITEM+13 + UF_FLAG_PUBLIC, // PLAYER_VISIBLE_ITEM+14 + UF_FLAG_PUBLIC, // PLAYER_VISIBLE_ITEM+15 + UF_FLAG_PUBLIC, // PLAYER_VISIBLE_ITEM+16 + UF_FLAG_PUBLIC, // PLAYER_VISIBLE_ITEM+17 + UF_FLAG_PUBLIC, // PLAYER_VISIBLE_ITEM+18 + UF_FLAG_PUBLIC, // PLAYER_VISIBLE_ITEM+19 + UF_FLAG_PUBLIC, // PLAYER_VISIBLE_ITEM+20 + UF_FLAG_PUBLIC, // PLAYER_VISIBLE_ITEM+21 + UF_FLAG_PUBLIC, // PLAYER_VISIBLE_ITEM+22 + UF_FLAG_PUBLIC, // PLAYER_VISIBLE_ITEM+23 + UF_FLAG_PUBLIC, // PLAYER_VISIBLE_ITEM+24 + UF_FLAG_PUBLIC, // PLAYER_VISIBLE_ITEM+25 + UF_FLAG_PUBLIC, // PLAYER_VISIBLE_ITEM+26 + UF_FLAG_PUBLIC, // PLAYER_VISIBLE_ITEM+27 + UF_FLAG_PUBLIC, // PLAYER_VISIBLE_ITEM+28 + UF_FLAG_PUBLIC, // PLAYER_VISIBLE_ITEM+29 + UF_FLAG_PUBLIC, // PLAYER_VISIBLE_ITEM+30 + UF_FLAG_PUBLIC, // PLAYER_VISIBLE_ITEM+31 + UF_FLAG_PUBLIC, // PLAYER_VISIBLE_ITEM+32 + UF_FLAG_PUBLIC, // PLAYER_VISIBLE_ITEM+33 + UF_FLAG_PUBLIC, // PLAYER_VISIBLE_ITEM+34 + UF_FLAG_PUBLIC, // PLAYER_VISIBLE_ITEM+35 + UF_FLAG_PUBLIC, // PLAYER_VISIBLE_ITEM+36 + UF_FLAG_PUBLIC, // PLAYER_VISIBLE_ITEM+37 + UF_FLAG_PUBLIC, // PLAYER_VISIBLE_ITEM+38 + UF_FLAG_PUBLIC, // PLAYER_VISIBLE_ITEM+39 + UF_FLAG_PUBLIC, // PLAYER_VISIBLE_ITEM+40 + UF_FLAG_PUBLIC, // PLAYER_VISIBLE_ITEM+41 + UF_FLAG_PUBLIC, // PLAYER_VISIBLE_ITEM+42 + UF_FLAG_PUBLIC, // PLAYER_VISIBLE_ITEM+43 + UF_FLAG_PUBLIC, // PLAYER_VISIBLE_ITEM+44 + UF_FLAG_PUBLIC, // PLAYER_VISIBLE_ITEM+45 + UF_FLAG_PUBLIC, // PLAYER_VISIBLE_ITEM+46 + UF_FLAG_PUBLIC, // PLAYER_VISIBLE_ITEM+47 + UF_FLAG_PUBLIC, // PLAYER_VISIBLE_ITEM+48 + UF_FLAG_PUBLIC, // PLAYER_VISIBLE_ITEM+49 + UF_FLAG_PUBLIC, // PLAYER_VISIBLE_ITEM+50 + UF_FLAG_PUBLIC, // PLAYER_VISIBLE_ITEM+51 + UF_FLAG_PUBLIC, // PLAYER_VISIBLE_ITEM+52 + UF_FLAG_PUBLIC, // PLAYER_VISIBLE_ITEM+53 + UF_FLAG_PUBLIC, // PLAYER_VISIBLE_ITEM+54 + UF_FLAG_PUBLIC, // PLAYER_VISIBLE_ITEM+55 + UF_FLAG_PUBLIC, // PLAYER_VISIBLE_ITEM+56 UF_FLAG_PUBLIC, // PLAYER_CHOSEN_TITLE UF_FLAG_PUBLIC, // PLAYER_FAKE_INEBRIATION - UF_FLAG_NONE, // PLAYER_FIELD_PAD_0 + UF_FLAG_PUBLIC, // PLAYER_FIELD_VIRTUAL_PLAYER_REALM + UF_FLAG_PUBLIC, // PLAYER_FIELD_CURRENT_SPEC_ID + UF_FLAG_PUBLIC, // PLAYER_FIELD_TAXI_MOUNT_ANIM_KIT_ID + UF_FLAG_PUBLIC, // PLAYER_FIELD_AVG_ITEM_LEVEL_TOTAL + UF_FLAG_PUBLIC, // PLAYER_FIELD_AVG_ITEM_LEVEL_EQUIPPED + UF_FLAG_PUBLIC, // PLAYER_FIELD_CURRENT_BATTLE_PET_BREED_QUALITY 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 @@ -665,533 +1342,1170 @@ uint32 UnitUpdateFieldFlags[PLAYER_END] = UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+43 UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+44 UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+45 - UF_FLAG_PRIVATE, // PLAYER_FIELD_PACK_SLOT_1 - UF_FLAG_PRIVATE, // PLAYER_FIELD_PACK_SLOT_1+1 - UF_FLAG_PRIVATE, // PLAYER_FIELD_PACK_SLOT_1+2 - UF_FLAG_PRIVATE, // PLAYER_FIELD_PACK_SLOT_1+3 - UF_FLAG_PRIVATE, // PLAYER_FIELD_PACK_SLOT_1+4 - UF_FLAG_PRIVATE, // PLAYER_FIELD_PACK_SLOT_1+5 - UF_FLAG_PRIVATE, // PLAYER_FIELD_PACK_SLOT_1+6 - UF_FLAG_PRIVATE, // PLAYER_FIELD_PACK_SLOT_1+7 - UF_FLAG_PRIVATE, // PLAYER_FIELD_PACK_SLOT_1+8 - UF_FLAG_PRIVATE, // PLAYER_FIELD_PACK_SLOT_1+9 - UF_FLAG_PRIVATE, // PLAYER_FIELD_PACK_SLOT_1+10 - UF_FLAG_PRIVATE, // PLAYER_FIELD_PACK_SLOT_1+11 - UF_FLAG_PRIVATE, // PLAYER_FIELD_PACK_SLOT_1+12 - UF_FLAG_PRIVATE, // PLAYER_FIELD_PACK_SLOT_1+13 - UF_FLAG_PRIVATE, // PLAYER_FIELD_PACK_SLOT_1+14 - UF_FLAG_PRIVATE, // PLAYER_FIELD_PACK_SLOT_1+15 - UF_FLAG_PRIVATE, // PLAYER_FIELD_PACK_SLOT_1+16 - UF_FLAG_PRIVATE, // PLAYER_FIELD_PACK_SLOT_1+17 - UF_FLAG_PRIVATE, // PLAYER_FIELD_PACK_SLOT_1+18 - UF_FLAG_PRIVATE, // PLAYER_FIELD_PACK_SLOT_1+19 - UF_FLAG_PRIVATE, // PLAYER_FIELD_PACK_SLOT_1+20 - UF_FLAG_PRIVATE, // PLAYER_FIELD_PACK_SLOT_1+21 - UF_FLAG_PRIVATE, // PLAYER_FIELD_PACK_SLOT_1+22 - UF_FLAG_PRIVATE, // PLAYER_FIELD_PACK_SLOT_1+23 - UF_FLAG_PRIVATE, // PLAYER_FIELD_PACK_SLOT_1+24 - UF_FLAG_PRIVATE, // PLAYER_FIELD_PACK_SLOT_1+25 - UF_FLAG_PRIVATE, // PLAYER_FIELD_PACK_SLOT_1+26 - UF_FLAG_PRIVATE, // PLAYER_FIELD_PACK_SLOT_1+27 - UF_FLAG_PRIVATE, // PLAYER_FIELD_PACK_SLOT_1+28 - UF_FLAG_PRIVATE, // PLAYER_FIELD_PACK_SLOT_1+29 - UF_FLAG_PRIVATE, // PLAYER_FIELD_PACK_SLOT_1+30 - UF_FLAG_PRIVATE, // PLAYER_FIELD_PACK_SLOT_1+31 - UF_FLAG_PRIVATE, // PLAYER_FIELD_BANK_SLOT_1 - UF_FLAG_PRIVATE, // PLAYER_FIELD_BANK_SLOT_1+1 - UF_FLAG_PRIVATE, // PLAYER_FIELD_BANK_SLOT_1+2 - UF_FLAG_PRIVATE, // PLAYER_FIELD_BANK_SLOT_1+3 - UF_FLAG_PRIVATE, // PLAYER_FIELD_BANK_SLOT_1+4 - UF_FLAG_PRIVATE, // PLAYER_FIELD_BANK_SLOT_1+5 - UF_FLAG_PRIVATE, // PLAYER_FIELD_BANK_SLOT_1+6 - UF_FLAG_PRIVATE, // PLAYER_FIELD_BANK_SLOT_1+7 - UF_FLAG_PRIVATE, // PLAYER_FIELD_BANK_SLOT_1+8 - UF_FLAG_PRIVATE, // PLAYER_FIELD_BANK_SLOT_1+9 - UF_FLAG_PRIVATE, // PLAYER_FIELD_BANK_SLOT_1+10 - UF_FLAG_PRIVATE, // PLAYER_FIELD_BANK_SLOT_1+11 - UF_FLAG_PRIVATE, // PLAYER_FIELD_BANK_SLOT_1+12 - UF_FLAG_PRIVATE, // PLAYER_FIELD_BANK_SLOT_1+13 - UF_FLAG_PRIVATE, // PLAYER_FIELD_BANK_SLOT_1+14 - UF_FLAG_PRIVATE, // PLAYER_FIELD_BANK_SLOT_1+15 - UF_FLAG_PRIVATE, // PLAYER_FIELD_BANK_SLOT_1+16 - UF_FLAG_PRIVATE, // PLAYER_FIELD_BANK_SLOT_1+17 - UF_FLAG_PRIVATE, // PLAYER_FIELD_BANK_SLOT_1+18 - UF_FLAG_PRIVATE, // PLAYER_FIELD_BANK_SLOT_1+19 - UF_FLAG_PRIVATE, // PLAYER_FIELD_BANK_SLOT_1+20 - UF_FLAG_PRIVATE, // PLAYER_FIELD_BANK_SLOT_1+21 - UF_FLAG_PRIVATE, // PLAYER_FIELD_BANK_SLOT_1+22 - UF_FLAG_PRIVATE, // PLAYER_FIELD_BANK_SLOT_1+23 - UF_FLAG_PRIVATE, // PLAYER_FIELD_BANK_SLOT_1+24 - UF_FLAG_PRIVATE, // PLAYER_FIELD_BANK_SLOT_1+25 - UF_FLAG_PRIVATE, // PLAYER_FIELD_BANK_SLOT_1+26 - UF_FLAG_PRIVATE, // PLAYER_FIELD_BANK_SLOT_1+27 - UF_FLAG_PRIVATE, // PLAYER_FIELD_BANK_SLOT_1+28 - UF_FLAG_PRIVATE, // PLAYER_FIELD_BANK_SLOT_1+29 - UF_FLAG_PRIVATE, // PLAYER_FIELD_BANK_SLOT_1+30 - UF_FLAG_PRIVATE, // PLAYER_FIELD_BANK_SLOT_1+31 - UF_FLAG_PRIVATE, // PLAYER_FIELD_BANK_SLOT_1+32 - UF_FLAG_PRIVATE, // PLAYER_FIELD_BANK_SLOT_1+33 - UF_FLAG_PRIVATE, // PLAYER_FIELD_BANK_SLOT_1+34 - UF_FLAG_PRIVATE, // PLAYER_FIELD_BANK_SLOT_1+35 - UF_FLAG_PRIVATE, // PLAYER_FIELD_BANK_SLOT_1+36 - UF_FLAG_PRIVATE, // PLAYER_FIELD_BANK_SLOT_1+37 - UF_FLAG_PRIVATE, // PLAYER_FIELD_BANK_SLOT_1+38 - UF_FLAG_PRIVATE, // PLAYER_FIELD_BANK_SLOT_1+39 - UF_FLAG_PRIVATE, // PLAYER_FIELD_BANK_SLOT_1+40 - UF_FLAG_PRIVATE, // PLAYER_FIELD_BANK_SLOT_1+41 - UF_FLAG_PRIVATE, // PLAYER_FIELD_BANK_SLOT_1+42 - UF_FLAG_PRIVATE, // PLAYER_FIELD_BANK_SLOT_1+43 - UF_FLAG_PRIVATE, // PLAYER_FIELD_BANK_SLOT_1+44 - UF_FLAG_PRIVATE, // PLAYER_FIELD_BANK_SLOT_1+45 - UF_FLAG_PRIVATE, // PLAYER_FIELD_BANK_SLOT_1+46 - UF_FLAG_PRIVATE, // PLAYER_FIELD_BANK_SLOT_1+47 - UF_FLAG_PRIVATE, // PLAYER_FIELD_BANK_SLOT_1+48 - UF_FLAG_PRIVATE, // PLAYER_FIELD_BANK_SLOT_1+49 - UF_FLAG_PRIVATE, // PLAYER_FIELD_BANK_SLOT_1+50 - UF_FLAG_PRIVATE, // PLAYER_FIELD_BANK_SLOT_1+51 - UF_FLAG_PRIVATE, // PLAYER_FIELD_BANK_SLOT_1+52 - UF_FLAG_PRIVATE, // PLAYER_FIELD_BANK_SLOT_1+53 - UF_FLAG_PRIVATE, // PLAYER_FIELD_BANK_SLOT_1+54 - UF_FLAG_PRIVATE, // PLAYER_FIELD_BANK_SLOT_1+55 - UF_FLAG_PRIVATE, // PLAYER_FIELD_BANKBAG_SLOT_1 - UF_FLAG_PRIVATE, // PLAYER_FIELD_BANKBAG_SLOT_1+1 - UF_FLAG_PRIVATE, // PLAYER_FIELD_BANKBAG_SLOT_1+2 - UF_FLAG_PRIVATE, // PLAYER_FIELD_BANKBAG_SLOT_1+3 - UF_FLAG_PRIVATE, // PLAYER_FIELD_BANKBAG_SLOT_1+4 - UF_FLAG_PRIVATE, // PLAYER_FIELD_BANKBAG_SLOT_1+5 - UF_FLAG_PRIVATE, // PLAYER_FIELD_BANKBAG_SLOT_1+6 - UF_FLAG_PRIVATE, // PLAYER_FIELD_BANKBAG_SLOT_1+7 - UF_FLAG_PRIVATE, // PLAYER_FIELD_BANKBAG_SLOT_1+8 - UF_FLAG_PRIVATE, // PLAYER_FIELD_BANKBAG_SLOT_1+9 - UF_FLAG_PRIVATE, // PLAYER_FIELD_BANKBAG_SLOT_1+10 - UF_FLAG_PRIVATE, // PLAYER_FIELD_BANKBAG_SLOT_1+11 - UF_FLAG_PRIVATE, // PLAYER_FIELD_BANKBAG_SLOT_1+12 - UF_FLAG_PRIVATE, // PLAYER_FIELD_BANKBAG_SLOT_1+13 - UF_FLAG_PRIVATE, // PLAYER_FIELD_VENDORBUYBACK_SLOT_1 - UF_FLAG_PRIVATE, // PLAYER_FIELD_VENDORBUYBACK_SLOT_1+1 - UF_FLAG_PRIVATE, // PLAYER_FIELD_VENDORBUYBACK_SLOT_1+2 - UF_FLAG_PRIVATE, // PLAYER_FIELD_VENDORBUYBACK_SLOT_1+3 - UF_FLAG_PRIVATE, // PLAYER_FIELD_VENDORBUYBACK_SLOT_1+4 - UF_FLAG_PRIVATE, // PLAYER_FIELD_VENDORBUYBACK_SLOT_1+5 - UF_FLAG_PRIVATE, // PLAYER_FIELD_VENDORBUYBACK_SLOT_1+6 - UF_FLAG_PRIVATE, // PLAYER_FIELD_VENDORBUYBACK_SLOT_1+7 - UF_FLAG_PRIVATE, // PLAYER_FIELD_VENDORBUYBACK_SLOT_1+8 - UF_FLAG_PRIVATE, // PLAYER_FIELD_VENDORBUYBACK_SLOT_1+9 - UF_FLAG_PRIVATE, // PLAYER_FIELD_VENDORBUYBACK_SLOT_1+10 - UF_FLAG_PRIVATE, // PLAYER_FIELD_VENDORBUYBACK_SLOT_1+11 - UF_FLAG_PRIVATE, // PLAYER_FIELD_VENDORBUYBACK_SLOT_1+12 - UF_FLAG_PRIVATE, // PLAYER_FIELD_VENDORBUYBACK_SLOT_1+13 - UF_FLAG_PRIVATE, // PLAYER_FIELD_VENDORBUYBACK_SLOT_1+14 - UF_FLAG_PRIVATE, // PLAYER_FIELD_VENDORBUYBACK_SLOT_1+15 - UF_FLAG_PRIVATE, // PLAYER_FIELD_VENDORBUYBACK_SLOT_1+16 - UF_FLAG_PRIVATE, // PLAYER_FIELD_VENDORBUYBACK_SLOT_1+17 - UF_FLAG_PRIVATE, // PLAYER_FIELD_VENDORBUYBACK_SLOT_1+18 - UF_FLAG_PRIVATE, // PLAYER_FIELD_VENDORBUYBACK_SLOT_1+19 - UF_FLAG_PRIVATE, // PLAYER_FIELD_VENDORBUYBACK_SLOT_1+20 - UF_FLAG_PRIVATE, // PLAYER_FIELD_VENDORBUYBACK_SLOT_1+21 - UF_FLAG_PRIVATE, // PLAYER_FIELD_VENDORBUYBACK_SLOT_1+22 - UF_FLAG_PRIVATE, // PLAYER_FIELD_VENDORBUYBACK_SLOT_1+23 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+46 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+47 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+48 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+49 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+50 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+51 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+52 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+53 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+54 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+55 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+56 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+57 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+58 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+59 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+60 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+61 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+62 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+63 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+64 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+65 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+66 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+67 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+68 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+69 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+70 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+71 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+72 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+73 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+74 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+75 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+76 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+77 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+78 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+79 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+80 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+81 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+82 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+83 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+84 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+85 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+86 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+87 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+88 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+89 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+90 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+91 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+92 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+93 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+94 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+95 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+96 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+97 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+98 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+99 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+100 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+101 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+102 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+103 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+104 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+105 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+106 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+107 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+108 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+109 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+110 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+111 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+112 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+113 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+114 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+115 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+116 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+117 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+118 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+119 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+120 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+121 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+122 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+123 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+124 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+125 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+126 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+127 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+128 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+129 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+130 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+131 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+132 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+133 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+134 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+135 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+136 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+137 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+138 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+139 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+140 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+141 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+142 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+143 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+144 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+145 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+146 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+147 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+148 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+149 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+150 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+151 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+152 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+153 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+154 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+155 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+156 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+157 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+158 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+159 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+160 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+161 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+162 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+163 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+164 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+165 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+166 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+167 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+168 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+169 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+170 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+171 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+172 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+173 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+174 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+175 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+176 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+177 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+178 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+179 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+180 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+181 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+182 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+183 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+184 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+185 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+186 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+187 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+188 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+189 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+190 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+191 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+192 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+193 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+194 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+195 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+196 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+197 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+198 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+199 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+200 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+201 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+202 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+203 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+204 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+205 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+206 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+207 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+208 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+209 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+210 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+211 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+212 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+213 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+214 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+215 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+216 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+217 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+218 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+219 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+220 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+221 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+222 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+223 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+224 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+225 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+226 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+227 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+228 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+229 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+230 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+231 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+232 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+233 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+234 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+235 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+236 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+237 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+238 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+239 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+240 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+241 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+242 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+243 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+244 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+245 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+246 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+247 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+248 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+249 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+250 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+251 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+252 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+253 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+254 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+255 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+256 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+257 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+258 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+259 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+260 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+261 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+262 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+263 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+264 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+265 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+266 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+267 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+268 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+269 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+270 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+271 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+272 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+273 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+274 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+275 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+276 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+277 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+278 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+279 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+280 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+281 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+282 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+283 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+284 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+285 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+286 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+287 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+288 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+289 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+290 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+291 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+292 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+293 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+294 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+295 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+296 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+297 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+298 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+299 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+300 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+301 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+302 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+303 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+304 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+305 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+306 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+307 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+308 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+309 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+310 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+311 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+312 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+313 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+314 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+315 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+316 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+317 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+318 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+319 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+320 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+321 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+322 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+323 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+324 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+325 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+326 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+327 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+328 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+329 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+330 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+331 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+332 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+333 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+334 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+335 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+336 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+337 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+338 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+339 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+340 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+341 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+342 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+343 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+344 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+345 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+346 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+347 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+348 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+349 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+350 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+351 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+352 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+353 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+354 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+355 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+356 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+357 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+358 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+359 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+360 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+361 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+362 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+363 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+364 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+365 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+366 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+367 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+368 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+369 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+370 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+371 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+372 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+373 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+374 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+375 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+376 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+377 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+378 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+379 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+380 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+381 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+382 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+383 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+384 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+385 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+386 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+387 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+388 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+389 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+390 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+391 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+392 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+393 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+394 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+395 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+396 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+397 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+398 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+399 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+400 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+401 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+402 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+403 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+404 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+405 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+406 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+407 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+408 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+409 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+410 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+411 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+412 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+413 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+414 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+415 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+416 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+417 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+418 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+419 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+420 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+421 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+422 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+423 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+424 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+425 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+426 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+427 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+428 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+429 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+430 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+431 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+432 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+433 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+434 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+435 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+436 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+437 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+438 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+439 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+440 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+441 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+442 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+443 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+444 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+445 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+446 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+447 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+448 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+449 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+450 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+451 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+452 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+453 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+454 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+455 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+456 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+457 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+458 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+459 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+460 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+461 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+462 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+463 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+464 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+465 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+466 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+467 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+468 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+469 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+470 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+471 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+472 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+473 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+474 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+475 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+476 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+477 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+478 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+479 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+480 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+481 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+482 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+483 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+484 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+485 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+486 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+487 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+488 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+489 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+490 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+491 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+492 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+493 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+494 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+495 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+496 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+497 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+498 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+499 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+500 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+501 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+502 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+503 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+504 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+505 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+506 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+507 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+508 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+509 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+510 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+511 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+512 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+513 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+514 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+515 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+516 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+517 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+518 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+519 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+520 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+521 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+522 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+523 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+524 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+525 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+526 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+527 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+528 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+529 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+530 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+531 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+532 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+533 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+534 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+535 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+536 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+537 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+538 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+539 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+540 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+541 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+542 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+543 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+544 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+545 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+546 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+547 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+548 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+549 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+550 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+551 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+552 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+553 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+554 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+555 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+556 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+557 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+558 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+559 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+560 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+561 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+562 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+563 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+564 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+565 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+566 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+567 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+568 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+569 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+570 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+571 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+572 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+573 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+574 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+575 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+576 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+577 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+578 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+579 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+580 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+581 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+582 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+583 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+584 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+585 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+586 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+587 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+588 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+589 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+590 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+591 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+592 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+593 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+594 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+595 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+596 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+597 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+598 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+599 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+600 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+601 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+602 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+603 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+604 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+605 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+606 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+607 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+608 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+609 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+610 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+611 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+612 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+613 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+614 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+615 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+616 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+617 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+618 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+619 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+620 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+621 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+622 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+623 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+624 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+625 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+626 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+627 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+628 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+629 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+630 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+631 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+632 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+633 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+634 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+635 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+636 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+637 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+638 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+639 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+640 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+641 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+642 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+643 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+644 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+645 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+646 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+647 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+648 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+649 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+650 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+651 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+652 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+653 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+654 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+655 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+656 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+657 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+658 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+659 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+660 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+661 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+662 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+663 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+664 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+665 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+666 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+667 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+668 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+669 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+670 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+671 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+672 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+673 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+674 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+675 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+676 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+677 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+678 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+679 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+680 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+681 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+682 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+683 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+684 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+685 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+686 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+687 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+688 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+689 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+690 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+691 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+692 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+693 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+694 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+695 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+696 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+697 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+698 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+699 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+700 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+701 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+702 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+703 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+704 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+705 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+706 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+707 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+708 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+709 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+710 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+711 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+712 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+713 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+714 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+715 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+716 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+717 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+718 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+719 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+720 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+721 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+722 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+723 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+724 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+725 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+726 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+727 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+728 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+729 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+730 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+731 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+732 + 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_FARSIGHT UF_FLAG_PRIVATE, // PLAYER_FARSIGHT+1 + UF_FLAG_PRIVATE, // PLAYER_FARSIGHT+2 + UF_FLAG_PRIVATE, // PLAYER_FARSIGHT+3 UF_FLAG_PRIVATE, // PLAYER__FIELD_KNOWN_TITLES UF_FLAG_PRIVATE, // PLAYER__FIELD_KNOWN_TITLES+1 - UF_FLAG_PRIVATE, // PLAYER__FIELD_KNOWN_TITLES1 - UF_FLAG_PRIVATE, // PLAYER__FIELD_KNOWN_TITLES1+1 - UF_FLAG_PRIVATE, // PLAYER__FIELD_KNOWN_TITLES2 - UF_FLAG_PRIVATE, // PLAYER__FIELD_KNOWN_TITLES2+1 - UF_FLAG_PRIVATE, // PLAYER__FIELD_KNOWN_TITLES3 - UF_FLAG_PRIVATE, // PLAYER__FIELD_KNOWN_TITLES3+1 + UF_FLAG_PRIVATE, // PLAYER__FIELD_KNOWN_TITLES+2 + UF_FLAG_PRIVATE, // PLAYER__FIELD_KNOWN_TITLES+3 + UF_FLAG_PRIVATE, // PLAYER__FIELD_KNOWN_TITLES+4 + UF_FLAG_PRIVATE, // PLAYER__FIELD_KNOWN_TITLES+5 + UF_FLAG_PRIVATE, // PLAYER__FIELD_KNOWN_TITLES+6 + UF_FLAG_PRIVATE, // PLAYER__FIELD_KNOWN_TITLES+7 + UF_FLAG_PRIVATE, // PLAYER__FIELD_KNOWN_TITLES+8 + UF_FLAG_PRIVATE, // PLAYER__FIELD_KNOWN_TITLES+9 + UF_FLAG_PRIVATE, // PLAYER_FIELD_COINAGE + UF_FLAG_PRIVATE, // PLAYER_FIELD_COINAGE+1 UF_FLAG_PRIVATE, // PLAYER_XP UF_FLAG_PRIVATE, // PLAYER_NEXT_LEVEL_XP - UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID_0 - UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID_0+1 - UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID_0+2 - UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID_0+3 - UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID_0+4 - UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID_0+5 - UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID_0+6 - UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID_0+7 - UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID_0+8 - UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID_0+9 - UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID_0+10 - UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID_0+11 - UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID_0+12 - UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID_0+13 - UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID_0+14 - UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID_0+15 - UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID_0+16 - UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID_0+17 - UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID_0+18 - UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID_0+19 - UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID_0+20 - UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID_0+21 - UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID_0+22 - UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID_0+23 - UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID_0+24 - UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID_0+25 - UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID_0+26 - UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID_0+27 - UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID_0+28 - UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID_0+29 - UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID_0+30 - UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID_0+31 - UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID_0+32 - UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID_0+33 - UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID_0+34 - UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID_0+35 - UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID_0+36 - UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID_0+37 - UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID_0+38 - UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID_0+39 - UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID_0+40 - UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID_0+41 - UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID_0+42 - UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID_0+43 - UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID_0+44 - UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID_0+45 - UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID_0+46 - UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID_0+47 - UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID_0+48 - UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID_0+49 - UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID_0+50 - UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID_0+51 - UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID_0+52 - UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID_0+53 - UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID_0+54 - UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID_0+55 - UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID_0+56 - UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID_0+57 - UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID_0+58 - UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID_0+59 - UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID_0+60 - UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID_0+61 - UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID_0+62 - UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID_0+63 - UF_FLAG_PRIVATE, // PLAYER_SKILL_STEP_0 - UF_FLAG_PRIVATE, // PLAYER_SKILL_STEP_0+1 - UF_FLAG_PRIVATE, // PLAYER_SKILL_STEP_0+2 - UF_FLAG_PRIVATE, // PLAYER_SKILL_STEP_0+3 - UF_FLAG_PRIVATE, // PLAYER_SKILL_STEP_0+4 - UF_FLAG_PRIVATE, // PLAYER_SKILL_STEP_0+5 - UF_FLAG_PRIVATE, // PLAYER_SKILL_STEP_0+6 - UF_FLAG_PRIVATE, // PLAYER_SKILL_STEP_0+7 - UF_FLAG_PRIVATE, // PLAYER_SKILL_STEP_0+8 - UF_FLAG_PRIVATE, // PLAYER_SKILL_STEP_0+9 - UF_FLAG_PRIVATE, // PLAYER_SKILL_STEP_0+10 - UF_FLAG_PRIVATE, // PLAYER_SKILL_STEP_0+11 - UF_FLAG_PRIVATE, // PLAYER_SKILL_STEP_0+12 - UF_FLAG_PRIVATE, // PLAYER_SKILL_STEP_0+13 - UF_FLAG_PRIVATE, // PLAYER_SKILL_STEP_0+14 - UF_FLAG_PRIVATE, // PLAYER_SKILL_STEP_0+15 - UF_FLAG_PRIVATE, // PLAYER_SKILL_STEP_0+16 - UF_FLAG_PRIVATE, // PLAYER_SKILL_STEP_0+17 - UF_FLAG_PRIVATE, // PLAYER_SKILL_STEP_0+18 - UF_FLAG_PRIVATE, // PLAYER_SKILL_STEP_0+19 - UF_FLAG_PRIVATE, // PLAYER_SKILL_STEP_0+20 - UF_FLAG_PRIVATE, // PLAYER_SKILL_STEP_0+21 - UF_FLAG_PRIVATE, // PLAYER_SKILL_STEP_0+22 - UF_FLAG_PRIVATE, // PLAYER_SKILL_STEP_0+23 - UF_FLAG_PRIVATE, // PLAYER_SKILL_STEP_0+24 - UF_FLAG_PRIVATE, // PLAYER_SKILL_STEP_0+25 - UF_FLAG_PRIVATE, // PLAYER_SKILL_STEP_0+26 - UF_FLAG_PRIVATE, // PLAYER_SKILL_STEP_0+27 - UF_FLAG_PRIVATE, // PLAYER_SKILL_STEP_0+28 - UF_FLAG_PRIVATE, // PLAYER_SKILL_STEP_0+29 - UF_FLAG_PRIVATE, // PLAYER_SKILL_STEP_0+30 - UF_FLAG_PRIVATE, // PLAYER_SKILL_STEP_0+31 - UF_FLAG_PRIVATE, // PLAYER_SKILL_STEP_0+32 - UF_FLAG_PRIVATE, // PLAYER_SKILL_STEP_0+33 - UF_FLAG_PRIVATE, // PLAYER_SKILL_STEP_0+34 - UF_FLAG_PRIVATE, // PLAYER_SKILL_STEP_0+35 - UF_FLAG_PRIVATE, // PLAYER_SKILL_STEP_0+36 - UF_FLAG_PRIVATE, // PLAYER_SKILL_STEP_0+37 - UF_FLAG_PRIVATE, // PLAYER_SKILL_STEP_0+38 - UF_FLAG_PRIVATE, // PLAYER_SKILL_STEP_0+39 - UF_FLAG_PRIVATE, // PLAYER_SKILL_STEP_0+40 - UF_FLAG_PRIVATE, // PLAYER_SKILL_STEP_0+41 - UF_FLAG_PRIVATE, // PLAYER_SKILL_STEP_0+42 - UF_FLAG_PRIVATE, // PLAYER_SKILL_STEP_0+43 - UF_FLAG_PRIVATE, // PLAYER_SKILL_STEP_0+44 - UF_FLAG_PRIVATE, // PLAYER_SKILL_STEP_0+45 - UF_FLAG_PRIVATE, // PLAYER_SKILL_STEP_0+46 - UF_FLAG_PRIVATE, // PLAYER_SKILL_STEP_0+47 - UF_FLAG_PRIVATE, // PLAYER_SKILL_STEP_0+48 - UF_FLAG_PRIVATE, // PLAYER_SKILL_STEP_0+49 - UF_FLAG_PRIVATE, // PLAYER_SKILL_STEP_0+50 - UF_FLAG_PRIVATE, // PLAYER_SKILL_STEP_0+51 - UF_FLAG_PRIVATE, // PLAYER_SKILL_STEP_0+52 - UF_FLAG_PRIVATE, // PLAYER_SKILL_STEP_0+53 - UF_FLAG_PRIVATE, // PLAYER_SKILL_STEP_0+54 - UF_FLAG_PRIVATE, // PLAYER_SKILL_STEP_0+55 - UF_FLAG_PRIVATE, // PLAYER_SKILL_STEP_0+56 - UF_FLAG_PRIVATE, // PLAYER_SKILL_STEP_0+57 - UF_FLAG_PRIVATE, // PLAYER_SKILL_STEP_0+58 - UF_FLAG_PRIVATE, // PLAYER_SKILL_STEP_0+59 - UF_FLAG_PRIVATE, // PLAYER_SKILL_STEP_0+60 - UF_FLAG_PRIVATE, // PLAYER_SKILL_STEP_0+61 - UF_FLAG_PRIVATE, // PLAYER_SKILL_STEP_0+62 - UF_FLAG_PRIVATE, // PLAYER_SKILL_STEP_0+63 - UF_FLAG_PRIVATE, // PLAYER_SKILL_RANK_0 - UF_FLAG_PRIVATE, // PLAYER_SKILL_RANK_0+1 - UF_FLAG_PRIVATE, // PLAYER_SKILL_RANK_0+2 - UF_FLAG_PRIVATE, // PLAYER_SKILL_RANK_0+3 - UF_FLAG_PRIVATE, // PLAYER_SKILL_RANK_0+4 - UF_FLAG_PRIVATE, // PLAYER_SKILL_RANK_0+5 - UF_FLAG_PRIVATE, // PLAYER_SKILL_RANK_0+6 - UF_FLAG_PRIVATE, // PLAYER_SKILL_RANK_0+7 - UF_FLAG_PRIVATE, // PLAYER_SKILL_RANK_0+8 - UF_FLAG_PRIVATE, // PLAYER_SKILL_RANK_0+9 - UF_FLAG_PRIVATE, // PLAYER_SKILL_RANK_0+10 - UF_FLAG_PRIVATE, // PLAYER_SKILL_RANK_0+11 - UF_FLAG_PRIVATE, // PLAYER_SKILL_RANK_0+12 - UF_FLAG_PRIVATE, // PLAYER_SKILL_RANK_0+13 - UF_FLAG_PRIVATE, // PLAYER_SKILL_RANK_0+14 - UF_FLAG_PRIVATE, // PLAYER_SKILL_RANK_0+15 - UF_FLAG_PRIVATE, // PLAYER_SKILL_RANK_0+16 - UF_FLAG_PRIVATE, // PLAYER_SKILL_RANK_0+17 - UF_FLAG_PRIVATE, // PLAYER_SKILL_RANK_0+18 - UF_FLAG_PRIVATE, // PLAYER_SKILL_RANK_0+19 - UF_FLAG_PRIVATE, // PLAYER_SKILL_RANK_0+20 - UF_FLAG_PRIVATE, // PLAYER_SKILL_RANK_0+21 - UF_FLAG_PRIVATE, // PLAYER_SKILL_RANK_0+22 - UF_FLAG_PRIVATE, // PLAYER_SKILL_RANK_0+23 - UF_FLAG_PRIVATE, // PLAYER_SKILL_RANK_0+24 - UF_FLAG_PRIVATE, // PLAYER_SKILL_RANK_0+25 - UF_FLAG_PRIVATE, // PLAYER_SKILL_RANK_0+26 - UF_FLAG_PRIVATE, // PLAYER_SKILL_RANK_0+27 - UF_FLAG_PRIVATE, // PLAYER_SKILL_RANK_0+28 - UF_FLAG_PRIVATE, // PLAYER_SKILL_RANK_0+29 - UF_FLAG_PRIVATE, // PLAYER_SKILL_RANK_0+30 - UF_FLAG_PRIVATE, // PLAYER_SKILL_RANK_0+31 - UF_FLAG_PRIVATE, // PLAYER_SKILL_RANK_0+32 - UF_FLAG_PRIVATE, // PLAYER_SKILL_RANK_0+33 - UF_FLAG_PRIVATE, // PLAYER_SKILL_RANK_0+34 - UF_FLAG_PRIVATE, // PLAYER_SKILL_RANK_0+35 - UF_FLAG_PRIVATE, // PLAYER_SKILL_RANK_0+36 - UF_FLAG_PRIVATE, // PLAYER_SKILL_RANK_0+37 - UF_FLAG_PRIVATE, // PLAYER_SKILL_RANK_0+38 - UF_FLAG_PRIVATE, // PLAYER_SKILL_RANK_0+39 - UF_FLAG_PRIVATE, // PLAYER_SKILL_RANK_0+40 - UF_FLAG_PRIVATE, // PLAYER_SKILL_RANK_0+41 - UF_FLAG_PRIVATE, // PLAYER_SKILL_RANK_0+42 - UF_FLAG_PRIVATE, // PLAYER_SKILL_RANK_0+43 - UF_FLAG_PRIVATE, // PLAYER_SKILL_RANK_0+44 - UF_FLAG_PRIVATE, // PLAYER_SKILL_RANK_0+45 - UF_FLAG_PRIVATE, // PLAYER_SKILL_RANK_0+46 - UF_FLAG_PRIVATE, // PLAYER_SKILL_RANK_0+47 - UF_FLAG_PRIVATE, // PLAYER_SKILL_RANK_0+48 - UF_FLAG_PRIVATE, // PLAYER_SKILL_RANK_0+49 - UF_FLAG_PRIVATE, // PLAYER_SKILL_RANK_0+50 - UF_FLAG_PRIVATE, // PLAYER_SKILL_RANK_0+51 - UF_FLAG_PRIVATE, // PLAYER_SKILL_RANK_0+52 - UF_FLAG_PRIVATE, // PLAYER_SKILL_RANK_0+53 - UF_FLAG_PRIVATE, // PLAYER_SKILL_RANK_0+54 - UF_FLAG_PRIVATE, // PLAYER_SKILL_RANK_0+55 - UF_FLAG_PRIVATE, // PLAYER_SKILL_RANK_0+56 - UF_FLAG_PRIVATE, // PLAYER_SKILL_RANK_0+57 - UF_FLAG_PRIVATE, // PLAYER_SKILL_RANK_0+58 - UF_FLAG_PRIVATE, // PLAYER_SKILL_RANK_0+59 - UF_FLAG_PRIVATE, // PLAYER_SKILL_RANK_0+60 - UF_FLAG_PRIVATE, // PLAYER_SKILL_RANK_0+61 - UF_FLAG_PRIVATE, // PLAYER_SKILL_RANK_0+62 - UF_FLAG_PRIVATE, // PLAYER_SKILL_RANK_0+63 - UF_FLAG_PRIVATE, // PLAYER_SKILL_MAX_RANK_0 - UF_FLAG_PRIVATE, // PLAYER_SKILL_MAX_RANK_0+1 - UF_FLAG_PRIVATE, // PLAYER_SKILL_MAX_RANK_0+2 - UF_FLAG_PRIVATE, // PLAYER_SKILL_MAX_RANK_0+3 - UF_FLAG_PRIVATE, // PLAYER_SKILL_MAX_RANK_0+4 - UF_FLAG_PRIVATE, // PLAYER_SKILL_MAX_RANK_0+5 - UF_FLAG_PRIVATE, // PLAYER_SKILL_MAX_RANK_0+6 - UF_FLAG_PRIVATE, // PLAYER_SKILL_MAX_RANK_0+7 - UF_FLAG_PRIVATE, // PLAYER_SKILL_MAX_RANK_0+8 - UF_FLAG_PRIVATE, // PLAYER_SKILL_MAX_RANK_0+9 - UF_FLAG_PRIVATE, // PLAYER_SKILL_MAX_RANK_0+10 - UF_FLAG_PRIVATE, // PLAYER_SKILL_MAX_RANK_0+11 - UF_FLAG_PRIVATE, // PLAYER_SKILL_MAX_RANK_0+12 - UF_FLAG_PRIVATE, // PLAYER_SKILL_MAX_RANK_0+13 - UF_FLAG_PRIVATE, // PLAYER_SKILL_MAX_RANK_0+14 - UF_FLAG_PRIVATE, // PLAYER_SKILL_MAX_RANK_0+15 - UF_FLAG_PRIVATE, // PLAYER_SKILL_MAX_RANK_0+16 - UF_FLAG_PRIVATE, // PLAYER_SKILL_MAX_RANK_0+17 - UF_FLAG_PRIVATE, // PLAYER_SKILL_MAX_RANK_0+18 - UF_FLAG_PRIVATE, // PLAYER_SKILL_MAX_RANK_0+19 - UF_FLAG_PRIVATE, // PLAYER_SKILL_MAX_RANK_0+20 - UF_FLAG_PRIVATE, // PLAYER_SKILL_MAX_RANK_0+21 - UF_FLAG_PRIVATE, // PLAYER_SKILL_MAX_RANK_0+22 - UF_FLAG_PRIVATE, // PLAYER_SKILL_MAX_RANK_0+23 - UF_FLAG_PRIVATE, // PLAYER_SKILL_MAX_RANK_0+24 - UF_FLAG_PRIVATE, // PLAYER_SKILL_MAX_RANK_0+25 - UF_FLAG_PRIVATE, // PLAYER_SKILL_MAX_RANK_0+26 - UF_FLAG_PRIVATE, // PLAYER_SKILL_MAX_RANK_0+27 - UF_FLAG_PRIVATE, // PLAYER_SKILL_MAX_RANK_0+28 - UF_FLAG_PRIVATE, // PLAYER_SKILL_MAX_RANK_0+29 - UF_FLAG_PRIVATE, // PLAYER_SKILL_MAX_RANK_0+30 - UF_FLAG_PRIVATE, // PLAYER_SKILL_MAX_RANK_0+31 - UF_FLAG_PRIVATE, // PLAYER_SKILL_MAX_RANK_0+32 - UF_FLAG_PRIVATE, // PLAYER_SKILL_MAX_RANK_0+33 - UF_FLAG_PRIVATE, // PLAYER_SKILL_MAX_RANK_0+34 - UF_FLAG_PRIVATE, // PLAYER_SKILL_MAX_RANK_0+35 - UF_FLAG_PRIVATE, // PLAYER_SKILL_MAX_RANK_0+36 - UF_FLAG_PRIVATE, // PLAYER_SKILL_MAX_RANK_0+37 - UF_FLAG_PRIVATE, // PLAYER_SKILL_MAX_RANK_0+38 - UF_FLAG_PRIVATE, // PLAYER_SKILL_MAX_RANK_0+39 - UF_FLAG_PRIVATE, // PLAYER_SKILL_MAX_RANK_0+40 - UF_FLAG_PRIVATE, // PLAYER_SKILL_MAX_RANK_0+41 - UF_FLAG_PRIVATE, // PLAYER_SKILL_MAX_RANK_0+42 - UF_FLAG_PRIVATE, // PLAYER_SKILL_MAX_RANK_0+43 - UF_FLAG_PRIVATE, // PLAYER_SKILL_MAX_RANK_0+44 - UF_FLAG_PRIVATE, // PLAYER_SKILL_MAX_RANK_0+45 - UF_FLAG_PRIVATE, // PLAYER_SKILL_MAX_RANK_0+46 - UF_FLAG_PRIVATE, // PLAYER_SKILL_MAX_RANK_0+47 - UF_FLAG_PRIVATE, // PLAYER_SKILL_MAX_RANK_0+48 - UF_FLAG_PRIVATE, // PLAYER_SKILL_MAX_RANK_0+49 - UF_FLAG_PRIVATE, // PLAYER_SKILL_MAX_RANK_0+50 - UF_FLAG_PRIVATE, // PLAYER_SKILL_MAX_RANK_0+51 - UF_FLAG_PRIVATE, // PLAYER_SKILL_MAX_RANK_0+52 - UF_FLAG_PRIVATE, // PLAYER_SKILL_MAX_RANK_0+53 - UF_FLAG_PRIVATE, // PLAYER_SKILL_MAX_RANK_0+54 - UF_FLAG_PRIVATE, // PLAYER_SKILL_MAX_RANK_0+55 - UF_FLAG_PRIVATE, // PLAYER_SKILL_MAX_RANK_0+56 - UF_FLAG_PRIVATE, // PLAYER_SKILL_MAX_RANK_0+57 - UF_FLAG_PRIVATE, // PLAYER_SKILL_MAX_RANK_0+58 - UF_FLAG_PRIVATE, // PLAYER_SKILL_MAX_RANK_0+59 - UF_FLAG_PRIVATE, // PLAYER_SKILL_MAX_RANK_0+60 - UF_FLAG_PRIVATE, // PLAYER_SKILL_MAX_RANK_0+61 - UF_FLAG_PRIVATE, // PLAYER_SKILL_MAX_RANK_0+62 - UF_FLAG_PRIVATE, // PLAYER_SKILL_MAX_RANK_0+63 - UF_FLAG_PRIVATE, // PLAYER_SKILL_MODIFIER_0 - UF_FLAG_PRIVATE, // PLAYER_SKILL_MODIFIER_0+1 - UF_FLAG_PRIVATE, // PLAYER_SKILL_MODIFIER_0+2 - UF_FLAG_PRIVATE, // PLAYER_SKILL_MODIFIER_0+3 - UF_FLAG_PRIVATE, // PLAYER_SKILL_MODIFIER_0+4 - UF_FLAG_PRIVATE, // PLAYER_SKILL_MODIFIER_0+5 - UF_FLAG_PRIVATE, // PLAYER_SKILL_MODIFIER_0+6 - UF_FLAG_PRIVATE, // PLAYER_SKILL_MODIFIER_0+7 - UF_FLAG_PRIVATE, // PLAYER_SKILL_MODIFIER_0+8 - UF_FLAG_PRIVATE, // PLAYER_SKILL_MODIFIER_0+9 - UF_FLAG_PRIVATE, // PLAYER_SKILL_MODIFIER_0+10 - UF_FLAG_PRIVATE, // PLAYER_SKILL_MODIFIER_0+11 - UF_FLAG_PRIVATE, // PLAYER_SKILL_MODIFIER_0+12 - UF_FLAG_PRIVATE, // PLAYER_SKILL_MODIFIER_0+13 - UF_FLAG_PRIVATE, // PLAYER_SKILL_MODIFIER_0+14 - UF_FLAG_PRIVATE, // PLAYER_SKILL_MODIFIER_0+15 - UF_FLAG_PRIVATE, // PLAYER_SKILL_MODIFIER_0+16 - UF_FLAG_PRIVATE, // PLAYER_SKILL_MODIFIER_0+17 - UF_FLAG_PRIVATE, // PLAYER_SKILL_MODIFIER_0+18 - UF_FLAG_PRIVATE, // PLAYER_SKILL_MODIFIER_0+19 - UF_FLAG_PRIVATE, // PLAYER_SKILL_MODIFIER_0+20 - UF_FLAG_PRIVATE, // PLAYER_SKILL_MODIFIER_0+21 - UF_FLAG_PRIVATE, // PLAYER_SKILL_MODIFIER_0+22 - UF_FLAG_PRIVATE, // PLAYER_SKILL_MODIFIER_0+23 - UF_FLAG_PRIVATE, // PLAYER_SKILL_MODIFIER_0+24 - UF_FLAG_PRIVATE, // PLAYER_SKILL_MODIFIER_0+25 - UF_FLAG_PRIVATE, // PLAYER_SKILL_MODIFIER_0+26 - UF_FLAG_PRIVATE, // PLAYER_SKILL_MODIFIER_0+27 - UF_FLAG_PRIVATE, // PLAYER_SKILL_MODIFIER_0+28 - UF_FLAG_PRIVATE, // PLAYER_SKILL_MODIFIER_0+29 - UF_FLAG_PRIVATE, // PLAYER_SKILL_MODIFIER_0+30 - UF_FLAG_PRIVATE, // PLAYER_SKILL_MODIFIER_0+31 - UF_FLAG_PRIVATE, // PLAYER_SKILL_MODIFIER_0+32 - UF_FLAG_PRIVATE, // PLAYER_SKILL_MODIFIER_0+33 - UF_FLAG_PRIVATE, // PLAYER_SKILL_MODIFIER_0+34 - UF_FLAG_PRIVATE, // PLAYER_SKILL_MODIFIER_0+35 - UF_FLAG_PRIVATE, // PLAYER_SKILL_MODIFIER_0+36 - UF_FLAG_PRIVATE, // PLAYER_SKILL_MODIFIER_0+37 - UF_FLAG_PRIVATE, // PLAYER_SKILL_MODIFIER_0+38 - UF_FLAG_PRIVATE, // PLAYER_SKILL_MODIFIER_0+39 - UF_FLAG_PRIVATE, // PLAYER_SKILL_MODIFIER_0+40 - UF_FLAG_PRIVATE, // PLAYER_SKILL_MODIFIER_0+41 - UF_FLAG_PRIVATE, // PLAYER_SKILL_MODIFIER_0+42 - UF_FLAG_PRIVATE, // PLAYER_SKILL_MODIFIER_0+43 - UF_FLAG_PRIVATE, // PLAYER_SKILL_MODIFIER_0+44 - UF_FLAG_PRIVATE, // PLAYER_SKILL_MODIFIER_0+45 - UF_FLAG_PRIVATE, // PLAYER_SKILL_MODIFIER_0+46 - UF_FLAG_PRIVATE, // PLAYER_SKILL_MODIFIER_0+47 - UF_FLAG_PRIVATE, // PLAYER_SKILL_MODIFIER_0+48 - UF_FLAG_PRIVATE, // PLAYER_SKILL_MODIFIER_0+49 - UF_FLAG_PRIVATE, // PLAYER_SKILL_MODIFIER_0+50 - UF_FLAG_PRIVATE, // PLAYER_SKILL_MODIFIER_0+51 - UF_FLAG_PRIVATE, // PLAYER_SKILL_MODIFIER_0+52 - UF_FLAG_PRIVATE, // PLAYER_SKILL_MODIFIER_0+53 - UF_FLAG_PRIVATE, // PLAYER_SKILL_MODIFIER_0+54 - UF_FLAG_PRIVATE, // PLAYER_SKILL_MODIFIER_0+55 - UF_FLAG_PRIVATE, // PLAYER_SKILL_MODIFIER_0+56 - UF_FLAG_PRIVATE, // PLAYER_SKILL_MODIFIER_0+57 - UF_FLAG_PRIVATE, // PLAYER_SKILL_MODIFIER_0+58 - UF_FLAG_PRIVATE, // PLAYER_SKILL_MODIFIER_0+59 - UF_FLAG_PRIVATE, // PLAYER_SKILL_MODIFIER_0+60 - UF_FLAG_PRIVATE, // PLAYER_SKILL_MODIFIER_0+61 - UF_FLAG_PRIVATE, // PLAYER_SKILL_MODIFIER_0+62 - UF_FLAG_PRIVATE, // PLAYER_SKILL_MODIFIER_0+63 - UF_FLAG_PRIVATE, // PLAYER_SKILL_TALENT_0 - UF_FLAG_PRIVATE, // PLAYER_SKILL_TALENT_0+1 - UF_FLAG_PRIVATE, // PLAYER_SKILL_TALENT_0+2 - UF_FLAG_PRIVATE, // PLAYER_SKILL_TALENT_0+3 - UF_FLAG_PRIVATE, // PLAYER_SKILL_TALENT_0+4 - UF_FLAG_PRIVATE, // PLAYER_SKILL_TALENT_0+5 - UF_FLAG_PRIVATE, // PLAYER_SKILL_TALENT_0+6 - UF_FLAG_PRIVATE, // PLAYER_SKILL_TALENT_0+7 - UF_FLAG_PRIVATE, // PLAYER_SKILL_TALENT_0+8 - UF_FLAG_PRIVATE, // PLAYER_SKILL_TALENT_0+9 - UF_FLAG_PRIVATE, // PLAYER_SKILL_TALENT_0+10 - UF_FLAG_PRIVATE, // PLAYER_SKILL_TALENT_0+11 - UF_FLAG_PRIVATE, // PLAYER_SKILL_TALENT_0+12 - UF_FLAG_PRIVATE, // PLAYER_SKILL_TALENT_0+13 - UF_FLAG_PRIVATE, // PLAYER_SKILL_TALENT_0+14 - UF_FLAG_PRIVATE, // PLAYER_SKILL_TALENT_0+15 - UF_FLAG_PRIVATE, // PLAYER_SKILL_TALENT_0+16 - UF_FLAG_PRIVATE, // PLAYER_SKILL_TALENT_0+17 - UF_FLAG_PRIVATE, // PLAYER_SKILL_TALENT_0+18 - UF_FLAG_PRIVATE, // PLAYER_SKILL_TALENT_0+19 - UF_FLAG_PRIVATE, // PLAYER_SKILL_TALENT_0+20 - UF_FLAG_PRIVATE, // PLAYER_SKILL_TALENT_0+21 - UF_FLAG_PRIVATE, // PLAYER_SKILL_TALENT_0+22 - UF_FLAG_PRIVATE, // PLAYER_SKILL_TALENT_0+23 - UF_FLAG_PRIVATE, // PLAYER_SKILL_TALENT_0+24 - UF_FLAG_PRIVATE, // PLAYER_SKILL_TALENT_0+25 - UF_FLAG_PRIVATE, // PLAYER_SKILL_TALENT_0+26 - UF_FLAG_PRIVATE, // PLAYER_SKILL_TALENT_0+27 - UF_FLAG_PRIVATE, // PLAYER_SKILL_TALENT_0+28 - UF_FLAG_PRIVATE, // PLAYER_SKILL_TALENT_0+29 - UF_FLAG_PRIVATE, // PLAYER_SKILL_TALENT_0+30 - UF_FLAG_PRIVATE, // PLAYER_SKILL_TALENT_0+31 - UF_FLAG_PRIVATE, // PLAYER_SKILL_TALENT_0+32 - UF_FLAG_PRIVATE, // PLAYER_SKILL_TALENT_0+33 - UF_FLAG_PRIVATE, // PLAYER_SKILL_TALENT_0+34 - UF_FLAG_PRIVATE, // PLAYER_SKILL_TALENT_0+35 - UF_FLAG_PRIVATE, // PLAYER_SKILL_TALENT_0+36 - UF_FLAG_PRIVATE, // PLAYER_SKILL_TALENT_0+37 - UF_FLAG_PRIVATE, // PLAYER_SKILL_TALENT_0+38 - UF_FLAG_PRIVATE, // PLAYER_SKILL_TALENT_0+39 - UF_FLAG_PRIVATE, // PLAYER_SKILL_TALENT_0+40 - UF_FLAG_PRIVATE, // PLAYER_SKILL_TALENT_0+41 - UF_FLAG_PRIVATE, // PLAYER_SKILL_TALENT_0+42 - UF_FLAG_PRIVATE, // PLAYER_SKILL_TALENT_0+43 - UF_FLAG_PRIVATE, // PLAYER_SKILL_TALENT_0+44 - UF_FLAG_PRIVATE, // PLAYER_SKILL_TALENT_0+45 - UF_FLAG_PRIVATE, // PLAYER_SKILL_TALENT_0+46 - UF_FLAG_PRIVATE, // PLAYER_SKILL_TALENT_0+47 - UF_FLAG_PRIVATE, // PLAYER_SKILL_TALENT_0+48 - UF_FLAG_PRIVATE, // PLAYER_SKILL_TALENT_0+49 - UF_FLAG_PRIVATE, // PLAYER_SKILL_TALENT_0+50 - UF_FLAG_PRIVATE, // PLAYER_SKILL_TALENT_0+51 - UF_FLAG_PRIVATE, // PLAYER_SKILL_TALENT_0+52 - UF_FLAG_PRIVATE, // PLAYER_SKILL_TALENT_0+53 - UF_FLAG_PRIVATE, // PLAYER_SKILL_TALENT_0+54 - UF_FLAG_PRIVATE, // PLAYER_SKILL_TALENT_0+55 - UF_FLAG_PRIVATE, // PLAYER_SKILL_TALENT_0+56 - UF_FLAG_PRIVATE, // PLAYER_SKILL_TALENT_0+57 - UF_FLAG_PRIVATE, // PLAYER_SKILL_TALENT_0+58 - UF_FLAG_PRIVATE, // PLAYER_SKILL_TALENT_0+59 - UF_FLAG_PRIVATE, // PLAYER_SKILL_TALENT_0+60 - UF_FLAG_PRIVATE, // PLAYER_SKILL_TALENT_0+61 - UF_FLAG_PRIVATE, // PLAYER_SKILL_TALENT_0+62 - UF_FLAG_PRIVATE, // PLAYER_SKILL_TALENT_0+63 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+1 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+2 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+3 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+4 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+5 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+6 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+7 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+8 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+9 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+10 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+11 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+12 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+13 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+14 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+15 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+16 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+17 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+18 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+19 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+20 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+21 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+22 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+23 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+24 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+25 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+26 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+27 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+28 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+29 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+30 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+31 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+32 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+33 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+34 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+35 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+36 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+37 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+38 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+39 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+40 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+41 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+42 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+43 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+44 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+45 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+46 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+47 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+48 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+49 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+50 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+51 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+52 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+53 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+54 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+55 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+56 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+57 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+58 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+59 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+60 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+61 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+62 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+63 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+64 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+65 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+66 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+67 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+68 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+69 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+70 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+71 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+72 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+73 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+74 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+75 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+76 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+77 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+78 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+79 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+80 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+81 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+82 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+83 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+84 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+85 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+86 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+87 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+88 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+89 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+90 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+91 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+92 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+93 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+94 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+95 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+96 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+97 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+98 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+99 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+100 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+101 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+102 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+103 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+104 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+105 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+106 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+107 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+108 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+109 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+110 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+111 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+112 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+113 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+114 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+115 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+116 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+117 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+118 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+119 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+120 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+121 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+122 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+123 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+124 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+125 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+126 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+127 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+128 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+129 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+130 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+131 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+132 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+133 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+134 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+135 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+136 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+137 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+138 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+139 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+140 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+141 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+142 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+143 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+144 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+145 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+146 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+147 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+148 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+149 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+150 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+151 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+152 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+153 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+154 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+155 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+156 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+157 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+158 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+159 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+160 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+161 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+162 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+163 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+164 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+165 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+166 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+167 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+168 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+169 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+170 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+171 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+172 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+173 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+174 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+175 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+176 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+177 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+178 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+179 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+180 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+181 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+182 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+183 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+184 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+185 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+186 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+187 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+188 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+189 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+190 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+191 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+192 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+193 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+194 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+195 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+196 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+197 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+198 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+199 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+200 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+201 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+202 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+203 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+204 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+205 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+206 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+207 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+208 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+209 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+210 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+211 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+212 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+213 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+214 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+215 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+216 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+217 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+218 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+219 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+220 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+221 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+222 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+223 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+224 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+225 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+226 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+227 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+228 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+229 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+230 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+231 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+232 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+233 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+234 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+235 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+236 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+237 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+238 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+239 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+240 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+241 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+242 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+243 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+244 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+245 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+246 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+247 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+248 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+249 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+250 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+251 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+252 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+253 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+254 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+255 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+256 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+257 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+258 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+259 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+260 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+261 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+262 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+263 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+264 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+265 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+266 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+267 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+268 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+269 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+270 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+271 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+272 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+273 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+274 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+275 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+276 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+277 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+278 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+279 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+280 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+281 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+282 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+283 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+284 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+285 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+286 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+287 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+288 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+289 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+290 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+291 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+292 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+293 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+294 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+295 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+296 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+297 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+298 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+299 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+300 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+301 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+302 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+303 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+304 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+305 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+306 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+307 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+308 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+309 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+310 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+311 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+312 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+313 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+314 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+315 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+316 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+317 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+318 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+319 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+320 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+321 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+322 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+323 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+324 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+325 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+326 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+327 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+328 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+329 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+330 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+331 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+332 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+333 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+334 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+335 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+336 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+337 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+338 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+339 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+340 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+341 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+342 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+343 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+344 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+345 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+346 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+347 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+348 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+349 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+350 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+351 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+352 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+353 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+354 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+355 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+356 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+357 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+358 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+359 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+360 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+361 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+362 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+363 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+364 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+365 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+366 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+367 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+368 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+369 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+370 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+371 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+372 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+373 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+374 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+375 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+376 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+377 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+378 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+379 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+380 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+381 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+382 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+383 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+384 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+385 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+386 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+387 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+388 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+389 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+390 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+391 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+392 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+393 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+394 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+395 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+396 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+397 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+398 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+399 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+400 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+401 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+402 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+403 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+404 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+405 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+406 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+407 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+408 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+409 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+410 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+411 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+412 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+413 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+414 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+415 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+416 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+417 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+418 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+419 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+420 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+421 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+422 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+423 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+424 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+425 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+426 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+427 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+428 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+429 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+430 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+431 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+432 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+433 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+434 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+435 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+436 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+437 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+438 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+439 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+440 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+441 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+442 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+443 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+444 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+445 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+446 + UF_FLAG_PRIVATE, // PLAYER_SKILL_LINEID+447 UF_FLAG_PRIVATE, // PLAYER_CHARACTER_POINTS + UF_FLAG_PRIVATE, // PLAYER_FIELD_MAX_TALENT_TIERS UF_FLAG_PRIVATE, // PLAYER_TRACK_CREATURES UF_FLAG_PRIVATE, // PLAYER_TRACK_RESOURCES UF_FLAG_PRIVATE, // PLAYER_EXPERTISE UF_FLAG_PRIVATE, // PLAYER_OFFHAND_EXPERTISE + UF_FLAG_PRIVATE, // PLAYER_FIELD_RANGED_EXPERTISE + UF_FLAG_PRIVATE, // PLAYER_FIELD_COMBAT_RATING_EXPERTISE UF_FLAG_PRIVATE, // PLAYER_BLOCK_PERCENTAGE UF_FLAG_PRIVATE, // PLAYER_DODGE_PERCENTAGE UF_FLAG_PRIVATE, // PLAYER_PARRY_PERCENTAGE @@ -1208,6 +2522,19 @@ uint32 UnitUpdateFieldFlags[PLAYER_END] = 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 + UF_FLAG_PRIVATE, // PLAYER_FIELD_PVP_POWER_HEALING UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1 UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+1 UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+2 @@ -1364,9 +2691,51 @@ uint32 UnitUpdateFieldFlags[PLAYER_END] = UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+153 UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+154 UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+155 + UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+156 + UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+157 + UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+158 + UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+159 + UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+160 + UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+161 + UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+162 + UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+163 + UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+164 + UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+165 + UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+166 + UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+167 + UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+168 + UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+169 + UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+170 + UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+171 + UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+172 + UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+173 + UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+174 + UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+175 + UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+176 + UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+177 + UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+178 + UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+179 + UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+180 + UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+181 + UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+182 + UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+183 + UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+184 + UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+185 + UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+186 + UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+187 + UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+188 + UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+189 + UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+190 + UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+191 + UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+192 + UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+193 + UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+194 + UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+195 + UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+196 + UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+197 + UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+198 + UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+199 UF_FLAG_PRIVATE, // PLAYER_REST_STATE_EXPERIENCE - UF_FLAG_PRIVATE, // PLAYER_FIELD_COINAGE - UF_FLAG_PRIVATE, // PLAYER_FIELD_COINAGE+1 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 @@ -1391,13 +2760,20 @@ uint32 UnitUpdateFieldFlags[PLAYER_END] = UF_FLAG_PRIVATE, // PLAYER_FIELD_MOD_HEALING_DONE_POS UF_FLAG_PRIVATE, // PLAYER_FIELD_MOD_HEALING_PCT UF_FLAG_PRIVATE, // PLAYER_FIELD_MOD_HEALING_DONE_PCT + UF_FLAG_PRIVATE, // PLAYER_FIELD_MOD_PERIODIC_HEALING_DONE_PERCENT UF_FLAG_PRIVATE, // PLAYER_FIELD_WEAPON_DMG_MULTIPLIERS UF_FLAG_PRIVATE, // PLAYER_FIELD_WEAPON_DMG_MULTIPLIERS+1 UF_FLAG_PRIVATE, // PLAYER_FIELD_WEAPON_DMG_MULTIPLIERS+2 + UF_FLAG_PRIVATE, // PLAYER_FIELD_WEAPON_ATK_SPEED_MULTIPLIERS + UF_FLAG_PRIVATE, // PLAYER_FIELD_WEAPON_ATK_SPEED_MULTIPLIERS+1 + UF_FLAG_PRIVATE, // PLAYER_FIELD_WEAPON_ATK_SPEED_MULTIPLIERS+2 UF_FLAG_PRIVATE, // PLAYER_FIELD_MOD_SPELL_POWER_PCT + UF_FLAG_PRIVATE, // PLAYER_FIELD_MOD_RESILIENCE_PERCENT UF_FLAG_PRIVATE, // PLAYER_FIELD_OVERRIDE_SPELL_POWER_BY_AP_PCT + UF_FLAG_PRIVATE, // PLAYER_FIELD_OVERRIDE_AP_BY_SPELL_POWER_PERCENT UF_FLAG_PRIVATE, // PLAYER_FIELD_MOD_TARGET_RESISTANCE UF_FLAG_PRIVATE, // PLAYER_FIELD_MOD_TARGET_PHYSICAL_RESISTANCE + UF_FLAG_PRIVATE, // PLAYER_FIELD_LOCAL_FLAGS UF_FLAG_PRIVATE, // PLAYER_FIELD_BYTES UF_FLAG_PRIVATE, // PLAYER_SELF_RES_SPELL UF_FLAG_PRIVATE, // PLAYER_FIELD_PVP_MEDALS @@ -1426,8 +2802,7 @@ uint32 UnitUpdateFieldFlags[PLAYER_END] = UF_FLAG_PRIVATE, // PLAYER_FIELD_BUYBACK_TIMESTAMP_1+10 UF_FLAG_PRIVATE, // PLAYER_FIELD_BUYBACK_TIMESTAMP_1+11 UF_FLAG_PRIVATE, // PLAYER_FIELD_KILLS - UF_FLAG_PRIVATE, // PLAYER_FIELD_LIFETIME_HONORBALE_KILLS - UF_FLAG_PRIVATE, // PLAYER_FIELD_BYTES2 + UF_FLAG_PRIVATE, // PLAYER_FIELD_LIFETIME_HONORABLE_KILLS UF_FLAG_PRIVATE, // PLAYER_FIELD_WATCHED_FACTION_INDEX UF_FLAG_PRIVATE, // PLAYER_FIELD_COMBAT_RATING_1 UF_FLAG_PRIVATE, // PLAYER_FIELD_COMBAT_RATING_1+1 @@ -1455,6 +2830,12 @@ uint32 UnitUpdateFieldFlags[PLAYER_END] = UF_FLAG_PRIVATE, // PLAYER_FIELD_COMBAT_RATING_1+23 UF_FLAG_PRIVATE, // PLAYER_FIELD_COMBAT_RATING_1+24 UF_FLAG_PRIVATE, // PLAYER_FIELD_COMBAT_RATING_1+25 + UF_FLAG_PRIVATE, // PLAYER_FIELD_COMBAT_RATING_1+26 + UF_FLAG_PRIVATE, // PLAYER_FIELD_COMBAT_RATING_1+27 + UF_FLAG_PRIVATE, // PLAYER_FIELD_COMBAT_RATING_1+28 + UF_FLAG_PRIVATE, // PLAYER_FIELD_COMBAT_RATING_1+29 + UF_FLAG_PRIVATE, // PLAYER_FIELD_COMBAT_RATING_1+30 + UF_FLAG_PRIVATE, // PLAYER_FIELD_COMBAT_RATING_1+31 UF_FLAG_PRIVATE, // PLAYER_FIELD_ARENA_TEAM_INFO_1_1 UF_FLAG_PRIVATE, // PLAYER_FIELD_ARENA_TEAM_INFO_1_1+1 UF_FLAG_PRIVATE, // PLAYER_FIELD_ARENA_TEAM_INFO_1_1+2 @@ -1476,33 +2857,22 @@ uint32 UnitUpdateFieldFlags[PLAYER_END] = UF_FLAG_PRIVATE, // PLAYER_FIELD_ARENA_TEAM_INFO_1_1+18 UF_FLAG_PRIVATE, // PLAYER_FIELD_ARENA_TEAM_INFO_1_1+19 UF_FLAG_PRIVATE, // PLAYER_FIELD_ARENA_TEAM_INFO_1_1+20 - UF_FLAG_PRIVATE, // PLAYER_FIELD_BATTLEGROUND_RATING + UF_FLAG_PRIVATE, // PLAYER_FIELD_ARENA_TEAM_INFO_1_1+21 + UF_FLAG_PRIVATE, // PLAYER_FIELD_ARENA_TEAM_INFO_1_1+22 + UF_FLAG_PRIVATE, // PLAYER_FIELD_ARENA_TEAM_INFO_1_1+23 + UF_FLAG_PRIVATE, // PLAYER_FIELD_ARENA_TEAM_INFO_1_1+24 + UF_FLAG_PRIVATE, // PLAYER_FIELD_ARENA_TEAM_INFO_1_1+25 + UF_FLAG_PRIVATE, // PLAYER_FIELD_ARENA_TEAM_INFO_1_1+26 + UF_FLAG_PRIVATE, // PLAYER_FIELD_ARENA_TEAM_INFO_1_1+27 + UF_FLAG_PRIVATE, // PLAYER_FIELD_ARENA_TEAM_INFO_1_1+28 + UF_FLAG_PRIVATE, // PLAYER_FIELD_ARENA_TEAM_INFO_1_1+29 + UF_FLAG_PRIVATE, // PLAYER_FIELD_ARENA_TEAM_INFO_1_1+30 + UF_FLAG_PRIVATE, // PLAYER_FIELD_ARENA_TEAM_INFO_1_1+31 + UF_FLAG_PRIVATE, // PLAYER_FIELD_ARENA_TEAM_INFO_1_1+32 + UF_FLAG_PRIVATE, // PLAYER_FIELD_ARENA_TEAM_INFO_1_1+33 + UF_FLAG_PRIVATE, // PLAYER_FIELD_ARENA_TEAM_INFO_1_1+34 + UF_FLAG_PRIVATE, // PLAYER_FIELD_ARENA_TEAM_INFO_1_1+35 UF_FLAG_PRIVATE, // PLAYER_FIELD_MAX_LEVEL - UF_FLAG_PRIVATE, // PLAYER_FIELD_DAILY_QUESTS_1 - UF_FLAG_PRIVATE, // PLAYER_FIELD_DAILY_QUESTS_1+1 - UF_FLAG_PRIVATE, // PLAYER_FIELD_DAILY_QUESTS_1+2 - UF_FLAG_PRIVATE, // PLAYER_FIELD_DAILY_QUESTS_1+3 - UF_FLAG_PRIVATE, // PLAYER_FIELD_DAILY_QUESTS_1+4 - UF_FLAG_PRIVATE, // PLAYER_FIELD_DAILY_QUESTS_1+5 - UF_FLAG_PRIVATE, // PLAYER_FIELD_DAILY_QUESTS_1+6 - UF_FLAG_PRIVATE, // PLAYER_FIELD_DAILY_QUESTS_1+7 - UF_FLAG_PRIVATE, // PLAYER_FIELD_DAILY_QUESTS_1+8 - UF_FLAG_PRIVATE, // PLAYER_FIELD_DAILY_QUESTS_1+9 - UF_FLAG_PRIVATE, // PLAYER_FIELD_DAILY_QUESTS_1+10 - UF_FLAG_PRIVATE, // PLAYER_FIELD_DAILY_QUESTS_1+11 - UF_FLAG_PRIVATE, // PLAYER_FIELD_DAILY_QUESTS_1+12 - UF_FLAG_PRIVATE, // PLAYER_FIELD_DAILY_QUESTS_1+13 - UF_FLAG_PRIVATE, // PLAYER_FIELD_DAILY_QUESTS_1+14 - UF_FLAG_PRIVATE, // PLAYER_FIELD_DAILY_QUESTS_1+15 - UF_FLAG_PRIVATE, // PLAYER_FIELD_DAILY_QUESTS_1+16 - UF_FLAG_PRIVATE, // PLAYER_FIELD_DAILY_QUESTS_1+17 - UF_FLAG_PRIVATE, // PLAYER_FIELD_DAILY_QUESTS_1+18 - UF_FLAG_PRIVATE, // PLAYER_FIELD_DAILY_QUESTS_1+19 - UF_FLAG_PRIVATE, // PLAYER_FIELD_DAILY_QUESTS_1+20 - UF_FLAG_PRIVATE, // PLAYER_FIELD_DAILY_QUESTS_1+21 - UF_FLAG_PRIVATE, // PLAYER_FIELD_DAILY_QUESTS_1+22 - UF_FLAG_PRIVATE, // PLAYER_FIELD_DAILY_QUESTS_1+23 - UF_FLAG_PRIVATE, // PLAYER_FIELD_DAILY_QUESTS_1+24 UF_FLAG_PRIVATE, // PLAYER_RUNE_REGEN_1 UF_FLAG_PRIVATE, // PLAYER_RUNE_REGEN_1+1 UF_FLAG_PRIVATE, // PLAYER_RUNE_REGEN_1+2 @@ -1510,24 +2880,19 @@ uint32 UnitUpdateFieldFlags[PLAYER_END] = 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_GLYPH_SLOTS_1+6 - UF_FLAG_PRIVATE, // PLAYER_FIELD_GLYPH_SLOTS_1+7 - UF_FLAG_PRIVATE, // PLAYER_FIELD_GLYPH_SLOTS_1+8 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_FIELD_GLYPHS_1+6 - UF_FLAG_PRIVATE, // PLAYER_FIELD_GLYPHS_1+7 - UF_FLAG_PRIVATE, // PLAYER_FIELD_GLYPHS_1+8 UF_FLAG_PRIVATE, // PLAYER_GLYPHS_ENABLED UF_FLAG_PRIVATE, // PLAYER_PET_SPELL_POWER UF_FLAG_PRIVATE, // PLAYER_FIELD_RESEARCHING_1 @@ -1538,61 +2903,104 @@ uint32 UnitUpdateFieldFlags[PLAYER_END] = UF_FLAG_PRIVATE, // PLAYER_FIELD_RESEARCHING_1+5 UF_FLAG_PRIVATE, // PLAYER_FIELD_RESEARCHING_1+6 UF_FLAG_PRIVATE, // PLAYER_FIELD_RESEARCHING_1+7 - UF_FLAG_PRIVATE, // PLAYER_FIELD_RESERACH_SITE_1 - UF_FLAG_PRIVATE, // PLAYER_FIELD_RESERACH_SITE_1+1 - UF_FLAG_PRIVATE, // PLAYER_FIELD_RESERACH_SITE_1+2 - UF_FLAG_PRIVATE, // PLAYER_FIELD_RESERACH_SITE_1+3 - UF_FLAG_PRIVATE, // PLAYER_FIELD_RESERACH_SITE_1+4 - UF_FLAG_PRIVATE, // PLAYER_FIELD_RESERACH_SITE_1+5 - UF_FLAG_PRIVATE, // PLAYER_FIELD_RESERACH_SITE_1+6 - UF_FLAG_PRIVATE, // PLAYER_FIELD_RESERACH_SITE_1+7 + UF_FLAG_PRIVATE, // PLAYER_FIELD_RESEARCHING_1+8 + UF_FLAG_PRIVATE, // PLAYER_FIELD_RESEARCHING_1+9 UF_FLAG_PRIVATE, // PLAYER_PROFESSION_SKILL_LINE_1 UF_FLAG_PRIVATE, // PLAYER_PROFESSION_SKILL_LINE_1+1 UF_FLAG_PRIVATE, // PLAYER_FIELD_UI_HIT_MODIFIER UF_FLAG_PRIVATE, // PLAYER_FIELD_UI_SPELL_HIT_MODIFIER UF_FLAG_PRIVATE, // PLAYER_FIELD_HOME_REALM_TIME_OFFSET - UF_FLAG_PRIVATE, // PLAYER_FIELD_MOD_HASTE - UF_FLAG_PRIVATE, // PLAYER_FIELD_MOD_RANGED_HASTE UF_FLAG_PRIVATE, // PLAYER_FIELD_MOD_PET_HASTE - UF_FLAG_PRIVATE, // PLAYER_FIELD_MOD_HASTE_REGEN + UF_FLAG_PRIVATE, // PLAYER_FIELD_SUMMONED_BATTLE_PET_ID + UF_FLAG_PRIVATE, // PLAYER_FIELD_SUMMONED_BATTLE_PET_ID+1 + UF_FLAG_PRIVATE, // PLAYER_FIELD_SUMMONED_BATTLE_PET_ID+2 + UF_FLAG_PRIVATE, // PLAYER_FIELD_SUMMONED_BATTLE_PET_ID+3 + UF_FLAG_PRIVATE | UF_FLAG_URGENT_SELF_ONLY, // PLAYER_FIELD_BYTES2 + 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 + UF_FLAG_PRIVATE, // PLAYER_FIELD_BAG_SLOT_FLAGS+3 + UF_FLAG_PRIVATE, // PLAYER_FIELD_BANK_BAG_SLOT_FLAGS + UF_FLAG_PRIVATE, // PLAYER_FIELD_BANK_BAG_SLOT_FLAGS+1 + UF_FLAG_PRIVATE, // PLAYER_FIELD_BANK_BAG_SLOT_FLAGS+2 + UF_FLAG_PRIVATE, // PLAYER_FIELD_BANK_BAG_SLOT_FLAGS+3 + UF_FLAG_PRIVATE, // PLAYER_FIELD_BANK_BAG_SLOT_FLAGS+4 + UF_FLAG_PRIVATE, // PLAYER_FIELD_BANK_BAG_SLOT_FLAGS+5 + UF_FLAG_PRIVATE, // PLAYER_FIELD_BANK_BAG_SLOT_FLAGS+6 + UF_FLAG_PRIVATE, // PLAYER_FIELD_INSERT_ITEMS_LEFT_TO_RIGHT +}; + +uint32 UnitDynamicUpdateFieldFlags[PLAYER_DYNAMIC_END] = +{ + UF_FLAG_PUBLIC | UF_FLAG_URGENT, // UNIT_DYNAMIC_FIELD_PASSIVE_SPELLS + UF_FLAG_PUBLIC | UF_FLAG_URGENT, // UNIT_DYNAMIC_FIELD_WORLD_EFFECTS + UF_FLAG_PRIVATE, // PLAYER_DYNAMIC_FIELD_RESERACH_SITE + UF_FLAG_PRIVATE, // PLAYER_DYNAMIC_FIELD_RESEARCH_SITE_PROGRESS + UF_FLAG_PRIVATE, // PLAYER_DYNAMIC_FIELD_DAILY_QUESTS + UF_FLAG_PRIVATE, // PLAYER_DYNAMIC_FIELD_AVAILABLE_QUEST_LINE_X_QUEST_ID + UF_FLAG_PRIVATE, // PLAYER_DYNAMIC_FIELD_HEIRLOOMS + UF_FLAG_PRIVATE, // PLAYER_DYNAMIC_FIELD_TOYS }; uint32 GameObjectUpdateFieldFlags[GAMEOBJECT_END] = { UF_FLAG_PUBLIC, // OBJECT_FIELD_GUID UF_FLAG_PUBLIC, // OBJECT_FIELD_GUID+1 + UF_FLAG_PUBLIC, // OBJECT_FIELD_GUID+2 + UF_FLAG_PUBLIC, // OBJECT_FIELD_GUID+3 UF_FLAG_PUBLIC, // OBJECT_FIELD_DATA UF_FLAG_PUBLIC, // OBJECT_FIELD_DATA+1 + UF_FLAG_PUBLIC, // OBJECT_FIELD_DATA+2 + UF_FLAG_PUBLIC, // OBJECT_FIELD_DATA+3 UF_FLAG_PUBLIC, // OBJECT_FIELD_TYPE - UF_FLAG_PUBLIC, // OBJECT_FIELD_ENTRY + UF_FLAG_DYNAMIC, // OBJECT_FIELD_ENTRY + UF_FLAG_DYNAMIC | UF_FLAG_URGENT, // OBJECT_DYNAMIC_FLAGS UF_FLAG_PUBLIC, // OBJECT_FIELD_SCALE_X - UF_FLAG_NONE, // OBJECT_FIELD_PADDING - UF_FLAG_PUBLIC, // OBJECT_FIELD_CREATED_BY - UF_FLAG_PUBLIC, // OBJECT_FIELD_CREATED_BY+1 - UF_FLAG_PUBLIC, // GAMEOBJECT_DISPLAYID - UF_FLAG_PUBLIC, // GAMEOBJECT_FLAGS + UF_FLAG_PUBLIC, // GAMEOBJECT_FIELD_CREATED_BY + UF_FLAG_PUBLIC, // GAMEOBJECT_FIELD_CREATED_BY+1 + UF_FLAG_PUBLIC, // GAMEOBJECT_FIELD_CREATED_BY+2 + UF_FLAG_PUBLIC, // GAMEOBJECT_FIELD_CREATED_BY+3 + UF_FLAG_DYNAMIC | UF_FLAG_URGENT, // GAMEOBJECT_DISPLAYID + UF_FLAG_PUBLIC | UF_FLAG_URGENT, // GAMEOBJECT_FLAGS UF_FLAG_PUBLIC, // GAMEOBJECT_PARENTROTATION UF_FLAG_PUBLIC, // GAMEOBJECT_PARENTROTATION+1 UF_FLAG_PUBLIC, // GAMEOBJECT_PARENTROTATION+2 UF_FLAG_PUBLIC, // GAMEOBJECT_PARENTROTATION+3 - UF_FLAG_DYNAMIC, // GAMEOBJECT_DYNAMIC UF_FLAG_PUBLIC, // GAMEOBJECT_FACTION UF_FLAG_PUBLIC, // GAMEOBJECT_LEVEL - UF_FLAG_PUBLIC, // GAMEOBJECT_BYTES_1 + UF_FLAG_PUBLIC | UF_FLAG_URGENT, // GAMEOBJECT_BYTES_1 + UF_FLAG_PUBLIC | UF_FLAG_URGENT, // GAMEOBJECT_SPELL_VISUAL_ID + UF_FLAG_DYNAMIC | UF_FLAG_URGENT, // GAMEOBJECT_STATE_SPELL_VISUAL_ID + UF_FLAG_DYNAMIC | UF_FLAG_URGENT, // GAMEOBJECT_STATE_ANIM_ID + UF_FLAG_DYNAMIC | UF_FLAG_URGENT, // GAMEOBJECT_STATE_ANIM_KIT_ID + UF_FLAG_DYNAMIC | UF_FLAG_URGENT, // GAMEOBJECT_STATE_WORLD_EFFECT_ID + UF_FLAG_DYNAMIC | UF_FLAG_URGENT, // GAMEOBJECT_STATE_WORLD_EFFECT_ID+1 + UF_FLAG_DYNAMIC | UF_FLAG_URGENT, // GAMEOBJECT_STATE_WORLD_EFFECT_ID+2 + UF_FLAG_DYNAMIC | UF_FLAG_URGENT, // GAMEOBJECT_STATE_WORLD_EFFECT_ID+3 }; uint32 DynamicObjectUpdateFieldFlags[DYNAMICOBJECT_END] = { UF_FLAG_PUBLIC, // OBJECT_FIELD_GUID UF_FLAG_PUBLIC, // OBJECT_FIELD_GUID+1 + UF_FLAG_PUBLIC, // OBJECT_FIELD_GUID+2 + UF_FLAG_PUBLIC, // OBJECT_FIELD_GUID+3 UF_FLAG_PUBLIC, // OBJECT_FIELD_DATA UF_FLAG_PUBLIC, // OBJECT_FIELD_DATA+1 + UF_FLAG_PUBLIC, // OBJECT_FIELD_DATA+2 + UF_FLAG_PUBLIC, // OBJECT_FIELD_DATA+3 UF_FLAG_PUBLIC, // OBJECT_FIELD_TYPE - UF_FLAG_PUBLIC, // OBJECT_FIELD_ENTRY + UF_FLAG_DYNAMIC, // OBJECT_FIELD_ENTRY + UF_FLAG_DYNAMIC | UF_FLAG_URGENT, // OBJECT_DYNAMIC_FLAGS UF_FLAG_PUBLIC, // OBJECT_FIELD_SCALE_X - UF_FLAG_NONE, // OBJECT_FIELD_PADDING UF_FLAG_PUBLIC, // DYNAMICOBJECT_CASTER UF_FLAG_PUBLIC, // DYNAMICOBJECT_CASTER+1 + UF_FLAG_PUBLIC, // DYNAMICOBJECT_CASTER+2 + UF_FLAG_PUBLIC, // DYNAMICOBJECT_CASTER+3 UF_FLAG_DYNAMIC, // DYNAMICOBJECT_BYTES UF_FLAG_PUBLIC, // DYNAMICOBJECT_SPELLID UF_FLAG_PUBLIC, // DYNAMICOBJECT_RADIUS @@ -1603,16 +3011,24 @@ uint32 CorpseUpdateFieldFlags[CORPSE_END] = { UF_FLAG_PUBLIC, // OBJECT_FIELD_GUID UF_FLAG_PUBLIC, // OBJECT_FIELD_GUID+1 + UF_FLAG_PUBLIC, // OBJECT_FIELD_GUID+2 + UF_FLAG_PUBLIC, // OBJECT_FIELD_GUID+3 UF_FLAG_PUBLIC, // OBJECT_FIELD_DATA UF_FLAG_PUBLIC, // OBJECT_FIELD_DATA+1 + UF_FLAG_PUBLIC, // OBJECT_FIELD_DATA+2 + UF_FLAG_PUBLIC, // OBJECT_FIELD_DATA+3 UF_FLAG_PUBLIC, // OBJECT_FIELD_TYPE - UF_FLAG_PUBLIC, // OBJECT_FIELD_ENTRY + UF_FLAG_DYNAMIC, // OBJECT_FIELD_ENTRY + UF_FLAG_DYNAMIC | UF_FLAG_URGENT, // OBJECT_DYNAMIC_FLAGS UF_FLAG_PUBLIC, // OBJECT_FIELD_SCALE_X - UF_FLAG_NONE, // OBJECT_FIELD_PADDING UF_FLAG_PUBLIC, // CORPSE_FIELD_OWNER UF_FLAG_PUBLIC, // CORPSE_FIELD_OWNER+1 + UF_FLAG_PUBLIC, // CORPSE_FIELD_OWNER+2 + UF_FLAG_PUBLIC, // CORPSE_FIELD_OWNER+3 UF_FLAG_PUBLIC, // CORPSE_FIELD_PARTY UF_FLAG_PUBLIC, // CORPSE_FIELD_PARTY+1 + UF_FLAG_PUBLIC, // CORPSE_FIELD_PARTY+2 + UF_FLAG_PUBLIC, // CORPSE_FIELD_PARTY+3 UF_FLAG_PUBLIC, // CORPSE_FIELD_DISPLAY_ID UF_FLAG_PUBLIC, // CORPSE_FIELD_ITEM UF_FLAG_PUBLIC, // CORPSE_FIELD_ITEM+1 @@ -1637,22 +3053,76 @@ uint32 CorpseUpdateFieldFlags[CORPSE_END] = UF_FLAG_PUBLIC, // CORPSE_FIELD_BYTES_2 UF_FLAG_PUBLIC, // CORPSE_FIELD_FLAGS UF_FLAG_DYNAMIC, // CORPSE_FIELD_DYNAMIC_FLAGS + UF_FLAG_PUBLIC, // CORPSE_FIELD_FACTIONTEMPLATE }; uint32 AreaTriggerUpdateFieldFlags[AREATRIGGER_END] = { UF_FLAG_PUBLIC, // OBJECT_FIELD_GUID UF_FLAG_PUBLIC, // OBJECT_FIELD_GUID+1 + UF_FLAG_PUBLIC, // OBJECT_FIELD_GUID+2 + UF_FLAG_PUBLIC, // OBJECT_FIELD_GUID+3 UF_FLAG_PUBLIC, // OBJECT_FIELD_DATA UF_FLAG_PUBLIC, // OBJECT_FIELD_DATA+1 + UF_FLAG_PUBLIC, // OBJECT_FIELD_DATA+2 + UF_FLAG_PUBLIC, // OBJECT_FIELD_DATA+3 UF_FLAG_PUBLIC, // OBJECT_FIELD_TYPE - UF_FLAG_PUBLIC, // OBJECT_FIELD_ENTRY + UF_FLAG_DYNAMIC, // OBJECT_FIELD_ENTRY + UF_FLAG_DYNAMIC | UF_FLAG_URGENT, // OBJECT_DYNAMIC_FLAGS UF_FLAG_PUBLIC, // OBJECT_FIELD_SCALE_X - UF_FLAG_NONE, // OBJECT_FIELD_PADDING - UF_FLAG_PUBLIC, // AREATRIGGER_SPELLID - UF_FLAG_PUBLIC, // AREATRIGGER_SPELLVISUALID + 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, // AREATRIGGER_FINAL_POS - UF_FLAG_PUBLIC, // AREATRIGGER_FINAL_POS+1 - UF_FLAG_PUBLIC, // AREATRIGGER_FINAL_POS+2 + UF_FLAG_PUBLIC, // AREATRIGGER_SPELLID + UF_FLAG_DYNAMIC, // AREATRIGGER_SPELLVISUALID + UF_FLAG_PUBLIC | UF_FLAG_URGENT, // AREATRIGGER_EXPLICIT_SCALE +}; + +uint32 SceneObjectUpdateFieldFlags[SCENEOBJECT_END] = +{ + UF_FLAG_PUBLIC, // OBJECT_FIELD_GUID + UF_FLAG_PUBLIC, // OBJECT_FIELD_GUID+1 + UF_FLAG_PUBLIC, // OBJECT_FIELD_GUID+2 + UF_FLAG_PUBLIC, // OBJECT_FIELD_GUID+3 + UF_FLAG_PUBLIC, // OBJECT_FIELD_DATA + UF_FLAG_PUBLIC, // OBJECT_FIELD_DATA+1 + UF_FLAG_PUBLIC, // OBJECT_FIELD_DATA+2 + UF_FLAG_PUBLIC, // OBJECT_FIELD_DATA+3 + UF_FLAG_PUBLIC, // OBJECT_FIELD_TYPE + UF_FLAG_DYNAMIC, // OBJECT_FIELD_ENTRY + UF_FLAG_DYNAMIC | UF_FLAG_URGENT, // OBJECT_DYNAMIC_FLAGS + UF_FLAG_PUBLIC, // OBJECT_FIELD_SCALE_X + UF_FLAG_PUBLIC, // SCENEOBJECT_FIELD_SCRIPT_PACKAGE_ID + UF_FLAG_PUBLIC, // SCENEOBJECT_FIELD_RND_SEED_VAL + UF_FLAG_PUBLIC, // SCENEOBJECT_FIELD_CREATEDBY + UF_FLAG_PUBLIC, // SCENEOBJECT_FIELD_CREATEDBY+1 + UF_FLAG_PUBLIC, // SCENEOBJECT_FIELD_CREATEDBY+2 + UF_FLAG_PUBLIC, // SCENEOBJECT_FIELD_CREATEDBY+3 + UF_FLAG_PUBLIC, // SCENEOBJECT_FIELD_SCENE_TYPE +}; + +uint32 ConversationUpdateFieldFlags[CONVERSATION_END] = +{ + UF_FLAG_PUBLIC, // OBJECT_FIELD_GUID + UF_FLAG_PUBLIC, // OBJECT_FIELD_GUID+1 + UF_FLAG_PUBLIC, // OBJECT_FIELD_GUID+2 + UF_FLAG_PUBLIC, // OBJECT_FIELD_GUID+3 + UF_FLAG_PUBLIC, // OBJECT_FIELD_DATA + UF_FLAG_PUBLIC, // OBJECT_FIELD_DATA+1 + UF_FLAG_PUBLIC, // OBJECT_FIELD_DATA+2 + UF_FLAG_PUBLIC, // OBJECT_FIELD_DATA+3 + UF_FLAG_PUBLIC, // OBJECT_FIELD_TYPE + 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 }; + +uint32 ConversationDynamicUpdateFieldFlags[CONVERSATION_DYNAMIC_END] = +{ + UF_FLAG_PUBLIC, // CONVERSATION_DYNAMIC_FIELD_ACTORS + UF_FLAG_0x100, // CONVERSATION_DYNAMIC_FIELD_LINES +}; + diff --git a/src/server/game/Entities/Object/Updates/UpdateFieldFlags.h b/src/server/game/Entities/Object/Updates/UpdateFieldFlags.h index b0e6bb6afa2..829d2340ded 100644 --- a/src/server/game/Entities/Object/Updates/UpdateFieldFlags.h +++ b/src/server/game/Entities/Object/Updates/UpdateFieldFlags.h @@ -23,23 +23,30 @@ enum UpdatefieldFlags { - UF_FLAG_NONE = 0x000, - UF_FLAG_PUBLIC = 0x001, - UF_FLAG_PRIVATE = 0x002, - UF_FLAG_OWNER = 0x004, - UF_FLAG_UNUSED1 = 0x008, - UF_FLAG_ITEM_OWNER = 0x010, - UF_FLAG_SPECIAL_INFO = 0x020, - UF_FLAG_PARTY_MEMBER = 0x040, - UF_FLAG_UNUSED2 = 0x080, - UF_FLAG_DYNAMIC = 0x100 + UF_FLAG_NONE = 0x000, + UF_FLAG_PUBLIC = 0x001, + UF_FLAG_PRIVATE = 0x002, + UF_FLAG_OWNER = 0x004, + UF_FLAG_ITEM_OWNER = 0x008, + UF_FLAG_SPECIAL_INFO = 0x010, + UF_FLAG_PARTY_MEMBER = 0x020, + UF_FLAG_UNIT_ALL = 0x040, + UF_FLAG_DYNAMIC = 0x080, + UF_FLAG_0x100 = 0x100, + UF_FLAG_URGENT = 0x200, + UF_FLAG_URGENT_SELF_ONLY = 0x400 }; extern uint32 ItemUpdateFieldFlags[CONTAINER_END]; +extern uint32 ItemDynamicUpdateFieldFlags[CONTAINER_DYNAMIC_END]; extern uint32 UnitUpdateFieldFlags[PLAYER_END]; +extern uint32 UnitDynamicUpdateFieldFlags[PLAYER_DYNAMIC_END]; extern uint32 GameObjectUpdateFieldFlags[GAMEOBJECT_END]; extern uint32 DynamicObjectUpdateFieldFlags[DYNAMICOBJECT_END]; extern uint32 CorpseUpdateFieldFlags[CORPSE_END]; extern uint32 AreaTriggerUpdateFieldFlags[AREATRIGGER_END]; +extern uint32 SceneObjectUpdateFieldFlags[SCENEOBJECT_END]; +extern uint32 ConversationUpdateFieldFlags[CONVERSATION_END]; +extern uint32 ConversationDynamicUpdateFieldFlags[CONVERSATION_DYNAMIC_END]; #endif // _UPDATEFIELDFLAGS_H diff --git a/src/server/game/Entities/Object/Updates/UpdateFields.h b/src/server/game/Entities/Object/Updates/UpdateFields.h index 880eb68bb89..aa406048714 100644 --- a/src/server/game/Entities/Object/Updates/UpdateFields.h +++ b/src/server/game/Entities/Object/Updates/UpdateFields.h @@ -19,547 +19,392 @@ #ifndef _UPDATEFIELDS_H #define _UPDATEFIELDS_H -// Auto generated for version 4, 3, 4, 15595 +// Auto generated for version 6, 0, 2, 19034 -enum EObjectFields +enum ObjectFields { - OBJECT_FIELD_GUID = 0x0000, // Size: 2, Type: LONG, Flags: PUBLIC - OBJECT_FIELD_DATA = 0x0002, // Size: 2, Type: LONG, Flags: PUBLIC - OBJECT_FIELD_TYPE = 0x0004, // Size: 1, Type: TWO_SHORT, Flags: PUBLIC - OBJECT_FIELD_ENTRY = 0x0005, // Size: 1, Type: INT, Flags: PUBLIC - OBJECT_FIELD_SCALE_X = 0x0006, // Size: 1, Type: FLOAT, Flags: PUBLIC - OBJECT_FIELD_PADDING = 0x0007, // Size: 1, Type: INT, Flags: NONE - OBJECT_END = 0x0008 + OBJECT_FIELD_GUID = 0x000, // Size: 4, Flags: PUBLIC + OBJECT_FIELD_DATA = 0x004, // Size: 4, Flags: PUBLIC + OBJECT_FIELD_TYPE = 0x008, // Size: 1, Flags: PUBLIC + OBJECT_FIELD_ENTRY = 0x009, // Size: 1, Flags: DYNAMIC + OBJECT_DYNAMIC_FLAGS = 0x00A, // Size: 1, Flags: DYNAMIC, URGENT + OBJECT_FIELD_SCALE_X = 0x00B, // Size: 1, Flags: PUBLIC + OBJECT_END = 0x00C, }; -enum EItemFields +enum ObjectDynamicFields { - ITEM_FIELD_OWNER = OBJECT_END + 0x0000, // Size: 2, Type: LONG, Flags: PUBLIC - ITEM_FIELD_CONTAINED = OBJECT_END + 0x0002, // Size: 2, Type: LONG, Flags: PUBLIC - ITEM_FIELD_CREATOR = OBJECT_END + 0x0004, // Size: 2, Type: LONG, Flags: PUBLIC - ITEM_FIELD_GIFTCREATOR = OBJECT_END + 0x0006, // Size: 2, Type: LONG, Flags: PUBLIC - ITEM_FIELD_STACK_COUNT = OBJECT_END + 0x0008, // Size: 1, Type: INT, Flags: OWNER, ITEM_OWNER - ITEM_FIELD_DURATION = OBJECT_END + 0x0009, // Size: 1, Type: INT, Flags: OWNER, ITEM_OWNER - ITEM_FIELD_SPELL_CHARGES = OBJECT_END + 0x000A, // Size: 5, Type: INT, Flags: OWNER, ITEM_OWNER - ITEM_FIELD_FLAGS = OBJECT_END + 0x000F, // Size: 1, Type: INT, Flags: PUBLIC - ITEM_FIELD_ENCHANTMENT_1_1 = OBJECT_END + 0x0010, // Size: 2, Type: INT, Flags: PUBLIC - ITEM_FIELD_ENCHANTMENT_1_3 = OBJECT_END + 0x0012, // Size: 1, Type: TWO_SHORT, Flags: PUBLIC - ITEM_FIELD_ENCHANTMENT_2_1 = OBJECT_END + 0x0013, // Size: 2, Type: INT, Flags: PUBLIC - ITEM_FIELD_ENCHANTMENT_2_3 = OBJECT_END + 0x0015, // Size: 1, Type: TWO_SHORT, Flags: PUBLIC - ITEM_FIELD_ENCHANTMENT_3_1 = OBJECT_END + 0x0016, // Size: 2, Type: INT, Flags: PUBLIC - ITEM_FIELD_ENCHANTMENT_3_3 = OBJECT_END + 0x0018, // Size: 1, Type: TWO_SHORT, Flags: PUBLIC - ITEM_FIELD_ENCHANTMENT_4_1 = OBJECT_END + 0x0019, // Size: 2, Type: INT, Flags: PUBLIC - ITEM_FIELD_ENCHANTMENT_4_3 = OBJECT_END + 0x001B, // Size: 1, Type: TWO_SHORT, Flags: PUBLIC - ITEM_FIELD_ENCHANTMENT_5_1 = OBJECT_END + 0x001C, // Size: 2, Type: INT, Flags: PUBLIC - ITEM_FIELD_ENCHANTMENT_5_3 = OBJECT_END + 0x001E, // Size: 1, Type: TWO_SHORT, Flags: PUBLIC - ITEM_FIELD_ENCHANTMENT_6_1 = OBJECT_END + 0x001F, // Size: 2, Type: INT, Flags: PUBLIC - ITEM_FIELD_ENCHANTMENT_6_3 = OBJECT_END + 0x0021, // Size: 1, Type: TWO_SHORT, Flags: PUBLIC - ITEM_FIELD_ENCHANTMENT_7_1 = OBJECT_END + 0x0022, // Size: 2, Type: INT, Flags: PUBLIC - ITEM_FIELD_ENCHANTMENT_7_3 = OBJECT_END + 0x0024, // Size: 1, Type: TWO_SHORT, Flags: PUBLIC - ITEM_FIELD_ENCHANTMENT_8_1 = OBJECT_END + 0x0025, // Size: 2, Type: INT, Flags: PUBLIC - ITEM_FIELD_ENCHANTMENT_8_3 = OBJECT_END + 0x0027, // Size: 1, Type: TWO_SHORT, Flags: PUBLIC - ITEM_FIELD_ENCHANTMENT_9_1 = OBJECT_END + 0x0028, // Size: 2, Type: INT, Flags: PUBLIC - ITEM_FIELD_ENCHANTMENT_9_3 = OBJECT_END + 0x002A, // Size: 1, Type: TWO_SHORT, Flags: PUBLIC - ITEM_FIELD_ENCHANTMENT_10_1 = OBJECT_END + 0x002B, // Size: 2, Type: INT, Flags: PUBLIC - ITEM_FIELD_ENCHANTMENT_10_3 = OBJECT_END + 0x002D, // Size: 1, Type: TWO_SHORT, Flags: PUBLIC - ITEM_FIELD_ENCHANTMENT_11_1 = OBJECT_END + 0x002E, // Size: 2, Type: INT, Flags: PUBLIC - ITEM_FIELD_ENCHANTMENT_11_3 = OBJECT_END + 0x0030, // Size: 1, Type: TWO_SHORT, Flags: PUBLIC - ITEM_FIELD_ENCHANTMENT_12_1 = OBJECT_END + 0x0031, // Size: 2, Type: INT, Flags: PUBLIC - ITEM_FIELD_ENCHANTMENT_12_3 = OBJECT_END + 0x0033, // Size: 1, Type: TWO_SHORT, Flags: PUBLIC - ITEM_FIELD_ENCHANTMENT_13_1 = OBJECT_END + 0x0034, // Size: 2, Type: INT, Flags: PUBLIC - ITEM_FIELD_ENCHANTMENT_13_3 = OBJECT_END + 0x0036, // Size: 1, Type: TWO_SHORT, Flags: PUBLIC - ITEM_FIELD_ENCHANTMENT_14_1 = OBJECT_END + 0x0037, // Size: 2, Type: INT, Flags: PUBLIC - ITEM_FIELD_ENCHANTMENT_14_3 = OBJECT_END + 0x0039, // Size: 1, Type: TWO_SHORT, Flags: PUBLIC - ITEM_FIELD_ENCHANTMENT_15_1 = OBJECT_END + 0x003A, // Size: 2, Type: INT, Flags: PUBLIC - ITEM_FIELD_ENCHANTMENT_15_3 = OBJECT_END + 0x003C, // Size: 1, Type: TWO_SHORT, Flags: PUBLIC - ITEM_FIELD_PROPERTY_SEED = OBJECT_END + 0x003D, // Size: 1, Type: INT, Flags: PUBLIC - ITEM_FIELD_RANDOM_PROPERTIES_ID = OBJECT_END + 0x003E, // Size: 1, Type: INT, Flags: PUBLIC - ITEM_FIELD_DURABILITY = OBJECT_END + 0x003F, // Size: 1, Type: INT, Flags: OWNER, ITEM_OWNER - ITEM_FIELD_MAXDURABILITY = OBJECT_END + 0x0040, // Size: 1, Type: INT, Flags: OWNER, ITEM_OWNER - ITEM_FIELD_CREATE_PLAYED_TIME = OBJECT_END + 0x0041, // Size: 1, Type: INT, Flags: PUBLIC - ITEM_END = OBJECT_END + 0x0042, + OBJECT_DYNAMIC_END = 0x000, }; -enum EContainerFields +enum ItemFields { - CONTAINER_FIELD_NUM_SLOTS = ITEM_END + 0x0000, // Size: 1, Type: INT, Flags: PUBLIC - CONTAINER_ALIGN_PAD = ITEM_END + 0x0001, // Size: 1, Type: BYTES, Flags: NONE - CONTAINER_FIELD_SLOT_1 = ITEM_END + 0x0002, // Size: 72, Type: LONG, Flags: PUBLIC - CONTAINER_END = ITEM_END + 0x004A + ITEM_FIELD_OWNER = OBJECT_END + 0x000, // Size: 4, Flags: PUBLIC + ITEM_FIELD_CONTAINED = OBJECT_END + 0x004, // Size: 4, Flags: PUBLIC + ITEM_FIELD_CREATOR = OBJECT_END + 0x008, // Size: 4, Flags: PUBLIC + ITEM_FIELD_GIFTCREATOR = OBJECT_END + 0x00C, // Size: 4, Flags: PUBLIC + ITEM_FIELD_STACK_COUNT = OBJECT_END + 0x010, // Size: 1, Flags: OWNER + ITEM_FIELD_DURATION = OBJECT_END + 0x011, // Size: 1, Flags: OWNER + ITEM_FIELD_SPELL_CHARGES = OBJECT_END + 0x012, // Size: 5, Flags: OWNER + ITEM_FIELD_FLAGS = OBJECT_END + 0x017, // Size: 1, Flags: PUBLIC + ITEM_FIELD_ENCHANTMENT = OBJECT_END + 0x018, // Size: 39, Flags: PUBLIC + ITEM_FIELD_PROPERTY_SEED = OBJECT_END + 0x03F, // Size: 1, Flags: PUBLIC + ITEM_FIELD_RANDOM_PROPERTIES_ID = OBJECT_END + 0x040, // Size: 1, Flags: PUBLIC + ITEM_FIELD_DURABILITY = OBJECT_END + 0x041, // Size: 1, Flags: OWNER + ITEM_FIELD_MAXDURABILITY = OBJECT_END + 0x042, // Size: 1, Flags: OWNER + 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, }; -enum EUnitFields +enum ItemDynamicFields { - UNIT_FIELD_CHARM = OBJECT_END + 0x0000, // Size: 2, Type: LONG, Flags: PUBLIC - UNIT_FIELD_SUMMON = OBJECT_END + 0x0002, // Size: 2, Type: LONG, Flags: PUBLIC - UNIT_FIELD_CRITTER = OBJECT_END + 0x0004, // Size: 2, Type: LONG, Flags: PRIVATE - UNIT_FIELD_CHARMEDBY = OBJECT_END + 0x0006, // Size: 2, Type: LONG, Flags: PUBLIC - UNIT_FIELD_SUMMONEDBY = OBJECT_END + 0x0008, // Size: 2, Type: LONG, Flags: PUBLIC - UNIT_FIELD_CREATEDBY = OBJECT_END + 0x000A, // Size: 2, Type: LONG, Flags: PUBLIC - UNIT_FIELD_TARGET = OBJECT_END + 0x000C, // Size: 2, Type: LONG, Flags: PUBLIC - UNIT_FIELD_CHANNEL_OBJECT = OBJECT_END + 0x000E, // Size: 2, Type: LONG, Flags: PUBLIC - UNIT_CHANNEL_SPELL = OBJECT_END + 0x0010, // Size: 1, Type: INT, Flags: PUBLIC - UNIT_FIELD_BYTES_0 = OBJECT_END + 0x0011, // Size: 1, Type: BYTES, Flags: PUBLIC - UNIT_FIELD_HEALTH = OBJECT_END + 0x0012, // Size: 1, Type: INT, Flags: PUBLIC - UNIT_FIELD_POWER1 = OBJECT_END + 0x0013, // Size: 1, Type: INT, Flags: PUBLIC - UNIT_FIELD_POWER2 = OBJECT_END + 0x0014, // Size: 1, Type: INT, Flags: PUBLIC - UNIT_FIELD_POWER3 = OBJECT_END + 0x0015, // Size: 1, Type: INT, Flags: PUBLIC - UNIT_FIELD_POWER4 = OBJECT_END + 0x0016, // Size: 1, Type: INT, Flags: PUBLIC - UNIT_FIELD_POWER5 = OBJECT_END + 0x0017, // Size: 1, Type: INT, Flags: PUBLIC - UNIT_FIELD_MAXHEALTH = OBJECT_END + 0x0018, // Size: 1, Type: INT, Flags: PUBLIC - UNIT_FIELD_MAXPOWER1 = OBJECT_END + 0x0019, // Size: 1, Type: INT, Flags: PUBLIC - UNIT_FIELD_MAXPOWER2 = OBJECT_END + 0x001A, // Size: 1, Type: INT, Flags: PUBLIC - UNIT_FIELD_MAXPOWER3 = OBJECT_END + 0x001B, // Size: 1, Type: INT, Flags: PUBLIC - UNIT_FIELD_MAXPOWER4 = OBJECT_END + 0x001C, // Size: 1, Type: INT, Flags: PUBLIC - UNIT_FIELD_MAXPOWER5 = OBJECT_END + 0x001D, // Size: 1, Type: INT, Flags: PUBLIC - UNIT_FIELD_POWER_REGEN_FLAT_MODIFIER = OBJECT_END + 0x001E, // Size: 5, Type: FLOAT, Flags: PRIVATE, OWNER, UNUSED2 - UNIT_FIELD_POWER_REGEN_INTERRUPTED_FLAT_MODIFIER = OBJECT_END + 0x0023, // Size: 5, Type: FLOAT, Flags: PRIVATE, OWNER, UNUSED2 - UNIT_FIELD_LEVEL = OBJECT_END + 0x0028, // Size: 1, Type: INT, Flags: PUBLIC - UNIT_FIELD_FACTIONTEMPLATE = OBJECT_END + 0x0029, // Size: 1, Type: INT, Flags: PUBLIC - UNIT_VIRTUAL_ITEM_SLOT_ID = OBJECT_END + 0x002A, // Size: 3, Type: INT, Flags: PUBLIC - UNIT_FIELD_FLAGS = OBJECT_END + 0x002D, // Size: 1, Type: INT, Flags: PUBLIC - UNIT_FIELD_FLAGS_2 = OBJECT_END + 0x002E, // Size: 1, Type: INT, Flags: PUBLIC - UNIT_FIELD_AURASTATE = OBJECT_END + 0x002F, // Size: 1, Type: INT, Flags: PUBLIC - UNIT_FIELD_BASEATTACKTIME = OBJECT_END + 0x0030, // Size: 2, Type: INT, Flags: PUBLIC - UNIT_FIELD_RANGEDATTACKTIME = OBJECT_END + 0x0032, // Size: 1, Type: INT, Flags: PRIVATE - UNIT_FIELD_BOUNDINGRADIUS = OBJECT_END + 0x0033, // Size: 1, Type: FLOAT, Flags: PUBLIC - UNIT_FIELD_COMBATREACH = OBJECT_END + 0x0034, // Size: 1, Type: FLOAT, Flags: PUBLIC - UNIT_FIELD_DISPLAYID = OBJECT_END + 0x0035, // Size: 1, Type: INT, Flags: DYNAMIC - UNIT_FIELD_NATIVEDISPLAYID = OBJECT_END + 0x0036, // Size: 1, Type: INT, Flags: PUBLIC - UNIT_FIELD_MOUNTDISPLAYID = OBJECT_END + 0x0037, // Size: 1, Type: INT, Flags: PUBLIC - UNIT_FIELD_MINDAMAGE = OBJECT_END + 0x0038, // Size: 1, Type: FLOAT, Flags: PRIVATE, OWNER, SPECIAL_INFO - UNIT_FIELD_MAXDAMAGE = OBJECT_END + 0x0039, // Size: 1, Type: FLOAT, Flags: PRIVATE, OWNER, SPECIAL_INFO - UNIT_FIELD_MINOFFHANDDAMAGE = OBJECT_END + 0x003A, // Size: 1, Type: FLOAT, Flags: PRIVATE, OWNER, SPECIAL_INFO - UNIT_FIELD_MAXOFFHANDDAMAGE = OBJECT_END + 0x003B, // Size: 1, Type: FLOAT, Flags: PRIVATE, OWNER, SPECIAL_INFO - UNIT_FIELD_BYTES_1 = OBJECT_END + 0x003C, // Size: 1, Type: BYTES, Flags: PUBLIC - UNIT_FIELD_PETNUMBER = OBJECT_END + 0x003D, // Size: 1, Type: INT, Flags: PUBLIC - UNIT_FIELD_PET_NAME_TIMESTAMP = OBJECT_END + 0x003E, // Size: 1, Type: INT, Flags: PUBLIC - UNIT_FIELD_PETEXPERIENCE = OBJECT_END + 0x003F, // Size: 1, Type: INT, Flags: OWNER - UNIT_FIELD_PETNEXTLEVELEXP = OBJECT_END + 0x0040, // Size: 1, Type: INT, Flags: OWNER - UNIT_DYNAMIC_FLAGS = OBJECT_END + 0x0041, // Size: 1, Type: INT, Flags: DYNAMIC - UNIT_MOD_CAST_SPEED = OBJECT_END + 0x0042, // Size: 1, Type: FLOAT, Flags: PUBLIC - UNIT_MOD_CAST_HASTE = OBJECT_END + 0x0043, // Size: 1, Type: FLOAT, Flags: PUBLIC - UNIT_CREATED_BY_SPELL = OBJECT_END + 0x0044, // Size: 1, Type: INT, Flags: PUBLIC - UNIT_NPC_FLAGS = OBJECT_END + 0x0045, // Size: 1, Type: INT, Flags: DYNAMIC - UNIT_NPC_EMOTESTATE = OBJECT_END + 0x0046, // Size: 1, Type: INT, Flags: PUBLIC - UNIT_FIELD_STAT0 = OBJECT_END + 0x0047, // Size: 1, Type: INT, Flags: PRIVATE, OWNER - UNIT_FIELD_STAT1 = OBJECT_END + 0x0048, // Size: 1, Type: INT, Flags: PRIVATE, OWNER - UNIT_FIELD_STAT2 = OBJECT_END + 0x0049, // Size: 1, Type: INT, Flags: PRIVATE, OWNER - UNIT_FIELD_STAT3 = OBJECT_END + 0x004A, // Size: 1, Type: INT, Flags: PRIVATE, OWNER - UNIT_FIELD_STAT4 = OBJECT_END + 0x004B, // Size: 1, Type: INT, Flags: PRIVATE, OWNER - UNIT_FIELD_POSSTAT0 = OBJECT_END + 0x004C, // Size: 1, Type: INT, Flags: PRIVATE, OWNER - UNIT_FIELD_POSSTAT1 = OBJECT_END + 0x004D, // Size: 1, Type: INT, Flags: PRIVATE, OWNER - UNIT_FIELD_POSSTAT2 = OBJECT_END + 0x004E, // Size: 1, Type: INT, Flags: PRIVATE, OWNER - UNIT_FIELD_POSSTAT3 = OBJECT_END + 0x004F, // Size: 1, Type: INT, Flags: PRIVATE, OWNER - UNIT_FIELD_POSSTAT4 = OBJECT_END + 0x0050, // Size: 1, Type: INT, Flags: PRIVATE, OWNER - UNIT_FIELD_NEGSTAT0 = OBJECT_END + 0x0051, // Size: 1, Type: INT, Flags: PRIVATE, OWNER - UNIT_FIELD_NEGSTAT1 = OBJECT_END + 0x0052, // Size: 1, Type: INT, Flags: PRIVATE, OWNER - UNIT_FIELD_NEGSTAT2 = OBJECT_END + 0x0053, // Size: 1, Type: INT, Flags: PRIVATE, OWNER - UNIT_FIELD_NEGSTAT3 = OBJECT_END + 0x0054, // Size: 1, Type: INT, Flags: PRIVATE, OWNER - UNIT_FIELD_NEGSTAT4 = OBJECT_END + 0x0055, // Size: 1, Type: INT, Flags: PRIVATE, OWNER - UNIT_FIELD_RESISTANCES = OBJECT_END + 0x0056, // Size: 7, Type: INT, Flags: PRIVATE, OWNER, SPECIAL_INFO - UNIT_FIELD_RESISTANCEBUFFMODSPOSITIVE = OBJECT_END + 0x005D, // Size: 7, Type: INT, Flags: PRIVATE, OWNER - UNIT_FIELD_RESISTANCEBUFFMODSNEGATIVE = OBJECT_END + 0x0064, // Size: 7, Type: INT, Flags: PRIVATE, OWNER - UNIT_FIELD_BASE_MANA = OBJECT_END + 0x006B, // Size: 1, Type: INT, Flags: PUBLIC - UNIT_FIELD_BASE_HEALTH = OBJECT_END + 0x006C, // Size: 1, Type: INT, Flags: PRIVATE, OWNER - UNIT_FIELD_BYTES_2 = OBJECT_END + 0x006D, // Size: 1, Type: BYTES, Flags: PUBLIC - UNIT_FIELD_ATTACK_POWER = OBJECT_END + 0x006E, // Size: 1, Type: INT, Flags: PRIVATE, OWNER - UNIT_FIELD_ATTACK_POWER_MOD_POS = OBJECT_END + 0x006F, // Size: 1, Type: INT, Flags: PRIVATE, OWNER - UNIT_FIELD_ATTACK_POWER_MOD_NEG = OBJECT_END + 0x0070, // Size: 1, Type: INT, Flags: PRIVATE, OWNER - UNIT_FIELD_ATTACK_POWER_MULTIPLIER = OBJECT_END + 0x0071, // Size: 1, Type: FLOAT, Flags: PRIVATE, OWNER - UNIT_FIELD_RANGED_ATTACK_POWER = OBJECT_END + 0x0072, // Size: 1, Type: INT, Flags: PRIVATE, OWNER - UNIT_FIELD_RANGED_ATTACK_POWER_MOD_POS = OBJECT_END + 0x0073, // Size: 1, Type: INT, Flags: PRIVATE, OWNER - UNIT_FIELD_RANGED_ATTACK_POWER_MOD_NEG = OBJECT_END + 0x0074, // Size: 1, Type: INT, Flags: PRIVATE, OWNER - UNIT_FIELD_RANGED_ATTACK_POWER_MULTIPLIER = OBJECT_END + 0x0075, // Size: 1, Type: FLOAT, Flags: PRIVATE, OWNER - UNIT_FIELD_MINRANGEDDAMAGE = OBJECT_END + 0x0076, // Size: 1, Type: FLOAT, Flags: PRIVATE, OWNER - UNIT_FIELD_MAXRANGEDDAMAGE = OBJECT_END + 0x0077, // Size: 1, Type: FLOAT, Flags: PRIVATE, OWNER - UNIT_FIELD_POWER_COST_MODIFIER = OBJECT_END + 0x0078, // Size: 7, Type: INT, Flags: PRIVATE, OWNER - UNIT_FIELD_POWER_COST_MULTIPLIER = OBJECT_END + 0x007F, // Size: 7, Type: FLOAT, Flags: PRIVATE, OWNER - UNIT_FIELD_MAXHEALTHMODIFIER = OBJECT_END + 0x0086, // Size: 1, Type: FLOAT, Flags: PRIVATE, OWNER - UNIT_FIELD_HOVERHEIGHT = OBJECT_END + 0x0087, // Size: 1, Type: FLOAT, Flags: PUBLIC - UNIT_FIELD_MAXITEMLEVEL = OBJECT_END + 0x0088, // Size: 1, Type: INT, Flags: PUBLIC - UNIT_FIELD_PADDING = OBJECT_END + 0x0089, // Size: 1, Type: INT, Flags: NONE - UNIT_END = OBJECT_END + 0x008A + ITEM_DYNAMIC_FIELD_MODIFIERS = OBJECT_DYNAMIC_END + 0x000, // Flags: OWNER + ITEM_DYNAMIC_FIELD_BONUSLIST_IDS = OBJECT_DYNAMIC_END + 0x001, // Flags: OWNER + ITEM_DYNAMIC_END = OBJECT_DYNAMIC_END + 0x002, }; -enum EPlayerFields +enum ContainerFields { - PLAYER_DUEL_ARBITER = UNIT_END + 0x0000, // Size: 2, Type: LONG, Flags: PUBLIC - PLAYER_FLAGS = UNIT_END + 0x0002, // Size: 1, Type: INT, Flags: PUBLIC - PLAYER_GUILDRANK = UNIT_END + 0x0003, // Size: 1, Type: INT, Flags: PUBLIC - PLAYER_GUILDDELETE_DATE = UNIT_END + 0x0004, // Size: 1, Type: INT, Flags: PUBLIC - PLAYER_GUILDLEVEL = UNIT_END + 0x0005, // Size: 1, Type: INT, Flags: PUBLIC - PLAYER_BYTES = UNIT_END + 0x0006, // Size: 1, Type: BYTES, Flags: PUBLIC - PLAYER_BYTES_2 = UNIT_END + 0x0007, // Size: 1, Type: BYTES, Flags: PUBLIC - PLAYER_BYTES_3 = UNIT_END + 0x0008, // Size: 1, Type: BYTES, Flags: PUBLIC - PLAYER_DUEL_TEAM = UNIT_END + 0x0009, // Size: 1, Type: INT, Flags: PUBLIC - PLAYER_GUILD_TIMESTAMP = UNIT_END + 0x000A, // Size: 1, Type: INT, Flags: PUBLIC - PLAYER_QUEST_LOG_1_1 = UNIT_END + 0x000B, // Size: 1, Type: INT, Flags: PARTY_MEMBER - PLAYER_QUEST_LOG_1_2 = UNIT_END + 0x000C, // Size: 1, Type: INT, Flags: PARTY_MEMBER - PLAYER_QUEST_LOG_1_3 = UNIT_END + 0x000D, // Size: 2, Type: TWO_SHORT, Flags: PARTY_MEMBER - PLAYER_QUEST_LOG_1_4 = UNIT_END + 0x000F, // Size: 1, Type: INT, Flags: PARTY_MEMBER - PLAYER_QUEST_LOG_2_1 = UNIT_END + 0x0010, // Size: 1, Type: INT, Flags: PARTY_MEMBER - PLAYER_QUEST_LOG_2_2 = UNIT_END + 0x0011, // Size: 1, Type: INT, Flags: PARTY_MEMBER - PLAYER_QUEST_LOG_2_3 = UNIT_END + 0x0012, // Size: 2, Type: TWO_SHORT, Flags: PARTY_MEMBER - PLAYER_QUEST_LOG_2_5 = UNIT_END + 0x0014, // Size: 1, Type: INT, Flags: PARTY_MEMBER - PLAYER_QUEST_LOG_3_1 = UNIT_END + 0x0015, // Size: 1, Type: INT, Flags: PARTY_MEMBER - PLAYER_QUEST_LOG_3_2 = UNIT_END + 0x0016, // Size: 1, Type: INT, Flags: PARTY_MEMBER - PLAYER_QUEST_LOG_3_3 = UNIT_END + 0x0017, // Size: 2, Type: TWO_SHORT, Flags: PARTY_MEMBER - PLAYER_QUEST_LOG_3_5 = UNIT_END + 0x0019, // Size: 1, Type: INT, Flags: PARTY_MEMBER - PLAYER_QUEST_LOG_4_1 = UNIT_END + 0x001A, // Size: 1, Type: INT, Flags: PARTY_MEMBER - PLAYER_QUEST_LOG_4_2 = UNIT_END + 0x001B, // Size: 1, Type: INT, Flags: PARTY_MEMBER - PLAYER_QUEST_LOG_4_3 = UNIT_END + 0x001C, // Size: 2, Type: TWO_SHORT, Flags: PARTY_MEMBER - PLAYER_QUEST_LOG_4_5 = UNIT_END + 0x001E, // Size: 1, Type: INT, Flags: PARTY_MEMBER - PLAYER_QUEST_LOG_5_1 = UNIT_END + 0x001F, // Size: 1, Type: INT, Flags: PARTY_MEMBER - PLAYER_QUEST_LOG_5_2 = UNIT_END + 0x0020, // Size: 1, Type: INT, Flags: PARTY_MEMBER - PLAYER_QUEST_LOG_5_3 = UNIT_END + 0x0021, // Size: 2, Type: TWO_SHORT, Flags: PARTY_MEMBER - PLAYER_QUEST_LOG_5_5 = UNIT_END + 0x0023, // Size: 1, Type: INT, Flags: PARTY_MEMBER - PLAYER_QUEST_LOG_6_1 = UNIT_END + 0x0024, // Size: 1, Type: INT, Flags: PARTY_MEMBER - PLAYER_QUEST_LOG_6_2 = UNIT_END + 0x0025, // Size: 1, Type: INT, Flags: PARTY_MEMBER - PLAYER_QUEST_LOG_6_3 = UNIT_END + 0x0026, // Size: 2, Type: TWO_SHORT, Flags: PARTY_MEMBER - PLAYER_QUEST_LOG_6_5 = UNIT_END + 0x0028, // Size: 1, Type: INT, Flags: PARTY_MEMBER - PLAYER_QUEST_LOG_7_1 = UNIT_END + 0x0029, // Size: 1, Type: INT, Flags: PARTY_MEMBER - PLAYER_QUEST_LOG_7_2 = UNIT_END + 0x002A, // Size: 1, Type: INT, Flags: PARTY_MEMBER - PLAYER_QUEST_LOG_7_3 = UNIT_END + 0x002B, // Size: 2, Type: TWO_SHORT, Flags: PARTY_MEMBER - PLAYER_QUEST_LOG_7_5 = UNIT_END + 0x002D, // Size: 1, Type: INT, Flags: PARTY_MEMBER - PLAYER_QUEST_LOG_8_1 = UNIT_END + 0x002E, // Size: 1, Type: INT, Flags: PARTY_MEMBER - PLAYER_QUEST_LOG_8_2 = UNIT_END + 0x002F, // Size: 1, Type: INT, Flags: PARTY_MEMBER - PLAYER_QUEST_LOG_8_3 = UNIT_END + 0x0030, // Size: 2, Type: TWO_SHORT, Flags: PARTY_MEMBER - PLAYER_QUEST_LOG_8_5 = UNIT_END + 0x0032, // Size: 1, Type: INT, Flags: PARTY_MEMBER - PLAYER_QUEST_LOG_9_1 = UNIT_END + 0x0033, // Size: 1, Type: INT, Flags: PARTY_MEMBER - PLAYER_QUEST_LOG_9_2 = UNIT_END + 0x0034, // Size: 1, Type: INT, Flags: PARTY_MEMBER - PLAYER_QUEST_LOG_9_3 = UNIT_END + 0x0035, // Size: 2, Type: TWO_SHORT, Flags: PARTY_MEMBER - PLAYER_QUEST_LOG_9_5 = UNIT_END + 0x0037, // Size: 1, Type: INT, Flags: PARTY_MEMBER - PLAYER_QUEST_LOG_10_1 = UNIT_END + 0x0038, // Size: 1, Type: INT, Flags: PARTY_MEMBER - PLAYER_QUEST_LOG_10_2 = UNIT_END + 0x0039, // Size: 1, Type: INT, Flags: PARTY_MEMBER - PLAYER_QUEST_LOG_10_3 = UNIT_END + 0x003A, // Size: 2, Type: TWO_SHORT, Flags: PARTY_MEMBER - PLAYER_QUEST_LOG_10_5 = UNIT_END + 0x003C, // Size: 1, Type: INT, Flags: PARTY_MEMBER - PLAYER_QUEST_LOG_11_1 = UNIT_END + 0x003D, // Size: 1, Type: INT, Flags: PARTY_MEMBER - PLAYER_QUEST_LOG_11_2 = UNIT_END + 0x003E, // Size: 1, Type: INT, Flags: PARTY_MEMBER - PLAYER_QUEST_LOG_11_3 = UNIT_END + 0x003F, // Size: 2, Type: TWO_SHORT, Flags: PARTY_MEMBER - PLAYER_QUEST_LOG_11_5 = UNIT_END + 0x0041, // Size: 1, Type: INT, Flags: PARTY_MEMBER - PLAYER_QUEST_LOG_12_1 = UNIT_END + 0x0042, // Size: 1, Type: INT, Flags: PARTY_MEMBER - PLAYER_QUEST_LOG_12_2 = UNIT_END + 0x0043, // Size: 1, Type: INT, Flags: PARTY_MEMBER - PLAYER_QUEST_LOG_12_3 = UNIT_END + 0x0044, // Size: 2, Type: TWO_SHORT, Flags: PARTY_MEMBER - PLAYER_QUEST_LOG_12_5 = UNIT_END + 0x0046, // Size: 1, Type: INT, Flags: PARTY_MEMBER - PLAYER_QUEST_LOG_13_1 = UNIT_END + 0x0047, // Size: 1, Type: INT, Flags: PARTY_MEMBER - PLAYER_QUEST_LOG_13_2 = UNIT_END + 0x0048, // Size: 1, Type: INT, Flags: PARTY_MEMBER - PLAYER_QUEST_LOG_13_3 = UNIT_END + 0x0049, // Size: 2, Type: TWO_SHORT, Flags: PARTY_MEMBER - PLAYER_QUEST_LOG_13_5 = UNIT_END + 0x004B, // Size: 1, Type: INT, Flags: PARTY_MEMBER - PLAYER_QUEST_LOG_14_1 = UNIT_END + 0x004C, // Size: 1, Type: INT, Flags: PARTY_MEMBER - PLAYER_QUEST_LOG_14_2 = UNIT_END + 0x004D, // Size: 1, Type: INT, Flags: PARTY_MEMBER - PLAYER_QUEST_LOG_14_3 = UNIT_END + 0x004E, // Size: 2, Type: TWO_SHORT, Flags: PARTY_MEMBER - PLAYER_QUEST_LOG_14_5 = UNIT_END + 0x0050, // Size: 1, Type: INT, Flags: PARTY_MEMBER - PLAYER_QUEST_LOG_15_1 = UNIT_END + 0x0051, // Size: 1, Type: INT, Flags: PARTY_MEMBER - PLAYER_QUEST_LOG_15_2 = UNIT_END + 0x0052, // Size: 1, Type: INT, Flags: PARTY_MEMBER - PLAYER_QUEST_LOG_15_3 = UNIT_END + 0x0053, // Size: 2, Type: TWO_SHORT, Flags: PARTY_MEMBER - PLAYER_QUEST_LOG_15_5 = UNIT_END + 0x0055, // Size: 1, Type: INT, Flags: PARTY_MEMBER - PLAYER_QUEST_LOG_16_1 = UNIT_END + 0x0056, // Size: 1, Type: INT, Flags: PARTY_MEMBER - PLAYER_QUEST_LOG_16_2 = UNIT_END + 0x0057, // Size: 1, Type: INT, Flags: PARTY_MEMBER - PLAYER_QUEST_LOG_16_3 = UNIT_END + 0x0058, // Size: 2, Type: TWO_SHORT, Flags: PARTY_MEMBER - PLAYER_QUEST_LOG_16_5 = UNIT_END + 0x005A, // Size: 1, Type: INT, Flags: PARTY_MEMBER - PLAYER_QUEST_LOG_17_1 = UNIT_END + 0x005B, // Size: 1, Type: INT, Flags: PARTY_MEMBER - PLAYER_QUEST_LOG_17_2 = UNIT_END + 0x005C, // Size: 1, Type: INT, Flags: PARTY_MEMBER - PLAYER_QUEST_LOG_17_3 = UNIT_END + 0x005D, // Size: 2, Type: TWO_SHORT, Flags: PARTY_MEMBER - PLAYER_QUEST_LOG_17_5 = UNIT_END + 0x005F, // Size: 1, Type: INT, Flags: PARTY_MEMBER - PLAYER_QUEST_LOG_18_1 = UNIT_END + 0x0060, // Size: 1, Type: INT, Flags: PARTY_MEMBER - PLAYER_QUEST_LOG_18_2 = UNIT_END + 0x0061, // Size: 1, Type: INT, Flags: PARTY_MEMBER - PLAYER_QUEST_LOG_18_3 = UNIT_END + 0x0062, // Size: 2, Type: TWO_SHORT, Flags: PARTY_MEMBER - PLAYER_QUEST_LOG_18_5 = UNIT_END + 0x0064, // Size: 1, Type: INT, Flags: PARTY_MEMBER - PLAYER_QUEST_LOG_19_1 = UNIT_END + 0x0065, // Size: 1, Type: INT, Flags: PARTY_MEMBER - PLAYER_QUEST_LOG_19_2 = UNIT_END + 0x0066, // Size: 1, Type: INT, Flags: PARTY_MEMBER - PLAYER_QUEST_LOG_19_3 = UNIT_END + 0x0067, // Size: 2, Type: TWO_SHORT, Flags: PARTY_MEMBER - PLAYER_QUEST_LOG_19_5 = UNIT_END + 0x0069, // Size: 1, Type: INT, Flags: PARTY_MEMBER - PLAYER_QUEST_LOG_20_1 = UNIT_END + 0x006A, // Size: 1, Type: INT, Flags: PARTY_MEMBER - PLAYER_QUEST_LOG_20_2 = UNIT_END + 0x006B, // Size: 1, Type: INT, Flags: PARTY_MEMBER - PLAYER_QUEST_LOG_20_3 = UNIT_END + 0x006C, // Size: 2, Type: TWO_SHORT, Flags: PARTY_MEMBER - PLAYER_QUEST_LOG_20_5 = UNIT_END + 0x006E, // Size: 1, Type: INT, Flags: PARTY_MEMBER - PLAYER_QUEST_LOG_21_1 = UNIT_END + 0x006F, // Size: 1, Type: INT, Flags: PARTY_MEMBER - PLAYER_QUEST_LOG_21_2 = UNIT_END + 0x0070, // Size: 1, Type: INT, Flags: PARTY_MEMBER - PLAYER_QUEST_LOG_21_3 = UNIT_END + 0x0071, // Size: 2, Type: TWO_SHORT, Flags: PARTY_MEMBER - PLAYER_QUEST_LOG_21_5 = UNIT_END + 0x0073, // Size: 1, Type: INT, Flags: PARTY_MEMBER - PLAYER_QUEST_LOG_22_1 = UNIT_END + 0x0074, // Size: 1, Type: INT, Flags: PARTY_MEMBER - PLAYER_QUEST_LOG_22_2 = UNIT_END + 0x0075, // Size: 1, Type: INT, Flags: PARTY_MEMBER - PLAYER_QUEST_LOG_22_3 = UNIT_END + 0x0076, // Size: 2, Type: TWO_SHORT, Flags: PARTY_MEMBER - PLAYER_QUEST_LOG_22_5 = UNIT_END + 0x0078, // Size: 1, Type: INT, Flags: PARTY_MEMBER - PLAYER_QUEST_LOG_23_1 = UNIT_END + 0x0079, // Size: 1, Type: INT, Flags: PARTY_MEMBER - PLAYER_QUEST_LOG_23_2 = UNIT_END + 0x007A, // Size: 1, Type: INT, Flags: PARTY_MEMBER - PLAYER_QUEST_LOG_23_3 = UNIT_END + 0x007B, // Size: 2, Type: TWO_SHORT, Flags: PARTY_MEMBER - PLAYER_QUEST_LOG_23_5 = UNIT_END + 0x007D, // Size: 1, Type: INT, Flags: PARTY_MEMBER - PLAYER_QUEST_LOG_24_1 = UNIT_END + 0x007E, // Size: 1, Type: INT, Flags: PARTY_MEMBER - PLAYER_QUEST_LOG_24_2 = UNIT_END + 0x007F, // Size: 1, Type: INT, Flags: PARTY_MEMBER - PLAYER_QUEST_LOG_24_3 = UNIT_END + 0x0080, // Size: 2, Type: TWO_SHORT, Flags: PARTY_MEMBER - PLAYER_QUEST_LOG_24_5 = UNIT_END + 0x0082, // Size: 1, Type: INT, Flags: PARTY_MEMBER - PLAYER_QUEST_LOG_25_1 = UNIT_END + 0x0083, // Size: 1, Type: INT, Flags: PARTY_MEMBER - PLAYER_QUEST_LOG_25_2 = UNIT_END + 0x0084, // Size: 1, Type: INT, Flags: PARTY_MEMBER - PLAYER_QUEST_LOG_25_3 = UNIT_END + 0x0085, // Size: 2, Type: TWO_SHORT, Flags: PARTY_MEMBER - PLAYER_QUEST_LOG_25_5 = UNIT_END + 0x0087, // Size: 1, Type: INT, Flags: PARTY_MEMBER - PLAYER_QUEST_LOG_26_1 = UNIT_END + 0x0088, // Size: 1, Type: INT, Flags: PARTY_MEMBER - PLAYER_QUEST_LOG_26_2 = UNIT_END + 0x0089, // Size: 1, Type: INT, Flags: PARTY_MEMBER - PLAYER_QUEST_LOG_26_3 = UNIT_END + 0x008A, // Size: 2, Type: TWO_SHORT, Flags: PARTY_MEMBER - PLAYER_QUEST_LOG_26_5 = UNIT_END + 0x008C, // Size: 1, Type: INT, Flags: PARTY_MEMBER - PLAYER_QUEST_LOG_27_1 = UNIT_END + 0x008D, // Size: 1, Type: INT, Flags: PARTY_MEMBER - PLAYER_QUEST_LOG_27_2 = UNIT_END + 0x008E, // Size: 1, Type: INT, Flags: PARTY_MEMBER - PLAYER_QUEST_LOG_27_3 = UNIT_END + 0x008F, // Size: 2, Type: TWO_SHORT, Flags: PARTY_MEMBER - PLAYER_QUEST_LOG_27_5 = UNIT_END + 0x0091, // Size: 1, Type: INT, Flags: PARTY_MEMBER - PLAYER_QUEST_LOG_28_1 = UNIT_END + 0x0092, // Size: 1, Type: INT, Flags: PARTY_MEMBER - PLAYER_QUEST_LOG_28_2 = UNIT_END + 0x0093, // Size: 1, Type: INT, Flags: PARTY_MEMBER - PLAYER_QUEST_LOG_28_3 = UNIT_END + 0x0094, // Size: 2, Type: TWO_SHORT, Flags: PARTY_MEMBER - PLAYER_QUEST_LOG_28_5 = UNIT_END + 0x0096, // Size: 1, Type: INT, Flags: PARTY_MEMBER - PLAYER_QUEST_LOG_29_1 = UNIT_END + 0x0097, // Size: 1, Type: INT, Flags: PARTY_MEMBER - PLAYER_QUEST_LOG_29_2 = UNIT_END + 0x0098, // Size: 1, Type: INT, Flags: PARTY_MEMBER - PLAYER_QUEST_LOG_29_3 = UNIT_END + 0x0099, // Size: 2, Type: TWO_SHORT, Flags: PARTY_MEMBER - PLAYER_QUEST_LOG_29_5 = UNIT_END + 0x009B, // Size: 1, Type: INT, Flags: PARTY_MEMBER - PLAYER_QUEST_LOG_30_1 = UNIT_END + 0x009C, // Size: 1, Type: INT, Flags: PARTY_MEMBER - PLAYER_QUEST_LOG_30_2 = UNIT_END + 0x009D, // Size: 1, Type: INT, Flags: PARTY_MEMBER - PLAYER_QUEST_LOG_30_3 = UNIT_END + 0x009E, // Size: 2, Type: TWO_SHORT, Flags: PARTY_MEMBER - PLAYER_QUEST_LOG_30_5 = UNIT_END + 0x00A0, // Size: 1, Type: INT, Flags: PARTY_MEMBER - PLAYER_QUEST_LOG_31_1 = UNIT_END + 0x00A1, // Size: 1, Type: INT, Flags: PARTY_MEMBER - PLAYER_QUEST_LOG_31_2 = UNIT_END + 0x00A2, // Size: 1, Type: INT, Flags: PARTY_MEMBER - PLAYER_QUEST_LOG_31_3 = UNIT_END + 0x00A3, // Size: 2, Type: TWO_SHORT, Flags: PARTY_MEMBER - PLAYER_QUEST_LOG_31_5 = UNIT_END + 0x00A5, // Size: 1, Type: INT, Flags: PARTY_MEMBER - PLAYER_QUEST_LOG_32_1 = UNIT_END + 0x00A6, // Size: 1, Type: INT, Flags: PARTY_MEMBER - PLAYER_QUEST_LOG_32_2 = UNIT_END + 0x00A7, // Size: 1, Type: INT, Flags: PARTY_MEMBER - PLAYER_QUEST_LOG_32_3 = UNIT_END + 0x00A8, // Size: 2, Type: TWO_SHORT, Flags: PARTY_MEMBER - PLAYER_QUEST_LOG_32_5 = UNIT_END + 0x00AA, // Size: 1, Type: INT, Flags: PARTY_MEMBER - PLAYER_QUEST_LOG_33_1 = UNIT_END + 0x00AB, // Size: 1, Type: INT, Flags: PARTY_MEMBER - PLAYER_QUEST_LOG_33_2 = UNIT_END + 0x00AC, // Size: 1, Type: INT, Flags: PARTY_MEMBER - PLAYER_QUEST_LOG_33_3 = UNIT_END + 0x00AD, // Size: 2, Type: TWO_SHORT, Flags: PARTY_MEMBER - PLAYER_QUEST_LOG_33_5 = UNIT_END + 0x00AF, // Size: 1, Type: INT, Flags: PARTY_MEMBER - PLAYER_QUEST_LOG_34_1 = UNIT_END + 0x00B0, // Size: 1, Type: INT, Flags: PARTY_MEMBER - PLAYER_QUEST_LOG_34_2 = UNIT_END + 0x00B1, // Size: 1, Type: INT, Flags: PARTY_MEMBER - PLAYER_QUEST_LOG_34_3 = UNIT_END + 0x00B2, // Size: 2, Type: TWO_SHORT, Flags: PARTY_MEMBER - PLAYER_QUEST_LOG_34_5 = UNIT_END + 0x00B4, // Size: 1, Type: INT, Flags: PARTY_MEMBER - PLAYER_QUEST_LOG_35_1 = UNIT_END + 0x00B5, // Size: 1, Type: INT, Flags: PARTY_MEMBER - PLAYER_QUEST_LOG_35_2 = UNIT_END + 0x00B6, // Size: 1, Type: INT, Flags: PARTY_MEMBER - PLAYER_QUEST_LOG_35_3 = UNIT_END + 0x00B7, // Size: 2, Type: TWO_SHORT, Flags: PARTY_MEMBER - PLAYER_QUEST_LOG_35_5 = UNIT_END + 0x00B9, // Size: 1, Type: INT, Flags: PARTY_MEMBER - PLAYER_QUEST_LOG_36_1 = UNIT_END + 0x00BA, // Size: 1, Type: INT, Flags: PARTY_MEMBER - PLAYER_QUEST_LOG_36_2 = UNIT_END + 0x00BB, // Size: 1, Type: INT, Flags: PARTY_MEMBER - PLAYER_QUEST_LOG_36_3 = UNIT_END + 0x00BC, // Size: 2, Type: TWO_SHORT, Flags: PARTY_MEMBER - PLAYER_QUEST_LOG_36_5 = UNIT_END + 0x00BE, // Size: 1, Type: INT, Flags: PARTY_MEMBER - PLAYER_QUEST_LOG_37_1 = UNIT_END + 0x00BF, // Size: 1, Type: INT, Flags: PARTY_MEMBER - PLAYER_QUEST_LOG_37_2 = UNIT_END + 0x00C0, // Size: 1, Type: INT, Flags: PARTY_MEMBER - PLAYER_QUEST_LOG_37_3 = UNIT_END + 0x00C1, // Size: 2, Type: TWO_SHORT, Flags: PARTY_MEMBER - PLAYER_QUEST_LOG_37_5 = UNIT_END + 0x00C3, // Size: 1, Type: INT, Flags: PARTY_MEMBER - PLAYER_QUEST_LOG_38_1 = UNIT_END + 0x00C4, // Size: 1, Type: INT, Flags: PARTY_MEMBER - PLAYER_QUEST_LOG_38_2 = UNIT_END + 0x00C5, // Size: 1, Type: INT, Flags: PARTY_MEMBER - PLAYER_QUEST_LOG_38_3 = UNIT_END + 0x00C6, // Size: 2, Type: TWO_SHORT, Flags: PARTY_MEMBER - PLAYER_QUEST_LOG_38_5 = UNIT_END + 0x00C8, // Size: 1, Type: INT, Flags: PARTY_MEMBER - PLAYER_QUEST_LOG_39_1 = UNIT_END + 0x00C9, // Size: 1, Type: INT, Flags: PARTY_MEMBER - PLAYER_QUEST_LOG_39_2 = UNIT_END + 0x00CA, // Size: 1, Type: INT, Flags: PARTY_MEMBER - PLAYER_QUEST_LOG_39_3 = UNIT_END + 0x00CB, // Size: 2, Type: TWO_SHORT, Flags: PARTY_MEMBER - PLAYER_QUEST_LOG_39_5 = UNIT_END + 0x00CD, // Size: 1, Type: INT, Flags: PARTY_MEMBER - PLAYER_QUEST_LOG_40_1 = UNIT_END + 0x00CE, // Size: 1, Type: INT, Flags: PARTY_MEMBER - PLAYER_QUEST_LOG_40_2 = UNIT_END + 0x00CF, // Size: 1, Type: INT, Flags: PARTY_MEMBER - PLAYER_QUEST_LOG_40_3 = UNIT_END + 0x00D0, // Size: 2, Type: TWO_SHORT, Flags: PARTY_MEMBER - PLAYER_QUEST_LOG_40_5 = UNIT_END + 0x00D2, // Size: 1, Type: INT, Flags: PARTY_MEMBER - PLAYER_QUEST_LOG_41_1 = UNIT_END + 0x00D3, // Size: 1, Type: INT, Flags: PARTY_MEMBER - PLAYER_QUEST_LOG_41_2 = UNIT_END + 0x00D4, // Size: 1, Type: INT, Flags: PARTY_MEMBER - PLAYER_QUEST_LOG_41_3 = UNIT_END + 0x00D5, // Size: 2, Type: TWO_SHORT, Flags: PARTY_MEMBER - PLAYER_QUEST_LOG_41_5 = UNIT_END + 0x00D7, // Size: 1, Type: INT, Flags: PARTY_MEMBER - PLAYER_QUEST_LOG_42_1 = UNIT_END + 0x00D8, // Size: 1, Type: INT, Flags: PARTY_MEMBER - PLAYER_QUEST_LOG_42_2 = UNIT_END + 0x00D9, // Size: 1, Type: INT, Flags: PARTY_MEMBER - PLAYER_QUEST_LOG_42_3 = UNIT_END + 0x00DA, // Size: 2, Type: TWO_SHORT, Flags: PARTY_MEMBER - PLAYER_QUEST_LOG_42_5 = UNIT_END + 0x00DC, // Size: 1, Type: INT, Flags: PARTY_MEMBER - PLAYER_QUEST_LOG_43_1 = UNIT_END + 0x00DD, // Size: 1, Type: INT, Flags: PARTY_MEMBER - PLAYER_QUEST_LOG_43_2 = UNIT_END + 0x00DE, // Size: 1, Type: INT, Flags: PARTY_MEMBER - PLAYER_QUEST_LOG_43_3 = UNIT_END + 0x00DF, // Size: 2, Type: TWO_SHORT, Flags: PARTY_MEMBER - PLAYER_QUEST_LOG_43_5 = UNIT_END + 0x00E1, // Size: 1, Type: INT, Flags: PARTY_MEMBER - PLAYER_QUEST_LOG_44_1 = UNIT_END + 0x00E2, // Size: 1, Type: INT, Flags: PARTY_MEMBER - PLAYER_QUEST_LOG_44_2 = UNIT_END + 0x00E3, // Size: 1, Type: INT, Flags: PARTY_MEMBER - PLAYER_QUEST_LOG_44_3 = UNIT_END + 0x00E4, // Size: 2, Type: TWO_SHORT, Flags: PARTY_MEMBER - PLAYER_QUEST_LOG_44_5 = UNIT_END + 0x00E6, // Size: 1, Type: INT, Flags: PARTY_MEMBER - PLAYER_QUEST_LOG_45_1 = UNIT_END + 0x00E7, // Size: 1, Type: INT, Flags: PARTY_MEMBER - PLAYER_QUEST_LOG_45_2 = UNIT_END + 0x00E8, // Size: 1, Type: INT, Flags: PARTY_MEMBER - PLAYER_QUEST_LOG_45_3 = UNIT_END + 0x00E9, // Size: 2, Type: TWO_SHORT, Flags: PARTY_MEMBER - PLAYER_QUEST_LOG_45_5 = UNIT_END + 0x00EB, // Size: 1, Type: INT, Flags: PARTY_MEMBER - PLAYER_QUEST_LOG_46_1 = UNIT_END + 0x00EC, // Size: 1, Type: INT, Flags: PARTY_MEMBER - PLAYER_QUEST_LOG_46_2 = UNIT_END + 0x00ED, // Size: 1, Type: INT, Flags: PARTY_MEMBER - PLAYER_QUEST_LOG_46_3 = UNIT_END + 0x00EE, // Size: 2, Type: TWO_SHORT, Flags: PARTY_MEMBER - PLAYER_QUEST_LOG_46_5 = UNIT_END + 0x00F0, // Size: 1, Type: INT, Flags: PARTY_MEMBER - PLAYER_QUEST_LOG_47_1 = UNIT_END + 0x00F1, // Size: 1, Type: INT, Flags: PARTY_MEMBER - PLAYER_QUEST_LOG_47_2 = UNIT_END + 0x00F2, // Size: 1, Type: INT, Flags: PARTY_MEMBER - PLAYER_QUEST_LOG_47_3 = UNIT_END + 0x00F3, // Size: 2, Type: TWO_SHORT, Flags: PARTY_MEMBER - PLAYER_QUEST_LOG_47_5 = UNIT_END + 0x00F5, // Size: 1, Type: INT, Flags: PARTY_MEMBER - PLAYER_QUEST_LOG_48_1 = UNIT_END + 0x00F6, // Size: 1, Type: INT, Flags: PARTY_MEMBER - PLAYER_QUEST_LOG_48_2 = UNIT_END + 0x00F7, // Size: 1, Type: INT, Flags: PARTY_MEMBER - PLAYER_QUEST_LOG_48_3 = UNIT_END + 0x00F8, // Size: 2, Type: TWO_SHORT, Flags: PARTY_MEMBER - PLAYER_QUEST_LOG_48_5 = UNIT_END + 0x00FA, // Size: 1, Type: INT, Flags: PARTY_MEMBER - PLAYER_QUEST_LOG_49_1 = UNIT_END + 0x00FB, // Size: 1, Type: INT, Flags: PARTY_MEMBER - PLAYER_QUEST_LOG_49_2 = UNIT_END + 0x00FC, // Size: 1, Type: INT, Flags: PARTY_MEMBER - PLAYER_QUEST_LOG_49_3 = UNIT_END + 0x00FD, // Size: 2, Type: TWO_SHORT, Flags: PARTY_MEMBER - PLAYER_QUEST_LOG_49_5 = UNIT_END + 0x00FF, // Size: 1, Type: INT, Flags: PARTY_MEMBER - PLAYER_QUEST_LOG_50_1 = UNIT_END + 0x0100, // Size: 1, Type: INT, Flags: PARTY_MEMBER - PLAYER_QUEST_LOG_50_2 = UNIT_END + 0x0101, // Size: 1, Type: INT, Flags: PARTY_MEMBER - PLAYER_QUEST_LOG_50_3 = UNIT_END + 0x0102, // Size: 2, Type: TWO_SHORT, Flags: PARTY_MEMBER - PLAYER_QUEST_LOG_50_5 = UNIT_END + 0x0104, // Size: 1, Type: INT, Flags: PARTY_MEMBER - PLAYER_VISIBLE_ITEM_1_ENTRYID = UNIT_END + 0x0105, // Size: 1, Type: INT, Flags: PUBLIC - PLAYER_VISIBLE_ITEM_1_ENCHANTMENT = UNIT_END + 0x0106, // Size: 1, Type: TWO_SHORT, Flags: PUBLIC - PLAYER_VISIBLE_ITEM_2_ENTRYID = UNIT_END + 0x0107, // Size: 1, Type: INT, Flags: PUBLIC - PLAYER_VISIBLE_ITEM_2_ENCHANTMENT = UNIT_END + 0x0108, // Size: 1, Type: TWO_SHORT, Flags: PUBLIC - PLAYER_VISIBLE_ITEM_3_ENTRYID = UNIT_END + 0x0109, // Size: 1, Type: INT, Flags: PUBLIC - PLAYER_VISIBLE_ITEM_3_ENCHANTMENT = UNIT_END + 0x010A, // Size: 1, Type: TWO_SHORT, Flags: PUBLIC - PLAYER_VISIBLE_ITEM_4_ENTRYID = UNIT_END + 0x010B, // Size: 1, Type: INT, Flags: PUBLIC - PLAYER_VISIBLE_ITEM_4_ENCHANTMENT = UNIT_END + 0x010C, // Size: 1, Type: TWO_SHORT, Flags: PUBLIC - PLAYER_VISIBLE_ITEM_5_ENTRYID = UNIT_END + 0x010D, // Size: 1, Type: INT, Flags: PUBLIC - PLAYER_VISIBLE_ITEM_5_ENCHANTMENT = UNIT_END + 0x010E, // Size: 1, Type: TWO_SHORT, Flags: PUBLIC - PLAYER_VISIBLE_ITEM_6_ENTRYID = UNIT_END + 0x010F, // Size: 1, Type: INT, Flags: PUBLIC - PLAYER_VISIBLE_ITEM_6_ENCHANTMENT = UNIT_END + 0x0110, // Size: 1, Type: TWO_SHORT, Flags: PUBLIC - PLAYER_VISIBLE_ITEM_7_ENTRYID = UNIT_END + 0x0111, // Size: 1, Type: INT, Flags: PUBLIC - PLAYER_VISIBLE_ITEM_7_ENCHANTMENT = UNIT_END + 0x0112, // Size: 1, Type: TWO_SHORT, Flags: PUBLIC - PLAYER_VISIBLE_ITEM_8_ENTRYID = UNIT_END + 0x0113, // Size: 1, Type: INT, Flags: PUBLIC - PLAYER_VISIBLE_ITEM_8_ENCHANTMENT = UNIT_END + 0x0114, // Size: 1, Type: TWO_SHORT, Flags: PUBLIC - PLAYER_VISIBLE_ITEM_9_ENTRYID = UNIT_END + 0x0115, // Size: 1, Type: INT, Flags: PUBLIC - PLAYER_VISIBLE_ITEM_9_ENCHANTMENT = UNIT_END + 0x0116, // Size: 1, Type: TWO_SHORT, Flags: PUBLIC - PLAYER_VISIBLE_ITEM_10_ENTRYID = UNIT_END + 0x0117, // Size: 1, Type: INT, Flags: PUBLIC - PLAYER_VISIBLE_ITEM_10_ENCHANTMENT = UNIT_END + 0x0118, // Size: 1, Type: TWO_SHORT, Flags: PUBLIC - PLAYER_VISIBLE_ITEM_11_ENTRYID = UNIT_END + 0x0119, // Size: 1, Type: INT, Flags: PUBLIC - PLAYER_VISIBLE_ITEM_11_ENCHANTMENT = UNIT_END + 0x011A, // Size: 1, Type: TWO_SHORT, Flags: PUBLIC - PLAYER_VISIBLE_ITEM_12_ENTRYID = UNIT_END + 0x011B, // Size: 1, Type: INT, Flags: PUBLIC - PLAYER_VISIBLE_ITEM_12_ENCHANTMENT = UNIT_END + 0x011C, // Size: 1, Type: TWO_SHORT, Flags: PUBLIC - PLAYER_VISIBLE_ITEM_13_ENTRYID = UNIT_END + 0x011D, // Size: 1, Type: INT, Flags: PUBLIC - PLAYER_VISIBLE_ITEM_13_ENCHANTMENT = UNIT_END + 0x011E, // Size: 1, Type: TWO_SHORT, Flags: PUBLIC - PLAYER_VISIBLE_ITEM_14_ENTRYID = UNIT_END + 0x011F, // Size: 1, Type: INT, Flags: PUBLIC - PLAYER_VISIBLE_ITEM_14_ENCHANTMENT = UNIT_END + 0x0120, // Size: 1, Type: TWO_SHORT, Flags: PUBLIC - PLAYER_VISIBLE_ITEM_15_ENTRYID = UNIT_END + 0x0121, // Size: 1, Type: INT, Flags: PUBLIC - PLAYER_VISIBLE_ITEM_15_ENCHANTMENT = UNIT_END + 0x0122, // Size: 1, Type: TWO_SHORT, Flags: PUBLIC - PLAYER_VISIBLE_ITEM_16_ENTRYID = UNIT_END + 0x0123, // Size: 1, Type: INT, Flags: PUBLIC - PLAYER_VISIBLE_ITEM_16_ENCHANTMENT = UNIT_END + 0x0124, // Size: 1, Type: TWO_SHORT, Flags: PUBLIC - PLAYER_VISIBLE_ITEM_17_ENTRYID = UNIT_END + 0x0125, // Size: 1, Type: INT, Flags: PUBLIC - PLAYER_VISIBLE_ITEM_17_ENCHANTMENT = UNIT_END + 0x0126, // Size: 1, Type: TWO_SHORT, Flags: PUBLIC - PLAYER_VISIBLE_ITEM_18_ENTRYID = UNIT_END + 0x0127, // Size: 1, Type: INT, Flags: PUBLIC - PLAYER_VISIBLE_ITEM_18_ENCHANTMENT = UNIT_END + 0x0128, // Size: 1, Type: TWO_SHORT, Flags: PUBLIC - PLAYER_VISIBLE_ITEM_19_ENTRYID = UNIT_END + 0x0129, // Size: 1, Type: INT, Flags: PUBLIC - PLAYER_VISIBLE_ITEM_19_ENCHANTMENT = UNIT_END + 0x012A, // Size: 1, Type: TWO_SHORT, Flags: PUBLIC - PLAYER_CHOSEN_TITLE = UNIT_END + 0x012B, // Size: 1, Type: INT, Flags: PUBLIC - PLAYER_FAKE_INEBRIATION = UNIT_END + 0x012C, // Size: 1, Type: INT, Flags: PUBLIC - PLAYER_FIELD_PAD_0 = UNIT_END + 0x012D, // Size: 1, Type: INT, Flags: NONE - PLAYER_END_NOT_SELF = UNIT_END + 0x012E, + CONTAINER_FIELD_SLOT_1 = ITEM_END + 0x000, // Size: 144, Flags: PUBLIC + CONTAINER_FIELD_NUM_SLOTS = ITEM_END + 0x090, // Size: 1, Flags: PUBLIC + CONTAINER_END = ITEM_END + 0x091, +}; + +enum ContainerDynamicFields +{ + CONTAINER_DYNAMIC_END = ITEM_DYNAMIC_END + 0x000, +}; + +enum UnitFields +{ + UNIT_FIELD_CHARM = OBJECT_END + 0x000, // Size: 4, Flags: PUBLIC + UNIT_FIELD_SUMMON = OBJECT_END + 0x004, // Size: 4, Flags: PUBLIC + UNIT_FIELD_CRITTER = OBJECT_END + 0x008, // Size: 4, Flags: PRIVATE + UNIT_FIELD_CHARMEDBY = OBJECT_END + 0x00C, // Size: 4, Flags: PUBLIC + UNIT_FIELD_SUMMONEDBY = OBJECT_END + 0x010, // Size: 4, Flags: PUBLIC + UNIT_FIELD_CREATEDBY = OBJECT_END + 0x014, // Size: 4, Flags: PUBLIC + UNIT_FIELD_DEMON_CREATOR = OBJECT_END + 0x018, // Size: 4, Flags: PUBLIC + UNIT_FIELD_TARGET = OBJECT_END + 0x01C, // Size: 4, Flags: PUBLIC + UNIT_FIELD_BATTLE_PET_COMPANION_GUID = OBJECT_END + 0x020, // Size: 4, Flags: PUBLIC + UNIT_FIELD_BATTLE_PET_DB_ID = OBJECT_END + 0x024, // Size: 2, Flags: PUBLIC + UNIT_FIELD_CHANNEL_OBJECT = OBJECT_END + 0x026, // Size: 4, Flags: PUBLIC, URGENT + UNIT_CHANNEL_SPELL = OBJECT_END + 0x02A, // Size: 1, Flags: PUBLIC, URGENT + UNIT_FIELD_SUMMONED_BY_HOME_REALM = OBJECT_END + 0x02B, // Size: 1, Flags: PUBLIC + UNIT_FIELD_BYTES_0 = OBJECT_END + 0x02C, // Size: 1, Flags: PUBLIC + UNIT_FIELD_DISPLAY_POWER = OBJECT_END + 0x02D, // Size: 1, Flags: PUBLIC + UNIT_FIELD_OVERRIDE_DISPLAY_POWER_ID = OBJECT_END + 0x02E, // Size: 1, Flags: PUBLIC + UNIT_FIELD_HEALTH = OBJECT_END + 0x02F, // Size: 1, Flags: PUBLIC + UNIT_FIELD_POWER = OBJECT_END + 0x030, // Size: 6, Flags: PUBLIC, URGENT_SELF_ONLY + UNIT_FIELD_MAXHEALTH = OBJECT_END + 0x036, // Size: 1, Flags: PUBLIC + UNIT_FIELD_MAXPOWER = OBJECT_END + 0x037, // Size: 6, Flags: PUBLIC + UNIT_FIELD_POWER_REGEN_FLAT_MODIFIER = OBJECT_END + 0x03D, // Size: 6, Flags: PRIVATE, OWNER, UNIT_ALL + UNIT_FIELD_POWER_REGEN_INTERRUPTED_FLAT_MODIFIER = OBJECT_END + 0x043, // Size: 6, Flags: PRIVATE, OWNER, UNIT_ALL + UNIT_FIELD_LEVEL = OBJECT_END + 0x049, // Size: 1, Flags: PUBLIC + UNIT_FIELD_EFFECTIVE_LEVEL = OBJECT_END + 0x04A, // Size: 1, Flags: PUBLIC + UNIT_FIELD_FACTIONTEMPLATE = OBJECT_END + 0x04B, // Size: 1, Flags: PUBLIC + UNIT_VIRTUAL_ITEM_SLOT_ID = OBJECT_END + 0x04C, // Size: 3, Flags: PUBLIC + UNIT_FIELD_FLAGS = OBJECT_END + 0x04F, // Size: 1, Flags: PUBLIC + UNIT_FIELD_FLAGS_2 = OBJECT_END + 0x050, // Size: 1, Flags: PUBLIC + UNIT_FIELD_FLAGS_3 = OBJECT_END + 0x051, // Size: 1, Flags: PUBLIC + UNIT_FIELD_AURASTATE = OBJECT_END + 0x052, // Size: 1, Flags: PUBLIC + UNIT_FIELD_BASEATTACKTIME = OBJECT_END + 0x053, // Size: 2, Flags: PUBLIC + UNIT_FIELD_RANGEDATTACKTIME = OBJECT_END + 0x055, // Size: 1, Flags: PRIVATE + UNIT_FIELD_BOUNDINGRADIUS = OBJECT_END + 0x056, // Size: 1, Flags: PUBLIC + UNIT_FIELD_COMBATREACH = OBJECT_END + 0x057, // Size: 1, Flags: PUBLIC + UNIT_FIELD_DISPLAYID = OBJECT_END + 0x058, // Size: 1, Flags: DYNAMIC, URGENT + UNIT_FIELD_NATIVEDISPLAYID = OBJECT_END + 0x059, // Size: 1, Flags: PUBLIC, URGENT + UNIT_FIELD_MOUNTDISPLAYID = OBJECT_END + 0x05A, // Size: 1, Flags: PUBLIC, URGENT + UNIT_FIELD_MINDAMAGE = OBJECT_END + 0x05B, // Size: 1, Flags: PRIVATE, OWNER, SPECIAL_INFO + UNIT_FIELD_MAXDAMAGE = OBJECT_END + 0x05C, // Size: 1, Flags: PRIVATE, OWNER, SPECIAL_INFO + UNIT_FIELD_MINOFFHANDDAMAGE = OBJECT_END + 0x05D, // Size: 1, Flags: PRIVATE, OWNER, SPECIAL_INFO + UNIT_FIELD_MAXOFFHANDDAMAGE = OBJECT_END + 0x05E, // Size: 1, Flags: PRIVATE, OWNER, SPECIAL_INFO + UNIT_FIELD_BYTES_1 = OBJECT_END + 0x05F, // Size: 1, Flags: PUBLIC + UNIT_FIELD_PETNUMBER = OBJECT_END + 0x060, // Size: 1, Flags: PUBLIC + UNIT_FIELD_PET_NAME_TIMESTAMP = OBJECT_END + 0x061, // Size: 1, Flags: PUBLIC + UNIT_FIELD_PETEXPERIENCE = OBJECT_END + 0x062, // Size: 1, Flags: OWNER + UNIT_FIELD_PETNEXTLEVELEXP = OBJECT_END + 0x063, // Size: 1, Flags: OWNER + UNIT_MOD_CAST_SPEED = OBJECT_END + 0x064, // Size: 1, Flags: PUBLIC + UNIT_MOD_CAST_HASTE = OBJECT_END + 0x065, // Size: 1, Flags: PUBLIC + UNIT_FIELD_MOD_HASTE = OBJECT_END + 0x066, // Size: 1, Flags: PUBLIC + UNIT_FIELD_MOD_RANGED_HASTE = OBJECT_END + 0x067, // Size: 1, Flags: PUBLIC + UNIT_FIELD_MOD_HASTE_REGEN = OBJECT_END + 0x068, // Size: 1, Flags: PUBLIC + UNIT_CREATED_BY_SPELL = OBJECT_END + 0x069, // Size: 1, Flags: PUBLIC + UNIT_NPC_FLAGS = OBJECT_END + 0x06A, // Size: 2, Flags: PUBLIC, DYNAMIC + UNIT_NPC_EMOTESTATE = OBJECT_END + 0x06C, // Size: 1, Flags: PUBLIC + UNIT_FIELD_STAT = OBJECT_END + 0x06D, // Size: 5, Flags: PRIVATE, OWNER + UNIT_FIELD_POSSTAT = OBJECT_END + 0x072, // Size: 5, Flags: PRIVATE, OWNER + UNIT_FIELD_NEGSTAT = OBJECT_END + 0x077, // Size: 5, Flags: PRIVATE, OWNER + UNIT_FIELD_RESISTANCES = OBJECT_END + 0x07C, // Size: 7, Flags: PRIVATE, OWNER, SPECIAL_INFO + UNIT_FIELD_RESISTANCEBUFFMODSPOSITIVE = OBJECT_END + 0x083, // Size: 7, Flags: PRIVATE, OWNER + UNIT_FIELD_RESISTANCEBUFFMODSNEGATIVE = OBJECT_END + 0x08A, // Size: 7, Flags: PRIVATE, OWNER + UNIT_FIELD_MOD_BONUS_ARMOR = OBJECT_END + 0x091, // Size: 1, Flags: PRIVATE, OWNER + UNIT_FIELD_BASE_MANA = OBJECT_END + 0x092, // Size: 1, Flags: PUBLIC + UNIT_FIELD_BASE_HEALTH = OBJECT_END + 0x093, // Size: 1, Flags: PRIVATE, OWNER + UNIT_FIELD_BYTES_2 = OBJECT_END + 0x094, // Size: 1, Flags: PUBLIC + UNIT_FIELD_ATTACK_POWER = OBJECT_END + 0x095, // Size: 1, Flags: PRIVATE, OWNER + UNIT_FIELD_ATTACK_POWER_MOD_POS = OBJECT_END + 0x096, // Size: 1, Flags: PRIVATE, OWNER + UNIT_FIELD_ATTACK_POWER_MOD_NEG = OBJECT_END + 0x097, // Size: 1, Flags: PRIVATE, OWNER + UNIT_FIELD_ATTACK_POWER_MULTIPLIER = OBJECT_END + 0x098, // Size: 1, Flags: PRIVATE, OWNER + UNIT_FIELD_RANGED_ATTACK_POWER = OBJECT_END + 0x099, // Size: 1, Flags: PRIVATE, OWNER + UNIT_FIELD_RANGED_ATTACK_POWER_MOD_POS = OBJECT_END + 0x09A, // Size: 1, Flags: PRIVATE, OWNER + UNIT_FIELD_RANGED_ATTACK_POWER_MOD_NEG = OBJECT_END + 0x09B, // Size: 1, Flags: PRIVATE, OWNER + UNIT_FIELD_RANGED_ATTACK_POWER_MULTIPLIER = OBJECT_END + 0x09C, // Size: 1, Flags: PRIVATE, OWNER + UNIT_FIELD_MINRANGEDDAMAGE = OBJECT_END + 0x09D, // Size: 1, Flags: PRIVATE, OWNER + UNIT_FIELD_MAXRANGEDDAMAGE = OBJECT_END + 0x09E, // Size: 1, Flags: PRIVATE, OWNER + UNIT_FIELD_POWER_COST_MODIFIER = OBJECT_END + 0x09F, // Size: 7, Flags: PRIVATE, OWNER + UNIT_FIELD_POWER_COST_MULTIPLIER = OBJECT_END + 0x0A6, // Size: 7, Flags: PRIVATE, OWNER + UNIT_FIELD_MAXHEALTHMODIFIER = OBJECT_END + 0x0AD, // Size: 1, Flags: PRIVATE, OWNER + UNIT_FIELD_HOVERHEIGHT = OBJECT_END + 0x0AE, // Size: 1, Flags: PUBLIC + UNIT_FIELD_MIN_ITEM_LEVEL_CUTOFF = OBJECT_END + 0x0AF, // Size: 1, Flags: PUBLIC + UNIT_FIELD_MIN_ITEM_LEVEL = OBJECT_END + 0x0B0, // Size: 1, Flags: PUBLIC + UNIT_FIELD_MAXITEMLEVEL = OBJECT_END + 0x0B1, // Size: 1, Flags: PUBLIC + UNIT_FIELD_WILD_BATTLEPET_LEVEL = OBJECT_END + 0x0B2, // Size: 1, Flags: PUBLIC + UNIT_FIELD_BATTLEPET_COMPANION_NAME_TIMESTAMP = OBJECT_END + 0x0B3, // Size: 1, Flags: PUBLIC + UNIT_FIELD_INTERACT_SPELLID = OBJECT_END + 0x0B4, // Size: 1, Flags: PUBLIC + UNIT_FIELD_STATE_SPELL_VISUAL_ID = OBJECT_END + 0x0B5, // Size: 1, Flags: DYNAMIC, URGENT + UNIT_FIELD_STATE_ANIM_ID = OBJECT_END + 0x0B6, // Size: 1, Flags: DYNAMIC, URGENT + UNIT_FIELD_STATE_ANIM_KIT_ID = OBJECT_END + 0x0B7, // Size: 1, Flags: DYNAMIC, URGENT + UNIT_FIELD_STATE_WORLD_EFFECT_ID = OBJECT_END + 0x0B8, // Size: 4, Flags: DYNAMIC, URGENT + UNIT_FIELD_SCALE_DURATION = OBJECT_END + 0x0BC, // Size: 1, Flags: PUBLIC + UNIT_FIELD_LOOKS_LIKE_MOUNT_ID = OBJECT_END + 0x0BD, // Size: 1, Flags: PUBLIC + UNIT_FIELD_LOOKS_LIKE_CREATURE_ID = OBJECT_END + 0x0BE, // Size: 1, Flags: PUBLIC + UNIT_END = OBJECT_END + 0x0BF, +}; + +enum UnitDynamicFields +{ + UNIT_DYNAMIC_FIELD_PASSIVE_SPELLS = OBJECT_DYNAMIC_END + 0x000, // Flags: PUBLIC, URGENT + UNIT_DYNAMIC_FIELD_WORLD_EFFECTS = OBJECT_DYNAMIC_END + 0x001, // Flags: PUBLIC, URGENT + UNIT_DYNAMIC_END = OBJECT_DYNAMIC_END + 0x002, +}; + +enum PlayerFields +{ + PLAYER_DUEL_ARBITER = UNIT_END + 0x000, // Size: 4, Flags: PUBLIC + PLAYER_WOW_ACCOUNT = UNIT_END + 0x004, // Size: 4, Flags: PUBLIC + PLAYER_LOOT_TARGET_GUID = UNIT_END + 0x008, // Size: 4, Flags: PUBLIC + PLAYER_FLAGS = UNIT_END + 0x00C, // Size: 1, Flags: PUBLIC + PLAYER_FLAGS_EX = UNIT_END + 0x00D, // Size: 1, Flags: PUBLIC + PLAYER_GUILDRANK = UNIT_END + 0x00E, // Size: 1, Flags: PUBLIC + PLAYER_GUILDDELETE_DATE = UNIT_END + 0x00F, // Size: 1, Flags: PUBLIC + PLAYER_GUILDLEVEL = UNIT_END + 0x010, // Size: 1, Flags: PUBLIC + 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: 57, Flags: PUBLIC + PLAYER_CHOSEN_TITLE = UNIT_END + 0x33D, // Size: 1, Flags: PUBLIC + PLAYER_FAKE_INEBRIATION = UNIT_END + 0x33E, // Size: 1, Flags: PUBLIC + PLAYER_FIELD_VIRTUAL_PLAYER_REALM = UNIT_END + 0x33F, // Size: 1, Flags: PUBLIC + PLAYER_FIELD_CURRENT_SPEC_ID = UNIT_END + 0x340, // Size: 1, Flags: PUBLIC + PLAYER_FIELD_TAXI_MOUNT_ANIM_KIT_ID = UNIT_END + 0x341, // Size: 1, Flags: PUBLIC + PLAYER_FIELD_AVG_ITEM_LEVEL_TOTAL = UNIT_END + 0x342, // Size: 1, Flags: PUBLIC + PLAYER_FIELD_AVG_ITEM_LEVEL_EQUIPPED = UNIT_END + 0x343, // Size: 1, Flags: PUBLIC + PLAYER_FIELD_CURRENT_BATTLE_PET_BREED_QUALITY = UNIT_END + 0x344, // Size: 1, Flags: PUBLIC + PLAYER_END_NOT_SELF = UNIT_END + 0x345, + + PLAYER_FIELD_INV_SLOT_HEAD = UNIT_END + 0x345, // Size: 736, Flags: PRIVATE + PLAYER_FARSIGHT = UNIT_END + 0x625, // Size: 4, Flags: PRIVATE + PLAYER__FIELD_KNOWN_TITLES = UNIT_END + 0x629, // Size: 10, 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: 7, Flags: PRIVATE + PLAYER_SHIELD_BLOCK = UNIT_END + 0x80C, // Size: 1, Flags: PRIVATE + PLAYER_SHIELD_BLOCK_CRIT_PERCENTAGE = UNIT_END + 0x80D, // Size: 1, Flags: PRIVATE + PLAYER_MASTERY = UNIT_END + 0x80E, // Size: 1, Flags: PRIVATE + PLAYER_AMPLIFY = UNIT_END + 0x80F, // Size: 1, Flags: PRIVATE + PLAYER_MULTISTRIKE = UNIT_END + 0x810, // Size: 1, Flags: PRIVATE + PLAYER_MULTISTRIKE_EFFECT = UNIT_END + 0x811, // Size: 1, Flags: PRIVATE + PLAYER_READINESS = UNIT_END + 0x812, // Size: 1, Flags: PRIVATE + PLAYER_SPEED = UNIT_END + 0x813, // Size: 1, Flags: PRIVATE + PLAYER_LIFESTEAL = UNIT_END + 0x814, // Size: 1, Flags: PRIVATE + PLAYER_AVOIDANCE = UNIT_END + 0x815, // Size: 1, Flags: PRIVATE + PLAYER_STURDINESS = UNIT_END + 0x816, // Size: 1, Flags: PRIVATE + PLAYER_CLEAVE = UNIT_END + 0x817, // Size: 1, Flags: PRIVATE + PLAYER_VERSATILITY = UNIT_END + 0x818, // Size: 1, Flags: PRIVATE + PLAYER_VERSATILITY_BONUS = UNIT_END + 0x819, // Size: 1, Flags: PRIVATE + PLAYER_FIELD_PVP_POWER_DAMAGE = UNIT_END + 0x81A, // Size: 1, Flags: PRIVATE + PLAYER_FIELD_PVP_POWER_HEALING = UNIT_END + 0x81B, // Size: 1, Flags: PRIVATE + PLAYER_EXPLORED_ZONES_1 = UNIT_END + 0x81C, // Size: 200, Flags: PRIVATE + PLAYER_REST_STATE_EXPERIENCE = UNIT_END + 0x8E4, // Size: 1, Flags: PRIVATE + PLAYER_FIELD_MOD_DAMAGE_DONE_POS = UNIT_END + 0x8E5, // Size: 7, Flags: PRIVATE + PLAYER_FIELD_MOD_DAMAGE_DONE_NEG = UNIT_END + 0x8EC, // Size: 7, Flags: PRIVATE + PLAYER_FIELD_MOD_DAMAGE_DONE_PCT = UNIT_END + 0x8F3, // Size: 7, Flags: PRIVATE + PLAYER_FIELD_MOD_HEALING_DONE_POS = UNIT_END + 0x8FA, // Size: 1, Flags: PRIVATE + PLAYER_FIELD_MOD_HEALING_PCT = UNIT_END + 0x8FB, // Size: 1, Flags: PRIVATE + PLAYER_FIELD_MOD_HEALING_DONE_PCT = UNIT_END + 0x8FC, // Size: 1, Flags: PRIVATE + PLAYER_FIELD_MOD_PERIODIC_HEALING_DONE_PERCENT = UNIT_END + 0x8FD, // Size: 1, Flags: PRIVATE + PLAYER_FIELD_WEAPON_DMG_MULTIPLIERS = UNIT_END + 0x8FE, // Size: 3, Flags: PRIVATE + PLAYER_FIELD_WEAPON_ATK_SPEED_MULTIPLIERS = UNIT_END + 0x901, // Size: 3, Flags: PRIVATE + PLAYER_FIELD_MOD_SPELL_POWER_PCT = UNIT_END + 0x904, // Size: 1, Flags: PRIVATE + PLAYER_FIELD_MOD_RESILIENCE_PERCENT = UNIT_END + 0x905, // Size: 1, Flags: PRIVATE + PLAYER_FIELD_OVERRIDE_SPELL_POWER_BY_AP_PCT = UNIT_END + 0x906, // Size: 1, Flags: PRIVATE + PLAYER_FIELD_OVERRIDE_AP_BY_SPELL_POWER_PERCENT = UNIT_END + 0x907, // Size: 1, Flags: PRIVATE + PLAYER_FIELD_MOD_TARGET_RESISTANCE = UNIT_END + 0x908, // Size: 1, Flags: PRIVATE + PLAYER_FIELD_MOD_TARGET_PHYSICAL_RESISTANCE = UNIT_END + 0x909, // Size: 1, Flags: PRIVATE + PLAYER_FIELD_LOCAL_FLAGS = UNIT_END + 0x90A, // Size: 1, Flags: PRIVATE + PLAYER_FIELD_BYTES = UNIT_END + 0x90B, // Size: 1, Flags: PRIVATE + PLAYER_SELF_RES_SPELL = UNIT_END + 0x90C, // Size: 1, Flags: PRIVATE + PLAYER_FIELD_PVP_MEDALS = UNIT_END + 0x90D, // Size: 1, Flags: PRIVATE + PLAYER_FIELD_BUYBACK_PRICE_1 = UNIT_END + 0x90E, // Size: 12, Flags: PRIVATE + PLAYER_FIELD_BUYBACK_TIMESTAMP_1 = UNIT_END + 0x91A, // Size: 12, Flags: PRIVATE + PLAYER_FIELD_KILLS = UNIT_END + 0x926, // Size: 1, Flags: PRIVATE + PLAYER_FIELD_LIFETIME_HONORABLE_KILLS = UNIT_END + 0x927, // Size: 1, Flags: PRIVATE + PLAYER_FIELD_WATCHED_FACTION_INDEX = UNIT_END + 0x928, // Size: 1, Flags: PRIVATE + PLAYER_FIELD_COMBAT_RATING_1 = UNIT_END + 0x929, // Size: 32, Flags: PRIVATE + PLAYER_FIELD_ARENA_TEAM_INFO_1_1 = UNIT_END + 0x949, // Size: 36, Flags: PRIVATE + PLAYER_FIELD_MAX_LEVEL = UNIT_END + 0x96D, // Size: 1, Flags: PRIVATE + PLAYER_RUNE_REGEN_1 = UNIT_END + 0x96E, // Size: 4, Flags: PRIVATE + PLAYER_NO_REAGENT_COST_1 = UNIT_END + 0x972, // Size: 4, Flags: PRIVATE + PLAYER_FIELD_GLYPH_SLOTS_1 = UNIT_END + 0x976, // Size: 6, Flags: PRIVATE + PLAYER_FIELD_GLYPHS_1 = UNIT_END + 0x97C, // Size: 6, Flags: PRIVATE + PLAYER_GLYPHS_ENABLED = UNIT_END + 0x982, // Size: 1, Flags: PRIVATE + PLAYER_PET_SPELL_POWER = UNIT_END + 0x983, // Size: 1, Flags: PRIVATE + PLAYER_FIELD_RESEARCHING_1 = UNIT_END + 0x984, // Size: 10, Flags: PRIVATE + PLAYER_PROFESSION_SKILL_LINE_1 = UNIT_END + 0x98E, // Size: 2, Flags: PRIVATE + PLAYER_FIELD_UI_HIT_MODIFIER = UNIT_END + 0x990, // Size: 1, Flags: PRIVATE + PLAYER_FIELD_UI_SPELL_HIT_MODIFIER = UNIT_END + 0x991, // Size: 1, Flags: PRIVATE + PLAYER_FIELD_HOME_REALM_TIME_OFFSET = UNIT_END + 0x992, // Size: 1, Flags: PRIVATE + PLAYER_FIELD_MOD_PET_HASTE = UNIT_END + 0x993, // Size: 1, Flags: PRIVATE + PLAYER_FIELD_SUMMONED_BATTLE_PET_ID = UNIT_END + 0x994, // Size: 4, Flags: PRIVATE + PLAYER_FIELD_BYTES2 = UNIT_END + 0x998, // Size: 1, Flags: PRIVATE, URGENT_SELF_ONLY + PLAYER_FIELD_LFG_BONUS_FACTION_ID = UNIT_END + 0x999, // Size: 1, Flags: PRIVATE + PLAYER_FIELD_LOOT_SPEC_ID = UNIT_END + 0x99A, // Size: 1, Flags: PRIVATE + PLAYER_FIELD_OVERRIDE_ZONE_PVP_TYPE = UNIT_END + 0x99B, // Size: 1, Flags: PRIVATE, URGENT_SELF_ONLY + PLAYER_FIELD_ITEM_LEVEL_DELTA = UNIT_END + 0x99C, // Size: 1, Flags: PRIVATE + PLAYER_FIELD_BAG_SLOT_FLAGS = UNIT_END + 0x99D, // Size: 4, Flags: PRIVATE + PLAYER_FIELD_BANK_BAG_SLOT_FLAGS = UNIT_END + 0x9A1, // Size: 7, Flags: PRIVATE + PLAYER_FIELD_INSERT_ITEMS_LEFT_TO_RIGHT = UNIT_END + 0x9A8, // Size: 1, Flags: PRIVATE + PLAYER_END = UNIT_END + 0x9A9, +}; + +enum PlayerDynamicFields +{ + PLAYER_DYNAMIC_FIELD_RESERACH_SITE = UNIT_DYNAMIC_END + 0x000, // Flags: PRIVATE + PLAYER_DYNAMIC_FIELD_RESEARCH_SITE_PROGRESS = UNIT_DYNAMIC_END + 0x001, // Flags: PRIVATE + PLAYER_DYNAMIC_FIELD_DAILY_QUESTS = UNIT_DYNAMIC_END + 0x002, // Flags: PRIVATE + PLAYER_DYNAMIC_FIELD_AVAILABLE_QUEST_LINE_X_QUEST_ID = UNIT_DYNAMIC_END + 0x003, // Flags: PRIVATE + PLAYER_DYNAMIC_FIELD_HEIRLOOMS = UNIT_DYNAMIC_END + 0x004, // Flags: PRIVATE + PLAYER_DYNAMIC_FIELD_TOYS = UNIT_DYNAMIC_END + 0x005, // Flags: PRIVATE + PLAYER_DYNAMIC_END = UNIT_DYNAMIC_END + 0x006, +}; + +enum GameObjectFields +{ + GAMEOBJECT_FIELD_CREATED_BY = OBJECT_END + 0x000, // Size: 4, Flags: PUBLIC + GAMEOBJECT_DISPLAYID = OBJECT_END + 0x004, // Size: 1, Flags: DYNAMIC, URGENT + GAMEOBJECT_FLAGS = OBJECT_END + 0x005, // Size: 1, Flags: PUBLIC, URGENT + GAMEOBJECT_PARENTROTATION = OBJECT_END + 0x006, // Size: 4, Flags: PUBLIC + GAMEOBJECT_FACTION = OBJECT_END + 0x00A, // Size: 1, Flags: PUBLIC + GAMEOBJECT_LEVEL = OBJECT_END + 0x00B, // Size: 1, Flags: PUBLIC + GAMEOBJECT_BYTES_1 = OBJECT_END + 0x00C, // Size: 1, Flags: PUBLIC, URGENT + GAMEOBJECT_SPELL_VISUAL_ID = OBJECT_END + 0x00D, // Size: 1, Flags: PUBLIC, URGENT + GAMEOBJECT_STATE_SPELL_VISUAL_ID = OBJECT_END + 0x00E, // Size: 1, Flags: DYNAMIC, URGENT + GAMEOBJECT_STATE_ANIM_ID = OBJECT_END + 0x00F, // Size: 1, Flags: DYNAMIC, URGENT + GAMEOBJECT_STATE_ANIM_KIT_ID = OBJECT_END + 0x010, // Size: 1, Flags: DYNAMIC, URGENT + GAMEOBJECT_STATE_WORLD_EFFECT_ID = OBJECT_END + 0x011, // Size: 4, Flags: DYNAMIC, URGENT + GAMEOBJECT_END = OBJECT_END + 0x015, +}; - PLAYER_FIELD_INV_SLOT_HEAD = UNIT_END + 0x012E, // Size: 46, Type: LONG, Flags: PRIVATE - PLAYER_FIELD_PACK_SLOT_1 = UNIT_END + 0x015C, // Size: 32, Type: LONG, Flags: PRIVATE - PLAYER_FIELD_BANK_SLOT_1 = UNIT_END + 0x017C, // Size: 56, Type: LONG, Flags: PRIVATE - PLAYER_FIELD_BANKBAG_SLOT_1 = UNIT_END + 0x01B4, // Size: 14, Type: LONG, Flags: PRIVATE - PLAYER_FIELD_VENDORBUYBACK_SLOT_1 = UNIT_END + 0x01C2, // Size: 24, Type: LONG, Flags: PRIVATE - PLAYER_FARSIGHT = UNIT_END + 0x01DA, // Size: 2, Type: LONG, Flags: PRIVATE - PLAYER__FIELD_KNOWN_TITLES = UNIT_END + 0x01DC, // Size: 2, Type: LONG, Flags: PRIVATE - PLAYER__FIELD_KNOWN_TITLES1 = UNIT_END + 0x01DE, // Size: 2, Type: LONG, Flags: PRIVATE - PLAYER__FIELD_KNOWN_TITLES2 = UNIT_END + 0x01E0, // Size: 2, Type: LONG, Flags: PRIVATE - PLAYER__FIELD_KNOWN_TITLES3 = UNIT_END + 0x01E2, // Size: 2, Type: LONG, Flags: PRIVATE - PLAYER_XP = UNIT_END + 0x01E4, // Size: 1, Type: INT, Flags: PRIVATE - PLAYER_NEXT_LEVEL_XP = UNIT_END + 0x01E5, // Size: 1, Type: INT, Flags: PRIVATE - PLAYER_SKILL_LINEID_0 = UNIT_END + 0x01E6, // Size: 64, Type: TWO_SHORT, Flags: PRIVATE - PLAYER_SKILL_STEP_0 = UNIT_END + 0x0226, // Size: 64, Type: TWO_SHORT, Flags: PRIVATE - PLAYER_SKILL_RANK_0 = UNIT_END + 0x0266, // Size: 64, Type: TWO_SHORT, Flags: PRIVATE - PLAYER_SKILL_MAX_RANK_0 = UNIT_END + 0x02A6, // Size: 64, Type: TWO_SHORT, Flags: PRIVATE - PLAYER_SKILL_MODIFIER_0 = UNIT_END + 0x02E6, // Size: 64, Type: TWO_SHORT, Flags: PRIVATE - PLAYER_SKILL_TALENT_0 = UNIT_END + 0x0326, // Size: 64, Type: TWO_SHORT, Flags: PRIVATE - PLAYER_CHARACTER_POINTS = UNIT_END + 0x0366, // Size: 1, Type: INT, Flags: PRIVATE - PLAYER_TRACK_CREATURES = UNIT_END + 0x0367, // Size: 1, Type: INT, Flags: PRIVATE - PLAYER_TRACK_RESOURCES = UNIT_END + 0x0368, // Size: 1, Type: INT, Flags: PRIVATE - PLAYER_EXPERTISE = UNIT_END + 0x0369, // Size: 1, Type: INT, Flags: PRIVATE - PLAYER_OFFHAND_EXPERTISE = UNIT_END + 0x036A, // Size: 1, Type: INT, Flags: PRIVATE - PLAYER_BLOCK_PERCENTAGE = UNIT_END + 0x036B, // Size: 1, Type: FLOAT, Flags: PRIVATE - PLAYER_DODGE_PERCENTAGE = UNIT_END + 0x036C, // Size: 1, Type: FLOAT, Flags: PRIVATE - PLAYER_PARRY_PERCENTAGE = UNIT_END + 0x036D, // Size: 1, Type: FLOAT, Flags: PRIVATE - PLAYER_CRIT_PERCENTAGE = UNIT_END + 0x036E, // Size: 1, Type: FLOAT, Flags: PRIVATE - PLAYER_RANGED_CRIT_PERCENTAGE = UNIT_END + 0x036F, // Size: 1, Type: FLOAT, Flags: PRIVATE - PLAYER_OFFHAND_CRIT_PERCENTAGE = UNIT_END + 0x0370, // Size: 1, Type: FLOAT, Flags: PRIVATE - PLAYER_SPELL_CRIT_PERCENTAGE1 = UNIT_END + 0x0371, // Size: 7, Type: FLOAT, Flags: PRIVATE - PLAYER_SHIELD_BLOCK = UNIT_END + 0x0378, // Size: 1, Type: INT, Flags: PRIVATE - PLAYER_SHIELD_BLOCK_CRIT_PERCENTAGE = UNIT_END + 0x0379, // Size: 1, Type: FLOAT, Flags: PRIVATE - PLAYER_MASTERY = UNIT_END + 0x037A, // Size: 1, Type: FLOAT, Flags: PRIVATE - PLAYER_EXPLORED_ZONES_1 = UNIT_END + 0x037B, // Size: 156, Type: BYTES, Flags: PRIVATE - PLAYER_REST_STATE_EXPERIENCE = UNIT_END + 0x0417, // Size: 1, Type: INT, Flags: PRIVATE - PLAYER_FIELD_COINAGE = UNIT_END + 0x0418, // Size: 2, Type: LONG, Flags: PRIVATE - PLAYER_FIELD_MOD_DAMAGE_DONE_POS = UNIT_END + 0x041A, // Size: 7, Type: INT, Flags: PRIVATE - PLAYER_FIELD_MOD_DAMAGE_DONE_NEG = UNIT_END + 0x0421, // Size: 7, Type: INT, Flags: PRIVATE - PLAYER_FIELD_MOD_DAMAGE_DONE_PCT = UNIT_END + 0x0428, // Size: 7, Type: INT, Flags: PRIVATE - PLAYER_FIELD_MOD_HEALING_DONE_POS = UNIT_END + 0x042F, // Size: 1, Type: INT, Flags: PRIVATE - PLAYER_FIELD_MOD_HEALING_PCT = UNIT_END + 0x0430, // Size: 1, Type: FLOAT, Flags: PRIVATE - PLAYER_FIELD_MOD_HEALING_DONE_PCT = UNIT_END + 0x0431, // Size: 1, Type: FLOAT, Flags: PRIVATE - PLAYER_FIELD_WEAPON_DMG_MULTIPLIERS = UNIT_END + 0x0432, // Size: 3, Type: FLOAT, Flags: PRIVATE - PLAYER_FIELD_MOD_SPELL_POWER_PCT = UNIT_END + 0x0435, // Size: 1, Type: FLOAT, Flags: PRIVATE - PLAYER_FIELD_OVERRIDE_SPELL_POWER_BY_AP_PCT = UNIT_END + 0x0436, // Size: 1, Type: FLOAT, Flags: PRIVATE - PLAYER_FIELD_MOD_TARGET_RESISTANCE = UNIT_END + 0x0437, // Size: 1, Type: INT, Flags: PRIVATE - PLAYER_FIELD_MOD_TARGET_PHYSICAL_RESISTANCE = UNIT_END + 0x0438, // Size: 1, Type: INT, Flags: PRIVATE - PLAYER_FIELD_BYTES = UNIT_END + 0x0439, // Size: 1, Type: BYTES, Flags: PRIVATE - PLAYER_SELF_RES_SPELL = UNIT_END + 0x043A, // Size: 1, Type: INT, Flags: PRIVATE - PLAYER_FIELD_PVP_MEDALS = UNIT_END + 0x043B, // Size: 1, Type: INT, Flags: PRIVATE - PLAYER_FIELD_BUYBACK_PRICE_1 = UNIT_END + 0x043C, // Size: 12, Type: INT, Flags: PRIVATE - PLAYER_FIELD_BUYBACK_TIMESTAMP_1 = UNIT_END + 0x0448, // Size: 12, Type: INT, Flags: PRIVATE - PLAYER_FIELD_KILLS = UNIT_END + 0x0454, // Size: 1, Type: TWO_SHORT, Flags: PRIVATE - PLAYER_FIELD_LIFETIME_HONORABLE_KILLS = UNIT_END + 0x0455, // Size: 1, Type: INT, Flags: PRIVATE - PLAYER_FIELD_BYTES2 = UNIT_END + 0x0456, // Size: 1, Type: 6, Flags: PRIVATE - PLAYER_FIELD_WATCHED_FACTION_INDEX = UNIT_END + 0x0457, // Size: 1, Type: INT, Flags: PRIVATE - PLAYER_FIELD_COMBAT_RATING_1 = UNIT_END + 0x0458, // Size: 26, Type: INT, Flags: PRIVATE - PLAYER_FIELD_ARENA_TEAM_INFO_1_1 = UNIT_END + 0x0472, // Size: 21, Type: INT, Flags: PRIVATE - PLAYER_FIELD_BATTLEGROUND_RATING = UNIT_END + 0x0487, // Size: 1, Type: INT, Flags: PRIVATE - PLAYER_FIELD_MAX_LEVEL = UNIT_END + 0x0488, // Size: 1, Type: INT, Flags: PRIVATE - PLAYER_FIELD_DAILY_QUESTS_1 = UNIT_END + 0x0489, // Size: 25, Type: INT, Flags: PRIVATE - PLAYER_RUNE_REGEN_1 = UNIT_END + 0x04A2, // Size: 4, Type: FLOAT, Flags: PRIVATE - PLAYER_NO_REAGENT_COST_1 = UNIT_END + 0x04A6, // Size: 3, Type: INT, Flags: PRIVATE - PLAYER_FIELD_GLYPH_SLOTS_1 = UNIT_END + 0x04A9, // Size: 9, Type: INT, Flags: PRIVATE - PLAYER_FIELD_GLYPHS_1 = UNIT_END + 0x04B2, // Size: 9, Type: INT, Flags: PRIVATE - PLAYER_GLYPHS_ENABLED = UNIT_END + 0x04BB, // Size: 1, Type: INT, Flags: PRIVATE - PLAYER_PET_SPELL_POWER = UNIT_END + 0x04BC, // Size: 1, Type: INT, Flags: PRIVATE - PLAYER_FIELD_RESEARCHING_1 = UNIT_END + 0x04BD, // Size: 8, Type: TWO_SHORT, Flags: PRIVATE - PLAYER_FIELD_RESERACH_SITE_1 = UNIT_END + 0x04C5, // Size: 8, Type: TWO_SHORT, Flags: PRIVATE - PLAYER_PROFESSION_SKILL_LINE_1 = UNIT_END + 0x04CD, // Size: 2, Type: INT, Flags: PRIVATE - PLAYER_FIELD_UI_HIT_MODIFIER = UNIT_END + 0x04CF, // Size: 1, Type: FLOAT, Flags: PRIVATE - PLAYER_FIELD_UI_SPELL_HIT_MODIFIER = UNIT_END + 0x04D0, // Size: 1, Type: FLOAT, Flags: PRIVATE - PLAYER_FIELD_HOME_REALM_TIME_OFFSET = UNIT_END + 0x04D1, // Size: 1, Type: INT, Flags: PRIVATE - PLAYER_FIELD_MOD_HASTE = UNIT_END + 0x04D2, // Size: 1, Type: FLOAT, Flags: PRIVATE - PLAYER_FIELD_MOD_RANGED_HASTE = UNIT_END + 0x04D3, // Size: 1, Type: FLOAT, Flags: PRIVATE - PLAYER_FIELD_MOD_PET_HASTE = UNIT_END + 0x04D4, // Size: 1, Type: FLOAT, Flags: PRIVATE - PLAYER_FIELD_MOD_HASTE_REGEN = UNIT_END + 0x04D5, // Size: 1, Type: FLOAT, Flags: PRIVATE - PLAYER_END = UNIT_END + 0x04D6 +enum GameObjectDynamicFields +{ + GAMEOBJECT_DYNAMIC_END = OBJECT_DYNAMIC_END + 0x000, +}; + +enum DynamicObjectFields +{ + DYNAMICOBJECT_CASTER = OBJECT_END + 0x000, // Size: 4, Flags: PUBLIC + DYNAMICOBJECT_BYTES = OBJECT_END + 0x004, // Size: 1, Flags: DYNAMIC + DYNAMICOBJECT_SPELLID = OBJECT_END + 0x005, // Size: 1, Flags: PUBLIC + DYNAMICOBJECT_RADIUS = OBJECT_END + 0x006, // Size: 1, Flags: PUBLIC + DYNAMICOBJECT_CASTTIME = OBJECT_END + 0x007, // Size: 1, Flags: PUBLIC + DYNAMICOBJECT_END = OBJECT_END + 0x008, +}; + +enum DynamicObjectDynamicFields +{ + DYNAMICOBJECT_DYNAMIC_END = OBJECT_DYNAMIC_END + 0x000, +}; + +enum CorpseFields +{ + CORPSE_FIELD_OWNER = OBJECT_END + 0x000, // Size: 4, Flags: PUBLIC + CORPSE_FIELD_PARTY = OBJECT_END + 0x004, // Size: 4, Flags: PUBLIC + CORPSE_FIELD_DISPLAY_ID = OBJECT_END + 0x008, // Size: 1, Flags: PUBLIC + CORPSE_FIELD_ITEM = OBJECT_END + 0x009, // Size: 19, Flags: PUBLIC + CORPSE_FIELD_BYTES_1 = OBJECT_END + 0x01C, // Size: 1, Flags: PUBLIC + CORPSE_FIELD_BYTES_2 = OBJECT_END + 0x01D, // Size: 1, Flags: PUBLIC + 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, +}; + +enum CorpseDynamicFields +{ + CORPSE_DYNAMIC_END = OBJECT_DYNAMIC_END + 0x000, +}; + +enum AreaTriggerFields +{ + AREATRIGGER_CASTER = OBJECT_END + 0x000, // Size: 4, Flags: PUBLIC + AREATRIGGER_DURATION = OBJECT_END + 0x004, // Size: 1, Flags: PUBLIC + AREATRIGGER_SPELLID = OBJECT_END + 0x005, // Size: 1, Flags: PUBLIC + AREATRIGGER_SPELLVISUALID = OBJECT_END + 0x006, // Size: 1, Flags: DYNAMIC + AREATRIGGER_EXPLICIT_SCALE = OBJECT_END + 0x007, // Size: 1, Flags: PUBLIC, URGENT + AREATRIGGER_END = OBJECT_END + 0x008, +}; + +enum AreaTriggerDynamicFields +{ + AREATRIGGER_DYNAMIC_END = OBJECT_DYNAMIC_END + 0x000, }; -enum EGameObjectFields +enum SceneObjectFields { - OBJECT_FIELD_CREATED_BY = OBJECT_END + 0x0000, // Size: 2, Type: LONG, Flags: PUBLIC - GAMEOBJECT_DISPLAYID = OBJECT_END + 0x0002, // Size: 1, Type: INT, Flags: PUBLIC - GAMEOBJECT_FLAGS = OBJECT_END + 0x0003, // Size: 1, Type: INT, Flags: PUBLIC - GAMEOBJECT_PARENTROTATION = OBJECT_END + 0x0004, // Size: 4, Type: FLOAT, Flags: PUBLIC - GAMEOBJECT_DYNAMIC = OBJECT_END + 0x0008, // Size: 1, Type: TWO_SHORT, Flags: DYNAMIC - GAMEOBJECT_FACTION = OBJECT_END + 0x0009, // Size: 1, Type: INT, Flags: PUBLIC - GAMEOBJECT_LEVEL = OBJECT_END + 0x000A, // Size: 1, Type: INT, Flags: PUBLIC - GAMEOBJECT_BYTES_1 = OBJECT_END + 0x000B, // Size: 1, Type: BYTES, Flags: PUBLIC - GAMEOBJECT_END = OBJECT_END + 0x000C + SCENEOBJECT_FIELD_SCRIPT_PACKAGE_ID = OBJECT_END + 0x000, // Size: 1, Flags: PUBLIC + SCENEOBJECT_FIELD_RND_SEED_VAL = OBJECT_END + 0x001, // Size: 1, Flags: PUBLIC + SCENEOBJECT_FIELD_CREATEDBY = OBJECT_END + 0x002, // Size: 4, Flags: PUBLIC + SCENEOBJECT_FIELD_SCENE_TYPE = OBJECT_END + 0x006, // Size: 1, Flags: PUBLIC + SCENEOBJECT_END = OBJECT_END + 0x007, }; -enum EDynamicObjectFields +enum SceneObjectDynamicFields { - DYNAMICOBJECT_CASTER = OBJECT_END + 0x0000, // Size: 2, Type: LONG, Flags: PUBLIC - DYNAMICOBJECT_BYTES = OBJECT_END + 0x0002, // Size: 1, Type: INT, Flags: DYNAMIC - DYNAMICOBJECT_SPELLID = OBJECT_END + 0x0003, // Size: 1, Type: INT, Flags: PUBLIC - DYNAMICOBJECT_RADIUS = OBJECT_END + 0x0004, // Size: 1, Type: FLOAT, Flags: PUBLIC - DYNAMICOBJECT_CASTTIME = OBJECT_END + 0x0005, // Size: 1, Type: INT, Flags: PUBLIC - DYNAMICOBJECT_END = OBJECT_END + 0x0006 + SCENEOBJECT_DYNAMIC_END = OBJECT_DYNAMIC_END + 0x000, }; -enum ECorpseFields +enum ConversationField { - CORPSE_FIELD_OWNER = OBJECT_END + 0x0000, // Size: 2, Type: LONG, Flags: PUBLIC - CORPSE_FIELD_PARTY = OBJECT_END + 0x0002, // Size: 2, Type: LONG, Flags: PUBLIC - CORPSE_FIELD_DISPLAY_ID = OBJECT_END + 0x0004, // Size: 1, Type: INT, Flags: PUBLIC - CORPSE_FIELD_ITEM = OBJECT_END + 0x0005, // Size: 19, Type: INT, Flags: PUBLIC - CORPSE_FIELD_BYTES_1 = OBJECT_END + 0x0018, // Size: 1, Type: BYTES, Flags: PUBLIC - CORPSE_FIELD_BYTES_2 = OBJECT_END + 0x0019, // Size: 1, Type: BYTES, Flags: PUBLIC - CORPSE_FIELD_FLAGS = OBJECT_END + 0x001A, // Size: 1, Type: INT, Flags: PUBLIC - CORPSE_FIELD_DYNAMIC_FLAGS = OBJECT_END + 0x001B, // Size: 1, Type: INT, Flags: DYNAMIC - CORPSE_END = OBJECT_END + 0x001C + CONVERSATION_FIELD_DUMMY = OBJECT_END + 0x000, // Size: 1, Flags: PRIVATE + CONVERSATION_END = OBJECT_END + 0x001, }; -enum EAreaTriggerFields +enum ConversationDynamicField { - AREATRIGGER_SPELLID = OBJECT_END + 0x0000, // Size: 1, Type: INT, Flags: PUBLIC - AREATRIGGER_SPELLVISUALID = OBJECT_END + 0x0001, // Size: 1, Type: INT, Flags: PUBLIC - AREATRIGGER_DURATION = OBJECT_END + 0x0002, // Size: 1, Type: INT, Flags: PUBLIC - AREATRIGGER_FINAL_POS = OBJECT_END + 0x0003, // Size: 3, Type: FLOAT, Flags: PUBLIC - AREATRIGGER_END = OBJECT_END + 0x0006 + CONVERSATION_DYNAMIC_FIELD_ACTORS = OBJECT_DYNAMIC_END + 0x000, // Flags: PUBLIC + CONVERSATION_DYNAMIC_FIELD_LINES = OBJECT_DYNAMIC_END + 0x001, // Flags: 0x100 + CONVERSATION_DYNAMIC_END = OBJECT_DYNAMIC_END + 0x002, }; #endif // _UPDATEFIELDS_H diff --git a/src/server/game/Entities/Object/Updates/UpdateMask.h b/src/server/game/Entities/Object/Updates/UpdateMask.h index 3c5708fb117..dc2f82172b3 100644 --- a/src/server/game/Entities/Object/Updates/UpdateMask.h +++ b/src/server/game/Entities/Object/Updates/UpdateMask.h @@ -71,10 +71,31 @@ class UpdateMask _fieldCount = valuesCount; _blockCount = (valuesCount + CLIENT_UPDATE_MASK_BITS - 1) / CLIENT_UPDATE_MASK_BITS; + if (!valuesCount) + { + _bits = nullptr; + return; + } + _bits = new uint8[_blockCount * CLIENT_UPDATE_MASK_BITS]; memset(_bits, 0, sizeof(uint8) * _blockCount * CLIENT_UPDATE_MASK_BITS); } + void AddBlock() + { + uint8* curr = _bits; + _fieldCount += CLIENT_UPDATE_MASK_BITS; + ++_blockCount; + + _bits = new uint8[_blockCount * CLIENT_UPDATE_MASK_BITS]; + memset(&_bits[(_blockCount - 1) * CLIENT_UPDATE_MASK_BITS], 0, CLIENT_UPDATE_MASK_BITS); + if (curr) + { + memcpy(_bits, curr, sizeof(uint8) * (_blockCount - 1) * CLIENT_UPDATE_MASK_BITS); + delete[] curr; + } + } + void Clear() { if (_bits) diff --git a/src/server/game/Entities/Pet/Pet.cpp b/src/server/game/Entities/Pet/Pet.cpp index 8af74d318b7..dbabab3bbe5 100644 --- a/src/server/game/Entities/Pet/Pet.cpp +++ b/src/server/game/Entities/Pet/Pet.cpp @@ -520,7 +520,7 @@ void Pet::setDeathState(DeathState s) // overwrite virtual if (getPetType() == HUNTER_PET) { // pet corpse non lootable and non skinnable - SetUInt32Value(UNIT_DYNAMIC_FLAGS, UNIT_DYNFLAG_NONE); + SetUInt32Value(OBJECT_DYNAMIC_FLAGS, UNIT_DYNFLAG_NONE); RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_SKINNABLE); //SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_STUNNED); diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp index 26e314d13e5..2cf407adc77 100644 --- a/src/server/game/Entities/Player/Player.cpp +++ b/src/server/game/Entities/Player/Player.cpp @@ -686,6 +686,7 @@ Player::Player(WorldSession* session): Unit(true) m_objectTypeId = TYPEID_PLAYER; m_valuesCount = PLAYER_END; + _dynamicValuesCount = PLAYER_DYNAMIC_END; m_session = session; @@ -1044,7 +1045,7 @@ bool Player::Create(ObjectGuid::LowType guidlow, CharacterCreateInfo* createInfo SetByteValue(PLAYER_BYTES_3, 0, createInfo->Gender); SetByteValue(PLAYER_BYTES_3, 3, 0); // BattlefieldArenaFaction (0 or 1) - SetUInt64Value(OBJECT_FIELD_DATA, 0); + SetGuidValue(OBJECT_FIELD_DATA, ObjectGuid::Empty); SetUInt32Value(PLAYER_GUILDRANK, 0); SetGuildLevel(0); SetUInt32Value(PLAYER_GUILD_TIMESTAMP, 0); @@ -2582,8 +2583,8 @@ void Player::Regenerate(Powers power) float addvalue = 0.0f; // Powers now benefit from haste. - float rangedHaste = GetFloatValue(PLAYER_FIELD_MOD_RANGED_HASTE); - float meleeHaste = GetFloatValue(PLAYER_FIELD_MOD_HASTE); + float rangedHaste = GetFloatValue(UNIT_FIELD_MOD_RANGED_HASTE); + float meleeHaste = GetFloatValue(UNIT_FIELD_MOD_HASTE); float spellHaste = GetFloatValue(UNIT_MOD_CAST_SPEED); switch (power) @@ -2694,7 +2695,7 @@ void Player::Regenerate(Powers power) if (m_regenTimerCount >= 2000) SetPower(power, curValue); else - UpdateUInt32Value(UNIT_FIELD_POWER1 + powerIndex, curValue); + UpdateUInt32Value(UNIT_FIELD_POWER + powerIndex, curValue); } void Player::RegenerateHealth() @@ -3233,8 +3234,8 @@ void Player::InitStatsForLevel(bool reapplyMods) // set default cast time multiplier SetFloatValue(UNIT_MOD_CAST_SPEED, 1.0f); SetFloatValue(UNIT_MOD_CAST_HASTE, 1.0f); - SetFloatValue(PLAYER_FIELD_MOD_HASTE, 1.0f); - SetFloatValue(PLAYER_FIELD_MOD_RANGED_HASTE, 1.0f); + SetFloatValue(UNIT_FIELD_MOD_HASTE, 1.0f); + SetFloatValue(UNIT_FIELD_MOD_RANGED_HASTE, 1.0f); // reset size before reapply auras SetObjectScale(1.0f); @@ -5100,7 +5101,7 @@ void Player::ResurrectPlayer(float restore_percent, bool applySickness) RemoveAurasDueToSpell(8326); // SPELL_AURA_GHOST if (GetSession()->IsARecruiter() || (GetSession()->GetRecruiterId() != 0)) - SetFlag(UNIT_DYNAMIC_FLAGS, UNIT_DYNFLAG_REFER_A_FRIEND); + SetFlag(OBJECT_DYNAMIC_FLAGS, UNIT_DYNFLAG_REFER_A_FRIEND); setDeathState(ALIVE); @@ -5175,7 +5176,7 @@ void Player::KillPlayer() setDeathState(CORPSE); //SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_IN_PVP); - SetUInt32Value(UNIT_DYNAMIC_FLAGS, UNIT_DYNFLAG_NONE); + SetUInt32Value(OBJECT_DYNAMIC_FLAGS, UNIT_DYNFLAG_NONE); ApplyModFlag(PLAYER_FIELD_BYTES, PLAYER_FIELD_BYTE_RELEASE_TIMER, !sMapStore.LookupEntry(GetMapId())->Instanceable() && !HasAuraType(SPELL_AURA_PREVENT_RESURRECTION)); // 6 minutes until repop at graveyard @@ -6001,8 +6002,8 @@ bool Player::UpdateSkill(uint32 skill_id, uint32 step) uint16 field = itr->second.pos / 2; uint8 offset = itr->second.pos & 1; // itr->second.pos % 2 - uint16 value = GetUInt16Value(PLAYER_SKILL_RANK_0 + field, offset); - uint16 max = GetUInt16Value(PLAYER_SKILL_MAX_RANK_0 + field, offset); + uint16 value = GetUInt16Value(PLAYER_SKILL_LINEID + SKILL_RANK_OFFSET + field, offset); + uint16 max = GetUInt16Value(PLAYER_SKILL_LINEID + SKILL_MAX_RANK_OFFSET + field, offset); if (!max || !value || value >= max) return false; @@ -6013,7 +6014,7 @@ bool Player::UpdateSkill(uint32 skill_id, uint32 step) if (new_value > max) new_value = max; - SetUInt16Value(PLAYER_SKILL_RANK_0 + field, offset, new_value); + SetUInt16Value(PLAYER_SKILL_LINEID + SKILL_RANK_OFFSET + field, offset, new_value); if (itr->second.uState != SKILL_NEW) itr->second.uState = SKILL_CHANGED; @@ -6134,8 +6135,8 @@ bool Player::UpdateSkillPro(uint16 skillId, int32 chance, uint32 step) uint16 field = itr->second.pos / 2; uint8 offset = itr->second.pos & 1; // itr->second.pos % 2 - uint16 value = GetUInt16Value(PLAYER_SKILL_RANK_0 + field, offset); - uint16 max = GetUInt16Value(PLAYER_SKILL_MAX_RANK_0 + field, offset); + uint16 value = GetUInt16Value(PLAYER_SKILL_LINEID + SKILL_RANK_OFFSET + field, offset); + uint16 max = GetUInt16Value(PLAYER_SKILL_LINEID + SKILL_MAX_RANK_OFFSET + field, offset); if (!max || !value || value >= max) return false; @@ -6150,7 +6151,7 @@ bool Player::UpdateSkillPro(uint16 skillId, int32 chance, uint32 step) if (new_value > max) new_value = max; - SetUInt16Value(PLAYER_SKILL_RANK_0 + field, offset, new_value); + SetUInt16Value(PLAYER_SKILL_LINEID + SKILL_RANK_OFFSET + field, offset, new_value); if (itr->second.uState != SKILL_NEW) itr->second.uState = SKILL_CHANGED; @@ -6176,7 +6177,7 @@ void Player::ModifySkillBonus(uint32 skillid, int32 val, bool talent) if (itr == mSkillStatus.end() || itr->second.uState == SKILL_DELETED) return; - uint16 field = itr->second.pos / 2 + (talent ? PLAYER_SKILL_TALENT_0 : PLAYER_SKILL_MODIFIER_0); + uint16 field = itr->second.pos / 2 + (talent ? PLAYER_SKILL_LINEID + SKILL_PERM_BONUS_OFFSET : PLAYER_SKILL_LINEID + SKILL_TEMP_BONUS_OFFSET); uint8 offset = itr->second.pos & 1; // itr->second.pos % 2 uint16 bonus = GetUInt16Value(field, offset); @@ -6207,14 +6208,14 @@ void Player::UpdateSkillsForLevel() uint16 field = itr->second.pos / 2; uint8 offset = itr->second.pos & 1; // itr->second.pos % 2 - //uint16 val = GetUInt16Value(PLAYER_SKILL_RANK_0 + field, offset); - uint16 max = GetUInt16Value(PLAYER_SKILL_MAX_RANK_0 + field, offset); + //uint16 val = GetUInt16Value(PLAYER_SKILL_LINEID + SKILL_RANK_OFFSET + field, offset); + uint16 max = GetUInt16Value(PLAYER_SKILL_LINEID + SKILL_MAX_RANK_OFFSET + field, offset); /// update only level dependent max skill values if (max != 1) { - SetUInt16Value(PLAYER_SKILL_RANK_0 + field, offset, maxSkill); - SetUInt16Value(PLAYER_SKILL_MAX_RANK_0 + field, offset, maxSkill); + SetUInt16Value(PLAYER_SKILL_LINEID + SKILL_RANK_OFFSET + field, offset, maxSkill); + SetUInt16Value(PLAYER_SKILL_LINEID + SKILL_MAX_RANK_OFFSET + field, offset, maxSkill); if (itr->second.uState != SKILL_NEW) itr->second.uState = SKILL_CHANGED; } @@ -6242,11 +6243,11 @@ void Player::UpdateSkillsToMaxSkillsForLevel() uint16 field = itr->second.pos / 2; uint8 offset = itr->second.pos & 1; // itr->second.pos % 2 - uint16 max = GetUInt16Value(PLAYER_SKILL_MAX_RANK_0 + field, offset); + uint16 max = GetUInt16Value(PLAYER_SKILL_LINEID + SKILL_MAX_RANK_OFFSET + field, offset); if (max > 1) { - SetUInt16Value(PLAYER_SKILL_RANK_0 + field, offset, max); + SetUInt16Value(PLAYER_SKILL_LINEID + SKILL_RANK_OFFSET + field, offset, max); if (itr->second.uState != SKILL_NEW) itr->second.uState = SKILL_CHANGED; @@ -6269,7 +6270,7 @@ void Player::SetSkill(uint16 id, uint16 step, uint16 newVal, uint16 maxVal) { uint16 field = itr->second.pos / 2; uint8 offset = itr->second.pos & 1; // itr->second.pos % 2 - currVal = GetUInt16Value(PLAYER_SKILL_RANK_0 + field, offset); + currVal = GetUInt16Value(PLAYER_SKILL_LINEID + SKILL_RANK_OFFSET + field, offset); if (newVal) { // if skill value is going down, update enchantments before setting the new value @@ -6277,10 +6278,10 @@ void Player::SetSkill(uint16 id, uint16 step, uint16 newVal, uint16 maxVal) UpdateSkillEnchantments(id, currVal, newVal); // update step - SetUInt16Value(PLAYER_SKILL_STEP_0 + field, offset, step); + SetUInt16Value(PLAYER_SKILL_LINEID + SKILL_STEP_OFFSET + field, offset, step); // update value - SetUInt16Value(PLAYER_SKILL_RANK_0 + field, offset, newVal); - SetUInt16Value(PLAYER_SKILL_MAX_RANK_0 + field, offset, maxVal); + SetUInt16Value(PLAYER_SKILL_LINEID + SKILL_RANK_OFFSET + field, offset, newVal); + SetUInt16Value(PLAYER_SKILL_LINEID + SKILL_MAX_RANK_OFFSET + field, offset, maxVal); if (itr->second.uState != SKILL_NEW) itr->second.uState = SKILL_CHANGED; @@ -6298,12 +6299,12 @@ void Player::SetSkill(uint16 id, uint16 step, uint16 newVal, uint16 maxVal) //remove enchantments needing this skill UpdateSkillEnchantments(id, currVal, 0); // clear skill fields - SetUInt16Value(PLAYER_SKILL_LINEID_0 + field, offset, 0); - SetUInt16Value(PLAYER_SKILL_STEP_0 + field, offset, 0); - SetUInt16Value(PLAYER_SKILL_RANK_0 + field, offset, 0); - SetUInt16Value(PLAYER_SKILL_MAX_RANK_0 + field, offset, 0); - SetUInt16Value(PLAYER_SKILL_MODIFIER_0 + field, offset, 0); - SetUInt16Value(PLAYER_SKILL_TALENT_0 + field, offset, 0); + SetUInt16Value(PLAYER_SKILL_LINEID + SKILL_ID_OFFSET + field, offset, 0); + SetUInt16Value(PLAYER_SKILL_LINEID + SKILL_STEP_OFFSET + field, offset, 0); + SetUInt16Value(PLAYER_SKILL_LINEID + SKILL_RANK_OFFSET + field, offset, 0); + SetUInt16Value(PLAYER_SKILL_LINEID + SKILL_MAX_RANK_OFFSET + field, offset, 0); + SetUInt16Value(PLAYER_SKILL_LINEID + SKILL_TEMP_BONUS_OFFSET + field, offset, 0); + SetUInt16Value(PLAYER_SKILL_LINEID + SKILL_PERM_BONUS_OFFSET + field, offset, 0); // mark as deleted or simply remove from map if not saved yet if (itr->second.uState != SKILL_NEW) @@ -6332,7 +6333,7 @@ void Player::SetSkill(uint16 id, uint16 step, uint16 newVal, uint16 maxVal) uint16 field = i / 2; uint8 offset = i & 1; // i % 2 - if (!GetUInt16Value(PLAYER_SKILL_LINEID_0 + field, offset)) + if (!GetUInt16Value(PLAYER_SKILL_LINEID + SKILL_ID_OFFSET + field, offset)) { SkillLineEntry const* skillEntry = sSkillLineStore.LookupEntry(id); if (!skillEntry) @@ -6341,7 +6342,7 @@ void Player::SetSkill(uint16 id, uint16 step, uint16 newVal, uint16 maxVal) return; } - SetUInt16Value(PLAYER_SKILL_LINEID_0 + field, offset, id); + SetUInt16Value(PLAYER_SKILL_LINEID + SKILL_ID_OFFSET + field, offset, id); if (skillEntry->categoryId == SKILL_CATEGORY_PROFESSION) { if (!GetUInt32Value(PLAYER_PROFESSION_SKILL_LINE_1)) @@ -6350,9 +6351,9 @@ void Player::SetSkill(uint16 id, uint16 step, uint16 newVal, uint16 maxVal) SetUInt32Value(PLAYER_PROFESSION_SKILL_LINE_1 + 1, id); } - SetUInt16Value(PLAYER_SKILL_STEP_0 + field, offset, step); - SetUInt16Value(PLAYER_SKILL_RANK_0 + field, offset, newVal); - SetUInt16Value(PLAYER_SKILL_MAX_RANK_0 + field, offset, maxVal); + SetUInt16Value(PLAYER_SKILL_LINEID + SKILL_STEP_OFFSET + field, offset, step); + SetUInt16Value(PLAYER_SKILL_LINEID + SKILL_RANK_OFFSET + field, offset, newVal); + SetUInt16Value(PLAYER_SKILL_LINEID + SKILL_MAX_RANK_OFFSET + field, offset, maxVal); UpdateSkillEnchantments(id, currVal, newVal); UpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_REACH_SKILL_LEVEL, id); @@ -6368,8 +6369,8 @@ void Player::SetSkill(uint16 id, uint16 step, uint16 newVal, uint16 maxVal) mSkillStatus.insert(SkillStatusMap::value_type(id, SkillStatusData(i, SKILL_NEW))); // apply skill bonuses - SetUInt16Value(PLAYER_SKILL_MODIFIER_0 + field, offset, 0); - SetUInt16Value(PLAYER_SKILL_TALENT_0 + field, offset, 0); + SetUInt16Value(PLAYER_SKILL_LINEID + SKILL_TEMP_BONUS_OFFSET + field, offset, 0); + SetUInt16Value(PLAYER_SKILL_LINEID + SKILL_PERM_BONUS_OFFSET + field, offset, 0); // temporary bonuses AuraEffectList const& mModSkill = GetAuraEffectsByType(SPELL_AURA_MOD_SKILL); for (AuraEffectList::const_iterator j = mModSkill.begin(); j != mModSkill.end(); ++j) @@ -6408,7 +6409,7 @@ uint16 Player::GetSkillStep(uint16 skill) const if (itr == mSkillStatus.end() || itr->second.uState == SKILL_DELETED) return 0; - return GetUInt16Value(PLAYER_SKILL_STEP_0 + itr->second.pos / 2, itr->second.pos & 1); + return GetUInt16Value(PLAYER_SKILL_LINEID + SKILL_STEP_OFFSET + itr->second.pos / 2, itr->second.pos & 1); } uint16 Player::GetSkillValue(uint32 skill) const @@ -6423,9 +6424,9 @@ uint16 Player::GetSkillValue(uint32 skill) const uint16 field = itr->second.pos / 2; uint8 offset = itr->second.pos & 1; - int32 result = int32(GetUInt16Value(PLAYER_SKILL_RANK_0 + field, offset)); - result += int32(GetUInt16Value(PLAYER_SKILL_MODIFIER_0 + field, offset)); - result += int32(GetUInt16Value(PLAYER_SKILL_TALENT_0 + field, offset)); + int32 result = int32(GetUInt16Value(PLAYER_SKILL_LINEID + SKILL_RANK_OFFSET + field, offset)); + result += int32(GetUInt16Value(PLAYER_SKILL_LINEID + SKILL_TEMP_BONUS_OFFSET + field, offset)); + result += int32(GetUInt16Value(PLAYER_SKILL_LINEID + SKILL_PERM_BONUS_OFFSET + field, offset)); return result < 0 ? 0 : result; } @@ -6441,9 +6442,9 @@ uint16 Player::GetMaxSkillValue(uint32 skill) const uint16 field = itr->second.pos / 2; uint8 offset = itr->second.pos & 1; - int32 result = int32(GetUInt16Value(PLAYER_SKILL_MAX_RANK_0 + field, offset)); - result += int32(GetUInt16Value(PLAYER_SKILL_MODIFIER_0 + field, offset)); - result += int32(GetUInt16Value(PLAYER_SKILL_TALENT_0 + field, offset)); + int32 result = int32(GetUInt16Value(PLAYER_SKILL_LINEID + SKILL_MAX_RANK_OFFSET + field, offset)); + result += int32(GetUInt16Value(PLAYER_SKILL_LINEID + SKILL_TEMP_BONUS_OFFSET + field, offset)); + result += int32(GetUInt16Value(PLAYER_SKILL_LINEID + SKILL_PERM_BONUS_OFFSET + field, offset)); return result < 0 ? 0 : result; } @@ -6459,7 +6460,7 @@ uint16 Player::GetPureMaxSkillValue(uint32 skill) const uint16 field = itr->second.pos / 2; uint8 offset = itr->second.pos & 1; - return GetUInt16Value(PLAYER_SKILL_MAX_RANK_0 + field, offset); + return GetUInt16Value(PLAYER_SKILL_LINEID + SKILL_MAX_RANK_OFFSET + field, offset); } uint16 Player::GetBaseSkillValue(uint32 skill) const @@ -6474,8 +6475,8 @@ uint16 Player::GetBaseSkillValue(uint32 skill) const uint16 field = itr->second.pos / 2; uint8 offset = itr->second.pos & 1; - int32 result = int32(GetUInt16Value(PLAYER_SKILL_RANK_0 + field, offset)); - result += int32(GetUInt16Value(PLAYER_SKILL_TALENT_0 + field, offset)); + int32 result = int32(GetUInt16Value(PLAYER_SKILL_LINEID + SKILL_RANK_OFFSET + field, offset)); + result += int32(GetUInt16Value(PLAYER_SKILL_LINEID + SKILL_PERM_BONUS_OFFSET + field, offset)); return result < 0 ? 0 : result; } @@ -6491,7 +6492,7 @@ uint16 Player::GetPureSkillValue(uint32 skill) const uint16 field = itr->second.pos / 2; uint8 offset = itr->second.pos & 1; - return GetUInt16Value(PLAYER_SKILL_RANK_0 + field, offset); + return GetUInt16Value(PLAYER_SKILL_LINEID + SKILL_RANK_OFFSET + field, offset); } int16 Player::GetSkillPermBonusValue(uint32 skill) const @@ -6506,7 +6507,7 @@ int16 Player::GetSkillPermBonusValue(uint32 skill) const uint16 field = itr->second.pos / 2; uint8 offset = itr->second.pos & 1; - return GetUInt16Value(PLAYER_SKILL_TALENT_0 + field, offset); + return GetUInt16Value(PLAYER_SKILL_LINEID + SKILL_PERM_BONUS_OFFSET + field, offset); } int16 Player::GetSkillTempBonusValue(uint32 skill) const @@ -6521,7 +6522,7 @@ int16 Player::GetSkillTempBonusValue(uint32 skill) const uint16 field = itr->second.pos / 2; uint8 offset = itr->second.pos & 1; - return GetUInt16Value(PLAYER_SKILL_MODIFIER_0 + field, offset); + return GetUInt16Value(PLAYER_SKILL_LINEID + SKILL_TEMP_BONUS_OFFSET + field, offset); } void Player::SendActionButtons(uint32 state) const @@ -12044,9 +12045,9 @@ Item* Player::_StoreItem(uint16 pos, Item* pItem, uint32 count, bool clone, bool if (!pBag) { m_items[slot] = pItem; - SetGuidValue(PLAYER_FIELD_INV_SLOT_HEAD + (slot * 2), pItem->GetGUID()); + SetGuidValue(PLAYER_FIELD_INV_SLOT_HEAD + (slot * 4), pItem->GetGUID()); pItem->SetGuidValue(ITEM_FIELD_CONTAINED, GetGUID()); - pItem->SetGuidValue(ITEM_FIELD_OWNER, GetGUID()); + pItem->SetOwnerGUID(GetGUID()); pItem->SetSlot(slot); pItem->SetContainer(NULL); @@ -12264,14 +12265,14 @@ void Player::SetVisibleItemSlot(uint8 slot, Item* pItem) { if (pItem) { - SetUInt32Value(PLAYER_VISIBLE_ITEM_1_ENTRYID + (slot * 2), pItem->GetVisibleEntry()); - SetUInt16Value(PLAYER_VISIBLE_ITEM_1_ENCHANTMENT + (slot * 2), 0, pItem->GetEnchantmentId(PERM_ENCHANTMENT_SLOT)); - SetUInt16Value(PLAYER_VISIBLE_ITEM_1_ENCHANTMENT + (slot * 2), 1, pItem->GetEnchantmentId(TEMP_ENCHANTMENT_SLOT)); + SetUInt32Value(PLAYER_VISIBLE_ITEM + VISIBLE_ITEM_ENTRY_OFFSET + (slot * 2), pItem->GetVisibleEntry()); + SetUInt16Value(PLAYER_VISIBLE_ITEM + VISIBLE_ITEM_ENCHANTMENT_OFFSET + (slot * 2), 0, pItem->GetEnchantmentId(PERM_ENCHANTMENT_SLOT)); + SetUInt16Value(PLAYER_VISIBLE_ITEM + VISIBLE_ITEM_ENCHANTMENT_OFFSET + (slot * 2), 1, pItem->GetEnchantmentId(TEMP_ENCHANTMENT_SLOT)); } else { - SetUInt32Value(PLAYER_VISIBLE_ITEM_1_ENTRYID + (slot * 2), 0); - SetUInt32Value(PLAYER_VISIBLE_ITEM_1_ENCHANTMENT + (slot * 2), 0); + SetUInt32Value(PLAYER_VISIBLE_ITEM + VISIBLE_ITEM_ENTRY_OFFSET + (slot * 2), 0); + SetUInt32Value(PLAYER_VISIBLE_ITEM + VISIBLE_ITEM_ENCHANTMENT_OFFSET + (slot * 2), 0); } } @@ -12287,9 +12288,9 @@ void Player::VisualizeItem(uint8 slot, Item* pItem) TC_LOG_DEBUG("entities.player.items", "STORAGE: EquipItem slot = %u, item = %u", slot, pItem->GetEntry()); m_items[slot] = pItem; - SetGuidValue(PLAYER_FIELD_INV_SLOT_HEAD + (slot * 2), pItem->GetGUID()); + SetGuidValue(PLAYER_FIELD_INV_SLOT_HEAD + (slot * 4), pItem->GetGUID()); pItem->SetGuidValue(ITEM_FIELD_CONTAINED, GetGUID()); - pItem->SetGuidValue(ITEM_FIELD_OWNER, GetGUID()); + pItem->SetOwnerGUID(GetGUID()); pItem->SetSlot(slot); pItem->SetContainer(NULL); @@ -12369,7 +12370,7 @@ void Player::RemoveItem(uint8 bag, uint8 slot, bool update) } m_items[slot] = NULL; - SetGuidValue(PLAYER_FIELD_INV_SLOT_HEAD + (slot * 2), ObjectGuid::Empty); + SetGuidValue(PLAYER_FIELD_INV_SLOT_HEAD + (slot * 4), ObjectGuid::Empty); if (slot < EQUIPMENT_SLOT_END) SetVisibleItemSlot(slot, NULL); @@ -12466,7 +12467,7 @@ void Player::DestroyItem(uint8 bag, uint8 slot, bool update) if (bag == INVENTORY_SLOT_BAG_0) { - SetGuidValue(PLAYER_FIELD_INV_SLOT_HEAD + (slot * 2), ObjectGuid::Empty); + SetGuidValue(PLAYER_FIELD_INV_SLOT_HEAD + (slot * 4), ObjectGuid::Empty); // equipment and equipped bags can have applied bonuses if (slot < INVENTORY_SLOT_BAG_END) @@ -13289,11 +13290,12 @@ void Player::AddItemToBuyBackSlot(Item* pItem) uint32 etime = uint32(base - m_logintime + (30 * 3600)); uint32 eslot = slot - BUYBACK_SLOT_START; - SetGuidValue(PLAYER_FIELD_VENDORBUYBACK_SLOT_1 + (eslot * 2), pItem->GetGUID()); + SetGuidValue(PLAYER_FIELD_INV_SLOT_HEAD + (slot * 4), pItem->GetGUID()); if (ItemTemplate const* proto = pItem->GetTemplate()) SetUInt32Value(PLAYER_FIELD_BUYBACK_PRICE_1 + eslot, proto->SellPrice * pItem->GetCount()); else SetUInt32Value(PLAYER_FIELD_BUYBACK_PRICE_1 + eslot, 0); + SetUInt32Value(PLAYER_FIELD_BUYBACK_TIMESTAMP_1 + eslot, (uint32)etime); // move to next (for non filled list is move most optimized choice) @@ -13326,7 +13328,7 @@ void Player::RemoveItemFromBuyBackSlot(uint32 slot, bool del) m_items[slot] = NULL; uint32 eslot = slot - BUYBACK_SLOT_START; - SetGuidValue(PLAYER_FIELD_VENDORBUYBACK_SLOT_1 + (eslot * 2), ObjectGuid::Empty); + SetGuidValue(PLAYER_FIELD_INV_SLOT_HEAD + (slot * 4), ObjectGuid::Empty); SetUInt32Value(PLAYER_FIELD_BUYBACK_PRICE_1 + eslot, 0); SetUInt32Value(PLAYER_FIELD_BUYBACK_TIMESTAMP_1 + eslot, 0); @@ -14219,10 +14221,10 @@ void Player::ApplyEnchantment(Item* item, EnchantmentSlot slot, bool apply, bool // visualize enchantment at player and equipped items if (slot == PERM_ENCHANTMENT_SLOT) - SetUInt16Value(PLAYER_VISIBLE_ITEM_1_ENCHANTMENT + (item->GetSlot() * 2), 0, apply ? item->GetEnchantmentId(slot) : 0); + SetUInt16Value(PLAYER_VISIBLE_ITEM + VISIBLE_ITEM_ENCHANTMENT_OFFSET + (item->GetSlot() * 2), 0, apply ? item->GetEnchantmentId(slot) : 0); if (slot == TEMP_ENCHANTMENT_SLOT) - SetUInt16Value(PLAYER_VISIBLE_ITEM_1_ENCHANTMENT + (item->GetSlot() * 2), 1, apply ? item->GetEnchantmentId(slot) : 0); + SetUInt16Value(PLAYER_VISIBLE_ITEM + VISIBLE_ITEM_ENCHANTMENT_OFFSET + (item->GetSlot() * 2), 1, apply ? item->GetEnchantmentId(slot) : 0); if (apply_dur) { @@ -15916,7 +15918,7 @@ bool Player::SatisfyQuestPrevChain(Quest const* qInfo, bool msg) return true; } -bool Player::SatisfyQuestDay(Quest const* qInfo, bool msg) +bool Player::SatisfyQuestDay(Quest const* qInfo, bool /*msg*/) { if (!qInfo->IsDaily() && !qInfo->IsDFQuest()) return true; @@ -15929,27 +15931,11 @@ bool Player::SatisfyQuestDay(Quest const* qInfo, bool msg) return true; } - bool have_slot = false; - for (uint32 quest_daily_idx = 0; quest_daily_idx < PLAYER_MAX_DAILY_QUESTS; ++quest_daily_idx) - { - uint32 id = GetUInt32Value(PLAYER_FIELD_DAILY_QUESTS_1+quest_daily_idx); - if (qInfo->GetQuestId() == id) + std::vector<uint32> const& dailies = GetDynamicValues(PLAYER_DYNAMIC_FIELD_DAILY_QUESTS); + for (uint32 dailyQuestId : dailies) + if (dailyQuestId == qInfo->GetQuestId()) return false; - if (!id) - have_slot = true; - } - - if (!have_slot) - { - if (msg) - { - SendCanTakeQuestResponse(INVALIDREASON_DAILY_QUESTS_REMAINING); - TC_LOG_DEBUG("misc", "SatisfyQuestDay: Sent INVALIDREASON_DAILY_QUESTS_REMAINING (questId: %u) because player already did all possible quests today.", qInfo->GetQuestId()); - } - return false; - } - return true; } @@ -16309,65 +16295,65 @@ uint16 Player::FindQuestSlot(uint32 quest_id) const uint32 Player::GetQuestSlotQuestId(uint16 slot) const { - return GetUInt32Value(PLAYER_QUEST_LOG_1_1 + slot * MAX_QUEST_OFFSET + QUEST_ID_OFFSET); + return GetUInt32Value(PLAYER_QUEST_LOG + slot * MAX_QUEST_OFFSET + QUEST_ID_OFFSET); } uint32 Player::GetQuestSlotState(uint16 slot) const { - return GetUInt32Value(PLAYER_QUEST_LOG_1_1 + slot * MAX_QUEST_OFFSET + QUEST_STATE_OFFSET); + return GetUInt32Value(PLAYER_QUEST_LOG + slot * MAX_QUEST_OFFSET + QUEST_STATE_OFFSET); } uint16 Player::GetQuestSlotCounter(uint16 slot, uint8 counter) const { - return (uint16)(GetUInt64Value(PLAYER_QUEST_LOG_1_1 + slot * MAX_QUEST_OFFSET + QUEST_COUNTS_OFFSET) >> (counter * 16)); + return (uint16)(GetUInt64Value(PLAYER_QUEST_LOG + slot * MAX_QUEST_OFFSET + QUEST_COUNTS_OFFSET) >> (counter * 16)); } uint32 Player::GetQuestSlotTime(uint16 slot) const { - return GetUInt32Value(PLAYER_QUEST_LOG_1_1 + slot * MAX_QUEST_OFFSET + QUEST_TIME_OFFSET); + return GetUInt32Value(PLAYER_QUEST_LOG + slot * MAX_QUEST_OFFSET + QUEST_TIME_OFFSET); } void Player::SetQuestSlot(uint16 slot, uint32 quest_id, uint32 timer /*= 0*/) { - SetUInt32Value(PLAYER_QUEST_LOG_1_1 + slot * MAX_QUEST_OFFSET + QUEST_ID_OFFSET, quest_id); - SetUInt32Value(PLAYER_QUEST_LOG_1_1 + slot * MAX_QUEST_OFFSET + QUEST_STATE_OFFSET, 0); - SetUInt32Value(PLAYER_QUEST_LOG_1_1 + slot * MAX_QUEST_OFFSET + QUEST_COUNTS_OFFSET, 0); - SetUInt32Value(PLAYER_QUEST_LOG_1_1 + slot * MAX_QUEST_OFFSET + QUEST_COUNTS_OFFSET + 1, 0); - SetUInt32Value(PLAYER_QUEST_LOG_1_1 + slot * MAX_QUEST_OFFSET + QUEST_TIME_OFFSET, timer); + SetUInt32Value(PLAYER_QUEST_LOG + slot * MAX_QUEST_OFFSET + QUEST_ID_OFFSET, quest_id); + SetUInt32Value(PLAYER_QUEST_LOG + slot * MAX_QUEST_OFFSET + QUEST_STATE_OFFSET, 0); + SetUInt32Value(PLAYER_QUEST_LOG + slot * MAX_QUEST_OFFSET + QUEST_COUNTS_OFFSET, 0); + SetUInt32Value(PLAYER_QUEST_LOG + slot * MAX_QUEST_OFFSET + QUEST_COUNTS_OFFSET + 1, 0); + SetUInt32Value(PLAYER_QUEST_LOG + slot * MAX_QUEST_OFFSET + QUEST_TIME_OFFSET, timer); } void Player::SetQuestSlotCounter(uint16 slot, uint8 counter, uint16 count) { - uint64 val = GetUInt64Value(PLAYER_QUEST_LOG_1_1 + slot * MAX_QUEST_OFFSET + QUEST_COUNTS_OFFSET); + uint64 val = GetUInt64Value(PLAYER_QUEST_LOG + slot * MAX_QUEST_OFFSET + QUEST_COUNTS_OFFSET); val &= ~((uint64)0xFFFF << (counter * 16)); val |= ((uint64)count << (counter * 16)); - SetUInt64Value(PLAYER_QUEST_LOG_1_1 + slot * MAX_QUEST_OFFSET + QUEST_COUNTS_OFFSET, val); + SetUInt64Value(PLAYER_QUEST_LOG + slot * MAX_QUEST_OFFSET + QUEST_COUNTS_OFFSET, val); } void Player::SetQuestSlotState(uint16 slot, uint32 state) { - SetFlag(PLAYER_QUEST_LOG_1_1 + slot * MAX_QUEST_OFFSET + QUEST_STATE_OFFSET, state); + SetFlag(PLAYER_QUEST_LOG + slot * MAX_QUEST_OFFSET + QUEST_STATE_OFFSET, state); } void Player::RemoveQuestSlotState(uint16 slot, uint32 state) { - RemoveFlag(PLAYER_QUEST_LOG_1_1 + slot * MAX_QUEST_OFFSET + QUEST_STATE_OFFSET, state); + RemoveFlag(PLAYER_QUEST_LOG + slot * MAX_QUEST_OFFSET + QUEST_STATE_OFFSET, state); } void Player::SetQuestSlotTimer(uint16 slot, uint32 timer) { - SetUInt32Value(PLAYER_QUEST_LOG_1_1 + slot * MAX_QUEST_OFFSET + QUEST_TIME_OFFSET, timer); + SetUInt32Value(PLAYER_QUEST_LOG + slot * MAX_QUEST_OFFSET + QUEST_TIME_OFFSET, timer); } void Player::SwapQuestSlot(uint16 slot1, uint16 slot2) { for (int i = 0; i < MAX_QUEST_OFFSET; ++i) { - uint32 temp1 = GetUInt32Value(PLAYER_QUEST_LOG_1_1 + MAX_QUEST_OFFSET * slot1 + i); - uint32 temp2 = GetUInt32Value(PLAYER_QUEST_LOG_1_1 + MAX_QUEST_OFFSET * slot2 + i); + uint32 temp1 = GetUInt32Value(PLAYER_QUEST_LOG + MAX_QUEST_OFFSET * slot1 + i); + uint32 temp2 = GetUInt32Value(PLAYER_QUEST_LOG + MAX_QUEST_OFFSET * slot2 + i); - SetUInt32Value(PLAYER_QUEST_LOG_1_1 + MAX_QUEST_OFFSET * slot1 + i, temp2); - SetUInt32Value(PLAYER_QUEST_LOG_1_1 + MAX_QUEST_OFFSET * slot2 + i, temp1); + SetUInt32Value(PLAYER_QUEST_LOG + MAX_QUEST_OFFSET * slot1 + i, temp2); + SetUInt32Value(PLAYER_QUEST_LOG + MAX_QUEST_OFFSET * slot2 + i, temp1); } } @@ -17316,7 +17302,7 @@ bool Player::LoadFromDB(ObjectGuid guid, SQLQueryHolder *holder) // cleanup inventory related item value fields (its will be filled correctly in _LoadInventory) for (uint8 slot = EQUIPMENT_SLOT_START; slot < EQUIPMENT_SLOT_END; ++slot) { - SetGuidValue(PLAYER_FIELD_INV_SLOT_HEAD + (slot * 2), ObjectGuid::Empty); + SetGuidValue(PLAYER_FIELD_INV_SLOT_HEAD + (slot * 4), ObjectGuid::Empty); SetVisibleItemSlot(slot, NULL); delete m_items[slot]; @@ -17820,7 +17806,7 @@ bool Player::LoadFromDB(ObjectGuid guid, SQLQueryHolder *holder) if (GetPowerIndex(i) != MAX_POWERS) { uint32 savedPower = fields[47+loadedPowers].GetUInt32(); - uint32 maxPower = GetUInt32Value(UNIT_FIELD_MAXPOWER1 + loadedPowers); + uint32 maxPower = GetUInt32Value(UNIT_FIELD_MAXPOWER + loadedPowers); SetPower(Powers(i), (savedPower > maxPower) ? maxPower : savedPower); if (++loadedPowers >= MAX_POWERS_PER_CLASS) break; @@ -17828,7 +17814,7 @@ bool Player::LoadFromDB(ObjectGuid guid, SQLQueryHolder *holder) } for (; loadedPowers < MAX_POWERS_PER_CLASS; ++loadedPowers) - SetUInt32Value(UNIT_FIELD_POWER1 + loadedPowers, 0); + SetUInt32Value(UNIT_FIELD_POWER + loadedPowers, 0); SetPower(POWER_ECLIPSE, 0); @@ -17897,7 +17883,7 @@ bool Player::LoadFromDB(ObjectGuid guid, SQLQueryHolder *holder) // RaF stuff. m_grantableLevels = fields[59].GetUInt8(); if (GetSession()->IsARecruiter() || (GetSession()->GetRecruiterId() != 0)) - SetFlag(UNIT_DYNAMIC_FLAGS, UNIT_DYNFLAG_REFER_A_FRIEND); + SetFlag(OBJECT_DYNAMIC_FLAGS, UNIT_DYNFLAG_REFER_A_FRIEND); if (m_grantableLevels > 0) SetByteValue(PLAYER_FIELD_BYTES, 1, 0x01); @@ -18707,21 +18693,17 @@ void Player::_LoadQuestStatusRewarded(PreparedQueryResult result) void Player::_LoadDailyQuestStatus(PreparedQueryResult result) { - for (uint32 quest_daily_idx = 0; quest_daily_idx < PLAYER_MAX_DAILY_QUESTS; ++quest_daily_idx) - SetUInt32Value(PLAYER_FIELD_DAILY_QUESTS_1+quest_daily_idx, 0); - m_DFQuests.clear(); //QueryResult* result = CharacterDatabase.PQuery("SELECT quest, time FROM character_queststatus_daily WHERE guid = '%u'", GetGUIDLow()); if (result) { - uint32 quest_daily_idx = 0; - do { Field* fields = result->Fetch(); - if (Quest const* qQuest = sObjectMgr->GetQuestTemplate(fields[0].GetUInt32())) + uint32 quest_id = fields[0].GetUInt32(); + if (Quest const* qQuest = sObjectMgr->GetQuestTemplate(quest_id)) { if (qQuest->IsDFQuest()) { @@ -18731,14 +18713,6 @@ void Player::_LoadDailyQuestStatus(PreparedQueryResult result) } } - if (quest_daily_idx >= PLAYER_MAX_DAILY_QUESTS) // max amount with exist data in query - { - TC_LOG_ERROR("entities.player", "Player (%s) have more 25 daily quest records in `charcter_queststatus_daily`", GetGUID().ToString().c_str()); - break; - } - - uint32 quest_id = fields[0].GetUInt32(); - // save _any_ from daily quest times (it must be after last reset anyway) m_lastDailyQuestTime = time_t(fields[1].GetUInt32()); @@ -18746,8 +18720,7 @@ void Player::_LoadDailyQuestStatus(PreparedQueryResult result) if (!quest) continue; - SetUInt32Value(PLAYER_FIELD_DAILY_QUESTS_1+quest_daily_idx, quest_id); - ++quest_daily_idx; + AddDynamicValue(PLAYER_DYNAMIC_FIELD_DAILY_QUESTS, quest_id); TC_LOG_DEBUG("entities.player.loading", "Daily quest (%u) cooldown for player (5s)", quest_id, GetGUID().ToString().c_str()); } @@ -19447,7 +19420,7 @@ void Player::SaveToDB(bool create /*=false*/) { if (GetPowerIndex(i) != MAX_POWERS) { - stmt->setUInt32(index++, GetUInt32Value(UNIT_FIELD_POWER1 + storedPowers)); + stmt->setUInt32(index++, GetUInt32Value(UNIT_FIELD_POWER + storedPowers)); if (++storedPowers >= MAX_POWERS_PER_CLASS) break; } @@ -19469,7 +19442,7 @@ void Player::SaveToDB(bool create /*=false*/) ss.str(""); // cache equipment... for (uint32 i = 0; i < EQUIPMENT_SLOT_END * 2; ++i) - ss << GetUInt32Value(PLAYER_VISIBLE_ITEM_1_ENTRYID + i) << ' '; + ss << GetUInt32Value(PLAYER_VISIBLE_ITEM + i) << ' '; // ...and bags for enum opcode for (uint32 i = INVENTORY_SLOT_BAG_START; i < INVENTORY_SLOT_BAG_END; ++i) @@ -19576,7 +19549,7 @@ void Player::SaveToDB(bool create /*=false*/) { if (GetPowerIndex(i) != MAX_POWERS) { - stmt->setUInt32(index++, GetUInt32Value(UNIT_FIELD_POWER1 + storedPowers)); + stmt->setUInt32(index++, GetUInt32Value(UNIT_FIELD_POWER + storedPowers)); if (++storedPowers >= MAX_POWERS_PER_CLASS) break; } @@ -19598,7 +19571,7 @@ void Player::SaveToDB(bool create /*=false*/) ss.str(""); // cache equipment... for (uint32 i = 0; i < EQUIPMENT_SLOT_END * 2; ++i) - ss << GetUInt32Value(PLAYER_VISIBLE_ITEM_1_ENTRYID + i) << ' '; + ss << GetUInt32Value(PLAYER_VISIBLE_ITEM + i) << ' '; // ...and bags for enum opcode for (uint32 i = INVENTORY_SLOT_BAG_START; i < INVENTORY_SLOT_BAG_END; ++i) @@ -20133,16 +20106,14 @@ void Player::_SaveDailyQuestStatus(SQLTransaction& trans) stmt->setUInt64(0, GetGUID().GetCounter()); trans->Append(stmt); - for (uint32 quest_daily_idx = 0; quest_daily_idx < PLAYER_MAX_DAILY_QUESTS; ++quest_daily_idx) + std::vector<uint32> const& dailies = GetDynamicValues(PLAYER_DYNAMIC_FIELD_DAILY_QUESTS); + for (uint32 questId : dailies) { - if (GetUInt32Value(PLAYER_FIELD_DAILY_QUESTS_1 + quest_daily_idx)) - { - stmt = CharacterDatabase.GetPreparedStatement(CHAR_INS_CHARACTER_QUESTSTATUS_DAILY); - stmt->setUInt64(0, GetGUID().GetCounter()); - stmt->setUInt32(1, GetUInt32Value(PLAYER_FIELD_DAILY_QUESTS_1 + quest_daily_idx)); - stmt->setUInt64(2, uint64(m_lastDailyQuestTime)); - trans->Append(stmt); - } + stmt = CharacterDatabase.GetPreparedStatement(CHAR_INS_CHARACTER_QUESTSTATUS_DAILY); + stmt->setUInt64(0, GetGUID().GetCounter()); + stmt->setUInt32(1, questId); + stmt->setUInt64(2, uint64(m_lastDailyQuestTime)); + trans->Append(stmt); } if (!m_DFQuests.empty()) @@ -20259,8 +20230,8 @@ void Player::_SaveSkills(SQLTransaction& trans) uint16 field = itr->second.pos / 2; uint8 offset = itr->second.pos & 1; - uint16 value = GetUInt16Value(PLAYER_SKILL_RANK_0 + field, offset); - uint16 max = GetUInt16Value(PLAYER_SKILL_MAX_RANK_0 + field, offset); + uint16 value = GetUInt16Value(PLAYER_SKILL_LINEID + SKILL_RANK_OFFSET + field, offset); + uint16 max = GetUInt16Value(PLAYER_SKILL_LINEID + SKILL_MAX_RANK_OFFSET + field, offset); switch (itr->second.uState) { @@ -23885,17 +23856,11 @@ void Player::SetDailyQuestStatus(uint32 quest_id) { if (!qQuest->IsDFQuest()) { - for (uint32 quest_daily_idx = 0; quest_daily_idx < PLAYER_MAX_DAILY_QUESTS; ++quest_daily_idx) - { - if (!GetUInt32Value(PLAYER_FIELD_DAILY_QUESTS_1+quest_daily_idx)) - { - SetUInt32Value(PLAYER_FIELD_DAILY_QUESTS_1+quest_daily_idx, quest_id); - m_lastDailyQuestTime = time(NULL); // last daily quest time - m_DailyQuestChanged = true; - break; - } - } - } else + AddDynamicValue(PLAYER_DYNAMIC_FIELD_DAILY_QUESTS, quest_id); + m_lastDailyQuestTime = time(NULL); // last daily quest time + m_DailyQuestChanged = true; + } + else { m_DFQuests.insert(quest_id); m_lastDailyQuestTime = time(NULL); @@ -23928,8 +23893,7 @@ void Player::SetMonthlyQuestStatus(uint32 quest_id) void Player::ResetDailyQuestStatus() { - for (uint32 quest_daily_idx = 0; quest_daily_idx < PLAYER_MAX_DAILY_QUESTS; ++quest_daily_idx) - SetUInt32Value(PLAYER_FIELD_DAILY_QUESTS_1+quest_daily_idx, 0); + ClearDynamicValue(PLAYER_DYNAMIC_FIELD_DAILY_QUESTS); m_DFQuests.clear(); // Dungeon Finder Quests. @@ -25635,7 +25599,7 @@ void Player::_LoadSkills(PreparedQueryResult result) uint16 field = count / 2; uint8 offset = count & 1; - SetUInt16Value(PLAYER_SKILL_LINEID_0 + field, offset, skill); + SetUInt16Value(PLAYER_SKILL_LINEID + SKILL_ID_OFFSET + field, offset, skill); uint16 step = 0; SkillLineEntry const* skillLine = sSkillLineStore.LookupEntry(rcEntry->SkillId); @@ -25653,11 +25617,11 @@ void Player::_LoadSkills(PreparedQueryResult result) } } - SetUInt16Value(PLAYER_SKILL_STEP_0 + field, offset, step); - SetUInt16Value(PLAYER_SKILL_RANK_0 + field, offset, value); - SetUInt16Value(PLAYER_SKILL_MAX_RANK_0 + field, offset, max); - SetUInt16Value(PLAYER_SKILL_MODIFIER_0 + field, offset, 0); - SetUInt16Value(PLAYER_SKILL_TALENT_0 + field, offset, 0); + SetUInt16Value(PLAYER_SKILL_LINEID + SKILL_STEP_OFFSET + field, offset, step); + SetUInt16Value(PLAYER_SKILL_LINEID + SKILL_RANK_OFFSET + field, offset, value); + SetUInt16Value(PLAYER_SKILL_LINEID + SKILL_MAX_RANK_OFFSET + field, offset, max); + SetUInt16Value(PLAYER_SKILL_LINEID + SKILL_TEMP_BONUS_OFFSET + field, offset, 0); + SetUInt16Value(PLAYER_SKILL_LINEID + SKILL_PERM_BONUS_OFFSET + field, offset, 0); mSkillStatus.insert(SkillStatusMap::value_type(skill, SkillStatusData(count, SKILL_UNCHANGED))); @@ -25674,20 +25638,20 @@ void Player::_LoadSkills(PreparedQueryResult result) while (result->NextRow()); } + if (HasSkill(SKILL_FIST_WEAPONS)) + SetSkill(SKILL_FIST_WEAPONS, 0, GetSkillValue(SKILL_UNARMED), GetMaxSkillValueForLevel()); + for (; count < PLAYER_MAX_SKILLS; ++count) { uint16 field = count / 2; uint8 offset = count & 1; - if (HasSkill(SKILL_FIST_WEAPONS)) - SetSkill(SKILL_FIST_WEAPONS, 0, GetSkillValue(SKILL_UNARMED), GetMaxSkillValueForLevel()); - - SetUInt16Value(PLAYER_SKILL_LINEID_0 + field, offset, 0); - SetUInt16Value(PLAYER_SKILL_STEP_0 + field, offset, 0); - SetUInt16Value(PLAYER_SKILL_RANK_0 + field, offset, 0); - SetUInt16Value(PLAYER_SKILL_MAX_RANK_0 + field, offset, 0); - SetUInt16Value(PLAYER_SKILL_MODIFIER_0 + field, offset, 0); - SetUInt16Value(PLAYER_SKILL_TALENT_0 + field, offset, 0); + SetUInt16Value(PLAYER_SKILL_LINEID + SKILL_ID_OFFSET + field, offset, 0); + SetUInt16Value(PLAYER_SKILL_LINEID + SKILL_STEP_OFFSET + field, offset, 0); + SetUInt16Value(PLAYER_SKILL_LINEID + SKILL_RANK_OFFSET + field, offset, 0); + SetUInt16Value(PLAYER_SKILL_LINEID + SKILL_MAX_RANK_OFFSET + field, offset, 0); + SetUInt16Value(PLAYER_SKILL_LINEID + SKILL_TEMP_BONUS_OFFSET + field, offset, 0); + SetUInt16Value(PLAYER_SKILL_LINEID + SKILL_PERM_BONUS_OFFSET + field, offset, 0); } } diff --git a/src/server/game/Entities/Player/Player.h b/src/server/game/Entities/Player/Player.h index eb5acf19fb8..41291dabb68 100644 --- a/src/server/game/Entities/Player/Player.h +++ b/src/server/game/Entities/Player/Player.h @@ -60,8 +60,18 @@ struct CharacterCustomizeInfo; typedef std::deque<Mail*> PlayerMails; -#define PLAYER_MAX_SKILLS 128 -#define PLAYER_MAX_DAILY_QUESTS 25 +#define PLAYER_MAX_SKILLS 128 +enum SkillFieldOffset +{ + SKILL_ID_OFFSET = 0, + SKILL_STEP_OFFSET = 64, + SKILL_RANK_OFFSET = SKILL_STEP_OFFSET + 64, + SUBSKILL_START_RANK_OFFSET = SKILL_RANK_OFFSET + 64, + SKILL_MAX_RANK_OFFSET = SUBSKILL_START_RANK_OFFSET + 64, + SKILL_TEMP_BONUS_OFFSET = SKILL_MAX_RANK_OFFSET + 64, + SKILL_PERM_BONUS_OFFSET = SKILL_TEMP_BONUS_OFFSET + 64 +}; + #define PLAYER_EXPLORED_ZONES_SIZE 156 // Note: SPELLMOD_* values is aura types in fact @@ -663,7 +673,7 @@ enum PlayerSlots // first slot for item stored (in any way in player m_items data) PLAYER_SLOT_START = 0, // last+1 slot for item stored (in any way in player m_items data) - PLAYER_SLOT_END = 86, + PLAYER_SLOT_END = 184, PLAYER_SLOTS_COUNT = (PLAYER_SLOT_END - PLAYER_SLOT_START) }; @@ -694,6 +704,9 @@ enum EquipmentSlots // 19 slots EQUIPMENT_SLOT_END = 19 }; +#define VISIBLE_ITEM_ENTRY_OFFSET 0 +#define VISIBLE_ITEM_ENCHANTMENT_OFFSET 1 + enum InventorySlots // 4 slots { INVENTORY_SLOT_BAG_START = 19, @@ -725,6 +738,12 @@ enum BuyBackSlots // 12 slots BUYBACK_SLOT_END = 86 }; +enum ReagentSlots +{ + REAGENT_SLOT_START = 87, + REAGENT_SLOT_END = 184, +}; + enum EquipmentSetUpdateState { EQUIPMENT_SET_UNCHANGED = 0, diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp index 6ff17c9b7cc..af5e1f84ad0 100644 --- a/src/server/game/Entities/Unit/Unit.cpp +++ b/src/server/game/Entities/Unit/Unit.cpp @@ -4553,20 +4553,20 @@ void Unit::ApplyResistanceBuffModsPercentMod(SpellSchools school, bool positive, void Unit::InitStatBuffMods() { for (uint8 i = STAT_STRENGTH; i < MAX_STATS; ++i) - SetFloatValue(UNIT_FIELD_POSSTAT0+i, 0); + SetFloatValue(UNIT_FIELD_POSSTAT+i, 0); for (uint8 i = STAT_STRENGTH; i < MAX_STATS; ++i) - SetFloatValue(UNIT_FIELD_NEGSTAT0+i, 0); + SetFloatValue(UNIT_FIELD_NEGSTAT+i, 0); } void Unit::ApplyStatBuffMod(Stats stat, float val, bool apply) { - ApplyModSignedFloatValue((val > 0 ? UNIT_FIELD_POSSTAT0+stat : UNIT_FIELD_NEGSTAT0+stat), val, apply); + ApplyModSignedFloatValue((val > 0 ? UNIT_FIELD_POSSTAT+stat : UNIT_FIELD_NEGSTAT+stat), val, apply); } void Unit::ApplyStatPercentBuffMod(Stats stat, float val, bool apply) { - ApplyPercentModFloatValue(UNIT_FIELD_POSSTAT0+stat, val, apply); - ApplyPercentModFloatValue(UNIT_FIELD_NEGSTAT0+stat, val, apply); + ApplyPercentModFloatValue(UNIT_FIELD_POSSTAT+stat, val, apply); + ApplyPercentModFloatValue(UNIT_FIELD_NEGSTAT+stat, val, apply); } void Unit::_RegisterDynObject(DynamicObject* dynObj) @@ -10210,8 +10210,8 @@ void Unit::ClearInCombat() SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC); // set immunity state to the one from db on evade ClearUnitState(UNIT_STATE_ATTACK_PLAYER); - if (HasFlag(UNIT_DYNAMIC_FLAGS, UNIT_DYNFLAG_TAPPED)) - SetUInt32Value(UNIT_DYNAMIC_FLAGS, creature->GetCreatureTemplate()->dynamicflags); + if (HasFlag(OBJECT_DYNAMIC_FLAGS, UNIT_DYNFLAG_TAPPED)) + SetUInt32Value(OBJECT_DYNAMIC_FLAGS, creature->GetCreatureTemplate()->dynamicflags); if (creature->IsPet()) { @@ -11763,7 +11763,7 @@ int32 Unit::GetPower(Powers power) const if (powerIndex == MAX_POWERS) return 0; - return GetUInt32Value(UNIT_FIELD_POWER1 + powerIndex); + return GetUInt32Value(UNIT_FIELD_POWER + powerIndex); } int32 Unit::GetMaxPower(Powers power) const @@ -11772,7 +11772,7 @@ int32 Unit::GetMaxPower(Powers power) const if (powerIndex == MAX_POWERS) return 0; - return GetInt32Value(UNIT_FIELD_MAXPOWER1 + powerIndex); + return GetInt32Value(UNIT_FIELD_MAXPOWER + powerIndex); } void Unit::SetPower(Powers power, int32 val) @@ -11785,7 +11785,7 @@ void Unit::SetPower(Powers power, int32 val) if (maxPower < val) val = maxPower; - SetInt32Value(UNIT_FIELD_POWER1 + powerIndex, val); + SetInt32Value(UNIT_FIELD_POWER + powerIndex, val); if (IsInWorld()) { @@ -11821,7 +11821,7 @@ void Unit::SetMaxPower(Powers power, int32 val) return; int32 cur_power = GetPower(power); - SetInt32Value(UNIT_FIELD_MAXPOWER1 + powerIndex, val); + SetInt32Value(UNIT_FIELD_MAXPOWER + powerIndex, val); // group update if (GetTypeId() == TYPEID_PLAYER) @@ -13101,9 +13101,9 @@ void Unit::ApplyAttackTimePercentMod(WeaponAttackType att, float val, bool apply if (GetTypeId() == TYPEID_PLAYER) { if (att == BASE_ATTACK) - ApplyPercentModFloatValue(PLAYER_FIELD_MOD_HASTE, val, !apply); + ApplyPercentModFloatValue(UNIT_FIELD_MOD_HASTE, val, !apply); else if (att == RANGED_ATTACK) - ApplyPercentModFloatValue(PLAYER_FIELD_MOD_RANGED_HASTE, val, !apply); + ApplyPercentModFloatValue(UNIT_FIELD_MOD_RANGED_HASTE, val, !apply); } } else @@ -13114,9 +13114,9 @@ void Unit::ApplyAttackTimePercentMod(WeaponAttackType att, float val, bool apply if (GetTypeId() == TYPEID_PLAYER) { if (att == BASE_ATTACK) - ApplyPercentModFloatValue(PLAYER_FIELD_MOD_HASTE, -val, apply); + ApplyPercentModFloatValue(UNIT_FIELD_MOD_HASTE, -val, apply); else if (att == RANGED_ATTACK) - ApplyPercentModFloatValue(PLAYER_FIELD_MOD_RANGED_HASTE, -val, apply); + ApplyPercentModFloatValue(UNIT_FIELD_MOD_RANGED_HASTE, -val, apply); } } m_attackTimer[att] = uint32(GetAttackTime(att) * m_modAttackSpeedPct[att] * remainingTimePct); @@ -13863,7 +13863,7 @@ void Unit::Kill(Unit* victim, bool durabilityLoss) // must be after setDeathState which resets dynamic flags if (!creature->loot.isLooted()) - creature->SetFlag(UNIT_DYNAMIC_FLAGS, UNIT_DYNFLAG_LOOTABLE); + creature->SetFlag(OBJECT_DYNAMIC_FLAGS, UNIT_DYNFLAG_LOOTABLE); else creature->AllLootRemovedFromCorpse(); } @@ -16492,7 +16492,7 @@ void Unit::BuildValuesUpdate(uint8 updateType, ByteBuffer* data, Player* target) if (GetOwnerGUID() == target->GetGUID()) visibleFlag |= UF_FLAG_OWNER; - if (HasFlag(UNIT_DYNAMIC_FLAGS, UNIT_DYNFLAG_SPECIALINFO)) + if (HasFlag(OBJECT_DYNAMIC_FLAGS, UNIT_DYNFLAG_SPECIALINFO)) if (HasAuraTypeWithCaster(SPELL_AURA_EMPATHY, target->GetGUID())) visibleFlag |= UF_FLAG_SPECIAL_INFO; @@ -16531,10 +16531,10 @@ void Unit::BuildValuesUpdate(uint8 updateType, ByteBuffer* data, Player* target) fieldBuffer << uint32(m_floatValues[index] < 0 ? 0 : m_floatValues[index]); } // there are some float values which may be negative or can't get negative due to other checks - else if ((index >= UNIT_FIELD_NEGSTAT0 && index <= UNIT_FIELD_NEGSTAT4) || + else if ((index >= UNIT_FIELD_NEGSTAT && index < UNIT_FIELD_NEGSTAT + 5) || (index >= UNIT_FIELD_RESISTANCEBUFFMODSPOSITIVE && index <= (UNIT_FIELD_RESISTANCEBUFFMODSPOSITIVE + 6)) || (index >= UNIT_FIELD_RESISTANCEBUFFMODSNEGATIVE && index <= (UNIT_FIELD_RESISTANCEBUFFMODSNEGATIVE + 6)) || - (index >= UNIT_FIELD_POSSTAT0 && index <= UNIT_FIELD_POSSTAT4)) + (index >= UNIT_FIELD_POSSTAT && index < UNIT_FIELD_POSSTAT + 5)) { fieldBuffer << uint32(m_floatValues[index]); } @@ -16587,9 +16587,9 @@ void Unit::BuildValuesUpdate(uint8 updateType, ByteBuffer* data, Player* target) fieldBuffer << uint32(displayId); } // hide lootable animation for unallowed players - else if (index == UNIT_DYNAMIC_FLAGS) + else if (index == OBJECT_DYNAMIC_FLAGS) { - uint32 dynamicFlags = m_uint32Values[UNIT_DYNAMIC_FLAGS] & ~(UNIT_DYNFLAG_TAPPED | UNIT_DYNFLAG_TAPPED_BY_PLAYER); + uint32 dynamicFlags = m_uint32Values[OBJECT_DYNAMIC_FLAGS] & ~(UNIT_DYNFLAG_TAPPED | UNIT_DYNFLAG_TAPPED_BY_PLAYER); if (creature) { diff --git a/src/server/game/Entities/Unit/Unit.h b/src/server/game/Entities/Unit/Unit.h index 4d6bb4cd6f1..b28d26af2c9 100644 --- a/src/server/game/Entities/Unit/Unit.h +++ b/src/server/game/Entities/Unit/Unit.h @@ -1379,8 +1379,8 @@ class Unit : public WorldObject uint32 getClassMask() const { return 1 << (getClass()-1); } uint8 getGender() const { return GetByteValue(UNIT_FIELD_BYTES_0, 2); } - float GetStat(Stats stat) const { return float(GetUInt32Value(UNIT_FIELD_STAT0+stat)); } - void SetStat(Stats stat, int32 val) { SetStatInt32Value(UNIT_FIELD_STAT0+stat, val); } + float GetStat(Stats stat) const { return float(GetUInt32Value(UNIT_FIELD_STAT+stat)); } + void SetStat(Stats stat, int32 val) { SetStatInt32Value(UNIT_FIELD_STAT+stat, val); } uint32 GetArmor() const { return GetResistance(SPELL_SCHOOL_NORMAL); } void SetArmor(int32 val) { SetResistance(SPELL_SCHOOL_NORMAL, val); } @@ -1854,8 +1854,8 @@ class Unit : public WorldObject uint32 GetCreateMana() const { return GetUInt32Value(UNIT_FIELD_BASE_MANA); } uint32 GetPowerIndex(uint32 powerType) const; int32 GetCreatePowers(Powers power) const; - float GetPosStat(Stats stat) const { return GetFloatValue(UNIT_FIELD_POSSTAT0+stat); } - float GetNegStat(Stats stat) const { return GetFloatValue(UNIT_FIELD_NEGSTAT0+stat); } + float GetPosStat(Stats stat) const { return GetFloatValue(UNIT_FIELD_POSSTAT+stat); } + float GetNegStat(Stats stat) const { return GetFloatValue(UNIT_FIELD_NEGSTAT+stat); } float GetCreateStat(Stats stat) const { return m_createStats[stat]; } ObjectGuid GetChannelObjectGuid() const { return GetGuidValue(UNIT_FIELD_CHANNEL_OBJECT); } diff --git a/src/server/game/Guilds/Guild.cpp b/src/server/game/Guilds/Guild.cpp index 84a466e5001..b3c648cdae9 100644 --- a/src/server/game/Guilds/Guild.cpp +++ b/src/server/game/Guilds/Guild.cpp @@ -602,7 +602,7 @@ bool Guild::BankTab::SetItem(SQLTransaction& trans, uint8 slotId, Item* item) CharacterDatabase.ExecuteOrAppend(trans, stmt); item->SetGuidValue(ITEM_FIELD_CONTAINED, ObjectGuid::Empty); - item->SetGuidValue(ITEM_FIELD_OWNER, ObjectGuid::Empty); + item->SetOwnerGUID(ObjectGuid::Empty); item->FSetState(ITEM_NEW); item->SaveToDB(trans); // Not in inventory and can be saved standalone } diff --git a/src/server/game/Handlers/LootHandler.cpp b/src/server/game/Handlers/LootHandler.cpp index 68cac2aa12d..225e6de55c1 100644 --- a/src/server/game/Handlers/LootHandler.cpp +++ b/src/server/game/Handlers/LootHandler.cpp @@ -366,7 +366,7 @@ void WorldSession::DoLootRelease(ObjectGuid lguid) loot = &creature->loot; if (loot->isLooted()) { - creature->RemoveFlag(UNIT_DYNAMIC_FLAGS, UNIT_DYNFLAG_LOOTABLE); + creature->RemoveFlag(OBJECT_DYNAMIC_FLAGS, UNIT_DYNFLAG_LOOTABLE); // skip pickpocketing loot for speed, skinning timer reduction is no-op in fact if (!creature->IsAlive()) @@ -386,7 +386,7 @@ void WorldSession::DoLootRelease(ObjectGuid lguid) group->SendLooter(creature, NULL); // force update of dynamic flags, otherwise other group's players still not able to loot. - creature->ForceValuesUpdateAtIndex(UNIT_DYNAMIC_FLAGS); + creature->ForceValuesUpdateAtIndex(OBJECT_DYNAMIC_FLAGS); } } } diff --git a/src/server/game/Handlers/PetitionsHandler.cpp b/src/server/game/Handlers/PetitionsHandler.cpp index 78b593605e0..dd95492fb54 100644 --- a/src/server/game/Handlers/PetitionsHandler.cpp +++ b/src/server/game/Handlers/PetitionsHandler.cpp @@ -201,7 +201,7 @@ void WorldSession::HandlePetitionBuyOpcode(WorldPacket& recvData) if (!charter) return; - charter->SetUInt32Value(ITEM_FIELD_ENCHANTMENT_1_1, charter->GetGUID().GetCounter()); + charter->SetUInt32Value(ITEM_FIELD_ENCHANTMENT, charter->GetGUID().GetCounter()); // ITEM_FIELD_ENCHANTMENT_1_1 is guild/arenateam id // ITEM_FIELD_ENCHANTMENT_1_1+1 is current signatures count (showed on item) charter->SetState(ITEM_CHANGED, _player); diff --git a/src/server/game/Maps/TransportMgr.cpp b/src/server/game/Maps/TransportMgr.cpp index cf61ec3adf8..f92e5144479 100644 --- a/src/server/game/Maps/TransportMgr.cpp +++ b/src/server/game/Maps/TransportMgr.cpp @@ -72,6 +72,9 @@ void TransportMgr::LoadTransportTemplates() continue; } + if (!goInfo->moTransport.taxiPathId) + continue; + // paths are generated per template, saves us from generating it again in case of instanced transports TransportTemplate& transport = _transportTemplates[entry]; transport.entry = entry; diff --git a/src/server/game/Server/WorldSession.cpp b/src/server/game/Server/WorldSession.cpp index efe28806dc6..050a30a4b5d 100644 --- a/src/server/game/Server/WorldSession.cpp +++ b/src/server/game/Server/WorldSession.cpp @@ -539,7 +539,7 @@ void WorldSession::LogoutPlayer(bool save) for (int j = BUYBACK_SLOT_START; j < BUYBACK_SLOT_END; ++j) { eslot = j - BUYBACK_SLOT_START; - _player->SetGuidValue(PLAYER_FIELD_VENDORBUYBACK_SLOT_1 + (eslot * 2), ObjectGuid::Empty); + _player->SetGuidValue(PLAYER_FIELD_INV_SLOT_HEAD + (j * 4), ObjectGuid::Empty); _player->SetUInt32Value(PLAYER_FIELD_BUYBACK_PRICE_1 + eslot, 0); _player->SetUInt32Value(PLAYER_FIELD_BUYBACK_TIMESTAMP_1 + eslot, 0); } diff --git a/src/server/game/Spells/Auras/SpellAuraEffects.cpp b/src/server/game/Spells/Auras/SpellAuraEffects.cpp index ba48d62a58e..cb7df6c2650 100644 --- a/src/server/game/Spells/Auras/SpellAuraEffects.cpp +++ b/src/server/game/Spells/Auras/SpellAuraEffects.cpp @@ -2221,7 +2221,7 @@ void AuraEffect::HandleFeignDeath(AuraApplication const* aurApp, uint8 mode, boo target->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_UNK_29); // blizz like 2.0.x target->SetFlag(UNIT_FIELD_FLAGS_2, UNIT_FLAG2_FEIGN_DEATH); // blizz like 2.0.x - target->SetFlag(UNIT_DYNAMIC_FLAGS, UNIT_DYNFLAG_DEAD); // blizz like 2.0.x + target->SetFlag(OBJECT_DYNAMIC_FLAGS, UNIT_DYNFLAG_DEAD); // blizz like 2.0.x target->AddUnitState(UNIT_STATE_DIED); if (Creature* creature = target->ToCreature()) @@ -2236,7 +2236,7 @@ void AuraEffect::HandleFeignDeath(AuraApplication const* aurApp, uint8 mode, boo target->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_UNK_29); // blizz like 2.0.x target->RemoveFlag(UNIT_FIELD_FLAGS_2, UNIT_FLAG2_FEIGN_DEATH); // blizz like 2.0.x - target->RemoveFlag(UNIT_DYNAMIC_FLAGS, UNIT_DYNFLAG_DEAD); // blizz like 2.0.x + target->RemoveFlag(OBJECT_DYNAMIC_FLAGS, UNIT_DYNFLAG_DEAD); // blizz like 2.0.x target->ClearUnitState(UNIT_STATE_DIED); if (Creature* creature = target->ToCreature()) @@ -2493,12 +2493,12 @@ void AuraEffect::HandleAuraModStalked(AuraApplication const* aurApp, uint8 mode, // used by spells: Hunter's Mark, Mind Vision, Syndicate Tracker (MURP) DND if (apply) - target->SetFlag(UNIT_DYNAMIC_FLAGS, UNIT_DYNFLAG_TRACK_UNIT); + target->SetFlag(OBJECT_DYNAMIC_FLAGS, UNIT_DYNFLAG_TRACK_UNIT); else { // do not remove unit flag if there are more than this auraEffect of that kind on unit on unit if (!target->HasAuraType(GetAuraType())) - target->RemoveFlag(UNIT_DYNAMIC_FLAGS, UNIT_DYNFLAG_TRACK_UNIT); + target->RemoveFlag(OBJECT_DYNAMIC_FLAGS, UNIT_DYNFLAG_TRACK_UNIT); } // call functions which may have additional effects after chainging state of unit @@ -5106,7 +5106,7 @@ void AuraEffect::HandleAuraEmpathy(AuraApplication const* aurApp, uint8 mode, bo } if (target->GetCreatureType() == CREATURE_TYPE_BEAST) - target->ApplyModUInt32Value(UNIT_DYNAMIC_FLAGS, UNIT_DYNFLAG_SPECIALINFO, apply); + target->ApplyModUInt32Value(OBJECT_DYNAMIC_FLAGS, UNIT_DYNFLAG_SPECIALINFO, apply); } void AuraEffect::HandleAuraModFaction(AuraApplication const* aurApp, uint8 mode, bool apply) const diff --git a/src/server/game/Spells/SpellEffects.cpp b/src/server/game/Spells/SpellEffects.cpp index d5a54a7f1a1..32decae2b14 100644 --- a/src/server/game/Spells/SpellEffects.cpp +++ b/src/server/game/Spells/SpellEffects.cpp @@ -4435,7 +4435,7 @@ void Spell::EffectSkinning(SpellEffIndex /*effIndex*/) m_caster->ToPlayer()->SendLoot(creature->GetGUID(), LOOT_SKINNING); creature->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_SKINNABLE); - creature->SetFlag(UNIT_DYNAMIC_FLAGS, UNIT_DYNFLAG_LOOTABLE); + creature->SetFlag(OBJECT_DYNAMIC_FLAGS, UNIT_DYNFLAG_LOOTABLE); int32 reqValue = targetLevel < 10 ? 0 : targetLevel < 20 ? (targetLevel-10)*10 : targetLevel*5; @@ -4692,7 +4692,7 @@ void Spell::EffectResurrectPet(SpellEffIndex /*effIndex*/) pet->Relocate(x, y, z, player->GetOrientation()); // This is needed so SaveStayPosition() will get the proper coords. } - pet->SetUInt32Value(UNIT_DYNAMIC_FLAGS, UNIT_DYNFLAG_NONE); + pet->SetUInt32Value(OBJECT_DYNAMIC_FLAGS, UNIT_DYNFLAG_NONE); pet->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_SKINNABLE); pet->setDeathState(ALIVE); pet->ClearUnitState(uint32(UNIT_STATE_ALL_STATE)); @@ -5437,7 +5437,7 @@ void Spell::SummonGuardian(uint32 i, uint32 entry, SummonPropertiesEntry const* if (summon->GetEntry() == 27893) { - if (uint32 weapon = m_caster->GetUInt32Value(PLAYER_VISIBLE_ITEM_16_ENTRYID)) + if (uint32 weapon = m_caster->GetUInt32Value(PLAYER_VISIBLE_ITEM + VISIBLE_ITEM_ENTRY_OFFSET + (EQUIPMENT_SLOT_MAINHAND * 2))) { summon->SetDisplayId(11686); // modelid2 summon->SetUInt32Value(UNIT_VIRTUAL_ITEM_SLOT_ID, weapon); diff --git a/src/server/scripts/Commands/cs_modify.cpp b/src/server/scripts/Commands/cs_modify.cpp index 3ab7fd9637d..0075891ba5f 100644 --- a/src/server/scripts/Commands/cs_modify.cpp +++ b/src/server/scripts/Commands/cs_modify.cpp @@ -313,7 +313,7 @@ public: uint32 factionid = target->getFaction(); uint32 flag = target->GetUInt32Value(UNIT_FIELD_FLAGS); uint32 npcflag = target->GetUInt32Value(UNIT_NPC_FLAGS); - uint32 dyflag = target->GetUInt32Value(UNIT_DYNAMIC_FLAGS); + uint32 dyflag = target->GetUInt32Value(OBJECT_DYNAMIC_FLAGS); handler->PSendSysMessage(LANG_CURRENT_FACTION, target->GetGUID().ToString().c_str(), factionid, flag, npcflag, dyflag); return true; } @@ -339,7 +339,7 @@ public: uint32 dyflag; if (!pdyflag) - dyflag = target->GetUInt32Value(UNIT_DYNAMIC_FLAGS); + dyflag = target->GetUInt32Value(OBJECT_DYNAMIC_FLAGS); else dyflag = atoi(pdyflag); @@ -355,7 +355,7 @@ public: target->setFaction(factionid); target->SetUInt32Value(UNIT_FIELD_FLAGS, flag); target->SetUInt32Value(UNIT_NPC_FLAGS, npcflag); - target->SetUInt32Value(UNIT_DYNAMIC_FLAGS, dyflag); + target->SetUInt32Value(OBJECT_DYNAMIC_FLAGS, dyflag); return true; } diff --git a/src/server/scripts/Commands/cs_npc.cpp b/src/server/scripts/Commands/cs_npc.cpp index feba03d259e..cd914517122 100644 --- a/src/server/scripts/Commands/cs_npc.cpp +++ b/src/server/scripts/Commands/cs_npc.cpp @@ -751,7 +751,7 @@ public: if (target->GetUInt32Value(UNIT_FIELD_FLAGS) & unitFlags[i].Value) handler->PSendSysMessage("%s (0x%X)", unitFlags[i].Name, unitFlags[i].Value); - handler->PSendSysMessage(LANG_NPCINFO_FLAGS, target->GetUInt32Value(UNIT_FIELD_FLAGS_2), target->GetUInt32Value(UNIT_DYNAMIC_FLAGS), target->getFaction()); + handler->PSendSysMessage(LANG_NPCINFO_FLAGS, target->GetUInt32Value(UNIT_FIELD_FLAGS_2), target->GetUInt32Value(OBJECT_DYNAMIC_FLAGS), target->getFaction()); handler->PSendSysMessage(LANG_COMMAND_RAWPAWNTIMES, defRespawnDelayStr.c_str(), curRespawnDelayStr.c_str()); handler->PSendSysMessage(LANG_NPCINFO_LOOT, cInfo->lootid, cInfo->pickpocketLootId, cInfo->SkinLootId); handler->PSendSysMessage(LANG_NPCINFO_DUNGEON_ID, target->GetInstanceId()); diff --git a/src/server/scripts/EasternKingdoms/Karazhan/bosses_opera.cpp b/src/server/scripts/EasternKingdoms/Karazhan/bosses_opera.cpp index e32b32029d2..944858fc573 100644 --- a/src/server/scripts/EasternKingdoms/Karazhan/bosses_opera.cpp +++ b/src/server/scripts/EasternKingdoms/Karazhan/bosses_opera.cpp @@ -1271,7 +1271,7 @@ public: Julianne->setDeathState(JUST_DIED); Julianne->CombatStop(true); Julianne->DeleteThreatList(); - Julianne->SetUInt32Value(UNIT_DYNAMIC_FLAGS, UNIT_DYNFLAG_LOOTABLE); + Julianne->SetUInt32Value(OBJECT_DYNAMIC_FLAGS, UNIT_DYNFLAG_LOOTABLE); } return; } @@ -1547,7 +1547,7 @@ void boss_julianne::boss_julianneAI::DamageTaken(Unit* /*done_by*/, uint32 &dama Romulo->setDeathState(JUST_DIED); Romulo->CombatStop(true); Romulo->DeleteThreatList(); - Romulo->SetUInt32Value(UNIT_DYNAMIC_FLAGS, UNIT_DYNFLAG_LOOTABLE); + Romulo->SetUInt32Value(OBJECT_DYNAMIC_FLAGS, UNIT_DYNFLAG_LOOTABLE); } return; diff --git a/src/server/scripts/EasternKingdoms/MagistersTerrace/boss_priestess_delrissa.cpp b/src/server/scripts/EasternKingdoms/MagistersTerrace/boss_priestess_delrissa.cpp index 9acf82c312e..c6bd65cb909 100644 --- a/src/server/scripts/EasternKingdoms/MagistersTerrace/boss_priestess_delrissa.cpp +++ b/src/server/scripts/EasternKingdoms/MagistersTerrace/boss_priestess_delrissa.cpp @@ -248,8 +248,8 @@ public: instance->SetBossState(DATA_DELRISSA, DONE); else { - if (me->HasFlag(UNIT_DYNAMIC_FLAGS, UNIT_DYNFLAG_LOOTABLE)) - me->RemoveFlag(UNIT_DYNAMIC_FLAGS, UNIT_DYNFLAG_LOOTABLE); + if (me->HasFlag(OBJECT_DYNAMIC_FLAGS, UNIT_DYNFLAG_LOOTABLE)) + me->RemoveFlag(OBJECT_DYNAMIC_FLAGS, UNIT_DYNFLAG_LOOTABLE); } } @@ -441,8 +441,8 @@ struct boss_priestess_lackey_commonAI : public ScriptedAI //time to make her lootable and complete event if she died before lackeys if (!pDelrissa->IsAlive()) { - if (!pDelrissa->HasFlag(UNIT_DYNAMIC_FLAGS, UNIT_DYNFLAG_LOOTABLE)) - pDelrissa->SetFlag(UNIT_DYNAMIC_FLAGS, UNIT_DYNFLAG_LOOTABLE); + if (!pDelrissa->HasFlag(OBJECT_DYNAMIC_FLAGS, UNIT_DYNFLAG_LOOTABLE)) + pDelrissa->SetFlag(OBJECT_DYNAMIC_FLAGS, UNIT_DYNFLAG_LOOTABLE); instance->SetBossState(DATA_DELRISSA, DONE); } diff --git a/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_headless_horseman.cpp b/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_headless_horseman.cpp index f42e28026a7..d2288ab8af7 100644 --- a/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_headless_horseman.cpp +++ b/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_headless_horseman.cpp @@ -887,7 +887,7 @@ class go_loosely_turned_soil : public GameObjectScript public: go_loosely_turned_soil() : GameObjectScript("go_loosely_turned_soil") { } - bool OnGossipHello(Player* player, GameObject* go) override + bool OnGossipHello(Player* player, GameObject* /*go*/) override { if (InstanceScript* instance = player->GetInstanceScript()) if (instance->GetBossState(DATA_HORSEMAN_EVENT) == IN_PROGRESS || player->GetQuestStatus(QUEST_CALL_THE_HEADLESS_HORSEMAN) != QUEST_STATUS_COMPLETE) diff --git a/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_eredar_twins.cpp b/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_eredar_twins.cpp index 7613811e021..9705e4305d7 100644 --- a/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_eredar_twins.cpp +++ b/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_eredar_twins.cpp @@ -157,7 +157,7 @@ public: instance->SetBossState(DATA_EREDAR_TWINS, DONE); } else - me->RemoveFlag(UNIT_DYNAMIC_FLAGS, UNIT_DYNFLAG_LOOTABLE); + me->RemoveFlag(OBJECT_DYNAMIC_FLAGS, UNIT_DYNFLAG_LOOTABLE); } void SpellHitTarget(Unit* target, const SpellInfo* spell) override @@ -433,7 +433,7 @@ public: instance->SetBossState(DATA_EREDAR_TWINS, DONE); } else - me->RemoveFlag(UNIT_DYNAMIC_FLAGS, UNIT_DYNFLAG_LOOTABLE); + me->RemoveFlag(OBJECT_DYNAMIC_FLAGS, UNIT_DYNFLAG_LOOTABLE); } void SpellHitTarget(Unit* target, const SpellInfo* spell) override diff --git a/src/server/scripts/EasternKingdoms/ZulAman/zulaman.cpp b/src/server/scripts/EasternKingdoms/ZulAman/zulaman.cpp index 900b7b52bd7..dd1152a02a5 100644 --- a/src/server/scripts/EasternKingdoms/ZulAman/zulaman.cpp +++ b/src/server/scripts/EasternKingdoms/ZulAman/zulaman.cpp @@ -107,7 +107,7 @@ class npc_voljin_zulaman : public CreatureScript _events.Reset(); me->SetUInt32Value(UNIT_FIELD_MOUNTDISPLAYID, 0); me->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP); - me->SetUInt32Value(UNIT_DYNAMIC_FLAGS, UNIT_DYNFLAG_NONE); + me->SetUInt32Value(OBJECT_DYNAMIC_FLAGS, UNIT_DYNFLAG_NONE); _events.ScheduleEvent(EVENT_INTRO_MOVEPOINT_1, 1000); Talk(SAY_INTRO_1, player); me->SetWalk(true); diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjal_trash.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjal_trash.cpp index c6adbd58c4a..56b79b6b3e1 100644 --- a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjal_trash.cpp +++ b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjal_trash.cpp @@ -402,7 +402,7 @@ void hyjal_trashAI::JustDied(Unit* /*killer*/) instance->SetData(DATA_TRASH, 0);//signal trash is dead if ((instance->GetData(DATA_RAIDDAMAGE) < MINRAIDDAMAGE && !me->isWorldBoss()) || (damageTaken < me->GetMaxHealth()/4 && me->isWorldBoss())) - me->RemoveFlag(UNIT_DYNAMIC_FLAGS, UNIT_DYNFLAG_LOOTABLE);//no loot + me->RemoveFlag(OBJECT_DYNAMIC_FLAGS, UNIT_DYNFLAG_LOOTABLE);//no loot } class npc_giant_infernal : public CreatureScript diff --git a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_bug_trio.cpp b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_bug_trio.cpp index 4ed4c3c2e26..861ef1227d6 100644 --- a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_bug_trio.cpp +++ b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_bug_trio.cpp @@ -90,7 +90,7 @@ public: void JustDied(Unit* /*killer*/) override { if (instance->GetData(DATA_BUG_TRIO_DEATH) < 2)// Unlootable if death - me->RemoveFlag(UNIT_DYNAMIC_FLAGS, UNIT_DYNFLAG_LOOTABLE); + me->RemoveFlag(OBJECT_DYNAMIC_FLAGS, UNIT_DYNFLAG_LOOTABLE); instance->SetData(DATA_BUG_TRIO_DEATH, 1); } @@ -184,7 +184,7 @@ public: { instance->SetData(DATA_VEM_DEATH, 0); if (instance->GetData(DATA_BUG_TRIO_DEATH) < 2)// Unlootable if death - me->RemoveFlag(UNIT_DYNAMIC_FLAGS, UNIT_DYNFLAG_LOOTABLE); + me->RemoveFlag(OBJECT_DYNAMIC_FLAGS, UNIT_DYNFLAG_LOOTABLE); instance->SetData(DATA_BUG_TRIO_DEATH, 1); } @@ -278,7 +278,7 @@ public: void JustDied(Unit* /*killer*/) override { if (instance->GetData(DATA_BUG_TRIO_DEATH) < 2)// Unlootable if death - me->RemoveFlag(UNIT_DYNAMIC_FLAGS, UNIT_DYNFLAG_LOOTABLE); + me->RemoveFlag(OBJECT_DYNAMIC_FLAGS, UNIT_DYNFLAG_LOOTABLE); instance->SetData(DATA_BUG_TRIO_DEATH, 1); for (uint8 i = 0; i < 10; ++i) diff --git a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_twinemperors.cpp b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_twinemperors.cpp index c653064d62c..62123282e0b 100644 --- a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_twinemperors.cpp +++ b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_twinemperors.cpp @@ -125,7 +125,7 @@ struct boss_twinemperorsAI : public ScriptedAI if (ohealth <= 0) { pOtherBoss->setDeathState(JUST_DIED); - pOtherBoss->SetFlag(UNIT_DYNAMIC_FLAGS, UNIT_DYNFLAG_LOOTABLE); + pOtherBoss->SetFlag(OBJECT_DYNAMIC_FLAGS, UNIT_DYNFLAG_LOOTABLE); } } } @@ -137,7 +137,7 @@ struct boss_twinemperorsAI : public ScriptedAI { pOtherBoss->SetHealth(0); pOtherBoss->setDeathState(JUST_DIED); - pOtherBoss->SetFlag(UNIT_DYNAMIC_FLAGS, UNIT_DYNFLAG_LOOTABLE); + pOtherBoss->SetFlag(OBJECT_DYNAMIC_FLAGS, UNIT_DYNFLAG_LOOTABLE); ENSURE_AI(boss_twinemperorsAI, pOtherBoss->AI())->DontYellWhenDead = true; } if (!DontYellWhenDead) // I hope AI is not threaded diff --git a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_twin_valkyr.cpp b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_twin_valkyr.cpp index 63b47da0807..5d76a441933 100644 --- a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_twin_valkyr.cpp +++ b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_twin_valkyr.cpp @@ -251,13 +251,13 @@ struct boss_twin_baseAI : public BossAI { if (!pSister->IsAlive()) { - me->SetFlag(UNIT_DYNAMIC_FLAGS, UNIT_DYNFLAG_LOOTABLE); - pSister->SetFlag(UNIT_DYNAMIC_FLAGS, UNIT_DYNFLAG_LOOTABLE); + me->SetFlag(OBJECT_DYNAMIC_FLAGS, UNIT_DYNFLAG_LOOTABLE); + pSister->SetFlag(OBJECT_DYNAMIC_FLAGS, UNIT_DYNFLAG_LOOTABLE); _JustDied(); } else { - me->RemoveFlag(UNIT_DYNAMIC_FLAGS, UNIT_DYNFLAG_LOOTABLE); + me->RemoveFlag(OBJECT_DYNAMIC_FLAGS, UNIT_DYNFLAG_LOOTABLE); instance->SetBossState(BOSS_VALKIRIES, SPECIAL); } } diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_blood_prince_council.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_blood_prince_council.cpp index da952dc31c3..01022a3c963 100644 --- a/src/server/scripts/Northrend/IcecrownCitadel/boss_blood_prince_council.cpp +++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_blood_prince_council.cpp @@ -489,7 +489,7 @@ class boss_prince_keleseth_icc : public CreatureScript case ACTION_STAND_UP: me->RemoveAurasDueToSpell(SPELL_FEIGN_DEATH); me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE | UNIT_FLAG_IMMUNE_TO_PC); - me->RemoveFlag(UNIT_DYNAMIC_FLAGS, UNIT_DYNFLAG_DEAD); + me->RemoveFlag(OBJECT_DYNAMIC_FLAGS, UNIT_DYNFLAG_DEAD); me->RemoveFlag(UNIT_FIELD_FLAGS_2, UNIT_FLAG2_FEIGN_DEATH); me->ForceValuesUpdateAtIndex(UNIT_NPC_FLAGS); // was in sniff. don't ask why me->m_Events.AddEvent(new StandUpEvent(*me), me->m_Events.CalculateTime(1000)); @@ -708,7 +708,7 @@ class boss_prince_taldaram_icc : public CreatureScript case ACTION_STAND_UP: me->RemoveAurasDueToSpell(SPELL_FEIGN_DEATH); me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE | UNIT_FLAG_IMMUNE_TO_PC); - me->RemoveFlag(UNIT_DYNAMIC_FLAGS, UNIT_DYNFLAG_DEAD); + me->RemoveFlag(OBJECT_DYNAMIC_FLAGS, UNIT_DYNFLAG_DEAD); me->RemoveFlag(UNIT_FIELD_FLAGS_2, UNIT_FLAG2_FEIGN_DEATH); me->ForceValuesUpdateAtIndex(UNIT_NPC_FLAGS); // was in sniff. don't ask why me->m_Events.AddEvent(new StandUpEvent(*me), me->m_Events.CalculateTime(1000)); @@ -947,7 +947,7 @@ class boss_prince_valanar_icc : public CreatureScript case ACTION_STAND_UP: me->RemoveAurasDueToSpell(SPELL_FEIGN_DEATH); me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE | UNIT_FLAG_IMMUNE_TO_PC); - me->RemoveFlag(UNIT_DYNAMIC_FLAGS, UNIT_DYNFLAG_DEAD); + me->RemoveFlag(OBJECT_DYNAMIC_FLAGS, UNIT_DYNFLAG_DEAD); me->RemoveFlag(UNIT_FIELD_FLAGS_2, UNIT_FLAG2_FEIGN_DEATH); me->ForceValuesUpdateAtIndex(UNIT_NPC_FLAGS); // was in sniff. don't ask why me->m_Events.AddEvent(new StandUpEvent(*me), me->m_Events.CalculateTime(1000)); diff --git a/src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/boss_skarvald_dalronn.cpp b/src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/boss_skarvald_dalronn.cpp index bf11e3cca7b..edc62beb63d 100644 --- a/src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/boss_skarvald_dalronn.cpp +++ b/src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/boss_skarvald_dalronn.cpp @@ -121,7 +121,7 @@ struct generic_boss_controllerAI : public BossAI if (otherBoss->IsAlive()) { Talk(SAY_DIED_FIRST); - me->RemoveFlag(UNIT_DYNAMIC_FLAGS, UNIT_DYNFLAG_LOOTABLE); + me->RemoveFlag(OBJECT_DYNAMIC_FLAGS, UNIT_DYNFLAG_LOOTABLE); otherBoss->AI()->DoAction(ACTION_OTHER_JUST_DIED); DoCast(me, OtherBossData == DATA_DALRONN ? SPELL_SUMMON_SKARVALD_GHOST : SPELL_SUMMON_DALRONN_GHOST, true); } diff --git a/src/server/scripts/Northrend/zone_borean_tundra.cpp b/src/server/scripts/Northrend/zone_borean_tundra.cpp index 830f9624ae0..5585d09b0d6 100644 --- a/src/server/scripts/Northrend/zone_borean_tundra.cpp +++ b/src/server/scripts/Northrend/zone_borean_tundra.cpp @@ -147,7 +147,7 @@ public: if (Unit* worm = me->FindNearestCreature(NPC_SCOURGED_BURROWER, 3.0f)) { me->Kill(worm); - worm->RemoveFlag(UNIT_DYNAMIC_FLAGS, UNIT_DYNFLAG_LOOTABLE); + worm->RemoveFlag(OBJECT_DYNAMIC_FLAGS, UNIT_DYNFLAG_LOOTABLE); } phaseTimer = 2000; phase = 7; diff --git a/src/server/scripts/Northrend/zone_grizzly_hills.cpp b/src/server/scripts/Northrend/zone_grizzly_hills.cpp index 198fd53438a..899d9cbe30d 100644 --- a/src/server/scripts/Northrend/zone_grizzly_hills.cpp +++ b/src/server/scripts/Northrend/zone_grizzly_hills.cpp @@ -372,7 +372,7 @@ public: { me->SetStandState(UNIT_STAND_STATE_DEAD); me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC); - me->SetUInt32Value(UNIT_DYNAMIC_FLAGS, UNIT_DYNFLAG_DEAD); + me->SetUInt32Value(OBJECT_DYNAMIC_FLAGS, UNIT_DYNFLAG_DEAD); } _phase = 0; } diff --git a/src/server/scripts/Spells/spell_generic.cpp b/src/server/scripts/Spells/spell_generic.cpp index 153e4fa758c..badb19c12c3 100644 --- a/src/server/scripts/Spells/spell_generic.cpp +++ b/src/server/scripts/Spells/spell_generic.cpp @@ -1069,7 +1069,7 @@ class spell_gen_creature_permanent_feign_death : public SpellScriptLoader void HandleEffectApply(AuraEffect const* /*aurEff*/, AuraEffectHandleModes /*mode*/) { Unit* target = GetTarget(); - target->SetFlag(UNIT_DYNAMIC_FLAGS, UNIT_DYNFLAG_DEAD); + target->SetFlag(OBJECT_DYNAMIC_FLAGS, UNIT_DYNFLAG_DEAD); target->SetFlag(UNIT_FIELD_FLAGS_2, UNIT_FLAG2_FEIGN_DEATH); if (target->GetTypeId() == TYPEID_UNIT) diff --git a/src/server/scripts/Spells/spell_quest.cpp b/src/server/scripts/Spells/spell_quest.cpp index 311c37e085f..f8f788b0332 100644 --- a/src/server/scripts/Spells/spell_quest.cpp +++ b/src/server/scripts/Spells/spell_quest.cpp @@ -838,7 +838,7 @@ class spell_symbol_of_life_dummy : public SpellScriptLoader if (target->HasAura(SPELL_PERMANENT_FEIGN_DEATH)) { target->RemoveAurasDueToSpell(SPELL_PERMANENT_FEIGN_DEATH); - target->SetUInt32Value(UNIT_DYNAMIC_FLAGS, 0); + target->SetUInt32Value(OBJECT_DYNAMIC_FLAGS, 0); target->SetUInt32Value(UNIT_FIELD_FLAGS_2, 0); target->SetHealth(target->GetMaxHealth() / 2); target->SetPower(POWER_MANA, uint32(target->GetMaxPower(POWER_MANA) * 0.75f)); diff --git a/src/server/scripts/World/npcs_special.cpp b/src/server/scripts/World/npcs_special.cpp index 6df02b7b20d..57c0ddf066e 100644 --- a/src/server/scripts/World/npcs_special.cpp +++ b/src/server/scripts/World/npcs_special.cpp @@ -829,7 +829,7 @@ public: me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IN_COMBAT); me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE); me->setDeathState(JUST_DIED); - me->SetFlag(UNIT_DYNAMIC_FLAGS, 32); + me->SetFlag(OBJECT_DYNAMIC_FLAGS, 32); if (!DoctorGUID.IsEmpty()) if (Creature* doctor = ObjectAccessor::GetCreature((*me), DoctorGUID)) |