[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
This commit is contained in:
Alex King
2024-01-06 23:24:32 -05:00
committed by GitHub
parent d2f5dc43a6
commit 259add68f5
33 changed files with 330 additions and 237 deletions
+1 -1
View File
@@ -8,6 +8,6 @@ void command_acceptrules(Client *c, const Seperator *sep)
}
database.SetAgreementFlag(c->AccountID());
c->SendAppearancePacket(AT_Anim, ANIM_STAND);
c->SendAppearancePacket(AppearanceType::Animation, Animation::Standing);
c->Message(Chat::White, "It is recorded you have agreed to the rules.");
}
+37 -19
View File
@@ -2,25 +2,43 @@
void command_appearance(Client *c, const Seperator *sep)
{
Mob *t = c->CastToMob();
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:");
// sends any appearance packet
// Dev debug command, for appearance types
if (sep->arg[2][0] == 0) {
c->Message(Chat::White, "Usage: #appearance type value");
}
else {
if ((c->GetTarget())) {
t = c->GetTarget();
for (const auto& a : EQ::constants::GetAppearanceTypeMap()) {
c->Message(
Chat::White,
fmt::format(
"Appearance Type {} | {}",
a.first,
a.second
).c_str()
);
}
t->SendAppearancePacket(Strings::ToInt(sep->arg[1]), Strings::ToInt(sep->arg[2]));
c->Message(
Chat::White,
"Sending appearance packet: target=%s, type=%s, value=%s",
t->GetName(),
sep->arg[1],
sep->arg[2]
);
}
}
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()
);
}
+1 -1
View File
@@ -51,7 +51,7 @@ void SetFlymode(Client *c, const Seperator *sep)
}
t->SetFlyMode(static_cast<GravityBehavior>(flymode_id));
t->SendAppearancePacket(AT_Levitate, flymode_id);
t->SendAppearancePacket(AppearanceType::FlyMode, flymode_id);
const uint32 account = c->AccountID();
+1 -1
View File
@@ -21,7 +21,7 @@ void SetFrozen(Client *c, const Seperator *sep)
return;
}
t->SendAppearancePacket(AT_Anim, is_frozen ? ANIM_FREEZE : ANIM_STAND);
t->SendAppearancePacket(AppearanceType::Animation, is_frozen ? Animation::Freeze : Animation::Standing);
c->Message(
Chat::White,
+1 -1
View File
@@ -26,7 +26,7 @@ void SetGodMode(Client *c, const Seperator *sep)
}
c->SetInvul(god_mode);
c->SendAppearancePacket(AT_Levitate, god_mode);
c->SendAppearancePacket(AppearanceType::FlyMode, god_mode);
c->SetHideMe(god_mode);
c->Message(