Core/Objects: More minor refactors for SMSG_UPDATE_OBJECT building - move getting and writing field flags to shared function
Port From (https://github.com/TrinityCore/TrinityCore/commit/ee54ade3975748bf373162b2397328852dec6701)
This commit is contained in:
@@ -1330,19 +1330,14 @@ namespace Game.Entities
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
public override void BuildValuesCreate(WorldPacket data, Player target)
|
public override void BuildValuesCreate(WorldPacket data, UpdateFieldFlag flags, Player target)
|
||||||
{
|
{
|
||||||
UpdateFieldFlag flags = GetUpdateFieldFlagsFor(target);
|
|
||||||
|
|
||||||
data.WriteUInt8((byte)flags);
|
|
||||||
m_objectData.WriteCreate(data, flags, this, target);
|
m_objectData.WriteCreate(data, flags, this, target);
|
||||||
m_areaTriggerData.WriteCreate(data, flags, this, target);
|
m_areaTriggerData.WriteCreate(data, flags, this, target);
|
||||||
}
|
}
|
||||||
|
|
||||||
public override void BuildValuesUpdate(WorldPacket data, Player target)
|
public override void BuildValuesUpdate(WorldPacket data, UpdateFieldFlag flags, Player target)
|
||||||
{
|
{
|
||||||
UpdateFieldFlag flags = GetUpdateFieldFlagsFor(target);
|
|
||||||
|
|
||||||
data.WriteUInt32(m_values.GetChangedObjectTypeMask());
|
data.WriteUInt32(m_values.GetChangedObjectTypeMask());
|
||||||
if (m_values.HasChanged(TypeId.Object))
|
if (m_values.HasChanged(TypeId.Object))
|
||||||
m_objectData.WriteUpdate(data, flags, this, target);
|
m_objectData.WriteUpdate(data, flags, this, target);
|
||||||
|
|||||||
@@ -287,19 +287,14 @@ namespace Game.Entities
|
|||||||
return Global.ConversationDataStorage.GetConversationTemplate(GetEntry()).ScriptId;
|
return Global.ConversationDataStorage.GetConversationTemplate(GetEntry()).ScriptId;
|
||||||
}
|
}
|
||||||
|
|
||||||
public override void BuildValuesCreate(WorldPacket data, Player target)
|
public override void BuildValuesCreate(WorldPacket data, UpdateFieldFlag flags, Player target)
|
||||||
{
|
{
|
||||||
UpdateFieldFlag flags = GetUpdateFieldFlagsFor(target);
|
|
||||||
|
|
||||||
data.WriteUInt8((byte)flags);
|
|
||||||
m_objectData.WriteCreate(data, flags, this, target);
|
m_objectData.WriteCreate(data, flags, this, target);
|
||||||
m_conversationData.WriteCreate(data, flags, this, target);
|
m_conversationData.WriteCreate(data, flags, this, target);
|
||||||
}
|
}
|
||||||
|
|
||||||
public override void BuildValuesUpdate(WorldPacket data, Player target)
|
public override void BuildValuesUpdate(WorldPacket data, UpdateFieldFlag flags, Player target)
|
||||||
{
|
{
|
||||||
UpdateFieldFlag flags = GetUpdateFieldFlagsFor(target);
|
|
||||||
|
|
||||||
data.WriteUInt32(m_values.GetChangedObjectTypeMask());
|
data.WriteUInt32(m_values.GetChangedObjectTypeMask());
|
||||||
if (m_values.HasChanged(TypeId.Object))
|
if (m_values.HasChanged(TypeId.Object))
|
||||||
m_objectData.WriteUpdate(data, flags, this, target);
|
m_objectData.WriteUpdate(data, flags, this, target);
|
||||||
|
|||||||
@@ -217,19 +217,14 @@ namespace Game.Entities
|
|||||||
return m_time < t - 3 * Time.Day;
|
return m_time < t - 3 * Time.Day;
|
||||||
}
|
}
|
||||||
|
|
||||||
public override void BuildValuesCreate(WorldPacket data, Player target)
|
public override void BuildValuesCreate(WorldPacket data, UpdateFieldFlag flags, Player target)
|
||||||
{
|
{
|
||||||
UpdateFieldFlag flags = GetUpdateFieldFlagsFor(target);
|
|
||||||
|
|
||||||
data.WriteUInt8((byte)flags);
|
|
||||||
m_objectData.WriteCreate(data, flags, this, target);
|
m_objectData.WriteCreate(data, flags, this, target);
|
||||||
m_corpseData.WriteCreate(data, flags, this, target);
|
m_corpseData.WriteCreate(data, flags, this, target);
|
||||||
}
|
}
|
||||||
|
|
||||||
public override void BuildValuesUpdate(WorldPacket data, Player target)
|
public override void BuildValuesUpdate(WorldPacket data, UpdateFieldFlag flags, Player target)
|
||||||
{
|
{
|
||||||
UpdateFieldFlag flags = GetUpdateFieldFlagsFor(target);
|
|
||||||
|
|
||||||
data.WriteUInt32(m_values.GetChangedObjectTypeMask());
|
data.WriteUInt32(m_values.GetChangedObjectTypeMask());
|
||||||
if (m_values.HasChanged(TypeId.Object))
|
if (m_values.HasChanged(TypeId.Object))
|
||||||
m_objectData.WriteUpdate(data, flags, this, target);
|
m_objectData.WriteUpdate(data, flags, this, target);
|
||||||
|
|||||||
@@ -3704,17 +3704,14 @@ namespace Game.Entities
|
|||||||
return flags;
|
return flags;
|
||||||
}
|
}
|
||||||
|
|
||||||
public override void BuildValuesCreate(WorldPacket data, Player target)
|
public override void BuildValuesCreate(WorldPacket data, UpdateFieldFlag flags, Player target)
|
||||||
{
|
{
|
||||||
UpdateFieldFlag flags = GetUpdateFieldFlagsFor(target);
|
|
||||||
data.WriteUInt8((byte)flags);
|
|
||||||
m_objectData.WriteCreate(data, flags, this, target);
|
m_objectData.WriteCreate(data, flags, this, target);
|
||||||
m_unitData.WriteCreate(data, flags, this, target);
|
m_unitData.WriteCreate(data, flags, this, target);
|
||||||
}
|
}
|
||||||
|
|
||||||
public override void BuildValuesUpdate(WorldPacket data, Player target)
|
public override void BuildValuesUpdate(WorldPacket data, UpdateFieldFlag flags, Player target)
|
||||||
{
|
{
|
||||||
UpdateFieldFlag flags = GetUpdateFieldFlagsFor(target);
|
|
||||||
data.WriteUInt32(m_values.GetChangedObjectTypeMask());
|
data.WriteUInt32(m_values.GetChangedObjectTypeMask());
|
||||||
|
|
||||||
if (m_values.HasChanged(TypeId.Object))
|
if (m_values.HasChanged(TypeId.Object))
|
||||||
|
|||||||
@@ -240,19 +240,14 @@ namespace Game.Entities
|
|||||||
return Global.SpellMgr.GetSpellInfo(GetSpellId(), GetMap().GetDifficultyID());
|
return Global.SpellMgr.GetSpellInfo(GetSpellId(), GetMap().GetDifficultyID());
|
||||||
}
|
}
|
||||||
|
|
||||||
public override void BuildValuesCreate(WorldPacket data, Player target)
|
public override void BuildValuesCreate(WorldPacket data, UpdateFieldFlag flags, Player target)
|
||||||
{
|
{
|
||||||
UpdateFieldFlag flags = GetUpdateFieldFlagsFor(target);
|
|
||||||
|
|
||||||
data.WriteUInt8((byte)flags);
|
|
||||||
m_objectData.WriteCreate(data, flags, this, target);
|
m_objectData.WriteCreate(data, flags, this, target);
|
||||||
m_dynamicObjectData.WriteCreate(data, flags, this, target);
|
m_dynamicObjectData.WriteCreate(data, flags, this, target);
|
||||||
}
|
}
|
||||||
|
|
||||||
public override void BuildValuesUpdate(WorldPacket data, Player target)
|
public override void BuildValuesUpdate(WorldPacket data, UpdateFieldFlag flags, Player target)
|
||||||
{
|
{
|
||||||
UpdateFieldFlag flags = GetUpdateFieldFlagsFor(target);
|
|
||||||
|
|
||||||
data.WriteUInt32(m_values.GetChangedObjectTypeMask());
|
data.WriteUInt32(m_values.GetChangedObjectTypeMask());
|
||||||
if (m_values.HasChanged(TypeId.Object))
|
if (m_values.HasChanged(TypeId.Object))
|
||||||
m_objectData.WriteUpdate(data, flags, this, target);
|
m_objectData.WriteUpdate(data, flags, this, target);
|
||||||
|
|||||||
@@ -3271,19 +3271,14 @@ namespace Game.Entities
|
|||||||
return ObjectAccessor.GetGameObject(this, m_linkedTrap);
|
return ObjectAccessor.GetGameObject(this, m_linkedTrap);
|
||||||
}
|
}
|
||||||
|
|
||||||
public override void BuildValuesCreate(WorldPacket data, Player target)
|
public override void BuildValuesCreate(WorldPacket data, UpdateFieldFlag flags, Player target)
|
||||||
{
|
{
|
||||||
UpdateFieldFlag flags = GetUpdateFieldFlagsFor(target);
|
|
||||||
|
|
||||||
data.WriteUInt8((byte)flags);
|
|
||||||
m_objectData.WriteCreate(data, flags, this, target);
|
m_objectData.WriteCreate(data, flags, this, target);
|
||||||
m_gameObjectData.WriteCreate(data, flags, this, target);
|
m_gameObjectData.WriteCreate(data, flags, this, target);
|
||||||
}
|
}
|
||||||
|
|
||||||
public override void BuildValuesUpdate(WorldPacket data, Player target)
|
public override void BuildValuesUpdate(WorldPacket data, UpdateFieldFlag flags, Player target)
|
||||||
{
|
{
|
||||||
UpdateFieldFlag flags = GetUpdateFieldFlagsFor(target);
|
|
||||||
|
|
||||||
data.WriteUInt32(m_values.GetChangedObjectTypeMask());
|
data.WriteUInt32(m_values.GetChangedObjectTypeMask());
|
||||||
if (m_values.HasChanged(TypeId.Object))
|
if (m_values.HasChanged(TypeId.Object))
|
||||||
m_objectData.WriteUpdate(data, flags, this, target);
|
m_objectData.WriteUpdate(data, flags, this, target);
|
||||||
|
|||||||
@@ -146,20 +146,15 @@ namespace Game.Entities
|
|||||||
return (long)PlayerConst.MaxMoneyAmount + 1;
|
return (long)PlayerConst.MaxMoneyAmount + 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
public override void BuildValuesCreate(WorldPacket data, Player target)
|
public override void BuildValuesCreate(WorldPacket data, UpdateFieldFlag flags, Player target)
|
||||||
{
|
{
|
||||||
UpdateFieldFlag flags = GetUpdateFieldFlagsFor(target);
|
|
||||||
|
|
||||||
data.WriteUInt8((byte)flags);
|
|
||||||
m_objectData.WriteCreate(data, flags, this, target);
|
m_objectData.WriteCreate(data, flags, this, target);
|
||||||
m_itemData.WriteCreate(data, flags, this, target);
|
m_itemData.WriteCreate(data, flags, this, target);
|
||||||
m_azeriteEmpoweredItemData.WriteCreate(data, flags, this, target);
|
m_azeriteEmpoweredItemData.WriteCreate(data, flags, this, target);
|
||||||
}
|
}
|
||||||
|
|
||||||
public override void BuildValuesUpdate(WorldPacket data, Player target)
|
public override void BuildValuesUpdate(WorldPacket data, UpdateFieldFlag flags, Player target)
|
||||||
{
|
{
|
||||||
UpdateFieldFlag flags = GetUpdateFieldFlagsFor(target);
|
|
||||||
|
|
||||||
data.WriteUInt32(m_values.GetChangedObjectTypeMask());
|
data.WriteUInt32(m_values.GetChangedObjectTypeMask());
|
||||||
if (m_values.HasChanged(TypeId.Object))
|
if (m_values.HasChanged(TypeId.Object))
|
||||||
m_objectData.WriteUpdate(data, flags, this, target);
|
m_objectData.WriteUpdate(data, flags, this, target);
|
||||||
|
|||||||
@@ -404,20 +404,15 @@ namespace Game.Entities
|
|||||||
SetUpdateFieldValue(ref selectedEssences.ModifyValue(selectedEssences.AzeriteEssenceID, slot), azeriteEssenceId);
|
SetUpdateFieldValue(ref selectedEssences.ModifyValue(selectedEssences.AzeriteEssenceID, slot), azeriteEssenceId);
|
||||||
}
|
}
|
||||||
|
|
||||||
public override void BuildValuesCreate(WorldPacket data, Player target)
|
public override void BuildValuesCreate(WorldPacket data, UpdateFieldFlag flags, Player target)
|
||||||
{
|
{
|
||||||
UpdateFieldFlag flags = GetUpdateFieldFlagsFor(target);
|
|
||||||
|
|
||||||
data.WriteUInt8((byte)flags);
|
|
||||||
m_objectData.WriteCreate(data, flags, this, target);
|
m_objectData.WriteCreate(data, flags, this, target);
|
||||||
m_itemData.WriteCreate(data, flags, this, target);
|
m_itemData.WriteCreate(data, flags, this, target);
|
||||||
m_azeriteItemData.WriteCreate(data, flags, this, target);
|
m_azeriteItemData.WriteCreate(data, flags, this, target);
|
||||||
}
|
}
|
||||||
|
|
||||||
public override void BuildValuesUpdate(WorldPacket data, Player target)
|
public override void BuildValuesUpdate(WorldPacket data, UpdateFieldFlag flags, Player target)
|
||||||
{
|
{
|
||||||
UpdateFieldFlag flags = GetUpdateFieldFlagsFor(target);
|
|
||||||
|
|
||||||
data.WriteUInt32(m_values.GetChangedObjectTypeMask());
|
data.WriteUInt32(m_values.GetChangedObjectTypeMask());
|
||||||
if (m_values.HasChanged(TypeId.Object))
|
if (m_values.HasChanged(TypeId.Object))
|
||||||
m_objectData.WriteUpdate(data, flags, this, target);
|
m_objectData.WriteUpdate(data, flags, this, target);
|
||||||
|
|||||||
@@ -160,20 +160,15 @@ namespace Game.Entities
|
|||||||
m_bagslot[i].BuildCreateUpdateBlockForPlayer(data, target);
|
m_bagslot[i].BuildCreateUpdateBlockForPlayer(data, target);
|
||||||
}
|
}
|
||||||
|
|
||||||
public override void BuildValuesCreate(WorldPacket data, Player target)
|
public override void BuildValuesCreate(WorldPacket data, UpdateFieldFlag flags, Player target)
|
||||||
{
|
{
|
||||||
UpdateFieldFlag flags = GetUpdateFieldFlagsFor(target);
|
|
||||||
|
|
||||||
data.WriteUInt8((byte)flags);
|
|
||||||
m_objectData.WriteCreate(data, flags, this, target);
|
m_objectData.WriteCreate(data, flags, this, target);
|
||||||
m_itemData.WriteCreate(data, flags, this, target);
|
m_itemData.WriteCreate(data, flags, this, target);
|
||||||
m_containerData.WriteCreate(data, flags, this, target);
|
m_containerData.WriteCreate(data, flags, this, target);
|
||||||
}
|
}
|
||||||
|
|
||||||
public override void BuildValuesUpdate(WorldPacket data, Player target)
|
public override void BuildValuesUpdate(WorldPacket data, UpdateFieldFlag flags, Player target)
|
||||||
{
|
{
|
||||||
UpdateFieldFlag flags = GetUpdateFieldFlagsFor(target);
|
|
||||||
|
|
||||||
data.WriteUInt32(m_values.GetChangedObjectTypeMask());
|
data.WriteUInt32(m_values.GetChangedObjectTypeMask());
|
||||||
if (m_values.HasChanged(TypeId.Object))
|
if (m_values.HasChanged(TypeId.Object))
|
||||||
m_objectData.WriteUpdate(data, flags, this, target);
|
m_objectData.WriteUpdate(data, flags, this, target);
|
||||||
|
|||||||
@@ -1270,19 +1270,14 @@ namespace Game.Entities
|
|||||||
return UpdateFieldFlag.None;
|
return UpdateFieldFlag.None;
|
||||||
}
|
}
|
||||||
|
|
||||||
public override void BuildValuesCreate(WorldPacket data, Player target)
|
public override void BuildValuesCreate(WorldPacket data, UpdateFieldFlag flags, Player target)
|
||||||
{
|
{
|
||||||
UpdateFieldFlag flags = GetUpdateFieldFlagsFor(target);
|
|
||||||
|
|
||||||
data.WriteUInt8((byte)flags);
|
|
||||||
m_objectData.WriteCreate(data, flags, this, target);
|
m_objectData.WriteCreate(data, flags, this, target);
|
||||||
m_itemData.WriteCreate(data, flags, this, target);
|
m_itemData.WriteCreate(data, flags, this, target);
|
||||||
}
|
}
|
||||||
|
|
||||||
public override void BuildValuesUpdate(WorldPacket data, Player target)
|
public override void BuildValuesUpdate(WorldPacket data, UpdateFieldFlag flags, Player target)
|
||||||
{
|
{
|
||||||
UpdateFieldFlag flags = GetUpdateFieldFlagsFor(target);
|
|
||||||
|
|
||||||
data.WriteUInt32(m_values.GetChangedObjectTypeMask());
|
data.WriteUInt32(m_values.GetChangedObjectTypeMask());
|
||||||
if (m_values.HasChanged(TypeId.Object))
|
if (m_values.HasChanged(TypeId.Object))
|
||||||
m_objectData.WriteUpdate(data, flags, this, target);
|
m_objectData.WriteUpdate(data, flags, this, target);
|
||||||
|
|||||||
@@ -167,9 +167,12 @@ namespace Game.Entities
|
|||||||
|
|
||||||
BuildMovementUpdate(buffer, flags, target);
|
BuildMovementUpdate(buffer, flags, target);
|
||||||
|
|
||||||
|
UpdateFieldFlag fieldFlags = GetUpdateFieldFlagsFor(target);
|
||||||
|
|
||||||
WorldPacket tempBuffer = new();
|
WorldPacket tempBuffer = new();
|
||||||
BuildValuesCreate(tempBuffer, target);
|
BuildValuesCreate(tempBuffer, fieldFlags, target);
|
||||||
buffer.WriteUInt32(tempBuffer.GetSize());
|
buffer.WriteUInt32(tempBuffer.GetSize());
|
||||||
|
buffer.WriteUInt8((byte)fieldFlags);
|
||||||
buffer.WriteBytes(tempBuffer);
|
buffer.WriteBytes(tempBuffer);
|
||||||
|
|
||||||
data.AddUpdateBlock(buffer);
|
data.AddUpdateBlock(buffer);
|
||||||
@@ -196,8 +199,10 @@ namespace Game.Entities
|
|||||||
buffer.WriteUInt8((byte)UpdateType.Values);
|
buffer.WriteUInt8((byte)UpdateType.Values);
|
||||||
buffer.WritePackedGuid(GetGUID());
|
buffer.WritePackedGuid(GetGUID());
|
||||||
|
|
||||||
|
UpdateFieldFlag fieldFlags = GetUpdateFieldFlagsFor(target);
|
||||||
|
|
||||||
WorldPacket tempBuffer = new();
|
WorldPacket tempBuffer = new();
|
||||||
BuildValuesUpdate(tempBuffer, target);
|
BuildValuesUpdate(tempBuffer, fieldFlags, target);
|
||||||
buffer.WriteUInt32(tempBuffer.GetSize());
|
buffer.WriteUInt32(tempBuffer.GetSize());
|
||||||
buffer.WriteBytes(tempBuffer);
|
buffer.WriteBytes(tempBuffer);
|
||||||
|
|
||||||
@@ -833,8 +838,8 @@ namespace Game.Entities
|
|||||||
|
|
||||||
public virtual Loot GetLootForPlayer(Player player) { return null; }
|
public virtual Loot GetLootForPlayer(Player player) { return null; }
|
||||||
|
|
||||||
public virtual void BuildValuesCreate(WorldPacket data, Player target) { }
|
public virtual void BuildValuesCreate(WorldPacket data, UpdateFieldFlag flags, Player target) { }
|
||||||
public virtual void BuildValuesUpdate(WorldPacket data, Player target) { }
|
public virtual void BuildValuesUpdate(WorldPacket data, UpdateFieldFlag flags, Player target) { }
|
||||||
|
|
||||||
public void SetUpdateFieldValue<T>(IUpdateField<T> updateField, T newValue)
|
public void SetUpdateFieldValue<T>(IUpdateField<T> updateField, T newValue)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -7915,11 +7915,8 @@ namespace Game.Entities
|
|||||||
return flags;
|
return flags;
|
||||||
}
|
}
|
||||||
|
|
||||||
public override void BuildValuesCreate(WorldPacket data, Player target)
|
public override void BuildValuesCreate(WorldPacket data, UpdateFieldFlag flags, Player target)
|
||||||
{
|
{
|
||||||
UpdateFieldFlag flags = GetUpdateFieldFlagsFor(target);
|
|
||||||
|
|
||||||
data.WriteUInt8((byte)flags);
|
|
||||||
m_objectData.WriteCreate(data, flags, this, target);
|
m_objectData.WriteCreate(data, flags, this, target);
|
||||||
m_unitData.WriteCreate(data, flags, this, target);
|
m_unitData.WriteCreate(data, flags, this, target);
|
||||||
m_playerData.WriteCreate(data, flags, this, target);
|
m_playerData.WriteCreate(data, flags, this, target);
|
||||||
@@ -7927,10 +7924,8 @@ namespace Game.Entities
|
|||||||
m_activePlayerData.WriteCreate(data, flags, this, target);
|
m_activePlayerData.WriteCreate(data, flags, this, target);
|
||||||
}
|
}
|
||||||
|
|
||||||
public override void BuildValuesUpdate(WorldPacket data, Player target)
|
public override void BuildValuesUpdate(WorldPacket data, UpdateFieldFlag flags, Player target)
|
||||||
{
|
{
|
||||||
UpdateFieldFlag flags = GetUpdateFieldFlagsFor(target);
|
|
||||||
|
|
||||||
data.WriteUInt32((uint)(m_values.GetChangedObjectTypeMask() & ~((target != this ? 1 : 0) << (int)TypeId.ActivePlayer)));
|
data.WriteUInt32((uint)(m_values.GetChangedObjectTypeMask() & ~((target != this ? 1 : 0) << (int)TypeId.ActivePlayer)));
|
||||||
if (m_values.HasChanged(TypeId.Object))
|
if (m_values.HasChanged(TypeId.Object))
|
||||||
m_objectData.WriteUpdate(data, flags, this, target);
|
m_objectData.WriteUpdate(data, flags, this, target);
|
||||||
|
|||||||
@@ -121,19 +121,14 @@ namespace Game.Entities
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
public override void BuildValuesCreate(WorldPacket data, Player target)
|
public override void BuildValuesCreate(WorldPacket data, UpdateFieldFlag flags, Player target)
|
||||||
{
|
{
|
||||||
UpdateFieldFlag flags = GetUpdateFieldFlagsFor(target);
|
|
||||||
|
|
||||||
data.WriteUInt8((byte)flags);
|
|
||||||
m_objectData.WriteCreate(data, flags, this, target);
|
m_objectData.WriteCreate(data, flags, this, target);
|
||||||
m_sceneObjectData.WriteCreate(data, flags, this, target);
|
m_sceneObjectData.WriteCreate(data, flags, this, target);
|
||||||
}
|
}
|
||||||
|
|
||||||
public override void BuildValuesUpdate(WorldPacket data, Player target)
|
public override void BuildValuesUpdate(WorldPacket data, UpdateFieldFlag flags, Player target)
|
||||||
{
|
{
|
||||||
UpdateFieldFlag flags = GetUpdateFieldFlagsFor(target);
|
|
||||||
|
|
||||||
data.WriteUInt32(m_values.GetChangedObjectTypeMask());
|
data.WriteUInt32(m_values.GetChangedObjectTypeMask());
|
||||||
if (m_values.HasChanged(TypeId.Object))
|
if (m_values.HasChanged(TypeId.Object))
|
||||||
m_objectData.WriteUpdate(data, flags, this, target);
|
m_objectData.WriteUpdate(data, flags, this, target);
|
||||||
|
|||||||
Reference in New Issue
Block a user