@dreadwood-types/types 0.1.80 → 0.1.82
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 +1 -0
- package/dist/attackableNpcs.js.map +1 -1
- package/dist/constants.d.ts +6 -2
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +17 -1
- 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/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/landmarks.d.ts.map +1 -1
- package/dist/landmarks.js +3 -0
- package/dist/landmarks.js.map +1 -1
- package/dist/messages.d.ts +1 -1
- package/dist/messages.d.ts.map +1 -1
- package/dist/smugglersStrand.d.ts +145 -0
- package/dist/smugglersStrand.d.ts.map +1 -0
- package/dist/smugglersStrand.js +114 -0
- package/dist/smugglersStrand.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
/** The strand members reach through the gap: the ridge on the west, a rock spur on the east. */
|
|
2
|
+
export declare const SMUGGLERS_STRAND: {
|
|
3
|
+
readonly minX: 322;
|
|
4
|
+
readonly maxX: 469;
|
|
5
|
+
readonly minZ: 859;
|
|
6
|
+
readonly maxZ: 881;
|
|
7
|
+
};
|
|
8
|
+
export declare function inSmugglersStrand(x: number, z: number): boolean;
|
|
9
|
+
/**
|
|
10
|
+
* Pell's Gap: a caveentrance drawn from the Blender `pellsgap` model (3
|
|
11
|
+
* across x 5 deep, solid), facing west, a plank door at each end of a cleft
|
|
12
|
+
* through the ridge (x 318-321). It fills x 318-322 on rows z 869-871.
|
|
13
|
+
*/
|
|
14
|
+
export declare const PELLS_GAP: {
|
|
15
|
+
readonly x: 320;
|
|
16
|
+
readonly z: 870;
|
|
17
|
+
readonly style: "pellsgap-w";
|
|
18
|
+
};
|
|
19
|
+
export declare function isPellsGapStyle(style: string | undefined): boolean;
|
|
20
|
+
/** Where a member comes out on the strand, and where anyone leaving (or put out) stands on Hope Beach, beside Pell. */
|
|
21
|
+
export declare const PELLS_GAP_STRAND_SIDE: {
|
|
22
|
+
readonly x: 324;
|
|
23
|
+
readonly z: 870;
|
|
24
|
+
};
|
|
25
|
+
export declare const PELLS_GAP_BEACH_SIDE: {
|
|
26
|
+
readonly x: 316;
|
|
27
|
+
readonly z: 870;
|
|
28
|
+
};
|
|
29
|
+
/** The smugglers' landing: their camp, the ground they hold (and rush anyone on). */
|
|
30
|
+
export declare const SMUGGLERS_LANDING: {
|
|
31
|
+
readonly minX: 326;
|
|
32
|
+
readonly maxX: 356;
|
|
33
|
+
readonly minZ: 861;
|
|
34
|
+
readonly maxZ: 874;
|
|
35
|
+
};
|
|
36
|
+
export declare function inSmugglersLanding(x: number, z: number): boolean;
|
|
37
|
+
/** Where each smuggler keeps watch. */
|
|
38
|
+
export declare const SMUGGLER_SPAWNS: ReadonlyArray<{
|
|
39
|
+
x: number;
|
|
40
|
+
z: number;
|
|
41
|
+
}>;
|
|
42
|
+
export declare const SMUGGLER_LEVEL: {
|
|
43
|
+
readonly min: 8;
|
|
44
|
+
readonly max: 12;
|
|
45
|
+
};
|
|
46
|
+
export declare const SMUGGLER_RESPAWN_MS = 75000;
|
|
47
|
+
/**
|
|
48
|
+
* The camp at the landing. The lean-to is the Blender `smugglerlean` model
|
|
49
|
+
* (3 x 3, solid, open to the south); the rest are the game's own beach props.
|
|
50
|
+
*/
|
|
51
|
+
export declare const SMUGGLERS_CAMP: {
|
|
52
|
+
readonly lean: {
|
|
53
|
+
readonly x: 334;
|
|
54
|
+
readonly z: 863;
|
|
55
|
+
readonly style: "smugglerlean-s";
|
|
56
|
+
};
|
|
57
|
+
readonly fire: {
|
|
58
|
+
readonly x: 341;
|
|
59
|
+
readonly z: 868;
|
|
60
|
+
};
|
|
61
|
+
readonly boat: {
|
|
62
|
+
readonly x: 345;
|
|
63
|
+
readonly z: 879;
|
|
64
|
+
};
|
|
65
|
+
readonly crates: readonly [{
|
|
66
|
+
readonly x: 331;
|
|
67
|
+
readonly z: 867;
|
|
68
|
+
}, {
|
|
69
|
+
readonly x: 332;
|
|
70
|
+
readonly z: 868;
|
|
71
|
+
}];
|
|
72
|
+
readonly casks: readonly [{
|
|
73
|
+
readonly x: 348;
|
|
74
|
+
readonly z: 863;
|
|
75
|
+
}, {
|
|
76
|
+
readonly x: 349;
|
|
77
|
+
readonly z: 864;
|
|
78
|
+
}];
|
|
79
|
+
readonly lantern: {
|
|
80
|
+
readonly x: 329;
|
|
81
|
+
readonly z: 871;
|
|
82
|
+
};
|
|
83
|
+
};
|
|
84
|
+
/**
|
|
85
|
+
* The Kittiwake (phase 2): the smugglers' own sloop, run up the strand east
|
|
86
|
+
* of the landing and stove in on the side facing the beach. The Blender
|
|
87
|
+
* `kittiwake` model, 5 x 3, solid (x 414-418, z 877-879). Phase 3 puts her log in the hold.
|
|
88
|
+
*/
|
|
89
|
+
export declare const KITTIWAKE: {
|
|
90
|
+
readonly x: 416;
|
|
91
|
+
readonly z: 878;
|
|
92
|
+
readonly style: "kittiwake-s";
|
|
93
|
+
};
|
|
94
|
+
/**
|
|
95
|
+
* The strand's rock pools (phase 2), members' foraging: kind `rockpool`,
|
|
96
|
+
* drawn from the Blender `rockpool` model and, once searched, the
|
|
97
|
+
* `rockpoolsearched` one until the tide fills it again. A search gives sea
|
|
98
|
+
* glass, or now and then a pearl (ROCK_POOL_FINDS weights).
|
|
99
|
+
*/
|
|
100
|
+
export declare const ROCK_POOL_KIND = "rockpool";
|
|
101
|
+
export declare const ROCK_POOL_STYLE = "rockpool-s";
|
|
102
|
+
export declare const ROCK_POOL_SEARCHED_STYLE = "rockpoolsearched-s";
|
|
103
|
+
export declare function isSearchedRockPool(style: string | undefined): boolean;
|
|
104
|
+
export declare const ROCK_POOLS: ReadonlyArray<{
|
|
105
|
+
x: number;
|
|
106
|
+
z: number;
|
|
107
|
+
}>;
|
|
108
|
+
export declare const ROCK_POOL_FORAGING_LEVEL = 15;
|
|
109
|
+
export declare const ROCK_POOL_REFILL_MS = 60000;
|
|
110
|
+
export declare const SEA_GLASS_KIND = "seaglass";
|
|
111
|
+
export declare const PEARL_KIND = "pearl";
|
|
112
|
+
export declare const ROCK_POOL_FINDS: ReadonlyArray<{
|
|
113
|
+
item: string;
|
|
114
|
+
weight: number;
|
|
115
|
+
xp: number;
|
|
116
|
+
}>;
|
|
117
|
+
/** What Trader Joe pays for them. */
|
|
118
|
+
export declare const SEA_GLASS_PRICE = 25;
|
|
119
|
+
export declare const PEARL_PRICE = 2500;
|
|
120
|
+
/**
|
|
121
|
+
* The conger eel (phase 2): a fixed shore fishing spot on the strand, fished
|
|
122
|
+
* like the sea bass (the Heavy Beach Casting Rod, tackle and a lugworm) at a
|
|
123
|
+
* lower level. The spots are water tiles; the angler stands on the sand beside.
|
|
124
|
+
*/
|
|
125
|
+
export declare const CONGER_SPOTS: ReadonlyArray<{
|
|
126
|
+
x: number;
|
|
127
|
+
z: number;
|
|
128
|
+
}>;
|
|
129
|
+
export declare const CONGER_FISHING_LEVEL = 30;
|
|
130
|
+
export declare const RAW_CONGER_KIND = "rawconger";
|
|
131
|
+
export declare const COOKED_CONGER_KIND = "cookedconger";
|
|
132
|
+
/** A spur of crag across the strand beyond the landing's reach: the rest is kept for later. */
|
|
133
|
+
export declare const SMUGGLERS_STRAND_SPUR: {
|
|
134
|
+
readonly minX: 470;
|
|
135
|
+
readonly maxX: 473;
|
|
136
|
+
};
|
|
137
|
+
export declare const SMUGGLERS_STRAND_ZONE: {
|
|
138
|
+
readonly id: "smugglers-strand";
|
|
139
|
+
readonly label: "Smugglers' Strand";
|
|
140
|
+
readonly minX: 322;
|
|
141
|
+
readonly maxX: 469;
|
|
142
|
+
readonly minZ: number;
|
|
143
|
+
readonly maxZ: number;
|
|
144
|
+
};
|
|
145
|
+
//# sourceMappingURL=smugglersStrand.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"smugglersStrand.d.ts","sourceRoot":"","sources":["../src/smugglersStrand.ts"],"names":[],"mappings":"AAeA,gGAAgG;AAChG,eAAO,MAAM,gBAAgB;;;;;CAA0D,CAAC;AACxF,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAE/D;AAED;;;;GAIG;AACH,eAAO,MAAM,SAAS;;;;CAAmD,CAAC;AAC1E,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAElE;AACD,uHAAuH;AACvH,eAAO,MAAM,qBAAqB;;;CAA8B,CAAC;AACjE,eAAO,MAAM,oBAAoB;;;CAA8B,CAAC;AAEhE,qFAAqF;AACrF,eAAO,MAAM,iBAAiB;;;;;CAA0D,CAAC;AACzF,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAEhE;AACD,uCAAuC;AACvC,eAAO,MAAM,eAAe,EAAE,aAAa,CAAC;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,CAKnE,CAAC;AACF,eAAO,MAAM,cAAc;;;CAA+B,CAAC;AAC3D,eAAO,MAAM,mBAAmB,QAAS,CAAC;AAE1C;;;GAGG;AACH,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAOjB,CAAC;AAEX;;;;GAIG;AACH,eAAO,MAAM,SAAS;;;;CAAoD,CAAC;AAE3E;;;;;GAKG;AACH,eAAO,MAAM,cAAc,aAAa,CAAC;AACzC,eAAO,MAAM,eAAe,eAAe,CAAC;AAC5C,eAAO,MAAM,wBAAwB,uBAAuB,CAAC;AAC7D,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAErE;AACD,eAAO,MAAM,UAAU,EAAE,aAAa,CAAC;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,CAI9D,CAAC;AACF,eAAO,MAAM,wBAAwB,KAAK,CAAC;AAC3C,eAAO,MAAM,mBAAmB,QAAS,CAAC;AAC1C,eAAO,MAAM,cAAc,aAAa,CAAC;AACzC,eAAO,MAAM,UAAU,UAAU,CAAC;AAClC,eAAO,MAAM,eAAe,EAAE,aAAa,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,CAGvF,CAAC;AACF,qCAAqC;AACrC,eAAO,MAAM,eAAe,KAAK,CAAC;AAClC,eAAO,MAAM,WAAW,OAAO,CAAC;AAEhC;;;;GAIG;AACH,eAAO,MAAM,YAAY,EAAE,aAAa,CAAC;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,CAGhE,CAAC;AACF,eAAO,MAAM,oBAAoB,KAAK,CAAC;AACvC,eAAO,MAAM,eAAe,cAAc,CAAC;AAC3C,eAAO,MAAM,kBAAkB,iBAAiB,CAAC;AAEjD,+FAA+F;AAC/F,eAAO,MAAM,qBAAqB;;;CAAoC,CAAC;AAEvE,eAAO,MAAM,qBAAqB;;;;;;;CAOxB,CAAC"}
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The Smugglers' Strand (James, 2026-09-28): the first members' place. Hope
|
|
3
|
+
* Beach runs on east of the rock ridge behind Old Pell as a strand of sand
|
|
4
|
+
* with the cliff to the north and the sea to the south, sealed on foot. The
|
|
5
|
+
* only way in is Pell's Gap, a door through the ridge that opens for members
|
|
6
|
+
* (the plan: backend members-workshop/plan/cove.html).
|
|
7
|
+
*
|
|
8
|
+
* Phase 1 is the gap, the smugglers' landing with their camp, and the
|
|
9
|
+
* smugglers themselves: level SMUGGLER_LEVEL, they rush anyone who comes into
|
|
10
|
+
* the landing and stand up again a while after they fall. The quest (the
|
|
11
|
+
* Marigold's strongbox), the sloop wreck, the rock pools and the sea cave
|
|
12
|
+
* come in later phases.
|
|
13
|
+
*/
|
|
14
|
+
import { toLocalZ } from './constants.js';
|
|
15
|
+
/** The strand members reach through the gap: the ridge on the west, a rock spur on the east. */
|
|
16
|
+
export const SMUGGLERS_STRAND = { minX: 322, maxX: 469, minZ: 859, maxZ: 881 };
|
|
17
|
+
export function inSmugglersStrand(x, z) {
|
|
18
|
+
return x >= SMUGGLERS_STRAND.minX && x <= SMUGGLERS_STRAND.maxX && z >= SMUGGLERS_STRAND.minZ && z <= SMUGGLERS_STRAND.maxZ;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Pell's Gap: a caveentrance drawn from the Blender `pellsgap` model (3
|
|
22
|
+
* across x 5 deep, solid), facing west, a plank door at each end of a cleft
|
|
23
|
+
* through the ridge (x 318-321). It fills x 318-322 on rows z 869-871.
|
|
24
|
+
*/
|
|
25
|
+
export const PELLS_GAP = { x: 320, z: 870, style: 'pellsgap-w' };
|
|
26
|
+
export function isPellsGapStyle(style) {
|
|
27
|
+
return typeof style === 'string' && style.startsWith('pellsgap');
|
|
28
|
+
}
|
|
29
|
+
/** Where a member comes out on the strand, and where anyone leaving (or put out) stands on Hope Beach, beside Pell. */
|
|
30
|
+
export const PELLS_GAP_STRAND_SIDE = { x: 324, z: 870 };
|
|
31
|
+
export const PELLS_GAP_BEACH_SIDE = { x: 316, z: 870 };
|
|
32
|
+
/** The smugglers' landing: their camp, the ground they hold (and rush anyone on). */
|
|
33
|
+
export const SMUGGLERS_LANDING = { minX: 326, maxX: 356, minZ: 861, maxZ: 874 };
|
|
34
|
+
export function inSmugglersLanding(x, z) {
|
|
35
|
+
return x >= SMUGGLERS_LANDING.minX && x <= SMUGGLERS_LANDING.maxX && z >= SMUGGLERS_LANDING.minZ && z <= SMUGGLERS_LANDING.maxZ;
|
|
36
|
+
}
|
|
37
|
+
/** Where each smuggler keeps watch. */
|
|
38
|
+
export const SMUGGLER_SPAWNS = [
|
|
39
|
+
{ x: 335, z: 869 },
|
|
40
|
+
{ x: 343, z: 873 },
|
|
41
|
+
{ x: 351, z: 867 },
|
|
42
|
+
{ x: 355, z: 872 },
|
|
43
|
+
];
|
|
44
|
+
export const SMUGGLER_LEVEL = { min: 8, max: 12 };
|
|
45
|
+
export const SMUGGLER_RESPAWN_MS = 75_000;
|
|
46
|
+
/**
|
|
47
|
+
* The camp at the landing. The lean-to is the Blender `smugglerlean` model
|
|
48
|
+
* (3 x 3, solid, open to the south); the rest are the game's own beach props.
|
|
49
|
+
*/
|
|
50
|
+
export const SMUGGLERS_CAMP = {
|
|
51
|
+
lean: { x: 334, z: 863, style: 'smugglerlean-s' },
|
|
52
|
+
fire: { x: 341, z: 868 },
|
|
53
|
+
boat: { x: 345, z: 879 },
|
|
54
|
+
crates: [{ x: 331, z: 867 }, { x: 332, z: 868 }],
|
|
55
|
+
casks: [{ x: 348, z: 863 }, { x: 349, z: 864 }],
|
|
56
|
+
lantern: { x: 329, z: 871 },
|
|
57
|
+
};
|
|
58
|
+
/**
|
|
59
|
+
* The Kittiwake (phase 2): the smugglers' own sloop, run up the strand east
|
|
60
|
+
* of the landing and stove in on the side facing the beach. The Blender
|
|
61
|
+
* `kittiwake` model, 5 x 3, solid (x 414-418, z 877-879). Phase 3 puts her log in the hold.
|
|
62
|
+
*/
|
|
63
|
+
export const KITTIWAKE = { x: 416, z: 878, style: 'kittiwake-s' };
|
|
64
|
+
/**
|
|
65
|
+
* The strand's rock pools (phase 2), members' foraging: kind `rockpool`,
|
|
66
|
+
* drawn from the Blender `rockpool` model and, once searched, the
|
|
67
|
+
* `rockpoolsearched` one until the tide fills it again. A search gives sea
|
|
68
|
+
* glass, or now and then a pearl (ROCK_POOL_FINDS weights).
|
|
69
|
+
*/
|
|
70
|
+
export const ROCK_POOL_KIND = 'rockpool';
|
|
71
|
+
export const ROCK_POOL_STYLE = 'rockpool-s';
|
|
72
|
+
export const ROCK_POOL_SEARCHED_STYLE = 'rockpoolsearched-s';
|
|
73
|
+
export function isSearchedRockPool(style) {
|
|
74
|
+
return style === ROCK_POOL_SEARCHED_STYLE;
|
|
75
|
+
}
|
|
76
|
+
export const ROCK_POOLS = [
|
|
77
|
+
{ x: 372, z: 877 },
|
|
78
|
+
{ x: 381, z: 875 },
|
|
79
|
+
{ x: 390, z: 878 },
|
|
80
|
+
];
|
|
81
|
+
export const ROCK_POOL_FORAGING_LEVEL = 15;
|
|
82
|
+
export const ROCK_POOL_REFILL_MS = 60_000;
|
|
83
|
+
export const SEA_GLASS_KIND = 'seaglass';
|
|
84
|
+
export const PEARL_KIND = 'pearl';
|
|
85
|
+
export const ROCK_POOL_FINDS = [
|
|
86
|
+
{ item: SEA_GLASS_KIND, weight: 30, xp: 35 },
|
|
87
|
+
{ item: PEARL_KIND, weight: 1, xp: 200 },
|
|
88
|
+
];
|
|
89
|
+
/** What Trader Joe pays for them. */
|
|
90
|
+
export const SEA_GLASS_PRICE = 25;
|
|
91
|
+
export const PEARL_PRICE = 2500;
|
|
92
|
+
/**
|
|
93
|
+
* The conger eel (phase 2): a fixed shore fishing spot on the strand, fished
|
|
94
|
+
* like the sea bass (the Heavy Beach Casting Rod, tackle and a lugworm) at a
|
|
95
|
+
* lower level. The spots are water tiles; the angler stands on the sand beside.
|
|
96
|
+
*/
|
|
97
|
+
export const CONGER_SPOTS = [
|
|
98
|
+
{ x: 397, z: 882 },
|
|
99
|
+
{ x: 406, z: 882 },
|
|
100
|
+
];
|
|
101
|
+
export const CONGER_FISHING_LEVEL = 30;
|
|
102
|
+
export const RAW_CONGER_KIND = 'rawconger';
|
|
103
|
+
export const COOKED_CONGER_KIND = 'cookedconger';
|
|
104
|
+
/** A spur of crag across the strand beyond the landing's reach: the rest is kept for later. */
|
|
105
|
+
export const SMUGGLERS_STRAND_SPUR = { minX: 470, maxX: 473 };
|
|
106
|
+
export const SMUGGLERS_STRAND_ZONE = {
|
|
107
|
+
id: 'smugglers-strand',
|
|
108
|
+
label: "Smugglers' Strand",
|
|
109
|
+
minX: SMUGGLERS_STRAND.minX,
|
|
110
|
+
maxX: SMUGGLERS_STRAND.maxX,
|
|
111
|
+
minZ: toLocalZ(SMUGGLERS_STRAND.minZ),
|
|
112
|
+
maxZ: toLocalZ(SMUGGLERS_STRAND.maxZ),
|
|
113
|
+
};
|
|
114
|
+
//# sourceMappingURL=smugglersStrand.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"smugglersStrand.js","sourceRoot":"","sources":["../src/smugglersStrand.ts"],"names":[],"mappings":"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"}
|