From 0fc05ed4d25ca17604a22146979f10e32fdd854b Mon Sep 17 00:00:00 2001 From: Quartzi <34374881+realQuartzi@users.noreply.github.com> Date: Wed, 27 Aug 2025 09:32:02 +0200 Subject: feat(Core/Scripting): Add OnPlayerGiveReputation script hook (#21869) --- src/server/game/Scripting/ScriptDefines/PlayerScript.cpp | 5 +++++ src/server/game/Scripting/ScriptDefines/PlayerScript.h | 4 ++++ 2 files changed, 9 insertions(+) (limited to 'src/server/game/Scripting/ScriptDefines') diff --git a/src/server/game/Scripting/ScriptDefines/PlayerScript.cpp b/src/server/game/Scripting/ScriptDefines/PlayerScript.cpp index 57978f7a50..26ba8cba5b 100644 --- a/src/server/game/Scripting/ScriptDefines/PlayerScript.cpp +++ b/src/server/game/Scripting/ScriptDefines/PlayerScript.cpp @@ -139,6 +139,11 @@ void ScriptMgr::OnPlayerReputationRankChange(Player* player, uint32 factionID, R CALL_ENABLED_HOOKS(PlayerScript, PLAYERHOOK_ON_REPUTATION_RANK_CHANGE, script->OnPlayerReputationRankChange(player, factionID, newRank, oldRank, increased)); } +void ScriptMgr::OnPlayerGiveReputation(Player* player, int32 factionID, float& amount, ReputationSource repSource) +{ + CALL_ENABLED_HOOKS(PlayerScript, PLAYERHOOK_ON_GIVE_REPUTATION, script->OnPlayerGiveReputation(player, factionID, amount, repSource)); +} + void ScriptMgr::OnPlayerLearnSpell(Player* player, uint32 spellID) { CALL_ENABLED_HOOKS(PlayerScript, PLAYERHOOK_ON_LEARN_SPELL, script->OnPlayerLearnSpell(player, spellID)); diff --git a/src/server/game/Scripting/ScriptDefines/PlayerScript.h b/src/server/game/Scripting/ScriptDefines/PlayerScript.h index 692e5c4cc3..2faa19539c 100644 --- a/src/server/game/Scripting/ScriptDefines/PlayerScript.h +++ b/src/server/game/Scripting/ScriptDefines/PlayerScript.h @@ -210,6 +210,7 @@ enum PlayerHook PLAYERHOOK_CAN_RESURRECT, PLAYERHOOK_ON_CAN_GIVE_LEVEL, PLAYERHOOK_ON_SEND_LIST_INVENTORY, + PLAYERHOOK_ON_GIVE_REPUTATION, PLAYERHOOK_END }; @@ -283,6 +284,9 @@ public: // Called when a player's reputation rank changes (before it is actually changed) virtual void OnPlayerReputationRankChange(Player* /*player*/, uint32 /*factionID*/, ReputationRank /*newRank*/, ReputationRank /*olRank*/, bool /*increased*/) { } + // Called when a player gains Reputation (before anything is given) + virtual void OnPlayerGiveReputation(Player* /*player*/, int32 /*factionID*/, float& /*amount*/, ReputationSource /*repSource*/) { } + // Called when a player learned new spell virtual void OnPlayerLearnSpell(Player* /*player*/, uint32 /*spellID*/) {} -- cgit v1.2.3