implemented SC-101
This commit is contained in:
@@ -79,4 +79,12 @@ title: Declarations
|
|||||||
<<declare $errand_door_list = false as bool>>
|
<<declare $errand_door_list = false as bool>>
|
||||||
<<declare $errand_find_contact = false as bool>>
|
<<declare $errand_find_contact = false as bool>>
|
||||||
<<declare $errand_ask_about_name = false as bool>>
|
<<declare $errand_ask_about_name = false as bool>>
|
||||||
|
|
||||||
|
// Player name substitution. Uppercase [PC] in the Skill Bible means the full,
|
||||||
|
// formal form (STANDING ORDER, PROVENANCE); lowercase [pc] means the familiar
|
||||||
|
// short form (CONFLUENCE, FACEWORK). Two variables, not one — collapsing them
|
||||||
|
// loses a characterisation rule the bible states for four separate voices.
|
||||||
|
// Defaults are placeholders; naming the PC is design's call.
|
||||||
|
<<declare $player_name = "Vesper" as string>>
|
||||||
|
<<declare $player_name_full = "Vesper Adaire" as string>>
|
||||||
===
|
===
|
||||||
|
|||||||
@@ -1,10 +1,10 @@
|
|||||||
// The door. Scene files stay thin: they set the stage, detour into character
|
// The door. Scene files stay thin: they set the stage, detour into character
|
||||||
// nodes for the actual talking, then branch on the outcome.
|
// nodes for the actual talking, then branch on the outcome.
|
||||||
//
|
//
|
||||||
// `Start` is the DialogueRunner's entry node (set on the Dialogue System
|
// Reached from SC-101's exit placeholder (TODO(SC101-EXIT)). The game's
|
||||||
// prefab), so this is where the game begins.
|
// DialogueRunner entry is `Start` in Scenes/SC101.yarn.
|
||||||
|
|
||||||
title: Start
|
title: Entrance_Door
|
||||||
---
|
---
|
||||||
Narrator: Neon bleeds across wet asphalt. The queue hasn't moved in ten minutes.
|
Narrator: Neon bleeds across wet asphalt. The queue hasn't moved in ten minutes.
|
||||||
<<detour Bouncer_Talk>>
|
<<detour Bouncer_Talk>>
|
||||||
|
|||||||
@@ -7,10 +7,10 @@
|
|||||||
// stack types so trust becomes an artifact of imbalance.
|
// stack types so trust becomes an artifact of imbalance.
|
||||||
// See Assets/Candidates/candidates.json.
|
// See Assets/Candidates/candidates.json.
|
||||||
//
|
//
|
||||||
// Discovery order: hooks are independently reachable in any order via
|
// Beat order: hooks fire in sequence from SC101_Desk (STANDING ORDER →
|
||||||
// <<detour>> from the desk. Never <<if>>-guard a hook on another hook having
|
// HOUSE POUR → FACEWORK → CONFLUENCE). Each remains an independently authored
|
||||||
// fired, on any $self_lean_*, or on skill_rank(...). Never make a hook only
|
// node. Never <<if>>-guard a hook on another hook having fired, on any
|
||||||
// reachable as fall-through from another.
|
// $self_lean_*, or on skill_rank(...).
|
||||||
//
|
//
|
||||||
// Passive pattern (clue-bearing):
|
// Passive pattern (clue-bearing):
|
||||||
// one voice per hook, from the candidate's attached pair;
|
// one voice per hook, from the candidate's attached pair;
|
||||||
@@ -24,49 +24,48 @@
|
|||||||
//
|
//
|
||||||
// Body stays neutral on purpose: no lean, no candidate attachment.
|
// Body stays neutral on purpose: no lean, no candidate attachment.
|
||||||
|
|
||||||
|
title: Start
|
||||||
|
---
|
||||||
|
<<jump SC101_Desk>>
|
||||||
|
===
|
||||||
|
|
||||||
title: SC101_Desk
|
title: SC101_Desk
|
||||||
---
|
---
|
||||||
<<set $seen_sc_101 = true>>
|
<<set $seen_sc_101 = true>>
|
||||||
<<set $visited_desk = true>>
|
<<set $visited_desk = true>>
|
||||||
Narrator: A desk under a single lamp. The card is face-down. Your hands already know where the corners are.
|
Narrator: The mahogany doors are too heavy for the hinges someone recently, badly, tightened — you feel the extra half-second of resistance before either side gives. Beyond them: a hall built for four hundred people politely disagreeing about tariffs, hosting perhaps sixty, none of whom look like they've read the programme.
|
||||||
-> Made Asset hook
|
Narrator: Someone left a card with your name on it at the registration desk three hours before you decided to come. You don't remember deciding.
|
||||||
<<detour SC101_Hook_MadeAsset>>
|
<<detour SC101_Hook_Inheritor>>
|
||||||
<<jump SC101_Desk>>
|
<<detour SC101_Hook_Neutral>>
|
||||||
-> Journalist hook
|
<<detour SC101_Hook_Journalist>>
|
||||||
<<detour SC101_Hook_Journalist>>
|
<<detour SC101_Hook_MadeAsset>>
|
||||||
<<jump SC101_Desk>>
|
Narrator: You're drawn toward a seat — toward a waiting conversation you didn't agree to have yet.
|
||||||
-> Inheritor hook
|
// TODO(SC101-EXIT): temporary. Act I hub node is unnamed — guide §6.1.
|
||||||
<<detour SC101_Hook_Inheritor>>
|
<<jump Entrance_Door>>
|
||||||
<<jump SC101_Desk>>
|
|
||||||
-> Neutral hook
|
|
||||||
<<detour SC101_Hook_Neutral>>
|
|
||||||
<<jump SC101_Desk>>
|
|
||||||
-> Leave the desk
|
|
||||||
Narrator: You leave the card where it is. The lamp keeps the shape of your hands on the blotter.
|
|
||||||
===
|
===
|
||||||
|
|
||||||
title: SC101_Hook_MadeAsset
|
title: SC101_Hook_MadeAsset
|
||||||
---
|
---
|
||||||
CONFLUENCE: You don't turn it over. You don't have to. The stock, the margin, the way the emboss catches — one, two, three, and three is the one. Which means somebody trained you for a card like this.
|
CONFLUENCE: One: the seating chart's alphabetical. Two: one gap in it, held open past the start time. Three, and three is the one, {$player_name}: whoever printed this knew you'd be late to your own arrival. Which means somebody in this room has already met you, {$player_name}, and you're the only one who doesn't know it.
|
||||||
<<set $found_made_asset_intuition = true>>
|
<<set $found_made_asset_intuition = true>>
|
||||||
<<set $self_lean_made_asset += 1>>
|
<<set $self_lean_made_asset += 1>>
|
||||||
===
|
===
|
||||||
|
|
||||||
title: SC101_Hook_Journalist
|
title: SC101_Hook_Journalist
|
||||||
---
|
---
|
||||||
FACEWORK: Your throat tightens before you decide what the card is. Not curiosity. Recognition of a person you haven't named yet. That reaction is wrong for a story. It's right for a meeting.
|
FACEWORK: His hands gave it away before his face did — a flinch toward you, checked, turned into reaching for a drink that wasn't there. That's not a stranger's hands. What did you do to earn that flinch?
|
||||||
<<set $found_journalist_intuition = true>>
|
<<set $found_journalist_intuition = true>>
|
||||||
<<set $self_lean_journalist += 1>>
|
<<set $self_lean_journalist += 1>>
|
||||||
===
|
===
|
||||||
|
|
||||||
title: SC101_Hook_Inheritor
|
title: SC101_Hook_Inheritor
|
||||||
---
|
---
|
||||||
STANDING ORDER: You straighten the card so its top edge is parallel to the desk's. Nobody taught you that. You correct it anyway. The rule is older than you are, and it still applies.
|
STANDING ORDER: You are standing in a doorway, {$player_name_full}. That's the whole of what's certain. Build outward from there — a person who starts anywhere else is a person coming apart in public.
|
||||||
<<set $found_inheritor_intuition = true>>
|
<<set $found_inheritor_intuition = true>>
|
||||||
<<set $self_lean_inheritor += 1>>
|
<<set $self_lean_inheritor += 1>>
|
||||||
===
|
===
|
||||||
|
|
||||||
title: SC101_Hook_Neutral
|
title: SC101_Hook_Neutral
|
||||||
---
|
---
|
||||||
HOUSE POUR: The lamp is warm enough. Your mouth is dry. Neither of those is information about who you are — only about how long you've been standing here.
|
HOUSE POUR: Cigar smoke, spilled aperitif, and under it — cold, sharp — the ammonia bite of a floor mopped in a hurry, love. Someone's trying to make this room smell like money. It smells like panic with good cologne on top.
|
||||||
===
|
===
|
||||||
|
|||||||
Reference in New Issue
Block a user