@dreadwood-types/types 0.1.195 → 0.1.196

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 (62) hide show
  1. package/dist/areaTransitions.d.ts +1 -1
  2. package/dist/areaTransitions.d.ts.map +1 -1
  3. package/dist/areaTransitions.js +12 -0
  4. package/dist/areaTransitions.js.map +1 -1
  5. package/dist/capital.d.ts +1 -1
  6. package/dist/capital.d.ts.map +1 -1
  7. package/dist/capital.js +4 -0
  8. package/dist/capital.js.map +1 -1
  9. package/dist/constants.d.ts +6 -1
  10. package/dist/constants.d.ts.map +1 -1
  11. package/dist/constants.js +9 -1
  12. package/dist/constants.js.map +1 -1
  13. package/dist/dungeonCharts.d.ts.map +1 -1
  14. package/dist/dungeonCharts.js +3 -0
  15. package/dist/dungeonCharts.js.map +1 -1
  16. package/dist/dwarfHold.d.ts +161 -0
  17. package/dist/dwarfHold.d.ts.map +1 -0
  18. package/dist/dwarfHold.js +246 -0
  19. package/dist/dwarfHold.js.map +1 -0
  20. package/dist/expandedContracts.d.ts +0 -3
  21. package/dist/expandedContracts.d.ts.map +1 -1
  22. package/dist/expandedContracts.js +2 -1
  23. package/dist/expandedContracts.js.map +1 -1
  24. package/dist/forgeHalt.d.ts +129 -0
  25. package/dist/forgeHalt.d.ts.map +1 -0
  26. package/dist/forgeHalt.js +166 -0
  27. package/dist/forgeHalt.js.map +1 -0
  28. package/dist/forgeHaltLine.d.ts +27 -0
  29. package/dist/forgeHaltLine.d.ts.map +1 -0
  30. package/dist/forgeHaltLine.js +87 -0
  31. package/dist/forgeHaltLine.js.map +1 -0
  32. package/dist/index.d.ts +6 -0
  33. package/dist/index.d.ts.map +1 -1
  34. package/dist/index.js +6 -0
  35. package/dist/index.js.map +1 -1
  36. package/dist/smugglersStrand.d.ts.map +1 -1
  37. package/dist/smugglersStrand.js +5 -0
  38. package/dist/smugglersStrand.js.map +1 -1
  39. package/dist/storyQuests.d.ts.map +1 -1
  40. package/dist/storyQuests.js +8 -0
  41. package/dist/storyQuests.js.map +1 -1
  42. package/dist/westernEntrance.d.ts +17 -0
  43. package/dist/westernEntrance.d.ts.map +1 -1
  44. package/dist/westernEntrance.js +11 -0
  45. package/dist/westernEntrance.js.map +1 -1
  46. package/dist/westernHalts.d.ts +128 -0
  47. package/dist/westernHalts.d.ts.map +1 -0
  48. package/dist/westernHalts.js +82 -0
  49. package/dist/westernHalts.js.map +1 -0
  50. package/dist/westernLineAnnounce.d.ts +15 -0
  51. package/dist/westernLineAnnounce.d.ts.map +1 -0
  52. package/dist/westernLineAnnounce.js +19 -0
  53. package/dist/westernLineAnnounce.js.map +1 -0
  54. package/dist/westernLineTexts.d.ts +31 -0
  55. package/dist/westernLineTexts.d.ts.map +1 -0
  56. package/dist/westernLineTexts.js +70 -0
  57. package/dist/westernLineTexts.js.map +1 -0
  58. package/dist/westernTrain.d.ts +113 -1
  59. package/dist/westernTrain.d.ts.map +1 -1
  60. package/dist/westernTrain.js +257 -4
  61. package/dist/westernTrain.js.map +1 -1
  62. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"dungeonCharts.d.ts","sourceRoot":"","sources":["../src/dungeonCharts.ts"],"names":[],"mappings":"AAkBA;;;;;GAKG;AACH,MAAM,MAAM,YAAY,GAAG;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAEjH,wBAAgB,cAAc,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI,CAMxE;AAED,mFAAmF;AACnF,eAAO,MAAM,cAAc,EAAE,SAAS,YAAY,EA8EjD,CAAC"}
1
+ {"version":3,"file":"dungeonCharts.d.ts","sourceRoot":"","sources":["../src/dungeonCharts.ts"],"names":[],"mappings":"AAmBA;;;;;GAKG;AACH,MAAM,MAAM,YAAY,GAAG;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAEjH,wBAAgB,cAAc,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI,CAMxE;AAED,mFAAmF;AACnF,eAAO,MAAM,cAAc,EAAE,SAAS,YAAY,EAgFjD,CAAC"}
@@ -1,3 +1,4 @@
1
+ import { WESTERN_HALT_CHARTS } from './westernHalts.js';
1
2
  import { GOBLIN_CAVE_CENTER_X } from './goblinCave.js';
2
3
  import { ICE_DEPTHS_BOUNDS } from './iceDepths.js';
3
4
  import { DUNGEON_MAX_X, DUNGEON_MAX_Z, DUNGEON_MIN_X, DUNGEON_MIN_Z, ICE_PRISON_BOUNDS } from './landmarks.js';
