diff options
author | e000 <e@dildomail.com> | 2012-08-12 20:04:02 +0200 |
---|---|---|
committer | kaelima <kaelima@live.se> | 2012-08-12 20:04:02 +0200 |
commit | 65469c9ee916fd8a910ce39e94cc929b4e1487ea (patch) | |
tree | 0866933d452e8e15957d5814d818831e0e57d565 /src | |
parent | bd37e73fdf61bae823bdc174b261f6f185ca0b12 (diff) |
Core/Gameobject: Properly toggle collision state when a gameobject is activated or spawned.
Diffstat (limited to 'src')
-rwxr-xr-x | src/server/game/Entities/GameObject/GameObject.cpp | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/src/server/game/Entities/GameObject/GameObject.cpp b/src/server/game/Entities/GameObject/GameObject.cpp index 7375ed9f886..20e5055dc15 100755 --- a/src/server/game/Entities/GameObject/GameObject.cpp +++ b/src/server/game/Entities/GameObject/GameObject.cpp @@ -138,9 +138,8 @@ void GameObject::AddToWorld() bool toggledState = GetGOData() ? GetGOData()->go_state == GO_STATE_READY : false; if (m_model) GetMap()->Insert(*m_model); - if (startOpen ^ toggledState) - EnableCollision(false); + EnableCollision(startOpen ^ toggledState); WorldObject::AddToWorld(); } } @@ -1923,7 +1922,7 @@ void GameObject::SetLootState(LootState state, Unit* unit) bool startOpen = (GetGoType() == GAMEOBJECT_TYPE_DOOR || GetGoType() == GAMEOBJECT_TYPE_BUTTON ? GetGOInfo()->door.startOpen : false); // Use the current go state - if (GetGoState() == GO_STATE_ACTIVE) + if (GetGoState() != GO_STATE_ACTIVE) startOpen = !startOpen; if (state == GO_ACTIVATED || state == GO_JUST_DEACTIVATED) |