@dreadwood-types/types 0.1.124 → 0.1.126
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/attackableNpcs.d.ts.map +1 -1
- package/dist/attackableNpcs.js +11 -0
- package/dist/attackableNpcs.js.map +1 -1
- package/dist/constants.d.ts +25 -1
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +20 -0
- package/dist/constants.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/southExpansion.d.ts +348 -4
- package/dist/southExpansion.d.ts.map +1 -1
- package/dist/southExpansion.js +202 -4
- package/dist/southExpansion.js.map +1 -1
- package/package.json +2 -2
package/dist/southExpansion.d.ts
CHANGED
|
@@ -65,7 +65,128 @@ export declare const SUNDERED_SPAN: {
|
|
|
65
65
|
readonly minZ: 934;
|
|
66
66
|
readonly maxZ: 938;
|
|
67
67
|
};
|
|
68
|
+
readonly nearLanding: {
|
|
69
|
+
readonly minX: 682;
|
|
70
|
+
readonly maxX: 685;
|
|
71
|
+
readonly minZ: 894;
|
|
72
|
+
readonly maxZ: 899;
|
|
73
|
+
readonly stand: {
|
|
74
|
+
readonly x: 683;
|
|
75
|
+
readonly z: 897;
|
|
76
|
+
};
|
|
77
|
+
};
|
|
78
|
+
readonly farLanding: {
|
|
79
|
+
readonly minX: 682;
|
|
80
|
+
readonly maxX: 685;
|
|
81
|
+
readonly minZ: 914;
|
|
82
|
+
readonly maxZ: 919;
|
|
83
|
+
readonly stand: {
|
|
84
|
+
readonly x: 683;
|
|
85
|
+
readonly z: 917;
|
|
86
|
+
};
|
|
87
|
+
};
|
|
88
|
+
readonly tildaNearSpot: {
|
|
89
|
+
readonly x: 683;
|
|
90
|
+
readonly z: 895;
|
|
91
|
+
};
|
|
92
|
+
readonly tildaFarSpot: {
|
|
93
|
+
readonly x: 683;
|
|
94
|
+
readonly z: 917;
|
|
95
|
+
};
|
|
96
|
+
readonly osmundSpot: {
|
|
97
|
+
readonly x: 681;
|
|
98
|
+
readonly z: 866;
|
|
99
|
+
};
|
|
100
|
+
readonly tollRuin: {
|
|
101
|
+
readonly minX: 660;
|
|
102
|
+
readonly maxX: 665;
|
|
103
|
+
readonly minZ: 860;
|
|
104
|
+
readonly maxZ: 864;
|
|
105
|
+
};
|
|
106
|
+
readonly osmundCamp: {
|
|
107
|
+
readonly minX: 684;
|
|
108
|
+
readonly maxX: 688;
|
|
109
|
+
readonly minZ: 862;
|
|
110
|
+
readonly maxZ: 866;
|
|
111
|
+
};
|
|
112
|
+
readonly walkwayBox: {
|
|
113
|
+
readonly minX: 675;
|
|
114
|
+
readonly maxX: 676;
|
|
115
|
+
readonly minZ: 901;
|
|
116
|
+
readonly maxZ: 912;
|
|
117
|
+
};
|
|
118
|
+
readonly gapCrossingNear: {
|
|
119
|
+
readonly x: 676;
|
|
120
|
+
readonly z: 899;
|
|
121
|
+
};
|
|
122
|
+
readonly gapCrossingFar: {
|
|
123
|
+
readonly x: 676;
|
|
124
|
+
readonly z: 914;
|
|
125
|
+
};
|
|
68
126
|
};
|
|
127
|
+
export type SunderedSpanWalkwayStage = 0 | 1 | 2 | 3 | 4;
|
|
128
|
+
export declare const SUNDERED_SPAN_STAGES: readonly [{
|
|
129
|
+
readonly stage: 1;
|
|
130
|
+
readonly name: "Posts";
|
|
131
|
+
readonly model: "spanwalk1";
|
|
132
|
+
readonly woodworkLevel: 5;
|
|
133
|
+
readonly cost: readonly [{
|
|
134
|
+
readonly kind: "poplarwood";
|
|
135
|
+
readonly qty: 20;
|
|
136
|
+
}];
|
|
137
|
+
readonly woodworkXp: 500;
|
|
138
|
+
readonly explorerXp: 500;
|
|
139
|
+
readonly desc: "Erect stout timber posts on the broken bridge stubs.";
|
|
140
|
+
}, {
|
|
141
|
+
readonly stage: 2;
|
|
142
|
+
readonly name: "Guide Ropes";
|
|
143
|
+
readonly model: "spanwalk2";
|
|
144
|
+
readonly woodworkLevel: 8;
|
|
145
|
+
readonly cost: readonly [{
|
|
146
|
+
readonly kind: "birchwood";
|
|
147
|
+
readonly qty: 25;
|
|
148
|
+
}, {
|
|
149
|
+
readonly kind: "poplarwood";
|
|
150
|
+
readonly qty: 10;
|
|
151
|
+
}];
|
|
152
|
+
readonly woodworkXp: 750;
|
|
153
|
+
readonly explorerXp: 750;
|
|
154
|
+
readonly desc: "String guide ropes between the posts across the gap.";
|
|
155
|
+
}, {
|
|
156
|
+
readonly stage: 3;
|
|
157
|
+
readonly name: "Half Decking";
|
|
158
|
+
readonly model: "spanwalk3";
|
|
159
|
+
readonly woodworkLevel: 12;
|
|
160
|
+
readonly cost: readonly [{
|
|
161
|
+
readonly kind: "pinewood";
|
|
162
|
+
readonly qty: 15;
|
|
163
|
+
}, {
|
|
164
|
+
readonly kind: "poplarwood";
|
|
165
|
+
readonly qty: 10;
|
|
166
|
+
}];
|
|
167
|
+
readonly woodworkXp: 1000;
|
|
168
|
+
readonly explorerXp: 1000;
|
|
169
|
+
readonly desc: "Lash the first run of decking planks along the ropes.";
|
|
170
|
+
}, {
|
|
171
|
+
readonly stage: 4;
|
|
172
|
+
readonly name: "Complete Walkway";
|
|
173
|
+
readonly model: "spanwalk4";
|
|
174
|
+
readonly woodworkLevel: 12;
|
|
175
|
+
readonly cost: readonly [{
|
|
176
|
+
readonly kind: "pinewood";
|
|
177
|
+
readonly qty: 15;
|
|
178
|
+
}, {
|
|
179
|
+
readonly kind: "birchwood";
|
|
180
|
+
readonly qty: 15;
|
|
181
|
+
}];
|
|
182
|
+
readonly woodworkXp: 1500;
|
|
183
|
+
readonly explorerXp: 1500;
|
|
184
|
+
readonly desc: "Finish the decking and secure the handrails across the gap.";
|
|
185
|
+
}];
|
|
186
|
+
export declare const ROW_SPAN_ACTION = "row_span";
|
|
187
|
+
export declare const SPAN_WALKWAY_ACTION = "span_walkway";
|
|
188
|
+
export declare const SUNDERED_SPAN_ZONE_ID = "sundered-span";
|
|
189
|
+
export declare function isSunderedSpanGapTile(x: number, z: number): boolean;
|
|
69
190
|
/**
|
|
70
191
|
* Base Camp's south stair: a cut through the camp's south rim (stone, h 9), the grass ledge under it and the crag
|
|
71
192
|
* band, from the camp floor to the sand at the bridgehead. Open from phase a (decision 3): it leads only to the
|
|
@@ -116,16 +237,232 @@ export declare const SOUTH_FIELDS_GATE: {
|
|
|
116
237
|
};
|
|
117
238
|
};
|
|
118
239
|
/**
|
|
119
|
-
*
|
|
120
|
-
*
|
|
121
|
-
|
|
240
|
+
* Phase c opens the cut (map.ts `openSouthFieldsGate`): wheat, apples, the fold, the mill, the hives,
|
|
241
|
+
* the hay wain, the jetty, the stile, and the geese, goats, sheepdog and ducks. The side quests are phase f.
|
|
242
|
+
*/
|
|
243
|
+
export declare const SOUTH_FIELDS_GATE_OPEN = true;
|
|
244
|
+
/** The five crop plots (south.js fields.pieces). Wheat rows, soil under them, the tracks left as path. */
|
|
245
|
+
export declare const SOUTH_FIELDS_CROP_FIELDS: readonly SouthBox[];
|
|
246
|
+
/**
|
|
247
|
+
* Six apple trees inside the orchard's box, north of the east track. The plan's stand (82, 898) stays clear.
|
|
248
|
+
*/
|
|
249
|
+
export declare const SOUTH_FIELDS_APPLES: readonly SouthPoint[];
|
|
250
|
+
/**
|
|
251
|
+
* The sheep fold, inset south of the east track so the hurdles do not close the road.
|
|
252
|
+
* The gap is the south gate. Two plan spots (116,918 and 134,916) sat on that track, so the flock stands inside.
|
|
253
|
+
*/
|
|
254
|
+
export declare const SOUTH_FIELDS_FOLD: {
|
|
255
|
+
readonly minX: 112;
|
|
256
|
+
readonly maxX: 144;
|
|
257
|
+
readonly minZ: 920;
|
|
258
|
+
readonly maxZ: 934;
|
|
259
|
+
readonly gap: {
|
|
260
|
+
readonly x: 128;
|
|
261
|
+
readonly z: 934;
|
|
262
|
+
};
|
|
263
|
+
};
|
|
264
|
+
export declare const SOUTH_FIELDS_SHEEP: readonly SouthPoint[];
|
|
265
|
+
export declare const SOUTH_FIELDS_PEOPLE: readonly [{
|
|
266
|
+
readonly name: "Miller Hettie";
|
|
267
|
+
readonly x: 194;
|
|
268
|
+
readonly z: 926;
|
|
269
|
+
readonly faceX: 194;
|
|
270
|
+
readonly faceZ: 924;
|
|
271
|
+
}, {
|
|
272
|
+
readonly name: "Shepherd Nye";
|
|
273
|
+
readonly x: 128;
|
|
274
|
+
readonly z: 938;
|
|
275
|
+
readonly faceX: 128;
|
|
276
|
+
readonly faceZ: 936;
|
|
277
|
+
}, {
|
|
278
|
+
readonly name: "Beekeeper Wren";
|
|
279
|
+
readonly x: 88;
|
|
280
|
+
readonly z: 904;
|
|
281
|
+
readonly faceX: 88;
|
|
282
|
+
readonly faceZ: 900;
|
|
283
|
+
}];
|
|
284
|
+
export declare const SOUTH_FIELDS_SCARECROW: {
|
|
285
|
+
readonly x: 22;
|
|
286
|
+
readonly z: 920;
|
|
287
|
+
readonly style: "scarecrow-s";
|
|
288
|
+
};
|
|
289
|
+
export declare const SOUTH_FIELDS_HAY: readonly SouthPoint[];
|
|
290
|
+
/** Miller Hettie's mill (dreadmodel windmill-s, 5 x 5, the same sails as Millbrook). Anchor is the centre; the door faces south. */
|
|
291
|
+
export declare const SOUTH_FIELDS_WINDMILL: {
|
|
292
|
+
readonly x: 194;
|
|
293
|
+
readonly z: 920;
|
|
294
|
+
readonly style: "windmill-s";
|
|
295
|
+
};
|
|
296
|
+
/** Three hives east of the orchard (barrel style hive: a round skep until a hive model exists). Wren stands south of them. */
|
|
297
|
+
export declare const SOUTH_FIELDS_HIVES: readonly SouthPoint[];
|
|
298
|
+
/** The hay wain on the track south of the orchard (farmcart style carriage). The stand is the tile east of it. */
|
|
299
|
+
export declare const SOUTH_FIELDS_HAY_WAIN: {
|
|
300
|
+
readonly x: 49;
|
|
301
|
+
readonly z: 917;
|
|
302
|
+
readonly style: "carriage";
|
|
303
|
+
};
|
|
304
|
+
/**
|
|
305
|
+
* The little jetty off the south shore: boards, then one water tile to fish from.
|
|
306
|
+
* The plan's box runs to z 992; that last row stays water.
|
|
122
307
|
*/
|
|
123
|
-
export declare const
|
|
308
|
+
export declare const SOUTH_FIELDS_JETTY: {
|
|
309
|
+
readonly minX: 72;
|
|
310
|
+
readonly maxX: 75;
|
|
311
|
+
readonly minZ: 979;
|
|
312
|
+
readonly maxZ: 991;
|
|
313
|
+
readonly fish: {
|
|
314
|
+
readonly x: 73;
|
|
315
|
+
readonly z: 992;
|
|
316
|
+
};
|
|
317
|
+
};
|
|
318
|
+
/** A rowing boat alongside the jetty, off the boards. */
|
|
319
|
+
export declare const SOUTH_FIELDS_BOAT: {
|
|
320
|
+
readonly x: 76;
|
|
321
|
+
readonly z: 986;
|
|
322
|
+
readonly style: "rowboat";
|
|
323
|
+
};
|
|
324
|
+
/** A short hurdle on the west of the goat cliff, with the stile (the gap) at 160, 950. */
|
|
325
|
+
export declare const SOUTH_FIELDS_STILE: {
|
|
326
|
+
readonly x: 160;
|
|
327
|
+
readonly minZ: 944;
|
|
328
|
+
readonly maxZ: 956;
|
|
329
|
+
readonly gapZ: 950;
|
|
330
|
+
};
|
|
331
|
+
/** Angry geese, level 2, on the pond bank (south.js). A spot in the water is walked to the nearest bank. */
|
|
332
|
+
export declare const SOUTH_FIELDS_GEESE: readonly SouthPoint[];
|
|
333
|
+
/** Goats on the cliff. */
|
|
334
|
+
export declare const SOUTH_FIELDS_GOATS: readonly SouthPoint[];
|
|
335
|
+
/** Nye's dog, just south of the fold gate. */
|
|
336
|
+
export declare const SOUTH_FIELDS_SHEEPDOG: {
|
|
337
|
+
readonly x: 130;
|
|
338
|
+
readonly z: 939;
|
|
339
|
+
};
|
|
340
|
+
/** Two ducks on the pond water (south.js). They swim this pond; the bank spots were only a stand-in. */
|
|
341
|
+
export declare const SOUTH_FIELDS_DUCKS: readonly SouthPoint[];
|
|
124
342
|
export declare const SOUTH_FIELDS_ROADS: ReadonlyArray<{
|
|
125
343
|
id: string;
|
|
126
344
|
pts: readonly SouthPoint[];
|
|
127
345
|
}>;
|
|
128
346
|
export declare function onSouthFields(x: number, z: number): boolean;
|
|
347
|
+
/** North-coast creatures (south.js hostiles), levels 4 to 10. Spots in the water are walked to the nearest bank. */
|
|
348
|
+
export declare const SUNDERED_COAST_RATS: readonly SouthPoint[];
|
|
349
|
+
export declare const SUNDERED_COAST_GULLS: readonly SouthPoint[];
|
|
350
|
+
export declare const SUNDERED_COAST_CRABS: readonly SouthPoint[];
|
|
351
|
+
export declare const SUNDERED_COAST_LOOKOUTS: readonly SouthPoint[];
|
|
352
|
+
/** Cove crew (south.js). The drowned deckhands stay out until the wreck deck exists: their spots are sea. */
|
|
353
|
+
export declare const SUNDERED_COAST_DECKHANDS: readonly SouthPoint[];
|
|
354
|
+
export declare const SUNDERED_COAST_CUTTHROATS: readonly SouthPoint[];
|
|
355
|
+
/** On the wreck deck (south.js). 575,1034 sits one tile off the hull, on the stern boards. */
|
|
356
|
+
export declare const SUNDERED_COAST_DROWNED: readonly SouthPoint[];
|
|
357
|
+
/** The Gull's Ransom hull (south.js). Boards, with Hope Beach's sailship as the hull. */
|
|
358
|
+
export declare const GULLS_RANSOM: {
|
|
359
|
+
readonly minX: 560;
|
|
360
|
+
readonly maxX: 583;
|
|
361
|
+
readonly minZ: 1024;
|
|
362
|
+
readonly maxZ: 1031;
|
|
363
|
+
readonly shipX: 572;
|
|
364
|
+
readonly shipZ: 1027;
|
|
365
|
+
};
|
|
366
|
+
/** Stilt shacks, rope walkways, the galley and the cove jetty (south.js boxes). */
|
|
367
|
+
export declare const SUNDERED_COAST_SHACKS: readonly [{
|
|
368
|
+
readonly id: "shack-1";
|
|
369
|
+
readonly minX: 558;
|
|
370
|
+
readonly maxX: 563;
|
|
371
|
+
readonly minZ: 996;
|
|
372
|
+
readonly maxZ: 1001;
|
|
373
|
+
readonly tentX: 560;
|
|
374
|
+
readonly tentZ: 998;
|
|
375
|
+
}, {
|
|
376
|
+
readonly id: "shack-2";
|
|
377
|
+
readonly minX: 570;
|
|
378
|
+
readonly maxX: 575;
|
|
379
|
+
readonly minZ: 996;
|
|
380
|
+
readonly maxZ: 1001;
|
|
381
|
+
readonly tentX: 572;
|
|
382
|
+
readonly tentZ: 998;
|
|
383
|
+
}, {
|
|
384
|
+
readonly id: "shack-3";
|
|
385
|
+
readonly minX: 582;
|
|
386
|
+
readonly maxX: 587;
|
|
387
|
+
readonly minZ: 1000;
|
|
388
|
+
readonly maxZ: 1005;
|
|
389
|
+
readonly tentX: 584;
|
|
390
|
+
readonly tentZ: 1002;
|
|
391
|
+
}];
|
|
392
|
+
export declare const SUNDERED_COAST_WALKWAYS: readonly [{
|
|
393
|
+
readonly id: "walkway-1";
|
|
394
|
+
readonly minX: 564;
|
|
395
|
+
readonly maxX: 569;
|
|
396
|
+
readonly minZ: 996;
|
|
397
|
+
readonly maxZ: 997;
|
|
398
|
+
}, {
|
|
399
|
+
readonly id: "walkway-2";
|
|
400
|
+
readonly minX: 576;
|
|
401
|
+
readonly maxX: 581;
|
|
402
|
+
readonly minZ: 998;
|
|
403
|
+
readonly maxZ: 1000;
|
|
404
|
+
}];
|
|
405
|
+
export declare const SUNDERED_COAST_GALLEY: {
|
|
406
|
+
readonly minX: 594;
|
|
407
|
+
readonly maxX: 600;
|
|
408
|
+
readonly minZ: 1008;
|
|
409
|
+
readonly maxZ: 1013;
|
|
410
|
+
readonly tentX: 597;
|
|
411
|
+
readonly tentZ: 1010;
|
|
412
|
+
};
|
|
413
|
+
export declare const SUNDERED_COAST_COVE_JETTY: {
|
|
414
|
+
readonly minX: 591;
|
|
415
|
+
readonly maxX: 592;
|
|
416
|
+
readonly minZ: 1014;
|
|
417
|
+
readonly maxZ: 1019;
|
|
418
|
+
readonly fishX: 591;
|
|
419
|
+
readonly fishZ: 1019;
|
|
420
|
+
};
|
|
421
|
+
/**
|
|
422
|
+
* Saltmark Light's stand-in: the Old Watchtower model, door south.
|
|
423
|
+
* Centred on z 944 so the solid 7 x 7 stops at z 947 and the rock tile 890, 948 stays walkable.
|
|
424
|
+
* Ada stands clear to the south-east.
|
|
425
|
+
*/
|
|
426
|
+
export declare const SALTMARK_LIGHT: {
|
|
427
|
+
readonly x: 890;
|
|
428
|
+
readonly z: 944;
|
|
429
|
+
readonly style: "watchtower-s";
|
|
430
|
+
};
|
|
431
|
+
/** Fort Rook's bosses (south.js). The wall ring is the Deadlands fortwall. */
|
|
432
|
+
export declare const FORT_ROOK_GATE: {
|
|
433
|
+
readonly minX: 814;
|
|
434
|
+
readonly maxX: 821;
|
|
435
|
+
readonly minZ: 1004;
|
|
436
|
+
readonly maxZ: 1005;
|
|
437
|
+
};
|
|
438
|
+
export declare const FORT_ROOK_HARROW: {
|
|
439
|
+
readonly x: 832;
|
|
440
|
+
readonly z: 1009;
|
|
441
|
+
};
|
|
442
|
+
export declare const FORT_ROOK_ROWENA: {
|
|
443
|
+
readonly x: 830;
|
|
444
|
+
readonly z: 1024;
|
|
445
|
+
};
|
|
446
|
+
export declare const FORT_ROOK_CABIN: {
|
|
447
|
+
readonly x: 830;
|
|
448
|
+
readonly z: 1038;
|
|
449
|
+
};
|
|
450
|
+
/** Old Merrick at the cove, Keeper Ada under the light. Their buildings are not built yet. */
|
|
451
|
+
export declare const SUNDERED_COAST_PEOPLE: readonly [{
|
|
452
|
+
readonly name: "Old Merrick";
|
|
453
|
+
readonly x: 601;
|
|
454
|
+
readonly z: 1009;
|
|
455
|
+
readonly faceX: 594;
|
|
456
|
+
readonly faceZ: 1010;
|
|
457
|
+
}, {
|
|
458
|
+
readonly name: "Keeper Ada";
|
|
459
|
+
readonly x: 895;
|
|
460
|
+
readonly z: 951;
|
|
461
|
+
readonly faceX: 890;
|
|
462
|
+
readonly faceZ: 948;
|
|
463
|
+
}];
|
|
464
|
+
/** A campfire beside each of them, off the tile they stand on. */
|
|
465
|
+
export declare const SUNDERED_COAST_FIRES: readonly SouthPoint[];
|
|
129
466
|
export declare const SOUTH_EXPANSION_ZONES: readonly [{
|
|
130
467
|
readonly id: string;
|
|
131
468
|
readonly label: string;
|
|
@@ -161,6 +498,13 @@ export declare const SOUTH_EXPANSION_ZONES: readonly [{
|
|
|
161
498
|
readonly maxX: number;
|
|
162
499
|
readonly minZ: number;
|
|
163
500
|
readonly maxZ: number;
|
|
501
|
+
}, {
|
|
502
|
+
readonly id: string;
|
|
503
|
+
readonly label: string;
|
|
504
|
+
readonly minX: number;
|
|
505
|
+
readonly maxX: number;
|
|
506
|
+
readonly minZ: number;
|
|
507
|
+
readonly maxZ: number;
|
|
164
508
|
}];
|
|
165
509
|
/** The paper map keeps both pieces opaque (surfaceChart.ts revision 2). */
|
|
166
510
|
export declare const SOUTH_EXPANSION_FOOTPRINTS: ReadonlyArray<SouthBox & {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"southExpansion.d.ts","sourceRoot":"","sources":["../src/southExpansion.ts"],"names":[],"mappings":"AAoBA,MAAM,MAAM,UAAU,GAAG,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AACnD,MAAM,MAAM,QAAQ,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;AAE5F,uDAAuD;AACvD,wBAAgB,cAAc,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,UAAU,EAAE,GAAG,OAAO,CAUzF;AAED,wBAAgB,UAAU,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,QAAQ,EAAE,MAAM,SAAI,GAAG,OAAO,CAEjF;AAID,eAAO,MAAM,mBAAmB,uBAAuB,CAAC;AAExD,kGAAkG;AAClG,eAAO,MAAM,kBAAkB,EAAE,QAA0D,CAAC;AAE5F,wFAAwF;AACxF,eAAO,MAAM,sBAAsB,EAAE,SAAS,UAAU,EAOvD,CAAC;AAEF,0GAA0G;AAC1G,eAAO,MAAM,mBAAmB,EAAE,SAAS,UAAU,EAEpD,CAAC;AAEF,mFAAmF;AACnF,eAAO,MAAM,sBAAsB,EAAE,aAAa,CAAC,QAAQ,GAAG;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,CAS3E,CAAC;AAEF,wFAAwF;AACxF,eAAO,MAAM,oBAAoB,EAAE,SAAS,UAAU,EAGrD,CAAC;AACF,eAAO,MAAM,2BAA2B,IAAI,CAAC;AAE7C,0EAA0E;AAC1E,eAAO,MAAM,qBAAqB,EAAE,aAAa,CAAC,QAAQ,GAAG;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAGzF,CAAC;AAEF,yHAAyH;AACzH,eAAO,MAAM,gBAAgB,EAAE,QAA2D,CAAC;AAC3F,eAAO,MAAM,uBAAuB,IAAI,CAAC;AAEzC,gFAAgF;AAChF,eAAO,MAAM,mBAAmB,EAAE,QAAyD,CAAC;AAE5F,uGAAuG;AACvG,eAAO,MAAM,oBAAoB,EAAE,aAAa,CAAC;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,SAAS,UAAU,EAAE,CAAA;CAAE,CAK1F,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,aAAa
|
|
1
|
+
{"version":3,"file":"southExpansion.d.ts","sourceRoot":"","sources":["../src/southExpansion.ts"],"names":[],"mappings":"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"}
|
package/dist/southExpansion.js
CHANGED
|
@@ -97,7 +97,65 @@ export const SUNDERED_SPAN = {
|
|
|
97
97
|
gap: { minZ: 901, maxZ: 912 },
|
|
98
98
|
farDeck: { minZ: 913, maxZ: 933 },
|
|
99
99
|
gatehouse: { minZ: 934, maxZ: 938 },
|
|
100
|
+
nearLanding: { minX: 682, maxX: 685, minZ: 894, maxZ: 899, stand: { x: 683, z: 897 } },
|
|
101
|
+
farLanding: { minX: 682, maxX: 685, minZ: 914, maxZ: 919, stand: { x: 683, z: 917 } },
|
|
102
|
+
tildaNearSpot: { x: 683, z: 895 },
|
|
103
|
+
tildaFarSpot: { x: 683, z: 917 },
|
|
104
|
+
osmundSpot: { x: 681, z: 866 },
|
|
105
|
+
tollRuin: { minX: 660, maxX: 665, minZ: 860, maxZ: 864 },
|
|
106
|
+
osmundCamp: { minX: 684, maxX: 688, minZ: 862, maxZ: 866 },
|
|
107
|
+
walkwayBox: { minX: 675, maxX: 676, minZ: 901, maxZ: 912 },
|
|
108
|
+
gapCrossingNear: { x: 676, z: 899 },
|
|
109
|
+
gapCrossingFar: { x: 676, z: 914 },
|
|
100
110
|
};
|
|
111
|
+
export const SUNDERED_SPAN_STAGES = [
|
|
112
|
+
{
|
|
113
|
+
stage: 1,
|
|
114
|
+
name: 'Posts',
|
|
115
|
+
model: 'spanwalk1',
|
|
116
|
+
woodworkLevel: 5,
|
|
117
|
+
cost: [{ kind: 'poplarwood', qty: 20 }],
|
|
118
|
+
woodworkXp: 500,
|
|
119
|
+
explorerXp: 500,
|
|
120
|
+
desc: 'Erect stout timber posts on the broken bridge stubs.',
|
|
121
|
+
},
|
|
122
|
+
{
|
|
123
|
+
stage: 2,
|
|
124
|
+
name: 'Guide Ropes',
|
|
125
|
+
model: 'spanwalk2',
|
|
126
|
+
woodworkLevel: 8,
|
|
127
|
+
cost: [{ kind: 'birchwood', qty: 25 }, { kind: 'poplarwood', qty: 10 }],
|
|
128
|
+
woodworkXp: 750,
|
|
129
|
+
explorerXp: 750,
|
|
130
|
+
desc: 'String guide ropes between the posts across the gap.',
|
|
131
|
+
},
|
|
132
|
+
{
|
|
133
|
+
stage: 3,
|
|
134
|
+
name: 'Half Decking',
|
|
135
|
+
model: 'spanwalk3',
|
|
136
|
+
woodworkLevel: 12,
|
|
137
|
+
cost: [{ kind: 'pinewood', qty: 15 }, { kind: 'poplarwood', qty: 10 }],
|
|
138
|
+
woodworkXp: 1000,
|
|
139
|
+
explorerXp: 1000,
|
|
140
|
+
desc: 'Lash the first run of decking planks along the ropes.',
|
|
141
|
+
},
|
|
142
|
+
{
|
|
143
|
+
stage: 4,
|
|
144
|
+
name: 'Complete Walkway',
|
|
145
|
+
model: 'spanwalk4',
|
|
146
|
+
woodworkLevel: 12,
|
|
147
|
+
cost: [{ kind: 'pinewood', qty: 15 }, { kind: 'birchwood', qty: 15 }],
|
|
148
|
+
woodworkXp: 1500,
|
|
149
|
+
explorerXp: 1500,
|
|
150
|
+
desc: 'Finish the decking and secure the handrails across the gap.',
|
|
151
|
+
},
|
|
152
|
+
];
|
|
153
|
+
export const ROW_SPAN_ACTION = 'row_span';
|
|
154
|
+
export const SPAN_WALKWAY_ACTION = 'span_walkway';
|
|
155
|
+
export const SUNDERED_SPAN_ZONE_ID = 'sundered-span';
|
|
156
|
+
export function isSunderedSpanGapTile(x, z) {
|
|
157
|
+
return x >= SUNDERED_SPAN.minX && x <= SUNDERED_SPAN.maxX && z >= SUNDERED_SPAN.gap.minZ && z <= SUNDERED_SPAN.gap.maxZ;
|
|
158
|
+
}
|
|
101
159
|
/**
|
|
102
160
|
* Base Camp's south stair: a cut through the camp's south rim (stone, h 9), the grass ledge under it and the crag
|
|
103
161
|
* band, from the camp floor to the sand at the bridgehead. Open from phase a (decision 3): it leads only to the
|
|
@@ -111,9 +169,23 @@ export const BRIDGEHEAD_SPURS = [
|
|
|
111
169
|
{ id: 'spur-w', minX: 640, minZ: 859, maxX: 642, maxZ: 881 },
|
|
112
170
|
{ id: 'spur-e', minX: 710, minZ: 859, maxX: 712, maxZ: 881 },
|
|
113
171
|
];
|
|
172
|
+
/**
|
|
173
|
+
* Walkable joins that the plan's deck rectangles do not cover: the rope walkway's last row onto shack 3,
|
|
174
|
+
* the gangway from the Gull's Ransom to the cove beach (one tile past the boards, onto the sand), and the
|
|
175
|
+
* stern step where the wreck's stand and a drowned deckhand are. They are coast, so the shore path reaches them.
|
|
176
|
+
*/
|
|
177
|
+
const SUNDERED_COAST_DECK_LINKS = [
|
|
178
|
+
{ minX: 576, maxX: 581, minZ: 1000, maxZ: 1000 },
|
|
179
|
+
// The shore at 582,997 meets the rope walkway at 581,998 through this one tile.
|
|
180
|
+
{ minX: 581, maxX: 581, minZ: 997, maxZ: 997 },
|
|
181
|
+
{ minX: 584, maxX: 595, minZ: 1029, maxZ: 1030 },
|
|
182
|
+
{ minX: 573, maxX: 577, minZ: 1032, maxZ: 1034 },
|
|
183
|
+
];
|
|
114
184
|
export function onSunderedCoast(x, z) {
|
|
115
185
|
if (!inSouthBox(x, z, SUNDERED_COAST_BOX))
|
|
116
186
|
return false;
|
|
187
|
+
if (SUNDERED_COAST_DECK_LINKS.some((b) => inSouthBox(x, z, b)))
|
|
188
|
+
return true;
|
|
117
189
|
return inSouthPolygon(x, z, SUNDERED_COAST_OUTLINE) && !inSouthPolygon(x, z, SUNDERED_COAST_COVE);
|
|
118
190
|
}
|
|
119
191
|
// ---------------------------------------------------------------- the South Fields
|
|
@@ -141,11 +213,73 @@ export const SOUTH_FIELDS_SAND_RIM = { minX: 0, minZ: 970, maxX: 110, maxZ: 990
|
|
|
141
213
|
/** The farm's new gate: a cut through the crag band on its south edge, on the farm track. */
|
|
142
214
|
export const SOUTH_FIELDS_GATE = { minX: 39, maxX: 41, minZ: 852, maxZ: 858, stand: { x: 40, z: 851 } };
|
|
143
215
|
/**
|
|
144
|
-
*
|
|
145
|
-
*
|
|
146
|
-
|
|
216
|
+
* Phase c opens the cut (map.ts `openSouthFieldsGate`): wheat, apples, the fold, the mill, the hives,
|
|
217
|
+
* the hay wain, the jetty, the stile, and the geese, goats, sheepdog and ducks. The side quests are phase f.
|
|
218
|
+
*/
|
|
219
|
+
export const SOUTH_FIELDS_GATE_OPEN = true;
|
|
220
|
+
/** The five crop plots (south.js fields.pieces). Wheat rows, soil under them, the tracks left as path. */
|
|
221
|
+
export const SOUTH_FIELDS_CROP_FIELDS = [
|
|
222
|
+
{ minX: 10, maxX: 34, minZ: 900, maxZ: 918 },
|
|
223
|
+
{ minX: 10, maxX: 34, minZ: 922, maxZ: 940 },
|
|
224
|
+
{ minX: 10, maxX: 34, minZ: 944, maxZ: 962 },
|
|
225
|
+
{ minX: 46, maxX: 70, minZ: 922, maxZ: 940 },
|
|
226
|
+
{ minX: 46, maxX: 70, minZ: 944, maxZ: 962 },
|
|
227
|
+
];
|
|
228
|
+
/**
|
|
229
|
+
* Six apple trees inside the orchard's box, north of the east track. The plan's stand (82, 898) stays clear.
|
|
230
|
+
*/
|
|
231
|
+
export const SOUTH_FIELDS_APPLES = [
|
|
232
|
+
[56, 890], [64, 890], [72, 890],
|
|
233
|
+
[56, 898], [64, 898], [72, 898],
|
|
234
|
+
];
|
|
235
|
+
/**
|
|
236
|
+
* The sheep fold, inset south of the east track so the hurdles do not close the road.
|
|
237
|
+
* The gap is the south gate. Two plan spots (116,918 and 134,916) sat on that track, so the flock stands inside.
|
|
238
|
+
*/
|
|
239
|
+
export const SOUTH_FIELDS_FOLD = { minX: 112, maxX: 144, minZ: 920, maxZ: 934, gap: { x: 128, z: 934 } };
|
|
240
|
+
export const SOUTH_FIELDS_SHEEP = [
|
|
241
|
+
[116, 924], [124, 926], [130, 922], [136, 922], [120, 930], [140, 928],
|
|
242
|
+
];
|
|
243
|
+
export const SOUTH_FIELDS_PEOPLE = [
|
|
244
|
+
{ name: 'Miller Hettie', x: 194, z: 926, faceX: 194, faceZ: 924 },
|
|
245
|
+
{ name: 'Shepherd Nye', x: 128, z: 938, faceX: 128, faceZ: 936 },
|
|
246
|
+
{ name: 'Beekeeper Wren', x: 88, z: 904, faceX: 88, faceZ: 900 },
|
|
247
|
+
];
|
|
248
|
+
export const SOUTH_FIELDS_SCARECROW = { x: 22, z: 920, style: 'scarecrow-s' };
|
|
249
|
+
export const SOUTH_FIELDS_HAY = [[16, 919], [28, 919]];
|
|
250
|
+
/** Miller Hettie's mill (dreadmodel windmill-s, 5 x 5, the same sails as Millbrook). Anchor is the centre; the door faces south. */
|
|
251
|
+
export const SOUTH_FIELDS_WINDMILL = { x: 194, z: 920, style: 'windmill-s' };
|
|
252
|
+
/** Three hives east of the orchard (barrel style hive: a round skep until a hive model exists). Wren stands south of them. */
|
|
253
|
+
export const SOUTH_FIELDS_HIVES = [
|
|
254
|
+
[86, 897],
|
|
255
|
+
[88, 899],
|
|
256
|
+
[90, 898],
|
|
257
|
+
];
|
|
258
|
+
/** The hay wain on the track south of the orchard (farmcart style carriage). The stand is the tile east of it. */
|
|
259
|
+
export const SOUTH_FIELDS_HAY_WAIN = { x: 49, z: 917, style: 'carriage' };
|
|
260
|
+
/**
|
|
261
|
+
* The little jetty off the south shore: boards, then one water tile to fish from.
|
|
262
|
+
* The plan's box runs to z 992; that last row stays water.
|
|
147
263
|
*/
|
|
148
|
-
export const
|
|
264
|
+
export const SOUTH_FIELDS_JETTY = { minX: 72, maxX: 75, minZ: 979, maxZ: 991, fish: { x: 73, z: 992 } };
|
|
265
|
+
/** A rowing boat alongside the jetty, off the boards. */
|
|
266
|
+
export const SOUTH_FIELDS_BOAT = { x: 76, z: 986, style: 'rowboat' };
|
|
267
|
+
/** A short hurdle on the west of the goat cliff, with the stile (the gap) at 160, 950. */
|
|
268
|
+
export const SOUTH_FIELDS_STILE = { x: 160, minZ: 944, maxZ: 956, gapZ: 950 };
|
|
269
|
+
/** Angry geese, level 2, on the pond bank (south.js). A spot in the water is walked to the nearest bank. */
|
|
270
|
+
export const SOUTH_FIELDS_GEESE = [
|
|
271
|
+
[112, 948], [126, 945], [140, 952], [142, 962], [122, 968], [108, 960],
|
|
272
|
+
];
|
|
273
|
+
/** Goats on the cliff. */
|
|
274
|
+
export const SOUTH_FIELDS_GOATS = [
|
|
275
|
+
[168, 944], [180, 952], [192, 946], [176, 958], [196, 956],
|
|
276
|
+
];
|
|
277
|
+
/** Nye's dog, just south of the fold gate. */
|
|
278
|
+
export const SOUTH_FIELDS_SHEEPDOG = { x: 130, z: 939 };
|
|
279
|
+
/** Two ducks on the pond water (south.js). They swim this pond; the bank spots were only a stand-in. */
|
|
280
|
+
export const SOUTH_FIELDS_DUCKS = [
|
|
281
|
+
[120, 955], [132, 958],
|
|
282
|
+
];
|
|
149
283
|
export const SOUTH_FIELDS_ROADS = [
|
|
150
284
|
{ id: 'track', pts: [[40, 859], [40, 905], [40, 920], [40, 966], [56, 972], [73, 977]] },
|
|
151
285
|
{ id: 'east-track', pts: [[40, 905], [60, 912], [100, 908], [150, 910], [190, 916], [194, 917]] },
|
|
@@ -164,7 +298,71 @@ export function onSouthFields(x, z) {
|
|
|
164
298
|
* sand, which the south stair already reaches, and a player should not discover a bridge that is not built.
|
|
165
299
|
*/
|
|
166
300
|
const zone = (id, label, minX, minZ, maxX, maxZ) => ({ id, label, minX, maxX, minZ: toLocalZ(minZ), maxZ: toLocalZ(maxZ) });
|
|
301
|
+
/** North-coast creatures (south.js hostiles), levels 4 to 10. Spots in the water are walked to the nearest bank. */
|
|
302
|
+
export const SUNDERED_COAST_RATS = [
|
|
303
|
+
[668, 868], [688, 869], [672, 866], [686, 862],
|
|
304
|
+
[684, 917], [666, 936], [688, 936],
|
|
305
|
+
// On the Gull's Ransom deck (the hull box). They were sea until that deck was laid.
|
|
306
|
+
[570, 1026], [578, 1028],
|
|
307
|
+
];
|
|
308
|
+
export const SUNDERED_COAST_GULLS = [
|
|
309
|
+
[588, 937], [620, 926], [740, 920], [800, 928], [866, 927], [900, 936],
|
|
310
|
+
];
|
|
311
|
+
export const SUNDERED_COAST_CRABS = [
|
|
312
|
+
[590, 934], [596, 932], [610, 930], [630, 928], [650, 928],
|
|
313
|
+
[704, 925], [730, 922], [760, 924], [790, 928], [820, 926], [846, 924], [600, 1038],
|
|
314
|
+
];
|
|
315
|
+
export const SUNDERED_COAST_LOOKOUTS = [
|
|
316
|
+
[668, 940], [684, 940], [676, 950], [700, 962], [850, 954],
|
|
317
|
+
];
|
|
318
|
+
/** Cove crew (south.js). The drowned deckhands stay out until the wreck deck exists: their spots are sea. */
|
|
319
|
+
export const SUNDERED_COAST_DECKHANDS = [
|
|
320
|
+
[560, 991], [572, 991], [581, 995], [601, 1006], [601, 1013], [600, 1020],
|
|
321
|
+
];
|
|
322
|
+
export const SUNDERED_COAST_CUTTHROATS = [
|
|
323
|
+
[605, 978], [608, 992], [602, 1036], [790, 1000], [812, 992], [826, 1000],
|
|
324
|
+
];
|
|
325
|
+
/** On the wreck deck (south.js). 575,1034 sits one tile off the hull, on the stern boards. */
|
|
326
|
+
export const SUNDERED_COAST_DROWNED = [
|
|
327
|
+
[566, 1030], [575, 1034], [582, 1030],
|
|
328
|
+
];
|
|
329
|
+
/** The Gull's Ransom hull (south.js). Boards, with Hope Beach's sailship as the hull. */
|
|
330
|
+
export const GULLS_RANSOM = { minX: 560, maxX: 583, minZ: 1024, maxZ: 1031, shipX: 572, shipZ: 1027 };
|
|
331
|
+
/** Stilt shacks, rope walkways, the galley and the cove jetty (south.js boxes). */
|
|
332
|
+
export const SUNDERED_COAST_SHACKS = [
|
|
333
|
+
{ id: 'shack-1', minX: 558, maxX: 563, minZ: 996, maxZ: 1001, tentX: 560, tentZ: 998 },
|
|
334
|
+
{ id: 'shack-2', minX: 570, maxX: 575, minZ: 996, maxZ: 1001, tentX: 572, tentZ: 998 },
|
|
335
|
+
{ id: 'shack-3', minX: 582, maxX: 587, minZ: 1000, maxZ: 1005, tentX: 584, tentZ: 1002 },
|
|
336
|
+
];
|
|
337
|
+
export const SUNDERED_COAST_WALKWAYS = [
|
|
338
|
+
{ id: 'walkway-1', minX: 564, maxX: 569, minZ: 996, maxZ: 997 },
|
|
339
|
+
// south.js ends this one at z 999. z 1000 is the join onto shack 3, and it counts as coast (the deck links).
|
|
340
|
+
{ id: 'walkway-2', minX: 576, maxX: 581, minZ: 998, maxZ: 1000 },
|
|
341
|
+
];
|
|
342
|
+
export const SUNDERED_COAST_GALLEY = { minX: 594, maxX: 600, minZ: 1008, maxZ: 1013, tentX: 597, tentZ: 1010 };
|
|
343
|
+
export const SUNDERED_COAST_COVE_JETTY = { minX: 591, maxX: 592, minZ: 1014, maxZ: 1019, fishX: 591, fishZ: 1019 };
|
|
344
|
+
/**
|
|
345
|
+
* Saltmark Light's stand-in: the Old Watchtower model, door south.
|
|
346
|
+
* Centred on z 944 so the solid 7 x 7 stops at z 947 and the rock tile 890, 948 stays walkable.
|
|
347
|
+
* Ada stands clear to the south-east.
|
|
348
|
+
*/
|
|
349
|
+
export const SALTMARK_LIGHT = { x: 890, z: 944, style: 'watchtower-s' };
|
|
350
|
+
/** Fort Rook's bosses (south.js). The wall ring is the Deadlands fortwall. */
|
|
351
|
+
export const FORT_ROOK_GATE = { minX: 814, maxX: 821, minZ: 1004, maxZ: 1005 };
|
|
352
|
+
export const FORT_ROOK_HARROW = { x: 832, z: 1009 };
|
|
353
|
+
export const FORT_ROOK_ROWENA = { x: 830, z: 1024 };
|
|
354
|
+
export const FORT_ROOK_CABIN = { x: 830, z: 1038 };
|
|
355
|
+
/** Old Merrick at the cove, Keeper Ada under the light. Their buildings are not built yet. */
|
|
356
|
+
export const SUNDERED_COAST_PEOPLE = [
|
|
357
|
+
{ name: 'Old Merrick', x: 601, z: 1009, faceX: 594, faceZ: 1010 },
|
|
358
|
+
{ name: 'Keeper Ada', x: 895, z: 951, faceX: 890, faceZ: 948 },
|
|
359
|
+
];
|
|
360
|
+
/** A campfire beside each of them, off the tile they stand on. */
|
|
361
|
+
export const SUNDERED_COAST_FIRES = [
|
|
362
|
+
[603, 1009], [896, 952],
|
|
363
|
+
];
|
|
167
364
|
export const SOUTH_EXPANSION_ZONES = [
|
|
365
|
+
zone('sundered-span', 'The Sundered Span', 660, 859, 692, 940),
|
|
168
366
|
zone('blackwake-cove', 'Blackwake Cove', 548, 976, 614, 1046),
|
|
169
367
|
zone('fort-rook', 'Fort Rook', 756, 990, 910, 1056),
|
|
170
368
|
zone('saltmark-light', 'Saltmark Light', 866, 925, 914, 982),
|