diff options
Diffstat (limited to 'src/server/game/Entities')
42 files changed, 6530 insertions, 4958 deletions
diff --git a/src/server/game/Entities/AreaTrigger/AreaTrigger.cpp b/src/server/game/Entities/AreaTrigger/AreaTrigger.cpp index b03bdab76ce..4e4e70e1b0a 100644 --- a/src/server/game/Entities/AreaTrigger/AreaTrigger.cpp +++ b/src/server/game/Entities/AreaTrigger/AreaTrigger.cpp @@ -46,7 +46,8 @@ AreaTrigger::AreaTrigger() : WorldObject(false), MapObject(), _aurEff(nullptr), m_objectType |= TYPEMASK_AREATRIGGER; m_objectTypeId = TYPEID_AREATRIGGER; - m_updateFlag = UPDATEFLAG_STATIONARY_POSITION | UPDATEFLAG_AREATRIGGER; + m_updateFlag.Stationary = true; + m_updateFlag.AreaTrigger = true; m_valuesCount = AREATRIGGER_END; _dynamicValuesCount = AREATRIGGER_DYNAMIC_END; @@ -142,7 +143,7 @@ bool AreaTrigger::Create(uint32 spellMiscId, Unit* caster, Unit* target, SpellIn { AreaTriggerCircularMovementInfo cmi = GetMiscTemplate()->CircularMovementInfo; if (target && GetTemplate()->HasFlag(AREATRIGGER_FLAG_HAS_ATTACHED)) - cmi.TargetGUID = target->GetGUID(); + cmi.PathTarget = target->GetGUID(); else cmi.Center = pos; @@ -637,12 +638,12 @@ void AreaTrigger::InitSplines(std::vector<G3D::Vector3> splinePoints, uint32 tim { if (_reachedDestination) { - WorldPackets::AreaTrigger::AreaTriggerReShape reshape; + WorldPackets::AreaTrigger::AreaTriggerRePath reshape; reshape.TriggerGUID = GetGUID(); SendMessageToSet(reshape.Write(), true); } - WorldPackets::AreaTrigger::AreaTriggerReShape reshape; + WorldPackets::AreaTrigger::AreaTriggerRePath reshape; reshape.TriggerGUID = GetGUID(); reshape.AreaTriggerSpline = boost::in_place(); reshape.AreaTriggerSpline->ElapsedTimeForMovement = GetElapsedTimeForMovement(); @@ -664,7 +665,7 @@ bool AreaTrigger::HasSplines() const void AreaTrigger::InitCircularMovement(AreaTriggerCircularMovementInfo const& cmi, uint32 timeToTarget) { // Circular movement requires either a center position or an attached unit - ASSERT(cmi.Center.is_initialized() || cmi.TargetGUID.is_initialized()); + ASSERT(cmi.Center.is_initialized() || cmi.PathTarget.is_initialized()); // should be sent in object create packets only m_uint32Values[AREATRIGGER_TIME_TO_TARGET] = timeToTarget; @@ -676,7 +677,7 @@ void AreaTrigger::InitCircularMovement(AreaTriggerCircularMovementInfo const& cm if (IsInWorld()) { - WorldPackets::AreaTrigger::AreaTriggerReShape reshape; + WorldPackets::AreaTrigger::AreaTriggerRePath reshape; reshape.TriggerGUID = GetGUID(); reshape.AreaTriggerCircularMovement = _circularMovementInfo; @@ -691,11 +692,11 @@ bool AreaTrigger::HasCircularMovement() const Position const* AreaTrigger::GetCircularMovementCenterPosition() const { - if (_circularMovementInfo.is_initialized()) + if (!_circularMovementInfo.is_initialized()) return nullptr; - if (_circularMovementInfo->TargetGUID.is_initialized()) - if (WorldObject* center = ObjectAccessor::GetWorldObject(*this, *_circularMovementInfo->TargetGUID)) + if (_circularMovementInfo->PathTarget.is_initialized()) + if (WorldObject* center = ObjectAccessor::GetWorldObject(*this, *_circularMovementInfo->PathTarget)) return center; if (_circularMovementInfo->Center.is_initialized()) diff --git a/src/server/game/Entities/AreaTrigger/AreaTriggerTemplate.cpp b/src/server/game/Entities/AreaTrigger/AreaTriggerTemplate.cpp index 633988b17b0..431c4cc7d57 100644 --- a/src/server/game/Entities/AreaTrigger/AreaTriggerTemplate.cpp +++ b/src/server/game/Entities/AreaTrigger/AreaTriggerTemplate.cpp @@ -96,6 +96,9 @@ AreaTriggerMiscTemplate::AreaTriggerMiscTemplate() MorphCurveId = 0; FacingCurveId = 0; + AnimId = 0; + AnimKitId = 0; + DecalPropertiesId = 0; TimeToTarget = 0; diff --git a/src/server/game/Entities/AreaTrigger/AreaTriggerTemplate.h b/src/server/game/Entities/AreaTrigger/AreaTriggerTemplate.h index 35be0f40f7f..2371c65cf09 100644 --- a/src/server/game/Entities/AreaTrigger/AreaTriggerTemplate.h +++ b/src/server/game/Entities/AreaTrigger/AreaTriggerTemplate.h @@ -36,10 +36,11 @@ enum AreaTriggerFlags AREATRIGGER_FLAG_HAS_FOLLOWS_TERRAIN = 0x00010, // NYI AREATRIGGER_FLAG_UNK1 = 0x00020, AREATRIGGER_FLAG_HAS_TARGET_ROLL_PITCH_YAW = 0x00040, // NYI - AREATRIGGER_FLAG_UNK2 = 0x00080, + AREATRIGGER_FLAG_HAS_ANIM_ID = 0x00080, AREATRIGGER_FLAG_UNK3 = 0x00100, - AREATRIGGER_FLAG_UNK4 = 0x00200, - AREATRIGGER_FLAG_HAS_CIRCULAR_MOVEMENT = 0x00400 + AREATRIGGER_FLAG_HAS_ANIM_KIT_ID = 0x00200, + AREATRIGGER_FLAG_HAS_CIRCULAR_MOVEMENT = 0x00400, + AREATRIGGER_FLAG_UNK5 = 0x00800, }; enum AreaTriggerTypes @@ -96,7 +97,7 @@ struct AreaTriggerScaleInfo struct AreaTriggerCircularMovementInfo { - Optional<ObjectGuid> TargetGUID; + Optional<ObjectGuid> PathTarget; Optional<TaggedPosition<Position::XYZ>> Center; bool CounterClockwise = false; bool CanLoop = false; @@ -190,6 +191,9 @@ public: uint32 MorphCurveId; uint32 FacingCurveId; + int32 AnimId; + int32 AnimKitId; + uint32 DecalPropertiesId; uint32 TimeToTarget; diff --git a/src/server/game/Entities/Conversation/Conversation.cpp b/src/server/game/Entities/Conversation/Conversation.cpp index 13339f3169f..0445f8ff6bc 100644 --- a/src/server/game/Entities/Conversation/Conversation.cpp +++ b/src/server/game/Entities/Conversation/Conversation.cpp @@ -30,7 +30,8 @@ Conversation::Conversation() : WorldObject(false), _duration(0) m_objectType |= TYPEMASK_CONVERSATION; m_objectTypeId = TYPEID_CONVERSATION; - m_updateFlag = UPDATEFLAG_STATIONARY_POSITION; + m_updateFlag.Stationary = true; + m_updateFlag.Conversation = true; m_valuesCount = CONVERSATION_END; _dynamicValuesCount = CONVERSATION_DYNAMIC_END; @@ -123,13 +124,15 @@ bool Conversation::Create(ObjectGuid::LowType lowGuid, uint32 conversationEntry, SetUInt32Value(CONVERSATION_LAST_LINE_END_TIME, conversationTemplate->LastLineEndTime); _duration = conversationTemplate->LastLineEndTime; + _textureKitId = conversationTemplate->TextureKitId; for (uint16 actorIndex = 0; actorIndex < conversationTemplate->Actors.size(); ++actorIndex) { if (ConversationActorTemplate const* actor = conversationTemplate->Actors[actorIndex]) { ConversationDynamicFieldActor actorField; - actorField.ActorTemplate = *actor; + actorField.ActorTemplate.CreatureId = actor->CreatureId; + actorField.ActorTemplate.CreatureModelId = actor->CreatureModelId; actorField.Type = ConversationDynamicFieldActor::ActorType::CreatureActor; SetDynamicStructuredValue(CONVERSATION_DYNAMIC_FIELD_ACTORS, actorIndex, &actorField); } diff --git a/src/server/game/Entities/Conversation/Conversation.h b/src/server/game/Entities/Conversation/Conversation.h index 860264b1de8..ddc44ddfea9 100644 --- a/src/server/game/Entities/Conversation/Conversation.h +++ b/src/server/game/Entities/Conversation/Conversation.h @@ -47,8 +47,11 @@ struct ConversationDynamicFieldActor union { ObjectGuid ActorGuid; - - ConversationActorTemplate ActorTemplate; + struct + { + uint32 CreatureId; + uint32 CreatureModelId; + } ActorTemplate; struct { @@ -75,6 +78,7 @@ class TC_GAME_API Conversation : public WorldObject, public GridObject<Conversat void Update(uint32 diff) override; void Remove(); int32 GetDuration() const { return _duration; } + uint32 GetTextureKitId() const { return _textureKitId; } static Conversation* CreateConversation(uint32 conversationEntry, Unit* creator, Position const& pos, GuidUnorderedSet&& participants, SpellInfo const* spellInfo = nullptr); bool Create(ObjectGuid::LowType lowGuid, uint32 conversationEntry, Map* map, Unit* creator, Position const& pos, GuidUnorderedSet&& participants, SpellInfo const* spellInfo = nullptr); @@ -95,6 +99,7 @@ class TC_GAME_API Conversation : public WorldObject, public GridObject<Conversat Position _stationaryPosition; ObjectGuid _creatorGuid; uint32 _duration; + uint32 _textureKitId; GuidUnorderedSet _participants; }; diff --git a/src/server/game/Entities/Corpse/Corpse.cpp b/src/server/game/Entities/Corpse/Corpse.cpp index a62b2ecbbc1..a2956b61cb3 100644 --- a/src/server/game/Entities/Corpse/Corpse.cpp +++ b/src/server/game/Entities/Corpse/Corpse.cpp @@ -33,7 +33,7 @@ Corpse::Corpse(CorpseType type) : WorldObject(type != CORPSE_BONES), m_type(type m_objectType |= TYPEMASK_CORPSE; m_objectTypeId = TYPEID_CORPSE; - m_updateFlag = UPDATEFLAG_STATIONARY_POSITION; + m_updateFlag.Stationary = true; m_valuesCount = CORPSE_END; _dynamicValuesCount = CORPSE_DYNAMIC_END; diff --git a/src/server/game/Entities/Creature/Creature.cpp b/src/server/game/Entities/Creature/Creature.cpp index e0f03a7717e..fde7d49a943 100644 --- a/src/server/game/Entities/Creature/Creature.cpp +++ b/src/server/game/Entities/Creature/Creature.cpp @@ -77,68 +77,67 @@ VendorItem const* VendorItemData::FindItemCostPair(uint32 item_id, uint32 extend return nullptr; } -uint32 CreatureTemplate::GetRandomValidModelId() const -{ - uint8 c = 0; - uint32 modelIDs[4]; - - if (Modelid1) modelIDs[c++] = Modelid1; - if (Modelid2) modelIDs[c++] = Modelid2; - if (Modelid3) modelIDs[c++] = Modelid3; - if (Modelid4) modelIDs[c++] = Modelid4; - - return ((c>0) ? modelIDs[urand(0, c-1)] : 0); -} +CreatureModel const CreatureModel::DefaultInvisibleModel(11686, 1.0f, 1.0f); +CreatureModel const CreatureModel::DefaultVisibleModel(17519, 1.0f, 1.0f); -uint32 CreatureTemplate::GetFirstValidModelId() const +CreatureModel const* CreatureTemplate::GetModelByIdx(uint32 idx) const { - if (Modelid1) return Modelid1; - if (Modelid2) return Modelid2; - if (Modelid3) return Modelid3; - if (Modelid4) return Modelid4; - return 0; + return idx < Models.size() ? &Models[idx] : nullptr; } -uint32 CreatureTemplate::GetFirstInvisibleModel() const +CreatureModel const* CreatureTemplate::GetRandomValidModel() const { - CreatureModelInfo const* modelInfo = sObjectMgr->GetCreatureModelInfo(Modelid1); - if (modelInfo && modelInfo->is_trigger) - return Modelid1; + if (!Models.size()) + return nullptr; - modelInfo = sObjectMgr->GetCreatureModelInfo(Modelid2); - if (modelInfo && modelInfo->is_trigger) - return Modelid2; + // If only one element, ignore the Probability (even if 0) + if (Models.size() == 1) + return &Models[0]; - modelInfo = sObjectMgr->GetCreatureModelInfo(Modelid3); - if (modelInfo && modelInfo->is_trigger) - return Modelid3; + auto selectedItr = Trinity::Containers::SelectRandomWeightedContainerElement(Models, [](CreatureModel const& model) + { + return model.Probability; + }); - modelInfo = sObjectMgr->GetCreatureModelInfo(Modelid4); - if (modelInfo && modelInfo->is_trigger) - return Modelid4; + return &(*selectedItr); +} - return 11686; +CreatureModel const* CreatureTemplate::GetFirstValidModel() const +{ + for (CreatureModel const& model : Models) + if (model.CreatureDisplayID) + return &model; + + return nullptr; } -uint32 CreatureTemplate::GetFirstVisibleModel() const +CreatureModel const* CreatureTemplate::GetModelWithDisplayId(uint32 displayId) const { - CreatureModelInfo const* modelInfo = sObjectMgr->GetCreatureModelInfo(Modelid1); - if (modelInfo && !modelInfo->is_trigger) - return Modelid1; + for (CreatureModel const& model : Models) + if (displayId == model.CreatureDisplayID) + return &model; - modelInfo = sObjectMgr->GetCreatureModelInfo(Modelid2); - if (modelInfo && !modelInfo->is_trigger) - return Modelid2; + return nullptr; +} - modelInfo = sObjectMgr->GetCreatureModelInfo(Modelid3); - if (modelInfo && !modelInfo->is_trigger) - return Modelid3; +CreatureModel const* CreatureTemplate::GetFirstInvisibleModel() const +{ + for (CreatureModel const& model : Models) + if (CreatureModelInfo const* modelInfo = sObjectMgr->GetCreatureModelInfo(model.CreatureDisplayID)) + if (modelInfo && modelInfo->is_trigger) + return &model; + + return &CreatureModel::DefaultInvisibleModel; +} - modelInfo = sObjectMgr->GetCreatureModelInfo(Modelid4); - if (modelInfo && !modelInfo->is_trigger) - return Modelid4; +CreatureModel const* CreatureTemplate::GetFirstVisibleModel() const +{ + for (CreatureModel const& model : Models) + if (CreatureModelInfo const* modelInfo = sObjectMgr->GetCreatureModelInfo(model.CreatureDisplayID)) + if (modelInfo && !modelInfo->is_trigger) + return &model; - return 17519; + return &CreatureModel::DefaultVisibleModel; } bool AssistDelayEvent::Execute(uint64 /*e_time*/, uint32 /*p_time*/) @@ -347,22 +346,22 @@ bool Creature::InitEntry(uint32 entry, CreatureData const* data /*= nullptr*/) SetByteValue(UNIT_FIELD_BYTES_0, UNIT_BYTES_0_OFFSET_CLASS, uint8(cinfo->unit_class)); // Cancel load if no model defined - if (!(cinfo->GetFirstValidModelId())) + if (!(cinfo->GetFirstValidModel())) { TC_LOG_ERROR("sql.sql", "Creature (Entry: %u) has no model defined in table `creature_template`, can't load. ", entry); return false; } - uint32 displayID = ObjectMgr::ChooseDisplayId(GetCreatureTemplate(), data); - CreatureModelInfo const* minfo = sObjectMgr->GetCreatureModelRandomGender(&displayID); + CreatureModel model = *ObjectMgr::ChooseDisplayId(cinfo, data); + CreatureModelInfo const* minfo = sObjectMgr->GetCreatureModelRandomGender(&model, cinfo); if (!minfo) // Cancel load if no model defined { - TC_LOG_ERROR("sql.sql", "Creature (Entry: %u) has invalid model %u defined in table `creature_template`, can't load.", entry, displayID); + TC_LOG_ERROR("sql.sql", "Creature (Entry: %u) has invalid model %u defined in table `creature_template`, can't load.", entry, model.CreatureDisplayID); return false; } - SetDisplayId(displayID); - SetNativeDisplayId(displayID); + SetDisplayId(model.CreatureDisplayID, model.DisplayScale); + SetNativeDisplayId(model.CreatureDisplayID, model.DisplayScale); SetByteValue(UNIT_FIELD_BYTES_0, UNIT_BYTES_0_OFFSET_GENDER, minfo->gender); // Load creature equipment @@ -388,7 +387,7 @@ bool Creature::InitEntry(uint32 entry, CreatureData const* data /*= nullptr*/) SetSpeedRate(MOVE_SWIM, 1.0f); // using 1.0 rate SetSpeedRate(MOVE_FLIGHT, 1.0f); // using 1.0 rate - // Will set UNIT_FIELD_BOUNDINGRADIUS and UNIT_FIELD_COMBATREACH + // Will set UNIT_FIELD_BOUNDINGRADIUS, UNIT_FIELD_COMBATREACH and UNIT_FIELD_DISPLAYSCALE SetObjectScale(cinfo->scale); SetFloatValue(UNIT_FIELD_HOVERHEIGHT, cinfo->HoverHeight); @@ -434,6 +433,8 @@ bool Creature::UpdateEntry(uint32 entry, CreatureData const* data /*= nullptr*/, SetUInt32Value(OBJECT_DYNAMIC_FLAGS, dynamicFlags); + SetUInt32Value(UNIT_FIELD_STATE_ANIM_ID, sAnimationDataStore.GetNumRows()); + RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IN_COMBAT); SetBaseAttackTime(BASE_ATTACK, cInfo->BaseAttackTime); @@ -894,7 +895,8 @@ bool Creature::Create(ObjectGuid::LowType guidlow, Map* map, uint32 entry, float if (!CreateFromProto(guidlow, entry, data, vehId)) return false; - switch (GetCreatureTemplate()->rank) + cinfo = GetCreatureTemplate(); // might be different than initially requested + switch (cinfo->rank) { case CREATURE_ELITE_RARE: m_corpseDelay = sWorld->getIntConfig(CONFIG_CORPSE_DECAY_RARE); @@ -924,12 +926,12 @@ bool Creature::Create(ObjectGuid::LowType guidlow, Map* map, uint32 entry, float Relocate(x, y, z, ang); } - uint32 displayID = GetNativeDisplayId(); - CreatureModelInfo const* minfo = sObjectMgr->GetCreatureModelRandomGender(&displayID); + CreatureModel display(GetNativeDisplayId(), GetNativeDisplayScale(), 1.0f); + CreatureModelInfo const* minfo = sObjectMgr->GetCreatureModelRandomGender(&display, cinfo); if (minfo && !IsTotem()) // Cancel load if no model defined or if totem { - SetDisplayId(displayID); - SetNativeDisplayId(displayID); + SetDisplayId(display.CreatureDisplayID, display.DisplayScale); + SetNativeDisplayId(display.CreatureDisplayID, display.DisplayScale); SetByteValue(UNIT_FIELD_BYTES_0, UNIT_BYTES_0_OFFSET_GENDER, minfo->gender); } @@ -942,10 +944,10 @@ bool Creature::Create(ObjectGuid::LowType guidlow, Map* map, uint32 entry, float m_serverSideVisibilityDetect.SetValue(SERVERSIDE_VISIBILITY_GHOST, GHOST_VISIBILITY_GHOST); } - if (GetCreatureTemplate()->flags_extra & CREATURE_FLAG_EXTRA_IGNORE_PATHFINDING) + if (cinfo->flags_extra & CREATURE_FLAG_EXTRA_IGNORE_PATHFINDING) AddUnitState(UNIT_STATE_IGNORE_PATHFINDING); - if (GetCreatureTemplate()->flags_extra & CREATURE_FLAG_EXTRA_IMMUNITY_KNOCKBACK) + if (cinfo->flags_extra & CREATURE_FLAG_EXTRA_IMMUNITY_KNOCKBACK) { ApplySpellImmune(0, IMMUNITY_EFFECT, SPELL_EFFECT_KNOCK_BACK, true); ApplySpellImmune(0, IMMUNITY_EFFECT, SPELL_EFFECT_KNOCK_BACK_DEST, true); @@ -1129,9 +1131,9 @@ void Creature::SaveToDB(uint32 mapid, std::vector<Difficulty> const& spawnDiffic CreatureTemplate const* cinfo = GetCreatureTemplate(); if (cinfo) { - if (displayId == cinfo->Modelid1 || displayId == cinfo->Modelid2 || - displayId == cinfo->Modelid3 || displayId == cinfo->Modelid4) - displayId = 0; + for (CreatureModel model : cinfo->Models) + if (displayId && displayId == model.CreatureDisplayID) + displayId = 0; if (npcflag == cinfo->npcflag) npcflag = 0; @@ -1844,12 +1846,12 @@ void Creature::Respawn(bool force) setDeathState(JUST_RESPAWNED); - uint32 displayID = GetNativeDisplayId(); - CreatureModelInfo const* minfo = sObjectMgr->GetCreatureModelRandomGender(&displayID); + CreatureModel display(GetNativeDisplayId(), GetNativeDisplayScale(), 1.0f); + CreatureModelInfo const* minfo = sObjectMgr->GetCreatureModelRandomGender(&display, GetCreatureTemplate()); if (minfo) // Cancel load if no model defined { - SetDisplayId(displayID); - SetNativeDisplayId(displayID); + SetDisplayId(display.CreatureDisplayID, display.DisplayScale); + SetNativeDisplayId(display.CreatureDisplayID, display.DisplayScale); SetByteValue(UNIT_FIELD_BYTES_0, UNIT_BYTES_0_OFFSET_GENDER, minfo->gender); } @@ -2575,7 +2577,7 @@ uint8 Creature::GetLevelForTarget(WorldObject const* target) const uint8 targetLevelWithDelta = unitTarget->getLevel() + GetInt32Value(UNIT_FIELD_SCALING_LEVEL_DELTA); if (target->IsPlayer()) - targetLevelWithDelta += target->GetUInt32Value(PLAYER_FIELD_SCALING_PLAYER_LEVEL_DELTA); + targetLevelWithDelta += target->GetUInt32Value(ACTIVE_PLAYER_FIELD_SCALING_PLAYER_LEVEL_DELTA); return RoundToInterval<uint8>(targetLevelWithDelta, GetUInt32Value(UNIT_FIELD_SCALING_LEVEL_MIN), GetUInt32Value(UNIT_FIELD_SCALING_LEVEL_MAX)); } @@ -2853,9 +2855,9 @@ void Creature::SetObjectScale(float scale) } } -void Creature::SetDisplayId(uint32 modelId) +void Creature::SetDisplayId(uint32 modelId, float displayScale /*= 1.f*/) { - Unit::SetDisplayId(modelId); + Unit::SetDisplayId(modelId, displayScale); if (CreatureModelInfo const* minfo = sObjectMgr->GetCreatureModelInfo(modelId)) { @@ -2864,6 +2866,12 @@ void Creature::SetDisplayId(uint32 modelId) } } +void Creature::SetDisplayFromModel(uint32 modelIdx) +{ + if (CreatureModel const* model = GetCreatureTemplate()->GetModelByIdx(modelIdx)) + SetDisplayId(model->CreatureDisplayID, model->DisplayScale); +} + void Creature::SetTarget(ObjectGuid const& guid) { if (IsFocusing(nullptr, true)) diff --git a/src/server/game/Entities/Creature/Creature.h b/src/server/game/Entities/Creature/Creature.h index d87db9be2ca..b56fe8c9137 100644 --- a/src/server/game/Entities/Creature/Creature.h +++ b/src/server/game/Entities/Creature/Creature.h @@ -69,7 +69,8 @@ class TC_GAME_API Creature : public Unit, public GridObject<Creature>, public Ma void RemoveFromWorld() override; void SetObjectScale(float scale) override; - void SetDisplayId(uint32 modelId) override; + void SetDisplayId(uint32 displayId, float displayScale = 1.f) override; + void SetDisplayFromModel(uint32 modelIdx); void DisappearAndDie(); @@ -149,7 +150,6 @@ class TC_GAME_API Creature : public Unit, public GridObject<Creature>, public Ma bool UpdateStats(Stats stat) override; bool UpdateAllStats() override; - void UpdateResistances(uint32 school) override; void UpdateArmor() override; void UpdateMaxHealth() override; void UpdateMaxPower(Powers power) override; diff --git a/src/server/game/Entities/Creature/CreatureData.h b/src/server/game/Entities/Creature/CreatureData.h index d0d29d842e7..02fdcfbff16 100644 --- a/src/server/game/Entities/Creature/CreatureData.h +++ b/src/server/game/Entities/Creature/CreatureData.h @@ -301,16 +301,29 @@ struct CreatureLevelScaling int16 DeltaLevelMax; }; +struct CreatureModel +{ + static CreatureModel const DefaultInvisibleModel; + static CreatureModel const DefaultVisibleModel; + + CreatureModel() : + CreatureDisplayID(0), DisplayScale(0.0f), Probability(0.0f) { } + + CreatureModel(uint32 creatureDisplayID, float displayScale, float probability) : + CreatureDisplayID(creatureDisplayID), DisplayScale(displayScale), Probability(probability) { } + + uint32 CreatureDisplayID; + float DisplayScale; + float Probability; +}; + // from `creature_template` table struct TC_GAME_API CreatureTemplate { uint32 Entry; uint32 DifficultyEntry[MAX_CREATURE_DIFFICULTIES]; uint32 KillCredit[MAX_KILL_CREDIT]; - uint32 Modelid1; - uint32 Modelid2; - uint32 Modelid3; - uint32 Modelid4; + std::vector<CreatureModel> Models; std::string Name; std::string FemaleName; std::string SubName; @@ -369,10 +382,12 @@ struct TC_GAME_API CreatureTemplate uint32 MechanicImmuneMask; uint32 flags_extra; uint32 ScriptID; - uint32 GetRandomValidModelId() const; - uint32 GetFirstValidModelId() const; - uint32 GetFirstInvisibleModel() const; - uint32 GetFirstVisibleModel() const; + CreatureModel const* GetModelByIdx(uint32 idx) const; + CreatureModel const* GetRandomValidModel() const; + CreatureModel const* GetFirstValidModel() const; + CreatureModel const* GetModelWithDisplayId(uint32 displayId) const; + CreatureModel const* GetFirstInvisibleModel() const; + CreatureModel const* GetFirstVisibleModel() const; // helpers SkillType GetRequiredLootSkill() const diff --git a/src/server/game/Entities/Creature/GossipDef.cpp b/src/server/game/Entities/Creature/GossipDef.cpp index 98a253fe870..9f5b461ef8d 100644 --- a/src/server/game/Entities/Creature/GossipDef.cpp +++ b/src/server/game/Entities/Creature/GossipDef.cpp @@ -286,6 +286,7 @@ void PlayerMenu::SendPointOfInterest(uint32 id) const } WorldPackets::NPC::GossipPOI packet; + packet.ID = pointOfInterest->ID; packet.Name = pointOfInterest->Name; LocaleConstant localeConstant = _session->GetSessionDbLocaleIndex(); @@ -438,6 +439,7 @@ void PlayerMenu::SendQuestGiverQuestDetails(Quest const* quest, ObjectGuid npcGU packet.InformUnit = _session->GetPlayer()->GetDivider(); packet.QuestID = quest->GetQuestId(); packet.PortraitGiver = quest->GetQuestGiverPortrait(); + packet.PortraitGiverMount = quest->GetQuestGiverPortraitMount(); packet.PortraitTurnIn = quest->GetQuestTurnInPortrait(); packet.AutoLaunched = autoLaunched; packet.DisplayPopup = displayPopup; @@ -512,6 +514,7 @@ void PlayerMenu::SendQuestQueryResponse(Quest const* quest) const packet.Info.QuestID = quest->GetQuestId(); packet.Info.QuestType = quest->GetQuestType(); packet.Info.QuestLevel = quest->GetQuestLevel(); + packet.Info.QuestScalingFactionGroup = quest->GetQuestScalingFactionGroup(); packet.Info.QuestMaxScalingLevel = quest->GetQuestMaxScalingLevel(); packet.Info.QuestPackageID = quest->GetQuestPackageID(); packet.Info.QuestMinLevel = quest->GetMinLevel(); @@ -543,12 +546,14 @@ void PlayerMenu::SendQuestQueryResponse(Quest const* quest) const packet.Info.StartItem = quest->GetSrcItemId(); packet.Info.Flags = quest->GetFlags(); packet.Info.FlagsEx = quest->GetFlagsEx(); + packet.Info.FlagsEx2 = quest->GetFlagsEx2(); packet.Info.RewardTitle = quest->GetRewTitle(); packet.Info.RewardArenaPoints = quest->GetRewArenaPoints(); packet.Info.RewardSkillLineID = quest->GetRewardSkillId(); packet.Info.RewardNumSkillUps = quest->GetRewardSkillPoints(); packet.Info.RewardFactionFlags = quest->GetRewardReputationMask(); packet.Info.PortraitGiver = quest->GetQuestGiverPortrait(); + packet.Info.PortraitGiverMount = quest->GetQuestGiverPortraitMount(); packet.Info.PortraitTurnIn = quest->GetQuestTurnInPortrait(); for (uint8 i = 0; i < QUEST_ITEM_DROP_COUNT; ++i) @@ -585,7 +590,7 @@ void PlayerMenu::SendQuestQueryResponse(Quest const* quest) const packet.Info.POIPriority = quest->GetPOIPriority(); packet.Info.AllowableRaces = quest->GetAllowableRaces(); - packet.Info.QuestRewardID = quest->GetRewardId(); + packet.Info.TreasurePickerID = quest->GetTreasurePickerId(); packet.Info.Expansion = quest->GetExpansion(); for (QuestObjective const& questObjective : quest->GetObjectives()) @@ -666,6 +671,7 @@ void PlayerMenu::SendQuestGiverOfferReward(Quest const* quest, ObjectGuid npcGUI packet.PortraitTurnIn = quest->GetQuestTurnInPortrait(); packet.PortraitGiver = quest->GetQuestGiverPortrait(); + packet.PortraitGiverMount = quest->GetQuestGiverPortraitMount(); packet.QuestPackageID = quest->GetQuestPackageID(); _session->SendPacket(packet.Write()); diff --git a/src/server/game/Entities/Creature/Trainer.cpp b/src/server/game/Entities/Creature/Trainer.cpp index fb9f0af7f19..af59acb7496 100644 --- a/src/server/game/Entities/Creature/Trainer.cpp +++ b/src/server/game/Entities/Creature/Trainer.cpp @@ -24,6 +24,10 @@ namespace Trainer { + bool Spell::IsCastable() const + { + return sSpellMgr->AssertSpellInfo(SpellId)->HasEffect(SPELL_EFFECT_LEARN_SPELL); + } Trainer::Trainer(uint32 id, Type type, std::string greeting, std::vector<Spell> spells) : _id(id), _type(type), _spells(std::move(spells)) { @@ -136,9 +140,30 @@ namespace Trainer return SpellState::Unavailable; // check ranks - if (uint32 previousRankSpellId = sSpellMgr->GetPrevSpellInChain(trainerSpell->LearnedSpellId)) - if (!player->HasSpell(previousRankSpellId)) - return SpellState::Unavailable; + bool hasLearnSpellEffect = false; + bool knowsAllLearnedSpells = true; + for (SpellEffectInfo const* spellEffect : sSpellMgr->AssertSpellInfo(trainerSpell->SpellId)->GetEffectsForDifficulty(DIFFICULTY_NONE)) + { + if (!spellEffect || !spellEffect->IsEffect(SPELL_EFFECT_LEARN_SPELL)) + continue; + + hasLearnSpellEffect = true; + if (!player->HasSpell(spellEffect->TriggerSpell)) + knowsAllLearnedSpells = false; + + if (uint32 previousRankSpellId = sSpellMgr->GetPrevSpellInChain(spellEffect->TriggerSpell)) + if (!player->HasSpell(previousRankSpellId)) + return SpellState::Unavailable; + } + + if (!hasLearnSpellEffect) + { + if (uint32 previousRankSpellId = sSpellMgr->GetPrevSpellInChain(trainerSpell->SpellId)) + if (!player->HasSpell(previousRankSpellId)) + return SpellState::Unavailable; + } + else if (knowsAllLearnedSpells) + return SpellState::Known; // check additional spell requirement for (auto const& requirePair : sSpellMgr->GetSpellsRequiredForSpellBounds(trainerSpell->SpellId)) diff --git a/src/server/game/Entities/Creature/Trainer.h b/src/server/game/Entities/Creature/Trainer.h index f7e9c51dba1..20ee7deb3f5 100644 --- a/src/server/game/Entities/Creature/Trainer.h +++ b/src/server/game/Entities/Creature/Trainer.h @@ -59,8 +59,7 @@ namespace Trainer std::array<uint32, 3> ReqAbility = { }; uint8 ReqLevel = 0; - uint32 LearnedSpellId = 0; - bool IsCastable() const { return LearnedSpellId != SpellId; } + bool IsCastable() const; }; class Trainer diff --git a/src/server/game/Entities/DynamicObject/DynamicObject.cpp b/src/server/game/Entities/DynamicObject/DynamicObject.cpp index ed5e3dc043b..8ee595cb179 100644 --- a/src/server/game/Entities/DynamicObject/DynamicObject.cpp +++ b/src/server/game/Entities/DynamicObject/DynamicObject.cpp @@ -38,7 +38,7 @@ DynamicObject::DynamicObject(bool isWorldObject) : WorldObject(isWorldObject), m_objectType |= TYPEMASK_DYNAMICOBJECT; m_objectTypeId = TYPEID_DYNAMICOBJECT; - m_updateFlag = UPDATEFLAG_STATIONARY_POSITION; + m_updateFlag.Stationary = true; m_valuesCount = DYNAMICOBJECT_END; _dynamicValuesCount = DYNAMICOBJECT_DYNAMIC_END; diff --git a/src/server/game/Entities/GameObject/GameObject.cpp b/src/server/game/Entities/GameObject/GameObject.cpp index 89b59a11ab2..435ccc5c9a9 100644 --- a/src/server/game/Entities/GameObject/GameObject.cpp +++ b/src/server/game/Entities/GameObject/GameObject.cpp @@ -61,7 +61,8 @@ GameObject::GameObject() : WorldObject(false), MapObject(), m_objectType |= TYPEMASK_GAMEOBJECT; m_objectTypeId = TYPEID_GAMEOBJECT; - m_updateFlag = (UPDATEFLAG_STATIONARY_POSITION | UPDATEFLAG_ROTATION); + m_updateFlag.Stationary = true; + m_updateFlag.Rotation = true; m_valuesCount = GAMEOBJECT_END; _dynamicValuesCount = GAMEOBJECT_DYNAMIC_END; @@ -238,7 +239,7 @@ bool GameObject::Create(uint32 entry, Map* map, Position const& pos, QuaternionD else { guid = ObjectGuid::Create<HighGuid::Transport>(map->GenerateLowGuid<HighGuid::Transport>()); - m_updateFlag |= UPDATEFLAG_TRANSPORT; + m_updateFlag.ServerTime = true; } Object::_Create(guid); @@ -271,7 +272,7 @@ bool GameObject::Create(uint32 entry, Map* map, Position const& pos, QuaternionD if (m_goTemplateAddon->WorldEffectID) { - m_updateFlag |= UPDATEFLAG_GAMEOBJECT; + m_updateFlag.GameObject = true; SetWorldEffectID(m_goTemplateAddon->WorldEffectID); } } @@ -292,6 +293,8 @@ bool GameObject::Create(uint32 entry, Map* map, Position const& pos, QuaternionD SetGoState(goState); SetGoArtKit(artKit); + SetUInt32Value(GAMEOBJECT_STATE_ANIM_ID, sAnimationDataStore.GetNumRows()); + switch (goInfo->type) { case GAMEOBJECT_TYPE_FISHINGHOLE: @@ -376,7 +379,7 @@ bool GameObject::Create(uint32 entry, Map* map, Position const& pos, QuaternionD if (gameObjectAddon && gameObjectAddon->WorldEffectID) { - m_updateFlag |= UPDATEFLAG_GAMEOBJECT; + m_updateFlag.GameObject = true; SetWorldEffectID(gameObjectAddon->WorldEffectID); } diff --git a/src/server/game/Entities/GameObject/GameObjectData.h b/src/server/game/Entities/GameObject/GameObjectData.h index 3e600376a97..a699be4bcf7 100644 --- a/src/server/game/Entities/GameObject/GameObjectData.h +++ b/src/server/game/Entities/GameObject/GameObjectData.h @@ -105,7 +105,7 @@ struct GameObjectTemplate uint32 usegrouplootrules; // 15 use group loot rules, enum { false, true, }; Default: false uint32 floatingTooltip; // 16 floatingTooltip, enum { false, true, }; Default: false uint32 conditionID1; // 17 conditionID1, References: PlayerCondition, NoValue = 0 - int32 xpLevel; // 18 xpLevel, int, Min value: -1, Max value: 123, Default value: 0 + uint32 XPLevelRange; // 18 XP Level Range, References: ContentTuning, NoValue = 0 uint32 xpDifficulty; // 19 xpDifficulty, enum { No Exp, Trivial, Very Small, Small, Substandard, Standard, High, Epic, Dungeon, 5, }; Default: No Exp uint32 lootLevel; // 20 lootLevel, int, Min value: 0, Max value: 123, Default value: 0 uint32 GroupXP; // 21 Group XP, enum { false, true, }; Default: false @@ -120,6 +120,7 @@ struct GameObjectTemplate uint32 chestPersonalLoot; // 30 chest Personal Loot, References: Treasure, NoValue = 0 uint32 turnpersonallootsecurityoff; // 31 turn personal loot security off, enum { false, true, }; Default: false uint32 ChestProperties; // 32 Chest Properties, References: ChestProperties, NoValue = 0 + uint32 chestPushLoot; // 33 chest Push Loot, References: Treasure, NoValue = 0 } chest; // 4 GAMEOBJECT_TYPE_BINDER struct @@ -332,6 +333,7 @@ struct GameObjectTemplate { uint32 creatureID; // 0 creatureID, References: Creature, NoValue = 0 uint32 charges; // 1 charges, int, Min value: 0, Max value: 65535, Default value: 1 + uint32 Preferonlyifinlineofsight; // 2 Prefer only if in line of sight (expensive), enum { false, true, }; Default: false } guardPost; // 22 GAMEOBJECT_TYPE_SPELLCASTER struct @@ -503,7 +505,10 @@ struct GameObjectTemplate uint32 startOpen; // 1 startOpen, enum { false, true, }; Default: false uint32 autoClose; // 2 autoClose (ms), int, Min value: 0, Max value: 2147483647, Default value: 0 uint32 BlocksPathsDown; // 3 Blocks Paths Down, enum { false, true, }; Default: false - uint32 PathBlockerBump; // 4 Path Blocker Bump (ft), int, Min value: -2147483648, Max value: 2147483647, Default value: 0 + int32 PathBlockerBump; // 4 Path Blocker Bump (ft), int, Min value: -2147483648, Max value: 2147483647, Default value: 0 + uint32 GiganticAOI; // 5 Gigantic AOI, enum { false, true, }; Default: false + uint32 InfiniteAOI; // 6 Infinite AOI, enum { false, true, }; Default: false + uint32 DoorisOpaque; // 7 Door is Opaque (Disable portal on close), enum { false, true, }; Default: false } trapdoor; // 36 GAMEOBJECT_TYPE_NEW_FLAG struct @@ -581,7 +586,7 @@ struct GameObjectTemplate struct { int32 SpawnMap; // 0 Spawn Map, References: Map, NoValue = -1 - uint32 AreaNameSet; // 1 Area Name Set (Index), int, Min value: -2147483648, Max value: 2147483647, Default value: 0 + int32 AreaNameSet; // 1 Area Name Set (Index), int, Min value: -2147483648, Max value: 2147483647, Default value: 0 uint32 DoodadSetA; // 2 Doodad Set A, int, Min value: 0, Max value: 2147483647, Default value: 0 uint32 DoodadSetB; // 3 Doodad Set B, int, Min value: 0, Max value: 2147483647, Default value: 0 } phaseableMO; @@ -616,7 +621,7 @@ struct GameObjectTemplate // 48 GAMEOBJECT_TYPE_UI_LINK struct { - uint32 UILinkType; // 0 UI Link Type, enum { Adventure Journal, Obliterum Forge, }; Default: Adventure Journal + uint32 UILinkType; // 0 UI Link Type, enum { Adventure Journal, Obliterum Forge, Scrapping Machine, }; Default: Adventure Journal uint32 allowMounted; // 1 allowMounted, enum { false, true, }; Default: false uint32 GiganticAOI; // 2 Gigantic AOI, enum { false, true, }; Default: false uint32 spellFocusType; // 3 spellFocusType, References: SpellFocusObject, NoValue = 0 @@ -641,7 +646,7 @@ struct GameObjectTemplate uint32 openTextID; // 9 openTextID, References: BroadcastText, NoValue = 0 uint32 floatingTooltip; // 10 floatingTooltip, enum { false, true, }; Default: false uint32 conditionID1; // 11 conditionID1, References: PlayerCondition, NoValue = 0 - uint32 xpLevel; // 12 xpLevel, int, Min value: -1, Max value: 123, Default value: 0 + uint32 XPLevelRange; // 12 XP Level Range, References: ContentTuning, NoValue = 0 uint32 xpDifficulty; // 13 xpDifficulty, enum { No Exp, Trivial, Very Small, Small, Substandard, Standard, High, Epic, Dungeon, 5, }; Default: No Exp uint32 spell; // 14 spell, References: Spell, NoValue = 0 uint32 GiganticAOI; // 15 Gigantic AOI, enum { false, true, }; Default: false @@ -650,13 +655,45 @@ struct GameObjectTemplate uint32 MaxNumberofLoots; // 18 Max Number of Loots, int, Min value: 1, Max value: 40, Default value: 10 uint32 logloot; // 19 log loot, enum { false, true, }; Default: false uint32 linkedTrap; // 20 linkedTrap, References: GameObjects, NoValue = 0 + uint32 PlayOpenAnimationonOpening; // 21 Play Open Animation on Opening, enum { false, true, }; Default: false } gatheringNode; // 51 GAMEOBJECT_TYPE_CHALLENGE_MODE_REWARD struct { uint32 chestLoot; // 0 chestLoot, References: Treasure, NoValue = 0 uint32 WhenAvailable; // 1 When Available, References: GameObjectDisplayInfo, NoValue = 0 + uint32 open; // 2 open, References: Lock_, NoValue = 0 + uint32 openTextID; // 3 openTextID, References: BroadcastText, NoValue = 0 } challengeModeReward; + // 52 GAMEOBJECT_TYPE_MULTI + struct + { + uint32 MultiProperties; // 0 Multi Properties, References: MultiProperties, NoValue = 0 + } multi; + // 53 GAMEOBJECT_TYPE_SIEGEABLE_MULTI + struct + { + uint32 MultiProperties; // 0 Multi Properties, References: MultiProperties, NoValue = 0 + uint32 InitialDamage; // 1 Initial Damage, enum { None, Raw, Ratio, }; Default: None + } siegeableMulti; + // 54 GAMEOBJECT_TYPE_SIEGEABLE_MO + struct + { + uint32 SiegeableProperties; // 0 Siegeable Properties, References: SiegeableProperties, NoValue = 0 + uint32 DoodadSetA; // 1 Doodad Set A, int, Min value: 0, Max value: 2147483647, Default value: 0 + uint32 DoodadSetB; // 2 Doodad Set B, int, Min value: 0, Max value: 2147483647, Default value: 0 + uint32 DoodadSetC; // 3 Doodad Set C, int, Min value: 0, Max value: 2147483647, Default value: 0 + int32 SpawnMap; // 4 Spawn Map, References: Map, NoValue = -1 + int32 AreaNameSet; // 5 Area Name Set (Index), int, Min value: -2147483648, Max value: 2147483647, Default value: 0 + } siegeableMO; + // 55 GAMEOBJECT_TYPE_PVP_REWARD + struct + { + uint32 chestLoot; // 0 chestLoot, References: Treasure, NoValue = 0 + uint32 WhenAvailable; // 1 When Available, References: GameObjectDisplayInfo, NoValue = 0 + uint32 open; // 2 open, References: Lock_, NoValue = 0 + uint32 openTextID; // 3 openTextID, References: BroadcastText, NoValue = 0 + } pvpReward; struct { uint32 data[MAX_GAMEOBJECT_DATA]; @@ -709,6 +746,8 @@ struct GameObjectTemplate case GAMEOBJECT_TYPE_NEW_FLAG_DROP: return newflagdrop.open; case GAMEOBJECT_TYPE_CAPTURE_POINT: return capturePoint.open; case GAMEOBJECT_TYPE_GATHERING_NODE: return gatheringNode.open; + case GAMEOBJECT_TYPE_CHALLENGE_MODE_REWARD: return challengeModeReward.open; + case GAMEOBJECT_TYPE_PVP_REWARD: return pvpReward.open; default: return 0; } } diff --git a/src/server/game/Entities/Item/Item.cpp b/src/server/game/Entities/Item/Item.cpp index a146d3f0b58..847c3c47c79 100644 --- a/src/server/game/Entities/Item/Item.cpp +++ b/src/server/game/Entities/Item/Item.cpp @@ -275,8 +275,6 @@ Item::Item() m_objectType |= TYPEMASK_ITEM; m_objectTypeId = TYPEID_ITEM; - m_updateFlag = 0; - m_valuesCount = ITEM_END; _dynamicValuesCount = ITEM_DYNAMIC_END; m_slot = 0; @@ -316,14 +314,8 @@ bool Item::Create(ObjectGuid::LowType guidlow, uint32 itemId, Player const* owne SetUInt32Value(ITEM_FIELD_DURABILITY, itemProto->MaxDurability); for (std::size_t i = 0; i < itemProto->Effects.size(); ++i) - { if (i < 5) SetSpellCharges(i, itemProto->Effects[i]->Charges); - if (SpellInfo const* spellInfo = sSpellMgr->GetSpellInfo(itemProto->Effects[i]->SpellID)) - if (owner && spellInfo->HasEffect(SPELL_EFFECT_GIVE_ARTIFACT_POWER)) - if (uint32 artifactKnowledgeLevel = sWorld->getIntConfig(CONFIG_CURRENCY_START_ARTIFACT_KNOWLEDGE)) - SetModifier(ITEM_MODIFIER_ARTIFACT_KNOWLEDGE_LEVEL, artifactKnowledgeLevel + 1); - } SetUInt32Value(ITEM_FIELD_DURATION, itemProto->GetDuration()); SetUInt32Value(ITEM_FIELD_CREATE_PLAYED_TIME, 0); @@ -1709,7 +1701,7 @@ bool Item::HasStats() const ItemTemplate const* proto = GetTemplate(); Player const* owner = GetOwner(); for (uint8 i = 0; i < MAX_ITEM_PROTO_STATS; ++i) - if ((owner ? GetItemStatValue(i, owner) : proto->GetItemStatValue(i)) != 0) + if ((owner ? GetItemStatValue(i, owner) : proto->GetItemStatAllocation(i)) != 0) return true; return false; @@ -1721,7 +1713,7 @@ bool Item::HasStats(WorldPackets::Item::ItemInstance const& itemInstance, BonusD return true; for (uint8 i = 0; i < MAX_ITEM_PROTO_STATS; ++i) - if (bonus->ItemStatValue[i] != 0) + if (bonus->ItemStatAllocation[i] != 0) return true; return false; @@ -2231,9 +2223,9 @@ uint32 Item::GetItemLevel(ItemTemplate const* itemTemplate, BonusData const& bon else level = std::min(std::max(int32(level), ssd->MinLevel), ssd->MaxLevel); - if (SandboxScalingEntry const* sandbox = sSandboxScalingStore.LookupEntry(bonusData.SandboxScalingId)) - if ((sandbox->Flags & 2 || sandbox->MinLevel || sandbox->MaxLevel) && !(sandbox->Flags & 4)) - level = std::min(std::max(int32(level), sandbox->MinLevel), sandbox->MaxLevel); + if (ContentTuningEntry const* contentTuning = sContentTuningStore.LookupEntry(bonusData.ContentTuningId)) + if ((contentTuning->Flags & 2 || contentTuning->MinLevel || contentTuning->MaxLevel) && !(contentTuning->Flags & 4)) + level = std::min(std::max(int32(level), contentTuning->MinLevel), contentTuning->MaxLevel); if (uint32 heirloomIlvl = uint32(sDB2Manager.GetCurveValueAt(ssd->PlayerLevelToItemLevelCurveID, level))) itemLevel = heirloomIlvl; @@ -2276,7 +2268,7 @@ int32 Item::GetItemStatValue(uint32 index, Player const* owner) const return int32(std::floor(statValue + 0.5f)); } - return _bonusData.ItemStatValue[index]; + return 0; } ItemDisenchantLootEntry const* Item::GetDisenchantLoot(Player const* owner) const @@ -2565,8 +2557,6 @@ void Item::GiveArtifactXp(uint64 amount, Item* sourceItem, uint32 artifactCatego uint32 artifactKnowledgeLevel = 1; if (sourceItem && sourceItem->GetModifier(ITEM_MODIFIER_ARTIFACT_KNOWLEDGE_LEVEL)) artifactKnowledgeLevel = sourceItem->GetModifier(ITEM_MODIFIER_ARTIFACT_KNOWLEDGE_LEVEL); - else if (artifactCategoryId == ARTIFACT_CATEGORY_PRIMARY) - artifactKnowledgeLevel = sWorld->getIntConfig(CONFIG_CURRENCY_START_ARTIFACT_KNOWLEDGE) + 1; if (GtArtifactKnowledgeMultiplierEntry const* artifactKnowledge = sArtifactKnowledgeMultiplierGameTable.GetRow(artifactKnowledgeLevel)) amount = uint64(amount * artifactKnowledge->Multiplier); @@ -2598,9 +2588,9 @@ void Item::SetFixedLevel(uint8 level) { level = std::min(std::max(int32(level), ssd->MinLevel), ssd->MaxLevel); - if (SandboxScalingEntry const* sandbox = sSandboxScalingStore.LookupEntry(_bonusData.SandboxScalingId)) - if ((sandbox->Flags & 2 || sandbox->MinLevel || sandbox->MaxLevel) && !(sandbox->Flags & 4)) - level = std::min(std::max(int32(level), sandbox->MinLevel), sandbox->MaxLevel); + if (ContentTuningEntry const* contentTuning = sContentTuningStore.LookupEntry(_bonusData.ContentTuningId)) + if ((contentTuning->Flags & 2 || contentTuning->MinLevel || contentTuning->MaxLevel) && !(contentTuning->Flags & 4)) + level = std::min(std::max(int32(level), contentTuning->MinLevel), contentTuning->MaxLevel); SetModifier(ITEM_MODIFIER_SCALING_STAT_DISTRIBUTION_FIXED_LEVEL, level); } @@ -2625,9 +2615,6 @@ void BonusData::Initialize(ItemTemplate const* proto) ItemStatType[i] = proto->GetItemStatType(i); for (uint32 i = 0; i < MAX_ITEM_PROTO_STATS; ++i) - ItemStatValue[i] = proto->GetItemStatValue(i); - - for (uint32 i = 0; i < MAX_ITEM_PROTO_STATS; ++i) ItemStatAllocation[i] = proto->GetItemStatAllocation(i); for (uint32 i = 0; i < MAX_ITEM_PROTO_STATS; ++i) @@ -2646,7 +2633,7 @@ void BonusData::Initialize(ItemTemplate const* proto) AppearanceModID = 0; RepairCostMultiplier = 1.0f; ScalingStatDistribution = proto->GetScalingStatDistribution(); - SandboxScalingId = 0; + ContentTuningId = 0; RelicType = -1; HasItemLevelBonus = false; HasFixedLevel = false; @@ -2734,7 +2721,7 @@ void BonusData::AddBonus(uint32 type, int32 const (&values)[3]) if (values[1] < _state.ScalingStatDistributionPriority) { ScalingStatDistribution = static_cast<uint32>(values[0]); - SandboxScalingId = static_cast<uint32>(values[2]); + ContentTuningId = static_cast<uint32>(values[2]); _state.ScalingStatDistributionPriority = values[1]; HasFixedLevel = type == ITEM_BONUS_SCALING_STAT_DISTRIBUTION_FIXED; } diff --git a/src/server/game/Entities/Item/Item.h b/src/server/game/Entities/Item/Item.h index a51415abcbb..6ee784c8d7d 100644 --- a/src/server/game/Entities/Item/Item.h +++ b/src/server/game/Entities/Item/Item.h @@ -78,7 +78,6 @@ struct BonusData int32 ItemLevelBonus; int32 RequiredLevel; int32 ItemStatType[MAX_ITEM_PROTO_STATS]; - int32 ItemStatValue[MAX_ITEM_PROTO_STATS]; int32 ItemStatAllocation[MAX_ITEM_PROTO_STATS]; float ItemStatSocketCostMultiplier[MAX_ITEM_PROTO_STATS]; uint32 SocketColor[MAX_ITEM_PROTO_SOCKETS]; @@ -86,7 +85,7 @@ struct BonusData uint32 AppearanceModID; float RepairCostMultiplier; uint32 ScalingStatDistribution; - uint32 SandboxScalingId; + uint32 ContentTuningId; uint32 DisenchantLootId; uint32 GemItemLevelBonus[MAX_ITEM_PROTO_SOCKETS]; int32 GemRelicType[MAX_ITEM_PROTO_SOCKETS]; diff --git a/src/server/game/Entities/Item/ItemDefines.h b/src/server/game/Entities/Item/ItemDefines.h index 107a89c6152..6b74a600d50 100644 --- a/src/server/game/Entities/Item/ItemDefines.h +++ b/src/server/game/Entities/Item/ItemDefines.h @@ -51,79 +51,82 @@ enum InventoryResult : uint8 EQUIP_ERR_TOO_FEW_TO_SPLIT = 26, // Tried to split more than number in stack. EQUIP_ERR_SPLIT_FAILED = 27, // Couldn't split those items. EQUIP_ERR_SPELL_FAILED_REAGENTS_GENERIC = 28, // Missing reagent - EQUIP_ERR_NOT_ENOUGH_MONEY = 29, // You don't have enough money. - EQUIP_ERR_NOT_A_BAG = 30, // Not a bag. - EQUIP_ERR_DESTROY_NONEMPTY_BAG = 31, // You can only do that with empty bags. - EQUIP_ERR_NOT_OWNER = 32, // You don't own that item. - EQUIP_ERR_ONLY_ONE_QUIVER = 33, // You can only equip one quiver. - EQUIP_ERR_NO_BANK_SLOT = 34, // You must purchase that bag slot first - EQUIP_ERR_NO_BANK_HERE = 35, // You are too far away from a bank. - EQUIP_ERR_ITEM_LOCKED = 36, // Item is locked. - EQUIP_ERR_GENERIC_STUNNED = 37, // You are stunned - EQUIP_ERR_PLAYER_DEAD = 38, // You can't do that when you're dead. - EQUIP_ERR_CLIENT_LOCKED_OUT = 39, // You can't do that right now. - EQUIP_ERR_INTERNAL_BAG_ERROR = 40, // Internal Bag Error - EQUIP_ERR_ONLY_ONE_BOLT = 41, // You can only equip one quiver. - EQUIP_ERR_ONLY_ONE_AMMO = 42, // You can only equip one ammo pouch. - EQUIP_ERR_CANT_WRAP_STACKABLE = 43, // Stackable items can't be wrapped. - EQUIP_ERR_CANT_WRAP_EQUIPPED = 44, // Equipped items can't be wrapped. - EQUIP_ERR_CANT_WRAP_WRAPPED = 45, // Wrapped items can't be wrapped. - EQUIP_ERR_CANT_WRAP_BOUND = 46, // Bound items can't be wrapped. - EQUIP_ERR_CANT_WRAP_UNIQUE = 47, // Unique items can't be wrapped. - EQUIP_ERR_CANT_WRAP_BAGS = 48, // Bags can't be wrapped. - EQUIP_ERR_LOOT_GONE = 49, // Already looted - EQUIP_ERR_INV_FULL = 50, // Inventory is full. - EQUIP_ERR_BANK_FULL = 51, // Your bank is full - EQUIP_ERR_VENDOR_SOLD_OUT = 52, // That item is currently sold out. - EQUIP_ERR_BAG_FULL_2 = 53, // That bag is full. - EQUIP_ERR_ITEM_NOT_FOUND_2 = 54, // The item was not found. - EQUIP_ERR_CANT_STACK_2 = 55, // This item cannot stack. - EQUIP_ERR_BAG_FULL_3 = 56, // That bag is full. - EQUIP_ERR_VENDOR_SOLD_OUT_2 = 57, // That item is currently sold out. - EQUIP_ERR_OBJECT_IS_BUSY = 58, // That object is busy. - EQUIP_ERR_CANT_BE_DISENCHANTED = 59, - EQUIP_ERR_NOT_IN_COMBAT = 60, // You can't do that while in combat - EQUIP_ERR_NOT_WHILE_DISARMED = 61, // You can't do that while disarmed - EQUIP_ERR_BAG_FULL_4 = 62, // That bag is full. - EQUIP_ERR_CANT_EQUIP_RANK = 63, // You don't have the required rank for that item - EQUIP_ERR_CANT_EQUIP_REPUTATION = 64, // You don't have the required reputation for that item - EQUIP_ERR_TOO_MANY_SPECIAL_BAGS = 65, // You cannot equip another bag of that type - EQUIP_ERR_LOOT_CANT_LOOT_THAT_NOW = 66, // You can't loot that item now. - EQUIP_ERR_ITEM_UNIQUE_EQUIPPABLE = 67, // You cannot equip more than one of those. - EQUIP_ERR_VENDOR_MISSING_TURNINS = 68, // You do not have the required items for that purchase - EQUIP_ERR_NOT_ENOUGH_HONOR_POINTS = 69, // You don't have enough honor points - EQUIP_ERR_NOT_ENOUGH_ARENA_POINTS = 70, // You don't have enough arena points - EQUIP_ERR_ITEM_MAX_COUNT_SOCKETED = 71, // You have the maximum number of those gems in your inventory or socketed into items. - EQUIP_ERR_MAIL_BOUND_ITEM = 72, // You can't mail soulbound items. - EQUIP_ERR_INTERNAL_BAG_ERROR_2 = 73, // Internal Bag Error - EQUIP_ERR_BAG_FULL_5 = 74, // That bag is full. - EQUIP_ERR_ITEM_MAX_COUNT_EQUIPPED_SOCKETED = 75, // You have the maximum number of those gems socketed into equipped items. - EQUIP_ERR_ITEM_UNIQUE_EQUIPPABLE_SOCKETED = 76, // You cannot socket more than one of those gems into a single item. - EQUIP_ERR_TOO_MUCH_GOLD = 77, // At gold limit - EQUIP_ERR_NOT_DURING_ARENA_MATCH = 78, // You can't do that while in an arena match - EQUIP_ERR_TRADE_BOUND_ITEM = 79, // You can't trade a soulbound item. - EQUIP_ERR_CANT_EQUIP_RATING = 80, // You don't have the personal, team, or battleground rating required to buy that item - EQUIP_ERR_EVENT_AUTOEQUIP_BIND_CONFIRM = 81, - EQUIP_ERR_NOT_SAME_ACCOUNT = 82, // Account-bound items can only be given to your own characters. - EQUIP_ERR_NO_OUTPUT = 83, - EQUIP_ERR_ITEM_MAX_LIMIT_CATEGORY_COUNT_EXCEEDED_IS = 84, // You can only carry %d %s - EQUIP_ERR_ITEM_MAX_LIMIT_CATEGORY_SOCKETED_EXCEEDED_IS = 85, // You can only equip %d |4item:items in the %s category - EQUIP_ERR_SCALING_STAT_ITEM_LEVEL_EXCEEDED = 86, // Your level is too high to use that item - EQUIP_ERR_PURCHASE_LEVEL_TOO_LOW = 87, // You must reach level %d to purchase that item. - EQUIP_ERR_CANT_EQUIP_NEED_TALENT = 88, // You do not have the required talent to equip that. - EQUIP_ERR_ITEM_MAX_LIMIT_CATEGORY_EQUIPPED_EXCEEDED_IS = 89, // You can only equip %d |4item:items in the %s category - EQUIP_ERR_SHAPESHIFT_FORM_CANNOT_EQUIP = 90, // Cannot equip item in this form - EQUIP_ERR_ITEM_INVENTORY_FULL_SATCHEL = 91, // Your inventory is full. Your satchel has been delivered to your mailbox. - EQUIP_ERR_SCALING_STAT_ITEM_LEVEL_TOO_LOW = 92, // Your level is too low to use that item - EQUIP_ERR_CANT_BUY_QUANTITY = 93, // You can't buy the specified quantity of that item. - EQUIP_ERR_ITEM_IS_BATTLE_PAY_LOCKED = 94, // Your purchased item is still waiting to be unlocked - EQUIP_ERR_REAGENT_BANK_FULL = 95, // Your reagent bank is full - EQUIP_ERR_REAGENT_BANK_LOCKED = 96, - EQUIP_ERR_WRONG_BAG_TYPE_3 = 97, - EQUIP_ERR_CANT_USE_ITEM = 98, // You can't use that item. - EQUIP_ERR_CANT_BE_OBLITERATED = 99, // You can't obliterate that item - EQUIP_ERR_GUILD_BANK_CONJURED_ITEM = 100,// You cannot store conjured items in the guild bank - EQUIP_ERR_CANT_DO_THAT_RIGHT_NOW = 101,// You can't do that right now. + EQUIP_ERR_CANT_TRADE_GOLD = 29, // Gold may only be offered by one trader. + EQUIP_ERR_NOT_ENOUGH_MONEY = 30, // You don't have enough money. + EQUIP_ERR_NOT_A_BAG = 31, // Not a bag. + EQUIP_ERR_DESTROY_NONEMPTY_BAG = 32, // You can only do that with empty bags. + EQUIP_ERR_NOT_OWNER = 33, // You don't own that item. + EQUIP_ERR_ONLY_ONE_QUIVER = 34, // You can only equip one quiver. + EQUIP_ERR_NO_BANK_SLOT = 35, // You must purchase that bag slot first + EQUIP_ERR_NO_BANK_HERE = 36, // You are too far away from a bank. + EQUIP_ERR_ITEM_LOCKED = 37, // Item is locked. + EQUIP_ERR_GENERIC_STUNNED = 38, // You are stunned + EQUIP_ERR_PLAYER_DEAD = 39, // You can't do that when you're dead. + EQUIP_ERR_CLIENT_LOCKED_OUT = 40, // You can't do that right now. + EQUIP_ERR_INTERNAL_BAG_ERROR = 41, // Internal Bag Error + EQUIP_ERR_ONLY_ONE_BOLT = 42, // You can only equip one quiver. + EQUIP_ERR_ONLY_ONE_AMMO = 43, // You can only equip one ammo pouch. + EQUIP_ERR_CANT_WRAP_STACKABLE = 44, // Stackable items can't be wrapped. + EQUIP_ERR_CANT_WRAP_EQUIPPED = 45, // Equipped items can't be wrapped. + EQUIP_ERR_CANT_WRAP_WRAPPED = 46, // Wrapped items can't be wrapped. + EQUIP_ERR_CANT_WRAP_BOUND = 47, // Bound items can't be wrapped. + EQUIP_ERR_CANT_WRAP_UNIQUE = 48, // Unique items can't be wrapped. + EQUIP_ERR_CANT_WRAP_BAGS = 49, // Bags can't be wrapped. + EQUIP_ERR_LOOT_GONE = 50, // Already looted + EQUIP_ERR_INV_FULL = 51, // Inventory is full. + EQUIP_ERR_BANK_FULL = 52, // Your bank is full + EQUIP_ERR_VENDOR_SOLD_OUT = 53, // That item is currently sold out. + EQUIP_ERR_BAG_FULL_2 = 54, // That bag is full. + EQUIP_ERR_ITEM_NOT_FOUND_2 = 55, // The item was not found. + EQUIP_ERR_CANT_STACK_2 = 56, // This item cannot stack. + EQUIP_ERR_BAG_FULL_3 = 57, // That bag is full. + EQUIP_ERR_VENDOR_SOLD_OUT_2 = 58, // That item is currently sold out. + EQUIP_ERR_OBJECT_IS_BUSY = 59, // That object is busy. + EQUIP_ERR_CANT_BE_DISENCHANTED = 60, // Item cannot be disenchanted + EQUIP_ERR_NOT_IN_COMBAT = 61, // You can't do that while in combat + EQUIP_ERR_NOT_WHILE_DISARMED = 62, // You can't do that while disarmed + EQUIP_ERR_BAG_FULL_4 = 63, // That bag is full. + EQUIP_ERR_CANT_EQUIP_RANK = 64, // You don't have the required rank for that item + EQUIP_ERR_CANT_EQUIP_REPUTATION = 65, // You don't have the required reputation for that item + EQUIP_ERR_TOO_MANY_SPECIAL_BAGS = 66, // You cannot equip another bag of that type + EQUIP_ERR_LOOT_CANT_LOOT_THAT_NOW = 67, // You can't loot that item now. + EQUIP_ERR_ITEM_UNIQUE_EQUIPPABLE = 68, // You cannot equip more than one of those. + EQUIP_ERR_VENDOR_MISSING_TURNINS = 69, // You do not have the required items for that purchase + EQUIP_ERR_NOT_ENOUGH_HONOR_POINTS = 70, // You don't have enough honor points + EQUIP_ERR_NOT_ENOUGH_ARENA_POINTS = 71, // You don't have enough arena points + EQUIP_ERR_ITEM_MAX_COUNT_SOCKETED = 72, // You have the maximum number of those gems in your inventory or socketed into items. + EQUIP_ERR_MAIL_BOUND_ITEM = 73, // You can't mail soulbound items. + EQUIP_ERR_INTERNAL_BAG_ERROR_2 = 74, // Internal Bag Error + EQUIP_ERR_BAG_FULL_5 = 75, // That bag is full. + EQUIP_ERR_ITEM_MAX_COUNT_EQUIPPED_SOCKETED = 76, // You have the maximum number of those gems socketed into equipped items. + EQUIP_ERR_ITEM_UNIQUE_EQUIPPABLE_SOCKETED = 77, // You cannot socket more than one of those gems into a single item. + EQUIP_ERR_TOO_MUCH_GOLD = 78, // At gold limit + EQUIP_ERR_NOT_DURING_ARENA_MATCH = 79, // You can't do that while in an arena match + EQUIP_ERR_TRADE_BOUND_ITEM = 80, // You can't trade a soulbound item. + EQUIP_ERR_CANT_EQUIP_RATING = 81, // You don't have the personal, team, or battleground rating required to buy that item + EQUIP_ERR_EVENT_AUTOEQUIP_BIND_CONFIRM = 82, + EQUIP_ERR_NOT_SAME_ACCOUNT = 83, // Account-bound items can only be given to your own characters. + EQUIP_NONE_3 = 84, + EQUIP_ERR_ITEM_MAX_LIMIT_CATEGORY_COUNT_EXCEEDED_IS = 85, // You can only carry %d %s + EQUIP_ERR_ITEM_MAX_LIMIT_CATEGORY_SOCKETED_EXCEEDED_IS = 86, // You can only equip %d |4item:items in the %s category + EQUIP_ERR_SCALING_STAT_ITEM_LEVEL_EXCEEDED = 87, // Your level is too high to use that item + EQUIP_ERR_PURCHASE_LEVEL_TOO_LOW = 88, // You must reach level %d to purchase that item. + EQUIP_ERR_CANT_EQUIP_NEED_TALENT = 89, // You do not have the required talent to equip that. + EQUIP_ERR_ITEM_MAX_LIMIT_CATEGORY_EQUIPPED_EXCEEDED_IS = 90, // You can only equip %d |4item:items in the %s category + EQUIP_ERR_SHAPESHIFT_FORM_CANNOT_EQUIP = 91, // Cannot equip item in this form + EQUIP_ERR_ITEM_INVENTORY_FULL_SATCHEL = 92, // Your inventory is full. Your satchel has been delivered to your mailbox. + EQUIP_ERR_SCALING_STAT_ITEM_LEVEL_TOO_LOW = 93, // Your level is too low to use that item + EQUIP_ERR_CANT_BUY_QUANTITY = 94, // You can't buy the specified quantity of that item. + EQUIP_ERR_ITEM_IS_BATTLE_PAY_LOCKED = 95, // Your purchased item is still waiting to be unlocked + EQUIP_ERR_REAGENT_BANK_FULL = 96, // Your reagent bank is full + EQUIP_ERR_REAGENT_BANK_LOCKED = 97, + EQUIP_ERR_WRONG_BAG_TYPE_3 = 98, // That item doesn't go in that container. + EQUIP_ERR_CANT_USE_ITEM = 99, // You can't use that item. + EQUIP_ERR_CANT_BE_OBLITERATED = 100,// You can't obliterate that item + EQUIP_ERR_GUILD_BANK_CONJURED_ITEM = 101,// You cannot store conjured items in the guild bank + EQUIP_ERR_CANT_DO_THAT_RIGHT_NOW = 102,// You can't do that right now. + EQUIP_ERR_BAG_FULL_6 = 103,// That bag is full. + EQUIP_ERR_CANT_BE_SCRAPPED = 104,// You can't scrap that item }; enum BuyResult diff --git a/src/server/game/Entities/Item/ItemTemplate.cpp b/src/server/game/Entities/Item/ItemTemplate.cpp index d541f70215d..abb4d47bfe8 100644 --- a/src/server/game/Entities/Item/ItemTemplate.cpp +++ b/src/server/game/Entities/Item/ItemTemplate.cpp @@ -21,7 +21,7 @@ #include "ItemTemplate.h" #include "Player.h" -uint32 const SocketColorToGemTypeMask[19] = +int32 const SocketColorToGemTypeMask[19] = { 0, SOCKET_COLOR_META, @@ -241,7 +241,7 @@ bool ItemTemplate::IsUsableByLootSpecialization(Player const* player, bool alway if (GetFlags() & ITEM_FLAG_IS_BOUND_TO_ACCOUNT && alwaysAllowBoundToAccount) return true; - uint32 spec = player->GetUInt32Value(PLAYER_FIELD_LOOT_SPEC_ID); + uint32 spec = player->GetUInt32Value(ACTIVE_PLAYER_FIELD_LOOT_SPEC_ID); if (!spec) spec = player->GetUInt32Value(PLAYER_FIELD_CURRENT_SPEC_ID); if (!spec) diff --git a/src/server/game/Entities/Item/ItemTemplate.h b/src/server/game/Entities/Item/ItemTemplate.h index c5e83ff6bab..6e806f0c124 100644 --- a/src/server/game/Entities/Item/ItemTemplate.h +++ b/src/server/game/Entities/Item/ItemTemplate.h @@ -337,7 +337,7 @@ enum SocketColor SOCKET_COLOR_RELIC_HOLY = 0x10000 }; -extern uint32 const SocketColorToGemTypeMask[19]; +extern int32 const SocketColorToGemTypeMask[19]; #define SOCKET_COLOR_STANDARD (SOCKET_COLOR_RED | SOCKET_COLOR_YELLOW | SOCKET_COLOR_BLUE) @@ -732,7 +732,6 @@ struct TC_GAME_API ItemTemplate uint32 GetMaxCount() const { return ExtendedData->MaxCount; } uint32 GetContainerSlots() const { return ExtendedData->ContainerSlots; } int32 GetItemStatType(uint32 index) const { ASSERT(index < MAX_ITEM_PROTO_STATS); return ExtendedData->StatModifierBonusStat[index]; } - int32 GetItemStatValue(uint32 index) const { ASSERT(index < MAX_ITEM_PROTO_STATS); return ExtendedData->ItemStatValue[index]; } int32 GetItemStatAllocation(uint32 index) const { ASSERT(index < MAX_ITEM_PROTO_STATS); return ExtendedData->StatPercentEditor[index]; } float GetItemStatSocketCostMultiplier(uint32 index) const { ASSERT(index < MAX_ITEM_PROTO_STATS); return ExtendedData->StatPercentageOfSocket[index]; } uint32 GetScalingStatDistribution() const { return ExtendedData->ScalingStatDistributionID; } diff --git a/src/server/game/Entities/Object/Object.cpp b/src/server/game/Entities/Object/Object.cpp index 47e07803819..2921ddf673f 100644 --- a/src/server/game/Entities/Object/Object.cpp +++ b/src/server/game/Entities/Object/Object.cpp @@ -55,7 +55,7 @@ Object::Object() { m_objectTypeId = TYPEID_OBJECT; m_objectType = TYPEMASK_OBJECT; - m_updateFlag = UPDATEFLAG_NONE; + m_updateFlag.Clear(); m_uint32Values = nullptr; _dynamicValues = nullptr; @@ -130,7 +130,6 @@ void Object::_Create(ObjectGuid const& guid) if (!m_uint32Values) _InitValues(); SetGuidValue(OBJECT_FIELD_GUID, guid); - SetUInt16Value(OBJECT_FIELD_TYPE, 0, m_objectType); } std::string Object::_ConcatFields(uint16 startIndex, uint16 size) const @@ -171,12 +170,19 @@ void Object::BuildCreateUpdateBlockForPlayer(UpdateData* data, Player* target) c if (!target) return; - uint8 updateType = UPDATETYPE_CREATE_OBJECT; - uint32 flags = m_updateFlag; + uint8 updateType = UPDATETYPE_CREATE_OBJECT; + uint8 objectType = m_objectTypeId; + uint16 objectTypeMask = m_objectType; + CreateObjectBits flags = m_updateFlag; /** lower flag1 **/ if (target == this) // building packet for yourself - flags |= UPDATEFLAG_SELF; + { + flags.ThisIsYou = true; + flags.ActivePlayer = true; + objectType = TYPEID_ACTIVE_PLAYER; + objectTypeMask |= TYPEMASK_ACTIVE_PLAYER; + } switch (GetGUID().GetHigh()) { @@ -209,15 +215,14 @@ void Object::BuildCreateUpdateBlockForPlayer(UpdateData* data, Player* target) c if (WorldObject const* worldObject = dynamic_cast<WorldObject const*>(this)) { - if (!(flags & UPDATEFLAG_LIVING)) - if (!worldObject->m_movementInfo.transport.guid.IsEmpty()) - flags |= UPDATEFLAG_TRANSPORT_POSITION; + if (!flags.MovementUpdate && !worldObject->m_movementInfo.transport.guid.IsEmpty()) + flags.MovementTransport = true; if (worldObject->GetAIAnimKitId() || worldObject->GetMovementAnimKitId() || worldObject->GetMeleeAnimKitId()) - flags |= UPDATEFLAG_ANIMKITS; + flags.AnimKit = true; } - if (flags & UPDATEFLAG_STATIONARY_POSITION) + if (flags.Stationary) { // UPDATETYPE_CREATE_OBJECT2 for some gameobject types... if (isType(TYPEMASK_GAMEOBJECT)) @@ -238,12 +243,13 @@ void Object::BuildCreateUpdateBlockForPlayer(UpdateData* data, Player* target) c if (Unit const* unit = ToUnit()) if (unit->GetVictim()) - flags |= UPDATEFLAG_HAS_TARGET; + flags.CombatVictim = true; ByteBuffer buf(0x400); buf << uint8(updateType); buf << GetGUID(); - buf << uint8(m_objectTypeId); + buf << uint8(objectType); + buf << uint32(objectTypeMask); BuildMovementUpdate(&buf, flags); BuildValuesUpdate(updateType, &buf, target); @@ -338,25 +344,8 @@ ObjectGuid const& Object::GetGuidValue(uint16 index) const return *((ObjectGuid*)&(m_uint32Values[index])); } -void Object::BuildMovementUpdate(ByteBuffer* data, uint32 flags) const -{ - bool NoBirthAnim = false; - bool EnablePortals = false; - bool PlayHoverAnim = false; - bool HasMovementUpdate = (flags & UPDATEFLAG_LIVING) != 0; - bool HasMovementTransport = (flags & UPDATEFLAG_TRANSPORT_POSITION) != 0; - bool Stationary = (flags & UPDATEFLAG_STATIONARY_POSITION) != 0; - bool CombatVictim = (flags & UPDATEFLAG_HAS_TARGET) != 0; - bool ServerTime = (flags & UPDATEFLAG_TRANSPORT) != 0; - bool VehicleCreate = (flags & UPDATEFLAG_VEHICLE) != 0; - bool AnimKitCreate = (flags & UPDATEFLAG_ANIMKITS) != 0; - bool Rotation = (flags & UPDATEFLAG_ROTATION) != 0; - bool HasAreaTrigger = (flags & UPDATEFLAG_AREATRIGGER) != 0; - bool HasGameObject = (flags & UPDATEFLAG_GAMEOBJECT) != 0; - bool ThisIsYou = (flags & UPDATEFLAG_SELF) != 0; - bool SmoothPhasing = false; - bool SceneObjCreate = false; - bool PlayerCreateData = GetTypeId() == TYPEID_PLAYER && ToUnit()->GetPowerIndex(POWER_RUNES) != MAX_POWERS; +void Object::BuildMovementUpdate(ByteBuffer* data, CreateObjectBits flags) const +{ std::vector<uint32> const* PauseTimes = nullptr; uint32 PauseTimesCount = 0; if (GameObject const* go = ToGameObject()) @@ -368,26 +357,27 @@ void Object::BuildMovementUpdate(ByteBuffer* data, uint32 flags) const } } - data->WriteBit(NoBirthAnim); - data->WriteBit(EnablePortals); - data->WriteBit(PlayHoverAnim); - data->WriteBit(HasMovementUpdate); - data->WriteBit(HasMovementTransport); - data->WriteBit(Stationary); - data->WriteBit(CombatVictim); - data->WriteBit(ServerTime); - data->WriteBit(VehicleCreate); - data->WriteBit(AnimKitCreate); - data->WriteBit(Rotation); - data->WriteBit(HasAreaTrigger); - data->WriteBit(HasGameObject); - data->WriteBit(SmoothPhasing); - data->WriteBit(ThisIsYou); - data->WriteBit(SceneObjCreate); - data->WriteBit(PlayerCreateData); + data->WriteBit(flags.NoBirthAnim); + data->WriteBit(flags.EnablePortals); + data->WriteBit(flags.PlayHoverAnim); + data->WriteBit(flags.MovementUpdate); + data->WriteBit(flags.MovementTransport); + data->WriteBit(flags.Stationary); + data->WriteBit(flags.CombatVictim); + data->WriteBit(flags.ServerTime); + data->WriteBit(flags.Vehicle); + data->WriteBit(flags.AnimKit); + data->WriteBit(flags.Rotation); + data->WriteBit(flags.AreaTrigger); + data->WriteBit(flags.GameObject); + data->WriteBit(flags.SmoothPhasing); + data->WriteBit(flags.ThisIsYou); + data->WriteBit(flags.SceneObject); + data->WriteBit(flags.ActivePlayer); + data->WriteBit(flags.Conversation); data->FlushBits(); - if (HasMovementUpdate) + if (flags.MovementUpdate) { Unit const* unit = ToUnit(); bool HasFallDirection = unit->HasUnitMovementFlag(MOVEMENTFLAG_FALLING); @@ -458,6 +448,7 @@ void Object::BuildMovementUpdate(ByteBuffer* data, uint32 flags) const // *data << uint32(TransportID); // *data << float(Magnitude); // data->WriteBits(Type, 2); + // data->FlushBits(); //} if (HasSpline) @@ -466,7 +457,7 @@ void Object::BuildMovementUpdate(ByteBuffer* data, uint32 flags) const *data << uint32(PauseTimesCount); - if (Stationary) + if (flags.Stationary) { WorldObject const* self = static_cast<WorldObject const*>(this); *data << float(self->GetStationaryX()); @@ -475,10 +466,10 @@ void Object::BuildMovementUpdate(ByteBuffer* data, uint32 flags) const *data << float(self->GetStationaryO()); } - if (CombatVictim) + if (flags.CombatVictim) *data << ToUnit()->GetVictim()->GetGUID(); // CombatVictim - if (ServerTime) + if (flags.ServerTime) { GameObject const* go = ToGameObject(); /** @TODO Use IsTransport() to also handle type 11 (TRANSPORT) @@ -492,14 +483,14 @@ void Object::BuildMovementUpdate(ByteBuffer* data, uint32 flags) const *data << uint32(getMSTime()); } - if (VehicleCreate) + if (flags.Vehicle) { Unit const* unit = ToUnit(); *data << uint32(unit->GetVehicleKit()->GetVehicleInfo()->ID); // RecID *data << float(unit->GetOrientation()); // InitialRawFacing } - if (AnimKitCreate) + if (flags.AnimKit) { WorldObject const* self = static_cast<WorldObject const*>(this); *data << uint16(self->GetAIAnimKitId()); // AiID @@ -507,19 +498,19 @@ void Object::BuildMovementUpdate(ByteBuffer* data, uint32 flags) const *data << uint16(self->GetMeleeAnimKitId()); // MeleeID } - if (Rotation) + if (flags.Rotation) *data << uint64(ToGameObject()->GetPackedWorldRotation()); // Rotation if (PauseTimesCount) data->append(PauseTimes->data(), PauseTimes->size()); - if (HasMovementTransport) + if (flags.MovementTransport) { WorldObject const* self = static_cast<WorldObject const*>(this); *data << self->m_movementInfo.transport; } - if (HasAreaTrigger) + if (flags.AreaTrigger) { AreaTrigger const* areaTrigger = ToAreaTrigger(); AreaTriggerMiscTemplate const* areaTriggerMiscTemplate = areaTrigger->GetMiscTemplate(); @@ -540,9 +531,10 @@ void Object::BuildMovementUpdate(ByteBuffer* data, uint32 flags) const bool hasMorphCurveID = areaTriggerMiscTemplate->MorphCurveId != 0; bool hasFacingCurveID = areaTriggerMiscTemplate->FacingCurveId != 0; bool hasMoveCurveID = areaTriggerMiscTemplate->MoveCurveId != 0; - bool hasUnk2 = areaTriggerTemplate->HasFlag(AREATRIGGER_FLAG_UNK2); + bool hasAnimation = areaTriggerTemplate->HasFlag(AREATRIGGER_FLAG_HAS_ANIM_ID); bool hasUnk3 = areaTriggerTemplate->HasFlag(AREATRIGGER_FLAG_UNK3); - bool hasUnk4 = areaTriggerTemplate->HasFlag(AREATRIGGER_FLAG_UNK4); + bool hasAnimKitID = areaTriggerTemplate->HasFlag(AREATRIGGER_FLAG_HAS_ANIM_KIT_ID); + bool hasAnimProgress = false; bool hasAreaTriggerSphere = areaTriggerTemplate->IsSphere(); bool hasAreaTriggerBox = areaTriggerTemplate->IsBox(); bool hasAreaTriggerPolygon = areaTriggerTemplate->IsPolygon(); @@ -561,9 +553,10 @@ void Object::BuildMovementUpdate(ByteBuffer* data, uint32 flags) const data->WriteBit(hasMorphCurveID); data->WriteBit(hasFacingCurveID); data->WriteBit(hasMoveCurveID); - data->WriteBit(hasUnk2); + data->WriteBit(hasAnimation); + data->WriteBit(hasAnimKitID); data->WriteBit(hasUnk3); - data->WriteBit(hasUnk4); + data->WriteBit(hasAnimProgress); data->WriteBit(hasAreaTriggerSphere); data->WriteBit(hasAreaTriggerBox); data->WriteBit(hasAreaTriggerPolygon); @@ -599,10 +592,13 @@ void Object::BuildMovementUpdate(ByteBuffer* data, uint32 flags) const if (hasMoveCurveID) *data << uint32(areaTriggerMiscTemplate->MoveCurveId); - if (hasUnk2) - *data << int32(0); + if (hasAnimation) + *data << int32(areaTriggerMiscTemplate->AnimId); + + if (hasAnimKitID) + *data << int32(areaTriggerMiscTemplate->AnimKitId); - if (hasUnk4) + if (hasAnimProgress) *data << uint32(0); if (hasAreaTriggerSphere) @@ -649,7 +645,7 @@ void Object::BuildMovementUpdate(ByteBuffer* data, uint32 flags) const *data << *areaTrigger->GetCircularMovementInfo(); } - if (HasGameObject) + if (flags.GameObject) { bool bit8 = false; uint32 Int1 = 0; @@ -664,7 +660,7 @@ void Object::BuildMovementUpdate(ByteBuffer* data, uint32 flags) const *data << uint32(Int1); } - //if (SmoothPhasing) + //if (flags.SmoothPhasing) //{ // data->WriteBit(ReplaceActive); // data->WriteBit(HasReplaceObject); @@ -673,7 +669,7 @@ void Object::BuildMovementUpdate(ByteBuffer* data, uint32 flags) const // *data << ObjectGuid(ReplaceObject); //} - //if (SceneObjCreate) + //if (flags.SceneObject) //{ // data->WriteBit(HasLocalScriptData); // data->WriteBit(HasPetBattleFullUpdate); @@ -783,7 +779,7 @@ void Object::BuildMovementUpdate(ByteBuffer* data, uint32 flags) const // } //} - if (PlayerCreateData) + if (flags.ActivePlayer) { bool HasSceneInstanceIDs = false; bool HasRuneState = ToUnit()->GetPowerIndex(POWER_RUNES) != MAX_POWERS; @@ -810,6 +806,15 @@ void Object::BuildMovementUpdate(ByteBuffer* data, uint32 flags) const *data << uint8((baseCd - float(player->GetRuneCooldown(i))) / baseCd * 255); } } + + if (flags.Conversation) + { + Conversation const* self = ToConversation(); + if (data->WriteBit(self->GetTextureKitId() != 0)) + *data << uint32(self->GetTextureKitId()); + + data->FlushBits(); + } } void Object::BuildValuesUpdate(uint8 updateType, ByteBuffer* data, Player* target) const @@ -843,7 +848,11 @@ void Object::BuildDynamicValuesUpdate(uint8 updateType, ByteBuffer* data, Player if (!target) return; - std::size_t blockCount = UpdateMask::GetBlockCount(_dynamicValuesCount); + std::size_t valueCount = _dynamicValuesCount; + if (target != this && GetTypeId() == TYPEID_PLAYER) + valueCount = PLAYER_DYNAMIC_END; + + std::size_t blockCount = UpdateMask::GetBlockCount(valueCount); uint32* flags = nullptr; uint32 visibleFlag = GetDynamicUpdateFieldData(target, flags); @@ -852,7 +861,7 @@ void Object::BuildDynamicValuesUpdate(uint8 updateType, ByteBuffer* data, Player std::size_t maskPos = data->wpos(); data->resize(data->size() + blockCount * sizeof(UpdateMask::BlockType)); - for (uint16 index = 0; index < _dynamicValuesCount; ++index) + for (uint16 index = 0; index < valueCount; ++index) { std::vector<uint32> const& values = _dynamicValues[index]; if (_fieldNotifyFlags & flags[index] || @@ -928,7 +937,17 @@ uint32 Object::GetUpdateFieldData(Player const* target, uint32*& flags) const { case TYPEID_ITEM: case TYPEID_CONTAINER: - flags = ItemUpdateFieldFlags; + flags = ContainerUpdateFieldFlags; + if (((Item const*)this)->GetOwnerGUID() == target->GetGUID()) + visibleFlag |= UF_FLAG_OWNER | UF_FLAG_ITEM_OWNER; + break; + case TYPEID_AZERITE_EMPOWERED_ITEM: + flags = AzeriteEmpoweredItemUpdateFieldFlags; + if (((Item const*)this)->GetOwnerGUID() == target->GetGUID()) + visibleFlag |= UF_FLAG_OWNER | UF_FLAG_ITEM_OWNER; + break; + case TYPEID_AZERITE_ITEM: + flags = AzeriteItemUpdateFieldFlags; if (((Item const*)this)->GetOwnerGUID() == target->GetGUID()) visibleFlag |= UF_FLAG_OWNER | UF_FLAG_ITEM_OWNER; break; @@ -973,6 +992,7 @@ uint32 Object::GetUpdateFieldData(Player const* target, uint32*& flags) const flags = ConversationUpdateFieldFlags; break; case TYPEID_OBJECT: + case TYPEID_ACTIVE_PLAYER: ABORT(); break; } @@ -991,6 +1011,8 @@ uint32 Object::GetDynamicUpdateFieldData(Player const* target, uint32*& flags) c { case TYPEID_ITEM: case TYPEID_CONTAINER: + case TYPEID_AZERITE_EMPOWERED_ITEM: + case TYPEID_AZERITE_ITEM: flags = ItemDynamicUpdateFieldFlags; if (((Item const*)this)->GetOwnerGUID() == target->GetGUID()) visibleFlag |= UF_FLAG_OWNER | UF_FLAG_ITEM_OWNER; @@ -2983,7 +3005,7 @@ struct WorldObjectChangeAccumulator { //Caster may be NULL if DynObj is in removelist if (Player* caster = ObjectAccessor::FindPlayer(guid)) - if (caster->GetGuidValue(PLAYER_FARSIGHT) == source->GetGUID()) + if (caster->GetGuidValue(ACTIVE_PLAYER_FIELD_FARSIGHT) == source->GetGUID()) BuildPacket(caster); } } diff --git a/src/server/game/Entities/Object/Object.h b/src/server/game/Entities/Object/Object.h index 7823a2a2a68..17979a441a8 100644 --- a/src/server/game/Entities/Object/Object.h +++ b/src/server/game/Entities/Object/Object.h @@ -55,6 +55,33 @@ struct QuaternionData; typedef std::unordered_map<Player*, UpdateData> UpdateDataMapType; +struct CreateObjectBits +{ + bool NoBirthAnim : 1; + bool EnablePortals : 1; + bool PlayHoverAnim : 1; + bool MovementUpdate : 1; + bool MovementTransport : 1; + bool Stationary : 1; + bool CombatVictim : 1; + bool ServerTime : 1; + bool Vehicle : 1; + bool AnimKit : 1; + bool Rotation : 1; + bool AreaTrigger : 1; + bool GameObject : 1; + bool SmoothPhasing : 1; + bool ThisIsYou : 1; + bool SceneObject : 1; + bool ActivePlayer : 1; + bool Conversation : 1; + + void Clear() + { + memset(this, 0, sizeof(CreateObjectBits)); + } +}; + namespace UpdateMask { typedef uint32 BlockType; @@ -299,14 +326,14 @@ class TC_GAME_API Object uint32 GetUpdateFieldData(Player const* target, uint32*& flags) const; uint32 GetDynamicUpdateFieldData(Player const* target, uint32*& flags) const; - void BuildMovementUpdate(ByteBuffer* data, uint32 flags) const; + void BuildMovementUpdate(ByteBuffer* data, CreateObjectBits 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; TypeID m_objectTypeId; - uint32 m_updateFlag; + CreateObjectBits m_updateFlag; union { diff --git a/src/server/game/Entities/Object/ObjectGuid.cpp b/src/server/game/Entities/Object/ObjectGuid.cpp index d5094aea2b0..f8ee803ed22 100644 --- a/src/server/game/Entities/Object/ObjectGuid.cpp +++ b/src/server/game/Entities/Object/ObjectGuid.cpp @@ -87,6 +87,7 @@ namespace SET_GUID_NAME(CommerceObj); SET_GUID_NAME(ClientSession); SET_GUID_NAME(Cast); + SET_GUID_NAME(ClientConnection); #undef SET_GUID_NAME } diff --git a/src/server/game/Entities/Object/ObjectGuid.h b/src/server/game/Entities/Object/ObjectGuid.h index 941608f9493..0584c0d7262 100644 --- a/src/server/game/Entities/Object/ObjectGuid.h +++ b/src/server/game/Entities/Object/ObjectGuid.h @@ -30,35 +30,41 @@ enum TypeID { - TYPEID_OBJECT = 0, - TYPEID_ITEM = 1, - TYPEID_CONTAINER = 2, - TYPEID_UNIT = 3, - TYPEID_PLAYER = 4, - TYPEID_GAMEOBJECT = 5, - TYPEID_DYNAMICOBJECT = 6, - TYPEID_CORPSE = 7, - TYPEID_AREATRIGGER = 8, - TYPEID_SCENEOBJECT = 9, - TYPEID_CONVERSATION = 10 + TYPEID_OBJECT = 0, + TYPEID_ITEM = 1, + TYPEID_CONTAINER = 2, + TYPEID_AZERITE_EMPOWERED_ITEM = 3, + TYPEID_AZERITE_ITEM = 4, + TYPEID_UNIT = 5, + TYPEID_PLAYER = 6, + TYPEID_ACTIVE_PLAYER = 7, + TYPEID_GAMEOBJECT = 8, + TYPEID_DYNAMICOBJECT = 9, + TYPEID_CORPSE = 10, + TYPEID_AREATRIGGER = 11, + TYPEID_SCENEOBJECT = 12, + TYPEID_CONVERSATION = 13 }; -#define NUM_CLIENT_OBJECT_TYPES 11 +#define NUM_CLIENT_OBJECT_TYPES 14 enum TypeMask { - TYPEMASK_OBJECT = 0x0001, - TYPEMASK_ITEM = 0x0002, - TYPEMASK_CONTAINER = 0x0004, - TYPEMASK_UNIT = 0x0008, - TYPEMASK_PLAYER = 0x0010, - TYPEMASK_GAMEOBJECT = 0x0020, - TYPEMASK_DYNAMICOBJECT = 0x0040, - TYPEMASK_CORPSE = 0x0080, - TYPEMASK_AREATRIGGER = 0x0100, - TYPEMASK_SCENEOBJECT = 0x0200, - TYPEMASK_CONVERSATION = 0x0400, - TYPEMASK_SEER = TYPEMASK_PLAYER | TYPEMASK_UNIT | TYPEMASK_DYNAMICOBJECT + TYPEMASK_OBJECT = 0x0001, + TYPEMASK_ITEM = 0x0002, + TYPEMASK_CONTAINER = 0x0004, + TYPEMASK_AZERITE_EMPOWERED_ITEM = 0x0008, + TYPEMASK_AZERITE_ITEM = 0x0010, + TYPEMASK_UNIT = 0x0020, + TYPEMASK_PLAYER = 0x0040, + TYPEMASK_ACTIVE_PLAYER = 0x0080, + TYPEMASK_GAMEOBJECT = 0x0100, + TYPEMASK_DYNAMICOBJECT = 0x0200, + TYPEMASK_CORPSE = 0x0400, + TYPEMASK_AREATRIGGER = 0x0800, + TYPEMASK_SCENEOBJECT = 0x1000, + TYPEMASK_CONVERSATION = 0x2000, + TYPEMASK_SEER = TYPEMASK_PLAYER | TYPEMASK_UNIT | TYPEMASK_DYNAMICOBJECT }; enum class HighGuid @@ -111,6 +117,7 @@ enum class HighGuid CommerceObj = 45, ClientSession = 46, Cast = 47, + ClientConnection = 48, Count, }; @@ -349,6 +356,7 @@ class TC_GAME_API ObjectGuidGeneratorBase { public: ObjectGuidGeneratorBase(ObjectGuid::LowType start = UI64LIT(1)) : _nextGuid(start) { } + virtual ~ObjectGuidGeneratorBase() { } virtual void Set(uint64 val) { _nextGuid = val; } virtual ObjectGuid::LowType Generate() = 0; diff --git a/src/server/game/Entities/Object/Updates/UpdateData.h b/src/server/game/Entities/Object/Updates/UpdateData.h index 800948c4281..9d438ed625e 100644 --- a/src/server/game/Entities/Object/Updates/UpdateData.h +++ b/src/server/game/Entities/Object/Updates/UpdateData.h @@ -34,29 +34,6 @@ enum OBJECT_UPDATE_TYPE UPDATETYPE_OUT_OF_RANGE_OBJECTS = 3, }; -enum OBJECT_UPDATE_FLAGS -{ - UPDATEFLAG_NONE = 0x0000, - UPDATEFLAG_SELF = 0x0001, - UPDATEFLAG_TRANSPORT = 0x0002, - UPDATEFLAG_HAS_TARGET = 0x0004, - UPDATEFLAG_LIVING = 0x0008, - UPDATEFLAG_STATIONARY_POSITION = 0x0010, - UPDATEFLAG_VEHICLE = 0x0020, - UPDATEFLAG_TRANSPORT_POSITION = 0x0040, - UPDATEFLAG_ROTATION = 0x0080, - UPDATEFLAG_ANIMKITS = 0x0100, - UPDATEFLAG_AREATRIGGER = 0x0200, - UPDATEFLAG_GAMEOBJECT = 0x0400, - //UPDATEFLAG_REPLACE_ACTIVE = 0x0800, - //UPDATEFLAG_NO_BIRTH_ANIM = 0x1000, - //UPDATEFLAG_ENABLE_PORTALS = 0x2000, - //UPDATEFLAG_PLAY_HOVER_ANIM = 0x4000, - //UPDATEFLAG_IS_SUPPRESSING_GREETINGS = 0x8000 - //UPDATEFLAG_SCENEOBJECT = 0x10000, - //UPDATEFLAG_SCENE_PENDING_INSTANCE = 0x20000 -}; - class UpdateData { public: diff --git a/src/server/game/Entities/Object/Updates/UpdateFieldFlags.cpp b/src/server/game/Entities/Object/Updates/UpdateFieldFlags.cpp index 9a26e2a8c53..350c64d3c7b 100644 --- a/src/server/game/Entities/Object/Updates/UpdateFieldFlags.cpp +++ b/src/server/game/Entities/Object/Updates/UpdateFieldFlags.cpp @@ -17,17 +17,12 @@ #include "UpdateFieldFlags.h" -uint32 ItemUpdateFieldFlags[CONTAINER_END] = +uint32 ContainerUpdateFieldFlags[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_DYNAMIC, // OBJECT_FIELD_ENTRY UF_FLAG_DYNAMIC | UF_FLAG_URGENT, // OBJECT_DYNAMIC_FLAGS UF_FLAG_PUBLIC, // OBJECT_FIELD_SCALE_X @@ -251,26 +246,198 @@ uint32 ItemUpdateFieldFlags[CONTAINER_END] = UF_FLAG_PUBLIC, // CONTAINER_FIELD_NUM_SLOTS }; -uint32 ItemDynamicUpdateFieldFlags[CONTAINER_DYNAMIC_END] = +uint32 AzeriteEmpoweredItemUpdateFieldFlags[AZERITE_EMPOWERED_ITEM_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_DYNAMIC, // OBJECT_FIELD_ENTRY + UF_FLAG_DYNAMIC | UF_FLAG_URGENT, // OBJECT_DYNAMIC_FLAGS + UF_FLAG_PUBLIC, // OBJECT_FIELD_SCALE_X + 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_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 + 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, // ITEM_FIELD_DURABILITY + UF_FLAG_OWNER, // ITEM_FIELD_MAXDURABILITY + UF_FLAG_PUBLIC, // ITEM_FIELD_CREATE_PLAYED_TIME + UF_FLAG_OWNER, // ITEM_FIELD_MODIFIERS_MASK + UF_FLAG_PUBLIC, // ITEM_FIELD_CONTEXT + UF_FLAG_OWNER, // ITEM_FIELD_ARTIFACT_XP + UF_FLAG_OWNER, // ITEM_FIELD_ARTIFACT_XP+1 + UF_FLAG_OWNER, // ITEM_FIELD_APPEARANCE_MOD_ID + UF_FLAG_PUBLIC, // AZERITE_EMPOWERED_ITEM_FIELD_SELECTIONS + UF_FLAG_PUBLIC, // AZERITE_EMPOWERED_ITEM_FIELD_SELECTIONS+1 + UF_FLAG_PUBLIC, // AZERITE_EMPOWERED_ITEM_FIELD_SELECTIONS+2 + UF_FLAG_PUBLIC, // AZERITE_EMPOWERED_ITEM_FIELD_SELECTIONS+3 +}; + +uint32 AzeriteItemUpdateFieldFlags[AZERITE_ITEM_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_DYNAMIC, // OBJECT_FIELD_ENTRY + UF_FLAG_DYNAMIC | UF_FLAG_URGENT, // OBJECT_DYNAMIC_FLAGS + UF_FLAG_PUBLIC, // OBJECT_FIELD_SCALE_X + 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_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 + 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, // ITEM_FIELD_DURABILITY + UF_FLAG_OWNER, // ITEM_FIELD_MAXDURABILITY + UF_FLAG_PUBLIC, // ITEM_FIELD_CREATE_PLAYED_TIME + UF_FLAG_OWNER, // ITEM_FIELD_MODIFIERS_MASK + UF_FLAG_PUBLIC, // ITEM_FIELD_CONTEXT + UF_FLAG_OWNER, // ITEM_FIELD_ARTIFACT_XP + UF_FLAG_OWNER, // ITEM_FIELD_ARTIFACT_XP+1 + UF_FLAG_OWNER, // ITEM_FIELD_APPEARANCE_MOD_ID + UF_FLAG_PUBLIC, // AZERITE_ITEM_FIELD_XP + UF_FLAG_PUBLIC, // AZERITE_ITEM_FIELD_XP+1 + UF_FLAG_PUBLIC, // AZERITE_ITEM_FIELD_LEVEL + UF_FLAG_PUBLIC, // AZERITE_ITEM_FIELD_AURA_LEVEL + UF_FLAG_OWNER, // AZERITE_ITEM_FIELD_KNOWLEDGE_LEVEL + UF_FLAG_OWNER, // AZERITE_ITEM_FIELD_DEBUG_KNOWLEDGE_WEEK +}; + +uint32 ItemDynamicUpdateFieldFlags[ITEM_DYNAMIC_END] = { UF_FLAG_OWNER, // ITEM_DYNAMIC_FIELD_MODIFIERS UF_FLAG_OWNER | UF_FLAG_0x100, // ITEM_DYNAMIC_FIELD_BONUSLIST_IDS UF_FLAG_OWNER, // ITEM_DYNAMIC_FIELD_ARTIFACT_POWERS UF_FLAG_OWNER, // ITEM_DYNAMIC_FIELD_GEMS - UF_FLAG_OWNER, // ITEM_DYNAMIC_FIELD_RELIC_TALENT_DATA }; -uint32 UnitUpdateFieldFlags[PLAYER_END] = +uint32 UnitUpdateFieldFlags[ACTIVE_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_DYNAMIC, // OBJECT_FIELD_ENTRY UF_FLAG_DYNAMIC | UF_FLAG_URGENT, // OBJECT_DYNAMIC_FLAGS UF_FLAG_PUBLIC, // OBJECT_FIELD_SCALE_X @@ -302,6 +469,10 @@ uint32 UnitUpdateFieldFlags[PLAYER_END] = 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_LOOK_AT_CONTROLLER_TARGET + UF_FLAG_PUBLIC, // UNIT_FIELD_LOOK_AT_CONTROLLER_TARGET+1 + UF_FLAG_PUBLIC, // UNIT_FIELD_LOOK_AT_CONTROLLER_TARGET+2 + UF_FLAG_PUBLIC, // UNIT_FIELD_LOOK_AT_CONTROLLER_TARGET+3 UF_FLAG_PUBLIC, // UNIT_FIELD_TARGET UF_FLAG_PUBLIC, // UNIT_FIELD_TARGET+1 UF_FLAG_PUBLIC, // UNIT_FIELD_TARGET+2 @@ -348,10 +519,13 @@ uint32 UnitUpdateFieldFlags[PLAYER_END] = UF_FLAG_PRIVATE | UF_FLAG_OWNER | UF_FLAG_UNIT_ALL, // UNIT_FIELD_POWER_REGEN_INTERRUPTED_FLAT_MODIFIER+5 UF_FLAG_PUBLIC, // UNIT_FIELD_LEVEL UF_FLAG_PUBLIC, // UNIT_FIELD_EFFECTIVE_LEVEL - UF_FLAG_PUBLIC, // UNIT_FIELD_SANDBOX_SCALING_ID + UF_FLAG_PUBLIC, // UNIT_FIELD_CONTENT_TUNING_ID UF_FLAG_PUBLIC, // UNIT_FIELD_SCALING_LEVEL_MIN UF_FLAG_PUBLIC, // UNIT_FIELD_SCALING_LEVEL_MAX UF_FLAG_PUBLIC, // UNIT_FIELD_SCALING_LEVEL_DELTA + UF_FLAG_PUBLIC, // UNIT_FIELD_SCALING_FACTION_GROUP + UF_FLAG_PUBLIC, // UNIT_FIELD_SCALING_HEALTH_ITEM_LEVEL_CURVE_ID + UF_FLAG_PUBLIC, // UNIT_FIELD_SCALING_DAMAGE_ITEM_LEVEL_CURVE_ID UF_FLAG_PUBLIC, // UNIT_FIELD_FACTIONTEMPLATE UF_FLAG_PUBLIC, // UNIT_VIRTUAL_ITEM_SLOT_ID UF_FLAG_PUBLIC, // UNIT_VIRTUAL_ITEM_SLOT_ID+1 @@ -369,7 +543,9 @@ uint32 UnitUpdateFieldFlags[PLAYER_END] = UF_FLAG_PUBLIC, // UNIT_FIELD_BOUNDINGRADIUS UF_FLAG_PUBLIC, // UNIT_FIELD_COMBATREACH UF_FLAG_DYNAMIC | UF_FLAG_URGENT, // UNIT_FIELD_DISPLAYID + UF_FLAG_DYNAMIC | UF_FLAG_URGENT, // UNIT_FIELD_DISPLAY_SCALE UF_FLAG_PUBLIC | UF_FLAG_URGENT, // UNIT_FIELD_NATIVEDISPLAYID + UF_FLAG_PUBLIC | UF_FLAG_URGENT, // UNIT_FIELD_NATIVE_X_DISPLAY_SCALE 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 @@ -409,21 +585,13 @@ uint32 UnitUpdateFieldFlags[PLAYER_END] = UF_FLAG_PRIVATE | UF_FLAG_OWNER | UF_FLAG_SPECIAL_INFO, // UNIT_FIELD_RESISTANCES+4 UF_FLAG_PRIVATE | UF_FLAG_OWNER | UF_FLAG_SPECIAL_INFO, // UNIT_FIELD_RESISTANCES+5 UF_FLAG_PRIVATE | UF_FLAG_OWNER | UF_FLAG_SPECIAL_INFO, // UNIT_FIELD_RESISTANCES+6 - UF_FLAG_PRIVATE | UF_FLAG_OWNER, // UNIT_FIELD_RESISTANCEBUFFMODSPOSITIVE - UF_FLAG_PRIVATE | UF_FLAG_OWNER, // UNIT_FIELD_RESISTANCEBUFFMODSPOSITIVE+1 - UF_FLAG_PRIVATE | UF_FLAG_OWNER, // UNIT_FIELD_RESISTANCEBUFFMODSPOSITIVE+2 - UF_FLAG_PRIVATE | UF_FLAG_OWNER, // UNIT_FIELD_RESISTANCEBUFFMODSPOSITIVE+3 - UF_FLAG_PRIVATE | UF_FLAG_OWNER, // UNIT_FIELD_RESISTANCEBUFFMODSPOSITIVE+4 - UF_FLAG_PRIVATE | UF_FLAG_OWNER, // UNIT_FIELD_RESISTANCEBUFFMODSPOSITIVE+5 - UF_FLAG_PRIVATE | UF_FLAG_OWNER, // UNIT_FIELD_RESISTANCEBUFFMODSPOSITIVE+6 - UF_FLAG_PRIVATE | UF_FLAG_OWNER, // UNIT_FIELD_RESISTANCEBUFFMODSNEGATIVE - UF_FLAG_PRIVATE | UF_FLAG_OWNER, // UNIT_FIELD_RESISTANCEBUFFMODSNEGATIVE+1 - UF_FLAG_PRIVATE | UF_FLAG_OWNER, // UNIT_FIELD_RESISTANCEBUFFMODSNEGATIVE+2 - UF_FLAG_PRIVATE | UF_FLAG_OWNER, // UNIT_FIELD_RESISTANCEBUFFMODSNEGATIVE+3 - 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_PRIVATE | UF_FLAG_OWNER, // UNIT_FIELD_BONUS_RESISTANCE_MODS + UF_FLAG_PRIVATE | UF_FLAG_OWNER, // UNIT_FIELD_BONUS_RESISTANCE_MODS+1 + UF_FLAG_PRIVATE | UF_FLAG_OWNER, // UNIT_FIELD_BONUS_RESISTANCE_MODS+2 + UF_FLAG_PRIVATE | UF_FLAG_OWNER, // UNIT_FIELD_BONUS_RESISTANCE_MODS+3 + UF_FLAG_PRIVATE | UF_FLAG_OWNER, // UNIT_FIELD_BONUS_RESISTANCE_MODS+4 + UF_FLAG_PRIVATE | UF_FLAG_OWNER, // UNIT_FIELD_BONUS_RESISTANCE_MODS+5 + UF_FLAG_PRIVATE | UF_FLAG_OWNER, // UNIT_FIELD_BONUS_RESISTANCE_MODS+6 UF_FLAG_PUBLIC, // UNIT_FIELD_BASE_MANA UF_FLAG_PRIVATE | UF_FLAG_OWNER, // UNIT_FIELD_BASE_HEALTH UF_FLAG_PUBLIC, // UNIT_FIELD_BYTES_2 @@ -435,7 +603,11 @@ uint32 UnitUpdateFieldFlags[PLAYER_END] = UF_FLAG_PRIVATE | UF_FLAG_OWNER, // UNIT_FIELD_RANGED_ATTACK_POWER_MOD_POS UF_FLAG_PRIVATE | UF_FLAG_OWNER, // UNIT_FIELD_RANGED_ATTACK_POWER_MOD_NEG UF_FLAG_PRIVATE | UF_FLAG_OWNER, // UNIT_FIELD_RANGED_ATTACK_POWER_MULTIPLIER + UF_FLAG_PRIVATE | UF_FLAG_OWNER, // UNIT_FIELD_MAIN_HAND_WEAPON_ATTACK_POWER + UF_FLAG_PRIVATE | UF_FLAG_OWNER, // UNIT_FIELD_OFF_HAND_WEAPON_ATTACK_POWER + UF_FLAG_PRIVATE | UF_FLAG_OWNER, // UNIT_FIELD_RANGED_HAND_WEAPON_ATTACK_POWER UF_FLAG_PRIVATE | UF_FLAG_OWNER, // UNIT_FIELD_ATTACK_SPEED_AURA + UF_FLAG_PRIVATE | UF_FLAG_OWNER, // UNIT_FIELD_LIFESTEAL UF_FLAG_PRIVATE | UF_FLAG_OWNER, // UNIT_FIELD_MINRANGEDDAMAGE UF_FLAG_PRIVATE | UF_FLAG_OWNER, // UNIT_FIELD_MAXRANGEDDAMAGE UF_FLAG_PRIVATE | UF_FLAG_OWNER, // UNIT_FIELD_POWER_COST_MODIFIER @@ -471,10 +643,10 @@ uint32 UnitUpdateFieldFlags[PLAYER_END] = UF_FLAG_PUBLIC, // UNIT_FIELD_LOOKS_LIKE_MOUNT_ID UF_FLAG_PUBLIC, // UNIT_FIELD_LOOKS_LIKE_CREATURE_ID UF_FLAG_PUBLIC, // UNIT_FIELD_LOOK_AT_CONTROLLER_ID - UF_FLAG_PUBLIC, // UNIT_FIELD_LOOK_AT_CONTROLLER_TARGET - UF_FLAG_PUBLIC, // UNIT_FIELD_LOOK_AT_CONTROLLER_TARGET+1 - UF_FLAG_PUBLIC, // UNIT_FIELD_LOOK_AT_CONTROLLER_TARGET+2 - UF_FLAG_PUBLIC, // UNIT_FIELD_LOOK_AT_CONTROLLER_TARGET+3 + UF_FLAG_PUBLIC, // UNIT_FIELD_GUILD_GUID + UF_FLAG_PUBLIC, // UNIT_FIELD_GUILD_GUID+1 + UF_FLAG_PUBLIC, // UNIT_FIELD_GUILD_GUID+2 + UF_FLAG_PUBLIC, // UNIT_FIELD_GUILD_GUID+3 UF_FLAG_PUBLIC, // PLAYER_DUEL_ARBITER UF_FLAG_PUBLIC, // PLAYER_DUEL_ARBITER+1 UF_FLAG_PUBLIC, // PLAYER_DUEL_ARBITER+2 @@ -1298,6 +1470,806 @@ uint32 UnitUpdateFieldFlags[PLAYER_END] = UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+797 UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+798 UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+799 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+800 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+801 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+802 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+803 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+804 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+805 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+806 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+807 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+808 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+809 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+810 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+811 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+812 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+813 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+814 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+815 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+816 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+817 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+818 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+819 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+820 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+821 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+822 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+823 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+824 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+825 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+826 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+827 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+828 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+829 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+830 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+831 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+832 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+833 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+834 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+835 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+836 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+837 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+838 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+839 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+840 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+841 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+842 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+843 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+844 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+845 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+846 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+847 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+848 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+849 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+850 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+851 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+852 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+853 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+854 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+855 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+856 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+857 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+858 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+859 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+860 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+861 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+862 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+863 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+864 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+865 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+866 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+867 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+868 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+869 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+870 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+871 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+872 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+873 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+874 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+875 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+876 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+877 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+878 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+879 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+880 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+881 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+882 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+883 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+884 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+885 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+886 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+887 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+888 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+889 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+890 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+891 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+892 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+893 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+894 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+895 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+896 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+897 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+898 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+899 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+900 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+901 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+902 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+903 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+904 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+905 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+906 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+907 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+908 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+909 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+910 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+911 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+912 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+913 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+914 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+915 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+916 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+917 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+918 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+919 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+920 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+921 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+922 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+923 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+924 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+925 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+926 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+927 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+928 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+929 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+930 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+931 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+932 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+933 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+934 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+935 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+936 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+937 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+938 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+939 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+940 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+941 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+942 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+943 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+944 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+945 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+946 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+947 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+948 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+949 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+950 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+951 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+952 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+953 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+954 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+955 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+956 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+957 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+958 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+959 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+960 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+961 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+962 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+963 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+964 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+965 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+966 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+967 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+968 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+969 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+970 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+971 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+972 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+973 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+974 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+975 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+976 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+977 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+978 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+979 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+980 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+981 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+982 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+983 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+984 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+985 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+986 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+987 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+988 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+989 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+990 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+991 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+992 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+993 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+994 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+995 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+996 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+997 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+998 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+999 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1000 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1001 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1002 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1003 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1004 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1005 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1006 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1007 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1008 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1009 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1010 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1011 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1012 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1013 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1014 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1015 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1016 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1017 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1018 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1019 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1020 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1021 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1022 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1023 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1024 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1025 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1026 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1027 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1028 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1029 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1030 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1031 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1032 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1033 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1034 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1035 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1036 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1037 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1038 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1039 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1040 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1041 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1042 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1043 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1044 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1045 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1046 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1047 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1048 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1049 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1050 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1051 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1052 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1053 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1054 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1055 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1056 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1057 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1058 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1059 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1060 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1061 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1062 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1063 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1064 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1065 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1066 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1067 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1068 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1069 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1070 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1071 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1072 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1073 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1074 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1075 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1076 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1077 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1078 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1079 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1080 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1081 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1082 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1083 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1084 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1085 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1086 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1087 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1088 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1089 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1090 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1091 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1092 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1093 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1094 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1095 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1096 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1097 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1098 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1099 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1100 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1101 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1102 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1103 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1104 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1105 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1106 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1107 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1108 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1109 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1110 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1111 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1112 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1113 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1114 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1115 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1116 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1117 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1118 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1119 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1120 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1121 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1122 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1123 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1124 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1125 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1126 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1127 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1128 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1129 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1130 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1131 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1132 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1133 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1134 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1135 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1136 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1137 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1138 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1139 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1140 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1141 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1142 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1143 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1144 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1145 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1146 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1147 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1148 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1149 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1150 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1151 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1152 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1153 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1154 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1155 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1156 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1157 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1158 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1159 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1160 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1161 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1162 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1163 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1164 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1165 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1166 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1167 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1168 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1169 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1170 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1171 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1172 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1173 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1174 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1175 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1176 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1177 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1178 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1179 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1180 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1181 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1182 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1183 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1184 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1185 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1186 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1187 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1188 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1189 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1190 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1191 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1192 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1193 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1194 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1195 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1196 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1197 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1198 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1199 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1200 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1201 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1202 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1203 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1204 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1205 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1206 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1207 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1208 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1209 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1210 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1211 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1212 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1213 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1214 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1215 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1216 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1217 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1218 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1219 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1220 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1221 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1222 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1223 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1224 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1225 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1226 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1227 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1228 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1229 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1230 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1231 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1232 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1233 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1234 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1235 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1236 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1237 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1238 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1239 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1240 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1241 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1242 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1243 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1244 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1245 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1246 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1247 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1248 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1249 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1250 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1251 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1252 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1253 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1254 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1255 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1256 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1257 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1258 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1259 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1260 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1261 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1262 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1263 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1264 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1265 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1266 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1267 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1268 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1269 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1270 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1271 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1272 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1273 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1274 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1275 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1276 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1277 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1278 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1279 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1280 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1281 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1282 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1283 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1284 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1285 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1286 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1287 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1288 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1289 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1290 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1291 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1292 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1293 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1294 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1295 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1296 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1297 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1298 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1299 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1300 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1301 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1302 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1303 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1304 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1305 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1306 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1307 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1308 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1309 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1310 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1311 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1312 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1313 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1314 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1315 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1316 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1317 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1318 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1319 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1320 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1321 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1322 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1323 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1324 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1325 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1326 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1327 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1328 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1329 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1330 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1331 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1332 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1333 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1334 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1335 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1336 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1337 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1338 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1339 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1340 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1341 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1342 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1343 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1344 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1345 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1346 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1347 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1348 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1349 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1350 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1351 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1352 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1353 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1354 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1355 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1356 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1357 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1358 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1359 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1360 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1361 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1362 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1363 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1364 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1365 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1366 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1367 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1368 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1369 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1370 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1371 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1372 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1373 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1374 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1375 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1376 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1377 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1378 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1379 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1380 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1381 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1382 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1383 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1384 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1385 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1386 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1387 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1388 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1389 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1390 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1391 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1392 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1393 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1394 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1395 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1396 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1397 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1398 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1399 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1400 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1401 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1402 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1403 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1404 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1405 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1406 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1407 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1408 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1409 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1410 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1411 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1412 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1413 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1414 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1415 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1416 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1417 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1418 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1419 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1420 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1421 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1422 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1423 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1424 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1425 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1426 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1427 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1428 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1429 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1430 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1431 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1432 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1433 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1434 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1435 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1436 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1437 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1438 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1439 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1440 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1441 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1442 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1443 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1444 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1445 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1446 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1447 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1448 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1449 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1450 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1451 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1452 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1453 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1454 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1455 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1456 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1457 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1458 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1459 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1460 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1461 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1462 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1463 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1464 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1465 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1466 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1467 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1468 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1469 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1470 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1471 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1472 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1473 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1474 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1475 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1476 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1477 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1478 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1479 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1480 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1481 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1482 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1483 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1484 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1485 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1486 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1487 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1488 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1489 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1490 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1491 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1492 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1493 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1494 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1495 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1496 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1497 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1498 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1499 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1500 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1501 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1502 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1503 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1504 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1505 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1506 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1507 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1508 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1509 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1510 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1511 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1512 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1513 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1514 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1515 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1516 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1517 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1518 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1519 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1520 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1521 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1522 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1523 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1524 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1525 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1526 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1527 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1528 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1529 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1530 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1531 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1532 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1533 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1534 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1535 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1536 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1537 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1538 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1539 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1540 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1541 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1542 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1543 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1544 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1545 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1546 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1547 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1548 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1549 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1550 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1551 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1552 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1553 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1554 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1555 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1556 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1557 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1558 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1559 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1560 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1561 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1562 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1563 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1564 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1565 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1566 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1567 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1568 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1569 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1570 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1571 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1572 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1573 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1574 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1575 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1576 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1577 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1578 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1579 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1580 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1581 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1582 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1583 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1584 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1585 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1586 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1587 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1588 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1589 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1590 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1591 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1592 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1593 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1594 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1595 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1596 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1597 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1598 + UF_FLAG_PARTY_MEMBER, // PLAYER_QUEST_LOG+1599 UF_FLAG_PUBLIC, // PLAYER_VISIBLE_ITEM UF_FLAG_PUBLIC, // PLAYER_VISIBLE_ITEM+1 UF_FLAG_PUBLIC, // PLAYER_VISIBLE_ITEM+2 @@ -1346,3568 +2318,4021 @@ uint32 UnitUpdateFieldFlags[PLAYER_END] = UF_FLAG_PUBLIC, // PLAYER_FIELD_AVG_ITEM_LEVEL+2 UF_FLAG_PUBLIC, // PLAYER_FIELD_AVG_ITEM_LEVEL+3 UF_FLAG_PUBLIC, // PLAYER_FIELD_CURRENT_BATTLE_PET_BREED_QUALITY - UF_FLAG_PUBLIC, // PLAYER_FIELD_PRESTIGE UF_FLAG_PUBLIC, // PLAYER_FIELD_HONOR_LEVEL - UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD - UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+1 - UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+2 - UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+3 - UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+4 - UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+5 - UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+6 - UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+7 - UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+8 - UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+9 - UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+10 - UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+11 - UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+12 - UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+13 - UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+14 - UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+15 - UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+16 - UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+17 - UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+18 - UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+19 - UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+20 - UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+21 - UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+22 - UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+23 - UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+24 - UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+25 - UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+26 - UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+27 - UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+28 - UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+29 - UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+30 - UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+31 - UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+32 - UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+33 - UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+34 - UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+35 - UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+36 - UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+37 - UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+38 - UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+39 - UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+40 - UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+41 - UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+42 - 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_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_FIELD_INV_SLOT_HEAD+736 - UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+737 - UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+738 - UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+739 - UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+740 - UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+741 - UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+742 - UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+743 - UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+744 - UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+745 - UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+746 - UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+747 - UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+748 - UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+749 - UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+750 - UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+751 - UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+752 - UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+753 - UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+754 - UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+755 - UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+756 - UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+757 - UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+758 - UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+759 - UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+760 - UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+761 - UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+762 - UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+763 - UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+764 - UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+765 - UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+766 - UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+767 - UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+768 - UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+769 - UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+770 - UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+771 - UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+772 - UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+773 - UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+774 - UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+775 - UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+776 - UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+777 - UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+778 - UF_FLAG_PRIVATE, // PLAYER_FIELD_INV_SLOT_HEAD+779 - 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_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, // PLAYER__FIELD_KNOWN_TITLES - UF_FLAG_PRIVATE, // PLAYER__FIELD_KNOWN_TITLES+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_KNOWN_TITLES+10 - UF_FLAG_PRIVATE, // PLAYER__FIELD_KNOWN_TITLES+11 - 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_TRIAL_XP - 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_DODGE_PERCENTAGE_FROM_ATTRIBUTE - UF_FLAG_PRIVATE, // PLAYER_PARRY_PERCENTAGE - UF_FLAG_PRIVATE, // PLAYER_PARRY_PERCENTAGE_FROM_ATTRIBUTE - UF_FLAG_PRIVATE, // PLAYER_CRIT_PERCENTAGE - UF_FLAG_PRIVATE, // PLAYER_RANGED_CRIT_PERCENTAGE - UF_FLAG_PRIVATE, // PLAYER_OFFHAND_CRIT_PERCENTAGE - UF_FLAG_PRIVATE, // PLAYER_SPELL_CRIT_PERCENTAGE1 - UF_FLAG_PRIVATE, // PLAYER_SHIELD_BLOCK - UF_FLAG_PRIVATE, // PLAYER_SHIELD_BLOCK_CRIT_PERCENTAGE - UF_FLAG_PRIVATE, // PLAYER_MASTERY - UF_FLAG_PRIVATE, // PLAYER_SPEED - UF_FLAG_PRIVATE, // PLAYER_LIFESTEAL - UF_FLAG_PRIVATE, // PLAYER_AVOIDANCE - UF_FLAG_PRIVATE, // PLAYER_STURDINESS - 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 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+3 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+4 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+5 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+6 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+7 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+8 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+9 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+10 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+11 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+12 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+13 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+14 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+15 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+16 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+17 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+18 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+19 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+20 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+21 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+22 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+23 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+24 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+25 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+26 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+27 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+28 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+29 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+30 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+31 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+32 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+33 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+34 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+35 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+36 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+37 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+38 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+39 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+40 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+41 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+42 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+43 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+44 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+45 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+46 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+47 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+48 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+49 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+50 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+51 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+52 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+53 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+54 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+55 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+56 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+57 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+58 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+59 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+60 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+61 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+62 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+63 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+64 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+65 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+66 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+67 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+68 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+69 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+70 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+71 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+72 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+73 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+74 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+75 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+76 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+77 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+78 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+79 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+80 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+81 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+82 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+83 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+84 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+85 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+86 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+87 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+88 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+89 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+90 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+91 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+92 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+93 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+94 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+95 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+96 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+97 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+98 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+99 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+100 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+101 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+102 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+103 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+104 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+105 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+106 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+107 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+108 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+109 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+110 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+111 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+112 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+113 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+114 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+115 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+116 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+117 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+118 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+119 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+120 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+121 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+122 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+123 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+124 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+125 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+126 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+127 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+128 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+129 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+130 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+131 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+132 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+133 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+134 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+135 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+136 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+137 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+138 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+139 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+140 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+141 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+142 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+143 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+144 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+145 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+146 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+147 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+148 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+149 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+150 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+151 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+152 - 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_EXPLORED_ZONES_1+200 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+201 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+202 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+203 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+204 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+205 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+206 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+207 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+208 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+209 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+210 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+211 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+212 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+213 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+214 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+215 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+216 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+217 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+218 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+219 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+220 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+221 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+222 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+223 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+224 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+225 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+226 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+227 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+228 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+229 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+230 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+231 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+232 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+233 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+234 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+235 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+236 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+237 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+238 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+239 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+240 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+241 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+242 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+243 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+244 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+245 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+246 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+247 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+248 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+249 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+250 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+251 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+252 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+253 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+254 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+255 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+256 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+257 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+258 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+259 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+260 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+261 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+262 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+263 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+264 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+265 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+266 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+267 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+268 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+269 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+270 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+271 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+272 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+273 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+274 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+275 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+276 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+277 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+278 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+279 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+280 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+281 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+282 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+283 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+284 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+285 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+286 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+287 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+288 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+289 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+290 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+291 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+292 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+293 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+294 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+295 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+296 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+297 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+298 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+299 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+300 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+301 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+302 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+303 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+304 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+305 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+306 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+307 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+308 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+309 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+310 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+311 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+312 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+313 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+314 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+315 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+316 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+317 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+318 - UF_FLAG_PRIVATE, // PLAYER_EXPLORED_ZONES_1+319 - UF_FLAG_PRIVATE, // PLAYER_FIELD_REST_INFO - UF_FLAG_PRIVATE, // PLAYER_FIELD_REST_INFO+1 - UF_FLAG_PRIVATE, // PLAYER_FIELD_REST_INFO+2 - UF_FLAG_PRIVATE, // PLAYER_FIELD_REST_INFO+3 - UF_FLAG_PRIVATE, // PLAYER_FIELD_MOD_DAMAGE_DONE_POS - UF_FLAG_PRIVATE, // PLAYER_FIELD_MOD_DAMAGE_DONE_POS+1 - UF_FLAG_PRIVATE, // PLAYER_FIELD_MOD_DAMAGE_DONE_POS+2 - UF_FLAG_PRIVATE, // PLAYER_FIELD_MOD_DAMAGE_DONE_POS+3 - UF_FLAG_PRIVATE, // PLAYER_FIELD_MOD_DAMAGE_DONE_POS+4 - UF_FLAG_PRIVATE, // PLAYER_FIELD_MOD_DAMAGE_DONE_POS+5 - UF_FLAG_PRIVATE, // PLAYER_FIELD_MOD_DAMAGE_DONE_POS+6 - UF_FLAG_PRIVATE, // PLAYER_FIELD_MOD_DAMAGE_DONE_NEG - UF_FLAG_PRIVATE, // PLAYER_FIELD_MOD_DAMAGE_DONE_NEG+1 - UF_FLAG_PRIVATE, // PLAYER_FIELD_MOD_DAMAGE_DONE_NEG+2 - UF_FLAG_PRIVATE, // PLAYER_FIELD_MOD_DAMAGE_DONE_NEG+3 - UF_FLAG_PRIVATE, // PLAYER_FIELD_MOD_DAMAGE_DONE_NEG+4 - UF_FLAG_PRIVATE, // PLAYER_FIELD_MOD_DAMAGE_DONE_NEG+5 - UF_FLAG_PRIVATE, // PLAYER_FIELD_MOD_DAMAGE_DONE_NEG+6 - UF_FLAG_PRIVATE, // PLAYER_FIELD_MOD_DAMAGE_DONE_PCT - UF_FLAG_PRIVATE, // PLAYER_FIELD_MOD_DAMAGE_DONE_PCT+1 - UF_FLAG_PRIVATE, // PLAYER_FIELD_MOD_DAMAGE_DONE_PCT+2 - UF_FLAG_PRIVATE, // PLAYER_FIELD_MOD_DAMAGE_DONE_PCT+3 - UF_FLAG_PRIVATE, // PLAYER_FIELD_MOD_DAMAGE_DONE_PCT+4 - UF_FLAG_PRIVATE, // PLAYER_FIELD_MOD_DAMAGE_DONE_PCT+5 - UF_FLAG_PRIVATE, // PLAYER_FIELD_MOD_DAMAGE_DONE_PCT+6 - 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_FIELD_PVP_MEDALS - UF_FLAG_PRIVATE, // PLAYER_FIELD_BUYBACK_PRICE_1 - UF_FLAG_PRIVATE, // PLAYER_FIELD_BUYBACK_PRICE_1+1 - UF_FLAG_PRIVATE, // PLAYER_FIELD_BUYBACK_PRICE_1+2 - UF_FLAG_PRIVATE, // PLAYER_FIELD_BUYBACK_PRICE_1+3 - UF_FLAG_PRIVATE, // PLAYER_FIELD_BUYBACK_PRICE_1+4 - UF_FLAG_PRIVATE, // PLAYER_FIELD_BUYBACK_PRICE_1+5 - UF_FLAG_PRIVATE, // PLAYER_FIELD_BUYBACK_PRICE_1+6 - UF_FLAG_PRIVATE, // PLAYER_FIELD_BUYBACK_PRICE_1+7 - UF_FLAG_PRIVATE, // PLAYER_FIELD_BUYBACK_PRICE_1+8 - UF_FLAG_PRIVATE, // PLAYER_FIELD_BUYBACK_PRICE_1+9 - UF_FLAG_PRIVATE, // PLAYER_FIELD_BUYBACK_PRICE_1+10 - UF_FLAG_PRIVATE, // PLAYER_FIELD_BUYBACK_PRICE_1+11 - UF_FLAG_PRIVATE, // PLAYER_FIELD_BUYBACK_TIMESTAMP_1 - UF_FLAG_PRIVATE, // PLAYER_FIELD_BUYBACK_TIMESTAMP_1+1 - UF_FLAG_PRIVATE, // PLAYER_FIELD_BUYBACK_TIMESTAMP_1+2 - UF_FLAG_PRIVATE, // PLAYER_FIELD_BUYBACK_TIMESTAMP_1+3 - UF_FLAG_PRIVATE, // PLAYER_FIELD_BUYBACK_TIMESTAMP_1+4 - UF_FLAG_PRIVATE, // PLAYER_FIELD_BUYBACK_TIMESTAMP_1+5 - UF_FLAG_PRIVATE, // PLAYER_FIELD_BUYBACK_TIMESTAMP_1+6 - UF_FLAG_PRIVATE, // PLAYER_FIELD_BUYBACK_TIMESTAMP_1+7 - UF_FLAG_PRIVATE, // PLAYER_FIELD_BUYBACK_TIMESTAMP_1+8 - UF_FLAG_PRIVATE, // PLAYER_FIELD_BUYBACK_TIMESTAMP_1+9 - 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_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 - UF_FLAG_PRIVATE, // PLAYER_FIELD_COMBAT_RATING_1+2 - UF_FLAG_PRIVATE, // PLAYER_FIELD_COMBAT_RATING_1+3 - UF_FLAG_PRIVATE, // PLAYER_FIELD_COMBAT_RATING_1+4 - UF_FLAG_PRIVATE, // PLAYER_FIELD_COMBAT_RATING_1+5 - UF_FLAG_PRIVATE, // PLAYER_FIELD_COMBAT_RATING_1+6 - UF_FLAG_PRIVATE, // PLAYER_FIELD_COMBAT_RATING_1+7 - UF_FLAG_PRIVATE, // PLAYER_FIELD_COMBAT_RATING_1+8 - UF_FLAG_PRIVATE, // PLAYER_FIELD_COMBAT_RATING_1+9 - UF_FLAG_PRIVATE, // PLAYER_FIELD_COMBAT_RATING_1+10 - UF_FLAG_PRIVATE, // PLAYER_FIELD_COMBAT_RATING_1+11 - UF_FLAG_PRIVATE, // PLAYER_FIELD_COMBAT_RATING_1+12 - UF_FLAG_PRIVATE, // PLAYER_FIELD_COMBAT_RATING_1+13 - UF_FLAG_PRIVATE, // PLAYER_FIELD_COMBAT_RATING_1+14 - UF_FLAG_PRIVATE, // PLAYER_FIELD_COMBAT_RATING_1+15 - UF_FLAG_PRIVATE, // PLAYER_FIELD_COMBAT_RATING_1+16 - UF_FLAG_PRIVATE, // PLAYER_FIELD_COMBAT_RATING_1+17 - UF_FLAG_PRIVATE, // PLAYER_FIELD_COMBAT_RATING_1+18 - UF_FLAG_PRIVATE, // PLAYER_FIELD_COMBAT_RATING_1+19 - UF_FLAG_PRIVATE, // PLAYER_FIELD_COMBAT_RATING_1+20 - UF_FLAG_PRIVATE, // PLAYER_FIELD_COMBAT_RATING_1+21 - UF_FLAG_PRIVATE, // PLAYER_FIELD_COMBAT_RATING_1+22 - 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 - UF_FLAG_PRIVATE, // PLAYER_FIELD_ARENA_TEAM_INFO_1_1+3 - UF_FLAG_PRIVATE, // PLAYER_FIELD_ARENA_TEAM_INFO_1_1+4 - UF_FLAG_PRIVATE, // PLAYER_FIELD_ARENA_TEAM_INFO_1_1+5 - UF_FLAG_PRIVATE, // PLAYER_FIELD_ARENA_TEAM_INFO_1_1+6 - UF_FLAG_PRIVATE, // PLAYER_FIELD_ARENA_TEAM_INFO_1_1+7 - UF_FLAG_PRIVATE, // PLAYER_FIELD_ARENA_TEAM_INFO_1_1+8 - UF_FLAG_PRIVATE, // PLAYER_FIELD_ARENA_TEAM_INFO_1_1+9 - UF_FLAG_PRIVATE, // PLAYER_FIELD_ARENA_TEAM_INFO_1_1+10 - UF_FLAG_PRIVATE, // PLAYER_FIELD_ARENA_TEAM_INFO_1_1+11 - UF_FLAG_PRIVATE, // PLAYER_FIELD_ARENA_TEAM_INFO_1_1+12 - UF_FLAG_PRIVATE, // PLAYER_FIELD_ARENA_TEAM_INFO_1_1+13 - UF_FLAG_PRIVATE, // PLAYER_FIELD_ARENA_TEAM_INFO_1_1+14 - UF_FLAG_PRIVATE, // PLAYER_FIELD_ARENA_TEAM_INFO_1_1+15 - UF_FLAG_PRIVATE, // PLAYER_FIELD_ARENA_TEAM_INFO_1_1+16 - UF_FLAG_PRIVATE, // PLAYER_FIELD_ARENA_TEAM_INFO_1_1+17 - 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_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_ARENA_TEAM_INFO_1_1+36 - UF_FLAG_PRIVATE, // PLAYER_FIELD_ARENA_TEAM_INFO_1_1+37 - UF_FLAG_PRIVATE, // PLAYER_FIELD_ARENA_TEAM_INFO_1_1+38 - UF_FLAG_PRIVATE, // PLAYER_FIELD_ARENA_TEAM_INFO_1_1+39 - UF_FLAG_PRIVATE, // PLAYER_FIELD_ARENA_TEAM_INFO_1_1+40 - UF_FLAG_PRIVATE, // PLAYER_FIELD_ARENA_TEAM_INFO_1_1+41 - UF_FLAG_PRIVATE, // PLAYER_FIELD_MAX_LEVEL - UF_FLAG_PRIVATE, // PLAYER_FIELD_SCALING_PLAYER_LEVEL_DELTA - UF_FLAG_PRIVATE, // PLAYER_FIELD_MAX_CREATURE_SCALING_LEVEL - 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_PET_SPELL_POWER - UF_FLAG_PRIVATE, // PLAYER_FIELD_RESEARCHING_1 - UF_FLAG_PRIVATE, // PLAYER_FIELD_RESEARCHING_1+1 - UF_FLAG_PRIVATE, // PLAYER_FIELD_RESEARCHING_1+2 - UF_FLAG_PRIVATE, // PLAYER_FIELD_RESEARCHING_1+3 - UF_FLAG_PRIVATE, // PLAYER_FIELD_RESEARCHING_1+4 - 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_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_PET_HASTE - UF_FLAG_PRIVATE, // PLAYER_FIELD_BYTES2 - UF_FLAG_PRIVATE | UF_FLAG_URGENT_SELF_ONLY, // PLAYER_FIELD_BYTES3 - UF_FLAG_PRIVATE, // PLAYER_FIELD_LFG_BONUS_FACTION_ID - UF_FLAG_PRIVATE, // PLAYER_FIELD_LOOT_SPEC_ID - UF_FLAG_PRIVATE | UF_FLAG_URGENT_SELF_ONLY, // PLAYER_FIELD_OVERRIDE_ZONE_PVP_TYPE - 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 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+2 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+3 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+4 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+5 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+6 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+7 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+8 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+9 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+10 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+11 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+12 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+13 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+14 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+15 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+16 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+17 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+18 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+19 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+20 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+21 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+22 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+23 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+24 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+25 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+26 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+27 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+28 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+29 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+30 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+31 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+32 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+33 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+34 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+35 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+36 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+37 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+38 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+39 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+40 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+41 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+42 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+43 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+44 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+45 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+46 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+47 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+48 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+49 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+50 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+51 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+52 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+53 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+54 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+55 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+56 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+57 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+58 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+59 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+60 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+61 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+62 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+63 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+64 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+65 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+66 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+67 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+68 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+69 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+70 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+71 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+72 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+73 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+74 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+75 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+76 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+77 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+78 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+79 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+80 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+81 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+82 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+83 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+84 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+85 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+86 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+87 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+88 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+89 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+90 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+91 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+92 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+93 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+94 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+95 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+96 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+97 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+98 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+99 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+100 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+101 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+102 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+103 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+104 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+105 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+106 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+107 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+108 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+109 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+110 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+111 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+112 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+113 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+114 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+115 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+116 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+117 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+118 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+119 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+120 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+121 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+122 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+123 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+124 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+125 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+126 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+127 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+128 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+129 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+130 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+131 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+132 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+133 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+134 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+135 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+136 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+137 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+138 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+139 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+140 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+141 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+142 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+143 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+144 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+145 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+146 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+147 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+148 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+149 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+150 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+151 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+152 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+153 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+154 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+155 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+156 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+157 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+158 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+159 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+160 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+161 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+162 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+163 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+164 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+165 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+166 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+167 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+168 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+169 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+170 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+171 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+172 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+173 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+174 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+175 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+176 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+177 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+178 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+179 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+180 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+181 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+182 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+183 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+184 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+185 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+186 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+187 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+188 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+189 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+190 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+191 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+192 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+193 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+194 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+195 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+196 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+197 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+198 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+199 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+200 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+201 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+202 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+203 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+204 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+205 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+206 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+207 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+208 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+209 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+210 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+211 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+212 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+213 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+214 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+215 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+216 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+217 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+218 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+219 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+220 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+221 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+222 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+223 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+224 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+225 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+226 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+227 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+228 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+229 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+230 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+231 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+232 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+233 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+234 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+235 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+236 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+237 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+238 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+239 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+240 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+241 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+242 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+243 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+244 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+245 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+246 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+247 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+248 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+249 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+250 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+251 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+252 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+253 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+254 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+255 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+256 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+257 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+258 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+259 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+260 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+261 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+262 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+263 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+264 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+265 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+266 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+267 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+268 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+269 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+270 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+271 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+272 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+273 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+274 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+275 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+276 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+277 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+278 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+279 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+280 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+281 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+282 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+283 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+284 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+285 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+286 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+287 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+288 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+289 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+290 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+291 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+292 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+293 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+294 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+295 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+296 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+297 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+298 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+299 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+300 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+301 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+302 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+303 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+304 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+305 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+306 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+307 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+308 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+309 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+310 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+311 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+312 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+313 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+314 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+315 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+316 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+317 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+318 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+319 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+320 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+321 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+322 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+323 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+324 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+325 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+326 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+327 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+328 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+329 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+330 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+331 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+332 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+333 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+334 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+335 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+336 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+337 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+338 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+339 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+340 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+341 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+342 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+343 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+344 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+345 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+346 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+347 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+348 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+349 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+350 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+351 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+352 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+353 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+354 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+355 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+356 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+357 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+358 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+359 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+360 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+361 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+362 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+363 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+364 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+365 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+366 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+367 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+368 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+369 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+370 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+371 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+372 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+373 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+374 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+375 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+376 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+377 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+378 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+379 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+380 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+381 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+382 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+383 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+384 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+385 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+386 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+387 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+388 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+389 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+390 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+391 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+392 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+393 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+394 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+395 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+396 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+397 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+398 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+399 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+400 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+401 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+402 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+403 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+404 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+405 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+406 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+407 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+408 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+409 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+410 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+411 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+412 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+413 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+414 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+415 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+416 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+417 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+418 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+419 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+420 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+421 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+422 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+423 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+424 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+425 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+426 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+427 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+428 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+429 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+430 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+431 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+432 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+433 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+434 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+435 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+436 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+437 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+438 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+439 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+440 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+441 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+442 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+443 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+444 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+445 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+446 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+447 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+448 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+449 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+450 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+451 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+452 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+453 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+454 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+455 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+456 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+457 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+458 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+459 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+460 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+461 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+462 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+463 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+464 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+465 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+466 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+467 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+468 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+469 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+470 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+471 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+472 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+473 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+474 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+475 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+476 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+477 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+478 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+479 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+480 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+481 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+482 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+483 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+484 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+485 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+486 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+487 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+488 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+489 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+490 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+491 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+492 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+493 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+494 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+495 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+496 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+497 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+498 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+499 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+500 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+501 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+502 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+503 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+504 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+505 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+506 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+507 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+508 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+509 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+510 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+511 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+512 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+513 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+514 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+515 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+516 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+517 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+518 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+519 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+520 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+521 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+522 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+523 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+524 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+525 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+526 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+527 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+528 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+529 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+530 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+531 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+532 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+533 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+534 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+535 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+536 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+537 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+538 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+539 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+540 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+541 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+542 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+543 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+544 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+545 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+546 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+547 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+548 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+549 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+550 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+551 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+552 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+553 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+554 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+555 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+556 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+557 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+558 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+559 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+560 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+561 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+562 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+563 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+564 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+565 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+566 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+567 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+568 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+569 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+570 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+571 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+572 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+573 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+574 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+575 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+576 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+577 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+578 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+579 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+580 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+581 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+582 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+583 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+584 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+585 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+586 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+587 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+588 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+589 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+590 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+591 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+592 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+593 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+594 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+595 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+596 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+597 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+598 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+599 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+600 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+601 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+602 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+603 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+604 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+605 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+606 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+607 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+608 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+609 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+610 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+611 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+612 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+613 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+614 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+615 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+616 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+617 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+618 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+619 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+620 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+621 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+622 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+623 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+624 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+625 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+626 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+627 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+628 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+629 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+630 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+631 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+632 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+633 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+634 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+635 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+636 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+637 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+638 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+639 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+640 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+641 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+642 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+643 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+644 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+645 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+646 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+647 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+648 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+649 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+650 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+651 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+652 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+653 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+654 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+655 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+656 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+657 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+658 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+659 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+660 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+661 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+662 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+663 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+664 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+665 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+666 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+667 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+668 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+669 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+670 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+671 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+672 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+673 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+674 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+675 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+676 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+677 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+678 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+679 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+680 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+681 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+682 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+683 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+684 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+685 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+686 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+687 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+688 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+689 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+690 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+691 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+692 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+693 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+694 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+695 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+696 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+697 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+698 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+699 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+700 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+701 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+702 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+703 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+704 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+705 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+706 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+707 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+708 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+709 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+710 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+711 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+712 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+713 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+714 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+715 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+716 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+717 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+718 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+719 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+720 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+721 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+722 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+723 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+724 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+725 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+726 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+727 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+728 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+729 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+730 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+731 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+732 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+733 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+734 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+735 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+736 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+737 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+738 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+739 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+740 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+741 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+742 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+743 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+744 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+745 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+746 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+747 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+748 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+749 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+750 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+751 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+752 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+753 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+754 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+755 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+756 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+757 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+758 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+759 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+760 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+761 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+762 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+763 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+764 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+765 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+766 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+767 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+768 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+769 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+770 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+771 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+772 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+773 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+774 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+775 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+776 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+777 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+778 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+779 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+780 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+781 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+782 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+783 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+784 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+785 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+786 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+787 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+788 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+789 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+790 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+791 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+792 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+793 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+794 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+795 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+796 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+797 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+798 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+799 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+800 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+801 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+802 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+803 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+804 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+805 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+806 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+807 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+808 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+809 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+810 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+811 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+812 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+813 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+814 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+815 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+816 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+817 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+818 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+819 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+820 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+821 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+822 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+823 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+824 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+825 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+826 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+827 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+828 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+829 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+830 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+831 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+832 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+833 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+834 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+835 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+836 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+837 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+838 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+839 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+840 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+841 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+842 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+843 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+844 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+845 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+846 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+847 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+848 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+849 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+850 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+851 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+852 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+853 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+854 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+855 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+856 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+857 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+858 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+859 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+860 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+861 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+862 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+863 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+864 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+865 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+866 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+867 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+868 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+869 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+870 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+871 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+872 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+873 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+874 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+875 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+876 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+877 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+878 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+879 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+880 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+881 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+882 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+883 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+884 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+885 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+886 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+887 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+888 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+889 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+890 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+891 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+892 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+893 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+894 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+895 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+896 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+897 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+898 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+899 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+900 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+901 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+902 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+903 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+904 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+905 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+906 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+907 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+908 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+909 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+910 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+911 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+912 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+913 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+914 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+915 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+916 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+917 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+918 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+919 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+920 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+921 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+922 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+923 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+924 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+925 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+926 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+927 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+928 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+929 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+930 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+931 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+932 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+933 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+934 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+935 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+936 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+937 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+938 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+939 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+940 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+941 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+942 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+943 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+944 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+945 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+946 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+947 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+948 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+949 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+950 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+951 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+952 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+953 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+954 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+955 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+956 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+957 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+958 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+959 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+960 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+961 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+962 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+963 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+964 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+965 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+966 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+967 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+968 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+969 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+970 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+971 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+972 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+973 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+974 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+975 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+976 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+977 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+978 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+979 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+980 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+981 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+982 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+983 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+984 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+985 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+986 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+987 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+988 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+989 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+990 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+991 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+992 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+993 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+994 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+995 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+996 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+997 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+998 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+999 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1000 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1001 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1002 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1003 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1004 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1005 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1006 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1007 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1008 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1009 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1010 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1011 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1012 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1013 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1014 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1015 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1016 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1017 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1018 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1019 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1020 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1021 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1022 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1023 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1024 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1025 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1026 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1027 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1028 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1029 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1030 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1031 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1032 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1033 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1034 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1035 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1036 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1037 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1038 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1039 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1040 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1041 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1042 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1043 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1044 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1045 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1046 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1047 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1048 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1049 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1050 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1051 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1052 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1053 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1054 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1055 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1056 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1057 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1058 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1059 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1060 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1061 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1062 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1063 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1064 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1065 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1066 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1067 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1068 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1069 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1070 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1071 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1072 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1073 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1074 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1075 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1076 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1077 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1078 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1079 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1080 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1081 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1082 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1083 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1084 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1085 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1086 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1087 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1088 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1089 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1090 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1091 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1092 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1093 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1094 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1095 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1096 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1097 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1098 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1099 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1100 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1101 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1102 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1103 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1104 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1105 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1106 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1107 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1108 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1109 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1110 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1111 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1112 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1113 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1114 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1115 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1116 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1117 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1118 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1119 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1120 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1121 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1122 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1123 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1124 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1125 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1126 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1127 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1128 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1129 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1130 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1131 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1132 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1133 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1134 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1135 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1136 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1137 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1138 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1139 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1140 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1141 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1142 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1143 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1144 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1145 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1146 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1147 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1148 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1149 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1150 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1151 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1152 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1153 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1154 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1155 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1156 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1157 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1158 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1159 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1160 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1161 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1162 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1163 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1164 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1165 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1166 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1167 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1168 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1169 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1170 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1171 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1172 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1173 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1174 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1175 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1176 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1177 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1178 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1179 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1180 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1181 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1182 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1183 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1184 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1185 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1186 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1187 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1188 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1189 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1190 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1191 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1192 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1193 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1194 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1195 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1196 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1197 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1198 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1199 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1200 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1201 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1202 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1203 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1204 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1205 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1206 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1207 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1208 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1209 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1210 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1211 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1212 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1213 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1214 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1215 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1216 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1217 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1218 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1219 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1220 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1221 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1222 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1223 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1224 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1225 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1226 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1227 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1228 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1229 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1230 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1231 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1232 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1233 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1234 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1235 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1236 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1237 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1238 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1239 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1240 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1241 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1242 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1243 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1244 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1245 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1246 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1247 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1248 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1249 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1250 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1251 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1252 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1253 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1254 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1255 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1256 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1257 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1258 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1259 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1260 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1261 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1262 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1263 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1264 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1265 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1266 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1267 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1268 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1269 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1270 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1271 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1272 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1273 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1274 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1275 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1276 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1277 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1278 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1279 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1280 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1281 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1282 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1283 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1284 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1285 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1286 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1287 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1288 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1289 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1290 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1291 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1292 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1293 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1294 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1295 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1296 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1297 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1298 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1299 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1300 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1301 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1302 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1303 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1304 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1305 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1306 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1307 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1308 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1309 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1310 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1311 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1312 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1313 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1314 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1315 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1316 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1317 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1318 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1319 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1320 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1321 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1322 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1323 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1324 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1325 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1326 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1327 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1328 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1329 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1330 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1331 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1332 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1333 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1334 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1335 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1336 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1337 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1338 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1339 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1340 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1341 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1342 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1343 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1344 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1345 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1346 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1347 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1348 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1349 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1350 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1351 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1352 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1353 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1354 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1355 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1356 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1357 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1358 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1359 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1360 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1361 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1362 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1363 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1364 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1365 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1366 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1367 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1368 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1369 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1370 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1371 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1372 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1373 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1374 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1375 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1376 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1377 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1378 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1379 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1380 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1381 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1382 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1383 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1384 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1385 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1386 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1387 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1388 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1389 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1390 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1391 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1392 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1393 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1394 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1395 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1396 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1397 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1398 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1399 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1400 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1401 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1402 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1403 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1404 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1405 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1406 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1407 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1408 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1409 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1410 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1411 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1412 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1413 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1414 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1415 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1416 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1417 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1418 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1419 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1420 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1421 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1422 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1423 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1424 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1425 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1426 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1427 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1428 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1429 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1430 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1431 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1432 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1433 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1434 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1435 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1436 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1437 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1438 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1439 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1440 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1441 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1442 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1443 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1444 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1445 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1446 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1447 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1448 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1449 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1450 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1451 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1452 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1453 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1454 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1455 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1456 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1457 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1458 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1459 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1460 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1461 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1462 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1463 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1464 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1465 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1466 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1467 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1468 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1469 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1470 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1471 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1472 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1473 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1474 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1475 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1476 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1477 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1478 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1479 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1480 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1481 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1482 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1483 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1484 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1485 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1486 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1487 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1488 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1489 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1490 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1491 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1492 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1493 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1494 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1495 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1496 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1497 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1498 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1499 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1500 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1501 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1502 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1503 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1504 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1505 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1506 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1507 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1508 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1509 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1510 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1511 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1512 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1513 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1514 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1515 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1516 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1517 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1518 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1519 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1520 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1521 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1522 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1523 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1524 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1525 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1526 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1527 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1528 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1529 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1530 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1531 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1532 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1533 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1534 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1535 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1536 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1537 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1538 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1539 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1540 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1541 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1542 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1543 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1544 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1545 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1546 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1547 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1548 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1549 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1550 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1551 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1552 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1553 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1554 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1555 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1556 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1557 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1558 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1559 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1560 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1561 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1562 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1563 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1564 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1565 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1566 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1567 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1568 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1569 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1570 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1571 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1572 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1573 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1574 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1575 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1576 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1577 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1578 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1579 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1580 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1581 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1582 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1583 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1584 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1585 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1586 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1587 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1588 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1589 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1590 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1591 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1592 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1593 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1594 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1595 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1596 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1597 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1598 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1599 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1600 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1601 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1602 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1603 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1604 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1605 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1606 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1607 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1608 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1609 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1610 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1611 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1612 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1613 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1614 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1615 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1616 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1617 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1618 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1619 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1620 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1621 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1622 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1623 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1624 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1625 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1626 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1627 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1628 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1629 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1630 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1631 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1632 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1633 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1634 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1635 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1636 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1637 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1638 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1639 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1640 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1641 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1642 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1643 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1644 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1645 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1646 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1647 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1648 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1649 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1650 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1651 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1652 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1653 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1654 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1655 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1656 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1657 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1658 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1659 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1660 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1661 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1662 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1663 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1664 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1665 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1666 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1667 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1668 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1669 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1670 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1671 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1672 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1673 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1674 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1675 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1676 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1677 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1678 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1679 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1680 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1681 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1682 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1683 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1684 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1685 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1686 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1687 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1688 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1689 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1690 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1691 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1692 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1693 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1694 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1695 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1696 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1697 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1698 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1699 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1700 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1701 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1702 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1703 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1704 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1705 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1706 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1707 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1708 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1709 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1710 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1711 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1712 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1713 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1714 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1715 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1716 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1717 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1718 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1719 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1720 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1721 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1722 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1723 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1724 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1725 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1726 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1727 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1728 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1729 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1730 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1731 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1732 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1733 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1734 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1735 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1736 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1737 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1738 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1739 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1740 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1741 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1742 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1743 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1744 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1745 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1746 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1747 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1748 - UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1749 - UF_FLAG_PRIVATE, // PLAYER_FIELD_HONOR - UF_FLAG_PRIVATE, // PLAYER_FIELD_HONOR_NEXT_LEVEL + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+1 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+2 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+3 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+4 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+5 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+6 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+7 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+8 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+9 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+10 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+11 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+12 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+13 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+14 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+15 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+16 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+17 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+18 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+19 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+20 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+21 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+22 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+23 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+24 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+25 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+26 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+27 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+28 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+29 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+30 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+31 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+32 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+33 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+34 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+35 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+36 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+37 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+38 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+39 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+40 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+41 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+42 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+43 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+44 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+45 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+46 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+47 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+48 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+49 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+50 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+51 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+52 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+53 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+54 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+55 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+56 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+57 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+58 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+59 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+60 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+61 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+62 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+63 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+64 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+65 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+66 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+67 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+68 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+69 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+70 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+71 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+72 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+73 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+74 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+75 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+76 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+77 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+78 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+79 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+80 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+81 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+82 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+83 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+84 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+85 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+86 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+87 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+88 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+89 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+90 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+91 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+92 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+93 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+94 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+95 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+96 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+97 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+98 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+99 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+100 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+101 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+102 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+103 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+104 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+105 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+106 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+107 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+108 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+109 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+110 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+111 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+112 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+113 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+114 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+115 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+116 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+117 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+118 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+119 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+120 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+121 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+122 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+123 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+124 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+125 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+126 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+127 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+128 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+129 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+130 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+131 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+132 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+133 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+134 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+135 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+136 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+137 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+138 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+139 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+140 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+141 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+142 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+143 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+144 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+145 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+146 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+147 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+148 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+149 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+150 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+151 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+152 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+153 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+154 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+155 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+156 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+157 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+158 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+159 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+160 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+161 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+162 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+163 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+164 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+165 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+166 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+167 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+168 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+169 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+170 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+171 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+172 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+173 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+174 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+175 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+176 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+177 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+178 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+179 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+180 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+181 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+182 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+183 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+184 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+185 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+186 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+187 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+188 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+189 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+190 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+191 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+192 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+193 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+194 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+195 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+196 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+197 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+198 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+199 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+200 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+201 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+202 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+203 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+204 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+205 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+206 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+207 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+208 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+209 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+210 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+211 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+212 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+213 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+214 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+215 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+216 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+217 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+218 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+219 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+220 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+221 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+222 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+223 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+224 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+225 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+226 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+227 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+228 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+229 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+230 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+231 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+232 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+233 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+234 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+235 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+236 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+237 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+238 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+239 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+240 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+241 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+242 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+243 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+244 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+245 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+246 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+247 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+248 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+249 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+250 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+251 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+252 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+253 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+254 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+255 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+256 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+257 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+258 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+259 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+260 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+261 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+262 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+263 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+264 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+265 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+266 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+267 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+268 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+269 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+270 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+271 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+272 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+273 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+274 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+275 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+276 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+277 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+278 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+279 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+280 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+281 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+282 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+283 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+284 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+285 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+286 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+287 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+288 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+289 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+290 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+291 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+292 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+293 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+294 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+295 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+296 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+297 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+298 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+299 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+300 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+301 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+302 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+303 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+304 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+305 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+306 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+307 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+308 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+309 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+310 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+311 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+312 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+313 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+314 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+315 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+316 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+317 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+318 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+319 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+320 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+321 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+322 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+323 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+324 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+325 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+326 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+327 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+328 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+329 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+330 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+331 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+332 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+333 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+334 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+335 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+336 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+337 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+338 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+339 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+340 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+341 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+342 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+343 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+344 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+345 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+346 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+347 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+348 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+349 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+350 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+351 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+352 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+353 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+354 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+355 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+356 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+357 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+358 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+359 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+360 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+361 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+362 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+363 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+364 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+365 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+366 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+367 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+368 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+369 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+370 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+371 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+372 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+373 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+374 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+375 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+376 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+377 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+378 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+379 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+380 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+381 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+382 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+383 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+384 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+385 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+386 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+387 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+388 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+389 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+390 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+391 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+392 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+393 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+394 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+395 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+396 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+397 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+398 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+399 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+400 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+401 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+402 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+403 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+404 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+405 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+406 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+407 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+408 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+409 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+410 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+411 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+412 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+413 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+414 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+415 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+416 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+417 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+418 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+419 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+420 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+421 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+422 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+423 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+424 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+425 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+426 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+427 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+428 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+429 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+430 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+431 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+432 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+433 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+434 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+435 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+436 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+437 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+438 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+439 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+440 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+441 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+442 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+443 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+444 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+445 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+446 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+447 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+448 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+449 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+450 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+451 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+452 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+453 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+454 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+455 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+456 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+457 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+458 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+459 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+460 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+461 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+462 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+463 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+464 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+465 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+466 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+467 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+468 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+469 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+470 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+471 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+472 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+473 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+474 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+475 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+476 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+477 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+478 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+479 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+480 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+481 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+482 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+483 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+484 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+485 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+486 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+487 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+488 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+489 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+490 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+491 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+492 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+493 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+494 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+495 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+496 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+497 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+498 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+499 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+500 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+501 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+502 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+503 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+504 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+505 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+506 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+507 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+508 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+509 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+510 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+511 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+512 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+513 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+514 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+515 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+516 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+517 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+518 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+519 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+520 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+521 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+522 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+523 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+524 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+525 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+526 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+527 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+528 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+529 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+530 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+531 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+532 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+533 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+534 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+535 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+536 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+537 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+538 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+539 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+540 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+541 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+542 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+543 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+544 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+545 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+546 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+547 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+548 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+549 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+550 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+551 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+552 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+553 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+554 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+555 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+556 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+557 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+558 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+559 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+560 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+561 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+562 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+563 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+564 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+565 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+566 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+567 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+568 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+569 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+570 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+571 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+572 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+573 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+574 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+575 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+576 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+577 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+578 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+579 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+580 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+581 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+582 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+583 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+584 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+585 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+586 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+587 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+588 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+589 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+590 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+591 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+592 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+593 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+594 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+595 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+596 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+597 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+598 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+599 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+600 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+601 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+602 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+603 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+604 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+605 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+606 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+607 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+608 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+609 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+610 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+611 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+612 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+613 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+614 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+615 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+616 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+617 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+618 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+619 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+620 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+621 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+622 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+623 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+624 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+625 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+626 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+627 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+628 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+629 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+630 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+631 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+632 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+633 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+634 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+635 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+636 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+637 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+638 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+639 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+640 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+641 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+642 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+643 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+644 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+645 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+646 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+647 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+648 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+649 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+650 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+651 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+652 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+653 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+654 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+655 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+656 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+657 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+658 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+659 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+660 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+661 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+662 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+663 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+664 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+665 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+666 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+667 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+668 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+669 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+670 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+671 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+672 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+673 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+674 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+675 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+676 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+677 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+678 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+679 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+680 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+681 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+682 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+683 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+684 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+685 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+686 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+687 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+688 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+689 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+690 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+691 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+692 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+693 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+694 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+695 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+696 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+697 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+698 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+699 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+700 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+701 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+702 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+703 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+704 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+705 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+706 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+707 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+708 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+709 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+710 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+711 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+712 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+713 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+714 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+715 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+716 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+717 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+718 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+719 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+720 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+721 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+722 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+723 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+724 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+725 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+726 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+727 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+728 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+729 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+730 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+731 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+732 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+733 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+734 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+735 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+736 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+737 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+738 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+739 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+740 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+741 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+742 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+743 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+744 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+745 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+746 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+747 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+748 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+749 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+750 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+751 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+752 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+753 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+754 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+755 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+756 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+757 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+758 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+759 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+760 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+761 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+762 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+763 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+764 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+765 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+766 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+767 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+768 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+769 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+770 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+771 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+772 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+773 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+774 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+775 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+776 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+777 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+778 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD+779 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_FARSIGHT + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_FARSIGHT+1 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_FARSIGHT+2 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_FARSIGHT+3 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SUMMONED_BATTLE_PET_ID + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SUMMONED_BATTLE_PET_ID+1 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SUMMONED_BATTLE_PET_ID+2 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SUMMONED_BATTLE_PET_ID+3 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_KNOWN_TITLES + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_KNOWN_TITLES+1 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_KNOWN_TITLES+2 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_KNOWN_TITLES+3 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_KNOWN_TITLES+4 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_KNOWN_TITLES+5 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_KNOWN_TITLES+6 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_KNOWN_TITLES+7 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_KNOWN_TITLES+8 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_KNOWN_TITLES+9 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_KNOWN_TITLES+10 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_KNOWN_TITLES+11 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_COINAGE + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_COINAGE+1 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_XP + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_NEXT_LEVEL_XP + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_TRIAL_XP + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+1 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+2 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+3 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+4 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+5 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+6 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+7 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+8 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+9 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+10 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+11 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+12 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+13 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+14 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+15 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+16 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+17 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+18 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+19 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+20 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+21 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+22 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+23 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+24 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+25 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+26 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+27 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+28 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+29 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+30 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+31 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+32 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+33 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+34 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+35 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+36 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+37 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+38 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+39 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+40 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+41 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+42 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+43 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+44 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+45 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+46 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+47 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+48 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+49 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+50 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+51 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+52 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+53 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+54 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+55 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+56 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+57 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+58 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+59 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+60 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+61 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+62 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+63 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+64 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+65 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+66 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+67 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+68 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+69 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+70 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+71 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+72 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+73 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+74 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+75 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+76 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+77 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+78 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+79 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+80 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+81 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+82 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+83 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+84 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+85 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+86 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+87 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+88 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+89 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+90 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+91 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+92 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+93 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+94 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+95 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+96 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+97 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+98 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+99 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+100 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+101 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+102 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+103 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+104 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+105 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+106 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+107 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+108 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+109 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+110 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+111 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+112 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+113 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+114 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+115 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+116 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+117 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+118 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+119 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+120 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+121 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+122 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+123 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+124 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+125 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+126 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+127 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+128 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+129 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+130 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+131 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+132 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+133 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+134 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+135 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+136 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+137 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+138 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+139 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+140 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+141 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+142 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+143 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+144 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+145 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+146 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+147 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+148 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+149 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+150 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+151 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+152 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+153 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+154 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+155 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+156 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+157 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+158 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+159 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+160 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+161 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+162 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+163 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+164 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+165 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+166 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+167 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+168 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+169 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+170 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+171 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+172 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+173 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+174 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+175 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+176 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+177 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+178 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+179 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+180 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+181 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+182 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+183 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+184 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+185 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+186 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+187 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+188 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+189 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+190 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+191 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+192 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+193 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+194 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+195 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+196 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+197 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+198 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+199 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+200 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+201 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+202 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+203 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+204 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+205 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+206 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+207 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+208 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+209 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+210 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+211 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+212 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+213 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+214 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+215 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+216 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+217 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+218 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+219 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+220 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+221 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+222 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+223 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+224 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+225 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+226 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+227 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+228 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+229 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+230 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+231 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+232 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+233 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+234 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+235 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+236 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+237 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+238 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+239 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+240 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+241 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+242 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+243 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+244 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+245 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+246 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+247 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+248 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+249 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+250 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+251 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+252 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+253 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+254 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+255 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+256 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+257 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+258 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+259 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+260 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+261 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+262 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+263 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+264 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+265 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+266 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+267 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+268 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+269 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+270 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+271 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+272 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+273 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+274 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+275 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+276 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+277 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+278 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+279 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+280 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+281 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+282 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+283 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+284 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+285 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+286 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+287 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+288 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+289 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+290 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+291 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+292 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+293 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+294 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+295 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+296 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+297 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+298 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+299 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+300 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+301 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+302 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+303 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+304 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+305 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+306 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+307 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+308 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+309 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+310 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+311 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+312 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+313 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+314 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+315 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+316 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+317 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+318 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+319 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+320 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+321 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+322 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+323 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+324 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+325 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+326 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+327 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+328 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+329 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+330 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+331 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+332 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+333 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+334 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+335 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+336 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+337 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+338 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+339 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+340 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+341 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+342 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+343 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+344 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+345 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+346 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+347 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+348 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+349 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+350 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+351 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+352 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+353 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+354 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+355 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+356 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+357 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+358 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+359 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+360 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+361 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+362 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+363 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+364 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+365 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+366 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+367 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+368 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+369 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+370 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+371 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+372 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+373 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+374 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+375 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+376 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+377 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+378 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+379 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+380 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+381 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+382 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+383 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+384 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+385 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+386 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+387 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+388 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+389 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+390 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+391 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+392 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+393 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+394 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+395 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+396 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+397 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+398 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+399 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+400 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+401 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+402 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+403 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+404 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+405 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+406 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+407 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+408 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+409 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+410 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+411 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+412 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+413 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+414 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+415 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+416 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+417 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+418 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+419 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+420 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+421 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+422 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+423 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+424 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+425 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+426 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+427 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+428 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+429 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+430 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+431 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+432 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+433 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+434 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+435 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+436 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+437 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+438 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+439 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+440 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+441 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+442 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+443 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+444 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+445 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+446 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+447 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+448 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+449 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+450 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+451 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+452 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+453 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+454 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+455 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+456 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+457 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+458 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+459 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+460 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+461 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+462 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+463 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+464 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+465 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+466 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+467 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+468 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+469 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+470 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+471 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+472 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+473 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+474 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+475 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+476 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+477 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+478 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+479 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+480 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+481 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+482 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+483 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+484 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+485 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+486 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+487 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+488 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+489 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+490 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+491 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+492 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+493 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+494 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+495 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+496 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+497 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+498 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+499 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+500 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+501 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+502 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+503 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+504 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+505 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+506 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+507 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+508 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+509 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+510 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+511 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+512 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+513 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+514 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+515 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+516 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+517 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+518 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+519 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+520 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+521 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+522 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+523 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+524 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+525 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+526 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+527 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+528 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+529 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+530 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+531 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+532 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+533 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+534 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+535 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+536 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+537 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+538 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+539 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+540 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+541 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+542 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+543 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+544 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+545 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+546 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+547 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+548 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+549 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+550 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+551 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+552 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+553 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+554 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+555 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+556 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+557 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+558 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+559 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+560 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+561 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+562 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+563 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+564 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+565 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+566 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+567 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+568 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+569 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+570 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+571 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+572 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+573 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+574 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+575 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+576 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+577 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+578 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+579 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+580 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+581 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+582 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+583 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+584 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+585 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+586 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+587 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+588 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+589 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+590 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+591 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+592 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+593 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+594 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+595 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+596 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+597 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+598 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+599 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+600 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+601 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+602 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+603 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+604 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+605 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+606 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+607 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+608 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+609 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+610 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+611 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+612 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+613 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+614 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+615 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+616 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+617 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+618 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+619 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+620 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+621 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+622 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+623 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+624 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+625 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+626 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+627 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+628 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+629 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+630 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+631 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+632 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+633 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+634 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+635 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+636 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+637 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+638 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+639 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+640 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+641 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+642 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+643 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+644 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+645 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+646 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+647 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+648 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+649 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+650 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+651 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+652 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+653 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+654 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+655 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+656 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+657 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+658 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+659 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+660 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+661 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+662 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+663 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+664 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+665 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+666 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+667 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+668 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+669 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+670 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+671 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+672 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+673 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+674 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+675 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+676 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+677 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+678 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+679 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+680 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+681 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+682 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+683 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+684 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+685 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+686 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+687 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+688 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+689 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+690 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+691 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+692 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+693 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+694 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+695 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+696 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+697 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+698 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+699 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+700 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+701 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+702 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+703 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+704 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+705 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+706 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+707 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+708 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+709 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+710 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+711 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+712 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+713 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+714 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+715 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+716 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+717 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+718 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+719 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+720 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+721 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+722 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+723 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+724 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+725 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+726 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+727 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+728 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+729 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+730 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+731 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+732 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+733 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+734 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+735 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+736 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+737 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+738 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+739 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+740 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+741 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+742 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+743 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+744 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+745 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+746 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+747 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+748 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+749 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+750 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+751 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+752 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+753 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+754 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+755 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+756 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+757 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+758 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+759 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+760 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+761 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+762 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+763 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+764 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+765 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+766 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+767 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+768 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+769 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+770 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+771 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+772 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+773 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+774 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+775 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+776 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+777 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+778 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+779 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+780 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+781 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+782 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+783 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+784 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+785 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+786 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+787 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+788 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+789 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+790 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+791 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+792 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+793 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+794 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+795 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+796 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+797 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+798 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+799 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+800 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+801 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+802 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+803 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+804 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+805 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+806 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+807 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+808 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+809 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+810 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+811 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+812 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+813 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+814 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+815 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+816 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+817 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+818 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+819 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+820 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+821 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+822 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+823 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+824 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+825 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+826 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+827 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+828 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+829 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+830 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+831 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+832 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+833 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+834 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+835 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+836 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+837 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+838 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+839 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+840 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+841 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+842 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+843 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+844 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+845 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+846 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+847 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+848 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+849 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+850 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+851 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+852 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+853 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+854 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+855 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+856 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+857 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+858 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+859 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+860 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+861 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+862 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+863 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+864 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+865 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+866 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+867 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+868 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+869 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+870 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+871 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+872 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+873 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+874 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+875 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+876 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+877 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+878 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+879 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+880 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+881 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+882 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+883 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+884 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+885 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+886 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+887 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+888 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+889 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+890 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+891 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+892 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+893 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+894 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SKILL_LINEID+895 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_CHARACTER_POINTS + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_MAX_TALENT_TIERS + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_TRACK_CREATURES + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_TRACK_RESOURCES + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_TRACK_RESOURCES+1 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPERTISE + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_OFFHAND_EXPERTISE + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_RANGED_EXPERTISE + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_COMBAT_RATING_EXPERTISE + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_BLOCK_PERCENTAGE + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_DODGE_PERCENTAGE + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_DODGE_PERCENTAGE_FROM_ATTRIBUTE + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_PARRY_PERCENTAGE + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_PARRY_PERCENTAGE_FROM_ATTRIBUTE + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_CRIT_PERCENTAGE + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_RANGED_CRIT_PERCENTAGE + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_OFFHAND_CRIT_PERCENTAGE + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SPELL_CRIT_PERCENTAGE1 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SHIELD_BLOCK + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SHIELD_BLOCK_CRIT_PERCENTAGE + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_MASTERY + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SPEED + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_AVOIDANCE + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_STURDINESS + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_VERSATILITY + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_VERSATILITY_BONUS + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_PVP_POWER_DAMAGE + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_PVP_POWER_HEALING + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+1 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+2 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+3 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+4 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+5 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+6 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+7 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+8 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+9 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+10 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+11 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+12 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+13 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+14 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+15 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+16 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+17 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+18 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+19 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+20 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+21 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+22 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+23 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+24 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+25 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+26 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+27 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+28 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+29 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+30 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+31 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+32 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+33 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+34 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+35 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+36 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+37 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+38 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+39 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+40 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+41 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+42 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+43 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+44 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+45 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+46 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+47 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+48 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+49 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+50 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+51 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+52 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+53 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+54 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+55 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+56 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+57 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+58 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+59 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+60 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+61 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+62 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+63 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+64 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+65 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+66 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+67 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+68 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+69 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+70 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+71 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+72 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+73 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+74 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+75 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+76 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+77 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+78 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+79 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+80 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+81 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+82 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+83 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+84 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+85 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+86 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+87 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+88 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+89 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+90 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+91 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+92 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+93 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+94 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+95 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+96 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+97 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+98 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+99 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+100 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+101 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+102 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+103 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+104 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+105 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+106 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+107 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+108 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+109 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+110 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+111 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+112 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+113 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+114 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+115 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+116 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+117 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+118 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+119 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+120 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+121 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+122 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+123 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+124 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+125 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+126 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+127 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+128 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+129 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+130 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+131 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+132 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+133 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+134 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+135 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+136 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+137 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+138 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+139 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+140 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+141 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+142 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+143 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+144 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+145 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+146 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+147 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+148 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+149 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+150 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+151 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+152 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+153 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+154 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+155 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+156 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+157 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+158 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+159 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+160 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+161 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+162 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+163 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+164 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+165 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+166 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+167 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+168 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+169 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+170 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+171 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+172 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+173 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+174 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+175 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+176 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+177 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+178 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+179 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+180 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+181 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+182 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+183 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+184 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+185 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+186 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+187 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+188 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+189 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+190 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+191 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+192 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+193 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+194 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+195 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+196 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+197 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+198 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+199 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+200 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+201 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+202 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+203 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+204 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+205 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+206 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+207 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+208 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+209 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+210 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+211 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+212 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+213 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+214 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+215 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+216 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+217 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+218 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+219 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+220 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+221 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+222 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+223 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+224 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+225 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+226 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+227 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+228 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+229 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+230 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+231 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+232 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+233 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+234 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+235 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+236 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+237 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+238 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+239 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+240 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+241 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+242 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+243 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+244 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+245 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+246 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+247 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+248 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+249 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+250 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+251 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+252 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+253 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+254 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+255 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+256 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+257 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+258 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+259 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+260 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+261 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+262 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+263 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+264 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+265 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+266 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+267 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+268 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+269 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+270 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+271 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+272 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+273 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+274 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+275 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+276 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+277 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+278 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+279 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+280 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+281 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+282 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+283 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+284 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+285 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+286 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+287 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+288 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+289 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+290 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+291 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+292 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+293 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+294 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+295 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+296 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+297 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+298 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+299 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+300 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+301 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+302 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+303 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+304 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+305 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+306 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+307 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+308 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+309 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+310 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+311 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+312 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+313 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+314 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+315 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+316 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+317 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+318 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+319 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_REST_INFO + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_REST_INFO+1 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_REST_INFO+2 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_REST_INFO+3 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_MOD_DAMAGE_DONE_POS + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_MOD_DAMAGE_DONE_POS+1 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_MOD_DAMAGE_DONE_POS+2 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_MOD_DAMAGE_DONE_POS+3 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_MOD_DAMAGE_DONE_POS+4 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_MOD_DAMAGE_DONE_POS+5 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_MOD_DAMAGE_DONE_POS+6 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_MOD_DAMAGE_DONE_NEG + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_MOD_DAMAGE_DONE_NEG+1 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_MOD_DAMAGE_DONE_NEG+2 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_MOD_DAMAGE_DONE_NEG+3 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_MOD_DAMAGE_DONE_NEG+4 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_MOD_DAMAGE_DONE_NEG+5 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_MOD_DAMAGE_DONE_NEG+6 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_MOD_DAMAGE_DONE_PCT + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_MOD_DAMAGE_DONE_PCT+1 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_MOD_DAMAGE_DONE_PCT+2 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_MOD_DAMAGE_DONE_PCT+3 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_MOD_DAMAGE_DONE_PCT+4 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_MOD_DAMAGE_DONE_PCT+5 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_MOD_DAMAGE_DONE_PCT+6 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_MOD_HEALING_DONE_POS + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_MOD_HEALING_PCT + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_MOD_HEALING_DONE_PCT + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_MOD_PERIODIC_HEALING_DONE_PERCENT + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_WEAPON_DMG_MULTIPLIERS + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_WEAPON_DMG_MULTIPLIERS+1 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_WEAPON_DMG_MULTIPLIERS+2 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_WEAPON_ATK_SPEED_MULTIPLIERS + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_WEAPON_ATK_SPEED_MULTIPLIERS+1 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_WEAPON_ATK_SPEED_MULTIPLIERS+2 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_MOD_SPELL_POWER_PCT + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_MOD_RESILIENCE_PERCENT + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_OVERRIDE_SPELL_POWER_BY_AP_PCT + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_OVERRIDE_AP_BY_SPELL_POWER_PERCENT + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_MOD_TARGET_RESISTANCE + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_MOD_TARGET_PHYSICAL_RESISTANCE + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_LOCAL_FLAGS + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_BYTES + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_PVP_MEDALS + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_BUYBACK_PRICE + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_BUYBACK_PRICE+1 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_BUYBACK_PRICE+2 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_BUYBACK_PRICE+3 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_BUYBACK_PRICE+4 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_BUYBACK_PRICE+5 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_BUYBACK_PRICE+6 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_BUYBACK_PRICE+7 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_BUYBACK_PRICE+8 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_BUYBACK_PRICE+9 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_BUYBACK_PRICE+10 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_BUYBACK_PRICE+11 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_BUYBACK_TIMESTAMP + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_BUYBACK_TIMESTAMP+1 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_BUYBACK_TIMESTAMP+2 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_BUYBACK_TIMESTAMP+3 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_BUYBACK_TIMESTAMP+4 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_BUYBACK_TIMESTAMP+5 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_BUYBACK_TIMESTAMP+6 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_BUYBACK_TIMESTAMP+7 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_BUYBACK_TIMESTAMP+8 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_BUYBACK_TIMESTAMP+9 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_BUYBACK_TIMESTAMP+10 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_BUYBACK_TIMESTAMP+11 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_KILLS + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_LIFETIME_HONORABLE_KILLS + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_WATCHED_FACTION_INDEX + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_COMBAT_RATING + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_COMBAT_RATING+1 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_COMBAT_RATING+2 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_COMBAT_RATING+3 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_COMBAT_RATING+4 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_COMBAT_RATING+5 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_COMBAT_RATING+6 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_COMBAT_RATING+7 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_COMBAT_RATING+8 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_COMBAT_RATING+9 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_COMBAT_RATING+10 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_COMBAT_RATING+11 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_COMBAT_RATING+12 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_COMBAT_RATING+13 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_COMBAT_RATING+14 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_COMBAT_RATING+15 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_COMBAT_RATING+16 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_COMBAT_RATING+17 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_COMBAT_RATING+18 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_COMBAT_RATING+19 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_COMBAT_RATING+20 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_COMBAT_RATING+21 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_COMBAT_RATING+22 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_COMBAT_RATING+23 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_COMBAT_RATING+24 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_COMBAT_RATING+25 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_COMBAT_RATING+26 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_COMBAT_RATING+27 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_COMBAT_RATING+28 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_COMBAT_RATING+29 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_COMBAT_RATING+30 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_COMBAT_RATING+31 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_ARENA_TEAM_INFO + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_ARENA_TEAM_INFO+1 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_ARENA_TEAM_INFO+2 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_ARENA_TEAM_INFO+3 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_ARENA_TEAM_INFO+4 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_ARENA_TEAM_INFO+5 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_ARENA_TEAM_INFO+6 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_ARENA_TEAM_INFO+7 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_ARENA_TEAM_INFO+8 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_ARENA_TEAM_INFO+9 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_ARENA_TEAM_INFO+10 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_ARENA_TEAM_INFO+11 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_ARENA_TEAM_INFO+12 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_ARENA_TEAM_INFO+13 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_ARENA_TEAM_INFO+14 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_ARENA_TEAM_INFO+15 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_ARENA_TEAM_INFO+16 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_ARENA_TEAM_INFO+17 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_ARENA_TEAM_INFO+18 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_ARENA_TEAM_INFO+19 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_ARENA_TEAM_INFO+20 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_ARENA_TEAM_INFO+21 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_ARENA_TEAM_INFO+22 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_ARENA_TEAM_INFO+23 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_ARENA_TEAM_INFO+24 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_ARENA_TEAM_INFO+25 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_ARENA_TEAM_INFO+26 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_ARENA_TEAM_INFO+27 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_ARENA_TEAM_INFO+28 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_ARENA_TEAM_INFO+29 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_ARENA_TEAM_INFO+30 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_ARENA_TEAM_INFO+31 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_ARENA_TEAM_INFO+32 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_ARENA_TEAM_INFO+33 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_ARENA_TEAM_INFO+34 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_ARENA_TEAM_INFO+35 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_ARENA_TEAM_INFO+36 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_ARENA_TEAM_INFO+37 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_ARENA_TEAM_INFO+38 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_ARENA_TEAM_INFO+39 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_ARENA_TEAM_INFO+40 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_ARENA_TEAM_INFO+41 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_ARENA_TEAM_INFO+42 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_ARENA_TEAM_INFO+43 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_ARENA_TEAM_INFO+44 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_ARENA_TEAM_INFO+45 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_ARENA_TEAM_INFO+46 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_ARENA_TEAM_INFO+47 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_ARENA_TEAM_INFO+48 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_ARENA_TEAM_INFO+49 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_ARENA_TEAM_INFO+50 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_ARENA_TEAM_INFO+51 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_ARENA_TEAM_INFO+52 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_ARENA_TEAM_INFO+53 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_MAX_LEVEL + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_SCALING_PLAYER_LEVEL_DELTA + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_MAX_CREATURE_SCALING_LEVEL + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_NO_REAGENT_COST + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_NO_REAGENT_COST+1 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_NO_REAGENT_COST+2 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_NO_REAGENT_COST+3 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_PET_SPELL_POWER + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_PROFESSION_SKILL_LINE + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_PROFESSION_SKILL_LINE+1 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_UI_HIT_MODIFIER + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_UI_SPELL_HIT_MODIFIER + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_HOME_REALM_TIME_OFFSET + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_MOD_PET_HASTE + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_BYTES2 + UF_FLAG_PUBLIC | UF_FLAG_URGENT_SELF_ONLY, // ACTIVE_PLAYER_FIELD_BYTES3 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_LFG_BONUS_FACTION_ID + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_LOOT_SPEC_ID + UF_FLAG_PUBLIC | UF_FLAG_URGENT_SELF_ONLY, // ACTIVE_PLAYER_FIELD_OVERRIDE_ZONE_PVP_TYPE + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_BAG_SLOT_FLAGS + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_BAG_SLOT_FLAGS+1 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_BAG_SLOT_FLAGS+2 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_BAG_SLOT_FLAGS+3 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_BANK_BAG_SLOT_FLAGS + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_BANK_BAG_SLOT_FLAGS+1 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_BANK_BAG_SLOT_FLAGS+2 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_BANK_BAG_SLOT_FLAGS+3 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_BANK_BAG_SLOT_FLAGS+4 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_BANK_BAG_SLOT_FLAGS+5 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_BANK_BAG_SLOT_FLAGS+6 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_INSERT_ITEMS_LEFT_TO_RIGHT + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+2 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+3 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+4 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+5 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+6 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+7 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+8 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+9 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+10 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+11 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+12 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+13 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+14 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+15 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+16 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+17 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+18 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+19 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+20 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+21 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+22 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+23 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+24 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+25 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+26 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+27 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+28 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+29 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+30 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+31 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+32 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+33 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+34 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+35 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+36 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+37 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+38 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+39 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+40 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+41 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+42 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+43 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+44 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+45 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+46 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+47 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+48 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+49 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+50 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+51 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+52 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+53 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+54 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+55 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+56 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+57 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+58 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+59 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+60 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+61 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+62 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+63 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+64 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+65 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+66 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+67 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+68 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+69 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+70 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+71 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+72 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+73 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+74 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+75 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+76 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+77 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+78 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+79 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+80 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+81 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+82 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+83 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+84 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+85 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+86 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+87 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+88 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+89 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+90 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+91 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+92 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+93 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+94 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+95 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+96 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+97 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+98 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+99 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+100 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+101 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+102 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+103 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+104 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+105 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+106 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+107 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+108 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+109 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+110 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+111 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+112 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+113 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+114 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+115 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+116 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+117 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+118 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+119 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+120 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+121 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+122 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+123 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+124 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+125 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+126 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+127 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+128 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+129 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+130 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+131 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+132 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+133 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+134 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+135 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+136 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+137 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+138 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+139 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+140 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+141 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+142 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+143 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+144 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+145 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+146 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+147 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+148 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+149 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+150 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+151 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+152 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+153 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+154 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+155 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+156 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+157 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+158 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+159 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+160 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+161 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+162 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+163 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+164 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+165 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+166 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+167 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+168 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+169 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+170 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+171 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+172 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+173 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+174 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+175 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+176 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+177 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+178 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+179 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+180 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+181 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+182 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+183 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+184 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+185 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+186 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+187 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+188 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+189 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+190 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+191 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+192 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+193 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+194 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+195 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+196 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+197 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+198 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+199 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+200 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+201 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+202 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+203 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+204 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+205 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+206 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+207 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+208 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+209 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+210 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+211 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+212 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+213 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+214 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+215 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+216 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+217 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+218 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+219 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+220 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+221 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+222 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+223 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+224 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+225 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+226 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+227 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+228 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+229 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+230 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+231 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+232 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+233 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+234 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+235 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+236 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+237 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+238 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+239 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+240 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+241 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+242 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+243 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+244 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+245 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+246 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+247 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+248 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+249 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+250 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+251 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+252 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+253 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+254 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+255 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+256 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+257 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+258 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+259 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+260 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+261 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+262 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+263 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+264 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+265 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+266 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+267 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+268 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+269 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+270 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+271 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+272 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+273 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+274 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+275 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+276 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+277 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+278 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+279 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+280 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+281 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+282 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+283 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+284 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+285 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+286 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+287 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+288 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+289 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+290 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+291 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+292 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+293 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+294 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+295 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+296 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+297 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+298 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+299 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+300 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+301 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+302 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+303 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+304 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+305 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+306 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+307 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+308 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+309 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+310 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+311 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+312 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+313 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+314 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+315 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+316 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+317 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+318 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+319 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+320 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+321 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+322 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+323 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+324 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+325 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+326 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+327 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+328 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+329 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+330 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+331 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+332 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+333 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+334 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+335 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+336 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+337 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+338 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+339 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+340 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+341 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+342 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+343 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+344 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+345 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+346 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+347 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+348 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+349 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+350 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+351 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+352 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+353 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+354 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+355 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+356 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+357 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+358 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+359 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+360 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+361 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+362 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+363 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+364 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+365 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+366 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+367 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+368 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+369 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+370 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+371 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+372 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+373 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+374 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+375 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+376 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+377 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+378 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+379 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+380 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+381 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+382 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+383 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+384 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+385 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+386 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+387 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+388 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+389 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+390 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+391 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+392 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+393 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+394 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+395 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+396 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+397 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+398 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+399 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+400 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+401 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+402 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+403 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+404 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+405 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+406 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+407 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+408 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+409 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+410 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+411 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+412 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+413 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+414 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+415 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+416 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+417 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+418 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+419 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+420 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+421 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+422 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+423 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+424 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+425 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+426 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+427 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+428 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+429 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+430 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+431 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+432 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+433 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+434 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+435 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+436 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+437 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+438 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+439 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+440 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+441 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+442 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+443 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+444 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+445 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+446 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+447 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+448 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+449 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+450 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+451 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+452 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+453 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+454 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+455 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+456 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+457 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+458 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+459 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+460 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+461 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+462 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+463 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+464 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+465 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+466 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+467 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+468 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+469 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+470 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+471 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+472 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+473 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+474 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+475 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+476 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+477 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+478 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+479 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+480 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+481 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+482 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+483 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+484 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+485 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+486 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+487 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+488 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+489 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+490 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+491 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+492 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+493 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+494 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+495 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+496 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+497 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+498 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+499 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+500 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+501 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+502 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+503 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+504 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+505 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+506 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+507 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+508 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+509 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+510 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+511 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+512 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+513 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+514 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+515 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+516 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+517 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+518 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+519 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+520 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+521 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+522 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+523 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+524 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+525 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+526 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+527 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+528 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+529 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+530 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+531 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+532 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+533 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+534 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+535 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+536 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+537 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+538 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+539 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+540 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+541 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+542 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+543 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+544 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+545 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+546 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+547 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+548 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+549 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+550 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+551 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+552 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+553 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+554 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+555 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+556 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+557 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+558 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+559 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+560 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+561 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+562 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+563 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+564 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+565 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+566 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+567 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+568 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+569 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+570 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+571 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+572 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+573 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+574 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+575 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+576 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+577 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+578 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+579 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+580 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+581 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+582 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+583 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+584 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+585 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+586 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+587 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+588 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+589 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+590 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+591 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+592 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+593 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+594 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+595 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+596 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+597 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+598 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+599 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+600 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+601 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+602 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+603 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+604 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+605 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+606 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+607 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+608 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+609 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+610 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+611 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+612 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+613 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+614 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+615 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+616 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+617 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+618 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+619 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+620 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+621 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+622 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+623 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+624 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+625 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+626 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+627 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+628 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+629 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+630 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+631 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+632 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+633 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+634 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+635 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+636 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+637 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+638 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+639 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+640 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+641 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+642 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+643 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+644 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+645 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+646 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+647 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+648 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+649 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+650 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+651 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+652 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+653 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+654 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+655 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+656 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+657 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+658 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+659 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+660 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+661 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+662 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+663 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+664 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+665 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+666 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+667 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+668 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+669 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+670 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+671 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+672 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+673 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+674 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+675 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+676 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+677 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+678 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+679 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+680 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+681 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+682 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+683 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+684 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+685 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+686 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+687 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+688 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+689 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+690 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+691 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+692 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+693 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+694 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+695 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+696 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+697 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+698 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+699 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+700 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+701 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+702 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+703 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+704 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+705 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+706 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+707 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+708 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+709 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+710 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+711 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+712 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+713 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+714 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+715 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+716 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+717 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+718 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+719 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+720 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+721 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+722 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+723 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+724 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+725 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+726 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+727 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+728 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+729 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+730 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+731 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+732 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+733 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+734 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+735 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+736 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+737 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+738 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+739 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+740 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+741 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+742 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+743 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+744 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+745 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+746 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+747 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+748 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+749 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+750 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+751 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+752 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+753 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+754 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+755 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+756 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+757 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+758 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+759 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+760 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+761 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+762 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+763 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+764 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+765 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+766 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+767 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+768 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+769 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+770 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+771 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+772 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+773 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+774 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+775 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+776 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+777 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+778 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+779 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+780 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+781 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+782 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+783 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+784 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+785 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+786 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+787 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+788 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+789 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+790 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+791 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+792 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+793 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+794 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+795 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+796 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+797 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+798 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+799 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+800 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+801 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+802 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+803 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+804 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+805 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+806 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+807 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+808 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+809 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+810 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+811 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+812 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+813 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+814 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+815 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+816 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+817 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+818 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+819 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+820 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+821 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+822 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+823 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+824 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+825 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+826 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+827 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+828 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+829 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+830 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+831 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+832 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+833 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+834 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+835 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+836 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+837 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+838 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+839 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+840 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+841 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+842 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+843 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+844 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+845 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+846 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+847 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+848 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+849 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+850 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+851 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+852 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+853 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+854 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+855 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+856 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+857 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+858 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+859 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+860 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+861 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+862 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+863 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+864 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+865 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+866 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+867 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+868 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+869 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+870 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+871 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+872 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+873 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+874 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+875 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+876 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+877 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+878 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+879 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+880 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+881 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+882 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+883 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+884 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+885 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+886 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+887 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+888 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+889 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+890 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+891 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+892 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+893 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+894 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+895 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+896 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+897 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+898 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+899 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+900 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+901 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+902 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+903 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+904 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+905 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+906 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+907 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+908 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+909 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+910 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+911 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+912 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+913 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+914 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+915 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+916 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+917 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+918 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+919 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+920 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+921 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+922 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+923 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+924 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+925 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+926 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+927 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+928 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+929 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+930 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+931 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+932 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+933 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+934 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+935 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+936 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+937 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+938 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+939 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+940 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+941 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+942 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+943 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+944 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+945 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+946 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+947 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+948 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+949 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+950 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+951 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+952 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+953 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+954 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+955 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+956 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+957 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+958 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+959 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+960 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+961 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+962 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+963 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+964 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+965 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+966 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+967 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+968 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+969 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+970 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+971 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+972 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+973 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+974 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+975 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+976 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+977 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+978 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+979 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+980 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+981 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+982 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+983 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+984 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+985 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+986 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+987 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+988 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+989 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+990 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+991 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+992 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+993 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+994 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+995 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+996 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+997 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+998 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+999 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1000 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1001 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1002 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1003 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1004 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1005 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1006 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1007 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1008 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1009 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1010 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1011 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1012 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1013 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1014 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1015 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1016 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1017 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1018 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1019 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1020 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1021 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1022 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1023 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1024 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1025 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1026 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1027 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1028 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1029 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1030 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1031 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1032 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1033 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1034 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1035 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1036 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1037 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1038 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1039 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1040 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1041 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1042 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1043 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1044 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1045 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1046 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1047 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1048 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1049 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1050 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1051 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1052 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1053 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1054 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1055 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1056 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1057 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1058 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1059 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1060 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1061 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1062 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1063 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1064 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1065 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1066 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1067 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1068 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1069 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1070 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1071 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1072 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1073 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1074 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1075 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1076 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1077 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1078 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1079 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1080 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1081 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1082 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1083 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1084 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1085 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1086 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1087 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1088 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1089 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1090 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1091 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1092 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1093 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1094 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1095 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1096 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1097 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1098 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1099 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1100 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1101 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1102 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1103 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1104 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1105 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1106 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1107 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1108 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1109 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1110 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1111 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1112 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1113 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1114 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1115 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1116 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1117 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1118 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1119 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1120 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1121 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1122 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1123 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1124 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1125 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1126 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1127 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1128 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1129 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1130 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1131 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1132 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1133 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1134 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1135 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1136 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1137 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1138 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1139 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1140 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1141 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1142 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1143 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1144 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1145 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1146 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1147 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1148 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1149 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1150 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1151 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1152 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1153 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1154 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1155 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1156 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1157 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1158 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1159 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1160 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1161 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1162 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1163 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1164 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1165 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1166 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1167 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1168 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1169 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1170 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1171 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1172 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1173 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1174 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1175 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1176 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1177 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1178 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1179 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1180 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1181 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1182 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1183 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1184 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1185 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1186 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1187 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1188 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1189 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1190 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1191 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1192 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1193 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1194 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1195 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1196 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1197 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1198 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1199 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1200 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1201 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1202 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1203 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1204 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1205 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1206 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1207 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1208 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1209 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1210 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1211 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1212 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1213 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1214 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1215 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1216 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1217 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1218 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1219 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1220 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1221 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1222 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1223 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1224 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1225 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1226 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1227 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1228 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1229 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1230 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1231 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1232 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1233 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1234 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1235 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1236 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1237 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1238 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1239 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1240 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1241 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1242 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1243 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1244 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1245 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1246 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1247 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1248 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1249 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1250 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1251 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1252 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1253 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1254 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1255 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1256 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1257 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1258 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1259 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1260 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1261 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1262 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1263 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1264 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1265 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1266 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1267 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1268 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1269 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1270 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1271 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1272 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1273 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1274 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1275 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1276 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1277 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1278 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1279 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1280 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1281 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1282 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1283 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1284 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1285 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1286 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1287 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1288 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1289 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1290 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1291 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1292 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1293 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1294 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1295 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1296 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1297 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1298 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1299 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1300 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1301 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1302 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1303 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1304 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1305 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1306 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1307 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1308 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1309 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1310 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1311 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1312 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1313 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1314 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1315 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1316 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1317 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1318 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1319 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1320 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1321 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1322 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1323 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1324 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1325 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1326 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1327 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1328 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1329 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1330 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1331 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1332 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1333 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1334 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1335 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1336 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1337 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1338 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1339 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1340 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1341 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1342 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1343 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1344 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1345 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1346 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1347 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1348 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1349 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1350 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1351 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1352 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1353 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1354 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1355 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1356 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1357 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1358 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1359 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1360 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1361 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1362 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1363 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1364 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1365 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1366 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1367 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1368 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1369 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1370 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1371 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1372 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1373 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1374 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1375 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1376 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1377 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1378 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1379 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1380 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1381 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1382 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1383 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1384 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1385 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1386 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1387 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1388 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1389 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1390 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1391 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1392 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1393 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1394 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1395 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1396 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1397 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1398 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1399 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1400 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1401 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1402 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1403 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1404 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1405 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1406 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1407 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1408 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1409 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1410 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1411 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1412 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1413 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1414 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1415 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1416 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1417 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1418 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1419 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1420 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1421 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1422 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1423 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1424 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1425 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1426 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1427 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1428 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1429 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1430 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1431 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1432 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1433 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1434 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1435 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1436 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1437 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1438 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1439 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1440 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1441 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1442 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1443 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1444 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1445 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1446 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1447 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1448 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1449 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1450 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1451 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1452 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1453 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1454 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1455 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1456 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1457 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1458 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1459 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1460 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1461 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1462 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1463 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1464 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1465 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1466 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1467 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1468 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1469 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1470 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1471 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1472 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1473 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1474 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1475 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1476 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1477 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1478 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1479 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1480 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1481 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1482 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1483 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1484 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1485 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1486 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1487 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1488 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1489 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1490 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1491 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1492 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1493 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1494 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1495 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1496 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1497 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1498 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1499 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1500 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1501 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1502 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1503 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1504 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1505 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1506 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1507 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1508 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1509 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1510 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1511 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1512 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1513 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1514 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1515 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1516 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1517 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1518 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1519 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1520 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1521 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1522 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1523 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1524 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1525 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1526 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1527 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1528 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1529 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1530 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1531 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1532 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1533 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1534 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1535 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1536 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1537 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1538 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1539 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1540 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1541 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1542 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1543 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1544 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1545 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1546 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1547 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1548 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1549 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1550 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1551 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1552 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1553 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1554 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1555 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1556 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1557 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1558 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1559 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1560 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1561 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1562 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1563 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1564 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1565 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1566 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1567 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1568 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1569 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1570 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1571 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1572 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1573 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1574 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1575 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1576 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1577 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1578 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1579 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1580 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1581 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1582 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1583 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1584 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1585 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1586 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1587 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1588 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1589 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1590 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1591 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1592 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1593 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1594 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1595 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1596 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1597 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1598 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1599 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1600 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1601 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1602 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1603 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1604 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1605 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1606 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1607 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1608 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1609 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1610 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1611 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1612 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1613 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1614 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1615 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1616 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1617 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1618 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1619 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1620 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1621 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1622 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1623 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1624 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1625 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1626 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1627 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1628 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1629 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1630 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1631 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1632 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1633 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1634 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1635 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1636 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1637 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1638 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1639 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1640 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1641 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1642 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1643 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1644 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1645 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1646 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1647 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1648 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1649 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1650 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1651 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1652 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1653 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1654 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1655 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1656 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1657 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1658 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1659 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1660 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1661 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1662 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1663 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1664 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1665 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1666 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1667 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1668 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1669 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1670 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1671 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1672 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1673 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1674 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1675 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1676 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1677 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1678 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1679 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1680 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1681 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1682 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1683 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1684 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1685 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1686 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1687 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1688 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1689 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1690 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1691 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1692 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1693 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1694 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1695 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1696 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1697 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1698 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1699 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1700 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1701 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1702 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1703 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1704 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1705 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1706 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1707 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1708 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1709 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1710 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1711 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1712 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1713 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1714 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1715 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1716 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1717 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1718 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1719 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1720 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1721 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1722 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1723 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1724 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1725 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1726 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1727 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1728 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1729 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1730 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1731 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1732 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1733 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1734 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1735 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1736 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1737 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1738 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1739 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1740 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1741 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1742 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1743 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1744 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1745 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1746 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1747 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1748 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_QUEST_COMPLETED+1749 + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_HONOR + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_HONOR_NEXT_LEVEL + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_PVP_TIER_MAX_FROM_WINS + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_FIELD_PVP_LAST_WEEKS_TIER_MAX_FROM_WINS }; -uint32 UnitDynamicUpdateFieldFlags[PLAYER_DYNAMIC_END] = +uint32 UnitDynamicUpdateFieldFlags[ACTIVE_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_PUBLIC | UF_FLAG_URGENT, // UNIT_DYNAMIC_FIELD_CHANNEL_OBJECTS - 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_HEIRLOOM_FLAGS - UF_FLAG_PRIVATE, // PLAYER_DYNAMIC_FIELD_TOYS - UF_FLAG_PRIVATE, // PLAYER_DYNAMIC_FIELD_TRANSMOG - UF_FLAG_PRIVATE, // PLAYER_DYNAMIC_FIELD_CONDITIONAL_TRANSMOG - UF_FLAG_PRIVATE, // PLAYER_DYNAMIC_FIELD_SELF_RES_SPELLS - UF_FLAG_PRIVATE, // PLAYER_DYNAMIC_FIELD_CHARACTER_RESTRICTIONS - UF_FLAG_PRIVATE, // PLAYER_DYNAMIC_FIELD_SPELL_PCT_MOD_BY_LABEL - UF_FLAG_PRIVATE, // PLAYER_DYNAMIC_FIELD_SPELL_FLAT_MOD_BY_LABEL UF_FLAG_PUBLIC, // PLAYER_DYNAMIC_FIELD_ARENA_COOLDOWNS + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_DYNAMIC_FIELD_RESERACH_SITE + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_DYNAMIC_FIELD_RESEARCH_SITE_PROGRESS + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_DYNAMIC_FIELD_DAILY_QUESTS + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_DYNAMIC_FIELD_AVAILABLE_QUEST_LINE_X_QUEST_ID + UF_FLAG_NONE, // + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_DYNAMIC_FIELD_HEIRLOOMS + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_DYNAMIC_FIELD_HEIRLOOM_FLAGS + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_DYNAMIC_FIELD_TOYS + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_DYNAMIC_FIELD_TRANSMOG + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_DYNAMIC_FIELD_CONDITIONAL_TRANSMOG + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_DYNAMIC_FIELD_SELF_RES_SPELLS + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_DYNAMIC_FIELD_CHARACTER_RESTRICTIONS + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_DYNAMIC_FIELD_SPELL_PCT_MOD_BY_LABEL + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_DYNAMIC_FIELD_SPELL_FLAT_MOD_BY_LABEL + UF_FLAG_PUBLIC, // ACTIVE_PLAYER_DYNAMIC_FIELD_RESERACH }; uint32 GameObjectUpdateFieldFlags[GAMEOBJECT_END] = @@ -4916,11 +6341,6 @@ uint32 GameObjectUpdateFieldFlags[GAMEOBJECT_END] = 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 @@ -4928,6 +6348,10 @@ uint32 GameObjectUpdateFieldFlags[GAMEOBJECT_END] = 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_PUBLIC, // GAMEOBJECT_FIELD_GUILD_GUID + UF_FLAG_PUBLIC, // GAMEOBJECT_FIELD_GUILD_GUID+1 + UF_FLAG_PUBLIC, // GAMEOBJECT_FIELD_GUILD_GUID+2 + UF_FLAG_PUBLIC, // GAMEOBJECT_FIELD_GUILD_GUID+3 UF_FLAG_DYNAMIC | UF_FLAG_URGENT, // GAMEOBJECT_DISPLAYID UF_FLAG_PUBLIC | UF_FLAG_URGENT, // GAMEOBJECT_FLAGS UF_FLAG_PUBLIC, // GAMEOBJECT_PARENTROTATION @@ -4945,6 +6369,7 @@ uint32 GameObjectUpdateFieldFlags[GAMEOBJECT_END] = 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 + UF_FLAG_PUBLIC | UF_FLAG_URGENT, // GAMEOBJECT_FIELD_CUSTOM_PARAM }; uint32 GameObjectDynamicUpdateFieldFlags[GAMEOBJECT_DYNAMIC_END] = @@ -4958,11 +6383,6 @@ uint32 DynamicObjectUpdateFieldFlags[DYNAMICOBJECT_END] = 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 @@ -4983,11 +6403,6 @@ uint32 CorpseUpdateFieldFlags[CORPSE_END] = 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 @@ -4999,6 +6414,10 @@ uint32 CorpseUpdateFieldFlags[CORPSE_END] = 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_GUILD_GUID + UF_FLAG_PUBLIC, // CORPSE_FIELD_GUILD_GUID+1 + UF_FLAG_PUBLIC, // CORPSE_FIELD_GUILD_GUID+2 + UF_FLAG_PUBLIC, // CORPSE_FIELD_GUILD_GUID+3 UF_FLAG_PUBLIC, // CORPSE_FIELD_DISPLAY_ID UF_FLAG_PUBLIC, // CORPSE_FIELD_ITEM UF_FLAG_PUBLIC, // CORPSE_FIELD_ITEM+1 @@ -5033,11 +6452,6 @@ uint32 AreaTriggerUpdateFieldFlags[AREATRIGGER_END] = 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 @@ -5080,11 +6494,6 @@ uint32 SceneObjectUpdateFieldFlags[SCENEOBJECT_END] = 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 @@ -5103,11 +6512,6 @@ uint32 ConversationUpdateFieldFlags[CONVERSATION_END] = 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 diff --git a/src/server/game/Entities/Object/Updates/UpdateFieldFlags.h b/src/server/game/Entities/Object/Updates/UpdateFieldFlags.h index d5c151ee4a9..97523f323e3 100644 --- a/src/server/game/Entities/Object/Updates/UpdateFieldFlags.h +++ b/src/server/game/Entities/Object/Updates/UpdateFieldFlags.h @@ -37,10 +37,12 @@ enum UpdatefieldFlags UF_FLAG_URGENT_SELF_ONLY = 0x400 }; -TC_GAME_API extern uint32 ItemUpdateFieldFlags[CONTAINER_END]; +TC_GAME_API extern uint32 ContainerUpdateFieldFlags[CONTAINER_END]; +TC_GAME_API extern uint32 AzeriteEmpoweredItemUpdateFieldFlags[AZERITE_EMPOWERED_ITEM_END]; +TC_GAME_API extern uint32 AzeriteItemUpdateFieldFlags[AZERITE_ITEM_END]; TC_GAME_API extern uint32 ItemDynamicUpdateFieldFlags[CONTAINER_DYNAMIC_END]; -TC_GAME_API extern uint32 UnitUpdateFieldFlags[PLAYER_END]; -TC_GAME_API extern uint32 UnitDynamicUpdateFieldFlags[PLAYER_DYNAMIC_END]; +TC_GAME_API extern uint32 UnitUpdateFieldFlags[ACTIVE_PLAYER_END]; +TC_GAME_API extern uint32 UnitDynamicUpdateFieldFlags[ACTIVE_PLAYER_DYNAMIC_END]; TC_GAME_API extern uint32 GameObjectUpdateFieldFlags[GAMEOBJECT_END]; TC_GAME_API extern uint32 GameObjectDynamicUpdateFieldFlags[GAMEOBJECT_DYNAMIC_END]; TC_GAME_API extern uint32 DynamicObjectUpdateFieldFlags[DYNAMICOBJECT_END]; diff --git a/src/server/game/Entities/Object/Updates/UpdateFields.h b/src/server/game/Entities/Object/Updates/UpdateFields.h index 6fb0a5d952c..ca3410f5dfd 100644 --- a/src/server/game/Entities/Object/Updates/UpdateFields.h +++ b/src/server/game/Entities/Object/Updates/UpdateFields.h @@ -19,17 +19,15 @@ #ifndef _UPDATEFIELDS_H #define _UPDATEFIELDS_H -// Auto generated for version 7, 3, 5, 25928 +// Auto generated for version 8, 0, 1, 27980 enum ObjectFields { 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, + OBJECT_FIELD_ENTRY = 0x004, // Size: 1, Flags: DYNAMIC + OBJECT_DYNAMIC_FLAGS = 0x005, // Size: 1, Flags: DYNAMIC, URGENT + OBJECT_FIELD_SCALE_X = 0x006, // Size: 1, Flags: PUBLIC + OBJECT_END = 0x007, }; enum ObjectDynamicFields @@ -66,8 +64,7 @@ enum ItemDynamicFields ITEM_DYNAMIC_FIELD_BONUSLIST_IDS = OBJECT_DYNAMIC_END + 0x001, // Flags: OWNER, 0x100 ITEM_DYNAMIC_FIELD_ARTIFACT_POWERS = OBJECT_DYNAMIC_END + 0x002, // Flags: OWNER ITEM_DYNAMIC_FIELD_GEMS = OBJECT_DYNAMIC_END + 0x003, // Flags: OWNER - ITEM_DYNAMIC_FIELD_RELIC_TALENT_DATA = OBJECT_DYNAMIC_END + 0x004, // Flags: OWNER - ITEM_DYNAMIC_END = OBJECT_DYNAMIC_END + 0x005, + ITEM_DYNAMIC_END = OBJECT_DYNAMIC_END + 0x004, }; enum ContainerFields @@ -82,6 +79,32 @@ enum ContainerDynamicFields CONTAINER_DYNAMIC_END = ITEM_DYNAMIC_END + 0x000, }; +enum AzeriteEmpoweredItemField +{ + AZERITE_EMPOWERED_ITEM_FIELD_SELECTIONS = ITEM_END + 0x000, // Size: 4, Flags: PUBLIC + AZERITE_EMPOWERED_ITEM_END = ITEM_END + 0x004, +}; + +enum AzeriteEmpoweredItemDynamicField +{ + AZERITE_EMPOWERED_ITEM_DYNAMIC_END = ITEM_DYNAMIC_END + 0x000, +}; + +enum AzeriteItemField +{ + AZERITE_ITEM_FIELD_XP = ITEM_END + 0x000, // Size: 2, Flags: PUBLIC + AZERITE_ITEM_FIELD_LEVEL = ITEM_END + 0x002, // Size: 1, Flags: PUBLIC + AZERITE_ITEM_FIELD_AURA_LEVEL = ITEM_END + 0x003, // Size: 1, Flags: PUBLIC + AZERITE_ITEM_FIELD_KNOWLEDGE_LEVEL = ITEM_END + 0x004, // Size: 1, Flags: OWNER + AZERITE_ITEM_FIELD_DEBUG_KNOWLEDGE_WEEK = ITEM_END + 0x005, // Size: 1, Flags: OWNER + AZERITE_ITEM_END = ITEM_END + 0x006, +}; + +enum AzeriteItemDynamicField +{ + AZERITE_ITEM_DYNAMIC_END = ITEM_DYNAMIC_END + 0x000, +}; + enum UnitFields { UNIT_FIELD_CHARM = OBJECT_END + 0x000, // Size: 4, Flags: PUBLIC @@ -91,98 +114,106 @@ enum UnitFields 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_DATA = OBJECT_END + 0x026, // Size: 2, Flags: PUBLIC, URGENT - UNIT_FIELD_SUMMONED_BY_HOME_REALM = OBJECT_END + 0x028, // Size: 1, Flags: PUBLIC - UNIT_FIELD_BYTES_0 = OBJECT_END + 0x029, // Size: 1, Flags: PUBLIC - UNIT_FIELD_DISPLAY_POWER = OBJECT_END + 0x02A, // Size: 1, Flags: PUBLIC - UNIT_FIELD_OVERRIDE_DISPLAY_POWER_ID = OBJECT_END + 0x02B, // Size: 1, Flags: PUBLIC - UNIT_FIELD_HEALTH = OBJECT_END + 0x02C, // Size: 2, Flags: PUBLIC - UNIT_FIELD_POWER = OBJECT_END + 0x02E, // Size: 6, Flags: PUBLIC, URGENT_SELF_ONLY - UNIT_FIELD_MAXHEALTH = OBJECT_END + 0x034, // Size: 2, Flags: PUBLIC - UNIT_FIELD_MAXPOWER = OBJECT_END + 0x036, // Size: 6, Flags: PUBLIC - UNIT_FIELD_POWER_REGEN_FLAT_MODIFIER = OBJECT_END + 0x03C, // Size: 6, Flags: PRIVATE, OWNER, UNIT_ALL - UNIT_FIELD_POWER_REGEN_INTERRUPTED_FLAT_MODIFIER = OBJECT_END + 0x042, // Size: 6, Flags: PRIVATE, OWNER, UNIT_ALL - UNIT_FIELD_LEVEL = OBJECT_END + 0x048, // Size: 1, Flags: PUBLIC - UNIT_FIELD_EFFECTIVE_LEVEL = OBJECT_END + 0x049, // Size: 1, Flags: PUBLIC - UNIT_FIELD_SANDBOX_SCALING_ID = OBJECT_END + 0x04A, // Size: 1, Flags: PUBLIC - UNIT_FIELD_SCALING_LEVEL_MIN = OBJECT_END + 0x04B, // Size: 1, Flags: PUBLIC - UNIT_FIELD_SCALING_LEVEL_MAX = OBJECT_END + 0x04C, // Size: 1, Flags: PUBLIC - UNIT_FIELD_SCALING_LEVEL_DELTA = OBJECT_END + 0x04D, // Size: 1, Flags: PUBLIC - UNIT_FIELD_FACTIONTEMPLATE = OBJECT_END + 0x04E, // Size: 1, Flags: PUBLIC - UNIT_VIRTUAL_ITEM_SLOT_ID = OBJECT_END + 0x04F, // Size: 6, Flags: PUBLIC - UNIT_FIELD_FLAGS = OBJECT_END + 0x055, // Size: 1, Flags: PUBLIC, URGENT - UNIT_FIELD_FLAGS_2 = OBJECT_END + 0x056, // Size: 1, Flags: PUBLIC, URGENT - UNIT_FIELD_FLAGS_3 = OBJECT_END + 0x057, // Size: 1, Flags: PUBLIC, URGENT - UNIT_FIELD_AURASTATE = OBJECT_END + 0x058, // Size: 1, Flags: PUBLIC - UNIT_FIELD_BASEATTACKTIME = OBJECT_END + 0x059, // Size: 2, Flags: PUBLIC - UNIT_FIELD_RANGEDATTACKTIME = OBJECT_END + 0x05B, // Size: 1, Flags: PRIVATE - UNIT_FIELD_BOUNDINGRADIUS = OBJECT_END + 0x05C, // Size: 1, Flags: PUBLIC - UNIT_FIELD_COMBATREACH = OBJECT_END + 0x05D, // Size: 1, Flags: PUBLIC - UNIT_FIELD_DISPLAYID = OBJECT_END + 0x05E, // Size: 1, Flags: DYNAMIC, URGENT - UNIT_FIELD_NATIVEDISPLAYID = OBJECT_END + 0x05F, // Size: 1, Flags: PUBLIC, URGENT - UNIT_FIELD_MOUNTDISPLAYID = OBJECT_END + 0x060, // Size: 1, Flags: PUBLIC, URGENT - UNIT_FIELD_MINDAMAGE = OBJECT_END + 0x061, // Size: 1, Flags: PRIVATE, OWNER, SPECIAL_INFO - UNIT_FIELD_MAXDAMAGE = OBJECT_END + 0x062, // Size: 1, Flags: PRIVATE, OWNER, SPECIAL_INFO - UNIT_FIELD_MINOFFHANDDAMAGE = OBJECT_END + 0x063, // Size: 1, Flags: PRIVATE, OWNER, SPECIAL_INFO - UNIT_FIELD_MAXOFFHANDDAMAGE = OBJECT_END + 0x064, // Size: 1, Flags: PRIVATE, OWNER, SPECIAL_INFO - UNIT_FIELD_BYTES_1 = OBJECT_END + 0x065, // Size: 1, Flags: PUBLIC - UNIT_FIELD_PETNUMBER = OBJECT_END + 0x066, // Size: 1, Flags: PUBLIC - UNIT_FIELD_PET_NAME_TIMESTAMP = OBJECT_END + 0x067, // Size: 1, Flags: PUBLIC - UNIT_FIELD_PETEXPERIENCE = OBJECT_END + 0x068, // Size: 1, Flags: OWNER - UNIT_FIELD_PETNEXTLEVELEXP = OBJECT_END + 0x069, // Size: 1, Flags: OWNER - UNIT_MOD_CAST_SPEED = OBJECT_END + 0x06A, // Size: 1, Flags: PUBLIC - UNIT_MOD_CAST_HASTE = OBJECT_END + 0x06B, // Size: 1, Flags: PUBLIC - UNIT_FIELD_MOD_HASTE = OBJECT_END + 0x06C, // Size: 1, Flags: PUBLIC - UNIT_FIELD_MOD_RANGED_HASTE = OBJECT_END + 0x06D, // Size: 1, Flags: PUBLIC - UNIT_FIELD_MOD_HASTE_REGEN = OBJECT_END + 0x06E, // Size: 1, Flags: PUBLIC - UNIT_FIELD_MOD_TIME_RATE = OBJECT_END + 0x06F, // Size: 1, Flags: PUBLIC - UNIT_CREATED_BY_SPELL = OBJECT_END + 0x070, // Size: 1, Flags: PUBLIC - UNIT_NPC_FLAGS = OBJECT_END + 0x071, // Size: 2, Flags: PUBLIC, DYNAMIC - UNIT_NPC_EMOTESTATE = OBJECT_END + 0x073, // Size: 1, Flags: PUBLIC - UNIT_FIELD_STAT = OBJECT_END + 0x074, // Size: 4, Flags: PRIVATE, OWNER - UNIT_FIELD_POSSTAT = OBJECT_END + 0x078, // Size: 4, Flags: PRIVATE, OWNER - UNIT_FIELD_NEGSTAT = OBJECT_END + 0x07C, // Size: 4, Flags: PRIVATE, OWNER - UNIT_FIELD_RESISTANCES = OBJECT_END + 0x080, // Size: 7, Flags: PRIVATE, OWNER, SPECIAL_INFO - UNIT_FIELD_RESISTANCEBUFFMODSPOSITIVE = OBJECT_END + 0x087, // Size: 7, Flags: PRIVATE, OWNER - UNIT_FIELD_RESISTANCEBUFFMODSNEGATIVE = OBJECT_END + 0x08E, // Size: 7, Flags: PRIVATE, OWNER - UNIT_FIELD_MOD_BONUS_ARMOR = OBJECT_END + 0x095, // Size: 1, Flags: PRIVATE, OWNER - UNIT_FIELD_BASE_MANA = OBJECT_END + 0x096, // Size: 1, Flags: PUBLIC - UNIT_FIELD_BASE_HEALTH = OBJECT_END + 0x097, // Size: 1, Flags: PRIVATE, OWNER - UNIT_FIELD_BYTES_2 = OBJECT_END + 0x098, // Size: 1, Flags: PUBLIC - UNIT_FIELD_ATTACK_POWER = OBJECT_END + 0x099, // Size: 1, Flags: PRIVATE, OWNER - UNIT_FIELD_ATTACK_POWER_MOD_POS = OBJECT_END + 0x09A, // Size: 1, Flags: PRIVATE, OWNER - UNIT_FIELD_ATTACK_POWER_MOD_NEG = OBJECT_END + 0x09B, // Size: 1, Flags: PRIVATE, OWNER - UNIT_FIELD_ATTACK_POWER_MULTIPLIER = OBJECT_END + 0x09C, // Size: 1, Flags: PRIVATE, OWNER - UNIT_FIELD_RANGED_ATTACK_POWER = OBJECT_END + 0x09D, // Size: 1, Flags: PRIVATE, OWNER - UNIT_FIELD_RANGED_ATTACK_POWER_MOD_POS = OBJECT_END + 0x09E, // Size: 1, Flags: PRIVATE, OWNER - UNIT_FIELD_RANGED_ATTACK_POWER_MOD_NEG = OBJECT_END + 0x09F, // Size: 1, Flags: PRIVATE, OWNER - UNIT_FIELD_RANGED_ATTACK_POWER_MULTIPLIER = OBJECT_END + 0x0A0, // Size: 1, Flags: PRIVATE, OWNER - UNIT_FIELD_ATTACK_SPEED_AURA = OBJECT_END + 0x0A1, // Size: 1, Flags: PRIVATE, OWNER - UNIT_FIELD_MINRANGEDDAMAGE = OBJECT_END + 0x0A2, // Size: 1, Flags: PRIVATE, OWNER - UNIT_FIELD_MAXRANGEDDAMAGE = OBJECT_END + 0x0A3, // Size: 1, Flags: PRIVATE, OWNER - UNIT_FIELD_POWER_COST_MODIFIER = OBJECT_END + 0x0A4, // Size: 7, Flags: PRIVATE, OWNER - UNIT_FIELD_POWER_COST_MULTIPLIER = OBJECT_END + 0x0AB, // Size: 7, Flags: PRIVATE, OWNER - UNIT_FIELD_MAXHEALTHMODIFIER = OBJECT_END + 0x0B2, // Size: 1, Flags: PRIVATE, OWNER - UNIT_FIELD_HOVERHEIGHT = OBJECT_END + 0x0B3, // Size: 1, Flags: PUBLIC - UNIT_FIELD_MIN_ITEM_LEVEL_CUTOFF = OBJECT_END + 0x0B4, // Size: 1, Flags: PUBLIC - UNIT_FIELD_MIN_ITEM_LEVEL = OBJECT_END + 0x0B5, // Size: 1, Flags: PUBLIC - UNIT_FIELD_MAXITEMLEVEL = OBJECT_END + 0x0B6, // Size: 1, Flags: PUBLIC - UNIT_FIELD_WILD_BATTLEPET_LEVEL = OBJECT_END + 0x0B7, // Size: 1, Flags: PUBLIC - UNIT_FIELD_BATTLEPET_COMPANION_NAME_TIMESTAMP = OBJECT_END + 0x0B8, // Size: 1, Flags: PUBLIC - UNIT_FIELD_INTERACT_SPELLID = OBJECT_END + 0x0B9, // Size: 1, Flags: PUBLIC - UNIT_FIELD_STATE_SPELL_VISUAL_ID = OBJECT_END + 0x0BA, // Size: 1, Flags: DYNAMIC, URGENT - UNIT_FIELD_STATE_ANIM_ID = OBJECT_END + 0x0BB, // Size: 1, Flags: DYNAMIC, URGENT - UNIT_FIELD_STATE_ANIM_KIT_ID = OBJECT_END + 0x0BC, // Size: 1, Flags: DYNAMIC, URGENT - UNIT_FIELD_STATE_WORLD_EFFECT_ID = OBJECT_END + 0x0BD, // Size: 4, Flags: DYNAMIC, URGENT - UNIT_FIELD_SCALE_DURATION = OBJECT_END + 0x0C1, // Size: 1, Flags: PUBLIC - UNIT_FIELD_LOOKS_LIKE_MOUNT_ID = OBJECT_END + 0x0C2, // Size: 1, Flags: PUBLIC - UNIT_FIELD_LOOKS_LIKE_CREATURE_ID = OBJECT_END + 0x0C3, // Size: 1, Flags: PUBLIC - UNIT_FIELD_LOOK_AT_CONTROLLER_ID = OBJECT_END + 0x0C4, // Size: 1, Flags: PUBLIC - UNIT_FIELD_LOOK_AT_CONTROLLER_TARGET = OBJECT_END + 0x0C5, // Size: 4, Flags: PUBLIC - UNIT_END = OBJECT_END + 0x0C9, + UNIT_FIELD_LOOK_AT_CONTROLLER_TARGET = OBJECT_END + 0x01C, // Size: 4, Flags: PUBLIC + UNIT_FIELD_TARGET = OBJECT_END + 0x020, // Size: 4, Flags: PUBLIC + UNIT_FIELD_BATTLE_PET_COMPANION_GUID = OBJECT_END + 0x024, // Size: 4, Flags: PUBLIC + UNIT_FIELD_BATTLE_PET_DB_ID = OBJECT_END + 0x028, // Size: 2, Flags: PUBLIC + UNIT_FIELD_CHANNEL_DATA = OBJECT_END + 0x02A, // Size: 2, Flags: PUBLIC, URGENT + UNIT_FIELD_SUMMONED_BY_HOME_REALM = OBJECT_END + 0x02C, // Size: 1, Flags: PUBLIC + UNIT_FIELD_BYTES_0 = OBJECT_END + 0x02D, // Size: 1, Flags: PUBLIC + UNIT_FIELD_DISPLAY_POWER = OBJECT_END + 0x02E, // Size: 1, Flags: PUBLIC + UNIT_FIELD_OVERRIDE_DISPLAY_POWER_ID = OBJECT_END + 0x02F, // Size: 1, Flags: PUBLIC + UNIT_FIELD_HEALTH = OBJECT_END + 0x030, // Size: 2, Flags: PUBLIC + UNIT_FIELD_POWER = OBJECT_END + 0x032, // Size: 6, Flags: PUBLIC, URGENT_SELF_ONLY + UNIT_FIELD_MAXHEALTH = OBJECT_END + 0x038, // Size: 2, Flags: PUBLIC + UNIT_FIELD_MAXPOWER = OBJECT_END + 0x03A, // Size: 6, Flags: PUBLIC + UNIT_FIELD_POWER_REGEN_FLAT_MODIFIER = OBJECT_END + 0x040, // Size: 6, Flags: PRIVATE, OWNER, UNIT_ALL + UNIT_FIELD_POWER_REGEN_INTERRUPTED_FLAT_MODIFIER = OBJECT_END + 0x046, // Size: 6, Flags: PRIVATE, OWNER, UNIT_ALL + UNIT_FIELD_LEVEL = OBJECT_END + 0x04C, // Size: 1, Flags: PUBLIC + UNIT_FIELD_EFFECTIVE_LEVEL = OBJECT_END + 0x04D, // Size: 1, Flags: PUBLIC + UNIT_FIELD_CONTENT_TUNING_ID = OBJECT_END + 0x04E, // Size: 1, Flags: PUBLIC + UNIT_FIELD_SCALING_LEVEL_MIN = OBJECT_END + 0x04F, // Size: 1, Flags: PUBLIC + UNIT_FIELD_SCALING_LEVEL_MAX = OBJECT_END + 0x050, // Size: 1, Flags: PUBLIC + UNIT_FIELD_SCALING_LEVEL_DELTA = OBJECT_END + 0x051, // Size: 1, Flags: PUBLIC + UNIT_FIELD_SCALING_FACTION_GROUP = OBJECT_END + 0x052, // Size: 1, Flags: PUBLIC + UNIT_FIELD_SCALING_HEALTH_ITEM_LEVEL_CURVE_ID = OBJECT_END + 0x053, // Size: 1, Flags: PUBLIC + UNIT_FIELD_SCALING_DAMAGE_ITEM_LEVEL_CURVE_ID = OBJECT_END + 0x054, // Size: 1, Flags: PUBLIC + UNIT_FIELD_FACTIONTEMPLATE = OBJECT_END + 0x055, // Size: 1, Flags: PUBLIC + UNIT_VIRTUAL_ITEM_SLOT_ID = OBJECT_END + 0x056, // Size: 6, Flags: PUBLIC + UNIT_FIELD_FLAGS = OBJECT_END + 0x05C, // Size: 1, Flags: PUBLIC, URGENT + UNIT_FIELD_FLAGS_2 = OBJECT_END + 0x05D, // Size: 1, Flags: PUBLIC, URGENT + UNIT_FIELD_FLAGS_3 = OBJECT_END + 0x05E, // Size: 1, Flags: PUBLIC, URGENT + UNIT_FIELD_AURASTATE = OBJECT_END + 0x05F, // Size: 1, Flags: PUBLIC + UNIT_FIELD_BASEATTACKTIME = OBJECT_END + 0x060, // Size: 2, Flags: PUBLIC + UNIT_FIELD_RANGEDATTACKTIME = OBJECT_END + 0x062, // Size: 1, Flags: PRIVATE + UNIT_FIELD_BOUNDINGRADIUS = OBJECT_END + 0x063, // Size: 1, Flags: PUBLIC + UNIT_FIELD_COMBATREACH = OBJECT_END + 0x064, // Size: 1, Flags: PUBLIC + UNIT_FIELD_DISPLAYID = OBJECT_END + 0x065, // Size: 1, Flags: DYNAMIC, URGENT + UNIT_FIELD_DISPLAY_SCALE = OBJECT_END + 0x066, // Size: 1, Flags: DYNAMIC, URGENT + UNIT_FIELD_NATIVEDISPLAYID = OBJECT_END + 0x067, // Size: 1, Flags: PUBLIC, URGENT + UNIT_FIELD_NATIVE_X_DISPLAY_SCALE = OBJECT_END + 0x068, // Size: 1, Flags: PUBLIC, URGENT + UNIT_FIELD_MOUNTDISPLAYID = OBJECT_END + 0x069, // Size: 1, Flags: PUBLIC, URGENT + UNIT_FIELD_MINDAMAGE = OBJECT_END + 0x06A, // Size: 1, Flags: PRIVATE, OWNER, SPECIAL_INFO + UNIT_FIELD_MAXDAMAGE = OBJECT_END + 0x06B, // Size: 1, Flags: PRIVATE, OWNER, SPECIAL_INFO + UNIT_FIELD_MINOFFHANDDAMAGE = OBJECT_END + 0x06C, // Size: 1, Flags: PRIVATE, OWNER, SPECIAL_INFO + UNIT_FIELD_MAXOFFHANDDAMAGE = OBJECT_END + 0x06D, // Size: 1, Flags: PRIVATE, OWNER, SPECIAL_INFO + UNIT_FIELD_BYTES_1 = OBJECT_END + 0x06E, // Size: 1, Flags: PUBLIC + UNIT_FIELD_PETNUMBER = OBJECT_END + 0x06F, // Size: 1, Flags: PUBLIC + UNIT_FIELD_PET_NAME_TIMESTAMP = OBJECT_END + 0x070, // Size: 1, Flags: PUBLIC + UNIT_FIELD_PETEXPERIENCE = OBJECT_END + 0x071, // Size: 1, Flags: OWNER + UNIT_FIELD_PETNEXTLEVELEXP = OBJECT_END + 0x072, // Size: 1, Flags: OWNER + UNIT_MOD_CAST_SPEED = OBJECT_END + 0x073, // Size: 1, Flags: PUBLIC + UNIT_MOD_CAST_HASTE = OBJECT_END + 0x074, // Size: 1, Flags: PUBLIC + UNIT_FIELD_MOD_HASTE = OBJECT_END + 0x075, // Size: 1, Flags: PUBLIC + UNIT_FIELD_MOD_RANGED_HASTE = OBJECT_END + 0x076, // Size: 1, Flags: PUBLIC + UNIT_FIELD_MOD_HASTE_REGEN = OBJECT_END + 0x077, // Size: 1, Flags: PUBLIC + UNIT_FIELD_MOD_TIME_RATE = OBJECT_END + 0x078, // Size: 1, Flags: PUBLIC + UNIT_CREATED_BY_SPELL = OBJECT_END + 0x079, // Size: 1, Flags: PUBLIC + UNIT_NPC_FLAGS = OBJECT_END + 0x07A, // Size: 2, Flags: PUBLIC, DYNAMIC + UNIT_NPC_EMOTESTATE = OBJECT_END + 0x07C, // Size: 1, Flags: PUBLIC + UNIT_FIELD_STAT = OBJECT_END + 0x07D, // Size: 4, Flags: PRIVATE, OWNER + UNIT_FIELD_POSSTAT = OBJECT_END + 0x081, // Size: 4, Flags: PRIVATE, OWNER + UNIT_FIELD_NEGSTAT = OBJECT_END + 0x085, // Size: 4, Flags: PRIVATE, OWNER + UNIT_FIELD_RESISTANCES = OBJECT_END + 0x089, // Size: 7, Flags: PRIVATE, OWNER, SPECIAL_INFO + UNIT_FIELD_BONUS_RESISTANCE_MODS = OBJECT_END + 0x090, // Size: 7, Flags: PRIVATE, OWNER + UNIT_FIELD_BASE_MANA = OBJECT_END + 0x097, // Size: 1, Flags: PUBLIC + UNIT_FIELD_BASE_HEALTH = OBJECT_END + 0x098, // Size: 1, Flags: PRIVATE, OWNER + UNIT_FIELD_BYTES_2 = OBJECT_END + 0x099, // Size: 1, Flags: PUBLIC + UNIT_FIELD_ATTACK_POWER = OBJECT_END + 0x09A, // Size: 1, Flags: PRIVATE, OWNER + UNIT_FIELD_ATTACK_POWER_MOD_POS = OBJECT_END + 0x09B, // Size: 1, Flags: PRIVATE, OWNER + UNIT_FIELD_ATTACK_POWER_MOD_NEG = OBJECT_END + 0x09C, // Size: 1, Flags: PRIVATE, OWNER + UNIT_FIELD_ATTACK_POWER_MULTIPLIER = OBJECT_END + 0x09D, // Size: 1, Flags: PRIVATE, OWNER + UNIT_FIELD_RANGED_ATTACK_POWER = OBJECT_END + 0x09E, // Size: 1, Flags: PRIVATE, OWNER + UNIT_FIELD_RANGED_ATTACK_POWER_MOD_POS = OBJECT_END + 0x09F, // Size: 1, Flags: PRIVATE, OWNER + UNIT_FIELD_RANGED_ATTACK_POWER_MOD_NEG = OBJECT_END + 0x0A0, // Size: 1, Flags: PRIVATE, OWNER + UNIT_FIELD_RANGED_ATTACK_POWER_MULTIPLIER = OBJECT_END + 0x0A1, // Size: 1, Flags: PRIVATE, OWNER + UNIT_FIELD_MAIN_HAND_WEAPON_ATTACK_POWER = OBJECT_END + 0x0A2, // Size: 1, Flags: PRIVATE, OWNER + UNIT_FIELD_OFF_HAND_WEAPON_ATTACK_POWER = OBJECT_END + 0x0A3, // Size: 1, Flags: PRIVATE, OWNER + UNIT_FIELD_RANGED_HAND_WEAPON_ATTACK_POWER = OBJECT_END + 0x0A4, // Size: 1, Flags: PRIVATE, OWNER + UNIT_FIELD_ATTACK_SPEED_AURA = OBJECT_END + 0x0A5, // Size: 1, Flags: PRIVATE, OWNER + UNIT_FIELD_LIFESTEAL = OBJECT_END + 0x0A6, // Size: 1, Flags: PRIVATE, OWNER + UNIT_FIELD_MINRANGEDDAMAGE = OBJECT_END + 0x0A7, // Size: 1, Flags: PRIVATE, OWNER + UNIT_FIELD_MAXRANGEDDAMAGE = OBJECT_END + 0x0A8, // Size: 1, Flags: PRIVATE, OWNER + UNIT_FIELD_POWER_COST_MODIFIER = OBJECT_END + 0x0A9, // Size: 7, Flags: PRIVATE, OWNER + UNIT_FIELD_POWER_COST_MULTIPLIER = OBJECT_END + 0x0B0, // Size: 7, Flags: PRIVATE, OWNER + UNIT_FIELD_MAXHEALTHMODIFIER = OBJECT_END + 0x0B7, // Size: 1, Flags: PRIVATE, OWNER + UNIT_FIELD_HOVERHEIGHT = OBJECT_END + 0x0B8, // Size: 1, Flags: PUBLIC + UNIT_FIELD_MIN_ITEM_LEVEL_CUTOFF = OBJECT_END + 0x0B9, // Size: 1, Flags: PUBLIC + UNIT_FIELD_MIN_ITEM_LEVEL = OBJECT_END + 0x0BA, // Size: 1, Flags: PUBLIC + UNIT_FIELD_MAXITEMLEVEL = OBJECT_END + 0x0BB, // Size: 1, Flags: PUBLIC + UNIT_FIELD_WILD_BATTLEPET_LEVEL = OBJECT_END + 0x0BC, // Size: 1, Flags: PUBLIC + UNIT_FIELD_BATTLEPET_COMPANION_NAME_TIMESTAMP = OBJECT_END + 0x0BD, // Size: 1, Flags: PUBLIC + UNIT_FIELD_INTERACT_SPELLID = OBJECT_END + 0x0BE, // Size: 1, Flags: PUBLIC + UNIT_FIELD_STATE_SPELL_VISUAL_ID = OBJECT_END + 0x0BF, // Size: 1, Flags: DYNAMIC, URGENT + UNIT_FIELD_STATE_ANIM_ID = OBJECT_END + 0x0C0, // Size: 1, Flags: DYNAMIC, URGENT + UNIT_FIELD_STATE_ANIM_KIT_ID = OBJECT_END + 0x0C1, // Size: 1, Flags: DYNAMIC, URGENT + UNIT_FIELD_STATE_WORLD_EFFECT_ID = OBJECT_END + 0x0C2, // Size: 4, Flags: DYNAMIC, URGENT + UNIT_FIELD_SCALE_DURATION = OBJECT_END + 0x0C6, // Size: 1, Flags: PUBLIC + UNIT_FIELD_LOOKS_LIKE_MOUNT_ID = OBJECT_END + 0x0C7, // Size: 1, Flags: PUBLIC + UNIT_FIELD_LOOKS_LIKE_CREATURE_ID = OBJECT_END + 0x0C8, // Size: 1, Flags: PUBLIC + UNIT_FIELD_LOOK_AT_CONTROLLER_ID = OBJECT_END + 0x0C9, // Size: 1, Flags: PUBLIC + UNIT_FIELD_GUILD_GUID = OBJECT_END + 0x0CA, // Size: 4, Flags: PUBLIC + UNIT_END = OBJECT_END + 0x0CE, }; enum UnitDynamicFields @@ -209,141 +240,152 @@ enum PlayerFields PLAYER_BYTES_4 = UNIT_END + 0x014, // Size: 1, Flags: PUBLIC PLAYER_DUEL_TEAM = UNIT_END + 0x015, // Size: 1, Flags: PUBLIC PLAYER_GUILD_TIMESTAMP = UNIT_END + 0x016, // Size: 1, Flags: PUBLIC - PLAYER_QUEST_LOG = UNIT_END + 0x017, // Size: 800, Flags: PARTY_MEMBER - PLAYER_VISIBLE_ITEM = UNIT_END + 0x337, // Size: 38, Flags: PUBLIC - PLAYER_CHOSEN_TITLE = UNIT_END + 0x35D, // Size: 1, Flags: PUBLIC - PLAYER_FAKE_INEBRIATION = UNIT_END + 0x35E, // Size: 1, Flags: PUBLIC - PLAYER_FIELD_VIRTUAL_PLAYER_REALM = UNIT_END + 0x35F, // Size: 1, Flags: PUBLIC - PLAYER_FIELD_CURRENT_SPEC_ID = UNIT_END + 0x360, // Size: 1, Flags: PUBLIC - PLAYER_FIELD_TAXI_MOUNT_ANIM_KIT_ID = UNIT_END + 0x361, // Size: 1, Flags: PUBLIC - PLAYER_FIELD_AVG_ITEM_LEVEL = UNIT_END + 0x362, // Size: 4, Flags: PUBLIC - PLAYER_FIELD_CURRENT_BATTLE_PET_BREED_QUALITY = UNIT_END + 0x366, // Size: 1, Flags: PUBLIC - PLAYER_FIELD_PRESTIGE = UNIT_END + 0x367, // Size: 1, Flags: PUBLIC - PLAYER_FIELD_HONOR_LEVEL = UNIT_END + 0x368, // Size: 1, Flags: PUBLIC - PLAYER_FIELD_INV_SLOT_HEAD = UNIT_END + 0x369, // Size: 780, Flags: PRIVATE - PLAYER_FIELD_END_NOT_SELF = UNIT_END + 0x369, - PLAYER_FARSIGHT = UNIT_END + 0x675, // Size: 4, Flags: PRIVATE - PLAYER_FIELD_SUMMONED_BATTLE_PET_ID = UNIT_END + 0x679, // Size: 4, Flags: PRIVATE - PLAYER__FIELD_KNOWN_TITLES = UNIT_END + 0x67D, // Size: 12, Flags: PRIVATE - PLAYER_FIELD_COINAGE = UNIT_END + 0x689, // Size: 2, Flags: PRIVATE - PLAYER_XP = UNIT_END + 0x68B, // Size: 1, Flags: PRIVATE - PLAYER_NEXT_LEVEL_XP = UNIT_END + 0x68C, // Size: 1, Flags: PRIVATE - PLAYER_TRIAL_XP = UNIT_END + 0x68D, // Size: 1, Flags: PRIVATE - PLAYER_SKILL_LINEID = UNIT_END + 0x68E, // Size: 448, Flags: PRIVATE - PLAYER_CHARACTER_POINTS = UNIT_END + 0x84E, // Size: 1, Flags: PRIVATE - PLAYER_FIELD_MAX_TALENT_TIERS = UNIT_END + 0x84F, // Size: 1, Flags: PRIVATE - PLAYER_TRACK_CREATURES = UNIT_END + 0x850, // Size: 1, Flags: PRIVATE - PLAYER_TRACK_RESOURCES = UNIT_END + 0x851, // Size: 1, Flags: PRIVATE - PLAYER_EXPERTISE = UNIT_END + 0x852, // Size: 1, Flags: PRIVATE - PLAYER_OFFHAND_EXPERTISE = UNIT_END + 0x853, // Size: 1, Flags: PRIVATE - PLAYER_FIELD_RANGED_EXPERTISE = UNIT_END + 0x854, // Size: 1, Flags: PRIVATE - PLAYER_FIELD_COMBAT_RATING_EXPERTISE = UNIT_END + 0x855, // Size: 1, Flags: PRIVATE - PLAYER_BLOCK_PERCENTAGE = UNIT_END + 0x856, // Size: 1, Flags: PRIVATE - PLAYER_DODGE_PERCENTAGE = UNIT_END + 0x857, // Size: 1, Flags: PRIVATE - PLAYER_DODGE_PERCENTAGE_FROM_ATTRIBUTE = UNIT_END + 0x858, // Size: 1, Flags: PRIVATE - PLAYER_PARRY_PERCENTAGE = UNIT_END + 0x859, // Size: 1, Flags: PRIVATE - PLAYER_PARRY_PERCENTAGE_FROM_ATTRIBUTE = UNIT_END + 0x85A, // Size: 1, Flags: PRIVATE - PLAYER_CRIT_PERCENTAGE = UNIT_END + 0x85B, // Size: 1, Flags: PRIVATE - PLAYER_RANGED_CRIT_PERCENTAGE = UNIT_END + 0x85C, // Size: 1, Flags: PRIVATE - PLAYER_OFFHAND_CRIT_PERCENTAGE = UNIT_END + 0x85D, // Size: 1, Flags: PRIVATE - PLAYER_SPELL_CRIT_PERCENTAGE1 = UNIT_END + 0x85E, // Size: 1, Flags: PRIVATE - PLAYER_SHIELD_BLOCK = UNIT_END + 0x85F, // Size: 1, Flags: PRIVATE - PLAYER_SHIELD_BLOCK_CRIT_PERCENTAGE = UNIT_END + 0x860, // Size: 1, Flags: PRIVATE - PLAYER_MASTERY = UNIT_END + 0x861, // Size: 1, Flags: PRIVATE - PLAYER_SPEED = UNIT_END + 0x862, // Size: 1, Flags: PRIVATE - PLAYER_LIFESTEAL = UNIT_END + 0x863, // Size: 1, Flags: PRIVATE - PLAYER_AVOIDANCE = UNIT_END + 0x864, // Size: 1, Flags: PRIVATE - PLAYER_STURDINESS = UNIT_END + 0x865, // Size: 1, Flags: PRIVATE - PLAYER_VERSATILITY = UNIT_END + 0x866, // Size: 1, Flags: PRIVATE - PLAYER_VERSATILITY_BONUS = UNIT_END + 0x867, // Size: 1, Flags: PRIVATE - PLAYER_FIELD_PVP_POWER_DAMAGE = UNIT_END + 0x868, // Size: 1, Flags: PRIVATE - PLAYER_FIELD_PVP_POWER_HEALING = UNIT_END + 0x869, // Size: 1, Flags: PRIVATE - PLAYER_EXPLORED_ZONES_1 = UNIT_END + 0x86A, // Size: 320, Flags: PRIVATE - PLAYER_FIELD_REST_INFO = UNIT_END + 0x9AA, // Size: 4, Flags: PRIVATE - PLAYER_FIELD_MOD_DAMAGE_DONE_POS = UNIT_END + 0x9AE, // Size: 7, Flags: PRIVATE - PLAYER_FIELD_MOD_DAMAGE_DONE_NEG = UNIT_END + 0x9B5, // Size: 7, Flags: PRIVATE - PLAYER_FIELD_MOD_DAMAGE_DONE_PCT = UNIT_END + 0x9BC, // Size: 7, Flags: PRIVATE - PLAYER_FIELD_MOD_HEALING_DONE_POS = UNIT_END + 0x9C3, // Size: 1, Flags: PRIVATE - PLAYER_FIELD_MOD_HEALING_PCT = UNIT_END + 0x9C4, // Size: 1, Flags: PRIVATE - PLAYER_FIELD_MOD_HEALING_DONE_PCT = UNIT_END + 0x9C5, // Size: 1, Flags: PRIVATE - PLAYER_FIELD_MOD_PERIODIC_HEALING_DONE_PERCENT = UNIT_END + 0x9C6, // Size: 1, Flags: PRIVATE - PLAYER_FIELD_WEAPON_DMG_MULTIPLIERS = UNIT_END + 0x9C7, // Size: 3, Flags: PRIVATE - PLAYER_FIELD_WEAPON_ATK_SPEED_MULTIPLIERS = UNIT_END + 0x9CA, // Size: 3, Flags: PRIVATE - PLAYER_FIELD_MOD_SPELL_POWER_PCT = UNIT_END + 0x9CD, // Size: 1, Flags: PRIVATE - PLAYER_FIELD_MOD_RESILIENCE_PERCENT = UNIT_END + 0x9CE, // Size: 1, Flags: PRIVATE - PLAYER_FIELD_OVERRIDE_SPELL_POWER_BY_AP_PCT = UNIT_END + 0x9CF, // Size: 1, Flags: PRIVATE - PLAYER_FIELD_OVERRIDE_AP_BY_SPELL_POWER_PERCENT = UNIT_END + 0x9D0, // Size: 1, Flags: PRIVATE - PLAYER_FIELD_MOD_TARGET_RESISTANCE = UNIT_END + 0x9D1, // Size: 1, Flags: PRIVATE - PLAYER_FIELD_MOD_TARGET_PHYSICAL_RESISTANCE = UNIT_END + 0x9D2, // Size: 1, Flags: PRIVATE - PLAYER_FIELD_LOCAL_FLAGS = UNIT_END + 0x9D3, // Size: 1, Flags: PRIVATE - PLAYER_FIELD_BYTES = UNIT_END + 0x9D4, // Size: 1, Flags: PRIVATE - PLAYER_FIELD_PVP_MEDALS = UNIT_END + 0x9D5, // Size: 1, Flags: PRIVATE - PLAYER_FIELD_BUYBACK_PRICE_1 = UNIT_END + 0x9D6, // Size: 12, Flags: PRIVATE - PLAYER_FIELD_BUYBACK_TIMESTAMP_1 = UNIT_END + 0x9E2, // Size: 12, Flags: PRIVATE - PLAYER_FIELD_KILLS = UNIT_END + 0x9EE, // Size: 1, Flags: PRIVATE - PLAYER_FIELD_LIFETIME_HONORABLE_KILLS = UNIT_END + 0x9EF, // Size: 1, Flags: PRIVATE - PLAYER_FIELD_WATCHED_FACTION_INDEX = UNIT_END + 0x9F0, // Size: 1, Flags: PRIVATE - PLAYER_FIELD_COMBAT_RATING_1 = UNIT_END + 0x9F1, // Size: 32, Flags: PRIVATE - PLAYER_FIELD_ARENA_TEAM_INFO_1_1 = UNIT_END + 0xA11, // Size: 42, Flags: PRIVATE - PLAYER_FIELD_MAX_LEVEL = UNIT_END + 0xA3B, // Size: 1, Flags: PRIVATE - PLAYER_FIELD_SCALING_PLAYER_LEVEL_DELTA = UNIT_END + 0xA3C, // Size: 1, Flags: PRIVATE - PLAYER_FIELD_MAX_CREATURE_SCALING_LEVEL = UNIT_END + 0xA3D, // Size: 1, Flags: PRIVATE - PLAYER_NO_REAGENT_COST_1 = UNIT_END + 0xA3E, // Size: 4, Flags: PRIVATE - PLAYER_PET_SPELL_POWER = UNIT_END + 0xA42, // Size: 1, Flags: PRIVATE - PLAYER_FIELD_RESEARCHING_1 = UNIT_END + 0xA43, // Size: 10, Flags: PRIVATE - PLAYER_PROFESSION_SKILL_LINE_1 = UNIT_END + 0xA4D, // Size: 2, Flags: PRIVATE - PLAYER_FIELD_UI_HIT_MODIFIER = UNIT_END + 0xA4F, // Size: 1, Flags: PRIVATE - PLAYER_FIELD_UI_SPELL_HIT_MODIFIER = UNIT_END + 0xA50, // Size: 1, Flags: PRIVATE - PLAYER_FIELD_HOME_REALM_TIME_OFFSET = UNIT_END + 0xA51, // Size: 1, Flags: PRIVATE - PLAYER_FIELD_MOD_PET_HASTE = UNIT_END + 0xA52, // Size: 1, Flags: PRIVATE - PLAYER_FIELD_BYTES2 = UNIT_END + 0xA53, // Size: 1, Flags: PRIVATE - PLAYER_FIELD_BYTES3 = UNIT_END + 0xA54, // Size: 1, Flags: PRIVATE, URGENT_SELF_ONLY - PLAYER_FIELD_LFG_BONUS_FACTION_ID = UNIT_END + 0xA55, // Size: 1, Flags: PRIVATE - PLAYER_FIELD_LOOT_SPEC_ID = UNIT_END + 0xA56, // Size: 1, Flags: PRIVATE - PLAYER_FIELD_OVERRIDE_ZONE_PVP_TYPE = UNIT_END + 0xA57, // Size: 1, Flags: PRIVATE, URGENT_SELF_ONLY - PLAYER_FIELD_BAG_SLOT_FLAGS = UNIT_END + 0xA58, // Size: 4, Flags: PRIVATE - PLAYER_FIELD_BANK_BAG_SLOT_FLAGS = UNIT_END + 0xA5C, // Size: 7, Flags: PRIVATE - PLAYER_FIELD_INSERT_ITEMS_LEFT_TO_RIGHT = UNIT_END + 0xA63, // Size: 1, Flags: PRIVATE - PLAYER_FIELD_QUEST_COMPLETED = UNIT_END + 0xA64, // Size: 1750, Flags: PRIVATE - PLAYER_FIELD_HONOR = UNIT_END + 0x113A, // Size: 1, Flags: PRIVATE - PLAYER_FIELD_HONOR_NEXT_LEVEL = UNIT_END + 0x113B, // Size: 1, Flags: PRIVATE - PLAYER_END = UNIT_END + 0x113C, + PLAYER_QUEST_LOG = UNIT_END + 0x017, // Size: 1600, Flags: PARTY_MEMBER + PLAYER_VISIBLE_ITEM = UNIT_END + 0x657, // Size: 38, Flags: PUBLIC + PLAYER_CHOSEN_TITLE = UNIT_END + 0x67D, // Size: 1, Flags: PUBLIC + PLAYER_FAKE_INEBRIATION = UNIT_END + 0x67E, // Size: 1, Flags: PUBLIC + PLAYER_FIELD_VIRTUAL_PLAYER_REALM = UNIT_END + 0x67F, // Size: 1, Flags: PUBLIC + PLAYER_FIELD_CURRENT_SPEC_ID = UNIT_END + 0x680, // Size: 1, Flags: PUBLIC + PLAYER_FIELD_TAXI_MOUNT_ANIM_KIT_ID = UNIT_END + 0x681, // Size: 1, Flags: PUBLIC + PLAYER_FIELD_AVG_ITEM_LEVEL = UNIT_END + 0x682, // Size: 4, Flags: PUBLIC + PLAYER_FIELD_CURRENT_BATTLE_PET_BREED_QUALITY = UNIT_END + 0x686, // Size: 1, Flags: PUBLIC + PLAYER_FIELD_HONOR_LEVEL = UNIT_END + 0x687, // Size: 1, Flags: PUBLIC + PLAYER_END = UNIT_END + 0x688, }; 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_HEIRLOOM_FLAGS = UNIT_DYNAMIC_END + 0x005, // Flags: PRIVATE - PLAYER_DYNAMIC_FIELD_TOYS = UNIT_DYNAMIC_END + 0x006, // Flags: PRIVATE - PLAYER_DYNAMIC_FIELD_TRANSMOG = UNIT_DYNAMIC_END + 0x007, // Flags: PRIVATE - PLAYER_DYNAMIC_FIELD_CONDITIONAL_TRANSMOG = UNIT_DYNAMIC_END + 0x008, // Flags: PRIVATE - PLAYER_DYNAMIC_FIELD_SELF_RES_SPELLS = UNIT_DYNAMIC_END + 0x009, // Flags: PRIVATE - PLAYER_DYNAMIC_FIELD_CHARACTER_RESTRICTIONS = UNIT_DYNAMIC_END + 0x00A, // Flags: PRIVATE - PLAYER_DYNAMIC_FIELD_SPELL_PCT_MOD_BY_LABEL = UNIT_DYNAMIC_END + 0x00B, // Flags: PRIVATE - PLAYER_DYNAMIC_FIELD_SPELL_FLAT_MOD_BY_LABEL = UNIT_DYNAMIC_END + 0x00C, // Flags: PRIVATE - PLAYER_DYNAMIC_FIELD_ARENA_COOLDOWNS = UNIT_DYNAMIC_END + 0x00D, // Flags: PUBLIC - PLAYER_DYNAMIC_END = UNIT_DYNAMIC_END + 0x00E, + PLAYER_DYNAMIC_FIELD_ARENA_COOLDOWNS = UNIT_DYNAMIC_END + 0x000, // Flags: PUBLIC + PLAYER_DYNAMIC_END = UNIT_DYNAMIC_END + 0x001, +}; + +enum ActivePlayerField +{ + ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD = PLAYER_END + 0x000, // Size: 780, Flags: PUBLIC + ACTIVE_PLAYER_FIELD_FARSIGHT = PLAYER_END + 0x30C, // Size: 4, Flags: PUBLIC + ACTIVE_PLAYER_FIELD_SUMMONED_BATTLE_PET_ID = PLAYER_END + 0x310, // Size: 4, Flags: PUBLIC + ACTIVE_PLAYER_FIELD_KNOWN_TITLES = PLAYER_END + 0x314, // Size: 12, Flags: PUBLIC + ACTIVE_PLAYER_FIELD_COINAGE = PLAYER_END + 0x320, // Size: 2, Flags: PUBLIC + ACTIVE_PLAYER_FIELD_XP = PLAYER_END + 0x322, // Size: 1, Flags: PUBLIC + ACTIVE_PLAYER_FIELD_NEXT_LEVEL_XP = PLAYER_END + 0x323, // Size: 1, Flags: PUBLIC + ACTIVE_PLAYER_FIELD_TRIAL_XP = PLAYER_END + 0x324, // Size: 1, Flags: PUBLIC + ACTIVE_PLAYER_FIELD_SKILL_LINEID = PLAYER_END + 0x325, // Size: 896, Flags: PUBLIC + ACTIVE_PLAYER_FIELD_CHARACTER_POINTS = PLAYER_END + 0x6A5, // Size: 1, Flags: PUBLIC + ACTIVE_PLAYER_FIELD_MAX_TALENT_TIERS = PLAYER_END + 0x6A6, // Size: 1, Flags: PUBLIC + ACTIVE_PLAYER_FIELD_TRACK_CREATURES = PLAYER_END + 0x6A7, // Size: 1, Flags: PUBLIC + ACTIVE_PLAYER_FIELD_TRACK_RESOURCES = PLAYER_END + 0x6A8, // Size: 2, Flags: PUBLIC + ACTIVE_PLAYER_FIELD_EXPERTISE = PLAYER_END + 0x6AA, // Size: 1, Flags: PUBLIC + ACTIVE_PLAYER_FIELD_OFFHAND_EXPERTISE = PLAYER_END + 0x6AB, // Size: 1, Flags: PUBLIC + ACTIVE_PLAYER_FIELD_RANGED_EXPERTISE = PLAYER_END + 0x6AC, // Size: 1, Flags: PUBLIC + ACTIVE_PLAYER_FIELD_COMBAT_RATING_EXPERTISE = PLAYER_END + 0x6AD, // Size: 1, Flags: PUBLIC + ACTIVE_PLAYER_FIELD_BLOCK_PERCENTAGE = PLAYER_END + 0x6AE, // Size: 1, Flags: PUBLIC + ACTIVE_PLAYER_FIELD_DODGE_PERCENTAGE = PLAYER_END + 0x6AF, // Size: 1, Flags: PUBLIC + ACTIVE_PLAYER_FIELD_DODGE_PERCENTAGE_FROM_ATTRIBUTE = PLAYER_END + 0x6B0, // Size: 1, Flags: PUBLIC + ACTIVE_PLAYER_FIELD_PARRY_PERCENTAGE = PLAYER_END + 0x6B1, // Size: 1, Flags: PUBLIC + ACTIVE_PLAYER_FIELD_PARRY_PERCENTAGE_FROM_ATTRIBUTE = PLAYER_END + 0x6B2, // Size: 1, Flags: PUBLIC + ACTIVE_PLAYER_FIELD_CRIT_PERCENTAGE = PLAYER_END + 0x6B3, // Size: 1, Flags: PUBLIC + ACTIVE_PLAYER_FIELD_RANGED_CRIT_PERCENTAGE = PLAYER_END + 0x6B4, // Size: 1, Flags: PUBLIC + ACTIVE_PLAYER_FIELD_OFFHAND_CRIT_PERCENTAGE = PLAYER_END + 0x6B5, // Size: 1, Flags: PUBLIC + ACTIVE_PLAYER_FIELD_SPELL_CRIT_PERCENTAGE1 = PLAYER_END + 0x6B6, // Size: 1, Flags: PUBLIC + ACTIVE_PLAYER_FIELD_SHIELD_BLOCK = PLAYER_END + 0x6B7, // Size: 1, Flags: PUBLIC + ACTIVE_PLAYER_FIELD_SHIELD_BLOCK_CRIT_PERCENTAGE = PLAYER_END + 0x6B8, // Size: 1, Flags: PUBLIC + ACTIVE_PLAYER_FIELD_MASTERY = PLAYER_END + 0x6B9, // Size: 1, Flags: PUBLIC + ACTIVE_PLAYER_FIELD_SPEED = PLAYER_END + 0x6BA, // Size: 1, Flags: PUBLIC + ACTIVE_PLAYER_FIELD_AVOIDANCE = PLAYER_END + 0x6BB, // Size: 1, Flags: PUBLIC + ACTIVE_PLAYER_FIELD_STURDINESS = PLAYER_END + 0x6BC, // Size: 1, Flags: PUBLIC + ACTIVE_PLAYER_FIELD_VERSATILITY = PLAYER_END + 0x6BD, // Size: 1, Flags: PUBLIC + ACTIVE_PLAYER_FIELD_VERSATILITY_BONUS = PLAYER_END + 0x6BE, // Size: 1, Flags: PUBLIC + ACTIVE_PLAYER_FIELD_PVP_POWER_DAMAGE = PLAYER_END + 0x6BF, // Size: 1, Flags: PUBLIC + ACTIVE_PLAYER_FIELD_PVP_POWER_HEALING = PLAYER_END + 0x6C0, // Size: 1, Flags: PUBLIC + ACTIVE_PLAYER_FIELD_EXPLORED_ZONES = PLAYER_END + 0x6C1, // Size: 320, Flags: PUBLIC + ACTIVE_PLAYER_FIELD_REST_INFO = PLAYER_END + 0x801, // Size: 4, Flags: PUBLIC + ACTIVE_PLAYER_FIELD_MOD_DAMAGE_DONE_POS = PLAYER_END + 0x805, // Size: 7, Flags: PUBLIC + ACTIVE_PLAYER_FIELD_MOD_DAMAGE_DONE_NEG = PLAYER_END + 0x80C, // Size: 7, Flags: PUBLIC + ACTIVE_PLAYER_FIELD_MOD_DAMAGE_DONE_PCT = PLAYER_END + 0x813, // Size: 7, Flags: PUBLIC + ACTIVE_PLAYER_FIELD_MOD_HEALING_DONE_POS = PLAYER_END + 0x81A, // Size: 1, Flags: PUBLIC + ACTIVE_PLAYER_FIELD_MOD_HEALING_PCT = PLAYER_END + 0x81B, // Size: 1, Flags: PUBLIC + ACTIVE_PLAYER_FIELD_MOD_HEALING_DONE_PCT = PLAYER_END + 0x81C, // Size: 1, Flags: PUBLIC + ACTIVE_PLAYER_FIELD_MOD_PERIODIC_HEALING_DONE_PERCENT = PLAYER_END + 0x81D, // Size: 1, Flags: PUBLIC + ACTIVE_PLAYER_FIELD_WEAPON_DMG_MULTIPLIERS = PLAYER_END + 0x81E, // Size: 3, Flags: PUBLIC + ACTIVE_PLAYER_FIELD_WEAPON_ATK_SPEED_MULTIPLIERS = PLAYER_END + 0x821, // Size: 3, Flags: PUBLIC + ACTIVE_PLAYER_FIELD_MOD_SPELL_POWER_PCT = PLAYER_END + 0x824, // Size: 1, Flags: PUBLIC + ACTIVE_PLAYER_FIELD_MOD_RESILIENCE_PERCENT = PLAYER_END + 0x825, // Size: 1, Flags: PUBLIC + ACTIVE_PLAYER_FIELD_OVERRIDE_SPELL_POWER_BY_AP_PCT = PLAYER_END + 0x826, // Size: 1, Flags: PUBLIC + ACTIVE_PLAYER_FIELD_OVERRIDE_AP_BY_SPELL_POWER_PERCENT = PLAYER_END + 0x827, // Size: 1, Flags: PUBLIC + ACTIVE_PLAYER_FIELD_MOD_TARGET_RESISTANCE = PLAYER_END + 0x828, // Size: 1, Flags: PUBLIC + ACTIVE_PLAYER_FIELD_MOD_TARGET_PHYSICAL_RESISTANCE = PLAYER_END + 0x829, // Size: 1, Flags: PUBLIC + ACTIVE_PLAYER_FIELD_LOCAL_FLAGS = PLAYER_END + 0x82A, // Size: 1, Flags: PUBLIC + ACTIVE_PLAYER_FIELD_BYTES = PLAYER_END + 0x82B, // Size: 1, Flags: PUBLIC + ACTIVE_PLAYER_FIELD_PVP_MEDALS = PLAYER_END + 0x82C, // Size: 1, Flags: PUBLIC + ACTIVE_PLAYER_FIELD_BUYBACK_PRICE = PLAYER_END + 0x82D, // Size: 12, Flags: PUBLIC + ACTIVE_PLAYER_FIELD_BUYBACK_TIMESTAMP = PLAYER_END + 0x839, // Size: 12, Flags: PUBLIC + ACTIVE_PLAYER_FIELD_KILLS = PLAYER_END + 0x845, // Size: 1, Flags: PUBLIC + ACTIVE_PLAYER_FIELD_LIFETIME_HONORABLE_KILLS = PLAYER_END + 0x846, // Size: 1, Flags: PUBLIC + ACTIVE_PLAYER_FIELD_WATCHED_FACTION_INDEX = PLAYER_END + 0x847, // Size: 1, Flags: PUBLIC + ACTIVE_PLAYER_FIELD_COMBAT_RATING = PLAYER_END + 0x848, // Size: 32, Flags: PUBLIC + ACTIVE_PLAYER_FIELD_ARENA_TEAM_INFO = PLAYER_END + 0x868, // Size: 54, Flags: PUBLIC + ACTIVE_PLAYER_FIELD_MAX_LEVEL = PLAYER_END + 0x89E, // Size: 1, Flags: PUBLIC + ACTIVE_PLAYER_FIELD_SCALING_PLAYER_LEVEL_DELTA = PLAYER_END + 0x89F, // Size: 1, Flags: PUBLIC + ACTIVE_PLAYER_FIELD_MAX_CREATURE_SCALING_LEVEL = PLAYER_END + 0x8A0, // Size: 1, Flags: PUBLIC + ACTIVE_PLAYER_FIELD_NO_REAGENT_COST = PLAYER_END + 0x8A1, // Size: 4, Flags: PUBLIC + ACTIVE_PLAYER_FIELD_PET_SPELL_POWER = PLAYER_END + 0x8A5, // Size: 1, Flags: PUBLIC + ACTIVE_PLAYER_FIELD_PROFESSION_SKILL_LINE = PLAYER_END + 0x8A6, // Size: 2, Flags: PUBLIC + ACTIVE_PLAYER_FIELD_UI_HIT_MODIFIER = PLAYER_END + 0x8A8, // Size: 1, Flags: PUBLIC + ACTIVE_PLAYER_FIELD_UI_SPELL_HIT_MODIFIER = PLAYER_END + 0x8A9, // Size: 1, Flags: PUBLIC + ACTIVE_PLAYER_FIELD_HOME_REALM_TIME_OFFSET = PLAYER_END + 0x8AA, // Size: 1, Flags: PUBLIC + ACTIVE_PLAYER_FIELD_MOD_PET_HASTE = PLAYER_END + 0x8AB, // Size: 1, Flags: PUBLIC + ACTIVE_PLAYER_FIELD_BYTES2 = PLAYER_END + 0x8AC, // Size: 1, Flags: PUBLIC + ACTIVE_PLAYER_FIELD_BYTES3 = PLAYER_END + 0x8AD, // Size: 1, Flags: PUBLIC, URGENT_SELF_ONLY + ACTIVE_PLAYER_FIELD_LFG_BONUS_FACTION_ID = PLAYER_END + 0x8AE, // Size: 1, Flags: PUBLIC + ACTIVE_PLAYER_FIELD_LOOT_SPEC_ID = PLAYER_END + 0x8AF, // Size: 1, Flags: PUBLIC + ACTIVE_PLAYER_FIELD_OVERRIDE_ZONE_PVP_TYPE = PLAYER_END + 0x8B0, // Size: 1, Flags: PUBLIC, URGENT_SELF_ONLY + ACTIVE_PLAYER_FIELD_BAG_SLOT_FLAGS = PLAYER_END + 0x8B1, // Size: 4, Flags: PUBLIC + ACTIVE_PLAYER_FIELD_BANK_BAG_SLOT_FLAGS = PLAYER_END + 0x8B5, // Size: 7, Flags: PUBLIC + ACTIVE_PLAYER_FIELD_INSERT_ITEMS_LEFT_TO_RIGHT = PLAYER_END + 0x8BC, // Size: 1, Flags: PUBLIC + ACTIVE_PLAYER_FIELD_QUEST_COMPLETED = PLAYER_END + 0x8BD, // Size: 1750, Flags: PUBLIC + ACTIVE_PLAYER_FIELD_HONOR = PLAYER_END + 0xF93, // Size: 1, Flags: PUBLIC + ACTIVE_PLAYER_FIELD_HONOR_NEXT_LEVEL = PLAYER_END + 0xF94, // Size: 1, Flags: PUBLIC + ACTIVE_PLAYER_FIELD_PVP_TIER_MAX_FROM_WINS = PLAYER_END + 0xF95, // Size: 1, Flags: PUBLIC + ACTIVE_PLAYER_FIELD_PVP_LAST_WEEKS_TIER_MAX_FROM_WINS = PLAYER_END + 0xF96, // Size: 1, Flags: PUBLIC + ACTIVE_PLAYER_END = PLAYER_END + 0xF97, +}; + +enum ActivePlayerDynamicField +{ + ACTIVE_PLAYER_DYNAMIC_FIELD_RESERACH_SITE = PLAYER_DYNAMIC_END + 0x000, // Flags: PUBLIC + ACTIVE_PLAYER_DYNAMIC_FIELD_RESEARCH_SITE_PROGRESS = PLAYER_DYNAMIC_END + 0x001, // Flags: PUBLIC + ACTIVE_PLAYER_DYNAMIC_FIELD_DAILY_QUESTS = PLAYER_DYNAMIC_END + 0x002, // Flags: PUBLIC + ACTIVE_PLAYER_DYNAMIC_FIELD_AVAILABLE_QUEST_LINE_X_QUEST_ID = PLAYER_DYNAMIC_END + 0x003, // Flags: PUBLIC + ACTIVE_PLAYER_DYNAMIC_FIELD_HEIRLOOMS = PLAYER_DYNAMIC_END + 0x005, // Flags: PUBLIC + ACTIVE_PLAYER_DYNAMIC_FIELD_HEIRLOOM_FLAGS = PLAYER_DYNAMIC_END + 0x006, // Flags: PUBLIC + ACTIVE_PLAYER_DYNAMIC_FIELD_TOYS = PLAYER_DYNAMIC_END + 0x007, // Flags: PUBLIC + ACTIVE_PLAYER_DYNAMIC_FIELD_TRANSMOG = PLAYER_DYNAMIC_END + 0x008, // Flags: PUBLIC + ACTIVE_PLAYER_DYNAMIC_FIELD_CONDITIONAL_TRANSMOG = PLAYER_DYNAMIC_END + 0x009, // Flags: PUBLIC + ACTIVE_PLAYER_DYNAMIC_FIELD_SELF_RES_SPELLS = PLAYER_DYNAMIC_END + 0x00A, // Flags: PUBLIC + ACTIVE_PLAYER_DYNAMIC_FIELD_CHARACTER_RESTRICTIONS = PLAYER_DYNAMIC_END + 0x00B, // Flags: PUBLIC + ACTIVE_PLAYER_DYNAMIC_FIELD_SPELL_PCT_MOD_BY_LABEL = PLAYER_DYNAMIC_END + 0x00C, // Flags: PUBLIC + ACTIVE_PLAYER_DYNAMIC_FIELD_SPELL_FLAT_MOD_BY_LABEL = PLAYER_DYNAMIC_END + 0x00D, // Flags: PUBLIC + ACTIVE_PLAYER_DYNAMIC_FIELD_RESERACH = PLAYER_DYNAMIC_END + 0x00E, // Flags: PUBLIC + ACTIVE_PLAYER_DYNAMIC_END = PLAYER_DYNAMIC_END + 0x00F, }; 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, DYNAMIC, 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, + GAMEOBJECT_FIELD_GUILD_GUID = OBJECT_END + 0x004, // Size: 4, Flags: PUBLIC + GAMEOBJECT_DISPLAYID = OBJECT_END + 0x008, // Size: 1, Flags: DYNAMIC, URGENT + GAMEOBJECT_FLAGS = OBJECT_END + 0x009, // Size: 1, Flags: PUBLIC, URGENT + GAMEOBJECT_PARENTROTATION = OBJECT_END + 0x00A, // Size: 4, Flags: PUBLIC + GAMEOBJECT_FACTION = OBJECT_END + 0x00E, // Size: 1, Flags: PUBLIC + GAMEOBJECT_LEVEL = OBJECT_END + 0x00F, // Size: 1, Flags: PUBLIC + GAMEOBJECT_BYTES_1 = OBJECT_END + 0x010, // Size: 1, Flags: PUBLIC, URGENT + GAMEOBJECT_SPELL_VISUAL_ID = OBJECT_END + 0x011, // Size: 1, Flags: PUBLIC, DYNAMIC, URGENT + GAMEOBJECT_STATE_SPELL_VISUAL_ID = OBJECT_END + 0x012, // Size: 1, Flags: DYNAMIC, URGENT + GAMEOBJECT_STATE_ANIM_ID = OBJECT_END + 0x013, // Size: 1, Flags: DYNAMIC, URGENT + GAMEOBJECT_STATE_ANIM_KIT_ID = OBJECT_END + 0x014, // Size: 1, Flags: DYNAMIC, URGENT + GAMEOBJECT_STATE_WORLD_EFFECT_ID = OBJECT_END + 0x015, // Size: 4, Flags: DYNAMIC, URGENT + GAMEOBJECT_FIELD_CUSTOM_PARAM = OBJECT_END + 0x019, // Size: 1, Flags: PUBLIC, URGENT + GAMEOBJECT_END = OBJECT_END + 0x01A, }; enum GameObjectDynamicFields @@ -372,15 +414,16 @@ 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_FIELD_CUSTOM_DISPLAY_OPTION = OBJECT_END + 0x021, // Size: 1, Flags: PUBLIC - CORPSE_END = OBJECT_END + 0x022, + CORPSE_FIELD_GUILD_GUID = OBJECT_END + 0x008, // Size: 4, Flags: PUBLIC + CORPSE_FIELD_DISPLAY_ID = OBJECT_END + 0x00C, // Size: 1, Flags: PUBLIC + CORPSE_FIELD_ITEM = OBJECT_END + 0x00D, // Size: 19, Flags: PUBLIC + CORPSE_FIELD_BYTES_1 = OBJECT_END + 0x020, // Size: 1, Flags: PUBLIC + CORPSE_FIELD_BYTES_2 = OBJECT_END + 0x021, // Size: 1, Flags: PUBLIC + CORPSE_FIELD_FLAGS = OBJECT_END + 0x022, // Size: 1, Flags: PUBLIC + CORPSE_FIELD_DYNAMIC_FLAGS = OBJECT_END + 0x023, // Size: 1, Flags: DYNAMIC + CORPSE_FIELD_FACTIONTEMPLATE = OBJECT_END + 0x024, // Size: 1, Flags: PUBLIC + CORPSE_FIELD_CUSTOM_DISPLAY_OPTION = OBJECT_END + 0x025, // Size: 1, Flags: PUBLIC + CORPSE_END = OBJECT_END + 0x026, }; enum CorpseDynamicFields diff --git a/src/server/game/Entities/Pet/Pet.cpp b/src/server/game/Entities/Pet/Pet.cpp index aae4cbcb09b..f16f234ef2a 100644 --- a/src/server/game/Entities/Pet/Pet.cpp +++ b/src/server/game/Entities/Pet/Pet.cpp @@ -891,7 +891,7 @@ bool Guardian::InitStatsForLevel(uint8 petlevel) SetPowerType(POWER_ENERGY); else if (IsPetImp() || IsPetFelhunter() || IsPetVoidwalker() || IsPetSuccubus() || IsPetDoomguard() || IsPetFelguard()) // Warlock pets have energy (since 5.x) SetPowerType(POWER_ENERGY); - else + else SetPowerType(POWER_MANA); // Damage @@ -901,8 +901,8 @@ bool Guardian::InitStatsForLevel(uint8 petlevel) case SUMMON_PET: { // the damage bonus used for pets is either fire or shadow damage, whatever is higher - int32 fire = GetOwner()->GetUInt32Value(PLAYER_FIELD_MOD_DAMAGE_DONE_POS + SPELL_SCHOOL_FIRE); - int32 shadow = GetOwner()->GetUInt32Value(PLAYER_FIELD_MOD_DAMAGE_DONE_POS + SPELL_SCHOOL_SHADOW); + int32 fire = GetOwner()->GetUInt32Value(ACTIVE_PLAYER_FIELD_MOD_DAMAGE_DONE_POS + SPELL_SCHOOL_FIRE); + int32 shadow = GetOwner()->GetUInt32Value(ACTIVE_PLAYER_FIELD_MOD_DAMAGE_DONE_POS + SPELL_SCHOOL_SHADOW); int32 val = (fire > shadow) ? fire : shadow; if (val < 0) val = 0; @@ -1780,9 +1780,9 @@ Player* Pet::GetOwner() const return Minion::GetOwner()->ToPlayer(); } -void Pet::SetDisplayId(uint32 modelId) +void Pet::SetDisplayId(uint32 modelId, float displayScale /*= 1.f*/) { - Guardian::SetDisplayId(modelId); + Guardian::SetDisplayId(modelId, displayScale); if (!isControlled()) return; diff --git a/src/server/game/Entities/Pet/Pet.h b/src/server/game/Entities/Pet/Pet.h index e411d2251af..f82c88e6b44 100644 --- a/src/server/game/Entities/Pet/Pet.h +++ b/src/server/game/Entities/Pet/Pet.h @@ -52,7 +52,7 @@ class TC_GAME_API Pet : public Guardian void AddToWorld() override; void RemoveFromWorld() override; - void SetDisplayId(uint32 modelId) override; + void SetDisplayId(uint32 modelId, float displayScale = 1.f) override; PetType getPetType() const { return m_petType; } void setPetType(PetType type) { m_petType = type; } diff --git a/src/server/game/Entities/Player/CollectionMgr.cpp b/src/server/game/Entities/Player/CollectionMgr.cpp index eb4834967ba..6aff0ca300a 100644 --- a/src/server/game/Entities/Player/CollectionMgr.cpp +++ b/src/server/game/Entities/Player/CollectionMgr.cpp @@ -81,14 +81,14 @@ CollectionMgr::~CollectionMgr() void CollectionMgr::LoadToys() { for (auto const& t : _toys) - _owner->GetPlayer()->AddDynamicValue(PLAYER_DYNAMIC_FIELD_TOYS, t.first); + _owner->GetPlayer()->AddDynamicValue(ACTIVE_PLAYER_DYNAMIC_FIELD_TOYS, t.first); } bool CollectionMgr::AddToy(uint32 itemId, bool isFavourite /*= false*/) { if (UpdateAccountToys(itemId, isFavourite)) { - _owner->GetPlayer()->AddDynamicValue(PLAYER_DYNAMIC_FIELD_TOYS, itemId); + _owner->GetPlayer()->AddDynamicValue(ACTIVE_PLAYER_DYNAMIC_FIELD_TOYS, itemId); return true; } @@ -204,8 +204,8 @@ void CollectionMgr::LoadHeirlooms() { for (auto const& item : _heirlooms) { - _owner->GetPlayer()->AddDynamicValue(PLAYER_DYNAMIC_FIELD_HEIRLOOMS, item.first); - _owner->GetPlayer()->AddDynamicValue(PLAYER_DYNAMIC_FIELD_HEIRLOOM_FLAGS, item.second.flags); + _owner->GetPlayer()->AddDynamicValue(ACTIVE_PLAYER_DYNAMIC_FIELD_HEIRLOOMS, item.first); + _owner->GetPlayer()->AddDynamicValue(ACTIVE_PLAYER_DYNAMIC_FIELD_HEIRLOOM_FLAGS, item.second.flags); } } @@ -213,8 +213,8 @@ void CollectionMgr::AddHeirloom(uint32 itemId, uint32 flags) { if (UpdateAccountHeirlooms(itemId, flags)) { - _owner->GetPlayer()->AddDynamicValue(PLAYER_DYNAMIC_FIELD_HEIRLOOMS, itemId); - _owner->GetPlayer()->AddDynamicValue(PLAYER_DYNAMIC_FIELD_HEIRLOOM_FLAGS, flags); + _owner->GetPlayer()->AddDynamicValue(ACTIVE_PLAYER_DYNAMIC_FIELD_HEIRLOOMS, itemId); + _owner->GetPlayer()->AddDynamicValue(ACTIVE_PLAYER_DYNAMIC_FIELD_HEIRLOOM_FLAGS, flags); } } @@ -255,10 +255,10 @@ void CollectionMgr::UpgradeHeirloom(uint32 itemId, int32 castItem) item->AddBonuses(bonusId); // Get heirloom offset to update only one part of dynamic field - std::vector<uint32> const& fields = player->GetDynamicValues(PLAYER_DYNAMIC_FIELD_HEIRLOOMS); + std::vector<uint32> const& fields = player->GetDynamicValues(ACTIVE_PLAYER_DYNAMIC_FIELD_HEIRLOOMS); uint16 offset = uint16(std::find(fields.begin(), fields.end(), itemId) - fields.begin()); - player->SetDynamicValue(PLAYER_DYNAMIC_FIELD_HEIRLOOM_FLAGS, offset, flags); + player->SetDynamicValue(ACTIVE_PLAYER_DYNAMIC_FIELD_HEIRLOOM_FLAGS, offset, flags); itr->second.flags = flags; itr->second.bonusId = bonusId; } @@ -295,11 +295,11 @@ void CollectionMgr::CheckHeirloomUpgrades(Item* item) if (newItemId) { - std::vector<uint32> const& fields = player->GetDynamicValues(PLAYER_DYNAMIC_FIELD_HEIRLOOMS); + std::vector<uint32> const& fields = player->GetDynamicValues(ACTIVE_PLAYER_DYNAMIC_FIELD_HEIRLOOMS); uint16 offset = uint16(std::find(fields.begin(), fields.end(), itr->first) - fields.begin()); - player->SetDynamicValue(PLAYER_DYNAMIC_FIELD_HEIRLOOMS, offset, newItemId); - player->SetDynamicValue(PLAYER_DYNAMIC_FIELD_HEIRLOOM_FLAGS, offset, 0); + player->SetDynamicValue(ACTIVE_PLAYER_DYNAMIC_FIELD_HEIRLOOMS, offset, newItemId); + player->SetDynamicValue(ACTIVE_PLAYER_DYNAMIC_FIELD_HEIRLOOM_FLAGS, offset, 0); _heirlooms.erase(itr); _heirlooms[newItemId] = 0; @@ -460,11 +460,11 @@ void CollectionMgr::LoadItemAppearances() { boost::to_block_range(*_appearances, DynamicBitsetBlockOutputIterator([this](uint32 blockValue) { - _owner->GetPlayer()->AddDynamicValue(PLAYER_DYNAMIC_FIELD_TRANSMOG, blockValue); + _owner->GetPlayer()->AddDynamicValue(ACTIVE_PLAYER_DYNAMIC_FIELD_TRANSMOG, blockValue); })); for (auto itr = _temporaryAppearances.begin(); itr != _temporaryAppearances.end(); ++itr) - _owner->GetPlayer()->AddDynamicValue(PLAYER_DYNAMIC_FIELD_CONDITIONAL_TRANSMOG, itr->first); + _owner->GetPlayer()->AddDynamicValue(ACTIVE_PLAYER_DYNAMIC_FIELD_CONDITIONAL_TRANSMOG, itr->first); } void CollectionMgr::LoadAccountItemAppearances(PreparedQueryResult knownAppearances, PreparedQueryResult favoriteAppearances) @@ -738,18 +738,18 @@ void CollectionMgr::AddItemAppearance(ItemModifiedAppearanceEntry const* itemMod _appearances->resize(itemModifiedAppearance->ID + 1); numBlocks = _appearances->num_blocks() - numBlocks; while (numBlocks--) - _owner->GetPlayer()->AddDynamicValue(PLAYER_DYNAMIC_FIELD_TRANSMOG, 0); + _owner->GetPlayer()->AddDynamicValue(ACTIVE_PLAYER_DYNAMIC_FIELD_TRANSMOG, 0); } _appearances->set(itemModifiedAppearance->ID); uint32 blockIndex = itemModifiedAppearance->ID / 32; uint32 bitIndex = itemModifiedAppearance->ID % 32; - uint32 currentMask = _owner->GetPlayer()->GetDynamicValue(PLAYER_DYNAMIC_FIELD_TRANSMOG, blockIndex); - _owner->GetPlayer()->SetDynamicValue(PLAYER_DYNAMIC_FIELD_TRANSMOG, blockIndex, currentMask | (1 << bitIndex)); + uint32 currentMask = _owner->GetPlayer()->GetDynamicValue(ACTIVE_PLAYER_DYNAMIC_FIELD_TRANSMOG, blockIndex); + _owner->GetPlayer()->SetDynamicValue(ACTIVE_PLAYER_DYNAMIC_FIELD_TRANSMOG, blockIndex, currentMask | (1 << bitIndex)); auto temporaryAppearance = _temporaryAppearances.find(itemModifiedAppearance->ID); if (temporaryAppearance != _temporaryAppearances.end()) { - _owner->GetPlayer()->RemoveDynamicValue(PLAYER_DYNAMIC_FIELD_CONDITIONAL_TRANSMOG, itemModifiedAppearance->ID); + _owner->GetPlayer()->RemoveDynamicValue(ACTIVE_PLAYER_DYNAMIC_FIELD_CONDITIONAL_TRANSMOG, itemModifiedAppearance->ID); _temporaryAppearances.erase(temporaryAppearance); } @@ -770,7 +770,7 @@ void CollectionMgr::AddTemporaryAppearance(ObjectGuid const& itemGuid, ItemModif { std::unordered_set<ObjectGuid>& itemsWithAppearance = _temporaryAppearances[itemModifiedAppearance->ID]; if (itemsWithAppearance.empty()) - _owner->GetPlayer()->AddDynamicValue(PLAYER_DYNAMIC_FIELD_CONDITIONAL_TRANSMOG, itemModifiedAppearance->ID); + _owner->GetPlayer()->AddDynamicValue(ACTIVE_PLAYER_DYNAMIC_FIELD_CONDITIONAL_TRANSMOG, itemModifiedAppearance->ID); itemsWithAppearance.insert(itemGuid); } @@ -788,7 +788,7 @@ void CollectionMgr::RemoveTemporaryAppearance(Item* item) itr->second.erase(item->GetGUID()); if (itr->second.empty()) { - _owner->GetPlayer()->RemoveDynamicValue(PLAYER_DYNAMIC_FIELD_CONDITIONAL_TRANSMOG, itemModifiedAppearance->ID); + _owner->GetPlayer()->RemoveDynamicValue(ACTIVE_PLAYER_DYNAMIC_FIELD_CONDITIONAL_TRANSMOG, itemModifiedAppearance->ID); _temporaryAppearances.erase(itr); } } diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp index 5ec2a72d2ad..f32bfb5d3e2 100644 --- a/src/server/game/Entities/Player/Player.cpp +++ b/src/server/game/Entities/Player/Player.cpp @@ -140,8 +140,8 @@ Player::Player(WorldSession* session) : Unit(true), m_sceneMgr(this) m_objectType |= TYPEMASK_PLAYER; m_objectTypeId = TYPEID_PLAYER; - m_valuesCount = PLAYER_END; - _dynamicValuesCount = PLAYER_DYNAMIC_END; + m_valuesCount = ACTIVE_PLAYER_END; + _dynamicValuesCount = ACTIVE_PLAYER_DYNAMIC_END; m_session = session; @@ -469,7 +469,7 @@ bool Player::Create(ObjectGuid::LowType guidlow, WorldPackets::Character::Charac SetFlag(UNIT_FIELD_FLAGS_2, UNIT_FLAG2_REGENERATE_POWER); SetFloatValue(UNIT_FIELD_HOVERHEIGHT, 1.0f); // default for players in 3.0.3 - SetInt32Value(PLAYER_FIELD_WATCHED_FACTION_INDEX, uint32(-1)); // -1 is default value + SetInt32Value(ACTIVE_PLAYER_FIELD_WATCHED_FACTION_INDEX, uint32(-1)); // -1 is default value SetByteValue(PLAYER_BYTES, PLAYER_BYTES_OFFSET_SKIN_ID, createInfo->Skin); SetByteValue(PLAYER_BYTES, PLAYER_BYTES_OFFSET_FACE_ID, createInfo->Face); @@ -478,23 +478,23 @@ bool Player::Create(ObjectGuid::LowType guidlow, WorldPackets::Character::Charac SetByteValue(PLAYER_BYTES_2, PLAYER_BYTES_2_OFFSET_FACIAL_STYLE, createInfo->FacialHairStyle); for (uint32 i = 0; i < PLAYER_CUSTOM_DISPLAY_SIZE; ++i) SetByteValue(PLAYER_BYTES_2, PLAYER_BYTES_2_OFFSET_CUSTOM_DISPLAY_OPTION + i, createInfo->CustomDisplay[i]); - SetUInt32Value(PLAYER_FIELD_REST_INFO + REST_STATE_XP, (GetSession()->IsARecruiter() || GetSession()->GetRecruiterId() != 0) ? REST_STATE_RAF_LINKED : REST_STATE_NOT_RAF_LINKED); - SetUInt32Value(PLAYER_FIELD_REST_INFO + REST_STATE_HONOR, REST_STATE_NOT_RAF_LINKED); + SetUInt32Value(ACTIVE_PLAYER_FIELD_REST_INFO + REST_STATE_XP, (GetSession()->IsARecruiter() || GetSession()->GetRecruiterId() != 0) ? REST_STATE_RAF_LINKED : REST_STATE_NOT_RAF_LINKED); + SetUInt32Value(ACTIVE_PLAYER_FIELD_REST_INFO + REST_STATE_HONOR, REST_STATE_NOT_RAF_LINKED); SetByteValue(PLAYER_BYTES_3, PLAYER_BYTES_3_OFFSET_GENDER, createInfo->Sex); SetByteValue(PLAYER_BYTES_4, PLAYER_BYTES_4_OFFSET_ARENA_FACTION, 0); SetInventorySlotCount(INVENTORY_DEFAULT_SIZE); - SetGuidValue(OBJECT_FIELD_DATA, ObjectGuid::Empty); + SetGuidValue(UNIT_FIELD_GUILD_GUID, ObjectGuid::Empty); SetUInt32Value(PLAYER_GUILDRANK, 0); SetGuildLevel(0); SetUInt32Value(PLAYER_GUILD_TIMESTAMP, 0); for (int i = 0; i < KNOWN_TITLES_SIZE; ++i) - SetUInt64Value(PLAYER__FIELD_KNOWN_TITLES + i, 0); // 0=disabled + SetUInt64Value(ACTIVE_PLAYER_FIELD_KNOWN_TITLES + i, 0); // 0=disabled SetUInt32Value(PLAYER_CHOSEN_TITLE, 0); - SetUInt32Value(PLAYER_FIELD_KILLS, 0); - SetUInt32Value(PLAYER_FIELD_LIFETIME_HONORABLE_KILLS, 0); + SetUInt32Value(ACTIVE_PLAYER_FIELD_KILLS, 0); + SetUInt32Value(ACTIVE_PLAYER_FIELD_LIFETIME_HONORABLE_KILLS, 0); // set starting level uint32 start_level = sWorld->getIntConfig(CONFIG_START_PLAYER_LEVEL); @@ -528,7 +528,7 @@ bool Player::Create(ObjectGuid::LowType guidlow, WorldPackets::Character::Charac InitRunes(); - SetUInt64Value(PLAYER_FIELD_COINAGE, sWorld->getIntConfig(CONFIG_START_PLAYER_MONEY)); + SetUInt64Value(ACTIVE_PLAYER_FIELD_COINAGE, sWorld->getIntConfig(CONFIG_START_PLAYER_MONEY)); SetCurrency(CURRENCY_TYPE_APEXIS_CRYSTALS, sWorld->getIntConfig(CONFIG_CURRENCY_START_APEXIS_CRYSTALS)); SetCurrency(CURRENCY_TYPE_JUSTICE_POINTS, sWorld->getIntConfig(CONFIG_CURRENCY_START_JUSTICE_POINTS)); @@ -536,7 +536,7 @@ bool Player::Create(ObjectGuid::LowType guidlow, WorldPackets::Character::Charac if (sWorld->getBoolConfig(CONFIG_START_ALL_EXPLORED)) { for (uint16 i=0; i<PLAYER_EXPLORED_ZONES_SIZE; i++) - SetFlag(PLAYER_EXPLORED_ZONES_1+i, 0xFFFFFFFF); + SetFlag(ACTIVE_PLAYER_FIELD_EXPLORED_ZONES+i, 0xFFFFFFFF); } //Reputations if "StartAllReputation" is enabled, -- @todo Fix this in a better way @@ -1404,7 +1404,7 @@ void Player::setDeathState(DeathState s) if (IsAlive() && !oldIsAlive) //clear aura case after resurrection by another way (spells will be applied before next death) - ClearDynamicValue(PLAYER_DYNAMIC_FIELD_SELF_RES_SPELLS); + ClearDynamicValue(ACTIVE_PLAYER_DYNAMIC_FIELD_SELF_RES_SPELLS); } void Player::ToggleAFK() @@ -2331,15 +2331,15 @@ void Player::RemoveFromGroup(Group* group, ObjectGuid guid, RemoveMethod method void Player::SetXP(uint32 xp) { - SetUInt32Value(PLAYER_XP, xp); + SetUInt32Value(ACTIVE_PLAYER_FIELD_XP, xp); int32 playerLevelDelta = 0; // If XP < 50%, player should see scaling creature with -1 level except for level max - if (getLevel() < MAX_LEVEL && xp < (GetUInt32Value(PLAYER_NEXT_LEVEL_XP) / 2)) + if (getLevel() < MAX_LEVEL && xp < (GetUInt32Value(ACTIVE_PLAYER_FIELD_NEXT_LEVEL_XP) / 2)) playerLevelDelta = -1; - SetInt32Value(PLAYER_FIELD_SCALING_PLAYER_LEVEL_DELTA, playerLevelDelta); + SetInt32Value(ACTIVE_PLAYER_FIELD_SCALING_PLAYER_LEVEL_DELTA, playerLevelDelta); } void Player::GiveXP(uint32 xp, Unit* victim, float group_rate) @@ -2382,8 +2382,8 @@ void Player::GiveXP(uint32 xp, Unit* victim, float group_rate) packet.ReferAFriendBonusType = recruitAFriend ? 1 : 0; GetSession()->SendPacket(packet.Write()); - uint32 curXP = GetUInt32Value(PLAYER_XP); - uint32 nextLvlXP = GetUInt32Value(PLAYER_NEXT_LEVEL_XP); + uint32 curXP = GetUInt32Value(ACTIVE_PLAYER_FIELD_XP); + uint32 nextLvlXP = GetUInt32Value(ACTIVE_PLAYER_FIELD_NEXT_LEVEL_XP); uint32 newXP = curXP + xp + bonus_xp; while (newXP >= nextLvlXP && level < sWorld->getIntConfig(CONFIG_MAX_PLAYER_LEVEL)) @@ -2394,7 +2394,7 @@ void Player::GiveXP(uint32 xp, Unit* victim, float group_rate) GiveLevel(level + 1); level = getLevel(); - nextLvlXP = GetUInt32Value(PLAYER_NEXT_LEVEL_XP); + nextLvlXP = GetUInt32Value(ACTIVE_PLAYER_FIELD_NEXT_LEVEL_XP); } SetXP(newXP); @@ -2433,13 +2433,12 @@ void Player::GiveLevel(uint8 level) for (uint8 i = STAT_STRENGTH; i < MAX_STATS; ++i) packet.StatDelta[i] = int32(info.stats[i]) - GetCreateStat(Stats(i)); - uint32 const* rowLevels = (getClass() != CLASS_DEATH_KNIGHT) ? DefaultTalentRowLevels : DKTalentRowLevels; - - packet.Cp = std::find(rowLevels, rowLevels + MAX_TALENT_TIERS, level) != (rowLevels + MAX_TALENT_TIERS); + packet.NumNewTalents = DB2Manager::GetNumTalentsAtLevel(level, Classes(getClass())) - DB2Manager::GetNumTalentsAtLevel(oldLevel, Classes(getClass())); + packet.NumNewPvpTalentSlots = sDB2Manager.GetPvpTalentNumSlotsAtLevel(level, Classes(getClass())) - sDB2Manager.GetPvpTalentNumSlotsAtLevel(oldLevel, Classes(getClass())); GetSession()->SendPacket(packet.Write()); - SetUInt32Value(PLAYER_NEXT_LEVEL_XP, sObjectMgr->GetXPForLevel(level)); + SetUInt32Value(ACTIVE_PLAYER_FIELD_NEXT_LEVEL_XP, sObjectMgr->GetXPForLevel(level)); //update level, max level of skills m_Played_time[PLAYED_TIME_LEVEL] = 0; // Level Played Time reset @@ -2503,8 +2502,8 @@ void Player::GiveLevel(uint8 level) { ++m_grantableLevels; - if (!HasByteFlag(PLAYER_FIELD_BYTES, PLAYER_FIELD_BYTES_OFFSET_RAF_GRANTABLE_LEVEL, 0x01)) - SetByteFlag(PLAYER_FIELD_BYTES, PLAYER_FIELD_BYTES_OFFSET_RAF_GRANTABLE_LEVEL, 0x01); + if (!HasByteFlag(ACTIVE_PLAYER_FIELD_BYTES, PLAYER_FIELD_BYTES_OFFSET_RAF_GRANTABLE_LEVEL, 0x01)) + SetByteFlag(ACTIVE_PLAYER_FIELD_BYTES, PLAYER_FIELD_BYTES_OFFSET_RAF_GRANTABLE_LEVEL, 0x01); } } } @@ -2519,7 +2518,7 @@ void Player::InitTalentForLevel() if (level < MIN_SPECIALIZATION_LEVEL) ResetTalentSpecialization(); - uint32 talentTiers = CalculateTalentsTiers(); + uint32 talentTiers = DB2Manager::GetNumTalentsAtLevel(level, Classes(getClass())); if (level < 15) { // Remove all talent points @@ -2534,7 +2533,7 @@ void Player::InitTalentForLevel() RemoveTalent(talent); } - SetUInt32Value(PLAYER_FIELD_MAX_TALENT_TIERS, talentTiers); + SetUInt32Value(ACTIVE_PLAYER_FIELD_MAX_TALENT_TIERS, talentTiers); if (!GetSession()->PlayerLoading()) SendTalentsInfoData(); // update at client @@ -2551,8 +2550,8 @@ void Player::InitStatsForLevel(bool reapplyMods) PlayerLevelInfo info; sObjectMgr->GetPlayerLevelInfo(getRace(), getClass(), getLevel(), &info); - SetUInt32Value(PLAYER_FIELD_MAX_LEVEL, sWorld->getIntConfig(CONFIG_MAX_PLAYER_LEVEL)); - SetUInt32Value(PLAYER_NEXT_LEVEL_XP, sObjectMgr->GetXPForLevel(getLevel())); + SetUInt32Value(ACTIVE_PLAYER_FIELD_MAX_LEVEL, sWorld->getIntConfig(CONFIG_MAX_PLAYER_LEVEL)); + SetUInt32Value(ACTIVE_PLAYER_FIELD_NEXT_LEVEL_XP, sObjectMgr->GetXPForLevel(getLevel())); // reset before any aura state sources (health set/aura apply) SetUInt32Value(UNIT_FIELD_AURASTATE, 0); @@ -2582,26 +2581,26 @@ void Player::InitStatsForLevel(bool reapplyMods) //set create powers SetCreateMana(basemana); - SetArmor(int32(m_createStats[STAT_AGILITY]*2)); + SetArmor(int32(m_createStats[STAT_AGILITY]*2), 0); InitStatBuffMods(); //reset rating fields values - for (uint16 index = PLAYER_FIELD_COMBAT_RATING_1; index < PLAYER_FIELD_COMBAT_RATING_1 + MAX_COMBAT_RATING; ++index) - SetUInt32Value(index, 0); + for (uint16 index = 0; index < MAX_COMBAT_RATING; ++index) + SetUInt32Value(ACTIVE_PLAYER_FIELD_COMBAT_RATING + index, 0); - SetUInt32Value(PLAYER_FIELD_MOD_HEALING_DONE_POS, 0); - SetFloatValue(PLAYER_FIELD_MOD_HEALING_PCT, 1.0f); - SetFloatValue(PLAYER_FIELD_MOD_HEALING_DONE_PCT, 1.0f); - SetFloatValue(PLAYER_FIELD_MOD_PERIODIC_HEALING_DONE_PERCENT, 1.0f); + SetUInt32Value(ACTIVE_PLAYER_FIELD_MOD_HEALING_DONE_POS, 0); + SetFloatValue(ACTIVE_PLAYER_FIELD_MOD_HEALING_PCT, 1.0f); + SetFloatValue(ACTIVE_PLAYER_FIELD_MOD_HEALING_DONE_PCT, 1.0f); + SetFloatValue(ACTIVE_PLAYER_FIELD_MOD_PERIODIC_HEALING_DONE_PERCENT, 1.0f); for (uint8 i = SPELL_SCHOOL_NORMAL; i < MAX_SPELL_SCHOOL; ++i) { - SetInt32Value(PLAYER_FIELD_MOD_DAMAGE_DONE_NEG + i, 0); - SetInt32Value(PLAYER_FIELD_MOD_DAMAGE_DONE_POS + i, 0); - SetFloatValue(PLAYER_FIELD_MOD_DAMAGE_DONE_PCT + i, 1.00f); + SetInt32Value(ACTIVE_PLAYER_FIELD_MOD_DAMAGE_DONE_NEG + i, 0); + SetInt32Value(ACTIVE_PLAYER_FIELD_MOD_DAMAGE_DONE_POS + i, 0); + SetFloatValue(ACTIVE_PLAYER_FIELD_MOD_DAMAGE_DONE_PCT + i, 1.00f); } - SetFloatValue(PLAYER_FIELD_MOD_SPELL_POWER_PCT, 1.0f); + SetFloatValue(ACTIVE_PLAYER_FIELD_MOD_SPELL_POWER_PCT, 1.0f); //reset attack power, damage and attack speed fields for (uint8 i = BASE_ATTACK; i < MAX_ATTACK; ++i) @@ -2615,8 +2614,8 @@ void Player::InitStatsForLevel(bool reapplyMods) SetFloatValue(UNIT_FIELD_MAXRANGEDDAMAGE, 0.0f); for (uint16 i = 0; i < 3; ++i) { - SetFloatValue(PLAYER_FIELD_WEAPON_DMG_MULTIPLIERS + i, 1.0f); - SetFloatValue(PLAYER_FIELD_WEAPON_ATK_SPEED_MULTIPLIERS + i, 1.0f); + SetFloatValue(ACTIVE_PLAYER_FIELD_WEAPON_DMG_MULTIPLIERS + i, 1.0f); + SetFloatValue(ACTIVE_PLAYER_FIELD_WEAPON_ATK_SPEED_MULTIPLIERS + i, 1.0f); } SetInt32Value(UNIT_FIELD_ATTACK_POWER, 0); @@ -2625,44 +2624,42 @@ void Player::InitStatsForLevel(bool reapplyMods) SetFloatValue(UNIT_FIELD_RANGED_ATTACK_POWER_MULTIPLIER, 0.0f); // Base crit values (will be recalculated in UpdateAllStats() at loading and in _ApplyAllStatBonuses() at reset - SetFloatValue(PLAYER_CRIT_PERCENTAGE, 0.0f); - SetFloatValue(PLAYER_OFFHAND_CRIT_PERCENTAGE, 0.0f); - SetFloatValue(PLAYER_RANGED_CRIT_PERCENTAGE, 0.0f); + SetFloatValue(ACTIVE_PLAYER_FIELD_CRIT_PERCENTAGE, 0.0f); + SetFloatValue(ACTIVE_PLAYER_FIELD_OFFHAND_CRIT_PERCENTAGE, 0.0f); + SetFloatValue(ACTIVE_PLAYER_FIELD_RANGED_CRIT_PERCENTAGE, 0.0f); // Init spell schools (will be recalculated in UpdateAllStats() at loading and in _ApplyAllStatBonuses() at reset - SetFloatValue(PLAYER_SPELL_CRIT_PERCENTAGE1, 0.0f); + SetFloatValue(ACTIVE_PLAYER_FIELD_SPELL_CRIT_PERCENTAGE1, 0.0f); - SetFloatValue(PLAYER_PARRY_PERCENTAGE, 0.0f); - SetFloatValue(PLAYER_BLOCK_PERCENTAGE, 0.0f); + SetFloatValue(ACTIVE_PLAYER_FIELD_PARRY_PERCENTAGE, 0.0f); + SetFloatValue(ACTIVE_PLAYER_FIELD_BLOCK_PERCENTAGE, 0.0f); // Static 30% damage blocked - SetUInt32Value(PLAYER_SHIELD_BLOCK, 30); + SetUInt32Value(ACTIVE_PLAYER_FIELD_SHIELD_BLOCK, 30); // Dodge percentage - SetFloatValue(PLAYER_DODGE_PERCENTAGE, 0.0f); + SetFloatValue(ACTIVE_PLAYER_FIELD_DODGE_PERCENTAGE, 0.0f); // set armor (resistance 0) to original value (create_agility*2) - SetArmor(int32(m_createStats[STAT_AGILITY]*2)); - SetResistanceBuffMods(SPELL_SCHOOL_NORMAL, true, 0.0f); - SetResistanceBuffMods(SPELL_SCHOOL_NORMAL, false, 0.0f); + SetArmor(int32(m_createStats[STAT_AGILITY]*2), 0); + SetBonusResistanceMod(SPELL_SCHOOL_NORMAL, 0); // set other resistance to original value (0) for (uint8 i = SPELL_SCHOOL_HOLY; i < MAX_SPELL_SCHOOL; ++i) { SetResistance(SpellSchools(i), 0); - SetResistanceBuffMods(SpellSchools(i), true, 0.0f); - SetResistanceBuffMods(SpellSchools(i), false, 0.0f); + SetBonusResistanceMod(SpellSchools(i), 0); } - SetUInt32Value(PLAYER_FIELD_MOD_TARGET_RESISTANCE, 0); - SetUInt32Value(PLAYER_FIELD_MOD_TARGET_PHYSICAL_RESISTANCE, 0); + SetUInt32Value(ACTIVE_PLAYER_FIELD_MOD_TARGET_RESISTANCE, 0); + SetUInt32Value(ACTIVE_PLAYER_FIELD_MOD_TARGET_PHYSICAL_RESISTANCE, 0); for (uint8 i = SPELL_SCHOOL_NORMAL; i < MAX_SPELL_SCHOOL; ++i) { SetUInt32Value(UNIT_FIELD_POWER_COST_MODIFIER + i, 0); SetFloatValue(UNIT_FIELD_POWER_COST_MULTIPLIER + i, 0.0f); } // Reset no reagent cost field - for (uint8 i = 0; i < 3; ++i) - SetUInt32Value(PLAYER_NO_REAGENT_COST_1 + i, 0); + for (uint8 i = 0; i < 4; ++i) + SetUInt32Value(ACTIVE_PLAYER_FIELD_NO_REAGENT_COST + i, 0); // Init data for form but skip reapply item mods for form InitDataForForm(reapplyMods); @@ -2694,9 +2691,9 @@ void Player::InitStatsForLevel(bool reapplyMods) RemoveByteFlag(UNIT_FIELD_BYTES_2, UNIT_BYTES_2_OFFSET_PVP_FLAG, UNIT_BYTE2_FLAG_FFA_PVP | UNIT_BYTE2_FLAG_SANCTUARY); // restore if need some important flags - SetByteValue(PLAYER_FIELD_BYTES2, PLAYER_FIELD_BYTES_2_OFFSET_IGNORE_POWER_REGEN_PREDICTION_MASK, 0); - SetByteValue(PLAYER_FIELD_BYTES2, PLAYER_FIELD_BYTES_2_OFFSET_AURA_VISION, 0); - SetByteValue(PLAYER_FIELD_BYTES2, 3, 0); + SetByteValue(ACTIVE_PLAYER_FIELD_BYTES2, PLAYER_FIELD_BYTES_2_OFFSET_IGNORE_POWER_REGEN_PREDICTION_MASK, 0); + SetByteValue(ACTIVE_PLAYER_FIELD_BYTES2, PLAYER_FIELD_BYTES_2_OFFSET_AURA_VISION, 0); + SetByteValue(ACTIVE_PLAYER_FIELD_BYTES2, 3, 0); if (reapplyMods) // reapply stats values only on .reset stats (level) command _ApplyAllStatBonuses(); @@ -3579,9 +3576,6 @@ void Player::ResetPvpTalents() if (!talentInfo) continue; - if (talentInfo->ClassID && talentInfo->ClassID != getClass()) - continue; - RemovePvpTalent(talentInfo); } @@ -4316,7 +4310,7 @@ void Player::KillPlayer() //SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_IN_PVP); SetUInt32Value(OBJECT_DYNAMIC_FLAGS, UNIT_DYNFLAG_NONE); - ApplyModFlag(PLAYER_FIELD_LOCAL_FLAGS, PLAYER_LOCAL_FLAG_RELEASE_TIMER, !sMapStore.LookupEntry(GetMapId())->Instanceable() && !HasAuraType(SPELL_AURA_PREVENT_RESURRECTION)); + ApplyModFlag(ACTIVE_PLAYER_FIELD_LOCAL_FLAGS, PLAYER_LOCAL_FLAG_RELEASE_TIMER, !sMapStore.LookupEntry(GetMapId())->Instanceable() && !HasAuraType(SPELL_AURA_PREVENT_RESURRECTION)); // 6 minutes until repop at graveyard m_deathTimer = 6 * MINUTE * IN_MILLISECONDS; @@ -5011,7 +5005,7 @@ float Player::GetRatingMultiplier(CombatRating cr) const float Player::GetRatingBonusValue(CombatRating cr) const { - float baseResult = float(GetUInt32Value(PLAYER_FIELD_COMBAT_RATING_1 + cr)) * GetRatingMultiplier(cr); + float baseResult = float(GetUInt32Value(ACTIVE_PLAYER_FIELD_COMBAT_RATING + cr)) * GetRatingMultiplier(cr); if (cr != CR_RESILIENCE_PLAYER_DAMAGE) return baseResult; return float(1.0f - pow(0.99f, baseResult)) * 100.0f; @@ -5023,9 +5017,9 @@ float Player::GetExpertiseDodgeOrParryReduction(WeaponAttackType attType) const switch (attType) { case BASE_ATTACK: - return baseExpertise + GetUInt32Value(PLAYER_EXPERTISE) / 4.0f; + return baseExpertise + GetUInt32Value(ACTIVE_PLAYER_FIELD_EXPERTISE) / 4.0f; case OFF_ATTACK: - return baseExpertise + GetUInt32Value(PLAYER_OFFHAND_EXPERTISE) / 4.0f; + return baseExpertise + GetUInt32Value(ACTIVE_PLAYER_FIELD_OFFHAND_EXPERTISE) / 4.0f; default: break; } @@ -5056,8 +5050,8 @@ void Player::UpdateRating(CombatRating cr) if (amount < 0) amount = 0; - uint32 oldRating = GetUInt32Value(PLAYER_FIELD_COMBAT_RATING_1 + cr); - SetUInt32Value(PLAYER_FIELD_COMBAT_RATING_1 + cr, uint32(amount)); + uint32 oldRating = GetUInt32Value(ACTIVE_PLAYER_FIELD_COMBAT_RATING + cr); + SetUInt32Value(ACTIVE_PLAYER_FIELD_COMBAT_RATING + cr, uint32(amount)); bool affectStats = CanModifyStats(); @@ -5192,43 +5186,6 @@ void Player::SetRegularAttackTime() } } -//skill+step, checking for max value -bool Player::UpdateSkill(uint32 skill_id, uint32 step) -{ - if (!skill_id) - return false; - - SkillStatusMap::iterator itr = mSkillStatus.find(skill_id); - if (itr == mSkillStatus.end() || itr->second.uState == SKILL_DELETED) - return false; - - uint16 field = itr->second.pos / 2; - uint8 offset = itr->second.pos & 1; // itr->second.pos % 2 - - 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; - - if (value < max) - { - uint32 new_value = value + step; - if (new_value > max) - new_value = max; - - SetUInt16Value(PLAYER_SKILL_LINEID + SKILL_RANK_OFFSET + field, offset, new_value); - if (itr->second.uState != SKILL_NEW) - itr->second.uState = SKILL_CHANGED; - - UpdateSkillEnchantments(skill_id, value, new_value); - UpdateCriteria(CRITERIA_TYPE_REACH_SKILL_LEVEL, skill_id); - return true; - } - - return false; -} - inline int SkillGainChance(uint32 SkillValue, uint32 GrayLevel, uint32 GreenLevel, uint32 YellowLevel) { if (SkillValue >= GrayLevel) @@ -5249,21 +5206,21 @@ bool Player::UpdateCraftSkill(uint32 spellid) for (SkillLineAbilityMap::const_iterator _spell_idx = bounds.first; _spell_idx != bounds.second; ++_spell_idx) { - if (_spell_idx->second->SkillLine) + if (_spell_idx->second->SkillupSkillLineID) { - uint32 SkillValue = GetPureSkillValue(_spell_idx->second->SkillLine); + uint32 SkillValue = GetPureSkillValue(_spell_idx->second->SkillupSkillLineID); // Alchemy Discoveries here SpellInfo const* spellEntry = sSpellMgr->GetSpellInfo(spellid); if (spellEntry && spellEntry->Mechanic == MECHANIC_DISCOVERY) { - if (uint32 discoveredSpell = GetSkillDiscoverySpell(_spell_idx->second->SkillLine, spellid, this)) + if (uint32 discoveredSpell = GetSkillDiscoverySpell(_spell_idx->second->SkillupSkillLineID, spellid, this)) LearnSpell(discoveredSpell, false); } uint32 craft_skill_gain = _spell_idx->second->NumSkillUps * sWorld->getIntConfig(CONFIG_SKILL_GAIN_CRAFTING); - return UpdateSkillPro(_spell_idx->second->SkillLine, SkillGainChance(SkillValue, + return UpdateSkillPro(_spell_idx->second->SkillupSkillLineID, SkillGainChance(SkillValue, _spell_idx->second->TrivialSkillLineRankHigh, (_spell_idx->second->TrivialSkillLineRankHigh + _spell_idx->second->TrivialSkillLineRankLow)/2, _spell_idx->second->TrivialSkillLineRankLow), @@ -5284,15 +5241,39 @@ bool Player::UpdateGatherSkill(uint32 SkillId, uint32 SkillValue, uint32 RedLeve switch (SkillId) { case SKILL_HERBALISM: + case SKILL_HERBALISM_2: + case SKILL_OUTLAND_HERBALISM: + case SKILL_NORTHREND_HERBALISM: + case SKILL_CATACLYSM_HERBALISM: + case SKILL_PANDARIA_HERBALISM: + case SKILL_DRAENOR_HERBALISM: + case SKILL_LEGION_HERBALISM: + case SKILL_KUL_TIRAN_HERBALISM: case SKILL_JEWELCRAFTING: case SKILL_INSCRIPTION: return UpdateSkillPro(SkillId, SkillGainChance(SkillValue, RedLevel+100, RedLevel+50, RedLevel+25)*Multiplicator, gathering_skill_gain); case SKILL_SKINNING: + case SKILL_SKINNING_2: + case SKILL_OUTLAND_SKINNING: + case SKILL_NORTHREND_SKINNING: + case SKILL_CATACLYSM_SKINNING: + case SKILL_PANDARIA_SKINNING: + case SKILL_DRAENOR_SKINNING: + case SKILL_LEGION_SKINNING: + case SKILL_KUL_TIRAN_SKINNING: if (sWorld->getIntConfig(CONFIG_SKILL_CHANCE_SKINNING_STEPS) == 0) return UpdateSkillPro(SkillId, SkillGainChance(SkillValue, RedLevel+100, RedLevel+50, RedLevel+25)*Multiplicator, gathering_skill_gain); else return UpdateSkillPro(SkillId, (SkillGainChance(SkillValue, RedLevel+100, RedLevel+50, RedLevel+25)*Multiplicator) >> (SkillValue/sWorld->getIntConfig(CONFIG_SKILL_CHANCE_SKINNING_STEPS)), gathering_skill_gain); case SKILL_MINING: + case SKILL_MINING_2: + case SKILL_OUTLAND_MINING: + case SKILL_NORTHREND_MINING: + case SKILL_CATACLYSM_MINING: + case SKILL_PANDARIA_MINING: + case SKILL_DRAENOR_MINING: + case SKILL_LEGION_MINING: + case SKILL_KUL_TIRAN_MINING: if (sWorld->getIntConfig(CONFIG_SKILL_CHANCE_MINING_STEPS) == 0) return UpdateSkillPro(SkillId, SkillGainChance(SkillValue, RedLevel+100, RedLevel+50, RedLevel+25)*Multiplicator, gathering_skill_gain); else @@ -5341,8 +5322,7 @@ bool Player::UpdateSkillPro(uint16 skillId, int32 chance, uint32 step) // levels sync. with spell requirement for skill levels to learn // bonus abilities in sSkillLineAbilityStore // Used only to avoid scan DBC at each skill grow - static uint32 bonusSkillLevels[] = { 75, 150, 225, 300, 375, 450, 525 }; - static const size_t bonusSkillLevelsSize = sizeof(bonusSkillLevels) / sizeof(uint32); + uint32 const bonusSkillLevels[] = { 75, 150, 225, 300, 375, 450, 525, 600, 700, 850 }; TC_LOG_DEBUG("entities.player.skills", "Player::UpdateSkillPro: Player '%s' (%s), SkillID: %u, Chance: %3.1f%%)", GetName().c_str(), GetGUID().ToString().c_str(), skillId, chance / 10.0f); @@ -5363,8 +5343,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_LINEID + SKILL_RANK_OFFSET + field, offset); - uint16 max = GetUInt16Value(PLAYER_SKILL_LINEID + SKILL_MAX_RANK_OFFSET + field, offset); + uint16 value = GetUInt16Value(ACTIVE_PLAYER_FIELD_SKILL_LINEID + SKILL_RANK_OFFSET + field, offset); + uint16 max = GetUInt16Value(ACTIVE_PLAYER_FIELD_SKILL_LINEID + SKILL_MAX_RANK_OFFSET + field, offset); if (!max || !value || value >= max) return false; @@ -5380,13 +5360,12 @@ bool Player::UpdateSkillPro(uint16 skillId, int32 chance, uint32 step) if (new_value > max) new_value = max; - SetUInt16Value(PLAYER_SKILL_LINEID + SKILL_RANK_OFFSET + field, offset, new_value); + SetUInt16Value(ACTIVE_PLAYER_FIELD_SKILL_LINEID + SKILL_RANK_OFFSET + field, offset, new_value); if (itr->second.uState != SKILL_NEW) itr->second.uState = SKILL_CHANGED; - for (size_t i = 0; i < bonusSkillLevelsSize; ++i) + for (uint32 bsl : bonusSkillLevels) { - uint32 bsl = bonusSkillLevels[i]; if (value < bsl && new_value >= bsl) { LearnSkillRewardedSpells(skillId, new_value); @@ -5407,7 +5386,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_LINEID + SKILL_PERM_BONUS_OFFSET : PLAYER_SKILL_LINEID + SKILL_TEMP_BONUS_OFFSET); + uint16 field = itr->second.pos / 2 + (talent ? ACTIVE_PLAYER_FIELD_SKILL_LINEID + SKILL_PERM_BONUS_OFFSET : ACTIVE_PLAYER_FIELD_SKILL_LINEID + SKILL_TEMP_BONUS_OFFSET); uint8 offset = itr->second.pos & 1; // itr->second.pos % 2 uint16 bonus = GetUInt16Value(field, offset); @@ -5436,13 +5415,13 @@ void Player::UpdateSkillsForLevel() { if (!IsWeaponSkill(rcEntry->SkillID)) { - uint16 max = GetUInt16Value(PLAYER_SKILL_LINEID + SKILL_MAX_RANK_OFFSET + field, offset); + uint16 max = GetUInt16Value(ACTIVE_PLAYER_FIELD_SKILL_LINEID + SKILL_MAX_RANK_OFFSET + field, offset); /// update only level dependent max skill values if (max != 1) { - SetUInt16Value(PLAYER_SKILL_LINEID + SKILL_RANK_OFFSET + field, offset, maxSkill); - SetUInt16Value(PLAYER_SKILL_LINEID + SKILL_MAX_RANK_OFFSET + field, offset, maxSkill); + SetUInt16Value(ACTIVE_PLAYER_FIELD_SKILL_LINEID + SKILL_RANK_OFFSET + field, offset, maxSkill); + SetUInt16Value(ACTIVE_PLAYER_FIELD_SKILL_LINEID + SKILL_MAX_RANK_OFFSET + field, offset, maxSkill); if (itr->second.uState != SKILL_NEW) itr->second.uState = SKILL_CHANGED; } @@ -5450,7 +5429,7 @@ void Player::UpdateSkillsForLevel() } // Update level dependent skillline spells - LearnSkillRewardedSpells(rcEntry->SkillID, GetUInt16Value(PLAYER_SKILL_LINEID + SKILL_RANK_OFFSET + field, offset)); + LearnSkillRewardedSpells(rcEntry->SkillID, GetUInt16Value(ACTIVE_PLAYER_FIELD_SKILL_LINEID + SKILL_RANK_OFFSET + field, offset)); } } @@ -5475,11 +5454,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_LINEID + SKILL_MAX_RANK_OFFSET + field, offset); + uint16 max = GetUInt16Value(ACTIVE_PLAYER_FIELD_SKILL_LINEID + SKILL_MAX_RANK_OFFSET + field, offset); if (max > 1) { - SetUInt16Value(PLAYER_SKILL_LINEID + SKILL_RANK_OFFSET + field, offset, max); + SetUInt16Value(ACTIVE_PLAYER_FIELD_SKILL_LINEID + SKILL_RANK_OFFSET + field, offset, max); if (itr->second.uState != SKILL_NEW) itr->second.uState = SKILL_CHANGED; @@ -5502,7 +5481,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_LINEID + SKILL_RANK_OFFSET + field, offset); + currVal = GetUInt16Value(ACTIVE_PLAYER_FIELD_SKILL_LINEID + SKILL_RANK_OFFSET + field, offset); if (newVal) { // if skill value is going down, update enchantments before setting the new value @@ -5510,10 +5489,10 @@ void Player::SetSkill(uint16 id, uint16 step, uint16 newVal, uint16 maxVal) UpdateSkillEnchantments(id, currVal, newVal); // update step - SetUInt16Value(PLAYER_SKILL_LINEID + SKILL_STEP_OFFSET + field, offset, step); + SetUInt16Value(ACTIVE_PLAYER_FIELD_SKILL_LINEID + SKILL_STEP_OFFSET + field, offset, step); // update value - SetUInt16Value(PLAYER_SKILL_LINEID + SKILL_RANK_OFFSET + field, offset, newVal); - SetUInt16Value(PLAYER_SKILL_LINEID + SKILL_MAX_RANK_OFFSET + field, offset, maxVal); + SetUInt16Value(ACTIVE_PLAYER_FIELD_SKILL_LINEID + SKILL_RANK_OFFSET + field, offset, newVal); + SetUInt16Value(ACTIVE_PLAYER_FIELD_SKILL_LINEID + SKILL_MAX_RANK_OFFSET + field, offset, maxVal); if (itr->second.uState != SKILL_NEW) itr->second.uState = SKILL_CHANGED; @@ -5531,12 +5510,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 + 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); + SetUInt16Value(ACTIVE_PLAYER_FIELD_SKILL_LINEID + SKILL_ID_OFFSET + field, offset, 0); + SetUInt16Value(ACTIVE_PLAYER_FIELD_SKILL_LINEID + SKILL_STEP_OFFSET + field, offset, 0); + SetUInt16Value(ACTIVE_PLAYER_FIELD_SKILL_LINEID + SKILL_RANK_OFFSET + field, offset, 0); + SetUInt16Value(ACTIVE_PLAYER_FIELD_SKILL_LINEID + SKILL_MAX_RANK_OFFSET + field, offset, 0); + SetUInt16Value(ACTIVE_PLAYER_FIELD_SKILL_LINEID + SKILL_TEMP_BONUS_OFFSET + field, offset, 0); + SetUInt16Value(ACTIVE_PLAYER_FIELD_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) @@ -5545,16 +5524,19 @@ void Player::SetSkill(uint16 id, uint16 step, uint16 newVal, uint16 maxVal) mSkillStatus.erase(itr); // remove all spells that related to this skill - for (uint32 j = 0; j < sSkillLineAbilityStore.GetNumRows(); ++j) - if (SkillLineAbilityEntry const* pAbility = sSkillLineAbilityStore.LookupEntry(j)) - if (pAbility->SkillLine == id) - RemoveSpell(sSpellMgr->GetFirstSpellInChain(pAbility->Spell)); + if (std::vector<SkillLineAbilityEntry const*> const* skillLineAbilities = sDB2Manager.GetSkillLineAbilitiesBySkill(id)) + for (SkillLineAbilityEntry const* skillLineAbility : *skillLineAbilities) + RemoveSpell(sSpellMgr->GetFirstSpellInChain(skillLineAbility->Spell)); + + for (SkillLineEntry const* childSkillLine : sSkillLineStore) + if (childSkillLine->ParentSkillLineID == id) + SetSkill(childSkillLine->ID, 0, 0, 0); // Clear profession lines - if (GetUInt32Value(PLAYER_PROFESSION_SKILL_LINE_1) == id) - SetUInt32Value(PLAYER_PROFESSION_SKILL_LINE_1, 0); - else if (GetUInt32Value(PLAYER_PROFESSION_SKILL_LINE_1 + 1) == id) - SetUInt32Value(PLAYER_PROFESSION_SKILL_LINE_1 + 1, 0); + if (GetUInt32Value(ACTIVE_PLAYER_FIELD_PROFESSION_SKILL_LINE) == id) + SetUInt32Value(ACTIVE_PLAYER_FIELD_PROFESSION_SKILL_LINE, 0); + else if (GetUInt32Value(ACTIVE_PLAYER_FIELD_PROFESSION_SKILL_LINE + 1) == id) + SetUInt32Value(ACTIVE_PLAYER_FIELD_PROFESSION_SKILL_LINE + 1, 0); } } else if (newVal) //add @@ -5565,7 +5547,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 + SKILL_ID_OFFSET + field, offset)) + if (!GetUInt16Value(ACTIVE_PLAYER_FIELD_SKILL_LINEID + SKILL_ID_OFFSET + field, offset)) { SkillLineEntry const* skillEntry = sSkillLineStore.LookupEntry(id); if (!skillEntry) @@ -5575,18 +5557,30 @@ void Player::SetSkill(uint16 id, uint16 step, uint16 newVal, uint16 maxVal) return; } - SetUInt16Value(PLAYER_SKILL_LINEID + SKILL_ID_OFFSET + field, offset, id); - if (skillEntry->CategoryID == SKILL_CATEGORY_PROFESSION) + if (skillEntry->ParentSkillLineID && skillEntry->ParentTierIndex > 0) { - if (!GetUInt32Value(PLAYER_PROFESSION_SKILL_LINE_1)) - SetUInt32Value(PLAYER_PROFESSION_SKILL_LINE_1, id); - else if (!GetUInt32Value(PLAYER_PROFESSION_SKILL_LINE_1 + 1)) - SetUInt32Value(PLAYER_PROFESSION_SKILL_LINE_1 + 1, id); + if (SkillRaceClassInfoEntry const* rcEntry = sDB2Manager.GetSkillRaceClassInfo(skillEntry->ParentSkillLineID, getRace(), getClass())) + { + if (SkillTiersEntry const* tier = sObjectMgr->GetSkillTier(rcEntry->SkillTierID)) + { + uint16 skillval = GetPureSkillValue(skillEntry->ParentSkillLineID); + SetSkill(skillEntry->ParentSkillLineID, skillEntry->ParentTierIndex, std::max<uint16>(skillval, 1), tier->Value[skillEntry->ParentTierIndex - 1]); + } + } + + if (skillEntry->CategoryID == SKILL_CATEGORY_PROFESSION) + { + int32 freeProfessionSlot = FindProfessionSlotFor(id); + if (freeProfessionSlot != -1) + SetUInt32Value(ACTIVE_PLAYER_FIELD_PROFESSION_SKILL_LINE + freeProfessionSlot, id); + } } - 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); + SetUInt16Value(ACTIVE_PLAYER_FIELD_SKILL_LINEID + SKILL_ID_OFFSET + field, offset, id); + + SetUInt16Value(ACTIVE_PLAYER_FIELD_SKILL_LINEID + SKILL_STEP_OFFSET + field, offset, step); + SetUInt16Value(ACTIVE_PLAYER_FIELD_SKILL_LINEID + SKILL_RANK_OFFSET + field, offset, newVal); + SetUInt16Value(ACTIVE_PLAYER_FIELD_SKILL_LINEID + SKILL_MAX_RANK_OFFSET + field, offset, maxVal); UpdateSkillEnchantments(id, currVal, newVal); UpdateCriteria(CRITERIA_TYPE_REACH_SKILL_LEVEL, id); @@ -5602,8 +5596,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_LINEID + SKILL_TEMP_BONUS_OFFSET + field, offset, 0); - SetUInt16Value(PLAYER_SKILL_LINEID + SKILL_PERM_BONUS_OFFSET + field, offset, 0); + SetUInt16Value(ACTIVE_PLAYER_FIELD_SKILL_LINEID + SKILL_TEMP_BONUS_OFFSET + field, offset, 0); + SetUInt16Value(ACTIVE_PLAYER_FIELD_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) @@ -5646,7 +5640,7 @@ uint16 Player::GetSkillStep(uint16 skill) const if (itr == mSkillStatus.end() || itr->second.uState == SKILL_DELETED) return 0; - return GetUInt16Value(PLAYER_SKILL_LINEID + SKILL_STEP_OFFSET + itr->second.pos / 2, itr->second.pos & 1); + return GetUInt16Value(ACTIVE_PLAYER_FIELD_SKILL_LINEID + SKILL_STEP_OFFSET + itr->second.pos / 2, itr->second.pos & 1); } uint16 Player::GetSkillValue(uint32 skill) const @@ -5661,9 +5655,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_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)); + int32 result = int32(GetUInt16Value(ACTIVE_PLAYER_FIELD_SKILL_LINEID + SKILL_RANK_OFFSET + field, offset)); + result += int32(GetUInt16Value(ACTIVE_PLAYER_FIELD_SKILL_LINEID + SKILL_TEMP_BONUS_OFFSET + field, offset)); + result += int32(GetUInt16Value(ACTIVE_PLAYER_FIELD_SKILL_LINEID + SKILL_PERM_BONUS_OFFSET + field, offset)); return result < 0 ? 0 : result; } @@ -5679,9 +5673,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_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)); + int32 result = int32(GetUInt16Value(ACTIVE_PLAYER_FIELD_SKILL_LINEID + SKILL_MAX_RANK_OFFSET + field, offset)); + result += int32(GetUInt16Value(ACTIVE_PLAYER_FIELD_SKILL_LINEID + SKILL_TEMP_BONUS_OFFSET + field, offset)); + result += int32(GetUInt16Value(ACTIVE_PLAYER_FIELD_SKILL_LINEID + SKILL_PERM_BONUS_OFFSET + field, offset)); return result < 0 ? 0 : result; } @@ -5697,7 +5691,7 @@ uint16 Player::GetPureMaxSkillValue(uint32 skill) const uint16 field = itr->second.pos / 2; uint8 offset = itr->second.pos & 1; - return GetUInt16Value(PLAYER_SKILL_LINEID + SKILL_MAX_RANK_OFFSET + field, offset); + return GetUInt16Value(ACTIVE_PLAYER_FIELD_SKILL_LINEID + SKILL_MAX_RANK_OFFSET + field, offset); } uint16 Player::GetBaseSkillValue(uint32 skill) const @@ -5712,8 +5706,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_LINEID + SKILL_RANK_OFFSET + field, offset)); - result += int32(GetUInt16Value(PLAYER_SKILL_LINEID + SKILL_PERM_BONUS_OFFSET + field, offset)); + int32 result = int32(GetUInt16Value(ACTIVE_PLAYER_FIELD_SKILL_LINEID + SKILL_RANK_OFFSET + field, offset)); + result += int32(GetUInt16Value(ACTIVE_PLAYER_FIELD_SKILL_LINEID + SKILL_PERM_BONUS_OFFSET + field, offset)); return result < 0 ? 0 : result; } @@ -5729,7 +5723,7 @@ uint16 Player::GetPureSkillValue(uint32 skill) const uint16 field = itr->second.pos / 2; uint8 offset = itr->second.pos & 1; - return GetUInt16Value(PLAYER_SKILL_LINEID + SKILL_RANK_OFFSET + field, offset); + return GetUInt16Value(ACTIVE_PLAYER_FIELD_SKILL_LINEID + SKILL_RANK_OFFSET + field, offset); } int16 Player::GetSkillPermBonusValue(uint32 skill) const @@ -5744,7 +5738,7 @@ int16 Player::GetSkillPermBonusValue(uint32 skill) const uint16 field = itr->second.pos / 2; uint8 offset = itr->second.pos & 1; - return GetUInt16Value(PLAYER_SKILL_LINEID + SKILL_PERM_BONUS_OFFSET + field, offset); + return GetUInt16Value(ACTIVE_PLAYER_FIELD_SKILL_LINEID + SKILL_PERM_BONUS_OFFSET + field, offset); } int16 Player::GetSkillTempBonusValue(uint32 skill) const @@ -5759,7 +5753,7 @@ int16 Player::GetSkillTempBonusValue(uint32 skill) const uint16 field = itr->second.pos / 2; uint8 offset = itr->second.pos & 1; - return GetUInt16Value(PLAYER_SKILL_LINEID + SKILL_TEMP_BONUS_OFFSET + field, offset); + return GetUInt16Value(ACTIVE_PLAYER_FIELD_SKILL_LINEID + SKILL_TEMP_BONUS_OFFSET + field, offset); } void Player::SendActionButtons(uint32 state) const @@ -5993,11 +5987,11 @@ void Player::CheckAreaExploreAndOutdoor() } uint32 val = (uint32)(1 << (areaEntry->AreaBit % 32)); - uint32 currFields = GetUInt32Value(PLAYER_EXPLORED_ZONES_1 + offset); + uint32 currFields = GetUInt32Value(ACTIVE_PLAYER_FIELD_EXPLORED_ZONES + offset); if (!(currFields & val)) { - SetUInt32Value(PLAYER_EXPLORED_ZONES_1 + offset, (uint32)(currFields | val)); + SetUInt32Value(ACTIVE_PLAYER_FIELD_EXPLORED_ZONES + offset, (uint32)(currFields | val)); UpdateCriteria(CRITERIA_TYPE_EXPLORE_AREA); @@ -6272,14 +6266,14 @@ void Player::UpdateHonorFields() if (m_lastHonorUpdateTime >= yesterday) { // this is the first update today, reset today's contribution - uint16 killsToday = GetUInt16Value(PLAYER_FIELD_KILLS, PLAYER_FIELD_KILLS_OFFSET_TODAY_KILLS); - SetUInt16Value(PLAYER_FIELD_KILLS, PLAYER_FIELD_KILLS_OFFSET_TODAY_KILLS, 0); - SetUInt16Value(PLAYER_FIELD_KILLS, PLAYER_FIELD_KILLS_OFFSET_YESTERDAY_KILLS, killsToday); + uint16 killsToday = GetUInt16Value(ACTIVE_PLAYER_FIELD_KILLS, PLAYER_FIELD_KILLS_OFFSET_TODAY_KILLS); + SetUInt16Value(ACTIVE_PLAYER_FIELD_KILLS, PLAYER_FIELD_KILLS_OFFSET_TODAY_KILLS, 0); + SetUInt16Value(ACTIVE_PLAYER_FIELD_KILLS, PLAYER_FIELD_KILLS_OFFSET_YESTERDAY_KILLS, killsToday); } else { // no honor/kills yesterday or today, reset - SetUInt32Value(PLAYER_FIELD_KILLS, 0); + SetUInt32Value(ACTIVE_PLAYER_FIELD_KILLS, 0); } } @@ -6363,9 +6357,9 @@ bool Player::RewardHonor(Unit* victim, uint32 groupsize, int32 honor, bool pvpto honor_f = std::ceil(Trinity::Honor::hk_honor_at_level_f(k_level) * (v_level - k_grey) / (k_level - k_grey)); // count the number of playerkills in one day - ApplyModUInt16Value(PLAYER_FIELD_KILLS, PLAYER_FIELD_KILLS_OFFSET_TODAY_KILLS, 1, true); + ApplyModUInt16Value(ACTIVE_PLAYER_FIELD_KILLS, PLAYER_FIELD_KILLS_OFFSET_TODAY_KILLS, 1, true); // and those in a lifetime - ApplyModUInt32Value(PLAYER_FIELD_LIFETIME_HONORABLE_KILLS, 1, true); + ApplyModUInt32Value(ACTIVE_PLAYER_FIELD_LIFETIME_HONORABLE_KILLS, 1, true); UpdateCriteria(CRITERIA_TYPE_EARN_HONORABLE_KILL); UpdateCriteria(CRITERIA_TYPE_HK_CLASS, victim->getClass()); UpdateCriteria(CRITERIA_TYPE_HK_RACE, victim->getRace()); @@ -6443,15 +6437,12 @@ bool Player::RewardHonor(Unit* victim, uint32 groupsize, int32 honor, bool pvpto return true; } -void Player::_InitHonorLevelOnLoadFromDB(uint32 honor, uint32 honorLevel, uint32 prestigeLevel) +void Player::_InitHonorLevelOnLoadFromDB(uint32 honor, uint32 honorLevel) { SetUInt32Value(PLAYER_FIELD_HONOR_LEVEL, honorLevel); - SetUInt32Value(PLAYER_FIELD_PRESTIGE, prestigeLevel); UpdateHonorNextLevel(); AddHonorXP(honor); - if (CanPrestige()) - Prestige(); } void Player::RewardPlayerWithRewardPack(uint32 rewardPackID) @@ -6480,12 +6471,12 @@ void Player::RewardPlayerWithRewardPack(RewardPackEntry const* rewardPackEntry) void Player::AddHonorXP(uint32 xp) { - uint32 currentHonorXP = GetUInt32Value(PLAYER_FIELD_HONOR); - uint32 nextHonorLevelXP = GetUInt32Value(PLAYER_FIELD_HONOR_NEXT_LEVEL); + uint32 currentHonorXP = GetUInt32Value(ACTIVE_PLAYER_FIELD_HONOR); + uint32 nextHonorLevelXP = GetUInt32Value(ACTIVE_PLAYER_FIELD_HONOR_NEXT_LEVEL); uint32 newHonorXP = currentHonorXP + xp; uint32 honorLevel = GetHonorLevel(); - if (xp < 1 || getLevel() < PLAYER_LEVEL_MIN_HONOR || IsMaxHonorLevelAndPrestige()) + if (xp < 1 || getLevel() < PLAYER_LEVEL_MIN_HONOR || IsMaxHonorLevel()) return; while (newHonorXP >= nextHonorLevelXP) @@ -6496,67 +6487,30 @@ void Player::AddHonorXP(uint32 xp) SetHonorLevel(honorLevel + 1); honorLevel = GetHonorLevel(); - nextHonorLevelXP = GetUInt32Value(PLAYER_FIELD_HONOR_NEXT_LEVEL); + nextHonorLevelXP = GetUInt32Value(ACTIVE_PLAYER_FIELD_HONOR_NEXT_LEVEL); } - SetUInt32Value(PLAYER_FIELD_HONOR, IsMaxHonorLevelAndPrestige() ? 0 : newHonorXP); + SetUInt32Value(ACTIVE_PLAYER_FIELD_HONOR, IsMaxHonorLevel() ? 0 : newHonorXP); } void Player::SetHonorLevel(uint8 level) { uint8 oldHonorLevel = GetHonorLevel(); - uint8 prestige = GetPrestigeLevel(); if (level == oldHonorLevel) return; - uint32 rewardPackID = sDB2Manager.GetRewardPackIDForPvpRewardByHonorLevelAndPrestige(level, prestige); - RewardPlayerWithRewardPack(rewardPackID); - SetUInt32Value(PLAYER_FIELD_HONOR_LEVEL, level); UpdateHonorNextLevel(); UpdateCriteria(CRITERIA_TYPE_HONOR_LEVEL_REACHED); - - // This code is here because no link was found between those items and this reward condition in the db2 files. - // Interesting CriteriaTree found: Tree ids: 51140, 51156 (criteria id 31773, modifier tree id 37759) - if (level == 50 && prestige == 1) - { - if (GetTeam() == ALLIANCE) - AddItem(138992, 1); - else - AddItem(138996, 1); - } - - if (CanPrestige()) - Prestige(); -} - -void Player::Prestige() -{ - SetUInt32Value(PLAYER_FIELD_PRESTIGE, GetPrestigeLevel() + 1); - SetUInt32Value(PLAYER_FIELD_HONOR_LEVEL, 1); - UpdateHonorNextLevel(); - - UpdateCriteria(CRITERIA_TYPE_PRESTIGE_REACHED); -} - -bool Player::CanPrestige() const -{ - if (GetSession()->GetExpansion() >= EXPANSION_LEGION && getLevel() >= PLAYER_LEVEL_MIN_HONOR && GetHonorLevel() >= PLAYER_MAX_HONOR_LEVEL && GetPrestigeLevel() < sDB2Manager.GetMaxPrestige()) - return true; - - return false; -} - -bool Player::IsMaxPrestige() const -{ - return GetPrestigeLevel() == sDB2Manager.GetMaxPrestige(); } void Player::UpdateHonorNextLevel() { - uint32 prestige = std::min(static_cast<uint32>(PRESTIGE_COLUMN_COUNT - 1), GetPrestigeLevel()); - SetUInt32Value(PLAYER_FIELD_HONOR_NEXT_LEVEL, sHonorLevelGameTable.GetRow(GetHonorLevel())->Prestige[prestige]); + // 5500 at honor level 1 + // no idea what between here + // 8800 at honor level ~14 (never goes above 8800) + SetUInt32Value(ACTIVE_PLAYER_FIELD_HONOR_NEXT_LEVEL, 8800); } void Player::_LoadCurrency(PreparedQueryResult result) @@ -6897,12 +6851,11 @@ uint32 Player::GetCurrencyTotalCap(CurrencyTypesEntry const* currency) const void Player::SetInGuild(ObjectGuid::LowType guildId) { if (guildId) - SetGuidValue(OBJECT_FIELD_DATA, ObjectGuid::Create<HighGuid::Guild>(guildId)); + SetGuidValue(UNIT_FIELD_GUILD_GUID, ObjectGuid::Create<HighGuid::Guild>(guildId)); else - SetGuidValue(OBJECT_FIELD_DATA, ObjectGuid::Empty); + SetGuidValue(UNIT_FIELD_GUILD_GUID, ObjectGuid::Empty); ApplyModFlag(PLAYER_FLAGS, PLAYER_FLAGS_GUILD_LEVEL_ENABLED, guildId != 0); - SetUInt16Value(OBJECT_FIELD_TYPE, 1, guildId != 0); } ObjectGuid::LowType Player::GetGuildIdFromDB(ObjectGuid guid) @@ -6927,7 +6880,7 @@ uint8 Player::GetRankFromDB(ObjectGuid guid) void Player::SetArenaTeamInfoField(uint8 slot, ArenaTeamInfoType type, uint32 value) { - SetUInt32Value(PLAYER_FIELD_ARENA_TEAM_INFO_1_1 + (slot * ARENA_TEAM_END) + type, value); + SetUInt32Value(ACTIVE_PLAYER_FIELD_ARENA_TEAM_INFO + (slot * ARENA_TEAM_END) + type, value); } void Player::SetInArenaTeam(uint32 ArenaTeamId, uint8 slot, uint8 type) @@ -7516,6 +7469,9 @@ void Player::_ApplyItemBonuses(Item* item, uint8 slot, bool apply) case ITEM_MOD_MASTERY_RATING: ApplyRatingMod(CR_MASTERY, int32(val * combatRatingMultiplier), apply); break; + case ITEM_MOD_EXTRA_ARMOR: + HandleStatModifier(UNIT_MOD_ARMOR, TOTAL_VALUE, float(val), apply); + break; case ITEM_MOD_FIRE_RESISTANCE: HandleStatModifier(UNIT_MOD_RESISTANCE_FIRE, BASE_VALUE, float(val), apply); break; @@ -7597,29 +7553,7 @@ void Player::_ApplyItemBonuses(Item* item, uint8 slot, bool apply) } if (uint32 armor = item->GetArmor(this)) - { - UnitModifierType modType = TOTAL_VALUE; - if (proto->GetClass() == ITEM_CLASS_ARMOR) - { - switch (proto->GetSubClass()) - { - case ITEM_SUBCLASS_ARMOR_CLOTH: - case ITEM_SUBCLASS_ARMOR_LEATHER: - case ITEM_SUBCLASS_ARMOR_MAIL: - case ITEM_SUBCLASS_ARMOR_PLATE: - case ITEM_SUBCLASS_ARMOR_SHIELD: - modType = BASE_VALUE; - break; - } - } - - HandleStatModifier(UNIT_MOD_ARMOR, modType, float(armor), apply); - } - - /* - if (proto->GetArmorDamageModifier() > 0) - HandleStatModifier(UNIT_MOD_ARMOR, TOTAL_VALUE, float(proto->GetArmorDamageModifier()), apply); - */ + HandleStatModifier(UNIT_MOD_ARMOR, BASE_VALUE, float(armor), apply); WeaponAttackType attType = BASE_ATTACK; @@ -9989,7 +9923,7 @@ void Player::SetInventorySlotCount(uint8 slots) } } - SetByteValue(PLAYER_FIELD_BYTES2, PLAYER_FIELD_BYTES_2_OFFSET_NUM_BACKPACK_SLOTS, slots); + SetByteValue(ACTIVE_PLAYER_FIELD_BYTES2, PLAYER_FIELD_BYTES_2_OFFSET_NUM_BACKPACK_SLOTS, slots); } bool Player::HasItemCount(uint32 item, uint32 count, bool inBankAlso) const @@ -11883,7 +11817,7 @@ 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 * 4), pItem->GetGUID()); + SetGuidValue(ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD + (slot * 4), pItem->GetGUID()); pItem->SetGuidValue(ITEM_FIELD_CONTAINED, GetGUID()); pItem->SetOwnerGUID(GetGUID()); @@ -12230,7 +12164,7 @@ void Player::VisualizeItem(uint8 slot, Item* pItem) GetName().c_str(), GetGUID().ToString().c_str(), slot, pItem->GetEntry()); m_items[slot] = pItem; - SetGuidValue(PLAYER_FIELD_INV_SLOT_HEAD + (slot * 4), pItem->GetGUID()); + SetGuidValue(ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD + (slot * 4), pItem->GetGUID()); pItem->SetGuidValue(ITEM_FIELD_CONTAINED, GetGUID()); pItem->SetOwnerGUID(GetGUID()); pItem->SetSlot(slot); @@ -12310,7 +12244,7 @@ void Player::RemoveItem(uint8 bag, uint8 slot, bool update) } m_items[slot] = nullptr; - SetGuidValue(PLAYER_FIELD_INV_SLOT_HEAD + (slot * 4), ObjectGuid::Empty); + SetGuidValue(ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD + (slot * 4), ObjectGuid::Empty); if (slot < EQUIPMENT_SLOT_END) { @@ -12412,7 +12346,7 @@ void Player::DestroyItem(uint8 bag, uint8 slot, bool update) if (bag == INVENTORY_SLOT_BAG_0) { - SetGuidValue(PLAYER_FIELD_INV_SLOT_HEAD + (slot * 4), ObjectGuid::Empty); + SetGuidValue(ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD + (slot * 4), ObjectGuid::Empty); // equipment and equipped bags can have applied bonuses if (slot < INVENTORY_SLOT_BAG_END) @@ -13381,7 +13315,7 @@ void Player::AddItemToBuyBackSlot(Item* pItem) // if current back slot non-empty search oldest or free if (m_items[slot]) { - uint32 oldest_time = GetUInt32Value(PLAYER_FIELD_BUYBACK_TIMESTAMP_1); + uint32 oldest_time = GetUInt32Value(ACTIVE_PLAYER_FIELD_BUYBACK_TIMESTAMP); uint32 oldest_slot = BUYBACK_SLOT_START; for (uint32 i = BUYBACK_SLOT_START+1; i < BUYBACK_SLOT_END; ++i) @@ -13393,7 +13327,7 @@ void Player::AddItemToBuyBackSlot(Item* pItem) break; } - uint32 i_time = GetUInt32Value(PLAYER_FIELD_BUYBACK_TIMESTAMP_1 + i - BUYBACK_SLOT_START); + uint32 i_time = GetUInt32Value(ACTIVE_PLAYER_FIELD_BUYBACK_TIMESTAMP + i - BUYBACK_SLOT_START); if (oldest_time > i_time) { @@ -13415,13 +13349,13 @@ void Player::AddItemToBuyBackSlot(Item* pItem) uint32 etime = uint32(base - m_logintime + (30 * 3600)); uint32 eslot = slot - BUYBACK_SLOT_START; - SetGuidValue(PLAYER_FIELD_INV_SLOT_HEAD + (slot * 4), pItem->GetGUID()); + SetGuidValue(ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD + (slot * 4), pItem->GetGUID()); if (ItemTemplate const* proto = pItem->GetTemplate()) - SetUInt32Value(PLAYER_FIELD_BUYBACK_PRICE_1 + eslot, proto->GetSellPrice() * pItem->GetCount()); + SetUInt32Value(ACTIVE_PLAYER_FIELD_BUYBACK_PRICE + eslot, proto->GetSellPrice() * pItem->GetCount()); else - SetUInt32Value(PLAYER_FIELD_BUYBACK_PRICE_1 + eslot, 0); + SetUInt32Value(ACTIVE_PLAYER_FIELD_BUYBACK_PRICE + eslot, 0); - SetUInt32Value(PLAYER_FIELD_BUYBACK_TIMESTAMP_1 + eslot, (uint32)etime); + SetUInt32Value(ACTIVE_PLAYER_FIELD_BUYBACK_TIMESTAMP + eslot, (uint32)etime); // move to next (for non filled list is move most optimized choice) if (m_currentBuybackSlot < BUYBACK_SLOT_END - 1) @@ -13455,9 +13389,9 @@ void Player::RemoveItemFromBuyBackSlot(uint32 slot, bool del) m_items[slot] = nullptr; uint32 eslot = slot - BUYBACK_SLOT_START; - 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); + SetGuidValue(ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD + (slot * 4), ObjectGuid::Empty); + SetUInt32Value(ACTIVE_PLAYER_FIELD_BUYBACK_PRICE + eslot, 0); + SetUInt32Value(ACTIVE_PLAYER_FIELD_BUYBACK_TIMESTAMP + eslot, 0); // if current backslot is filled set to now free slot if (m_items[m_currentBuybackSlot]) @@ -14648,6 +14582,38 @@ uint32 Player::GetDefaultGossipMenuForSource(WorldObject* source) /*** QUEST SYSTEM ***/ /*********************************************************/ +int32 Player::GetQuestMinLevel(Quest const* quest) const +{ + if (quest->GetQuestLevel() == -1 && quest->GetQuestScalingFactionGroup()) + { + ChrRacesEntry const* race = sChrRacesStore.AssertEntry(getRace()); + FactionTemplateEntry const* raceFaction = sFactionTemplateStore.LookupEntry(race->FactionID); + if (!raceFaction || raceFaction->FactionGroup != quest->GetQuestScalingFactionGroup()) + return quest->GetQuestMaxScalingLevel(); + } + + return quest->GetMinLevel(); +} + +int32 Player::GetQuestLevel(Quest const* quest) const +{ + if (!quest) + return 0; + + if (quest->GetQuestLevel() == -1) + { + int32 minLevel = GetQuestMinLevel(quest); + int32 maxLevel = quest->GetQuestMaxScalingLevel(); + int32 level = getLevel(); + if (level >= minLevel) + return std::min(level, maxLevel); + + return minLevel; + } + + return quest->GetQuestLevel(); +} + void Player::PrepareQuestMenu(ObjectGuid guid) { QuestRelationBounds objectQR; @@ -14815,7 +14781,7 @@ bool Player::CanSeeStartQuest(Quest const* quest) SatisfyQuestPrevChain(quest, false) && SatisfyQuestDay(quest, false) && SatisfyQuestWeek(quest, false) && SatisfyQuestMonth(quest, false) && SatisfyQuestSeasonal(quest, false)) { - return int32(getLevel() + sWorld->getIntConfig(CONFIG_QUEST_HIGH_LEVEL_HIDE_DIFF)) >= quest->GetMinLevel(); + return int32(getLevel() + sWorld->getIntConfig(CONFIG_QUEST_HIGH_LEVEL_HIDE_DIFF)) >= GetQuestMinLevel(quest); } return false; @@ -15241,7 +15207,7 @@ void Player::IncompleteQuest(uint32 quest_id) uint32 Player::GetQuestMoneyReward(Quest const* quest) const { - return quest->MoneyValue(getLevel()) * sWorld->getRate(RATE_MONEY_QUEST); + return quest->MoneyValue(this) * sWorld->getRate(RATE_MONEY_QUEST); } uint32 Player::GetQuestXPReward(Quest const* quest) @@ -15252,7 +15218,7 @@ uint32 Player::GetQuestXPReward(Quest const* quest) if (rewarded && !quest->IsDFQuest()) return 0; - uint32 XP = quest->XPValue(getLevel()) * sWorld->getRate(RATE_XP_QUEST); + uint32 XP = quest->XPValue(this) * sWorld->getRate(RATE_XP_QUEST); // handle SPELL_AURA_MOD_XP_QUEST_PCT auras Unit::AuraEffectList const& ModXPPctAuras = GetAuraEffectsByType(SPELL_AURA_MOD_XP_QUEST_PCT); @@ -15648,7 +15614,7 @@ bool Player::SatisfyQuestSkill(Quest const* qInfo, bool msg) const bool Player::SatisfyQuestLevel(Quest const* qInfo, bool msg) const { - if (getLevel() < qInfo->GetMinLevel()) + if (getLevel() < GetQuestMinLevel(qInfo)) { if (msg) { @@ -16039,7 +16005,7 @@ bool Player::SatisfyQuestDay(Quest const* qInfo, bool /*msg*/) const return true; } - std::vector<uint32> const& dailies = GetDynamicValues(PLAYER_DYNAMIC_FIELD_DAILY_QUESTS); + std::vector<uint32> const& dailies = GetDynamicValues(ACTIVE_PLAYER_DYNAMIC_FIELD_DAILY_QUESTS); for (uint32 dailyQuestId : dailies) if (dailyQuestId == qInfo->GetQuestId()) return false; @@ -16473,7 +16439,7 @@ void Player::SetQuestCompletedBit(uint32 questBit, bool completed) if (fieldOffset >= QUESTS_COMPLETED_BITS_SIZE) return; - ApplyModFlag(PLAYER_FIELD_QUEST_COMPLETED + ((questBit - 1) >> 5), 1 << ((questBit - 1) & 31), completed); + ApplyModFlag(ACTIVE_PLAYER_FIELD_QUEST_COMPLETED + ((questBit - 1) >> 5), 1 << ((questBit - 1) & 31), completed); } void Player::AreaExploredOrEventHappens(uint32 questId) @@ -17377,7 +17343,7 @@ void Player::_LoadDeclinedNames(PreparedQueryResult result) void Player::_LoadArenaTeamInfo(PreparedQueryResult result) { // arenateamid, played_week, played_season, personal_rating - memset((void*)&m_uint32Values[PLAYER_FIELD_ARENA_TEAM_INFO_1_1], 0, sizeof(uint32) * MAX_ARENA_SLOT * ARENA_TEAM_END); + memset((void*)&m_uint32Values[ACTIVE_PLAYER_FIELD_ARENA_TEAM_INFO], 0, sizeof(uint32) * MAX_ARENA_SLOT * ARENA_TEAM_END); uint16 personalRatingCache[] = {0, 0, 0}; @@ -17664,8 +17630,8 @@ bool Player::LoadFromDB(ObjectGuid guid, SQLQueryHolder *holder) SetUInt32Value(UNIT_FIELD_LEVEL, fields[6].GetUInt8()); SetXP(fields[7].GetUInt32()); - _LoadIntoDataField(fields[66].GetString(), PLAYER_EXPLORED_ZONES_1, PLAYER_EXPLORED_ZONES_SIZE); - _LoadIntoDataField(fields[67].GetString(), PLAYER__FIELD_KNOWN_TITLES, KNOWN_TITLES_SIZE * 2); + _LoadIntoDataField(fields[66].GetString(), ACTIVE_PLAYER_FIELD_EXPLORED_ZONES, PLAYER_EXPLORED_ZONES_SIZE); + _LoadIntoDataField(fields[67].GetString(), ACTIVE_PLAYER_FIELD_KNOWN_TITLES, KNOWN_TITLES_SIZE * 2); SetObjectScale(1.0f); SetFloatValue(UNIT_FIELD_HOVERHEIGHT, 1.0f); @@ -17697,7 +17663,7 @@ bool Player::LoadFromDB(ObjectGuid guid, SQLQueryHolder *holder) SetByteValue(PLAYER_BYTES_3, PLAYER_BYTES_3_OFFSET_INEBRIATION, fields[55].GetUInt8()); SetUInt32Value(PLAYER_FLAGS, fields[20].GetUInt32()); SetUInt32Value(PLAYER_FLAGS_EX, fields[21].GetUInt32()); - SetInt32Value(PLAYER_FIELD_WATCHED_FACTION_INDEX, fields[54].GetUInt32()); + SetInt32Value(ACTIVE_PLAYER_FIELD_WATCHED_FACTION_INDEX, fields[54].GetUInt32()); if (!ValidateAppearance( fields[3].GetUInt8(), // race @@ -17715,7 +17681,7 @@ bool Player::LoadFromDB(ObjectGuid guid, SQLQueryHolder *holder) } // set which actionbars the client has active - DO NOT REMOVE EVER AGAIN (can be changed though, if it does change fieldwise) - SetByteValue(PLAYER_FIELD_BYTES, PLAYER_FIELD_BYTES_OFFSET_ACTION_BAR_TOGGLES, fields[68].GetUInt8()); + SetByteValue(ACTIVE_PLAYER_FIELD_BYTES, PLAYER_FIELD_BYTES_OFFSET_ACTION_BAR_TOGGLES, fields[68].GetUInt8()); m_fishingSteps = fields[72].GetUInt8(); @@ -17724,7 +17690,7 @@ bool Player::LoadFromDB(ObjectGuid guid, SQLQueryHolder *holder) // cleanup inventory related item value fields (it will be filled correctly in _LoadInventory) for (uint8 slot = EQUIPMENT_SLOT_START; slot < EQUIPMENT_SLOT_END; ++slot) { - SetGuidValue(PLAYER_FIELD_INV_SLOT_HEAD + (slot * 4), ObjectGuid::Empty); + SetGuidValue(ACTIVE_PLAYER_FIELD_INV_SLOT_HEAD + (slot * 4), ObjectGuid::Empty); SetVisibleItemSlot(slot, nullptr); delete m_items[slot]; @@ -17781,9 +17747,9 @@ bool Player::LoadFromDB(ObjectGuid guid, SQLQueryHolder *holder) } _LoadCurrency(holder->GetPreparedResult(PLAYER_LOGIN_QUERY_LOAD_CURRENCY)); - SetUInt32Value(PLAYER_FIELD_LIFETIME_HONORABLE_KILLS, fields[50].GetUInt32()); - SetUInt16Value(PLAYER_FIELD_KILLS, PLAYER_FIELD_KILLS_OFFSET_TODAY_KILLS, fields[51].GetUInt16()); - SetUInt16Value(PLAYER_FIELD_KILLS, PLAYER_FIELD_KILLS_OFFSET_YESTERDAY_KILLS, fields[52].GetUInt16()); + SetUInt32Value(ACTIVE_PLAYER_FIELD_LIFETIME_HONORABLE_KILLS, fields[50].GetUInt32()); + SetUInt16Value(ACTIVE_PLAYER_FIELD_KILLS, PLAYER_FIELD_KILLS_OFFSET_TODAY_KILLS, fields[51].GetUInt16()); + SetUInt16Value(ACTIVE_PLAYER_FIELD_KILLS, PLAYER_FIELD_KILLS_OFFSET_YESTERDAY_KILLS, fields[52].GetUInt16()); _LoadBoundInstances(holder->GetPreparedResult(PLAYER_LOGIN_QUERY_LOAD_BOUND_INSTANCES)); _LoadInstanceTimeRestrictions(holder->GetPreparedResult(PLAYER_LOGIN_QUERY_LOAD_INSTANCE_LOCK_TIMES)); @@ -18113,14 +18079,14 @@ bool Player::LoadFromDB(ObjectGuid guid, SQLQueryHolder *holder) SetGuidValue(UNIT_FIELD_CHARMEDBY, ObjectGuid::Empty); SetGuidValue(UNIT_FIELD_CHARM, ObjectGuid::Empty); SetGuidValue(UNIT_FIELD_SUMMON, ObjectGuid::Empty); - SetGuidValue(PLAYER_FARSIGHT, ObjectGuid::Empty); + SetGuidValue(ACTIVE_PLAYER_FIELD_FARSIGHT, ObjectGuid::Empty); SetCreatorGUID(ObjectGuid::Empty); RemoveFlag(UNIT_FIELD_FLAGS_2, UNIT_FLAG2_FORCE_MOVEMENT); // reset some aura modifiers before aura apply - SetUInt32Value(PLAYER_TRACK_CREATURES, 0); - SetUInt32Value(PLAYER_TRACK_RESOURCES, 0); + SetUInt32Value(ACTIVE_PLAYER_FIELD_TRACK_CREATURES, 0); + SetUInt32Value(ACTIVE_PLAYER_FIELD_TRACK_RESOURCES, 0); // make sure the unit is considered out of combat for proper loading ClearInCombat(); @@ -18322,7 +18288,7 @@ bool Player::LoadFromDB(ObjectGuid guid, SQLQueryHolder *holder) SetFlag(OBJECT_DYNAMIC_FLAGS, UNIT_DYNFLAG_REFER_A_FRIEND); if (m_grantableLevels > 0) - SetByteValue(PLAYER_FIELD_BYTES, PLAYER_FIELD_BYTES_OFFSET_RAF_GRANTABLE_LEVEL, 0x01); + SetByteValue(ACTIVE_PLAYER_FIELD_BYTES, PLAYER_FIELD_BYTES_OFFSET_RAF_GRANTABLE_LEVEL, 0x01); _LoadDeclinedNames(holder->GetPreparedResult(PLAYER_LOGIN_QUERY_LOAD_DECLINED_NAMES)); @@ -18339,9 +18305,9 @@ bool Player::LoadFromDB(ObjectGuid guid, SQLQueryHolder *holder) holder->GetPreparedResult(PLAYER_LOGIN_QUERY_LOAD_GARRISON_FOLLOWER_ABILITIES))) _garrison = std::move(garrison); - _InitHonorLevelOnLoadFromDB(fields[73].GetUInt32(), fields[74].GetUInt32(), fields[75].GetUInt32()); + _InitHonorLevelOnLoadFromDB(fields[73].GetUInt32(), fields[74].GetUInt32()); - _restMgr->LoadRestBonus(REST_TYPE_HONOR, PlayerRestState(fields[76].GetUInt8()), fields[77].GetFloat()); + _restMgr->LoadRestBonus(REST_TYPE_HONOR, PlayerRestState(fields[75].GetUInt8()), fields[76].GetFloat()); if (time_diff > 0) { //speed collect rest bonus in offline, in logout, far from tavern, city (section/in hour) @@ -18582,7 +18548,7 @@ void Player::LoadCorpse(PreparedQueryResult result) { Field* fields = result->Fetch(); _corpseLocation.WorldRelocate(fields[0].GetUInt16(), fields[1].GetFloat(), fields[2].GetFloat(), fields[3].GetFloat(), fields[4].GetFloat()); - ApplyModFlag(PLAYER_FIELD_LOCAL_FLAGS, PLAYER_LOCAL_FLAG_RELEASE_TIMER, !sMapStore.LookupEntry(_corpseLocation.GetMapId())->Instanceable()); + ApplyModFlag(ACTIVE_PLAYER_FIELD_LOCAL_FLAGS, PLAYER_LOCAL_FLAG_RELEASE_TIMER, !sMapStore.LookupEntry(_corpseLocation.GetMapId())->Instanceable()); } else ResurrectPlayer(0.5f); @@ -19307,7 +19273,7 @@ void Player::_LoadDailyQuestStatus(PreparedQueryResult result) if (!quest) continue; - AddDynamicValue(PLAYER_DYNAMIC_FIELD_DAILY_QUESTS, quest_id); + AddDynamicValue(ACTIVE_PLAYER_DYNAMIC_FIELD_DAILY_QUESTS, quest_id); if (uint32 questBit = sDB2Manager.GetQuestUniqueBitFlag(quest_id)) SetQuestCompletedBit(questBit, true); @@ -19703,7 +19669,7 @@ void Player::SendRaidInfo() { InstanceSave* save = itr->second.save; - WorldPackets::Instance::InstanceLockInfos lockInfos; + WorldPackets::Instance::InstanceLock lockInfos; lockInfos.InstanceID = save->GetInstanceId(); lockInfos.MapID = save->GetMapId(); @@ -19985,7 +19951,7 @@ void Player::SaveToDB(bool create /*=false*/) stmt->setUInt8(index++, getClass()); stmt->setUInt8(index++, GetByteValue(PLAYER_BYTES_3, PLAYER_BYTES_3_OFFSET_GENDER)); // save gender from PLAYER_BYTES_3, UNIT_BYTES_0 changes with every transform effect stmt->setUInt8(index++, getLevel()); - stmt->setUInt32(index++, GetUInt32Value(PLAYER_XP)); + stmt->setUInt32(index++, GetUInt32Value(ACTIVE_PLAYER_FIELD_XP)); stmt->setUInt64(index++, GetMoney()); stmt->setUInt8(index++, GetByteValue(PLAYER_BYTES, PLAYER_BYTES_OFFSET_SKIN_ID)); stmt->setUInt8(index++, GetByteValue(PLAYER_BYTES, PLAYER_BYTES_OFFSET_FACE_ID)); @@ -19996,7 +19962,7 @@ void Player::SaveToDB(bool create /*=false*/) stmt->setUInt8(index++, GetByteValue(PLAYER_BYTES_2, PLAYER_BYTES_2_OFFSET_CUSTOM_DISPLAY_OPTION + i)); stmt->setUInt8(index++, GetInventorySlotCount()); stmt->setUInt8(index++, GetBankBagSlotCount()); - stmt->setUInt8(index++, uint8(GetUInt32Value(PLAYER_FIELD_REST_INFO + REST_STATE_XP))); + stmt->setUInt8(index++, uint8(GetUInt32Value(ACTIVE_PLAYER_FIELD_REST_INFO + REST_STATE_XP))); stmt->setUInt32(index++, GetUInt32Value(PLAYER_FLAGS)); stmt->setUInt32(index++, GetUInt32Value(PLAYER_FLAGS_EX)); stmt->setUInt16(index++, (uint16)GetMapId()); @@ -20041,11 +20007,11 @@ void Player::SaveToDB(bool create /*=false*/) ss << m_taxi.SaveTaxiDestinationsToString(); stmt->setString(index++, ss.str()); - stmt->setUInt32(index++, GetUInt32Value(PLAYER_FIELD_LIFETIME_HONORABLE_KILLS)); - stmt->setUInt16(index++, GetUInt16Value(PLAYER_FIELD_KILLS, PLAYER_FIELD_KILLS_OFFSET_TODAY_KILLS)); - stmt->setUInt16(index++, GetUInt16Value(PLAYER_FIELD_KILLS, PLAYER_FIELD_KILLS_OFFSET_YESTERDAY_KILLS)); + stmt->setUInt32(index++, GetUInt32Value(ACTIVE_PLAYER_FIELD_LIFETIME_HONORABLE_KILLS)); + stmt->setUInt16(index++, GetUInt16Value(ACTIVE_PLAYER_FIELD_KILLS, PLAYER_FIELD_KILLS_OFFSET_TODAY_KILLS)); + stmt->setUInt16(index++, GetUInt16Value(ACTIVE_PLAYER_FIELD_KILLS, PLAYER_FIELD_KILLS_OFFSET_YESTERDAY_KILLS)); stmt->setUInt32(index++, GetUInt32Value(PLAYER_CHOSEN_TITLE)); - stmt->setUInt32(index++, GetUInt32Value(PLAYER_FIELD_WATCHED_FACTION_INDEX)); + stmt->setUInt32(index++, GetUInt32Value(ACTIVE_PLAYER_FIELD_WATCHED_FACTION_INDEX)); stmt->setUInt8(index++, GetDrunkValue()); stmt->setUInt32(index++, GetHealth()); @@ -20071,7 +20037,7 @@ void Player::SaveToDB(bool create /*=false*/) ss.str(""); for (uint32 i = 0; i < PLAYER_EXPLORED_ZONES_SIZE; ++i) - ss << GetUInt32Value(PLAYER_EXPLORED_ZONES_1 + i) << ' '; + ss << GetUInt32Value(ACTIVE_PLAYER_FIELD_EXPLORED_ZONES + i) << ' '; stmt->setString(index++, ss.str()); ss.str(""); @@ -20096,10 +20062,10 @@ void Player::SaveToDB(bool create /*=false*/) ss.str(""); for (uint32 i = 0; i < KNOWN_TITLES_SIZE * 2; ++i) - ss << GetUInt32Value(PLAYER__FIELD_KNOWN_TITLES + i) << ' '; + ss << GetUInt32Value(ACTIVE_PLAYER_FIELD_KNOWN_TITLES + i) << ' '; stmt->setString(index++, ss.str()); - stmt->setUInt8(index++, GetByteValue(PLAYER_FIELD_BYTES, PLAYER_FIELD_BYTES_OFFSET_ACTION_BAR_TOGGLES)); + stmt->setUInt8(index++, GetByteValue(ACTIVE_PLAYER_FIELD_BYTES, PLAYER_FIELD_BYTES_OFFSET_ACTION_BAR_TOGGLES)); stmt->setUInt32(index++, m_grantableLevels); stmt->setUInt32(index++, realm.Build); } @@ -20112,7 +20078,7 @@ void Player::SaveToDB(bool create /*=false*/) stmt->setUInt8(index++, getClass()); stmt->setUInt8(index++, GetByteValue(PLAYER_BYTES_3, PLAYER_BYTES_3_OFFSET_GENDER)); // save gender from PLAYER_BYTES_3, UNIT_BYTES_0 changes with every transform effect stmt->setUInt8(index++, getLevel()); - stmt->setUInt32(index++, GetUInt32Value(PLAYER_XP)); + stmt->setUInt32(index++, GetUInt32Value(ACTIVE_PLAYER_FIELD_XP)); stmt->setUInt64(index++, GetMoney()); stmt->setUInt8(index++, GetByteValue(PLAYER_BYTES, PLAYER_BYTES_OFFSET_SKIN_ID)); stmt->setUInt8(index++, GetByteValue(PLAYER_BYTES, PLAYER_BYTES_OFFSET_FACE_ID)); @@ -20123,7 +20089,7 @@ void Player::SaveToDB(bool create /*=false*/) stmt->setUInt8(index++, GetByteValue(PLAYER_BYTES_2, PLAYER_BYTES_2_OFFSET_CUSTOM_DISPLAY_OPTION + i)); stmt->setUInt8(index++, GetInventorySlotCount()); stmt->setUInt8(index++, GetBankBagSlotCount()); - stmt->setUInt8(index++, uint8(GetUInt32Value(PLAYER_FIELD_REST_INFO + REST_STATE_XP))); + stmt->setUInt8(index++, uint8(GetUInt32Value(ACTIVE_PLAYER_FIELD_REST_INFO + REST_STATE_XP))); stmt->setUInt32(index++, GetUInt32Value(PLAYER_FLAGS)); stmt->setUInt32(index++, GetUInt32Value(PLAYER_FLAGS_EX)); @@ -20185,11 +20151,11 @@ void Player::SaveToDB(bool create /*=false*/) ss << m_taxi.SaveTaxiDestinationsToString(); stmt->setString(index++, ss.str()); - stmt->setUInt32(index++, GetUInt32Value(PLAYER_FIELD_LIFETIME_HONORABLE_KILLS)); - stmt->setUInt16(index++, GetUInt16Value(PLAYER_FIELD_KILLS, PLAYER_FIELD_KILLS_OFFSET_TODAY_KILLS)); - stmt->setUInt16(index++, GetUInt16Value(PLAYER_FIELD_KILLS, PLAYER_FIELD_KILLS_OFFSET_YESTERDAY_KILLS)); + stmt->setUInt32(index++, GetUInt32Value(ACTIVE_PLAYER_FIELD_LIFETIME_HONORABLE_KILLS)); + stmt->setUInt16(index++, GetUInt16Value(ACTIVE_PLAYER_FIELD_KILLS, PLAYER_FIELD_KILLS_OFFSET_TODAY_KILLS)); + stmt->setUInt16(index++, GetUInt16Value(ACTIVE_PLAYER_FIELD_KILLS, PLAYER_FIELD_KILLS_OFFSET_YESTERDAY_KILLS)); stmt->setUInt32(index++, GetUInt32Value(PLAYER_CHOSEN_TITLE)); - stmt->setUInt32(index++, GetUInt32Value(PLAYER_FIELD_WATCHED_FACTION_INDEX)); + stmt->setUInt32(index++, GetUInt32Value(ACTIVE_PLAYER_FIELD_WATCHED_FACTION_INDEX)); stmt->setUInt8(index++, GetDrunkValue()); stmt->setUInt32(index++, GetHealth()); @@ -20215,7 +20181,7 @@ void Player::SaveToDB(bool create /*=false*/) ss.str(""); for (uint32 i = 0; i < PLAYER_EXPLORED_ZONES_SIZE; ++i) - ss << GetUInt32Value(PLAYER_EXPLORED_ZONES_1 + i) << ' '; + ss << GetUInt32Value(ACTIVE_PLAYER_FIELD_EXPLORED_ZONES + i) << ' '; stmt->setString(index++, ss.str()); ss.str(""); @@ -20240,17 +20206,16 @@ void Player::SaveToDB(bool create /*=false*/) ss.str(""); for (uint32 i = 0; i < KNOWN_TITLES_SIZE*2; ++i) - ss << GetUInt32Value(PLAYER__FIELD_KNOWN_TITLES + i) << ' '; + ss << GetUInt32Value(ACTIVE_PLAYER_FIELD_KNOWN_TITLES + i) << ' '; stmt->setString(index++, ss.str()); - stmt->setUInt8(index++, GetByteValue(PLAYER_FIELD_BYTES, PLAYER_FIELD_BYTES_OFFSET_ACTION_BAR_TOGGLES)); + stmt->setUInt8(index++, GetByteValue(ACTIVE_PLAYER_FIELD_BYTES, PLAYER_FIELD_BYTES_OFFSET_ACTION_BAR_TOGGLES)); stmt->setUInt32(index++, m_grantableLevels); stmt->setUInt8(index++, IsInWorld() && !GetSession()->PlayerLogout() ? 1 : 0); - stmt->setUInt32(index++, GetUInt32Value(PLAYER_FIELD_HONOR)); + stmt->setUInt32(index++, GetUInt32Value(ACTIVE_PLAYER_FIELD_HONOR)); stmt->setUInt32(index++, GetHonorLevel()); - stmt->setUInt32(index++, GetPrestigeLevel()); - stmt->setUInt8(index++, uint8(GetUInt32Value(PLAYER_FIELD_REST_INFO + REST_STATE_HONOR))); + stmt->setUInt8(index++, uint8(GetUInt32Value(ACTIVE_PLAYER_FIELD_REST_INFO + REST_STATE_HONOR))); stmt->setFloat(index++, finiteAlways(_restMgr->GetRestBonus(REST_TYPE_HONOR))); stmt->setUInt32(index++, realm.Build); @@ -20821,7 +20786,7 @@ void Player::_SaveDailyQuestStatus(SQLTransaction& trans) stmt->setUInt64(0, GetGUID().GetCounter()); trans->Append(stmt); - std::vector<uint32> const& dailies = GetDynamicValues(PLAYER_DYNAMIC_FIELD_DAILY_QUESTS); + std::vector<uint32> const& dailies = GetDynamicValues(ACTIVE_PLAYER_DYNAMIC_FIELD_DAILY_QUESTS); for (uint32 questId : dailies) { stmt = CharacterDatabase.GetPreparedStatement(CHAR_INS_CHARACTER_QUESTSTATUS_DAILY); @@ -20945,8 +20910,8 @@ void Player::_SaveSkills(SQLTransaction& trans) uint16 field = itr->second.pos / 2; uint8 offset = itr->second.pos & 1; - uint16 value = GetUInt16Value(PLAYER_SKILL_LINEID + SKILL_RANK_OFFSET + field, offset); - uint16 max = GetUInt16Value(PLAYER_SKILL_LINEID + SKILL_MAX_RANK_OFFSET + field, offset); + uint16 value = GetUInt16Value(ACTIVE_PLAYER_FIELD_SKILL_LINEID + SKILL_RANK_OFFSET + field, offset); + uint16 max = GetUInt16Value(ACTIVE_PLAYER_FIELD_SKILL_LINEID + SKILL_MAX_RANK_OFFSET + field, offset); switch (itr->second.uState) { @@ -21040,18 +21005,18 @@ void Player::_SaveStats(SQLTransaction& trans) const stmt->setUInt32(index++, GetStat(Stats(i))); for (int i = 0; i < MAX_SPELL_SCHOOL; ++i) - stmt->setUInt32(index++, GetResistance(SpellSchools(i))); - - stmt->setFloat(index++, GetFloatValue(PLAYER_BLOCK_PERCENTAGE)); - stmt->setFloat(index++, GetFloatValue(PLAYER_DODGE_PERCENTAGE)); - stmt->setFloat(index++, GetFloatValue(PLAYER_PARRY_PERCENTAGE)); - stmt->setFloat(index++, GetFloatValue(PLAYER_CRIT_PERCENTAGE)); - stmt->setFloat(index++, GetFloatValue(PLAYER_RANGED_CRIT_PERCENTAGE)); - stmt->setFloat(index++, GetFloatValue(PLAYER_SPELL_CRIT_PERCENTAGE1)); + stmt->setUInt32(index++, GetResistance(SpellSchools(i)) + GetBonusResistanceMod(SpellSchools(i))); + + stmt->setFloat(index++, GetFloatValue(ACTIVE_PLAYER_FIELD_BLOCK_PERCENTAGE)); + stmt->setFloat(index++, GetFloatValue(ACTIVE_PLAYER_FIELD_DODGE_PERCENTAGE)); + stmt->setFloat(index++, GetFloatValue(ACTIVE_PLAYER_FIELD_PARRY_PERCENTAGE)); + stmt->setFloat(index++, GetFloatValue(ACTIVE_PLAYER_FIELD_CRIT_PERCENTAGE)); + stmt->setFloat(index++, GetFloatValue(ACTIVE_PLAYER_FIELD_RANGED_CRIT_PERCENTAGE)); + stmt->setFloat(index++, GetFloatValue(ACTIVE_PLAYER_FIELD_SPELL_CRIT_PERCENTAGE1)); stmt->setUInt32(index++, GetUInt32Value(UNIT_FIELD_ATTACK_POWER)); stmt->setUInt32(index++, GetUInt32Value(UNIT_FIELD_RANGED_ATTACK_POWER)); stmt->setUInt32(index++, GetBaseSpellPowerBonus()); - stmt->setUInt32(index, GetUInt32Value(PLAYER_FIELD_COMBAT_RATING_1 + CR_RESILIENCE_PLAYER_DAMAGE)); + stmt->setUInt32(index, GetUInt32Value(ACTIVE_PLAYER_FIELD_COMBAT_RATING + CR_RESILIENCE_PLAYER_DAMAGE)); trans->Append(stmt); } @@ -21065,10 +21030,10 @@ void Player::outDebugValues() const TC_LOG_DEBUG("entities.unit", "AGILITY is: \t\t%f\t\tSTRENGTH is: \t\t%f", GetStat(STAT_AGILITY), GetStat(STAT_STRENGTH)); TC_LOG_DEBUG("entities.unit", "INTELLECT is: \t\t%f", GetStat(STAT_INTELLECT)); TC_LOG_DEBUG("entities.unit", "STAMINA is: \t\t%f", GetStat(STAT_STAMINA)); - TC_LOG_DEBUG("entities.unit", "Armor is: \t\t%u\t\tBlock is: \t\t%f", GetArmor(), GetFloatValue(PLAYER_BLOCK_PERCENTAGE)); - TC_LOG_DEBUG("entities.unit", "HolyRes is: \t\t%u\t\tFireRes is: \t\t%u", GetResistance(SPELL_SCHOOL_HOLY), GetResistance(SPELL_SCHOOL_FIRE)); - TC_LOG_DEBUG("entities.unit", "NatureRes is: \t\t%u\t\tFrostRes is: \t\t%u", GetResistance(SPELL_SCHOOL_NATURE), GetResistance(SPELL_SCHOOL_FROST)); - TC_LOG_DEBUG("entities.unit", "ShadowRes is: \t\t%u\t\tArcaneRes is: \t\t%u", GetResistance(SPELL_SCHOOL_SHADOW), GetResistance(SPELL_SCHOOL_ARCANE)); + TC_LOG_DEBUG("entities.unit", "Armor is: \t\t%u\t\tBlock is: \t\t%f", GetArmor(), GetFloatValue(ACTIVE_PLAYER_FIELD_BLOCK_PERCENTAGE)); + TC_LOG_DEBUG("entities.unit", "HolyRes is: \t\t%u\t\tFireRes is: \t\t%u", GetResistance(SPELL_SCHOOL_MASK_HOLY), GetResistance(SPELL_SCHOOL_MASK_FIRE)); + TC_LOG_DEBUG("entities.unit", "NatureRes is: \t\t%u\t\tFrostRes is: \t\t%u", GetResistance(SPELL_SCHOOL_MASK_NATURE), GetResistance(SPELL_SCHOOL_MASK_FROST)); + TC_LOG_DEBUG("entities.unit", "ShadowRes is: \t\t%u\t\tArcaneRes is: \t\t%u", GetResistance(SPELL_SCHOOL_MASK_SHADOW), GetResistance(SPELL_SCHOOL_MASK_ARCANE)); TC_LOG_DEBUG("entities.unit", "MIN_DAMAGE is: \t\t%f\tMAX_DAMAGE is: \t\t%f", GetFloatValue(UNIT_FIELD_MINDAMAGE), GetFloatValue(UNIT_FIELD_MAXDAMAGE)); TC_LOG_DEBUG("entities.unit", "MIN_OFFHAND_DAMAGE is: \t%f\tMAX_OFFHAND_DAMAGE is: \t%f", GetFloatValue(UNIT_FIELD_MINOFFHANDDAMAGE), GetFloatValue(UNIT_FIELD_MAXOFFHANDDAMAGE)); TC_LOG_DEBUG("entities.unit", "MIN_RANGED_DAMAGE is: \t%f\tMAX_RANGED_DAMAGE is: \t%f", GetFloatValue(UNIT_FIELD_MINRANGEDDAMAGE), GetFloatValue(UNIT_FIELD_MAXRANGEDDAMAGE)); @@ -22392,6 +22357,8 @@ void Player::InitDisplayIds() default: TC_LOG_ERROR("entities.player", "Player::InitDisplayIds: Player '%s' (%s) has invalid gender %u", GetName().c_str(), GetGUID().ToString().c_str(), gender); } + + SetUInt32Value(UNIT_FIELD_STATE_ANIM_ID, sAnimationDataStore.GetNumRows()); } inline bool Player::_StoreOrEquipNewItem(uint32 vendorslot, uint32 item, uint8 count, uint8 bag, uint8 slot, int64 price, ItemTemplate const* pProto, Creature* pVendor, VendorItem const* crItem, bool bStore) @@ -23303,7 +23270,7 @@ bool Player::CanAlwaysSee(WorldObject const* obj) const if (m_unitMovedByMe == obj) return true; - ObjectGuid guid = GetGuidValue(PLAYER_FARSIGHT); + ObjectGuid guid = GetGuidValue(ACTIVE_PLAYER_FIELD_FARSIGHT); if (!guid.IsEmpty()) if (obj->GetGUID() == guid) return true; @@ -23575,7 +23542,7 @@ bool Player::HasEnoughMoney(int64 amount) const void Player::SetMoney(uint64 value) { - SetUInt64Value(PLAYER_FIELD_COINAGE, value); + SetUInt64Value(ACTIVE_PLAYER_FIELD_COINAGE, value); MoneyChanged(value); UpdateCriteria(CRITERIA_TYPE_HIGHEST_GOLD_VALUE_OWNED); } @@ -24063,19 +24030,15 @@ void Player::LearnDefaultSkill(SkillRaceClassInfoEntry const* rcInfo) break; case SKILL_RANGE_RANK: { - uint16 rank = 1; - if (getClass() == CLASS_DEATH_KNIGHT && skillId == SKILL_FIRST_AID) - rank = 4; - SkillTiersEntry const* tier = sObjectMgr->GetSkillTier(rcInfo->SkillTierID); - uint16 maxValue = tier->Value[std::max<int32>(rank - 1, 0)]; + uint16 maxValue = tier->Value[0]; uint16 skillValue = 1; if (rcInfo->Flags & SKILL_FLAG_ALWAYS_MAX_VALUE) skillValue = maxValue; else if (getClass() == CLASS_DEATH_KNIGHT) skillValue = std::min(std::max(uint16(1), uint16((getLevel() - 1) * 5)), maxValue); - SetSkill(skillId, rank, skillValue, maxValue); + SetSkill(skillId, 1, skillValue, maxValue); break; } default: @@ -24154,12 +24117,12 @@ void Player::LearnSkillRewardedSpells(uint32 skillId, uint32 skillValue) { uint64 raceMask = getRaceMask(); uint32 classMask = getClassMask(); - for (uint32 j = 0; j < sSkillLineAbilityStore.GetNumRows(); ++j) - { - SkillLineAbilityEntry const* ability = sSkillLineAbilityStore.LookupEntry(j); - if (!ability || ability->SkillLine != int32(skillId)) - continue; + std::vector<SkillLineAbilityEntry const*> const* skillLineAbilities = sDB2Manager.GetSkillLineAbilitiesBySkill(skillId); + if (!skillLineAbilities) + return; + for (SkillLineAbilityEntry const* ability : *skillLineAbilities) + { SpellInfo const* spellInfo = sSpellMgr->GetSpellInfo(ability->Spell); if (!spellInfo) continue; @@ -24194,6 +24157,42 @@ void Player::LearnSkillRewardedSpells(uint32 skillId, uint32 skillValue) } } +int32 Player::FindProfessionSlotFor(uint32 skillId) const +{ + SkillLineEntry const* skillEntry = sSkillLineStore.LookupEntry(skillId); + if (!skillEntry) + return -1; + + uint32 constexpr professionSlots = 2; + uint32 const* professionsBegin = &m_uint32Values[ACTIVE_PLAYER_FIELD_PROFESSION_SKILL_LINE]; + uint32 const* professionsEnd = professionsBegin + professionSlots; + + // both free, return first slot + if (std::none_of(professionsBegin, professionsEnd, [](uint32 slot) { return slot != 0; })) + return 0; + + // when any slot is filled we need to check both - one of them might be earlier step of the same profession + auto sameProfessionSlot = std::find_if(professionsBegin, professionsEnd, [&](uint32 slot) + { + if (SkillLineEntry const* slotProfession = sSkillLineStore.LookupEntry(slot)) + if (slotProfession->ParentSkillLineID == skillEntry->ParentSkillLineID) + return true; + return false; + }); + + if (sameProfessionSlot != professionsEnd) + { + if (sSkillLineStore.AssertEntry(*sameProfessionSlot)->ParentTierIndex < skillEntry->ParentTierIndex) + return std::distance(professionsBegin, sameProfessionSlot); + + return -1; + } + + // if there is no same profession, find any free slot + auto freeSlot = std::find(professionsBegin, professionsEnd, 0u); + return freeSlot != professionsEnd ? std::distance(professionsBegin, freeSlot) : -1; +} + void Player::SendAurasForTarget(Unit* target) const { if (!target || target->GetVisibleAuras().empty()) // speedup things @@ -24222,7 +24221,7 @@ void Player::SetDailyQuestStatus(uint32 quest_id) { if (!qQuest->IsDFQuest()) { - AddDynamicValue(PLAYER_DYNAMIC_FIELD_DAILY_QUESTS, quest_id); + AddDynamicValue(ACTIVE_PLAYER_DYNAMIC_FIELD_DAILY_QUESTS, quest_id); m_lastDailyQuestTime = time(nullptr); // last daily quest time m_DailyQuestChanged = true; } @@ -24240,7 +24239,7 @@ bool Player::IsDailyQuestDone(uint32 quest_id) bool found = false; if (sObjectMgr->GetQuestTemplate(quest_id)) { - std::vector<uint32> const& dailies = GetDynamicValues(PLAYER_DYNAMIC_FIELD_DAILY_QUESTS); + std::vector<uint32> const& dailies = GetDynamicValues(ACTIVE_PLAYER_DYNAMIC_FIELD_DAILY_QUESTS); for (uint32 dailyQuestId : dailies) { if (dailyQuestId == quest_id) @@ -24278,15 +24277,15 @@ void Player::SetMonthlyQuestStatus(uint32 quest_id) void Player::DailyReset() { - for (uint32 questId : GetDynamicValues(PLAYER_DYNAMIC_FIELD_DAILY_QUESTS)) + for (uint32 questId : GetDynamicValues(ACTIVE_PLAYER_DYNAMIC_FIELD_DAILY_QUESTS)) if (uint32 questBit = sDB2Manager.GetQuestUniqueBitFlag(questId)) SetQuestCompletedBit(questBit, false); WorldPackets::Quest::DailyQuestsReset dailyQuestsReset; - dailyQuestsReset.Count = int32(GetDynamicValues(PLAYER_DYNAMIC_FIELD_DAILY_QUESTS).size()); + dailyQuestsReset.Count = int32(GetDynamicValues(ACTIVE_PLAYER_DYNAMIC_FIELD_DAILY_QUESTS).size()); SendDirectMessage(dailyQuestsReset.Write()); - ClearDynamicValue(PLAYER_DYNAMIC_FIELD_DAILY_QUESTS); + ClearDynamicValue(ACTIVE_PLAYER_DYNAMIC_FIELD_DAILY_QUESTS); m_DFQuests.clear(); // Dungeon Finder Quests. @@ -24506,7 +24505,7 @@ Player* Player::GetTrader() const bool Player::IsSpellFitByClassAndRace(uint32 spell_id) const { - uint32 racemask = getRaceMask(); + uint64 racemask = getRaceMask(); uint32 classmask = getClassMask(); SkillLineAbilityMapBounds bounds = sSpellMgr->GetSkillLineAbilityMapBounds(spell_id); @@ -24801,10 +24800,10 @@ bool Player::CanNoReagentCast(SpellInfo const* spellInfo) const // Check no reagent use mask flag128 noReagentMask; - noReagentMask[0] = GetUInt32Value(PLAYER_NO_REAGENT_COST_1); - noReagentMask[1] = GetUInt32Value(PLAYER_NO_REAGENT_COST_1 + 1); - noReagentMask[2] = GetUInt32Value(PLAYER_NO_REAGENT_COST_1 + 2); - noReagentMask[3] = GetUInt32Value(PLAYER_NO_REAGENT_COST_1 + 3); + noReagentMask[0] = GetUInt32Value(ACTIVE_PLAYER_FIELD_NO_REAGENT_COST); + noReagentMask[1] = GetUInt32Value(ACTIVE_PLAYER_FIELD_NO_REAGENT_COST + 1); + noReagentMask[2] = GetUInt32Value(ACTIVE_PLAYER_FIELD_NO_REAGENT_COST + 2); + noReagentMask[3] = GetUInt32Value(ACTIVE_PLAYER_FIELD_NO_REAGENT_COST + 3); if (spellInfo->SpellFamilyFlags & noReagentMask) return true; @@ -24845,7 +24844,7 @@ void Player::RemoveItemDependentAurasAndCasts(Item* pItem) void Player::InitializeSelfResurrectionSpells() { - ClearDynamicValue(PLAYER_DYNAMIC_FIELD_SELF_RES_SPELLS); + ClearDynamicValue(ACTIVE_PLAYER_DYNAMIC_FIELD_SELF_RES_SPELLS); uint32 spells[3] = { }; @@ -24866,7 +24865,7 @@ void Player::InitializeSelfResurrectionSpells() for (uint32 selfResSpell : spells) if (selfResSpell) - AddDynamicValue(PLAYER_DYNAMIC_FIELD_SELF_RES_SPELLS, selfResSpell); + AddDynamicValue(ACTIVE_PLAYER_DYNAMIC_FIELD_SELF_RES_SPELLS, selfResSpell); } // Used in triggers for check "Only to targets that grant experience or honor" req @@ -25439,7 +25438,7 @@ void Player::SetViewpoint(WorldObject* target, bool apply) TC_LOG_DEBUG("maps", "Player::CreateViewpoint: Player '%s' (%s) creates seer (Entry: %u, TypeId: %u).", GetName().c_str(), GetGUID().ToString().c_str(), target->GetEntry(), target->GetTypeId()); - if (!AddGuidValue(PLAYER_FARSIGHT, target->GetGUID())) + if (!AddGuidValue(ACTIVE_PLAYER_FIELD_FARSIGHT, target->GetGUID())) { TC_LOG_FATAL("entities.player", "Player::CreateViewpoint: Player '%s' (%s) cannot add new viewpoint!", GetName().c_str(), GetGUID().ToString().c_str()); return; @@ -25456,7 +25455,7 @@ void Player::SetViewpoint(WorldObject* target, bool apply) { TC_LOG_DEBUG("maps", "Player::CreateViewpoint: Player %s removed seer", GetName().c_str()); - if (!RemoveGuidValue(PLAYER_FARSIGHT, target->GetGUID())) + if (!RemoveGuidValue(ACTIVE_PLAYER_FIELD_FARSIGHT, target->GetGUID())) { TC_LOG_FATAL("entities.player", "Player::CreateViewpoint: Player '%s' (%s) cannot remove current viewpoint!", GetName().c_str(), GetGUID().ToString().c_str()); return; @@ -25475,7 +25474,7 @@ void Player::SetViewpoint(WorldObject* target, bool apply) WorldObject* Player::GetViewpoint() const { - ObjectGuid guid = GetGuidValue(PLAYER_FARSIGHT); + ObjectGuid guid = GetGuidValue(ACTIVE_PLAYER_FIELD_FARSIGHT); if (!guid.IsEmpty()) return static_cast<WorldObject*>(ObjectAccessor::GetObjectByTypeMask(*this, guid, TYPEMASK_SEER)); return nullptr; @@ -25577,7 +25576,7 @@ bool Player::HasTitle(uint32 bitIndex) const uint32 fieldIndexOffset = bitIndex / 32; uint32 flag = 1 << (bitIndex % 32); - return HasFlag(PLAYER__FIELD_KNOWN_TITLES + fieldIndexOffset, flag); + return HasFlag(ACTIVE_PLAYER_FIELD_KNOWN_TITLES + fieldIndexOffset, flag); } bool Player::HasTitle(CharTitlesEntry const* title) const @@ -25592,17 +25591,17 @@ void Player::SetTitle(CharTitlesEntry const* title, bool lost) if (lost) { - if (!HasFlag(PLAYER__FIELD_KNOWN_TITLES + fieldIndexOffset, flag)) + if (!HasFlag(ACTIVE_PLAYER_FIELD_KNOWN_TITLES + fieldIndexOffset, flag)) return; - RemoveFlag(PLAYER__FIELD_KNOWN_TITLES + fieldIndexOffset, flag); + RemoveFlag(ACTIVE_PLAYER_FIELD_KNOWN_TITLES + fieldIndexOffset, flag); } else { - if (HasFlag(PLAYER__FIELD_KNOWN_TITLES + fieldIndexOffset, flag)) + if (HasFlag(ACTIVE_PLAYER_FIELD_KNOWN_TITLES + fieldIndexOffset, flag)) return; - SetFlag(PLAYER__FIELD_KNOWN_TITLES + fieldIndexOffset, flag); + SetFlag(ACTIVE_PLAYER_FIELD_KNOWN_TITLES + fieldIndexOffset, flag); } WorldPackets::Character::TitleEarned packet(lost ? SMSG_TITLE_LOST : SMSG_TITLE_EARNED); @@ -25834,7 +25833,6 @@ void Player::_LoadSkills(PreparedQueryResult result) // SetPQuery(PLAYER_LOGIN_QUERY_LOADSKILLS, "SELECT skill, value, max FROM character_skills WHERE guid = '%u'", GUID_LOPART(m_guid)); uint32 count = 0; - uint8 professionCount = 0; std::unordered_map<uint32, uint32> loadedSkillValues; if (result) { @@ -25888,7 +25886,7 @@ void Player::_LoadSkills(PreparedQueryResult result) uint16 field = count / 2; uint8 offset = count & 1; - SetUInt16Value(PLAYER_SKILL_LINEID + SKILL_ID_OFFSET + field, offset, skill); + SetUInt16Value(ACTIVE_PLAYER_FIELD_SKILL_LINEID + SKILL_ID_OFFSET + field, offset, skill); uint16 step = 0; SkillLineEntry const* skillLine = sSkillLineStore.LookupEntry(rcEntry->SkillID); @@ -25901,16 +25899,20 @@ void Player::_LoadSkills(PreparedQueryResult result) { step = max / 75; - if (professionCount < 2) - SetUInt32Value(PLAYER_PROFESSION_SKILL_LINE_1 + professionCount++, skill); + if (skillLine->ParentSkillLineID && skillLine->ParentTierIndex) + { + int32 professionSlot = FindProfessionSlotFor(skill); + if (professionSlot != -1) + SetUInt32Value(ACTIVE_PLAYER_FIELD_PROFESSION_SKILL_LINE + professionSlot, skill); + } } } - 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); + SetUInt16Value(ACTIVE_PLAYER_FIELD_SKILL_LINEID + SKILL_STEP_OFFSET + field, offset, step); + SetUInt16Value(ACTIVE_PLAYER_FIELD_SKILL_LINEID + SKILL_RANK_OFFSET + field, offset, value); + SetUInt16Value(ACTIVE_PLAYER_FIELD_SKILL_LINEID + SKILL_MAX_RANK_OFFSET + field, offset, max); + SetUInt16Value(ACTIVE_PLAYER_FIELD_SKILL_LINEID + SKILL_TEMP_BONUS_OFFSET + field, offset, 0); + SetUInt16Value(ACTIVE_PLAYER_FIELD_SKILL_LINEID + SKILL_PERM_BONUS_OFFSET + field, offset, 0); mSkillStatus.insert(SkillStatusMap::value_type(skill, SkillStatusData(count, SKILL_UNCHANGED))); loadedSkillValues[skill] = value; @@ -25939,12 +25941,12 @@ void Player::_LoadSkills(PreparedQueryResult result) uint16 field = count / 2; uint8 offset = count & 1; - 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); + SetUInt16Value(ACTIVE_PLAYER_FIELD_SKILL_LINEID + SKILL_ID_OFFSET + field, offset, 0); + SetUInt16Value(ACTIVE_PLAYER_FIELD_SKILL_LINEID + SKILL_STEP_OFFSET + field, offset, 0); + SetUInt16Value(ACTIVE_PLAYER_FIELD_SKILL_LINEID + SKILL_RANK_OFFSET + field, offset, 0); + SetUInt16Value(ACTIVE_PLAYER_FIELD_SKILL_LINEID + SKILL_MAX_RANK_OFFSET + field, offset, 0); + SetUInt16Value(ACTIVE_PLAYER_FIELD_SKILL_LINEID + SKILL_TEMP_BONUS_OFFSET + field, offset, 0); + SetUInt16Value(ACTIVE_PLAYER_FIELD_SKILL_LINEID + SKILL_PERM_BONUS_OFFSET + field, offset, 0); } } @@ -26151,7 +26153,7 @@ TalentLearnResult Player::LearnTalent(uint32 talentId, int32* spellOnCooldown) return TALENT_FAILED_UNKNOWN; // check if we have enough talent points - if (talentInfo->TierID >= GetUInt32Value(PLAYER_FIELD_MAX_TALENT_TIERS)) + if (talentInfo->TierID >= GetUInt32Value(ACTIVE_PLAYER_FIELD_MAX_TALENT_TIERS)) return TALENT_FAILED_UNKNOWN; // TODO: prevent changing talents that are on cooldown @@ -26243,62 +26245,59 @@ void Player::ResetTalentSpecialization() UpdateItemSetAuras(false); } -TalentLearnResult Player::LearnPvpTalent(uint32 talentID, int32* spellOnCooldown) +TalentLearnResult Player::LearnPvpTalent(uint32 talentID, uint8 slot, int32* spellOnCooldown) { + if (slot >= MAX_PVP_TALENT_SLOTS) + return TALENT_FAILED_UNKNOWN; + if (IsInCombat()) return TALENT_FAILED_AFFECTING_COMBAT; - if (getLevel() < PLAYER_LEVEL_MIN_HONOR) - return TALENT_FAILED_UNKNOWN; + if (isDead()) + return TALENT_FAILED_CANT_DO_THAT_RIGHT_NOW; PvpTalentEntry const* talentInfo = sPvpTalentStore.LookupEntry(talentID); if (!talentInfo) return TALENT_FAILED_UNKNOWN; - if (talentInfo->SpecID) - { - if (talentInfo->SpecID != GetInt32Value(PLAYER_FIELD_CURRENT_SPEC_ID)) - return TALENT_FAILED_UNKNOWN; - } - else if (talentInfo->Role >= 0) - { - if (talentInfo->Role != sChrSpecializationStore.AssertEntry(GetUInt32Value(PLAYER_FIELD_CURRENT_SPEC_ID))->Role) - return TALENT_FAILED_UNKNOWN; - } + if (talentInfo->SpecID != GetInt32Value(PLAYER_FIELD_CURRENT_SPEC_ID)) + return TALENT_FAILED_UNKNOWN; - // prevent learn talent for different class (cheating) - if (talentInfo->ClassID && talentInfo->ClassID != getClass()) + if (talentInfo->LevelRequired > getLevel()) + return TALENT_FAILED_UNKNOWN; + + if (sDB2Manager.GetRequiredLevelForPvpTalentSlot(slot, Classes(getClass())) > getLevel()) return TALENT_FAILED_UNKNOWN; - if (!GetPrestigeLevel()) - if (sDB2Manager.GetRequiredHonorLevelForPvpTalent(talentInfo) > GetHonorLevel()) + if (PvpTalentCategoryEntry const* talentCategory = sPvpTalentCategoryStore.LookupEntry(talentInfo->PvpTalentCategoryID)) + if (!(talentCategory->TalentSlotMask & (1 << slot))) return TALENT_FAILED_UNKNOWN; - // Check if player doesn't have any talent in current tier - for (uint32 c = 0; c < MAX_PVP_TALENT_COLUMNS; ++c) - { - for (PvpTalentEntry const* talent : sDB2Manager.GetPvpTalentsByPosition(getClass(), talentInfo->TierID, c)) - { - if (HasPvpTalent(talent->ID, GetActiveTalentGroup()) && !HasFlag(PLAYER_FLAGS, PLAYER_FLAGS_RESTING) && HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_NPC)) - return TALENT_FAILED_REST_AREA; + // Check if player doesn't have this talent in other slot + if (HasPvpTalent(talentID, GetActiveTalentGroup())) + return TALENT_FAILED_UNKNOWN; - if (GetSpellHistory()->HasCooldown(talent->SpellID)) - { - *spellOnCooldown = talent->SpellID; - return TALENT_FAILED_CANT_REMOVE_TALENT; - } + if (PvpTalentEntry const* talent = sPvpTalentStore.LookupEntry(GetPvpTalentMap(GetActiveTalentGroup())[slot])) + { + if (!HasFlag(PLAYER_FLAGS, PLAYER_FLAGS_RESTING) && !HasFlag(UNIT_FIELD_FLAGS_2, UNIT_FLAG2_ALLOW_CHANGING_TALENTS)) + return TALENT_FAILED_REST_AREA; - RemovePvpTalent(talent); + if (GetSpellHistory()->HasCooldown(talent->SpellID)) + { + *spellOnCooldown = talent->SpellID; + return TALENT_FAILED_CANT_REMOVE_TALENT; } + + RemovePvpTalent(talent); } - if (!AddPvpTalent(talentInfo, GetActiveTalentGroup(), true)) + if (!AddPvpTalent(talentInfo, GetActiveTalentGroup(), slot)) return TALENT_FAILED_UNKNOWN; return TALENT_LEARN_OK; } -bool Player::AddPvpTalent(PvpTalentEntry const* talent, uint8 activeTalentGroup, bool learning) +bool Player::AddPvpTalent(PvpTalentEntry const* talent, uint8 activeTalentGroup, uint8 slot) { ASSERT(talent); SpellInfo const* spellInfo = sSpellMgr->GetSpellInfo(talent->SpellID); @@ -26321,11 +26320,7 @@ bool Player::AddPvpTalent(PvpTalentEntry const* talent, uint8 activeTalentGroup, if (talent->OverridesSpellID) AddOverrideSpell(talent->OverridesSpellID, talent->SpellID); - PlayerTalentMap::iterator itr = GetPvpTalentMap(activeTalentGroup)->find(talent->ID); - if (itr != GetPvpTalentMap(activeTalentGroup)->end()) - itr->second = PLAYERSPELL_UNCHANGED; - else - (*GetPvpTalentMap(activeTalentGroup))[talent->ID] = learning ? PLAYERSPELL_NEW : PLAYERSPELL_UNCHANGED; + GetPvpTalentMap(activeTalentGroup)[slot] = talent->ID; return true; } @@ -26343,28 +26338,29 @@ void Player::RemovePvpTalent(PvpTalentEntry const* talent) RemoveOverrideSpell(talent->OverridesSpellID, talent->SpellID); // if this talent rank can be found in the PlayerTalentMap, mark the talent as removed so it gets deleted - PlayerTalentMap::iterator plrPvpTalent = GetPvpTalentMap(GetActiveTalentGroup())->find(talent->ID); - if (plrPvpTalent != GetPvpTalentMap(GetActiveTalentGroup())->end()) - plrPvpTalent->second = PLAYERSPELL_REMOVED; + auto plrPvpTalent = std::find(GetPvpTalentMap(GetActiveTalentGroup()).begin(), GetPvpTalentMap(GetActiveTalentGroup()).end(), talent->ID); + if (plrPvpTalent != GetPvpTalentMap(GetActiveTalentGroup()).end()) + *plrPvpTalent = 0; } void Player::TogglePvpTalents(bool enable) { - PlayerTalentMap const* pvpTalents = GetPvpTalentMap(GetActiveTalentGroup()); - for (PlayerTalentMap::value_type const& v : *pvpTalents) + PlayerPvpTalentMap const& pvpTalents = GetPvpTalentMap(GetActiveTalentGroup()); + for (uint32 pvpTalentId : pvpTalents) { - PvpTalentEntry const* pvpTalentInfo = sPvpTalentStore.AssertEntry(v.first); - if (enable && v.second != PLAYERSPELL_REMOVED) - LearnSpell(pvpTalentInfo->SpellID, false); - else - RemoveSpell(pvpTalentInfo->SpellID, true); + if (PvpTalentEntry const* pvpTalentInfo = sPvpTalentStore.LookupEntry(pvpTalentId)) + { + if (enable) + LearnSpell(pvpTalentInfo->SpellID, false); + else + RemoveSpell(pvpTalentInfo->SpellID, true); + } } } bool Player::HasPvpTalent(uint32 talentID, uint8 activeTalentGroup) const { - PlayerTalentMap::const_iterator itr = GetPvpTalentMap(activeTalentGroup)->find(talentID); - return (itr != GetPvpTalentMap(activeTalentGroup)->end() && itr->second != PLAYERSPELL_REMOVED); + return std::find(GetPvpTalentMap(activeTalentGroup).begin(), GetPvpTalentMap(activeTalentGroup).end(), talentID) != GetPvpTalentMap(activeTalentGroup).end(); } void Player::EnablePvpRules(bool dueToCombat /*= false*/) @@ -26522,12 +26518,11 @@ void Player::SendTalentsInfoData() continue; PlayerTalentMap* talents = GetTalentMap(i); - PlayerTalentMap* pvpTalents = GetPvpTalentMap(i); + PlayerPvpTalentMap const& pvpTalents = GetPvpTalentMap(i); WorldPackets::Talent::TalentGroupInfo groupInfoPkt; groupInfoPkt.SpecID = spec->ID; groupInfoPkt.TalentIDs.reserve(talents->size()); - groupInfoPkt.PvPTalentIDs.reserve(pvpTalents->size()); for (PlayerTalentMap::const_iterator itr = talents->begin(); itr != talents->end(); ++itr) { @@ -26542,9 +26537,6 @@ void Player::SendTalentsInfoData() continue; } - if (talentInfo->ClassID != getClass()) - continue; - SpellInfo const* spellEntry = sSpellMgr->GetSpellInfo(talentInfo->SpellID); if (!spellEntry) { @@ -26556,22 +26548,19 @@ void Player::SendTalentsInfoData() groupInfoPkt.TalentIDs.push_back(uint16(itr->first)); } - for (PlayerTalentMap::const_iterator itr = pvpTalents->begin(); itr != pvpTalents->end(); ++itr) + for (std::size_t slot = 0; slot < MAX_PVP_TALENT_SLOTS; ++slot) { - if (itr->second == PLAYERSPELL_REMOVED) + if (!pvpTalents[slot]) continue; - PvpTalentEntry const* talentInfo = sPvpTalentStore.LookupEntry(itr->first); + PvpTalentEntry const* talentInfo = sPvpTalentStore.LookupEntry(pvpTalents[slot]); if (!talentInfo) { TC_LOG_ERROR("entities.player", "Player::SendTalentsInfoData: Player '%s' (%s) has unknown pvp talent id: %u", - GetName().c_str(), GetGUID().ToString().c_str(), itr->first); + GetName().c_str(), GetGUID().ToString().c_str(), pvpTalents[slot]); continue; } - if (talentInfo->ClassID && talentInfo->ClassID != getClass()) - continue; - SpellInfo const* spellEntry = sSpellMgr->GetSpellInfo(talentInfo->SpellID); if (!spellEntry) { @@ -26580,7 +26569,10 @@ void Player::SendTalentsInfoData() continue; } - groupInfoPkt.PvPTalentIDs.push_back(uint16(itr->first)); + groupInfoPkt.PvPTalents.emplace_back(); + WorldPackets::Talent::PvPTalent& pvpTalent = groupInfoPkt.PvPTalents.back(); + pvpTalent.PvPTalentID = pvpTalents[slot]; + pvpTalent.Slot = slot; } packet.Info.TalentGroups.push_back(groupInfoPkt); @@ -26859,12 +26851,13 @@ void Player::_LoadTalents(PreparedQueryResult result) void Player::_LoadPvpTalents(PreparedQueryResult result) { - // "SELECT TalentID, TalentGroup FROM character_pvp_talent WHERE guid = ?" + // "SELECT talentID0, talentID1, talentID2, talentID3, talentGroup FROM character_pvp_talent WHERE guid = ?" if (result) { do - if (PvpTalentEntry const* talent = sPvpTalentStore.LookupEntry((*result)[0].GetUInt32())) - AddPvpTalent(talent, (*result)[1].GetUInt8(), false); + for (uint8 slot = 0; slot < MAX_PVP_TALENT_SLOTS; ++slot) + if (PvpTalentEntry const* talent = sPvpTalentStore.LookupEntry((*result)[slot].GetUInt32())) + AddPvpTalent(talent, (*result)[4].GetUInt8(), slot); while (result->NextRow()); } } @@ -26875,11 +26868,10 @@ void Player::_SaveTalents(SQLTransaction& trans) stmt->setUInt64(0, GetGUID().GetCounter()); trans->Append(stmt); - PlayerTalentMap* talents; for (uint8 group = 0; group < MAX_SPECIALIZATIONS; ++group) { - talents = GetTalentMap(group); - for (PlayerTalentMap::iterator itr = talents->begin(); itr != talents->end();) + PlayerTalentMap* talents = GetTalentMap(group); + for (auto itr = talents->begin(); itr != talents->end();) { if (itr->second == PLAYERSPELL_REMOVED) { @@ -26902,22 +26894,15 @@ void Player::_SaveTalents(SQLTransaction& trans) for (uint8 group = 0; group < MAX_SPECIALIZATIONS; ++group) { - talents = GetPvpTalentMap(group); - for (PlayerTalentMap::iterator itr = talents->begin(); itr != talents->end();) - { - if (itr->second == PLAYERSPELL_REMOVED) - { - itr = talents->erase(itr); - continue; - } - - stmt = CharacterDatabase.GetPreparedStatement(CHAR_INS_CHAR_PVP_TALENT); - stmt->setUInt64(0, GetGUID().GetCounter()); - stmt->setUInt32(1, itr->first); - stmt->setUInt8(2, group); - trans->Append(stmt); - ++itr; - } + PlayerPvpTalentMap const& talents = GetPvpTalentMap(group); + stmt = CharacterDatabase.GetPreparedStatement(CHAR_INS_CHAR_PVP_TALENT); + stmt->setUInt64(0, GetGUID().GetCounter()); + stmt->setUInt32(1, talents[0]); + stmt->setUInt32(2, talents[1]); + stmt->setUInt32(3, talents[2]); + stmt->setUInt32(4, talents[3]); + stmt->setUInt8(5, group); + trans->Append(stmt); } } @@ -27001,15 +26986,6 @@ void Player::ActivateTalentGroup(ChrSpecializationEntry const* spec) if (!talentInfo) continue; - // unlearn only talents for character class - // some spell learned by one class as normal spells or know at creation but another class learn it as talent, - // to prevent unexpected lost normal learned spell skip another class talents - if (talentInfo->ClassID && talentInfo->ClassID != getClass()) - continue; - - if (talentInfo->SpellID == 0) - continue; - SpellInfo const* spellInfo = sSpellMgr->GetSpellInfo(talentInfo->SpellID); if (!spellInfo) continue; @@ -27058,21 +27034,16 @@ void Player::ActivateTalentGroup(ChrSpecializationEntry const* spec) } } - for (uint32 pvpTalentID = 0; pvpTalentID < sTalentStore.GetNumRows(); ++pvpTalentID) + for (uint8 slot = 0; slot < MAX_PVP_TALENT_SLOTS; ++slot) { - PvpTalentEntry const* talentInfo = sPvpTalentStore.LookupEntry(pvpTalentID); + PvpTalentEntry const* talentInfo = sPvpTalentStore.LookupEntry(GetPvpTalentMap(GetActiveTalentGroup())[slot]); if (!talentInfo) continue; - // learn only talents for character class (or x-class talents) - if (talentInfo->ClassID && talentInfo->ClassID != getClass()) - continue; - if (!talentInfo->SpellID) continue; - if (HasPvpTalent(talentInfo->ID, GetActiveTalentGroup())) - AddPvpTalent(talentInfo, GetActiveTalentGroup(), true); + AddPvpTalent(talentInfo, GetActiveTalentGroup(), slot); } LearnSpecializationSpells(); @@ -27622,6 +27593,7 @@ void Player::SendPlayerChoice(ObjectGuid sender, int32 choiceId) displayPlayerChoice.Responses.resize(playerChoice->Responses.size()); displayPlayerChoice.CloseChoiceFrame = false; displayPlayerChoice.HideWarboardHeader = playerChoice->HideWarboardHeader; + displayPlayerChoice.KeepOpenAfterChoice = playerChoice->KeepOpenAfterChoice; for (std::size_t i = 0; i < playerChoice->Responses.size(); ++i) { @@ -27629,6 +27601,9 @@ void Player::SendPlayerChoice(ObjectGuid sender, int32 choiceId) WorldPackets::Quest::PlayerChoiceResponse& playerChoiceResponse = displayPlayerChoice.Responses[i]; playerChoiceResponse.ResponseID = playerChoiceResponseTemplate.ResponseId; playerChoiceResponse.ChoiceArtFileID = playerChoiceResponseTemplate.ChoiceArtFileId; + playerChoiceResponse.Flags = playerChoiceResponseTemplate.Flags; + playerChoiceResponse.WidgetSetID = playerChoiceResponseTemplate.WidgetSetID; + playerChoiceResponse.GroupID = playerChoiceResponseTemplate.GroupID; playerChoiceResponse.Answer = playerChoiceResponseTemplate.Answer; playerChoiceResponse.Header = playerChoiceResponseTemplate.Header; playerChoiceResponse.Description = playerChoiceResponseTemplate.Description; @@ -27953,29 +27928,6 @@ void Player::SendSupercededSpell(uint32 oldSpell, uint32 newSpell) const GetSession()->SendPacket(supercededSpells.Write()); } -uint32 Player::CalculateTalentsTiers() const -{ - uint32 const* rowLevels; - switch (getClass()) - { - case CLASS_DEATH_KNIGHT: - rowLevels = DKTalentRowLevels; - break; - case CLASS_DEMON_HUNTER: - rowLevels = DHTalentRowLevels; - break; - default: - rowLevels = DefaultTalentRowLevels; - break; - } - - for (uint32 i = MAX_TALENT_TIERS; i; --i) - if (getLevel() >= rowLevels[i - 1]) - return i; - - return 0; -} - Difficulty Player::GetDifficultyID(MapEntry const* mapEntry) const { if (!mapEntry->IsRaid()) diff --git a/src/server/game/Entities/Player/Player.h b/src/server/game/Entities/Player/Player.h index eb12abc021c..391fbb34be3 100644 --- a/src/server/game/Entities/Player/Player.h +++ b/src/server/game/Entities/Player/Player.h @@ -101,16 +101,23 @@ namespace WorldPackets typedef std::deque<Mail*> PlayerMails; -#define PLAYER_MAX_SKILLS 128 -enum SkillFieldOffset +#define PLAYER_MAX_SKILLS 256 + +template<typename SkillArrayType> +constexpr std::size_t CalculateSkillFieldArraySize() { - 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 + return PLAYER_MAX_SKILLS / sizeof(uint32) * sizeof(SkillArrayType); +} + +enum SkillFieldOffset : uint16 +{ + SKILL_ID_OFFSET = 0, + SKILL_STEP_OFFSET = SKILL_ID_OFFSET + CalculateSkillFieldArraySize<uint16>(), + SKILL_RANK_OFFSET = SKILL_STEP_OFFSET + CalculateSkillFieldArraySize<uint16>(), + SUBSKILL_START_RANK_OFFSET = SKILL_RANK_OFFSET + CalculateSkillFieldArraySize<uint16>(), + SKILL_MAX_RANK_OFFSET = SUBSKILL_START_RANK_OFFSET + CalculateSkillFieldArraySize<uint16>(), + SKILL_TEMP_BONUS_OFFSET = SKILL_MAX_RANK_OFFSET + CalculateSkillFieldArraySize<uint16>(), + SKILL_PERM_BONUS_OFFSET = SKILL_TEMP_BONUS_OFFSET + CalculateSkillFieldArraySize<uint16>() }; #define PLAYER_EXPLORED_ZONES_SIZE 320 @@ -240,6 +247,7 @@ struct PlayerCurrency }; typedef std::unordered_map<uint32, PlayerSpellState> PlayerTalentMap; +typedef std::array<uint32, MAX_PVP_TALENT_SLOTS> PlayerPvpTalentMap; typedef std::unordered_map<uint32, PlayerSpell*> PlayerSpellMap; typedef std::unordered_set<SpellModifier*> SpellModContainer; typedef std::unordered_map<uint32, PlayerCurrency> PlayerCurrenciesMap; @@ -391,7 +399,7 @@ enum PlayerFlags PLAYER_FLAGS_GM = 0x00000008, PLAYER_FLAGS_GHOST = 0x00000010, PLAYER_FLAGS_RESTING = 0x00000020, - PLAYER_FLAGS_UNK6 = 0x00000040, + PLAYER_FLAGS_VOICE_CHAT = 0x00000040, PLAYER_FLAGS_UNK7 = 0x00000080, // pre-3.0.3 PLAYER_FLAGS_FFA_PVP flag for FFA PVP state PLAYER_FLAGS_CONTESTED_PVP = 0x00000100, // Player has been involved in a PvP combat and will be attacked by contested guards PLAYER_FLAGS_IN_PVP = 0x00000200, @@ -422,7 +430,8 @@ enum PlayerFlags enum PlayerFlagsEx { PLAYER_FLAGS_EX_REAGENT_BANK_UNLOCKED = 0x0001, - PLAYER_FLAGS_EX_MERCENARY_MODE = 0x0002 + PLAYER_FLAGS_EX_MERCENARY_MODE = 0x0002, + PLAYER_FLAGS_EX_ARTIFACT_FORGE_CHEAT = 0x0004 }; enum PlayerLocalFlags @@ -1001,10 +1010,6 @@ enum TalentLearnResult TALENT_FAILED_REST_AREA = 8 }; -static uint32 const DefaultTalentRowLevels[MAX_TALENT_TIERS] = { 15, 30, 45, 60, 75, 90, 100 }; -static uint32 const DKTalentRowLevels[MAX_TALENT_TIERS] = { 57, 58, 59, 60, 75, 90, 100 }; -static uint32 const DHTalentRowLevels[MAX_TALENT_TIERS] = { 99, 100, 102, 104, 106, 108, 110 }; - struct TC_GAME_API SpecializationInfo { SpecializationInfo() : ResetTalentsCost(0), ResetTalentsTime(0), PrimarySpecialization(0), ActiveGroup(0) @@ -1012,7 +1017,7 @@ struct TC_GAME_API SpecializationInfo } PlayerTalentMap Talents[MAX_SPECIALIZATIONS]; - PlayerTalentMap PvpTalents[MAX_SPECIALIZATIONS]; + PlayerPvpTalentMap PvpTalents[MAX_SPECIALIZATIONS]; std::vector<uint32> Glyphs[MAX_SPECIALIZATIONS]; uint32 ResetTalentsCost; time_t ResetTalentsTime; @@ -1033,7 +1038,7 @@ struct PlayerDynamicFieldSpellModByLabel }; #pragma pack(pop) -uint8 constexpr PLAYER_MAX_HONOR_LEVEL = 50; +uint32 constexpr PLAYER_MAX_HONOR_LEVEL = 500; uint8 constexpr PLAYER_LEVEL_MIN_HONOR = 110; uint32 constexpr SPELL_PVP_RULES_ENABLED = 134735; @@ -1188,7 +1193,7 @@ class TC_GAME_API Player : public Unit, public GridObject<Player> static bool IsChildEquipmentPos(uint8 bag, uint8 slot); bool IsValidPos(uint16 pos, bool explicit_pos) const { return IsValidPos(pos >> 8, pos & 255, explicit_pos); } bool IsValidPos(uint8 bag, uint8 slot, bool explicit_pos) const; - uint8 GetInventorySlotCount() const { return GetByteValue(PLAYER_FIELD_BYTES2, PLAYER_FIELD_BYTES_2_OFFSET_NUM_BACKPACK_SLOTS); } + uint8 GetInventorySlotCount() const { return GetByteValue(ACTIVE_PLAYER_FIELD_BYTES2, PLAYER_FIELD_BYTES_2_OFFSET_NUM_BACKPACK_SLOTS); } void SetInventorySlotCount(uint8 slots); uint8 GetBankBagSlotCount() const { return GetByteValue(PLAYER_BYTES_3, PLAYER_BYTES_3_OFFSET_BANK_BAG_SLOTS); } void SetBankBagSlotCount(uint8 count) { SetByteValue(PLAYER_BYTES_3, PLAYER_BYTES_3_OFFSET_BANK_BAG_SLOTS, count); } @@ -1349,13 +1354,8 @@ class TC_GAME_API Player : public Unit, public GridObject<Player> /*** QUEST SYSTEM ***/ /*********************************************************/ - int32 GetQuestLevel(Quest const* quest) const - { - if (!quest) - return getLevel(); - return quest->GetQuestLevel() > 0 ? quest->GetQuestLevel() : std::min<int32>(getLevel(), quest->GetQuestMaxScalingLevel()); - } - + int32 GetQuestMinLevel(Quest const* quest) const; + int32 GetQuestLevel(Quest const* quest) const; void PrepareQuestMenu(ObjectGuid guid); void SendPreparedQuest(WorldObject* source); bool IsActiveQuest(uint32 quest_id) const; @@ -1501,7 +1501,7 @@ class TC_GAME_API Player : public Unit, public GridObject<Player> static bool IsValidGender(uint8 Gender) { return Gender <= GENDER_FEMALE; } static bool IsValidClass(uint8 Class) { return ((1 << (Class - 1)) & CLASSMASK_ALL_PLAYABLE) != 0; } - static bool IsValidRace(uint8 Race) { return ((1 << (Race - 1)) & RACEMASK_ALL_PLAYABLE) != 0; } + static bool IsValidRace(uint8 Race) { return ((UI64LIT(1) << (Race - 1)) & RACEMASK_ALL_PLAYABLE) != 0; } static bool ValidateAppearance(uint8 race, uint8 class_, uint8 gender, uint8 hairID, uint8 hairColor, uint8 faceID, uint8 facialHair, uint8 skinColor, std::array<uint8, PLAYER_CUSTOM_DISPLAY_SIZE> const& customDisplay, bool create = false); /*********************************************************/ @@ -1530,7 +1530,7 @@ class TC_GAME_API Player : public Unit, public GridObject<Player> void setRegenTimerCount(uint32 time) {m_regenTimerCount = time;} void setWeaponChangeTimer(uint32 time) {m_weaponChangeTimer = time;} - uint64 GetMoney() const { return GetUInt64Value(PLAYER_FIELD_COINAGE); } + uint64 GetMoney() const { return GetUInt64Value(ACTIVE_PLAYER_FIELD_COINAGE); } bool ModifyMoney(int64 amount, bool sendError = true); bool HasEnoughMoney(uint64 amount) const { return (GetMoney() >= amount); } bool HasEnoughMoney(int64 amount) const; @@ -1622,8 +1622,8 @@ class TC_GAME_API Player : public Unit, public GridObject<Player> std::string GetGuildName() const; // Loot Spec - void SetLootSpecId(uint32 id) { SetUInt32Value(PLAYER_FIELD_LOOT_SPEC_ID, id); } - uint32 GetLootSpecId() const { return GetUInt32Value(PLAYER_FIELD_LOOT_SPEC_ID); } + void SetLootSpecId(uint32 id) { SetUInt32Value(ACTIVE_PLAYER_FIELD_LOOT_SPEC_ID, id); } + uint32 GetLootSpecId() const { return GetUInt32Value(ACTIVE_PLAYER_FIELD_LOOT_SPEC_ID); } // Talents uint32 GetTalentResetCost() const { return _specializationInfo.ResetTalentsCost; } @@ -1645,11 +1645,10 @@ class TC_GAME_API Player : public Unit, public GridObject<Player> bool AddTalent(TalentEntry const* talent, uint8 spec, bool learning); bool HasTalent(uint32 spell_id, uint8 spec) const; void RemoveTalent(TalentEntry const* talent); - uint32 CalculateTalentsTiers() const; void ResetTalentSpecialization(); - TalentLearnResult LearnPvpTalent(uint32 talentID, int32* spellOnCooldown); - bool AddPvpTalent(PvpTalentEntry const* talent, uint8 activeTalentGroup, bool learning); + TalentLearnResult LearnPvpTalent(uint32 talentID, uint8 slot, int32* spellOnCooldown); + bool AddPvpTalent(PvpTalentEntry const* talent, uint8 activeTalentGroup, uint8 slot); void RemovePvpTalent(PvpTalentEntry const* talent); void TogglePvpTalents(bool enable); bool HasPvpTalent(uint32 talentID, uint8 activeTalentGroup) const; @@ -1664,14 +1663,14 @@ class TC_GAME_API Player : public Unit, public GridObject<Player> PlayerTalentMap const* GetTalentMap(uint8 spec) const { return &_specializationInfo.Talents[spec]; } PlayerTalentMap* GetTalentMap(uint8 spec) { return &_specializationInfo.Talents[spec]; } - PlayerTalentMap const* GetPvpTalentMap(uint8 spec) const { return &_specializationInfo.PvpTalents[spec]; } - PlayerTalentMap* GetPvpTalentMap(uint8 spec) { return &_specializationInfo.PvpTalents[spec]; } + PlayerPvpTalentMap const& GetPvpTalentMap(uint8 spec) const { return _specializationInfo.PvpTalents[spec]; } + PlayerPvpTalentMap& GetPvpTalentMap(uint8 spec) { return _specializationInfo.PvpTalents[spec]; } std::vector<uint32> const& GetGlyphs(uint8 spec) const { return _specializationInfo.Glyphs[spec]; } std::vector<uint32>& GetGlyphs(uint8 spec) { return _specializationInfo.Glyphs[spec]; } ActionButtonList const& GetActionButtons() const { return m_actionButtons; } - uint32 GetFreePrimaryProfessionPoints() const { return GetUInt32Value(PLAYER_CHARACTER_POINTS); } - void SetFreePrimaryProfessions(uint16 profs) { SetUInt32Value(PLAYER_CHARACTER_POINTS, profs); } + uint32 GetFreePrimaryProfessionPoints() const { return GetUInt32Value(ACTIVE_PLAYER_FIELD_CHARACTER_POINTS); } + void SetFreePrimaryProfessions(uint16 profs) { SetUInt32Value(ACTIVE_PLAYER_FIELD_CHARACTER_POINTS, profs); } void InitPrimaryProfessions(); PlayerSpellMap const& GetSpellMap() const { return m_spells; } @@ -1756,7 +1755,7 @@ class TC_GAME_API Player : public Unit, public GridObject<Player> void SetGuildLevel(uint32 level) { SetUInt32Value(PLAYER_GUILDLEVEL, level); } uint32 GetGuildLevel() const { return GetUInt32Value(PLAYER_GUILDLEVEL); } void SetGuildIdInvited(ObjectGuid::LowType GuildId) { m_GuildIdInvited = GuildId; } - ObjectGuid::LowType GetGuildId() const { return GetUInt64Value(OBJECT_FIELD_DATA); /* return only lower part */ } + ObjectGuid::LowType GetGuildId() const { return GetUInt64Value(UNIT_FIELD_GUILD_GUID); /* return only lower part */ } Guild* GetGuild(); Guild const* GetGuild() const; static ObjectGuid::LowType GetGuildIdFromDB(ObjectGuid guid); @@ -1769,8 +1768,8 @@ class TC_GAME_API Player : public Unit, public GridObject<Player> void SetArenaTeamInfoField(uint8 slot, ArenaTeamInfoType type, uint32 value); static uint32 GetArenaTeamIdFromDB(ObjectGuid guid, uint8 slot); static void LeaveAllArenaTeams(ObjectGuid guid); - uint32 GetArenaTeamId(uint8 slot) const { return GetUInt32Value(PLAYER_FIELD_ARENA_TEAM_INFO_1_1 + (slot * ARENA_TEAM_END) + ARENA_TEAM_ID); } - uint32 GetArenaPersonalRating(uint8 slot) const { return GetUInt32Value(PLAYER_FIELD_ARENA_TEAM_INFO_1_1 + (slot * ARENA_TEAM_END) + ARENA_TEAM_PERSONAL_RATING); } + uint32 GetArenaTeamId(uint8 slot) const { return GetUInt32Value(ACTIVE_PLAYER_FIELD_ARENA_TEAM_INFO + (slot * ARENA_TEAM_END) + ARENA_TEAM_ID); } + uint32 GetArenaPersonalRating(uint8 slot) const { return GetUInt32Value(ACTIVE_PLAYER_FIELD_ARENA_TEAM_INFO + (slot * ARENA_TEAM_END) + ARENA_TEAM_PERSONAL_RATING); } void SetArenaTeamIdInvited(uint32 ArenaTeamId) { m_ArenaTeamIdInvited = ArenaTeamId; } uint32 GetArenaTeamIdInvited() const { return m_ArenaTeamIdInvited; } uint32 GetRBGPersonalRating() const { return 0; } @@ -1787,9 +1786,7 @@ class TC_GAME_API Player : public Unit, public GridObject<Player> static Difficulty CheckLoadedLegacyRaidDifficultyID(Difficulty difficulty); void SendRaidGroupOnlyMessage(RaidGroupReason reason, int32 delay) const; - bool UpdateSkill(uint32 skill_id, uint32 step); bool UpdateSkillPro(uint16 skillId, int32 chance, uint32 step); - bool UpdateCraftSkill(uint32 spellid); bool UpdateGatherSkill(uint32 SkillId, uint32 SkillValue, uint32 RedLevel, uint32 Multiplicator = 1); bool UpdateFishingSkill(); @@ -1929,6 +1926,7 @@ class TC_GAME_API Player : public Unit, public GridObject<Player> uint16 GetSkillStep(uint16 skill) const; // 0...6 bool HasSkill(uint32 skill) const; void LearnSkillRewardedSpells(uint32 skillId, uint32 skillValue); + int32 FindProfessionSlotFor(uint32 skillId) const; WorldLocation& GetTeleportDest() { return m_teleport_dest; } bool IsBeingTeleported() const { return mSemaphoreTeleport_Near || mSemaphoreTeleport_Far; } @@ -1985,15 +1983,11 @@ class TC_GAME_API Player : public Unit, public GridObject<Player> void RestoreHealthAfterDuel() { SetHealth(healthBeforeDuel); } void RestoreManaAfterDuel() { SetPower(POWER_MANA, manaBeforeDuel); } - uint32 GetPrestigeLevel() const { return GetUInt32Value(PLAYER_FIELD_PRESTIGE); } uint32 GetHonorLevel() const { return GetUInt32Value(PLAYER_FIELD_HONOR_LEVEL); } void AddHonorXP(uint32 xp); void SetHonorLevel(uint8 honorLevel); - void Prestige(); - bool CanPrestige() const; - bool IsMaxPrestige() const; - bool IsMaxHonorLevelAndPrestige() const { return IsMaxPrestige() && GetHonorLevel() == PLAYER_MAX_HONOR_LEVEL; } - // Updates PLAYER_FIELD_HONOR_NEXT_LEVEL based on PLAYER_FIELD_HONOR_LEVEL and the smallest value of PLAYER_FIELD_PRESTIGE and (PRESTIGE_COLUMN_COUNT - 1) + bool IsMaxHonorLevel() const { return GetHonorLevel() == PLAYER_MAX_HONOR_LEVEL; } + // Updates PLAYER_FIELD_HONOR_NEXT_LEVEL based on PLAYER_FIELD_HONOR_LEVEL void UpdateHonorNextLevel(); //End of PvP System @@ -2010,7 +2004,7 @@ class TC_GAME_API Player : public Unit, public GridObject<Player> int32 CalculateCorpseReclaimDelay(bool load = false) const; void SendCorpseReclaimDelay(uint32 delay) const; - uint32 GetBlockPercent() const override { return GetUInt32Value(PLAYER_SHIELD_BLOCK); } + uint32 GetBlockPercent() const override { return GetUInt32Value(ACTIVE_PLAYER_FIELD_SHIELD_BLOCK); } bool CanParry() const { return m_canParry; } void SetCanParry(bool value); bool CanBlock() const { return m_canBlock; } @@ -2727,7 +2721,7 @@ class TC_GAME_API Player : public Unit, public GridObject<Player> std::unordered_map<ObjectGuid /*LootObject*/, ObjectGuid /*world object*/> m_AELootView; - void _InitHonorLevelOnLoadFromDB(uint32 /*honor*/, uint32 /*honorLevel*/, uint32 /*prestigeLevel*/); + void _InitHonorLevelOnLoadFromDB(uint32 honor, uint32 honorLevel); std::unique_ptr<RestMgr> _restMgr; bool _usePvpItemLevels; diff --git a/src/server/game/Entities/Player/PlayerTaxi.cpp b/src/server/game/Entities/Player/PlayerTaxi.cpp index 7a7f8d8533c..68d34e97c33 100644 --- a/src/server/game/Entities/Player/PlayerTaxi.cpp +++ b/src/server/game/Entities/Player/PlayerTaxi.cpp @@ -111,13 +111,13 @@ void PlayerTaxi::AppendTaximaskTo(WorldPackets::Taxi::ShowTaxiNodes& data, bool { if (all) { - data.CanLandNodes = &sTaxiNodesMask; // all existed nodes - data.CanUseNodes = &sTaxiNodesMask; + data.CanLandNodes = sTaxiNodesMask; // all existed nodes + data.CanUseNodes = sTaxiNodesMask; } else { - data.CanLandNodes = &m_taximask; // known nodes - data.CanUseNodes = &m_taximask; + data.CanLandNodes = m_taximask; // known nodes + data.CanUseNodes = m_taximask; } } diff --git a/src/server/game/Entities/Player/PlayerTaxi.h b/src/server/game/Entities/Player/PlayerTaxi.h index 7a98e01baa1..9da960883a6 100644 --- a/src/server/game/Entities/Player/PlayerTaxi.h +++ b/src/server/game/Entities/Player/PlayerTaxi.h @@ -44,13 +44,13 @@ class TC_GAME_API PlayerTaxi bool IsTaximaskNodeKnown(uint32 nodeidx) const { - uint8 field = uint8((nodeidx - 1) / 8); + uint32 field = uint32((nodeidx - 1) / 8); uint32 submask = 1 << ((nodeidx-1) % 8); return (m_taximask[field] & submask) == submask; } bool SetTaximaskNode(uint32 nodeidx) { - uint8 field = uint8((nodeidx - 1) / 8); + uint32 field = uint32((nodeidx - 1) / 8); uint32 submask = 1 << ((nodeidx- 1) % 8); if ((m_taximask[field] & submask) != submask) { diff --git a/src/server/game/Entities/Player/RestMgr.cpp b/src/server/game/Entities/Player/RestMgr.cpp index ba8c11c5ee0..fc100d36088 100644 --- a/src/server/game/Entities/Player/RestMgr.cpp +++ b/src/server/game/Entities/Player/RestMgr.cpp @@ -44,17 +44,17 @@ void RestMgr::SetRestBonus(RestTypes restType, float restBonus) rest_rested_offset = REST_RESTED_XP; rest_state_offset = REST_STATE_XP; - next_level_xp_field = PLAYER_NEXT_LEVEL_XP; + next_level_xp_field = ACTIVE_PLAYER_FIELD_NEXT_LEVEL_XP; affectedByRaF = true; break; case REST_TYPE_HONOR: // Reset restBonus (Honor only) for players with max honor level. - if (_player->IsMaxHonorLevelAndPrestige()) + if (_player->IsMaxHonorLevel()) restBonus = 0; rest_rested_offset = REST_RESTED_HONOR; rest_state_offset = REST_STATE_HONOR; - next_level_xp_field = PLAYER_FIELD_HONOR_NEXT_LEVEL; + next_level_xp_field = ACTIVE_PLAYER_FIELD_HONOR_NEXT_LEVEL; break; default: return; @@ -72,17 +72,17 @@ void RestMgr::SetRestBonus(RestTypes restType, float restBonus) // update data for client if (affectedByRaF && _player->GetsRecruitAFriendBonus(true) && (_player->GetSession()->IsARecruiter() || _player->GetSession()->GetRecruiterId() != 0)) - _player->SetUInt32Value(PLAYER_FIELD_REST_INFO + rest_state_offset, REST_STATE_RAF_LINKED); + _player->SetUInt32Value(ACTIVE_PLAYER_FIELD_REST_INFO + rest_state_offset, REST_STATE_RAF_LINKED); else { if (_restBonus[restType] > 10) - _player->SetUInt32Value(PLAYER_FIELD_REST_INFO + rest_state_offset, REST_STATE_RESTED); + _player->SetUInt32Value(ACTIVE_PLAYER_FIELD_REST_INFO + rest_state_offset, REST_STATE_RESTED); else if (_restBonus[restType] <= 1) - _player->SetUInt32Value(PLAYER_FIELD_REST_INFO + rest_state_offset, REST_STATE_NOT_RAF_LINKED); + _player->SetUInt32Value(ACTIVE_PLAYER_FIELD_REST_INFO + rest_state_offset, REST_STATE_NOT_RAF_LINKED); } // RestTickUpdate - _player->SetUInt32Value(PLAYER_FIELD_REST_INFO + rest_rested_offset, uint32(_restBonus[restType])); + _player->SetUInt32Value(ACTIVE_PLAYER_FIELD_REST_INFO + rest_rested_offset, uint32(_restBonus[restType])); } void RestMgr::AddRestBonus(RestTypes restType, float restBonus) @@ -153,8 +153,8 @@ void RestMgr::Update(time_t now) void RestMgr::LoadRestBonus(RestTypes restType, PlayerRestState state, float restBonus) { _restBonus[restType] = restBonus; - _player->SetUInt32Value(PLAYER_FIELD_REST_INFO + restType * 2, state); - _player->SetUInt32Value(PLAYER_FIELD_REST_INFO + restType * 2 + 1, uint32(restBonus)); + _player->SetUInt32Value(ACTIVE_PLAYER_FIELD_REST_INFO + restType * 2, state); + _player->SetUInt32Value(ACTIVE_PLAYER_FIELD_REST_INFO + restType * 2 + 1, uint32(restBonus)); } float RestMgr::CalcExtraPerSec(RestTypes restType, float bubble) const @@ -162,9 +162,9 @@ float RestMgr::CalcExtraPerSec(RestTypes restType, float bubble) const switch (restType) { case REST_TYPE_HONOR: - return float(_player->GetUInt32Value(PLAYER_FIELD_HONOR_NEXT_LEVEL)) / 72000.0f * bubble; + return float(_player->GetUInt32Value(ACTIVE_PLAYER_FIELD_HONOR_NEXT_LEVEL)) / 72000.0f * bubble; case REST_TYPE_XP: - return float(_player->GetUInt32Value(PLAYER_NEXT_LEVEL_XP)) / 72000.0f * bubble; + return float(_player->GetUInt32Value(ACTIVE_PLAYER_FIELD_NEXT_LEVEL_XP)) / 72000.0f * bubble; default: return 0.0f; } diff --git a/src/server/game/Entities/Taxi/TaxiPathGraph.cpp b/src/server/game/Entities/Taxi/TaxiPathGraph.cpp index 3ec90f577a7..2614ad0520c 100644 --- a/src/server/game/Entities/Taxi/TaxiPathGraph.cpp +++ b/src/server/game/Entities/Taxi/TaxiPathGraph.cpp @@ -21,6 +21,7 @@ #include "DB2Stores.h" #include "Config.h" #include "Util.h" +#include <boost/graph/depth_first_search.hpp> #include <boost/graph/dijkstra_shortest_paths.hpp> #include <boost/property_map/transform_value_property_map.hpp> @@ -32,7 +33,7 @@ TaxiPathGraph& TaxiPathGraph::Instance() void TaxiPathGraph::Initialize() { - if (GetVertexCount() > 0) + if (boost::num_vertices(m_graph) > 0) return; std::vector<std::pair<edge, EdgeCost>> edges; @@ -47,7 +48,7 @@ void TaxiPathGraph::Initialize() } // create graph - m_graph = Graph(GetVertexCount()); + m_graph = Graph(m_nodesByVertex.size()); WeightMap weightmap = boost::get(boost::edge_weight, m_graph); for (std::size_t j = 0; j < edges.size(); ++j) @@ -59,21 +60,22 @@ void TaxiPathGraph::Initialize() uint32 TaxiPathGraph::GetNodeIDFromVertexID(vertex_descriptor vertexID) { - if (vertexID < m_vertices.size()) - return m_vertices[vertexID]->ID; + if (vertexID < m_nodesByVertex.size()) + return m_nodesByVertex[vertexID]->ID; return std::numeric_limits<uint32>::max(); } TaxiPathGraph::vertex_descriptor TaxiPathGraph::GetVertexIDFromNodeID(TaxiNodesEntry const* node) { - return node->CharacterBitNumber; + auto itr = m_verticesByNode.find(node->ID); + return itr != m_verticesByNode.end() ? itr->second : std::numeric_limits<vertex_descriptor>::max(); } -std::size_t TaxiPathGraph::GetVertexCount() +void GetTaxiMapPosition(DBCPosition3D const& position, int32 mapId, DBCPosition2D* uiMapPosition, int32* uiMapId) { - //So we can use this function for readability, we define either max defined vertices or already loaded in graph count - return std::max(boost::num_vertices(m_graph), m_vertices.size()); + if (!DB2Manager::GetUiMapPosition(position.X, position.Y, position.Z, mapId, 0, 0, 0, UI_MAP_SYSTEM_ADVENTURE, false, uiMapId, uiMapPosition)) + DB2Manager::GetUiMapPosition(position.X, position.Y, position.Z, mapId, 0, 0, 0, UI_MAP_SYSTEM_TAXI, false, uiMapId, uiMapPosition); } void TaxiPathGraph::AddVerticeAndEdgeFromNodeInfo(TaxiNodesEntry const* from, TaxiNodesEntry const* to, uint32 pathId, std::vector<std::pair<edge, EdgeCost>>& edges) @@ -104,22 +106,21 @@ void TaxiPathGraph::AddVerticeAndEdgeFromNodeInfo(TaxiNodesEntry const* from, Ta if (nodes[i - 1]->Flags & TAXI_PATH_NODE_FLAG_TELEPORT) continue; - uint32 map1, map2; + int32 uiMap1, uiMap2; DBCPosition2D pos1, pos2; - DB2Manager::DeterminaAlternateMapPosition(nodes[i - 1]->ContinentID, nodes[i - 1]->Loc.X, nodes[i - 1]->Loc.Y, nodes[i - 1]->Loc.Z, &map1, &pos1); - DB2Manager::DeterminaAlternateMapPosition(nodes[i]->ContinentID, nodes[i]->Loc.X, nodes[i]->Loc.Y, nodes[i]->Loc.Z, &map2, &pos2); + GetTaxiMapPosition(nodes[i - 1]->Loc, nodes[i - 1]->ContinentID, &pos1, &uiMap1); + GetTaxiMapPosition(nodes[i]->Loc, nodes[i]->ContinentID, &pos2, &uiMap2); - if (map1 != map2) + if (uiMap1 != uiMap2) continue; totalDist += std::sqrt( std::pow(pos2.X - pos1.X, 2) + - std::pow(pos2.Y - pos1.Y, 2) + - std::pow(nodes[i]->Loc.Z - nodes[i - 1]->Loc.Z, 2)); + std::pow(pos2.Y - pos1.Y, 2)); } - uint32 dist = uint32(totalDist); + uint32 dist = uint32(totalDist * 32767.0f); if (dist > 0xFFFF) dist = 0xFFFF; @@ -176,14 +177,50 @@ std::size_t TaxiPathGraph::GetCompleteNodeRoute(TaxiNodesEntry const* from, Taxi return shortestPath.size(); } +template<typename T> +struct DiscoverVertexVisitor : public boost::base_visitor<DiscoverVertexVisitor<T>> +{ + using event_filter = boost::on_discover_vertex; + + DiscoverVertexVisitor(T&& func) : _func(std::forward<T>(func)) { } + + template <class Vertex, class Graph> + void operator()(Vertex v, Graph& /*g*/) + { + _func(v); + } + +private: + T _func; +}; + +template<typename T> +inline auto make_discover_vertex_dfs_visitor(T&& t) +{ + return boost::make_dfs_visitor(DiscoverVertexVisitor<T>(std::forward<T>(t))); +} + +void TaxiPathGraph::GetReachableNodesMask(TaxiNodesEntry const* from, TaxiMask* mask) +{ + boost::vector_property_map<boost::default_color_type> color(boost::num_vertices(m_graph)); + std::fill(color.storage_begin(), color.storage_end(), boost::white_color); + boost::depth_first_visit(m_graph, GetVertexIDFromNodeID(from), make_discover_vertex_dfs_visitor([this, mask](vertex_descriptor vertex) + { + if (TaxiNodesEntry const* taxiNode = sTaxiNodesStore.LookupEntry(GetNodeIDFromVertexID(vertex))) + (*mask)[(taxiNode->ID - 1) / 8] |= 1 << ((taxiNode->ID - 1) % 8); + }), color); +} + TaxiPathGraph::vertex_descriptor TaxiPathGraph::CreateVertexFromFromNodeInfoIfNeeded(TaxiNodesEntry const* node) { - //Check if we need a new one or if it may be already created - if (m_vertices.size() <= node->CharacterBitNumber) - m_vertices.resize(node->CharacterBitNumber + 1); + auto itr = m_verticesByNode.find(node->ID); + if (itr == m_verticesByNode.end()) + { + itr = m_verticesByNode.emplace(node->ID, m_nodesByVertex.size()).first; + m_nodesByVertex.push_back(node); + } - m_vertices[node->CharacterBitNumber] = node; - return node->CharacterBitNumber; + return itr->second; } uint32 TaxiPathGraph::EdgeCost::EvaluateDistance(Player const* player) const diff --git a/src/server/game/Entities/Taxi/TaxiPathGraph.h b/src/server/game/Entities/Taxi/TaxiPathGraph.h index 5331f12ba49..4f6508e2cfc 100644 --- a/src/server/game/Entities/Taxi/TaxiPathGraph.h +++ b/src/server/game/Entities/Taxi/TaxiPathGraph.h @@ -20,7 +20,10 @@ #include "Position.h" #include "Define.h" +#include "DBCEnums.h" #include <boost/graph/adjacency_list.hpp> +#include <unordered_map> +#include <vector> class Player; struct TaxiNodesEntry; @@ -32,6 +35,7 @@ public: void Initialize(); std::size_t GetCompleteNodeRoute(TaxiNodesEntry const* from, TaxiNodesEntry const* to, Player const* player, std::vector<uint32>& shortestPath); + void GetReachableNodesMask(TaxiNodesEntry const* from, TaxiMask* mask); private: struct EdgeCost @@ -53,10 +57,10 @@ private: vertex_descriptor GetVertexIDFromNodeID(TaxiNodesEntry const* node); uint32 GetNodeIDFromVertexID(vertex_descriptor vertexID); vertex_descriptor CreateVertexFromFromNodeInfoIfNeeded(TaxiNodesEntry const* node); - std::size_t GetVertexCount(); Graph m_graph; - std::vector<TaxiNodesEntry const*> m_vertices; + std::vector<TaxiNodesEntry const*> m_nodesByVertex; + std::unordered_map<uint32, vertex_descriptor> m_verticesByNode; TaxiPathGraph(TaxiPathGraph const&) = delete; TaxiPathGraph& operator=(TaxiPathGraph const&) = delete; diff --git a/src/server/game/Entities/Transport/Transport.cpp b/src/server/game/Entities/Transport/Transport.cpp index 50b1897e2c5..6de4ae21027 100644 --- a/src/server/game/Entities/Transport/Transport.cpp +++ b/src/server/game/Entities/Transport/Transport.cpp @@ -38,7 +38,9 @@ Transport::Transport() : GameObject(), _triggeredArrivalEvent(false), _triggeredDepartureEvent(false), _passengerTeleportItr(_passengers.begin()), _delayedAddModel(false), _delayedTeleport(false) { - m_updateFlag = UPDATEFLAG_TRANSPORT | UPDATEFLAG_STATIONARY_POSITION | UPDATEFLAG_ROTATION; + m_updateFlag.ServerTime = true; + m_updateFlag.Stationary = true; + m_updateFlag.Rotation = true; } Transport::~Transport() diff --git a/src/server/game/Entities/Unit/StatSystem.cpp b/src/server/game/Entities/Unit/StatSystem.cpp index 7e0d38c9875..6d940a91582 100644 --- a/src/server/game/Entities/Unit/StatSystem.cpp +++ b/src/server/game/Entities/Unit/StatSystem.cpp @@ -160,9 +160,9 @@ void Player::ApplySpellPowerBonus(int32 amount, bool apply) apply = _ModifyUInt32(apply, m_baseSpellPower, amount); // For speed just update for client - ApplyModUInt32Value(PLAYER_FIELD_MOD_HEALING_DONE_POS, amount, apply); + ApplyModUInt32Value(ACTIVE_PLAYER_FIELD_MOD_HEALING_DONE_POS, amount, apply); for (int i = SPELL_SCHOOL_HOLY; i < MAX_SPELL_SCHOOL; ++i) - ApplyModUInt32Value(PLAYER_FIELD_MOD_DAMAGE_DONE_POS + i, amount, apply); + ApplyModUInt32Value(ACTIVE_PLAYER_FIELD_MOD_DAMAGE_DONE_POS + i, amount, apply); if (HasAuraType(SPELL_AURA_OVERRIDE_ATTACK_POWER_BY_SP_PCT)) { @@ -176,18 +176,18 @@ void Player::UpdateSpellDamageAndHealingBonus() // Magic damage modifiers implemented in Unit::SpellDamageBonusDone // This information for client side use only // Get healing bonus for all schools - SetStatInt32Value(PLAYER_FIELD_MOD_HEALING_DONE_POS, SpellBaseHealingBonusDone(SPELL_SCHOOL_MASK_ALL)); + SetStatInt32Value(ACTIVE_PLAYER_FIELD_MOD_HEALING_DONE_POS, SpellBaseHealingBonusDone(SPELL_SCHOOL_MASK_ALL)); // Get damage bonus for all schools Unit::AuraEffectList const& modDamageAuras = GetAuraEffectsByType(SPELL_AURA_MOD_DAMAGE_DONE); for (uint16 i = SPELL_SCHOOL_HOLY; i < MAX_SPELL_SCHOOL; ++i) { - SetInt32Value(PLAYER_FIELD_MOD_DAMAGE_DONE_NEG + i, std::accumulate(modDamageAuras.begin(), modDamageAuras.end(), 0, [i](int32 negativeMod, AuraEffect const* aurEff) + SetInt32Value(ACTIVE_PLAYER_FIELD_MOD_DAMAGE_DONE_NEG + i, std::accumulate(modDamageAuras.begin(), modDamageAuras.end(), 0, [i](int32 negativeMod, AuraEffect const* aurEff) { if (aurEff->GetAmount() < 0 && aurEff->GetMiscValue() & (1 << i)) negativeMod += aurEff->GetAmount(); return negativeMod; })); - SetStatInt32Value(PLAYER_FIELD_MOD_DAMAGE_DONE_POS + i, SpellBaseDamageBonusDone(SpellSchoolMask(1 << i)) - GetInt32Value(PLAYER_FIELD_MOD_DAMAGE_DONE_NEG + i)); + SetStatInt32Value(ACTIVE_PLAYER_FIELD_MOD_DAMAGE_DONE_POS + i, SpellBaseDamageBonusDone(SpellSchoolMask(1 << i)) - GetInt32Value(ACTIVE_PLAYER_FIELD_MOD_DAMAGE_DONE_NEG + i)); } if (HasAuraType(SPELL_AURA_OVERRIDE_ATTACK_POWER_BY_SP_PCT)) @@ -231,7 +231,7 @@ bool Player::UpdateAllStats() void Player::ApplySpellPenetrationBonus(int32 amount, bool apply) { - ApplyModInt32Value(PLAYER_FIELD_MOD_TARGET_RESISTANCE, -amount, apply); + ApplyModInt32Value(ACTIVE_PLAYER_FIELD_MOD_TARGET_RESISTANCE, -amount, apply); m_spellPenetrationItemMod += apply ? amount : -amount; } @@ -239,8 +239,7 @@ void Player::UpdateResistances(uint32 school) { if (school > SPELL_SCHOOL_NORMAL) { - float value = GetTotalAuraModValue(UnitMods(UNIT_MOD_RESISTANCE_START + school)); - SetResistance(SpellSchools(school), int32(value)); + Unit::UpdateResistances(school); Pet* pet = GetPet(); if (pet) @@ -255,6 +254,7 @@ void Player::UpdateArmor() UnitMods unitMod = UNIT_MOD_ARMOR; float value = GetModifierValue(unitMod, BASE_VALUE); // base armor (from items) + float baseValue = value; value *= GetModifierValue(unitMod, BASE_PCT); // armor percent from items value += GetModifierValue(unitMod, TOTAL_VALUE); @@ -268,7 +268,7 @@ void Player::UpdateArmor() value *= GetModifierValue(unitMod, TOTAL_PCT); - SetArmor(int32(value)); + SetArmor(int32(baseValue), int32(value - baseValue)); Pet* pet = GetPet(); if (pet) @@ -360,11 +360,11 @@ void Player::UpdateAttackPowerAndDamage(bool ranged) } else { - int32 minSpellPower = GetInt32Value(PLAYER_FIELD_MOD_HEALING_DONE_POS); + int32 minSpellPower = GetInt32Value(ACTIVE_PLAYER_FIELD_MOD_HEALING_DONE_POS); for (int i = SPELL_SCHOOL_HOLY; i < MAX_SPELL_SCHOOL; ++i) - minSpellPower = std::min(minSpellPower, GetInt32Value(PLAYER_FIELD_MOD_DAMAGE_DONE_POS + i)); + minSpellPower = std::min(minSpellPower, GetInt32Value(ACTIVE_PLAYER_FIELD_MOD_DAMAGE_DONE_POS + i)); - val2 = CalculatePct(float(minSpellPower), GetFloatValue(PLAYER_FIELD_OVERRIDE_AP_BY_SPELL_POWER_PERCENT)); + val2 = CalculatePct(float(minSpellPower), GetFloatValue(ACTIVE_PLAYER_FIELD_OVERRIDE_AP_BY_SPELL_POWER_PERCENT)); } SetModifierValue(unitMod, BASE_VALUE, val2); @@ -488,7 +488,7 @@ void Player::UpdateBlockPercentage() value = value < 0.0f ? 0.0f : value; } - SetStatFloatValue(PLAYER_BLOCK_PERCENTAGE, value); + SetStatFloatValue(ACTIVE_PLAYER_FIELD_BLOCK_PERCENTAGE, value); } void Player::UpdateCritPercentage(WeaponAttackType attType) @@ -501,18 +501,18 @@ void Player::UpdateCritPercentage(WeaponAttackType attType) { case OFF_ATTACK: modGroup = OFFHAND_CRIT_PERCENTAGE; - index = PLAYER_OFFHAND_CRIT_PERCENTAGE; + index = ACTIVE_PLAYER_FIELD_OFFHAND_CRIT_PERCENTAGE; cr = CR_CRIT_MELEE; break; case RANGED_ATTACK: modGroup = RANGED_CRIT_PERCENTAGE; - index = PLAYER_RANGED_CRIT_PERCENTAGE; + index = ACTIVE_PLAYER_FIELD_RANGED_CRIT_PERCENTAGE; cr = CR_CRIT_RANGED; break; case BASE_ATTACK: default: modGroup = CRIT_PERCENTAGE; - index = PLAYER_CRIT_PERCENTAGE; + index = ACTIVE_PLAYER_FIELD_CRIT_PERCENTAGE; cr = CR_CRIT_MELEE; break; } @@ -545,13 +545,13 @@ void Player::UpdateMastery() { if (!CanUseMastery()) { - SetFloatValue(PLAYER_MASTERY, 0.0f); + SetFloatValue(ACTIVE_PLAYER_FIELD_MASTERY, 0.0f); return; } float value = GetTotalAuraModifier(SPELL_AURA_MASTERY); value += GetRatingBonusValue(CR_MASTERY); - SetFloatValue(PLAYER_MASTERY, value); + SetFloatValue(ACTIVE_PLAYER_FIELD_MASTERY, value); ChrSpecializationEntry const* chrSpec = sChrSpecializationStore.LookupEntry(GetUInt32Value(PLAYER_FIELD_CURRENT_SPEC_ID)); if (!chrSpec) @@ -579,7 +579,7 @@ void Player::UpdateMastery() void Player::UpdateVersatilityDamageDone() { // No proof that CR_VERSATILITY_DAMAGE_DONE is allways = PLAYER_VERSATILITY - SetUInt32Value(PLAYER_VERSATILITY, GetUInt32Value(PLAYER_FIELD_COMBAT_RATING_1 + CR_VERSATILITY_DAMAGE_DONE)); + SetUInt32Value(ACTIVE_PLAYER_FIELD_VERSATILITY, GetUInt32Value(ACTIVE_PLAYER_FIELD_COMBAT_RATING + CR_VERSATILITY_DAMAGE_DONE)); if (getClass() == CLASS_HUNTER) UpdateDamagePhysical(RANGED_ATTACK); @@ -596,7 +596,7 @@ void Player::UpdateHealingDonePercentMod() for (AuraEffect const* auraEffect : GetAuraEffectsByType(SPELL_AURA_MOD_HEALING_DONE_PERCENT)) AddPct(value, auraEffect->GetAmount()); - SetStatFloatValue(PLAYER_FIELD_MOD_HEALING_DONE_PCT, value); + SetStatFloatValue(ACTIVE_PLAYER_FIELD_MOD_HEALING_DONE_PCT, value); } const float m_diminishing_k[MAX_CLASSES] = @@ -651,7 +651,7 @@ void Player::UpdateParryPercentage() value = value < 0.0f ? 0.0f : value; } - SetStatFloatValue(PLAYER_PARRY_PERCENTAGE, value); + SetStatFloatValue(ACTIVE_PLAYER_FIELD_PARRY_PERCENTAGE, value); } void Player::UpdateDodgePercentage() @@ -686,7 +686,7 @@ void Player::UpdateDodgePercentage() value = value > sWorld->getFloatConfig(CONFIG_STATS_LIMITS_DODGE) ? sWorld->getFloatConfig(CONFIG_STATS_LIMITS_DODGE) : value; value = value < 0.0f ? 0.0f : value; - SetStatFloatValue(PLAYER_DODGE_PERCENTAGE, value); + SetStatFloatValue(ACTIVE_PLAYER_FIELD_DODGE_PERCENTAGE, value); } void Player::UpdateSpellCritChance() @@ -700,13 +700,13 @@ void Player::UpdateSpellCritChance() crit += GetRatingBonusValue(CR_CRIT_SPELL); // Store crit value - SetFloatValue(PLAYER_SPELL_CRIT_PERCENTAGE1, crit); + SetFloatValue(ACTIVE_PLAYER_FIELD_SPELL_CRIT_PERCENTAGE1, crit); } void Player::UpdateArmorPenetration(int32 amount) { // Store Rating Value - SetUInt32Value(PLAYER_FIELD_COMBAT_RATING_1 + CR_ARMOR_PENETRATION, amount); + SetUInt32Value(ACTIVE_PLAYER_FIELD_COMBAT_RATING + CR_ARMOR_PENETRATION, amount); } void Player::UpdateMeleeHitChances() @@ -746,10 +746,10 @@ void Player::UpdateExpertise(WeaponAttackType attack) switch (attack) { case BASE_ATTACK: - SetUInt32Value(PLAYER_EXPERTISE, expertise); + SetUInt32Value(ACTIVE_PLAYER_FIELD_EXPERTISE, expertise); break; case OFF_ATTACK: - SetUInt32Value(PLAYER_OFFHAND_EXPERTISE, expertise); + SetUInt32Value(ACTIVE_PLAYER_FIELD_OFFHAND_EXPERTISE, expertise); break; default: break; @@ -855,21 +855,11 @@ bool Creature::UpdateAllStats() return true; } -void Creature::UpdateResistances(uint32 school) -{ - if (school > SPELL_SCHOOL_NORMAL) - { - float value = GetTotalAuraModValue(UnitMods(UNIT_MOD_RESISTANCE_START + school)); - SetResistance(SpellSchools(school), int32(value)); - } - else - UpdateArmor(); -} - void Creature::UpdateArmor() { + float baseValue = GetModifierValue(UNIT_MOD_ARMOR, BASE_VALUE); float value = GetTotalAuraModValue(UNIT_MOD_ARMOR); - SetArmor(int32(value)); + SetArmor(int32(baseValue), int32(value - baseValue)); } void Creature::UpdateMaxHealth() @@ -1077,13 +1067,18 @@ void Guardian::UpdateResistances(uint32 school) { if (school > SPELL_SCHOOL_NORMAL) { - float value = GetTotalAuraModValue(UnitMods(UNIT_MOD_RESISTANCE_START + school)); + float baseValue = GetModifierValue(UnitMods(UNIT_MOD_RESISTANCE_START + school), BASE_VALUE); + float bonusValue = GetTotalAuraModValue(UnitMods(UNIT_MOD_RESISTANCE_START + school)) - baseValue; // hunter and warlock pets gain 40% of owner's resistance if (IsPet()) - value += float(CalculatePct(m_owner->GetResistance(SpellSchools(school)), 40)); + { + baseValue += float(CalculatePct(m_owner->GetResistance(SpellSchools(school)), 40)); + bonusValue += float(CalculatePct(m_owner->GetBonusResistanceMod(SpellSchools(school)), 40)); + } - SetResistance(SpellSchools(school), int32(value)); + SetResistance(SpellSchools(school), int32(baseValue)); + SetBonusResistanceMod(SpellSchools(school), int32(bonusValue)); } else UpdateArmor(); @@ -1091,6 +1086,7 @@ void Guardian::UpdateResistances(uint32 school) void Guardian::UpdateArmor() { + float baseValue = 0.0f; float value = 0.0f; float bonus_armor = 0.0f; UnitMods unitMod = UNIT_MOD_ARMOR; @@ -1102,11 +1098,12 @@ void Guardian::UpdateArmor() bonus_armor = m_owner->GetArmor(); value = GetModifierValue(unitMod, BASE_VALUE); + baseValue = value; value *= GetModifierValue(unitMod, BASE_PCT); value += GetModifierValue(unitMod, TOTAL_VALUE) + bonus_armor; value *= GetModifierValue(unitMod, TOTAL_PCT); - SetArmor(int32(value)); + SetArmor(int32(baseValue), int32(value - baseValue)); } void Guardian::UpdateMaxHealth() @@ -1186,8 +1183,8 @@ void Guardian::UpdateAttackPowerAndDamage(bool ranged) //demons benefit from warlocks shadow or fire damage else if (IsPet()) { - int32 fire = owner->GetInt32Value(PLAYER_FIELD_MOD_DAMAGE_DONE_POS + SPELL_SCHOOL_FIRE) - owner->GetInt32Value(PLAYER_FIELD_MOD_DAMAGE_DONE_NEG + SPELL_SCHOOL_FIRE); - int32 shadow = owner->GetInt32Value(PLAYER_FIELD_MOD_DAMAGE_DONE_POS + SPELL_SCHOOL_SHADOW) - owner->GetInt32Value(PLAYER_FIELD_MOD_DAMAGE_DONE_NEG + SPELL_SCHOOL_SHADOW); + int32 fire = owner->GetInt32Value(ACTIVE_PLAYER_FIELD_MOD_DAMAGE_DONE_POS + SPELL_SCHOOL_FIRE) - owner->GetInt32Value(ACTIVE_PLAYER_FIELD_MOD_DAMAGE_DONE_NEG + SPELL_SCHOOL_FIRE); + int32 shadow = owner->GetInt32Value(ACTIVE_PLAYER_FIELD_MOD_DAMAGE_DONE_POS + SPELL_SCHOOL_SHADOW) - owner->GetInt32Value(ACTIVE_PLAYER_FIELD_MOD_DAMAGE_DONE_NEG + SPELL_SCHOOL_SHADOW); int32 maximum = (fire > shadow) ? fire : shadow; if (maximum < 0) maximum = 0; @@ -1197,7 +1194,7 @@ void Guardian::UpdateAttackPowerAndDamage(bool ranged) //water elementals benefit from mage's frost damage else if (GetEntry() == ENTRY_WATER_ELEMENTAL) { - int32 frost = owner->GetInt32Value(PLAYER_FIELD_MOD_DAMAGE_DONE_POS + SPELL_SCHOOL_FROST) - owner->GetInt32Value(PLAYER_FIELD_MOD_DAMAGE_DONE_NEG + SPELL_SCHOOL_FROST); + int32 frost = owner->GetInt32Value(ACTIVE_PLAYER_FIELD_MOD_DAMAGE_DONE_POS + SPELL_SCHOOL_FROST) - owner->GetInt32Value(ACTIVE_PLAYER_FIELD_MOD_DAMAGE_DONE_NEG + SPELL_SCHOOL_FROST); if (frost < 0) frost = 0; SetBonusDamage(int32(frost * 0.4f)); @@ -1230,14 +1227,14 @@ void Guardian::UpdateDamagePhysical(WeaponAttackType attType) //force of nature if (GetEntry() == ENTRY_TREANT) { - int32 spellDmg = m_owner->GetInt32Value(PLAYER_FIELD_MOD_DAMAGE_DONE_POS + SPELL_SCHOOL_NATURE) - m_owner->GetInt32Value(PLAYER_FIELD_MOD_DAMAGE_DONE_NEG + SPELL_SCHOOL_NATURE); + int32 spellDmg = m_owner->GetInt32Value(ACTIVE_PLAYER_FIELD_MOD_DAMAGE_DONE_POS + SPELL_SCHOOL_NATURE) - m_owner->GetInt32Value(ACTIVE_PLAYER_FIELD_MOD_DAMAGE_DONE_NEG + SPELL_SCHOOL_NATURE); if (spellDmg > 0) bonusDamage = spellDmg * 0.09f; } //greater fire elemental else if (GetEntry() == ENTRY_FIRE_ELEMENTAL) { - int32 spellDmg = m_owner->GetInt32Value(PLAYER_FIELD_MOD_DAMAGE_DONE_POS + SPELL_SCHOOL_FIRE) - m_owner->GetInt32Value(PLAYER_FIELD_MOD_DAMAGE_DONE_NEG + SPELL_SCHOOL_FIRE); + int32 spellDmg = m_owner->GetInt32Value(ACTIVE_PLAYER_FIELD_MOD_DAMAGE_DONE_POS + SPELL_SCHOOL_FIRE) - m_owner->GetInt32Value(ACTIVE_PLAYER_FIELD_MOD_DAMAGE_DONE_NEG + SPELL_SCHOOL_FIRE); if (spellDmg > 0) bonusDamage = spellDmg * 0.4f; } @@ -1266,5 +1263,5 @@ void Guardian::SetBonusDamage(int32 damage) { m_bonusSpellDamage = damage; if (GetOwner()->GetTypeId() == TYPEID_PLAYER) - GetOwner()->SetUInt32Value(PLAYER_PET_SPELL_POWER, damage); + GetOwner()->SetUInt32Value(ACTIVE_PLAYER_FIELD_PET_SPELL_POWER, damage); } diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp index bd375f96b6c..8261a97c32a 100644 --- a/src/server/game/Entities/Unit/Unit.cpp +++ b/src/server/game/Entities/Unit/Unit.cpp @@ -111,13 +111,13 @@ bool DispelableAura::RollDispel() const } DamageInfo::DamageInfo(Unit* attacker, Unit* victim, uint32 damage, SpellInfo const* spellInfo, SpellSchoolMask schoolMask, DamageEffectType damageType, WeaponAttackType attackType) - : m_attacker(attacker), m_victim(victim), m_damage(damage), m_spellInfo(spellInfo), m_schoolMask(schoolMask), m_damageType(damageType), m_attackType(attackType), + : m_attacker(attacker), m_victim(victim), m_damage(damage), m_originalDamage(damage), m_spellInfo(spellInfo), m_schoolMask(schoolMask), m_damageType(damageType), m_attackType(attackType), m_absorb(0), m_resist(0), m_block(0), m_hitMask(0) { } DamageInfo::DamageInfo(CalcDamageInfo const& dmgInfo) - : m_attacker(dmgInfo.attacker), m_victim(dmgInfo.target), m_damage(dmgInfo.damage), m_spellInfo(nullptr), m_schoolMask(SpellSchoolMask(dmgInfo.damageSchoolMask)), + : m_attacker(dmgInfo.attacker), m_victim(dmgInfo.target), m_damage(dmgInfo.damage), m_originalDamage(dmgInfo.damage), m_spellInfo(nullptr), m_schoolMask(SpellSchoolMask(dmgInfo.damageSchoolMask)), m_damageType(DIRECT_DAMAGE), m_attackType(dmgInfo.attackType), m_absorb(dmgInfo.absorb), m_resist(dmgInfo.resist), m_block(dmgInfo.blocked_amount), m_hitMask(0) { switch (dmgInfo.TargetState) @@ -171,7 +171,7 @@ DamageInfo::DamageInfo(CalcDamageInfo const& dmgInfo) } DamageInfo::DamageInfo(SpellNonMeleeDamage const& spellNonMeleeDamage, DamageEffectType damageType, WeaponAttackType attackType, uint32 hitMask) - : m_attacker(spellNonMeleeDamage.attacker), m_victim(spellNonMeleeDamage.target), m_damage(spellNonMeleeDamage.damage), + : m_attacker(spellNonMeleeDamage.attacker), m_victim(spellNonMeleeDamage.target), m_damage(spellNonMeleeDamage.damage), m_originalDamage(spellNonMeleeDamage.originalDamage), m_spellInfo(sSpellMgr->GetSpellInfo(spellNonMeleeDamage.SpellID)), m_schoolMask(SpellSchoolMask(spellNonMeleeDamage.schoolMask)), m_damageType(damageType), m_attackType(attackType), m_absorb(spellNonMeleeDamage.absorb), m_resist(spellNonMeleeDamage.resist), m_block(spellNonMeleeDamage.blocked), m_hitMask(hitMask) { @@ -226,7 +226,7 @@ uint32 DamageInfo::GetHitMask() const } HealInfo::HealInfo(Unit* healer, Unit* target, uint32 heal, SpellInfo const* spellInfo, SpellSchoolMask schoolMask) - : _healer(healer), _target(target), _heal(heal), _effectiveHeal(0), _absorb(0), _spellInfo(spellInfo), _schoolMask(schoolMask), _hitMask(0) + : _healer(healer), _target(target), _heal(heal), _originalHeal(heal), _effectiveHeal(0), _absorb(0), _spellInfo(spellInfo), _schoolMask(schoolMask), _hitMask(0) { } @@ -279,8 +279,8 @@ SpellSchoolMask ProcEventInfo::GetSchoolMask() const } SpellNonMeleeDamage::SpellNonMeleeDamage(Unit* _attacker, Unit* _target, uint32 _SpellID, uint32 _SpellXSpellVisualID, uint32 _schoolMask, ObjectGuid _castId) - : target(_target), attacker(_attacker), castId(_castId), SpellID(_SpellID), SpellXSpellVisualID(_SpellXSpellVisualID), damage(0), schoolMask(_schoolMask), - absorb(0), resist(0), periodicLog(false), blocked(0), HitInfo(0), cleanDamage(0), fullBlock(false), preHitHealth(_target->GetHealth()) + : target(_target), attacker(_attacker), castId(_castId), SpellID(_SpellID), SpellXSpellVisualID(_SpellXSpellVisualID), damage(0), originalDamage(0), + schoolMask(_schoolMask), absorb(0), resist(0), periodicLog(false), blocked(0), HitInfo(0), cleanDamage(0), fullBlock(false), preHitHealth(_target->GetHealth()) { } @@ -297,7 +297,7 @@ Unit::Unit(bool isWorldObject) : m_objectType |= TYPEMASK_UNIT; m_objectTypeId = TYPEID_UNIT; - m_updateFlag = UPDATEFLAG_LIVING; + m_updateFlag.MovementUpdate = true; for (uint32 i = 0; i < MAX_ATTACK; ++i) { @@ -1181,6 +1181,7 @@ void Unit::CalculateSpellDamageTaken(SpellNonMeleeDamage* damageInfo, int32 dama damage = 0; damageInfo->damage = damage; + damageInfo->originalDamage = damage; DamageInfo dmgInfo(*damageInfo, SPELL_DIRECT_DAMAGE, BASE_ATTACK, PROC_HIT_NONE); CalcAbsorbResist(dmgInfo); damageInfo->absorb = dmgInfo.GetAbsorb(); @@ -1227,6 +1228,7 @@ void Unit::CalculateMeleeDamage(Unit* victim, uint32 damage, CalcDamageInfo* dam damageInfo->damageSchoolMask = GetMeleeDamageSchoolMask(); damageInfo->attackType = attackType; damageInfo->damage = 0; + damageInfo->originalDamage = 0; damageInfo->cleanDamage = 0; damageInfo->absorb = 0; damageInfo->resist = 0; @@ -1295,17 +1297,20 @@ void Unit::CalculateMeleeDamage(Unit* victim, uint32 damage, CalcDamageInfo* dam case MELEE_HIT_EVADE: damageInfo->HitInfo |= HITINFO_MISS | HITINFO_SWINGNOHITSOUND; damageInfo->TargetState = VICTIMSTATE_EVADES; + damageInfo->originalDamage = damageInfo->damage; damageInfo->damage = 0; damageInfo->cleanDamage = 0; return; case MELEE_HIT_MISS: damageInfo->HitInfo |= HITINFO_MISS; damageInfo->TargetState = VICTIMSTATE_INTACT; + damageInfo->originalDamage = damageInfo->damage; damageInfo->damage = 0; damageInfo->cleanDamage = 0; break; case MELEE_HIT_NORMAL: damageInfo->TargetState = VICTIMSTATE_HIT; + damageInfo->originalDamage = damageInfo->damage; break; case MELEE_HIT_CRIT: { @@ -1320,21 +1325,26 @@ void Unit::CalculateMeleeDamage(Unit* victim, uint32 damage, CalcDamageInfo* dam if (mod != 0) AddPct(damageInfo->damage, mod); + + damageInfo->originalDamage = damageInfo->damage; break; } case MELEE_HIT_PARRY: damageInfo->TargetState = VICTIMSTATE_PARRY; + damageInfo->originalDamage = damageInfo->damage; damageInfo->cleanDamage += damageInfo->damage; damageInfo->damage = 0; break; case MELEE_HIT_DODGE: damageInfo->TargetState = VICTIMSTATE_DODGE; + damageInfo->originalDamage = damageInfo->damage; damageInfo->cleanDamage += damageInfo->damage; damageInfo->damage = 0; break; case MELEE_HIT_BLOCK: damageInfo->TargetState = VICTIMSTATE_HIT; damageInfo->HitInfo |= HITINFO_BLOCK; + damageInfo->originalDamage = damageInfo->damage; // 30% damage blocked, double blocked amount if block is critical damageInfo->blocked_amount = CalculatePct(damageInfo->damage, damageInfo->target->isBlockCritical() ? damageInfo->target->GetBlockPercent() * 2 : damageInfo->target->GetBlockPercent()); damageInfo->damage -= damageInfo->blocked_amount; @@ -1344,6 +1354,7 @@ void Unit::CalculateMeleeDamage(Unit* victim, uint32 damage, CalcDamageInfo* dam { damageInfo->HitInfo |= HITINFO_GLANCING; damageInfo->TargetState = VICTIMSTATE_HIT; + damageInfo->originalDamage = damageInfo->damage; int32 leveldif = int32(victim->getLevel()) - int32(getLevel()); if (leveldif > 3) leveldif = 3; @@ -1358,6 +1369,7 @@ void Unit::CalculateMeleeDamage(Unit* victim, uint32 damage, CalcDamageInfo* dam damageInfo->TargetState = VICTIMSTATE_HIT; // 150% normal damage damageInfo->damage += (damageInfo->damage / 2); + damageInfo->originalDamage = damageInfo->damage; break; default: break; @@ -1372,6 +1384,7 @@ void Unit::CalculateMeleeDamage(Unit* victim, uint32 damage, CalcDamageInfo* dam resilienceReduction = damageInfo->damage - resilienceReduction; damageInfo->damage -= resilienceReduction; damageInfo->cleanDamage += resilienceReduction; + damageInfo->originalDamage -= resilienceReduction; // Calculate absorb resist if (int32(damageInfo->damage) > 0) @@ -1514,7 +1527,6 @@ void Unit::DealMeleeDamage(CalcDamageInfo* damageInfo, bool durabilityLoss) DamageInfo damageInfo(this, victim, damage, spellInfo, spellInfo->GetSchoolMask(), SPELL_DIRECT_DAMAGE, BASE_ATTACK); victim->CalcAbsorbResist(damageInfo); damage = damageInfo.GetDamage(); - // No Unit::CalcAbsorbResist here - opcode doesn't send that data - this damage is probably not affected by that victim->DealDamageMods(this, damage, nullptr); WorldPackets::CombatLog::SpellDamageShield damageShield; @@ -1522,6 +1534,7 @@ void Unit::DealMeleeDamage(CalcDamageInfo* damageInfo, bool durabilityLoss) damageShield.Defender = GetGUID(); damageShield.SpellID = spellInfo->Id; damageShield.TotalDamage = damage; + damageShield.OriginalDamage = damageInfo.GetOriginalDamage(); damageShield.OverKill = std::max(int32(damage) - int32(GetHealth()), 0); damageShield.SchoolMask = spellInfo->SchoolMask; damageShield.LogAbsorbed = damageInfo.GetAbsorb(); @@ -1881,6 +1894,7 @@ void Unit::CalcAbsorbResist(DamageInfo& damageInfo) CleanDamage cleanDamage = CleanDamage(splitDamage, 0, BASE_ATTACK, MELEE_HIT_NORMAL); DealDamage(caster, splitDamage, &cleanDamage, DIRECT_DAMAGE, damageInfo.GetSchoolMask(), (*itr)->GetSpellInfo(), false); log.damage = splitDamage; + log.originalDamage = splitDamage; log.absorb = split_absorb; SendSpellNonMeleeDamageLog(&log); @@ -2016,6 +2030,7 @@ void Unit::FakeAttackerStateUpdate(Unit* victim, WeaponAttackType attType /*= BA damageInfo.damageSchoolMask = GetMeleeDamageSchoolMask(); damageInfo.attackType = attType; damageInfo.damage = 0; + damageInfo.originalDamage = 0; damageInfo.cleanDamage = 0; damageInfo.absorb = 0; damageInfo.resist = 0; @@ -2573,7 +2588,7 @@ float Unit::GetUnitDodgeChance(WeaponAttackType attType, Unit const* victim) con float chance = 0.0f; float levelBonus = 0.0f; if (victim->GetTypeId() == TYPEID_PLAYER) - chance = victim->GetFloatValue(PLAYER_DODGE_PERCENTAGE); + chance = victim->GetFloatValue(ACTIVE_PLAYER_FIELD_DODGE_PERCENTAGE); else { if (!victim->IsTotem()) @@ -2617,7 +2632,7 @@ float Unit::GetUnitParryChance(WeaponAttackType attType, Unit const* victim) con tmpitem = playerVictim->GetWeaponForAttack(OFF_ATTACK, true); if (tmpitem) - chance = playerVictim->GetFloatValue(PLAYER_PARRY_PERCENTAGE); + chance = playerVictim->GetFloatValue(ACTIVE_PLAYER_FIELD_PARRY_PERCENTAGE); } } else @@ -2666,7 +2681,7 @@ float Unit::GetUnitBlockChance(WeaponAttackType /*attType*/, Unit const* victim) { Item* tmpitem = playerVictim->GetUseableItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_OFFHAND); if (tmpitem && !tmpitem->IsBroken() && tmpitem->GetTemplate()->GetInventoryType() == INVTYPE_SHIELD) - chance = playerVictim->GetFloatValue(PLAYER_BLOCK_PERCENTAGE); + chance = playerVictim->GetFloatValue(ACTIVE_PLAYER_FIELD_BLOCK_PERCENTAGE); } } else @@ -2693,13 +2708,13 @@ float Unit::GetUnitCriticalChance(WeaponAttackType attackType, Unit const* victi switch (attackType) { case BASE_ATTACK: - chance = GetFloatValue(PLAYER_CRIT_PERCENTAGE); + chance = GetFloatValue(ACTIVE_PLAYER_FIELD_CRIT_PERCENTAGE); break; case OFF_ATTACK: - chance = GetFloatValue(PLAYER_OFFHAND_CRIT_PERCENTAGE); + chance = GetFloatValue(ACTIVE_PLAYER_FIELD_OFFHAND_CRIT_PERCENTAGE); break; case RANGED_ATTACK: - chance = GetFloatValue(PLAYER_RANGED_CRIT_PERCENTAGE); + chance = GetFloatValue(ACTIVE_PLAYER_FIELD_RANGED_CRIT_PERCENTAGE); break; // Just for good manner default: @@ -4724,26 +4739,6 @@ int32 Unit::GetMaxNegativeAuraModifierByAffectMask(AuraType auratype, SpellInfo }); } -float Unit::GetResistanceBuffMods(SpellSchools school, bool positive) const -{ - return GetFloatValue(positive ? UNIT_FIELD_RESISTANCEBUFFMODSPOSITIVE+school : UNIT_FIELD_RESISTANCEBUFFMODSNEGATIVE+school); -} - -void Unit::SetResistanceBuffMods(SpellSchools school, bool positive, float val) -{ - SetFloatValue(positive ? UNIT_FIELD_RESISTANCEBUFFMODSPOSITIVE+school : UNIT_FIELD_RESISTANCEBUFFMODSNEGATIVE+school, val); -} - -void Unit::ApplyResistanceBuffModsMod(SpellSchools school, bool positive, float val, bool apply) -{ - ApplyModSignedFloatValue(positive ? UNIT_FIELD_RESISTANCEBUFFMODSPOSITIVE+school : UNIT_FIELD_RESISTANCEBUFFMODSNEGATIVE+school, val, apply); -} - -void Unit::ApplyResistanceBuffModsPercentMod(SpellSchools school, bool positive, float val, bool apply) -{ - ApplyPercentModFloatValue(positive ? UNIT_FIELD_RESISTANCEBUFFMODSPOSITIVE+school : UNIT_FIELD_RESISTANCEBUFFMODSNEGATIVE+school, val, apply); -} - void Unit::InitStatBuffMods() { for (uint8 i = STAT_STRENGTH; i < MAX_STATS; ++i) @@ -5005,6 +5000,7 @@ void Unit::SendSpellNonMeleeDamageLog(SpellNonMeleeDamage const* log) packet.CastID = log->castId; packet.SpellID = log->SpellID; packet.Damage = log->damage; + packet.OriginalDamage = log->originalDamage; if (log->damage > log->preHitHealth) packet.Overkill = log->damage - log->preHitHealth; else @@ -5017,9 +5013,9 @@ void Unit::SendSpellNonMeleeDamageLog(SpellNonMeleeDamage const* log) packet.Periodic = log->periodicLog; packet.Flags = log->HitInfo; - WorldPackets::Spells::SandboxScalingData sandboxScalingData; - if (sandboxScalingData.GenerateDataForUnits(log->attacker, log->target)) - packet.SandboxScaling = sandboxScalingData; + WorldPackets::Spells::ContentTuningParams contentTuningParams; + if (contentTuningParams.GenerateDataForUnits(log->attacker, log->target)) + packet.ContentTuning = contentTuningParams; SendCombatLogMessage(&packet); } @@ -5045,10 +5041,10 @@ void Unit::SendPeriodicAuraLog(SpellPeriodicAuraLogInfo* info) data.SpellID = aura->GetId(); data.LogData.Initialize(this); - /// @todo: should send more logs in one packet when multistrike WorldPackets::CombatLog::SpellPeriodicAuraLog::SpellLogEffect spellLogEffect; spellLogEffect.Effect = aura->GetAuraType(); spellLogEffect.Amount = info->damage; + spellLogEffect.OriginalDamage = info->originalDamage; spellLogEffect.OverHealOrKill = info->overDamage; spellLogEffect.SchoolMaskOrPower = aura->GetSpellInfo()->GetSchoolMask(); spellLogEffect.AbsorbedOrAmplitude = info->absorb; @@ -5056,10 +5052,10 @@ void Unit::SendPeriodicAuraLog(SpellPeriodicAuraLogInfo* info) spellLogEffect.Crit = info->critical; /// @todo: implement debug info - WorldPackets::Spells::SandboxScalingData sandboxScalingData; + WorldPackets::Spells::ContentTuningParams contentTuningParams; if (Unit* caster = ObjectAccessor::GetUnit(*this, aura->GetCasterGUID())) - if (sandboxScalingData.GenerateDataForUnits(caster, this)) - spellLogEffect.SandboxScaling = sandboxScalingData; + if (contentTuningParams.GenerateDataForUnits(caster, this)) + spellLogEffect.ContentTuning = contentTuningParams; data.Effects.push_back(spellLogEffect); @@ -5101,6 +5097,7 @@ void Unit::SendAttackStateUpdate(CalcDamageInfo* damageInfo) packet.AttackerGUID = damageInfo->attacker->GetGUID(); packet.VictimGUID = damageInfo->target->GetGUID(); packet.Damage = damageInfo->damage; + packet.OriginalDamage = damageInfo->originalDamage; int32 overkill = damageInfo->damage - damageInfo->target->GetHealth(); packet.OverDamage = (overkill < 0 ? -1 : overkill); @@ -5116,9 +5113,9 @@ void Unit::SendAttackStateUpdate(CalcDamageInfo* damageInfo) packet.LogData.Initialize(damageInfo->attacker); - WorldPackets::Spells::SandboxScalingData sandboxScalingData; - if (sandboxScalingData.GenerateDataForUnits(damageInfo->attacker, damageInfo->target)) - packet.SandboxScaling = sandboxScalingData; + WorldPackets::Spells::ContentTuningParams contentTuningParams; + if (contentTuningParams.GenerateDataForUnits(damageInfo->attacker, damageInfo->target)) + packet.ContentTuning = contentTuningParams; SendCombatLogMessage(&packet); } @@ -5130,6 +5127,7 @@ void Unit::SendAttackStateUpdate(uint32 HitInfo, Unit* target, uint8 /*SwingType dmgInfo.attacker = this; dmgInfo.target = target; dmgInfo.damage = Damage - AbsorbDamage - Resist - BlockedAmount; + dmgInfo.originalDamage = Damage; dmgInfo.damageSchoolMask = damageSchoolMask; dmgInfo.absorb = AbsorbDamage; dmgInfo.resist = Resist; @@ -5899,7 +5897,7 @@ void Unit::SetMinion(Minion *minion, bool apply) { SetCritterGUID(minion->GetGUID()); if (GetTypeId() == TYPEID_PLAYER) - minion->SetGuidValue(UNIT_FIELD_BATTLE_PET_COMPANION_GUID, GetGuidValue(PLAYER_FIELD_SUMMONED_BATTLE_PET_ID)); + minion->SetGuidValue(UNIT_FIELD_BATTLE_PET_COMPANION_GUID, GetGuidValue(ACTIVE_PLAYER_FIELD_SUMMONED_BATTLE_PET_ID)); } // PvP, FFAPvP @@ -6354,32 +6352,12 @@ void Unit::SendHealSpellLog(HealInfo& healInfo, bool critical /*= false*/) spellHealLog.TargetGUID = healInfo.GetTarget()->GetGUID(); spellHealLog.CasterGUID = healInfo.GetHealer()->GetGUID(); - spellHealLog.SpellID = healInfo.GetSpellInfo()->Id; spellHealLog.Health = healInfo.GetHeal(); + spellHealLog.OriginalHeal = healInfo.GetOriginalHeal(); spellHealLog.OverHeal = int32(healInfo.GetHeal()) - healInfo.GetEffectiveHeal(); spellHealLog.Absorbed = healInfo.GetAbsorb(); - spellHealLog.Crit = critical; - - /// @todo: 6.x Has to be implemented - /* - packet.ReadBit("Multistrike"); - - var hasCritRollMade = packet.ReadBit("HasCritRollMade"); - var hasCritRollNeeded = packet.ReadBit("HasCritRollNeeded"); - var hasLogData = packet.ReadBit("HasLogData"); - - if (hasCritRollMade) - packet.ReadSingle("CritRollMade"); - - if (hasCritRollNeeded) - packet.ReadSingle("CritRollNeeded"); - - if (hasLogData) - SpellParsers.ReadSpellCastLogData(packet); - */ - spellHealLog.LogData.Initialize(healInfo.GetTarget()); SendCombatLogMessage(&spellHealLog); } @@ -6514,7 +6492,7 @@ float Unit::SpellDamagePctDone(Unit* victim, SpellInfo const* spellProto, Damage { for (uint32 i = 0; i < MAX_SPELL_SCHOOL; ++i) if (spellProto->GetSchoolMask() & (1 << i)) - maxModDamagePercentSchool = std::max(maxModDamagePercentSchool, GetFloatValue(PLAYER_FIELD_MOD_DAMAGE_DONE_PCT + i)); + maxModDamagePercentSchool = std::max(maxModDamagePercentSchool, GetFloatValue(ACTIVE_PLAYER_FIELD_MOD_DAMAGE_DONE_PCT + i)); } else maxModDamagePercentSchool = GetTotalAuraMultiplierByMiscMask(SPELL_AURA_MOD_DAMAGE_PERCENT_DONE, spellProto->GetSchoolMask()); @@ -6654,7 +6632,7 @@ int32 Unit::SpellBaseDamageBonusDone(SpellSchoolMask schoolMask) const { if (GetTypeId() == TYPEID_PLAYER) { - float overrideSP = GetFloatValue(PLAYER_FIELD_OVERRIDE_SPELL_POWER_BY_AP_PCT); + float overrideSP = GetFloatValue(ACTIVE_PLAYER_FIELD_OVERRIDE_SPELL_POWER_BY_AP_PCT); if (overrideSP > 0.0f) return int32(CalculatePct(GetTotalAttackPowerValue(BASE_ATTACK), overrideSP) + 0.5f); } @@ -6734,7 +6712,7 @@ float Unit::GetUnitSpellCriticalChance(Unit* victim, SpellInfo const* spellProto crit_chance = 0.0f; // For other schools else if (GetTypeId() == TYPEID_PLAYER) - crit_chance = GetFloatValue(PLAYER_SPELL_CRIT_PERCENTAGE1); + crit_chance = GetFloatValue(ACTIVE_PLAYER_FIELD_SPELL_CRIT_PERCENTAGE1); else crit_chance = (float)m_baseSpellCritChance; // taken @@ -6975,7 +6953,7 @@ float Unit::SpellHealingPctDone(Unit* /*victim*/, SpellInfo const* spellProto) c return 1.0f; if (IsPlayer()) - return GetFloatValue(PLAYER_FIELD_MOD_HEALING_DONE_PCT); + return GetFloatValue(ACTIVE_PLAYER_FIELD_MOD_HEALING_DONE_PCT); float DoneTotalMod = 1.0f; @@ -7074,7 +7052,7 @@ int32 Unit::SpellBaseHealingBonusDone(SpellSchoolMask schoolMask) const { if (GetTypeId() == TYPEID_PLAYER) { - float overrideSP = GetFloatValue(PLAYER_FIELD_OVERRIDE_SPELL_POWER_BY_AP_PCT); + float overrideSP = GetFloatValue(ACTIVE_PLAYER_FIELD_OVERRIDE_SPELL_POWER_BY_AP_PCT); if (overrideSP > 0.0f) return int32(CalculatePct(GetTotalAttackPowerValue(BASE_ATTACK), overrideSP) + 0.5f); } @@ -7346,7 +7324,7 @@ uint32 Unit::MeleeDamageBonusDone(Unit* victim, uint32 pdamage, WeaponAttackType { for (uint32 i = SPELL_SCHOOL_HOLY; i < MAX_SPELL_SCHOOL; ++i) if (spellProto->GetSchoolMask() & (1 << i)) - maxModDamagePercentSchool = std::max(maxModDamagePercentSchool, GetFloatValue(PLAYER_FIELD_MOD_DAMAGE_DONE_PCT + i)); + maxModDamagePercentSchool = std::max(maxModDamagePercentSchool, GetFloatValue(ACTIVE_PLAYER_FIELD_MOD_DAMAGE_DONE_PCT + i)); } else maxModDamagePercentSchool = GetTotalAuraMultiplierByMiscMask(SPELL_AURA_MOD_DAMAGE_PERCENT_DONE, spellProto->GetSchoolMask()); @@ -9337,6 +9315,19 @@ Stats Unit::GetStatByAuraGroup(UnitMods unitMod) const return stat; } +void Unit::UpdateResistances(uint32 school) +{ + if (school > SPELL_SCHOOL_NORMAL) + { + UnitMods unitMod = UnitMods(UNIT_MOD_RESISTANCE_START + school); + + SetResistance(SpellSchools(school), int32(m_auraModifiersGroup[unitMod][BASE_VALUE])); + SetBonusResistanceMod(SpellSchools(school), int32(GetTotalAuraModValue(unitMod) - GetResistance(SpellSchools(school)))); + } + else + UpdateArmor(); +} + float Unit::GetTotalAttackPowerValue(WeaponAttackType attType) const { if (attType == RANGED_ATTACK) @@ -10340,9 +10331,11 @@ bool Unit::IsPolymorphed() const return spellInfo->GetSpellSpecific() == SPELL_SPECIFIC_MAGE_POLYMORPH; } -void Unit::SetDisplayId(uint32 modelId) +void Unit::SetDisplayId(uint32 modelId, float displayScale /*= 1.f*/) { SetUInt32Value(UNIT_FIELD_DISPLAYID, modelId); + SetFloatValue(UNIT_FIELD_DISPLAY_SCALE, displayScale); + // Set Gender by modelId if (CreatureModelInfo const* minfo = sObjectMgr->GetCreatureModelInfo(modelId)) SetByteValue(UNIT_FIELD_BYTES_0, UNIT_BYTES_0_OFFSET_GENDER, minfo->gender); @@ -10365,7 +10358,7 @@ void Unit::RestoreDisplayId(bool ignorePositiveAurasPreventingMounting /*= false if (!ignorePositiveAurasPreventingMounting) handledAura = (*i); else if (CreatureTemplate const* ci = sObjectMgr->GetCreatureTemplate((*i)->GetMiscValue())) - if (!IsDisallowedMountForm((*i)->GetId(), FORM_NONE, sObjectMgr->ChooseDisplayId(ci))) + if (!IsDisallowedMountForm((*i)->GetId(), FORM_NONE, ObjectMgr::ChooseDisplayId(ci)->CreatureDisplayID)) handledAura = (*i); } // prefer negative auras @@ -11686,7 +11679,7 @@ bool Unit::CreateVehicleKit(uint32 id, uint32 creatureEntry, bool loading /*= fa return false; m_vehicleKit = new Vehicle(this, vehInfo, creatureEntry); - m_updateFlag |= UPDATEFLAG_VEHICLE; + m_updateFlag.Vehicle = true; m_unitTypeMask |= UNIT_MASK_VEHICLE; if (!loading) @@ -11708,7 +11701,7 @@ void Unit::RemoveVehicleKit(bool onRemoveFromWorld /*= false*/) m_vehicleKit = NULL; - m_updateFlag &= ~UPDATEFLAG_VEHICLE; + m_updateFlag.Vehicle = false; m_unitTypeMask &= ~UNIT_MASK_VEHICLE; RemoveFlag64(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_SPELLCLICK | UNIT_NPC_FLAG_PLAYER_VEHICLE); } @@ -13121,15 +13114,17 @@ void Unit::SendClearTarget() SendMessageToSet(breakTarget.Write(), false); } -uint32 Unit::GetResistance(SpellSchoolMask mask) const +int32 Unit::GetResistance(SpellSchoolMask mask) const { - int32 resist = -1; + Optional<int32> resist; for (int i = SPELL_SCHOOL_NORMAL; i < MAX_SPELL_SCHOOL; ++i) - if (mask & (1 << i) && (resist < 0 || resist > int32(GetResistance(SpellSchools(i))))) - resist = int32(GetResistance(SpellSchools(i))); + { + int32 schoolResistance = GetResistance(SpellSchools(i)) + GetBonusResistanceMod(SpellSchools(i)); + if (mask & (1 << i) && (!resist || *resist > schoolResistance)) + resist = schoolResistance; + } - // resist value will never be negative here - return uint32(resist); + return resist ? *resist : 0; } void CharmInfo::SetIsCommandAttack(bool val) @@ -13673,7 +13668,7 @@ void Unit::BuildValuesUpdate(uint8 updateType, ByteBuffer* data, Player* target) if (target == this) visibleFlag |= UF_FLAG_PRIVATE; else if (GetTypeId() == TYPEID_PLAYER) - valCount = PLAYER_FIELD_END_NOT_SELF; + valCount = PLAYER_END; std::size_t blockCount = UpdateMask::GetBlockCount(valCount); @@ -13721,8 +13716,6 @@ void Unit::BuildValuesUpdate(uint8 updateType, ByteBuffer* data, Player* target) // FIXME: Some values at server stored in float format but must be sent to client in uint32 format // there are some float values which may be negative or can't get negative due to other checks else if ((index >= UNIT_FIELD_NEGSTAT && index < UNIT_FIELD_NEGSTAT + MAX_STATS) || - (index >= UNIT_FIELD_RESISTANCEBUFFMODSPOSITIVE && index < (UNIT_FIELD_RESISTANCEBUFFMODSPOSITIVE + MAX_SPELL_SCHOOL)) || - (index >= UNIT_FIELD_RESISTANCEBUFFMODSNEGATIVE && index < (UNIT_FIELD_RESISTANCEBUFFMODSNEGATIVE + MAX_SPELL_SCHOOL)) || (index >= UNIT_FIELD_POSSTAT && index < UNIT_FIELD_POSSTAT + MAX_STATS)) { *data << uint32(m_floatValues[index]); @@ -13756,7 +13749,7 @@ void Unit::BuildValuesUpdate(uint8 updateType, ByteBuffer* data, Player* target) if (cinfo->flags_extra & CREATURE_FLAG_EXTRA_TRIGGER) if (target->IsGameMaster()) - displayId = cinfo->GetFirstVisibleModel(); + displayId = cinfo->GetFirstVisibleModel()->CreatureDisplayID; } *data << uint32(displayId); diff --git a/src/server/game/Entities/Unit/Unit.h b/src/server/game/Entities/Unit/Unit.h index 74e2ed60f77..ad8ecf37733 100644 --- a/src/server/game/Entities/Unit/Unit.h +++ b/src/server/game/Entities/Unit/Unit.h @@ -576,6 +576,7 @@ class TC_GAME_API DamageInfo Unit* const m_attacker; Unit* const m_victim; uint32 m_damage; + uint32 const m_originalDamage; SpellInfo const* const m_spellInfo; SpellSchoolMask const m_schoolMask; DamageEffectType const m_damageType; @@ -601,6 +602,7 @@ class TC_GAME_API DamageInfo DamageEffectType GetDamageType() const { return m_damageType; } WeaponAttackType GetAttackType() const { return m_attackType; } uint32 GetDamage() const { return m_damage; } + uint32 GetOriginalDamage() const { return m_originalDamage; } uint32 GetAbsorb() const { return m_absorb; } uint32 GetResist() const { return m_resist; } uint32 GetBlock() const { return m_block; } @@ -614,6 +616,7 @@ class TC_GAME_API HealInfo Unit* const _healer; Unit* const _target; uint32 _heal; + uint32 const _originalHeal; uint32 _effectiveHeal; uint32 _absorb; SpellInfo const* const _spellInfo; @@ -629,6 +632,7 @@ class TC_GAME_API HealInfo Unit* GetHealer() const { return _healer; } Unit* GetTarget() const { return _target; } uint32 GetHeal() const { return _heal; } + uint32 GetOriginalHeal() const { return _originalHeal; } uint32 GetEffectiveHeal() const { return _effectiveHeal; } uint32 GetAbsorb() const { return _absorb; } SpellInfo const* GetSpellInfo() const { return _spellInfo; }; @@ -682,6 +686,7 @@ struct CalcDamageInfo Unit *target; // Target for damage uint32 damageSchoolMask; uint32 damage; + uint32 originalDamage; uint32 absorb; uint32 resist; uint32 blocked_amount; @@ -706,6 +711,7 @@ struct TC_GAME_API SpellNonMeleeDamage uint32 SpellID; uint32 SpellXSpellVisualID; uint32 damage; + uint32 originalDamage; uint32 schoolMask; uint32 absorb; uint32 resist; @@ -720,11 +726,12 @@ struct TC_GAME_API SpellNonMeleeDamage struct SpellPeriodicAuraLogInfo { - SpellPeriodicAuraLogInfo(AuraEffect const* _auraEff, uint32 _damage, uint32 _overDamage, uint32 _absorb, uint32 _resist, float _multiplier, bool _critical) - : auraEff(_auraEff), damage(_damage), overDamage(_overDamage), absorb(_absorb), resist(_resist), multiplier(_multiplier), critical(_critical){ } + SpellPeriodicAuraLogInfo(AuraEffect const* _auraEff, uint32 _damage, uint32 _originalDamage, uint32 _overDamage, uint32 _absorb, uint32 _resist, float _multiplier, bool _critical) + : auraEff(_auraEff), damage(_damage), originalDamage(_originalDamage), overDamage(_overDamage), absorb(_absorb), resist(_resist), multiplier(_multiplier), critical(_critical){ } AuraEffect const* auraEff; uint32 damage; + uint32 originalDamage; uint32 overDamage; // overkill/overheal uint32 absorb; uint32 resist; @@ -1033,12 +1040,18 @@ class TC_GAME_API Unit : public WorldObject 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); } + uint32 GetArmor() const { return GetResistance(SPELL_SCHOOL_NORMAL) + GetBonusResistanceMod(SPELL_SCHOOL_NORMAL); } + void SetArmor(int32 val, int32 bonusVal) + { + SetResistance(SPELL_SCHOOL_NORMAL, val); + SetBonusResistanceMod(SPELL_SCHOOL_NORMAL, bonusVal); + } - uint32 GetResistance(SpellSchools school) const { return GetUInt32Value(UNIT_FIELD_RESISTANCES+school); } - uint32 GetResistance(SpellSchoolMask mask) const; - void SetResistance(SpellSchools school, int32 val) { SetStatInt32Value(UNIT_FIELD_RESISTANCES+school, val); } + int32 GetResistance(SpellSchools school) const { return GetUInt32Value(UNIT_FIELD_RESISTANCES + school); } + int32 GetBonusResistanceMod(SpellSchools school) const { return GetUInt32Value(UNIT_FIELD_BONUS_RESISTANCE_MODS + school); } + int32 GetResistance(SpellSchoolMask mask) const; + void SetResistance(SpellSchools school, int32 val) { SetStatInt32Value(UNIT_FIELD_RESISTANCES + school, val); } + void SetBonusResistanceMod(SpellSchools school, int32 val) { SetStatInt32Value(UNIT_FIELD_BONUS_RESISTANCE_MODS + school, val); } uint64 GetHealth() const { return GetUInt64Value(UNIT_FIELD_HEALTH); } uint64 GetMaxHealth() const { return GetUInt64Value(UNIT_FIELD_MAXHEALTH); } @@ -1533,10 +1546,6 @@ class TC_GAME_API Unit : public WorldObject int32 GetMaxPositiveAuraModifierByAffectMask(AuraType auratype, SpellInfo const* affectedSpell) const; int32 GetMaxNegativeAuraModifierByAffectMask(AuraType auratype, SpellInfo const* affectedSpell) const; - float GetResistanceBuffMods(SpellSchools school, bool positive) const; - void SetResistanceBuffMods(SpellSchools school, bool positive, float val); - void ApplyResistanceBuffModsMod(SpellSchools school, bool positive, float val, bool apply); - void ApplyResistanceBuffModsPercentMod(SpellSchools school, bool positive, float val, bool apply); void InitStatBuffMods(); void ApplyStatBuffMod(Stats stat, float val, bool apply); void ApplyStatPercentBuffMod(Stats stat, float val, bool apply); @@ -1620,7 +1629,7 @@ class TC_GAME_API Unit : public WorldObject void SetCanModifyStats(bool modifyStats) { m_canModifyStats = modifyStats; } virtual bool UpdateStats(Stats stat) = 0; virtual bool UpdateAllStats() = 0; - virtual void UpdateResistances(uint32 school) = 0; + virtual void UpdateResistances(uint32 school); virtual void UpdateAllResistances(); virtual void UpdateArmor() = 0; virtual void UpdateMaxHealth() = 0; @@ -1675,10 +1684,11 @@ class TC_GAME_API Unit : public WorldObject void UpdateInterruptMask(); uint32 GetDisplayId() const { return GetUInt32Value(UNIT_FIELD_DISPLAYID); } - virtual void SetDisplayId(uint32 modelId); + virtual void SetDisplayId(uint32 modelId, float displayScale = 1.f); uint32 GetNativeDisplayId() const { return GetUInt32Value(UNIT_FIELD_NATIVEDISPLAYID); } + float GetNativeDisplayScale() const { return GetFloatValue(UNIT_FIELD_NATIVE_X_DISPLAY_SCALE); } void RestoreDisplayId(bool ignorePositiveAurasPreventingMounting = false); - void SetNativeDisplayId(uint32 modelId) { SetUInt32Value(UNIT_FIELD_NATIVEDISPLAYID, modelId); } + void SetNativeDisplayId(uint32 displayId, float displayScale = 1.f) { SetUInt32Value(UNIT_FIELD_NATIVEDISPLAYID, displayId); SetFloatValue(UNIT_FIELD_NATIVE_X_DISPLAY_SCALE, displayScale); } void setTransForm(uint32 spellid) { m_transform = spellid;} uint32 getTransForm() const { return m_transform;} |
