aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xsrc/server/game/Battlegrounds/Battleground.cpp8
-rwxr-xr-xsrc/server/game/Battlegrounds/Zones/BattlegroundWS.cpp4
-rwxr-xr-xsrc/server/game/Entities/GameObject/GameObject.cpp2
3 files changed, 6 insertions, 8 deletions
diff --git a/src/server/game/Battlegrounds/Battleground.cpp b/src/server/game/Battlegrounds/Battleground.cpp
index f3c393eaa36..d6bfde021e7 100755
--- a/src/server/game/Battlegrounds/Battleground.cpp
+++ b/src/server/game/Battlegrounds/Battleground.cpp
@@ -1459,9 +1459,8 @@ void Battleground::DoorClose(uint32 type)
// If doors are open, close it
if (obj->getLootState() == GO_ACTIVATED && obj->GetGoState() != GO_STATE_READY)
{
- // Change state to allow door to be closed
obj->SetLootState(GO_READY);
- obj->UseDoorOrButton(RESPAWN_ONE_DAY);
+ obj->SetGoState(GO_STATE_READY);
}
}
else
@@ -1473,9 +1472,8 @@ void Battleground::DoorOpen(uint32 type)
{
if (GameObject* obj = GetBgMap()->GetGameObject(BgObjects[type]))
{
- // Change state to be sure they will be opened
- obj->SetLootState(GO_READY);
- obj->UseDoorOrButton(RESPAWN_ONE_DAY);
+ obj->SetLootState(GO_ACTIVATED);
+ obj->SetGoState(GO_STATE_ACTIVE);
}
else
sLog->outError("Battleground::DoorOpen: door gameobject (type: %u, GUID: %u) not found for BG (map: %u, instance id: %u)!",
diff --git a/src/server/game/Battlegrounds/Zones/BattlegroundWS.cpp b/src/server/game/Battlegrounds/Zones/BattlegroundWS.cpp
index 86ad749b8b7..656c8897f9d 100755
--- a/src/server/game/Battlegrounds/Zones/BattlegroundWS.cpp
+++ b/src/server/game/Battlegrounds/Zones/BattlegroundWS.cpp
@@ -179,9 +179,9 @@ void BattlegroundWS::StartingEventCloseDoors()
void BattlegroundWS::StartingEventOpenDoors()
{
- for (uint32 i = BG_WS_OBJECT_DOOR_A_1; i <= BG_WS_OBJECT_DOOR_A_4; ++i)
+ for (uint32 i = BG_WS_OBJECT_DOOR_A_1; i <= BG_WS_OBJECT_DOOR_A_6; ++i)
DoorOpen(i);
- for (uint32 i = BG_WS_OBJECT_DOOR_H_1; i <= BG_WS_OBJECT_DOOR_H_2; ++i)
+ for (uint32 i = BG_WS_OBJECT_DOOR_H_1; i <= BG_WS_OBJECT_DOOR_H_4; ++i)
DoorOpen(i);
SpawnBGObject(BG_WS_OBJECT_DOOR_A_5, RESPAWN_ONE_DAY);
diff --git a/src/server/game/Entities/GameObject/GameObject.cpp b/src/server/game/Entities/GameObject/GameObject.cpp
index cc53d0eb79f..bf1fc6ac706 100755
--- a/src/server/game/Entities/GameObject/GameObject.cpp
+++ b/src/server/game/Entities/GameObject/GameObject.cpp
@@ -138,7 +138,7 @@ void GameObject::AddToWorld()
bool toggledState = GetGoState() == GO_STATE_READY;
if (m_model)
GetMap()->Insert(*m_model);
- if ((startOpen && !toggledState) || (!startOpen && toggledState))
+ if (startOpen ^ toggledState)
EnableCollision(false);
WorldObject::AddToWorld();