summaryrefslogtreecommitdiff
path: root/src/server/game/Scripting
diff options
context:
space:
mode:
authorsilviu20092 <dobrescu.silviu92@gmail.com>2024-03-27 01:57:42 +0200
committerGitHub <noreply@github.com>2024-03-26 20:57:42 -0300
commit5b8bc792b8a042c2ebd2a5dc8670de0f494811b8 (patch)
tree5443bab751d494cf4430ada0942f93a52192ee76 /src/server/game/Scripting
parent16f220253a1c58833e58de4e7d2aeedefe41df05 (diff)
feat(core): account delete hook (#18605)
Add account delete hook
Diffstat (limited to 'src/server/game/Scripting')
-rw-r--r--src/server/game/Scripting/ScriptDefines/AccountScript.cpp8
-rw-r--r--src/server/game/Scripting/ScriptDefines/AccountScript.h3
-rw-r--r--src/server/game/Scripting/ScriptMgr.h1
3 files changed, 12 insertions, 0 deletions
diff --git a/src/server/game/Scripting/ScriptDefines/AccountScript.cpp b/src/server/game/Scripting/ScriptDefines/AccountScript.cpp
index 31705babc7..199956b1d4 100644
--- a/src/server/game/Scripting/ScriptDefines/AccountScript.cpp
+++ b/src/server/game/Scripting/ScriptDefines/AccountScript.cpp
@@ -27,6 +27,14 @@ void ScriptMgr::OnAccountLogin(uint32 accountId)
});
}
+void ScriptMgr::OnBeforeAccountDelete(uint32 accountId)
+{
+ ExecuteScript<AccountScript>([&](AccountScript* script)
+ {
+ script->OnBeforeAccountDelete(accountId);
+ });
+}
+
//void ScriptMgr::OnAccountLogout(uint32 accountId)
//{
// ExecuteScript<AccountScript>([&](AccountScript* script)
diff --git a/src/server/game/Scripting/ScriptDefines/AccountScript.h b/src/server/game/Scripting/ScriptDefines/AccountScript.h
index a88e4152b7..76b3db4591 100644
--- a/src/server/game/Scripting/ScriptDefines/AccountScript.h
+++ b/src/server/game/Scripting/ScriptDefines/AccountScript.h
@@ -29,6 +29,9 @@ public:
// Called when an account logged in successfully
virtual void OnAccountLogin(uint32 /*accountId*/) { }
+ // Called when an account is about to be deleted
+ virtual void OnBeforeAccountDelete(uint32 /*accountId*/) { }
+
// Called when an ip logged in successfully
virtual void OnLastIpUpdate(uint32 /*accountId*/, std::string /*ip*/) { }
diff --git a/src/server/game/Scripting/ScriptMgr.h b/src/server/game/Scripting/ScriptMgr.h
index a242119bc6..a013178e06 100644
--- a/src/server/game/Scripting/ScriptMgr.h
+++ b/src/server/game/Scripting/ScriptMgr.h
@@ -469,6 +469,7 @@ public: /* PlayerScript */
public: /* AccountScript */
void OnAccountLogin(uint32 accountId);
+ void OnBeforeAccountDelete(uint32 accountId);
void OnLastIpUpdate(uint32 accountId, std::string ip);
void OnFailedAccountLogin(uint32 accountId);
void OnEmailChange(uint32 accountId);