aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Groups/Group.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/game/Groups/Group.cpp')
-rw-r--r--src/server/game/Groups/Group.cpp9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/server/game/Groups/Group.cpp b/src/server/game/Groups/Group.cpp
index d49255cff1e..8877839e2af 100644
--- a/src/server/game/Groups/Group.cpp
+++ b/src/server/game/Groups/Group.cpp
@@ -256,6 +256,8 @@ bool Group::AddInvite(Player *player)
player->SetGroupInvite(this);
+ sScriptMgr.OnGroupInviteMember(this, player->GetGUID());
+
return true;
}
@@ -314,6 +316,7 @@ bool Group::AddMember(const uint64 &guid, const char* name)
return false;
SendUpdate();
+ sScriptMgr.OnGroupAddMember(this, guid);
Player *player = sObjectMgr.GetPlayer(guid);
if (player)
@@ -363,6 +366,8 @@ uint32 Group::RemoveMember(const uint64 &guid, const RemoveMethod &method)
else if (isLFGGroup() && !isLfgDungeonComplete())
sLFGMgr.OfferContinue(this);
+ sScriptMgr.OnGroupRemoveMember(this, guid, method);
+
// remove member and change leader (if need) only if strong more 2 members _before_ member remove
if (GetMembersCount() > (isBGGroup() ? 1u : 2u)) // in BG group case allow 1 members group
{
@@ -426,6 +431,7 @@ void Group::ChangeLeader(const uint64 &guid)
if (slot == m_memberSlots.end())
return;
+ sScriptMgr.OnGroupChangeLeader(this, m_leaderGuid, guid);
_setLeader(guid);
WorldPacket data(SMSG_GROUP_SET_LEADER, slot->name.size()+1);
@@ -436,8 +442,9 @@ void Group::ChangeLeader(const uint64 &guid)
void Group::Disband(bool hideDestroy /* = false */)
{
- Player *player;
+ sScriptMgr.OnGroupDisband(this);
+ Player *player;
for (member_citerator citr = m_memberSlots.begin(); citr != m_memberSlots.end(); ++citr)
{
player = sObjectMgr.GetPlayer(citr->guid);