@dreadwood-types/types 0.1.106 → 0.1.107
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/aquarium.d.ts +19 -1
- package/dist/aquarium.d.ts.map +1 -1
- package/dist/aquarium.js +20 -4
- package/dist/aquarium.js.map +1 -1
- package/dist/capitalAquarium.d.ts +114 -0
- package/dist/capitalAquarium.d.ts.map +1 -0
- package/dist/capitalAquarium.js +155 -0
- package/dist/capitalAquarium.js.map +1 -0
- package/dist/constants.d.ts +22 -3
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +75 -8
- package/dist/constants.js.map +1 -1
- package/dist/harbour.d.ts +4 -1
- package/dist/harbour.d.ts.map +1 -1
- package/dist/harbour.js +6 -2
- package/dist/harbour.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 +12 -0
- package/dist/landmarks.js.map +1 -1
- package/package.json +1 -1
package/dist/aquarium.d.ts
CHANGED
|
@@ -70,7 +70,10 @@ export declare function aquariumHabitatSpecies(habitat: AquariumHabitat): Aquari
|
|
|
70
70
|
* members-only ones are bonus specimens (W-070, James 2026-10-03).
|
|
71
71
|
*/
|
|
72
72
|
export declare function aquariumRequiredSpecies(habitat?: AquariumHabitat): AquariumSpecies[];
|
|
73
|
-
/**
|
|
73
|
+
/**
|
|
74
|
+
* The habitat whose tank a model id draws (`aqtankpond` -> 'pond'), from an `aquariumtank` style: Hope Beach's tanks
|
|
75
|
+
* and the Capital Aquarium's big ones (`capaqtankpond`, capitalAquarium.ts) alike.
|
|
76
|
+
*/
|
|
74
77
|
export declare function aquariumHabitatForStyle(style: string | undefined): AquariumHabitat | null;
|
|
75
78
|
/**
|
|
76
79
|
* A character's collection, stored on the character document (backend db/characters.ts) so the first-donation flags,
|
|
@@ -208,6 +211,15 @@ export declare const AQUARIUM_TANK_INTERIOR: {
|
|
|
208
211
|
readonly z0: -0.18;
|
|
209
212
|
readonly z1: 0.2;
|
|
210
213
|
};
|
|
214
|
+
export type AquariumTankInterior = {
|
|
215
|
+
readonly halfX: number;
|
|
216
|
+
readonly y0: number;
|
|
217
|
+
readonly y1: number;
|
|
218
|
+
readonly z0: number;
|
|
219
|
+
readonly z1: number;
|
|
220
|
+
};
|
|
221
|
+
/** The water a tank's style swims its species in: Hope Beach's 3 x 1 tank, or the Capital Aquarium's 5 x 1 big tank. */
|
|
222
|
+
export declare function aquariumTankInterior(style: string | undefined): AquariumTankInterior;
|
|
211
223
|
/**
|
|
212
224
|
* The water under each glass floor piece of the walkway (aqpierglass, quest-workshop aquarium_v003.py), in the piece's
|
|
213
225
|
* own frame (three.js: x across the walkway, y up from the deck tile, z along it): where the game swims the marine life
|
|
@@ -235,5 +247,11 @@ export declare function onAquariumSite(x: number, z: number): boolean;
|
|
|
235
247
|
* Inside the hall's walls: the octagon's room, not the walls nor the open corners outside them (the same measure as the
|
|
236
248
|
* collision, types constants buildingOctagonRadius).
|
|
237
249
|
*/
|
|
250
|
+
export declare function inHopeAquariumHall(x: number, z: number): boolean;
|
|
251
|
+
/**
|
|
252
|
+
* Inside an aquarium, where the donate panel, the book and the tanks are in reach: the Hope Beach hall, or anywhere
|
|
253
|
+
* indoors in the Capital Aquarium (its Main Hall and its three wings, capitalAquarium.ts). The one collection book opens
|
|
254
|
+
* in either.
|
|
255
|
+
*/
|
|
238
256
|
export declare function inAquariumHall(x: number, z: number): boolean;
|
|
239
257
|
//# sourceMappingURL=aquarium.d.ts.map
|
package/dist/aquarium.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"aquarium.d.ts","sourceRoot":"","sources":["../src/aquarium.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"aquarium.d.ts","sourceRoot":"","sources":["../src/aquarium.ts"],"names":[],"mappings":"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"}
|
package/dist/aquarium.js
CHANGED
|
@@ -15,6 +15,7 @@
|
|
|
15
15
|
* Every number James may want to tune is here: the species table, the XP, the hourly cap, the bonuses. The donation
|
|
16
16
|
* rules are pure functions here too, so the server applies exactly what the client previews.
|
|
17
17
|
*/
|
|
18
|
+
import { CAPITAL_AQUARIUM_TANK_INTERIOR, capitalAquariumHabitatForModel, inCapitalAquarium } from './capitalAquarium.js';
|
|
18
19
|
import { BEACH_GATE_X, OCEAN_START_Z, buildingOctagonRadius } from './constants.js';
|
|
19
20
|
import { FROG_KIND, POND_WEED_KIND, ROACH_KIND, SNAIL_KIND, TADPOLE_KIND } from './pondFishing.js';
|
|
20
21
|
import { RAW_CONGER_KIND } from './smugglersStrand.js';
|
|
@@ -86,10 +87,13 @@ export function aquariumHabitatSpecies(habitat) {
|
|
|
86
87
|
export function aquariumRequiredSpecies(habitat) {
|
|
87
88
|
return AQUARIUM_SPECIES.filter((s) => !s.members && (habitat === undefined || s.habitat === habitat));
|
|
88
89
|
}
|
|
89
|
-
/**
|
|
90
|
+
/**
|
|
91
|
+
* The habitat whose tank a model id draws (`aqtankpond` -> 'pond'), from an `aquariumtank` style: Hope Beach's tanks
|
|
92
|
+
* and the Capital Aquarium's big ones (`capaqtankpond`, capitalAquarium.ts) alike.
|
|
93
|
+
*/
|
|
90
94
|
export function aquariumHabitatForStyle(style) {
|
|
91
|
-
const model = (style ?? '').split('-')[0];
|
|
92
|
-
return AQUARIUM_HABITATS.find((h) => h.model === model)?.id ??
|
|
95
|
+
const model = (style ?? '').split('-')[0] ?? '';
|
|
96
|
+
return AQUARIUM_HABITATS.find((h) => h.model === model)?.id ?? capitalAquariumHabitatForModel(model);
|
|
93
97
|
}
|
|
94
98
|
export function emptyAquariumState() {
|
|
95
99
|
return { donated: {}, windowStart: 0, windowCount: 0, tanks: [], complete: false };
|
|
@@ -279,6 +283,10 @@ export const AQUARIUM_LECTERN_KIND = 'aquariumlectern';
|
|
|
279
283
|
* glass front), where the game swims the species a player has donated (quest-workshop aquarium_v001.py).
|
|
280
284
|
*/
|
|
281
285
|
export const AQUARIUM_TANK_INTERIOR = { halfX: 1.2, y0: 1.0, y1: 1.72, z0: -0.18, z1: 0.2 };
|
|
286
|
+
/** The water a tank's style swims its species in: Hope Beach's 3 x 1 tank, or the Capital Aquarium's 5 x 1 big tank. */
|
|
287
|
+
export function aquariumTankInterior(style) {
|
|
288
|
+
return (style ?? '').startsWith('capaqtank') ? CAPITAL_AQUARIUM_TANK_INTERIOR : AQUARIUM_TANK_INTERIOR;
|
|
289
|
+
}
|
|
282
290
|
/**
|
|
283
291
|
* The water under each glass floor piece of the walkway (aqpierglass, quest-workshop aquarium_v003.py), in the piece's
|
|
284
292
|
* own frame (three.js: x across the walkway, y up from the deck tile, z along it): where the game swims the marine life
|
|
@@ -308,7 +316,15 @@ export function onAquariumSite(x, z) {
|
|
|
308
316
|
* Inside the hall's walls: the octagon's room, not the walls nor the open corners outside them (the same measure as the
|
|
309
317
|
* collision, types constants buildingOctagonRadius).
|
|
310
318
|
*/
|
|
311
|
-
export function
|
|
319
|
+
export function inHopeAquariumHall(x, z) {
|
|
312
320
|
return buildingOctagonRadius(x - AQUARIUM_HALL.x, z - AQUARIUM_HALL.z) <= AQUARIUM_HALL.halfX - 0.5;
|
|
313
321
|
}
|
|
322
|
+
/**
|
|
323
|
+
* Inside an aquarium, where the donate panel, the book and the tanks are in reach: the Hope Beach hall, or anywhere
|
|
324
|
+
* indoors in the Capital Aquarium (its Main Hall and its three wings, capitalAquarium.ts). The one collection book opens
|
|
325
|
+
* in either.
|
|
326
|
+
*/
|
|
327
|
+
export function inAquariumHall(x, z) {
|
|
328
|
+
return inHopeAquariumHall(x, z) || inCapitalAquarium(x, z);
|
|
329
|
+
}
|
|
314
330
|
//# sourceMappingURL=aquarium.js.map
|
package/dist/aquarium.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"aquarium.js","sourceRoot":"","sources":["../src/aquarium.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"aquarium.js","sourceRoot":"","sources":["../src/aquarium.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
import type { AquariumHabitat } from './aquarium.js';
|
|
2
|
+
export declare const CAPITAL_AQUARIUM_NAME = "The Capital Aquarium";
|
|
3
|
+
/** The Head Curator (NpcKind `headcurator`), in the Full Collection wing: the sheet's "Head Curator". */
|
|
4
|
+
export declare const HEAD_CURATOR_NAME = "Head Curator Ambrose Kell";
|
|
5
|
+
/** The axis the whole aquarium stands on: the Royal Way's rows, the Harbour Road's and the Royal Pier's. */
|
|
6
|
+
export declare const CAPITAL_AQUARIUM_Z: number;
|
|
7
|
+
/**
|
|
8
|
+
* The bridge from the Royal Pier's head (harbour.ts HARBOUR_ROYAL_PIER.maxX is 853; a test holds the two together),
|
|
9
|
+
* five wide, three 5 x 5 Blender pieces. Its tiles are deck at the quay's height like the pier's.
|
|
10
|
+
*/
|
|
11
|
+
export declare const CAPITAL_AQUARIUM_BRIDGE: {
|
|
12
|
+
readonly minX: 854;
|
|
13
|
+
readonly maxX: 868;
|
|
14
|
+
readonly minZ: number;
|
|
15
|
+
readonly maxZ: number;
|
|
16
|
+
};
|
|
17
|
+
export declare const CAPITAL_AQUARIUM_BRIDGE_MODEL = "capaqbridge";
|
|
18
|
+
/** Centre tiles of the bridge pieces, the pier end first. */
|
|
19
|
+
export declare const CAPITAL_AQUARIUM_BRIDGE_PIECES: ReadonlyArray<{
|
|
20
|
+
x: number;
|
|
21
|
+
z: number;
|
|
22
|
+
}>;
|
|
23
|
+
/** The Grand Quay: the island the buildings stand on, laid stone at the quay's height, the harbour's quay edges round it. */
|
|
24
|
+
export declare const CAPITAL_AQUARIUM_QUAY: {
|
|
25
|
+
readonly minX: 869;
|
|
26
|
+
readonly maxX: 923;
|
|
27
|
+
readonly minZ: 129;
|
|
28
|
+
readonly maxZ: 191;
|
|
29
|
+
};
|
|
30
|
+
export type CapitalAquariumFacing = 'n' | 'e' | 's' | 'w';
|
|
31
|
+
export type CapitalAquariumPiece = {
|
|
32
|
+
id: string;
|
|
33
|
+
model: string;
|
|
34
|
+
x: number;
|
|
35
|
+
z: number;
|
|
36
|
+
facing: CapitalAquariumFacing;
|
|
37
|
+
};
|
|
38
|
+
/** The Monumental Entrance Arch on the quay's west edge, facing the bridge: its passage is the bridge's five rows. */
|
|
39
|
+
export declare const CAPITAL_AQUARIUM_ARCH: CapitalAquariumPiece;
|
|
40
|
+
/**
|
|
41
|
+
* The Main Hall: a 23 x 23 octagon (half 11), its door west onto the Grand Quay and three more openings five wide on its
|
|
42
|
+
* north, south and east faces into the wings.
|
|
43
|
+
*/
|
|
44
|
+
export declare const CAPITAL_AQUARIUM_HALL: {
|
|
45
|
+
id: string;
|
|
46
|
+
model: string;
|
|
47
|
+
x: number;
|
|
48
|
+
z: number;
|
|
49
|
+
half: number;
|
|
50
|
+
facing: CapitalAquariumFacing;
|
|
51
|
+
};
|
|
52
|
+
/** The wings: one 11 x 17 gallery shell each, open on the hall's side (their door faces the hall). */
|
|
53
|
+
export type CapitalAquariumWing = CapitalAquariumPiece & {
|
|
54
|
+
halfAcross: number;
|
|
55
|
+
halfDeep: number;
|
|
56
|
+
label: string;
|
|
57
|
+
};
|
|
58
|
+
export declare const CAPITAL_AQUARIUM_WINGS: readonly CapitalAquariumWing[];
|
|
59
|
+
/** The Grand Ocean tank in the middle of the hall: 7 x 7, solid. The Crown's sharks, ray, turtle and shoal. */
|
|
60
|
+
export declare const CAPITAL_AQUARIUM_OCEAN_TANK: CapitalAquariumPiece;
|
|
61
|
+
/**
|
|
62
|
+
* The big tanks (5 x 1, against the gallery walls, their glass facing into the gallery). A `habitat` tank is one of the
|
|
63
|
+
* book's five and swims the player's own donations (kind aquariumtank); the others are the Crown's exhibition tanks
|
|
64
|
+
* (kind dreadmodel), stocked by the aquarium.
|
|
65
|
+
*/
|
|
66
|
+
export type CapitalAquariumTank = CapitalAquariumPiece & {
|
|
67
|
+
habitat: AquariumHabitat | null;
|
|
68
|
+
};
|
|
69
|
+
export declare const CAPITAL_AQUARIUM_TANKS: readonly CapitalAquariumTank[];
|
|
70
|
+
/** The Notable Specimens display (3 x 3, solid) in the east wing, and the Full Collection display against its back wall. */
|
|
71
|
+
export declare const CAPITAL_AQUARIUM_SKELETON: CapitalAquariumPiece;
|
|
72
|
+
export declare const CAPITAL_AQUARIUM_TITLE: CapitalAquariumPiece;
|
|
73
|
+
/** The Head Curator's desk (the Hope Beach desk, 3 x 1) in front of the title, and where he stands behind it. */
|
|
74
|
+
export declare const CAPITAL_AQUARIUM_DESK: CapitalAquariumPiece;
|
|
75
|
+
export declare const HEAD_CURATOR_SPOT: {
|
|
76
|
+
readonly x: number;
|
|
77
|
+
readonly z: number;
|
|
78
|
+
};
|
|
79
|
+
/** The Collection Book on its lectern, inside the hall's door. */
|
|
80
|
+
export declare const CAPITAL_AQUARIUM_LECTERN: CapitalAquariumPiece;
|
|
81
|
+
/** Plaque pedestals along the east wing's walls, and the quay's lamp standards and benches. */
|
|
82
|
+
export declare const CAPITAL_AQUARIUM_PLAQUES: readonly CapitalAquariumPiece[];
|
|
83
|
+
export declare const CAPITAL_AQUARIUM_LAMPS: readonly CapitalAquariumPiece[];
|
|
84
|
+
export declare const CAPITAL_AQUARIUM_BENCHES: readonly CapitalAquariumPiece[];
|
|
85
|
+
/** Every Blender model the aquarium places, for the asset tables and their tests. */
|
|
86
|
+
export declare const CAPITAL_AQUARIUM_MODELS: readonly string[];
|
|
87
|
+
/** The big tank's water, in its own three.js frame (as AQUARIUM_TANK_INTERIOR is the Hope Beach tank's). */
|
|
88
|
+
export declare const CAPITAL_AQUARIUM_TANK_INTERIOR: {
|
|
89
|
+
readonly halfX: 2.2;
|
|
90
|
+
readonly y0: 0.95;
|
|
91
|
+
readonly y1: 2.55;
|
|
92
|
+
readonly z0: -0.28;
|
|
93
|
+
readonly z1: 0.36;
|
|
94
|
+
};
|
|
95
|
+
export declare function onCapitalAquariumBridge(x: number, z: number): boolean;
|
|
96
|
+
export declare function onCapitalAquariumQuay(x: number, z: number): boolean;
|
|
97
|
+
/** Every tile the aquarium lays as deck over the Sound: the bridge and the Grand Quay. */
|
|
98
|
+
export declare function onCapitalAquariumGround(x: number, z: number): boolean;
|
|
99
|
+
/** Inside the Main Hall's walls (the walkable room, not the ring its walls stand on). */
|
|
100
|
+
export declare function inCapitalAquariumHall(x: number, z: number): boolean;
|
|
101
|
+
/** Inside one of the wings' walls. */
|
|
102
|
+
export declare function inCapitalAquariumWing(x: number, z: number): boolean;
|
|
103
|
+
/** Anywhere indoors in the Capital Aquarium: the hall or a wing. */
|
|
104
|
+
export declare function inCapitalAquarium(x: number, z: number): boolean;
|
|
105
|
+
/** The habitat whose big tank a model id draws (`capaqtankpond` -> 'pond'); null for the Crown's exhibition tanks. */
|
|
106
|
+
export declare function capitalAquariumHabitatForModel(model: string): AquariumHabitat | null;
|
|
107
|
+
/**
|
|
108
|
+
* The walk-ins whose roofs lift together: standing in a wing, the camera hangs over the Main Hall, whose dome would
|
|
109
|
+
* otherwise stand between the player and the camera (and the same from the hall into a wing). The client hides every
|
|
110
|
+
* roof of the group while the player is inside any of them.
|
|
111
|
+
*/
|
|
112
|
+
export declare const CAPITAL_AQUARIUM_ROOF_GROUP = "capital-aquarium";
|
|
113
|
+
export declare function buildingRoofGroup(style: string | undefined): string | null;
|
|
114
|
+
//# sourceMappingURL=capitalAquarium.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"capitalAquarium.d.ts","sourceRoot":"","sources":["../src/capitalAquarium.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* THE CAPITAL AQUARIUM, the Great Aquarium's phase 2 (James, 2026-10-03: two concept sheets, "the capital grand
|
|
3
|
+
* aquarium", filed in the backend's design-references as `capital-aquarium`; plan
|
|
4
|
+
* `.cursor/task-plans/2026-10-03-capital-aquarium.md`).
|
|
5
|
+
*
|
|
6
|
+
* It stands in the Sound off the end of the King's Harbour's Royal Pier, on the Royal Way's axis, so the line that runs
|
|
7
|
+
* Great Gate, Way, keep, East Gate, Harbour Road, Royal Pier ends at its dome. A stone bridge runs on from the pier head
|
|
8
|
+
* to the Monumental Entrance Arch on the Grand Quay, an island of laid stone at the quay's height with the harbour's own
|
|
9
|
+
* quay edges. On it, sheet 2's cross turned to face the Capital: the octagonal Main Hall in the middle round the Grand
|
|
10
|
+
* Ocean tank, the Freshwater Gallery to the north, the Seas Gallery to the south, and the Notable Specimens and Full
|
|
11
|
+
* Collection wing to the east, where the Head Curator presents the title.
|
|
12
|
+
*
|
|
13
|
+
* It opens the SAME collection book as the Hope Beach aquarium (aquarium.ts): the five habitats' big tanks swim each
|
|
14
|
+
* player's own donations, and three more tanks and the Grand Ocean hold the Crown's own creatures. World tiles, absolute
|
|
15
|
+
* like the harbour's. Backend builder: capitalAquarium.ts (called from the harbour's build). Blender pieces:
|
|
16
|
+
* quest-workshop/scripts/capitalaquarium_v00N.py.
|
|
17
|
+
*/
|
|
18
|
+
import { CAPITAL_AVENUE_Z } from './capital.js';
|
|
19
|
+
export const CAPITAL_AQUARIUM_NAME = 'The Capital Aquarium';
|
|
20
|
+
/** The Head Curator (NpcKind `headcurator`), in the Full Collection wing: the sheet's "Head Curator". */
|
|
21
|
+
export const HEAD_CURATOR_NAME = 'Head Curator Ambrose Kell';
|
|
22
|
+
/** The axis the whole aquarium stands on: the Royal Way's rows, the Harbour Road's and the Royal Pier's. */
|
|
23
|
+
export const CAPITAL_AQUARIUM_Z = CAPITAL_AVENUE_Z;
|
|
24
|
+
const inRect = (r, x, z) => x >= r.minX && x <= r.maxX && z >= r.minZ && z <= r.maxZ;
|
|
25
|
+
/**
|
|
26
|
+
* The bridge from the Royal Pier's head (harbour.ts HARBOUR_ROYAL_PIER.maxX is 853; a test holds the two together),
|
|
27
|
+
* five wide, three 5 x 5 Blender pieces. Its tiles are deck at the quay's height like the pier's.
|
|
28
|
+
*/
|
|
29
|
+
export const CAPITAL_AQUARIUM_BRIDGE = {
|
|
30
|
+
minX: 854,
|
|
31
|
+
maxX: 868,
|
|
32
|
+
minZ: CAPITAL_AQUARIUM_Z - 2,
|
|
33
|
+
maxZ: CAPITAL_AQUARIUM_Z + 2,
|
|
34
|
+
};
|
|
35
|
+
export const CAPITAL_AQUARIUM_BRIDGE_MODEL = 'capaqbridge';
|
|
36
|
+
/** Centre tiles of the bridge pieces, the pier end first. */
|
|
37
|
+
export const CAPITAL_AQUARIUM_BRIDGE_PIECES = [856, 861, 866].map((x) => ({ x, z: CAPITAL_AQUARIUM_Z }));
|
|
38
|
+
/** The Grand Quay: the island the buildings stand on, laid stone at the quay's height, the harbour's quay edges round it. */
|
|
39
|
+
export const CAPITAL_AQUARIUM_QUAY = { minX: 869, maxX: 923, minZ: 129, maxZ: 191 };
|
|
40
|
+
/** The Monumental Entrance Arch on the quay's west edge, facing the bridge: its passage is the bridge's five rows. */
|
|
41
|
+
export const CAPITAL_AQUARIUM_ARCH = { id: 'capaq-arch', model: 'capaqarch', x: 871, z: CAPITAL_AQUARIUM_Z, facing: 'w' };
|
|
42
|
+
/**
|
|
43
|
+
* The Main Hall: a 23 x 23 octagon (half 11), its door west onto the Grand Quay and three more openings five wide on its
|
|
44
|
+
* north, south and east faces into the wings.
|
|
45
|
+
*/
|
|
46
|
+
export const CAPITAL_AQUARIUM_HALL = { id: 'capaq-hall', model: 'capaqhall', x: 893, z: CAPITAL_AQUARIUM_Z, half: 11, facing: 'w' };
|
|
47
|
+
export const CAPITAL_AQUARIUM_WINGS = [
|
|
48
|
+
{ id: 'capaq-north', model: 'capaqgallery', x: 893, z: CAPITAL_AQUARIUM_Z - 20, facing: 's', halfAcross: 5, halfDeep: 8, label: 'The Freshwater Gallery' },
|
|
49
|
+
{ id: 'capaq-south', model: 'capaqgallery', x: 893, z: CAPITAL_AQUARIUM_Z + 20, facing: 'n', halfAcross: 5, halfDeep: 8, label: 'The Seas Gallery' },
|
|
50
|
+
{ id: 'capaq-east', model: 'capaqgallery', x: 913, z: CAPITAL_AQUARIUM_Z, facing: 'w', halfAcross: 5, halfDeep: 8, label: 'Notable Specimens & the Full Collection' },
|
|
51
|
+
];
|
|
52
|
+
/** The Grand Ocean tank in the middle of the hall: 7 x 7, solid. The Crown's sharks, ray, turtle and shoal. */
|
|
53
|
+
export const CAPITAL_AQUARIUM_OCEAN_TANK = { id: 'capaq-ocean', model: 'capaqoceantank', x: 893, z: CAPITAL_AQUARIUM_Z, facing: 'w' };
|
|
54
|
+
const N = CAPITAL_AQUARIUM_WINGS[0];
|
|
55
|
+
const S = CAPITAL_AQUARIUM_WINGS[1];
|
|
56
|
+
export const CAPITAL_AQUARIUM_TANKS = [
|
|
57
|
+
// The Freshwater Gallery: Pond Life and Water Plants on the west wall, Lake Fish and the Crown's River Fish on the east.
|
|
58
|
+
{ id: 'capaq-tank-pond', model: 'capaqtankpond', habitat: 'pond', x: N.x - 4, z: N.z + 3, facing: 'e' },
|
|
59
|
+
{ id: 'capaq-tank-plants', model: 'capaqtankplants', habitat: 'plants', x: N.x - 4, z: N.z - 4, facing: 'e' },
|
|
60
|
+
{ id: 'capaq-tank-lake', model: 'capaqtanklake', habitat: 'lake', x: N.x + 4, z: N.z + 3, facing: 'w' },
|
|
61
|
+
{ id: 'capaq-tank-river', model: 'capaqtankriver', habitat: null, x: N.x + 4, z: N.z - 4, facing: 'w' },
|
|
62
|
+
// The Seas Gallery: Coastal & Sea and the Crown's Crab & Shoreline on the west wall, Frozen Waters and the Deep Sea east.
|
|
63
|
+
{ id: 'capaq-tank-sea', model: 'capaqtanksea', habitat: 'sea', x: S.x - 4, z: S.z - 3, facing: 'e' },
|
|
64
|
+
{ id: 'capaq-tank-shore', model: 'capaqtankshore', habitat: null, x: S.x - 4, z: S.z + 4, facing: 'e' },
|
|
65
|
+
{ id: 'capaq-tank-frozen', model: 'capaqtankfrozen', habitat: 'frozen', x: S.x + 4, z: S.z - 3, facing: 'w' },
|
|
66
|
+
{ id: 'capaq-tank-deep', model: 'capaqtankdeep', habitat: null, x: S.x + 4, z: S.z + 4, facing: 'w' },
|
|
67
|
+
];
|
|
68
|
+
const E = CAPITAL_AQUARIUM_WINGS[2];
|
|
69
|
+
/** The Notable Specimens display (3 x 3, solid) in the east wing, and the Full Collection display against its back wall. */
|
|
70
|
+
export const CAPITAL_AQUARIUM_SKELETON = { id: 'capaq-skeleton', model: 'capaqskeleton', x: E.x - 3, z: E.z, facing: 'w' };
|
|
71
|
+
export const CAPITAL_AQUARIUM_TITLE = { id: 'capaq-title', model: 'capaqtitle', x: E.x + 7, z: E.z, facing: 'w' };
|
|
72
|
+
/** The Head Curator's desk (the Hope Beach desk, 3 x 1) in front of the title, and where he stands behind it. */
|
|
73
|
+
export const CAPITAL_AQUARIUM_DESK = { id: 'capaq-desk', model: 'aqdesk', x: E.x + 4, z: E.z, facing: 'w' };
|
|
74
|
+
export const HEAD_CURATOR_SPOT = { x: E.x + 5, z: E.z };
|
|
75
|
+
/** The Collection Book on its lectern, inside the hall's door. */
|
|
76
|
+
export const CAPITAL_AQUARIUM_LECTERN = { id: 'capaq-lectern', model: 'aqlectern', x: 885, z: CAPITAL_AQUARIUM_Z - 4, facing: 'w' };
|
|
77
|
+
/** Plaque pedestals along the east wing's walls, and the quay's lamp standards and benches. */
|
|
78
|
+
export const CAPITAL_AQUARIUM_PLAQUES = [
|
|
79
|
+
{ id: 'capaq-plaque-1', model: 'capaqplaque', x: E.x - 6, z: E.z - 4, facing: 's' },
|
|
80
|
+
{ id: 'capaq-plaque-2', model: 'capaqplaque', x: E.x - 6, z: E.z + 4, facing: 'n' },
|
|
81
|
+
{ id: 'capaq-plaque-3', model: 'capaqplaque', x: E.x + 1, z: E.z - 4, facing: 's' },
|
|
82
|
+
{ id: 'capaq-plaque-4', model: 'capaqplaque', x: E.x + 1, z: E.z + 4, facing: 'n' },
|
|
83
|
+
];
|
|
84
|
+
const Q = CAPITAL_AQUARIUM_QUAY;
|
|
85
|
+
export const CAPITAL_AQUARIUM_LAMPS = [
|
|
86
|
+
// Either side of the arch's inner mouth and of the hall's door, then round the quay's edge.
|
|
87
|
+
{ id: 'capaq-lamp-arch-n', model: 'capaqlamp', x: 874, z: CAPITAL_AQUARIUM_Z - 3, facing: 'w' },
|
|
88
|
+
{ id: 'capaq-lamp-arch-s', model: 'capaqlamp', x: 874, z: CAPITAL_AQUARIUM_Z + 3, facing: 'w' },
|
|
89
|
+
{ id: 'capaq-lamp-door-n', model: 'capaqlamp', x: 880, z: CAPITAL_AQUARIUM_Z - 4, facing: 'w' },
|
|
90
|
+
{ id: 'capaq-lamp-door-s', model: 'capaqlamp', x: 880, z: CAPITAL_AQUARIUM_Z + 4, facing: 'w' },
|
|
91
|
+
...[Q.minZ + 2, Q.minZ + 14, Q.maxZ - 14, Q.maxZ - 2].map((z, i) => ({ id: `capaq-lamp-w-${i + 1}`, model: 'capaqlamp', x: Q.minX + 1, z, facing: 'w' })),
|
|
92
|
+
...[877, 905, 919].map((x, i) => ({ id: `capaq-lamp-n-${i + 1}`, model: 'capaqlamp', x, z: Q.minZ + 1, facing: 'n' })),
|
|
93
|
+
...[877, 905, 919].map((x, i) => ({ id: `capaq-lamp-s-${i + 1}`, model: 'capaqlamp', x, z: Q.maxZ - 1, facing: 's' })),
|
|
94
|
+
...[Q.minZ + 12, Q.maxZ - 12].map((z, i) => ({ id: `capaq-lamp-e-${i + 1}`, model: 'capaqlamp', x: Q.maxX - 1, z, facing: 'e' })),
|
|
95
|
+
];
|
|
96
|
+
export const CAPITAL_AQUARIUM_BENCHES = [
|
|
97
|
+
// On the Grand Quay either side of the walk from the arch to the door, facing it.
|
|
98
|
+
{ id: 'capaq-bench-1', model: 'capaqbench', x: 877, z: CAPITAL_AQUARIUM_Z - 6, facing: 's' },
|
|
99
|
+
{ id: 'capaq-bench-2', model: 'capaqbench', x: 877, z: CAPITAL_AQUARIUM_Z + 6, facing: 'n' },
|
|
100
|
+
];
|
|
101
|
+
/** Every Blender model the aquarium places, for the asset tables and their tests. */
|
|
102
|
+
export const CAPITAL_AQUARIUM_MODELS = [
|
|
103
|
+
CAPITAL_AQUARIUM_BRIDGE_MODEL, 'capaqarch', 'capaqhall', 'capaqgallery', 'capaqoceantank',
|
|
104
|
+
'capaqtankpond', 'capaqtankplants', 'capaqtanklake', 'capaqtanksea', 'capaqtankfrozen',
|
|
105
|
+
'capaqtankriver', 'capaqtankdeep', 'capaqtankshore', 'capaqskeleton', 'capaqtitle', 'capaqplaque', 'capaqlamp', 'capaqbench',
|
|
106
|
+
];
|
|
107
|
+
/** The big tank's water, in its own three.js frame (as AQUARIUM_TANK_INTERIOR is the Hope Beach tank's). */
|
|
108
|
+
export const CAPITAL_AQUARIUM_TANK_INTERIOR = { halfX: 2.2, y0: 0.95, y1: 2.55, z0: -0.28, z1: 0.36 };
|
|
109
|
+
export function onCapitalAquariumBridge(x, z) {
|
|
110
|
+
return inRect(CAPITAL_AQUARIUM_BRIDGE, x, z);
|
|
111
|
+
}
|
|
112
|
+
export function onCapitalAquariumQuay(x, z) {
|
|
113
|
+
return inRect(CAPITAL_AQUARIUM_QUAY, x, z);
|
|
114
|
+
}
|
|
115
|
+
/** Every tile the aquarium lays as deck over the Sound: the bridge and the Grand Quay. */
|
|
116
|
+
export function onCapitalAquariumGround(x, z) {
|
|
117
|
+
return onCapitalAquariumBridge(x, z) || onCapitalAquariumQuay(x, z);
|
|
118
|
+
}
|
|
119
|
+
/** The octagon's radius of a tile offset (the hall's walls stand where it is 10.5-11; inside is less). */
|
|
120
|
+
function octagonRadius(dx, dz) {
|
|
121
|
+
return Math.max(Math.abs(dx), Math.abs(dz), (Math.abs(dx) + Math.abs(dz)) / Math.SQRT2);
|
|
122
|
+
}
|
|
123
|
+
/** Inside the Main Hall's walls (the walkable room, not the ring its walls stand on). */
|
|
124
|
+
export function inCapitalAquariumHall(x, z) {
|
|
125
|
+
const H = CAPITAL_AQUARIUM_HALL;
|
|
126
|
+
return octagonRadius(x - H.x, z - H.z) < H.half - 0.5;
|
|
127
|
+
}
|
|
128
|
+
/** Inside one of the wings' walls. */
|
|
129
|
+
export function inCapitalAquariumWing(x, z) {
|
|
130
|
+
return CAPITAL_AQUARIUM_WINGS.some((w) => {
|
|
131
|
+
const alongX = w.facing === 'e' || w.facing === 'w';
|
|
132
|
+
const hx = alongX ? w.halfDeep : w.halfAcross;
|
|
133
|
+
const hz = alongX ? w.halfAcross : w.halfDeep;
|
|
134
|
+
return Math.abs(x - w.x) < hx && Math.abs(z - w.z) < hz;
|
|
135
|
+
});
|
|
136
|
+
}
|
|
137
|
+
/** Anywhere indoors in the Capital Aquarium: the hall or a wing. */
|
|
138
|
+
export function inCapitalAquarium(x, z) {
|
|
139
|
+
return inCapitalAquariumHall(x, z) || inCapitalAquariumWing(x, z);
|
|
140
|
+
}
|
|
141
|
+
/** The habitat whose big tank a model id draws (`capaqtankpond` -> 'pond'); null for the Crown's exhibition tanks. */
|
|
142
|
+
export function capitalAquariumHabitatForModel(model) {
|
|
143
|
+
return CAPITAL_AQUARIUM_TANKS.find((t) => t.model === model)?.habitat ?? null;
|
|
144
|
+
}
|
|
145
|
+
/**
|
|
146
|
+
* The walk-ins whose roofs lift together: standing in a wing, the camera hangs over the Main Hall, whose dome would
|
|
147
|
+
* otherwise stand between the player and the camera (and the same from the hall into a wing). The client hides every
|
|
148
|
+
* roof of the group while the player is inside any of them.
|
|
149
|
+
*/
|
|
150
|
+
export const CAPITAL_AQUARIUM_ROOF_GROUP = 'capital-aquarium';
|
|
151
|
+
export function buildingRoofGroup(style) {
|
|
152
|
+
const model = (style ?? '').split('-')[0];
|
|
153
|
+
return model === CAPITAL_AQUARIUM_HALL.model || model === 'capaqgallery' ? CAPITAL_AQUARIUM_ROOF_GROUP : null;
|
|
154
|
+
}
|
|
155
|
+
//# sourceMappingURL=capitalAquarium.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"capitalAquarium.js","sourceRoot":"","sources":["../src/capitalAquarium.ts"],"names":[],"mappings":"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"}
|
package/dist/constants.d.ts
CHANGED
|
@@ -71,6 +71,12 @@ export declare const MAP_HEIGHT: number;
|
|
|
71
71
|
*/
|
|
72
72
|
export declare const UNDERGROUND_CHUNKS_X = 8;
|
|
73
73
|
export declare const UNDERGROUND_ORIGIN_X: number;
|
|
74
|
+
/**
|
|
75
|
+
* Are two x positions on the same side of the map's east edge (the overworld, or the underground strip past it)?
|
|
76
|
+
* The client draws only the side the player is on: from the King's Harbour's far side (the Capital Aquarium) the
|
|
77
|
+
* strip's caves are inside the loaded chunk ring, and from a cave the Sound is.
|
|
78
|
+
*/
|
|
79
|
+
export declare function sameSideOfUndergroundEdge(x: number, viewerX: number): boolean;
|
|
74
80
|
export declare const GRID_CHUNKS_X: number;
|
|
75
81
|
export declare const GRID_CHUNKS_Z: number;
|
|
76
82
|
export declare const GRID_WIDTH: number;
|
|
@@ -286,7 +292,9 @@ export type NpcKind = 'seagull' | 'crab'
|
|
|
286
292
|
/** The sheet's larger rock crab, green, along the Blood River in the Dreadwoods. */
|
|
287
293
|
| 'greencrab' | 'seabass' | 'beagle' | 'trader' | 'woody' | 'rabbit' | 'petrabbit' | 'forbes' | 'jobless' | 'driver' | 'duck' | 'angler'
|
|
288
294
|
/** Curator Elowen Vane, who keeps the Great Aquarium on Hope Beach (aquarium.ts). */
|
|
289
|
-
| 'curator'
|
|
295
|
+
| 'curator'
|
|
296
|
+
/** Head Curator Ambrose Kell, of the Capital Aquarium in the King's Harbour (capitalAquarium.ts). */
|
|
297
|
+
| 'headcurator' | 'wilson' | 'pig' | 'cow' | 'chicken' | 'sheep'
|
|
290
298
|
/**
|
|
291
299
|
* The farm's sheep gone feral, out in the woodland between the farm gate and
|
|
292
300
|
* the beach path. A separate kind from `sheep` on purpose: the pen animals at
|
|
@@ -655,6 +663,12 @@ export type CapitalBuildingModel = {
|
|
|
655
663
|
readonly octagon?: boolean;
|
|
656
664
|
/** May stand at 45 degrees: a style ending `-ne`, `-nw`, `-se` or `-sw` lays it along that diagonal (buildingDiagonalFront). */
|
|
657
665
|
readonly diagonal?: boolean;
|
|
666
|
+
/**
|
|
667
|
+
* More openings as wide as the door's mouth, on the walk-in's other sides (local: 'back' opposite the door, 'left' on
|
|
668
|
+
* local -X, 'right' on +X): the Capital Aquarium's hall opens into its three wings. The collision and the roof hide both
|
|
669
|
+
* read them (buildingExtraDoorFacings, the `extraDoors` argument of buildingWallBlocksOffset and isBuildingInteriorOffset).
|
|
670
|
+
*/
|
|
671
|
+
readonly mouths?: ReadonlyArray<'back' | 'left' | 'right'>;
|
|
658
672
|
readonly frontProps?: ReadonlyArray<readonly [number, number]>;
|
|
659
673
|
};
|
|
660
674
|
export declare const CAPITAL_BUILDING_MODELS: Readonly<Record<string, CapitalBuildingModel>>;
|
|
@@ -666,6 +680,11 @@ export declare function buildingModelDiagonalFront(style: string | undefined): r
|
|
|
666
680
|
/** The outline a walk-in's walls follow: a rectangle ring, or an `octagon` model's eight walls. */
|
|
667
681
|
export type BuildingShape = 'rect' | 'octagon';
|
|
668
682
|
export declare function buildingShapeOf(kind: EntityKind | string, style: string | undefined): BuildingShape;
|
|
683
|
+
/**
|
|
684
|
+
* The world facings of a walk-in's extra openings (CapitalBuildingModel.mouths), turned with the building: a hall whose
|
|
685
|
+
* door faces west with mouths back, left and right opens on all four sides. Empty for everything else.
|
|
686
|
+
*/
|
|
687
|
+
export declare function buildingExtraDoorFacings(kind: EntityKind | string, style: string | undefined): BuildingDoorFacing[];
|
|
669
688
|
/** A tile's distance from a regular octagon's centre in the octagon's own measure: max(|dx|, |dz|, (|dx| + |dz|) / sqrt 2). */
|
|
670
689
|
export declare function buildingOctagonRadius(dx: number, dz: number): number;
|
|
671
690
|
/**
|
|
@@ -726,14 +745,14 @@ export declare function buildingFootprintRadius(kind: EntityKind, scale: number
|
|
|
726
745
|
* five-wide mouth. The corners always stay wall.
|
|
727
746
|
*/
|
|
728
747
|
export declare function isBuildingDoorOffset(dx: number, dz: number, footprint: number | BuildingFootprint, doorFacing?: BuildingDoorFacing, halfW?: number): boolean;
|
|
729
|
-
export declare function buildingWallBlocksOffset(dx: number, dz: number, footprint: number | BuildingFootprint, doorFacing?: BuildingDoorFacing, halfW?: number, shape?: BuildingShape): boolean;
|
|
748
|
+
export declare function buildingWallBlocksOffset(dx: number, dz: number, footprint: number | BuildingFootprint, doorFacing?: BuildingDoorFacing, halfW?: number, shape?: BuildingShape, extraDoors?: readonly BuildingDoorFacing[]): boolean;
|
|
730
749
|
/**
|
|
731
750
|
* Inside the building for the roof hide: any footprint tile that is not a
|
|
732
751
|
* blocked ring tile (the door, or the whole mouth, counts as inside). Pass
|
|
733
752
|
* the mouth rule's `halfW` (buildingDoorHalfWidth(kind, style)) so the roof
|
|
734
753
|
* lifts across a wide mouth exactly where the collision opens it.
|
|
735
754
|
*/
|
|
736
|
-
export declare function isBuildingInteriorOffset(dx: number, dz: number, footprint: number | BuildingFootprint, doorFacing?: BuildingDoorFacing, halfW?: number, shape?: BuildingShape): boolean;
|
|
755
|
+
export declare function isBuildingInteriorOffset(dx: number, dz: number, footprint: number | BuildingFootprint, doorFacing?: BuildingDoorFacing, halfW?: number, shape?: BuildingShape, extraDoors?: readonly BuildingDoorFacing[]): boolean;
|
|
737
756
|
export declare function boulderFootprintRadius(style: string | undefined, scale: number | undefined): number;
|
|
738
757
|
export declare function blockingFootprintRadius(kind: EntityKind, style: string | undefined, scale: number | undefined): number;
|
|
739
758
|
export declare function isCaveTunnelExitStyle(style: string | undefined): boolean;
|