aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Entities/GameObject
diff options
context:
space:
mode:
authorNay <dnpd.dd@gmail.com>2012-08-23 17:25:52 +0100
committerNay <dnpd.dd@gmail.com>2012-08-23 17:25:52 +0100
commitfdf662803ab9cd5676b869138e45f340fd459e17 (patch)
treedf9a4cada302c65150b7b4bcb5330dc7d2ea3613 /src/server/game/Entities/GameObject
parentd82d25857842cc5563c9106b74b9c1f6e6431130 (diff)
parenta1b3ec2e21d8510b99c2422a76dc5af004fbdc26 (diff)
Merge remote-tracking branch 'origin/master' into 4.3.4
Diffstat (limited to 'src/server/game/Entities/GameObject')
-rwxr-xr-xsrc/server/game/Entities/GameObject/GameObject.cpp11
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);
}
}