aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Server
diff options
context:
space:
mode:
authorSpp <none@none>2010-08-13 15:38:10 +0200
committerSpp <none@none>2010-08-13 15:38:10 +0200
commit3e29ae1ee8ed410127fe37e47d4e904b57436dfe (patch)
treeb1d1df1d7b8e1df5c36f5b0d0887d28612102a93 /src/server/game/Server
parent55705e91d4ab0e0341c73e3104aecb4028910288 (diff)
Dungeon Finder: Add vote kick support
--HG-- branch : trunk
Diffstat (limited to 'src/server/game/Server')
-rw-r--r--src/server/game/Server/Protocol/Handlers/GroupHandler.cpp11
-rw-r--r--src/server/game/Server/Protocol/Handlers/LFGHandler.cpp2
2 files changed, 11 insertions, 2 deletions
diff --git a/src/server/game/Server/Protocol/Handlers/GroupHandler.cpp b/src/server/game/Server/Protocol/Handlers/GroupHandler.cpp
index 7b8fae749e1..838ebb40f4f 100644
--- a/src/server/game/Server/Protocol/Handlers/GroupHandler.cpp
+++ b/src/server/game/Server/Protocol/Handlers/GroupHandler.cpp
@@ -32,6 +32,7 @@
#include "Util.h"
#include "SpellAuras.h"
#include "Vehicle.h"
+#include "LFGMgr.h"
class Aura;
@@ -289,7 +290,10 @@ void WorldSession::HandleGroupUninviteGuidOpcode(WorldPacket & recv_data)
if (grp->IsMember(guid))
{
- Player::RemoveFromGroup(grp,guid);
+ if (grp->isLFGGroup())
+ sLFGMgr.InitBoot(grp, GUID_LOPART(GetPlayer()->GetGUID()), GUID_LOPART(guid), reason);
+ else
+ Player::RemoveFromGroup(grp,guid);
return;
}
@@ -331,7 +335,10 @@ void WorldSession::HandleGroupUninviteOpcode(WorldPacket & recv_data)
if (uint64 guid = grp->GetMemberGUID(membername))
{
- Player::RemoveFromGroup(grp,guid);
+ if (grp->isLFGGroup())
+ sLFGMgr.InitBoot(grp, GUID_LOPART(GetPlayer()->GetGUID()), GUID_LOPART(guid), "");
+ else
+ Player::RemoveFromGroup(grp,guid);
return;
}
diff --git a/src/server/game/Server/Protocol/Handlers/LFGHandler.cpp b/src/server/game/Server/Protocol/Handlers/LFGHandler.cpp
index b2a91b010fc..85a280152b5 100644
--- a/src/server/game/Server/Protocol/Handlers/LFGHandler.cpp
+++ b/src/server/game/Server/Protocol/Handlers/LFGHandler.cpp
@@ -150,6 +150,8 @@ void WorldSession::HandleLfgSetBootVoteOpcode(WorldPacket &recv_data)
uint8 agree; // Agree to kick player
recv_data >> agree;
+ if (agree < 2)
+ sLFGMgr.UpdateBoot(GetPlayer(), agree);
}
void WorldSession::HandleLfgTeleportOpcode(WorldPacket &recv_data)