aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/server/game/Entities/Player/Player.cpp43
-rw-r--r--src/server/game/Entities/Player/Player.h6
-rw-r--r--src/server/scripts/Commands/cs_modify.cpp2
3 files changed, 20 insertions, 31 deletions
diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp
index c0bff0149a0..29408a48252 100644
--- a/src/server/game/Entities/Player/Player.cpp
+++ b/src/server/game/Entities/Player/Player.cpp
@@ -6788,7 +6788,7 @@ void Player::SendNewCurrency(uint32 id) const
record.Type = entry->ID;
record.Quantity = itr->second.Quantity;
record.WeeklyQuantity = itr->second.WeeklyQuantity;
- record.MaxWeeklyQuantity = GetCurrencyWeekCap(entry) / ((entry->Flags & CURRENCY_FLAG_HIGH_PRECISION) ? CURRENCY_PRECISION : 1);
+ record.MaxWeeklyQuantity = GetCurrencyWeekCap(entry);
record.TrackedQuantity = itr->second.TrackedQuantity;
record.Flags = itr->second.Flags;
@@ -6814,7 +6814,7 @@ void Player::SendCurrencies() const
record.Type = entry->ID;
record.Quantity = itr->second.Quantity;
record.WeeklyQuantity = itr->second.WeeklyQuantity;
- record.MaxWeeklyQuantity = GetCurrencyWeekCap(entry) / ((entry->Flags & CURRENCY_FLAG_HIGH_PRECISION) ? CURRENCY_PRECISION : 1);
+ record.MaxWeeklyQuantity = GetCurrencyWeekCap(entry);
record.TrackedQuantity = itr->second.TrackedQuantity;
record.Flags = itr->second.Flags;
@@ -6827,38 +6827,32 @@ void Player::SendCurrencies() const
void Player::SendPvpRewards() const
{
WorldPacket packet(SMSG_REQUEST_PVP_REWARDS_RESPONSE, 24);
- packet << GetCurrencyWeekCap(CURRENCY_TYPE_CONQUEST_POINTS, true);
- packet << GetCurrencyOnWeek(CURRENCY_TYPE_CONQUEST_POINTS, true);
- packet << GetCurrencyWeekCap(CURRENCY_TYPE_CONQUEST_META_ARENA, true);
- packet << GetCurrencyOnWeek(CURRENCY_TYPE_CONQUEST_META_RBG, true);
- packet << GetCurrencyOnWeek(CURRENCY_TYPE_CONQUEST_META_ARENA, true);
- packet << GetCurrencyWeekCap(CURRENCY_TYPE_CONQUEST_POINTS, true);
+ packet << GetCurrencyWeekCap(CURRENCY_TYPE_CONQUEST_POINTS);
+ packet << GetCurrencyOnWeek(CURRENCY_TYPE_CONQUEST_POINTS);
+ packet << GetCurrencyWeekCap(CURRENCY_TYPE_CONQUEST_META_ARENA);
+ packet << GetCurrencyOnWeek(CURRENCY_TYPE_CONQUEST_META_RBG);
+ packet << GetCurrencyOnWeek(CURRENCY_TYPE_CONQUEST_META_ARENA);
+ packet << GetCurrencyWeekCap(CURRENCY_TYPE_CONQUEST_POINTS);
GetSession()->SendPacket(&packet);
}
-uint32 Player::GetCurrency(uint32 id, bool usePrecision) const
+uint32 Player::GetCurrency(uint32 id) const
{
PlayerCurrenciesMap::const_iterator itr = _currencyStorage.find(id);
if (itr == _currencyStorage.end())
return 0;
- CurrencyTypesEntry const* currency = sCurrencyTypesStore.LookupEntry(id);
- uint32 precision = (usePrecision && currency->Flags & CURRENCY_FLAG_HIGH_PRECISION) ? CURRENCY_PRECISION : 1;
-
- return itr->second.Quantity / precision;
+ return itr->second.Quantity;
}
-uint32 Player::GetCurrencyOnWeek(uint32 id, bool usePrecision) const
+uint32 Player::GetCurrencyOnWeek(uint32 id) const
{
PlayerCurrenciesMap::const_iterator itr = _currencyStorage.find(id);
if (itr == _currencyStorage.end())
return 0;
- CurrencyTypesEntry const* currency = sCurrencyTypesStore.LookupEntry(id);
- uint32 precision = (usePrecision && currency->Flags & CURRENCY_FLAG_HIGH_PRECISION) ? CURRENCY_PRECISION : 1;
-
- return itr->second.WeeklyQuantity / precision;
+ return itr->second.WeeklyQuantity;
}
bool Player::HasCurrency(uint32 id, uint32 count) const
@@ -6984,15 +6978,13 @@ void Player::SetCurrency(uint32 id, uint32 count, bool /*printLog*/ /*= true*/)
}
}
-uint32 Player::GetCurrencyWeekCap(uint32 id, bool usePrecision) const
+uint32 Player::GetCurrencyWeekCap(uint32 id) const
{
CurrencyTypesEntry const* entry = sCurrencyTypesStore.LookupEntry(id);
if (!entry)
return 0;
- uint32 precision = (usePrecision && entry->Flags & CURRENCY_FLAG_HIGH_PRECISION) ? CURRENCY_PRECISION : 1;
-
- return GetCurrencyWeekCap(entry) / precision;
+ return GetCurrencyWeekCap(entry);
}
void Player::ResetCurrencyWeekCap()
@@ -7025,7 +7017,7 @@ uint32 Player::GetCurrencyWeekCap(CurrencyTypesEntry const* currency) const
{
//original conquest not have week cap
case CURRENCY_TYPE_CONQUEST_POINTS:
- return std::max(GetCurrencyWeekCap(CURRENCY_TYPE_CONQUEST_META_ARENA, false), GetCurrencyWeekCap(CURRENCY_TYPE_CONQUEST_META_RBG, false));
+ return std::max(GetCurrencyWeekCap(CURRENCY_TYPE_CONQUEST_META_ARENA), GetCurrencyWeekCap(CURRENCY_TYPE_CONQUEST_META_RBG));
case CURRENCY_TYPE_CONQUEST_META_ARENA:
// should add precision mod = 100
return Trinity::Currency::ConquestRatingCalculator(_maxPersonalArenaRate) * CURRENCY_PRECISION;
@@ -7080,11 +7072,8 @@ void Player::UpdateConquestCurrencyCap(uint32 currency)
if (!currencyEntry)
continue;
- uint32 precision = (currencyEntry->Flags & CURRENCY_FLAG_HIGH_PRECISION) ? 100 : 1;
- uint32 cap = GetCurrencyWeekCap(currencyEntry);
-
WorldPacket packet(SMSG_SET_MAX_WEEKLY_QUANTITY, 8);
- packet << uint32(cap / precision);
+ packet << uint32(GetCurrencyWeekCap(currencyEntry));
packet << uint32(currenciesToUpdate[i]);
GetSession()->SendPacket(&packet);
}
diff --git a/src/server/game/Entities/Player/Player.h b/src/server/game/Entities/Player/Player.h
index 60447757035..6eaebf758de 100644
--- a/src/server/game/Entities/Player/Player.h
+++ b/src/server/game/Entities/Player/Player.h
@@ -1470,11 +1470,11 @@ class Player : public Unit, public GridObject<Player>
/// send conquest currency points and their cap week/arena
void SendPvpRewards() const;
/// return count of currency witch has plr
- uint32 GetCurrency(uint32 id, bool usePrecision) const;
+ uint32 GetCurrency(uint32 id) const;
/// return count of currency gaind on current week
- uint32 GetCurrencyOnWeek(uint32 id, bool usePrecision) const;
+ uint32 GetCurrencyOnWeek(uint32 id) const;
/// return week cap by currency id
- uint32 GetCurrencyWeekCap(uint32 id, bool usePrecision) const;
+ uint32 GetCurrencyWeekCap(uint32 id) const;
/// return presence related currency
bool HasCurrency(uint32 id, uint32 count) const;
/// initialize currency count for custom initialization at create character
diff --git a/src/server/scripts/Commands/cs_modify.cpp b/src/server/scripts/Commands/cs_modify.cpp
index 56f540514d7..d3edd27ab7e 100644
--- a/src/server/scripts/Commands/cs_modify.cpp
+++ b/src/server/scripts/Commands/cs_modify.cpp
@@ -1131,7 +1131,7 @@ public:
target->ModifyCurrency(CURRENCY_TYPE_HONOR_POINTS, amount, true, true);
- handler->PSendSysMessage(LANG_COMMAND_MODIFY_HONOR, handler->GetNameLink(target).c_str(), target->GetCurrency(CURRENCY_TYPE_HONOR_POINTS, false));
+ handler->PSendSysMessage(LANG_COMMAND_MODIFY_HONOR, handler->GetNameLink(target).c_str(), target->GetCurrency(CURRENCY_TYPE_HONOR_POINTS));
return true;
}