[Databuckets] Fix issue with expired databuckets not being expired and returned properly (#3504)

This commit is contained in:
Chris Miles
2023-07-18 17:18:36 -05:00
committed by GitHub
parent fb3159b657
commit 4c2f9a4423
5 changed files with 35 additions and 57 deletions
+6 -6
View File
@@ -5880,14 +5880,14 @@ bool Client::SpellBucketCheck(uint16 spell_id, uint32 character_id) {
DataBucketKey k = GetScopedBucketKeys();
k.key = spell_bucket_name;
auto bucket_value = DataBucket::GetData(k);
if (!bucket_value.empty()) {
if (Strings::IsNumber(bucket_value) && Strings::IsNumber(spell_bucket_value)) {
if (Strings::ToInt(bucket_value) >= Strings::ToInt(spell_bucket_value)) {
auto b = DataBucket::GetData(k);
if (!b.value.empty()) {
if (Strings::IsNumber(b.value) && Strings::IsNumber(spell_bucket_value)) {
if (Strings::ToInt(b.value) >= Strings::ToInt(spell_bucket_value)) {
return true; // If value is greater than or equal to spell bucket value, allow scribing.
}
} else {
if (bucket_value == spell_bucket_value) {
if (b.value == spell_bucket_value) {
return true; // If value is equal to spell bucket value, allow scribing.
}
}
@@ -5899,7 +5899,7 @@ bool Client::SpellBucketCheck(uint16 spell_id, uint32 character_id) {
spell_bucket_name
);
bucket_value = DataBucket::GetData(old_bucket_name);
auto bucket_value = DataBucket::GetData(old_bucket_name);
if (!bucket_value.empty()) {
if (Strings::IsNumber(bucket_value) && Strings::IsNumber(spell_bucket_value)) {
if (Strings::ToInt(bucket_value) >= Strings::ToInt(spell_bucket_value)) {