added a path to SC102 from SC101
This commit is contained in:
Vendored
+64
@@ -0,0 +1,64 @@
|
||||
{
|
||||
"cSpell.enableFiletypes": [
|
||||
"yarnspinner"
|
||||
],
|
||||
"cSpell.languageSettings": [
|
||||
{
|
||||
"languageId": "yarnspinner",
|
||||
"patterns": [
|
||||
{
|
||||
"name": "yarn-commands",
|
||||
"pattern": "/<<[^>]*>>/g"
|
||||
},
|
||||
{
|
||||
"name": "yarn-expressions",
|
||||
"pattern": "/\\{[^}]*\\}/g"
|
||||
},
|
||||
{
|
||||
"name": "yarn-variables",
|
||||
"pattern": "/\\$[a-zA-Z_][a-zA-Z0-9_]*/g"
|
||||
},
|
||||
{
|
||||
"name": "yarn-markup",
|
||||
"pattern": "/\\[[^\\]]*\\]/g"
|
||||
},
|
||||
{
|
||||
"name": "yarn-hashtags",
|
||||
"pattern": "/#[a-zA-Z_][a-zA-Z0-9_:-]*/g"
|
||||
},
|
||||
{
|
||||
"name": "yarn-node-markers",
|
||||
"pattern": "/^(---|===)$/gm"
|
||||
},
|
||||
{
|
||||
"name": "yarn-headers",
|
||||
"pattern": "/^(title|tags|position|color|colorID|tracking|custom|style):.*/gm"
|
||||
},
|
||||
{
|
||||
"name": "yarn-character-names",
|
||||
"pattern": "/^\\s*[A-Za-z_][A-Za-z0-9_]*(?=:)/gm"
|
||||
},
|
||||
{
|
||||
"name": "yarn-comments",
|
||||
"pattern": "/\\/\\/.*$/gm"
|
||||
}
|
||||
],
|
||||
"ignoreRegExpList": [
|
||||
"yarn-commands",
|
||||
"yarn-expressions",
|
||||
"yarn-variables",
|
||||
"yarn-markup",
|
||||
"yarn-hashtags",
|
||||
"yarn-node-markers",
|
||||
"yarn-headers",
|
||||
"yarn-character-names",
|
||||
"yarn-comments"
|
||||
]
|
||||
}
|
||||
],
|
||||
"cSpell.words": [
|
||||
"Cassian",
|
||||
"Thal",
|
||||
"Vaselian"
|
||||
]
|
||||
}
|
||||
@@ -8,6 +8,7 @@
|
||||
// Each variation sets $went_inside so the calling scene knows the verdict.
|
||||
|
||||
title: Bartender_Talk
|
||||
position: -121,-60
|
||||
---
|
||||
<<if $spoke_to_bartender>>
|
||||
<<if $revealed_fugue_to_bartender>>
|
||||
@@ -56,6 +57,7 @@ title: Bartender_Talk
|
||||
===
|
||||
|
||||
title: SC101_Hook_Drink_Bartender_Talk
|
||||
position: 116,222
|
||||
---
|
||||
Bartender: One Estate coming right up.
|
||||
<<if $had_the_estate_drink>>
|
||||
@@ -85,6 +87,7 @@ AMNESTY: Is that the taste of our favorite drink? I cannot remember ...
|
||||
===
|
||||
|
||||
title: SC101_Hook_Questions_Bartender_Talk
|
||||
position: -139,224
|
||||
---
|
||||
Bartender: Sure, what do you want to know?
|
||||
-> Question 1
|
||||
|
||||
@@ -1,13 +1,14 @@
|
||||
// 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
|
||||
// `<<detour Chevalier_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
|
||||
position: 44,-117
|
||||
---
|
||||
<<if $spoke_to_chevalier_cassian_thal>>
|
||||
Chevalier Cassian Thal: Well met good sir.
|
||||
@@ -24,10 +25,15 @@ title: Chevalier_Cassian_Thal_Talk
|
||||
-> Leave it be.
|
||||
<<endif>>
|
||||
<<endif>>
|
||||
<<if $saw_knights_atlantean_cross_on_place_card eq true and $had_the_estate_drink eq true>>
|
||||
<<detour SC101_Hook_Asks_Candidate_Chevalier_Cassian_Thal_Talk>>
|
||||
<<endif>>
|
||||
===
|
||||
|
||||
title: SC101_Inquire_Cypurs_Chevalier_Cassian_Thal_Talk
|
||||
position: -175,95
|
||||
---
|
||||
<<set $inquired_about_cyprus = true>>
|
||||
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.
|
||||
@@ -39,3 +45,106 @@ Chevalier Cassian Thal: I assume you should ask your friend Mr. Doss, I am of no
|
||||
CONFLUENCE: There he is again: Mr. Doss.
|
||||
<<endif>>
|
||||
===
|
||||
|
||||
title: SC101_Hook_Asks_Candidate_Chevalier_Cassian_Thal_Talk
|
||||
position: 146,85
|
||||
---
|
||||
<<if $inquired_about_cyprus>>
|
||||
Chevalier Cassian Thal: This were a lot of questions. Now tell me something about yourself, old chap.
|
||||
<<endif>>
|
||||
<<detour SC101_Asks_Candidate_Chevalier_Cassian_Thal_Talk>>
|
||||
<<if $declared_candidate_to_chevalier_cassian_thal>>
|
||||
Narrator: Chevalier Cassian Thal turns towards the head of the table again, just, when another man stands up.
|
||||
<<jump SC102_Table>>
|
||||
<<endif>>
|
||||
===
|
||||
|
||||
title: SC101_Asks_Candidate_Chevalier_Cassian_Thal_Talk
|
||||
position: 157,261
|
||||
---
|
||||
<<set $winner = top_skill($self_lean_made_asset, "asset", $self_lean_journalist, "journalist", $self_lean_inheritor, "inheritor")>>
|
||||
<<set $previous_winner = $winner>>
|
||||
<<if $winner eq "asset">>
|
||||
Narrator: He leans in and whispers:
|
||||
Chevalier Cassian Thal: I assume you are here to observe the gathering in the interest of ... our friends of the Vaselian Concordat?
|
||||
-> Yes, I am.
|
||||
<<set $self_lean_made_asset += 1>>
|
||||
<<detour SC101_Declares_Asset_Chevalier_Cassian_Thal_Talk>>
|
||||
-> You must be mistaken.
|
||||
<<set $self_lean_journalist += 1>>
|
||||
<<set $self_lean_inheritor += 1>>
|
||||
<<detour SC101_Deny_Candidate_Chevalier_Cassian_Thal_Talk>>
|
||||
<<elseif $winner eq "journalist">>
|
||||
Chevalier Cassian Thal: I got the feeling I may read my answers in tomorrow's newspaper.
|
||||
Narrator: He says it with a boyish grin, as if he is sure he hasn't disclosed anything contentious.
|
||||
-> You actually may.
|
||||
<<set $self_lean_journalist += 1>>
|
||||
<<detour SC101_Declares_Journalist_Chevalier_Cassian_Thal_Talk>>
|
||||
-> No, I got nothing to do with newspapers and such!
|
||||
<<set $self_lean_made_asset += 1>>
|
||||
<<set $self_lean_inheritor += 1>>
|
||||
<<detour SC101_Deny_Candidate_Chevalier_Cassian_Thal_Talk>>
|
||||
<<else>>
|
||||
Chevalier Cassian Thal: You probably look to settle your parent's debts?
|
||||
FACEWORK: He doesn't seem emotional about it, he is just interested.
|
||||
-> I actually am.
|
||||
<<set $self_lean_inheritor += 1>>
|
||||
<<detour SC101_Declares_Inheritor_Chevalier_Cassian_Thal_Talk>>
|
||||
-> Oh, I don't know about any debt, I hope they didn't borrow money from you?
|
||||
<<set $self_lean_journalist += 1>>
|
||||
<<set $self_lean_made_asset +=1>>
|
||||
Chevalier Cassian Thal: Oh god, no, they didn't borrow anything from us.
|
||||
CONFLUENCE: Us?
|
||||
<<detour SC101_Deny_Candidate_Chevalier_Cassian_Thal_Talk>>
|
||||
<<endif>>
|
||||
===
|
||||
|
||||
title: SC101_Declares_Asset_Chevalier_Cassian_Thal_Talk
|
||||
position: -9,670
|
||||
---
|
||||
<<set $declared_candidate_to_chevalier_cassian_thal = true>>
|
||||
Narrator: Chevalier Cassian Thal looks knowingly and cannot hide a little smirk.
|
||||
Chevalier Cassian Thal: Well, then let us hope the ... others follow the Knight's compromise.
|
||||
Narrator: He winks at you.
|
||||
FACEWORK: He seems to know more about us, than we know about ourselves. Though if we back out now he will become suspicious.
|
||||
===
|
||||
|
||||
title: SC101_Declares_Journalist_Chevalier_Cassian_Thal_Talk
|
||||
position: -222,667
|
||||
---
|
||||
<<set $declared_candidate_to_chevalier_cassian_thal = true>>
|
||||
Narrator: Chevalier Cassian Thal laughs.
|
||||
Chevalier Cassian Thal: Well, then let me give you something to write about: You and your readers will be surprised to hear, what you will witness in a second.
|
||||
CONFLUENCE: He can hardly hide his smirk.
|
||||
===
|
||||
|
||||
title: SC101_Declares_Inheritor_Chevalier_Cassian_Thal_Talk
|
||||
position: 207,664
|
||||
---
|
||||
<<set $declared_candidate_to_chevalier_cassian_thal = true>>
|
||||
Chevalier Cassian Thal: You may very well get your chance this week, my boy.
|
||||
FACEWORK: His look is benevolent, nearly fatherly.
|
||||
CONFLUENCE: What should our parents have done, that requires repayment?
|
||||
===
|
||||
|
||||
title: SC101_Deny_Candidate_Chevalier_Cassian_Thal_Talk
|
||||
position: 436,260
|
||||
---
|
||||
Chevalier Cassian Thal: Oh, I am rarely wrong in matters like these. Though enlighten me: What else could have been your wish coming here?
|
||||
FACEWORK: He looks genuinely interested.
|
||||
<<set $winner = top_skill($self_lean_made_asset, "asset", $self_lean_journalist, "journalist", $self_lean_inheritor, "inheritor")>>
|
||||
<<if $previous_winner == $winner>>
|
||||
-> No, you are totally right, indeed.
|
||||
<<if $winner == "asset">>
|
||||
<<detour SC101_Declares_Asset_Chevalier_Cassian_Thal_Talk>>
|
||||
<<elseif $winner == "journalist">>
|
||||
<<detour SC101_Declares_Journalist_Chevalier_Cassian_Thal_Talk>>
|
||||
<<else>>
|
||||
<<detour SC101_Declares_Inheritor_Chevalier_Cassian_Thal_Talk>>
|
||||
<<endif>>
|
||||
-> Actually ...
|
||||
<<detour SC101_Asks_Candidate_Chevalier_Cassian_Thal_Talk>>
|
||||
<<else>>
|
||||
<<detour SC101_Asks_Candidate_Chevalier_Cassian_Thal_Talk>>
|
||||
<<endif>>
|
||||
===
|
||||
|
||||
@@ -27,6 +27,10 @@ title: Declarations
|
||||
<<declare $check_degree = "" as string>>
|
||||
<<declare $check_skill = "" as string>>
|
||||
|
||||
// Used by top_skill
|
||||
<<declare $winner = "" as string>>
|
||||
<<declare $previous_winner = "" as string>>
|
||||
|
||||
// Candidate lean. Three permanently-live readings of who the PC is; they are
|
||||
// not mutually exclusive and never resolve. Writers <<set>> these; no code
|
||||
// reads them. There is deliberately NO derived "winning candidate" variable —
|
||||
@@ -97,4 +101,6 @@ title: Declarations
|
||||
// Character dialogue gates
|
||||
<<declare $spoke_to_chevalier_cassian_thal = false as bool>>
|
||||
<<declare $spoke_to_bradford_kane = false as bool>>
|
||||
<<declare $inquired_about_cyprus = false as bool>>
|
||||
<<declare $declared_candidate_to_chevalier_cassian_thal = true as bool>>
|
||||
===
|
||||
|
||||
@@ -11,5 +11,51 @@
|
||||
"baseLanguage": "en",
|
||||
"compilerOptions": {
|
||||
"diagnosticsSeverity": {}
|
||||
},
|
||||
"projectName": "NightclubArcade",
|
||||
"authorName": [
|
||||
"LennartGrabowski"
|
||||
],
|
||||
"editorOptions": {
|
||||
"yarnScriptEditor": {
|
||||
"projectGraphPositions": {
|
||||
"Bartender.yarn": {
|
||||
"x": 282,
|
||||
"y": 12
|
||||
},
|
||||
"Bradford Kane.yarn": {
|
||||
"x": 1320,
|
||||
"y": 2287
|
||||
},
|
||||
"Chevalier Cassian Thal.yarn": {
|
||||
"x": 1794,
|
||||
"y": 2275
|
||||
},
|
||||
"Commentary.yarn": {
|
||||
"x": 12,
|
||||
"y": 231
|
||||
},
|
||||
"Common.yarn": {
|
||||
"x": 12,
|
||||
"y": 12
|
||||
},
|
||||
"Chair.yarn": {
|
||||
"x": 840,
|
||||
"y": 1072
|
||||
},
|
||||
"Debug.yarn": {
|
||||
"x": -1,
|
||||
"y": 483
|
||||
},
|
||||
"SC101.yarn": {
|
||||
"x": 820,
|
||||
"y": -3
|
||||
},
|
||||
"SC102.yarn": {
|
||||
"x": 2734,
|
||||
"y": 2559
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -8,27 +8,40 @@
|
||||
// Each variation sets $went_inside so the calling scene knows the verdict.
|
||||
|
||||
title: Chair_Interaction
|
||||
position: -334,-601
|
||||
---
|
||||
Narrator: An empty chair with a place card: {$player_name}.
|
||||
-> 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>>
|
||||
<<detour SC101_Hook_Sitting_Chair_Interaction>>
|
||||
-> Not yet.
|
||||
<<enter_environment>>
|
||||
===
|
||||
|
||||
title: SC101_Hook_Sitting_Chair_Interaction
|
||||
position: -328,-360
|
||||
---
|
||||
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>>
|
||||
<<detour SC101_Hook_Sitting_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>>
|
||||
<<detour SC101_Hook_Sitting_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>>
|
||||
<<detour SC101_Hook_Sitting_Chair_Interaction>>
|
||||
<<elseif $spoke_to_chevalier_cassian_thal eq true and $spoke_to_bradford_kane eq true>>
|
||||
<<detour SC101_Hook_Both_Chair_Interaction>>
|
||||
<<detour SC101_Hook_Sitting_Chair_Interaction>>
|
||||
<<else>>
|
||||
<<detour SC101_Hook_First_Sitting_Chair_Interaction>>
|
||||
<<detour SC101_Hook_Sitting_Chair_Interaction>>
|
||||
<<endif>>
|
||||
===
|
||||
|
||||
title: SC101_Hook_First_Sitting_Chair_Interaction
|
||||
position: -320,-51
|
||||
---
|
||||
-> Look at the details of the place card.
|
||||
<<detour SC101_Hook_Place_Card_Chair_Interaction>>
|
||||
@@ -36,9 +49,12 @@ title: SC101_Hook_First_Sitting_Chair_Interaction
|
||||
<<detour Chevalier_Cassian_Thal_Talk>>
|
||||
-> Introduce yourself to the gentleman on your right.
|
||||
<<detour Bradford_Kane_Talk>>
|
||||
-> Stand up.
|
||||
<<enter_environment>>
|
||||
===
|
||||
|
||||
title: SC101_Hook_Left_Not_Right_Chair_Interaction
|
||||
position: -95,-48
|
||||
---
|
||||
-> Look at the details of the place card.
|
||||
<<detour SC101_Hook_Place_Card_Chair_Interaction>>
|
||||
@@ -46,9 +62,12 @@ title: SC101_Hook_Left_Not_Right_Chair_Interaction
|
||||
<<detour Chevalier_Cassian_Thal_Talk>>
|
||||
-> Introduce yourself to the gentleman on your right.
|
||||
<<detour Bradford_Kane_Talk>>
|
||||
-> Stand up.
|
||||
<<enter_environment>>
|
||||
===
|
||||
|
||||
title: SC101_Hook_Right_Not_Left_Chair_Interaction
|
||||
position: 134,-32
|
||||
---
|
||||
-> Look at the details of the place card.
|
||||
<<detour SC101_Hook_Place_Card_Chair_Interaction>>
|
||||
@@ -56,9 +75,12 @@ title: SC101_Hook_Right_Not_Left_Chair_Interaction
|
||||
<<detour Chevalier_Cassian_Thal_Talk>>
|
||||
-> Talk to Bradford Kane.
|
||||
<<detour Bradford_Kane_Talk>>
|
||||
-> Stand up.
|
||||
<<enter_environment>>
|
||||
===
|
||||
|
||||
title: SC101_Hook_Both_Chair_Interaction
|
||||
position: 363,-36
|
||||
---
|
||||
-> Look at the details of the place card.
|
||||
<<detour SC101_Hook_Place_Card_Chair_Interaction>>
|
||||
@@ -66,9 +88,12 @@ title: SC101_Hook_Both_Chair_Interaction
|
||||
<<detour Chevalier_Cassian_Thal_Talk>>
|
||||
-> Talk to Bradford Kane.
|
||||
<<detour Bradford_Kane_Talk>>
|
||||
-> Stand up.
|
||||
<<enter_environment>>
|
||||
===
|
||||
|
||||
title: SC101_Hook_Place_Card_Chair_Interaction
|
||||
position: -296,331
|
||||
---
|
||||
Narrator: You take the place card and take a look.
|
||||
<<check provenance Hard>>
|
||||
|
||||
@@ -25,11 +25,13 @@
|
||||
// Body stays neutral on purpose: no lean, no candidate attachment.
|
||||
|
||||
title: Start
|
||||
position: -17,-276
|
||||
---
|
||||
<<jump SC101_Desk>>
|
||||
===
|
||||
|
||||
title: SC101_Desk
|
||||
position: -19,-36
|
||||
---
|
||||
<<set $seen_sc_101 = true>>
|
||||
<<set $visited_desk = true>>
|
||||
@@ -44,6 +46,7 @@ Narrator: You're drawn toward a seat — toward a waiting conversation you didn'
|
||||
===
|
||||
|
||||
title: SC101_Hook_MadeAsset
|
||||
position: -40,567
|
||||
---
|
||||
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>>
|
||||
@@ -51,6 +54,7 @@ CONFLUENCE: One: the seating chart's alphabetical. Two: one gap in it, held open
|
||||
===
|
||||
|
||||
title: SC101_Hook_Journalist
|
||||
position: -299,452
|
||||
---
|
||||
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>>
|
||||
@@ -58,6 +62,7 @@ FACEWORK: His hands gave it away before his face did — a flinch toward you, ch
|
||||
===
|
||||
|
||||
title: SC101_Hook_Inheritor
|
||||
position: 335,366
|
||||
---
|
||||
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>>
|
||||
@@ -65,6 +70,7 @@ STANDING ORDER: You are standing in a doorway, {$player_name_full}. That's the w
|
||||
===
|
||||
|
||||
title: SC101_Hook_Neutral
|
||||
position: 87,310
|
||||
---
|
||||
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.
|
||||
===
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
// SC-102 — The figure at the head of the table just stood up.
|
||||
|
||||
title: SC102_Table
|
||||
---
|
||||
Figure at the head of the table: "Welcome."
|
||||
===
|
||||
@@ -0,0 +1,10 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 717dc562b961f41c49f5615fb8415f67
|
||||
ScriptedImporter:
|
||||
internalIDToNameTable: []
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
script: {fileID: 11500000, guid: 94073015eacc34c1d8fc6786e43d60ca, type: 3}
|
||||
@@ -0,0 +1,13 @@
|
||||
using UnityEngine;
|
||||
using Yarn.Unity;
|
||||
|
||||
public class SkillFunctions : MonoBehaviour
|
||||
{
|
||||
[YarnFunction("top_skill")]
|
||||
public static string TopSkill(float a, string aName, float b, string bName, float c, string cName)
|
||||
{
|
||||
if (a >= b && a >= c) return aName;
|
||||
if (b >= a && b >= c) return bName;
|
||||
return cName;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,2 @@
|
||||
fileFormatVersion: 2
|
||||
guid: f7e92eaa5873f456281db864a1a7871b
|
||||
Reference in New Issue
Block a user