aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/server/game/DataStores/DBCStructure.h2
-rw-r--r--src/server/game/Maps/PhaseMgr.cpp24
2 files changed, 11 insertions, 15 deletions
diff --git a/src/server/game/DataStores/DBCStructure.h b/src/server/game/DataStores/DBCStructure.h
index f3154d727e5..feb473958b5 100644
--- a/src/server/game/DataStores/DBCStructure.h
+++ b/src/server/game/DataStores/DBCStructure.h
@@ -2523,5 +2523,5 @@ typedef std::vector<TaxiPathNodeList> TaxiPathNodesByPath;
#define TaxiMaskSize 114
typedef uint8 TaxiMask[TaxiMaskSize];
-typedef std::unordered_map<uint32, std::set<uint32> const&> PhaseGroupContainer;
+typedef std::unordered_map<uint32, std::set<uint32>> PhaseGroupContainer;
#endif
diff --git a/src/server/game/Maps/PhaseMgr.cpp b/src/server/game/Maps/PhaseMgr.cpp
index 0f542bf5948..13d357702ab 100644
--- a/src/server/game/Maps/PhaseMgr.cpp
+++ b/src/server/game/Maps/PhaseMgr.cpp
@@ -357,31 +357,27 @@ uint32 PhaseData::RemoveAuraInfo(uint32 spellId)
PhaseInfoContainer::const_iterator rAura = spellPhaseInfo.find(spellId);
if (rAura != spellPhaseInfo.end())
{
- bool serverUpdated = false;
- bool clientUpdated = false;
uint32 updateflag = 0;
for (auto phase = rAura->second.begin(); phase != rAura->second.end(); ++phase)
{
- if (!clientUpdated && phase->NeedsClientSideUpdate())
- {
- clientUpdated = true;
+ if (phase->NeedsClientSideUpdate())
updateflag |= PHASE_UPDATE_FLAG_CLIENTSIDE_CHANGED;
- }
- if (!serverUpdated && phase->NeedsServerSideUpdate())
+ if (phase->NeedsServerSideUpdate())
{
- serverUpdated = true;
_PhasemaskThroughAuras = 0;
-
updateflag |= PHASE_UPDATE_FLAG_SERVERSIDE_CHANGED;
+ }
+ }
- spellPhaseInfo.erase(rAura);
+ if (updateflag & PHASE_UPDATE_FLAG_SERVERSIDE_CHANGED)
+ {
+ spellPhaseInfo.erase(rAura);
- for (PhaseInfoContainer::const_iterator itr = spellPhaseInfo.begin(); itr != spellPhaseInfo.end(); ++itr)
- for (auto ph = itr->second.begin(); ph != itr->second.end(); ++ph)
- _PhasemaskThroughAuras |= ph->phasemask;
- }
+ for (PhaseInfoContainer::const_iterator itr = spellPhaseInfo.begin(); itr != spellPhaseInfo.end(); ++itr)
+ for (auto ph = itr->second.begin(); ph != itr->second.end(); ++ph)
+ _PhasemaskThroughAuras |= ph->phasemask;
}
return updateflag;