[Cleanup] Cleanup Stance Code (#4368)

* [Cleanup] Cleanup Stance-based Code

* Command

* Update emu_constants.h

* Update stance.cpp

* Cleanup
This commit is contained in:
Alex King
2024-07-02 21:50:34 -04:00
committed by GitHub
parent e63f34638b
commit a85f4fb703
15 changed files with 206 additions and 144 deletions
+32 -18
View File
@@ -198,7 +198,7 @@ void bot_command_clone(Client *c, const Seperator *sep)
return;
}
int clone_stance = EQ::constants::stancePassive;
int clone_stance = Stance::Passive;
if (!database.botdb.LoadStance(my_bot->GetBotID(), clone_stance)) {
c->Message(
Chat::White,
@@ -1058,33 +1058,47 @@ void bot_command_stance(Client *c, const Seperator *sep)
return;
if (helper_is_help_or_usage(sep->arg[1])) {
c->Message(Chat::White, "usage: %s [current | value: 1-9] ([actionable: target | byname] ([actionable_name]))", sep->arg[0]);
c->Message(Chat::White, "value: %u(%s), %u(%s), %u(%s), %u(%s), %u(%s), %u(%s), %u(%s)",
EQ::constants::stancePassive, EQ::constants::GetStanceName(EQ::constants::stancePassive),
EQ::constants::stanceBalanced, EQ::constants::GetStanceName(EQ::constants::stanceBalanced),
EQ::constants::stanceEfficient, EQ::constants::GetStanceName(EQ::constants::stanceEfficient),
EQ::constants::stanceReactive, EQ::constants::GetStanceName(EQ::constants::stanceReactive),
EQ::constants::stanceAggressive, EQ::constants::GetStanceName(EQ::constants::stanceAggressive),
EQ::constants::stanceAssist, EQ::constants::GetStanceName(EQ::constants::stanceAssist),
EQ::constants::stanceBurn, EQ::constants::GetStanceName(EQ::constants::stanceBurn),
EQ::constants::stanceEfficient2, EQ::constants::GetStanceName(EQ::constants::stanceEfficient2),
EQ::constants::stanceBurnAE, EQ::constants::GetStanceName(EQ::constants::stanceBurnAE)
c->Message(
Chat::White,
fmt::format(
"Value: {} ({}), {} ({}), {} ({}), {} ({}), {} ({}), {} ({}), {} ({}), {} ({}), {} ({})",
Stance::Passive,
Stance::GetName(Stance::Passive),
Stance::Balanced,
Stance::GetName(Stance::Balanced),
Stance::Efficient,
Stance::GetName(Stance::Efficient),
Stance::Reactive,
Stance::GetName(Stance::Reactive),
Stance::Aggressive,
Stance::GetName(Stance::Aggressive),
Stance::Assist,
Stance::GetName(Stance::Assist),
Stance::Burn,
Stance::GetName(Stance::Burn),
Stance::Efficient2,
Stance::GetName(Stance::Efficient2),
Stance::AEBurn,
Stance::GetName(Stance::AEBurn)
).c_str()
);
return;
}
int ab_mask = (ActionableBots::ABM_Target | ActionableBots::ABM_ByName);
bool current_flag = false;
auto bst = EQ::constants::stanceUnknown;
uint8 bst = Stance::Unknown;
if (!strcasecmp(sep->arg[1], "current"))
current_flag = true;
else if (sep->IsNumber(1)) {
bst = (EQ::constants::StanceType)Strings::ToInt(sep->arg[1]);
if (bst < EQ::constants::stanceUnknown || bst > EQ::constants::stanceBurnAE)
bst = EQ::constants::stanceUnknown;
bst = static_cast<uint8>(Strings::ToUnsignedInt(sep->arg[1]));
if (!Stance::IsValid(bst)) {
bst = Stance::Unknown;
}
}
if (!current_flag && bst == EQ::constants::stanceUnknown) {
if (!current_flag && bst == Stance::Unknown) {
c->Message(Chat::White, "A [current] argument or valid numeric [value] is required to use this command");
return;
}
@@ -1106,8 +1120,8 @@ void bot_command_stance(Client *c, const Seperator *sep)
bot_iter,
fmt::format(
"My current stance is {} ({}).",
EQ::constants::GetStanceName(bot_iter->GetBotStance()),
static_cast<int>(bot_iter->GetBotStance())
Stance::GetName(bot_iter->GetBotStance()),
bot_iter->GetBotStance()
).c_str()
);
}