aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/DungeonFinding/LFGScripts.cpp
diff options
context:
space:
mode:
authorSpp <spp@jorge.gr>2012-11-21 19:54:50 +0100
committerSpp <spp@jorge.gr>2012-11-21 19:56:48 +0100
commitd3c902915b66fd6fa4a498f00150863cac95e394 (patch)
treecd916b917905c92b9a0fbfe86ff958a120bd1dd2 /src/server/game/DungeonFinding/LFGScripts.cpp
parent17304baf61754c9f3e1c2d6c85b2cf8dbfe39ed7 (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.cpp13
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)