eqemu-server/zone/gm_commands/appearance.cpp
Alex King 259add68f5
[Commands] Cleanup #appearance Command (#3827)
* [Commands] Cleanup #appearance Command

# Notes
- Cleanup messages and logic.
- Cleanup appearance type constants to use a namespace with constexpr instead.
- Cleanup animation constants to use a namespace with constexpr instead.

* Update emu_constants.cpp

* Cleanup
2024-01-06 22:24:32 -06:00

45 lines
978 B
C++
Executable File

#include "../client.h"
void command_appearance(Client *c, const Seperator *sep)
{
const int arguments = sep->argnum;
if (!arguments || !sep->IsNumber(1) || !sep->IsNumber(2)) {
c->Message(Chat::White, "Usage: #appearance [Type] [Value]");
c->Message(Chat::White, "Note: Types are as follows:");
for (const auto& a : EQ::constants::GetAppearanceTypeMap()) {
c->Message(
Chat::White,
fmt::format(
"Appearance Type {} | {}",
a.first,
a.second
).c_str()
);
}
return;
}
Mob *t = c;
if (c->GetTarget()) {
t = c->GetTarget();
}
const uint32 type = Strings::ToUnsignedInt(sep->arg[1]);
const uint32 value = Strings::ToUnsignedInt(sep->arg[2]);
t->SendAppearancePacket(type, value);
c->Message(
Chat::White,
fmt::format(
"Appearance Sent to {} | Type: {} ({}) Value: {}",
c->GetTargetDescription(t, TargetDescriptionType::UCSelf),
EQ::constants::GetAppearanceTypeName(type),
type,
value
).c_str()
);
}