diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/server/game/Entities/Player/Player.cpp | 43 | ||||
-rw-r--r-- | src/server/game/Entities/Player/Player.h | 6 | ||||
-rw-r--r-- | src/server/scripts/Commands/cs_modify.cpp | 2 |
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; } |