aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Phasing/PhaseShift.cpp
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2021-11-22 22:39:16 +0100
committerShauren <shauren.trinity@gmail.com>2021-11-22 22:39:16 +0100
commit630adfec227c18b8825f4871a1bf1a395b8dee05 (patch)
tree6137c8b41209a4f960daa884d0625e64ad0e268e /src/server/game/Phasing/PhaseShift.cpp
parentcb8b6370612e6684b3b3fbdb4a08f8ec21d51f3e (diff)
Core/Phasing: Fixed inverse phaseshift logic
Diffstat (limited to 'src/server/game/Phasing/PhaseShift.cpp')
-rw-r--r--src/server/game/Phasing/PhaseShift.cpp11
1 files changed, 5 insertions, 6 deletions
diff --git a/src/server/game/Phasing/PhaseShift.cpp b/src/server/game/Phasing/PhaseShift.cpp
index c5c0bba5549..f9753226918 100644
--- a/src/server/game/Phasing/PhaseShift.cpp
+++ b/src/server/game/Phasing/PhaseShift.cpp
@@ -124,8 +124,8 @@ bool PhaseShift::CanSee(PhaseShift const& other) const
auto checkInversePhaseShift = [excludePhasesWithFlag](PhaseShift const& phaseShift, PhaseShift const& excludedPhaseShift)
{
- if (phaseShift.Flags.HasFlag(PhaseShiftFlags::Unphased) && !excludedPhaseShift.Flags.HasFlag(PhaseShiftFlags::InverseUnphased))
- return true;
+ if (phaseShift.Flags.HasFlag(PhaseShiftFlags::Unphased) && excludedPhaseShift.Flags.HasFlag(PhaseShiftFlags::InverseUnphased))
+ return false;
for (PhaseRef const& phase : phaseShift.Phases)
{
@@ -133,11 +133,10 @@ bool PhaseShift::CanSee(PhaseShift const& other) const
continue;
auto itr2 = std::find(excludedPhaseShift.Phases.begin(), excludedPhaseShift.Phases.end(), phase);
- if (itr2 == excludedPhaseShift.Phases.end() || itr2->Flags.HasFlag(excludePhasesWithFlag))
- return true;
+ if (itr2 != excludedPhaseShift.Phases.end() && !itr2->Flags.HasFlag(excludePhasesWithFlag))
+ return false;
}
-
- return false;
+ return true;
};
if (other.Flags.HasFlag(PhaseShiftFlags::Inverse))