aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Handlers/MiscHandler.cpp
diff options
context:
space:
mode:
authorSubv <s.v.h21@hotmail.com>2012-11-14 16:55:47 -0500
committerSubv <s.v.h21@hotmail.com>2012-11-14 17:00:21 -0500
commit7bee7d3a9a8b007fc3f5b62b55cb893d92c963ee (patch)
treeaef768b67d16bab4dba342befed3f318793fee84 /src/server/game/Handlers/MiscHandler.cpp
parent792e636a32ed194adf6bc77d366e9ce01aed4cfd (diff)
Core/Maps: Set correct phase flag from DBC when using phases.
Fixes AreaTriggers and some other things. Thanks @lehtola for the tip.
Diffstat (limited to 'src/server/game/Handlers/MiscHandler.cpp')
-rw-r--r--src/server/game/Handlers/MiscHandler.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/server/game/Handlers/MiscHandler.cpp b/src/server/game/Handlers/MiscHandler.cpp
index d1bf36b885b..38e3a56985b 100644
--- a/src/server/game/Handlers/MiscHandler.cpp
+++ b/src/server/game/Handlers/MiscHandler.cpp
@@ -1756,7 +1756,12 @@ void WorldSession::SendSetPhaseShift(std::set<uint32> const& phaseIds, std::set<
data.WriteByteSeq(guid[1]);
- data << uint32(0); // flags (not phasemask)
+ uint32 flag = 8;
+ for (std::set<uint32>::const_iterator itr = phaseIds.begin(); itr != phaseIds.end(); ++itr)
+ if (PhaseEntry const* phaseEntry = sPhaseStore.LookupEntry(*itr))
+ flag |= phaseEntry->Flag;
+
+ data << uint32(flag); // flags (not phasemask)
data.WriteByteSeq(guid[2]);
data.WriteByteSeq(guid[6]);