ModernUO/Projects/UOContent/Engines/FeatureFlags/ContentFeatureFlags.cs
Wyatt88 ee1bf23b72
feat: add young_player_system feature flag to disable Young player system (#2445)
Adds an opt-in 'youngPlayerSystem.enabled' server setting (default true) that, when set to false, disables the Young player system server-wide:

- Account.Young and PlayerMobile.Young getters short-circuit to false.

- New characters no longer receive Young status or a NewPlayerTicket.

- All downstream Young checks (notoriety beneficial-action restriction, CheckYoungProtection, stealing penalties, YoungDeathTeleport, death-item movement, poison immunity, '(Young)' name suffix, CanLogout, renounce-young keyword/gump, BaseCreature.OnDeath fame penalty, OnLogin time-remaining message) become inert.

Setters are intentionally left untouched so serialized account/player flags round-trip cleanly when the setting is later re-enabled.
2026-05-05 20:09:49 -07:00

17 lines
704 B
C#

namespace Server.Systems.FeatureFlags;
/// <summary>
/// Static boolean flags for UOContent hot paths.
/// Values are synced by FeatureFlagManager when flags change.
/// </summary>
public static class ContentFeatureFlags
{
public static bool VendorPurchase { get; set; } = true;
public static bool VendorSell { get; set; } = true;
public static bool PlayerVendors { get; set; } = true;
public static bool HousePlacement { get; set; } = true;
public static bool BoatPlacement { get; set; } = true;
public static bool BulkOrders { get; set; } = true;
public static bool PassiveDetectHidden { get; set; } = true;
public static bool YoungPlayerSystem { get; set; } = true;
}