diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/server/game/Entities/GameObject/GameObject.cpp | 3 | ||||
-rw-r--r-- | src/server/game/Maps/Map.cpp | 2 |
2 files changed, 4 insertions, 1 deletions
diff --git a/src/server/game/Entities/GameObject/GameObject.cpp b/src/server/game/Entities/GameObject/GameObject.cpp index 4713ce9034d..62e9dc02ca5 100644 --- a/src/server/game/Entities/GameObject/GameObject.cpp +++ b/src/server/game/Entities/GameObject/GameObject.cpp @@ -1366,6 +1366,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 9ab7f63aabd..77e667bce06 100644 --- a/src/server/game/Maps/Map.cpp +++ b/src/server/game/Maps/Map.cpp @@ -3149,7 +3149,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; |