refactor the skill system to adhere to the lore handbook
This commit is contained in:
@@ -14,7 +14,7 @@ Bouncer: Evening. Name on the list?
|
||||
You: Depends who's asking.
|
||||
-> I'm on the list.
|
||||
<<set $claimed_to_be_on_list = true>>
|
||||
<<check persuasion standard>>
|
||||
<<check placement routine>>
|
||||
<<if $check_result>>
|
||||
Bouncer: ...you're not on the list.
|
||||
Bouncer: But it's slow tonight. Go on.
|
||||
@@ -23,8 +23,8 @@ You: Depends who's asking.
|
||||
Bouncer: Nobody's on the list tonight. Especially not you.
|
||||
<<set $went_inside = false>>
|
||||
<<endif>>
|
||||
-> Let me through. <<if skill_rank("intimidation") >= 2>>
|
||||
<<check intimidation hard -1>>
|
||||
-> Let me through. <<if skill_rank("undisclosed") >= 2>>
|
||||
<<check undisclosed hard -1>>
|
||||
<<if $check_degree == "critical_success">>
|
||||
Bouncer: ...yeah. Yeah, okay.
|
||||
<<set $reputation += 2>>
|
||||
|
||||
@@ -1,18 +1,22 @@
|
||||
// Passive skill commentary. Fired by CommentarySystem, never <<jump>>ed to.
|
||||
// One node per (context, skill) pair; if a skill has nothing to say about a
|
||||
// context, simply omit the node and it won't be considered.
|
||||
//
|
||||
// Writing rules (code does not enforce these):
|
||||
// - Wrong Truth failures: no failure signal in the prose; the UI banner is the only tell.
|
||||
// - Documentary routes are gated on Act and errand state, never on a voice.
|
||||
|
||||
title: Commentary_Entrance_Queue_paranoia
|
||||
title: Commentary_Entrance_Queue_facework
|
||||
---
|
||||
Paranoia: The man three back hasn't looked at his phone once. Nobody waits like that.
|
||||
FACEWORK: His hands are too still for someone this far back in a queue. What's he practising not to reach for?
|
||||
===
|
||||
|
||||
title: Commentary_Entrance_Queue_read_room
|
||||
title: Commentary_Entrance_Queue_long_shift
|
||||
---
|
||||
Read the Room: Everyone here is pretending they're not cold.
|
||||
THE LONG SHIFT: Forty minutes. Nobody's shifted their weight the way cold people do. They're paying for this wait in something else.
|
||||
===
|
||||
|
||||
title: Commentary_Entrance_Queue_streetwise
|
||||
title: Commentary_Entrance_Queue_the_float
|
||||
---
|
||||
Streetwise: Door's been "slow tonight" for forty minutes. That's a price, not a queue.
|
||||
THE FLOAT: Door's been "slow tonight" for forty minutes. Convert that: it's a price, not a queue. Who's eating that?
|
||||
===
|
||||
|
||||
@@ -3,6 +3,15 @@
|
||||
// This node is never played. Declaring every variable in one place means the
|
||||
// compiler catches typos ("$reputaton") instead of silently creating a second
|
||||
// variable at runtime.
|
||||
//
|
||||
// Writing rules the code deliberately does not enforce (Skill Bible §7 / refactor plan §2.1):
|
||||
// - Wrong Truth failures carry no failure signal in the prose — the UI banner is the only tell.
|
||||
// - Documentary routes are gated on Act and errand state, never on a voice.
|
||||
//
|
||||
// Modifier Yarn commands (see YarnSkillCommands):
|
||||
// <<skill_mod scene facework 2>> — source key "scene" = situational; clear on scene exit
|
||||
// <<clear_skill_mods scene>>
|
||||
// Other source keys (drunk, injured, …) are state buckets.
|
||||
|
||||
title: Declarations
|
||||
---
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
title: Debug_SkillCheck
|
||||
---
|
||||
Narrator: Skill check harness.
|
||||
<<check persuasion standard>>
|
||||
<<check placement routine>>
|
||||
<<if $check_result>>
|
||||
Narrator: Passed. Rolled {$check_roll}, total {$check_total} against DC {$check_dc}.
|
||||
<<else>>
|
||||
@@ -13,10 +13,10 @@ Narrator: Skill check harness.
|
||||
<<endif>>
|
||||
|
||||
// Explicit numeric DC plus a situational modifier.
|
||||
<<check deduction 16 2>>
|
||||
Narrator: Deduction came out {$check_degree}.
|
||||
<<check confluence 16 2>>
|
||||
Narrator: Confluence came out {$check_degree}.
|
||||
|
||||
// Deliberate typo: should log an error and continue, not deadlock.
|
||||
<<check nosuchskill standard>>
|
||||
<<check nosuchskill routine>>
|
||||
Narrator: Survived the bad skill id.
|
||||
===
|
||||
|
||||
Reference in New Issue
Block a user