diff options
| author | Spp <spp@jorge.gr> | 2012-11-21 19:54:50 +0100 |
|---|---|---|
| committer | Spp <spp@jorge.gr> | 2012-11-21 19:56:48 +0100 |
| commit | d3c902915b66fd6fa4a498f00150863cac95e394 (patch) | |
| tree | cd916b917905c92b9a0fbfe86ff958a120bd1dd2 /src/server/game/DungeonFinding/LFGScripts.cpp | |
| parent | 17304baf61754c9f3e1c2d6c85b2cf8dbfe39ed7 (diff) | |
Core/Dungeon Finder: Properly update Lfg Status (shouldn't lose 'eye' when changing maps or reconnect after disconnection)
- Also fixes removing Player data when it shouldn't... should solve some problems with players not getting reward in some cases
Diffstat (limited to 'src/server/game/DungeonFinding/LFGScripts.cpp')
| -rw-r--r-- | src/server/game/DungeonFinding/LFGScripts.cpp | 13 |
1 files changed, 5 insertions, 8 deletions
diff --git a/src/server/game/DungeonFinding/LFGScripts.cpp b/src/server/game/DungeonFinding/LFGScripts.cpp index 930367a0745..f9e3c02fe98 100644 --- a/src/server/game/DungeonFinding/LFGScripts.cpp +++ b/src/server/game/DungeonFinding/LFGScripts.cpp @@ -46,14 +46,11 @@ void LFGPlayerScript::OnLogout(Player* player) if (!sLFGMgr->isOptionEnabled(LFG_OPTION_ENABLE_DUNGEON_FINDER | LFG_OPTION_ENABLE_RAID_BROWSER)) return; - uint64 guid = player->GetGUID(); - sLFGMgr->LeaveLfg(guid); - LfgUpdateData updateData = LfgUpdateData(LFG_UPDATETYPE_REMOVED_FROM_QUEUE); - player->GetSession()->SendLfgUpdateParty(updateData); - player->GetSession()->SendLfgUpdatePlayer(updateData); - player->GetSession()->SendLfgLfrList(false); - // TODO - Do not remove, add timer before deleting - sLFGMgr->RemovePlayerData(guid); + if (!player->GetGroup()) + { + player->GetSession()->SendLfgLfrList(false); + sLFGMgr->LeaveLfg(player->GetGUID()); + } } void LFGPlayerScript::OnLogin(Player* player) |
