diff options
| author | Shauren <shauren.trinity@gmail.com> | 2022-07-17 20:23:37 +0200 |
|---|---|---|
| committer | Shauren <shauren.trinity@gmail.com> | 2022-07-17 20:23:37 +0200 |
| commit | cb99b08b86f8773563276bf16ccc2210003b056b (patch) | |
| tree | 9284c0abae36e5f779b97b968463de4a9d86db8f /src/server/game/Achievements/CriteriaHandler.cpp | |
| parent | b8e52fd90bdab6e720d13e44c64483945e139fa2 (diff) | |
Core/Players: Fixed ExploredZones size and PLAYER_EXPLORED_ZONES_SIZE desync
Diffstat (limited to 'src/server/game/Achievements/CriteriaHandler.cpp')
| -rw-r--r-- | src/server/game/Achievements/CriteriaHandler.cpp | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/server/game/Achievements/CriteriaHandler.cpp b/src/server/game/Achievements/CriteriaHandler.cpp index 92390429997..02be080a4a7 100644 --- a/src/server/game/Achievements/CriteriaHandler.cpp +++ b/src/server/game/Achievements/CriteriaHandler.cpp @@ -1526,11 +1526,11 @@ bool CriteriaHandler::RequirementsSatisfied(Criteria const* criteria, uint64 mis if (area->AreaBit < 0) continue; - uint16 playerIndexOffset = uint16(uint32(area->AreaBit) / 64); + size_t playerIndexOffset = size_t(area->AreaBit) / PLAYER_EXPLORED_ZONES_BITS; if (playerIndexOffset >= PLAYER_EXPLORED_ZONES_SIZE) continue; - uint64 mask = uint64(1) << (area->AreaBit % 64); + uint64 mask = uint64(1) << (area->AreaBit % PLAYER_EXPLORED_ZONES_BITS); if (referencePlayer->m_activePlayerData->ExploredZones[playerIndexOffset] & mask) { matchFound = true; @@ -2271,10 +2271,10 @@ bool CriteriaHandler::ModifierSatisfied(ModifierTreeEntry const* modifier, uint6 return false; if (areaTable->AreaBit <= 0) break; // success - uint32 playerIndexOffset = uint32(areaTable->AreaBit) / 64; + size_t playerIndexOffset = size_t(areaTable->AreaBit) / PLAYER_EXPLORED_ZONES_BITS; if (playerIndexOffset >= PLAYER_EXPLORED_ZONES_SIZE) break; - if (!(referencePlayer->m_activePlayerData->ExploredZones[playerIndexOffset] & (UI64LIT(1) << (areaTable->AreaBit % 64)))) + if (!(referencePlayer->m_activePlayerData->ExploredZones[playerIndexOffset] & (UI64LIT(1) << (areaTable->AreaBit % PLAYER_EXPLORED_ZONES_BITS)))) return false; break; } |
