aboutsummaryrefslogtreecommitdiff
path: root/src/server/scripts/World
diff options
context:
space:
mode:
authorSpp <none@none>2010-11-23 20:49:57 +0100
committerSpp <none@none>2010-11-23 20:49:57 +0100
commitfa97598594a2bab4a70eca329686948b6ee121f6 (patch)
tree48363a8afe70c6b3f259eb9c1a88727dcdd1c375 /src/server/scripts/World
parentd3c94781537986f789afbd13a2c0ace4d9e5ac7c (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.cpp24
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)