aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Entities/GameObject
diff options
context:
space:
mode:
authorTreeston <treeston.mmoc@gmail.com>2019-07-15 17:14:58 +0200
committerTreeston <treeston.mmoc@gmail.com>2019-07-15 17:14:58 +0200
commitd60082ae866d77a12a9e6d09dfce27fc1cb5df90 (patch)
tree7c2d7de63e3658604d8a7b70ec3d3e25ef32e2f5 /src/server/game/Entities/GameObject
parent26440857c1a74031ea0a0234ca0b0fcb09b6bcb0 (diff)
Core/Misc: Various dynspawn cleanup and refactors split off from pooling rewrite:
- Map::RemoveRespawnTime(SpawnObjectType, LowType, doRespawn) split into Map::Respawn and Map::RemoveRespawnTime, without the extra boolean - Map::RemoveRespawnTime(RespawnInfo*) merged into Map::DeleteRespawnInfo(RespawnInfo*) and is now private - Map::DeleteRespawnInfo(void) renamed to Map::UnloadAllRespawnInfos to properly describe what it does - Map::ProcessRespawns now actually saves the delayed respawn time to DB if the respawn was delayed - Map::AddRespawnInfo now takes const reference, and returns success as a boolean - Map::AddRespawnInfo no longer offers an unused "replace" parameter - Map::DeleteRespawnInfo no longer offers a variety of unused private overloads - Map::SaveRespawnTime no longer offers a tantalizing writeDB parameter. Parameter is now called "startup" to properly describe what it does. - Map::SaveRespawnInfoDB now takes RespawnInfo reference instead of all the various fields. Still public because compatibility mode. QQ. - Map::GetWorldObjectBySpawnId sanitized - Map::GetXRespawnTime methods sanitized to all go through Map::GetRespawnTime
Diffstat (limited to 'src/server/game/Entities/GameObject')
-rw-r--r--src/server/game/Entities/GameObject/GameObject.cpp10
1 files changed, 7 insertions, 3 deletions
diff --git a/src/server/game/Entities/GameObject/GameObject.cpp b/src/server/game/Entities/GameObject/GameObject.cpp
index 4c1feb8be5b..b3d72cce576 100644
--- a/src/server/game/Entities/GameObject/GameObject.cpp
+++ b/src/server/game/Entities/GameObject/GameObject.cpp
@@ -1121,7 +1121,7 @@ bool GameObject::LoadFromDB(ObjectGuid::LowType spawnId, Map* map, bool addToMap
toUnload.push_back(pair.second);
for (GameObject* obj : toUnload)
map->AddObjectToRemoveList(obj);
- map->RemoveRespawnTime(SPAWN_TYPE_GAMEOBJECT, spawnId, false, trans);
+ map->RemoveRespawnTime(SPAWN_TYPE_GAMEOBJECT, spawnId, trans);
}
);
@@ -1232,7 +1232,11 @@ void GameObject::SaveRespawnTime(uint32 forceDelay)
{
if (m_respawnCompatibilityMode)
{
- GetMap()->SaveRespawnTimeDB(SPAWN_TYPE_GAMEOBJECT, m_spawnId, m_respawnTime);
+ RespawnInfo ri;
+ ri.type = SPAWN_TYPE_GAMEOBJECT;
+ ri.spawnId = m_spawnId;
+ ri.respawnTime = m_respawnTime;
+ GetMap()->SaveRespawnInfoDB(ri);
return;
}
@@ -1320,7 +1324,7 @@ void GameObject::Respawn()
if (m_spawnedByDefault && m_respawnTime > 0)
{
m_respawnTime = GameTime::GetGameTime();
- GetMap()->RemoveRespawnTime(SPAWN_TYPE_GAMEOBJECT, m_spawnId, true);
+ GetMap()->Respawn(SPAWN_TYPE_GAMEOBJECT, m_spawnId);
}
}