From 218ef80f96c2cd51b16b548812245e941fe78b3c Mon Sep 17 00:00:00 2001 From: Alex King <89047260+Kinglykrab@users.noreply.github.com> Date: Sun, 5 Mar 2023 22:34:05 -0500 Subject: [PATCH] [Commands] Cleanup #picklock Command (#3046) * [Commands] Cleanup #picklock Command # Notes - Cleanup messages and logic. * Update picklock.cpp --- zone/gm_commands/picklock.cpp | 31 ++++++++++++++++++------------- 1 file changed, 18 insertions(+), 13 deletions(-) diff --git a/zone/gm_commands/picklock.cpp b/zone/gm_commands/picklock.cpp index c4b538eff..7d6efc607 100755 --- a/zone/gm_commands/picklock.cpp +++ b/zone/gm_commands/picklock.cpp @@ -2,23 +2,28 @@ void command_picklock(Client *c, const Seperator *sep) { - Mob *target = c->GetTarget(); - if (!target) { - c->Message(Chat::Red, "You must have a target."); + if (!c->GetTarget() || !c->GetTarget()->IsNPC()) { + c->Message(Chat::White, "You must target an NPC to use this command."); return; } - if (target->IsNPC()) { - if (c->HasSkill(EQ::skills::SkillPickLock)) { - if (DistanceSquaredNoZ(c->GetPosition(), target->GetPosition()) > RuleI(Adventure, LDoNTrapDistanceUse)) { - c->Message(Chat::Red, "%s is too far away.", target->GetCleanName()); - return; - } - c->HandleLDoNPickLock(target->CastToNPC(), c->GetSkill(EQ::skills::SkillPickLock), LDoNTypeMechanical); - } - else { - c->Message(Chat::Red, "You do not have the pick locks skill."); + auto t = c->GetTarget()->CastToNPC(); + + if (c->HasSkill(EQ::skills::SkillPickLock)) { + if (DistanceSquaredNoZ(c->GetPosition(), t->GetPosition()) > RuleI(Adventure, LDoNTrapDistanceUse)) { + c->Message( + Chat::White, + fmt::format( + "{} is too far away.", + c->GetTargetDescription(t) + ).c_str() + ); + return; } + + c->HandleLDoNPickLock(t, c->GetSkill(EQ::skills::SkillPickLock), LDoNTypeMechanical); + } else { + c->Message(Chat::White, "You do not have the Pick Lock skill."); } }