diff options
author | Shauren <shauren.trinity@gmail.com> | 2021-11-22 22:39:16 +0100 |
---|---|---|
committer | Shauren <shauren.trinity@gmail.com> | 2021-11-22 22:39:16 +0100 |
commit | 630adfec227c18b8825f4871a1bf1a395b8dee05 (patch) | |
tree | 6137c8b41209a4f960daa884d0625e64ad0e268e /src/server/game/Phasing/PhaseShift.cpp | |
parent | cb8b6370612e6684b3b3fbdb4a08f8ec21d51f3e (diff) |
Core/Phasing: Fixed inverse phaseshift logic
Diffstat (limited to 'src/server/game/Phasing/PhaseShift.cpp')
-rw-r--r-- | src/server/game/Phasing/PhaseShift.cpp | 11 |
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)) |