Sort #dz list output by dz id

Sort #dz expedition list by expedition id
This commit is contained in:
hg 2020-11-08 21:27:46 -05:00
parent 81e4bd6040
commit fc7d8a82e5

View File

@ -6838,28 +6838,39 @@ void command_dz(Client* c, const Seperator* sep)
{ {
if (strcasecmp(sep->arg[2], "list") == 0) if (strcasecmp(sep->arg[2], "list") == 0)
{ {
c->Message(Chat::White, fmt::format("Total Active Expeditions: [{}]", zone->expedition_cache.size()).c_str()); std::vector<Expedition*> expeditions;
for (const auto& expedition : zone->expedition_cache) for (const auto& expedition : zone->expedition_cache)
{ {
auto leader_saylink = EQ::SayLinkEngine::GenerateQuestSaylink(fmt::format( expeditions.emplace_back(expedition.second.get());
"#goto {}", expedition.second->GetLeaderName()), false, expedition.second->GetLeaderName()); }
auto zone_saylink = EQ::SayLinkEngine::GenerateQuestSaylink(fmt::format(
"#zoneinstance {}", expedition.second->GetInstanceID()), false, "zone");
auto seconds = expedition.second->GetDynamicZone().GetSecondsRemaining(); std::sort(expeditions.begin(), expeditions.end(),
[](const Expedition* lhs, const Expedition* rhs) {
return lhs->GetID() < rhs->GetID();
});
c->Message(Chat::White, fmt::format("Total Active Expeditions: [{}]", expeditions.size()).c_str());
for (const auto& expedition : expeditions)
{
auto leader_saylink = EQ::SayLinkEngine::GenerateQuestSaylink(fmt::format(
"#goto {}", expedition->GetLeaderName()), false, expedition->GetLeaderName());
auto zone_saylink = EQ::SayLinkEngine::GenerateQuestSaylink(fmt::format(
"#zoneinstance {}", expedition->GetInstanceID()), false, "zone");
auto seconds = expedition->GetDynamicZone().GetSecondsRemaining();
c->Message(Chat::White, fmt::format( c->Message(Chat::White, fmt::format(
"expedition id: [{}] dz id: [{}] name: [{}] leader: [{}] {}: [{}]:[{}]:[{}]:[{}] members: [{}] remaining: [{:02}:{:02}:{:02}]", "expedition id: [{}] dz id: [{}] name: [{}] leader: [{}] {}: [{}]:[{}]:[{}]:[{}] members: [{}] remaining: [{:02}:{:02}:{:02}]",
expedition.second->GetID(), expedition->GetID(),
expedition.second->GetDynamicZoneID(), expedition->GetDynamicZoneID(),
expedition.second->GetName(), expedition->GetName(),
leader_saylink, leader_saylink,
zone_saylink, zone_saylink,
ZoneName(expedition.second->GetDynamicZone().GetZoneID()), ZoneName(expedition->GetDynamicZone().GetZoneID()),
expedition.second->GetDynamicZone().GetZoneID(), expedition->GetDynamicZone().GetZoneID(),
expedition.second->GetInstanceID(), expedition->GetInstanceID(),
expedition.second->GetDynamicZone().GetZoneVersion(), expedition->GetDynamicZone().GetZoneVersion(),
expedition.second->GetMemberCount(), expedition->GetMemberCount(),
seconds / 3600, // hours seconds / 3600, // hours
(seconds / 60) % 60, // minutes (seconds / 60) % 60, // minutes
seconds % 60 // seconds seconds % 60 // seconds
@ -6918,7 +6929,8 @@ void command_dz(Client* c, const Seperator* sep)
FROM dynamic_zones FROM dynamic_zones
INNER JOIN instance_list ON dynamic_zones.instance_id = instance_list.id INNER JOIN instance_list ON dynamic_zones.instance_id = instance_list.id
LEFT JOIN instance_list_player ON instance_list.id = instance_list_player.id LEFT JOIN instance_list_player ON instance_list.id = instance_list_player.id
GROUP BY instance_list.id; GROUP BY instance_list.id
ORDER BY dynamic_zones.id;
); );
auto results = database.QueryDatabase(query); auto results = database.QueryDatabase(query);