Splash case picker + playable-mystery list
GET /api/mysteries returns only mysteries with an entrypoint (empties are filtered out), and the splash now lists them as case files with a per-case BEGIN / RESUME action instead of a single hardcoded New Game. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -373,6 +373,12 @@ app.delete('/api/admin/utterances/:id', requireAdmin, async (req, res, next) =>
|
||||
} catch (error) { next(error) }
|
||||
})
|
||||
|
||||
// Play mode: the launchable case list for the splash picker (entrypoint required).
|
||||
app.get('/api/mysteries', async (_req, res, next) => {
|
||||
try { res.json(await narrative.listPlayableMysteries()) }
|
||||
catch (error) { next(error) }
|
||||
})
|
||||
|
||||
// Narrative authoring: create a mystery and its NPC cast. The flow (cutscenes,
|
||||
// dialogue, levels) lives in the story graph, seeded separately.
|
||||
app.post('/api/mysteries', requireAdmin, async (req, res, next) => {
|
||||
|
||||
Reference in New Issue
Block a user