diff --git a/src/server/game/Maps/Map.cpp b/src/server/game/Maps/Map.cpp index 6217000c7..860d5be0c 100644 --- a/src/server/game/Maps/Map.cpp +++ b/src/server/game/Maps/Map.cpp @@ -2774,7 +2774,7 @@ bool InstanceMap::AddPlayerToMap(Player* player) if (!group || !group->isLFGGroup() || !group->IsLfgRandomInstance()) player->AddInstanceEnterTime(GetInstanceId(), time(nullptr)); - if (!playerBind->perm && !mapSave->CanReset() && (!group || !group->isLFGGroup() || !group->IsLfgRandomInstance())) + if (playerBind->perm && !mapSave->CanReset() && group && !group->isLFGGroup() && !group->IsLfgRandomInstance()) { WorldPacket data(SMSG_INSTANCE_LOCK_WARNING_QUERY, 9); data << uint32(60000); @@ -2814,6 +2814,7 @@ void InstanceMap::RemovePlayerFromMap(Player* player, bool remove) //if (!m_unloadTimer && m_mapRefManager.getSize() == 1) // m_unloadTimer = m_unloadWhenEmpty ? MIN_UNLOAD_DELAY : std::max(sWorld->getIntConfig(CONFIG_INSTANCE_UNLOAD_DELAY), (uint32)MIN_UNLOAD_DELAY); Map::RemovePlayerFromMap(player, remove); + player->SetPendingBind(0, 0); } void InstanceMap::AfterPlayerUnlinkFromMap()