diff --git a/src/server/game/Entities/GameObject/GameObject.cpp b/src/server/game/Entities/GameObject/GameObject.cpp index 8194d6fed8..c2856ad022 100644 --- a/src/server/game/Entities/GameObject/GameObject.cpp +++ b/src/server/game/Entities/GameObject/GameObject.cpp @@ -1674,6 +1674,9 @@ void GameObject::SetRespawnTime(int32 respawn) m_respawnDelayTime = respawn > 0 ? respawn : 0; if (respawn && !m_spawnedByDefault) UpdateObjectVisibility(true); + + if (m_spawnedByDefault && !m_respawnCompatibilityMode && m_respawnTime > 0) + SetLootState(GO_JUST_DEACTIVATED); } void GameObject::Respawn() diff --git a/src/server/game/Maps/Map.cpp b/src/server/game/Maps/Map.cpp index f33af21ece..b079ca7b40 100644 --- a/src/server/game/Maps/Map.cpp +++ b/src/server/game/Maps/Map.cpp @@ -1941,7 +1941,7 @@ bool Map::AddRespawnInfo(RespawnInfo const& info) if (it != bySpawnIdMap.end()) // spawnid already has a respawn scheduled { RespawnInfo* const existing = it->second; - if (info.respawnTime <= existing->respawnTime) // delete existing in this case + if (info.respawnTime < existing->respawnTime) // delete existing in this case DeleteRespawnInfo(existing); else return false;