A table for a dozen wizards, begun by its host
Rooms take up to twelve seats and the host begins the duel with whoever is seated; a full table begins by itself. The lobby is a roster with a bot seat and the host's begin button. The ledger pins the turn and your own columns and scrolls sideways to the rest; the phone bar shows every wizard's health; a wizard who is out watches the rest; each charmed wizard gets their own gesture; an unnamed spell goes at whoever hurt you last, else the weakest opponent; a stab has a target from the start. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0141G6xqLeNRYEtviLWSB5Up
This commit is contained in:
co-authored by
Claude Fable 5.1
parent
79947e31ba
commit
58d7db106e
+8
-1
@@ -3,7 +3,8 @@
|
||||
//
|
||||
// POST /api/rooms {name, size?} create a duel and take seat A
|
||||
// POST /api/rooms/:id/join {name} take the next seat
|
||||
// POST /api/rooms/:id/bot {token} seat a bot (any seated player may)
|
||||
// POST /api/rooms/:id/bot {token} seat a bot (any seated player may, before the duel begins)
|
||||
// POST /api/rooms/:id/begin {token} the host begins the duel with the wizards seated so far
|
||||
// GET /api/rooms/:id?token= the view for that seat
|
||||
// POST /api/rooms/:id/turn {token, input} this seat's move
|
||||
// WS /ws?room=:id&token= {type:"update", seq} whenever the room changes
|
||||
@@ -109,6 +110,12 @@ async function handle(req: IncomingMessage, res: ServerResponse): Promise<void>
|
||||
const seat = rooms.seatOf(room, body.token as string);
|
||||
return send(res, 200, rooms.view(room, seat.id));
|
||||
}
|
||||
if (action === 'begin') {
|
||||
const token = typeof body.token === 'string' ? body.token : undefined;
|
||||
rooms.begin(room, token);
|
||||
const seat = rooms.seatOf(room, token);
|
||||
return send(res, 200, rooms.view(room, seat.id));
|
||||
}
|
||||
if (action === 'turn') {
|
||||
const token = typeof body.token === 'string' ? body.token : undefined;
|
||||
rooms.submit(room, token, body.input);
|
||||
|
||||
Reference in New Issue
Block a user