@dreadwood-types/types 0.1.288 → 0.1.290

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (47) hide show
  1. package/dist/attackableNpcs.d.ts.map +1 -1
  2. package/dist/attackableNpcs.js +2 -0
  3. package/dist/attackableNpcs.js.map +1 -1
  4. package/dist/bossSignatures.d.ts.map +1 -1
  5. package/dist/bossSignatures.js +6 -0
  6. package/dist/bossSignatures.js.map +1 -1
  7. package/dist/constants.d.ts +2 -0
  8. package/dist/constants.d.ts.map +1 -1
  9. package/dist/constants.js.map +1 -1
  10. package/dist/dwarfHold.d.ts +7 -0
  11. package/dist/dwarfHold.d.ts.map +1 -1
  12. package/dist/dwarfHold.js +18 -2
  13. package/dist/dwarfHold.js.map +1 -1
  14. package/dist/dwarfHoldHub.d.ts +206 -0
  15. package/dist/dwarfHoldHub.d.ts.map +1 -0
  16. package/dist/dwarfHoldHub.js +513 -0
  17. package/dist/dwarfHoldHub.js.map +1 -0
  18. package/dist/explorerLedger.d.ts.map +1 -1
  19. package/dist/explorerLedger.js +4 -1
  20. package/dist/explorerLedger.js.map +1 -1
  21. package/dist/fieldGuide.d.ts +92 -0
  22. package/dist/fieldGuide.d.ts.map +1 -0
  23. package/dist/fieldGuide.js +157 -0
  24. package/dist/fieldGuide.js.map +1 -0
  25. package/dist/index.d.ts +3 -0
  26. package/dist/index.d.ts.map +1 -1
  27. package/dist/index.js +3 -0
  28. package/dist/index.js.map +1 -1
  29. package/dist/legacy.d.ts +1 -0
  30. package/dist/legacy.d.ts.map +1 -1
  31. package/dist/legacy.js +1 -0
  32. package/dist/legacy.js.map +1 -1
  33. package/dist/messages.d.ts +23 -1
  34. package/dist/messages.d.ts.map +1 -1
  35. package/dist/messages.js.map +1 -1
  36. package/dist/quests.d.ts.map +1 -1
  37. package/dist/quests.js +8 -0
  38. package/dist/quests.js.map +1 -1
  39. package/dist/storyQuests.d.ts +2 -1
  40. package/dist/storyQuests.d.ts.map +1 -1
  41. package/dist/storyQuests.js +8 -0
  42. package/dist/storyQuests.js.map +1 -1
  43. package/dist/titles.d.ts +62 -0
  44. package/dist/titles.d.ts.map +1 -0
  45. package/dist/titles.js +77 -0
  46. package/dist/titles.js.map +1 -0
  47. package/package.json +43 -43
