diff options
Diffstat (limited to 'src/server/game/Scripting/ScriptMgr.h')
-rw-r--r-- | src/server/game/Scripting/ScriptMgr.h | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/src/server/game/Scripting/ScriptMgr.h b/src/server/game/Scripting/ScriptMgr.h index 3c343d32650..7aae463cd86 100644 --- a/src/server/game/Scripting/ScriptMgr.h +++ b/src/server/game/Scripting/ScriptMgr.h @@ -66,6 +66,7 @@ class WorldSocket; class WorldObject; class WorldSession; +struct AchievementEntry; struct AreaTriggerEntry; struct AuctionPosting; struct ConditionSourceInfo; @@ -622,6 +623,18 @@ class TC_GAME_API TransportScript : public ScriptObject, public UpdatableScript< virtual void OnRelocate(Transport* /*transport*/, uint32 /*waypointId*/, uint32 /*mapId*/, float /*x*/, float /*y*/, float /*z*/) { } }; +class TC_GAME_API AchievementScript : public ScriptObject +{ + protected: + + AchievementScript(char const* name); + + public: + + // Called when an achievement is completed. + virtual void OnCompleted(Player* /*player*/, AchievementEntry const* /*achievement*/) { } +}; + class TC_GAME_API AchievementCriteriaScript : public ScriptObject { protected: @@ -1085,6 +1098,10 @@ class TC_GAME_API ScriptMgr void OnTransportUpdate(Transport* transport, uint32 diff); void OnRelocate(Transport* transport, uint32 waypointId, uint32 mapId, float x, float y, float z); + public: /* AchievementScript */ + + void OnAchievementCompleted(Player* player, AchievementEntry const* achievement); + public: /* AchievementCriteriaScript */ bool OnCriteriaCheck(uint32 scriptId, Player* source, Unit* target); |