diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/server/game/Entities/Player/Player.cpp | 2 | ||||
| -rw-r--r-- | src/server/game/Scripting/ScriptMgr.cpp | 5 | ||||
| -rw-r--r-- | src/server/game/Scripting/ScriptMgr.h | 4 | 
3 files changed, 11 insertions, 0 deletions
diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp index 1fc1cd9f7b8..2876b4fc67d 100644 --- a/src/server/game/Entities/Player/Player.cpp +++ b/src/server/game/Entities/Player/Player.cpp @@ -22684,6 +22684,8 @@ bool Player::ModifyMoney(int32 amount, bool sendError /*= true*/)              SetMoney(GetMoney() + amount);          else          { +            sScriptMgr->OnPlayerMoneyLimit(this, amount); +              if (sendError)                  SendEquipError(EQUIP_ERR_TOO_MUCH_GOLD, NULL, NULL);              return false; diff --git a/src/server/game/Scripting/ScriptMgr.cpp b/src/server/game/Scripting/ScriptMgr.cpp index daa4c36a442..d13c81ed059 100644 --- a/src/server/game/Scripting/ScriptMgr.cpp +++ b/src/server/game/Scripting/ScriptMgr.cpp @@ -1180,6 +1180,11 @@ void ScriptMgr::OnPlayerMoneyChanged(Player* player, int32& amount)      FOREACH_SCRIPT(PlayerScript)->OnMoneyChanged(player, amount);  } +void ScriptMgr::OnPlayerMoneyLimit(Player* player, int32 amount) +{ +    FOREACH_SCRIPT(PlayerScript)->OnMoneyLimit(player, amount); +} +  void ScriptMgr::OnGivePlayerXP(Player* player, uint32& amount, Unit* victim)  {      FOREACH_SCRIPT(PlayerScript)->OnGiveXP(player, amount, victim); diff --git a/src/server/game/Scripting/ScriptMgr.h b/src/server/game/Scripting/ScriptMgr.h index ea25d51dab2..499d7ff6c09 100644 --- a/src/server/game/Scripting/ScriptMgr.h +++ b/src/server/game/Scripting/ScriptMgr.h @@ -706,6 +706,9 @@ class PlayerScript : public UnitScript          // Called when a player's money is modified (before the modification is done)          virtual void OnMoneyChanged(Player* /*player*/, int32& /*amount*/) { } +        // Called when a player's money is at limit (amount = money tried to add) +        virtual void OnMoneyLimit(Player* /*player*/, int32 /*amount*/) { } +          // Called when a player gains XP (before anything is given)          virtual void OnGiveXP(Player* /*player*/, uint32& /*amount*/, Unit* /*victim*/) { } @@ -1053,6 +1056,7 @@ class ScriptMgr          void OnPlayerFreeTalentPointsChanged(Player* player, uint32 newPoints);          void OnPlayerTalentsReset(Player* player, bool noCost);          void OnPlayerMoneyChanged(Player* player, int32& amount); +        void OnPlayerMoneyLimit(Player* player, int32 amount);          void OnGivePlayerXP(Player* player, uint32& amount, Unit* victim);          void OnPlayerReputationChange(Player* player, uint32 factionID, int32& standing, bool incremental);          void OnPlayerDuelRequest(Player* target, Player* challenger);  | 
