diff options
| author | treeston <treeston.mmoc@gmail.com> | 2016-08-06 14:33:29 +0200 |
|---|---|---|
| committer | joschiwald <joschiwald.trinity@gmail.com> | 2017-02-11 22:35:00 +0100 |
| commit | af6041740cd3fc3fe4120155377d523bdc5d2b75 (patch) | |
| tree | a6baa450c3bf7933c474efcdd7105445a69f55d1 /src/server/game/World | |
| parent | db668cde4689aae48c4698625709c0ee9c44f674 (diff) | |
Scripts/Commands: Some adjustments to make shutdown commands more user-friendly.
- New error message if a shutdown is delayed due to force threshold.
- New status message indicating that a server shutdown was successfully cancelled.
(cherry picked from commit d7602190623153c8f211ad120e22c6e63371f3db)
Diffstat (limited to 'src/server/game/World')
| -rw-r--r-- | src/server/game/World/World.cpp | 8 | ||||
| -rw-r--r-- | src/server/game/World/World.h | 2 |
2 files changed, 6 insertions, 4 deletions
diff --git a/src/server/game/World/World.cpp b/src/server/game/World/World.cpp index 8aaa8b144c8..d381a7aa029 100644 --- a/src/server/game/World/World.cpp +++ b/src/server/game/World/World.cpp @@ -2935,22 +2935,24 @@ void World::ShutdownMsg(bool show, Player* player, const std::string& reason) } /// Cancel a planned server shutdown -void World::ShutdownCancel() +uint32 World::ShutdownCancel() { // nothing cancel or too later if (!m_ShutdownTimer || m_stopEvent) - return; + return 0; ServerMessageType msgid = (m_ShutdownMask & SHUTDOWN_MASK_RESTART) ? SERVER_MSG_RESTART_CANCELLED : SERVER_MSG_SHUTDOWN_CANCELLED; + uint32 oldTimer = m_ShutdownTimer; m_ShutdownMask = 0; m_ShutdownTimer = 0; m_ExitCode = SHUTDOWN_EXIT_CODE; // to default value SendServerMessage(msgid); - TC_LOG_DEBUG("misc", "Server %s cancelled.", (m_ShutdownMask & SHUTDOWN_MASK_RESTART ? "restart" : "shuttingdown")); + TC_LOG_DEBUG("misc", "Server %s cancelled.", (m_ShutdownMask & SHUTDOWN_MASK_RESTART ? "restart" : "shutdown")); sScriptMgr->OnShutdownCancel(); + return oldTimer; } /// Send a server message to the user(s) diff --git a/src/server/game/World/World.h b/src/server/game/World/World.h index 2b7ab63b36a..49624b42e55 100644 --- a/src/server/game/World/World.h +++ b/src/server/game/World/World.h @@ -696,7 +696,7 @@ class TC_GAME_API World bool IsShuttingDown() const { return m_ShutdownTimer > 0; } uint32 GetShutDownTimeLeft() const { return m_ShutdownTimer; } void ShutdownServ(uint32 time, uint32 options, uint8 exitcode, const std::string& reason = std::string()); - void ShutdownCancel(); + uint32 ShutdownCancel(); void ShutdownMsg(bool show = false, Player* player = NULL, const std::string& reason = std::string()); static uint8 GetExitCode() { return m_ExitCode; } static void StopNow(uint8 exitcode) { m_stopEvent = true; m_ExitCode = exitcode; } |
