@dreadwood-types/types 0.1.140 → 0.1.142
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/arcaneLands.d.ts +285 -0
- package/dist/arcaneLands.d.ts.map +1 -0
- package/dist/arcaneLands.js +366 -0
- package/dist/arcaneLands.js.map +1 -0
- package/dist/areaTransitions.d.ts +1 -1
- package/dist/areaTransitions.d.ts.map +1 -1
- package/dist/areaTransitions.js +6 -0
- package/dist/areaTransitions.js.map +1 -1
- package/dist/constants.d.ts +19 -4
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +53 -5
- package/dist/constants.js.map +1 -1
- package/dist/cooking.d.ts +10 -0
- package/dist/cooking.d.ts.map +1 -1
- package/dist/cooking.js +17 -4
- package/dist/cooking.js.map +1 -1
- package/dist/dungeonCharts.d.ts.map +1 -1
- package/dist/dungeonCharts.js +11 -0
- package/dist/dungeonCharts.js.map +1 -1
- package/dist/expandedContracts.d.ts +155 -15
- package/dist/expandedContracts.d.ts.map +1 -1
- package/dist/expandedContracts.js +27 -3
- package/dist/expandedContracts.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 +3 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -1
- package/dist/index.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/messages.d.ts +5 -2
- package/dist/messages.d.ts.map +1 -1
- package/dist/messages.js.map +1 -1
- package/dist/quests.d.ts.map +1 -1
- package/dist/quests.js +37 -0
- package/dist/quests.js.map +1 -1
- package/dist/southExpansion.d.ts +150 -41
- package/dist/southExpansion.d.ts.map +1 -1
- package/dist/southExpansion.js +98 -40
- package/dist/southExpansion.js.map +1 -1
- package/dist/southFieldsQuests.d.ts +159 -0
- package/dist/southFieldsQuests.d.ts.map +1 -0
- package/dist/southFieldsQuests.js +200 -0
- package/dist/southFieldsQuests.js.map +1 -0
- package/dist/storyQuests.d.ts +25 -5
- package/dist/storyQuests.d.ts.map +1 -1
- package/dist/storyQuests.js +307 -0
- package/dist/storyQuests.js.map +1 -1
- package/package.json +2 -2
|
@@ -0,0 +1,285 @@
|
|
|
1
|
+
export type ArcanePoint = readonly [number, number];
|
|
2
|
+
export type ArcaneBox = Readonly<{
|
|
3
|
+
minX: number;
|
|
4
|
+
minZ: number;
|
|
5
|
+
maxX: number;
|
|
6
|
+
maxZ: number;
|
|
7
|
+
}>;
|
|
8
|
+
/** The strip's chunk rows the land uses (the rest of the strip is open sea): rows 4-11, world z 128-383. */
|
|
9
|
+
export declare const ARCANE_STRIP_CHUNK_Z = 4;
|
|
10
|
+
export declare const ARCANE_STRIP_CHUNKS_Z = 8;
|
|
11
|
+
export declare const ARCANE_STRIP_MIN_Z: number;
|
|
12
|
+
export declare const ARCANE_STRIP_MAX_Z: number;
|
|
13
|
+
/** The land's size in tiles, and where its local (0, 0) sits in the world: centred in the strip's rows. */
|
|
14
|
+
export declare const ARCANE_LAND_W = 300;
|
|
15
|
+
export declare const ARCANE_LAND_H = 200;
|
|
16
|
+
export declare const ARCANE_LAND_X: number;
|
|
17
|
+
export declare const ARCANE_LAND_Z: number;
|
|
18
|
+
export declare const ARCANE_LANDS_NAME = "The Arcane Realms";
|
|
19
|
+
/** Local to world, and back. */
|
|
20
|
+
export declare function arcaneWorld(lx: number, lz: number): {
|
|
21
|
+
x: number;
|
|
22
|
+
z: number;
|
|
23
|
+
};
|
|
24
|
+
export declare function arcaneLocal(x: number, z: number): {
|
|
25
|
+
x: number;
|
|
26
|
+
z: number;
|
|
27
|
+
};
|
|
28
|
+
/** Is a world tile inside the land's own 300 x 200 frame (sea margin excluded)? */
|
|
29
|
+
export declare function inArcaneFrame(x: number, z: number): boolean;
|
|
30
|
+
/** Is a tile centre inside a tile-corner polygon (local or world, as long as both agree)? */
|
|
31
|
+
export declare function inArcanePolygon(x: number, z: number, poly: readonly ArcanePoint[]): boolean;
|
|
32
|
+
export declare function inArcaneBox(x: number, z: number, b: ArcaneBox, margin?: number): boolean;
|
|
33
|
+
/** Distance from a tile centre to a polyline through tile centres. */
|
|
34
|
+
export declare function distToArcanePolyline(x: number, z: number, pts: readonly ArcanePoint[]): number;
|
|
35
|
+
/**
|
|
36
|
+
* The coast, clockwise from the south-west. The bay in the north middle is the Spire's: the floating city hangs over
|
|
37
|
+
* it, its beam on the headland's platform. The south coast's middle is the Northern Gate's forecourt.
|
|
38
|
+
*/
|
|
39
|
+
export declare const ARCANE_OUTLINE: readonly ArcanePoint[];
|
|
40
|
+
export type ArcanePlateau = {
|
|
41
|
+
id: string;
|
|
42
|
+
name: string;
|
|
43
|
+
poly: readonly ArcanePoint[];
|
|
44
|
+
/** Height of its top (terrain steps, HEIGHT_STEP each). */
|
|
45
|
+
height: number;
|
|
46
|
+
/**
|
|
47
|
+
* 'cliff': every edge onto lower ground is a sheer, blocked rim of grey rock (the ways up are ramps). 'slope': its
|
|
48
|
+
* inland edges grade down a step a tile, only its coast is cliff.
|
|
49
|
+
*/
|
|
50
|
+
edge: 'cliff' | 'slope';
|
|
51
|
+
};
|
|
52
|
+
/**
|
|
53
|
+
* The raised ground: the local views' layered terraces of grey faceted cliff. The Crystal Lakes sit on a high terrace
|
|
54
|
+
* whose outlet falls to the Silverrun; the Arcanum stands on a walled terrace entered by four cut ramps; Zephyr Cliffs
|
|
55
|
+
* are climbed by the ramp only; Rune Fields grade up from the west road.
|
|
56
|
+
*/
|
|
57
|
+
export declare const ARCANE_PLATEAUS: readonly ArcanePlateau[];
|
|
58
|
+
/** Knolls: round hills graded a step a tile, laid over whatever ground is under them. */
|
|
59
|
+
export type ArcaneKnoll = {
|
|
60
|
+
id: string;
|
|
61
|
+
x: number;
|
|
62
|
+
z: number;
|
|
63
|
+
top: number;
|
|
64
|
+
flat: number;
|
|
65
|
+
};
|
|
66
|
+
export declare const ARCANE_KNOLLS: readonly ArcaneKnoll[];
|
|
67
|
+
/**
|
|
68
|
+
* Frostveil Peaks, the far range in the north-east: snow foothills in the zone, peaks as cones on top. Ground above
|
|
69
|
+
* ARCANE_PEAK_SOLID_H is mountain (solid); below it the snow is walkable.
|
|
70
|
+
*/
|
|
71
|
+
export declare const FROSTVEIL_ZONE: readonly ArcanePoint[];
|
|
72
|
+
export declare const FROSTVEIL_FOOTHILL_H = 6;
|
|
73
|
+
export declare const ARCANE_PEAK_SOLID_H = 12;
|
|
74
|
+
export type ArcanePeak = {
|
|
75
|
+
x: number;
|
|
76
|
+
z: number;
|
|
77
|
+
height: number;
|
|
78
|
+
slope: number;
|
|
79
|
+
};
|
|
80
|
+
export declare const FROSTVEIL_PEAKS: readonly ArcanePeak[];
|
|
81
|
+
/** The Northern Pass's two rock shoulders either side of the road up from the gate: solid crag ridges. */
|
|
82
|
+
export declare const NORTHERN_PASS_SHOULDERS: readonly (readonly ArcanePoint[])[];
|
|
83
|
+
export declare const NORTHERN_PASS_SHOULDER_H = 9;
|
|
84
|
+
/** The wall the Northern Gate stands in (the Arcane Wall Segments): one row, either side of the gate. */
|
|
85
|
+
export declare const NORTHERN_WALL: {
|
|
86
|
+
readonly z: 192;
|
|
87
|
+
readonly west: readonly [116, 143];
|
|
88
|
+
readonly east: readonly [157, 184];
|
|
89
|
+
readonly height: 3;
|
|
90
|
+
};
|
|
91
|
+
/** Lakes: water (at `height`, sea level unless given) in a bank that grades up a step a tile. */
|
|
92
|
+
export type ArcaneLake = {
|
|
93
|
+
id: string;
|
|
94
|
+
name: string;
|
|
95
|
+
poly: readonly ArcanePoint[];
|
|
96
|
+
height?: number;
|
|
97
|
+
};
|
|
98
|
+
export declare const ARCANE_LAKES: readonly ArcaneLake[];
|
|
99
|
+
/** Islands: land kept out of a lake. The Runed Lake's island holds the Stone Circle, its obelisks and its beam. */
|
|
100
|
+
export declare const ARCANE_ISLANDS: ReadonlyArray<{
|
|
101
|
+
id: string;
|
|
102
|
+
poly: readonly ArcanePoint[];
|
|
103
|
+
}>;
|
|
104
|
+
/** Rivers: water at `height` (sea level, or on a terrace at most its top). */
|
|
105
|
+
export type ArcaneRiver = {
|
|
106
|
+
id: string;
|
|
107
|
+
pts: readonly ArcanePoint[];
|
|
108
|
+
halfWidth: number;
|
|
109
|
+
height: number;
|
|
110
|
+
};
|
|
111
|
+
export declare const ARCANE_RIVERS: readonly ArcaneRiver[];
|
|
112
|
+
/**
|
|
113
|
+
* The Rift: a chasm split into the north of Zephyr Cliffs, sheer to dark water at sea level. Floating rocks hang over
|
|
114
|
+
* it (ARCANE_FLOATING_ROCKS).
|
|
115
|
+
*/
|
|
116
|
+
export declare const THE_RIFT: readonly ArcanePoint[];
|
|
117
|
+
/** Roads, laid as Path three tiles wide. Each runs from a stop to the next; the main road is the spine. */
|
|
118
|
+
export type ArcaneRoad = {
|
|
119
|
+
id: string;
|
|
120
|
+
pts: readonly ArcanePoint[];
|
|
121
|
+
halfWidth: number;
|
|
122
|
+
};
|
|
123
|
+
export declare const ARCANE_ROADS: readonly ArcaneRoad[];
|
|
124
|
+
/**
|
|
125
|
+
* Bridges: stone decks over the water a road crosses, level with the banks, parapets on their outer rows with a
|
|
126
|
+
* torch pier every six tiles (the Capital's stonebridge kit: the Great Stone Bridge Segment and Bridge Pillar
|
|
127
|
+
* placeholders). `axis` is the way the road runs across.
|
|
128
|
+
*/
|
|
129
|
+
export type ArcaneBridge = {
|
|
130
|
+
id: string;
|
|
131
|
+
name: string;
|
|
132
|
+
axis: 'ns' | 'ew';
|
|
133
|
+
box: ArcaneBox;
|
|
134
|
+
height: number;
|
|
135
|
+
};
|
|
136
|
+
export declare const ARCANE_BRIDGES: readonly ArcaneBridge[];
|
|
137
|
+
/** Ramps: a road cut up a cliff a step every tile or two, walled either side. `from` is the foot, `to` on top. */
|
|
138
|
+
export type ArcaneRamp = {
|
|
139
|
+
id: string;
|
|
140
|
+
from: ArcanePoint;
|
|
141
|
+
to: ArcanePoint;
|
|
142
|
+
halfWidth: number;
|
|
143
|
+
};
|
|
144
|
+
export declare const ARCANE_RAMPS: readonly ArcaneRamp[];
|
|
145
|
+
/**
|
|
146
|
+
* Waterfalls: the frontend's waterfall model (origin at its pool, crown 8 steps up), one where each terrace stream
|
|
147
|
+
* goes over its edge. The builder walks from the stream's last point the way it falls to the first water below and
|
|
148
|
+
* stands the model on that pool tile, scaled to the drop (drop / 8).
|
|
149
|
+
*/
|
|
150
|
+
export type ArcaneWaterfall = {
|
|
151
|
+
id: string;
|
|
152
|
+
stream: string;
|
|
153
|
+
facing: 'n' | 'e' | 's' | 'w';
|
|
154
|
+
};
|
|
155
|
+
export declare const ARCANE_WATERFALLS: readonly ArcaneWaterfall[];
|
|
156
|
+
/**
|
|
157
|
+
* The sea coast is cliff (a stone rim two tiles deep, crags on its lip) except on these beaches, where the shore
|
|
158
|
+
* grades to sand.
|
|
159
|
+
*/
|
|
160
|
+
export declare const ARCANE_BEACHES: ReadonlyArray<ArcaneBox & {
|
|
161
|
+
id: string;
|
|
162
|
+
}>;
|
|
163
|
+
/** Eldergrove: the old wood in the west, planted thick (the road to the Observatory runs through it). */
|
|
164
|
+
export declare const ELDERGROVE: readonly ArcanePoint[];
|
|
165
|
+
/** The Arcanum's plaza: paved, round, in the middle of the town, the fountain in its middle. */
|
|
166
|
+
export declare const ARCANUM_PLAZA: {
|
|
167
|
+
readonly x: 150;
|
|
168
|
+
readonly z: 86;
|
|
169
|
+
readonly radius: 8;
|
|
170
|
+
readonly height: 7;
|
|
171
|
+
};
|
|
172
|
+
export type ArcaneStop = {
|
|
173
|
+
id: string;
|
|
174
|
+
name: string;
|
|
175
|
+
/** 1-5 for the five stops in walking order; 0 for the side places. */
|
|
176
|
+
order: number;
|
|
177
|
+
/** Where a teleport stands you (local). */
|
|
178
|
+
stand: ArcanePoint;
|
|
179
|
+
what: string;
|
|
180
|
+
};
|
|
181
|
+
export declare const ARCANE_STOPS: readonly ArcaneStop[];
|
|
182
|
+
export declare function arcaneStop(id: string): ArcaneStop;
|
|
183
|
+
/** Where a teleport into the land puts you: the Northern Pass's stand, inside the gate. */
|
|
184
|
+
export declare const ARCANE_ARRIVAL: {
|
|
185
|
+
x: number;
|
|
186
|
+
z: number;
|
|
187
|
+
};
|
|
188
|
+
/**
|
|
189
|
+
* The 35 pieces of the Arcane Realms asset sheet (ChatGPT, 2026-10-08, `ASSET-SHEET-35-pieces.png` in the build's task
|
|
190
|
+
* folder): the names phase 2's Blender kit builds to. Every building and prop phase 1 places names the piece it stands
|
|
191
|
+
* in for (`asset`), so the kit replaces them one to one.
|
|
192
|
+
*/
|
|
193
|
+
export declare const ARCANE_ASSET_PIECES: readonly ["northern-gate-portal", "arcane-wall-segment", "watch-post", "spire-beacon", "great-stone-bridge-segment", "bridge-pillar", "stone-path-tile", "rope-bridge", "cliff-stairs", "floating-rock-cluster", "runed-obelisk", "stone-circle-monolith", "runed-pedestal", "waystone", "lake-shrine", "zephyr-arch", "arcane-lamp", "crystal-outcrop", "crystal-cluster", "blue-roof-hall", "apprentice-hut", "arcanum-house", "mage-stall", "arcane-forge", "crafting-bench", "rune-banner", "runed-lake-dock", "lake-edge-tile", "terrain-rock", "evergreen-tree", "arcane-tree", "hedge-bush", "flower-bed", "wooden-fence", "market-canopy"];
|
|
194
|
+
export type ArcaneAssetPiece = (typeof ARCANE_ASSET_PIECES)[number];
|
|
195
|
+
/**
|
|
196
|
+
* What stands in for each piece today (kind and style, the existing kit), so the review and phase 2 see the mapping in
|
|
197
|
+
* one place. Pieces with no stand-in yet are `slot`: phase 1 keeps their ground clear (ARCANE_SLOTS) and places nothing.
|
|
198
|
+
*/
|
|
199
|
+
export declare const ARCANE_PLACEHOLDERS: Readonly<Record<ArcaneAssetPiece, string>>;
|
|
200
|
+
/**
|
|
201
|
+
* The large shapes, from the kits that exist today: the Capital's three.js keep, manors, temple, gatehouse, towers
|
|
202
|
+
* and fountain, the woods' hooded statues and arch, the market's stalls. PHASE 1 PLACEHOLDERS: phase 2 (the Blender
|
|
203
|
+
* kit) replaces each with its `asset` piece. `x`, `z` are local; the style's last letter faces it.
|
|
204
|
+
*/
|
|
205
|
+
export type ArcaneBuilding = {
|
|
206
|
+
id: string;
|
|
207
|
+
name: string;
|
|
208
|
+
asset: ArcaneAssetPiece;
|
|
209
|
+
kind: string;
|
|
210
|
+
style: string;
|
|
211
|
+
x: number;
|
|
212
|
+
z: number;
|
|
213
|
+
scale?: number;
|
|
214
|
+
/** Ground under it is levelled to this height (and a walk-in's inside floored). */
|
|
215
|
+
level?: number;
|
|
216
|
+
};
|
|
217
|
+
export declare const ARCANE_BUILDINGS: readonly ArcaneBuilding[];
|
|
218
|
+
/** Slots phase 2 fills (kept clear now): the pieces with no stand-in. */
|
|
219
|
+
export declare const ARCANE_SLOTS: ReadonlyArray<{
|
|
220
|
+
asset: ArcaneAssetPiece;
|
|
221
|
+
x: number;
|
|
222
|
+
z: number;
|
|
223
|
+
note: string;
|
|
224
|
+
}>;
|
|
225
|
+
/** The Stone Circle on the Rune Isle: rune stones round a medallion, five runed obelisks outside the ring. */
|
|
226
|
+
export declare const STONE_CIRCLE: {
|
|
227
|
+
readonly x: 191;
|
|
228
|
+
readonly z: 139;
|
|
229
|
+
readonly radius: 5;
|
|
230
|
+
readonly stones: 8;
|
|
231
|
+
readonly obelisks: 5;
|
|
232
|
+
readonly obeliskRadius: 8.5;
|
|
233
|
+
};
|
|
234
|
+
/** The Spire's pad: a paved round platform on the headland, the beam's foot at its centre. */
|
|
235
|
+
export declare const SPIRE_LANDING: {
|
|
236
|
+
readonly x: 150;
|
|
237
|
+
readonly z: 38;
|
|
238
|
+
readonly radius: 6;
|
|
239
|
+
readonly height: 5;
|
|
240
|
+
};
|
|
241
|
+
/** The summit shrine on Zephyr Cliffs: a pedestal and obelisks, a crystal floating over it (client sky). */
|
|
242
|
+
export declare const ZEPHYR_SHRINE: {
|
|
243
|
+
readonly x: 272;
|
|
244
|
+
readonly z: 96;
|
|
245
|
+
};
|
|
246
|
+
/**
|
|
247
|
+
* The sky (drawn by the client only while you are in the land, no collision): the floating city over the bay with its
|
|
248
|
+
* beam to the pad, the Rune Isle's beam, the floating rocks and the shrine's crystal. `alt` is world units above the
|
|
249
|
+
* sea; `size` its radius in tiles. The game camera looks down, so the city hangs low enough to be in frame from the
|
|
250
|
+
* Arcanum's north road and the pad when the camera is lowered.
|
|
251
|
+
*/
|
|
252
|
+
export declare const ARCANE_SPIRE: {
|
|
253
|
+
readonly x: 150;
|
|
254
|
+
readonly z: 26;
|
|
255
|
+
readonly alt: 20;
|
|
256
|
+
readonly size: 26;
|
|
257
|
+
};
|
|
258
|
+
export type ArcaneBeam = {
|
|
259
|
+
id: string;
|
|
260
|
+
x: number;
|
|
261
|
+
z: number;
|
|
262
|
+
footHeight: number;
|
|
263
|
+
top: number;
|
|
264
|
+
radius: number;
|
|
265
|
+
};
|
|
266
|
+
export declare const ARCANE_BEAMS: readonly ArcaneBeam[];
|
|
267
|
+
export type ArcaneFloatingRock = {
|
|
268
|
+
x: number;
|
|
269
|
+
z: number;
|
|
270
|
+
alt: number;
|
|
271
|
+
size: number;
|
|
272
|
+
crystal?: boolean;
|
|
273
|
+
};
|
|
274
|
+
export declare const ARCANE_FLOATING_ROCKS: readonly ArcaneFloatingRock[];
|
|
275
|
+
export declare const ARCANE_SKY_CRYSTALS: ReadonlyArray<{
|
|
276
|
+
x: number;
|
|
277
|
+
z: number;
|
|
278
|
+
alt: number;
|
|
279
|
+
}>;
|
|
280
|
+
/** Every stop, world tiles: for teleports and smokes. */
|
|
281
|
+
export declare function arcaneStopWorld(stop: ArcaneStop): {
|
|
282
|
+
x: number;
|
|
283
|
+
z: number;
|
|
284
|
+
};
|
|
285
|
+
//# sourceMappingURL=arcaneLands.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"arcaneLands.d.ts","sourceRoot":"","sources":["../src/arcaneLands.ts"],"names":[],"mappings":"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"}
|