aboutsummaryrefslogtreecommitdiff
path: root/src/server/game
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/game
parentd3c94781537986f789afbd13a2c0ace4d9e5ac7c (diff)
Core/Dungeon Finder: Move vote kick initialization from Group code to Scripts
--HG-- branch : trunk
Diffstat (limited to 'src/server/game')
-rwxr-xr-xsrc/server/game/Groups/Group.cpp4
-rwxr-xr-xsrc/server/game/Server/Protocol/Handlers/GroupHandler.cpp11
2 files changed, 6 insertions, 9 deletions
diff --git a/src/server/game/Groups/Group.cpp b/src/server/game/Groups/Group.cpp
index d8c3fce87ad..9d9ab269b3f 100755
--- a/src/server/game/Groups/Group.cpp
+++ b/src/server/game/Groups/Group.cpp
@@ -360,6 +360,10 @@ uint32 Group::RemoveMember(const uint64 &guid, const RemoveMethod &method /* = G
sScriptMgr.OnGroupRemoveMember(this, guid, method, kicker, reason);
+ // Lfg group vote kick handled in scripts
+ if (isLFGGroup() && method == GROUP_REMOVEMETHOD_KICK)
+ return m_memberSlots.size();
+
// remove member and change leader (if need) only if strong more 2 members _before_ member remove (BG allow 1 member group)
if (GetMembersCount() > (isBGGroup() ? 1u : 2u))
{
diff --git a/src/server/game/Server/Protocol/Handlers/GroupHandler.cpp b/src/server/game/Server/Protocol/Handlers/GroupHandler.cpp
index 42b2dd2092d..cbc361bc5b2 100755
--- a/src/server/game/Server/Protocol/Handlers/GroupHandler.cpp
+++ b/src/server/game/Server/Protocol/Handlers/GroupHandler.cpp
@@ -30,7 +30,6 @@
#include "Util.h"
#include "SpellAuras.h"
#include "Vehicle.h"
-#include "LFGMgr.h"
class Aura;
@@ -278,10 +277,7 @@ void WorldSession::HandleGroupUninviteGuidOpcode(WorldPacket & recv_data)
if (grp->IsMember(guid))
{
- if (grp->isLFGGroup())
- sLFGMgr.InitBoot(grp, GUID_LOPART(GetPlayer()->GetGUID()), GUID_LOPART(guid), reason);
- else
- Player::RemoveFromGroup(grp, guid, GROUP_REMOVEMETHOD_KICK, GetPlayer()->GetGUID(), reason.c_str());
+ Player::RemoveFromGroup(grp, guid, GROUP_REMOVEMETHOD_KICK, GetPlayer()->GetGUID(), reason.c_str());
return;
}
@@ -323,10 +319,7 @@ void WorldSession::HandleGroupUninviteOpcode(WorldPacket & recv_data)
if (uint64 guid = grp->GetMemberGUID(membername))
{
- if (grp->isLFGGroup())
- sLFGMgr.InitBoot(grp, GUID_LOPART(GetPlayer()->GetGUID()), GUID_LOPART(guid), "");
- else
- Player::RemoveFromGroup(grp, guid, GROUP_REMOVEMETHOD_KICK, GetPlayer()->GetGUID());
+ Player::RemoveFromGroup(grp, guid, GROUP_REMOVEMETHOD_KICK, GetPlayer()->GetGUID());
return;
}