diff options
author | Spp <none@none> | 2010-12-09 19:13:11 +0100 |
---|---|---|
committer | Spp <none@none> | 2010-12-09 19:13:11 +0100 |
commit | be73926ab36b9776dab1fdfb8ebcb3bbe99b8735 (patch) | |
tree | b0b851cc0b22c8e24e44189b3d70946370e8141c /src/server/game/DungeonFinding/LFGScripts.cpp | |
parent | 4914ca575bd0a14918947baf131df739339fce38 (diff) |
Core/Dungeon Finder: Fix incorrect Lfg state after multiple actions.
- Clear state after get out DF system
- Fix player not getting reward after finish a random dungeon
- Remove OnDisband Hook, it's already handled by OnRemoveMember
--HG--
branch : trunk
Diffstat (limited to 'src/server/game/DungeonFinding/LFGScripts.cpp')
-rw-r--r-- | src/server/game/DungeonFinding/LFGScripts.cpp | 19 |
1 files changed, 1 insertions, 18 deletions
diff --git a/src/server/game/DungeonFinding/LFGScripts.cpp b/src/server/game/DungeonFinding/LFGScripts.cpp index 465cf7047a3..d9f81435e93 100644 --- a/src/server/game/DungeonFinding/LFGScripts.cpp +++ b/src/server/game/DungeonFinding/LFGScripts.cpp @@ -89,6 +89,7 @@ void LFGScripts::OnRemoveMember(Group* group, uint64 guid, RemoveMethod& method, // Update internal kick cooldown of kicked */ + plr->ClearLfgState(); plr->GetSession()->SendLfgUpdateParty(LFG_UPDATETYPE_LEADER); if (plr->GetMap()->IsDungeon()) // Teleport player out the dungeon sLFGMgr.TeleportPlayer(plr, true); @@ -100,24 +101,6 @@ void LFGScripts::OnRemoveMember(Group* group, uint64 guid, RemoveMethod& method, void LFGScripts::OnDisband(Group* group) { - uint64 gguid = group->GetGUID(); - if (!gguid) - return; - - sLog.outDebug("LFGScripts::OnDisband [" UI64FMTD "]", gguid); - if (group->GetLfgState() == LFG_STATE_QUEUED) - sLFGMgr.Leave(NULL, group); - - for (GroupReference *itr = group->GetFirstMember(); itr != NULL; itr = itr->next()) - { - if (Player *plrg = itr->getSource()) - { - plrg->GetSession()->SendLfgUpdateParty(LFG_UPDATETYPE_GROUP_DISBAND); - plrg->GetSession()->SendLfgUpdateParty(LFG_UPDATETYPE_LEADER); - if (plrg->GetMap()->IsDungeon()) // Teleport player out the dungeon - sLFGMgr.TeleportPlayer(plrg, true); - } - } } void LFGScripts::OnChangeLeader(Group* group, uint64 newLeaderGuid, uint64 oldLeaderGuid) |