diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/server/game/Entities/GameObject/GameObject.cpp | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/server/game/Entities/GameObject/GameObject.cpp b/src/server/game/Entities/GameObject/GameObject.cpp index 95579847ce9..5d8cc2fd3d1 100644 --- a/src/server/game/Entities/GameObject/GameObject.cpp +++ b/src/server/game/Entities/GameObject/GameObject.cpp @@ -2192,9 +2192,9 @@ void GameObject::SetDestructibleState(GameObjectDestructibleState state, WorldOb EventInform(m_goInfo->building.destroyedEvent, attackerOrHealer); AI()->Destroyed(attackerOrHealer, m_goInfo->building.destroyedEvent); - if (attackerOrHealer && attackerOrHealer->GetTypeId() == TYPEID_PLAYER) - if (Battleground* bg = attackerOrHealer->ToPlayer()->GetBattleground()) - bg->DestroyGate(attackerOrHealer->ToPlayer(), this); + if (Player* player = attackerOrHealer ? attackerOrHealer->GetCharmerOrOwnerPlayerOrPlayerItself() : nullptr) + if (Battleground* bg = player->GetBattleground()) + bg->DestroyGate(player, this); RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_DAMAGED); SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_DESTROYED); |
