summaryrefslogtreecommitdiff
path: root/src/server/game/Scripting/ScriptDefines
diff options
context:
space:
mode:
authorQuartzi <34374881+realQuartzi@users.noreply.github.com>2025-08-27 09:32:02 +0200
committerGitHub <noreply@github.com>2025-08-27 04:32:02 -0300
commit0fc05ed4d25ca17604a22146979f10e32fdd854b (patch)
tree4949f5295a88a8c572474729149471e704e9196f /src/server/game/Scripting/ScriptDefines
parenta8284b71de9adf5f6da816cf846f6f2a9477a46e (diff)
feat(Core/Scripting): Add OnPlayerGiveReputation script hook (#21869)
Diffstat (limited to 'src/server/game/Scripting/ScriptDefines')
-rw-r--r--src/server/game/Scripting/ScriptDefines/PlayerScript.cpp5
-rw-r--r--src/server/game/Scripting/ScriptDefines/PlayerScript.h4
2 files changed, 9 insertions, 0 deletions
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*/) {}