Core/Phases: implemented usage of default terrain swaps

- added example for Gilneas (from sniff)
This commit is contained in:
Rat committed 2014-10-31 00:05:13 +01:00
1 parent d25a8c4859
commit 03fed3c7a4
5 files changed
+28 -11

No files matched your search

+13 -2
View File
@@ -2928,11 +2928,11 @@ void WorldObject::RebuildTerrainSwaps()
ConditionList conditions;
// Check all applied phases for terrain swap and add it only once
for (auto phaseId : _phases)
for (uint32 phaseId : _phases)
{
std::list<uint32>& swaps = sObjectMgr->GetPhaseTerrainSwaps(phaseId);
for (auto swap : swaps)
for (uint32 swap : swaps)
{
conditions = sConditionMgr->GetConditionsForNotGroupedEntry(CONDITION_SOURCE_TYPE_TERRAIN_SWAP, swap);
@@ -2940,4 +2940,15 @@ void WorldObject::RebuildTerrainSwaps()
_terrainSwaps.insert(swap);
}
}
// get default terrain swaps, id is 0
std::list<uint32>& swaps = sObjectMgr->GetPhaseTerrainSwaps(0);
for (uint32 swap : swaps)
{
conditions = sConditionMgr->GetConditionsForNotGroupedEntry(CONDITION_SOURCE_TYPE_TERRAIN_SWAP, swap);
if (sConditionMgr->IsObjectMeetToConditions(this, conditions))
_terrainSwaps.insert(swap);
}
}