From fd2fc76706d1c2a4439370e116cd9d0f0251c7d9 Mon Sep 17 00:00:00 2001 From: Kinglykrab <89047260+Kinglykrab@users.noreply.github.com> Date: Mon, 14 Nov 2022 16:47:20 -0500 Subject: [PATCH] [Commands] Cleanup #depopzone Command. (#2537) * [Commands] Cleanup #depopzone Command. - Cleanup messages and logic. - Add optional `start_spawn_timers` parameter to start spawn timers of NPCs when depopped. * Update depopzone.cpp --- zone/command.cpp | 2 +- zone/gm_commands/depopzone.cpp | 17 +++++++++++++++-- 2 files changed, 16 insertions(+), 3 deletions(-) mode change 100755 => 100644 zone/command.cpp diff --git a/zone/command.cpp b/zone/command.cpp old mode 100755 new mode 100644 index ee64a880c..a9942377f --- a/zone/command.cpp +++ b/zone/command.cpp @@ -121,7 +121,7 @@ int command_init(void) command_add("delacct", "[accountname] - Delete an account", AccountStatus::GMLeadAdmin, command_delacct) || command_add("delpetition", "[petition number] - Delete a petition", AccountStatus::ApprenticeGuide, command_delpetition) || command_add("depop", "[Start Spawn Timer] - Depop your NPC target and optionally start their spawn timer (false by default)", AccountStatus::Guide, command_depop) || - command_add("depopzone", "Depop the zone", AccountStatus::GMAdmin, command_depopzone) || + command_add("depopzone", "[Start Spawn Timers] - Depop the zone and optionally start spawn timers (false by default)", AccountStatus::GMAdmin, command_depopzone) || command_add("devtools", "[Enable|Disable] - Manages Developer Tools (send no parameter for menu)", AccountStatus::GMMgmt, command_devtools) || command_add("disablerecipe", "[Recipe ID] - Disables a Recipe", AccountStatus::QuestTroupe, command_disablerecipe) || command_add("disarmtrap", "Analog for ldon disarm trap for the newer clients since we still don't have it working.", AccountStatus::QuestTroupe, command_disarmtrap) || diff --git a/zone/gm_commands/depopzone.cpp b/zone/gm_commands/depopzone.cpp index 518ef42db..e24c45f46 100755 --- a/zone/gm_commands/depopzone.cpp +++ b/zone/gm_commands/depopzone.cpp @@ -2,7 +2,20 @@ void command_depopzone(Client *c, const Seperator *sep) { - zone->Depop(); - c->Message(Chat::White, "Zone depoped."); + auto start_spawn_timers = false; + + if (sep->IsNumber(1)) { + start_spawn_timers = std::stoi(sep->arg[1]) ? true : false; + } + + zone->Depop(start_spawn_timers); + + c->Message( + Chat::White, + fmt::format( + "Zone depopped{}.", + start_spawn_timers ? " and spawn timers started" : "" + ).c_str() + ); }