feat(content): stub story graph with A/B branch and route-gated actions

This commit is contained in:
ginnoir
2026-06-11 18:59:17 -05:00
parent fdefe83b89
commit 1461510a4b
4 changed files with 99 additions and 3 deletions
+21 -1
View File
@@ -9,6 +9,8 @@ export const actionDefs = [
name: 'Gather supplies',
durationMs: 3000,
yields: [{ resourceId: 'supplies', amount: 2 }],
storyHint: 'Basic camp labor.',
storyTooltip: 'Yields 2 Supplies. No cost.',
},
{
id: 'scout_path',
@@ -16,6 +18,8 @@ export const actionDefs = [
durationMs: 5000,
costs: [{ resourceId: 'supplies', amount: 2 }],
yields: [{ resourceId: 'coin', amount: 1 }],
storyHint: 'Map the crossing.',
storyTooltip: 'Costs 2 Supplies. Yields 1 Coin. Triggers scout aftermath story.',
},
{
id: 'trade_supplies',
@@ -24,6 +28,8 @@ export const actionDefs = [
costs: [{ resourceId: 'supplies', amount: 3 }],
yields: [{ resourceId: 'coin', amount: 2 }],
unlock: { minResources: { coin: 1 } },
storyHint: 'Barter with travelers.',
storyTooltip: 'Costs 3 Supplies. Yields 2 Coin. Unlocks at 1 Coin.',
},
{
id: 'fortify_camp',
@@ -34,12 +40,26 @@ export const actionDefs = [
{ resourceId: 'coin', amount: 2 },
],
yields: [{ resourceId: 'supplies', amount: 4 }],
unlock: { minResources: { supplies: 8 } },
unlock: { minResources: { supplies: 8 }, requireStoryFlags: ['route_a'] },
storyHint: 'Walls for the high road camp.',
storyTooltip: 'Route A only. Costs supplies and coin.',
},
{
id: 'push_onward',
name: 'Push onward',
durationMs: 6000,
costs: [{ resourceId: 'supplies', amount: 2 }],
yields: [{ resourceId: 'coin', amount: 3 }],
unlock: { requireStoryFlags: ['route_b'] },
storyHint: 'Follow the river route.',
storyTooltip: 'Costs 2 Supplies. Yields 3 Coin. Route B only.',
},
{
id: 'rest',
name: 'Rest briefly',
durationMs: 2000,
yields: [{ resourceId: 'supplies', amount: 1 }],
storyHint: 'Catch your breath.',
storyTooltip: 'Yields 1 Supply. Quick recovery.',
},
];