@dreadwood-types/types 0.1.262 → 0.1.264

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.
Files changed (52) hide show
  1. package/dist/attackableNpcs.d.ts.map +1 -1
  2. package/dist/attackableNpcs.js +2 -0
  3. package/dist/attackableNpcs.js.map +1 -1
  4. package/dist/bossSignatures.d.ts +1 -1
  5. package/dist/bossSignatures.d.ts.map +1 -1
  6. package/dist/bossSignatures.js +6 -0
  7. package/dist/bossSignatures.js.map +1 -1
  8. package/dist/campTraders.d.ts.map +1 -1
  9. package/dist/campTraders.js +11 -0
  10. package/dist/campTraders.js.map +1 -1
  11. package/dist/constants.d.ts +2 -0
  12. package/dist/constants.d.ts.map +1 -1
  13. package/dist/constants.js.map +1 -1
  14. package/dist/expandedContracts.d.ts +6 -0
  15. package/dist/expandedContracts.d.ts.map +1 -1
  16. package/dist/expandedContracts.js +6 -1
  17. package/dist/expandedContracts.js.map +1 -1
  18. package/dist/fairFolk.d.ts +5 -1
  19. package/dist/fairFolk.d.ts.map +1 -1
  20. package/dist/fairFolk.js +18 -0
  21. package/dist/fairFolk.js.map +1 -1
  22. package/dist/gullhookHead.d.ts +231 -0
  23. package/dist/gullhookHead.d.ts.map +1 -0
  24. package/dist/gullhookHead.js +244 -0
  25. package/dist/gullhookHead.js.map +1 -0
  26. package/dist/gullhookQuestDef.d.ts +35 -0
  27. package/dist/gullhookQuestDef.d.ts.map +1 -0
  28. package/dist/gullhookQuestDef.js +250 -0
  29. package/dist/gullhookQuestDef.js.map +1 -0
  30. package/dist/index.d.ts +4 -1
  31. package/dist/index.d.ts.map +1 -1
  32. package/dist/index.js +4 -1
  33. package/dist/index.js.map +1 -1
  34. package/dist/landmarks.d.ts.map +1 -1
  35. package/dist/landmarks.js +3 -0
  36. package/dist/landmarks.js.map +1 -1
  37. package/dist/legacy.d.ts +2 -0
  38. package/dist/legacy.d.ts.map +1 -1
  39. package/dist/legacy.js +2 -0
  40. package/dist/legacy.js.map +1 -1
  41. package/dist/longWinter.d.ts +89 -0
  42. package/dist/longWinter.d.ts.map +1 -0
  43. package/dist/longWinter.js +307 -0
  44. package/dist/longWinter.js.map +1 -0
  45. package/dist/quests.d.ts.map +1 -1
  46. package/dist/quests.js +39 -1
  47. package/dist/quests.js.map +1 -1
  48. package/dist/storyQuests.d.ts +2 -1
  49. package/dist/storyQuests.d.ts.map +1 -1
  50. package/dist/storyQuests.js +22 -0
  51. package/dist/storyQuests.js.map +1 -1
  52. package/package.json +2 -2
