diff options
author | Spp <none@none> | 2010-09-14 16:37:54 +0200 |
---|---|---|
committer | Spp <none@none> | 2010-09-14 16:37:54 +0200 |
commit | 80051c6d3c81f0716ae92c008c6b0977a2f18f32 (patch) | |
tree | 845b03907b2be392f6c36de44ce978f11efed876 /src/server/game/Groups/Group.cpp | |
parent | 8c74993a43b7ec13c3019bf4ec59867fc57e0a2e (diff) |
Core/Scripts: Add GroupScript class
--HG--
branch : trunk
Diffstat (limited to 'src/server/game/Groups/Group.cpp')
-rw-r--r-- | src/server/game/Groups/Group.cpp | 9 |
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); |