diff options
Diffstat (limited to 'src/server/game/Scripting/ScriptMgr.h')
| -rw-r--r-- | src/server/game/Scripting/ScriptMgr.h | 27 |
1 files changed, 23 insertions, 4 deletions
diff --git a/src/server/game/Scripting/ScriptMgr.h b/src/server/game/Scripting/ScriptMgr.h index 482d687f659..2e711c9ffae 100644 --- a/src/server/game/Scripting/ScriptMgr.h +++ b/src/server/game/Scripting/ScriptMgr.h @@ -76,6 +76,8 @@ struct CreatureTemplate; struct CreatureData; struct ItemTemplate; struct MapEntry; +struct PlayerChoice; +struct PlayerChoiceResponse; struct Position; struct QuestObjective; struct SceneTemplate; @@ -789,9 +791,6 @@ class TC_GAME_API PlayerScript : public ScriptObject // Called when a player completes a movie virtual void OnMovieComplete(Player* player, uint32 movieId); - - // Called when a player choose a response from a PlayerChoice - virtual void OnPlayerChoiceResponse(Player* player, uint32 choiceId, uint32 responseId); }; class TC_GAME_API AccountScript : public ScriptObject @@ -991,6 +990,26 @@ class TC_GAME_API EventScript : public ScriptObject virtual void OnTrigger(WorldObject* object, WorldObject* invoker, uint32 eventId); }; +class TC_GAME_API PlayerChoiceScript : public ScriptObject +{ + protected: + + explicit PlayerChoiceScript(char const* name) noexcept; + + public: + + ~PlayerChoiceScript(); + + /** + * @param object Source object of the PlayerChoice (can be nullptr) + * @param player Player making the choice + * @param choice Database template of PlayerChoice + * @param response Database template of selected PlayerChoice response + * @param clientIdentifier Dynamically generated identifier of the response, changes every time PlayerChoice is sent to player + */ + virtual void OnResponse(WorldObject* object, Player* player, PlayerChoice const* choice, PlayerChoiceResponse const* response, uint16 clientIdentifier); +}; + // Manages registration, loading, and execution of scripts. class TC_GAME_API ScriptMgr { @@ -1226,7 +1245,7 @@ class TC_GAME_API ScriptMgr void OnQuestStatusChange(Player* player, uint32 questId); void OnPlayerRepop(Player* player); void OnMovieComplete(Player* player, uint32 movieId); - void OnPlayerChoiceResponse(Player* player, uint32 choiceId, uint32 responseId); + void OnPlayerChoiceResponse(WorldObject* object, Player* player, PlayerChoice const* choice, PlayerChoiceResponse const* response, uint16 clientIdentifier); public: /* AccountScript */ |
