diff --git a/zone/gm_commands/ginfo.cpp b/zone/gm_commands/ginfo.cpp
index a64b11fff..65874bfd0 100755
--- a/zone/gm_commands/ginfo.cpp
+++ b/zone/gm_commands/ginfo.cpp
@@ -28,69 +28,64 @@ void command_ginfo(Client *c, const Seperator *sep)
return;
}
- c->Message(
- Chat::White,
+ std::string popup_title = fmt::format(
+ "Group Info for {}",
+ c == target ?
+ "Yourself" :
fmt::format(
- "Group Info for {} | ID: {} Members: {}",
- (
- c == target ?
- "Yourself" :
- fmt::format(
- "{} ({})",
- target->GetCleanName(),
- target->GetID()
- )
- ),
- target_group->GetID(),
- target_group->GroupCount()
- ).c_str()
+ "{} ({})",
+ target->GetCleanName(),
+ target->GetID()
+ )
);
+ std::string popup_text = "
";
+ popup_text += fmt::format(
+ "| Group ID | {} | Members | {} | ",
+ target_group->GetID(),
+ target_group->GroupCount()
+ );
+ popup_text += "
";
+ popup_text += "
";
+ popup_text += "| Index | ";
+ popup_text += "Name | ";
+ popup_text += "In Zone | ";
+ popup_text += "Assist | ";
+ popup_text += "Puller | ";
+ popup_text += "Tank | ";
+ popup_text += "
";
for (int group_member = 0; group_member < MAX_GROUP_MEMBERS; group_member++) {
if (target_group->membername[group_member][0] == '\0') {
continue;
}
- int member_number = (group_member + 1);
bool is_assist = target_group->MemberRoles[group_member] & RoleAssist;
bool is_puller = target_group->MemberRoles[group_member] & RolePuller;
bool is_tank = target_group->MemberRoles[group_member] & RoleTank;
- auto member_string = (
- strcmp(target_group->membername[group_member], c->GetCleanName()) ?
- (
- fmt::format(
- "Name: {} In Zone: {}",
- target_group->membername[group_member],
- target_group->members[group_member] ? "Yes" : "No"
- )
- ) :
- "You"
- );
- c->Message(
- Chat::White,
- fmt::format(
- "Member {} | {}",
- member_number,
- member_string
- ).c_str()
- );
- if (
- is_assist ||
- is_puller ||
- is_tank
- ) {
- c->Message(
- Chat::White,
+ popup_text += fmt::format(
+ "| {} | {} | {} | {} | {} | {} |
",
+ group_member,
+ (
+ strcmp(target_group->membername[group_member], c->GetCleanName()) ?
+ target_group->membername[group_member] :
fmt::format(
- "Member {} Roles | Assist: {} Puller: {} Tank: {}",
- member_number,
- is_assist ? "Yes" : "No",
- is_puller ? "Yes" : "No",
- is_tank ? "Yes" : "No"
- ).c_str()
- );
- }
+ "{} (You)",
+ target_group->membername[group_member]
+ )
+ ),
+ target_group->members[group_member] ? "✔" : "❌",
+ is_assist ? "✔" : "❌",
+ is_puller ? "✔" : "❌",
+ is_tank ? "✔" : "❌"
+ );
}
+
+ popup_text += "
";
+
+ c->SendPopupToClient(
+ popup_title.c_str(),
+ popup_text.c_str()
+ );
}