aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Phasing/PhasingHandler.cpp
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2021-02-26 22:10:34 +0100
committerShauren <shauren.trinity@gmail.com>2021-02-26 22:10:34 +0100
commitc9344c145ad1f981492c35d4aad7ca7a60e9f8f2 (patch)
tree1ddc52547a32e620ae263b16d6d87463f2e482e2 /src/server/game/Phasing/PhasingHandler.cpp
parentf269f60d8a5f6b0982eb46dc583e2618c98931fb (diff)
Core/Auras: Implemented SPELL_AURA_PHASE_ALWAYS_VISIBLE
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)