aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Scripting/ScriptMgr.h
diff options
context:
space:
mode:
authorXTZGZoReX <xtzgzorex@gmail.com>2011-08-14 13:45:42 +0200
committerXTZGZoReX <xtzgzorex@gmail.com>2011-08-14 13:45:42 +0200
commit4276c73be8e0cae19b2919cf0880a402d7882842 (patch)
tree40e85c8d6f7d2dc00867216d7b57c26b5bcb1edf /src/server/game/Scripting/ScriptMgr.h
parentd01bb754d7aba369a188362061832d60d13decdc (diff)
Core: Cosmetic cleanups and additional comments in ScriptMgr.
Diffstat (limited to 'src/server/game/Scripting/ScriptMgr.h')
-rwxr-xr-xsrc/server/game/Scripting/ScriptMgr.h109
1 files changed, 78 insertions, 31 deletions
diff --git a/src/server/game/Scripting/ScriptMgr.h b/src/server/game/Scripting/ScriptMgr.h
index 9372a7e71c2..75325b5319b 100755
--- a/src/server/game/Scripting/ScriptMgr.h
+++ b/src/server/game/Scripting/ScriptMgr.h
@@ -199,9 +199,10 @@ class SpellScriptLoader : public ScriptObject
bool IsDatabaseBound() const { return true; }
// Should return a fully valid SpellScript pointer.
- virtual SpellScript* GetSpellScript() const { return NULL; };
+ virtual SpellScript* GetSpellScript() const { return NULL; }
+
// Should return a fully valid AuraScript pointer.
- virtual AuraScript* GetAuraScript() const { return NULL; };
+ virtual AuraScript* GetAuraScript() const { return NULL; }
};
class ServerScript : public ScriptObject
@@ -464,9 +465,10 @@ class GameObjectScript : public ScriptObject, public UpdatableScript<GameObject>
// Called when the dialog status between a player and the gameobject is requested.
virtual uint32 GetDialogStatus(Player* /*player*/, GameObject* /*go*/) { return 100; }
- // Called when the gameobject is destroyed (destructible buildings only).
+ // Called when the game object is destroyed (destructible buildings only).
virtual void OnDestroyed(GameObject* /*go*/, Player* /*player*/) { }
- // Called when the gameobject is damaged (destructible buildings only).
+
+ // Called when the game object is damaged (destructible buildings only).
virtual void OnDamaged(GameObject* /*go*/, Player* /*player*/) { }
};
@@ -668,7 +670,7 @@ class PlayerScript : public ScriptObject
virtual void OnFreeTalentPointsChanged(Player* /*player*/, uint32 /*points*/) { }
// Called when a player's talent points are reset (right before the reset is done)
- virtual void OnTalentsReset(Player* /*player*/, bool /*no_cost*/) { }
+ virtual void OnTalentsReset(Player* /*player*/, bool /*noCost*/) { }
// Called when a player's money is modified (before the modification is done)
virtual void OnMoneyChanged(Player* /*player*/, int32& /*amount*/) { }
@@ -677,7 +679,7 @@ class PlayerScript : public ScriptObject
virtual void OnGiveXP(Player* /*player*/, uint32& /*amount*/, Unit* /*victim*/) { }
// Called when a player's reputation changes (before it is actually changed)
- virtual void OnReputationChange(Player* /*player*/, uint32 /*factionID*/, int32& /*standing*/, bool /*incremental*/) { }
+ virtual void OnReputationChange(Player* /*player*/, uint32 /*factionId*/, int32& /*standing*/, bool /*incremental*/) { }
// Called when a duel is requested
virtual void OnDuelRequest(Player* /*target*/, Player* /*challenger*/) { }
@@ -688,30 +690,39 @@ class PlayerScript : public ScriptObject
// Called when a duel ends
virtual void OnDuelEnd(Player* /*winner*/, Player* /*loser*/, DuelCompleteType /*type*/) { }
- // The following methods are called when a player sends a chat message
+ // The following methods are called when a player sends a chat message.
virtual void OnChat(Player* /*player*/, uint32 /*type*/, uint32 /*lang*/, std::string& /*msg*/) { }
+
virtual void OnChat(Player* /*player*/, uint32 /*type*/, uint32 /*lang*/, std::string& /*msg*/, Player* /*receiver*/) { }
+
virtual void OnChat(Player* /*player*/, uint32 /*type*/, uint32 /*lang*/, std::string& /*msg*/, Group* /*group*/) { }
+
virtual void OnChat(Player* /*player*/, uint32 /*type*/, uint32 /*lang*/, std::string& /*msg*/, Guild* /*guild*/) { }
+
virtual void OnChat(Player* /*player*/, uint32 /*type*/, uint32 /*lang*/, std::string& /*msg*/, Channel* /*channel*/) { }
- // Both of the below are called on emote opcodes
+ // Both of the below are called on emote opcodes.
virtual void OnEmote(Player* /*player*/, uint32 /*emote*/) { }
- virtual void OnTextEmote(Player* /*player*/, uint32 /*text_emote*/, uint32 /*emoteNum*/, uint64 /*guid*/) { }
- // Called in Spell::cast
+ virtual void OnTextEmote(Player* /*player*/, uint32 /*textEmote*/, uint32 /*emoteNum*/, uint64 /*guid*/) { }
+
+ // Called in Spell::Cast.
virtual void OnSpellCast(Player* /*player*/, Spell* /*spell*/, bool /*skipCheck*/) { }
- // Called when a player logs in or out
+ // Called when a player logs in.
virtual void OnLogin(Player* /*player*/) { }
+
+ // Called when a player logs out.
virtual void OnLogout(Player* /*player*/) { }
- // Called when a player is created/deleted
+ // Called when a player is created.
virtual void OnCreate(Player* /*player*/) { }
+
+ // Called when a player is deleted.
virtual void OnDelete(uint64 /*guid*/) { }
- // Called when a player is binded to an instance
- virtual void OnBindToInstance(Player* /*player*/, Difficulty /*difficulty*/, uint32 /*mapid*/, bool /*permanent*/) { }
+ // Called when a player is bound to an instance
+ virtual void OnBindToInstance(Player* /*player*/, Difficulty /*difficulty*/, uint32 /*mapId*/, bool /*permanent*/) { }
};
class GuildScript : public ScriptObject
@@ -724,33 +735,63 @@ class GuildScript : public ScriptObject
bool IsDatabaseBound() const { return false; }
+ // Called when a member is added to the guild.
virtual void OnAddMember(Guild* /*guild*/, Player* /*player*/, uint8& /*plRank*/) { }
+
+ // Called when a member is removed from the guild.
virtual void OnRemoveMember(Guild* /*guild*/, Player* /*player*/, bool /*isDisbanding*/, bool /*isKicked*/) { }
+
+ // Called when the guild MOTD (message of the day) changes.
virtual void OnMOTDChanged(Guild* /*guild*/, const std::string& /*newMotd*/) { }
+
+ // Called when the guild info is altered.
virtual void OnInfoChanged(Guild* /*guild*/, const std::string& /*newInfo*/) { }
+
+ // Called when a guild is created.
virtual void OnCreate(Guild* /*guild*/, Player* /*leader*/, const std::string& /*name*/) { }
+
+ // Called when a guild is disbanded.
virtual void OnDisband(Guild* /*guild*/) { }
+
+ // Called when a guild member withdraws money from a guild bank.
virtual void OnMemberWitdrawMoney(Guild* /*guild*/, Player* /*player*/, uint32& /*amount*/, bool /*isRepair*/) { }
+
+ // Called when a guild member deposits money in a guild bank.
virtual void OnMemberDepositMoney(Guild* /*guild*/, Player* /*player*/, uint32& /*amount*/) { }
+
+ // Called when a guild member moves an item in a guild bank.
virtual void OnItemMove(Guild* /*guild*/, Player* /*player*/, Item* /*pItem*/, bool /*isSrcBank*/, uint8 /*srcContainer*/, uint8 /*srcSlotId*/,
bool /*isDestBank*/, uint8 /*destContainer*/, uint8 /*destSlotId*/) { }
+
virtual void OnEvent(Guild* /*guild*/, uint8 /*eventType*/, uint32 /*playerGuid1*/, uint32 /*playerGuid2*/, uint8 /*newRank*/) { }
+
virtual void OnBankEvent(Guild* /*guild*/, uint8 /*eventType*/, uint8 /*tabId*/, uint32 /*playerGuid*/, uint32 /*itemOrMoney*/, uint16 /*itemStackCount*/, uint8 /*destTabId*/) { }
};
class GroupScript : public ScriptObject
{
-protected:
- GroupScript(const char* name);
+ protected:
+
+ GroupScript(const char* name);
+
+ public:
+
+ bool IsDatabaseBound() const { return false; }
+
+ // Called when a member is added to a group.
+ virtual void OnAddMember(Group* /*group*/, uint64 /*guid*/) { }
-public:
- bool IsDatabaseBound() const { return false; }
+ // Called when a member is invited to join a group.
+ virtual void OnInviteMember(Group* /*group*/, uint64 /*guid*/) { }
- virtual void OnAddMember(Group* /*group*/, uint64 /*guid*/) { }
- virtual void OnInviteMember(Group* /*group*/, uint64 /*guid*/) { }
- virtual void OnRemoveMember(Group* /*group*/, uint64 /*guid*/, RemoveMethod& /*method*/, uint64 /*kicker*/, const char* /*reason*/) { }
- virtual void OnChangeLeader(Group* /*group*/, uint64 /*newLeaderGuid*/, uint64 /*oldLeaderGuid*/) { }
- virtual void OnDisband(Group* /*group*/) { }
+ // Called when a member is removed from a group.
+ virtual void OnRemoveMember(Group* /*group*/, uint64 /*guid*/, RemoveMethod& /*method*/, uint64 /*kicker*/, const char* /*reason*/) { }
+
+ // Called when the leader of a group is changed.
+ virtual void OnChangeLeader(Group* /*group*/, uint64 /*newLeaderGuid*/, uint64 /*oldLeaderGuid*/) { }
+
+ // Called when a group is disbanded.
+ virtual void OnDisband(Group* /*group*/) { }
};
// Placed here due to ScriptRegistry::AddScript dependency.
@@ -763,6 +804,7 @@ class ScriptMgr
friend class ScriptObject;
private:
+
ScriptMgr();
virtual ~ScriptMgr();
@@ -778,13 +820,14 @@ class ScriptMgr
uint32 GetScriptCount() const { return _scriptCount; }
public: /* Unloading */
+
void Unload();
public: /* SpellScriptLoader */
- void CreateSpellScripts(uint32 spell_id, std::list<SpellScript*>& script_vector);
- void CreateAuraScripts(uint32 spell_id, std::list<AuraScript*>& script_vector);
- void CreateSpellScriptLoaders(uint32 spell_id, std::vector<std::pair<SpellScriptLoader*, std::multimap<uint32, uint32>::iterator> >& script_vector);
+ void CreateSpellScripts(uint32 spellId, std::list<SpellScript*>& scriptVector);
+ void CreateAuraScripts(uint32 spellId, std::list<AuraScript*>& scriptVector);
+ void CreateSpellScriptLoaders(uint32 spellId, std::vector<std::pair<SpellScriptLoader*, std::multimap<uint32, uint32>::iterator> >& scriptVector);
public: /* ServerScript */
@@ -929,7 +972,7 @@ class ScriptMgr
void OnPlayerKilledByCreature(Creature* killer, Player* killed);
void OnPlayerLevelChanged(Player* player, uint8 oldLevel);
void OnPlayerFreeTalentPointsChanged(Player* player, uint32 newPoints);
- void OnPlayerTalentsReset(Player* player, bool no_cost);
+ void OnPlayerTalentsReset(Player* player, bool noCost);
void OnPlayerMoneyChanged(Player* player, int32& amount);
void OnGivePlayerXP(Player* player, uint32& amount, Unit* victim);
void OnPlayerReputationChange(Player* player, uint32 factionID, int32& standing, bool incremental);
@@ -942,7 +985,7 @@ class ScriptMgr
void OnPlayerChat(Player* player, uint32 type, uint32 lang, std::string& msg, Guild* guild);
void OnPlayerChat(Player* player, uint32 type, uint32 lang, std::string& msg, Channel* channel);
void OnPlayerEmote(Player* player, uint32 emote);
- void OnPlayerTextEmote(Player* player, uint32 text_emote, uint32 emoteNum, uint64 guid);
+ void OnPlayerTextEmote(Player* player, uint32 textEmote, uint32 emoteNum, uint64 guid);
void OnPlayerSpellCast(Player* player, Spell* spell, bool skipCheck);
void OnPlayerLogin(Player* player);
void OnPlayerLogout(Player* player);
@@ -951,6 +994,7 @@ class ScriptMgr
void OnPlayerBindToInstance(Player* player, Difficulty difficulty, uint32 mapid, bool permanent);
public: /* GuildScript */
+
void OnGuildAddMember(Guild* guild, Player* player, uint8& plRank);
void OnGuildRemoveMember(Guild* guild, Player* player, bool isDisbanding, bool isKicked);
void OnGuildMOTDChanged(Guild* guild, const std::string& newMotd);
@@ -965,6 +1009,7 @@ class ScriptMgr
void OnGuildBankEvent(Guild* guild, uint8 eventType, uint8 tabId, uint32 playerGuid, uint32 itemOrMoney, uint16 itemStackCount, uint8 destTabId);
public: /* GroupScript */
+
void OnGroupAddMember(Group* group, uint64 guid);
void OnGroupInviteMember(Group* group, uint64 guid);
void OnGroupRemoveMember(Group* group, uint64 guid, RemoveMethod method, uint64 kicker, const char* reason);
@@ -972,12 +1017,14 @@ class ScriptMgr
void OnGroupDisband(Group* group);
public: /* Scheduled scripts */
- uint32 IncreaseScheduledScriptsCount() { return uint32(++_scheduledScripts); }
- uint32 DecreaseScheduledScriptCount() { return uint32(--_scheduledScripts); }
- uint32 DecreaseScheduledScriptCount(size_t count) { return uint32(_scheduledScripts -= count); }
+
+ uint32 IncreaseScheduledScriptsCount() { return ++_scheduledScripts; }
+ uint32 DecreaseScheduledScriptCount() { return --_scheduledScripts; }
+ uint32 DecreaseScheduledScriptCount(size_t count) { return _scheduledScripts -= count; }
bool IsScriptScheduled() const { return _scheduledScripts > 0; }
private:
+
uint32 _scriptCount;
//atomic op counter for active scripts amount