diff --git a/zone/command.cpp b/zone/command.cpp index 6855cd72a..1a254eda1 100755 --- a/zone/command.cpp +++ b/zone/command.cpp @@ -196,7 +196,7 @@ int command_init(void) command_add("givemoney", "[Platinum] [Gold] [Silver] [Copper] - Gives specified amount of money to you or your player target", AccountStatus::GMMgmt, command_givemoney) || command_add("globalview", "Lists all qglobals in cache if you were to do a quest with this target.", AccountStatus::QuestTroupe, command_globalview) || command_add("gm", "[On|Off] - Modify your or your target's GM Flag", AccountStatus::QuestTroupe, command_gm) || - command_add("gmspeed", "[on/off] - Turn GM speed hack on/off for you or your player target", AccountStatus::GMAdmin, command_gmspeed) || + command_add("gmspeed", "[On|Off] - Turn GM Speed On or Off for you or your player target", AccountStatus::GMAdmin, command_gmspeed) || command_add("gmzone", "[zone_short_name] [zone_version=0] [identifier=gmzone] - Zones to a private GM instance", AccountStatus::GMAdmin, command_gmzone) || command_add("goto", "[playername] or [x y z] [h] - Teleport to the provided coordinates or to your target", AccountStatus::Steward, command_goto) || command_add("grid", "[add/delete] [grid_num] [wandertype] [pausetype] - Create/delete a wandering grid", AccountStatus::GMAreas, command_grid) || diff --git a/zone/gm_commands/gmspeed.cpp b/zone/gm_commands/gmspeed.cpp index 424c68ef5..30b5eccfa 100755 --- a/zone/gm_commands/gmspeed.cpp +++ b/zone/gm_commands/gmspeed.cpp @@ -2,19 +2,54 @@ void command_gmspeed(Client *c, const Seperator *sep) { - bool state = atobool(sep->arg[1]); - Client *t = c; + int arguments = sep->argnum; + if (!arguments) { + c->Message(Chat::White, "Usage: #gmspeed [On|Off]"); + return; + } + bool gm_speed_flag = atobool(sep->arg[1]); + Client *target = c; if (c->GetTarget() && c->GetTarget()->IsClient()) { - t = c->GetTarget()->CastToClient(); + target = c->GetTarget()->CastToClient(); } - if (sep->arg[1][0] != 0) { - database.SetGMSpeed(t->AccountID(), state ? 1 : 0); - c->Message(Chat::White, "Turning GMSpeed %s for %s (zone to take effect)", state ? "On" : "Off", t->GetName()); - } - else { - c->Message(Chat::White, "Usage: #gmspeed [on/off]"); - } + database.SetGMSpeed( + target->AccountID(), + gm_speed_flag ? 1 : 0 + ); + + c->Message( + Chat::White, + fmt::format( + "Turning GM Speed {} for {}.", + gm_speed_flag ? "on" : "off", + ( + c == target ? + "yourself" : + fmt::format( + "{} ({})", + target->GetCleanName(), + target->GetID() + ) + ) + ).c_str() + ); + + c->Message( + Chat::White, + fmt::format( + "Note: {} must zone for it to take effect.", + ( + c == target ? + "You" : + fmt::format( + "{} ({})", + target->GetCleanName(), + target->GetID() + ) + ) + ).c_str() + ); }