using System.Text.Json.Serialization; namespace Theriapolis.Core.Data; /// /// Immutable background definition loaded from backgrounds.json. /// Phase 5 grants the listed skill / tool proficiencies but does not /// apply the named feature's mechanical effect — those resolve to /// dialogue / quest / faction systems shipped in Phase 6. /// public sealed record BackgroundDef { [JsonPropertyName("id")] public string Id { get; init; } = ""; [JsonPropertyName("name")] public string Name { get; init; } = ""; [JsonPropertyName("flavor")] public string Flavor { get; init; } = ""; [JsonPropertyName("skill_proficiencies")] public string[] SkillProficiencies { get; init; } = Array.Empty(); [JsonPropertyName("tool_proficiencies")] public string[] ToolProficiencies { get; init; } = Array.Empty(); [JsonPropertyName("feature_name")] public string FeatureName { get; init; } = ""; [JsonPropertyName("feature_description")] public string FeatureDescription { get; init; } = ""; [JsonPropertyName("suggested_personality")] public string SuggestedPersonality { get; init; } = ""; }