aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/server/game/Entities/GameObject/GameObject.cpp6
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 8d6941f635b..f5b649ad4fd 100644
--- a/src/server/game/Entities/GameObject/GameObject.cpp
+++ b/src/server/game/Entities/GameObject/GameObject.cpp
@@ -2403,9 +2403,9 @@ void GameObject::SetDestructibleState(GameObjectDestructibleState state, WorldOb
EventInform(m_goInfo->destructibleBuilding.DestroyedEvent, attackerOrHealer);
AI()->Destroyed(attackerOrHealer, m_goInfo->destructibleBuilding.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(GO_FLAG_DAMAGED);
AddFlag(GO_FLAG_DESTROYED);