diff options
| author | ariel- <ariel-@users.noreply.github.com> | 2018-02-01 13:10:51 -0300 |
|---|---|---|
| committer | Ariel Silva <ariel-@users.noreply.github.com> | 2018-03-09 14:41:28 -0300 |
| commit | 080d2c6cd439acb2059adc4e24a279de98aa0db6 (patch) | |
| tree | 53cd60562b73a7157fe0d0e6f4263df2831a656f /src/server/game/Maps/Map.cpp | |
| parent | e8d5aa56cc48572d81e1898b7b4ff10cfa6d1957 (diff) | |
Core/Spells: rework part 4: iterate over effects first
Ref #18395
Implement far spell queue processing
Closes #7395
Diffstat (limited to 'src/server/game/Maps/Map.cpp')
| -rw-r--r-- | src/server/game/Maps/Map.cpp | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/server/game/Maps/Map.cpp b/src/server/game/Maps/Map.cpp index 347882d34c6..609426e1b11 100644 --- a/src/server/game/Maps/Map.cpp +++ b/src/server/game/Maps/Map.cpp @@ -3395,8 +3395,22 @@ bool Map::IsSpawnGroupActive(uint32 groupId) const return (_toggledSpawnGroupIds.find(groupId) != _toggledSpawnGroupIds.end()) != !(data->flags & SPAWNGROUP_FLAG_MANUAL_SPAWN); } +void Map::AddFarSpellCallback(FarSpellCallback&& callback) +{ + _farSpellCallbacks.Enqueue(new FarSpellCallback(std::move(callback))); +} + void Map::DelayedUpdate(uint32 t_diff) { + { + FarSpellCallback* callback; + while (_farSpellCallbacks.Dequeue(callback)) + { + (*callback)(this); + delete callback; + } + } + for (_transportsUpdateIter = _transports.begin(); _transportsUpdateIter != _transports.end();) { Transport* transport = *_transportsUpdateIter; |
