diff options
| author | Jeremy <Golrag@users.noreply.github.com> | 2024-09-14 13:01:54 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-09-14 13:01:54 +0200 |
| commit | c499110a0d09364fa62a1f67db17032aea9c77e6 (patch) | |
| tree | 25dbe1cd4312e64e6f455ff9d05bec363f30ab3e /src/server/game/Entities | |
| parent | 4a574c0ce1149825c0fba77b0bea60608cbc470f (diff) | |
Scripts/Battlegrounds: Implement Silvershard mines (#30120)
Diffstat (limited to 'src/server/game/Entities')
| -rw-r--r-- | src/server/game/Entities/GameObject/GameObject.cpp | 12 | ||||
| -rw-r--r-- | src/server/game/Entities/GameObject/GameObject.h | 2 |
2 files changed, 14 insertions, 0 deletions
diff --git a/src/server/game/Entities/GameObject/GameObject.cpp b/src/server/game/Entities/GameObject/GameObject.cpp index 2600a5fbdf9..eb48c74b1fa 100644 --- a/src/server/game/Entities/GameObject/GameObject.cpp +++ b/src/server/game/Entities/GameObject/GameObject.cpp @@ -4495,6 +4495,18 @@ void GameObject::HandleCustomTypeCommand(GameObjectTypeBase::CustomCommand const command.Execute(*m_goTypeImpl); } +TeamId GameObject::GetControllingTeam() const +{ + if (GetGoType() != GAMEOBJECT_TYPE_CONTROL_ZONE) + return TEAM_NEUTRAL; + + GameObjectType::ControlZone const* controlZone = dynamic_cast<GameObjectType::ControlZone const*>(m_goTypeImpl.get()); + if (!controlZone) + return TEAM_NEUTRAL; + + return controlZone->GetControllingTeam(); +} + void GameObject::CreateModel() { m_model = GameObjectModel::Create(std::make_unique<GameObjectModelOwnerImpl>(this), sWorld->GetDataPath()); diff --git a/src/server/game/Entities/GameObject/GameObject.h b/src/server/game/Entities/GameObject/GameObject.h index 160b768544b..381317169db 100644 --- a/src/server/game/Entities/GameObject/GameObject.h +++ b/src/server/game/Entities/GameObject/GameObject.h @@ -453,6 +453,8 @@ class TC_GAME_API GameObject : public WorldObject, public GridObject<GameObject> UF::UpdateField<UF::GameObjectData, 0, TYPEID_GAMEOBJECT> m_gameObjectData; + TeamId GetControllingTeam() const; + protected: void CreateModel(); void UpdateModel(); // updates model in case displayId were changed |