@@ -0,0 +1,513 @@
1
+ import { DWARF_HOLD_AXIS_Z, DWARF_HOLD_BACK_BORE, DWARF_HOLD_BACK_BORE_PASSAGE, DWARF_HOLD_HALL, DWARF_HOLD_PLATFORM, } from './dwarfHold.js';
2
+ import { DWARF_HOLD_NAME, DWARF_HOLD_WARDEN_KIND, DWARF_HOLD_WARDEN_NAME } from './westernHalts.js';
3
+ import { INN_BREAD_PRICE } from './tavern.js';
4
+ import { DWARF_HOLD_SEAMS } from './dwarfHold.js';
5
+ export const HOLD_HUB_NAME = 'The Dwarf Hold';
6
+ export const BACK_BORE_NAME = 'The Back Bore';
7
+ // ---- The people --------------------------------------------------------------------------------------------------------------------------------
8
+ export const HOLD_FOLK_NAMES = {
9
+ smith: 'Forgemaster Dagrim Emberhand',
10
+ cook: 'Brewmistress Hilda Ashkettle',
11
+ archivist: 'Archivist Vessa Stonepage',
12
+ };
13
+ const BREAD = { kind: 'bread', price: INN_BREAD_PRICE };
14
+ const RABBIT = { kind: 'cookedrabbit', price: 30 };
15
+ const TROUT = { kind: 'cookedtrout', price: 40 };
16
+ const CHAR = { kind: 'cookedchar', price: 46 };
17
+ export const HOLD_FOLK = [
18
+ {
19
+ id: 'dhh-smith',
20
+ name: HOLD_FOLK_NAMES.smith,
21
+ place: 'the forge corner of the Dwarf Hold',
22
+ x: 966, z: 1125, faceX: 966, faceZ: 1123, leash: 1,
23
+ speak: "Dagrim Emberhand, forgemaster of the Hold. Two furnaces, two anvils and a hall full of dwarves who all think they could do it better. The fire costs nothing. Bring me ore and I will show you how a bar should ring.",
24
+ extras: [{ id: 'forge', label: 'The forge', say: "Iron from the seams smelts at fifteen, gold at thirty, and silver wants thirty-three and a bar from the north. The seams in the hall and the long gallery behind it are free to work. Mind the worm at the far end of the gallery." }],
25
+ trade: "Emberhand's Forge Stores. A copper pickaxe, torches for the dark bores and a bucket for the quench, at the going price.",
26
+ shop: { title: "Emberhand's Forge Stores", stock: [{ kind: 'copperpickaxe', price: 60 }, { kind: 'unlitbirchtorch', price: 12 }, { kind: 'bucket', price: 10 }] },
27
+ },
28
+ {
29
+ id: 'dhh-cook',
30
+ name: HOLD_FOLK_NAMES.cook,
31
+ place: 'the kitchen corner of the Dwarf Hold',
32
+ x: 961, z: 1162, faceX: 961, faceZ: 1160, leash: 1,
33
+ speak: "Hilda Ashkettle. I feed the Hold and I brew what keeps it singing. The ranges are free and the fire outside them is for anyone with a fish and no patience. A cold miner is a cross miner, and a cross miner breaks the crockery.",
34
+ extras: [{ id: 'kitchen', label: 'The kitchen', say: "Two ranges and a hearth fire. Trout and char off the line's fish, conger if you can land one, rabbit and hare from the surface. The Hold eats at every bell and none of it keeps." }],
35
+ trade: "Ashkettle's Hearth. Bread, rabbit off the spit, trout and a char if you want a proper supper.",
36
+ shop: { title: "Ashkettle's Hearth", stock: [BREAD, RABBIT, TROUT, CHAR] },
37
+ },
38
+ {
39
+ id: 'dhh-archivist',
40
+ name: HOLD_FOLK_NAMES.archivist,
41
+ place: 'the Great Stair, in the Dwarf Hold',
42
+ x: 977, z: 1146, faceX: 979, faceZ: 1146, leash: 1,
43
+ speak: "Vessa Stonepage, keeper of the stair's records. I count what goes up the Great Stair and what comes down, which these days is nothing either way. The ledgers are very short and very tidy.",
44
+ extras: [{ id: 'stair', label: 'The Great Stair', say: "It is sealed from this side with a ward and a hundred tons of rubble, and it will stay sealed. The warden holds the key to the ward and she does not lend it. If you want to know why, there are three rune pillars in this hall that tell the story, and I will tell you the rest." }],
45
+ },
46
+ ];
47
+ export function holdFolkByName(name) {
48
+ return name ? HOLD_FOLK.find((p) => p.name === name) ?? null : null;
49
+ }
50
+ export function holdFolkById(id) {
51
+ return id ? HOLD_FOLK.find((p) => p.id === id) ?? null : null;
52
+ }
53
+ /** The counters, keyed by the keeper's name (backend world.ts NAMED_SHOPKEEPERS). */
54
+ export const HOLD_SHOP_FOLK = HOLD_FOLK.filter((p) => !!p.shop);
55
+ /** The working stations in the hall (real entities: the skills' own kinds). */
56
+ export const HOLD_STATIONS = [
57
+ { id: 'dhh-furnace-1', kind: 'furnace', style: '', x: 964, z: 1121 },
58
+ { id: 'dhh-furnace-2', kind: 'furnace', style: '', x: 968, z: 1121 },
59
+ { id: 'dhh-anvil-1', kind: 'anvil', style: '', x: 964, z: 1123 },
60
+ { id: 'dhh-anvil-2', kind: 'anvil', style: '', x: 968, z: 1123 },
61
+ { id: 'dhh-stove-1', kind: 'stove', style: '', x: 960, z: 1160 },
62
+ { id: 'dhh-stove-2', kind: 'stove', style: '', x: 962, z: 1160 },
63
+ { id: 'dhh-hearth', kind: 'campfire', style: '', x: 964, z: 1160 },
64
+ ];
65
+ // ---- The Back Bore ------------------------------------------------------------------------------------------------------------------------------
66
+ /** Eight more seams along the gallery's north wall, worked from the south (the K3 kit's `wloreseam` stand-ins: ORE_ROCK_KIND). */
67
+ export const BACK_BORE_SEAMS = [
68
+ { id: 'dhb-seam-1', x: 962, z: 1104, style: 'iron' },
69
+ { id: 'dhb-seam-2', x: 966, z: 1104, style: 'coal' },
70
+ { id: 'dhb-seam-3', x: 970, z: 1104, style: 'gold' },
71
+ { id: 'dhb-seam-4', x: 974, z: 1104, style: 'iron' },
72
+ { id: 'dhb-seam-5', x: 978, z: 1104, style: 'coal' },
73
+ { id: 'dhb-seam-6', x: 982, z: 1104, style: 'gold' },
74
+ { id: 'dhb-seam-7', x: 986, z: 1104, style: 'iron' },
75
+ { id: 'dhb-seam-8', x: 990, z: 1104, style: 'gold' },
76
+ ];
77
+ /** The dressing of the gallery (the K2 pieces where registered, their stand-ins until then; same grammar as dwarfHold.ts). */
78
+ const BB = DWARF_HOLD_BACK_BORE;
79
+ export const BACK_BORE_FURNITURE = [
80
+ { id: 'dhb-sign', model: 'dhstationsign', facing: 's', x: 961, z: 1109, standIn: `placard-${BACK_BORE_NAME.toUpperCase()}`, scale: 1.1 },
81
+ { id: 'dhb-brazier-1', model: 'dhbrazier', facing: 's', x: 960, z: 1105, standIn: 'evstorelamp' },
82
+ { id: 'dhb-brazier-2', model: 'dhbrazier', facing: 's', x: 976, z: 1105, standIn: 'evstorelamp' },
83
+ { id: 'dhb-brazier-3', model: 'dhbrazier', facing: 's', x: 988, z: 1108, standIn: 'evstorelamp' },
84
+ { id: 'dhb-brazier-4', model: 'dhbrazier', facing: 's', x: 996, z: 1105, standIn: 'evstorelamp' },
85
+ { id: 'dhb-cart-1', model: 'dhorecart', facing: 'e', x: 965, z: 1108, standIn: 'evorecopper' },
86
+ { id: 'dhb-cart-2', model: 'dhorecart', facing: 'e', x: 979, z: 1108, standIn: 'evorecopper' },
87
+ { id: 'dhb-supplies-1', model: 'dhsupplystack', facing: 's', x: 970, z: 1108, standIn: 'evstorebarrels' },
88
+ { id: 'dhb-supplies-2', model: 'dhsupplystack', facing: 's', x: 984, z: 1103, standIn: 'evstorecrates' },
89
+ { id: 'dhb-banner-1', model: 'westbanner', facing: 's', x: 968, z: BB.minZ },
90
+ { id: 'dhb-banner-2', model: 'westbanner', facing: 's', x: 980, z: BB.minZ },
91
+ ];
92
+ /** The rock walls on the gallery's outer ring, leaving the passage open (the hall's grammar: dhrockwall runs on the outermost row). */
93
+ function backBoreWalls(furniture, tilesOf) {
94
+ const occupied = new Set(furniture.flatMap((p) => tilesOf(p).map((t) => `${t.x},${t.z}`)));
95
+ for (const s of BACK_BORE_SEAMS)
96
+ occupied.add(`${s.x},${s.z}`);
97
+ // The passage's mouth in the south wall stays open.
98
+ for (let x = DWARF_HOLD_BACK_BORE_PASSAGE.minX; x <= DWARF_HOLD_BACK_BORE_PASSAGE.maxX; x++)
99
+ occupied.add(`${x},${BB.maxZ}`);
100
+ const out = [];
101
+ for (const side of ['n', 's', 'e', 'w']) {
102
+ const vertical = side === 'e' || side === 'w';
103
+ const lo = vertical ? BB.minZ + 1 : BB.minX + 1;
104
+ const hi = vertical ? BB.maxZ - 1 : BB.maxX - 1;
105
+ for (let u = lo; u <= hi - 1;) {
106
+ const x = vertical ? (side === 'e' ? BB.maxX : BB.minX) : u;
107
+ const z = vertical ? u : side === 'n' ? BB.minZ : BB.maxZ;
108
+ const p = { id: `dhb-rock-${side}-${u}`, model: 'dhrockwall', facing: side === 'e' ? 'w' : side === 'w' ? 'e' : side === 'n' ? 's' : 'n', x, z };
109
+ const tiles = tilesOf(p);
110
+ if (tiles.every((t) => !occupied.has(`${t.x},${t.z}`))) {
111
+ out.push(p);
112
+ for (const t of tiles)
113
+ occupied.add(`${t.x},${t.z}`);
114
+ u += 3;
115
+ }
116
+ else
117
+ u++;
118
+ }
119
+ }
120
+ return out;
121
+ }
122
+ /** The complete gallery: furniture plus its rock walls (the footprint reader is passed in, so this file never imports the hall's). */
123
+ export function backBorePieces(tilesOf) {
124
+ return [...BACK_BORE_FURNITURE, ...backBoreWalls(BACK_BORE_FURNITURE, tilesOf)];
125
+ }
126
+ // ---- The Rockworm (the mid-band boss) -------------------------------------------------------------------------------------------------------------
127
+ export const ROCKWORM_KIND = 'rockworm';
128
+ export const ROCKWORM = {
129
+ name: 'Back Bore Rockworm',
130
+ level: [36, 37],
131
+ maxHit: 21,
132
+ healthScale: 2.0,
133
+ /** Drawn on the Stone Serpent's model, bigger. */
134
+ scale: 2.6,
135
+ leash: 7,
136
+ /** Where it lies: the gallery's east end, a boss arena twelve tiles long. */
137
+ x: 992,
138
+ z: 1106,
139
+ note: 'A fat grey worm of the deep rock, thick as a cart, that bores the Hold\'s back gallery and lies across the east end of it. It does nothing until it is struck. Every fourth blow it coils back and lunges, announced a full turn ahead: step clear of the ring on the floor and it spends itself on the stone. Back six to eight minutes after it falls.',
140
+ };
141
+ export const ROCKWORM_RESPAWN_MS = { minMs: 360_000, maxMs: 480_000 };
142
+ export const ROCKWORM_PACE = { speed: 0.7, idleChance: 0.8, pause: [5, 12] };
143
+ /** The arena: the gallery's east end, where the Rockworm lies. Standing in it is what the quest's `reach` step counts. */
144
+ export const ROCKWORM_ARENA = { minX: 984, maxX: 997, minZ: 1103, maxZ: 1109 };
145
+ export const ROCKWORM_DROPS = [
146
+ { itemKind: 'coins', chance: 1, minQty: 150, maxQty: 420 },
147
+ { itemKind: 'gold', chance: 0.5, minQty: 1, maxQty: 3 },
148
+ { itemKind: 'iron', chance: 0.6, minQty: 2, maxQty: 5 },
149
+ { itemKind: 'coal', chance: 0.6, minQty: 2, maxQty: 6 },
150
+ ];
151
+ // ---- Quest props -------------------------------------------------------------------------------------------------------------------------------
152
+ /** Quest props (QUEST_PROP_KIND, style `<prop>:<which>`): the lamps along the platform and the rune pillars in the hall. */
153
+ export const HOLD_PROP = { lamp: 'dhlamp', rune: 'dhrune' };
154
+ /**
155
+ * The six platform lamps, north to south, on the platform's back column (x 952) clear of the doorways' rows (1118-1120, 1143-1145,
156
+ * 1168-1170), the benches and the nameboard. The line's trains blow them out as they pass; The Lamplighter's Run relights them in order.
157
+ */
158
+ export const HOLD_LAMP_Z = [1110, 1124, 1137, 1150, 1163, 1177];
159
+ export const HOLD_LAMPS = HOLD_LAMP_Z.map((z, i) => ({ id: `dhh-lamp-${i + 1}`, x: DWARF_HOLD_PLATFORM.maxX, z, style: `${HOLD_PROP.lamp}:${i + 1}` }));
160
+ export const HOLD_LAMP_ORDER = HOLD_LAMPS.map((l) => l.style);
161
+ /** The three rune pillars (The Sealed Stair's story): the kings', the warden's and the smiths'. */
162
+ export const HOLD_RUNES = [
163
+ { id: 'dhh-rune-kings', x: 979, z: 1135, style: `${HOLD_PROP.rune}:kings` },
164
+ { id: 'dhh-rune-wardens', x: 979, z: 1153, style: `${HOLD_PROP.rune}:wardens` },
165
+ { id: 'dhh-rune-smiths', x: 962, z: 1132, style: `${HOLD_PROP.rune}:smiths` },
166
+ ];
167
+ export const HOLD_QUEST_PROPS = [...HOLD_LAMPS, ...HOLD_RUNES];
168
+ export const HOLD_QUEST_PROP_NAMES = {
169
+ ...Object.fromEntries(HOLD_LAMPS.map((l, i) => [l.style, `Platform Lamp ${i + 1}`])),
170
+ [`${HOLD_PROP.rune}:kings`]: "The Kings' Rune",
171
+ [`${HOLD_PROP.rune}:wardens`]: "The Wardens' Rune",
172
+ [`${HOLD_PROP.rune}:smiths`]: "The Smiths' Rune",
173
+ };
174
+ /** What a click on a rune pillar reads (the Sealed Stair's story; the quest counts the three). */
175
+ export const HOLD_RUNE_TEXT = {
176
+ kings: 'The first rune is cut by the Hold\'s kings: "We built the stair to be climbed. We seal it to be kept."',
177
+ wardens: 'The second rune is the wardens\': "The ward opens for those who have earned the climb, and for nobody else, and only when the Hold is ready."',
178
+ smiths: 'The third rune is the smiths\': "What is sealed below is not wicked. It is only not ready. Ready is a thing you grow into."',
179
+ };
180
+ /** The model a Hold prop draws with (CAPITAL_BUILDING_MODELS), or null for a prop that is not one of them. */
181
+ export function holdHubPropModel(prop) {
182
+ if (prop === HOLD_PROP.lamp)
183
+ return 'westlantern';
184
+ if (prop === HOLD_PROP.rune)
185
+ return 'wlhallpillar';
186
+ return null;
187
+ }
188
+ // ---- The quests --------------------------------------------------------------------------------------------------------------------------------
189
+ export const HOLD_HUB_IDS = ['holdOre', 'holdSupper', 'holdForging', 'holdLamps', 'holdStairLore', 'holdRockworm'];
190
+ const RESIDENT = 'resident';
191
+ const SMITH = { kind: RESIDENT, name: HOLD_FOLK_NAMES.smith };
192
+ const COOK = { kind: RESIDENT, name: HOLD_FOLK_NAMES.cook };
193
+ const ARCHIVIST = { kind: RESIDENT, name: HOLD_FOLK_NAMES.archivist };
194
+ const THRIDA = { kind: DWARF_HOLD_WARDEN_KIND, name: DWARF_HOLD_WARDEN_NAME };
195
+ /** Levels (placeholders). */
196
+ export const HOLD_ORE_COMBAT = 28;
197
+ export const HOLD_SUPPER_COMBAT = 28;
198
+ export const HOLD_FORGING_COMBAT = 33;
199
+ export const HOLD_LAMPS_COMBAT = 30;
200
+ export const HOLD_ROCKWORM_COMBAT = 34;
201
+ export const HOLD_STAIR_LORE_COMBAT = 36;
202
+ /** Skill gates (the ores' and bars' own levels are in mining.ts and blacksmithing.ts). */
203
+ export const HOLD_ORE_MINING = 30;
204
+ export const HOLD_SUPPER_COOKING = 25;
205
+ export const HOLD_FORGING_SMITHING = 34;
206
+ /** Counts (placeholders). */
207
+ export const HOLD_ORE_IRON = 6;
208
+ export const HOLD_ORE_COAL = 6;
209
+ export const HOLD_ORE_GOLD = 3;
210
+ export const HOLD_SUPPER_COOKS = 4;
211
+ export const HOLD_SUPPER_DISHES = 4;
212
+ export const HOLD_FORGING_GOLD_BARS = 2;
213
+ export const HOLD_FORGING_SILVER_BARS = 2;
214
+ export const HOLD_FORGING_DAGGERS = 1;
215
+ /** Every dish that counts for the Hold's supper (cooked fish, game and bread). */
216
+ export const HOLD_SUPPER_DISH_KINDS = ['cookedtrout', 'cookedchar', 'cookedconger', 'cookedbass', 'cookedhare', 'cookedrabbit', 'cookedtidesnapper', 'bread', 'honeybread'];
217
+ /**
218
+ * The Lamplighter's Run's clock: shorter than the gap between two trains (the cycle over the trains) so the lamps are relit before the next
219
+ * one blows them out again. The types test reads the circuit and fails if it ever stops being shorter. The run walks about 70 tiles of
220
+ * platform.
221
+ */
222
+ export const HOLD_LAMPS_MS = 120_000;
223
+ export const HOLD_LAMPS_WARN_AT_MS = [60_000, 30_000, 15_000];
224
+ /** The Hold's pocket, in words, for the helper arrows (the hall's middle is a standable tile). */
225
+ const HALL_AT = { x: 966, z: DWARF_HOLD_AXIS_Z, label: 'the Dwarf Hold' };
226
+ const PLATFORM_AT = { x: 951, z: 1144, label: 'the Dwarf Hold platform' };
227
+ const BACK_BORE_AT = { x: 975, z: 1106, label: 'the Back Bore' };
228
+ const SMITH_WHERE = `Forgemaster Dagrim Emberhand stands by the furnaces and anvils in the north half of ${DWARF_HOLD_NAME}, off the Western Line's platform.`;
229
+ const COOK_WHERE = `Brewmistress Hilda Ashkettle stands by the two ranges in the south half of ${DWARF_HOLD_NAME}.`;
230
+ const ARCHIVIST_WHERE = `Archivist Vessa Stonepage stands before the Great Stair at the east end of ${DWARF_HOLD_NAME}'s hall.`;
231
+ const THRIDA_WHERE = `Warden Thrida Deepstair stands just inside the great door of ${DWARF_HOLD_NAME}, off the platform.`;
232
+ export const HOLD_ORE_QUEST = {
233
+ giver: SMITH,
234
+ requires: {
235
+ combat: HOLD_ORE_COMBAT,
236
+ skill: { skill: 'mining', level: HOLD_ORE_MINING },
237
+ refuse: `The Hold's seams are for those with a steady arm and a good pick. Come back at Combat ${HOLD_ORE_COMBAT} and Mining ${HOLD_ORE_MINING}.`,
238
+ },
239
+ offer: "The Hold's furnaces have been cold since the last shift went home. I have the hands but not the ore. The face in the hall and the long gallery behind it are full of it, and nobody goes in. Six iron, six coal and three gold, and I can light the forge properly. Will you bring me a load?",
240
+ accept: "Work the seams in the hall or the gallery behind it (Mining 30 for the gold, and an iron pickaxe) and bring me the ore. Six iron, six coal, three gold. Mind the worm at the far end of the gallery: leave it be unless you are looking for trouble.",
241
+ decline: 'Then the furnaces stay cold and the Hold goes on eating cold bread. Your choice.',
242
+ steps: [
243
+ {
244
+ kind: 'deliver',
245
+ npc: SMITH,
246
+ items: [
247
+ { kinds: ['iron'], qty: HOLD_ORE_IRON, label: 'Iron ore' },
248
+ { kinds: ['coal'], qty: HOLD_ORE_COAL, label: 'Coal' },
249
+ { kinds: ['gold'], qty: HOLD_ORE_GOLD, label: 'Gold ore' },
250
+ ],
251
+ label: `Bring Dagrim ${HOLD_ORE_IRON} iron ore, ${HOLD_ORE_COAL} coal and ${HOLD_ORE_GOLD} gold ore`,
252
+ hint: "The seams run down the hall's east wall and along the north wall of the Back Bore, the gallery behind the hall. Iron and coal are the dark seams, gold the yellow-flecked ones. Bring a pickaxe.",
253
+ say: "Good ore, clean ore. Listen to that: it rings before it is even smelted. The forge is lit, and the Hold will have its bars by the evening bell.",
254
+ short: 'Six iron ore, six coal and three gold ore, from the seams in the hall and the Back Bore.',
255
+ place: HALL_AT,
256
+ },
257
+ ],
258
+ done: 'The furnaces are roaring and the Hold smells of hot iron for the first time in a year. Here is a purse, and the first bar is yours when it is made.',
259
+ after: 'The forge is lit and the Hold is warm. Not bad for a handful of ore.',
260
+ rewards: { coins: 600, xp: { mining: 1800, blacksmithing: 900, explorer: 1500 } },
261
+ };
262
+ export const HOLD_SUPPER_QUEST = {
263
+ giver: COOK,
264
+ requires: {
265
+ combat: HOLD_SUPPER_COMBAT,
266
+ skill: { skill: 'cooking', level: HOLD_SUPPER_COOKING },
267
+ refuse: `The Hold eats well or it does not eat. Come back with a hand for the range (Combat ${HOLD_SUPPER_COMBAT}, Cooking ${HOLD_SUPPER_COOKING}).`,
268
+ },
269
+ offer: "Four dozen mouths in the Hold on a good day and a kitchen of one. The miners come off shift at the evening bell and I have nothing in the pot. If you can cook, cook: four dishes at my range, and four hot ones in my hand. I will not ask where the fish came from.",
270
+ accept: "Cook four dishes at one of my ranges or the hearth fire (any fish, game or bread) and bring me four hot cooked dishes to put on the long table.",
271
+ decline: 'Then I make soup out of the boot-leather again, and the miners do not thank either of us.',
272
+ steps: [
273
+ {
274
+ kind: 'cook',
275
+ dishes: HOLD_SUPPER_DISH_KINDS,
276
+ qty: HOLD_SUPPER_COOKS,
277
+ label: `Cook ${HOLD_SUPPER_COOKS} dishes at the Hold's ranges`,
278
+ hint: "The two ranges and the hearth fire are in the south half of the hall, by the long tables. Raw fish and game, or flour for bread, from your bag.",
279
+ },
280
+ {
281
+ kind: 'deliver',
282
+ npc: COOK,
283
+ items: [{ kinds: HOLD_SUPPER_DISH_KINDS, qty: HOLD_SUPPER_DISHES, label: 'Cooked dish' }],
284
+ label: `Bring Hilda ${HOLD_SUPPER_DISHES} cooked dishes`,
285
+ hint: COOK_WHERE,
286
+ say: 'Hot, and the right way up. The miners will cheer, and then they will eat it before the bell stops ringing. You have a cook in you.',
287
+ short: 'Four cooked dishes: any cooked fish, game or bread.',
288
+ place: HALL_AT,
289
+ },
290
+ ],
291
+ done: 'A full table and a quiet kitchen. The Hold hums when it is fed. Take this for your trouble.',
292
+ after: 'The pot is full and the miners are sleepy. A good evening, that.',
293
+ rewards: { coins: 550, xp: { cooking: 2000, explorer: 1400 } },
294
+ };
295
+ export const HOLD_FORGING_QUEST = {
296
+ giver: SMITH,
297
+ requires: {
298
+ quest: 'holdOre',
299
+ combat: HOLD_FORGING_COMBAT,
300
+ skills: [{ skill: 'blacksmithing', level: HOLD_FORGING_SMITHING }],
301
+ refuse: `The Hold's best work wants a smith's hand (Blacksmithing ${HOLD_FORGING_SMITHING}), a bit more steel (Combat ${HOLD_FORGING_COMBAT}) and the forge lit: do Ore for the Forge first.`,
302
+ },
303
+ offer: "The forge is lit, so now I can ask for what I was too proud to ask for before. The stair-wards want mending and a ward is gold for the wire and silver for the bite. Two gold bars, two silver bars and a silver dagger, forged by your hand and not mine. Silver is not mined here: the north has it. Will you do the work?",
304
+ accept: "Smelt two gold bars from the Hold's gold, bring two silver bars from the north (the Crystal Gorge has the silver; the Capital's Forge Master has the use of it), and forge a silver dagger at an anvil. Bring me all of it: two gold bars, two silver bars and the dagger.",
305
+ decline: 'Then the wards stay cracked. It is not my place to say what that costs.',
306
+ steps: [
307
+ {
308
+ kind: 'deliver',
309
+ npc: SMITH,
310
+ items: [
311
+ { kinds: ['goldbar'], qty: HOLD_FORGING_GOLD_BARS, label: 'Gold bar' },
312
+ { kinds: ['silverbar'], qty: HOLD_FORGING_SILVER_BARS, label: 'Silver bar' },
313
+ { kinds: ['silverdagger'], qty: HOLD_FORGING_DAGGERS, label: 'Silver dagger' },
314
+ ],
315
+ label: `Bring Dagrim ${HOLD_FORGING_GOLD_BARS} gold bars, ${HOLD_FORGING_SILVER_BARS} silver bars and a silver dagger`,
316
+ hint: 'Smelt gold ore (Blacksmithing 30) and silver (33) at a furnace; forge the dagger at an anvil (34). The Hold has the furnaces and anvils; silver ore comes from the Crystal Gorge in the Frozen north.',
317
+ say: 'Look at that edge. It will cut a ward the way the old smiths did, and the gold wire will carry the rest. You have the hands for this. The Hold thanks you, and so do I.',
318
+ short: 'Two gold bars, two silver bars and a forged silver dagger.',
319
+ place: HALL_AT,
320
+ },
321
+ ],
322
+ done: 'The wards will hold another age. I did not think I would live to see good silver on the anvil again. Take this, and my hand on it.',
323
+ after: 'The wards hold, and the forge rings. A good bargain, that.',
324
+ rewards: { coins: 1200, xp: { blacksmithing: 3500, explorer: 2200 }, choiceXp: { qty: 1500, skills: ['mining', 'blacksmithing'] } },
325
+ };
326
+ export const HOLD_LAMPS_QUEST = {
327
+ giver: THRIDA,
328
+ requires: {
329
+ combat: HOLD_LAMPS_COMBAT,
330
+ silent: true,
331
+ refuse: `The platform lamps are a runner's work (Combat ${HOLD_LAMPS_COMBAT}).`,
332
+ },
333
+ offer: "Every train that goes by along bore B blows the platform lamps out with its draught, and every lamp that stays dark is a miner who walks into the gap. There are six along the back of the platform, north to south, and I have not the knees for it. Two minutes, no more: the next train is on its way, and it will put them out again. Will you light them?",
334
+ accept: "Light the platform lamps in order, north to south, the first at the north end by the rail and the sixth at the south. Touch each one. Out of order, and the run starts over. Two minutes from now.",
335
+ decline: 'Then the lamps stay dark, and I keep my breath for the miners.',
336
+ clock: {
337
+ durationMs: HOLD_LAMPS_MS,
338
+ warnAtMs: HOLD_LAMPS_WARN_AT_MS,
339
+ warn: "The Lamplighter's Run: {left} left. Next: {next}.",
340
+ fail: "The Lamplighter's Run: the train has gone by and blown them all out again. Thrida will let you try again.",
341
+ },
342
+ steps: [
343
+ {
344
+ kind: 'touch',
345
+ prop: HOLD_PROP.lamp,
346
+ qty: HOLD_LAMPS.length,
347
+ order: HOLD_LAMP_ORDER,
348
+ wrong: { notice: 'Out of order: the draught takes the lamps. Start again at the north end.' },
349
+ notices: Object.fromEntries(HOLD_LAMPS.map((l, i) => [l.style, i + 1 === HOLD_LAMPS.length ? 'The last lamp catches. The whole platform glows.' : `Lamp ${i + 1} is lit. On to the next.`])),
350
+ label: `Light the ${HOLD_LAMPS.length} platform lamps, north to south`,
351
+ hint: 'The lamps stand along the back of the platform, between the train and the hall. Start at the north end and light them in order. Be quick: the clock runs.',
352
+ place: PLATFORM_AT,
353
+ },
354
+ {
355
+ kind: 'talk',
356
+ npc: THRIDA,
357
+ say: 'The whole platform is lit and the train has not seen it. The miners will walk the gap safely tonight. Well run.',
358
+ label: 'Tell Warden Thrida the lamps are lit',
359
+ hint: THRIDA_WHERE,
360
+ place: HALL_AT,
361
+ },
362
+ ],
363
+ done: 'Six lamps and not a second wasted. The line has not had a runner like you in years. Here is something for the legs.',
364
+ after: 'The lamps are lit until the next train, and the next train will put them out. That is the line.',
365
+ rewards: { coins: 700, xp: { explorer: 1800 }, choiceXp: { qty: 1800 } },
366
+ };
367
+ export const HOLD_STAIR_LORE_QUEST = {
368
+ giver: ARCHIVIST,
369
+ requires: {
370
+ quest: 'holdLamps',
371
+ combat: HOLD_STAIR_LORE_COMBAT,
372
+ refuse: `The stair's records are not for a stranger. Light the platform lamps for the warden first, and come back at Combat ${HOLD_STAIR_LORE_COMBAT}.`,
373
+ },
374
+ offer: "You have asked what the Great Stair is for, as everyone does, and I tell them it is sealed and they go away. You lit the lamps, so I will tell you more. The stair goes up to the surface in the far north-west. It was sealed from below, on purpose, by the Hold's own wardens. There are three runes in this hall that say why. Read them, and then come to me. Will you?",
375
+ accept: "Read the three rune pillars: the kings' by the stair, the wardens' on the south side of the aisle, the smiths' in the forge corner. Then tell Warden Thrida what you have read and bring it back to me. The stair stays sealed; I am only telling you why.",
376
+ decline: 'Then the stair keeps its secrets, and so do I.',
377
+ steps: [
378
+ {
379
+ kind: 'touch',
380
+ prop: HOLD_PROP.rune,
381
+ qty: HOLD_RUNES.length,
382
+ notices: {
383
+ [`${HOLD_PROP.rune}:kings`]: HOLD_RUNE_TEXT.kings,
384
+ [`${HOLD_PROP.rune}:wardens`]: HOLD_RUNE_TEXT.wardens,
385
+ [`${HOLD_PROP.rune}:smiths`]: HOLD_RUNE_TEXT.smiths,
386
+ },
387
+ label: 'Read the three rune pillars',
388
+ hint: "One stands beside the Great Stair on the north side, one on its south side and one in the forge corner of the hall. Click each to read it.",
389
+ place: HALL_AT,
390
+ },
391
+ {
392
+ kind: 'talk',
393
+ npc: THRIDA,
394
+ say: "You have read the runes, then. Ready is a thing you grow into, and the stair opens for those who have grown, and only when the Hold says. I hold the key to the ward, and I do not lend it. Tell Vessa I said she may give you the keepsake.",
395
+ label: 'Tell Warden Thrida what the runes said',
396
+ hint: THRIDA_WHERE,
397
+ place: HALL_AT,
398
+ },
399
+ {
400
+ kind: 'talk',
401
+ npc: ARCHIVIST,
402
+ say: "Then you know as much as the ledgers do. The stair was sealed because what lies up it was not ready, and neither was the Hold, and neither, I think, was the world. When all three are ready, the warden will know. Until then: take this. It is a bar of Hold gold, stamped with the Stair-Keepers' mark. It opens nothing. It is only to say that you asked, and you listened.",
403
+ label: 'Take the keepsake from Archivist Vessa',
404
+ hint: ARCHIVIST_WHERE,
405
+ place: HALL_AT,
406
+ },
407
+ ],
408
+ done: "Now you carry the Stair-Keepers' mark. It is only gold, but it says you were here. The stair stays sealed; the story does not.",
409
+ after: 'The stair is sealed, and the ledgers are tidy. Come and ask again when you are older.',
410
+ rewards: { coins: 800, xp: { explorer: 3000 }, items: [{ kind: 'goldbar', qty: 1 }] },
411
+ };
412
+ export const HOLD_ROCKWORM_QUEST = {
413
+ giver: THRIDA,
414
+ requires: {
415
+ quest: 'holdLamps',
416
+ combat: HOLD_ROCKWORM_COMBAT,
417
+ silent: true,
418
+ refuse: `The Back Bore's worm is no work for a green hand. Light the lamps first, and come back at Combat ${HOLD_ROCKWORM_COMBAT}.`,
419
+ },
420
+ offer: "There is a worm at the end of the Back Bore, the long gallery behind the hall: grey, fat as a cart, and quiet as the rock until it is touched. It has lain across the best seams for a year and the miners will not pass it. It lunges. You see it coming: it coils back and a ring of dust closes round it, and if you step clear before the blow lands it hits nothing but stone. Will you drive it off?",
421
+ accept: "Walk to the east end of the Back Bore (the passage is at the north-west corner of the hall) and put the Rockworm down. It lunges every fourth blow: watch for the ring and step out of it. Then tell me it is done.",
422
+ decline: 'Then the worm keeps the gallery, and the seams stay out of reach.',
423
+ steps: [
424
+ {
425
+ kind: 'reach',
426
+ area: ROCKWORM_ARENA,
427
+ at: { x: 990, z: 1106, label: "the Back Bore's east end" },
428
+ label: "Walk to the Back Bore's east end",
429
+ hint: "The Back Bore is the long gallery behind the hall: through the three-wide passage in the hall's north-west corner, then east along it to the far end.",
430
+ place: BACK_BORE_AT,
431
+ },
432
+ {
433
+ kind: 'kill',
434
+ npcKinds: [ROCKWORM_KIND],
435
+ qty: 1,
436
+ npcLabel: 'Back Bore Rockworm',
437
+ label: 'Put down the Back Bore Rockworm',
438
+ hint: `The Rockworm (level ${ROCKWORM.level[0]}-${ROCKWORM.level[1]}) lies at the gallery's east end. It lunges every fourth blow, with a ring on the floor a full turn ahead: step out of the ring to dodge. It fights only when struck.`,
439
+ place: BACK_BORE_AT,
440
+ },
441
+ {
442
+ kind: 'talk',
443
+ npc: THRIDA,
444
+ say: 'The worm is down and the seams are open. The miners will cheer, and the cook will complain about the dust. You have earned the Hold a good deal of peace.',
445
+ label: 'Tell Warden Thrida the worm is down',
446
+ hint: THRIDA_WHERE,
447
+ place: HALL_AT,
448
+ },
449
+ ],
450
+ done: 'The Back Bore is open again. The Hold has a long way to go yet, but it has a gallery. Here is a purse and my thanks.',
451
+ after: 'The worm comes back in time. They do. Come and put it down again when the seams want clearing.',
452
+ rewards: { coins: 1000, xp: { mining: 1500, explorer: 2500 }, choiceXp: { qty: 3000, skills: ['strength', 'archery', 'precision'] } },
453
+ };
454
+ export const HOLD_HUB_QUESTS = {
455
+ holdOre: HOLD_ORE_QUEST,
456
+ holdSupper: HOLD_SUPPER_QUEST,
457
+ holdForging: HOLD_FORGING_QUEST,
458
+ holdLamps: HOLD_LAMPS_QUEST,
459
+ holdStairLore: HOLD_STAIR_LORE_QUEST,
460
+ holdRockworm: HOLD_ROCKWORM_QUEST,
461
+ };
462
+ export const HOLD_HUB_META = {
463
+ holdOre: {
464
+ title: 'Ore for the Forge',
465
+ description: "Forgemaster Dagrim Emberhand wants six iron ore, six coal and three gold ore from the Dwarf Hold's seams to light the forge. Needs Combat 28 and Mining 30.",
466
+ category: 'skilling',
467
+ art: { item: 'goldbar' },
468
+ },
469
+ holdSupper: {
470
+ title: 'Supper for the Deep Shift',
471
+ description: "Brewmistress Hilda Ashkettle needs four dishes cooked at the Hold's ranges and four cooked dishes on the table. Needs Combat 28 and Cooking 25.",
472
+ category: 'skilling',
473
+ art: { item: 'cookedtrout' },
474
+ },
475
+ holdForging: {
476
+ title: 'Gold and Silver for the Hold',
477
+ description: "Forgemaster Dagrim wants two gold bars, two silver bars and a silver dagger forged by your hand to mend the stair-wards. Needs Ore for the Forge, Combat 33 and Blacksmithing 34.",
478
+ category: 'skilling',
479
+ art: { item: 'silverbar' },
480
+ },
481
+ holdLamps: {
482
+ title: "The Lamplighter's Run",
483
+ description: "Warden Thrida wants the six platform lamps lit in order, north to south, in two minutes, before the next train blows them out. Needs Combat 30.",
484
+ category: 'side',
485
+ art: { npc: DWARF_HOLD_WARDEN_KIND },
486
+ },
487
+ holdStairLore: {
488
+ title: 'What the Stair Keeps',
489
+ description: "Archivist Vessa Stonepage will tell you why the Great Stair is sealed, if you read the three rune pillars and ask Warden Thrida. The stair stays sealed. Needs The Lamplighter's Run and Combat 36.",
490
+ category: 'side',
491
+ art: { item: 'goldbar' },
492
+ },
493
+ holdRockworm: {
494
+ title: 'The Rockworm of the Back Bore',
495
+ description: "Warden Thrida wants the Back Bore Rockworm put down. It lunges every fourth blow: step out of the ring. Needs The Lamplighter's Run and Combat 34.",
496
+ category: 'combat',
497
+ art: { npc: ROCKWORM_KIND },
498
+ },
499
+ };
500
+ /** Where each giver stands, for the quest guide. */
501
+ export const HOLD_HUB_GIVER_PLACES = {
502
+ holdOre: SMITH_WHERE,
503
+ holdSupper: COOK_WHERE,
504
+ holdForging: SMITH_WHERE,
505
+ holdLamps: THRIDA_WHERE,
506
+ holdStairLore: ARCHIVIST_WHERE,
507
+ holdRockworm: THRIDA_WHERE,
508
+ };
509
+ /** The extra Seams the Hold now has, for the guide (the hall's seven are DWARF_HOLD_SEAMS). */
510
+ export const HOLD_SEAM_COUNT = DWARF_HOLD_SEAMS.length + BACK_BORE_SEAMS.length;
511
+ /** The Hold's hall box again, for the tests' "nothing stands off the floor" check (re-exported so the test imports one file). */
512
+ export const HOLD_HALL_BOX = DWARF_HOLD_HALL;
513
+ //# sourceMappingURL=dwarfHoldHub.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dwarfHoldHub.js","sourceRoot":"","sources":["../src/dwarfHoldHub.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"explorerLedger.d.ts","sourceRoot":"","sources":["../src/explorerLedger.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"explorerLedger.d.ts","sourceRoot":"","sources":["../src/explorerLedger.ts"],"names":[],"mappings":"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"}
@@ -26,6 +26,7 @@ import { LEDGER_LEAN_LINES, LEDGER_LEAN_XP } from './leanRules.js';
26
26
  import { LEDGER_WANTED_LINES, LEDGER_WANTED_XP } from './wantedBoard.js';
