diff options
Diffstat (limited to 'src/game/GameObject.cpp')
| -rw-r--r-- | src/game/GameObject.cpp | 11 |
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()); |
