Table talk keeps its place in the chronicle
Live chat interleaved correctly, but a reload sank every past message to the bottom: the rejoin sent the whole game history first and the chat history after. Talk is now a tableTalk event in the room's event stream at the moment it was said — the room file already preserved the interleaving, since chat lines append between command lines — so rejoining players read the banter between the battle lines where it happened. The separate chatHistory message retires; unread counting rides the event stream instead. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Fable 5
parent
ef661c79ad
commit
5802e1df05
@@ -501,6 +501,7 @@ export type GameEvent =
|
||||
| { type: "moveBumped"; player: PlayerId; direction: Side }
|
||||
| { type: "attackMisdirected"; attacker: PlayerId; intended: PlayerId; rolledDirection: Side; newTarget: PlayerId | null }
|
||||
| { type: "dieRolled"; player: PlayerId | null; roll: number; purpose: string }
|
||||
| { type: "tableTalk"; player: PlayerId; text: string }
|
||||
| { type: "retreatedInHorror"; player: PlayerId; from: Cell; to: Cell }
|
||||
| { type: "illusionWallCreated"; caster: PlayerId; edge: { cell: Cell; side: Side } }
|
||||
| { type: "illusionTested"; player: PlayerId; edge: string; result: "believes" | "seesThrough" }
|
||||
|
||||
Reference in New Issue
Block a user