mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-01-20 09:17:36 +01:00
Core/PacketIO: Fixed SMSG_UPDATE_OBJECT packets going missing for new items
Closes #16906
This commit is contained in:
@@ -1031,10 +1031,15 @@ void Item::BuildUpdate(UpdateDataMapType& data_map)
|
||||
ClearUpdateMask(false);
|
||||
}
|
||||
|
||||
void Item::AddToObjectUpdate()
|
||||
bool Item::AddToObjectUpdate()
|
||||
{
|
||||
if (Player* owner = GetOwner())
|
||||
{
|
||||
owner->GetMap()->AddUpdateObject(this);
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
void Item::RemoveFromObjectUpdate()
|
||||
|
||||
@@ -201,7 +201,7 @@ class TC_GAME_API Item : public Object
|
||||
|
||||
void BuildUpdate(UpdateDataMapType&) override;
|
||||
|
||||
void AddToObjectUpdate() override;
|
||||
bool AddToObjectUpdate() override;
|
||||
void RemoveFromObjectUpdate() override;
|
||||
|
||||
uint32 GetScriptId() const { return GetTemplate()->ScriptId; }
|
||||
|
||||
@@ -688,10 +688,7 @@ void Object::BuildValuesUpdate(uint8 updateType, ByteBuffer* data, Player* targe
|
||||
void Object::AddToObjectUpdateIfNeeded()
|
||||
{
|
||||
if (m_inWorld && !m_objectUpdated)
|
||||
{
|
||||
AddToObjectUpdate();
|
||||
m_objectUpdated = true;
|
||||
}
|
||||
m_objectUpdated = AddToObjectUpdate();
|
||||
}
|
||||
|
||||
void Object::ClearUpdateMask(bool remove)
|
||||
@@ -2761,9 +2758,10 @@ void WorldObject::BuildUpdate(UpdateDataMapType& data_map)
|
||||
ClearUpdateMask(false);
|
||||
}
|
||||
|
||||
void WorldObject::AddToObjectUpdate()
|
||||
bool WorldObject::AddToObjectUpdate()
|
||||
{
|
||||
GetMap()->AddUpdateObject(this);
|
||||
return true;
|
||||
}
|
||||
|
||||
void WorldObject::RemoveFromObjectUpdate()
|
||||
|
||||
@@ -213,7 +213,7 @@ class TC_GAME_API Object
|
||||
|
||||
uint16 _fieldNotifyFlags;
|
||||
|
||||
virtual void AddToObjectUpdate() = 0;
|
||||
virtual bool AddToObjectUpdate() = 0;
|
||||
virtual void RemoveFromObjectUpdate() = 0;
|
||||
void AddToObjectUpdateIfNeeded();
|
||||
|
||||
@@ -433,7 +433,7 @@ class TC_GAME_API WorldObject : public Object, public WorldLocation
|
||||
|
||||
void BuildUpdate(UpdateDataMapType&) override;
|
||||
|
||||
void AddToObjectUpdate() override;
|
||||
bool AddToObjectUpdate() override;
|
||||
void RemoveFromObjectUpdate() override;
|
||||
|
||||
//relocation and visibility system functions
|
||||
|
||||
Reference in New Issue
Block a user