Motif-scope the decisions and temptations
The review's sharpest finding was that the fiction cohered but the things in the rooms did not belong to it: only the motif cue fragment was projected, while decisions and temptations came from global pools. The output was a consistent wrapper around generic room furniture. Both now live under motifs.<id> — 6 decisions and 5 temptations each, 88 authored entries across 8 motifs. A `keeping` delve offers a flower that has not wilted and a room you may search or leave exactly as you found it; a `precedence` delve offers a corridor that will not let two walk abreast. Two bugs surfaced while wiring it, both the same shape as one fixed earlier for cue fragments: decisions and temptations were picked independently per area rather than dealt, so a pool of 3 repeated a temptation in 75 of 80 test delves. Both are now dealt without replacement. Where a long delve outruns its motif pool, decisions top up from the generic pool but temptations do not. A generic relic breaks the fiction; a repeated one only looks thin. Tests 11 -> 15: motif provenance for both pools, and no repeats at 6 and 9 areas. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -88,10 +88,22 @@ arrived at it by instinct. That convergence is the strongest evidence the model
|
|||||||
|
|
||||||
Fragments are dealt without replacement, borrowing from a neighbouring facet before repeating.
|
Fragments are dealt without replacement, borrowing from a neighbouring facet before repeating.
|
||||||
|
|
||||||
**Honest limit on "projected".** Only the motif cue fragment is projected from the appetite. The
|
**The furniture is motif-scoped too.** Codex's review found that only the motif cue fragment was
|
||||||
second cue fragment, the decisions and the temptations still come from **global pools**, so the
|
projected — decisions and temptations came from global pools, making the output "a consistent
|
||||||
current output is a projected wrapper around some generic room furniture. Making decisions and
|
wrapper around generic room furniture". Both now live under `motifs.<id>`: **6 decisions and 5
|
||||||
temptations motif-scoped is the next content job.
|
temptations per motif**, 88 authored entries across 8 motifs. A `keeping` delve offers a flower
|
||||||
|
that has not wilted, a lamp on three-century-old oil, and a room you may search or leave exactly
|
||||||
|
as you found it. A `precedence` delve offers a corridor that will not let two walk abreast.
|
||||||
|
|
||||||
|
Two rules the tests enforce:
|
||||||
|
- **Nothing repeats inside one delve.** Decisions and temptations are dealt without replacement,
|
||||||
|
not picked per area — picking independently repeated a temptation in 75 of 80 test delves.
|
||||||
|
- **Motif purity beats variety for temptations.** Decisions may top up from the generic pool if a
|
||||||
|
long delve outruns its motif; temptations may not. A generic relic breaks the fiction, while a
|
||||||
|
repeated one only looks thin.
|
||||||
|
|
||||||
|
**Remaining limit:** the second cue fragment still comes from a global `features` pool. That is
|
||||||
|
the last piece of generic furniture.
|
||||||
|
|
||||||
### The appeasement move
|
### The appeasement move
|
||||||
|
|
||||||
|
|||||||
+1
-5
@@ -20,17 +20,13 @@ const FACET_TRUTH = {
|
|||||||
demandEnd: 'the question itself, asked directly',
|
demandEnd: 'the question itself, asked directly',
|
||||||
};
|
};
|
||||||
|
|
||||||
export function buildArea({ skeleton, planned, pack, pressure, rng, baneBeat = null, feature, decision }) {
|
export function buildArea({ skeleton, planned, pack, pressure, rng, baneBeat = null, feature, decision, temptation = null }) {
|
||||||
const r = rng.derive('area', String(planned.index));
|
const r = rng.derive('area', String(planned.index));
|
||||||
const fs = skeleton.foreshadow.find(f => f.index === planned.index) ?? {};
|
const fs = skeleton.foreshadow.find(f => f.index === planned.index) ?? {};
|
||||||
const names = pack.areaNames?.[planned.role] ?? pack.areaNames?.approach ?? ['Unnamed'];
|
const names = pack.areaNames?.[planned.role] ?? pack.areaNames?.approach ?? ['Unnamed'];
|
||||||
|
|
||||||
// feature/decision are dealt by the caller without replacement across the delve — drawing them
|
// feature/decision are dealt by the caller without replacement across the delve — drawing them
|
||||||
// per-area from pools of 8 and 6 made repeats near-certain inside a single delve.
|
// per-area from pools of 8 and 6 made repeats near-certain inside a single delve.
|
||||||
const temptation = planned.hoard
|
|
||||||
? r.derive('temptation').pick(pack.temptations)
|
|
||||||
: null;
|
|
||||||
|
|
||||||
// Every area emits at least one attention trigger — draft 5 §9 weights triggers over the timer.
|
// Every area emits at least one attention trigger — draft 5 §9 weights triggers over the timer.
|
||||||
const trigger = fs.facet === 'demand' ? skeleton.motif.trigger
|
const trigger = fs.facet === 'demand' ? skeleton.motif.trigger
|
||||||
: r.derive('trigger').pick(['announced', 'loud', 'lingering', 'seenTwice', 'disturbed']);
|
: r.derive('trigger').pick(['announced', 'loud', 'lingering', 'seenTwice', 'disturbed']);
|
||||||
|
|||||||
+612
-9
@@ -285,7 +285,83 @@
|
|||||||
"a wardrobe of three hundred dresses in a room with no dust in it",
|
"a wardrobe of three hundred dresses in a room with no dust in it",
|
||||||
"one thing under cloth, and the cloth is clean"
|
"one thing under cloth, and the cloth is clean"
|
||||||
]
|
]
|
||||||
}
|
},
|
||||||
|
"decisions": [
|
||||||
|
{
|
||||||
|
"cue": "a doorway you can only reach by crossing open floor, in full view",
|
||||||
|
"cost": "cross it and you are seen — roll the clock; go the long way and lose a Turn"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cue": "a mirror blocking the passage, angled to catch whoever passes",
|
||||||
|
"cost": "cover it and something notices the dark; pass it and something notices you"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cue": "a portrait that must be moved to open the way behind it",
|
||||||
|
"cost": "turn it to the wall and the Host takes offence; carry it and you are announced everywhere"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cue": "a gallery lit end to end, and an unlit servants' crawl beside it",
|
||||||
|
"cost": "the gallery is quick and bright; the crawl costs a Turn and a Brawn roll"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cue": "a shuttered window onto the next room, and a choice about opening it",
|
||||||
|
"cost": "looking through costs nothing; being seen looking costs a Bane"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cue": "a room you must cross either quickly or quietly",
|
||||||
|
"cost": "quick is one Turn and a clock roll; quiet is two Turns and none"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"temptations": [
|
||||||
|
{
|
||||||
|
"id": "mask",
|
||||||
|
"cue": "a courtier's mask, gold leaf over lime-wood, the mouth fixed in a small smile",
|
||||||
|
"benefit": "the Host receives you as court, automatically",
|
||||||
|
"useCost": {
|
||||||
|
"bane": 1
|
||||||
|
},
|
||||||
|
"standingDrawback": "while worn you cannot be recognised by name — allies aiding you take −1 die"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "glass",
|
||||||
|
"cue": "a hand-mirror that shows the room a moment behind",
|
||||||
|
"benefit": "once per scene, see what was just here",
|
||||||
|
"useCost": {
|
||||||
|
"bane": 1
|
||||||
|
},
|
||||||
|
"standingDrawback": "your reflection lags, and other people notice"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "likeness",
|
||||||
|
"cue": "a small portrait of someone who is not you, painted beautifully",
|
||||||
|
"benefit": "show it and be taken for them, once",
|
||||||
|
"acceptanceCost": {
|
||||||
|
"vice": "Pride"
|
||||||
|
},
|
||||||
|
"useCost": {
|
||||||
|
"bane": 2
|
||||||
|
},
|
||||||
|
"standingDrawback": "they will eventually want it back"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "veil",
|
||||||
|
"cue": "a mourning veil, fine enough to see through",
|
||||||
|
"benefit": "pass unremarked through the Host once",
|
||||||
|
"useCost": {
|
||||||
|
"bane": 1
|
||||||
|
},
|
||||||
|
"standingDrawback": "you see everyone as the barrow does — posed, waiting"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "eyes",
|
||||||
|
"cue": "a pair of painted eyes cut from a portrait",
|
||||||
|
"benefit": "once, know exactly who is watching",
|
||||||
|
"useCost": {
|
||||||
|
"bane": 1
|
||||||
|
},
|
||||||
|
"standingDrawback": "they are watching you back"
|
||||||
|
}
|
||||||
|
]
|
||||||
},
|
},
|
||||||
"naming": {
|
"naming": {
|
||||||
"danger": "recognition",
|
"danger": "recognition",
|
||||||
@@ -317,7 +393,83 @@
|
|||||||
"a seal cut with a name worn smooth by rubbing",
|
"a seal cut with a name worn smooth by rubbing",
|
||||||
"a tally-stick longer than a person"
|
"a tally-stick longer than a person"
|
||||||
]
|
]
|
||||||
}
|
},
|
||||||
|
"decisions": [
|
||||||
|
{
|
||||||
|
"cue": "a door with a name cut into it, and a space beneath for a reply",
|
||||||
|
"cost": "answer with your own name and it opens — and it is written down"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cue": "a roll of the dead, and one line you could strike out",
|
||||||
|
"cost": "striking a name frees something; it also puts you where the name was"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cue": "someone's name called softly from two directions at once",
|
||||||
|
"cost": "answer either and the other stops calling"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cue": "a lintel you must be announced under, or crawl beneath",
|
||||||
|
"cost": "announced costs a Bane; crawling costs your dignity and a Turn"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cue": "a list of the dead with one name you recognise",
|
||||||
|
"cost": "saying it aloud helps; it also tells the barrow you are connected"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cue": "two passages, and someone is being called down one of them",
|
||||||
|
"cost": "follow the voice and be expected; take the other and arrive unannounced"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"temptations": [
|
||||||
|
{
|
||||||
|
"id": "ledger",
|
||||||
|
"cue": "a book of names, one line left blank",
|
||||||
|
"benefit": "write a name and the Host obeys it once",
|
||||||
|
"acceptanceCost": {
|
||||||
|
"vice": "Pride"
|
||||||
|
},
|
||||||
|
"useCost": {
|
||||||
|
"bane": 2
|
||||||
|
},
|
||||||
|
"standingDrawback": "your own name is now in it"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "nameplate",
|
||||||
|
"cue": "a plate cut with a name worn smooth by rubbing",
|
||||||
|
"benefit": "doors that check a name open for you",
|
||||||
|
"useCost": {
|
||||||
|
"bane": 1
|
||||||
|
},
|
||||||
|
"standingDrawback": "you answer to that name whether you mean to or not"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "tally",
|
||||||
|
"cue": "a tally-stick longer than a person, one notch unfilled",
|
||||||
|
"benefit": "call in a debt the barrow owes — once",
|
||||||
|
"useCost": {
|
||||||
|
"bane": 1
|
||||||
|
},
|
||||||
|
"standingDrawback": "the stick keeps counting what you owe too"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "seal",
|
||||||
|
"cue": "a wax seal bearing a name struck through",
|
||||||
|
"benefit": "once, be forgotten by something hunting you",
|
||||||
|
"useCost": {
|
||||||
|
"bane": 1
|
||||||
|
},
|
||||||
|
"standingDrawback": "your allies find your name hard to recall"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "lintel",
|
||||||
|
"cue": "a chip of lintel-stone with three names on it",
|
||||||
|
"benefit": "once, summon one of the named dead to answer",
|
||||||
|
"useCost": {
|
||||||
|
"bane": 2
|
||||||
|
},
|
||||||
|
"standingDrawback": "they come whenever your name is said aloud"
|
||||||
|
}
|
||||||
|
]
|
||||||
},
|
},
|
||||||
"voices": {
|
"voices": {
|
||||||
"danger": "obedience",
|
"danger": "obedience",
|
||||||
@@ -349,7 +501,83 @@
|
|||||||
"a staff of office propped where it was set down",
|
"a staff of office propped where it was set down",
|
||||||
"a key that fits nothing here"
|
"a key that fits nothing here"
|
||||||
]
|
]
|
||||||
}
|
},
|
||||||
|
"decisions": [
|
||||||
|
{
|
||||||
|
"cue": "an order carved into the floor, still legible",
|
||||||
|
"cost": "obey it and the Host counts you as household; step over it and they do not"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cue": "a speaking-tube that is warm, and asking a question down it",
|
||||||
|
"cost": "an answer comes back — and now something knows where you are"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cue": "a bell-pull that would summon someone",
|
||||||
|
"cost": "ring it and help comes, and it is not the kind you wanted"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cue": "two doors, and behind one a voice giving instructions to nobody",
|
||||||
|
"cost": "the quiet door is longer; the voice would tell you exactly where to go"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cue": "an instruction you can obey, ignore, or countermand",
|
||||||
|
"cost": "countermanding it works once and marks you as someone who gives orders"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cue": "a door that opens to a spoken password nobody living knows",
|
||||||
|
"cost": "guessing costs a Bane per attempt; the long way costs two Turns"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"temptations": [
|
||||||
|
{
|
||||||
|
"id": "signet",
|
||||||
|
"cue": "a signet, still warm, sized for a thumb",
|
||||||
|
"benefit": "doors that answer to rank open for you",
|
||||||
|
"useCost": {
|
||||||
|
"bane": 1
|
||||||
|
},
|
||||||
|
"standingDrawback": "the barrow's servants bring you their problems"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "tube",
|
||||||
|
"cue": "a short length of speaking-tube, cut and carried",
|
||||||
|
"benefit": "ask one question and get one true answer",
|
||||||
|
"useCost": {
|
||||||
|
"bane": 1
|
||||||
|
},
|
||||||
|
"standingDrawback": "whatever answers can now hear you"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "staff",
|
||||||
|
"cue": "a staff of office, propped where it was set down",
|
||||||
|
"benefit": "give one order the dead must follow",
|
||||||
|
"acceptanceCost": {
|
||||||
|
"vice": "Pride"
|
||||||
|
},
|
||||||
|
"useCost": {
|
||||||
|
"bane": 2
|
||||||
|
},
|
||||||
|
"standingDrawback": "you may not refuse an order given to you"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "bell",
|
||||||
|
"cue": "a small bell from a servant's board",
|
||||||
|
"benefit": "ring it and one order is obeyed, by anything",
|
||||||
|
"useCost": {
|
||||||
|
"bane": 2
|
||||||
|
},
|
||||||
|
"standingDrawback": "it rings faintly when someone gives you an order"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "wax",
|
||||||
|
"cue": "a plug of wax, moulded to a mouth",
|
||||||
|
"benefit": "once, refuse to hear a compulsion",
|
||||||
|
"useCost": {
|
||||||
|
"bane": 1
|
||||||
|
},
|
||||||
|
"standingDrawback": "you cannot hear warnings either"
|
||||||
|
}
|
||||||
|
]
|
||||||
},
|
},
|
||||||
"keeping": {
|
"keeping": {
|
||||||
"danger": "preservation",
|
"danger": "preservation",
|
||||||
@@ -381,7 +609,80 @@
|
|||||||
"an hourglass that has never been turned",
|
"an hourglass that has never been turned",
|
||||||
"a casket sized for something smaller than a body"
|
"a casket sized for something smaller than a body"
|
||||||
]
|
]
|
||||||
}
|
},
|
||||||
|
"decisions": [
|
||||||
|
{
|
||||||
|
"cue": "a room you can search, or leave exactly as you found it",
|
||||||
|
"cost": "searching disturbs a preservation three centuries old — roll the clock"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cue": "a sealed jar, and a way on that needs what is inside",
|
||||||
|
"cost": "breaking the seal spends the year it holds, in front of you"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cue": "a bed, made, and a body-shaped hollow that has not filled in",
|
||||||
|
"cost": "lie in it and you rest fully; you also stop, and the barrow prefers that"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cue": "a door held shut by nothing but the fact it has never been opened",
|
||||||
|
"cost": "open it and something that had not changed, changes"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cue": "a preserved thing blocking the way, which will not survive being moved",
|
||||||
|
"cost": "move it and something here ends; leave it and lose a Turn"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cue": "food and water laid out, still good",
|
||||||
|
"cost": "eating restores you fully and the barrow adds you to what it keeps"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"temptations": [
|
||||||
|
{
|
||||||
|
"id": "jar",
|
||||||
|
"cue": "a sealed jar holding one good year",
|
||||||
|
"benefit": "open it to undo a wound entirely, once",
|
||||||
|
"useCost": {
|
||||||
|
"bane": 2
|
||||||
|
},
|
||||||
|
"standingDrawback": "the year is spent in front of everyone, visibly"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "stillglass",
|
||||||
|
"cue": "a mirror showing the room a little younger",
|
||||||
|
"benefit": "once, refuse a condition — the glass takes it",
|
||||||
|
"useCost": {
|
||||||
|
"bane": 1
|
||||||
|
},
|
||||||
|
"standingDrawback": "the glass cracks a little each time, and so do you"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "shoes",
|
||||||
|
"cue": "a child's shoes, unworn, in your size",
|
||||||
|
"benefit": "you do not tire; ignore fatigue for a scene",
|
||||||
|
"useCost": {
|
||||||
|
"bane": 1
|
||||||
|
},
|
||||||
|
"standingDrawback": "you have stopped ageing, and it shows in the wrong light"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "lamp",
|
||||||
|
"cue": "a lamp still burning on three-century-old oil",
|
||||||
|
"benefit": "light that never gutters",
|
||||||
|
"useCost": {
|
||||||
|
"bane": 1
|
||||||
|
},
|
||||||
|
"standingDrawback": "nothing near it changes, including wounds you want to heal"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "flower",
|
||||||
|
"cue": "a flower that has not wilted",
|
||||||
|
"benefit": "once, halt a condition where it stands",
|
||||||
|
"useCost": {
|
||||||
|
"bane": 1
|
||||||
|
},
|
||||||
|
"standingDrawback": "it also halts something you wanted to finish"
|
||||||
|
}
|
||||||
|
]
|
||||||
},
|
},
|
||||||
"display": {
|
"display": {
|
||||||
"danger": "comparison",
|
"danger": "comparison",
|
||||||
@@ -413,7 +714,83 @@
|
|||||||
"a case holding one item and a great deal of space",
|
"a case holding one item and a great deal of space",
|
||||||
"a lock polished more often than the thing it guards"
|
"a lock polished more often than the thing it guards"
|
||||||
]
|
]
|
||||||
}
|
},
|
||||||
|
"decisions": [
|
||||||
|
{
|
||||||
|
"cue": "an empty plinth, sized for something you are carrying",
|
||||||
|
"cost": "leave a thing and the Host approves; keep it and they compare you unfavourably"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cue": "a case of trophies and one obviously missing",
|
||||||
|
"cost": "replacing it opens the next door; nothing else will"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cue": "two ways on: one you must be invited down, one you may simply take",
|
||||||
|
"cost": "the invitation costs an act of admiration; taking it costs their good opinion"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cue": "a gift left for you, unopened, with your description on it",
|
||||||
|
"cost": "opening it accepts the comparison; leaving it is a refusal, and noted"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cue": "a comparison invited — your gear against theirs",
|
||||||
|
"cost": "engage and gain their favour; decline and be marked as beneath notice"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cue": "a display you could improve, or rob",
|
||||||
|
"cost": "improving it opens the next door; robbing it opens all of them, badly"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"temptations": [
|
||||||
|
{
|
||||||
|
"id": "prize",
|
||||||
|
"cue": "the piece every rival was meant to want, still under glass",
|
||||||
|
"benefit": "+1 die whenever someone must be impressed",
|
||||||
|
"useCost": {
|
||||||
|
"bane": 1
|
||||||
|
},
|
||||||
|
"standingDrawback": "everyone who sees it wants it"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "ribbon",
|
||||||
|
"cue": "a ribbon awarded to whoever conceded the point",
|
||||||
|
"benefit": "end one argument in your favour, once",
|
||||||
|
"useCost": {
|
||||||
|
"bane": 1
|
||||||
|
},
|
||||||
|
"standingDrawback": "you cannot decline a challenge while wearing it"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "gift",
|
||||||
|
"cue": "a gift, unopened, addressed to no one in particular",
|
||||||
|
"benefit": "open it for exactly the thing you needed",
|
||||||
|
"acceptanceCost": {
|
||||||
|
"vice": "Greed"
|
||||||
|
},
|
||||||
|
"useCost": {
|
||||||
|
"bane": 2
|
||||||
|
},
|
||||||
|
"standingDrawback": "it was for someone, and they know"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "case",
|
||||||
|
"cue": "a display case, small, with a good lock",
|
||||||
|
"benefit": "anything inside is beyond casual theft",
|
||||||
|
"useCost": {
|
||||||
|
"bane": 1
|
||||||
|
},
|
||||||
|
"standingDrawback": "whatever is in it is on show, always"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "plinth",
|
||||||
|
"cue": "a plinth-plate engraved FINEST OF ITS KIND",
|
||||||
|
"benefit": "once, make a thing you carry undeniably the best",
|
||||||
|
"useCost": {
|
||||||
|
"bane": 1
|
||||||
|
},
|
||||||
|
"standingDrawback": "someone will want to test that"
|
||||||
|
}
|
||||||
|
]
|
||||||
},
|
},
|
||||||
"company": {
|
"company": {
|
||||||
"danger": "attachment",
|
"danger": "attachment",
|
||||||
@@ -445,7 +822,83 @@
|
|||||||
"a chair kept empty and dusted",
|
"a chair kept empty and dusted",
|
||||||
"a second cup, always out"
|
"a second cup, always out"
|
||||||
]
|
]
|
||||||
}
|
},
|
||||||
|
"decisions": [
|
||||||
|
{
|
||||||
|
"cue": "one of the dead follows you and will not be told otherwise",
|
||||||
|
"cost": "let it come and doors open; send it back and they close"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cue": "a chair drawn out, and a place laid, and time to sit",
|
||||||
|
"cost": "sitting costs a Turn and buys the Host's goodwill entirely"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cue": "a door that will only admit one of you at a time",
|
||||||
|
"cost": "splitting the party is exactly what this place wants"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cue": "a hand, skeletal, held out to be taken",
|
||||||
|
"cost": "take it and you are not alone; you are also not alone later"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cue": "a way on that only works if someone stays behind",
|
||||||
|
"cost": "whoever stays is not alone, and that is the problem"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cue": "an invitation to stay the night, meant sincerely",
|
||||||
|
"cost": "accepting restores everything and costs a Turn and a Bane"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"temptations": [
|
||||||
|
{
|
||||||
|
"id": "keepsake",
|
||||||
|
"cue": "a keepsake still warm from being held",
|
||||||
|
"benefit": "once, someone comes when you call",
|
||||||
|
"useCost": {
|
||||||
|
"bane": 1
|
||||||
|
},
|
||||||
|
"standingDrawback": "something else comes too"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "cup",
|
||||||
|
"cue": "a second cup, always set out",
|
||||||
|
"benefit": "share it and gain an ally among the dead for a scene",
|
||||||
|
"useCost": {
|
||||||
|
"bane": 1
|
||||||
|
},
|
||||||
|
"standingDrawback": "they expect to be included from now on"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "hand",
|
||||||
|
"cue": "a skeletal hand that closes gently on yours",
|
||||||
|
"benefit": "you cannot be separated from the party by force",
|
||||||
|
"acceptanceCost": {
|
||||||
|
"vice": "Attachment"
|
||||||
|
},
|
||||||
|
"useCost": {
|
||||||
|
"bane": 2
|
||||||
|
},
|
||||||
|
"standingDrawback": "nor can you leave one behind"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "chair",
|
||||||
|
"cue": "a folding chair, kept dusted",
|
||||||
|
"benefit": "set it down and something friendly sits",
|
||||||
|
"useCost": {
|
||||||
|
"bane": 1
|
||||||
|
},
|
||||||
|
"standingDrawback": "it follows you if you leave it"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "coat",
|
||||||
|
"cue": "a coat from a full rack, still shaped to someone",
|
||||||
|
"benefit": "once, be treated as expected and welcome",
|
||||||
|
"useCost": {
|
||||||
|
"bane": 1
|
||||||
|
},
|
||||||
|
"standingDrawback": "you are expected to come back"
|
||||||
|
}
|
||||||
|
]
|
||||||
},
|
},
|
||||||
"confession": {
|
"confession": {
|
||||||
"danger": "judgement",
|
"danger": "judgement",
|
||||||
@@ -477,7 +930,80 @@
|
|||||||
"a ledger of sins with the last page blank",
|
"a ledger of sins with the last page blank",
|
||||||
"a box that has only ever been opened once"
|
"a box that has only ever been opened once"
|
||||||
]
|
]
|
||||||
}
|
},
|
||||||
|
"decisions": [
|
||||||
|
{
|
||||||
|
"cue": "a screen, a kneeler, and a question you can hear being asked",
|
||||||
|
"cost": "answer honestly and the way opens; lie and it opens anyway, differently"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cue": "a scale, one pan holding a feather, the other empty",
|
||||||
|
"cost": "put something of yours in and it is weighed; walk past and you are not"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cue": "a book of absolutions with room for one more",
|
||||||
|
"cost": "signing it forgives someone; it does not say who"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cue": "a door that opens to whoever admits something first",
|
||||||
|
"cost": "whoever speaks pays; whoever stays silent owes"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cue": "a question asked directly of one hero, by name",
|
||||||
|
"cost": "answering costs privacy; refusing costs the way forward"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cue": "a penance offered instead of a fight",
|
||||||
|
"cost": "perform it and pass freely; it takes a Turn and it is humiliating"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"temptations": [
|
||||||
|
{
|
||||||
|
"id": "testament",
|
||||||
|
"cue": "a confession nobody ever heard, sealed",
|
||||||
|
"benefit": "read it aloud to unmake one accusation",
|
||||||
|
"useCost": {
|
||||||
|
"bane": 2
|
||||||
|
},
|
||||||
|
"standingDrawback": "the thing confessed to becomes yours to answer for"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "feather",
|
||||||
|
"cue": "the feather from the scale, weightless",
|
||||||
|
"benefit": "once, be believed absolutely",
|
||||||
|
"useCost": {
|
||||||
|
"bane": 1
|
||||||
|
},
|
||||||
|
"standingDrawback": "you cannot lie while carrying it, even usefully"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "kneeler",
|
||||||
|
"cue": "a fragment of stone worn through by knees",
|
||||||
|
"benefit": "once, take a condition from someone else",
|
||||||
|
"useCost": {
|
||||||
|
"bane": 1
|
||||||
|
},
|
||||||
|
"standingDrawback": "you keep every condition you take this way a little longer"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "screen",
|
||||||
|
"cue": "a splinter from the confessional screen",
|
||||||
|
"benefit": "once, hear whether someone is lying",
|
||||||
|
"useCost": {
|
||||||
|
"bane": 1
|
||||||
|
},
|
||||||
|
"standingDrawback": "they can tell you are listening for it"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "ash",
|
||||||
|
"cue": "a twist of ash from burned absolutions",
|
||||||
|
"benefit": "once, erase a wrong you did here",
|
||||||
|
"useCost": {
|
||||||
|
"bane": 2
|
||||||
|
},
|
||||||
|
"standingDrawback": "you cannot remember it either, and it mattered"
|
||||||
|
}
|
||||||
|
]
|
||||||
},
|
},
|
||||||
"precedence": {
|
"precedence": {
|
||||||
"danger": "procession",
|
"danger": "procession",
|
||||||
@@ -509,7 +1035,83 @@
|
|||||||
"a staff of precedence, laid down",
|
"a staff of precedence, laid down",
|
||||||
"a seat at the head of everything, occupied"
|
"a seat at the head of everything, occupied"
|
||||||
]
|
]
|
||||||
}
|
},
|
||||||
|
"decisions": [
|
||||||
|
{
|
||||||
|
"cue": "a corridor that will not let two walk abreast",
|
||||||
|
"cost": "whoever goes first meets whatever is there first"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cue": "a queue of the dead, and a way to step round it",
|
||||||
|
"cost": "waiting costs two Turns; pushing in costs the Host's patience"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cue": "a door that opens only for the foremost of a party",
|
||||||
|
"cost": "someone must be named first, aloud, and the others must accept it"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cue": "banners in strict order, and one you could move",
|
||||||
|
"cost": "reordering them opens a way and insults everyone buried here"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cue": "a stair where the order of descent is visibly recorded",
|
||||||
|
"cost": "whoever goes last is remembered as having gone last"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cue": "a claim to settle: which of you the barrow should address",
|
||||||
|
"cost": "settling it opens the way; refusing to settle it does not"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"temptations": [
|
||||||
|
{
|
||||||
|
"id": "coronet",
|
||||||
|
"cue": "a small crown, sized for someone who never grew",
|
||||||
|
"benefit": "+1 die when others must defer to you",
|
||||||
|
"useCost": {
|
||||||
|
"bane": 1
|
||||||
|
},
|
||||||
|
"standingDrawback": "you must be addressed correctly or lose the benefit"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "rankplate",
|
||||||
|
"cue": "a rank-plate prised off something and pocketed",
|
||||||
|
"benefit": "go first through any door the barrow guards",
|
||||||
|
"useCost": {
|
||||||
|
"bane": 1
|
||||||
|
},
|
||||||
|
"standingDrawback": "going first is now expected of you"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "staffprec",
|
||||||
|
"cue": "a staff of precedence, laid down and not taken up",
|
||||||
|
"benefit": "once, decide the order of anything, and be obeyed",
|
||||||
|
"acceptanceCost": {
|
||||||
|
"vice": "Pride"
|
||||||
|
},
|
||||||
|
"useCost": {
|
||||||
|
"bane": 2
|
||||||
|
},
|
||||||
|
"standingDrawback": "you may never be second while you hold it"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "herald",
|
||||||
|
"cue": "a herald's script with your name pencilled in",
|
||||||
|
"benefit": "once, be announced as whatever you claim",
|
||||||
|
"useCost": {
|
||||||
|
"bane": 1
|
||||||
|
},
|
||||||
|
"standingDrawback": "you must live up to it in front of the Host"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "flagstone",
|
||||||
|
"cue": "a numbered flagstone, prised up, number one",
|
||||||
|
"benefit": "once, insist on going first and be obeyed",
|
||||||
|
"useCost": {
|
||||||
|
"bane": 1
|
||||||
|
},
|
||||||
|
"standingDrawback": "you go first into everything from now on"
|
||||||
|
}
|
||||||
|
]
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"placeNames": {
|
"placeNames": {
|
||||||
@@ -839,5 +1441,6 @@
|
|||||||
"loud": "a raised voice, a broken door, steel on stone",
|
"loud": "a raised voice, a broken door, steel on stone",
|
||||||
"lingering": "stayed in one place longer than it takes to search it",
|
"lingering": "stayed in one place longer than it takes to search it",
|
||||||
"disturbed": "struck or moved something that had not moved in centuries"
|
"disturbed": "struck or moved something that had not moved in centuries"
|
||||||
}
|
},
|
||||||
|
"_globalPoolsNote": "decisions/temptations below are FALLBACKS ONLY. Real content is motif-scoped under motifs.<id>.decisions/.temptations, so the furniture matches the fiction."
|
||||||
}
|
}
|
||||||
+19
-4
@@ -28,19 +28,34 @@ export function generateDelve(params = {}) {
|
|||||||
const pressure = new Pressure({ areas, clock });
|
const pressure = new Pressure({ areas, clock });
|
||||||
|
|
||||||
// Deal features and decisions without replacement, cycling only if the delve outruns the pack.
|
// Deal features and decisions without replacement, cycling only if the delve outruns the pack.
|
||||||
const deal = (list, n, tag) => {
|
// Deal without replacement. If a delve outruns its motif pool, top up from the generic pool
|
||||||
|
// before ever repeating — a repeated decision reads as a bug, generic furniture only as thin.
|
||||||
|
const deal = (list, n, tag, overflow = []) => {
|
||||||
const r = rng.derive(tag);
|
const r = rng.derive(tag);
|
||||||
const out = [];
|
const out = [...r.shuffle(list)];
|
||||||
|
if (out.length < n) out.push(...r.shuffle(overflow.filter(x => !out.includes(x))));
|
||||||
while (out.length < n) out.push(...r.shuffle(list));
|
while (out.length < n) out.push(...r.shuffle(list));
|
||||||
return out.slice(0, n);
|
return out.slice(0, n);
|
||||||
};
|
};
|
||||||
|
// Motif-scoped furniture. Global pools are a fallback only: drawing decisions and temptations
|
||||||
|
// globally made the output "a consistent wrapper around generic room furniture" — the fiction
|
||||||
|
// cohered but the things in the rooms did not belong to it.
|
||||||
|
const motifPack = pack.motifs?.[skeleton.motif.id] ?? {};
|
||||||
|
const decisionPool = motifPack.decisions?.length ? motifPack.decisions : (pack.decisions ?? []);
|
||||||
const features = deal(pack.features ?? [], plan.areas.length, 'features');
|
const features = deal(pack.features ?? [], plan.areas.length, 'features');
|
||||||
const decisions = deal(pack.decisions ?? [], plan.areas.length, 'decisions');
|
const decisions = deal(decisionPool, plan.areas.length, 'decisions', pack.decisions ?? []);
|
||||||
|
|
||||||
|
// Temptations are dealt across the areas that carry a hoard, for the same reason as decisions:
|
||||||
|
// picking independently per area from a pool of three repeated in 75 of 80 test delves.
|
||||||
|
const temptPool = motifPack.temptations?.length ? motifPack.temptations : (pack.temptations ?? []);
|
||||||
|
const hoardCount = plan.areas.filter(a => a.hoard).length;
|
||||||
|
const temptations = deal(temptPool, hoardCount, 'temptations'); // no generic overflow — see note
|
||||||
|
let tIdx = 0;
|
||||||
|
|
||||||
const built = plan.areas.map((planned, i) => {
|
const built = plan.areas.map((planned, i) => {
|
||||||
const beat = baneBeatFor(planned, pressure, rng.derive('banebeat', String(planned.index)));
|
const beat = baneBeatFor(planned, pressure, rng.derive('banebeat', String(planned.index)));
|
||||||
if (beat) pressure.bankBane('(offered)', beat, planned.index);
|
if (beat) pressure.bankBane('(offered)', beat, planned.index);
|
||||||
const area = buildArea({ skeleton, planned, pack, pressure, rng, baneBeat: beat, feature: features[i], decision: decisions[i] });
|
const area = buildArea({ skeleton, planned, pack, pressure, rng, baneBeat: beat, feature: features[i], decision: decisions[i], temptation: planned.hoard ? temptations[tIdx++] : null });
|
||||||
area.fallback = fallbackRoute(area, skeleton);
|
area.fallback = fallbackRoute(area, skeleton);
|
||||||
return area;
|
return area;
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -54,5 +54,35 @@ for (let i = 0; i < 30; i++) {
|
|||||||
}
|
}
|
||||||
t('no repeated cue fragment inside one delve', repeats === 0, `${repeats}/30 had repeats`);
|
t('no repeated cue fragment inside one delve', repeats === 0, `${repeats}/30 had repeats`);
|
||||||
|
|
||||||
|
// motif-scoping: the furniture must belong to the fiction, not a global pool
|
||||||
|
let offMotifDecisions = 0, offMotifTemptations = 0, checked = 0;
|
||||||
|
for (let i = 0; i < 40; i++) {
|
||||||
|
const d = generateDelve({ pack, seed: `scope-${i}`, areas: 6 });
|
||||||
|
const m = pack.motifs[d.skeleton.motif.id];
|
||||||
|
const okD = new Set((m.decisions ?? []).map(x => x.cue));
|
||||||
|
const okT = new Set((m.temptations ?? []).map(x => x.id));
|
||||||
|
for (const a of d.areas) {
|
||||||
|
checked++;
|
||||||
|
if (a.decision && !okD.has(a.decision.cue)) offMotifDecisions++;
|
||||||
|
if (a.temptation && !okT.has(a.temptation.id)) offMotifTemptations++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
t('decisions come from the delve\'s own motif', offMotifDecisions === 0, `${offMotifDecisions}/${checked} off-motif`);
|
||||||
|
t('temptations come from the delve\'s own motif', offMotifTemptations === 0, `${offMotifTemptations} off-motif`);
|
||||||
|
|
||||||
|
// no repeated decision or temptation inside one delve
|
||||||
|
let dupD = 0, dupT = 0;
|
||||||
|
for (let i = 0; i < 40; i++) {
|
||||||
|
for (const areas of [6, 9]) {
|
||||||
|
const d = generateDelve({ pack, seed: `dup-${i}`, areas });
|
||||||
|
const ds = d.areas.map(a => a.decision?.cue).filter(Boolean);
|
||||||
|
const ts = d.areas.map(a => a.temptation?.id).filter(Boolean);
|
||||||
|
if (new Set(ds).size !== ds.length) dupD++;
|
||||||
|
if (new Set(ts).size !== ts.length) dupT++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
t('no repeated decision inside one delve', dupD === 0, `${dupD}/80`);
|
||||||
|
t('no repeated temptation inside one delve', dupT === 0, `${dupT}/80`);
|
||||||
|
|
||||||
console.log(`\n${pass} passed, ${fail} failed`);
|
console.log(`\n${pass} passed, ${fail} failed`);
|
||||||
process.exit(fail ? 1 : 0);
|
process.exit(fail ? 1 : 0);
|
||||||
|
|||||||
+116
-45
@@ -18,11 +18,11 @@
|
|||||||
"placeName": "The Cairn of the Patient Lord",
|
"placeName": "The Cairn of the Patient Lord",
|
||||||
"knot": {
|
"knot": {
|
||||||
"appetiteId": "first",
|
"appetiteId": "first",
|
||||||
"accommodationId": "unmade",
|
"accommodationId": "bound",
|
||||||
"claimant": "Patient Lord",
|
"claimant": "Patient Lord",
|
||||||
"conscript": "a procession",
|
"conscript": "a procession",
|
||||||
"transgression": "The Patient Lord had the faces struck from a procession, so that someone would always go behind them.",
|
"transgression": "The Patient Lord bound a procession by oath they could not break, so that someone would always go behind them.",
|
||||||
"cruelty": 3
|
"cruelty": 2
|
||||||
},
|
},
|
||||||
"motif": {
|
"motif": {
|
||||||
"id": "precedence",
|
"id": "precedence",
|
||||||
@@ -41,6 +41,20 @@
|
|||||||
"failureState": "is second now, and cannot bear it",
|
"failureState": "is second now, and cannot bear it",
|
||||||
"handledBy": "giving them what they want, at a price"
|
"handledBy": "giving them what they want, at a price"
|
||||||
},
|
},
|
||||||
|
"appeasement": {
|
||||||
|
"move": "stand aside and let it go ahead of you",
|
||||||
|
"attribute": "Poise",
|
||||||
|
"successes": 2,
|
||||||
|
"why": "it goes first",
|
||||||
|
"gain": {
|
||||||
|
"vanity": 1
|
||||||
|
},
|
||||||
|
"cost": {
|
||||||
|
"bane": 1
|
||||||
|
},
|
||||||
|
"repeatable": true,
|
||||||
|
"faction": "The Silent Host"
|
||||||
|
},
|
||||||
"factions": [
|
"factions": [
|
||||||
{
|
{
|
||||||
"id": "host",
|
"id": "host",
|
||||||
@@ -113,10 +127,10 @@
|
|||||||
"a stair too grand for the door it serves",
|
"a stair too grand for the door it serves",
|
||||||
"a floor mosaic worn only along one path"
|
"a floor mosaic worn only along one path"
|
||||||
],
|
],
|
||||||
"truth": "this is how the place was ordered, and it still is. The Patient Lord had the faces struck from a procession, so that someone would always go behind them.",
|
"truth": "this is how the place was ordered, and it still is. The Patient Lord bound a procession by oath they could not break, so that someone would always go behind them.",
|
||||||
"decision": {
|
"decision": {
|
||||||
"cue": "a member of the faction, alone and not yet hostile",
|
"cue": "banners in strict order, and one you could move",
|
||||||
"cost": "talking costs time; not talking costs later"
|
"cost": "reordering them opens a way and insults everyone buried here"
|
||||||
},
|
},
|
||||||
"encounter": null,
|
"encounter": null,
|
||||||
"hoard": null,
|
"hoard": null,
|
||||||
@@ -136,16 +150,16 @@
|
|||||||
{
|
{
|
||||||
"index": 2,
|
"index": 2,
|
||||||
"role": "complication",
|
"role": "complication",
|
||||||
"name": "The Hall of Bows",
|
"name": "The Lesser Vault",
|
||||||
"facet": "ritual",
|
"facet": "ritual",
|
||||||
"cueFragments": [
|
"cueFragments": [
|
||||||
"banners in sequence, each house a place further back",
|
"banners in sequence, each house a place further back",
|
||||||
"grave-goods stacked with obsessive neatness"
|
"grave-goods stacked with obsessive neatness"
|
||||||
],
|
],
|
||||||
"truth": "the office is still being performed, for someone who is no longer served by it. The Patient Lord had the faces struck from a procession, so that someone would always go behind them.",
|
"truth": "the office is still being performed, for someone who is no longer served by it. The Patient Lord bound a procession by oath they could not break, so that someone would always go behind them.",
|
||||||
"decision": {
|
"decision": {
|
||||||
"cue": "two ways on: one narrow and dark, one wide and announced",
|
"cue": "a corridor that will not let two walk abreast",
|
||||||
"cost": "the wide way is faster and the barrow hears it"
|
"cost": "whoever goes first meets whatever is there first"
|
||||||
},
|
},
|
||||||
"encounter": null,
|
"encounter": null,
|
||||||
"hoard": null,
|
"hoard": null,
|
||||||
@@ -165,16 +179,16 @@
|
|||||||
{
|
{
|
||||||
"index": 3,
|
"index": 3,
|
||||||
"role": "complication",
|
"role": "complication",
|
||||||
"name": "The Lesser Vault",
|
"name": "The Waiting Room",
|
||||||
"facet": "ritual",
|
"facet": "ritual",
|
||||||
"cueFragments": [
|
"cueFragments": [
|
||||||
"a herald's script with the order still marked",
|
"a herald's script with the order still marked",
|
||||||
"an alcove emptied in a hurry"
|
"an alcove emptied in a hurry"
|
||||||
],
|
],
|
||||||
"truth": "the office is still being performed, for someone who is no longer served by it. The Patient Lord had the faces struck from a procession, so that someone would always go behind them.",
|
"truth": "the office is still being performed, for someone who is no longer served by it. The Patient Lord bound a procession by oath they could not break, so that someone would always go behind them.",
|
||||||
"decision": {
|
"decision": {
|
||||||
"cue": "something valuable, awkward to carry",
|
"cue": "a door that opens only for the foremost of a party",
|
||||||
"cost": "carrying it slows you and it is not yours"
|
"cost": "someone must be named first, aloud, and the others must accept it"
|
||||||
},
|
},
|
||||||
"encounter": null,
|
"encounter": null,
|
||||||
"hoard": null,
|
"hoard": null,
|
||||||
@@ -200,24 +214,49 @@
|
|||||||
"a door only one person may pass at a time, and only first",
|
"a door only one person may pass at a time, and only first",
|
||||||
"a collapse that has opened a way the builders never meant"
|
"a collapse that has opened a way the builders never meant"
|
||||||
],
|
],
|
||||||
"truth": "here the want is explicit — the place asks something of whoever enters. The Patient Lord had the faces struck from a procession, so that someone would always go behind them.",
|
"truth": "here the want is explicit — the place asks something of whoever enters. The Patient Lord bound a procession by oath they could not break, so that someone would always go behind them.",
|
||||||
"decision": {
|
"decision": {
|
||||||
"cue": "a sealed door, and a crack you could squeeze through",
|
"cue": "a queue of the dead, and a way to step round it",
|
||||||
"cost": "the crack costs skin and a Bane on a failure"
|
"cost": "waiting costs two Turns; pushing in costs the Host's patience"
|
||||||
},
|
},
|
||||||
"encounter": {
|
"encounter": {
|
||||||
"heat": "fight",
|
"heat": "fight",
|
||||||
"kind": "undead"
|
"kind": "undead",
|
||||||
|
"roster": {
|
||||||
|
"line": "1 Ghoul and 2 Skeletons",
|
||||||
|
"foes": [
|
||||||
|
{
|
||||||
|
"n": 1,
|
||||||
|
"name": "Ghoul",
|
||||||
|
"atk": 4,
|
||||||
|
"def": 3,
|
||||||
|
"grit": 4,
|
||||||
|
"nerve": 5,
|
||||||
|
"note": "on a hit, a free Called Shot to freeze for a round"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"n": 2,
|
||||||
|
"name": "Skeleton",
|
||||||
|
"atk": 3,
|
||||||
|
"def": 2,
|
||||||
|
"grit": 1,
|
||||||
|
"nerve": 5,
|
||||||
|
"note": "fearless"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"harmedBy": "anything",
|
||||||
|
"avoid": "the Ghoul goes for court dress first — send someone plain"
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"hoard": "cache",
|
"hoard": "cache",
|
||||||
"temptation": {
|
"temptation": {
|
||||||
"id": "coronet",
|
"id": "flagstone",
|
||||||
"cue": "a small crown, sized for someone who never grew",
|
"cue": "a numbered flagstone, prised up, number one",
|
||||||
"benefit": "+1 die when others must defer to you",
|
"benefit": "once, insist on going first and be obeyed",
|
||||||
"useCost": {
|
"useCost": {
|
||||||
"bane": 1
|
"bane": 1
|
||||||
},
|
},
|
||||||
"standingDrawback": "you must be addressed correctly or lose the benefit"
|
"standingDrawback": "you go first into everything from now on"
|
||||||
},
|
},
|
||||||
"trigger": "announced",
|
"trigger": "announced",
|
||||||
"baneBeat": "relicUse",
|
"baneBeat": "relicUse",
|
||||||
@@ -240,21 +279,24 @@
|
|||||||
"a procession that doubled back on itself",
|
"a procession that doubled back on itself",
|
||||||
"a lamp still burning on oil that should be long gone"
|
"a lamp still burning on oil that should be long gone"
|
||||||
],
|
],
|
||||||
"truth": "this is the damage the want did to those who had to satisfy it. The Patient Lord had the faces struck from a procession, so that someone would always go behind them.",
|
"truth": "this is the damage the want did to those who had to satisfy it. The Patient Lord bound a procession by oath they could not break, so that someone would always go behind them.",
|
||||||
"decision": {
|
"decision": {
|
||||||
"cue": "a shortcut down, through water",
|
"cue": "a stair where the order of descent is visibly recorded",
|
||||||
"cost": "everything gets wet, including what burns"
|
"cost": "whoever goes last is remembered as having gone last"
|
||||||
},
|
},
|
||||||
"encounter": null,
|
"encounter": null,
|
||||||
"hoard": "pocket",
|
"hoard": "pocket",
|
||||||
"temptation": {
|
"temptation": {
|
||||||
"id": "glass",
|
"id": "staffprec",
|
||||||
"cue": "a hand-mirror that shows the room a moment behind",
|
"cue": "a staff of precedence, laid down and not taken up",
|
||||||
"benefit": "once per scene, see what was just here",
|
"benefit": "once, decide the order of anything, and be obeyed",
|
||||||
"useCost": {
|
"acceptanceCost": {
|
||||||
"bane": 1
|
"vice": "Pride"
|
||||||
},
|
},
|
||||||
"standingDrawback": "your reflection lags, and others notice"
|
"useCost": {
|
||||||
|
"bane": 2
|
||||||
|
},
|
||||||
|
"standingDrawback": "you may never be second while you hold it"
|
||||||
},
|
},
|
||||||
"trigger": "seenTwice",
|
"trigger": "seenTwice",
|
||||||
"baneBeat": "refusal",
|
"baneBeat": "refusal",
|
||||||
@@ -271,33 +313,55 @@
|
|||||||
{
|
{
|
||||||
"index": 6,
|
"index": 6,
|
||||||
"role": "threshold",
|
"role": "threshold",
|
||||||
"name": "The Antechamber Royal",
|
"name": "The Last Door",
|
||||||
"facet": "anchor",
|
"facet": "anchor",
|
||||||
"cueFragments": [
|
"cueFragments": [
|
||||||
"a seat at the head of everything, occupied",
|
"a seat at the head of everything, occupied",
|
||||||
"a door that has been wedged open from the inside"
|
"a door that has been wedged open from the inside"
|
||||||
],
|
],
|
||||||
"truth": "the thing the whole barrow is arranged around is close. The Patient Lord had the faces struck from a procession, so that someone would always go behind them.",
|
"truth": "the thing the whole barrow is arranged around is close. The Patient Lord bound a procession by oath they could not break, so that someone would always go behind them.",
|
||||||
"decision": {
|
"decision": {
|
||||||
"cue": "a way back, still open",
|
"cue": "a claim to settle: which of you the barrow should address",
|
||||||
"cost": "leaving now means it will be worse when you return"
|
"cost": "settling it opens the way; refusing to settle it does not"
|
||||||
},
|
},
|
||||||
"encounter": {
|
"encounter": {
|
||||||
"heat": "battle",
|
"heat": "battle",
|
||||||
"kind": "undead"
|
"kind": "undead",
|
||||||
|
"roster": {
|
||||||
|
"line": "1 Wraith and 3 Skeletons",
|
||||||
|
"foes": [
|
||||||
|
{
|
||||||
|
"n": 1,
|
||||||
|
"name": "Wraith",
|
||||||
|
"atk": 5,
|
||||||
|
"def": 3,
|
||||||
|
"grit": 10,
|
||||||
|
"nerve": 5,
|
||||||
|
"note": "INCORPOREAL — chill touch ignores armour and drains 1 max Grit"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"n": 3,
|
||||||
|
"name": "Skeleton",
|
||||||
|
"atk": 3,
|
||||||
|
"def": 2,
|
||||||
|
"grit": 1,
|
||||||
|
"nerve": 5,
|
||||||
|
"note": "fearless"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"harmedBy": "blessed, silvered or magical weapons ONLY",
|
||||||
|
"avoid": "it will take an appeasement over a fight every time"
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"hoard": "chest",
|
"hoard": "chest",
|
||||||
"temptation": {
|
"temptation": {
|
||||||
"id": "ledger",
|
"id": "coronet",
|
||||||
"cue": "a book of names, one line left blank",
|
"cue": "a small crown, sized for someone who never grew",
|
||||||
"benefit": "write a name and the Host obeys it once",
|
"benefit": "+1 die when others must defer to you",
|
||||||
"acceptanceCost": {
|
|
||||||
"vice": "Pride"
|
|
||||||
},
|
|
||||||
"useCost": {
|
"useCost": {
|
||||||
"bane": 2
|
"bane": 1
|
||||||
},
|
},
|
||||||
"standingDrawback": "your own name is now in it"
|
"standingDrawback": "you must be addressed correctly or lose the benefit"
|
||||||
},
|
},
|
||||||
"trigger": "disturbed",
|
"trigger": "disturbed",
|
||||||
"baneBeat": "relicUse",
|
"baneBeat": "relicUse",
|
||||||
@@ -318,13 +382,20 @@
|
|||||||
"mode": "authored",
|
"mode": "authored",
|
||||||
"heat": null,
|
"heat": null,
|
||||||
"hoard": null,
|
"hoard": null,
|
||||||
"name": "The Gilded Audience",
|
"name": "The Audience",
|
||||||
"cueFragments": [
|
"cueFragments": [
|
||||||
"a corridor that will not let two walk abreast"
|
"a corridor that will not let two walk abreast"
|
||||||
],
|
],
|
||||||
"question": "\"Who goes first?\"",
|
"question": "\"Who goes first?\"",
|
||||||
"authored": true
|
"authored": true
|
||||||
},
|
},
|
||||||
|
"triggerGlossary": {
|
||||||
|
"announced": "entered somewhere grandly — the big doors, a shout, a herald",
|
||||||
|
"seenTwice": "reflected, echoed or witnessed twice over in one place",
|
||||||
|
"loud": "a raised voice, a broken door, steel on stone",
|
||||||
|
"lingering": "stayed in one place longer than it takes to search it",
|
||||||
|
"disturbed": "struck or moved something that had not moved in centuries"
|
||||||
|
},
|
||||||
"budget": {
|
"budget": {
|
||||||
"plannedFights": 2,
|
"plannedFights": 2,
|
||||||
"heatBase": "fight",
|
"heatBase": "fight",
|
||||||
|
|||||||
+17
-17
@@ -52,7 +52,7 @@ On success it goes first, and The Silent Host will not open hostilities first.
|
|||||||
**The clue is automatic:** a stair too grand for the door it serves — and it was done deliberately.
|
**The clue is automatic:** a stair too grand for the door it serves — and it was done deliberately.
|
||||||
[VANITY: Observation — 1 success] buys who did it, and roughly when
|
[VANITY: Observation — 1 success] buys who did it, and roughly when
|
||||||
|
|
||||||
**The decision.** a member of the faction, alone and not yet hostile — *talking costs time; not talking costs later*
|
**The decision.** banners in strict order, and one you could move — *reordering them opens a way and insults everyone buried here*
|
||||||
|
|
||||||
|
|
||||||
**Attention trigger:** announced.
|
**Attention trigger:** announced.
|
||||||
@@ -75,7 +75,7 @@ On success it goes first, and The Silent Host will not open hostilities first.
|
|||||||
**The clue is automatic:** banners in sequence, each house a place further back — and it was done deliberately.
|
**The clue is automatic:** banners in sequence, each house a place further back — and it was done deliberately.
|
||||||
[VANITY: Observation — 1 success] buys who did it, and roughly when
|
[VANITY: Observation — 1 success] buys who did it, and roughly when
|
||||||
|
|
||||||
**The decision.** two ways on: one narrow and dark, one wide and announced — *the wide way is faster and the barrow hears it*
|
**The decision.** a corridor that will not let two walk abreast — *whoever goes first meets whatever is there first*
|
||||||
|
|
||||||
|
|
||||||
**Attention trigger:** loud.
|
**Attention trigger:** loud.
|
||||||
@@ -98,7 +98,7 @@ On success it goes first, and The Silent Host will not open hostilities first.
|
|||||||
**The clue is automatic:** a herald's script with the order still marked — and it was done deliberately.
|
**The clue is automatic:** a herald's script with the order still marked — and it was done deliberately.
|
||||||
[VANITY: Observation — 1 success] buys who did it, and roughly when
|
[VANITY: Observation — 1 success] buys who did it, and roughly when
|
||||||
|
|
||||||
**The decision.** something valuable, awkward to carry — *carrying it slows you and it is not yours*
|
**The decision.** a door that opens only for the foremost of a party — *someone must be named first, aloud, and the others must accept it*
|
||||||
|
|
||||||
|
|
||||||
**Attention trigger:** announced.
|
**Attention trigger:** announced.
|
||||||
@@ -121,7 +121,7 @@ On success it goes first, and The Silent Host will not open hostilities first.
|
|||||||
**The clue is automatic:** a door only one person may pass at a time, and only first — and it was done deliberately.
|
**The clue is automatic:** a door only one person may pass at a time, and only first — and it was done deliberately.
|
||||||
[VANITY: Observation — 1 success] buys who did it, and roughly when
|
[VANITY: Observation — 1 success] buys who did it, and roughly when
|
||||||
|
|
||||||
**The decision.** a sealed door, and a crack you could squeeze through — *the crack costs skin and a Bane on a failure*
|
**The decision.** a queue of the dead, and a way to step round it — *waiting costs two Turns; pushing in costs the Host's patience*
|
||||||
|
|
||||||
**Encounter — fight.** 1 Ghoul and 2 Skeletons
|
**Encounter — fight.** 1 Ghoul and 2 Skeletons
|
||||||
|
|
||||||
@@ -134,10 +134,10 @@ On success it goes first, and The Silent Host will not open hostilities first.
|
|||||||
- **Avoidable:** the Ghoul goes for court dress first — send someone plain
|
- **Avoidable:** the Ghoul goes for court dress first — send someone plain
|
||||||
- *Forge:* `forgeEncounter({heat:"fight", hoard:false, post:false, folderId})`
|
- *Forge:* `forgeEncounter({heat:"fight", hoard:false, post:false, folderId})`
|
||||||
**Hoard.** Tier **cache**.
|
**Hoard.** Tier **cache**.
|
||||||
**Temptation — coronet.** a small crown, sized for someone who never grew
|
**Temptation — flagstone.** a numbered flagstone, prised up, number one
|
||||||
- *Benefit:* +1 die when others must defer to you
|
- *Benefit:* once, insist on going first and be obeyed
|
||||||
- *Accept:* free · *Use:* **+1 Bane** on the tab
|
- *Accept:* free · *Use:* **+1 Bane** on the tab
|
||||||
- *Standing:* you must be addressed correctly or lose the benefit
|
- *Standing:* you go first into everything from now on
|
||||||
|
|
||||||
**Attention trigger:** announced.
|
**Attention trigger:** announced.
|
||||||
**Bane beat — relicUse.** Who: *whoever spends the relic*. When: *each use*. repeatable. Say it aloud when it banks.
|
**Bane beat — relicUse.** Who: *whoever spends the relic*. When: *each use*. repeatable. Say it aloud when it banks.
|
||||||
@@ -159,13 +159,13 @@ On success it goes first, and The Silent Host will not open hostilities first.
|
|||||||
**The clue is automatic:** a procession that doubled back on itself — and it was done deliberately.
|
**The clue is automatic:** a procession that doubled back on itself — and it was done deliberately.
|
||||||
[VANITY: Observation — 1 success] buys who did it, and roughly when
|
[VANITY: Observation — 1 success] buys who did it, and roughly when
|
||||||
|
|
||||||
**The decision.** a shortcut down, through water — *everything gets wet, including what burns*
|
**The decision.** a stair where the order of descent is visibly recorded — *whoever goes last is remembered as having gone last*
|
||||||
|
|
||||||
**Hoard.** Tier **pocket**.
|
**Hoard.** Tier **pocket**.
|
||||||
**Temptation — glass.** a hand-mirror that shows the room a moment behind
|
**Temptation — staffprec.** a staff of precedence, laid down and not taken up
|
||||||
- *Benefit:* once per scene, see what was just here
|
- *Benefit:* once, decide the order of anything, and be obeyed
|
||||||
- *Accept:* free · *Use:* **+1 Bane** on the tab
|
- *Accept:* take the Vice **Pride** · *Use:* **+2 Banes** on the tab
|
||||||
- *Standing:* your reflection lags, and others notice
|
- *Standing:* you may never be second while you hold it
|
||||||
|
|
||||||
**Attention trigger:** seenTwice.
|
**Attention trigger:** seenTwice.
|
||||||
**Bane beat — refusal.** Who: *whoever refuses the offer*. When: *once*. once only. Say it aloud when it banks.
|
**Bane beat — refusal.** Who: *whoever refuses the offer*. When: *once*. once only. Say it aloud when it banks.
|
||||||
@@ -187,7 +187,7 @@ On success it goes first, and The Silent Host will not open hostilities first.
|
|||||||
**The clue is automatic:** a seat at the head of everything, occupied — and it was done deliberately.
|
**The clue is automatic:** a seat at the head of everything, occupied — and it was done deliberately.
|
||||||
[VANITY: Observation — 1 success] buys who did it, and roughly when
|
[VANITY: Observation — 1 success] buys who did it, and roughly when
|
||||||
|
|
||||||
**The decision.** a way back, still open — *leaving now means it will be worse when you return*
|
**The decision.** a claim to settle: which of you the barrow should address — *settling it opens the way; refusing to settle it does not*
|
||||||
|
|
||||||
**Encounter — battle.** 1 Wraith and 3 Skeletons
|
**Encounter — battle.** 1 Wraith and 3 Skeletons
|
||||||
|
|
||||||
@@ -200,10 +200,10 @@ On success it goes first, and The Silent Host will not open hostilities first.
|
|||||||
- **Avoidable:** it will take an appeasement over a fight every time
|
- **Avoidable:** it will take an appeasement over a fight every time
|
||||||
- *Forge:* `forgeEncounter({heat:"battle", hoard:false, post:false, folderId})`
|
- *Forge:* `forgeEncounter({heat:"battle", hoard:false, post:false, folderId})`
|
||||||
**Hoard.** Tier **chest**.
|
**Hoard.** Tier **chest**.
|
||||||
**Temptation — ledger.** a book of names, one line left blank
|
**Temptation — coronet.** a small crown, sized for someone who never grew
|
||||||
- *Benefit:* write a name and the Host obeys it once
|
- *Benefit:* +1 die when others must defer to you
|
||||||
- *Accept:* take the Vice **Pride** · *Use:* **+2 Banes** on the tab
|
- *Accept:* free · *Use:* **+1 Bane** on the tab
|
||||||
- *Standing:* your own name is now in it
|
- *Standing:* you must be addressed correctly or lose the benefit
|
||||||
|
|
||||||
**Attention trigger:** disturbed.
|
**Attention trigger:** disturbed.
|
||||||
**Bane beat — relicUse.** Who: *whoever spends the relic*. When: *each use*. repeatable. Say it aloud when it banks.
|
**Bane beat — relicUse.** Who: *whoever spends the relic*. When: *each use*. repeatable. Say it aloud when it banks.
|
||||||
|
|||||||
+20
-20
@@ -52,7 +52,7 @@ On success it hears that nothing has aged, and The Silent Host will not open hos
|
|||||||
**The clue is automatic:** lamps trimmed and filled, all of them — and it was done deliberately.
|
**The clue is automatic:** lamps trimmed and filled, all of them — and it was done deliberately.
|
||||||
[VANITY: Observation — 1 success] buys who did it, and roughly when
|
[VANITY: Observation — 1 success] buys who did it, and roughly when
|
||||||
|
|
||||||
**The decision.** two ways on: one narrow and dark, one wide and announced — *the wide way is faster and the barrow hears it*
|
**The decision.** a room you can search, or leave exactly as you found it — *searching disturbs a preservation three centuries old — roll the clock*
|
||||||
|
|
||||||
|
|
||||||
**Attention trigger:** disturbed.
|
**Attention trigger:** disturbed.
|
||||||
@@ -75,7 +75,7 @@ On success it hears that nothing has aged, and The Silent Host will not open hos
|
|||||||
**The clue is automatic:** a meal laid out, still warm, for people long past eating — and it was done deliberately.
|
**The clue is automatic:** a meal laid out, still warm, for people long past eating — and it was done deliberately.
|
||||||
[VANITY: Observation — 1 success] buys who did it, and roughly when
|
[VANITY: Observation — 1 success] buys who did it, and roughly when
|
||||||
|
|
||||||
**The decision.** something valuable, awkward to carry — *carrying it slows you and it is not yours*
|
**The decision.** a bed, made, and a body-shaped hollow that has not filled in — *lie in it and you rest fully; you also stop, and the barrow prefers that*
|
||||||
|
|
||||||
**Encounter — fight.** 1 Ghoul and 2 Skeletons
|
**Encounter — fight.** 1 Ghoul and 2 Skeletons
|
||||||
|
|
||||||
@@ -88,10 +88,10 @@ On success it hears that nothing has aged, and The Silent Host will not open hos
|
|||||||
- **Avoidable:** the Ghoul goes for court dress first — send someone plain
|
- **Avoidable:** the Ghoul goes for court dress first — send someone plain
|
||||||
- *Forge:* `forgeEncounter({heat:"fight", hoard:false, post:false, folderId})`
|
- *Forge:* `forgeEncounter({heat:"fight", hoard:false, post:false, folderId})`
|
||||||
**Hoard.** Tier **cache**.
|
**Hoard.** Tier **cache**.
|
||||||
**Temptation — ring.** a signet, still warm
|
**Temptation — flower.** a flower that has not wilted
|
||||||
- *Benefit:* doors that answer to rank open for you
|
- *Benefit:* once, halt a condition where it stands
|
||||||
- *Accept:* free · *Use:* **+1 Bane** on the tab
|
- *Accept:* free · *Use:* **+1 Bane** on the tab
|
||||||
- *Standing:* the barrow's servants bring you their problems
|
- *Standing:* it also halts something you wanted to finish
|
||||||
|
|
||||||
**Attention trigger:** lingering.
|
**Attention trigger:** lingering.
|
||||||
**Bane beat — relicUse.** Who: *whoever spends the relic*. When: *each use*. repeatable. Say it aloud when it banks.
|
**Bane beat — relicUse.** Who: *whoever spends the relic*. When: *each use*. repeatable. Say it aloud when it banks.
|
||||||
@@ -113,7 +113,7 @@ On success it hears that nothing has aged, and The Silent Host will not open hos
|
|||||||
**The clue is automatic:** a clock wound by somebody, recently — and it was done deliberately.
|
**The clue is automatic:** a clock wound by somebody, recently — and it was done deliberately.
|
||||||
[VANITY: Observation — 1 success] buys who did it, and roughly when
|
[VANITY: Observation — 1 success] buys who did it, and roughly when
|
||||||
|
|
||||||
**The decision.** a member of the faction, alone and not yet hostile — *talking costs time; not talking costs later*
|
**The decision.** a door held shut by nothing but the fact it has never been opened — *open it and something that had not changed, changes*
|
||||||
|
|
||||||
**Encounter — fight.** 1 Ghoul and 2 Skeletons
|
**Encounter — fight.** 1 Ghoul and 2 Skeletons
|
||||||
|
|
||||||
@@ -126,10 +126,10 @@ On success it hears that nothing has aged, and The Silent Host will not open hos
|
|||||||
- **Avoidable:** the Ghoul goes for court dress first — send someone plain
|
- **Avoidable:** the Ghoul goes for court dress first — send someone plain
|
||||||
- *Forge:* `forgeEncounter({heat:"fight", hoard:false, post:false, folderId})`
|
- *Forge:* `forgeEncounter({heat:"fight", hoard:false, post:false, folderId})`
|
||||||
**Hoard.** Tier **cache**.
|
**Hoard.** Tier **cache**.
|
||||||
**Temptation — ledger.** a book of names, one line left blank
|
**Temptation — lamp.** a lamp still burning on three-century-old oil
|
||||||
- *Benefit:* write a name and the Host obeys it once
|
- *Benefit:* light that never gutters
|
||||||
- *Accept:* take the Vice **Pride** · *Use:* **+2 Banes** on the tab
|
- *Accept:* free · *Use:* **+1 Bane** on the tab
|
||||||
- *Standing:* your own name is now in it
|
- *Standing:* nothing near it changes, including wounds you want to heal
|
||||||
|
|
||||||
**Attention trigger:** lingering.
|
**Attention trigger:** lingering.
|
||||||
**Bane beat — relicUse.** Who: *whoever spends the relic*. When: *each use*. repeatable. Say it aloud when it banks.
|
**Bane beat — relicUse.** Who: *whoever spends the relic*. When: *each use*. repeatable. Say it aloud when it banks.
|
||||||
@@ -151,13 +151,13 @@ On success it hears that nothing has aged, and The Silent Host will not open hos
|
|||||||
**The clue is automatic:** a room that resets itself if you look away — and it was done deliberately.
|
**The clue is automatic:** a room that resets itself if you look away — and it was done deliberately.
|
||||||
[VANITY: Observation — 1 success] buys who did it, and roughly when
|
[VANITY: Observation — 1 success] buys who did it, and roughly when
|
||||||
|
|
||||||
**The decision.** a shortcut down, through water — *everything gets wet, including what burns*
|
**The decision.** a preserved thing blocking the way, which will not survive being moved — *move it and something here ends; leave it and lose a Turn*
|
||||||
|
|
||||||
**Hoard.** Tier **pocket**.
|
**Hoard.** Tier **pocket**.
|
||||||
**Temptation — glass.** a hand-mirror that shows the room a moment behind
|
**Temptation — shoes.** a child's shoes, unworn, in your size
|
||||||
- *Benefit:* once per scene, see what was just here
|
- *Benefit:* you do not tire; ignore fatigue for a scene
|
||||||
- *Accept:* free · *Use:* **+1 Bane** on the tab
|
- *Accept:* free · *Use:* **+1 Bane** on the tab
|
||||||
- *Standing:* your reflection lags, and others notice
|
- *Standing:* you have stopped ageing, and it shows in the wrong light
|
||||||
|
|
||||||
**Attention trigger:** lingering.
|
**Attention trigger:** lingering.
|
||||||
**Bane beat — flattery.** Who: *whoever performs the appeasement*. When: *each time it is used*. repeatable. Say it aloud when it banks.
|
**Bane beat — flattery.** Who: *whoever performs the appeasement*. When: *each time it is used*. repeatable. Say it aloud when it banks.
|
||||||
@@ -179,7 +179,7 @@ On success it hears that nothing has aged, and The Silent Host will not open hos
|
|||||||
**The clue is automatic:** something kept so well it has forgotten how to end — and it was done deliberately.
|
**The clue is automatic:** something kept so well it has forgotten how to end — and it was done deliberately.
|
||||||
[VANITY: Observation — 1 success] buys who did it, and roughly when
|
[VANITY: Observation — 1 success] buys who did it, and roughly when
|
||||||
|
|
||||||
**The decision.** a sealed door, and a crack you could squeeze through — *the crack costs skin and a Bane on a failure*
|
**The decision.** a sealed jar, and a way on that needs what is inside — *breaking the seal spends the year it holds, in front of you*
|
||||||
|
|
||||||
|
|
||||||
**Attention trigger:** seenTwice.
|
**Attention trigger:** seenTwice.
|
||||||
@@ -202,7 +202,7 @@ On success it hears that nothing has aged, and The Silent Host will not open hos
|
|||||||
**The clue is automatic:** a casket sized for something smaller than a body — and it was done deliberately.
|
**The clue is automatic:** a casket sized for something smaller than a body — and it was done deliberately.
|
||||||
[VANITY: Observation — 1 success] buys who did it, and roughly when
|
[VANITY: Observation — 1 success] buys who did it, and roughly when
|
||||||
|
|
||||||
**The decision.** a way back, still open — *leaving now means it will be worse when you return*
|
**The decision.** food and water laid out, still good — *eating restores you fully and the barrow adds you to what it keeps*
|
||||||
|
|
||||||
**Encounter — battle.** 1 Wraith and 3 Skeletons
|
**Encounter — battle.** 1 Wraith and 3 Skeletons
|
||||||
|
|
||||||
@@ -215,10 +215,10 @@ On success it hears that nothing has aged, and The Silent Host will not open hos
|
|||||||
- **Avoidable:** it will take an appeasement over a fight every time
|
- **Avoidable:** it will take an appeasement over a fight every time
|
||||||
- *Forge:* `forgeEncounter({heat:"battle", hoard:false, post:false, folderId})`
|
- *Forge:* `forgeEncounter({heat:"battle", hoard:false, post:false, folderId})`
|
||||||
**Hoard.** Tier **chest**.
|
**Hoard.** Tier **chest**.
|
||||||
**Temptation — ledger.** a book of names, one line left blank
|
**Temptation — jar.** a sealed jar holding one good year
|
||||||
- *Benefit:* write a name and the Host obeys it once
|
- *Benefit:* open it to undo a wound entirely, once
|
||||||
- *Accept:* take the Vice **Pride** · *Use:* **+2 Banes** on the tab
|
- *Accept:* free · *Use:* **+2 Banes** on the tab
|
||||||
- *Standing:* your own name is now in it
|
- *Standing:* the year is spent in front of everyone, visibly
|
||||||
|
|
||||||
**Attention trigger:** seenTwice.
|
**Attention trigger:** seenTwice.
|
||||||
**Bane beat — refusal.** Who: *whoever refuses the offer*. When: *once*. once only. Say it aloud when it banks.
|
**Bane beat — refusal.** Who: *whoever refuses the offer*. When: *once*. once only. Say it aloud when it banks.
|
||||||
|
|||||||
+19
-19
@@ -52,7 +52,7 @@ On success it is not alone, and The Silent Host will not open hostilities first.
|
|||||||
**The clue is automatic:** a coat-rack, full — and it was done deliberately.
|
**The clue is automatic:** a coat-rack, full — and it was done deliberately.
|
||||||
[VANITY: Observation — 1 success] buys who did it, and roughly when
|
[VANITY: Observation — 1 success] buys who did it, and roughly when
|
||||||
|
|
||||||
**The decision.** a way back, still open — *leaving now means it will be worse when you return*
|
**The decision.** an invitation to stay the night, meant sincerely — *accepting restores everything and costs a Turn and a Bane*
|
||||||
|
|
||||||
|
|
||||||
**Attention trigger:** lingering.
|
**Attention trigger:** lingering.
|
||||||
@@ -75,13 +75,13 @@ On success it is not alone, and The Silent Host will not open hostilities first.
|
|||||||
**The clue is automatic:** places set every evening for three hundred years — and it was done deliberately.
|
**The clue is automatic:** places set every evening for three hundred years — and it was done deliberately.
|
||||||
[VANITY: Observation — 1 success] buys who did it, and roughly when
|
[VANITY: Observation — 1 success] buys who did it, and roughly when
|
||||||
|
|
||||||
**The decision.** a shortcut down, through water — *everything gets wet, including what burns*
|
**The decision.** a way on that only works if someone stays behind — *whoever stays is not alone, and that is the problem*
|
||||||
|
|
||||||
**Hoard.** Tier **pocket**.
|
**Hoard.** Tier **pocket**.
|
||||||
**Temptation — coronet.** a small crown, sized for someone who never grew
|
**Temptation — hand.** a skeletal hand that closes gently on yours
|
||||||
- *Benefit:* +1 die when others must defer to you
|
- *Benefit:* you cannot be separated from the party by force
|
||||||
- *Accept:* free · *Use:* **+1 Bane** on the tab
|
- *Accept:* take the Vice **Attachment** · *Use:* **+2 Banes** on the tab
|
||||||
- *Standing:* you must be addressed correctly or lose the benefit
|
- *Standing:* nor can you leave one behind
|
||||||
|
|
||||||
**Attention trigger:** lingering.
|
**Attention trigger:** lingering.
|
||||||
**Bane beat — relicUse.** Who: *whoever spends the relic*. When: *each use*. repeatable. Say it aloud when it banks.
|
**Bane beat — relicUse.** Who: *whoever spends the relic*. When: *each use*. repeatable. Say it aloud when it banks.
|
||||||
@@ -103,7 +103,7 @@ On success it is not alone, and The Silent Host will not open hostilities first.
|
|||||||
**The clue is automatic:** chairs drawn up in a circle, all facing one seat — and it was done deliberately.
|
**The clue is automatic:** chairs drawn up in a circle, all facing one seat — and it was done deliberately.
|
||||||
[VANITY: Observation — 1 success] buys who did it, and roughly when
|
[VANITY: Observation — 1 success] buys who did it, and roughly when
|
||||||
|
|
||||||
**The decision.** a member of the faction, alone and not yet hostile — *talking costs time; not talking costs later*
|
**The decision.** a hand, skeletal, held out to be taken — *take it and you are not alone; you are also not alone later*
|
||||||
|
|
||||||
**Encounter — fight.** 1 Ghoul and 2 Skeletons
|
**Encounter — fight.** 1 Ghoul and 2 Skeletons
|
||||||
|
|
||||||
@@ -116,10 +116,10 @@ On success it is not alone, and The Silent Host will not open hostilities first.
|
|||||||
- **Avoidable:** the Ghoul goes for court dress first — send someone plain
|
- **Avoidable:** the Ghoul goes for court dress first — send someone plain
|
||||||
- *Forge:* `forgeEncounter({heat:"fight", hoard:false, post:false, folderId})`
|
- *Forge:* `forgeEncounter({heat:"fight", hoard:false, post:false, folderId})`
|
||||||
**Hoard.** Tier **cache**.
|
**Hoard.** Tier **cache**.
|
||||||
**Temptation — mask.** a courtier's mask, gold leaf over lime-wood, the mouth fixed in a small smile
|
**Temptation — chair.** a folding chair, kept dusted
|
||||||
- *Benefit:* the Host receives you as court
|
- *Benefit:* set it down and something friendly sits
|
||||||
- *Accept:* free · *Use:* **+1 Bane** on the tab
|
- *Accept:* free · *Use:* **+1 Bane** on the tab
|
||||||
- *Standing:* while worn you cannot be recognised by name
|
- *Standing:* it follows you if you leave it
|
||||||
|
|
||||||
**Attention trigger:** seenTwice.
|
**Attention trigger:** seenTwice.
|
||||||
**Bane beat — relicUse.** Who: *whoever spends the relic*. When: *each use*. repeatable. Say it aloud when it banks.
|
**Bane beat — relicUse.** Who: *whoever spends the relic*. When: *each use*. repeatable. Say it aloud when it banks.
|
||||||
@@ -141,7 +141,7 @@ On success it is not alone, and The Silent Host will not open hostilities first.
|
|||||||
**The clue is automatic:** a doorway with the hinges taken off — and it was done deliberately.
|
**The clue is automatic:** a doorway with the hinges taken off — and it was done deliberately.
|
||||||
[VANITY: Observation — 1 success] buys who did it, and roughly when
|
[VANITY: Observation — 1 success] buys who did it, and roughly when
|
||||||
|
|
||||||
**The decision.** something valuable, awkward to carry — *carrying it slows you and it is not yours*
|
**The decision.** a door that will only admit one of you at a time — *splitting the party is exactly what this place wants*
|
||||||
|
|
||||||
**Encounter — fight.** 1 Ghoul and 2 Skeletons
|
**Encounter — fight.** 1 Ghoul and 2 Skeletons
|
||||||
|
|
||||||
@@ -154,10 +154,10 @@ On success it is not alone, and The Silent Host will not open hostilities first.
|
|||||||
- **Avoidable:** the Ghoul goes for court dress first — send someone plain
|
- **Avoidable:** the Ghoul goes for court dress first — send someone plain
|
||||||
- *Forge:* `forgeEncounter({heat:"fight", hoard:false, post:false, folderId})`
|
- *Forge:* `forgeEncounter({heat:"fight", hoard:false, post:false, folderId})`
|
||||||
**Hoard.** Tier **cache**.
|
**Hoard.** Tier **cache**.
|
||||||
**Temptation — mask.** a courtier's mask, gold leaf over lime-wood, the mouth fixed in a small smile
|
**Temptation — coat.** a coat from a full rack, still shaped to someone
|
||||||
- *Benefit:* the Host receives you as court
|
- *Benefit:* once, be treated as expected and welcome
|
||||||
- *Accept:* free · *Use:* **+1 Bane** on the tab
|
- *Accept:* free · *Use:* **+1 Bane** on the tab
|
||||||
- *Standing:* while worn you cannot be recognised by name
|
- *Standing:* you are expected to come back
|
||||||
|
|
||||||
**Attention trigger:** lingering.
|
**Attention trigger:** lingering.
|
||||||
**Bane beat — relicUse.** Who: *whoever spends the relic*. When: *each use*. repeatable. Say it aloud when it banks.
|
**Bane beat — relicUse.** Who: *whoever spends the relic*. When: *each use*. repeatable. Say it aloud when it banks.
|
||||||
@@ -179,7 +179,7 @@ On success it is not alone, and The Silent Host will not open hostilities first.
|
|||||||
**The clue is automatic:** a name called so often it wore into the wall — and it was done deliberately.
|
**The clue is automatic:** a name called so often it wore into the wall — and it was done deliberately.
|
||||||
[VANITY: Observation — 1 success] buys who did it, and roughly when
|
[VANITY: Observation — 1 success] buys who did it, and roughly when
|
||||||
|
|
||||||
**The decision.** a sealed door, and a crack you could squeeze through — *the crack costs skin and a Bane on a failure*
|
**The decision.** a chair drawn out, and a place laid, and time to sit — *sitting costs a Turn and buys the Host's goodwill entirely*
|
||||||
|
|
||||||
|
|
||||||
**Attention trigger:** loud.
|
**Attention trigger:** loud.
|
||||||
@@ -202,7 +202,7 @@ On success it is not alone, and The Silent Host will not open hostilities first.
|
|||||||
**The clue is automatic:** a chair kept empty and dusted — and it was done deliberately.
|
**The clue is automatic:** a chair kept empty and dusted — and it was done deliberately.
|
||||||
[VANITY: Observation — 1 success] buys who did it, and roughly when
|
[VANITY: Observation — 1 success] buys who did it, and roughly when
|
||||||
|
|
||||||
**The decision.** two ways on: one narrow and dark, one wide and announced — *the wide way is faster and the barrow hears it*
|
**The decision.** one of the dead follows you and will not be told otherwise — *let it come and doors open; send it back and they close*
|
||||||
|
|
||||||
**Encounter — battle.** 1 Wraith and 3 Skeletons
|
**Encounter — battle.** 1 Wraith and 3 Skeletons
|
||||||
|
|
||||||
@@ -215,10 +215,10 @@ On success it is not alone, and The Silent Host will not open hostilities first.
|
|||||||
- **Avoidable:** it will take an appeasement over a fight every time
|
- **Avoidable:** it will take an appeasement over a fight every time
|
||||||
- *Forge:* `forgeEncounter({heat:"battle", hoard:false, post:false, folderId})`
|
- *Forge:* `forgeEncounter({heat:"battle", hoard:false, post:false, folderId})`
|
||||||
**Hoard.** Tier **chest**.
|
**Hoard.** Tier **chest**.
|
||||||
**Temptation — coronet.** a small crown, sized for someone who never grew
|
**Temptation — cup.** a second cup, always set out
|
||||||
- *Benefit:* +1 die when others must defer to you
|
- *Benefit:* share it and gain an ally among the dead for a scene
|
||||||
- *Accept:* free · *Use:* **+1 Bane** on the tab
|
- *Accept:* free · *Use:* **+1 Bane** on the tab
|
||||||
- *Standing:* you must be addressed correctly or lose the benefit
|
- *Standing:* they expect to be included from now on
|
||||||
|
|
||||||
**Attention trigger:** disturbed.
|
**Attention trigger:** disturbed.
|
||||||
**Bane beat — flattery.** Who: *whoever performs the appeasement*. When: *each time it is used*. repeatable. Say it aloud when it banks.
|
**Bane beat — flattery.** Who: *whoever performs the appeasement*. When: *each time it is used*. repeatable. Say it aloud when it banks.
|
||||||
|
|||||||
Reference in New Issue
Block a user