@dreadwood-types/types 0.1.163 → 0.1.165
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.
- package/dist/constants.d.ts +6 -1
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +58 -2
- package/dist/constants.js.map +1 -1
- package/dist/expandedContracts.d.ts +3 -3
- package/dist/expandedContracts.d.ts.map +1 -1
- package/dist/expandedContracts.js +4 -4
- package/dist/expandedContracts.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/landmarks.d.ts.map +1 -1
- package/dist/landmarks.js +6 -0
- package/dist/landmarks.js.map +1 -1
- package/dist/legacy.d.ts +1 -0
- package/dist/legacy.d.ts.map +1 -1
- package/dist/legacy.js +1 -0
- package/dist/legacy.js.map +1 -1
- package/dist/seaLanes.d.ts +8 -5
- package/dist/seaLanes.d.ts.map +1 -1
- package/dist/seaLanes.js +18 -17
- package/dist/seaLanes.js.map +1 -1
- package/dist/smugglersStrand.d.ts.map +1 -1
- package/dist/smugglersStrand.js +4 -0
- package/dist/smugglersStrand.js.map +1 -1
- package/dist/starterExpansion.d.ts +7 -2
- package/dist/starterExpansion.d.ts.map +1 -1
- package/dist/starterExpansion.js +7 -2
- package/dist/starterExpansion.js.map +1 -1
- package/dist/surfaceChart.d.ts +2 -0
- package/dist/surfaceChart.d.ts.map +1 -1
- package/dist/surfaceChart.js +6 -1
- package/dist/surfaceChart.js.map +1 -1
- package/dist/westernEntrance.d.ts +221 -0
- package/dist/westernEntrance.d.ts.map +1 -0
- package/dist/westernEntrance.js +263 -0
- package/dist/westernEntrance.js.map +1 -0
- package/package.json +1 -1
package/dist/starterExpansion.js
CHANGED
|
@@ -1,8 +1,13 @@
|
|
|
1
1
|
/** Layout 2 inserts inland ground without moving the underground strip. */
|
|
2
2
|
export const STARTER_EXPANSION_SEAM_Z = 852;
|
|
3
3
|
export const STARTER_EXPANSION_ROWS = 128;
|
|
4
|
-
|
|
5
|
-
|
|
4
|
+
/**
|
|
5
|
+
* The generator's (legacy-frame) world height: CHUNK_SIZE * DEMO_CHUNKS_Z in constants.ts (1120 until 2026-10-09, 1248
|
|
6
|
+
* since the Western Entrance grew the south pad by four chunks). Spelled out here because this file must not import
|
|
7
|
+
* constants.ts (expandedContracts.ts re-exports both), and starter-expansion-smoke proves the two agree.
|
|
8
|
+
*/
|
|
9
|
+
export const LEGACY_WORLD_HEIGHT = 1248;
|
|
10
|
+
export const EXPANDED_WORLD_HEIGHT = LEGACY_WORLD_HEIGHT + STARTER_EXPANSION_ROWS;
|
|
6
11
|
export const SURFACE_WIDTH = 928;
|
|
7
12
|
export function shiftSurfaceZ(x, z) {
|
|
8
13
|
return x < SURFACE_WIDTH && z >= STARTER_EXPANSION_SEAM_Z ? z + STARTER_EXPANSION_ROWS : z;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"starterExpansion.js","sourceRoot":"","sources":["../src/starterExpansion.ts"],"names":[],"mappings":"AAAA,2EAA2E;AAC3E,MAAM,CAAC,MAAM,wBAAwB,GAAG,GAAG,CAAC;AAC5C,MAAM,CAAC,MAAM,sBAAsB,GAAG,GAAG,CAAC;AAC1C,MAAM,CAAC,MAAM,mBAAmB,GAAG,IAAI,CAAC;AACxC,MAAM,CAAC,MAAM,qBAAqB,GAAG,
|
|
1
|
+
{"version":3,"file":"starterExpansion.js","sourceRoot":"","sources":["../src/starterExpansion.ts"],"names":[],"mappings":"AAAA,2EAA2E;AAC3E,MAAM,CAAC,MAAM,wBAAwB,GAAG,GAAG,CAAC;AAC5C,MAAM,CAAC,MAAM,sBAAsB,GAAG,GAAG,CAAC;AAC1C;;;;GAIG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,IAAI,CAAC;AACxC,MAAM,CAAC,MAAM,qBAAqB,GAAG,mBAAmB,GAAG,sBAAsB,CAAC;AAClF,MAAM,CAAC,MAAM,aAAa,GAAG,GAAG,CAAC;AACjC,MAAM,UAAU,aAAa,CAAC,CAAS,EAAE,CAAS;IAChD,OAAO,CAAC,GAAG,aAAa,IAAI,CAAC,IAAI,wBAAwB,CAAC,CAAC,CAAC,CAAC,GAAG,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7F,CAAC;AACD,6EAA6E;AAC7E,MAAM,UAAU,eAAe,CAAC,CAAS,EAAE,CAAS;IAClD,IAAI,CAAC,IAAI,aAAa,IAAI,CAAC,GAAG,wBAAwB;QAAE,OAAO,CAAC,CAAC;IACjE,IAAI,CAAC,GAAG,wBAAwB,GAAG,sBAAsB;QAAE,OAAO,IAAI,CAAC;IACvE,OAAO,CAAC,GAAG,sBAAsB,CAAC;AACpC,CAAC"}
|
package/dist/surfaceChart.d.ts
CHANGED
|
@@ -29,6 +29,8 @@ export type SurfaceChartDescriptor = Readonly<{
|
|
|
29
29
|
* Revision 2 (2026-10-05, the south expansion) adds two southern lobes: the Sundered Coast
|
|
30
30
|
* south of Base Camp (out to z 1068, past Fort Rook's cliff) and the South Fields west of
|
|
31
31
|
* Hope Beach (out to z 1000). Every revision 1 point north of them is unchanged.
|
|
32
|
+
* Revision 3 (2026-10-09, the Western Entrance) keeps the headland south of the South Fields
|
|
33
|
+
* opaque through its protected footprint; the technical bounds grew with the four new chunks.
|
|
32
34
|
* No named land, route, or interior moves when this chart revision changes.
|
|
33
35
|
*/
|
|
34
36
|
export declare const SURFACE_CHART: SurfaceChartDescriptor;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"surfaceChart.d.ts","sourceRoot":"","sources":["../src/surfaceChart.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"surfaceChart.d.ts","sourceRoot":"","sources":["../src/surfaceChart.ts"],"names":[],"mappings":"AAgBA,qFAAqF;AACrF,MAAM,MAAM,kBAAkB,GAAG,QAAQ,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC;AACtG,MAAM,MAAM,iBAAiB,GAAG,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAC1D,MAAM,MAAM,qBAAqB,GAAG,QAAQ,CAAC;IAC3C,KAAK,EAAE,SAAS,iBAAiB,EAAE,CAAC;IACpC,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,iBAAiB,EAAE,CAAC,EAAE,CAAC;CACnD,CAAC,CAAC;AACH,MAAM,MAAM,qBAAqB,GAAG,kBAAkB,GAAG,QAAQ,CAAC;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC;AAClF,MAAM,MAAM,sBAAsB,GAAG,QAAQ,CAAC;IAC5C,MAAM,EAAE,CAAC,CAAC;IACV,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,EAAE,kBAAkB,CAAC;IACpC,UAAU,EAAE,SAAS,qBAAqB,EAAE,CAAC;IAC7C,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,mBAAmB,EAAE,SAAS,qBAAqB,EAAE,CAAC;CACvD,CAAC,CAAC;AA0BH;;;;;;;;;;GAUG;AACH,eAAO,MAAM,aAAa,EAAE,sBAgB3B,CAAC;AAsCF;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,GAAE,sBAAsC,GAAG,sBAAsB,GAAG,IAAI,CAwClI;AA0BD;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,sBAAsB,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAqB/F"}
|
package/dist/surfaceChart.js
CHANGED
|
@@ -4,6 +4,7 @@ import { CAPITAL_AQUARIUM_BRIDGE, CAPITAL_AQUARIUM_QUAY } from './capitalAquariu
|
|
|
4
4
|
import { BRANSONS_LANDING_WORKS, HOPE_PIER_BRANCH_MAX_X, HOPE_PIER_END_Z, HOPE_PIER_SHORE_Z, HOPE_PIER_SPUR_MIN_X, PIER_CAST_MAX_TILES, } from './landmarks.js';
|
|
5
5
|
import { SALMON_LEAP_STAGE } from './riverFishing.js';
|
|
6
6
|
import { SOUTH_EXPANSION_FOOTPRINTS } from './southExpansion.js';
|
|
7
|
+
import { WESTERN_ENTRANCE_FOOTPRINT } from './westernEntrance.js';
|
|
7
8
|
import { WHALER_ZONE } from './whaler.js';
|
|
8
9
|
const TECHNICAL_BOUNDS = { minX: 0, minZ: 0, maxX: WORLD_WIDTH - 1, maxZ: WORLD_HEIGHT - 1 };
|
|
9
10
|
/** These authored places stay opaque even if a later chart contour changes. */
|
|
@@ -24,6 +25,8 @@ const REQUIRED_FOOTPRINTS = [
|
|
|
24
25
|
{ id: 'salmon-leap', minX: SALMON_LEAP_STAGE.minX - 3, maxX: SALMON_LEAP_STAGE.maxX + 2, minZ: SALMON_LEAP_STAGE.minZ, maxZ: SALMON_LEAP_STAGE.maxZ + 10 },
|
|
25
26
|
// The south expansion (southExpansion.ts, 2026-10-05): the Sundered Coast and the South Fields.
|
|
26
27
|
...SOUTH_EXPANSION_FOOTPRINTS.map((f) => ({ id: f.id, minX: f.minX, minZ: f.minZ, maxX: f.maxX, maxZ: f.maxZ })),
|
|
28
|
+
// The Western Entrance (westernEntrance.ts, 2026-10-09): the headland south of the South Fields.
|
|
29
|
+
{ ...WESTERN_ENTRANCE_FOOTPRINT },
|
|
27
30
|
];
|
|
28
31
|
/**
|
|
29
32
|
* Presentation only. The full technical rectangle still streams and saves as before.
|
|
@@ -32,11 +35,13 @@ const REQUIRED_FOOTPRINTS = [
|
|
|
32
35
|
* Revision 2 (2026-10-05, the south expansion) adds two southern lobes: the Sundered Coast
|
|
33
36
|
* south of Base Camp (out to z 1068, past Fort Rook's cliff) and the South Fields west of
|
|
34
37
|
* Hope Beach (out to z 1000). Every revision 1 point north of them is unchanged.
|
|
38
|
+
* Revision 3 (2026-10-09, the Western Entrance) keeps the headland south of the South Fields
|
|
39
|
+
* opaque through its protected footprint; the technical bounds grew with the four new chunks.
|
|
35
40
|
* No named land, route, or interior moves when this chart revision changes.
|
|
36
41
|
*/
|
|
37
42
|
export const SURFACE_CHART = {
|
|
38
43
|
schema: 1,
|
|
39
|
-
revision:
|
|
44
|
+
revision: 3,
|
|
40
45
|
technicalBounds: TECHNICAL_BOUNDS,
|
|
41
46
|
components: [{
|
|
42
47
|
outer: [
|
package/dist/surfaceChart.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"surfaceChart.js","sourceRoot":"","sources":["../src/surfaceChart.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"surfaceChart.js","sourceRoot":"","sources":["../src/surfaceChart.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,221 @@
|
|
|
1
|
+
import type { SouthBox, SouthPoint } from './southExpansion.js';
|
|
2
|
+
export declare const WESTERN_ENTRANCE_NAME = "The Western Entrance";
|
|
3
|
+
/** Everything the pass covers, sea round it included. Rows north of 1119 are the South Fields' shore: only sea changes. */
|
|
4
|
+
export declare const WESTERN_ENTRANCE_BOX: SouthBox;
|
|
5
|
+
/** The first row that is open sea right across the box (the South Fields' jetty ends on 1119). */
|
|
6
|
+
export declare const WESTERN_ENTRANCE_NEW_FROM_Z = 1120;
|
|
7
|
+
/**
|
|
8
|
+
* The headland, clockwise from the neck's north-west corner (tile corners, like SOUTH_FIELDS_OUTLINE). The neck
|
|
9
|
+
* (x 36-66) meets the fields' south sand between the farm track's end and the jetty, which keeps its water (the fish
|
|
10
|
+
* spot at 73, 1120). The west and south shores are cliff; the neck is sand. The flat run at z 1194 is the lookout's point.
|
|
11
|
+
*/
|
|
12
|
+
export declare const WESTERN_ENTRANCE_OUTLINE: readonly SouthPoint[];
|
|
13
|
+
/** The neck: sand at sea level rising to the headland's grass; no cliff rim. */
|
|
14
|
+
export declare const WESTERN_ENTRANCE_NECK: SouthBox;
|
|
15
|
+
/** The headland's ground height (terrain steps); the neck rises to it. */
|
|
16
|
+
export declare const WESTERN_ENTRANCE_GROUND_HEIGHT = 3;
|
|
17
|
+
/** The station precinct is flattened to one height so decks, platform and track meet level. */
|
|
18
|
+
export declare const WESTERN_PRECINCT: SouthBox;
|
|
19
|
+
export declare const WESTERN_PRECINCT_HEIGHT = 3;
|
|
20
|
+
/**
|
|
21
|
+
* The station is built from the Blender kit (quest-workshop district western, westlib.py, 2026-10-09; types
|
|
22
|
+
* CAPITAL_BUILDING_MODELS westcarriage, westgangway, westplatform, westramp, westportal, westtrack, westlantern,
|
|
23
|
+
* westsignpost, westnotice, westlookout, westcargo). The kit's decks (the carriage floor, the platform top, the ramp's
|
|
24
|
+
* boards, the gangway plate) stand WESTERN_KIT_DECK_METRES above the ground their model stands on, so the tiles under
|
|
25
|
+
* them are laid that much higher for the walk (2 terrain steps of 0.45 m), and the client seats each model's origin
|
|
26
|
+
* back on the ground (WorldView: the anchor tile is a deck tile, so a rawHeight model placed on it would float by the
|
|
27
|
+
* deck's height, as the Sundered Span's paving did).
|
|
28
|
+
*/
|
|
29
|
+
export declare const WESTERN_KIT_DECK_METRES = 0.9;
|
|
30
|
+
export declare const WESTERN_PLATFORM_HEIGHT: number;
|
|
31
|
+
export declare const WESTERN_DECK_HEIGHT: number;
|
|
32
|
+
/** How far the client lowers each deck model from its anchor tile's height so its base sits on the ground. */
|
|
33
|
+
export declare const WESTERN_KIT_ANCHOR_LIFT_METRES: Readonly<Record<string, number>>;
|
|
34
|
+
/** The rock knoll the tunnel mouth is cut into, by the west cliff: solid stone, crags on top. */
|
|
35
|
+
export declare const WESTERN_KNOLL: SouthBox;
|
|
36
|
+
export declare const WESTERN_KNOLL_HEIGHT = 7;
|
|
37
|
+
/** The arrival path: down the neck to the platform's forecourt (3 wide), and the branch west and south to the lookout. */
|
|
38
|
+
export declare const WESTERN_ENTRANCE_ROADS: ReadonlyArray<{
|
|
39
|
+
id: string;
|
|
40
|
+
w: number;
|
|
41
|
+
pts: readonly SouthPoint[];
|
|
42
|
+
}>;
|
|
43
|
+
/**
|
|
44
|
+
* The boarding platform: a run of westplatform pieces (3 x 3, their kerb on the track side) along the rake's north
|
|
45
|
+
* side, its top at deck height; its tiles are flagstones for the walk. A step of two off the forecourt (MAX_STEP_HEIGHT).
|
|
46
|
+
* Long enough for the whole rake (James, 2026-10-10: "it has no front, no back, only 2 carriages"): the locomotive's
|
|
47
|
+
* nose at the portal to the guard van at the east end.
|
|
48
|
+
*/
|
|
49
|
+
export declare const WESTERN_PLATFORM: SouthBox;
|
|
50
|
+
export declare const WESTERN_PLATFORM_PIECES: readonly SouthPoint[];
|
|
51
|
+
/**
|
|
52
|
+
* The line (James, 2026-10-10: "tracks stretching all the way back from it too coming from out of the ocean"): one tile
|
|
53
|
+
* of track (westtrack, rails along the facing) on this row from the tile in front of the mouth, east along the whole
|
|
54
|
+
* platform and across the meadow, down the causeway and into the sea at the headland's east side. No buffer stop: the
|
|
55
|
+
* train (phase two, NEXT_STEPS "the circuit") comes in from the sea, stops at the platform and runs on into the portal.
|
|
56
|
+
*/
|
|
57
|
+
export declare const WESTERN_TRACK_Z = 1153;
|
|
58
|
+
export declare const WESTERN_TRACK: {
|
|
59
|
+
readonly minX: 27;
|
|
60
|
+
readonly maxX: 199;
|
|
61
|
+
readonly z: 1153;
|
|
62
|
+
};
|
|
63
|
+
/**
|
|
64
|
+
* The causeway: a dwarven stone bed three wide carrying the line off the east cliff and down into the water, its last
|
|
65
|
+
* tiles at the waterline (height 0), so the rails come up out of the sea. Lantern posts on its outer rows.
|
|
66
|
+
*/
|
|
67
|
+
export declare const WESTERN_CAUSEWAY: SouthBox;
|
|
68
|
+
export declare function westernCausewayHeight(x: number): number;
|
|
69
|
+
export declare const WESTERN_CAUSEWAY_LANTERN_XS: readonly number[];
|
|
70
|
+
/** The sea end of the line: the last rail tile, at the waterline (the /tp for "where the train comes from"). */
|
|
71
|
+
export declare const WESTERN_SEA_END: {
|
|
72
|
+
readonly x: 199;
|
|
73
|
+
readonly z: 1153;
|
|
74
|
+
};
|
|
75
|
+
/**
|
|
76
|
+
* The gap row: the one tile between the platform's edge (z 1149) and the cars' sides (z 1151), stone at the ground
|
|
77
|
+
* height and BLOCKED the length of the platform (the cliff rim's rule), so nobody steps off the platform onto the bed.
|
|
78
|
+
* The step plates stand on it.
|
|
79
|
+
*/
|
|
80
|
+
export declare const WESTERN_GAP_ROW: {
|
|
81
|
+
readonly minX: number;
|
|
82
|
+
readonly maxX: number;
|
|
83
|
+
readonly z: number;
|
|
84
|
+
};
|
|
85
|
+
/**
|
|
86
|
+
* The rake, nose west at the portal, along the track row (every piece 5 across, long along the line, facing e, its
|
|
87
|
+
* anchor the middle tile on the track row). The four open cars of the dwarven carriage (westcarriage, 5 x 9): the
|
|
88
|
+
* skirt and rails on the outer tiles, the middle three clear, the ends' middle tile open at the gangway's width, and
|
|
89
|
+
* since 2026-10-10 the middle tile of the PLATFORM side open as the doorway (James: "you would enter from the side,
|
|
90
|
+
* using the bridge style icon to jump on"). A gangway plate (westgangway) joins each pair of cars; a coupling tile
|
|
91
|
+
* with a chain (landingrail) closes the rake's outer car ends. The locomotive, tender, cargo car and guard van are
|
|
92
|
+
* the Blender worker's (westloco, westtender, westcargocar, westguard, 2026-10-10): their slots are reserved here and
|
|
93
|
+
* placed when their models land (WESTERN_RAKE_SLOTS; plan 2026-10-10-western-entrance-line-from-the-ocean.md).
|
|
94
|
+
* The rake does not move yet (plan 2026-10-09-start-train.md is the moving train, phase two).
|
|
95
|
+
*/
|
|
96
|
+
export declare const WESTERN_CAR_ACROSS = 5;
|
|
97
|
+
export declare const WESTERN_CAR_LENGTH = 9;
|
|
98
|
+
export declare const WESTERN_CARS: ReadonlyArray<SouthBox & {
|
|
99
|
+
id: string;
|
|
100
|
+
anchor: SouthPoint;
|
|
101
|
+
}>;
|
|
102
|
+
/** The gangway plates between the cars, on the track row. */
|
|
103
|
+
export declare const WESTERN_GANGWAYS: readonly SouthPoint[];
|
|
104
|
+
/** The coupling tiles at the rake's open car ends: a chain across the line, no rail piece under it. */
|
|
105
|
+
export declare const WESTERN_COUPLINGS: readonly SouthPoint[];
|
|
106
|
+
/**
|
|
107
|
+
* The slots reserved for the Blender worker's pieces: model id, the tiles along the line, the anchor and the facing
|
|
108
|
+
* (nose west). Placed by the backend only when the model is registered (CAPITAL_BUILDING_MODELS has the id), so the
|
|
109
|
+
* rails show through an empty slot until then.
|
|
110
|
+
*/
|
|
111
|
+
export declare const WESTERN_RAKE_SLOTS: ReadonlyArray<{
|
|
112
|
+
id: string;
|
|
113
|
+
model: string;
|
|
114
|
+
minX: number;
|
|
115
|
+
maxX: number;
|
|
116
|
+
anchor: SouthPoint;
|
|
117
|
+
facing: 'e' | 'w';
|
|
118
|
+
}>;
|
|
119
|
+
/**
|
|
120
|
+
* The step plates (weststep, a solid 1 x 1 plate on the gap row in front of each car's doorway): the bridge-style
|
|
121
|
+
* crossing. A click on the plate's icon from the platform lands the player on the doorway tile; from the car, on the
|
|
122
|
+
* platform's edge tile (backend world.ts handleWesternStep; TRAVEL_THROUGH_RANGE).
|
|
123
|
+
*/
|
|
124
|
+
export declare const WESTERN_STEP_MODEL = "weststep";
|
|
125
|
+
export declare const WESTERN_STEPS: ReadonlyArray<{
|
|
126
|
+
car: string;
|
|
127
|
+
x: number;
|
|
128
|
+
z: number;
|
|
129
|
+
doorway: SouthPoint;
|
|
130
|
+
platform: SouthPoint;
|
|
131
|
+
}>;
|
|
132
|
+
export declare function isWesternStepStyle(style: string | undefined): boolean;
|
|
133
|
+
export declare const WESTERN_STEP_BOARD_TEXT = "You step up onto the carriage.";
|
|
134
|
+
export declare const WESTERN_STEP_ALIGHT_TEXT = "You step down to the platform.";
|
|
135
|
+
export declare const WESTERN_STEP_BOARD_LABEL = "Board the carriage";
|
|
136
|
+
export declare const WESTERN_STEP_ALIGHT_LABEL = "Step down to the platform";
|
|
137
|
+
/**
|
|
138
|
+
* The tunnel mouth: a `caveentrance` drawn from the kit's portal (westportal, 9 across x 3 deep, the five middle tiles
|
|
139
|
+
* open for the carriage, the piers solid; caveEntranceModel), facing east down the line, cut into the knoll. The click
|
|
140
|
+
* refuses: the line is not open (backend world.ts handleCaveEntrance).
|
|
141
|
+
*/
|
|
142
|
+
export declare const WESTERN_TUNNEL_MOUTH_MODEL = "westportal";
|
|
143
|
+
export declare const WESTERN_TUNNEL_MOUTH: {
|
|
144
|
+
readonly x: 25;
|
|
145
|
+
readonly z: 1153;
|
|
146
|
+
readonly style: "westportal-e";
|
|
147
|
+
};
|
|
148
|
+
export declare const WESTERN_TUNNEL_MOUTH_ID = "western-tunnel-mouth";
|
|
149
|
+
export declare const WESTERN_LINE_CLOSED_TEXT = "The line is not open yet. The dwarves have hung their lanterns, but no train runs west.";
|
|
150
|
+
export declare function isWesternTunnelMouthStyle(style: string | undefined): boolean;
|
|
151
|
+
/** The sea-cliff lookout at the headland's south-west point: a flagstone pad railed on its seaward side, the cliff's crags beyond. */
|
|
152
|
+
export declare const WESTERN_LOOKOUT: SouthBox;
|
|
153
|
+
/** Plinth lanterns (westlantern) along the platform's back row, flanking the mouth, at the lookout and the way in. */
|
|
154
|
+
export declare const WESTERN_LANTERNS: readonly SouthPoint[];
|
|
155
|
+
/** Banner posts (townbannerpost1x1) at the platform's ends and the neck's foot. */
|
|
156
|
+
export declare const WESTERN_BANNERS: readonly SouthPoint[];
|
|
157
|
+
/** Rest benches (townrestbench3x1, 3 across) on the platform's back row, facing the cars. */
|
|
158
|
+
export declare const WESTERN_PLATFORM_BENCHES: readonly SouthPoint[];
|
|
159
|
+
/** The All Aboard board (westnotice) at the forecourt's edge, read on the way to the platform. */
|
|
160
|
+
export declare const WESTERN_NOTICE_BOARD: {
|
|
161
|
+
readonly x: 46;
|
|
162
|
+
readonly z: 1144;
|
|
163
|
+
};
|
|
164
|
+
/** The supply corner between the forecourt and the platform's back: the kit's cargo stack, crates, a barrel, a sack, planks and rope. */
|
|
165
|
+
export declare const WESTERN_SUPPLIES: ReadonlyArray<{
|
|
166
|
+
x: number;
|
|
167
|
+
z: number;
|
|
168
|
+
kind: 'cargo' | 'dreadmodel';
|
|
169
|
+
style: string;
|
|
170
|
+
}>;
|
|
171
|
+
/**
|
|
172
|
+
* Signposts: the kit's route fingerpost (westsignpost) at the neck, the forecourt and the east waymarker toward the lands
|
|
173
|
+
* to come; readable placards for the welcome and the lookout.
|
|
174
|
+
*/
|
|
175
|
+
export declare const WESTERN_SIGNS: ReadonlyArray<{
|
|
176
|
+
id: string;
|
|
177
|
+
x: number;
|
|
178
|
+
z: number;
|
|
179
|
+
kind: 'signpost' | 'dreadmodel';
|
|
180
|
+
style: string;
|
|
181
|
+
}>;
|
|
182
|
+
/** The lookout's fence: the kit's sea lookout rail (westlookout, 3 across, the sea on its front), on the pad's seaward row. */
|
|
183
|
+
export declare const WESTERN_LOOKOUT_RAILS: readonly SouthPoint[];
|
|
184
|
+
/** Pine copses: centre, count, radius. The dressing skips roads, the precinct, the knoll and the lookout. */
|
|
185
|
+
export declare const WESTERN_COPSES: ReadonlyArray<{
|
|
186
|
+
x: number;
|
|
187
|
+
z: number;
|
|
188
|
+
count: number;
|
|
189
|
+
radius: number;
|
|
190
|
+
}>;
|
|
191
|
+
/** The /tp stand tile: the forecourt, facing the platform, the cars and the mouth beyond. */
|
|
192
|
+
export declare const WESTERN_ENTRANCE_STAND: {
|
|
193
|
+
readonly x: 51;
|
|
194
|
+
readonly z: 1140;
|
|
195
|
+
};
|
|
196
|
+
/** Where the discovery zone and the paper label fall (the whole headland south of the fields' shore). */
|
|
197
|
+
export declare const WESTERN_ENTRANCE_ZONE_BOX: SouthBox;
|
|
198
|
+
/** The discovery zone, in landmarks.ts's frame (legacy local rows), listed after the South Fields so the neck is theirs. */
|
|
199
|
+
export declare const WESTERN_ENTRANCE_ZONE: {
|
|
200
|
+
readonly id: "western-entrance";
|
|
201
|
+
readonly label: "The Western Entrance";
|
|
202
|
+
readonly minX: number;
|
|
203
|
+
readonly maxX: number;
|
|
204
|
+
readonly minZ: number;
|
|
205
|
+
readonly maxZ: number;
|
|
206
|
+
};
|
|
207
|
+
/** The paper map's label, over the platform, in WORLD_MAP_LANDMARKS's frame (legacy world rows; expandedContracts shifts it). */
|
|
208
|
+
export declare const WESTERN_ENTRANCE_LANDMARK: {
|
|
209
|
+
readonly x: 52;
|
|
210
|
+
readonly z: number;
|
|
211
|
+
readonly label: "Western Entrance";
|
|
212
|
+
};
|
|
213
|
+
/** The paper map keeps the headland opaque (surfaceChart.ts protectedFootprints, legacy world rows). */
|
|
214
|
+
export declare const WESTERN_ENTRANCE_FOOTPRINT: {
|
|
215
|
+
readonly id: "western-entrance";
|
|
216
|
+
readonly minX: 10;
|
|
217
|
+
readonly minZ: number;
|
|
218
|
+
readonly maxX: 200;
|
|
219
|
+
readonly maxZ: number;
|
|
220
|
+
};
|
|
221
|
+
//# sourceMappingURL=westernEntrance.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"westernEntrance.d.ts","sourceRoot":"","sources":["../src/westernEntrance.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,263 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The Western Entrance (James, 2026-10-09: "we're building a huge expansion of the map to the south west, as you enter
|
|
3
|
+
* the first expanded zone the first thing they'll see is this railway station, this is on land that doesnt exist in
|
|
4
|
+
* the game yet and needs starting"). Phase one of the south-western expansion, from the sheets filed in the backend's
|
|
5
|
+
* design-references (western-train-build-brief, western-train-entrance, western-boarding-point, open-dwarven-carriage,
|
|
6
|
+
* western-entrance-assets, western-outdoor-departure, sea-cave-tunnel, southwest-expansion-masterplan):
|
|
7
|
+
*
|
|
8
|
+
* - new land, a coastal headland laid in the open sea south of the South Fields, joined to them by a sandy neck;
|
|
9
|
+
* - a signposted arrival path down the neck to an open-air boarding platform (lanterns, benches, crates, a notice
|
|
10
|
+
* board, banners);
|
|
11
|
+
* - the rake at the platform: four walkable open cars (westcarriage, 5 x 9) with gangway plates between them, boarded
|
|
12
|
+
* from the platform side by the step plates' crossing icon, and the slots for the locomotive, tender, cargo car and
|
|
13
|
+
* guard van (plan 2026-10-09-start-train.md; it does not move yet);
|
|
14
|
+
* - the line west from the platform into a lantern-lit tunnel mouth in a rock knoll by the sea (the line is not open:
|
|
15
|
+
* the mouth refuses with "The line is not open yet."), and east the length of the platform, across the meadow and down
|
|
16
|
+
* a stone causeway into the sea, where the train will come from (2026-10-10, James: "coming from out of the ocean");
|
|
17
|
+
* - a sea-cliff lookout, pines, crags, a waymarker toward the lands to come.
|
|
18
|
+
*
|
|
19
|
+
* No people, creatures, quests or moving train: those are the later phases (backend NEXT_STEPS.md, "The Western
|
|
20
|
+
* Entrance"). Nothing north of the South Fields' south shore is touched: the pass only converts tiles that are sea.
|
|
21
|
+
*
|
|
22
|
+
* WHERE THE LAND IS (the key decision, plan 2026-10-09-western-train-entrance.md): the world grows by rows on the south
|
|
23
|
+
* (WORLD_SOUTH_CHUNKS), the mechanism the south expansion used. New columns west of x 0 would mean shifting every
|
|
24
|
+
* stored x coordinate the way the 128-row insert shifted z (expandedContracts.ts), a multi-day refactor, so the
|
|
25
|
+
* region's west edge is the map's west edge and the sheets' "north link along the west coast" is a hook, not land.
|
|
26
|
+
*
|
|
27
|
+
* FRAME: every number here is in the FINAL world frame (x east, z south, the /tp frame), like hopewoodQuests.ts: the
|
|
28
|
+
* land lies wholly south of the inserted band, and the backend lays it in the final world after expandStarterWorld.
|
|
29
|
+
* The discovery zone and the surface-chart footprint are the two contracts that live in legacy files (landmarks.ts,
|
|
30
|
+
* surfaceChart.ts), so they are given in the frames those files use, converted here from the same numbers.
|
|
31
|
+
*/
|
|
32
|
+
import { toLocalZ } from './constants.js';
|
|
33
|
+
import { STARTER_EXPANSION_ROWS } from './starterExpansion.js';
|
|
34
|
+
export const WESTERN_ENTRANCE_NAME = 'The Western Entrance';
|
|
35
|
+
/** Everything the pass covers, sea round it included. Rows north of 1119 are the South Fields' shore: only sea changes. */
|
|
36
|
+
export const WESTERN_ENTRANCE_BOX = { minX: 0, minZ: 1100, maxX: 200, maxZ: 1230 };
|
|
37
|
+
/** The first row that is open sea right across the box (the South Fields' jetty ends on 1119). */
|
|
38
|
+
export const WESTERN_ENTRANCE_NEW_FROM_Z = 1120;
|
|
39
|
+
/**
|
|
40
|
+
* The headland, clockwise from the neck's north-west corner (tile corners, like SOUTH_FIELDS_OUTLINE). The neck
|
|
41
|
+
* (x 36-66) meets the fields' south sand between the farm track's end and the jetty, which keeps its water (the fish
|
|
42
|
+
* spot at 73, 1120). The west and south shores are cliff; the neck is sand. The flat run at z 1194 is the lookout's point.
|
|
43
|
+
*/
|
|
44
|
+
export const WESTERN_ENTRANCE_OUTLINE = [
|
|
45
|
+
[36, 1100], [66, 1100], [66, 1118], [72, 1128], [90, 1130], [116, 1130], [144, 1132], [168, 1138], [184, 1148],
|
|
46
|
+
[192, 1164], [190, 1184], [182, 1198], [166, 1208], [140, 1214], [110, 1216], [82, 1214], [56, 1208], [36, 1200],
|
|
47
|
+
[35, 1194], [25, 1194], [22, 1188], [14, 1172], [12, 1152], [16, 1136], [26, 1124], [36, 1114],
|
|
48
|
+
];
|
|
49
|
+
/** The neck: sand at sea level rising to the headland's grass; no cliff rim. */
|
|
50
|
+
export const WESTERN_ENTRANCE_NECK = { minX: 36, minZ: 1100, maxX: 66, maxZ: 1126 };
|
|
51
|
+
/** The headland's ground height (terrain steps); the neck rises to it. */
|
|
52
|
+
export const WESTERN_ENTRANCE_GROUND_HEIGHT = 3;
|
|
53
|
+
/** The station precinct is flattened to one height so decks, platform and track meet level. */
|
|
54
|
+
export const WESTERN_PRECINCT = { minX: 24, minZ: 1136, maxX: 104, maxZ: 1162 };
|
|
55
|
+
export const WESTERN_PRECINCT_HEIGHT = 3;
|
|
56
|
+
/**
|
|
57
|
+
* The station is built from the Blender kit (quest-workshop district western, westlib.py, 2026-10-09; types
|
|
58
|
+
* CAPITAL_BUILDING_MODELS westcarriage, westgangway, westplatform, westramp, westportal, westtrack, westlantern,
|
|
59
|
+
* westsignpost, westnotice, westlookout, westcargo). The kit's decks (the carriage floor, the platform top, the ramp's
|
|
60
|
+
* boards, the gangway plate) stand WESTERN_KIT_DECK_METRES above the ground their model stands on, so the tiles under
|
|
61
|
+
* them are laid that much higher for the walk (2 terrain steps of 0.45 m), and the client seats each model's origin
|
|
62
|
+
* back on the ground (WorldView: the anchor tile is a deck tile, so a rawHeight model placed on it would float by the
|
|
63
|
+
* deck's height, as the Sundered Span's paving did).
|
|
64
|
+
*/
|
|
65
|
+
export const WESTERN_KIT_DECK_METRES = 0.9;
|
|
66
|
+
export const WESTERN_PLATFORM_HEIGHT = WESTERN_PRECINCT_HEIGHT + 2;
|
|
67
|
+
export const WESTERN_DECK_HEIGHT = WESTERN_PRECINCT_HEIGHT + 2;
|
|
68
|
+
/** How far the client lowers each deck model from its anchor tile's height so its base sits on the ground. */
|
|
69
|
+
export const WESTERN_KIT_ANCHOR_LIFT_METRES = {
|
|
70
|
+
westcarriage: WESTERN_KIT_DECK_METRES,
|
|
71
|
+
westgangway: WESTERN_KIT_DECK_METRES,
|
|
72
|
+
westplatform: WESTERN_KIT_DECK_METRES,
|
|
73
|
+
// The ramp's anchor is its middle tread, half way up (the piece is not placed since 2026-10-10: boarding is from the side).
|
|
74
|
+
westramp: WESTERN_KIT_DECK_METRES / 2,
|
|
75
|
+
// The step plate's tile is the gap row at the ground height, so its plate meets the decks with no lift.
|
|
76
|
+
};
|
|
77
|
+
/** The rock knoll the tunnel mouth is cut into, by the west cliff: solid stone, crags on top. */
|
|
78
|
+
export const WESTERN_KNOLL = { minX: 12, minZ: 1142, maxX: 23, maxZ: 1162 };
|
|
79
|
+
export const WESTERN_KNOLL_HEIGHT = 7;
|
|
80
|
+
/** The arrival path: down the neck to the platform's forecourt (3 wide), and the branch west and south to the lookout. */
|
|
81
|
+
export const WESTERN_ENTRANCE_ROADS = [
|
|
82
|
+
{ id: 'arrival', w: 3, pts: [[51, 1100], [51, 1120], [51, 1142]] },
|
|
83
|
+
{ id: 'forecourt', w: 3, pts: [[51, 1141], [31, 1141]] },
|
|
84
|
+
{ id: 'lookout', w: 2, pts: [[30, 1141], [30, 1164], [30, 1187]] },
|
|
85
|
+
];
|
|
86
|
+
/**
|
|
87
|
+
* The boarding platform: a run of westplatform pieces (3 x 3, their kerb on the track side) along the rake's north
|
|
88
|
+
* side, its top at deck height; its tiles are flagstones for the walk. A step of two off the forecourt (MAX_STEP_HEIGHT).
|
|
89
|
+
* Long enough for the whole rake (James, 2026-10-10: "it has no front, no back, only 2 carriages"): the locomotive's
|
|
90
|
+
* nose at the portal to the guard van at the east end.
|
|
91
|
+
*/
|
|
92
|
+
export const WESTERN_PLATFORM = { minX: 28, minZ: 1147, maxX: 99, maxZ: 1149 };
|
|
93
|
+
export const WESTERN_PLATFORM_PIECES = Array.from({ length: 24 }, (_, i) => [29 + i * 3, 1148]);
|
|
94
|
+
/**
|
|
95
|
+
* The line (James, 2026-10-10: "tracks stretching all the way back from it too coming from out of the ocean"): one tile
|
|
96
|
+
* of track (westtrack, rails along the facing) on this row from the tile in front of the mouth, east along the whole
|
|
97
|
+
* platform and across the meadow, down the causeway and into the sea at the headland's east side. No buffer stop: the
|
|
98
|
+
* train (phase two, NEXT_STEPS "the circuit") comes in from the sea, stops at the platform and runs on into the portal.
|
|
99
|
+
*/
|
|
100
|
+
export const WESTERN_TRACK_Z = 1153;
|
|
101
|
+
export const WESTERN_TRACK = { minX: 27, maxX: 199, z: WESTERN_TRACK_Z };
|
|
102
|
+
/**
|
|
103
|
+
* The causeway: a dwarven stone bed three wide carrying the line off the east cliff and down into the water, its last
|
|
104
|
+
* tiles at the waterline (height 0), so the rails come up out of the sea. Lantern posts on its outer rows.
|
|
105
|
+
*/
|
|
106
|
+
export const WESTERN_CAUSEWAY = { minX: 178, minZ: WESTERN_TRACK_Z - 1, maxX: 199, maxZ: WESTERN_TRACK_Z + 1 };
|
|
107
|
+
export function westernCausewayHeight(x) {
|
|
108
|
+
if (x <= 183)
|
|
109
|
+
return WESTERN_ENTRANCE_GROUND_HEIGHT;
|
|
110
|
+
if (x <= 188)
|
|
111
|
+
return 2;
|
|
112
|
+
if (x <= 193)
|
|
113
|
+
return 1;
|
|
114
|
+
return 0;
|
|
115
|
+
}
|
|
116
|
+
export const WESTERN_CAUSEWAY_LANTERN_XS = [180, 186, 192, 198];
|
|
117
|
+
/** The sea end of the line: the last rail tile, at the waterline (the /tp for "where the train comes from"). */
|
|
118
|
+
export const WESTERN_SEA_END = { x: WESTERN_TRACK.maxX, z: WESTERN_TRACK_Z };
|
|
119
|
+
/**
|
|
120
|
+
* The gap row: the one tile between the platform's edge (z 1149) and the cars' sides (z 1151), stone at the ground
|
|
121
|
+
* height and BLOCKED the length of the platform (the cliff rim's rule), so nobody steps off the platform onto the bed.
|
|
122
|
+
* The step plates stand on it.
|
|
123
|
+
*/
|
|
124
|
+
export const WESTERN_GAP_ROW = { minX: WESTERN_PLATFORM.minX, maxX: WESTERN_PLATFORM.maxX, z: WESTERN_TRACK_Z - 3 };
|
|
125
|
+
/**
|
|
126
|
+
* The rake, nose west at the portal, along the track row (every piece 5 across, long along the line, facing e, its
|
|
127
|
+
* anchor the middle tile on the track row). The four open cars of the dwarven carriage (westcarriage, 5 x 9): the
|
|
128
|
+
* skirt and rails on the outer tiles, the middle three clear, the ends' middle tile open at the gangway's width, and
|
|
129
|
+
* since 2026-10-10 the middle tile of the PLATFORM side open as the doorway (James: "you would enter from the side,
|
|
130
|
+
* using the bridge style icon to jump on"). A gangway plate (westgangway) joins each pair of cars; a coupling tile
|
|
131
|
+
* with a chain (landingrail) closes the rake's outer car ends. The locomotive, tender, cargo car and guard van are
|
|
132
|
+
* the Blender worker's (westloco, westtender, westcargocar, westguard, 2026-10-10): their slots are reserved here and
|
|
133
|
+
* placed when their models land (WESTERN_RAKE_SLOTS; plan 2026-10-10-western-entrance-line-from-the-ocean.md).
|
|
134
|
+
* The rake does not move yet (plan 2026-10-09-start-train.md is the moving train, phase two).
|
|
135
|
+
*/
|
|
136
|
+
export const WESTERN_CAR_ACROSS = 5;
|
|
137
|
+
export const WESTERN_CAR_LENGTH = 9;
|
|
138
|
+
const carAt = (id, anchorX) => ({ id, anchor: [anchorX, WESTERN_TRACK_Z], minX: anchorX - 4, minZ: WESTERN_TRACK_Z - 2, maxX: anchorX + 4, maxZ: WESTERN_TRACK_Z + 2 });
|
|
139
|
+
export const WESTERN_CARS = [
|
|
140
|
+
carAt('car-a', 47), carAt('car-b', 57), carAt('car-c', 67), carAt('car-d', 77),
|
|
141
|
+
];
|
|
142
|
+
/** The gangway plates between the cars, on the track row. */
|
|
143
|
+
export const WESTERN_GANGWAYS = [[52, WESTERN_TRACK_Z], [62, WESTERN_TRACK_Z], [72, WESTERN_TRACK_Z]];
|
|
144
|
+
/** The coupling tiles at the rake's open car ends: a chain across the line, no rail piece under it. */
|
|
145
|
+
export const WESTERN_COUPLINGS = [[42, WESTERN_TRACK_Z], [82, WESTERN_TRACK_Z], [92, WESTERN_TRACK_Z]];
|
|
146
|
+
/**
|
|
147
|
+
* The slots reserved for the Blender worker's pieces: model id, the tiles along the line, the anchor and the facing
|
|
148
|
+
* (nose west). Placed by the backend only when the model is registered (CAPITAL_BUILDING_MODELS has the id), so the
|
|
149
|
+
* rails show through an empty slot until then.
|
|
150
|
+
*/
|
|
151
|
+
export const WESTERN_RAKE_SLOTS = [
|
|
152
|
+
{ id: 'loco', model: 'westloco', minX: 28, maxX: 36, anchor: [32, WESTERN_TRACK_Z], facing: 'w' },
|
|
153
|
+
{ id: 'tender', model: 'westtender', minX: 37, maxX: 41, anchor: [39, WESTERN_TRACK_Z], facing: 'w' },
|
|
154
|
+
{ id: 'cargo-car', model: 'westcargocar', minX: 83, maxX: 91, anchor: [87, WESTERN_TRACK_Z], facing: 'e' },
|
|
155
|
+
{ id: 'guard-van', model: 'westguard', minX: 93, maxX: 99, anchor: [96, WESTERN_TRACK_Z], facing: 'e' },
|
|
156
|
+
];
|
|
157
|
+
/**
|
|
158
|
+
* The step plates (weststep, a solid 1 x 1 plate on the gap row in front of each car's doorway): the bridge-style
|
|
159
|
+
* crossing. A click on the plate's icon from the platform lands the player on the doorway tile; from the car, on the
|
|
160
|
+
* platform's edge tile (backend world.ts handleWesternStep; TRAVEL_THROUGH_RANGE).
|
|
161
|
+
*/
|
|
162
|
+
export const WESTERN_STEP_MODEL = 'weststep';
|
|
163
|
+
export const WESTERN_STEPS = WESTERN_CARS.map((car) => ({
|
|
164
|
+
car: car.id,
|
|
165
|
+
x: car.anchor[0],
|
|
166
|
+
z: WESTERN_GAP_ROW.z,
|
|
167
|
+
doorway: [car.anchor[0], car.minZ],
|
|
168
|
+
platform: [car.anchor[0], WESTERN_PLATFORM.maxZ],
|
|
169
|
+
}));
|
|
170
|
+
export function isWesternStepStyle(style) {
|
|
171
|
+
return typeof style === 'string' && style.startsWith(`${WESTERN_STEP_MODEL}-`);
|
|
172
|
+
}
|
|
173
|
+
export const WESTERN_STEP_BOARD_TEXT = 'You step up onto the carriage.';
|
|
174
|
+
export const WESTERN_STEP_ALIGHT_TEXT = 'You step down to the platform.';
|
|
175
|
+
export const WESTERN_STEP_BOARD_LABEL = 'Board the carriage';
|
|
176
|
+
export const WESTERN_STEP_ALIGHT_LABEL = 'Step down to the platform';
|
|
177
|
+
/**
|
|
178
|
+
* The tunnel mouth: a `caveentrance` drawn from the kit's portal (westportal, 9 across x 3 deep, the five middle tiles
|
|
179
|
+
* open for the carriage, the piers solid; caveEntranceModel), facing east down the line, cut into the knoll. The click
|
|
180
|
+
* refuses: the line is not open (backend world.ts handleCaveEntrance).
|
|
181
|
+
*/
|
|
182
|
+
export const WESTERN_TUNNEL_MOUTH_MODEL = 'westportal';
|
|
183
|
+
export const WESTERN_TUNNEL_MOUTH = { x: 25, z: WESTERN_TRACK_Z, style: `${WESTERN_TUNNEL_MOUTH_MODEL}-e` };
|
|
184
|
+
export const WESTERN_TUNNEL_MOUTH_ID = 'western-tunnel-mouth';
|
|
185
|
+
export const WESTERN_LINE_CLOSED_TEXT = 'The line is not open yet. The dwarves have hung their lanterns, but no train runs west.';
|
|
186
|
+
export function isWesternTunnelMouthStyle(style) {
|
|
187
|
+
return typeof style === 'string' && style.startsWith(`${WESTERN_TUNNEL_MOUTH_MODEL}-`);
|
|
188
|
+
}
|
|
189
|
+
/** The sea-cliff lookout at the headland's south-west point: a flagstone pad railed on its seaward side, the cliff's crags beyond. */
|
|
190
|
+
export const WESTERN_LOOKOUT = { minX: 27, minZ: 1188, maxX: 33, maxZ: 1191 };
|
|
191
|
+
/** Plinth lanterns (westlantern) along the platform's back row, flanking the mouth, at the lookout and the way in. */
|
|
192
|
+
export const WESTERN_LANTERNS = [
|
|
193
|
+
[30, 1147], [42, 1147], [46, 1147], [58, 1147], [70, 1147], [82, 1147], [90, 1147], [98, 1147],
|
|
194
|
+
[27, 1148], [27, 1158],
|
|
195
|
+
[26, 1189], [34, 1189],
|
|
196
|
+
[48, 1121], [54, 1131],
|
|
197
|
+
];
|
|
198
|
+
/** Banner posts (townbannerpost1x1) at the platform's ends and the neck's foot. */
|
|
199
|
+
export const WESTERN_BANNERS = [[28, 1146], [99, 1146], [47, 1118], [55, 1118]];
|
|
200
|
+
/** Rest benches (townrestbench3x1, 3 across) on the platform's back row, facing the cars. */
|
|
201
|
+
export const WESTERN_PLATFORM_BENCHES = [[36, 1147], [52, 1147], [64, 1147], [76, 1147]];
|
|
202
|
+
/** The All Aboard board (westnotice) at the forecourt's edge, read on the way to the platform. */
|
|
203
|
+
export const WESTERN_NOTICE_BOARD = { x: 46, z: 1144 };
|
|
204
|
+
/** The supply corner between the forecourt and the platform's back: the kit's cargo stack, crates, a barrel, a sack, planks and rope. */
|
|
205
|
+
export const WESTERN_SUPPLIES = [
|
|
206
|
+
{ x: 60, z: 1144, kind: 'dreadmodel', style: 'westcargo-s' },
|
|
207
|
+
{ x: 62, z: 1143, kind: 'cargo', style: 'crate' },
|
|
208
|
+
{ x: 62, z: 1144, kind: 'cargo', style: 'barrel' },
|
|
209
|
+
{ x: 59, z: 1142, kind: 'cargo', style: 'sack' },
|
|
210
|
+
{ x: 64, z: 1144, kind: 'dreadmodel', style: 'plankstack-s' },
|
|
211
|
+
{ x: 64, z: 1145, kind: 'dreadmodel', style: 'ropecoil-s' },
|
|
212
|
+
];
|
|
213
|
+
/**
|
|
214
|
+
* Signposts: the kit's route fingerpost (westsignpost) at the neck, the forecourt and the east waymarker toward the lands
|
|
215
|
+
* to come; readable placards for the welcome and the lookout.
|
|
216
|
+
*/
|
|
217
|
+
export const WESTERN_SIGNS = [
|
|
218
|
+
{ id: 'western-sign-neck', x: 54, z: 1110, kind: 'signpost', style: 'placard-The Western Entrance' },
|
|
219
|
+
{ id: 'western-post-neck', x: 48, z: 1112, kind: 'dreadmodel', style: 'westsignpost-s' },
|
|
220
|
+
{ id: 'western-post-forecourt', x: 48, z: 1139, kind: 'dreadmodel', style: 'westsignpost-s' },
|
|
221
|
+
{ id: 'western-post-east', x: 104, z: 1149, kind: 'dreadmodel', style: 'westsignpost-s' },
|
|
222
|
+
{ id: 'western-sign-lookout', x: 32, z: 1186, kind: 'signpost', style: 'placard-Sea Lookout' },
|
|
223
|
+
];
|
|
224
|
+
/** The lookout's fence: the kit's sea lookout rail (westlookout, 3 across, the sea on its front), on the pad's seaward row. */
|
|
225
|
+
export const WESTERN_LOOKOUT_RAILS = [[28, 1192], [31, 1192], [34, 1192]];
|
|
226
|
+
/** Pine copses: centre, count, radius. The dressing skips roads, the precinct, the knoll and the lookout. */
|
|
227
|
+
export const WESTERN_COPSES = [
|
|
228
|
+
{ x: 114, z: 1144, count: 9, radius: 6 },
|
|
229
|
+
{ x: 128, z: 1170, count: 12, radius: 9 },
|
|
230
|
+
{ x: 74, z: 1186, count: 9, radius: 7 },
|
|
231
|
+
{ x: 150, z: 1198, count: 10, radius: 8 },
|
|
232
|
+
{ x: 44, z: 1176, count: 7, radius: 6 },
|
|
233
|
+
{ x: 160, z: 1146, count: 8, radius: 7 },
|
|
234
|
+
{ x: 100, z: 1200, count: 8, radius: 7 },
|
|
235
|
+
];
|
|
236
|
+
/** The /tp stand tile: the forecourt, facing the platform, the cars and the mouth beyond. */
|
|
237
|
+
export const WESTERN_ENTRANCE_STAND = { x: 51, z: 1140 };
|
|
238
|
+
/** Where the discovery zone and the paper label fall (the whole headland south of the fields' shore). */
|
|
239
|
+
export const WESTERN_ENTRANCE_ZONE_BOX = { minX: 10, minZ: 1117, maxX: 200, maxZ: 1218 };
|
|
240
|
+
/** A final-frame row as the legacy surface-local row landmarks.ts DISCOVERY_ZONES uses. */
|
|
241
|
+
const legacyLocal = (finalZ) => toLocalZ(finalZ - STARTER_EXPANSION_ROWS);
|
|
242
|
+
/** A final-frame row as the legacy world row surfaceChart.ts and WORLD_MAP_LANDMARKS use. */
|
|
243
|
+
const legacyWorld = (finalZ) => finalZ - STARTER_EXPANSION_ROWS;
|
|
244
|
+
/** The discovery zone, in landmarks.ts's frame (legacy local rows), listed after the South Fields so the neck is theirs. */
|
|
245
|
+
export const WESTERN_ENTRANCE_ZONE = {
|
|
246
|
+
id: 'western-entrance',
|
|
247
|
+
label: WESTERN_ENTRANCE_NAME,
|
|
248
|
+
minX: WESTERN_ENTRANCE_ZONE_BOX.minX,
|
|
249
|
+
maxX: WESTERN_ENTRANCE_ZONE_BOX.maxX,
|
|
250
|
+
minZ: legacyLocal(WESTERN_ENTRANCE_ZONE_BOX.minZ),
|
|
251
|
+
maxZ: legacyLocal(WESTERN_ENTRANCE_ZONE_BOX.maxZ),
|
|
252
|
+
};
|
|
253
|
+
/** The paper map's label, over the platform, in WORLD_MAP_LANDMARKS's frame (legacy world rows; expandedContracts shifts it). */
|
|
254
|
+
export const WESTERN_ENTRANCE_LANDMARK = { x: 52, z: legacyWorld(1146), label: 'Western Entrance' };
|
|
255
|
+
/** The paper map keeps the headland opaque (surfaceChart.ts protectedFootprints, legacy world rows). */
|
|
256
|
+
export const WESTERN_ENTRANCE_FOOTPRINT = {
|
|
257
|
+
id: 'western-entrance',
|
|
258
|
+
minX: 10,
|
|
259
|
+
minZ: legacyWorld(1100),
|
|
260
|
+
maxX: 200,
|
|
261
|
+
maxZ: legacyWorld(1218),
|
|
262
|
+
};
|
|
263
|
+
//# sourceMappingURL=westernEntrance.js.map
|