diff options
Diffstat (limited to 'src/server')
| -rwxr-xr-x | src/server/game/Entities/GameObject/GameObject.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/server/game/Entities/GameObject/GameObject.cpp b/src/server/game/Entities/GameObject/GameObject.cpp index 040bd8b70dd..41e0b8e054b 100755 --- a/src/server/game/Entities/GameObject/GameObject.cpp +++ b/src/server/game/Entities/GameObject/GameObject.cpp @@ -132,10 +132,12 @@ void GameObject::AddToWorld() sObjectAccessor->AddObject(this); bool startOpen = (GetGoType() == GAMEOBJECT_TYPE_DOOR || GetGoType() == GAMEOBJECT_TYPE_BUTTON ? GetGOInfo()->door.startOpen : false); - if (m_model/* && (GetGoType() == GAMEOBJECT_TYPE_DOOR || GetGoType() == GAMEOBJECT_TYPE_BUTTON ? !GetGOInfo()->door.startOpen : true)*/) + bool toggledState = (GetGOData() ? GetGOData()->go_state == GO_STATE_ACTIVE : false); + if (m_model) GetMap()->Insert(*m_model); - if (startOpen) + if ((startOpen && !toggledState) || (!startOpen && toggledState)) EnableCollision(false); + WorldObject::AddToWorld(); } } |
