diff options
| author | Treeston <treeston.mmoc@gmail.com> | 2019-07-08 11:33:09 +0200 |
|---|---|---|
| committer | Treeston <treeston.mmoc@gmail.com> | 2019-07-08 11:56:41 +0200 |
| commit | 84b7b2e08ea55575cbe62d795383d4a5341ffd4d (patch) | |
| tree | d0ce35d87614d0a45bc7747631e84949bf68d6c5 /src/server/game/Maps/Map.h | |
| parent | ec1a77bca20487f86765620485db9b13bb03aee8 (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.
Diffstat (limited to 'src/server/game/Maps/Map.h')
| -rw-r--r-- | src/server/game/Maps/Map.h | 9 |
1 files changed, 2 insertions, 7 deletions
diff --git a/src/server/game/Maps/Map.h b/src/server/game/Maps/Map.h index 94014708e7f..abc82f4e112 100644 --- a/src/server/game/Maps/Map.h +++ b/src/server/game/Maps/Map.h @@ -753,8 +753,8 @@ class TC_GAME_API Map : public GridRefManager<NGridType> // if return value is false and info->respawnTime is nonzero, it is guaranteed to be greater than time(NULL) bool CheckRespawn(RespawnInfo* info); void DoRespawn(SpawnObjectType type, ObjectGuid::LowType spawnId, uint32 gridId); - void Respawn(RespawnInfo* info, bool force = false, SQLTransaction dbTrans = nullptr); - void Respawn(std::vector<RespawnInfo*>& respawnData, bool force = false, SQLTransaction dbTrans = nullptr); + void Respawn(RespawnInfo* info, SQLTransaction dbTrans = nullptr); + void Respawn(std::vector<RespawnInfo*>& respawnData, SQLTransaction dbTrans = nullptr); void AddRespawnInfo(RespawnInfo& info, bool replace = false); void DeleteRespawnInfo(); void DeleteRespawnInfo(RespawnInfo* info); @@ -780,11 +780,6 @@ class TC_GAME_API Map : public GridRefManager<NGridType> public: void GetRespawnInfo(std::vector<RespawnInfo*>& respawnData, SpawnObjectTypeMask types, uint32 zoneId = 0) const; RespawnInfo* GetRespawnInfo(SpawnObjectType type, ObjectGuid::LowType spawnId) const; - void ForceRespawn(SpawnObjectType type, ObjectGuid::LowType spawnId) - { - if (RespawnInfo* info = GetRespawnInfo(type, spawnId)) - Respawn(info, true); - } void RemoveRespawnTime(RespawnInfo* info, bool doRespawn = false, SQLTransaction dbTrans = nullptr); void RemoveRespawnTime(std::vector<RespawnInfo*>& respawnData, bool doRespawn = false, SQLTransaction dbTrans = nullptr); void RemoveRespawnTime(SpawnObjectTypeMask types = SPAWN_TYPEMASK_ALL, uint32 zoneId = 0, bool doRespawn = false, SQLTransaction dbTrans = nullptr) |
