diff options
author | Treeston <treeston.mmoc@gmail.com> | 2020-08-20 18:34:09 +0200 |
---|---|---|
committer | Shauren <shauren.trinity@gmail.com> | 2022-02-04 00:27:11 +0100 |
commit | 669b6bea210db40cf2a6b01c7b52d51243bc79bf (patch) | |
tree | 0844ec5be3bcf5f2793920f051d4a434dd377a6f /src/server/game/Warden/WardenWin.cpp | |
parent | 15d75dea10c058364a2577b73a627b4701d4ce01 (diff) |
Core/Warden: Ignore the `length` value in the database for MEM_CHECK checks. Hi there Aokromes.
(cherry picked from commit fc32c3fd3b2e91702a41798ef962cbc8475c8584)
Diffstat (limited to 'src/server/game/Warden/WardenWin.cpp')
-rw-r--r-- | src/server/game/Warden/WardenWin.cpp | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/src/server/game/Warden/WardenWin.cpp b/src/server/game/Warden/WardenWin.cpp index 63bf304e6e2..92e77378198 100644 --- a/src/server/game/Warden/WardenWin.cpp +++ b/src/server/game/Warden/WardenWin.cpp @@ -187,7 +187,7 @@ void WardenWin::RequestChecks() for (WardenCheckCategory category : EnumUtils::Iterate<WardenCheckCategory>()) { auto& [checks, checksIt] = _checks[category]; - if (checksIt == checks.end()) + if ((checksIt == checks.end()) && !checks.empty()) { TC_LOG_DEBUG("warden", "Finished all %s checks, re-shuffling", EnumUtils::ToConstant(category)); Trinity::Containers::RandomShuffle(checks); @@ -243,7 +243,7 @@ void WardenWin::RequestChecks() { buff << uint8(0x00); buff << uint32(check.Address); - buff << uint8(check.Length); + buff << uint8(sWardenCheckMgr->GetCheckResult(id).size()); break; } case PAGE_CHECK_A: @@ -377,11 +377,12 @@ void WardenWin::HandleCheckResult(ByteBuffer &buff) continue; } + WardenCheckResult const& expected = sWardenCheckMgr->GetCheckResult(id); + std::vector<uint8> response; - response.resize(check.Length); + response.resize(expected.size()); buff.read(response.data(), response.size()); - WardenCheckResult const& expected = sWardenCheckMgr->GetCheckResult(id); if (response != expected) { TC_LOG_DEBUG("warden", "RESULT MEM_CHECK fail CheckId %u account Id %u", id, _session->GetAccountId()); |