47 lines
1.5 KiB
TypeScript
47 lines
1.5 KiB
TypeScript
export const storyNodeDefs = [
|
|
{
|
|
id: 'boot_intro',
|
|
prose: '[Stub] You wake at a crossroads camp. Smoke rises from a cold fire pit.',
|
|
triggers: [{ type: 'boot', targetNodeId: 'boot_intro' }],
|
|
},
|
|
{
|
|
id: 'fork_choice',
|
|
prose: '[Stub] Tracks split. The high road climbs; the low road bends toward the river.',
|
|
choices: [
|
|
{
|
|
id: 'pick_a',
|
|
label: 'Take the high road',
|
|
outcomes: [
|
|
{ type: 'setFlag', flag: 'route_a' },
|
|
{ type: 'grantResource', resourceId: 'supplies', amount: 3 },
|
|
{ type: 'grantResource', resourceId: 'coin', amount: 2 },
|
|
],
|
|
targetNodeId: 'route_a_beat',
|
|
},
|
|
{
|
|
id: 'pick_b',
|
|
label: 'Follow the river',
|
|
outcomes: [
|
|
{ type: 'setFlag', flag: 'route_b' },
|
|
{ type: 'grantResource', resourceId: 'coin', amount: 2 },
|
|
],
|
|
targetNodeId: 'route_b_beat',
|
|
},
|
|
],
|
|
},
|
|
{ id: 'route_a_beat', prose: '[Stub] Route A: high ground, extra supplies.' },
|
|
{ id: 'route_b_beat', prose: '[Stub] Route B: river trade, extra coin.' },
|
|
{
|
|
id: 'threshold_listener',
|
|
prose: ' ',
|
|
triggers: [{ type: 'minResources', minResources: { coin: 3 }, targetNodeId: 'merchant_flavor' }],
|
|
},
|
|
{ id: 'merchant_flavor', prose: '[Stub] A merchant remembers your face.' },
|
|
{
|
|
id: 'scout_listener',
|
|
prose: ' ',
|
|
triggers: [{ type: 'actionComplete', actionId: 'scout_path', targetNodeId: 'scout_aftermath' }],
|
|
},
|
|
{ id: 'scout_aftermath', prose: '[Stub] The path is mapped.' },
|
|
];
|