mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-01-21 09:44:45 +01:00
Core/Entities: GameObjectDespawn packet is only sent for GameObjects
This commit is contained in:
@@ -102,7 +102,6 @@ void AreaTrigger::Remove()
|
||||
{
|
||||
if (IsInWorld())
|
||||
{
|
||||
SendObjectDeSpawnAnim(GetGUID());
|
||||
RemoveFromWorld();
|
||||
AddObjectToRemoveList();
|
||||
}
|
||||
|
||||
@@ -163,7 +163,6 @@ void DynamicObject::Remove()
|
||||
{
|
||||
if (IsInWorld())
|
||||
{
|
||||
SendObjectDeSpawnAnim(GetGUID());
|
||||
RemoveFromWorld();
|
||||
AddObjectToRemoveList();
|
||||
}
|
||||
|
||||
@@ -697,7 +697,7 @@ void GameObject::Update(uint32 diff)
|
||||
//burning flags in some battlegrounds, if you find better condition, just add it
|
||||
if (GetGOInfo()->IsDespawnAtAction() || GetGoAnimProgress() > 0)
|
||||
{
|
||||
SendObjectDeSpawnAnim(GetGUID());
|
||||
SendGameObjectDespawn();
|
||||
//reset flags
|
||||
if (GameObjectTemplateAddon const* addon = GetTemplateAddon())
|
||||
SetUInt32Value(GAMEOBJECT_FLAGS, addon->flags);
|
||||
@@ -748,7 +748,7 @@ void GameObject::Delete()
|
||||
SetLootState(GO_NOT_READY);
|
||||
RemoveFromOwner();
|
||||
|
||||
SendObjectDeSpawnAnim(GetGUID());
|
||||
SendGameObjectDespawn();
|
||||
|
||||
SetGoState(GO_STATE_READY);
|
||||
|
||||
@@ -762,6 +762,13 @@ void GameObject::Delete()
|
||||
AddObjectToRemoveList();
|
||||
}
|
||||
|
||||
void GameObject::SendGameObjectDespawn()
|
||||
{
|
||||
WorldPackets::GameObject::GameObjectDespawn packet;
|
||||
packet.ObjectGUID = GetGUID();
|
||||
SendMessageToSet(packet.Write(), true);
|
||||
}
|
||||
|
||||
void GameObject::getFishLoot(Loot* fishloot, Player* loot_owner)
|
||||
{
|
||||
fishloot->clear();
|
||||
|
||||
@@ -1016,6 +1016,7 @@ class TC_GAME_API GameObject : public WorldObject, public GridObject<GameObject>
|
||||
uint32 GetRespawnDelay() const { return m_respawnDelayTime; }
|
||||
void Refresh();
|
||||
void Delete();
|
||||
void SendGameObjectDespawn();
|
||||
void getFishLoot(Loot* loot, Player* loot_owner);
|
||||
void getFishLootJunk(Loot* loot, Player* loot_owner);
|
||||
GameobjectTypes GetGoType() const { return GameobjectTypes(GetByteValue(GAMEOBJECT_BYTES_1, 1)); }
|
||||
|
||||
@@ -43,7 +43,6 @@
|
||||
#include "OutdoorPvPMgr.h"
|
||||
#include "Unit.h"
|
||||
#include "BattlefieldMgr.h"
|
||||
#include "GameObjectPackets.h"
|
||||
#include "MiscPackets.h"
|
||||
#include "InstanceScenario.h"
|
||||
|
||||
@@ -2182,13 +2181,6 @@ void WorldObject::SendMessageToSet(WorldPacket const* data, Player const* skippe
|
||||
VisitNearbyWorldObject(GetVisibilityRange(), notifier);
|
||||
}
|
||||
|
||||
void WorldObject::SendObjectDeSpawnAnim(ObjectGuid guid)
|
||||
{
|
||||
WorldPackets::GameObject::GameObjectDespawn packet;
|
||||
packet.ObjectGUID = guid;
|
||||
SendMessageToSet(packet.Write(), true);
|
||||
}
|
||||
|
||||
void WorldObject::SetMap(Map* map)
|
||||
{
|
||||
ASSERT(map);
|
||||
|
||||
@@ -613,8 +613,6 @@ class TC_GAME_API WorldObject : public Object, public WorldLocation
|
||||
void PlayDistanceSound(uint32 sound_id, Player* target = NULL);
|
||||
void PlayDirectSound(uint32 sound_id, Player* target = NULL);
|
||||
|
||||
void SendObjectDeSpawnAnim(ObjectGuid guid);
|
||||
|
||||
virtual void SaveRespawnTime() { }
|
||||
void AddObjectToRemoveList();
|
||||
|
||||
|
||||
@@ -654,7 +654,7 @@ public:
|
||||
if (objectType < 0)
|
||||
{
|
||||
if (objectType == -1)
|
||||
object->SendObjectDeSpawnAnim(object->GetGUID());
|
||||
object->SendGameObjectDespawn();
|
||||
else if (objectType == -2)
|
||||
return false;
|
||||
return true;
|
||||
|
||||
Reference in New Issue
Block a user