From ec1cf68ce2dbaf78351d9b2f4a5b99988c6aa8c7 Mon Sep 17 00:00:00 2001 From: Kinglykrab <89047260+Kinglykrab@users.noreply.github.com> Date: Sun, 21 Nov 2021 10:08:20 -0500 Subject: [PATCH] [Commands] Cleanup #damage Command. (#1789) - Cleanup logic. --- zone/command.cpp | 2 +- zone/gm_commands/damage.cpp | 27 ++++++++++++--------------- 2 files changed, 13 insertions(+), 16 deletions(-) diff --git a/zone/command.cpp b/zone/command.cpp index 1d87b1861..1a3d1e66c 100755 --- a/zone/command.cpp +++ b/zone/command.cpp @@ -141,7 +141,7 @@ int command_init(void) command_add("corpse", "- Manipulate corpses, use with no arguments for help", AccountStatus::Guide, command_corpse) || command_add("corpsefix", "Attempts to bring corpses from underneath the ground within close proximity of the player", AccountStatus::Player, command_corpsefix) || command_add("cvs", "- Summary of client versions currently online.", AccountStatus::GMMgmt, command_cvs) || - command_add("damage", "[amount] - Damage your target", AccountStatus::GMAdmin, command_damage) || + command_add("damage", "[Amount] - Damage yourself or your target", AccountStatus::GMAdmin, command_damage) || command_add("databuckets", "View|Delete [key] [limit]- View data buckets, limit 50 default or Delete databucket by key", AccountStatus::QuestTroupe, command_databuckets) || command_add("date", "[yyyy] [mm] [dd] [HH] [MM] - Set EQ time", AccountStatus::EQSupport, command_date) || command_add("dbspawn2", "[spawngroup] [respawn] [variance] - Spawn an NPC from a predefined row in the spawn2 table", AccountStatus::GMAdmin, command_dbspawn2) || diff --git a/zone/gm_commands/damage.cpp b/zone/gm_commands/damage.cpp index 80de8470e..e2262bfaa 100755 --- a/zone/gm_commands/damage.cpp +++ b/zone/gm_commands/damage.cpp @@ -2,20 +2,17 @@ void command_damage(Client *c, const Seperator *sep) { - if (c->GetTarget() == 0) { - c->Message(Chat::White, "Error: #Damage: No Target."); + int arguments = sep->argnum; + if (!arguments || !sep->IsNumber(1)) { + c->Message(Chat::White, "Usage: #damage [Amount]"); + return; } - else if (!sep->IsNumber(1)) { - c->Message(Chat::White, "Usage: #damage x"); - } - else { - int32 nkdmg = atoi(sep->arg[1]); - if (nkdmg > 2100000000) { - c->Message(Chat::White, "Enter a value less then 2,100,000,000."); - } - else { - c->GetTarget()->Damage(c, nkdmg, SPELL_UNKNOWN, EQ::skills::SkillHandtoHand, false); - } - } -} + Mob* target = c; + if (c->GetTarget()) { + target = c->GetTarget(); + } + + int damage = static_cast(std::min(std::stoll(sep->arg[1]), (long long) 2000000000)); + target->Damage(c, damage, SPELL_UNKNOWN, EQ::skills::SkillHandtoHand, false); +}