LSDE Dialog Engine / RouterContext
Interface: RouterContext
Defined in: types.ts:382
What a ROUTER handler gets.
The same pre-evaluated cases as a condition, and no resolve: a router's exits are a tally, not a choice. Every true case has already launched its port and the continuation is already picked — then when they all held, catch otherwise — by the time a handler could speak. There is nothing left to override, which is also why no handler is required for the type.
Extends
Properties
actors
actors:
Card[]
Defined in: types.ts:316
Every card the block cites, resolved through the export's cards table, in file order.
Inherited from
cases
cases:
RuntimeConditionCase[]
Defined in: types.ts:384
The block's cases, each with its port and its pre-evaluated result. ALL of them ran.
character
character:
Card|undefined
Defined in: types.ts:314
The actor onResolveCharacter() picked for this block, or undefined.
A block lists a CAST in actors — card ids, in an order LSDE deliberately refuses to give a meaning to. Whether the first one speaks, whether they all do, whether the rest are simply present is the game's call, so the engine hands the whole list to onResolveCharacter() and keeps whatever comes back. It does not elect a first one, the way v1 did.
Inherited from
emotion
emotion:
Card|undefined
Defined in: types.ts:324
The emotion of the block, resolved through cards — the TONE of the line, not of a speaker.
In v1 each character carried its own emotion, which meant writing the same feeling twice for two actors saying one sentence, and being free to desynchronise them by accident. A block is one line and one line has one tone; actors says who may carry it.
Inherited from
intensity
intensity:
number|undefined
Defined in: types.ts:326
How strongly, when the writer set an emotion. Passed through untouched.
Inherited from
preventGlobalHandler
preventGlobalHandler: () =>
void
Defined in: types.ts:328
Stop the global (Tier 1) handler from running after this scene handler.
Returns
void
