diff options
author | Treeston <treeston.mmoc@gmail.com> | 2018-01-07 19:47:13 +0100 |
---|---|---|
committer | Shauren <shauren.trinity@gmail.com> | 2021-05-16 21:56:06 +0200 |
commit | 8b7728f82e6e7c326b7945efd719218179e9767a (patch) | |
tree | 6e70cddbfd2a1f4ad589eda6655a90e0f996b131 /src/server/game/Maps/Map.cpp | |
parent | 0f005c3686012e2c0403974e89cd1c3ba777450d (diff) |
Core/Map: New Map::ForceRespawn to override objections and force a respawn (equivalent to force = true). Use this to fix various GM commands.
Scripts/Valithria: Fix an issue that could get the encounter stuck in an unloaded state.
(cherry picked from commit 3bb33e3108c65ba8a1c35b934526562aa542b63b)
Diffstat (limited to 'src/server/game/Maps/Map.cpp')
-rw-r--r-- | src/server/game/Maps/Map.cpp | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/server/game/Maps/Map.cpp b/src/server/game/Maps/Map.cpp index 088cf8625ed..697015cfe3f 100644 --- a/src/server/game/Maps/Map.cpp +++ b/src/server/game/Maps/Map.cpp @@ -3206,7 +3206,7 @@ void Map::Respawn(RespawnInfo* info, bool force, CharacterDatabaseTransaction db DoRespawn(type, spawnId, gridId); } -void Map::Respawn(RespawnVector& respawnData, bool force, CharacterDatabaseTransaction dbTrans) +void Map::Respawn(std::vector<RespawnInfo*>& respawnData, bool force, CharacterDatabaseTransaction dbTrans) { CharacterDatabaseTransaction trans = dbTrans ? dbTrans : CharacterDatabase.BeginTransaction(); for (RespawnInfo* info : respawnData) @@ -3242,13 +3242,13 @@ void Map::AddRespawnInfo(RespawnInfo& info, bool replace) ASSERT(success, "Insertion of respawn info with id (%u," UI64FMTD ") into spawn id map failed - state desync.", uint32(ri->type), ri->spawnId); } -static void PushRespawnInfoFrom(RespawnVector& data, RespawnInfoMap const& map, uint32 zoneId) +static void PushRespawnInfoFrom(std::vector<RespawnInfo*>& data, RespawnInfoMap const& map, uint32 zoneId) { for (auto const& pair : map) if (!zoneId || pair.second->zoneId == zoneId) data.push_back(pair.second); } -void Map::GetRespawnInfo(RespawnVector& respawnData, SpawnObjectTypeMask types, uint32 zoneId) const +void Map::GetRespawnInfo(std::vector<RespawnInfo*>& respawnData, SpawnObjectTypeMask types, uint32 zoneId) const { if (types & SPAWN_TYPEMASK_CREATURE) PushRespawnInfoFrom(respawnData, _creatureRespawnTimesBySpawnId, zoneId); @@ -3316,7 +3316,7 @@ void Map::RemoveRespawnTime(RespawnInfo* info, bool doRespawn, CharacterDatabase DeleteRespawnInfo(info); } -void Map::RemoveRespawnTime(RespawnVector& respawnData, bool doRespawn, CharacterDatabaseTransaction dbTrans) +void Map::RemoveRespawnTime(std::vector<RespawnInfo*>& respawnData, bool doRespawn, CharacterDatabaseTransaction dbTrans) { CharacterDatabaseTransaction trans = dbTrans ? dbTrans : CharacterDatabase.BeginTransaction(); for (RespawnInfo* info : respawnData) |