diff options
| author | Treeston <treeston.mmoc@gmail.com> | 2017-08-09 00:21:52 +0200 |
|---|---|---|
| committer | Shauren <shauren.trinity@gmail.com> | 2020-08-22 20:52:13 +0200 |
| commit | b538cdc129e6132ddd6afc2c5ac5ccaae2959730 (patch) | |
| tree | 4a0845e52d3e0c6079a9c3c75eb857fc867fb1ad /src/server | |
| parent | 6209ceddb9fbbcf1c7e3552c17b23465c29ec118 (diff) | |
Core/Creature: Fix a crash in .npc delete (closes #20124). Also fix an issue breaking vehicles in certain edge case situations.
(cherry picked from commit 4cf49614e6e3e4a2da09c0f00404f323ae948590)
Diffstat (limited to 'src/server')
| -rw-r--r-- | src/server/game/Entities/Creature/Creature.cpp | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/server/game/Entities/Creature/Creature.cpp b/src/server/game/Entities/Creature/Creature.cpp index d4c1c5b2bd6..df1112ff27e 100644 --- a/src/server/game/Entities/Creature/Creature.cpp +++ b/src/server/game/Entities/Creature/Creature.cpp @@ -636,7 +636,7 @@ void Creature::Update(uint32 diff) { m_triggerJustAppeared = false; AI()->JustAppeared(); - if (m_vehicleKit) + if (m_respawnCompatibilityMode && m_vehicleKit) m_vehicleKit->Reset(); } @@ -1797,8 +1797,8 @@ void Creature::DeleteFromDB() WorldDatabase.CommitTransaction(trans); // then delete any active instances of the creature - auto const& range = GetMap()->GetCreatureBySpawnIdStore().equal_range(m_spawnId); - for (auto it = range.first; it != range.second; ++it) + auto const& spawnMap = GetMap()->GetCreatureBySpawnIdStore(); + for (auto it = spawnMap.find(m_spawnId); it != spawnMap.end(); it = spawnMap.find(m_spawnId)) it->second->AddObjectToRemoveList(); } |
