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."); } }