aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Scripting/ScriptMgr.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/game/Scripting/ScriptMgr.h')
-rw-r--r--src/server/game/Scripting/ScriptMgr.h17
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);