@@ -95,5 +96,7 @@ export const DUNGEON_CHARTS = [
95
96
  minZ: ICE_DEPTHS_BOUNDS.minZ,
96
97
  maxZ: ICE_DEPTHS_BOUNDS.maxZ + 4,
97
98
  },
99
+ // The Western Line's halts (westernHalts.ts, pre-registered by slice 2-1): listed only once each is open.
100
+ ...WESTERN_HALT_CHARTS,
98
101
  ];
99
102
  //# sourceMappingURL=dungeonCharts.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"dungeonCharts.js","sourceRoot":"","sources":["../src/dungeonCharts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dungeonCharts.js","sourceRoot":"","sources":["../src/dungeonCharts.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,161 @@
1
+ /**
2
+ * The Dwarf Hold (Western Line phase 2, slice 2-3; plan `.cursor/task-plans/2026-10-11-western-phase2-circuit-plan.md`
3
+ * section 2.2, built in `2026-10-11-western-2-3-dwarf-hold.md`; design sheet design-references
4
+ * `western-kingdoms-circuit-2-dwarf-station`): the underground halt on bore B, the Hold Line. The train stands 30 seconds
5
+ * with its nose at row 1108; riders step down east off the brass plates (x 948) onto the platform (x 949-952), and three
6
+ * doorways in the bore's east wall lead into a hall cut from the rock behind it. At the hall's far east end the Great Stair
7
+ * to the surface is SEALED (James, 2026-10-11): rubble to the arch and a ward across the doors. It is the hook for the
8
+ * Western Kingdoms' north-west (phase 3), and nothing passes it: its tiles are rock-solid in the grid, not only its model.
9
+ *
10
+ * The platform and the hall are a closed pocket (westernHalts.ts DWARF_HOLD_POCKET): the only way in or out is the train.
11
+ * The platform's ends are railed and blocked, the gap row is blocked, the rock round the hall is the strip's own.
12
+ *
13
+ * Every number is a WORLD tile. Backend dwarfHold.ts lays the ground and places the pieces and the warden; the stop, its
14
+ * plates, chart, zone and warden's kind are pre-registered in westernHalts.ts (slice 2-1) and opened by DWARF_HOLD_OPEN.
15
+ * The Dwarf Hold's own Blender pieces (kit batch K2, `dh*`) are used where they are registered, a stand-in from the kit
16
+ * we have until then (`standIn`), so the hall swaps to them with no change here.
17
+ */
18
+ import { SurfaceType } from './constants.js';
19
+ import { type WesternTrainBox, type WesternTrainCircuit } from './westernTrain.js';
20
+ /** The platform's and the hall's floor height: the line's deck height, as at every other stop's platform. */
21
+ export declare const DWARF_HOLD_FLOOR_HEIGHT: number;
22
+ /** The gap row in front of the plates (blocked, like the home platform's): the platform's whole length plus its end rows. */
23
+ export declare const DWARF_HOLD_GAP_X: number;
24
+ /**
25
+ * The platform: the rake's length (rows 1108-1180, nose to tail) on bore B's east side, three tiles of platform and the
26
+ * bore's east walkway as its back (x 949-952). Raised to the deck's height. Its end rows (1107 and 1181) are railed and
27
+ * blocked, so nobody walks off it into the bore.
28
+ */
29
+ export declare const DWARF_HOLD_PLATFORM: WesternTrainBox;
30
+ export declare const DWARF_HOLD_PLATFORM_END_ROWS: readonly number[];
31
+ /** The bore's east wall (rock), with three doorways cut through it into the hall. */
32
+ export declare const DWARF_HOLD_WALL_X: number;
33
+ /**
34
+ * The hall, cut from the rock behind the wall: 31 by 61 tiles, smaller than the pocket the plan reserved (DUNGEON_BUILDING:
35
+ * a big room reads empty; the sheet's hall is wider than it is deep). Rows clear of the bore's sconce rows at its doors.
36
+ */
37
+ export declare const DWARF_HOLD_HALL: WesternTrainBox;
38
+ /** The three doorways (rows, inclusive) through the wall tile x 953 (westernHalts.ts, where the bore's opening reads them). */
39
+ export declare const DWARF_HOLD_DOORS: readonly [{
40
+ readonly z0: 1118;
41
+ readonly z1: 1120;
42
+ }, {
43
+ readonly z0: 1143;
44
+ readonly z1: 1145;
45
+ }, {
46
+ readonly z0: 1168;
47
+ readonly z1: 1170;
48
+ }];
49
+ /** The hall's axis (the great door's middle row), from the great door to the sealed stair. */
50
+ export declare const DWARF_HOLD_AXIS_Z = 1144;
51
+ /** The aisle: flagstones three wide from the great door to the stair's rubble. */
52
+ export declare const DWARF_HOLD_AISLE: WesternTrainBox;
53
+ /** Is a tile on the Hold's floor (the platform or the hall, doorways included)? Not the bore, not the rock. */
54
+ export declare function onDwarfHoldFloor(x: number, z: number): boolean;
55
+ /** In the Hold's hall (lighting, music and the cave cutaway in the client; the platform is in the bore and lit as one). */
56
+ export declare function inDwarfHoldHall(x: number, z: number): boolean;
57
+ /**
58
+ * The floor's surface: flagstones throughout, the platform's and the hall's alike (seen in the running game 2026-10-11, a
59
+ * plain Stone floor under the braziers' light read as a pool of slate-blue water; the flags read as a paved hall).
60
+ */
61
+ export declare function dwarfHoldSurfaceAt(_x: number, _z: number): SurfaceType;
62
+ /** The props' ids (types questprop styles `<prop>:<facing>`; backend world.ts reads them, frontend names them). */
63
+ export declare const DWARF_HOLD_PROP: {
64
+ readonly stair: "dhgreatstair";
65
+ readonly sideDoor: "dhsidedoor";
66
+ readonly notice: "dhnotice";
67
+ };
68
+ /**
69
+ * The Great Stair at the hall's far east end, facing west down the aisle. Its whole box (the stair, the rubble heaped in
70
+ * front of it and round its sides) is blocked IN THE GRID, whatever model stands there, and rock lies behind it.
71
+ */
72
+ export declare const DWARF_HOLD_GREAT_STAIR: {
73
+ id: string;
74
+ x: number;
75
+ z: number;
76
+ facing: "w";
77
+ };
78
+ export declare const DWARF_HOLD_SEALED_BOX: WesternTrainBox;
79
+ /** The two sealed side doors (future hold halls), set in the north and south walls, each three tiles blocked in the grid. */
80
+ export declare const DWARF_HOLD_SIDE_DOORS: ReadonlyArray<{
81
+ id: string;
82
+ x: number;
83
+ z: number;
84
+ facing: 'n' | 's';
85
+ }>;
86
+ export declare const DWARF_HOLD_NOTICE: {
87
+ id: string;
88
+ x: number;
89
+ z: number;
90
+ facing: "w";
91
+ };
92
+ /** The model a Hold prop draws with: its own K2 piece once registered, else the stand-in. */
93
+ export declare function dwarfHoldPropModel(prop: string): string | null;
94
+ /** Every tile the sealed stair and the side doors hold blocked in the grid (backend dwarfHold.ts; the smoke walks them). */
95
+ export declare function dwarfHoldSealedTiles(): Array<{
96
+ x: number;
97
+ z: number;
98
+ }>;
99
+ /**
100
+ * A placed piece: `model` its own model (a K2 `dh*` piece, or one of the kit's), `standIn` drawn until that model is
101
+ * registered (`placard-<text>` the line's placard signpost; null: nothing until then). Rocks are `rock` boulders.
102
+ */
103
+ export type DwarfHoldPiece = {
104
+ id: string;
105
+ model: string;
106
+ facing: 'n' | 'e' | 's' | 'w';
107
+ x: number;
108
+ z: number;
109
+ standIn?: string | null;
110
+ scale?: number;
111
+ };
112
+ export declare const DWARF_HOLD_PIECES: readonly DwarfHoldPiece[];
113
+ /** The rubble heaped before and round the Great Stair (rock boulders, inside the sealed box, never walked). */
114
+ export declare const DWARF_HOLD_RUBBLE: ReadonlyArray<{
115
+ x: number;
116
+ z: number;
117
+ scale: number;
118
+ }>;
119
+ /** The style a piece is drawn with now: its own model if registered, else its stand-in (null: not placed yet). */
120
+ export declare function dwarfHoldPieceStyle(p: DwarfHoldPiece): {
121
+ kind: 'dreadmodel' | 'signpost';
122
+ style: string;
123
+ scale: number;
124
+ } | null;
125
+ /** The tiles a piece stands on and blocks, as drawn now. */
126
+ export declare function dwarfHoldPieceTiles(p: DwarfHoldPiece): Array<{
127
+ x: number;
128
+ z: number;
129
+ }>;
130
+ /** Warden Thrida Deepstair, just inside the great door, looking out at the platform; she potters within a tile. */
131
+ export declare const DWARF_HOLD_WARDEN: {
132
+ id: string;
133
+ kind: "holdhaltmaster";
134
+ name: string;
135
+ x: number;
136
+ z: number;
137
+ faceX: number;
138
+ faceZ: number;
139
+ leash: number;
140
+ };
141
+ /** Where an admin's /tp dwarf-hold lands: the platform in front of the great door. */
142
+ export declare const DWARF_HOLD_STAND: {
143
+ x: number;
144
+ z: number;
145
+ };
146
+ /** A click on the Great Stair (a warning: the refusal sound). */
147
+ export declare const DWARF_HOLD_STAIR_TEXT = "The Great Stair is sealed. Rubble fills it to the arch, and the ward across the doors hums when you lean on it. Nobody is going up this way. Not yet.";
148
+ /** A click on a sealed side door. */
149
+ export declare const DWARF_HOLD_SIDE_DOOR_TEXT = "A rune door into the deeper hold, barred with iron and sealed with lead. Whatever is behind it has waited this long. It can wait a little longer.";
150
+ /** The board's last line: a train standing (doors open or shut), the next one due, or none (the stop not running). */
151
+ export declare function dwarfHoldNextTrainText(nowMs: number, circuit?: WesternTrainCircuit): string;
152
+ /** The notice board: where you are, the one rule, the stair, then the next train. */
153
+ export declare function dwarfHoldNoticeText(nowMs: number, circuit?: WesternTrainCircuit): string;
154
+ /** The pocket's box again, for code that reads it from here. */
155
+ export declare const DWARF_HOLD_BOX: {
156
+ readonly minX: 949;
157
+ readonly maxX: 1000;
158
+ readonly minZ: 1100;
159
+ readonly maxZ: 1185;
160
+ };
161
+ //# sourceMappingURL=dwarfHold.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dwarfHold.d.ts","sourceRoot":"","sources":["../src/dwarfHold.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,246 @@
1
+ /**
2
+ * The Dwarf Hold (Western Line phase 2, slice 2-3; plan `.cursor/task-plans/2026-10-11-western-phase2-circuit-plan.md`
3
+ * section 2.2, built in `2026-10-11-western-2-3-dwarf-hold.md`; design sheet design-references
4
+ * `western-kingdoms-circuit-2-dwarf-station`): the underground halt on bore B, the Hold Line. The train stands 30 seconds
5
+ * with its nose at row 1108; riders step down east off the brass plates (x 948) onto the platform (x 949-952), and three
6
+ * doorways in the bore's east wall lead into a hall cut from the rock behind it. At the hall's far east end the Great Stair
7
+ * to the surface is SEALED (James, 2026-10-11): rubble to the arch and a ward across the doors. It is the hook for the
8
+ * Western Kingdoms' north-west (phase 3), and nothing passes it: its tiles are rock-solid in the grid, not only its model.
9
+ *
10
+ * The platform and the hall are a closed pocket (westernHalts.ts DWARF_HOLD_POCKET): the only way in or out is the train.
11
+ * The platform's ends are railed and blocked, the gap row is blocked, the rock round the hall is the strip's own.
12
+ *
13
+ * Every number is a WORLD tile. Backend dwarfHold.ts lays the ground and places the pieces and the warden; the stop, its
14
+ * plates, chart, zone and warden's kind are pre-registered in westernHalts.ts (slice 2-1) and opened by DWARF_HOLD_OPEN.
15
+ * The Dwarf Hold's own Blender pieces (kit batch K2, `dh*`) are used where they are registered, a stand-in from the kit
16
+ * we have until then (`standIn`), so the hall swaps to them with no change here.
17
+ */
18
+ import { CAPITAL_BUILDING_MODELS, SurfaceType, visitBlockedWalkOffsets } from './constants.js';
19
+ import { WESTERN_PLATFORM_HEIGHT } from './westernEntrance.js';
20
+ import { DWARF_HOLD_BORE_WALL, DWARF_HOLD_NAME, DWARF_HOLD_POCKET, DWARF_HOLD_STOP_ID, DWARF_HOLD_WARDEN_NAME } from './westernHalts.js';
21
+ import { WESTERN_BORE_B, WESTERN_TRAIN_CIRCUIT, WESTERN_TRAIN_DOORS_SHUT_BEFORE_MS, westernBoreBox, westernStopAfter, westernStopNamePhrase, westernStopNextArrivalMs, westernTrainAtStop, } from './westernTrain.js';
22
+ /* ------------------------------------------------------------------ *
23
+ * The ground.
24
+ * ------------------------------------------------------------------ */
25
+ /** The platform's and the hall's floor height: the line's deck height, as at every other stop's platform. */
26
+ export const DWARF_HOLD_FLOOR_HEIGHT = WESTERN_PLATFORM_HEIGHT;
27
+ /** The gap row in front of the plates (blocked, like the home platform's): the platform's whole length plus its end rows. */
28
+ export const DWARF_HOLD_GAP_X = WESTERN_BORE_B.x + 3;
29
+ /**
30
+ * The platform: the rake's length (rows 1108-1180, nose to tail) on bore B's east side, three tiles of platform and the
31
+ * bore's east walkway as its back (x 949-952). Raised to the deck's height. Its end rows (1107 and 1181) are railed and
32
+ * blocked, so nobody walks off it into the bore.
33
+ */
34
+ export const DWARF_HOLD_PLATFORM = { minX: DWARF_HOLD_GAP_X + 1, maxX: westernBoreBox(WESTERN_BORE_B).maxX, minZ: 1108, maxZ: 1180 };
35
+ export const DWARF_HOLD_PLATFORM_END_ROWS = [DWARF_HOLD_PLATFORM.minZ - 1, DWARF_HOLD_PLATFORM.maxZ + 1];
36
+ /** The bore's east wall (rock), with three doorways cut through it into the hall. */
37
+ export const DWARF_HOLD_WALL_X = westernBoreBox(WESTERN_BORE_B).maxX + 1;
38
+ /**
39
+ * The hall, cut from the rock behind the wall: 31 by 61 tiles, smaller than the pocket the plan reserved (DUNGEON_BUILDING:
40
+ * a big room reads empty; the sheet's hall is wider than it is deep). Rows clear of the bore's sconce rows at its doors.
41
+ */
42
+ export const DWARF_HOLD_HALL = { minX: DWARF_HOLD_WALL_X + 1, maxX: 984, minZ: 1114, maxZ: 1174 };
43
+ /** The three doorways (rows, inclusive) through the wall tile x 953 (westernHalts.ts, where the bore's opening reads them). */
44
+ export const DWARF_HOLD_DOORS = DWARF_HOLD_BORE_WALL.doorways;
45
+ /** The hall's axis (the great door's middle row), from the great door to the sealed stair. */
46
+ export const DWARF_HOLD_AXIS_Z = 1144;
47
+ /** The aisle: flagstones three wide from the great door to the stair's rubble. */
48
+ export const DWARF_HOLD_AISLE = { minX: DWARF_HOLD_HALL.minX, maxX: 978, minZ: DWARF_HOLD_AXIS_Z - 1, maxZ: DWARF_HOLD_AXIS_Z + 1 };
49
+ /** Is a tile on the Hold's floor (the platform or the hall, doorways included)? Not the bore, not the rock. */
50
+ export function onDwarfHoldFloor(x, z) {
51
+ const P = DWARF_HOLD_PLATFORM, H = DWARF_HOLD_HALL;
52
+ if (x >= P.minX && x <= P.maxX && z >= P.minZ && z <= P.maxZ)
53
+ return true;
54
+ if (x >= H.minX && x <= H.maxX && z >= H.minZ && z <= H.maxZ)
55
+ return true;
56
+ return x === DWARF_HOLD_WALL_X && DWARF_HOLD_DOORS.some((d) => z >= d.z0 && z <= d.z1);
57
+ }
58
+ /** In the Hold's hall (lighting, music and the cave cutaway in the client; the platform is in the bore and lit as one). */
59
+ export function inDwarfHoldHall(x, z) {
60
+ const H = DWARF_HOLD_HALL;
61
+ return x >= H.minX - 1 && x <= H.maxX + 1 && z >= H.minZ - 1 && z <= H.maxZ + 1;
62
+ }
63
+ /**
64
+ * The floor's surface: flagstones throughout, the platform's and the hall's alike (seen in the running game 2026-10-11, a
65
+ * plain Stone floor under the braziers' light read as a pool of slate-blue water; the flags read as a paved hall).
66
+ */
67
+ export function dwarfHoldSurfaceAt(_x, _z) {
68
+ return SurfaceType.Flagstones;
69
+ }
70
+ /* ------------------------------------------------------------------ *
71
+ * The sealed Great Stair, the sealed side doors, the notice board: quest props (clicked, never entered).
72
+ * ------------------------------------------------------------------ */
73
+ /** The props' ids (types questprop styles `<prop>:<facing>`; backend world.ts reads them, frontend names them). */
74
+ export const DWARF_HOLD_PROP = {
75
+ stair: 'dhgreatstair',
76
+ sideDoor: 'dhsidedoor',
77
+ notice: 'dhnotice',
78
+ };
79
+ /**
80
+ * The Great Stair at the hall's far east end, facing west down the aisle. Its whole box (the stair, the rubble heaped in
81
+ * front of it and round its sides) is blocked IN THE GRID, whatever model stands there, and rock lies behind it.
82
+ */
83
+ export const DWARF_HOLD_GREAT_STAIR = { id: 'dh-great-stair', x: 983, z: DWARF_HOLD_AXIS_Z, facing: 'w' };
84
+ export const DWARF_HOLD_SEALED_BOX = { minX: 979, maxX: DWARF_HOLD_HALL.maxX, minZ: DWARF_HOLD_AXIS_Z - 5, maxZ: DWARF_HOLD_AXIS_Z + 5 };
85
+ /** The two sealed side doors (future hold halls), set in the north and south walls, each three tiles blocked in the grid. */
86
+ export const DWARF_HOLD_SIDE_DOORS = [
87
+ { id: 'dh-side-door-n', x: 976, z: DWARF_HOLD_HALL.minZ, facing: 's' },
88
+ { id: 'dh-side-door-s', x: 976, z: DWARF_HOLD_HALL.maxZ, facing: 'n' },
89
+ ];
90
+ export const DWARF_HOLD_NOTICE = { id: 'dh-notice', x: 958, z: 1140, facing: 'w' };
91
+ /** The model a Hold prop draws with: its own K2 piece once registered, else the stand-in. */
92
+ export function dwarfHoldPropModel(prop) {
93
+ const pick = (own, standIn) => (own in CAPITAL_BUILDING_MODELS ? own : standIn);
94
+ if (prop === DWARF_HOLD_PROP.stair)
95
+ return pick('dhgreatgate', 'wlhaltstair');
96
+ if (prop === DWARF_HOLD_PROP.sideDoor)
97
+ return pick('dhsidedoor', 'lwsunkenwall');
98
+ if (prop === DWARF_HOLD_PROP.notice)
99
+ return 'westnotice';
100
+ return null;
101
+ }
102
+ /** Every tile the sealed stair and the side doors hold blocked in the grid (backend dwarfHold.ts; the smoke walks them). */
103
+ export function dwarfHoldSealedTiles() {
104
+ const out = [];
105
+ const S = DWARF_HOLD_SEALED_BOX;
106
+ for (let z = S.minZ; z <= S.maxZ; z++)
107
+ for (let x = S.minX; x <= S.maxX; x++)
108
+ out.push({ x, z });
109
+ for (const d of DWARF_HOLD_SIDE_DOORS)
110
+ for (let dx = -1; dx <= 1; dx++)
111
+ out.push({ x: d.x + dx, z: d.z });
112
+ return out;
113
+ }
114
+ const P = DWARF_HOLD_PLATFORM;
115
+ const H = DWARF_HOLD_HALL;
116
+ const AXIS = DWARF_HOLD_AXIS_Z;
117
+ export const DWARF_HOLD_PIECES = [
118
+ // The platform: the line's deck pieces along it (the home platform's, turned to face the train in the west), railings
119
+ // across both ends, the nameboard, benches along its back.
120
+ ...Array.from({ length: 24 }, (_, i) => ({ id: `dh-platform-${i + 1}`, model: 'westplatform', facing: 'w', x: P.minX + 1, z: P.minZ + 1 + i * 3 })),
121
+ { id: 'dh-rail-n', model: 'wlrailing', facing: 's', x: P.minX + 1, z: P.minZ - 1 },
122
+ { id: 'dh-rail-s', model: 'wlrailing', facing: 'n', x: P.minX + 1, z: P.maxZ + 1 },
123
+ { id: 'dh-rail-n-crate', model: 'wlservicecrate', facing: 'w', x: P.maxX, z: P.minZ - 1 },
124
+ { id: 'dh-rail-s-crate', model: 'wlservicecrate', facing: 'w', x: P.maxX, z: P.maxZ + 1 },
125
+ { id: 'dh-nameboard', model: 'dhstationsign', facing: 'w', x: P.maxX - 1, z: 1131, standIn: `placard-${DWARF_HOLD_NAME.toUpperCase()}`, scale: 1.1 },
126
+ ...[1113, 1156, 1174].map((z, i) => ({ id: `dh-platform-bench-${i + 1}`, model: 'wlborebench', facing: 'w', x: P.maxX - 1, z })),
127
+ // The doorways: a brazier either side of each, just inside the hall.
128
+ ...DWARF_HOLD_DOORS.flatMap((d, i) => [
129
+ { id: `dh-door-brazier-${i + 1}a`, model: 'dhbrazier', facing: 'e', x: H.minX + 1, z: d.z0 - 2, standIn: 'evstorelamp' },
130
+ { id: `dh-door-brazier-${i + 1}b`, model: 'dhbrazier', facing: 'e', x: H.minX + 1, z: d.z1 + 2, standIn: 'evstorelamp' },
131
+ ]),
132
+ // The great hall: two rows of carved pillars either side of the aisle, the two kings flanking the way to the stair,
133
+ // braziers down the aisle and by the stair.
134
+ ...[961, 968, 975].flatMap((x) => [
135
+ { id: `dh-pillar-n-${x}`, model: 'wlhallpillar', facing: 's', x, z: AXIS - 9 },
136
+ { id: `dh-pillar-s-${x}`, model: 'wlhallpillar', facing: 'n', x, z: AXIS + 10 },
137
+ ]),
138
+ { id: 'dh-king-n', model: 'dhkingstatue', facing: 's', x: 976, z: AXIS - 5, standIn: 'lwstatue' },
139
+ { id: 'dh-king-s', model: 'dhkingstatue', facing: 'n', x: 976, z: AXIS + 5, standIn: 'lwstatue' },
140
+ { id: 'dh-aisle-brazier-1', model: 'dhbrazier', facing: 'w', x: 966, z: AXIS - 3, standIn: 'evstorelamp' },
141
+ { id: 'dh-aisle-brazier-2', model: 'dhbrazier', facing: 'w', x: 966, z: AXIS + 3, standIn: 'evstorelamp' },
142
+ { id: 'dh-stair-brazier-n', model: 'dhbrazier', facing: 'w', x: 978, z: AXIS - 6, standIn: 'evstorelamp' },
143
+ { id: 'dh-stair-brazier-s', model: 'dhbrazier', facing: 'w', x: 978, z: AXIS + 6, standIn: 'evstorelamp' },
144
+ // Rock columns left standing when the hall was cut, along the hall's north and south bays.
145
+ ...[[970, H.minZ + 6], [981, H.minZ + 4], [970, H.maxZ - 12], [981, H.maxZ - 6]].map(([x, z], i) => ({ id: `dh-column-${i + 1}`, model: 'dhrockcolumn', facing: 's', x: x, z: z, standIn: 'wlhallpillar' })),
146
+ // North side: the cold forge alcove in the north wall, its anvil glow painted; the trading nook beside it.
147
+ { id: 'dh-forge-alcove', model: 'dhforgealcove', facing: 's', x: 966, z: H.minZ + 1, standIn: 'evforgefurnace' },
148
+ { id: 'dh-trade-desk', model: 'dhtradestall', facing: 's', x: 958, z: H.minZ + 9, standIn: null },
149
+ { id: 'dh-supplies-n-1', model: 'dhsupplystack', facing: 's', x: 961, z: H.minZ + 1, standIn: 'evstorebarrels' },
150
+ { id: 'dh-supplies-n-2', model: 'dhsupplystack', facing: 's', x: 962, z: H.minZ + 1, standIn: 'evstoresacks' },
151
+ // South side: long tables and benches (the rest the sheet asks for), the hold's stores and an ore cart in the corner.
152
+ { id: 'dh-table-1', model: 'dhlongtable', facing: 'n', x: 964, z: H.maxZ - 7, standIn: 'wlborebench' },
153
+ { id: 'dh-table-2', model: 'dhlongtable', facing: 'n', x: 971, z: H.maxZ - 7, standIn: 'wlborebench' },
154
+ { id: 'dh-hall-bench-1', model: 'wlborebench', facing: 'n', x: 964, z: H.maxZ - 1 },
155
+ { id: 'dh-hall-bench-2', model: 'wlborebench', facing: 'n', x: 970, z: H.maxZ - 1 },
156
+ { id: 'dh-hall-bench-3', model: 'wlborebench', facing: 's', x: 973, z: H.minZ + 3 },
157
+ { id: 'dh-stores-1', model: 'dhsupplystack', facing: 'n', x: 982, z: H.maxZ - 1, standIn: 'evstorecrates' },
158
+ { id: 'dh-stores-2', model: 'dhsupplystack', facing: 'n', x: 983, z: H.maxZ - 1, standIn: 'evstorebarrels' },
159
+ { id: 'dh-stores-3', model: 'dhsupplystack', facing: 'n', x: 983, z: H.maxZ - 2, standIn: 'evstoresacks' },
160
+ { id: 'dh-ore-cart', model: 'dhorecart', facing: 'w', x: 980, z: H.maxZ - 1, standIn: 'evorecopper' },
161
+ // Blue banners on the walls, between the doors and down both long walls.
162
+ ...[H.minZ + 9, H.minZ + 22, H.maxZ - 22, H.maxZ - 9].map((z, i) => ({ id: `dh-banner-w-${i + 1}`, model: 'westbanner', facing: 'e', x: H.minX, z })),
163
+ ...[972, 980].map((x, i) => ({ id: `dh-banner-n-${i + 1}`, model: 'westbanner', facing: 's', x, z: H.minZ })),
164
+ ...[958, 968].map((x, i) => ({ id: `dh-banner-s-${i + 1}`, model: 'westbanner', facing: 'n', x, z: H.maxZ })),
165
+ ];
166
+ /** The rubble heaped before and round the Great Stair (rock boulders, inside the sealed box, never walked). */
167
+ export const DWARF_HOLD_RUBBLE = [
168
+ // The gate (K2 dhgreatgate) carries its own rubble and its SEALED board; two fallen blocks at the box's corners only.
169
+ { x: 979, z: AXIS - 4, scale: 0.8 },
170
+ { x: 980, z: AXIS + 4, scale: 0.7 },
171
+ ];
172
+ /** The style a piece is drawn with now: its own model if registered, else its stand-in (null: not placed yet). */
173
+ export function dwarfHoldPieceStyle(p) {
174
+ if (p.model in CAPITAL_BUILDING_MODELS)
175
+ return { kind: 'dreadmodel', style: `${p.model}-${p.facing}`, scale: 1 };
176
+ if (p.standIn === null)
177
+ return null;
178
+ if (p.standIn === undefined)
179
+ return { kind: 'dreadmodel', style: `${p.model}-${p.facing}`, scale: 1 };
180
+ if (p.standIn.startsWith('placard-'))
181
+ return { kind: 'signpost', style: p.standIn, scale: p.scale ?? 1 };
182
+ return { kind: 'dreadmodel', style: `${p.standIn}-${p.facing}`, scale: 1 };
183
+ }
184
+ /** The tiles a piece stands on and blocks, as drawn now. */
185
+ export function dwarfHoldPieceTiles(p) {
186
+ const drawn = dwarfHoldPieceStyle(p);
187
+ if (!drawn)
188
+ return [];
189
+ const out = [{ x: p.x, z: p.z }];
190
+ visitBlockedWalkOffsets(drawn.kind, drawn.style, drawn.scale, (dx, dz) => {
191
+ if (dx !== 0 || dz !== 0)
192
+ out.push({ x: p.x + dx, z: p.z + dz });
193
+ });
194
+ return out;
195
+ }
196
+ /* ------------------------------------------------------------------ *
197
+ * The warden.
198
+ * ------------------------------------------------------------------ */
199
+ /** Warden Thrida Deepstair, just inside the great door, looking out at the platform; she potters within a tile. */
200
+ export const DWARF_HOLD_WARDEN = { id: 'dh-warden', kind: 'holdhaltmaster', name: DWARF_HOLD_WARDEN_NAME, x: 957, z: AXIS + 3, faceX: 953, faceZ: AXIS + 3, leash: 1 };
201
+ /** Where an admin's /tp dwarf-hold lands: the platform in front of the great door. */
202
+ export const DWARF_HOLD_STAND = { x: P.maxX - 1, z: AXIS };
203
+ /* ------------------------------------------------------------------ *
204
+ * What it says.
205
+ * ------------------------------------------------------------------ */
206
+ /** A click on the Great Stair (a warning: the refusal sound). */
207
+ export const DWARF_HOLD_STAIR_TEXT = 'The Great Stair is sealed. Rubble fills it to the arch, and the ward across the doors hums when you lean on it. Nobody is going up this way. Not yet.';
208
+ /** A click on a sealed side door. */
209
+ export const DWARF_HOLD_SIDE_DOOR_TEXT = 'A rune door into the deeper hold, barred with iron and sealed with lead. Whatever is behind it has waited this long. It can wait a little longer.';
210
+ const roughly = (ms) => {
211
+ const secs = Math.max(1, Math.round(ms / 1000));
212
+ if (secs < 90)
213
+ return `about ${secs} second${secs === 1 ? '' : 's'}`;
214
+ const mins = Math.round(secs / 60);
215
+ return `about ${mins} minute${mins === 1 ? '' : 's'}`;
216
+ };
217
+ /** Where a train leaving the Hold goes next (the Forge Halt once it is open, else round to the Western Entrance). */
218
+ function holdBound(circuit) {
219
+ const next = westernStopAfter(DWARF_HOLD_STOP_ID, circuit);
220
+ return next ? westernStopNamePhrase(next) : 'the Western Entrance';
221
+ }
222
+ /** The board's last line: a train standing (doors open or shut), the next one due, or none (the stop not running). */
223
+ export function dwarfHoldNextTrainText(nowMs, circuit = WESTERN_TRAIN_CIRCUIT) {
224
+ const stop = circuit.stops.find((s) => s.id === DWARF_HOLD_STOP_ID);
225
+ if (!stop?.enabled)
226
+ return 'No train stops here yet: the line runs straight through.';
227
+ const here = westernTrainAtStop(nowMs, DWARF_HOLD_STOP_ID, circuit);
228
+ const bound = holdBound(circuit);
229
+ if (here) {
230
+ const open = (here.msToDepart ?? 0) - WESTERN_TRAIN_DOORS_SHUT_BEFORE_MS;
231
+ return open >= 1000
232
+ ? `A train is standing at the platform for ${bound}: its doors shut in ${roughly(open)}.`
233
+ : 'A train is standing at the platform, but its doors are shut: it is about to leave.';
234
+ }
235
+ return `The next train for ${bound} is due in ${roughly(westernStopNextArrivalMs(nowMs, DWARF_HOLD_STOP_ID, circuit))}.`;
236
+ }
237
+ /** The notice board: where you are, the one rule, the stair, then the next train. */
238
+ export function dwarfHoldNoticeText(nowMs, circuit = WESTERN_TRAIN_CIRCUIT) {
239
+ const dwell = Math.round((circuit.stops.find((s) => s.id === DWARF_HOLD_STOP_ID)?.dwellMs ?? 0) / 1000);
240
+ return `${DWARF_HOLD_NAME.toUpperCase()}, halt of the Western Line. Trains for ${holdBound(circuit)} stand ${dwell} seconds: board by the brass step plates. ` +
241
+ 'The Great Stair to the surface is SEALED. Do not climb the rubble. The Warden has heard every excuse, and liked none of them. ' +
242
+ dwarfHoldNextTrainText(nowMs, circuit);
243
+ }
244
+ /** The pocket's box again, for code that reads it from here. */
245
+ export const DWARF_HOLD_BOX = DWARF_HOLD_POCKET;
246
+ //# sourceMappingURL=dwarfHold.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dwarfHold.js","sourceRoot":"","sources":["../src/dwarfHold.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,3 @@
1
- /** Public layout-2 coordinates. The ./legacy entry remains the authored generator frame.
2
- * Each field and array below has an explicit spatial contract. Offsets, scales, room dimensions
3
- * and underground interiors are never recursively rewritten at runtime. */
4
1
  import * as raw from './legacy.js';
