diff --git a/common/eq_constants.h b/common/eq_constants.h index 2b71d9093..c2207cc1f 100644 --- a/common/eq_constants.h +++ b/common/eq_constants.h @@ -1059,4 +1059,20 @@ enum SpellTimeRestrictions Night }; +enum MoneyTypes +{ + Copper, + Silver, + Gold, + Platinum +}; + +enum MoneySubtypes +{ + Personal, + Bank, + Cursor, + SharedBank // Platinum Only +}; + #endif /*COMMON_EQ_CONSTANTS_H*/ diff --git a/zone/client.cpp b/zone/client.cpp index e582aa695..da1a5bf2d 100644 --- a/zone/client.cpp +++ b/zone/client.cpp @@ -2262,10 +2262,10 @@ void Client::QuestReadBook(const char* text, uint8 type) { uint32 Client::GetCarriedPlatinum() { return ( - GetMoney(3, 0) + - (GetMoney(2, 0) / 10) + - (GetMoney(1, 0) / 100) + - (GetMoney(0, 0) / 1000) + GetMoney(MoneyTypes::Platinum, MoneySubtypes::Personal) + + (GetMoney(MoneyTypes::Gold, MoneySubtypes::Personal) / 10) + + (GetMoney(MoneyTypes::Silver, MoneySubtypes::Personal) / 100) + + (GetMoney(MoneyTypes::Copper, MoneySubtypes::Personal) / 1000) ); } @@ -8119,16 +8119,17 @@ void Client::SendHPUpdateMarquee(){ uint32 Client::GetMoney(uint8 type, uint8 subtype) { uint32 value = 0; + switch (type) { - case 0: { + case MoneyTypes::Copper: { switch (subtype) { - case 0: + case MoneySubtypes::Personal: value = static_cast(m_pp.copper); break; - case 1: + case MoneySubtypes::Bank: value = static_cast(m_pp.copper_bank); break; - case 2: + case MoneySubtypes::Cursor: value = static_cast(m_pp.copper_cursor); break; default: @@ -8136,15 +8137,15 @@ uint32 Client::GetMoney(uint8 type, uint8 subtype) { } break; } - case 1: { + case MoneyTypes::Silver: { switch (subtype) { - case 0: + case MoneySubtypes::Personal: value = static_cast(m_pp.silver); break; - case 1: + case MoneySubtypes::Bank: value = static_cast(m_pp.silver_bank); break; - case 2: + case MoneySubtypes::Cursor: value = static_cast(m_pp.silver_cursor); break; default: @@ -8152,15 +8153,15 @@ uint32 Client::GetMoney(uint8 type, uint8 subtype) { } break; } - case 2: { + case MoneyTypes::Gold: { switch (subtype) { - case 0: + case MoneySubtypes::Personal: value = static_cast(m_pp.gold); break; - case 1: + case MoneySubtypes::Bank: value = static_cast(m_pp.gold_bank); break; - case 2: + case MoneySubtypes::Cursor: value = static_cast(m_pp.gold_cursor); break; default: @@ -8168,18 +8169,18 @@ uint32 Client::GetMoney(uint8 type, uint8 subtype) { } break; } - case 3: { + case MoneyTypes::Platinum: { switch (subtype) { - case 0: + case MoneySubtypes::Personal: value = static_cast(m_pp.platinum); break; - case 1: + case MoneySubtypes::Bank: value = static_cast(m_pp.platinum_bank); break; - case 2: + case MoneySubtypes::Cursor: value = static_cast(m_pp.platinum_cursor); break; - case 3: + case MoneySubtypes::SharedBank: value = static_cast(m_pp.platinum_shared); break; default: @@ -8190,6 +8191,7 @@ uint32 Client::GetMoney(uint8 type, uint8 subtype) { default: break; } + return value; } diff --git a/zone/gm_commands/show/currencies.cpp b/zone/gm_commands/show/currencies.cpp index affda79bc..d63395822 100644 --- a/zone/gm_commands/show/currencies.cpp +++ b/zone/gm_commands/show/currencies.cpp @@ -3,34 +3,34 @@ void ShowCurrencies(Client *c, const Seperator *sep) { - auto t = c; + Client *t = c; if (c->GetTarget() && c->GetTarget()->IsClient()) { t = c->GetTarget()->CastToClient(); } - const uint32 platinum = ( - t->GetMoney(3, 0) + - t->GetMoney(3, 1) + - t->GetMoney(3, 2) + - t->GetMoney(3, 3) + const uint64 platinum = ( + t->GetMoney(MoneyTypes::Platinum, MoneySubtypes::Personal) + + t->GetMoney(MoneyTypes::Platinum, MoneySubtypes::Bank) + + t->GetMoney(MoneyTypes::Platinum, MoneySubtypes::Cursor) + + t->GetMoney(MoneyTypes::Platinum, MoneySubtypes::SharedBank) ); - const uint32 gold = ( - t->GetMoney(2, 0) + - t->GetMoney(2, 1) + - t->GetMoney(2, 2) + const uint64 gold = ( + t->GetMoney(MoneyTypes::Gold, MoneySubtypes::Personal) + + t->GetMoney(MoneyTypes::Gold, MoneySubtypes::Bank) + + t->GetMoney(MoneyTypes::Gold, MoneySubtypes::Cursor) ); - const uint32 silver = ( - t->GetMoney(1, 0) + - t->GetMoney(1, 1) + - t->GetMoney(1, 2) + const uint64 silver = ( + t->GetMoney(MoneyTypes::Silver, MoneySubtypes::Personal) + + t->GetMoney(MoneyTypes::Silver, MoneySubtypes::Bank) + + t->GetMoney(MoneyTypes::Silver, MoneySubtypes::Cursor) ); - const uint32 copper = ( - t->GetMoney(0, 0) + - t->GetMoney(0, 1) + - t->GetMoney(0, 2) + const uint64 copper = ( + t->GetMoney(MoneyTypes::Copper, MoneySubtypes::Personal) + + t->GetMoney(MoneyTypes::Copper, MoneySubtypes::Bank) + + t->GetMoney(MoneyTypes::Copper, MoneySubtypes::Cursor) ); std::string currency_table; @@ -79,9 +79,9 @@ void ShowCurrencies(Client *c, const Seperator *sep) for (const auto& a : zone->AlternateCurrencies) { const uint32 currency_value = t->GetAlternateCurrencyValue(a.id); if (currency_value) { - const auto* d = database.GetItem(a.item_id); + const auto *item = database.GetItem(a.item_id); currency_table += DialogueWindow::TableRow( - DialogueWindow::TableCell(d->Name) + + DialogueWindow::TableCell(item->Name) + DialogueWindow::TableCell(Strings::Commify(currency_value)) );