aboutsummaryrefslogtreecommitdiff
path: root/src/game/GameObject.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/game/GameObject.cpp')
-rw-r--r--src/game/GameObject.cpp11
1 files changed, 10 insertions, 1 deletions
diff --git a/src/game/GameObject.cpp b/src/game/GameObject.cpp
index f934d3d1fe7..457591e63b4 100644
--- a/src/game/GameObject.cpp
+++ b/src/game/GameObject.cpp
@@ -434,7 +434,7 @@ void GameObject::Update(uint32 /*p_time*/)
if(GetOwnerGUID())
{
- if(Unit* owner = GetOwner())
+ if(Unit* owner = GetOwner(false))
{
owner->RemoveGameObject(this, false);
SetRespawnTime(0);
@@ -492,6 +492,15 @@ void GameObject::AddUniqueUse(Player* player)
m_unique_users.insert(player->GetGUIDLow());
}
+void GameObject::DeleteObjectWithOwner()
+{
+ SetLootState(GO_NOT_READY);
+ if (GetOwnerGUID())
+ if (Unit * owner = GetOwner(false))
+ owner->RemoveGameObject(this, false);
+ Delete();
+}
+
void GameObject::Delete()
{
assert (!GetOwnerGUID());