aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/server/game/Warden/WardenCheckMgr.h11
-rw-r--r--src/server/game/Warden/WardenWin.cpp3
2 files changed, 14 insertions, 0 deletions
diff --git a/src/server/game/Warden/WardenCheckMgr.h b/src/server/game/Warden/WardenCheckMgr.h
index 51e96312f97..eea0e2839d7 100644
--- a/src/server/game/Warden/WardenCheckMgr.h
+++ b/src/server/game/Warden/WardenCheckMgr.h
@@ -84,6 +84,17 @@ constexpr WorldIntConfigs GetWardenCategoryCountConfig(WardenCheckCategory categ
}
}
+constexpr bool IsWardenCategoryInWorldOnly(WardenCheckCategory category)
+{
+ switch (category)
+ {
+ case INJECT_CHECK_CATEGORY: return false;
+ case LUA_CHECK_CATEGORY: return true;
+ case MODDED_CHECK_CATEGORY: return false;
+ default: return false;
+ }
+}
+
struct WardenCheck
{
uint16 CheckId = 0;
diff --git a/src/server/game/Warden/WardenWin.cpp b/src/server/game/Warden/WardenWin.cpp
index 5b5ee27a2ca..b3862a316a2 100644
--- a/src/server/game/Warden/WardenWin.cpp
+++ b/src/server/game/Warden/WardenWin.cpp
@@ -235,6 +235,9 @@ void WardenWin::RequestChecks()
for (WardenCheckCategory category : EnumUtils::Iterate<WardenCheckCategory>())
{
+ if (IsWardenCategoryInWorldOnly(category) && !_session->GetPlayer())
+ continue;
+
auto& [checks, checksIt] = _checks[category];
for (uint32 i = 0, n = sWorld->getIntConfig(GetWardenCategoryCountConfig(category)); i < n; ++i)
{