@dreadwood-types/types 0.1.8 → 0.1.11
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/bounty.d.ts +66 -0
- package/dist/bounty.d.ts.map +1 -0
- package/dist/bounty.js +136 -0
- package/dist/bounty.js.map +1 -0
- package/dist/constants.d.ts +31 -3
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +114 -10
- package/dist/constants.js.map +1 -1
- package/dist/cooking.d.ts.map +1 -1
- package/dist/cooking.js +4 -0
- package/dist/cooking.js.map +1 -1
- package/dist/equipment.d.ts.map +1 -1
- package/dist/equipment.js +3 -0
- package/dist/equipment.js.map +1 -1
- package/dist/groundItems.d.ts.map +1 -1
- package/dist/groundItems.js +6 -0
- package/dist/groundItems.js.map +1 -1
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -1
- package/dist/landmarks.d.ts +166 -0
- package/dist/landmarks.d.ts.map +1 -1
- package/dist/landmarks.js +308 -0
- package/dist/landmarks.js.map +1 -1
- package/dist/messages.d.ts +79 -5
- package/dist/messages.d.ts.map +1 -1
- package/dist/messages.js +4 -0
- package/dist/messages.js.map +1 -1
- package/dist/spiderCave.d.ts +53 -0
- package/dist/spiderCave.d.ts.map +1 -0
- package/dist/spiderCave.js +68 -0
- package/dist/spiderCave.js.map +1 -0
- package/dist/timedAccess.d.ts +62 -0
- package/dist/timedAccess.d.ts.map +1 -0
- package/dist/timedAccess.js +77 -0
- package/dist/timedAccess.js.map +1 -0
- package/dist/woodwork.d.ts +30 -0
- package/dist/woodwork.d.ts.map +1 -1
- package/dist/woodwork.js +42 -0
- package/dist/woodwork.js.map +1 -1
- package/package.json +1 -1
package/dist/landmarks.js
CHANGED
|
@@ -2,6 +2,16 @@ import { BEACH_GATE_X, BEACH_START_Z, CHUNK_SIZE, UNDERGROUND_ORIGIN_X, WORLD_NO
|
|
|
2
2
|
import { DEADLANDS_DEFENSE_DEPTH, DEADLANDS_MAX_X, DEADLANDS_MAX_Z, DEADLANDS_MIN_X, } from './zones.js';
|
|
3
3
|
export const CROSSROADS_WORLD_X = BEACH_GATE_X;
|
|
4
4
|
export const CROSSROADS_LOCAL_Z = 17;
|
|
5
|
+
/**
|
|
6
|
+
* Bounty Board and Bruce - on the south side of the Crossroads, the first thing a
|
|
7
|
+
* player meets coming up the road from Lil Beach. Inside the existing `crossroads`
|
|
8
|
+
* discovery zone; no new zone.
|
|
9
|
+
*/
|
|
10
|
+
export const BOUNTY_BOARD_X = CROSSROADS_WORLD_X + 3;
|
|
11
|
+
export const BOUNTY_BOARD_LOCAL_Z = CROSSROADS_LOCAL_Z + 3;
|
|
12
|
+
/** Bruce stands two tiles west of the board, clear of its posts rather than tucked against them. */
|
|
13
|
+
export const BOUNTY_BRUCE_X = CROSSROADS_WORLD_X + 1;
|
|
14
|
+
export const BOUNTY_BRUCE_LOCAL_Z = CROSSROADS_LOCAL_Z + 3;
|
|
5
15
|
export const EAST_ROAD_START_X = CROSSROADS_WORLD_X + 7;
|
|
6
16
|
export const HIJACK_SITE_X = 402;
|
|
7
17
|
export const HIJACK_SITE_LOCAL_Z = 22;
|
|
@@ -55,6 +65,198 @@ export function inAmazonTrail(x, z) {
|
|
|
55
65
|
z >= AMAZON_TRAIL_NORTH_WORLD_Z &&
|
|
56
66
|
z <= AMAZON_TRAIL_SOUTH_WORLD_Z);
|
|
57
67
|
}
|
|
68
|
+
/* ------------------------------------------------------------------ *
|
|
69
|
+
* Calverton Town - the walled town at the north end of the Amazon Trail.
|
|
70
|
+
*
|
|
71
|
+
* The trail was always described as running "between the Amazonian cave and the
|
|
72
|
+
* town" and the ground north of it was left clear for exactly this. The site is
|
|
73
|
+
* 73 x 53 tiles of empty grass in the `east` map area, so the town does not
|
|
74
|
+
* displace anything.
|
|
75
|
+
*
|
|
76
|
+
* Everything here is world Z (lower Z is north). The south gate sits on the
|
|
77
|
+
* trail centre line, so walking north off the lake crossing brings you straight
|
|
78
|
+
* to the gate.
|
|
79
|
+
* ------------------------------------------------------------------ */
|
|
80
|
+
/**
|
|
81
|
+
* Wall footprint, inclusive. The wall itself stands ON these rows/columns.
|
|
82
|
+
*
|
|
83
|
+
* Grown from 57x43 to fit the larger buildings: an 11x11 pub and hall need real
|
|
84
|
+
* blocks around them or the streets close up. The empty grass on this site runs
|
|
85
|
+
* x 711-783 by z 596-648, so this uses nearly all of it and still clears the
|
|
86
|
+
* trail's tree belt to the south.
|
|
87
|
+
*/
|
|
88
|
+
export const TOWN_MIN_X = AMAZON_TRAIL_X - 32;
|
|
89
|
+
export const TOWN_MAX_X = AMAZON_TRAIL_X + 32;
|
|
90
|
+
export const TOWN_SOUTH_Z = AMAZON_TRAIL_NORTH_WORLD_Z - 2;
|
|
91
|
+
export const TOWN_NORTH_Z = TOWN_SOUTH_Z - 48;
|
|
92
|
+
/** Walkable interior, one tile inside the wall on every side. */
|
|
93
|
+
export const TOWN_INNER_MIN_X = TOWN_MIN_X + 1;
|
|
94
|
+
export const TOWN_INNER_MAX_X = TOWN_MAX_X - 1;
|
|
95
|
+
export const TOWN_INNER_NORTH_Z = TOWN_NORTH_Z + 1;
|
|
96
|
+
export const TOWN_INNER_SOUTH_Z = TOWN_SOUTH_Z - 1;
|
|
97
|
+
/** The whole town sits on one level so streets and buildings do not stair-step. */
|
|
98
|
+
export const TOWN_GROUND_HEIGHT = 3;
|
|
99
|
+
/** Gates. The south gate is on the trail; the north gate opens onto open ground. */
|
|
100
|
+
export const TOWN_GATE_X = AMAZON_TRAIL_X;
|
|
101
|
+
/**
|
|
102
|
+
* Half-width of a gate opening, so a gate is (2 * this + 1) tiles wide. Five
|
|
103
|
+
* tiles, matching the main street, so the road runs into town at full width
|
|
104
|
+
* instead of pinching. The gatehouse carries it on a pair of deep piers with a
|
|
105
|
+
* proper arch, which is what stops a span this wide reading as a gap in the
|
|
106
|
+
* wall rather than a gate.
|
|
107
|
+
*/
|
|
108
|
+
export const TOWN_GATE_HALF_W = 2;
|
|
109
|
+
/** Main street runs north-south on the trail line; the cross street runs east-west. */
|
|
110
|
+
export const TOWN_MAIN_STREET_HALF_W = 2;
|
|
111
|
+
export const TOWN_CROSS_STREET_Z = TOWN_NORTH_Z + 26;
|
|
112
|
+
export const TOWN_CROSS_STREET_HALF_W = 1;
|
|
113
|
+
/** Market square, centred where the two streets meet. */
|
|
114
|
+
export const TOWN_SQUARE_HALF_W = 6;
|
|
115
|
+
export const TOWN_SQUARE_HALF_D = 4;
|
|
116
|
+
export function inTownWalls(x, z) {
|
|
117
|
+
return x >= TOWN_MIN_X && x <= TOWN_MAX_X && z >= TOWN_NORTH_Z && z <= TOWN_SOUTH_Z;
|
|
118
|
+
}
|
|
119
|
+
/** Town plus a margin, for keeping wild scatter and NPC spawns out of the streets. */
|
|
120
|
+
export function nearTown(x, z, margin = 6) {
|
|
121
|
+
return (x >= TOWN_MIN_X - margin &&
|
|
122
|
+
x <= TOWN_MAX_X + margin &&
|
|
123
|
+
z >= TOWN_NORTH_Z - margin &&
|
|
124
|
+
z <= TOWN_SOUTH_Z + margin);
|
|
125
|
+
}
|
|
126
|
+
/* ------------------------------------------------------------------ *
|
|
127
|
+
* The Trout Fishery - a stocked reservoir north of Calverton, walled off and
|
|
128
|
+
* charged for by the gate.
|
|
129
|
+
*
|
|
130
|
+
* Laid out as a compound rather than open water: the lodge and its guard sit on
|
|
131
|
+
* the south side where the road from the town's north gate arrives, and the
|
|
132
|
+
* reservoir fills the rest with pegs along its banks. You pay at the lodge door,
|
|
133
|
+
* which is what admits you past it to the water.
|
|
134
|
+
* ------------------------------------------------------------------ */
|
|
135
|
+
/** Compound footprint, inclusive - the perimeter fence stands on these rows. */
|
|
136
|
+
export const FISHERY_MIN_X = AMAZON_TRAIL_X - 30;
|
|
137
|
+
export const FISHERY_MAX_X = AMAZON_TRAIL_X + 30;
|
|
138
|
+
/**
|
|
139
|
+
* The road north out of Calverton to the fishery gate, in tiles. At
|
|
140
|
+
* MOVE_SPEED_TILES_PER_SEC (3.9) this is about a thirty second walk - the
|
|
141
|
+
* fishery is somewhere you set out for, not somewhere on the town doorstep.
|
|
142
|
+
*/
|
|
143
|
+
export const FISHERY_WALK_TILES = 117;
|
|
144
|
+
export const FISHERY_SOUTH_Z = TOWN_NORTH_Z - FISHERY_WALK_TILES;
|
|
145
|
+
export const FISHERY_NORTH_Z = FISHERY_SOUTH_Z - 46;
|
|
146
|
+
export const FISHERY_INNER_MIN_X = FISHERY_MIN_X + 1;
|
|
147
|
+
export const FISHERY_INNER_MAX_X = FISHERY_MAX_X - 1;
|
|
148
|
+
export const FISHERY_INNER_NORTH_Z = FISHERY_NORTH_Z + 1;
|
|
149
|
+
export const FISHERY_INNER_SOUTH_Z = FISHERY_SOUTH_Z - 1;
|
|
150
|
+
/** The whole compound sits level, so pegs and water meet cleanly. */
|
|
151
|
+
export const FISHERY_GROUND_HEIGHT = 3;
|
|
152
|
+
/** Gate in the south fence, on the road up from the town's north gate. */
|
|
153
|
+
export const FISHERY_GATE_X = AMAZON_TRAIL_X;
|
|
154
|
+
export const FISHERY_GATE_HALF_W = 1;
|
|
155
|
+
/**
|
|
156
|
+
* Where a player is put when their paid time runs out: on the road, outside the
|
|
157
|
+
* gate, facing the fishery. Deliberately outside the fence, so an expired timer
|
|
158
|
+
* cannot leave anyone standing on the paid side of the door.
|
|
159
|
+
*/
|
|
160
|
+
export const FISHERY_EXIT_X = FISHERY_GATE_X;
|
|
161
|
+
export const FISHERY_EXIT_Z = FISHERY_SOUTH_Z + 3;
|
|
162
|
+
/** The guard stands beside the gate, inside the throat of it. */
|
|
163
|
+
export const FISHERY_GUARD_X = FISHERY_GATE_X + 3;
|
|
164
|
+
export const FISHERY_GUARD_Z = FISHERY_SOUTH_Z + 1;
|
|
165
|
+
/** Reservoir - an inset basin, leaving a bank all the way round for the pegs. */
|
|
166
|
+
export const FISHERY_WATER_MIN_X = FISHERY_INNER_MIN_X + 4;
|
|
167
|
+
export const FISHERY_WATER_MAX_X = FISHERY_INNER_MAX_X - 4;
|
|
168
|
+
export const FISHERY_WATER_NORTH_Z = FISHERY_INNER_NORTH_Z + 3;
|
|
169
|
+
export const FISHERY_WATER_SOUTH_Z = FISHERY_INNER_SOUTH_Z - 15;
|
|
170
|
+
/* ------------------------------------------------------------------ *
|
|
171
|
+
* The Western Massif - the mountain past the goblin camps.
|
|
172
|
+
*
|
|
173
|
+
* Fills the whole western flank, from the Deadlands' west wall out to the edge
|
|
174
|
+
* of the map. Walking north off the goblin camps you cross the old wire and the
|
|
175
|
+
* ground simply goes up: it is the wall on that side of the world.
|
|
176
|
+
*
|
|
177
|
+
* A cone rather than a ridge, because the path is a spiral. The track wraps the
|
|
178
|
+
* peak as it climbs, so the way up is a walk round the mountain rather than a
|
|
179
|
+
* staircase cut into one face, and the cave mouth at the top is set into the
|
|
180
|
+
* rock where the spiral runs out.
|
|
181
|
+
* ------------------------------------------------------------------ */
|
|
182
|
+
export const MOUNTAIN_MIN_X = 0;
|
|
183
|
+
/** Stops at the Deadlands wall - the massif is the flank beside it, not on it. */
|
|
184
|
+
export const MOUNTAIN_MAX_X = DEADLANDS_MIN_X - 1;
|
|
185
|
+
/** Foot on the south side, clear of the Deadlands defence band below it. */
|
|
186
|
+
export const MOUNTAIN_SOUTH_Z = 628;
|
|
187
|
+
export const MOUNTAIN_NORTH_Z = 380;
|
|
188
|
+
export const MOUNTAIN_CENTER_X = Math.round((MOUNTAIN_MIN_X + MOUNTAIN_MAX_X) / 2);
|
|
189
|
+
export const MOUNTAIN_CENTER_Z = Math.round((MOUNTAIN_NORTH_Z + MOUNTAIN_SOUTH_Z) / 2);
|
|
190
|
+
/** Elliptical footprint, so it fills a flank that is deeper than it is wide. */
|
|
191
|
+
export const MOUNTAIN_RX = Math.round((MOUNTAIN_MAX_X - MOUNTAIN_MIN_X) / 2) + 8;
|
|
192
|
+
export const MOUNTAIN_RZ = Math.round((MOUNTAIN_SOUTH_Z - MOUNTAIN_NORTH_Z) / 2);
|
|
193
|
+
/** Height at the foot and at the summit plateau, in terrain steps. */
|
|
194
|
+
export const MOUNTAIN_FOOT_H = 2;
|
|
195
|
+
/**
|
|
196
|
+
* 26 steps over a 120 tile radius read as a low dome, not a mountain - at
|
|
197
|
+
* HEIGHT_STEP 0.45 that is a 1 in 9 slope. This is the tallest thing in the
|
|
198
|
+
* world by a long way (Base Camp's rim is 10) and it needs to be: a massif
|
|
199
|
+
* this wide only reads as one if the face is genuinely steep.
|
|
200
|
+
*/
|
|
201
|
+
export const MOUNTAIN_SUMMIT_H = 62;
|
|
202
|
+
/** How many times the spiral wraps the peak between the foot and the summit. */
|
|
203
|
+
export const MOUNTAIN_PATH_TURNS = 3.4;
|
|
204
|
+
/** Half-width of the walkable track, so the path is (2 * this + 1) tiles wide. */
|
|
205
|
+
export const MOUNTAIN_PATH_HALF_W = 2;
|
|
206
|
+
/** Explorer needed to enter the cave the spiral leads to. */
|
|
207
|
+
export const MOUNTAIN_CAVE_EXPLORER_LEVEL = 20;
|
|
208
|
+
export const MOUNTAIN_CAVE_STYLE = 'massif-summit';
|
|
209
|
+
/** Normalised distance from the peak: 0 at the summit, 1 at the foot. */
|
|
210
|
+
export function mountainFalloff(x, z) {
|
|
211
|
+
const dx = (x - MOUNTAIN_CENTER_X) / MOUNTAIN_RX;
|
|
212
|
+
const dz = (z - MOUNTAIN_CENTER_Z) / MOUNTAIN_RZ;
|
|
213
|
+
return Math.sqrt(dx * dx + dz * dz);
|
|
214
|
+
}
|
|
215
|
+
export function inMountain(x, z) {
|
|
216
|
+
if (x < MOUNTAIN_MIN_X || x > MOUNTAIN_MAX_X)
|
|
217
|
+
return false;
|
|
218
|
+
if (z < MOUNTAIN_NORTH_Z || z > MOUNTAIN_SOUTH_Z)
|
|
219
|
+
return false;
|
|
220
|
+
return mountainFalloff(x, z) <= 1;
|
|
221
|
+
}
|
|
222
|
+
/** True inside the paid area: past the fence line, which is what the timer guards. */
|
|
223
|
+
export function inFishery(x, z) {
|
|
224
|
+
return x >= FISHERY_MIN_X && x <= FISHERY_MAX_X && z >= FISHERY_NORTH_Z && z <= FISHERY_SOUTH_Z;
|
|
225
|
+
}
|
|
226
|
+
/**
|
|
227
|
+
* Fishery plus a margin. Wandering spawns are kept out of this: a wolf den mouth
|
|
228
|
+
* opening inside the compound would be a free way in past a door people pay for,
|
|
229
|
+
* and one against the fence reads as wilderness pushed up against a built place.
|
|
230
|
+
*/
|
|
231
|
+
export function nearFishery(x, z, margin = 8) {
|
|
232
|
+
return (x >= FISHERY_MIN_X - margin &&
|
|
233
|
+
x <= FISHERY_MAX_X + margin &&
|
|
234
|
+
z >= FISHERY_NORTH_Z - margin &&
|
|
235
|
+
z <= FISHERY_SOUTH_Z + margin);
|
|
236
|
+
}
|
|
237
|
+
/** Cave mouth east of Calverton's east gate, on the new eastern pad. */
|
|
238
|
+
/**
|
|
239
|
+
* Spider Cave - out on the eastern rim of the map rather than tucked against
|
|
240
|
+
* Calverton. It used to sit 18 tiles off the town wall, which made a cave full
|
|
241
|
+
* of spiders feel like a suburb; bedding it on the edge gives the walk east
|
|
242
|
+
* some point to it.
|
|
243
|
+
*/
|
|
244
|
+
export const SPIDER_CAVE_MOUTH_X = WORLD_WIDTH - 26;
|
|
245
|
+
export const SPIDER_CAVE_MOUTH_Z = TOWN_CROSS_STREET_Z;
|
|
246
|
+
/** Stand just west of the mouth after climbing out. */
|
|
247
|
+
export const SPIDER_CAVE_OUTSIDE = {
|
|
248
|
+
x: SPIDER_CAVE_MOUTH_X - 2,
|
|
249
|
+
z: SPIDER_CAVE_MOUTH_Z,
|
|
250
|
+
};
|
|
251
|
+
/**
|
|
252
|
+
* Bob's Bounties - on the hall's south wall, east of the door, facing the
|
|
253
|
+
* square. Z is the first walkable tile south of the hall footprint
|
|
254
|
+
* (`TOWN_CROSS_STREET_Z - 7` = hallCz + hallRadius + 1).
|
|
255
|
+
*/
|
|
256
|
+
export const CALVERTON_BOUNTY_BOARD_X = TOWN_GATE_X + 4;
|
|
257
|
+
export const CALVERTON_BOUNTY_BOARD_Z = TOWN_CROSS_STREET_Z - 7;
|
|
258
|
+
export const BOB_SPAWN_X = TOWN_GATE_X + 4;
|
|
259
|
+
export const BOB_SPAWN_Z = TOWN_CROSS_STREET_Z - 6;
|
|
58
260
|
/**
|
|
59
261
|
* Anne's cottage - a longer walk north of the east road, halfway between
|
|
60
262
|
* Crossroads and Base Camp. Lower local Z is north (toward WORLD_NORTH_PAD).
|
|
@@ -302,6 +504,81 @@ export function forestDenByCavern(worldX, worldZ) {
|
|
|
302
504
|
export function inForestDenCavern(x, z) {
|
|
303
505
|
return forestDenByCavern(x, z) !== null;
|
|
304
506
|
}
|
|
507
|
+
const WOLF_DEN_CAVERN_X = UNDERGROUND_ORIGIN_X + 70;
|
|
508
|
+
const WOLF_DEN_CAVERN_Z0 = 40;
|
|
509
|
+
const WOLF_DEN_CAVERN_GAP = 18;
|
|
510
|
+
function wolfDenSite(id, entranceX, entranceLocalZ, facing, cavernIndex) {
|
|
511
|
+
return {
|
|
512
|
+
id,
|
|
513
|
+
entranceX,
|
|
514
|
+
entranceLocalZ,
|
|
515
|
+
facing,
|
|
516
|
+
cavernX: WOLF_DEN_CAVERN_X,
|
|
517
|
+
cavernZ: WOLF_DEN_CAVERN_Z0 + cavernIndex * WOLF_DEN_CAVERN_GAP,
|
|
518
|
+
};
|
|
519
|
+
}
|
|
520
|
+
const TOWN_NORTH_LOCAL_Z = TOWN_NORTH_Z - WORLD_NORTH_PAD;
|
|
521
|
+
const TOWN_SOUTH_LOCAL_Z = TOWN_SOUTH_Z - WORLD_NORTH_PAD;
|
|
522
|
+
const TOWN_CROSS_LOCAL_Z = TOWN_CROSS_STREET_Z - WORLD_NORTH_PAD;
|
|
523
|
+
const SPIDER_MOUTH_LOCAL_Z = SPIDER_CAVE_MOUTH_Z - WORLD_NORTH_PAD;
|
|
524
|
+
/**
|
|
525
|
+
* Wolf dens in the woods around Calverton. Same rotating-mouth idea as the
|
|
526
|
+
* forest rat caves: every site is built, only WOLF_DEN_ACTIVE_COUNT show a
|
|
527
|
+
* mouth at once, and crawling out relocates that mouth.
|
|
528
|
+
*/
|
|
529
|
+
export const WOLF_DEN_SITES = [
|
|
530
|
+
wolfDenSite('calverton-west', TOWN_MIN_X - 10, TOWN_CROSS_LOCAL_Z, 'east', 0),
|
|
531
|
+
wolfDenSite('calverton-nw', TOWN_MIN_X - 16, TOWN_NORTH_LOCAL_Z - 8, 'south', 1),
|
|
532
|
+
wolfDenSite('calverton-sw', TOWN_MIN_X - 8, TOWN_SOUTH_LOCAL_Z + 10, 'north', 2),
|
|
533
|
+
wolfDenSite('calverton-east', TOWN_MAX_X + 8, TOWN_CROSS_LOCAL_Z + 10, 'west', 3),
|
|
534
|
+
wolfDenSite('calverton-ne', TOWN_MAX_X + 12, TOWN_NORTH_LOCAL_Z - 10, 'south', 4),
|
|
535
|
+
wolfDenSite('spider-approach', SPIDER_CAVE_MOUTH_X - 10, SPIDER_MOUTH_LOCAL_Z + 14, 'north', 5),
|
|
536
|
+
wolfDenSite('calverton-south', TOWN_GATE_X - 22, TOWN_SOUTH_LOCAL_Z + 14, 'north', 6),
|
|
537
|
+
// Moved west, out of the Trout Fishery. At its old spot (gate +22, north -14)
|
|
538
|
+
// this mouth opened inside the compound, which would have been a free way past
|
|
539
|
+
// a door people pay for. Kept honest by wolfDenSiteAllowed below.
|
|
540
|
+
wolfDenSite('calverton-nw-far', TOWN_GATE_X - 36, TOWN_NORTH_LOCAL_Z - 16, 'east', 7),
|
|
541
|
+
];
|
|
542
|
+
/**
|
|
543
|
+
* A den site is only usable if its mouth is clear of the authored places around
|
|
544
|
+
* it. Applied where dens are built rather than trusted to the table above, so a
|
|
545
|
+
* site nudged in later cannot quietly reopen the hole in the fishery fence.
|
|
546
|
+
*/
|
|
547
|
+
export function wolfDenSiteAllowed(site) {
|
|
548
|
+
const worldZ = toWorldZ(site.entranceLocalZ);
|
|
549
|
+
if (nearFishery(site.entranceX, worldZ))
|
|
550
|
+
return false;
|
|
551
|
+
if (inTownWalls(site.entranceX, worldZ))
|
|
552
|
+
return false;
|
|
553
|
+
return true;
|
|
554
|
+
}
|
|
555
|
+
export const WOLF_DEN_ACTIVE_COUNT = 2;
|
|
556
|
+
export const WOLF_DEN_EXPLORER_XP = 33;
|
|
557
|
+
export function wolfDenEntranceStyle(facing) {
|
|
558
|
+
return `wolfden-${facing}`;
|
|
559
|
+
}
|
|
560
|
+
export function wolfDenExitStyle(facing) {
|
|
561
|
+
return `wolfdenexit-${facing}`;
|
|
562
|
+
}
|
|
563
|
+
export function wolfDenByEntrance(worldX, worldZ) {
|
|
564
|
+
for (const den of WOLF_DEN_SITES) {
|
|
565
|
+
if (den.entranceX === worldX && toWorldZ(den.entranceLocalZ) === worldZ)
|
|
566
|
+
return den;
|
|
567
|
+
}
|
|
568
|
+
return null;
|
|
569
|
+
}
|
|
570
|
+
export function wolfDenByCavern(worldX, worldZ) {
|
|
571
|
+
for (const den of WOLF_DEN_SITES) {
|
|
572
|
+
if (Math.abs(worldX - den.cavernX) <= FOREST_DEN_RX + FOREST_DEN_WALL &&
|
|
573
|
+
Math.abs(worldZ - den.cavernZ) <= FOREST_DEN_RZ + FOREST_DEN_WALL) {
|
|
574
|
+
return den;
|
|
575
|
+
}
|
|
576
|
+
}
|
|
577
|
+
return null;
|
|
578
|
+
}
|
|
579
|
+
export function inWolfDenCavern(x, z) {
|
|
580
|
+
return wolfDenByCavern(x, z) !== null;
|
|
581
|
+
}
|
|
305
582
|
function roomSpawnSpots(minZ, maxZ, count) {
|
|
306
583
|
const cx = DUNGEON_CENTER_X;
|
|
307
584
|
if (count <= 1)
|
|
@@ -599,6 +876,35 @@ export const DISCOVERY_ZONES = [
|
|
|
599
876
|
minZ: BATTLEFIELD_MIN_LOCAL_Z,
|
|
600
877
|
maxZ: BATTLEFIELD_MAX_LOCAL_Z,
|
|
601
878
|
},
|
|
879
|
+
{
|
|
880
|
+
// The town is discovered as one place. Its walls, gates and houses are all
|
|
881
|
+
// non-identifiable (see IDENTIFIABLE_KINDS), so arriving names the town
|
|
882
|
+
// once instead of paying out for every section of masonry you walk past.
|
|
883
|
+
// Zone Z is playable-LOCAL, hence the pad subtraction - the town sits north
|
|
884
|
+
// of the playable origin, so these are negative.
|
|
885
|
+
id: 'calverton',
|
|
886
|
+
label: 'Calverton Town',
|
|
887
|
+
minX: TOWN_MIN_X - 3,
|
|
888
|
+
maxX: TOWN_MAX_X + 3,
|
|
889
|
+
minZ: TOWN_NORTH_Z - 3 - WORLD_NORTH_PAD,
|
|
890
|
+
maxZ: TOWN_SOUTH_Z + 4 - WORLD_NORTH_PAD,
|
|
891
|
+
},
|
|
892
|
+
{
|
|
893
|
+
id: 'spider-cave',
|
|
894
|
+
label: 'Spider Cave',
|
|
895
|
+
minX: SPIDER_CAVE_MOUTH_X - 6,
|
|
896
|
+
maxX: SPIDER_CAVE_MOUTH_X + 6,
|
|
897
|
+
minZ: SPIDER_CAVE_MOUTH_Z - 6 - WORLD_NORTH_PAD,
|
|
898
|
+
maxZ: SPIDER_CAVE_MOUTH_Z + 6 - WORLD_NORTH_PAD,
|
|
899
|
+
},
|
|
900
|
+
{
|
|
901
|
+
id: 'trout-fishery',
|
|
902
|
+
label: 'Trout Fishery',
|
|
903
|
+
minX: FISHERY_MIN_X - 3,
|
|
904
|
+
maxX: FISHERY_MAX_X + 3,
|
|
905
|
+
minZ: FISHERY_NORTH_Z - 3 - WORLD_NORTH_PAD,
|
|
906
|
+
maxZ: FISHERY_SOUTH_Z + 5 - WORLD_NORTH_PAD,
|
|
907
|
+
},
|
|
602
908
|
];
|
|
603
909
|
export function discoveryZoneAt(worldX, worldZ) {
|
|
604
910
|
for (const zone of DISCOVERY_ZONES) {
|
|
@@ -632,6 +938,8 @@ export const WORLD_MAP_LANDMARKS = [
|
|
|
632
938
|
{ ...discoveryZoneCenter('lil-beach'), label: 'Lil Beach' },
|
|
633
939
|
{ ...discoveryZoneCenter('basecamp'), label: 'Base Camp' },
|
|
634
940
|
{ x: BATTLEFIELD_BRIDGE_X, z: BATTLEFIELD_LAKE_MID_Z, label: 'Battlefield' },
|
|
941
|
+
{ x: TOWN_GATE_X, z: TOWN_CROSS_STREET_Z, label: 'Calverton Town' },
|
|
942
|
+
{ x: SPIDER_CAVE_MOUTH_X, z: SPIDER_CAVE_MOUTH_Z, label: 'Spider Cave' },
|
|
635
943
|
{
|
|
636
944
|
x: BASECAMP_CAVE_X,
|
|
637
945
|
z: toWorldZ(BASECAMP_CAVE_LOCAL_Z),
|
package/dist/landmarks.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"landmarks.js","sourceRoot":"","sources":["../src/landmarks.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"landmarks.js","sourceRoot":"","sources":["../src/landmarks.ts"],"names":[],"mappings":"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"}
|
package/dist/messages.d.ts
CHANGED
|
@@ -2,6 +2,8 @@ import type { ChunkCoord, ChunkData, NpcKind, WorldEntity } from './constants.js
|
|
|
2
2
|
import type { CharacterAppearance } from './appearance.js';
|
|
3
3
|
import type { ClientConfig, PartialClientConfig } from './clientConfig.js';
|
|
4
4
|
import type { QuestId, QuestReward, QuestsSnapshot } from './quests.js';
|
|
5
|
+
import type { ActiveBounty, BountyOffer, BountyTargetKind } from './bounty.js';
|
|
6
|
+
import type { TimedAreaId } from './timedAccess.js';
|
|
5
7
|
import type { EquipmentSlots } from './equipment.js';
|
|
6
8
|
import type { WorldZoneId } from './zones.js';
|
|
7
9
|
export type { WorldZoneId } from './zones.js';
|
|
@@ -23,6 +25,8 @@ export type CharacterStats = {
|
|
|
23
25
|
foraging: number;
|
|
24
26
|
woodwork: number;
|
|
25
27
|
explorer: number;
|
|
28
|
+
/** Bounty Hunter - trained only by completing Bounty Board contracts. */
|
|
29
|
+
bounty: number;
|
|
26
30
|
combatXp: number;
|
|
27
31
|
strengthXp: number;
|
|
28
32
|
archeryXp: number;
|
|
@@ -32,6 +36,7 @@ export type CharacterStats = {
|
|
|
32
36
|
foragingXp: number;
|
|
33
37
|
woodworkXp: number;
|
|
34
38
|
explorerXp: number;
|
|
39
|
+
bountyXp: number;
|
|
35
40
|
};
|
|
36
41
|
/** The currently selected combat training style. */
|
|
37
42
|
export type CombatStance = 'strength' | 'archery' | 'mastery' | 'balanced';
|
|
@@ -68,6 +73,15 @@ export type PlayerPublic = {
|
|
|
68
73
|
carving?: boolean;
|
|
69
74
|
/** Cooking at a campfire (crouched, tending the fire). */
|
|
70
75
|
cooking?: boolean;
|
|
76
|
+
/**
|
|
77
|
+
* Channelled world action (e.g. squeezing a webbed path). `endsAt` is
|
|
78
|
+
* Date.now() on the server when the channel completes.
|
|
79
|
+
*/
|
|
80
|
+
channel?: {
|
|
81
|
+
label: string;
|
|
82
|
+
endsAt: number;
|
|
83
|
+
durationMs: number;
|
|
84
|
+
};
|
|
71
85
|
weapon?: string;
|
|
72
86
|
boots?: string;
|
|
73
87
|
gloves?: string;
|
|
@@ -119,7 +133,7 @@ export type InventorySlot = {
|
|
|
119
133
|
/** Craft quality for weapons (woodwork level when carved). */
|
|
120
134
|
precision?: number;
|
|
121
135
|
};
|
|
122
|
-
export type ItemAction = 'eat' | 'drop' | 'equip' | 'unequip';
|
|
136
|
+
export type ItemAction = 'eat' | 'drop' | 'equip' | 'unequip' | 'open';
|
|
123
137
|
/**
|
|
124
138
|
* A shop listing a player can buy. Normally costed in gold via `price`, but a
|
|
125
139
|
* listing can instead be a barter (e.g. Wilson's rod-for-maggots trade) by
|
|
@@ -145,7 +159,7 @@ export type JoinRejectedReason = 'name_taken' | 'invalid_name';
|
|
|
145
159
|
* information.
|
|
146
160
|
*/
|
|
147
161
|
export type NoticeStyle = 'warning' | 'quiet' | 'combat' | 'reward' | 'area' | 'quest';
|
|
148
|
-
export type LevelUpSkill = 'combat' | 'strength' | 'archery' | 'precision' | 'fishing' | 'cooking' | 'foraging' | 'woodwork' | 'explorer';
|
|
162
|
+
export type LevelUpSkill = 'combat' | 'strength' | 'archery' | 'precision' | 'fishing' | 'cooking' | 'foraging' | 'woodwork' | 'explorer' | 'bounty';
|
|
149
163
|
export declare function skillDisplayName(skill: LevelUpSkill): string;
|
|
150
164
|
export type TradeOfferSlot = {
|
|
151
165
|
kind: string;
|
|
@@ -291,6 +305,28 @@ export type ClientMessage =
|
|
|
291
305
|
type: 'npc_action';
|
|
292
306
|
npcId: string;
|
|
293
307
|
action: string;
|
|
308
|
+
}
|
|
309
|
+
/** Open the Bounty Board - via the board entity or by talking to Bruce. */
|
|
310
|
+
| {
|
|
311
|
+
type: 'bounty_open';
|
|
312
|
+
entityId?: string;
|
|
313
|
+
npcId?: string;
|
|
314
|
+
} | {
|
|
315
|
+
type: 'bounty_accept';
|
|
316
|
+
target: BountyTargetKind;
|
|
317
|
+
} | {
|
|
318
|
+
type: 'bounty_abandon';
|
|
319
|
+
}
|
|
320
|
+
/** Buy `blocks` blocks of time at a paid area's door. */
|
|
321
|
+
| {
|
|
322
|
+
type: 'timed_access_buy';
|
|
323
|
+
area: TimedAreaId;
|
|
324
|
+
blocks: number;
|
|
325
|
+
npcId?: string;
|
|
326
|
+
} | {
|
|
327
|
+
type: 'bounty_claim';
|
|
328
|
+
entityId?: string;
|
|
329
|
+
npcId?: string;
|
|
294
330
|
} | {
|
|
295
331
|
type: 'use_item';
|
|
296
332
|
item: string;
|
|
@@ -416,7 +452,7 @@ export type ServerMessage = {
|
|
|
416
452
|
fishingSpots?: Vec2[];
|
|
417
453
|
/** Fixed lake fishing spots (perch / tench). */
|
|
418
454
|
lakeFishingSpots?: Array<{
|
|
419
|
-
kind: 'perch' | 'tench';
|
|
455
|
+
kind: 'perch' | 'tench' | 'trout';
|
|
420
456
|
x: number;
|
|
421
457
|
y: number;
|
|
422
458
|
}>;
|
|
@@ -432,6 +468,8 @@ export type ServerMessage = {
|
|
|
432
468
|
anneFoxKills?: number;
|
|
433
469
|
/** Persistent Goblin Soldier kill count for the Battlefield Captain. */
|
|
434
470
|
captainGoblinKills?: number;
|
|
471
|
+
/** The player's current Bounty Board contract, if any. */
|
|
472
|
+
activeBounty?: ActiveBounty | null;
|
|
435
473
|
} | {
|
|
436
474
|
type: 'join_rejected';
|
|
437
475
|
reason: JoinRejectedReason;
|
|
@@ -578,11 +616,47 @@ export type ServerMessage = {
|
|
|
578
616
|
hasKnife: boolean;
|
|
579
617
|
} | {
|
|
580
618
|
type: 'woodcraft_close';
|
|
619
|
+
}
|
|
620
|
+
/**
|
|
621
|
+
* Remaining time inside a paid area, or null once it is spent.
|
|
622
|
+
*
|
|
623
|
+
* Sent on login, on purchase, and then only every TIMED_ACCESS_PUSH_MS while
|
|
624
|
+
* the clock runs. The HUD counts down locally between pushes, so this is a
|
|
625
|
+
* correction rather than a per-second tick - the timer must not cost a message
|
|
626
|
+
* a second per player standing in the fishery.
|
|
627
|
+
*/
|
|
628
|
+
| {
|
|
629
|
+
type: 'timed_access';
|
|
630
|
+
area: TimedAreaId | null;
|
|
631
|
+
msRemaining: number;
|
|
632
|
+
}
|
|
633
|
+
/**
|
|
634
|
+
* Time is up. The client fades out, and the server has already moved the
|
|
635
|
+
* player, so the fade back in lands them outside the gate.
|
|
636
|
+
*/
|
|
637
|
+
| {
|
|
638
|
+
type: 'timed_access_expired';
|
|
639
|
+
area: TimedAreaId;
|
|
640
|
+
fadeMs: number;
|
|
581
641
|
} | {
|
|
582
642
|
type: 'quests';
|
|
583
643
|
quests: QuestsSnapshot;
|
|
584
644
|
anneFoxKills?: number;
|
|
585
645
|
captainGoblinKills?: number;
|
|
646
|
+
} | {
|
|
647
|
+
type: 'bounty_state';
|
|
648
|
+
/** The player's active contract, or null when they have none. */
|
|
649
|
+
active: ActiveBounty | null;
|
|
650
|
+
/** Offers Bruce currently shows for the player's Combat level. */
|
|
651
|
+
offers: BountyOffer[];
|
|
652
|
+
/** True when the active contract is done and can be handed in. */
|
|
653
|
+
canClaim: boolean;
|
|
654
|
+
/**
|
|
655
|
+
* True only when this is the reply to the player opening the board or
|
|
656
|
+
* Bruce - the client shows the panel. Absent for the login snapshot and
|
|
657
|
+
* for kill-progress refreshes, which update the panel silently.
|
|
658
|
+
*/
|
|
659
|
+
opened?: boolean;
|
|
586
660
|
} | {
|
|
587
661
|
type: 'quest_offer';
|
|
588
662
|
quest: QuestId;
|
|
@@ -619,7 +693,7 @@ export type ServerMessage = {
|
|
|
619
693
|
} | {
|
|
620
694
|
type: 'lake_fishing_spots';
|
|
621
695
|
spots: Array<{
|
|
622
|
-
kind: 'perch' | 'tench';
|
|
696
|
+
kind: 'perch' | 'tench' | 'trout';
|
|
623
697
|
x: number;
|
|
624
698
|
y: number;
|
|
625
699
|
}>;
|
|
@@ -668,7 +742,7 @@ export type ServerMessage = {
|
|
|
668
742
|
health: number;
|
|
669
743
|
healthMax: number;
|
|
670
744
|
/** Ranged attack flavor - client renders a projectile instead of a melee punch. */
|
|
671
|
-
projectile?: 'blueberry' | 'arrow';
|
|
745
|
+
projectile?: 'blueberry' | 'arrow' | 'venom';
|
|
672
746
|
} | {
|
|
673
747
|
type: 'combat_end';
|
|
674
748
|
playerId: string;
|