From ab99ea5c712a7fb142fe2d63a642fc1c64e78fea Mon Sep 17 00:00:00 2001 From: Elmsroth Date: Sun, 10 May 2020 01:45:10 +0200 Subject: [PATCH] Make GM max speed customisable through mangosd.conf (#89) To complete this update be sure to apply DB Update : Rel21_16_052_Commands_help_for_custom_gm_speed.sql --- src/game/ChatCommands/Level1.cpp | 8 ++++---- src/game/WorldHandlers/World.cpp | 1 + src/game/WorldHandlers/World.h | 1 + src/mangosd/mangosd.conf.dist.in | 5 +++++ 4 files changed, 11 insertions(+), 4 deletions(-) diff --git a/src/game/ChatCommands/Level1.cpp b/src/game/ChatCommands/Level1.cpp index ef5db08c..1ba92e28 100644 --- a/src/game/ChatCommands/Level1.cpp +++ b/src/game/ChatCommands/Level1.cpp @@ -1073,7 +1073,7 @@ bool ChatHandler::HandleModifyASpeedCommand(char* args) float modSpeed = (float)atof(args); - if (modSpeed > 10 || modSpeed < 0.1) + if (modSpeed > sWorld.getConfig(CONFIG_UINT32_GM_MAX_SPEED_FACTOR) || modSpeed < 0.1) { SendSysMessage(LANG_BAD_VALUE); SetSentErrorMessage(true); @@ -1126,7 +1126,7 @@ bool ChatHandler::HandleModifySpeedCommand(char* args) float modSpeed = (float)atof(args); - if (modSpeed > 10 || modSpeed < 0.1) + if (modSpeed > sWorld.getConfig(CONFIG_UINT32_GM_MAX_SPEED_FACTOR) || modSpeed < 0.1) { SendSysMessage(LANG_BAD_VALUE); SetSentErrorMessage(true); @@ -1177,7 +1177,7 @@ bool ChatHandler::HandleModifySwimCommand(char* args) float modSpeed = (float)atof(args); - if (modSpeed > 10.0f || modSpeed < 0.01f) + if (modSpeed > sWorld.getConfig(CONFIG_UINT32_GM_MAX_SPEED_FACTOR) || modSpeed < 0.01f) { SendSysMessage(LANG_BAD_VALUE); SetSentErrorMessage(true); @@ -1228,7 +1228,7 @@ bool ChatHandler::HandleModifyBWalkCommand(char* args) float modSpeed = (float)atof(args); - if (modSpeed > 10.0f || modSpeed < 0.1f) + if (modSpeed > sWorld.getConfig(CONFIG_UINT32_GM_MAX_SPEED_FACTOR) || modSpeed < 0.1f) { SendSysMessage(LANG_BAD_VALUE); SetSentErrorMessage(true); diff --git a/src/game/WorldHandlers/World.cpp b/src/game/WorldHandlers/World.cpp index a5b2b967..8e9962d7 100644 --- a/src/game/WorldHandlers/World.cpp +++ b/src/game/WorldHandlers/World.cpp @@ -664,6 +664,7 @@ void World::LoadConfigSettings(bool reload) setConfigMinMax(CONFIG_UINT32_START_GM_LEVEL, "GM.StartLevel", 1, getConfig(CONFIG_UINT32_START_PLAYER_LEVEL), MAX_LEVEL); setConfig(CONFIG_BOOL_GM_LOWER_SECURITY, "GM.LowerSecurity", false); setConfig(CONFIG_UINT32_GM_INVISIBLE_AURA, "GM.InvisibleAura", 31748); + setConfig(CONFIG_UINT32_GM_MAX_SPEED_FACTOR, "GM.MaxSpeedFactor", 10); setConfig(CONFIG_UINT32_GROUP_VISIBILITY, "Visibility.GroupMode", 0); diff --git a/src/game/WorldHandlers/World.h b/src/game/WorldHandlers/World.h index 2417f23c..445bd631 100644 --- a/src/game/WorldHandlers/World.h +++ b/src/game/WorldHandlers/World.h @@ -134,6 +134,7 @@ enum eConfigUInt32Values CONFIG_UINT32_GM_LEVEL_IN_WHO_LIST, CONFIG_UINT32_START_GM_LEVEL, CONFIG_UINT32_GM_INVISIBLE_AURA, + CONFIG_UINT32_GM_MAX_SPEED_FACTOR, CONFIG_UINT32_GROUP_VISIBILITY, CONFIG_UINT32_MAIL_DELIVERY_DELAY, CONFIG_UINT32_MASS_MAILER_SEND_PER_TICK, diff --git a/src/mangosd/mangosd.conf.dist.in b/src/mangosd/mangosd.conf.dist.in index 5462efaf..91a26fd0 100644 --- a/src/mangosd/mangosd.conf.dist.in +++ b/src/mangosd/mangosd.conf.dist.in @@ -1163,6 +1163,10 @@ Channel.SilentlyGMJoin = 0 # A spell that will be cast when a gm uses ".gm visible off" (Must be aura spell) # Default: 31748 (Spirit Particles, big) # 0 (Disabled) +# GM.MaxSpeedFactor +# Set the max speed factor whend using commands .mod speed / .mod aspeed etc... +# Only Integer values +# Default: 10 # ################################################################################ @@ -1179,6 +1183,7 @@ GM.LogTrade = 1 GM.StartLevel = 1 GM.LowerSecurity = 0 GM.InvisibleAura = 31748 +GM.MaxSpeedFactor = 10 ################################################################################ # VISIBILITY AND RADIUSES