diff options
| author | Spp <none@none> | 2010-11-23 20:49:57 +0100 |
|---|---|---|
| committer | Spp <none@none> | 2010-11-23 20:49:57 +0100 |
| commit | fa97598594a2bab4a70eca329686948b6ee121f6 (patch) | |
| tree | 48363a8afe70c6b3f259eb9c1a88727dcdd1c375 /src/server/scripts/World | |
| parent | d3c94781537986f789afbd13a2c0ace4d9e5ac7c (diff) | |
Core/Dungeon Finder: Move vote kick initialization from Group code to Scripts
--HG--
branch : trunk
Diffstat (limited to 'src/server/scripts/World')
| -rw-r--r-- | src/server/scripts/World/dungeon_finder.cpp | 24 |
1 files changed, 16 insertions, 8 deletions
diff --git a/src/server/scripts/World/dungeon_finder.cpp b/src/server/scripts/World/dungeon_finder.cpp index 805d32539d5..b770ae2fed8 100644 --- a/src/server/scripts/World/dungeon_finder.cpp +++ b/src/server/scripts/World/dungeon_finder.cpp @@ -67,24 +67,32 @@ public: if (!group->isLFGGroup()) return; - if (!group->isLfgDungeonComplete()) // Need more players to finish the dungeon - sLFGMgr.OfferContinue(group); - if (method == GROUP_REMOVEMETHOD_KICK) // Player have been kicked { - // TODO - Update internal kick cooldown - } - else - { - // Deserter flag + // TODO - Update internal kick cooldown of kicker + std::string str_reason = ""; + if (reason) + str_reason = std::string(reason); + sLFGMgr.InitBoot(group, GUID_LOPART(kicker), GUID_LOPART(guid), str_reason); + return; } if (Player *plr = sObjectMgr.GetPlayer(guid)) { + /* + if (method == GROUP_REMOVEMETHOD_LEAVE) + // Add deserter flag + else if (group->isLfgKickActive()) + // Update internal kick cooldown of kicked + */ + plr->GetSession()->SendLfgUpdateParty(LFG_UPDATETYPE_LEADER); if (plr->GetMap()->IsDungeon()) // Teleport player out the dungeon sLFGMgr.TeleportPlayer(plr, true); } + + if (!group->isLfgDungeonComplete()) // Need more players to finish the dungeon + sLFGMgr.OfferContinue(group); } void OnDisband(Group* group) |
