From 457e800c736d29a0ff4d3a6ee591003e9d14fdf2 Mon Sep 17 00:00:00 2001 From: Alex King <89047260+Kinglykrab@users.noreply.github.com> Date: Sun, 5 Mar 2023 22:35:23 -0500 Subject: [PATCH] [Commands] Cleanup #interrupt Command (#3044) * [Commands] Cleanup #interrupt Command # Notes - Cleanup messages and logic. * Update command.cpp --- zone/command.cpp | 2 +- zone/gm_commands/interrupt.cpp | 17 ++++++++++------- 2 files changed, 11 insertions(+), 8 deletions(-) diff --git a/zone/command.cpp b/zone/command.cpp index 784b63e05..6736ff0d2 100644 --- a/zone/command.cpp +++ b/zone/command.cpp @@ -188,7 +188,7 @@ int command_init(void) command_add("incstat", "Increases or Decreases a client's stats permanently.", AccountStatus::GMMgmt, command_incstat) || command_add("instance", "Modify Instances", AccountStatus::GMMgmt, command_instance) || command_add("interrogateinv", "use [help] argument for available options", AccountStatus::Player, command_interrogateinv) || - command_add("interrupt", "[message id] [color] - Interrupt your casting. Arguments are optional.", AccountStatus::Guide, command_interrupt) || + command_add("interrupt", "[Message ID] [Color] - Interrupt your casting. Arguments are optional.", AccountStatus::Guide, command_interrupt) || command_add("invsnapshot", "Manipulates inventory snapshots for your current target", AccountStatus::QuestTroupe, command_invsnapshot) || command_add("invul", "[On|Off]] - Turn player target's or your invulnerable flag on or off", AccountStatus::QuestTroupe, command_invul) || command_add("ipban", "[IP] - Ban IP", AccountStatus::GMMgmt, command_ipban) || diff --git a/zone/gm_commands/interrupt.cpp b/zone/gm_commands/interrupt.cpp index b9e10b381..1a1200c1e 100755 --- a/zone/gm_commands/interrupt.cpp +++ b/zone/gm_commands/interrupt.cpp @@ -2,15 +2,18 @@ void command_interrupt(Client *c, const Seperator *sep) { - uint16 ci_message = 0x01b7, ci_color = 0x0121; + const auto arguments = sep->argnum; - if (sep->arg[1][0]) { - ci_message = Strings::ToInt(sep->arg[1]); - } - if (sep->arg[2][0]) { - ci_color = Strings::ToInt(sep->arg[2]); + uint16 interrupt_message = 0x01b7, interrupt_color = 0x0121; + + if (arguments >= 1 && sep->IsNumber(1)) { + interrupt_message = static_cast(Strings::ToUnsignedInt(sep->arg[1])); } - c->InterruptSpell(ci_message, ci_color); + if (arguments == 2 && sep->IsNumber(2)) { + interrupt_color = static_cast(Strings::ToUnsignedInt(sep->arg[2])); + } + + c->InterruptSpell(interrupt_message, interrupt_color); }