[Rules] Implement Targeted Rule Sets

This commit is contained in:
Chris Miles
2025-06-17 02:32:22 -05:00
parent b8884d6572
commit a65db13ec3
9 changed files with 209 additions and 12 deletions
+5
View File
@@ -413,6 +413,11 @@ int main(int argc, char **argv)
->ReloadContentFlags();
ZoneEventScheduler::Instance()->SetDatabase(&database)->LoadScheduledEvents();
RuleManager::Instance()->SetPostLoadCallback(
[&](Database* db) {
WorldContentService::Instance()->LoadTargetedRulesets(db);
}
);
EQ::SayLinkEngine::LoadCachedSaylinks();
+4 -1
View File
@@ -1151,6 +1151,10 @@ bool Zone::Init(bool is_static) {
);
} // if that fails, try the file name, then load defaults
content_service.SetZoneId(GetZoneID());
content_service.SetInstanceVersion(GetInstanceVersion());
RuleManager::Instance()->LoadRules(&database, RuleManager::Instance()->GetActiveRuleset(), true);
if (RuleManager::Instance()->GetActiveRulesetID() != default_ruleset) {
std::string r_name = RuleSetsRepository::GetRuleSetName(database, default_ruleset);
if (r_name.size() > 0) {
@@ -1293,7 +1297,6 @@ void Zone::ReloadStaticData() {
WorldContentService::Instance()->SetExpansionContext()->ReloadContentFlags();
LogInfo("Zone Static Data Reloaded");
}