aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Groups/Group.cpp
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2011-02-22 21:51:38 +0100
committerShauren <shauren.trinity@gmail.com>2011-02-22 21:51:38 +0100
commita8f9936bea6d114de585ab393020c0324c075c8b (patch)
tree8e77e86f1835f74730592211e4f1f27621e50aa8 /src/server/game/Groups/Group.cpp
parenta267e3ade7516a9e73b308af198e8b080af32888 (diff)
parentbde5adf9bdf77b94757d87aed6f4ba2107f88860 (diff)
Merge branch 'master' of github.com:TrinityCore/TrinityCore
Diffstat (limited to 'src/server/game/Groups/Group.cpp')
-rwxr-xr-xsrc/server/game/Groups/Group.cpp14
1 files changed, 8 insertions, 6 deletions
diff --git a/src/server/game/Groups/Group.cpp b/src/server/game/Groups/Group.cpp
index bef3904bddb..2f7ae3c4d5f 100755
--- a/src/server/game/Groups/Group.cpp
+++ b/src/server/game/Groups/Group.cpp
@@ -405,7 +405,7 @@ bool Group::AddMember(Player *player)
return true;
}
-uint32 Group::RemoveMember(const uint64 &guid, const RemoveMethod &method /* = GROUP_REMOVEMETHOD_DEFAULT */, uint64 kicker /* = 0 */, const char* reason /* = NULL */)
+bool Group::RemoveMember(const uint64 &guid, const RemoveMethod &method /*= GROUP_REMOVEMETHOD_DEFAULT*/, uint64 kicker /*= 0*/, const char* reason /*= NULL*/)
{
BroadcastGroupUpdate();
@@ -505,12 +505,15 @@ uint32 Group::RemoveMember(const uint64 &guid, const RemoveMethod &method /* = G
}
SendUpdate();
+
+ return true;
}
// If group size before player removal <= 2 then disband it
else
+ {
Disband();
-
- return m_memberSlots.size();
+ return false;
+ }
}
void Group::ChangeLeader(const uint64 &guid)
@@ -634,9 +637,8 @@ void Group::Disband(bool hideDestroy /* = false */)
ResetInstances(INSTANCE_RESET_GROUP_DISBAND, true, NULL);
}
- m_guid = 0;
- m_leaderGuid = 0;
- m_leaderName = "";
+ sObjectMgr->RemoveGroup(this);
+ delete this;
}
/*********************************************************/