aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Phasing/PhasingHandler.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/game/Phasing/PhasingHandler.cpp')
-rw-r--r--src/server/game/Phasing/PhasingHandler.cpp18
1 files changed, 11 insertions, 7 deletions
diff --git a/src/server/game/Phasing/PhasingHandler.cpp b/src/server/game/Phasing/PhasingHandler.cpp
index ad725bade8d..943144ded64 100644
--- a/src/server/game/Phasing/PhasingHandler.cpp
+++ b/src/server/game/Phasing/PhasingHandler.cpp
@@ -494,22 +494,26 @@ uint32 PhasingHandler::GetTerrainMapId(PhaseShift const& phaseShift, Map const*
return map->GetId();
}
-void PhasingHandler::SetAlwaysVisible(PhaseShift& phaseShift, bool apply)
+void PhasingHandler::SetAlwaysVisible(WorldObject* object, bool apply, bool updateVisibility)
{
if (apply)
- phaseShift.Flags |= PhaseShiftFlags::AlwaysVisible;
+ object->GetPhaseShift().Flags |= PhaseShiftFlags::AlwaysVisible;
else
- phaseShift.Flags &= ~PhaseShiftFlags::AlwaysVisible;
+ object->GetPhaseShift().Flags &= ~PhaseShiftFlags::AlwaysVisible;
+
+ UpdateVisibilityIfNeeded(object, updateVisibility, true);
}
-void PhasingHandler::SetInversed(PhaseShift& phaseShift, bool apply)
+void PhasingHandler::SetInversed(WorldObject* object, bool apply, bool updateVisibility)
{
if (apply)
- phaseShift.Flags |= PhaseShiftFlags::Inverse;
+ object->GetPhaseShift().Flags |= PhaseShiftFlags::Inverse;
else
- phaseShift.Flags &= PhaseShiftFlags::Inverse;
+ object->GetPhaseShift().Flags &= PhaseShiftFlags::Inverse;
+
+ object->GetPhaseShift().UpdateUnphasedFlag();
- phaseShift.UpdateUnphasedFlag();
+ UpdateVisibilityIfNeeded(object, updateVisibility, true);
}
void PhasingHandler::PrintToChat(ChatHandler* chat, PhaseShift const& phaseShift)