Core/Player: Add default remove Method to RemoveFromGroup

--HG--
branch : trunk
This commit is contained in:
Spp
2010-09-14 16:38:08 +02:00
parent 80051c6d3c
commit 61bbd284de
3 changed files with 5 additions and 5 deletions
+2 -2
View File
@@ -2594,11 +2594,11 @@ void Player::UninviteFromGroup()
} }
} }
void Player::RemoveFromGroup(Group* group, uint64 guid) void Player::RemoveFromGroup(Group* group, uint64 guid, RemoveMethod method /* = GROUP_REMOVEMETHOD_DEFAULT*/)
{ {
if (group) if (group)
{ {
if (group->RemoveMember(guid) <= 1) if (group->RemoveMember(guid, method) <= 1)
{ {
// group->Disband(); already disbanded in RemoveMember // group->Disband(); already disbanded in RemoveMember
sObjectMgr.RemoveGroup(group); sObjectMgr.RemoveGroup(group);
+1 -1
View File
@@ -1708,7 +1708,7 @@ class Player : public Unit, public GridObject<Player>
bool IsInSameGroupWith(Player const* p) const; bool IsInSameGroupWith(Player const* p) const;
bool IsInSameRaidWith(Player const* p) const { return p == this || (GetGroup() != NULL && GetGroup() == p->GetGroup()); } bool IsInSameRaidWith(Player const* p) const { return p == this || (GetGroup() != NULL && GetGroup() == p->GetGroup()); }
void UninviteFromGroup(); void UninviteFromGroup();
static void RemoveFromGroup(Group* group, uint64 guid); static void RemoveFromGroup(Group* group, uint64 guid, RemoveMethod method = GROUP_REMOVEMETHOD_DEFAULT);
void RemoveFromGroup() { RemoveFromGroup(GetGroup(),GetGUID()); } void RemoveFromGroup() { RemoveFromGroup(GetGroup(),GetGUID()); }
void SendUpdateToOutOfRangeGroupMembers(); void SendUpdateToOutOfRangeGroupMembers();
@@ -293,7 +293,7 @@ void WorldSession::HandleGroupUninviteGuidOpcode(WorldPacket & recv_data)
if (grp->isLFGGroup()) if (grp->isLFGGroup())
sLFGMgr.InitBoot(grp, GUID_LOPART(GetPlayer()->GetGUID()), GUID_LOPART(guid), reason); sLFGMgr.InitBoot(grp, GUID_LOPART(GetPlayer()->GetGUID()), GUID_LOPART(guid), reason);
else else
Player::RemoveFromGroup(grp,guid); Player::RemoveFromGroup(grp, guid, GROUP_REMOVEMETHOD_KICK);
return; return;
} }
@@ -338,7 +338,7 @@ void WorldSession::HandleGroupUninviteOpcode(WorldPacket & recv_data)
if (grp->isLFGGroup()) if (grp->isLFGGroup())
sLFGMgr.InitBoot(grp, GUID_LOPART(GetPlayer()->GetGUID()), GUID_LOPART(guid), ""); sLFGMgr.InitBoot(grp, GUID_LOPART(GetPlayer()->GetGUID()), GUID_LOPART(guid), "");
else else
Player::RemoveFromGroup(grp,guid); Player::RemoveFromGroup(grp, guid, GROUP_REMOVEMETHOD_KICK);
return; return;
} }