diff options
| author | Nay <dnpd.dd@gmail.com> | 2012-08-23 17:25:52 +0100 |
|---|---|---|
| committer | Nay <dnpd.dd@gmail.com> | 2012-08-23 17:25:52 +0100 |
| commit | fdf662803ab9cd5676b869138e45f340fd459e17 (patch) | |
| tree | df9a4cada302c65150b7b4bcb5330dc7d2ea3613 /src/server/game/Entities/GameObject | |
| parent | d82d25857842cc5563c9106b74b9c1f6e6431130 (diff) | |
| parent | a1b3ec2e21d8510b99c2422a76dc5af004fbdc26 (diff) | |
Merge remote-tracking branch 'origin/master' into 4.3.4
Diffstat (limited to 'src/server/game/Entities/GameObject')
| -rwxr-xr-x | src/server/game/Entities/GameObject/GameObject.cpp | 11 |
1 files changed, 4 insertions, 7 deletions
diff --git a/src/server/game/Entities/GameObject/GameObject.cpp b/src/server/game/Entities/GameObject/GameObject.cpp index e1b312d83d0..18ed5632793 100755 --- a/src/server/game/Entities/GameObject/GameObject.cpp +++ b/src/server/game/Entities/GameObject/GameObject.cpp @@ -135,7 +135,7 @@ void GameObject::AddToWorld() sObjectAccessor->AddObject(this); bool startOpen = (GetGoType() == GAMEOBJECT_TYPE_DOOR || GetGoType() == GAMEOBJECT_TYPE_BUTTON ? GetGOInfo()->door.startOpen : false); // The state can be changed after GameObject::Create but before GameObject::AddToWorld - bool toggledState = GetGOData() ? GetGOData()->go_state == GO_STATE_READY : false; + bool toggledState = GetGOData() ? GetGOData()->go_state != GO_STATE_READY : false; if (m_model) GetMap()->InsertGameObjectModel(*m_model); @@ -1930,7 +1930,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_READY) startOpen = !startOpen; if (state == GO_ACTIVATED || state == GO_JUST_DEACTIVATED) @@ -1952,13 +1952,10 @@ void GameObject::SetGoState(GOState state) // startOpen determines whether we are going to add or remove the LoS on activation bool startOpen = (GetGoType() == GAMEOBJECT_TYPE_DOOR || GetGoType() == GAMEOBJECT_TYPE_BUTTON ? GetGOInfo()->door.startOpen : false); - if (GetGOData() && GetGOData()->go_state == GO_STATE_READY) + if (state != GO_STATE_READY) startOpen = !startOpen; - if (state == GO_STATE_ACTIVE || state == GO_STATE_ACTIVE_ALTERNATIVE) - EnableCollision(startOpen); - else if (state == GO_STATE_READY) - EnableCollision(!startOpen); + EnableCollision(startOpen); } } |
