diff --git a/common/repositories/criteria/content_filter_criteria.h b/common/repositories/criteria/content_filter_criteria.h index 1173415c5..9a86dcb99 100644 --- a/common/repositories/criteria/content_filter_criteria.h +++ b/common/repositories/criteria/content_filter_criteria.h @@ -47,11 +47,11 @@ namespace ContentFilterCriteria { std::string flags_in_filter; if (!flags.empty()) { - flags_in_filter = fmt::format("OR content_flags IN ({})", implode(", ", flags)); + flags_in_filter = fmt::format(" OR content_flags IN ({})", implode(", ", flags)); } criteria += fmt::format( - " AND (content_flags IS NULL {})", + " AND (content_flags IS NULL{})", flags_in_filter ); diff --git a/zone/spawngroup.cpp b/zone/spawngroup.cpp index d1a83995f..49aeea35b 100644 --- a/zone/spawngroup.cpp +++ b/zone/spawngroup.cpp @@ -24,6 +24,7 @@ #include "spawngroup.h" #include "zone.h" #include "zonedb.h" +#include "../common/repositories/criteria/content_filter_criteria.h" extern EntityList entity_list; extern Zone *zone; @@ -209,9 +210,11 @@ bool ZoneDatabase::LoadSpawnGroups(const char *zone_name, uint16 version, SpawnG spawn2.spawngroupID = spawngroup.ID AND spawn2.version = {} and zone = '{}' + {} ), version, - zone_name + zone_name, + ContentFilterCriteria::apply() ); auto results = QueryDatabase(query);