Core/Misc: Various dynspawn cleanup and refactors split off from pooling rewrite:

Port From (https://github.com/TrinityCore/TrinityCore/commit/eee950cdd7bcbe9443a53ea5c4cce35444a503f7)
This commit is contained in:
hondacrx
2021-12-27 18:09:58 -05:00
parent 9b2d1e67b6
commit 55c298be9f
6 changed files with 92 additions and 94 deletions
+7 -6
View File
@@ -1625,7 +1625,7 @@ namespace Game.Entities
foreach (Creature creature in toUnload)
map.AddObjectToRemoveList(creature);
map.RemoveRespawnTime(SpawnObjectType.Creature, spawnId, false, trans);
map.RemoveRespawnTime(SpawnObjectType.Creature, spawnId, trans);
});
// delete data from memory ...
@@ -1897,9 +1897,6 @@ namespace Game.Entities
if (GetDeathState() == DeathState.Dead)
{
if (m_spawnId != 0)
GetMap().RemoveRespawnTime(SpawnObjectType.Creature, m_spawnId);
Log.outDebug(LogFilter.Unit, "Respawning creature {0} ({1})", GetName(), GetGUID().ToString());
m_respawnTime = 0;
ResetPickPocketRefillTimer();
@@ -1939,7 +1936,7 @@ namespace Game.Entities
else
{
if (m_spawnId != 0)
GetMap().RemoveRespawnTime(SpawnObjectType.Creature, m_spawnId, true);
GetMap().Respawn(SpawnObjectType.Creature, m_spawnId);
}
Log.outDebug(LogFilter.Unit, $"Respawning creature {GetName()} ({GetGUID()})");
@@ -2268,7 +2265,11 @@ namespace Game.Entities
if (m_respawnCompatibilityMode)
{
GetMap().SaveRespawnTimeDB(SpawnObjectType.Creature, m_spawnId, m_respawnTime);
RespawnInfo ri = new();
ri.type = SpawnObjectType.Creature;
ri.spawnId = m_spawnId;
ri.respawnTime = m_respawnTime;
GetMap().SaveRespawnInfoDB(ri);
return;
}
@@ -1164,7 +1164,7 @@ namespace Game.Entities
foreach (GameObject obj in toUnload)
map.AddObjectToRemoveList(obj);
map.RemoveRespawnTime(SpawnObjectType.GameObject, spawnId, false, trans);
map.RemoveRespawnTime(SpawnObjectType.GameObject, spawnId, trans);
});
// delete data from memory
@@ -1271,7 +1271,11 @@ namespace Game.Entities
{
if (m_respawnCompatibilityMode)
{
GetMap().SaveRespawnTimeDB(SpawnObjectType.GameObject, m_spawnId, m_respawnTime);
RespawnInfo ri = new();
ri.type = SpawnObjectType.GameObject;
ri.spawnId = m_spawnId;
ri.respawnTime = m_respawnTime;
GetMap().SaveRespawnInfoDB(ri);
return;
}
@@ -1337,7 +1341,7 @@ namespace Game.Entities
if (m_spawnedByDefault && m_respawnTime > 0)
{
m_respawnTime = GameTime.GetGameTime();
GetMap().RemoveRespawnTime(SpawnObjectType.GameObject, m_spawnId, true);
GetMap().Respawn(SpawnObjectType.GameObject, m_spawnId);
}
}