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 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); |
