diff options
Diffstat (limited to 'src/server/game/Scripting/ScriptMgr.h')
-rw-r--r-- | src/server/game/Scripting/ScriptMgr.h | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/src/server/game/Scripting/ScriptMgr.h b/src/server/game/Scripting/ScriptMgr.h index 622b39c2805..6e030638d38 100644 --- a/src/server/game/Scripting/ScriptMgr.h +++ b/src/server/game/Scripting/ScriptMgr.h @@ -726,6 +726,21 @@ class GuildScript : public ScriptObject virtual void OnDisband(Guild* /*guild*/) { } }; +class GroupScript : public ScriptObject +{ +protected: + GroupScript(const char* name); + +public: + bool IsDatabaseBound() const { return false; } + + virtual void OnAddMember(Group* /*group*/, uint64 /*guid*/) { } + virtual void OnInviteMember(Group* /*group*/, uint64 /*guid*/) { } + virtual void OnRemoveMember(Group* /*group*/, uint64 /*guid*/, RemoveMethod& /*method*/) { } + virtual void OnChangeLeader(Group* /*group*/, uint64 /*newLeaderGuid*/, uint64 /*oldLeaderGuid*/) { } + virtual void OnDisband(Group* /*group*/) { } +}; + // Placed here due to ScriptRegistry::AddScript dependency. #define sScriptMgr (*ACE_Singleton<ScriptMgr, ACE_Null_Mutex>::instance()) @@ -924,6 +939,13 @@ class ScriptMgr void OnGuildInfoChanged(Guild *guild, std::string newGInfo); void OnGuildDisband(Guild *guild); + public: /* GroupScript */ + void OnGroupAddMember(Group* group, uint64 guid); + void OnGroupInviteMember(Group* group, uint64 guid); + void OnGroupRemoveMember(Group* group, uint64 guid, RemoveMethod method); + void OnGroupChangeLeader(Group* group, uint64 newLeaderGuid, uint64 oldLeaderGuid); + void OnGroupDisband(Group* group); + public: /* ScriptRegistry */ // This is the global static registry of scripts. |