#include "../client.h" void command_viewcurrencies(Client *c, const Seperator *sep) { Client *target = c; if (c->GetTarget() && c->GetTarget()->IsClient()) { target = c->GetTarget()->CastToClient(); } auto platinum = ( target->GetMoney(3, 0) + target->GetMoney(3, 1) + target->GetMoney(3, 2) + target->GetMoney(3, 3) ); auto gold = ( target->GetMoney(2, 0) + target->GetMoney(2, 1) + target->GetMoney(2, 2) ); auto silver = ( target->GetMoney(1, 0) + target->GetMoney(1, 1) + target->GetMoney(1, 2) ); auto copper = ( target->GetMoney(0, 0) + target->GetMoney(0, 1) + target->GetMoney(0, 2) ); if ( platinum || gold || silver || copper ) { c->Message( Chat::White, fmt::format( "Money for {} | {}", c->GetTargetDescription(target, TargetDescriptionType::UCSelf), Strings::Money( platinum, gold, silver, copper ) ).c_str() ); } auto ebon_crystals = target->GetEbonCrystals(); if (ebon_crystals) { c->Message( Chat::White, fmt::format( "{} for {} | {}", database.CreateItemLink(RuleI(Zone, EbonCrystalItemID)), c->GetTargetDescription(target, TargetDescriptionType::UCSelf), ebon_crystals ).c_str() ); } auto radiant_crystals = target->GetRadiantCrystals(); if (radiant_crystals) { c->Message( Chat::White, fmt::format( "{} for {} | {}", database.CreateItemLink(RuleI(Zone, RadiantCrystalItemID)), c->GetTargetDescription(target, TargetDescriptionType::UCSelf), radiant_crystals ).c_str() ); } for (const auto& ac : zone->AlternateCurrencies) { auto currency_value = target->GetAlternateCurrencyValue(ac.id); if (currency_value) { c->Message( Chat::White, fmt::format( "{} for {} | {}", database.CreateItemLink(ac.item_id), c->GetTargetDescription(target, TargetDescriptionType::UCSelf), currency_value ).c_str() ); } } for ( uint32 ldon_currency_id = LDoNThemes::GUK; ldon_currency_id <= LDoNThemes::TAK; ldon_currency_id++ ) { auto ldon_currency_value = target->GetLDoNPointsTheme(ldon_currency_id); if (ldon_currency_value) { c->Message( Chat::White, fmt::format( "{} for {} | {}", EQ::constants::GetLDoNThemeName(ldon_currency_id), c->GetTargetDescription(target, TargetDescriptionType::UCSelf), ldon_currency_value ).c_str() ); } } auto pvp_points = target->GetPVPPoints(); if (pvp_points) { c->Message( Chat::White, fmt::format( "PVP Points for {} | {}", c->GetTargetDescription(target, TargetDescriptionType::UCSelf), pvp_points ).c_str() ); } }