@@ -0,0 +1,231 @@
1
+ /**
2
+ * GULLHOOK HEAD (Eastern Marches zone B, levels 18-30; design sheet `gullhook-head`, ChatGPT sheet 03 of the Eastern Marches
3
+ * brainstorm; T70 build 2026-10-14; plan `.cursor/task-plans/2026-10-14-t70-gullhook-head.md`). A coastal beacon hamlet on the
4
+ * strip's north-east shore, north of Chalkshell Scarp, where the beacon chain from Windward Signal Field ends: a stone beacon tower
5
+ * on the headland's hill reached by the Cliff Steps (a climb), a working landing of cottages, a salvage market and a cookhouse, a
6
+ * cove with a timber pier (sea fishing), a quarry cut into the north-west rock (coal, iron, one gold seam), rock samphire on the
7
+ * cove's sand, and a second, darker cove to the south-east where wreckers keep a camp round a wrecked hull and a false lantern.
8
+ * Skerrow the Lamp-Snuffer, the wrecker chief, is the headland's boss (a telegraphed Gaff Haul). The sheet is 140 x 90 tiles; the
9
+ * coast box here is 42 x 93, so the layout is turned and compressed (the same approach as the other zone A sites).
10
+ *
11
+ * DECISION (T70): no new strip. The sheet's "new land past the east shore" is the strip's own open north-east coast; the strip has
12
+ * no real sea on its east edge (the world ends at x 925), so the two coves are carved water inside the box. Lantern Isle (the
13
+ * sheet's ferry dock) is a later place. The pieces are stand-ins the kit already has (backend STAND_INS.md, upgrades list).
14
+ *
15
+ * Every number is a WORLD tile (the legacy frame the fair uses: x east, z south). The box is claimed in the program file.
16
+ */
17
+ export type GullhookBox = {
18
+ readonly minX: number;
19
+ readonly maxX: number;
20
+ readonly minZ: number;
21
+ readonly maxZ: number;
22
+ };
23
+ export type GullhookPiece = {
24
+ readonly id: string;
25
+ readonly model: string;
26
+ readonly facing: 'n' | 's' | 'e' | 'w';
27
+ readonly x: number;
28
+ readonly z: number;
29
+ readonly scale?: number;
30
+ };
31
+ export type GullhookQuestProp = {
32
+ readonly id: string;
33
+ readonly x: number;
34
+ readonly z: number;
35
+ readonly style: string;
36
+ };
37
+ export type GullhookPlateau = {
38
+ readonly id: string;
39
+ readonly rect: GullhookBox;
40
+ readonly height: number;
41
+ readonly stone?: boolean;
42
+ };
43
+ export type GullhookPath = {
44
+ readonly w: number;
45
+ readonly pts: readonly (readonly [number, number])[];
46
+ readonly stone?: boolean;
47
+ };
48
+ export declare const GULLHOOK_NAME = "Gullhook Head";
49
+ export declare const GULLHOOK_ID = "gullhook-head";
50
+ /** The claimed ground: the strip's north-east coast, north of Chalkshell Scarp (z 494), the world's edge at x 925. */
51
+ export declare const GULLHOOK_BOX: GullhookBox;
52
+ export declare const GULLHOOK_EASE = 3;
53
+ /** The levelled places: the beacon hilltop, the hamlet's landing, the quarry's floor (sunk, stone), the wreckers' camp. */
54
+ export declare const GULLHOOK_PLATEAUS: readonly GullhookPlateau[];
55
+ /**
56
+ * The two coves are carved water (the strip has no sea on this edge): an ellipse each, lowered to WATER_DROP below the ground round
57
+ * it. The pier cove (north) is the fishing water; the wreckers' cove (south-east) holds the wrecked hull on its north shore.
58
+ */
59
+ export type GullhookCove = {
60
+ readonly id: string;
61
+ readonly cx: number;
62
+ readonly cz: number;
63
+ readonly rx: number;
64
+ readonly rz: number;
65
+ };
66
+ export declare const GULLHOOK_COVES: readonly GullhookCove[];
67
+ export declare const GULLHOOK_WATER_DROP = 1.2;
68
+ export declare function gullhookCoveAt(x: number, z: number): GullhookCove | null;
69
+ /** The pier: Boards over the pier cove, two tiles wide, from the shore at x 903 to its end at x 919. */
70
+ export declare const GULLHOOK_PIER: {
71
+ readonly minX: 903;
72
+ readonly maxX: 919;
73
+ readonly minZ: 441;
74
+ readonly maxZ: 442;
75
+ readonly height: 0.9;
76
+ };
77
+ /** Sand along the pier cove's shore (rock samphire needs sand at the water's edge): the south and north rims, one tile wide beside the water. */
78
+ export declare const GULLHOOK_SAND: readonly GullhookBox[];
79
+ export declare const GULLHOOK_STANDS: {
80
+ /** Where the track from Chalkshell Scarp comes in, at the south edge. */
81
+ readonly gate: {
82
+ readonly x: 897;
83
+ readonly z: 489;
84
+ };
85
+ /** The landing: the salvage market and the cookhouse. */
86
+ readonly landing: {
87
+ readonly x: 896;
88
+ readonly z: 455;
89
+ };
90
+ /** The foot of the Cliff Steps, by the lamplighter's cottage. */
91
+ readonly stairFoot: {
92
+ readonly x: 895;
93
+ readonly z: 446;
94
+ };
95
+ /** The beacon tower's hilltop. */
96
+ readonly beacon: {
97
+ readonly x: 897;
98
+ readonly z: 420;
99
+ };
100
+ /** The pier's root. */
101
+ readonly pier: {
102
+ readonly x: 904;
103
+ readonly z: 442;
104
+ };
105
+ /** The quarry's rim. */
106
+ readonly quarry: {
107
+ readonly x: 890;
108
+ readonly z: 410;
109
+ };
110
+ /** The wreckers' camp. */
111
+ readonly camp: {
112
+ readonly x: 906;
113
+ readonly z: 478;
114
+ };
115
+ /** The wreck on the dark cove's shore. */
116
+ readonly wreck: {
117
+ readonly x: 917;
118
+ readonly z: 469;
119
+ };
120
+ /** Skerrow's stand, at the false lantern on the southern point. */
121
+ readonly skerrow: {
122
+ readonly x: 914;
123
+ readonly z: 485;
124
+ };
125
+ };
126
+ /** The tracks: from Chalkshell Scarp up the coast to the landing, the west road, to the pier, the Cliff Steps (stone), the quarry branch, the camp track. */
127
+ export declare const GULLHOOK_PATHS: readonly GullhookPath[];
128
+ export declare const GULLHOOK_PIECES: readonly GullhookPiece[];
129
+ /** Fence runs: rails round the quarry's cut (the plain `fence` kind), a landing rail above the pier cove. */
130
+ export declare const GULLHOOK_FENCES: readonly {
131
+ readonly id: string;
132
+ readonly x0: number;
133
+ readonly z0: number;
134
+ readonly x1: number;
135
+ readonly z1: number;
136
+ }[];
137
+ /** The quarry's seams (ORE_ROCK_KIND) along the cut's north and east faces: two coal, two iron and one gold seam (Mining 30). */
138
+ export declare const GULLHOOK_SEAMS: ReadonlyArray<{
139
+ id: string;
140
+ x: number;
141
+ z: number;
142
+ style: 'coal' | 'iron' | 'gold';
143
+ }>;
144
+ /** Rock samphire on the cove's sand (types potionMaking.ts samphire, Foraging 24): the cliff-and-shore forage. Placed by the backend on the nearest sand tile. */
145
+ export declare const GULLHOOK_SAMPHIRE_SPOTS: ReadonlyArray<{
146
+ x: number;
147
+ z: number;
148
+ }>;
149
+ /** The sea fishing: tide snapper spots off the pier's two sides, conger at its end (the existing fish; Fishing 14 and 30). */
150
+ export declare const GULLHOOK_TIDE_SNAPPER_SPOTS: ReadonlyArray<{
151
+ x: number;
152
+ z: number;
153
+ }>;
154
+ export declare const GULLHOOK_CONGER_SPOTS: ReadonlyArray<{
155
+ x: number;
156
+ z: number;
157
+ }>;
158
+ export declare const GH_PROP: {
159
+ readonly flotsam: "ghflot";
160
+ readonly cargo: "ghcargo";
161
+ readonly climb: "ghclimb";
162
+ readonly lamp: "ghlamp";
163
+ readonly falseLight: "ghfalse";
164
+ };
165
+ /** Lost on the Tide: three pieces of the boatwright's skiff washed up along the cove's south shore. */
166
+ export declare const GH_FLOT_OAR: GullhookQuestProp;
167
+ export declare const GH_FLOT_NET: GullhookQuestProp;
168
+ export declare const GH_FLOT_PLANK: GullhookQuestProp;
169
+ /** Salvage Rights: three crates of marked cargo round the wreck. */
170
+ export declare const GH_CARGO_A: GullhookQuestProp;
171
+ export declare const GH_CARGO_B: GullhookQuestProp;
172
+ export declare const GH_CARGO_C: GullhookQuestProp;
173
+ /** The Beacon Stair: four rope anchors, one by each landing, to touch from the foot to the top in order. */
174
+ export declare const GH_CLIMB_1: GullhookQuestProp;
175
+ export declare const GH_CLIMB_2: GullhookQuestProp;
176
+ export declare const GH_CLIMB_3: GullhookQuestProp;
177
+ export declare const GH_CLIMB_4: GullhookQuestProp;
178
+ export declare const GH_CLIMB_ORDER: readonly string[];
179
+ /** The beacon lamp at the tower's foot, and the wreckers' false lantern on the southern point. */
180
+ export declare const GH_LAMP: GullhookQuestProp;
181
+ export declare const GH_FALSE_LIGHT: GullhookQuestProp;
182
+ export declare const GULLHOOK_QUEST_PROPS: readonly GullhookQuestProp[];
183
+ /** The model a Gullhook quest prop draws with (CAPITAL_BUILDING_MODELS), or null for a prop that is not one of them. */
184
+ export declare function gullhookPropModel(prop: string): string | null;
185
+ export declare const GULLHOOK_QUEST_PROP_NAMES: Readonly<Record<string, string>>;
186
+ export declare const GULLHOOK_SIGNS: readonly {
187
+ readonly id: string;
188
+ readonly x: number;
189
+ readonly z: number;
190
+ readonly style: string;
191
+ }[];
192
+ export declare const SKERROW_KIND = "skerrow";
193
+ export declare const SKERROW_NAME = "Skerrow the Lamp-Snuffer";
194
+ export declare const SKERROW_LEVEL = 30;
195
+ export declare const SKERROW_HEALTH_SCALE = 1.7;
196
+ export declare const SKERROW_MAX_HIT = 17;
197
+ export declare const SKERROW_SCALE = 1;
198
+ export declare const SKERROW_RESPAWN_MS: number;
199
+ export declare const SKERROW_NOTE = "The wrecker chief of Gullhook, who snuffed the beacon and lit a false lantern on the southern point to put ships on the rocks. His Gaff Haul is announced a full turn ahead: step out of the boat hook's reach and the blow misses. Passive until struck.";
200
+ export declare const SKERROW_SPAWN: {
201
+ readonly x: 914;
202
+ readonly z: 485;
203
+ readonly leash: 4;
204
+ };
205
+ /** The existing hostile kinds the headland uses, with the area line the guide gives each. */
206
+ export declare const GULLHOOK_EXISTING_KINDS: readonly ["greencrab", "cutthroat", "drowneddeckhand"];
207
+ export type GullhookExistingKind = (typeof GULLHOOK_EXISTING_KINDS)[number];
208
+ export type GullhookWildlifeSpot = {
209
+ readonly kind: GullhookExistingKind | typeof SKERROW_KIND;
210
+ readonly x: number;
211
+ readonly z: number;
212
+ readonly leash: number;
213
+ };
214
+ export declare const GULLHOOK_WILDLIFE_SPOTS: readonly GullhookWildlifeSpot[];
215
+ export declare const GULLHOOK_PACE: {
216
+ speed: number;
217
+ idleChance: number;
218
+ pause: readonly [3, 8];
219
+ };
220
+ /** What Skerrow leaves (existing goods only): coins, shell, coal and iron. */
221
+ export declare const GULLHOOK_DROPS: Readonly<Record<typeof SKERROW_KIND, readonly {
222
+ itemKind: string;
223
+ chance: number;
224
+ minQty: number;
225
+ maxQty: number;
226
+ }[]>>;
227
+ /** The Salvage-Master's counter (backend world.ts NAMED_SHOPKEEPERS): rods and line for the pier, and what the shore gives up, bought back at the other traders' prices. */
228
+ export declare const SALVAGE_SHOP_TITLE = "Ketty's Salvage Counter";
229
+ /** Where the quest helper and the guide say the headland is. */
230
+ export declare const GULLHOOK_PLACE_TEXT = "Gullhook Head is the beacon headland on the north-east shore, north of Chalkshell Scarp: follow the track north out of Chalkshell Scarp's burrow field along the coast to the landing under the stone beacon tower.";
231
+ //# sourceMappingURL=gullhookHead.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gullhookHead.d.ts","sourceRoot":"","sources":["../src/gullhookHead.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,244 @@
1
+ export const GULLHOOK_NAME = 'Gullhook Head';
2
+ export const GULLHOOK_ID = 'gullhook-head';
3
+ /** The claimed ground: the strip's north-east coast, north of Chalkshell Scarp (z 494), the world's edge at x 925. */
4
+ export const GULLHOOK_BOX = { minX: 884, maxX: 925, minZ: 398, maxZ: 490 };
5
+ export const GULLHOOK_EASE = 3;
6
+ /** The levelled places: the beacon hilltop, the hamlet's landing, the quarry's floor (sunk, stone), the wreckers' camp. */
7
+ export const GULLHOOK_PLATEAUS = [
8
+ { id: 'beacon', rect: { minX: 894, maxX: 900, minZ: 412, maxZ: 418 }, height: 6 },
9
+ { id: 'landing', rect: { minX: 889, maxX: 903, minZ: 449, maxZ: 463 }, height: 3 },
10
+ { id: 'quarry', rect: { minX: 887, maxX: 893, minZ: 402, maxZ: 408 }, height: 2, stone: true },
11
+ { id: 'camp', rect: { minX: 903, maxX: 911, minZ: 474, maxZ: 484 }, height: 3 },
12
+ ];
13
+ export const GULLHOOK_COVES = [
14
+ { id: 'pier-cove', cx: 914, cz: 442, rx: 8.5, rz: 6 },
15
+ { id: 'wreck-cove', cx: 917, cz: 478, rx: 5.5, rz: 4.5 },
16
+ ];
17
+ export const GULLHOOK_WATER_DROP = 1.2;
18
+ export function gullhookCoveAt(x, z) {
19
+ for (const c of GULLHOOK_COVES) {
20
+ const dx = (x - c.cx) / c.rx;
21
+ const dz = (z - c.cz) / c.rz;
22
+ if (dx * dx + dz * dz <= 1)
23
+ return c;
24
+ }
25
+ return null;
26
+ }
27
+ /** The pier: Boards over the pier cove, two tiles wide, from the shore at x 903 to its end at x 919. */
28
+ export const GULLHOOK_PIER = { minX: 903, maxX: 919, minZ: 441, maxZ: 442, height: 0.9 };
29
+ /** Sand along the pier cove's shore (rock samphire needs sand at the water's edge): the south and north rims, one tile wide beside the water. */
30
+ export const GULLHOOK_SAND = [
31
+ { minX: 906, maxX: 922, minZ: 449, maxZ: 450 },
32
+ { minX: 906, maxX: 922, minZ: 434, maxZ: 435 },
33
+ ];
34
+ export const GULLHOOK_STANDS = {
35
+ /** Where the track from Chalkshell Scarp comes in, at the south edge. */
36
+ gate: { x: 897, z: 489 },
37
+ /** The landing: the salvage market and the cookhouse. */
38
+ landing: { x: 896, z: 455 },
39
+ /** The foot of the Cliff Steps, by the lamplighter's cottage. */
40
+ stairFoot: { x: 895, z: 446 },
41
+ /** The beacon tower's hilltop. */
42
+ beacon: { x: 897, z: 420 },
43
+ /** The pier's root. */
44
+ pier: { x: 904, z: 442 },
45
+ /** The quarry's rim. */
46
+ quarry: { x: 890, z: 410 },
47
+ /** The wreckers' camp. */
48
+ camp: { x: 906, z: 478 },
49
+ /** The wreck on the dark cove's shore. */
50
+ wreck: { x: 917, z: 469 },
51
+ /** Skerrow's stand, at the false lantern on the southern point. */
52
+ skerrow: { x: 914, z: 485 },
53
+ };
54
+ /** The tracks: from Chalkshell Scarp up the coast to the landing, the west road, to the pier, the Cliff Steps (stone), the quarry branch, the camp track. */
55
+ export const GULLHOOK_PATHS = [
56
+ { w: 2, pts: [[897, 490], [897, 486], [899, 480], [899, 472], [897, 466], [896, 461], [895, 456]] },
57
+ { w: 2, pts: [[884, 457], [888, 457], [892, 457], [895, 457]] },
58
+ { w: 2, pts: [[899, 454], [901, 448], [903, 444], [905, 442]] },
59
+ { w: 2, pts: [[895, 447], [894, 440], [893, 436], [894, 432], [896, 428], [896, 424], [897, 421]], stone: true },
60
+ { w: 2, pts: [[893, 436], [889, 432], [887, 424], [887, 416], [888, 410], [889, 407]] },
61
+ { w: 2, pts: [[899, 466], [903, 470], [906, 474], [908, 478], [911, 481], [913, 484]] },
62
+ ];
63
+ export const GULLHOOK_PIECES = [
64
+ // The beacon tower on the hilltop (the Lantern Wake tower as a stand-in), two braziers at its foot.
65
+ { id: 'gh-tower', model: 'lwbeacontower', facing: 's', x: 897, z: 415 },
66
+ { id: 'gh-brazier-w', model: 'evwatchbrazier', facing: 's', x: 894, z: 419 },
67
+ { id: 'gh-brazier-e', model: 'evwatchbrazier', facing: 's', x: 900, z: 419 },
68
+ // The Cliff Steps: a flight at each of the four landings.
69
+ { id: 'gh-steps-1', model: 'fortrooksteps', facing: 'n', x: 894, z: 439 },
70
+ { id: 'gh-steps-2', model: 'fortrooksteps', facing: 'n', x: 893, z: 433 },
71
+ { id: 'gh-steps-3', model: 'fortrooksteps', facing: 'n', x: 895, z: 428 },
72
+ { id: 'gh-steps-4', model: 'fortrooksteps', facing: 'n', x: 896, z: 423 },
73
+ // The lamplighter's cottage at the stair foot.
74
+ { id: 'gh-lampcottage', model: 'shorehut', facing: 's', x: 891, z: 445 },
75
+ // The landing: two cottages, the salvage market's two stalls, the cookhouse and its oven, lanterns.
76
+ { id: 'gh-cottage-1', model: 'bchouse', facing: 'e', x: 892, z: 452 },
77
+ { id: 'gh-cottage-2', model: 'shorehut', facing: 's', x: 891, z: 460 },
78
+ { id: 'gh-stall-1', model: 'fairstallblue', facing: 's', x: 897, z: 453 },
79
+ { id: 'gh-stall-2', model: 'fairstallred', facing: 's', x: 901, z: 454 },
80
+ { id: 'gh-cookhouse', model: 'towncookhouse5x3', facing: 's', x: 899, z: 461 },
81
+ { id: 'gh-oven', model: 'clayoven', facing: 's', x: 895, z: 461 },
82
+ { id: 'gh-crates', model: 'evstorecrates', facing: 's', x: 899, z: 450 },
83
+ // The pier cove: the boathouse on the north shore, tackle and a net frame at the pier's root, boats on the sand.
84
+ { id: 'gh-boathouse', model: 'suppliesshed', facing: 'e', x: 902, z: 436 },
85
+ { id: 'gh-tackle', model: 'tacklecrate', facing: 's', x: 904, z: 439 },
86
+ { id: 'gh-fishrack', model: 'blackwakefishrack', facing: 's', x: 905, z: 445 },
87
+ { id: 'gh-netframe', model: 'blackwakenetframe', facing: 's', x: 900, z: 444 },
88
+ { id: 'gh-rowboat', model: 'hbrowboat', facing: 's', x: 907, z: 451 },
89
+ // The quarry's cut: its ladder, spoil, an ore cart and the tool rack.
90
+ { id: 'gh-q-ladder', model: 'evladder', facing: 's', x: 889, z: 404 },
91
+ { id: 'gh-q-spoil-1', model: 'evspoilpile', facing: 's', x: 886, z: 408 },
92
+ { id: 'gh-q-spoil-2', model: 'evspoilpile', facing: 's', x: 894, z: 405 },
93
+ { id: 'gh-q-cart', model: 'dhorecart', facing: 'e', x: 891, z: 408 },
94
+ { id: 'gh-q-rack', model: 'evtoolrack', facing: 's', x: 893, z: 408 },
95
+ // The wreckers' camp: stores, a fire, a rack, a bench and a net heap; the wrecked hull on the dark cove's north shore.
96
+ { id: 'gh-w-crates', model: 'evstorecrates', facing: 's', x: 906, z: 476 },
97
+ { id: 'gh-w-barrels', model: 'evstorebarrels', facing: 's', x: 909, z: 477 },
98
+ { id: 'gh-w-rack', model: 'meatrack', facing: 's', x: 905, z: 481 },
99
+ { id: 'gh-w-bench', model: 'foldingbench', facing: 's', x: 908, z: 482 },
100
+ { id: 'gh-w-fire', model: 'evwatchbrazierlit', facing: 's', x: 906, z: 479 },
101
+ { id: 'gh-w-nets', model: 'evnetheap', facing: 's', x: 910, z: 480 },
102
+ { id: 'gh-w-hull', model: 'wreckhull', facing: 'w', x: 919, z: 468 },
103
+ { id: 'gh-w-boat', model: 'wreckedboat', facing: 's', x: 913, z: 471 },
104
+ ];
105
+ /** Fence runs: rails round the quarry's cut (the plain `fence` kind), a landing rail above the pier cove. */
106
+ export const GULLHOOK_FENCES = [
107
+ { id: 'gh-fence-q-n', x0: 886, z0: 401, x1: 894, z1: 401 },
108
+ { id: 'gh-fence-q-e', x0: 895, z0: 402, x1: 895, z1: 409 },
109
+ { id: 'gh-fence-landing', x0: 889, z0: 448, x1: 903, z1: 448 },
110
+ ];
111
+ /** The quarry's seams (ORE_ROCK_KIND) along the cut's north and east faces: two coal, two iron and one gold seam (Mining 30). */
112
+ export const GULLHOOK_SEAMS = [
113
+ { id: 'gh-seam-coal-1', x: 888, z: 400, style: 'coal' },
114
+ { id: 'gh-seam-iron-1', x: 890, z: 400, style: 'iron' },
115
+ { id: 'gh-seam-coal-2', x: 892, z: 400, style: 'coal' },
116
+ { id: 'gh-seam-iron-2', x: 896, z: 404, style: 'iron' },
117
+ { id: 'gh-seam-gold-1', x: 896, z: 407, style: 'gold' },
118
+ ];
119
+ /** Rock samphire on the cove's sand (types potionMaking.ts samphire, Foraging 24): the cliff-and-shore forage. Placed by the backend on the nearest sand tile. */
120
+ export const GULLHOOK_SAMPHIRE_SPOTS = [
121
+ { x: 908, z: 449 },
122
+ { x: 912, z: 449 },
123
+ { x: 916, z: 450 },
124
+ { x: 920, z: 449 },
125
+ { x: 909, z: 435 },
126
+ { x: 915, z: 434 },
127
+ ];
128
+ /** The sea fishing: tide snapper spots off the pier's two sides, conger at its end (the existing fish; Fishing 14 and 30). */
129
+ export const GULLHOOK_TIDE_SNAPPER_SPOTS = [
130
+ { x: 909, z: 444 },
131
+ { x: 913, z: 444 },
132
+ { x: 916, z: 438 },
133
+ ];
134
+ export const GULLHOOK_CONGER_SPOTS = [
135
+ { x: 921, z: 441 },
136
+ { x: 921, z: 443 },
137
+ ];
138
+ // ---- Quest props -------------------------------------------------------------------------------------------------------------------------
139
+ export const GH_PROP = { flotsam: 'ghflot', cargo: 'ghcargo', climb: 'ghclimb', lamp: 'ghlamp', falseLight: 'ghfalse' };
140
+ /** Lost on the Tide: three pieces of the boatwright's skiff washed up along the cove's south shore. */
141
+ export const GH_FLOT_OAR = { id: 'gh-quest-flot-oar', x: 906, z: 452, style: `${GH_PROP.flotsam}:oar` };
142
+ export const GH_FLOT_NET = { id: 'gh-quest-flot-net', x: 912, z: 451, style: `${GH_PROP.flotsam}:net` };
143
+ export const GH_FLOT_PLANK = { id: 'gh-quest-flot-plank', x: 918, z: 451, style: `${GH_PROP.flotsam}:plank` };
144
+ /** Salvage Rights: three crates of marked cargo round the wreck. */
145
+ export const GH_CARGO_A = { id: 'gh-quest-cargo-a', x: 915, z: 467, style: `${GH_PROP.cargo}:a` };
146
+ export const GH_CARGO_B = { id: 'gh-quest-cargo-b', x: 921, z: 466, style: `${GH_PROP.cargo}:b` };
147
+ export const GH_CARGO_C = { id: 'gh-quest-cargo-c', x: 922, z: 470, style: `${GH_PROP.cargo}:c` };
148
+ /** The Beacon Stair: four rope anchors, one by each landing, to touch from the foot to the top in order. */
149
+ export const GH_CLIMB_1 = { id: 'gh-quest-climb-1', x: 896, z: 441, style: `${GH_PROP.climb}:1` };
150
+ export const GH_CLIMB_2 = { id: 'gh-quest-climb-2', x: 895, z: 435, style: `${GH_PROP.climb}:2` };
151
+ export const GH_CLIMB_3 = { id: 'gh-quest-climb-3', x: 897, z: 430, style: `${GH_PROP.climb}:3` };
152
+ export const GH_CLIMB_4 = { id: 'gh-quest-climb-4', x: 898, z: 425, style: `${GH_PROP.climb}:4` };
153
+ export const GH_CLIMB_ORDER = [GH_CLIMB_1.style, GH_CLIMB_2.style, GH_CLIMB_3.style, GH_CLIMB_4.style];
154
+ /** The beacon lamp at the tower's foot, and the wreckers' false lantern on the southern point. */
155
+ export const GH_LAMP = { id: 'gh-quest-lamp', x: 897, z: 419, style: `${GH_PROP.lamp}:beacon` };
156
+ export const GH_FALSE_LIGHT = { id: 'gh-quest-false', x: 913, z: 486, style: `${GH_PROP.falseLight}:lantern` };
157
+ export const GULLHOOK_QUEST_PROPS = [
158
+ GH_FLOT_OAR, GH_FLOT_NET, GH_FLOT_PLANK, GH_CARGO_A, GH_CARGO_B, GH_CARGO_C, GH_CLIMB_1, GH_CLIMB_2, GH_CLIMB_3, GH_CLIMB_4, GH_LAMP, GH_FALSE_LIGHT,
159
+ ];
160
+ /** The model a Gullhook quest prop draws with (CAPITAL_BUILDING_MODELS), or null for a prop that is not one of them. */
161
+ export function gullhookPropModel(prop) {
162
+ if (prop === GH_PROP.flotsam)
163
+ return 'wreckedboat';
164
+ if (prop === GH_PROP.cargo)
165
+ return 'evstorecrates';
166
+ if (prop === GH_PROP.climb)
167
+ return 'lwropepost';
168
+ if (prop === GH_PROP.lamp)
169
+ return 'questlantern';
170
+ if (prop === GH_PROP.falseLight)
171
+ return 'westlantern';
172
+ return null;
173
+ }
174
+ export const GULLHOOK_QUEST_PROP_NAMES = {
175
+ [GH_FLOT_OAR.style]: 'Washed-Up Oar',
176
+ [GH_FLOT_NET.style]: 'Tangled Net',
177
+ [GH_FLOT_PLANK.style]: 'Skiff Plank',
178
+ [GH_CARGO_A.style]: 'Marked Cargo Crate',
179
+ [GH_CARGO_B.style]: 'Marked Cargo Crate',
180
+ [GH_CARGO_C.style]: 'Marked Cargo Crate',
181
+ [GH_CLIMB_1.style]: 'Rope Anchor (lower stair)',
182
+ [GH_CLIMB_2.style]: 'Rope Anchor (first ledge)',
183
+ [GH_CLIMB_3.style]: 'Rope Anchor (second ledge)',
184
+ [GH_CLIMB_4.style]: 'Rope Anchor (top stair)',
185
+ [GH_LAMP.style]: 'Beacon Lamp',
186
+ [GH_FALSE_LIGHT.style]: 'False Lantern',
187
+ };
188
+ export const GULLHOOK_SIGNS = [
189
+ { id: 'gh-sign-gate', x: 899, z: 488, style: 'fingerpost-Gullhook Head|Chalkshell Scarp' },
190
+ { id: 'gh-sign-landing', x: 894, z: 457, style: 'fingerpost-The Beacon Stair|The Pier|The Quarry|Wreckers\' Cove' },
191
+ { id: 'gh-sign-west', x: 887, z: 453, style: 'fingerpost-Gullhook Head|The Eastern Marches road' },
192
+ { id: 'gh-sign-wreck', x: 902, z: 471, style: 'placard-Wreckers\' Cove: wreckers (Combat 20+), the wreck-lord (Combat 28+)' },
193
+ { id: 'gh-sign-stair', x: 893, z: 444, style: 'placard-The Beacon Stair: climb with care' },
194
+ ];
195
+ // ---- The wildlife (levels 18-30): shore crabs, wreckers and the drowned crew on existing kinds; Skerrow is the new kind --------------------
196
+ export const SKERROW_KIND = 'skerrow';
197
+ export const SKERROW_NAME = 'Skerrow the Lamp-Snuffer';
198
+ export const SKERROW_LEVEL = 30;
199
+ export const SKERROW_HEALTH_SCALE = 1.7;
200
+ export const SKERROW_MAX_HIT = 17;
201
+ export const SKERROW_SCALE = 1.0;
202
+ export const SKERROW_RESPAWN_MS = 6 * 60_000;
203
+ export const SKERROW_NOTE = 'The wrecker chief of Gullhook, who snuffed the beacon and lit a false lantern on the southern point to put ships on the rocks. His Gaff Haul is announced a full turn ahead: step out of the boat hook\'s reach and the blow misses. Passive until struck.';
204
+ export const SKERROW_SPAWN = { x: 914, z: 485, leash: 4 };
205
+ /** The existing hostile kinds the headland uses, with the area line the guide gives each. */
206
+ export const GULLHOOK_EXISTING_KINDS = ['greencrab', 'cutthroat', 'drowneddeckhand'];
207
+ export const GULLHOOK_WILDLIFE_SPOTS = [
208
+ // Shore crabs along the rocks of the pier cove's south shore and the east edge.
209
+ { kind: 'greencrab', x: 908, z: 452, leash: 3 },
210
+ { kind: 'greencrab', x: 911, z: 452, leash: 3 },
211
+ { kind: 'greencrab', x: 915, z: 452, leash: 3 },
212
+ { kind: 'greencrab', x: 919, z: 452, leash: 3 },
213
+ { kind: 'greencrab', x: 922, z: 456, leash: 3 },
214
+ { kind: 'greencrab', x: 921, z: 461, leash: 3 },
215
+ { kind: 'greencrab', x: 911, z: 433, leash: 3 },
216
+ { kind: 'greencrab', x: 918, z: 433, leash: 3 },
217
+ // The wreckers' camp: cutthroats.
218
+ { kind: 'cutthroat', x: 906, z: 477, leash: 3 },
219
+ { kind: 'cutthroat', x: 908, z: 480, leash: 3 },
220
+ { kind: 'cutthroat', x: 905, z: 483, leash: 3 },
221
+ { kind: 'cutthroat', x: 910, z: 482, leash: 3 },
222
+ { kind: 'cutthroat', x: 912, z: 478, leash: 3 },
223
+ // The drowned crew round the wrecked hull and the dark cove's shore.
224
+ { kind: 'drowneddeckhand', x: 917, z: 470, leash: 3 },
225
+ { kind: 'drowneddeckhand', x: 922, z: 473, leash: 3 },
226
+ { kind: 'drowneddeckhand', x: 911, z: 472, leash: 3 },
227
+ // The boss, at the false lantern on the southern point.
228
+ { kind: 'skerrow', x: SKERROW_SPAWN.x, z: SKERROW_SPAWN.z, leash: SKERROW_SPAWN.leash },
229
+ ];
230
+ export const GULLHOOK_PACE = { speed: 1.2, idleChance: 0.5, pause: [3, 8] };
231
+ /** What Skerrow leaves (existing goods only): coins, shell, coal and iron. */
232
+ export const GULLHOOK_DROPS = {
233
+ skerrow: [
234
+ { itemKind: 'coins', chance: 1, minQty: 450, maxQty: 800 },
235
+ { itemKind: 'seashell', chance: 1, minQty: 3, maxQty: 5 },
236
+ { itemKind: 'coal', chance: 0.8, minQty: 3, maxQty: 6 },
237
+ { itemKind: 'iron', chance: 0.5, minQty: 1, maxQty: 3 },
238
+ ],
239
+ };
240
+ /** The Salvage-Master's counter (backend world.ts NAMED_SHOPKEEPERS): rods and line for the pier, and what the shore gives up, bought back at the other traders' prices. */
241
+ export const SALVAGE_SHOP_TITLE = "Ketty's Salvage Counter";
242
+ /** Where the quest helper and the guide say the headland is. */
243
+ export const GULLHOOK_PLACE_TEXT = "Gullhook Head is the beacon headland on the north-east shore, north of Chalkshell Scarp: follow the track north out of Chalkshell Scarp's burrow field along the coast to the landing under the stone beacon tower.";
244
+ //# sourceMappingURL=gullhookHead.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gullhookHead.js","sourceRoot":"","sources":["../src/gullhookHead.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,35 @@
1
+ /**
2
+ * The five Gullhook Head quests (T70, 2026-10-14; gullhookHead.ts): The Light at Gullhook (given by Mastkeeper Edda Rime at Windward
3
+ * Signal Field, the end of the beacon chain: it needs Bell for the Beacon), Lost on the Tide (Boatwright Corran Sund), Salvage Rights
4
+ * (Salvage-Master Ketty Brine), The Beacon Stair (Lamplighter Odo Thrale: the climb set piece, an ordered touch of four rope anchors
5
+ * up the Cliff Steps, then the beacon lamp) and The Lamp-Snuffer (Odo again: dowse the wreckers' false lantern and put down Skerrow,
6
+ * whose Gaff Haul is told a full turn ahead and dodged by stepping clear). Kept in their own file and entered in storyQuests.ts
7
+ * STORY_QUESTS as five lines, like windwardChalkshellQuestDef.ts. Types only from storyQuests.ts (no runtime import, so no cycle).
8
+ * Rewards are placeholders for the balance pass (James, 2026-10-12: balance last).
9
+ */
10
+ import type { StoryQuestDef, StoryNpcRef } from './storyQuests.js';
11
+ export declare const ODO_THRALE: StoryNpcRef;
12
+ export declare const KETTY_BRINE: StoryNpcRef;
13
+ export declare const CORRAN_SUND: StoryNpcRef;
14
+ export declare const LIGHT_AT_GULLHOOK_COMBAT_LEVEL = 24;
15
+ export declare const LOST_ON_THE_TIDE_COMBAT_LEVEL = 20;
16
+ export declare const SALVAGE_RIGHTS_COMBAT_LEVEL = 24;
17
+ export declare const BEACON_STAIR_COMBAT_LEVEL = 26;
18
+ export declare const LAMP_SNUFFER_COMBAT_LEVEL = 28;
19
+ /** The coal the beacon's fire wants (from Chalkshell Scarp's seams or this quarry), the pine for the skiff, the wreckers to put down. */
20
+ export declare const LIGHT_AT_GULLHOOK_COAL = 6;
21
+ export declare const LOST_ON_THE_TIDE_PINE = 6;
22
+ export declare const SALVAGE_RIGHTS_WRECKERS = 5;
23
+ /** Where "arriving at Gullhook" counts: the landing, world tiles inclusive. */
24
+ export declare const GULLHOOK_LANDING_AREA: {
25
+ readonly minX: 888;
26
+ readonly maxX: 904;
27
+ readonly minZ: 446;
28
+ readonly maxZ: 463;
29
+ };
30
+ export declare const LIGHT_AT_GULLHOOK_QUEST: StoryQuestDef;
31
+ export declare const LOST_ON_THE_TIDE_QUEST: StoryQuestDef;
32
+ export declare const SALVAGE_RIGHTS_QUEST: StoryQuestDef;
33
+ export declare const BEACON_STAIR_QUEST: StoryQuestDef;
34
+ export declare const LAMP_SNUFFER_QUEST: StoryQuestDef;
35
+ //# sourceMappingURL=gullhookQuestDef.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gullhookQuestDef.d.ts","sourceRoot":"","sources":["../src/gullhookQuestDef.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAQnE,eAAO,MAAM,UAAU,EAAE,WAAqE,CAAC;AAC/F,eAAO,MAAM,WAAW,EAAE,WAAuE,CAAC;AAClG,eAAO,MAAM,WAAW,EAAE,WAAoE,CAAC;AAE/F,eAAO,MAAM,8BAA8B,KAAK,CAAC;AACjD,eAAO,MAAM,6BAA6B,KAAK,CAAC;AAChD,eAAO,MAAM,2BAA2B,KAAK,CAAC;AAC9C,eAAO,MAAM,yBAAyB,KAAK,CAAC;AAC5C,eAAO,MAAM,yBAAyB,KAAK,CAAC;AAC5C,yIAAyI;AACzI,eAAO,MAAM,sBAAsB,IAAI,CAAC;AACxC,eAAO,MAAM,qBAAqB,IAAI,CAAC;AACvC,eAAO,MAAM,uBAAuB,IAAI,CAAC;AACzC,+EAA+E;AAC/E,eAAO,MAAM,qBAAqB;;;;;CAA0D,CAAC;AAI7F,eAAO,MAAM,uBAAuB,EAAE,aA6CrC,CAAC;AAEF,eAAO,MAAM,sBAAsB,EAAE,aA0CpC,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,aAgDlC,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,aAsDhC,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,aA+ChC,CAAC"}