5
2
  export declare const BEACH_SAND_START_Z: number;
6
3
  export declare const BEACH_START_Z: number;
@@ -1 +1 @@
1
- {"version":3,"file":"expandedContracts.d.ts","sourceRoot":"","sources":["../src/expandedContracts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"expandedContracts.d.ts","sourceRoot":"","sources":["../src/expandedContracts.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  /** Public layout-2 coordinates. The ./legacy entry remains the authored generator frame.
2
2
  * Each field and array below has an explicit spatial contract. Offsets, scales, room dimensions
3
3
  * and underground interiors are never recursively rewritten at runtime. */
4
+ import { WESTERN_HALT_ZONES } from './westernHalts.js';
4
5
  import * as raw from './legacy.js';
5
6
  import { STARTER_TOWN } from './starterTown.js';
6
7
  import { RINGSTONE } from './worldBossRing.js';
@@ -244,7 +245,7 @@ export const RINGSTONE_DISCOVERY_ZONE = {
244
245
  * The inserted land's own places, in match order. The Western Kingdoms' zone (westernKingdoms.ts) covers its whole
245
246
  * land in the Western strip; it overlaps nothing above (another region's columns).
246
247
  */
247
- const INSERTED_DISCOVERY_ZONES = [HOPE_TOWN_DISCOVERY_ZONE, RINGSTONE_DISCOVERY_ZONE, HOPEWOOD_COMMON_DISCOVERY_ZONE, ...LANTERN_WAKE_DISCOVERY_ZONES, WESTERN_KINGDOMS_DISCOVERY_ZONE];
248
+ const INSERTED_DISCOVERY_ZONES = [HOPE_TOWN_DISCOVERY_ZONE, RINGSTONE_DISCOVERY_ZONE, HOPEWOOD_COMMON_DISCOVERY_ZONE, ...LANTERN_WAKE_DISCOVERY_ZONES, WESTERN_KINGDOMS_DISCOVERY_ZONE, ...WESTERN_HALT_ZONES];
248
249
  export function discoveryZoneBounds(zone) {
249
250
  return { minX: zone.minX, maxX: zone.maxX, minZ: zone.coordinateFrame === 'world' ? zone.minZ : toWorldZ(zone.minZ), maxZ: zone.coordinateFrame === 'world' ? zone.maxZ : toWorldZ(zone.maxZ) };
250
251
  }