aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Scripting/ScriptMgr.h
diff options
context:
space:
mode:
authorsilinoron <none@none>2010-08-14 12:17:05 -0700
committersilinoron <none@none>2010-08-14 12:17:05 -0700
commit8d0a0584118ec7b6f763a8ebc059a8dfc1d5536e (patch)
treee250ed865bd30a7d393af1551c9f2039df406b41 /src/server/game/Scripting/ScriptMgr.h
parentd1d7c64c4363061a1f9504ac6d22351c78718c11 (diff)
Add a GuildScript class with a handful of hooks.
--HG-- branch : trunk
Diffstat (limited to 'src/server/game/Scripting/ScriptMgr.h')
-rw-r--r--src/server/game/Scripting/ScriptMgr.h23
1 files changed, 23 insertions, 0 deletions
diff --git a/src/server/game/Scripting/ScriptMgr.h b/src/server/game/Scripting/ScriptMgr.h
index 421892bcb59..b580e333957 100644
--- a/src/server/game/Scripting/ScriptMgr.h
+++ b/src/server/game/Scripting/ScriptMgr.h
@@ -702,6 +702,21 @@ public:
virtual void OnTextEmote(Player* player, uint32 text_emote, uint32 emoteNum, uint64 guid) { }
};
+class GuildScript : public ScriptObject
+{
+protected:
+ GuildScript(const char* name);
+
+public:
+ bool IsDatabaseBound() const { return false; }
+
+ virtual void OnAddMember(Guild *guild, Player *player, uint32& plRank) { }
+ virtual void OnRemoveMember(Guild *guild, Player *player, bool isDisbanding, bool isKicked) { }
+ virtual void OnMOTDChanged(Guild *guild, std::string newMotd) { }
+ virtual void OnGInfoChanged(Guild *guild, std::string newGInfo) { }
+ virtual void OnDisband(Guild *guild) { }
+};
+
// Placed here due to ScriptRegistry::AddScript dependency.
#define sScriptMgr (*ACE_Singleton<ScriptMgr, ACE_Null_Mutex>::instance())
@@ -875,6 +890,7 @@ class ScriptMgr
bool OnCriteriaCheck(AchievementCriteriaData const* data, Player* source, Unit* target);
public: /* PlayerScript */
+
void OnPVPKill(Player *killer, Player *killed);
void OnCreatureKill(Player *killer, Creature *killed);
void OnPlayerKilledByCreature(Creature *killer, Player *killed);
@@ -888,6 +904,13 @@ class ScriptMgr
void OnPlayerEmote(Player* player, uint32 emote);
void OnPlayerTextEmote(Player* player, uint32 text_emote, uint32 emoteNum, uint64 guid);
+ public: /* GuildScript */
+ void OnGuildAddMember(Guild *guild, Player *player, uint32& plRank);
+ void OnGuildRemoveMember(Guild *guild, Player *player, bool isDisbanding, bool isKicked);
+ void OnGuildMOTDChanged(Guild *guild, std::string newMotd);
+ void OnGuildInfoChanged(Guild *guild, std::string newGInfo);
+ void OnGuildDisband(Guild *guild);
+
public: /* ScriptRegistry */
// This is the global static registry of scripts.