diff options
author | Treeston <treeston.mmoc@gmail.com> | 2019-07-08 11:33:09 +0200 |
---|---|---|
committer | Shauren <shauren.trinity@gmail.com> | 2021-12-14 22:42:22 +0100 |
commit | 2532de6acb7d73957a8fca44e7fc26160f47cc47 (patch) | |
tree | 7e5377ad36d395a52e2d91d45396760c3c60916f /src/server/game/Maps/Map.cpp | |
parent | 8be3d33eae02e327ba6ae7c7cee87f9def9c7207 (diff) |
Entities/Unit: Nuke Map::ForceRespawn from orbit, with the following implications:
- .npc respawn no longer causes stupid things to happen (Fixes #23014)
- ::DeleteFromDB methods on Creature and GameObject rewritten to be as sensible as such a colossally stupid method can ever be. They're static now.
- .npc delete and .gobj delete ported to new argument handling, and rewritten as per above. They can no longer crash the server when used in instances, too. Yay for that.
- Adjusted various dusty cobwebbed hacks around the core (why does waypoint visualization use permanent spawns *shudder*) to still work too.
(cherry picked from commit 84b7b2e08ea55575cbe62d795383d4a5341ffd4d)
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 8d8a6f2d4bd..dbc3ba69480 100644 --- a/src/server/game/Maps/Map.cpp +++ b/src/server/game/Maps/Map.cpp @@ -3218,9 +3218,9 @@ void Map::DoRespawn(SpawnObjectType type, ObjectGuid::LowType spawnId, uint32 gr } } -void Map::Respawn(RespawnInfo* info, bool force, CharacterDatabaseTransaction dbTrans) +void Map::Respawn(RespawnInfo* info, CharacterDatabaseTransaction dbTrans) { - if (!force && !CheckRespawn(info)) + if (!CheckRespawn(info)) { if (info->respawnTime) SaveRespawnTime(info->type, info->spawnId, info->entry, info->respawnTime, info->zoneId, info->gridId, true, true, dbTrans); @@ -3237,11 +3237,11 @@ void Map::Respawn(RespawnInfo* info, bool force, CharacterDatabaseTransaction db DoRespawn(type, spawnId, gridId); } -void Map::Respawn(std::vector<RespawnInfo*>& respawnData, bool force, CharacterDatabaseTransaction dbTrans) +void Map::Respawn(std::vector<RespawnInfo*>& respawnData, CharacterDatabaseTransaction dbTrans) { CharacterDatabaseTransaction trans = dbTrans ? dbTrans : CharacterDatabase.BeginTransaction(); for (RespawnInfo* info : respawnData) - Respawn(info, force, trans); + Respawn(info, trans); if (!dbTrans) CharacterDatabase.CommitTransaction(trans); } |