fleshed out the party guests

This commit is contained in:
2026-08-15 21:51:53 +02:00
parent fea0a29d10
commit 6f2225f911
8 changed files with 411 additions and 5 deletions
@@ -28,7 +28,8 @@ title: Bartender_Talk
Narrator: The bartender squints with a critical look. Narrator: The bartender squints with a critical look.
FACEWORK: He will tell on you. This is the face of a man who is not only here to tend the bar, but to watch, to observe. And to report back to his masters. FACEWORK: He will tell on you. This is the face of a man who is not only here to tend the bar, but to watch, to observe. And to report back to his masters.
Bartender: I could have sworn you are {$player_alias}, weren't you with Mr. Doss a few days ago? Bartender: I could have sworn you are {$player_alias}, weren't you with Mr. Doss a few days ago?
<<if $looking_for_doss neq true>> <<if $looking_for_doss eq false>>
<<set $looking_for_doss = true>>
Narrator: Mr. Doss? Narrator: Mr. Doss?
PROVENANCE: Mr. Doss. We need to find him, appraise him, document our findings, file them, cross-reference them ... PROVENANCE: Mr. Doss. We need to find him, appraise him, document our findings, file them, cross-reference them ...
<<else>> <<else>>
@@ -37,6 +38,10 @@ title: Bartender_Talk
<<set $self_lean_made_asset += 1>> <<set $self_lean_made_asset += 1>>
Bartender: What can I get ya? Bartender: What can I get ya?
-> What can you recommend? -> What can you recommend?
Bartender: Last time you tooke the Estate.
Narrator: You ignore the jab.
<<detour SC101_Hook_Drink_Bartender_Talk>>
-> Whatever.
<<detour SC101_Hook_Drink_Bartender_Talk>> <<detour SC101_Hook_Drink_Bartender_Talk>>
-> Yes. I'll take the usual. -> Yes. I'll take the usual.
Narrator: The bartender doesn't even flinch, while taking ingredients from the bar. Narrator: The bartender doesn't even flinch, while taking ingredients from the bar.
@@ -64,14 +69,14 @@ Bartender: One Estate coming right up.
<<endif>> <<endif>>
AMNESTY: Is that the taste of our favorite drink? I cannot remember ... AMNESTY: Is that the taste of our favorite drink? I cannot remember ...
-> Yes, it is! -> Yes, it is!
<<if $had_the_estate_drink neq true>> <<if $had_the_estate_drink eq false>>
<<set $self_lean_inheritor += 1>> <<set $self_lean_inheritor += 1>>
HOUSE POUR: Long, dry, faintly bitter - gentian root or scorched citrus pith - and it doesn't fade so much as recede, like it's waiting to be poured again. HOUSE POUR: Long, dry, faintly bitter - gentian root or scorched citrus pith - and it doesn't fade so much as recede, like it's waiting to be poured again.
<<else>> <<else>>
HOUSE POUR: Long and dry, it recedes again. HOUSE POUR: Long and dry, it recedes again.
<<endif>> <<endif>>
-> I don't think so. -> I don't think so.
<<if $had_the_estate_drink neq true>> <<if $had_the_estate_drink eq false>>
<<set $self_lean_inheritor -= 1>> <<set $self_lean_inheritor -= 1>>
HOUSE POUR: Bitter, at the end. Like it's waiting to be poured again. HOUSE POUR: Bitter, at the end. Like it's waiting to be poured again.
<<else>> <<else>>
@@ -0,0 +1,13 @@
// Everything Bradford Kane ever says.
//
// These nodes share a title, which makes them a node group. Callers just
// `<<detour Bradford_Kane_Talk>>` and Yarn runs the most specific variation whose
// `when:` conditions pass. Adding a new variation later means adding a node,
// not editing a growing <<if>> chain.
//
// Each variation sets $went_inside so the calling scene knows the verdict.
title: Bradford_Kane_Talk
---
<<set $spoke_to_bradford_kane = true>>
===
@@ -0,0 +1,10 @@
fileFormatVersion: 2
guid: a1ee2125b1dbf4068868b09cbb685aa8
ScriptedImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 2
userData:
assetBundleName:
assetBundleVariant:
script: {fileID: 11500000, guid: 94073015eacc34c1d8fc6786e43d60ca, type: 3}
@@ -0,0 +1,41 @@
// Everything Ser Cassian Thal ever says.
//
// These nodes share a title, which makes them a node group. Callers just
// `<<detour Ser_Cassian_Thal_Talk>>` and Yarn runs the most specific variation whose
// `when:` conditions pass. Adding a new variation later means adding a node,
// not editing a growing <<if>> chain.
//
// Each variation sets $went_inside so the calling scene knows the verdict.
title: Chevalier_Cassian_Thal_Talk
---
<<if $spoke_to_chevalier_cassian_thal>>
Chevalier Cassian Thal: Well met good sir.
<<else>>
<<set $spoke_to_chevalier_cassian_thal = true>>
Narrator: You introduce yourself to the man. He takes measure before bowing his head and tipping his forehead with a half-open fist.
Chevalier Cassian Thal: {$player_name_full}, nice to meet you. I'm Chevalier Cassian Thal of Basel and Cyprus.
THE FLOAT: His name reeks of money. Old money.
<<check provenance Hard>>
<<if $check_result>>
PROVENANCE: Basel? Makes total sense. But which connections does this old codger have to Cyprus?
-> Inquire further about Cyprus.
<<detour SC101_Inquire_Cypurs_Chevalier_Cassian_Thal_Talk>>
-> Leave it be.
<<endif>>
<<endif>>
===
title: SC101_Inquire_Cypurs_Chevalier_Cassian_Thal_Talk
---
Chevalier Cassian Thal: Oh, a sharp question, {$player_name_full}.
Narrator: The knight laughs.
Chevalier Cassian Thal: I assume you should ask your friend Mr. Doss, I am of no right to reveal this connection.
<<if $looking_for_doss eq false>>
<<set $looking_for_doss = true>>
Narrator: Mr. Doss?
PROVENANCE: Mr. Doss. We need to find him, appraise him, document our findings, file them, cross-reference them ...
<<else>>
CONFLUENCE: There he is again: Mr. Doss.
<<endif>>
===
@@ -0,0 +1,10 @@
fileFormatVersion: 2
guid: a9f603a6134614e0fa576727d10d487a
ScriptedImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 2
userData:
assetBundleName:
assetBundleVariant:
script: {fileID: 11500000, guid: 94073015eacc34c1d8fc6786e43d60ca, type: 3}
@@ -89,4 +89,12 @@ title: Declarations
// is never in sync-drift and never <<set>> by hand. Same real name always // is never in sync-drift and never <<set>> by hand. Same real name always
// yields the same alias; the alias itself bears no resemblance to the input. // yields the same alias; the alias itself bears no resemblance to the input.
<<declare $player_alias = alias_name($player_name) as string>> <<declare $player_alias = alias_name($player_name) as string>>
// Information about history and symbols
<<declare $sat_down_at_table = false as bool>>
<<declare $saw_knights_atlantean_cross_on_place_card = false as bool>>
// Character dialogue gates
<<declare $spoke_to_chevalier_cassian_thal = false as bool>>
<<declare $spoke_to_bradford_kane = false as bool>>
=== ===
@@ -11,6 +11,74 @@ title: Chair_Interaction
--- ---
Narrator: An empty chair with a place card: {$player_name}. Narrator: An empty chair with a place card: {$player_name}.
-> Sit down. -> Sit down.
<<set $sat_down_at_table = true>>
Narrator: You sit down between two very distinguished gentlemen.
<<if $spoke_to_chevalier_cassian_thal eq true and $spoke_to_bradford_kane eq true>>
<<detour SC101_Hook_Both_Chair_Interaction>>
<<elseif $spoke_to_chevalier_cassian_thal eq true and $spoke_to_bradford_kane eq false>>
<<detour SC101_Hook_Left_Not_Right_Chair_Interaction>>
<<elseif $spoke_to_chevalier_cassian_thal eq false and $spoke_to_bradford_kane eq true>>
<<detour SC101_Hook_Right_Not_Left_Chair_Interaction>>
<<elseif $spoke_to_chevalier_cassian_thal eq true and $spoke_to_bradford_kane eq true>>
<<detour SC101_Hook_Both_Chair_Interaction>>
<<else>>
<<detour SC101_Hook_First_Sitting_Chair_Interaction>>
<<endif>>
-> Not yet. -> Not yet.
<<enter_environment>> <<enter_environment>>
=== ===
title: SC101_Hook_First_Sitting_Chair_Interaction
---
-> Look at the details of the place card.
<<detour SC101_Hook_Place_Card_Chair_Interaction>>
-> Introduce yourself to the gentleman on your left, sitting closer to the head of the table.
<<detour Chevalier_Cassian_Thal_Talk>>
-> Introduce yourself to the gentleman on your right.
<<detour Bradford_Kane_Talk>>
===
title: SC101_Hook_Left_Not_Right_Chair_Interaction
---
-> Look at the details of the place card.
<<detour SC101_Hook_Place_Card_Chair_Interaction>>
-> Talk to Chevalier Cassian Thal.
<<detour Chevalier_Cassian_Thal_Talk>>
-> Introduce yourself to the gentleman on your right.
<<detour Bradford_Kane_Talk>>
===
title: SC101_Hook_Right_Not_Left_Chair_Interaction
---
-> Look at the details of the place card.
<<detour SC101_Hook_Place_Card_Chair_Interaction>>
-> Introduce yourself to the gentleman on your left, sitting closer to the head of the table.
<<detour Chevalier_Cassian_Thal_Talk>>
-> Talk to Bradford Kane.
<<detour Bradford_Kane_Talk>>
===
title: SC101_Hook_Both_Chair_Interaction
---
-> Look at the details of the place card.
<<detour SC101_Hook_Place_Card_Chair_Interaction>>
-> Talk to Chevalier Cassian Thal.
<<detour Chevalier_Cassian_Thal_Talk>>
-> Talk to Bradford Kane.
<<detour Bradford_Kane_Talk>>
===
title: SC101_Hook_Place_Card_Chair_Interaction
---
Narrator: You take the place card and take a look.
<<check provenance Hard>>
<<if $check_result>>
<<set $saw_knights_atlantean_cross_on_place_card = true>>
PROVENANCE: What is this?
Narrator: You see a plain equal-armed cross inside a circle embossed in the upper right corner.
PROVENANCE: We are in Switzerland, after all. Though this symbol is not known to be associated with Switzerland. Most peculiar.
<<else>>
Narrator: You see a cross inside a circle embossed in the upper right corner.
PROVENANCE: This is probably related to Switzerland.
<<endif>>
===
@@ -226,6 +226,112 @@ Transform:
m_CorrespondingSourceObject: {fileID: 3893294197879345259, guid: 64dce48905ffd9b4293e595fa6941544, type: 3} m_CorrespondingSourceObject: {fileID: 3893294197879345259, guid: 64dce48905ffd9b4293e595fa6941544, type: 3}
m_PrefabInstance: {fileID: 227288519} m_PrefabInstance: {fileID: 227288519}
m_PrefabAsset: {fileID: 0} m_PrefabAsset: {fileID: 0}
--- !u!1 &504558417
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 504558418}
- component: {fileID: 504558422}
- component: {fileID: 504558421}
- component: {fileID: 504558420}
- component: {fileID: 504558419}
m_Layer: 0
m_Name: Skill Check Banner
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &504558418
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 504558417}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 1513113547}
m_Father: {fileID: 1663253106}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.1, y: 0.82}
m_AnchorMax: {x: 0.9, y: 0.95}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &504558419
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 504558417}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: af3c81416f5f4a869baa347fd9dee9e3, type: 3}
m_Name:
m_EditorClassIdentifier: NightclubArcadia.Skills::NightclubArcadia.Skills.SkillCheckResultView
group: {fileID: 504558422}
label: {fileID: 1513113548}
holdSeconds: 1.6
fadeSeconds: 0.15
--- !u!114 &504558420
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 504558417}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
m_Name:
m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Image
m_Material: {fileID: 0}
m_Color: {r: 0, g: 0, b: 0, a: 0.75}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 0}
m_Type: 0
m_PreserveAspect: 0
m_FillCenter: 1
m_FillMethod: 4
m_FillAmount: 1
m_FillClockwise: 1
m_FillOrigin: 0
m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 1
--- !u!222 &504558421
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 504558417}
m_CullTransparentMesh: 1
--- !u!225 &504558422
CanvasGroup:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 504558417}
m_Enabled: 1
m_Alpha: 0
m_Interactable: 0
m_BlocksRaycasts: 0
m_IgnoreParentGroups: 0
--- !u!1 &538020797 --- !u!1 &538020797
GameObject: GameObject:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@@ -834,7 +940,7 @@ MonoBehaviour:
m_EditorClassIdentifier: NightclubArcadia.Skills::NightclubArcadia.Skills.SkillRuntime m_EditorClassIdentifier: NightclubArcadia.Skills::NightclubArcadia.Skills.SkillRuntime
database: {fileID: 11400000, guid: d15ae35514b14ded9b398d630e8ef373, type: 2} database: {fileID: 11400000, guid: d15ae35514b14ded9b398d630e8ef373, type: 2}
dialogueRunner: {fileID: 910000019} dialogueRunner: {fileID: 910000019}
resultView: {fileID: 910000015} resultView: {fileID: 504558419}
commentary: {fileID: 910000004} commentary: {fileID: 910000004}
rollSeed: 0 rollSeed: 0
debugContextId: Entrance_Queue debugContextId: Entrance_Queue
@@ -1603,6 +1709,143 @@ MonoBehaviour:
dialogueRunner: {fileID: 910000019} dialogueRunner: {fileID: 910000019}
dialogueUI: {fileID: 263597886} dialogueUI: {fileID: 263597886}
playerArmature: {fileID: 499771560} playerArmature: {fileID: 499771560}
--- !u!1 &1513113546
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1513113547}
- component: {fileID: 1513113549}
- component: {fileID: 1513113548}
m_Layer: 0
m_Name: Label
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &1513113547
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1513113546}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 504558418}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: -32, y: -16}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &1513113548
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1513113546}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
m_Name:
m_EditorClassIdentifier: Unity.TextMeshPro::TMPro.TextMeshProUGUI
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_text:
m_isRightToLeft: 0
m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
m_fontSharedMaterials: []
m_fontMaterial: {fileID: 0}
m_fontMaterials: []
m_fontColor32:
serializedVersion: 2
rgba: 4294967295
m_fontColor: {r: 1, g: 1, b: 1, a: 1}
m_enableVertexGradient: 0
m_colorMode: 3
m_fontColorGradient:
topLeft: {r: 1, g: 1, b: 1, a: 1}
topRight: {r: 1, g: 1, b: 1, a: 1}
bottomLeft: {r: 1, g: 1, b: 1, a: 1}
bottomRight: {r: 1, g: 1, b: 1, a: 1}
m_fontColorGradientPreset: {fileID: 0}
m_spriteAsset: {fileID: 0}
m_tintAllSprites: 0
m_StyleSheet: {fileID: 0}
m_TextStyleHashCode: 0
m_overrideHtmlColors: 0
m_faceColor:
serializedVersion: 2
rgba: 4294967295
m_fontSize: 28
m_fontSizeBase: 28
m_fontWeight: 400
m_enableAutoSizing: 0
m_fontSizeMin: 18
m_fontSizeMax: 72
m_fontStyle: 0
m_HorizontalAlignment: 2
m_VerticalAlignment: 512
m_textAlignment: 65535
m_characterSpacing: 0
m_characterHorizontalScale: 1
m_wordSpacing: 0
m_lineSpacing: 0
m_lineSpacingMax: 0
m_paragraphSpacing: 0
m_charWidthMaxAdj: 0
m_TextWrappingMode: 1
m_wordWrappingRatios: 0.4
m_overflowMode: 0
m_linkedTextComponent: {fileID: 0}
parentLinkedComponent: {fileID: 0}
m_enableKerning: 0
m_ActiveFontFeatures: 6e72656b
m_enableExtraPadding: 0
checkPaddingRequired: 0
m_isRichText: 1
m_EmojiFallbackSupport: 1
m_parseCtrlCharacters: 1
m_isOrthographic: 1
m_isCullingEnabled: 0
m_horizontalMapping: 0
m_verticalMapping: 0
m_uvLineOffset: 0
m_geometrySortingOrder: 0
m_IsTextObjectScaleStatic: 0
m_VertexBufferAutoSizeReduction: 0
m_useMaxVisibleDescender: 1
m_pageToDisplay: 1
m_margin: {x: 0, y: 0, z: 0, w: 0}
m_isUsingLegacyAnimationComponent: 0
m_isVolumetricText: 0
m_hasFontAssetChanged: 0
m_baseMaterial: {fileID: 0}
m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
--- !u!222 &1513113549
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1513113546}
m_CullTransparentMesh: 1
--- !u!1 &1516720412 --- !u!1 &1516720412
GameObject: GameObject:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@@ -1730,6 +1973,11 @@ Transform:
m_Children: [] m_Children: []
m_Father: {fileID: 0} m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0} m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0}
--- !u!224 &1663253106 stripped
RectTransform:
m_CorrespondingSourceObject: {fileID: 2355361765340444347, guid: 52571f68872914e24837210513edea1d, type: 3}
m_PrefabInstance: {fileID: 1720996731}
m_PrefabAsset: {fileID: 0}
--- !u!1001 &1720996731 --- !u!1001 &1720996731
PrefabInstance: PrefabInstance:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@@ -1888,7 +2136,10 @@ PrefabInstance:
objectReference: {fileID: 0} objectReference: {fileID: 0}
m_RemovedComponents: [] m_RemovedComponents: []
m_RemovedGameObjects: [] m_RemovedGameObjects: []
m_AddedGameObjects: [] m_AddedGameObjects:
- targetCorrespondingSourceObject: {fileID: 2355361765340444347, guid: 52571f68872914e24837210513edea1d, type: 3}
insertIndex: -1
addedObject: {fileID: 504558418}
m_AddedComponents: m_AddedComponents:
- targetCorrespondingSourceObject: {fileID: 7262066351540048079, guid: 52571f68872914e24837210513edea1d, type: 3} - targetCorrespondingSourceObject: {fileID: 7262066351540048079, guid: 52571f68872914e24837210513edea1d, type: 3}
insertIndex: -1 insertIndex: -1