From ea7c1346046ba98d0f9817668a5507b8ac184ea0 Mon Sep 17 00:00:00 2001 From: Ovahlord Date: Tue, 10 Mar 2020 10:32:34 +0100 Subject: [PATCH] Revert "Core/Phases: do not send phase ids of phases without flag PHASE_FLAG_SEND_TO_CLIENT" This reverts commit 21a8f028b00bcb942b067e99fcb4d31209b77b93. --- src/server/game/DataStores/DBCEnums.h | 7 +++---- src/server/game/Phasing/PhaseShift.h | 7 +++---- src/server/game/Phasing/PhasingHandler.cpp | 11 +++-------- 3 files changed, 9 insertions(+), 16 deletions(-) diff --git a/src/server/game/DataStores/DBCEnums.h b/src/server/game/DataStores/DBCEnums.h index 7444320298..c067d7befc 100644 --- a/src/server/game/DataStores/DBCEnums.h +++ b/src/server/game/DataStores/DBCEnums.h @@ -470,10 +470,9 @@ enum MountCapabilityFlags enum PhaseEntryFlags : uint16 { - PHASE_FLAG_SEND_TO_CLIENT = 0x04, - PHASE_FLAG_NORMAL = 0x08, - PHASE_FLAG_COSMETIC = 0x10, - PHASE_FLAG_PERSONAL = 0x20 + PHASE_FLAG_NORMAL = 0x08, + PHASE_FLAG_COSMETIC = 0x10, + PHASE_FLAG_PERSONAL = 0x20 }; // PhaseUseFlags fields in different DBCs diff --git a/src/server/game/Phasing/PhaseShift.h b/src/server/game/Phasing/PhaseShift.h index 35bb74e001..c30b477c9a 100644 --- a/src/server/game/Phasing/PhaseShift.h +++ b/src/server/game/Phasing/PhaseShift.h @@ -43,10 +43,9 @@ enum class PhaseShiftFlags : uint32 enum class PhaseFlags : uint16 { - None = 0x0, - Cosmetic = 0x1, - Personal = 0x2, - SendToClient = 0x4 + None = 0x0, + Cosmetic = 0x1, + Personal = 0x2 }; class TC_GAME_API PhaseShift diff --git a/src/server/game/Phasing/PhasingHandler.cpp b/src/server/game/Phasing/PhasingHandler.cpp index 4a564f7c16..0e775a3f14 100644 --- a/src/server/game/Phasing/PhasingHandler.cpp +++ b/src/server/game/Phasing/PhasingHandler.cpp @@ -36,9 +36,6 @@ inline PhaseFlags GetPhaseFlags(uint32 phaseId) { if (PhaseEntry const* phase = sPhaseStore.LookupEntry(phaseId)) { - if (phase->Flags & PHASE_FLAG_SEND_TO_CLIENT) - return PhaseFlags::SendToClient; - if (phase->Flags & PHASE_FLAG_COSMETIC) return PhaseFlags::Cosmetic; @@ -401,11 +398,9 @@ void PhasingHandler::SendToPlayer(Player const* player, PhaseShift const& phaseS WorldPackets::Misc::PhaseShiftChange phaseShiftChange; phaseShiftChange.Client = player->GetGUID(); phaseShiftChange.Phaseshift.PhaseShiftFlags = phaseShift.Flags.AsUnderlyingType(); - - for (auto phase : phaseShift.Phases) - if (phase.Flags.HasFlag(PhaseFlags::SendToClient)) - phaseShiftChange.Phaseshift.Phases.push_back(phase.Id); - + phaseShiftChange.Phaseshift.Phases.reserve(phaseShift.Phases.size()); + std::transform(phaseShift.Phases.begin(), phaseShift.Phases.end(), std::back_inserter(phaseShiftChange.Phaseshift.Phases), + [](PhaseShift::PhaseRef const& phase) -> uint16 { return phase.Id; }); phaseShiftChange.VisibleMapIDs.reserve(phaseShift.VisibleMapIds.size()); std::transform(phaseShift.VisibleMapIds.begin(), phaseShift.VisibleMapIds.end(), std::back_inserter(phaseShiftChange.VisibleMapIDs), [](PhaseShift::VisibleMapIdContainer::value_type const& visibleMapId) { return visibleMapId.first; });