export const resourceDefs = [ { id: 'supplies', name: 'Supplies', startAmount: 10 }, { id: 'coin', name: 'Coin', startAmount: 0 }, ]; export const actionDefs = [ { id: 'gather_supplies', name: 'Gather supplies', kind: 'timed', group: { id: 'camp', label: 'Camp' }, durationMs: 3000, yields: [{ resourceId: 'supplies', amount: 2 }], storyHint: 'Basic camp labor.', storyTooltip: 'Yields 2 Supplies. No cost.', }, { id: 'scout_path', name: 'Scout the path', kind: 'timed', group: { id: 'travel', label: 'Travel' }, 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', name: 'Trade at camp', kind: 'timed', group: { id: 'camp', label: 'Camp' }, durationMs: 4000, 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', name: 'Fortify camp', kind: 'timed', group: { id: 'camp', label: 'Camp' }, durationMs: 8000, costs: [ { resourceId: 'supplies', amount: 5 }, { resourceId: 'coin', amount: 2 }, ], yields: [{ resourceId: 'supplies', amount: 4 }], 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', kind: 'timed', group: { id: 'travel', label: 'Travel' }, 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', kind: 'loop', group: { id: 'camp_loop', label: 'Camp activities' }, loopPriority: 0, durationMs: 2000, yields: [{ resourceId: 'supplies', amount: 1 }], storyHint: 'Catch your breath.', storyTooltip: 'Idle upkeep — runs when nothing else is queued.', }, { id: 'pick_high_road', name: 'Take the high road', kind: 'story', group: { id: 'fork', label: 'Crossroads' }, storyChoiceId: 'pick_a', storyHint: 'Route A — high ground and supplies.', storyTooltip: 'Story fork: grants route A flag and resources. Hides river path.', yields: [], }, { id: 'follow_river', name: 'Follow the river', kind: 'story', group: { id: 'fork', label: 'Crossroads' }, storyChoiceId: 'pick_b', storyHint: 'Route B — river trade and coin.', storyTooltip: 'Story fork: grants route B flag. Hides high road path.', yields: [], }, ];