27
27
  import { LEDGER_DELVE_LINES } from './delversLadder.js';
28
28
  import { LEDGER_ARCANE_LINES } from './arcaneRealmsContent.js';
29
+ import { FIELD_GUIDE_BONUS_IDS } from './fieldGuide.js';
29
30
  export const LEDGER_SECTIONS = [
30
31
  { id: 'places', label: 'Places found', blurb: 'Every named place you have walked into.' },
31
32
  { id: 'quests', label: 'Quests finished', blurb: 'Every quest you have seen through.' },
@@ -95,6 +96,7 @@ export const LEDGER_BOSSES = [
95
96
  { kind: 'oldgnasher', label: 'Old Gnasher' },
96
97
  { kind: 'oldtusk', label: 'Old Tusk' },
97
98
  { kind: 'mammothbull', label: 'Greytusk, the Mammoth Bull' },
99
+ { kind: 'rockworm', label: 'The Back Bore Rockworm' },
98
100
  { kind: 'grandfathergull', label: 'Grandfather Gull' },
99
101
  { kind: 'frostwarden', label: 'The Frost Warden' },
100
102
  { kind: 'bonechillyeti', label: 'The Bonechill Yeti' },
@@ -250,7 +252,8 @@ export function normalizeLedgerMarks(raw) {
250
252
  export function normalizeLedgerPaid(raw) {
251
253
  if (!Array.isArray(raw))
252
254
  return [];
253
- const bonus = new Set(LEDGER_SECTIONS.map((s) => ledgerBonusId(s.id)));
255
+ // The Field Guide's band bonuses (fieldGuide.ts) are paid ids too.
256
+ const bonus = new Set([...LEDGER_SECTIONS.map((s) => ledgerBonusId(s.id)), ...FIELD_GUIDE_BONUS_IDS]);
254
257
  return [...new Set(raw.filter((id) => typeof id === 'string' && (LINE_BY_ID.has(id) || bonus.has(id))))];
255
258
  }
256
259
  export const LEDGER_ACHIEVEMENTS = [