Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
b4990533a8 | ||
|
|
075be5c1de |
@@ -2154,5 +2154,6 @@
|
|||||||
"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/features below are FALLBACKS ONLY. Real content is motif-scoped under motifs.<id>."
|
"_globalPoolsNote": "decisions/temptations/features below are FALLBACKS ONLY. Real content is motif-scoped under motifs.<id>.",
|
||||||
|
"placeNameStyle": "claimant"
|
||||||
}
|
}
|
||||||
@@ -1169,5 +1169,6 @@
|
|||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
}
|
},
|
||||||
|
"placeNameStyle": "claimant"
|
||||||
}
|
}
|
||||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -12,6 +12,36 @@
|
|||||||
"label": "Castle",
|
"label": "Castle",
|
||||||
"geometry": "barrow",
|
"geometry": "barrow",
|
||||||
"motifs": 4
|
"motifs": 4
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "church",
|
||||||
|
"label": "Church",
|
||||||
|
"geometry": "barrow",
|
||||||
|
"motifs": 4
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "forest",
|
||||||
|
"label": "Forest",
|
||||||
|
"geometry": "forest",
|
||||||
|
"motifs": 4
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "palace",
|
||||||
|
"label": "Palace",
|
||||||
|
"geometry": "barrow",
|
||||||
|
"motifs": 4
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "temple",
|
||||||
|
"label": "Temple",
|
||||||
|
"geometry": "barrow",
|
||||||
|
"motifs": 4
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "town",
|
||||||
|
"label": "Town",
|
||||||
|
"geometry": "village",
|
||||||
|
"motifs": 4
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
+6
-2
@@ -64,6 +64,7 @@ export function generateSkeleton({ pack, areas = 6, ending = 'authored', rng })
|
|||||||
const transgression =
|
const transgression =
|
||||||
`The ${claimant} ${fill(accommodation.text, { conscript: appetite.conscript })}, ` +
|
`The ${claimant} ${fill(accommodation.text, { conscript: appetite.conscript })}, ` +
|
||||||
`so that ${appetite.purpose}.`;
|
`so that ${appetite.purpose}.`;
|
||||||
|
// The bottom problem is the claimant itself — a person in a tomb, an office in a town.
|
||||||
|
|
||||||
const bottomProblem = {
|
const bottomProblem = {
|
||||||
label: `The ${claimant}`,
|
label: `The ${claimant}`,
|
||||||
@@ -79,8 +80,11 @@ export function generateSkeleton({ pack, areas = 6, ending = 'authored', rng })
|
|||||||
};
|
};
|
||||||
const secondary = r.derive('faction2').pick(pack.factions.filter(f => f.id !== primary.id));
|
const secondary = r.derive('faction2').pick(pack.factions.filter(f => f.id !== primary.id));
|
||||||
|
|
||||||
// Named for its occupant. Drawing the name separately produced tombs named after strangers.
|
// A barrow or keep is named for its occupant — drawing that separately produced tombs named
|
||||||
const placeName = `${r.derive('place').pick(pack.placeNames.first)} ${claimant}`;
|
// after strangers. A settlement is not: it has its own name and the claimant merely runs it.
|
||||||
|
const placeName = pack.placeNameStyle === 'own'
|
||||||
|
? `${r.derive('place1').pick(pack.placeNames.first)} ${r.derive('place2').pick(pack.placeNames.second)}`
|
||||||
|
: `${r.derive('place').pick(pack.placeNames.first)} ${claimant}`;
|
||||||
|
|
||||||
// ---- the foreshadow chain ----------------------------------------------
|
// ---- the foreshadow chain ----------------------------------------------
|
||||||
const progression = pack.facetProgression ?? {};
|
const progression = pack.facetProgression ?? {};
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
"id": "vanity-delve",
|
"id": "vanity-delve",
|
||||||
"title": "DELVE — a dungeon layer for VANITY",
|
"title": "DELVE — a dungeon layer for VANITY",
|
||||||
"description": "Generates a coherent delve and sequences VANITY's Forge to stage it, one area at a time.",
|
"description": "Generates a coherent delve and sequences VANITY's Forge to stage it, one area at a time.",
|
||||||
"version": "0.2.0",
|
"version": "0.4.0",
|
||||||
"compatibility": {
|
"compatibility": {
|
||||||
"minimum": "13",
|
"minimum": "13",
|
||||||
"verified": "14.365"
|
"verified": "14.365"
|
||||||
|
|||||||
@@ -25,7 +25,8 @@
|
|||||||
"bane": 1
|
"bane": 1
|
||||||
},
|
},
|
||||||
"repeatable": true
|
"repeatable": true
|
||||||
}
|
},
|
||||||
|
"asks": "\"How do I look?\""
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "remembered",
|
"id": "remembered",
|
||||||
@@ -47,7 +48,8 @@
|
|||||||
"bane": 1
|
"bane": 1
|
||||||
},
|
},
|
||||||
"repeatable": true
|
"repeatable": true
|
||||||
}
|
},
|
||||||
|
"asks": "\"Say my name.\""
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "obeyed",
|
"id": "obeyed",
|
||||||
@@ -69,7 +71,8 @@
|
|||||||
"bane": 1
|
"bane": 1
|
||||||
},
|
},
|
||||||
"repeatable": true
|
"repeatable": true
|
||||||
}
|
},
|
||||||
|
"asks": "\"Do as you are told.\""
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "young",
|
"id": "young",
|
||||||
@@ -91,7 +94,8 @@
|
|||||||
"bane": 1
|
"bane": 1
|
||||||
},
|
},
|
||||||
"repeatable": true
|
"repeatable": true
|
||||||
}
|
},
|
||||||
|
"asks": "\"Tell me I have not changed.\""
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "envied",
|
"id": "envied",
|
||||||
@@ -113,7 +117,8 @@
|
|||||||
"bane": 1
|
"bane": 1
|
||||||
},
|
},
|
||||||
"repeatable": true
|
"repeatable": true
|
||||||
}
|
},
|
||||||
|
"asks": "\"What did you bring me?\""
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "attended",
|
"id": "attended",
|
||||||
@@ -135,7 +140,8 @@
|
|||||||
"bane": 1
|
"bane": 1
|
||||||
},
|
},
|
||||||
"repeatable": true
|
"repeatable": true
|
||||||
}
|
},
|
||||||
|
"asks": "\"You are not leaving.\""
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "forgiven",
|
"id": "forgiven",
|
||||||
@@ -157,7 +163,8 @@
|
|||||||
"bane": 1
|
"bane": 1
|
||||||
},
|
},
|
||||||
"repeatable": true
|
"repeatable": true
|
||||||
}
|
},
|
||||||
|
"asks": "\"Tell me it was not a sin.\""
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "first",
|
"id": "first",
|
||||||
@@ -179,7 +186,8 @@
|
|||||||
"bane": 1
|
"bane": 1
|
||||||
},
|
},
|
||||||
"repeatable": true
|
"repeatable": true
|
||||||
}
|
},
|
||||||
|
"asks": "\"Who goes first?\""
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"accommodations": [
|
"accommodations": [
|
||||||
@@ -2146,5 +2154,6 @@
|
|||||||
"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/features below are FALLBACKS ONLY. Real content is motif-scoped under motifs.<id>."
|
"_globalPoolsNote": "decisions/temptations/features below are FALLBACKS ONLY. Real content is motif-scoped under motifs.<id>.",
|
||||||
|
"placeNameStyle": "claimant"
|
||||||
}
|
}
|
||||||
@@ -1169,5 +1169,6 @@
|
|||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
}
|
},
|
||||||
|
"placeNameStyle": "claimant"
|
||||||
}
|
}
|
||||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -12,6 +12,36 @@
|
|||||||
"label": "Castle",
|
"label": "Castle",
|
||||||
"geometry": "barrow",
|
"geometry": "barrow",
|
||||||
"motifs": 4
|
"motifs": 4
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "church",
|
||||||
|
"label": "Church",
|
||||||
|
"geometry": "barrow",
|
||||||
|
"motifs": 4
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "forest",
|
||||||
|
"label": "Forest",
|
||||||
|
"geometry": "forest",
|
||||||
|
"motifs": 4
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "palace",
|
||||||
|
"label": "Palace",
|
||||||
|
"geometry": "barrow",
|
||||||
|
"motifs": 4
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "temple",
|
||||||
|
"label": "Temple",
|
||||||
|
"geometry": "barrow",
|
||||||
|
"motifs": 4
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "town",
|
||||||
|
"label": "Town",
|
||||||
|
"geometry": "village",
|
||||||
|
"motifs": 4
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -64,6 +64,7 @@ export function generateSkeleton({ pack, areas = 6, ending = 'authored', rng })
|
|||||||
const transgression =
|
const transgression =
|
||||||
`The ${claimant} ${fill(accommodation.text, { conscript: appetite.conscript })}, ` +
|
`The ${claimant} ${fill(accommodation.text, { conscript: appetite.conscript })}, ` +
|
||||||
`so that ${appetite.purpose}.`;
|
`so that ${appetite.purpose}.`;
|
||||||
|
// The bottom problem is the claimant itself — a person in a tomb, an office in a town.
|
||||||
|
|
||||||
const bottomProblem = {
|
const bottomProblem = {
|
||||||
label: `The ${claimant}`,
|
label: `The ${claimant}`,
|
||||||
@@ -79,8 +80,11 @@ export function generateSkeleton({ pack, areas = 6, ending = 'authored', rng })
|
|||||||
};
|
};
|
||||||
const secondary = r.derive('faction2').pick(pack.factions.filter(f => f.id !== primary.id));
|
const secondary = r.derive('faction2').pick(pack.factions.filter(f => f.id !== primary.id));
|
||||||
|
|
||||||
// Named for its occupant. Drawing the name separately produced tombs named after strangers.
|
// A barrow or keep is named for its occupant — drawing that separately produced tombs named
|
||||||
const placeName = `${r.derive('place').pick(pack.placeNames.first)} ${claimant}`;
|
// after strangers. A settlement is not: it has its own name and the claimant merely runs it.
|
||||||
|
const placeName = pack.placeNameStyle === 'own'
|
||||||
|
? `${r.derive('place1').pick(pack.placeNames.first)} ${r.derive('place2').pick(pack.placeNames.second)}`
|
||||||
|
: `${r.derive('place').pick(pack.placeNames.first)} ${claimant}`;
|
||||||
|
|
||||||
// ---- the foreshadow chain ----------------------------------------------
|
// ---- the foreshadow chain ----------------------------------------------
|
||||||
const progression = pack.facetProgression ?? {};
|
const progression = pack.facetProgression ?? {};
|
||||||
|
|||||||
Reference in New Issue
Block a user