From 934ca1accdf68a173d1af0cd50771ebbb90674ff Mon Sep 17 00:00:00 2001 From: Chris Miles Date: Fri, 27 Jun 2025 18:39:43 -0500 Subject: [PATCH] Add classic ruleset --- common/content/world_content_service.cpp | 41 ++++++++++++++++++++++++ 1 file changed, 41 insertions(+) diff --git a/common/content/world_content_service.cpp b/common/content/world_content_service.cpp index ed56cbc65..581a9b59d 100644 --- a/common/content/world_content_service.cpp +++ b/common/content/world_content_service.cpp @@ -340,6 +340,47 @@ void WorldContentService::SeedDefaultRulesets() { .rule_name = "Character:FinalExpMultiplier", .rule_value = "2" } } }, + { + .rule_set = { + .ruleset_id = 101, + .name = "Original (Classic)", + .notes = "Classic client-based ruleset", + .zone_ids = "", + .instance_versions = "", + .content_flags = "", + .content_flags_disabled = "", + .min_expansion = 0, + .max_expansion = 1, + }, + .rules = { + { .rule_name = "Character:EnableXTargetting", .rule_value = "false", .notes = "Added in Call of the Forsaken" }, + { .rule_name = "Character:LeaveCorpses", .rule_value = "true", .notes = "Leave corpses behind" }, + { .rule_name = "Character:LeaveNakedCorpses", .rule_value = "false", .notes = "Gear left on corpses until SoD" }, + { .rule_name = "Character:MaxExpLevel", .rule_value = "50", .notes = "Level 50 cap until Kunark" }, + { .rule_name = "Character:MaxLevel", .rule_value = "50", .notes = "Level 50 cap until Kunark" }, + { .rule_name = "Character:RestRegenEnabled", .rule_value = "false", .notes = "OoC regen not added until TSS" }, + { .rule_name = "Character:SharedBankPlat", .rule_value = "false", .notes = "No shared bank until LoY" }, + { .rule_name = "Character:StatCap", .rule_value = "255", .notes = "Classic stat cap is 255" }, + { .rule_name = "Character:UseOldBindWound", .rule_value = "true", .notes = "" }, + { .rule_name = "Character:UseOldClassExpPenalties", .rule_value = "true", .notes = "Exp penalties removed in SoF" }, + { .rule_name = "Character:UseOldConSystem", .rule_value = "true", .notes = "Con system changed in SoF" }, + { .rule_name = "Character:UseOldRaceExpPenalties", .rule_value = "true", .notes = "Exp penalties removed in SoF" }, + { .rule_name = "Character:UseOldRaceRezEffects", .rule_value = "true", .notes = "May need testing to ensure it can't be dispelled" }, + { .rule_name = "Character:UseRaceClassExpBonuses", .rule_value = "true", .notes = "" }, + { .rule_name = "Chat:EnableVoiceMacros", .rule_value = "false", .notes = "Introduced in GoD" }, + { .rule_name = "Chat:ServerWideAuction", .rule_value = "false", .notes = "Disable Server-Wide Auction Chat" }, + { .rule_name = "Chat:ServerWideOOC", .rule_value = "false", .notes = "Disable Server-Wide OOC Chat" }, + { .rule_name = "Combat:ClassicNPCBackstab", .rule_value = "true", .notes = "Disables front backstab" }, + { .rule_name = "Mail:EnableMailSystem", .rule_value = "false", .notes = "Mail system added in DoN" }, + { .rule_name = "Spells:PreNerfBardAEDoT", .rule_value = "true", .notes = "Bard AE nerf not added until OoW" }, + { .rule_name = "Spells:WizCritLevel", .rule_value = "65", .notes = "Wiz non-AA crits not until Luclin" }, + { .rule_name = "TaskSystem:EnableTaskSystem", .rule_value = "false", .notes = "Task system added in OoW" }, + { .rule_name = "World:CharacterSelectExpansionSettings", .rule_value = "0", .notes = "Classic Client-Based Expansion Setting" }, + { .rule_name = "World:EnableReturnHomeButton", .rule_value = "false", .notes = "Return Home added in DoN" }, + { .rule_name = "World:EnableTutorialButton", .rule_value = "false", .notes = "Tutorial added in DoN" }, + { .rule_name = "World:ExpansionSettings", .rule_value = "0", .notes = "Classic Client-Based Expansion Setting" }, + } + }, { .rule_set = { .ruleset_id = 1000,