@dreadwood-types/types 0.1.142 → 0.1.143
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/areaTransitions.d.ts +1 -1
- package/dist/areaTransitions.d.ts.map +1 -1
- package/dist/areaTransitions.js +0 -6
- package/dist/areaTransitions.js.map +1 -1
- package/dist/constants.d.ts +4 -19
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +5 -26
- package/dist/constants.js.map +1 -1
- package/dist/dungeonCharts.d.ts.map +1 -1
- package/dist/dungeonCharts.js +0 -11
- package/dist/dungeonCharts.js.map +1 -1
- package/dist/goblinCave.d.ts.map +1 -1
- package/dist/goblinCave.js +3 -3
- package/dist/goblinCave.js.map +1 -1
- package/dist/iceDepths.d.ts.map +1 -1
- package/dist/iceDepths.js +2 -2
- package/dist/iceDepths.js.map +1 -1
- package/dist/index.d.ts +0 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +0 -1
- package/dist/index.js.map +1 -1
- package/dist/southExpansion.js +7 -7
- package/package.json +3 -3
- package/dist/arcaneLands.d.ts +0 -285
- package/dist/arcaneLands.d.ts.map +0 -1
- package/dist/arcaneLands.js +0 -366
- package/dist/arcaneLands.js.map +0 -1
package/dist/arcaneLands.js
DELETED
|
@@ -1,366 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* The Arcane Realms (James, 2026-10-08): the members' land of sorcery "north of the Capital", built first as LAND ONLY
|
|
3
|
-
* (phase 1: terrain, objects and the large building shapes; no people, spells, items, quests, creatures or gating).
|
|
4
|
-
* Design: the combined ChatGPT sheet "The Arcane Realms" (its top-down layout panel is the plan), with the Arcane
|
|
5
|
-
* Frontier and the Northern Realms sheets as secondary references (backend design-references/arcane-lands*,
|
|
6
|
-
* `.cursor/task-plans/2026-10-08-arcane-terrain-build/`).
|
|
7
|
-
*
|
|
8
|
-
* Where it lives: its own strip of the grid east of the underground strip (constants.ts ARCANE_ORIGIN_X), the whole
|
|
9
|
-
* strip open sea with the land in the middle, so nothing in the overworld or the underground moved. Admins reach it
|
|
10
|
-
* by teleport; the Capital's magic door and the members' rules come later.
|
|
11
|
-
*
|
|
12
|
-
* Coordinates: everything below is ZONE-LOCAL, x east 0..299 and z south 0..199 (north is -z, as in the world), with
|
|
13
|
-
* local (0, 0) at world (ARCANE_LAND_X, ARCANE_LAND_Z). Moving the land is changing those two constants. Polygons are
|
|
14
|
-
* tile corners (a tile x,z covers [x, x+1) x [z, z+1)); `inArcanePolygon` tests tile centres. Boxes are inclusive.
|
|
15
|
-
*/
|
|
16
|
-
import { ARCANE_ORIGIN_X, ARCANE_STRIP_WIDTH, CHUNK_SIZE } from './constants.js';
|
|
17
|
-
/** The strip's chunk rows the land uses (the rest of the strip is open sea): rows 4-11, world z 128-383. */
|
|
18
|
-
export const ARCANE_STRIP_CHUNK_Z = 4;
|
|
19
|
-
export const ARCANE_STRIP_CHUNKS_Z = 8;
|
|
20
|
-
export const ARCANE_STRIP_MIN_Z = ARCANE_STRIP_CHUNK_Z * CHUNK_SIZE;
|
|
21
|
-
export const ARCANE_STRIP_MAX_Z = ARCANE_STRIP_MIN_Z + ARCANE_STRIP_CHUNKS_Z * CHUNK_SIZE - 1;
|
|
22
|
-
/** The land's size in tiles, and where its local (0, 0) sits in the world: centred in the strip's rows. */
|
|
23
|
-
export const ARCANE_LAND_W = 300;
|
|
24
|
-
export const ARCANE_LAND_H = 200;
|
|
25
|
-
export const ARCANE_LAND_X = ARCANE_ORIGIN_X + Math.floor((ARCANE_STRIP_WIDTH - ARCANE_LAND_W) / 2);
|
|
26
|
-
export const ARCANE_LAND_Z = ARCANE_STRIP_MIN_Z + Math.floor((ARCANE_STRIP_CHUNKS_Z * CHUNK_SIZE - ARCANE_LAND_H) / 2);
|
|
27
|
-
export const ARCANE_LANDS_NAME = 'The Arcane Realms';
|
|
28
|
-
/** Local to world, and back. */
|
|
29
|
-
export function arcaneWorld(lx, lz) {
|
|
30
|
-
return { x: ARCANE_LAND_X + lx, z: ARCANE_LAND_Z + lz };
|
|
31
|
-
}
|
|
32
|
-
export function arcaneLocal(x, z) {
|
|
33
|
-
return { x: x - ARCANE_LAND_X, z: z - ARCANE_LAND_Z };
|
|
34
|
-
}
|
|
35
|
-
/** Is a world tile inside the land's own 300 x 200 frame (sea margin excluded)? */
|
|
36
|
-
export function inArcaneFrame(x, z) {
|
|
37
|
-
const l = arcaneLocal(x, z);
|
|
38
|
-
return l.x >= 0 && l.z >= 0 && l.x < ARCANE_LAND_W && l.z < ARCANE_LAND_H;
|
|
39
|
-
}
|
|
40
|
-
/** Is a tile centre inside a tile-corner polygon (local or world, as long as both agree)? */
|
|
41
|
-
export function inArcanePolygon(x, z, poly) {
|
|
42
|
-
const px = x + 0.5;
|
|
43
|
-
const pz = z + 0.5;
|
|
44
|
-
let inside = false;
|
|
45
|
-
for (let i = 0, j = poly.length - 1; i < poly.length; j = i++) {
|
|
46
|
-
const [xi, zi] = poly[i];
|
|
47
|
-
const [xj, zj] = poly[j];
|
|
48
|
-
if ((zi > pz) !== (zj > pz) && px < ((xj - xi) * (pz - zi)) / (zj - zi) + xi)
|
|
49
|
-
inside = !inside;
|
|
50
|
-
}
|
|
51
|
-
return inside;
|
|
52
|
-
}
|
|
53
|
-
export function inArcaneBox(x, z, b, margin = 0) {
|
|
54
|
-
return x >= b.minX - margin && x <= b.maxX + margin && z >= b.minZ - margin && z <= b.maxZ + margin;
|
|
55
|
-
}
|
|
56
|
-
/** Distance from a tile centre to a polyline through tile centres. */
|
|
57
|
-
export function distToArcanePolyline(x, z, pts) {
|
|
58
|
-
let best = Infinity;
|
|
59
|
-
for (let i = 0; i + 1 < pts.length; i++) {
|
|
60
|
-
const [ax, az] = pts[i];
|
|
61
|
-
const [bx, bz] = pts[i + 1];
|
|
62
|
-
const dx = bx - ax;
|
|
63
|
-
const dz = bz - az;
|
|
64
|
-
const len2 = dx * dx + dz * dz || 1;
|
|
65
|
-
const t = Math.max(0, Math.min(1, ((x - ax) * dx + (z - az) * dz) / len2));
|
|
66
|
-
best = Math.min(best, Math.hypot(x - (ax + t * dx), z - (az + t * dz)));
|
|
67
|
-
}
|
|
68
|
-
return best;
|
|
69
|
-
}
|
|
70
|
-
// ---------------------------------------------------------------- the land and its shapes (local)
|
|
71
|
-
/**
|
|
72
|
-
* The coast, clockwise from the south-west. The bay in the north middle is the Spire's: the floating city hangs over
|
|
73
|
-
* it, its beam on the headland's platform. The south coast's middle is the Northern Gate's forecourt.
|
|
74
|
-
*/
|
|
75
|
-
export const ARCANE_OUTLINE = [
|
|
76
|
-
[26, 192], [16, 184], [10, 166], [6, 140], [12, 116], [8, 92], [14, 66], [10, 44], [22, 24], [44, 12], [70, 8], [96, 14],
|
|
77
|
-
[114, 26], [124, 38], [134, 44], [140, 42], [141, 32], [150, 26], [159, 32], [160, 42], [166, 44], [176, 38],
|
|
78
|
-
[188, 24], [206, 12], [232, 6], [260, 8], [282, 18], [294, 40], [290, 64], [296, 90], [292, 118], [296, 146],
|
|
79
|
-
[288, 170], [276, 186], [252, 194], [226, 196], [200, 192], [176, 195], [158, 196], [156, 199], [144, 199], [142, 196],
|
|
80
|
-
[124, 196], [100, 192], [72, 196], [44, 194],
|
|
81
|
-
];
|
|
82
|
-
/**
|
|
83
|
-
* The raised ground: the local views' layered terraces of grey faceted cliff. The Crystal Lakes sit on a high terrace
|
|
84
|
-
* whose outlet falls to the Silverrun; the Arcanum stands on a walled terrace entered by four cut ramps; Zephyr Cliffs
|
|
85
|
-
* are climbed by the ramp only; Rune Fields grade up from the west road.
|
|
86
|
-
*/
|
|
87
|
-
export const ARCANE_PLATEAUS = [
|
|
88
|
-
{
|
|
89
|
-
id: 'crystal-terrace', name: 'The Crystal terrace', height: 8, edge: 'cliff',
|
|
90
|
-
poly: [[12, 30], [44, 10], [100, 14], [124, 34], [122, 52], [108, 70], [96, 76], [78, 80], [44, 78], [14, 66]],
|
|
91
|
-
},
|
|
92
|
-
{
|
|
93
|
-
id: 'arcanum-terrace', name: 'The Arcanum terrace', height: 7, edge: 'cliff',
|
|
94
|
-
poly: [[120, 50], [194, 50], [197, 80], [188, 110], [134, 112], [118, 98]],
|
|
95
|
-
},
|
|
96
|
-
{
|
|
97
|
-
id: 'rune-fields', name: 'Rune Fields', height: 8, edge: 'slope',
|
|
98
|
-
poly: [[4, 132], [40, 124], [70, 128], [84, 140], [86, 160], [74, 178], [46, 196], [10, 196], [2, 160]],
|
|
99
|
-
},
|
|
100
|
-
{
|
|
101
|
-
id: 'zephyr-cliffs', name: 'Zephyr Cliffs', height: 12, edge: 'cliff',
|
|
102
|
-
poly: [[232, 74], [262, 70], [290, 64], [300, 70], [300, 181], [274, 171], [256, 165], [238, 159], [229, 146], [230, 100]],
|
|
103
|
-
},
|
|
104
|
-
];
|
|
105
|
-
export const ARCANE_KNOLLS = [
|
|
106
|
-
{ id: 'observatory', x: 26, z: 46, top: 11, flat: 4 },
|
|
107
|
-
{ id: 'starfall', x: 246, z: 179, top: 5, flat: 7 },
|
|
108
|
-
];
|
|
109
|
-
/**
|
|
110
|
-
* Frostveil Peaks, the far range in the north-east: snow foothills in the zone, peaks as cones on top. Ground above
|
|
111
|
-
* ARCANE_PEAK_SOLID_H is mountain (solid); below it the snow is walkable.
|
|
112
|
-
*/
|
|
113
|
-
export const FROSTVEIL_ZONE = [
|
|
114
|
-
[184, 44], [192, 22], [210, 10], [232, 4], [264, 6], [286, 16], [298, 40], [296, 62], [284, 68], [256, 66], [232, 66], [206, 62],
|
|
115
|
-
];
|
|
116
|
-
export const FROSTVEIL_FOOTHILL_H = 6;
|
|
117
|
-
export const ARCANE_PEAK_SOLID_H = 12;
|
|
118
|
-
export const FROSTVEIL_PEAKS = [
|
|
119
|
-
{ x: 214, z: 24, height: 30, slope: 1.7 },
|
|
120
|
-
{ x: 240, z: 16, height: 36, slope: 1.6 },
|
|
121
|
-
{ x: 266, z: 24, height: 32, slope: 1.6 },
|
|
122
|
-
{ x: 286, z: 40, height: 26, slope: 1.7 },
|
|
123
|
-
{ x: 230, z: 40, height: 22, slope: 1.8 },
|
|
124
|
-
{ x: 254, z: 44, height: 26, slope: 1.7 },
|
|
125
|
-
{ x: 200, z: 36, height: 20, slope: 1.8 },
|
|
126
|
-
{ x: 276, z: 56, height: 18, slope: 1.9 },
|
|
127
|
-
];
|
|
128
|
-
/** The Northern Pass's two rock shoulders either side of the road up from the gate: solid crag ridges. */
|
|
129
|
-
export const NORTHERN_PASS_SHOULDERS = [
|
|
130
|
-
[[112, 182], [128, 176], [143, 178], [144, 192], [114, 192]],
|
|
131
|
-
[[156, 178], [172, 176], [188, 182], [186, 192], [156, 192]],
|
|
132
|
-
];
|
|
133
|
-
export const NORTHERN_PASS_SHOULDER_H = 9;
|
|
134
|
-
/** The wall the Northern Gate stands in (the Arcane Wall Segments): one row, either side of the gate. */
|
|
135
|
-
export const NORTHERN_WALL = { z: 192, west: [116, 143], east: [157, 184], height: 3 };
|
|
136
|
-
export const ARCANE_LAKES = [
|
|
137
|
-
{ id: 'runed-west', name: 'Runed Lake (west water)', poly: [[94, 130], [108, 124], [126, 124], [140, 130], [142, 140], [138, 152], [126, 160], [108, 160], [96, 152], [92, 140]] },
|
|
138
|
-
{ id: 'runed-east', name: 'Runed Lake (east water)', poly: [[159, 132], [172, 120], [198, 118], [214, 126], [218, 140], [210, 156], [190, 159], [172, 156], [160, 146]] },
|
|
139
|
-
{ id: 'runed-channel', name: 'Runed Lake (the narrows)', poly: [[140, 137], [160, 137], [160, 142], [140, 142]] },
|
|
140
|
-
{ id: 'crystal-great', name: 'Crystal Lakes (the great water)', poly: [[70, 48], [84, 42], [98, 46], [100, 58], [92, 68], [76, 70], [66, 62]], height: 6 },
|
|
141
|
-
{ id: 'crystal-upper', name: 'Crystal Lakes (the upper water)', poly: [[100, 28], [108, 24], [114, 30], [112, 38], [102, 38]], height: 6 },
|
|
142
|
-
{ id: 'crystal-lower', name: 'Crystal Lakes (the lower water)', poly: [[40, 52], [52, 48], [58, 56], [52, 64], [40, 62]], height: 6 },
|
|
143
|
-
{ id: 'starfall-crater', name: 'The Starfall crater pool', poly: [[242, 174], [250, 174], [252, 180], [248, 185], [242, 184], [240, 179]] },
|
|
144
|
-
];
|
|
145
|
-
/** Islands: land kept out of a lake. The Runed Lake's island holds the Stone Circle, its obelisks and its beam. */
|
|
146
|
-
export const ARCANE_ISLANDS = [
|
|
147
|
-
{ id: 'rune-isle', poly: [[180, 129], [200, 128], [205, 139], [201, 150], [185, 151], [178, 141]] },
|
|
148
|
-
];
|
|
149
|
-
export const ARCANE_RIVERS = [
|
|
150
|
-
{ id: 'silverrun', pts: [[100, 77], [104, 86], [110, 96], [114, 110], [116, 126]], halfWidth: 2, height: 0 },
|
|
151
|
-
{ id: 'passwater', pts: [[118, 156], [124, 168], [140, 172], [160, 172], [176, 168], [182, 154]], halfWidth: 2.5, height: 0 },
|
|
152
|
-
{ id: 'zephyr-pool', pts: [[212, 140], [222, 134], [227, 124], [227, 110]], halfWidth: 2.5, height: 0 },
|
|
153
|
-
{ id: 'zephyr-run', pts: [[222, 134], [228, 148], [238, 160], [256, 166], [274, 172], [300, 182]], halfWidth: 2.5, height: 0 },
|
|
154
|
-
// On the terraces: streams that run to a fall, and the Arcanum's canal.
|
|
155
|
-
{ id: 'crystal-outlet', pts: [[90, 66], [96, 70], [100, 74]], halfWidth: 1.5, height: 6 },
|
|
156
|
-
{ id: 'zephyr-stream-north', pts: [[250, 105], [242, 109], [230, 112]], halfWidth: 1.5, height: 12 },
|
|
157
|
-
{ id: 'zephyr-stream-south', pts: [[262, 130], [246, 125], [230, 122]], halfWidth: 1.5, height: 12 },
|
|
158
|
-
{ id: 'whisper-stream', pts: [[280, 113], [286, 119], [291, 121]], halfWidth: 1.5, height: 12 },
|
|
159
|
-
{ id: 'rune-stream', pts: [[40, 150], [24, 152], [9, 152]], halfWidth: 1.5, height: 8 },
|
|
160
|
-
{ id: 'arcanum-canal', pts: [[128, 103], [168, 103]], halfWidth: 1.5, height: 6 },
|
|
161
|
-
];
|
|
162
|
-
/**
|
|
163
|
-
* The Rift: a chasm split into the north of Zephyr Cliffs, sheer to dark water at sea level. Floating rocks hang over
|
|
164
|
-
* it (ARCANE_FLOATING_ROCKS).
|
|
165
|
-
*/
|
|
166
|
-
export const THE_RIFT = [[252, 74], [266, 70], [282, 72], [284, 78], [270, 84], [256, 82]];
|
|
167
|
-
export const ARCANE_ROADS = [
|
|
168
|
-
{ id: 'main', pts: [[150, 196], [150, 172], [150, 150], [150, 139], [150, 112], [150, 96], [150, 86], [156, 80], [161, 76], [161, 60], [158, 57], [150, 46], [150, 40]], halfWidth: 1.5 },
|
|
169
|
-
{ id: 'keep', pts: [[161, 66], [166, 66]], halfWidth: 1 },
|
|
170
|
-
{ id: 'west', pts: [[142, 86], [118, 86], [96, 86], [80, 92], [62, 98], [46, 88], [40, 78], [36, 68], [30, 56]], halfWidth: 1.5 },
|
|
171
|
-
{ id: 'crystal-lakes', pts: [[88, 88], [87, 80], [86, 72]], halfWidth: 1 },
|
|
172
|
-
{ id: 'rune-fields', pts: [[62, 98], [56, 112], [50, 128], [46, 146]], halfWidth: 1.5 },
|
|
173
|
-
{ id: 'east', pts: [[158, 86], [180, 90], [204, 96], [222, 96], [238, 96], [254, 98]], halfWidth: 1.5 },
|
|
174
|
-
{ id: 'frostveil', pts: [[206, 96], [210, 80], [214, 64]], halfWidth: 1.5 },
|
|
175
|
-
{ id: 'whispering', pts: [[254, 98], [268, 108], [276, 122]], halfWidth: 1.5 },
|
|
176
|
-
{ id: 'rift', pts: [[254, 98], [262, 90]], halfWidth: 1 },
|
|
177
|
-
{ id: 'southeast', pts: [[150, 162], [168, 162], [190, 162], [212, 168], [232, 180]], halfWidth: 1.5 },
|
|
178
|
-
{ id: 'rune-isle', pts: [[191, 162], [191, 146]], halfWidth: 1.5 },
|
|
179
|
-
];
|
|
180
|
-
export const ARCANE_BRIDGES = [
|
|
181
|
-
{ id: 'northern-pass', name: 'The Great Stone Bridge', axis: 'ns', box: { minX: 146, maxX: 154, minZ: 165, maxZ: 178 }, height: 3 },
|
|
182
|
-
{ id: 'runed-narrows', name: 'The Runed Narrows bridge', axis: 'ns', box: { minX: 146, maxX: 154, minZ: 135, maxZ: 144 }, height: 3 },
|
|
183
|
-
{ id: 'silverrun', name: 'The Silverrun bridge', axis: 'ew', box: { minX: 98, maxX: 110, minZ: 83, maxZ: 89 }, height: 3 },
|
|
184
|
-
{ id: 'passwater-east', name: 'The Passwater bridge', axis: 'ew', box: { minX: 172, maxX: 187, minZ: 159, maxZ: 165 }, height: 3 },
|
|
185
|
-
{ id: 'rune-isle', name: 'The Isle bridge', axis: 'ns', box: { minX: 188, maxX: 194, minZ: 148, maxZ: 161 }, height: 3 },
|
|
186
|
-
{ id: 'arcanum-canal', name: 'The Canal bridge', axis: 'ns', box: { minX: 146, maxX: 154, minZ: 100, maxZ: 106 }, height: 7 },
|
|
187
|
-
];
|
|
188
|
-
export const ARCANE_RAMPS = [
|
|
189
|
-
{ id: 'zephyr-climb', from: [230, 96], to: [246, 96], halfWidth: 2 },
|
|
190
|
-
{ id: 'arcanum-south', from: [150, 117], to: [150, 107], halfWidth: 2 },
|
|
191
|
-
{ id: 'arcanum-west', from: [114, 86], to: [125, 86], halfWidth: 2 },
|
|
192
|
-
{ id: 'arcanum-east', from: [198, 94], to: [186, 91], halfWidth: 2 },
|
|
193
|
-
{ id: 'arcanum-north', from: [152, 47], to: [158, 57], halfWidth: 2 },
|
|
194
|
-
{ id: 'crystal-climb', from: [87, 82], to: [86, 71], halfWidth: 2 },
|
|
195
|
-
{ id: 'observatory-climb', from: [41, 80], to: [36, 68], halfWidth: 2 },
|
|
196
|
-
];
|
|
197
|
-
export const ARCANE_WATERFALLS = [
|
|
198
|
-
{ id: 'crystal-outlet', stream: 'crystal-outlet', facing: 's' },
|
|
199
|
-
{ id: 'zephyr-north', stream: 'zephyr-stream-north', facing: 'w' },
|
|
200
|
-
{ id: 'zephyr-south', stream: 'zephyr-stream-south', facing: 'w' },
|
|
201
|
-
{ id: 'whispering', stream: 'whisper-stream', facing: 'e' },
|
|
202
|
-
{ id: 'rune-fields', stream: 'rune-stream', facing: 'w' },
|
|
203
|
-
];
|
|
204
|
-
/**
|
|
205
|
-
* The sea coast is cliff (a stone rim two tiles deep, crags on its lip) except on these beaches, where the shore
|
|
206
|
-
* grades to sand.
|
|
207
|
-
*/
|
|
208
|
-
export const ARCANE_BEACHES = [
|
|
209
|
-
{ id: 'starfall', minX: 206, maxX: 284, minZ: 168, maxZ: 199 },
|
|
210
|
-
{ id: 'south-west', minX: 84, maxX: 112, minZ: 184, maxZ: 199 },
|
|
211
|
-
{ id: 'south-east', minX: 188, maxX: 206, minZ: 184, maxZ: 199 },
|
|
212
|
-
{ id: 'bay-west', minX: 124, maxX: 140, minZ: 36, maxZ: 48 },
|
|
213
|
-
{ id: 'bay-east', minX: 160, maxX: 184, minZ: 20, maxZ: 48 },
|
|
214
|
-
];
|
|
215
|
-
/** Eldergrove: the old wood in the west, planted thick (the road to the Observatory runs through it). */
|
|
216
|
-
export const ELDERGROVE = [[18, 84], [44, 80], [76, 84], [86, 102], [72, 120], [40, 122], [16, 112]];
|
|
217
|
-
/** The Arcanum's plaza: paved, round, in the middle of the town, the fountain in its middle. */
|
|
218
|
-
export const ARCANUM_PLAZA = { x: 150, z: 86, radius: 8, height: 7 };
|
|
219
|
-
export const ARCANE_STOPS = [
|
|
220
|
-
{ id: 'northern-pass', name: 'The Northern Pass', order: 1, stand: [150, 184], what: 'The arrival: the Northern Gate in its wall on the south shore, the road up between two rock shoulders and over the Great Stone Bridge.' },
|
|
221
|
-
{ id: 'runed-lake', name: 'Runed Lake', order: 2, stand: [150, 150], what: 'The first trial: twin lakes in rocky basins either side of the road, the Rune Isle in the east water with the Stone Circle, its obelisks and its beam.' },
|
|
222
|
-
{ id: 'arcanum', name: 'The Arcanum', order: 3, stand: [150, 96], what: 'The hub: a blue-roofed town on its walled terrace, the Blue-Roof Hall over the fountain plaza, the keep, the towers, the canal.' },
|
|
223
|
-
{ id: 'zephyr-cliffs', name: 'Zephyr Cliffs', order: 4, stand: [254, 100], what: 'The high plateau in the east, climbed by the cut ramp; waterfalls off its west face, floating rocks over it.' },
|
|
224
|
-
{ id: 'the-spire', name: 'The Spire', order: 5, stand: [150, 48], what: 'The pad on the headland in the north bay, hooded statues either side: the floating city overhead and its beam of light to the ground.' },
|
|
225
|
-
{ id: 'stone-circle', name: 'The Stone Circle', order: 0, stand: [191, 147], what: 'The Rune Isle in the Runed Lake: a ring of rune stones round a medallion, five runed obelisks, a beam of light.' },
|
|
226
|
-
{ id: 'crystal-lakes', name: 'Crystal Lakes', order: 0, stand: [86, 72], what: 'Three lakes on the high terrace in the north-west, crystals on their shores; the outlet falls to the Silverrun.' },
|
|
227
|
-
{ id: 'eldergrove', name: 'Eldergrove', order: 0, stand: [64, 98], what: 'The old wood in the west under the terrace cliff, on the road to the Observatory.' },
|
|
228
|
-
{ id: 'old-observatory', name: 'The Old Observatory', order: 0, stand: [30, 56], what: 'A tower on a knoll at the west end of the high terrace.' },
|
|
229
|
-
{ id: 'rune-fields', name: 'Rune Fields', order: 0, stand: [46, 146], what: 'An upland in the south-west: crystals and rune stones, a stream falling into the sea.' },
|
|
230
|
-
{ id: 'frostveil-peaks', name: 'Frostveil Peaks', order: 0, stand: [214, 64], what: 'The snow foothills under the far range in the north-east.' },
|
|
231
|
-
{ id: 'the-rift', name: 'The Rift', order: 0, stand: [262, 90], what: 'A chasm split into the north of the plateau, rocks floating over it.' },
|
|
232
|
-
{ id: 'whispering-cliffs', name: 'Whispering Cliffs', order: 0, stand: [276, 122], what: 'The plateau\'s sea edge, a fall into the sea.' },
|
|
233
|
-
{ id: 'starfall-coast', name: 'Starfall Coast', order: 0, stand: [232, 180], what: 'The south-east shore and its crater pool.' },
|
|
234
|
-
];
|
|
235
|
-
export function arcaneStop(id) {
|
|
236
|
-
const stop = ARCANE_STOPS.find((s) => s.id === id);
|
|
237
|
-
if (!stop)
|
|
238
|
-
throw new Error(`no Arcane Realms stop ${id}`);
|
|
239
|
-
return stop;
|
|
240
|
-
}
|
|
241
|
-
/** Where a teleport into the land puts you: the Northern Pass's stand, inside the gate. */
|
|
242
|
-
export const ARCANE_ARRIVAL = arcaneWorld(150, 184);
|
|
243
|
-
// ---------------------------------------------------------------- the asset sheet and the placeholders
|
|
244
|
-
/**
|
|
245
|
-
* The 35 pieces of the Arcane Realms asset sheet (ChatGPT, 2026-10-08, `ASSET-SHEET-35-pieces.png` in the build's task
|
|
246
|
-
* folder): the names phase 2's Blender kit builds to. Every building and prop phase 1 places names the piece it stands
|
|
247
|
-
* in for (`asset`), so the kit replaces them one to one.
|
|
248
|
-
*/
|
|
249
|
-
export const ARCANE_ASSET_PIECES = [
|
|
250
|
-
'northern-gate-portal', 'arcane-wall-segment', 'watch-post', 'spire-beacon', 'great-stone-bridge-segment',
|
|
251
|
-
'bridge-pillar', 'stone-path-tile', 'rope-bridge', 'cliff-stairs', 'floating-rock-cluster', 'runed-obelisk',
|
|
252
|
-
'stone-circle-monolith', 'runed-pedestal', 'waystone', 'lake-shrine', 'zephyr-arch', 'arcane-lamp', 'crystal-outcrop',
|
|
253
|
-
'crystal-cluster', 'blue-roof-hall', 'apprentice-hut', 'arcanum-house', 'mage-stall', 'arcane-forge', 'crafting-bench',
|
|
254
|
-
'rune-banner', 'runed-lake-dock', 'lake-edge-tile', 'terrain-rock', 'evergreen-tree', 'arcane-tree', 'hedge-bush',
|
|
255
|
-
'flower-bed', 'wooden-fence', 'market-canopy',
|
|
256
|
-
];
|
|
257
|
-
/**
|
|
258
|
-
* What stands in for each piece today (kind and style, the existing kit), so the review and phase 2 see the mapping in
|
|
259
|
-
* one place. Pieces with no stand-in yet are `slot`: phase 1 keeps their ground clear (ARCANE_SLOTS) and places nothing.
|
|
260
|
-
*/
|
|
261
|
-
export const ARCANE_PLACEHOLDERS = {
|
|
262
|
-
'northern-gate-portal': 'gatehouse main-n (the Capital\'s Great Gate)',
|
|
263
|
-
'arcane-wall-segment': 'citywall curtain-s (+banner)',
|
|
264
|
-
'watch-post': 'citywall tower-watch',
|
|
265
|
-
'spire-beacon': 'citywall tower-light',
|
|
266
|
-
'great-stone-bridge-segment': 'Stone deck tiles + stonebridge parapets',
|
|
267
|
-
'bridge-pillar': 'stonebridge pier+fire (torch pillar every six tiles)',
|
|
268
|
-
'stone-path-tile': 'Path / Stone terrain',
|
|
269
|
-
'rope-bridge': 'slot',
|
|
270
|
-
'cliff-stairs': 'the cut ramps (terrain)',
|
|
271
|
-
'floating-rock-cluster': 'client sky (ArcaneSky.ts) faceted cones',
|
|
272
|
-
'runed-obelisk': 'depthsprop obelisk',
|
|
273
|
-
'stone-circle-monolith': 'runepillar stone/tablet round a depthsprop runecircle',
|
|
274
|
-
'runed-pedestal': 'depthsprop altar',
|
|
275
|
-
'waystone': 'runepillar stone',
|
|
276
|
-
'lake-shrine': 'slot',
|
|
277
|
-
'zephyr-arch': 'dreadprop arch',
|
|
278
|
-
'arcane-lamp': 'depthsprop brazier-blue; banner crown-lamp',
|
|
279
|
-
'crystal-outcrop': 'icecrystal cluster',
|
|
280
|
-
'crystal-cluster': 'icecrystal small',
|
|
281
|
-
'blue-roof-hall': 'temple temple-s (the Arcanum\'s hall); manor blue-*',
|
|
282
|
-
'apprentice-hut': 'manor purple-s',
|
|
283
|
-
'arcanum-house': 'manor blue-*',
|
|
284
|
-
'mage-stall': 'marketstall cloth-*',
|
|
285
|
-
'arcane-forge': 'slot',
|
|
286
|
-
'crafting-bench': 'slot',
|
|
287
|
-
'rune-banner': 'banner crown-pole',
|
|
288
|
-
'runed-lake-dock': 'slot',
|
|
289
|
-
'lake-edge-tile': 'rock boulder/mossy on the lake banks',
|
|
290
|
-
'terrain-rock': 'rock crag/coastal-crag/boulder/icecrag',
|
|
291
|
-
'evergreen-tree': 'tree pine/spruce',
|
|
292
|
-
'arcane-tree': 'slot (tree oak/ash stand in the woods)',
|
|
293
|
-
'hedge-bush': 'bush',
|
|
294
|
-
'flower-bed': 'flowers',
|
|
295
|
-
'wooden-fence': 'slot',
|
|
296
|
-
'market-canopy': 'slot',
|
|
297
|
-
};
|
|
298
|
-
export const ARCANE_BUILDINGS = [
|
|
299
|
-
{ id: 'northern-gate', name: 'The Northern Gate', asset: 'northern-gate-portal', kind: 'gatehouse', style: 'main-n', x: 150, z: 191, level: 3 },
|
|
300
|
-
{ id: 'arcanum-hall', name: 'The Arcanum Hall', asset: 'blue-roof-hall', kind: 'temple', style: 'temple-s', x: 150, z: 68, level: 7 },
|
|
301
|
-
{ id: 'arcanum-keep', name: 'The Arcanum keep', asset: 'blue-roof-hall', kind: 'castle', style: 'keep', x: 178, z: 66, level: 7 },
|
|
302
|
-
{ id: 'arcanum-house-west', name: 'The West House', asset: 'arcanum-house', kind: 'manor', style: 'blue-s', x: 130, z: 76, level: 7 },
|
|
303
|
-
{ id: 'arcanum-house-east', name: 'The East House', asset: 'arcanum-house', kind: 'manor', style: 'blue-n', x: 176, z: 100, level: 7 },
|
|
304
|
-
{ id: 'arcanum-house-north', name: 'The Apprentice House', asset: 'apprentice-hut', kind: 'manor', style: 'purple-s', x: 132, z: 58, level: 7 },
|
|
305
|
-
{ id: 'arcanum-fountain', name: 'The plaza fountain', asset: 'runed-pedestal', kind: 'fountain', style: 'tiered', x: 150, z: 86, level: 7 },
|
|
306
|
-
{ id: 'arcanum-tower-sw', name: 'Mage tower', asset: 'watch-post', kind: 'citywall', style: 'tower-castle', x: 141, z: 96, level: 7 },
|
|
307
|
-
{ id: 'arcanum-tower-se', name: 'Mage tower', asset: 'watch-post', kind: 'citywall', style: 'tower-castle', x: 159, z: 96, level: 7 },
|
|
308
|
-
{ id: 'arcanum-stall-a', name: 'Mage stall', asset: 'mage-stall', kind: 'marketstall', style: 'cloth-e', x: 138, z: 82 },
|
|
309
|
-
{ id: 'arcanum-stall-b', name: 'Mage stall', asset: 'mage-stall', kind: 'marketstall', style: 'pots-w', x: 163, z: 92 },
|
|
310
|
-
{ id: 'observatory', name: 'The Old Observatory', asset: 'watch-post', kind: 'citywall', style: 'tower-watch', x: 24, z: 44, scale: 1.3, level: 11 },
|
|
311
|
-
{ id: 'zephyr-tower', name: 'The Zephyr tower', asset: 'watch-post', kind: 'citywall', style: 'tower-castle', x: 252, z: 140, scale: 1.2, level: 12 },
|
|
312
|
-
{ id: 'zephyr-arch-n', name: 'The Zephyr Arch (north pillar)', asset: 'zephyr-arch', kind: 'dreadprop', style: 'archpillar-face0', x: 249, z: 94 },
|
|
313
|
-
{ id: 'zephyr-arch-s', name: 'The Zephyr Arch (south pillar)', asset: 'zephyr-arch', kind: 'dreadprop', style: 'archpillar-face180', x: 249, z: 100 },
|
|
314
|
-
{ id: 'whispering-light', name: 'The Whispering light', asset: 'spire-beacon', kind: 'citywall', style: 'tower-light', x: 286, z: 136, level: 12 },
|
|
315
|
-
{ id: 'spire-statue-w', name: 'Hooded warden', asset: 'runed-obelisk', kind: 'hoodedstatue', style: 's', x: 144, z: 47, scale: 2 },
|
|
316
|
-
{ id: 'spire-statue-e', name: 'Hooded warden', asset: 'runed-obelisk', kind: 'hoodedstatue', style: 's', x: 156, z: 47, scale: 2 },
|
|
317
|
-
];
|
|
318
|
-
/** Slots phase 2 fills (kept clear now): the pieces with no stand-in. */
|
|
319
|
-
export const ARCANE_SLOTS = [
|
|
320
|
-
{ asset: 'arcane-forge', x: 166, z: 80, note: 'The Arcanum forge, east of the plaza' },
|
|
321
|
-
{ asset: 'crafting-bench', x: 135, z: 92, note: 'Beside the west stall' },
|
|
322
|
-
{ asset: 'market-canopy', x: 140, z: 90, note: 'The plaza\'s south-west corner' },
|
|
323
|
-
{ asset: 'runed-lake-dock', x: 124, z: 162, note: 'The west water\'s south shore' },
|
|
324
|
-
{ asset: 'lake-shrine', x: 106, z: 122, note: 'The west water\'s north shore' },
|
|
325
|
-
{ asset: 'rope-bridge', x: 268, z: 86, note: 'Across the Rift' },
|
|
326
|
-
{ asset: 'wooden-fence', x: 60, z: 140, note: 'Rune Fields\' pens' },
|
|
327
|
-
];
|
|
328
|
-
/** The Stone Circle on the Rune Isle: rune stones round a medallion, five runed obelisks outside the ring. */
|
|
329
|
-
export const STONE_CIRCLE = { x: 191, z: 139, radius: 5, stones: 8, obelisks: 5, obeliskRadius: 8.5 };
|
|
330
|
-
/** The Spire's pad: a paved round platform on the headland, the beam's foot at its centre. */
|
|
331
|
-
export const SPIRE_LANDING = { x: 150, z: 38, radius: 6, height: 5 };
|
|
332
|
-
/** The summit shrine on Zephyr Cliffs: a pedestal and obelisks, a crystal floating over it (client sky). */
|
|
333
|
-
export const ZEPHYR_SHRINE = { x: 272, z: 96 };
|
|
334
|
-
/**
|
|
335
|
-
* The sky (drawn by the client only while you are in the land, no collision): the floating city over the bay with its
|
|
336
|
-
* beam to the pad, the Rune Isle's beam, the floating rocks and the shrine's crystal. `alt` is world units above the
|
|
337
|
-
* sea; `size` its radius in tiles. The game camera looks down, so the city hangs low enough to be in frame from the
|
|
338
|
-
* Arcanum's north road and the pad when the camera is lowered.
|
|
339
|
-
*/
|
|
340
|
-
export const ARCANE_SPIRE = { x: 150, z: 26, alt: 20, size: 26 };
|
|
341
|
-
export const ARCANE_BEAMS = [
|
|
342
|
-
{ id: 'spire', x: SPIRE_LANDING.x, z: SPIRE_LANDING.z, footHeight: SPIRE_LANDING.height, top: 19, radius: 1.3 },
|
|
343
|
-
{ id: 'rune-isle', x: STONE_CIRCLE.x, z: STONE_CIRCLE.z, footHeight: 3, top: 26, radius: 0.7 },
|
|
344
|
-
];
|
|
345
|
-
export const ARCANE_FLOATING_ROCKS = [
|
|
346
|
-
{ x: 262, z: 76, alt: 9, size: 3.2, crystal: true },
|
|
347
|
-
{ x: 274, z: 72, alt: 13, size: 2.2, crystal: true },
|
|
348
|
-
{ x: 256, z: 80, alt: 15, size: 1.6 },
|
|
349
|
-
{ x: 248, z: 90, alt: 13, size: 2.6 },
|
|
350
|
-
{ x: 270, z: 112, alt: 16, size: 2.0 },
|
|
351
|
-
{ x: 244, z: 134, alt: 12, size: 2.8 },
|
|
352
|
-
{ x: 236, z: 106, alt: 15, size: 1.4 },
|
|
353
|
-
{ x: 120, z: 18, alt: 13, size: 2.4 },
|
|
354
|
-
{ x: 182, z: 16, alt: 16, size: 2.0 },
|
|
355
|
-
{ x: 166, z: 6, alt: 20, size: 1.5 },
|
|
356
|
-
{ x: 132, z: 8, alt: 18, size: 1.8 },
|
|
357
|
-
{ x: 40, z: 140, alt: 11, size: 1.8, crystal: true },
|
|
358
|
-
];
|
|
359
|
-
export const ARCANE_SKY_CRYSTALS = [
|
|
360
|
-
{ x: ZEPHYR_SHRINE.x, z: ZEPHYR_SHRINE.z, alt: 9.5 },
|
|
361
|
-
];
|
|
362
|
-
/** Every stop, world tiles: for teleports and smokes. */
|
|
363
|
-
export function arcaneStopWorld(stop) {
|
|
364
|
-
return arcaneWorld(stop.stand[0], stop.stand[1]);
|
|
365
|
-
}
|
|
366
|
-
//# sourceMappingURL=arcaneLands.js.map
|
package/dist/arcaneLands.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"arcaneLands.js","sourceRoot":"","sources":["../src/arcaneLands.ts"],"names":[],"mappings":"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"}
|