@dreadwood-types/types 0.1.330 → 0.1.331
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/areaGates.d.ts.map +1 -1
- package/dist/areaGates.js +45 -0
- package/dist/areaGates.js.map +1 -1
- package/dist/areaTransitions.d.ts +1 -1
- package/dist/areaTransitions.d.ts.map +1 -1
- package/dist/areaTransitions.js +5 -0
- package/dist/areaTransitions.js.map +1 -1
- package/dist/blackwakeCoast.d.ts +8 -0
- package/dist/blackwakeCoast.d.ts.map +1 -1
- package/dist/blackwakeCoast.js +57 -1
- package/dist/blackwakeCoast.js.map +1 -1
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +5 -0
- package/dist/constants.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/pirateShips.d.ts +211 -0
- package/dist/pirateShips.d.ts.map +1 -0
- package/dist/pirateShips.js +318 -0
- package/dist/pirateShips.js.map +1 -0
- package/package.json +2 -2
|
@@ -0,0 +1,318 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* THE BAY'S BOARDING SHIPS, pirate bay phases 4 and 5 (sheets pirate-bay-b02-v2 the Cormorant, b03/b04-v2 the Crescent Queen, b05 the
|
|
3
|
+
* Mire Jack, b06 the Iron Hush, b07 the Grey Wake, b09 the wave fight; plan `.cursor/task-plans/2026-10-15-pirate-bay-phase5.md`).
|
|
4
|
+
*
|
|
5
|
+
* Every ship is one table entry the backend's wave engine (shipFight.ts) runs the same way: board her (a plank with a walk gate, or a
|
|
6
|
+
* rowing boat with a door gate), fight her crew in waves (each wave on a deck; a door down opens when every wave on its deck has
|
|
7
|
+
* fallen; a breather before each wave), reach the boss wave (the checkpoint), and the captain's chest at the end. The ship ladder, by
|
|
8
|
+
* level: the Cormorant 8-12 (Captain Ragtor Skeel), the Mire Jack 15-20 (Captain Sable Venn), the Iron Hush 22-28 (Brann the Hush),
|
|
9
|
+
* the Crescent Queen 30-35 (Captain Rowena Blackwake; her own file, crescentQueen.ts). The Grey Wake is a crowd event: a drowned ship
|
|
10
|
+
* that rises in the bay at set times for a short window, with a chest shared by everyone who fought.
|
|
11
|
+
*
|
|
12
|
+
* Top decks are coast models on the finished world (public tiles); decks below are rooms in the underground strip (raw strip tiles),
|
|
13
|
+
* x 1094-1123, below the Crescent Queen's (z 1098-1164). The Grey Wake's deck is a room too: the hull in the bay is scenery that rises
|
|
14
|
+
* and sinks (the grid cannot lay and lift floors at run time), and her boat takes you aboard behind a loading cover.
|
|
15
|
+
* Crew are Blackwake kinds (they hunt on sight); captains are named, levelled Cutthroats until each has a kind and a signature of their
|
|
16
|
+
* own (the upgrades list). Levels, waves, timings and loot are PLACEHOLDERS (the balance pass comes last, with James).
|
|
17
|
+
*/
|
|
18
|
+
import { BLACKWAKE_COAST_MODELS, placedFloors } from './blackwakeCoast.js';
|
|
19
|
+
import { CQ_BOARD_COMBAT, CQ_PLANK, CQ_PLANK_FOOT, CQ_ROWENA_LEASH, CQ_ROWENA_SPOT, CQ_TEXT, CRESCENT_QUEEN_DECKS, CRESCENT_QUEEN_NAME, CRESCENT_QUEEN_PART, CRESCENT_QUEEN_TITLE, CRESCENT_QUEEN_WAVES, SHIP_CHECKPOINT_MS, SHIP_COOLDOWN_MS, } from './crescentQueen.js';
|
|
20
|
+
import { shiftSurfaceZ } from './starterExpansion.js';
|
|
21
|
+
const CHECKPOINT = 'You reached the captain: if you all fall here, you may come straight back down to finish it.';
|
|
22
|
+
const deckhand = (level, name) => ({ kind: 'blackwakedeckhand', level, ...(name ? { name } : {}) });
|
|
23
|
+
const lookout = (level) => ({ kind: 'lookout', level });
|
|
24
|
+
const cutthroat = (level) => ({ kind: 'cutthroat', level });
|
|
25
|
+
const drowned = (level) => ({ kind: 'drowneddeckhand', level });
|
|
26
|
+
const captain = (kind, level, name, spot) => ({ kind, level, name, boss: true, spot, leash: 5 });
|
|
27
|
+
const room = (minX, maxX, minZ, maxZ) => ({ minX, maxX, minZ, maxZ });
|
|
28
|
+
const HATCH = 'Go down the hatch';
|
|
29
|
+
const LADDER = 'Climb the ladder';
|
|
30
|
+
const ROW_BACK = 'Row back to the beach';
|
|
31
|
+
// ---- The Cormorant (B2-v2, levels 8-12): the cove's moored ship, the captain's cabin below her stern ----------------------------
|
|
32
|
+
/** The cove's moored ship (blackwakeCoast.ts BLACKWAKE_COAST_PARTS `cove-ship`, legacy 587,1017), in the public frame. */
|
|
33
|
+
export const CORMORANT_PART = { id: 'cove-ship', model: 'blackwakeship', x: 587, z: shiftSurfaceZ(587, 1017), style: 'blackwakeship-s' };
|
|
34
|
+
/** Her plank (local 3,0) and the cove jetty tile it meets. */
|
|
35
|
+
export const CORMORANT_PLANK = { x: 590, z: CORMORANT_PART.z };
|
|
36
|
+
export const CORMORANT_PLANK_FOOT = { x: 591, z: CORMORANT_PART.z };
|
|
37
|
+
const CORMORANT = {
|
|
38
|
+
id: 'cormorant',
|
|
39
|
+
name: 'the Cormorant',
|
|
40
|
+
title: 'The Cormorant',
|
|
41
|
+
levels: [8, 12],
|
|
42
|
+
part: CORMORANT_PART,
|
|
43
|
+
placedElsewhere: true,
|
|
44
|
+
boardCombat: 8,
|
|
45
|
+
decks: [
|
|
46
|
+
{ id: 'top', label: 'the deck', room: room(585, 589, CORMORANT_PART.z - 4, CORMORANT_PART.z + 6), arrival: { x: 587, z: CORMORANT_PART.z - 1 }, below: false,
|
|
47
|
+
entries: [[585, CORMORANT_PART.z - 3], [589, CORMORANT_PART.z - 3], [585, CORMORANT_PART.z + 1], [589, CORMORANT_PART.z + 3], [587, CORMORANT_PART.z + 4]] },
|
|
48
|
+
{ id: 'cabin', label: "the captain's cabin", room: room(1100, 1109, 1176, 1181), arrival: { x: 1101, z: 1181 }, below: true,
|
|
49
|
+
entries: [[1100, 1177], [1109, 1178], [1104, 1176]] },
|
|
50
|
+
],
|
|
51
|
+
doors: [
|
|
52
|
+
{ id: 'sh-cormorant-hatch', style: 'cqhatch-s', x: 587, z: CORMORANT_PART.z - 4, from: 'top', to: 'cabin', way: 'down', arrive: { x: 1101, z: 1181 }, label: HATCH, text: "You drop through the hatch into the captain's cabin." },
|
|
53
|
+
{ id: 'sh-cormorant-ladder', style: 'cqladder-n', x: 1101, z: 1182, from: 'cabin', to: 'top', way: 'up', arrive: { x: 587, z: CORMORANT_PART.z - 1 }, label: LADDER, text: 'You climb back up to the deck.' },
|
|
54
|
+
],
|
|
55
|
+
waves: [
|
|
56
|
+
{ deck: 'top', crew: [deckhand(9), deckhand(9), deckhand(9), lookout(8)], extra: deckhand(9), title: 'The fore deck watch', comes: 'A shout goes up on the Cormorant and her watch come over the rails!' },
|
|
57
|
+
{ deck: 'top', crew: [deckhand(10), deckhand(10), cutthroat(10), cutthroat(10)], extra: cutthroat(10), title: 'The main deck crew', comes: 'More of her crew come boiling up from the waist!' },
|
|
58
|
+
{ deck: 'cabin', crew: [captain('cutthroat', 12, 'Captain Ragtor Skeel', { x: 1106, z: 1178 }), deckhand(10), deckhand(10)], extra: deckhand(10), title: 'Captain Ragtor Skeel',
|
|
59
|
+
comes: 'Captain Ragtor Skeel kicks his chair back. "On my ship? In my cabin? You will not get a third mistake."' },
|
|
60
|
+
],
|
|
61
|
+
props: [
|
|
62
|
+
{ id: 'sh-cormorant-cargo', model: 'blackwakecargo', x: 1102, z: 1177, facing: 's' },
|
|
63
|
+
{ id: 'sh-cormorant-lantern', model: 'pblantern', x: 1107, z: 1176, facing: 's' },
|
|
64
|
+
{ id: 'sh-cormorant-flag', model: 'pbflag', x: 1105, z: 1176, facing: 's' },
|
|
65
|
+
],
|
|
66
|
+
chest: { id: 'shipchest-cormorant', x: 1108, z: 1177, coins: { min: 60, max: 160 }, scraps: { min: 1, max: 2 }, cutlassChance: 0.04 },
|
|
67
|
+
cooldownMs: 10 * 60_000,
|
|
68
|
+
checkpointMs: 6 * 60_000,
|
|
69
|
+
exit: { ...CORMORANT_PLANK_FOOT },
|
|
70
|
+
checkpointText: CHECKPOINT,
|
|
71
|
+
won: 'Captain Ragtor Skeel goes down among his own charts. The Cormorant is yours for now: his chest stands open at the back of the cabin.',
|
|
72
|
+
};
|
|
73
|
+
// ---- The Mire Jack (B5, levels 15-20): a two-masted raider off the south beach, rowed out to ---------------------------------------
|
|
74
|
+
export const MIRE_JACK_PART = { id: 'sh-mirejack', model: 'mirejack', x: 690, z: 1203, style: 'mirejack-e' };
|
|
75
|
+
export const MIRE_JACK_SHORE_BOAT = { x: 706, z: 1178 };
|
|
76
|
+
const MIRE_JACK = {
|
|
77
|
+
id: 'mirejack',
|
|
78
|
+
name: 'the Mire Jack',
|
|
79
|
+
title: 'The Mire Jack',
|
|
80
|
+
levels: [15, 20],
|
|
81
|
+
part: MIRE_JACK_PART,
|
|
82
|
+
boardCombat: 15,
|
|
83
|
+
decks: [
|
|
84
|
+
{ id: 'top', label: 'the upper deck', room: room(682, 697, 1200, 1206), arrival: { x: 689, z: 1203 }, below: false,
|
|
85
|
+
entries: [[683, 1201], [686, 1205], [692, 1201], [695, 1205], [691, 1203]] },
|
|
86
|
+
{ id: 'lower', label: 'the lower deck', room: room(1100, 1115, 1200, 1207), arrival: { x: 1101, z: 1207 }, below: true,
|
|
87
|
+
entries: [[1100, 1201], [1115, 1203], [1106, 1200], [1112, 1207]] },
|
|
88
|
+
],
|
|
89
|
+
doors: [
|
|
90
|
+
{ id: 'sh-mirejack-boat', style: 'hbrowboat-mirejack-s', x: MIRE_JACK_SHORE_BOAT.x, z: MIRE_JACK_SHORE_BOAT.z, from: 'shore', to: 'top', way: 'board', arrive: { x: 689, z: 1203 }, label: 'Row out to the Mire Jack', text: 'You row out across the bay and climb her side to the upper deck.' },
|
|
91
|
+
{ id: 'sh-mirejack-back', style: 'hbrowboat-mirejackback-n', x: 690, z: 1198, from: 'top', to: 'shore', way: 'leave', arrive: { x: MIRE_JACK_SHORE_BOAT.x, z: MIRE_JACK_SHORE_BOAT.z - 2 }, label: ROW_BACK, text: 'You drop into her boat and row back to the beach.' },
|
|
92
|
+
{ id: 'sh-mirejack-hatch', style: 'cqhatch-s', x: 691, z: 1203, from: 'top', to: 'lower', way: 'down', arrive: { x: 1101, z: 1207 }, label: HATCH, text: 'You drop through the hatch to the lower deck.' },
|
|
93
|
+
{ id: 'sh-mirejack-ladder', style: 'cqladder-n', x: 1101, z: 1208, from: 'lower', to: 'top', way: 'up', arrive: { x: 689, z: 1203 }, label: LADDER, text: 'You climb back up to the upper deck.' },
|
|
94
|
+
],
|
|
95
|
+
waves: [
|
|
96
|
+
{ deck: 'top', crew: [deckhand(15), deckhand(15), deckhand(16), deckhand(16)], extra: deckhand(16), title: 'The deckhands', comes: 'The Mire Jack\'s deckhands drop their lines and come at you!' },
|
|
97
|
+
{ deck: 'top', crew: [deckhand(17), deckhand(17), cutthroat(17), cutthroat(17)], extra: cutthroat(17), title: 'Up from the hatches', comes: 'The hatches bang open and more of them pour out onto the deck!' },
|
|
98
|
+
{ deck: 'lower', crew: [captain('cutthroat', 20, 'Captain Sable Venn', { x: 1110, z: 1202 }), lookout(18), lookout(18)], extra: cutthroat(18), title: 'Captain Sable Venn',
|
|
99
|
+
comes: 'Captain Sable Venn steps out of his cabin, unhurried. "Ruthless people do not shout. Kill them quietly."' },
|
|
100
|
+
],
|
|
101
|
+
props: [
|
|
102
|
+
{ id: 'sh-mirejack-cargo', model: 'blackwakecargo', x: 1104, z: 1201, facing: 's' },
|
|
103
|
+
{ id: 'sh-mirejack-lantern', model: 'pblantern', x: 1108, z: 1200, facing: 's' },
|
|
104
|
+
{ id: 'sh-mirejack-post', model: 'cqpost', x: 1107, z: 1205, facing: 's' },
|
|
105
|
+
],
|
|
106
|
+
chest: { id: 'shipchest-mirejack', x: 1114, z: 1200, coins: { min: 150, max: 350 }, scraps: { min: 1, max: 3 }, cutlassChance: 0.06 },
|
|
107
|
+
cooldownMs: 12 * 60_000,
|
|
108
|
+
checkpointMs: 8 * 60_000,
|
|
109
|
+
exit: { x: MIRE_JACK_SHORE_BOAT.x, z: MIRE_JACK_SHORE_BOAT.z - 2 },
|
|
110
|
+
checkpointText: CHECKPOINT,
|
|
111
|
+
won: 'Captain Sable Venn falls without a word. The Mire Jack is yours for now: his chest stands by the cabin bulkhead.',
|
|
112
|
+
};
|
|
113
|
+
// ---- The Iron Hush (B6, levels 22-28): a heavy cargo ship farther out; the cargo hold, then the gun deck --------------------------
|
|
114
|
+
export const IRON_HUSH_PART = { id: 'sh-ironhush', model: 'ironhush', x: 770, z: 1222, style: 'ironhush-e' };
|
|
115
|
+
export const IRON_HUSH_SHORE_BOAT = { x: 722, z: 1178 };
|
|
116
|
+
const IRON_HUSH = {
|
|
117
|
+
id: 'ironhush',
|
|
118
|
+
name: 'the Iron Hush',
|
|
119
|
+
title: 'The Iron Hush',
|
|
120
|
+
levels: [22, 28],
|
|
121
|
+
part: IRON_HUSH_PART,
|
|
122
|
+
boardCombat: 22,
|
|
123
|
+
decks: [
|
|
124
|
+
{ id: 'top', label: 'the top deck', room: room(761, 778, 1219, 1225), arrival: { x: 769, z: 1222 }, below: false,
|
|
125
|
+
entries: [[762, 1220], [766, 1224], [773, 1220], [776, 1224], [771, 1222]] },
|
|
126
|
+
{ id: 'hold', label: 'the cargo hold', room: room(1098, 1117, 1226, 1235), arrival: { x: 1100, z: 1235 }, below: true,
|
|
127
|
+
entries: [[1098, 1228], [1117, 1230], [1105, 1226], [1112, 1235], [1108, 1231]] },
|
|
128
|
+
{ id: 'gun', label: 'the gun deck', room: room(1098, 1117, 1250, 1257), arrival: { x: 1100, z: 1257 }, below: true,
|
|
129
|
+
entries: [[1098, 1251], [1117, 1252], [1104, 1257], [1113, 1257]] },
|
|
130
|
+
],
|
|
131
|
+
doors: [
|
|
132
|
+
{ id: 'sh-ironhush-boat', style: 'hbrowboat-ironhush-s', x: IRON_HUSH_SHORE_BOAT.x, z: IRON_HUSH_SHORE_BOAT.z, from: 'shore', to: 'top', way: 'board', arrive: { x: 769, z: 1222 }, label: 'Row out to the Iron Hush', text: 'You row out to the anchorage and climb a grappling line to her top deck.' },
|
|
133
|
+
{ id: 'sh-ironhush-back', style: 'hbrowboat-ironhushback-n', x: 770, z: 1217, from: 'top', to: 'shore', way: 'leave', arrive: { x: IRON_HUSH_SHORE_BOAT.x, z: IRON_HUSH_SHORE_BOAT.z - 2 }, label: ROW_BACK, text: 'You drop into her boat and row back to the beach.' },
|
|
134
|
+
{ id: 'sh-ironhush-hatch', style: 'cqhatch-s', x: 771, z: 1222, from: 'top', to: 'hold', way: 'down', arrive: { x: 1100, z: 1235 }, label: HATCH, text: 'You drop through the hatch into the cargo hold.' },
|
|
135
|
+
{ id: 'sh-ironhush-holdladder', style: 'cqladder-n', x: 1100, z: 1236, from: 'hold', to: 'top', way: 'up', arrive: { x: 769, z: 1222 }, label: LADDER, text: 'You climb back up to the top deck.' },
|
|
136
|
+
{ id: 'sh-ironhush-stair', style: 'cqhatch-s', x: 1116, z: 1227, from: 'hold', to: 'gun', way: 'down', arrive: { x: 1100, z: 1257 }, label: 'Go through to the gun deck', text: 'You climb the stair to the gun deck.' },
|
|
137
|
+
{ id: 'sh-ironhush-gunladder', style: 'cqladder-n', x: 1100, z: 1258, from: 'gun', to: 'top', way: 'up', arrive: { x: 769, z: 1222 }, label: LADDER, text: 'You climb back up to the top deck.' },
|
|
138
|
+
],
|
|
139
|
+
waves: [
|
|
140
|
+
{ deck: 'top', crew: [lookout(22), lookout(22), deckhand(23), deckhand(23), deckhand(23)], extra: deckhand(23), title: 'The top deck', comes: 'The Iron Hush\'s lookouts sound the alarm and her deckhands close in!' },
|
|
141
|
+
{ deck: 'hold', crew: [cutthroat(24), cutthroat(24), cutthroat(25), cutthroat(25), deckhand(24)], extra: cutthroat(25), title: 'The cargo hold', comes: 'Waves of cutthroats come out from between the stolen crates!' },
|
|
142
|
+
{ deck: 'gun', crew: [captain('cutthroat', 28, 'Brann the Hush', { x: 1110, z: 1252 }), cutthroat(26), cutthroat(26)], extra: cutthroat(26), title: 'Brann the Hush',
|
|
143
|
+
comes: 'Brann the Hush looks up from the guns and says nothing at all. His crew draw.' },
|
|
144
|
+
],
|
|
145
|
+
props: [
|
|
146
|
+
{ id: 'sh-ironhush-cargo-1', model: 'blackwakecargo', x: 1102, z: 1228, facing: 's' },
|
|
147
|
+
{ id: 'sh-ironhush-cargo-2', model: 'blackwakecargo', x: 1110, z: 1228, facing: 's' },
|
|
148
|
+
{ id: 'sh-ironhush-cargo-3', model: 'blackwakecargo', x: 1106, z: 1233, facing: 's' },
|
|
149
|
+
{ id: 'sh-ironhush-post-1', model: 'cqpost', x: 1104, z: 1231, facing: 's' },
|
|
150
|
+
{ id: 'sh-ironhush-post-2', model: 'cqpost', x: 1113, z: 1231, facing: 's' },
|
|
151
|
+
{ id: 'sh-ironhush-cannon-1', model: 'cqcannon', x: 1102, z: 1250, facing: 'n' },
|
|
152
|
+
{ id: 'sh-ironhush-cannon-2', model: 'cqcannon', x: 1106, z: 1250, facing: 'n' },
|
|
153
|
+
{ id: 'sh-ironhush-cannon-3', model: 'cqcannon', x: 1112, z: 1250, facing: 'n' },
|
|
154
|
+
],
|
|
155
|
+
chest: { id: 'shipchest-ironhush', x: 1116, z: 1250, coins: { min: 300, max: 650 }, scraps: { min: 2, max: 3 }, cutlassChance: 0.08 },
|
|
156
|
+
cooldownMs: 15 * 60_000,
|
|
157
|
+
checkpointMs: 10 * 60_000,
|
|
158
|
+
exit: { x: IRON_HUSH_SHORE_BOAT.x, z: IRON_HUSH_SHORE_BOAT.z - 2 },
|
|
159
|
+
checkpointText: CHECKPOINT,
|
|
160
|
+
won: 'Brann the Hush goes down without a sound, which is how he did everything. The Iron Hush is yours for now: the captain\'s chest is by the guns.',
|
|
161
|
+
};
|
|
162
|
+
// ---- The Crescent Queen (B3/B4-v2, levels 30-35): crescentQueen.ts, in the same table ------------------------------------------
|
|
163
|
+
const cqDeck = (id) => {
|
|
164
|
+
const d = CRESCENT_QUEEN_DECKS[id];
|
|
165
|
+
return { id, label: d.label, room: d.room, arrival: d.arrival, entries: d.entries, below: id !== 'top' };
|
|
166
|
+
};
|
|
167
|
+
const cqUpArrival = (above) => {
|
|
168
|
+
const d = CRESCENT_QUEEN_DECKS[above];
|
|
169
|
+
if (above === 'top')
|
|
170
|
+
return d.arrival;
|
|
171
|
+
const h = d.hatch;
|
|
172
|
+
return { x: h.x + (h.x > (d.room.minX + d.room.maxX) / 2 ? -1 : 1), z: h.z };
|
|
173
|
+
};
|
|
174
|
+
const CRESCENT_QUEEN = {
|
|
175
|
+
id: 'crescentqueen',
|
|
176
|
+
name: CRESCENT_QUEEN_NAME,
|
|
177
|
+
title: CRESCENT_QUEEN_TITLE,
|
|
178
|
+
levels: [30, 35],
|
|
179
|
+
part: CRESCENT_QUEEN_PART,
|
|
180
|
+
placedElsewhere: true,
|
|
181
|
+
boardCombat: CQ_BOARD_COMBAT,
|
|
182
|
+
decks: ['top', 'gun', 'orlop', 'hold'].map(cqDeck),
|
|
183
|
+
doors: ['top', 'gun', 'orlop', 'hold'].flatMap((id, i, all) => {
|
|
184
|
+
const d = CRESCENT_QUEEN_DECKS[id];
|
|
185
|
+
const out = [];
|
|
186
|
+
if (d.hatch) {
|
|
187
|
+
const below = CRESCENT_QUEEN_DECKS[all[i + 1]];
|
|
188
|
+
out.push({ id: `cq-hatch-${id}`, style: d.hatch.style, x: d.hatch.x, z: d.hatch.z, from: id, to: below.id, way: 'down', arrive: below.arrival, label: HATCH, text: CQ_TEXT.down(below.label) });
|
|
189
|
+
}
|
|
190
|
+
if (d.ladder) {
|
|
191
|
+
const above = all[i - 1];
|
|
192
|
+
out.push({ id: `cq-ladder-${id}`, style: d.ladder.style, x: d.ladder.x, z: d.ladder.z, from: id, to: above, way: 'up', arrive: cqUpArrival(above), label: LADDER, text: CQ_TEXT.up(CRESCENT_QUEEN_DECKS[above].label) });
|
|
193
|
+
}
|
|
194
|
+
return out;
|
|
195
|
+
}),
|
|
196
|
+
waves: CRESCENT_QUEEN_WAVES.map((w) => ({
|
|
197
|
+
deck: w.deck,
|
|
198
|
+
crew: w.crew.map((c) => (c.kind === 'captainrowena' ? { ...c, name: 'Captain Rowena Blackwake', boss: true, spot: { ...CQ_ROWENA_SPOT }, leash: CQ_ROWENA_LEASH } : c)),
|
|
199
|
+
extra: w.extra,
|
|
200
|
+
title: w.title,
|
|
201
|
+
comes: w.comes,
|
|
202
|
+
})),
|
|
203
|
+
props: [],
|
|
204
|
+
cooldownMs: SHIP_COOLDOWN_MS,
|
|
205
|
+
checkpointMs: SHIP_CHECKPOINT_MS,
|
|
206
|
+
won: CQ_TEXT.won,
|
|
207
|
+
exit: { ...CQ_PLANK_FOOT },
|
|
208
|
+
checkpointText: CQ_TEXT.checkpoint,
|
|
209
|
+
};
|
|
210
|
+
// ---- The Grey Wake (B7): a drowned ship that rises in the bay at set times ---------------------------------------------------------
|
|
211
|
+
export const GREY_WAKE_HULL = { id: 'sh-greywake-hull', model: 'greywake', x: 740, z: 1242, style: 'greywake-e' };
|
|
212
|
+
export const GREY_WAKE_SHORE_BOAT = { x: 714, z: 1177 };
|
|
213
|
+
/** She rises every three hours (on the hour, UTC 00, 03, 06 ...) for twelve minutes. */
|
|
214
|
+
export const GREY_WAKE_EVENT = { periodMs: 3 * 3_600_000, windowMs: 12 * 60_000, offsetMs: 0 };
|
|
215
|
+
const GREY_WAKE = {
|
|
216
|
+
id: 'greywake',
|
|
217
|
+
name: 'the Grey Wake',
|
|
218
|
+
title: 'The Grey Wake',
|
|
219
|
+
levels: [18, 26],
|
|
220
|
+
part: null,
|
|
221
|
+
hull: GREY_WAKE_HULL,
|
|
222
|
+
boardCombat: 18,
|
|
223
|
+
decks: [
|
|
224
|
+
{ id: 'deck', label: 'the drowned deck', room: room(1098, 1117, 1280, 1290), arrival: { x: 1100, z: 1290 }, below: true,
|
|
225
|
+
entries: [[1098, 1282], [1117, 1282], [1104, 1280], [1112, 1280], [1098, 1288], [1117, 1288]] },
|
|
226
|
+
],
|
|
227
|
+
doors: [
|
|
228
|
+
{ id: 'sh-greywake-boat', style: 'hbrowboat-greywake-s', x: GREY_WAKE_SHORE_BOAT.x, z: GREY_WAKE_SHORE_BOAT.z, from: 'shore', to: 'deck', way: 'board', arrive: { x: 1100, z: 1290 }, label: 'Row out to the Grey Wake', text: 'You row out into the grey water and haul yourself up her weed-hung side.' },
|
|
229
|
+
{ id: 'sh-greywake-back', style: 'cqladder-n', x: 1100, z: 1291, from: 'deck', to: 'shore', way: 'leave', arrive: { x: GREY_WAKE_SHORE_BOAT.x, z: GREY_WAKE_SHORE_BOAT.z - 2 }, label: ROW_BACK, text: 'You climb down her side into your boat and row for the beach.' },
|
|
230
|
+
],
|
|
231
|
+
waves: [
|
|
232
|
+
{ deck: 'deck', crew: [drowned(20), drowned(20), drowned(20), drowned(21), drowned(21)], extra: drowned(21), title: 'The drowned crew', comes: 'Water pours off the boards and her drowned crew stand up out of it!' },
|
|
233
|
+
{ deck: 'deck', crew: [drowned(22), drowned(22), drowned(22), drowned(23)], extra: drowned(23), title: 'More of the drowned', comes: 'More of them climb up over the rails, weed in their teeth.' },
|
|
234
|
+
{ deck: 'deck', crew: [captain('drowneddeckhand', 26, 'The Drowned Captain', { x: 1108, z: 1283 }), drowned(23), drowned(23)], extra: drowned(23), title: 'The Drowned Captain',
|
|
235
|
+
comes: 'The Drowned Captain rises from the wheel, his coat streaming. The deck groans under him.' },
|
|
236
|
+
],
|
|
237
|
+
props: [
|
|
238
|
+
{ id: 'sh-greywake-post-1', model: 'cqpost', x: 1103, z: 1284, facing: 's' },
|
|
239
|
+
{ id: 'sh-greywake-post-2', model: 'cqpost', x: 1113, z: 1284, facing: 's' },
|
|
240
|
+
{ id: 'sh-greywake-cargo', model: 'blackwakecargo', x: 1101, z: 1281, facing: 's' },
|
|
241
|
+
],
|
|
242
|
+
chest: { id: 'shipchest-greywake', x: 1116, z: 1280, coins: { min: 200, max: 450 }, scraps: { min: 2, max: 3 }, cutlassChance: 0.06 },
|
|
243
|
+
cooldownMs: 0,
|
|
244
|
+
checkpointMs: 0,
|
|
245
|
+
event: GREY_WAKE_EVENT,
|
|
246
|
+
exit: { x: GREY_WAKE_SHORE_BOAT.x, z: GREY_WAKE_SHORE_BOAT.z - 2 },
|
|
247
|
+
checkpointText: CHECKPOINT,
|
|
248
|
+
won: 'The Drowned Captain comes apart like wet paper. Her shared chest stands open by the wheel for everyone who fought: take your share before she sinks.',
|
|
249
|
+
};
|
|
250
|
+
export const PIRATE_SHIPS = [CORMORANT, MIRE_JACK, IRON_HUSH, CRESCENT_QUEEN, GREY_WAKE];
|
|
251
|
+
export function pirateShip(id) {
|
|
252
|
+
return PIRATE_SHIPS.find((s) => s.id === id);
|
|
253
|
+
}
|
|
254
|
+
/** Every walkable top-deck floor tile of a ship laid by the ship placer (not the Cormorant or the Crescent Queen, laid elsewhere). */
|
|
255
|
+
export function shipTopFloors(ship) {
|
|
256
|
+
return ship.part ? placedFloors(ship.part, BLACKWAKE_COAST_MODELS[ship.part.model]) : [];
|
|
257
|
+
}
|
|
258
|
+
/** The plot of rock the phase 5 decks below are carved in (rooms and their walls), under the Crescent Queen's. */
|
|
259
|
+
export const PIRATE_SHIPS_BELOW_PLOT = { minX: 1094, maxX: 1123, minZ: 1170, maxZ: 1298 };
|
|
260
|
+
/** The ship and deck a tile is on, or null. */
|
|
261
|
+
export function shipDeckAt(x, z) {
|
|
262
|
+
for (const ship of PIRATE_SHIPS)
|
|
263
|
+
for (const deck of ship.decks) {
|
|
264
|
+
const r = deck.room;
|
|
265
|
+
if (x >= r.minX && x <= r.maxX && z >= r.minZ && z <= r.maxZ)
|
|
266
|
+
return { ship, deck };
|
|
267
|
+
}
|
|
268
|
+
return null;
|
|
269
|
+
}
|
|
270
|
+
/** The ship door standing at a tile with this style, or null. */
|
|
271
|
+
export function shipDoorAt(style, x, z) {
|
|
272
|
+
for (const ship of PIRATE_SHIPS)
|
|
273
|
+
for (const door of ship.doors)
|
|
274
|
+
if (door.style === style && door.x === x && door.z === z)
|
|
275
|
+
return { ship, door };
|
|
276
|
+
return null;
|
|
277
|
+
}
|
|
278
|
+
/** A door's hover label by its entity id (the client's hover reads it). */
|
|
279
|
+
export function shipDoorLabel(entityId) {
|
|
280
|
+
for (const ship of PIRATE_SHIPS)
|
|
281
|
+
for (const door of ship.doors)
|
|
282
|
+
if (door.id === entityId)
|
|
283
|
+
return door.label;
|
|
284
|
+
return null;
|
|
285
|
+
}
|
|
286
|
+
/** Whether an event ship is up at this moment (UTC epoch ms). Ships without an event are always there. */
|
|
287
|
+
export function shipRisen(ship, nowMs) {
|
|
288
|
+
if (!ship.event)
|
|
289
|
+
return true;
|
|
290
|
+
const t = (((nowMs - ship.event.offsetMs) % ship.event.periodMs) + ship.event.periodMs) % ship.event.periodMs;
|
|
291
|
+
return t < ship.event.windowMs;
|
|
292
|
+
}
|
|
293
|
+
/** How long until an event ship next rises (0 while she is up). */
|
|
294
|
+
export function shipRisesInMs(ship, nowMs) {
|
|
295
|
+
if (!ship.event || shipRisen(ship, nowMs))
|
|
296
|
+
return 0;
|
|
297
|
+
const t = (((nowMs - ship.event.offsetMs) % ship.event.periodMs) + ship.event.periodMs) % ship.event.periodMs;
|
|
298
|
+
return ship.event.periodMs - t;
|
|
299
|
+
}
|
|
300
|
+
/** The plank tiles that are walk gates (the Cormorant's and the Crescent Queen's). */
|
|
301
|
+
export const SHIP_PLANKS = { cormorant: CORMORANT_PLANK, crescentqueen: CQ_PLANK };
|
|
302
|
+
/** The crew's own drop on a ship (no keys: the bay's keys come from its shore crews): a few coins by level and a chance of a scrap. */
|
|
303
|
+
export function shipCrewDrop(level) {
|
|
304
|
+
return [
|
|
305
|
+
{ kind: 'coins', chance: 1, min: Math.max(1, level), max: Math.max(2, level * 3) },
|
|
306
|
+
{ kind: 'chartscrap', chance: 0.1, min: 1, max: 1 },
|
|
307
|
+
];
|
|
308
|
+
}
|
|
309
|
+
export const SHIP_TEXT = {
|
|
310
|
+
sunk: (name, mins) => `${name.charAt(0).toUpperCase()}${name.slice(1)} is under the waves. She rises again in about ${mins} minute${mins === 1 ? '' : 's'}.`,
|
|
311
|
+
rises: 'The Grey Wake rises in the bay! A drowned ship, weed and grey sails, off the south beach: row out from the beach and share her chest.',
|
|
312
|
+
sinking: 'The Grey Wake groans and settles: she is going under. Anyone still aboard is thrown into the boats.',
|
|
313
|
+
chestNotYours: 'The chest is locked to those who fought for it.',
|
|
314
|
+
chestTaken: 'You have taken your share from this chest. It fills again for the next crew.',
|
|
315
|
+
chestShut: "The captain's chest is shut tight until the captain falls.",
|
|
316
|
+
nextWave: 'Breather: more are coming.',
|
|
317
|
+
};
|
|
318
|
+
//# sourceMappingURL=pirateShips.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pirateShips.js","sourceRoot":"","sources":["../src/pirateShips.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dreadwood-types/types",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.331",
|
|
4
4
|
"description": "Public wire protocol and client-safe constants for Dreadwoods",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
],
|
|
23
23
|
"scripts": {
|
|
24
24
|
"build": "tsc -p tsconfig.json",
|
|
25
|
-
"test": "node --test scripts/crescent-queen-test.mjs scripts/port-blackwake-test.mjs scripts/pirate-treasure-test.mjs scripts/shop-food-test.mjs scripts/castaway-camp-test.mjs scripts/animation-test.mjs scripts/starter-jobs-test.mjs scripts/cooking-nudge-test.mjs scripts/surface-chart-test.mjs scripts/south-expansion-test.mjs scripts/rudd-test.mjs scripts/cave-map-test.mjs scripts/birch-combat-test.mjs scripts/fort-rook-bosses-test.mjs scripts/bounty-first-test.mjs scripts/bounty-high-tiers-test.mjs scripts/running-test.mjs scripts/energy-test.mjs scripts/starter-town-test.mjs scripts/starter-expansion-test.mjs scripts/five-arches-test.mjs scripts/landing-test.mjs scripts/cove-ship-test.mjs scripts/south-fields-quests-test.mjs scripts/south-fields-errands-test.mjs scripts/arcane-lands-test.mjs scripts/fair-folk-test.mjs scripts/fair-contests-test.mjs scripts/missing-shipment-test.mjs scripts/world-boss-ring-test.mjs scripts/ringstone-fight-test.mjs scripts/highstone-test.mjs scripts/fenstone-test.mjs scripts/brackenstone-test.mjs scripts/lair-awakening-test.mjs scripts/hopewood-wildlife-test.mjs scripts/hollin-wildlife-test.mjs scripts/hopewood-quests-test.mjs scripts/western-train-test.mjs scripts/moving-train-test.mjs scripts/train-circuit-test.mjs scripts/forge-halt-test.mjs scripts/forge-polish-test.mjs scripts/western-station-test.mjs scripts/hollin-quests-test.mjs scripts/western-lost-supplies-test.mjs scripts/western-herbal-remedies-test.mjs scripts/western-field-shrine-test.mjs scripts/western-kingdoms-test.mjs scripts/lantern-wake-test.mjs scripts/brindlecross-test.mjs scripts/brindlecross-quest-test.mjs scripts/greenwood-wilds-test.mjs scripts/greenwood-wildlife-test.mjs scripts/greenwood-quest-test.mjs scripts/dwarf-road-wildlife-test.mjs scripts/dwarf-road-test.mjs scripts/riversend-test.mjs scripts/riversend-content-test.mjs scripts/gatewarden-rounds-test.mjs scripts/boss-e8-test.mjs scripts/lantern-wake-town-test.mjs scripts/world-regions-test.mjs scripts/copse-wildlife-test.mjs scripts/copse-quests-test.mjs scripts/marches-wildlife-test.mjs scripts/marches-quests-test.mjs scripts/train-seats-test.mjs scripts/lantern-wake-gallery-test.mjs scripts/lantern-wake-wildlife-test.mjs scripts/lantern-wake-quest-test.mjs scripts/dwarf-hold-test.mjs scripts/dwarf-road-camp-test.mjs scripts/western-line-texts-test.mjs scripts/xp-test.mjs scripts/bank-test.mjs scripts/timed-access-test.mjs scripts/ground-items-test.mjs scripts/name-filter-test.mjs scripts/woodwork-logs-test.mjs scripts/area-gates-test.mjs scripts/arcane-realms-test.mjs scripts/frozen-dungeons-test.mjs scripts/deep-seam-test.mjs scripts/mining-quests-test.mjs scripts/long-winter-test.mjs scripts/roster-delta-test.mjs scripts/bow-ladder-test.mjs scripts/lantern-wake-ledge-test.mjs scripts/explorer-ledger-test.mjs scripts/ore-smithing-test.mjs scripts/red-waste-test.mjs scripts/red-waste-folk-test.mjs scripts/daily-hooks-test.mjs scripts/sparring-yard-test.mjs scripts/t16-siege-floe-beach-test.mjs scripts/mammoth-road-test.mjs scripts/mammoth-road-test.mjs scripts/gulls-map-test.mjs scripts/gulls-rook-test.mjs scripts/ride-the-line-test.mjs scripts/gallowmere-test.mjs scripts/gallowmere-content-test.mjs scripts/fishing-derby-test.mjs scripts/sled-run-test.mjs scripts/eastern-marches-a-test.mjs scripts/windward-chalkshell-test.mjs scripts/gullhook-head-test.mjs scripts/webfen-test.mjs scripts/safe-pockets-test.mjs scripts/gallowmere-extras-test.mjs scripts/t53-high-ledge-skill-quests-test.mjs scripts/camp-traders-recommended-test.mjs scripts/west-coast-test.mjs scripts/heartwood-hunt-test.mjs scripts/ironjaw-watch-test.mjs scripts/beacon-night-test.mjs scripts/calverton-extension-test.mjs scripts/gravewatch-test.mjs scripts/tide-of-blood-test.mjs scripts/north-wilds-test.mjs scripts/toll-road-test.mjs scripts/capital-quests-test.mjs scripts/capital-shops-test.mjs scripts/lean-wanted-test.mjs scripts/delvers-ladder-test.mjs scripts/last-signal-test.mjs scripts/sea-salt-test.mjs scripts/dwarf-hold-hub-test.mjs scripts/field-guide-test.mjs scripts/titles-test.mjs scripts/dwarf-hold-hub-test.mjs scripts/voyages-test.mjs scripts/weekly-hunt-test.mjs scripts/west-branches-test.mjs scripts/skill-fill-test.mjs scripts/early-fill-test.mjs scripts/battlefield-test.mjs scripts/war-camp-drill-test.mjs scripts/camp-kitchens-test.mjs scripts/rangers-rest-test.mjs scripts/fishing-reaches-test.mjs scripts/thaw-crossing-test.mjs scripts/millstream-hamlet-test.mjs scripts/timber-convoy-test.mjs scripts/ashfall-camp-test.mjs scripts/tide-tunnel-test.mjs scripts/server-update-test.mjs",
|
|
25
|
+
"test": "node --test scripts/pirate-ships-test.mjs scripts/crescent-queen-test.mjs scripts/port-blackwake-test.mjs scripts/pirate-treasure-test.mjs scripts/shop-food-test.mjs scripts/castaway-camp-test.mjs scripts/animation-test.mjs scripts/starter-jobs-test.mjs scripts/cooking-nudge-test.mjs scripts/surface-chart-test.mjs scripts/south-expansion-test.mjs scripts/rudd-test.mjs scripts/cave-map-test.mjs scripts/birch-combat-test.mjs scripts/fort-rook-bosses-test.mjs scripts/bounty-first-test.mjs scripts/bounty-high-tiers-test.mjs scripts/running-test.mjs scripts/energy-test.mjs scripts/starter-town-test.mjs scripts/starter-expansion-test.mjs scripts/five-arches-test.mjs scripts/landing-test.mjs scripts/cove-ship-test.mjs scripts/south-fields-quests-test.mjs scripts/south-fields-errands-test.mjs scripts/arcane-lands-test.mjs scripts/fair-folk-test.mjs scripts/fair-contests-test.mjs scripts/missing-shipment-test.mjs scripts/world-boss-ring-test.mjs scripts/ringstone-fight-test.mjs scripts/highstone-test.mjs scripts/fenstone-test.mjs scripts/brackenstone-test.mjs scripts/lair-awakening-test.mjs scripts/hopewood-wildlife-test.mjs scripts/hollin-wildlife-test.mjs scripts/hopewood-quests-test.mjs scripts/western-train-test.mjs scripts/moving-train-test.mjs scripts/train-circuit-test.mjs scripts/forge-halt-test.mjs scripts/forge-polish-test.mjs scripts/western-station-test.mjs scripts/hollin-quests-test.mjs scripts/western-lost-supplies-test.mjs scripts/western-herbal-remedies-test.mjs scripts/western-field-shrine-test.mjs scripts/western-kingdoms-test.mjs scripts/lantern-wake-test.mjs scripts/brindlecross-test.mjs scripts/brindlecross-quest-test.mjs scripts/greenwood-wilds-test.mjs scripts/greenwood-wildlife-test.mjs scripts/greenwood-quest-test.mjs scripts/dwarf-road-wildlife-test.mjs scripts/dwarf-road-test.mjs scripts/riversend-test.mjs scripts/riversend-content-test.mjs scripts/gatewarden-rounds-test.mjs scripts/boss-e8-test.mjs scripts/lantern-wake-town-test.mjs scripts/world-regions-test.mjs scripts/copse-wildlife-test.mjs scripts/copse-quests-test.mjs scripts/marches-wildlife-test.mjs scripts/marches-quests-test.mjs scripts/train-seats-test.mjs scripts/lantern-wake-gallery-test.mjs scripts/lantern-wake-wildlife-test.mjs scripts/lantern-wake-quest-test.mjs scripts/dwarf-hold-test.mjs scripts/dwarf-road-camp-test.mjs scripts/western-line-texts-test.mjs scripts/xp-test.mjs scripts/bank-test.mjs scripts/timed-access-test.mjs scripts/ground-items-test.mjs scripts/name-filter-test.mjs scripts/woodwork-logs-test.mjs scripts/area-gates-test.mjs scripts/arcane-realms-test.mjs scripts/frozen-dungeons-test.mjs scripts/deep-seam-test.mjs scripts/mining-quests-test.mjs scripts/long-winter-test.mjs scripts/roster-delta-test.mjs scripts/bow-ladder-test.mjs scripts/lantern-wake-ledge-test.mjs scripts/explorer-ledger-test.mjs scripts/ore-smithing-test.mjs scripts/red-waste-test.mjs scripts/red-waste-folk-test.mjs scripts/daily-hooks-test.mjs scripts/sparring-yard-test.mjs scripts/t16-siege-floe-beach-test.mjs scripts/mammoth-road-test.mjs scripts/mammoth-road-test.mjs scripts/gulls-map-test.mjs scripts/gulls-rook-test.mjs scripts/ride-the-line-test.mjs scripts/gallowmere-test.mjs scripts/gallowmere-content-test.mjs scripts/fishing-derby-test.mjs scripts/sled-run-test.mjs scripts/eastern-marches-a-test.mjs scripts/windward-chalkshell-test.mjs scripts/gullhook-head-test.mjs scripts/webfen-test.mjs scripts/safe-pockets-test.mjs scripts/gallowmere-extras-test.mjs scripts/t53-high-ledge-skill-quests-test.mjs scripts/camp-traders-recommended-test.mjs scripts/west-coast-test.mjs scripts/heartwood-hunt-test.mjs scripts/ironjaw-watch-test.mjs scripts/beacon-night-test.mjs scripts/calverton-extension-test.mjs scripts/gravewatch-test.mjs scripts/tide-of-blood-test.mjs scripts/north-wilds-test.mjs scripts/toll-road-test.mjs scripts/capital-quests-test.mjs scripts/capital-shops-test.mjs scripts/lean-wanted-test.mjs scripts/delvers-ladder-test.mjs scripts/last-signal-test.mjs scripts/sea-salt-test.mjs scripts/dwarf-hold-hub-test.mjs scripts/field-guide-test.mjs scripts/titles-test.mjs scripts/dwarf-hold-hub-test.mjs scripts/voyages-test.mjs scripts/weekly-hunt-test.mjs scripts/west-branches-test.mjs scripts/skill-fill-test.mjs scripts/early-fill-test.mjs scripts/battlefield-test.mjs scripts/war-camp-drill-test.mjs scripts/camp-kitchens-test.mjs scripts/rangers-rest-test.mjs scripts/fishing-reaches-test.mjs scripts/thaw-crossing-test.mjs scripts/millstream-hamlet-test.mjs scripts/timber-convoy-test.mjs scripts/ashfall-camp-test.mjs scripts/tide-tunnel-test.mjs scripts/server-update-test.mjs",
|
|
26
26
|
"dev": "tsc -p tsconfig.json --watch",
|
|
27
27
|
"prepare": "npm run build",
|
|
28
28
|
"prepublishOnly": "npm run build"
|