From fa97598594a2bab4a70eca329686948b6ee121f6 Mon Sep 17 00:00:00 2001 From: Spp Date: Tue, 23 Nov 2010 20:49:57 +0100 Subject: Core/Dungeon Finder: Move vote kick initialization from Group code to Scripts --HG-- branch : trunk --- src/server/scripts/World/dungeon_finder.cpp | 24 ++++++++++++++++-------- 1 file changed, 16 insertions(+), 8 deletions(-) (limited to 'src/server/scripts') 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) -- cgit v1.2.3