diff --git a/common/repositories/command_subsettings_repository.h b/common/repositories/command_subsettings_repository.h index f7e65a2b6..902109717 100644 --- a/common/repositories/command_subsettings_repository.h +++ b/common/repositories/command_subsettings_repository.h @@ -120,6 +120,7 @@ public: {.parent_command = "set", .sub_command = "title_suffix", .access_level = AccountStatus::QuestTroupe, .top_level_aliases = "titlesuffix"}, {.parent_command = "set", .sub_command = "weather", .access_level = AccountStatus::QuestTroupe, .top_level_aliases = "weather"}, {.parent_command = "set", .sub_command = "zone", .access_level = AccountStatus::QuestTroupe, .top_level_aliases = "zclip|zcolor|zheader|zonelock|zsafecoords|zsky|zunderworld"}, + {.parent_command = "show", .sub_command = "aa_points", .access_level = AccountStatus::QuestTroupe, .top_level_aliases = "showaapoints|showaapts"}, {.parent_command = "show", .sub_command = "aggro", .access_level = AccountStatus::QuestTroupe, .top_level_aliases = "aggro"}, {.parent_command = "show", .sub_command = "buffs", .access_level = AccountStatus::QuestTroupe, .top_level_aliases = "showbuffs"}, {.parent_command = "show", .sub_command = "buried_corpse_count", .access_level = AccountStatus::QuestTroupe, .top_level_aliases = "getplayerburiedcorpsecount"}, diff --git a/zone/gm_commands/show.cpp b/zone/gm_commands/show.cpp index bb7343bf3..fdea2b3e0 100755 --- a/zone/gm_commands/show.cpp +++ b/zone/gm_commands/show.cpp @@ -1,4 +1,5 @@ #include "../client.h" +#include "show/aa_points.cpp" #include "show/aggro.cpp" #include "show/buffs.cpp" #include "show/buried_corpse_count.cpp" @@ -55,6 +56,7 @@ void command_show(Client *c, const Seperator *sep) }; std::vector commands = { + Cmd{.cmd = "aa_points", .u = "aa_points", .fn = ShowAAPoints, .a = {"#showaapoints", "#showaapts"}}, Cmd{.cmd = "aggro", .u = "aggro [Distance] [-v] (-v is verbose Faction Information)", .fn = ShowAggro, .a = {"#aggro"}}, Cmd{.cmd = "buffs", .u = "buffs", .fn = ShowBuffs, .a = {"#showbuffs"}}, Cmd{.cmd = "buried_corpse_count", .u = "buried_corpse_count", .fn = ShowBuriedCorpseCount, .a = {"#getplayerburiedcorpsecount"}}, diff --git a/zone/gm_commands/show/aa_points.cpp b/zone/gm_commands/show/aa_points.cpp new file mode 100644 index 000000000..b8f556301 --- /dev/null +++ b/zone/gm_commands/show/aa_points.cpp @@ -0,0 +1,37 @@ +#include "../../client.h" +#include "../../dialogue_window.h" + +void ShowAAPoints(Client *c, const Seperator *sep) +{ + Client *t = c; + if (c->GetTarget() && c->GetTarget()->IsClient()) { + t = c->GetTarget()->CastToClient(); + } + + const int aa_points = t->GetAAPoints(); + const int spent_aa_points = t->GetSpentAA(); + const int total_aa_points = (aa_points + spent_aa_points); + + if (!total_aa_points) { + c->Message( + Chat::White, + fmt::format( + "{} {} no AA Points.", + c->GetTargetDescription(t, TargetDescriptionType::UCYou), + c == t ? "have" : "has" + ).c_str() + ); + return; + } + + c->Message( + Chat::White, + fmt::format( + "AA Points for {} | Current: {} Spent: {} Total: {}", + c->GetTargetDescription(t, TargetDescriptionType::UCSelf), + Strings::Commify(aa_points), + Strings::Commify(spent_aa_points), + Strings::Commify(total_aa_points) + ).c_str() + ); +}