namespace NeonSprawl.Server.Game.Skills; /// Maps GET /game/world/skill-definitions (NEO-36). public static class SkillDefinitionsWorldApi { public static WebApplication MapSkillDefinitionsWorldApi(this WebApplication app) { app.MapGet( "/game/world/skill-definitions", (ISkillDefinitionRegistry registry) => { var defs = registry.GetDefinitionsInIdOrder(); var skills = new List(defs.Count); foreach (var d in defs) { skills.Add( new SkillDefinitionJson { Id = d.Id, DisplayName = d.DisplayName, Category = d.Category, AllowedXpSourceKinds = d.AllowedXpSourceKinds, }); } return Results.Json( new SkillDefinitionsListResponse { SchemaVersion = SkillDefinitionsListResponse.CurrentSchemaVersion, Skills = skills, }); }); return app; } }