@dreadwood-types/types 0.1.105 → 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 +63 -13
- package/dist/aquarium.d.ts.map +1 -1
- package/dist/aquarium.js +94 -43
- 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 +47 -3
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +155 -16
- 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
|
@@ -35,7 +35,10 @@ export type AquariumSpecies = {
|
|
|
35
35
|
explorerXp: number;
|
|
36
36
|
/** Each later donation: about one catch's XP (world.ts's catch XP), capped by AQUARIUM_REPEATS_PER_WINDOW. */
|
|
37
37
|
repeatXp: number;
|
|
38
|
-
/**
|
|
38
|
+
/**
|
|
39
|
+
* Only members can catch it (the Smugglers' Strand's conger), so only members may donate it. A bonus specimen: no
|
|
40
|
+
* tank and not the book waits for it (aquariumRequiredSpecies).
|
|
41
|
+
*/
|
|
39
42
|
members?: boolean;
|
|
40
43
|
/** Where to find it, one line for the book. */
|
|
41
44
|
where: string;
|
|
@@ -47,11 +50,11 @@ export type AquariumSpecies = {
|
|
|
47
50
|
* species together (110) take a brand new character from Fishing 1 almost to 3 (121; xp.ts) and a Sea Bass pays 800.
|
|
48
51
|
*/
|
|
49
52
|
export declare const AQUARIUM_SPECIES: readonly AquariumSpecies[];
|
|
50
|
-
/** Repeat donations (any species already in the book) a character may make in one window.
|
|
53
|
+
/** Repeat donations (any species already in the book) a character may make in one window. Sheets D and E: "17 / 20". */
|
|
51
54
|
export declare const AQUARIUM_REPEATS_PER_WINDOW = 20;
|
|
52
55
|
/** The window: it opens at the first repeat donation and lasts an hour, then the count starts again. */
|
|
53
56
|
export declare const AQUARIUM_REPEAT_WINDOW_MS: number;
|
|
54
|
-
/** The whole book: a title and a last payout. */
|
|
57
|
+
/** The whole book (its free species: aquariumRequiredSpecies): a title and a last payout. */
|
|
55
58
|
export declare const AQUARIUM_COMPLETE_TITLE = "Keeper of the Waters";
|
|
56
59
|
export declare const AQUARIUM_COMPLETE_FISHING_XP = 2500;
|
|
57
60
|
export declare const AQUARIUM_COMPLETE_EXPLORER_XP = 500;
|
|
@@ -62,7 +65,15 @@ export declare const AQUARIUM_DONATE_MAX = 100;
|
|
|
62
65
|
export declare function aquariumSpecies(kind: unknown): AquariumSpecies | null;
|
|
63
66
|
export declare function aquariumHabitat(id: unknown): AquariumHabitatInfo | null;
|
|
64
67
|
export declare function aquariumHabitatSpecies(habitat: AquariumHabitat): AquariumSpecies[];
|
|
65
|
-
/**
|
|
68
|
+
/**
|
|
69
|
+
* The species a full tank (with `habitat`) or the whole book (without) needs: every one a free player can catch. The
|
|
70
|
+
* members-only ones are bonus specimens (W-070, James 2026-10-03).
|
|
71
|
+
*/
|
|
72
|
+
export declare function aquariumRequiredSpecies(habitat?: AquariumHabitat): AquariumSpecies[];
|
|
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
|
+
*/
|
|
66
77
|
export declare function aquariumHabitatForStyle(style: string | undefined): AquariumHabitat | null;
|
|
67
78
|
/**
|
|
68
79
|
* A character's collection, stored on the character document (backend db/characters.ts) so the first-donation flags,
|
|
@@ -84,8 +95,10 @@ export declare function emptyAquariumState(): AquariumState;
|
|
|
84
95
|
/** Whatever the database held, made safe: unknown kinds and habitats dropped, counts whole and positive. */
|
|
85
96
|
export declare function normalizeAquariumState(raw: unknown): AquariumState;
|
|
86
97
|
export declare function aquariumHasSpecies(state: AquariumState, kind: string): boolean;
|
|
87
|
-
/** Species in the book so far, of all thirteen. */
|
|
98
|
+
/** Species in the book so far, of all thirteen (bonus specimens included). */
|
|
88
99
|
export declare function aquariumSpeciesCount(state: AquariumState): number;
|
|
100
|
+
/** Of the species the book needs (aquariumRequiredSpecies, optionally one habitat's), how many are in it: the "x / 12". */
|
|
101
|
+
export declare function aquariumRequiredCount(state: AquariumState, habitat?: AquariumHabitat): number;
|
|
89
102
|
/** Repeat donations left in the window at `now`. */
|
|
90
103
|
export declare function aquariumRepeatsLeft(state: AquariumState, now: number): number;
|
|
91
104
|
/** When the window closes and the count starts again (0 when none is open). */
|
|
@@ -142,16 +155,17 @@ export declare const AQUARIUM_PLATFORM: {
|
|
|
142
155
|
readonly x: number;
|
|
143
156
|
readonly z: number;
|
|
144
157
|
readonly halfX: 7;
|
|
145
|
-
readonly halfZ:
|
|
158
|
+
readonly halfZ: 7;
|
|
146
159
|
};
|
|
147
160
|
export declare const AQUARIUM_HALL: {
|
|
148
161
|
readonly model: "aquariumhall";
|
|
149
162
|
readonly x: number;
|
|
150
163
|
readonly z: number;
|
|
151
164
|
readonly halfX: 5;
|
|
152
|
-
readonly halfZ:
|
|
165
|
+
readonly halfZ: 5;
|
|
153
166
|
};
|
|
154
|
-
|
|
167
|
+
/** n/e/s/w, or a diagonal for a tank on one of the octagon's angled walls (types constants buildingDiagonalFront). */
|
|
168
|
+
export type AquariumFacing = 'n' | 'e' | 's' | 'w' | 'ne' | 'nw' | 'se' | 'sw';
|
|
155
169
|
export type AquariumTankPlace = {
|
|
156
170
|
habitat: AquariumHabitat;
|
|
157
171
|
x: number;
|
|
@@ -159,11 +173,13 @@ export type AquariumTankPlace = {
|
|
|
159
173
|
facing: AquariumFacing;
|
|
160
174
|
};
|
|
161
175
|
/**
|
|
162
|
-
* The tanks inside the
|
|
163
|
-
* on the west
|
|
176
|
+
* The tanks inside the octagon, each 3 long against a wall with its glass to the room (sheet E): Pond Life on the west
|
|
177
|
+
* wall and Water Plants on the south-west one, Lake Fish on the east and Frozen Waters on the south-east, Coastal & Sea on
|
|
178
|
+
* the back wall behind the curator. The two on the angled walls stand at 45 degrees along their diagonal's three tiles.
|
|
179
|
+
* The angled walls either side of the door hold the water system (west) and the trophy display (east).
|
|
164
180
|
*/
|
|
165
181
|
export declare const AQUARIUM_TANKS: readonly AquariumTankPlace[];
|
|
166
|
-
/** The curator's desk (3 x 1, front to the door) and where she stands behind it. */
|
|
182
|
+
/** The curator's desk (3 x 1, front to the door) and where she stands behind it, in front of the Coastal & Sea tank. */
|
|
167
183
|
export declare const AQUARIUM_DESK: {
|
|
168
184
|
model: string;
|
|
169
185
|
x: number;
|
|
@@ -174,7 +190,7 @@ export declare const AQUARIUM_CURATOR_SPOT: {
|
|
|
174
190
|
x: number;
|
|
175
191
|
z: number;
|
|
176
192
|
};
|
|
177
|
-
/** The Collection Book on its lectern
|
|
193
|
+
/** The Collection Book on its lectern in the middle of the room, on the fish rug, the book open to the door (sheet E). */
|
|
178
194
|
export declare const AQUARIUM_LECTERN: {
|
|
179
195
|
model: string;
|
|
180
196
|
x: number;
|
|
@@ -195,6 +211,31 @@ export declare const AQUARIUM_TANK_INTERIOR: {
|
|
|
195
211
|
readonly z0: -0.18;
|
|
196
212
|
readonly z1: 0.2;
|
|
197
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;
|
|
223
|
+
/**
|
|
224
|
+
* The water under each glass floor piece of the walkway (aqpierglass, quest-workshop aquarium_v003.py), in the piece's
|
|
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
|
|
226
|
+
* a player has given the Coastal & Sea tank, seen through the panes (sheet E: "collected marine life can appear in the
|
|
227
|
+
* glass panels"). It is a thin layer between the painted seabed (y 0.042) and the panes (y 0.07), because the deck tile
|
|
228
|
+
* under it is drawn as boards; the creatures are flattened to it (`flatten`, their height's scale), which from the game
|
|
229
|
+
* camera, looking down, reads as fish swimming under the glass.
|
|
230
|
+
*/
|
|
231
|
+
export declare const AQUARIUM_GLASS_WELL: {
|
|
232
|
+
readonly halfX: 0.48;
|
|
233
|
+
readonly halfZ: 1.3;
|
|
234
|
+
readonly y0: 0.046;
|
|
235
|
+
readonly y1: 0.066;
|
|
236
|
+
readonly flatten: 0.1;
|
|
237
|
+
};
|
|
238
|
+
export declare const AQUARIUM_GLASS_WELL_HABITAT: AquariumHabitat;
|
|
198
239
|
/** Is (x, z) on the aquarium's decks: the walkway or the platform (hall included)? */
|
|
199
240
|
export declare function onAquariumDeck(x: number, z: number): boolean;
|
|
200
241
|
/**
|
|
@@ -202,6 +243,15 @@ export declare function onAquariumDeck(x: number, z: number): boolean;
|
|
|
202
243
|
* The beach's own passes (litter, finds, treasure digs, the beach regression smoke) leave these alone.
|
|
203
244
|
*/
|
|
204
245
|
export declare function onAquariumSite(x: number, z: number): boolean;
|
|
205
|
-
/**
|
|
246
|
+
/**
|
|
247
|
+
* Inside the hall's walls: the octagon's room, not the walls nor the open corners outside them (the same measure as the
|
|
248
|
+
* collision, types constants buildingOctagonRadius).
|
|
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
|
+
*/
|
|
206
256
|
export declare function inAquariumHall(x: number, z: number): boolean;
|
|
207
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
|
@@ -1,18 +1,22 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* THE GREAT AQUARIUM (James, 2026-10-03: "a giant aquarium somewhere and we store things like tadpole for lots of xp ...
|
|
3
|
-
* I want early players to be able to benefit"). His
|
|
4
|
-
* (`great-aquarium`, `aquariumcurator`, `livecrab`); the
|
|
3
|
+
* I want early players to be able to benefit"). His five concept sheets are filed in the backend's design-references
|
|
4
|
+
* (`great-aquarium`, current = sheet E; `aquariumcurator`, `livecrab`); the plans are
|
|
5
|
+
* `.cursor/task-plans/2026-10-03-great-aquarium.md` and `2026-10-03-great-aquarium-sheet-e.md`.
|
|
5
6
|
*
|
|
6
7
|
* Phase 1 is on Hope Beach, open from level 1: a pier of its own west of the Long Pier (a glass floor down its middle)
|
|
7
|
-
* out to a platform with
|
|
8
|
-
* a live catch or a water plant and its tank shows it swimming, the first of each
|
|
9
|
-
* ones a catch's worth (capped per hour), a full tank pays a bonus and the whole
|
|
10
|
-
*
|
|
8
|
+
* out to a platform with an octagonal glass hall on it under a glass dome (sheet E). Inside, Curator Elowen Vane keeps one
|
|
9
|
+
* collection book per character: donate a live catch or a water plant and its tank shows it swimming, the first of each
|
|
10
|
+
* species pays a big one-time XP, later ones a catch's worth (capped per hour), a full tank pays a bonus and the whole
|
|
11
|
+
* book a title. A members-only species is a bonus specimen: it pays its own first donation, but no tank and not the book
|
|
12
|
+
* needs it (James, 2026-10-03, W-070: a free player can finish everything). Phase 2, the grand hall in the Capital's
|
|
13
|
+
* King's Harbour, opens the same book (backend NEXT_STEPS.md).
|
|
11
14
|
*
|
|
12
15
|
* Every number James may want to tune is here: the species table, the XP, the hourly cap, the bonuses. The donation
|
|
13
16
|
* rules are pure functions here too, so the server applies exactly what the client previews.
|
|
14
17
|
*/
|
|
15
|
-
import {
|
|
18
|
+
import { CAPITAL_AQUARIUM_TANK_INTERIOR, capitalAquariumHabitatForModel, inCapitalAquarium } from './capitalAquarium.js';
|
|
19
|
+
import { BEACH_GATE_X, OCEAN_START_Z, buildingOctagonRadius } from './constants.js';
|
|
16
20
|
import { FROG_KIND, POND_WEED_KIND, ROACH_KIND, SNAIL_KIND, TADPOLE_KIND } from './pondFishing.js';
|
|
17
21
|
import { RAW_CONGER_KIND } from './smugglersStrand.js';
|
|
18
22
|
import { RAW_SMELT_KIND, RAW_TROUT_KIND } from './woodwork.js';
|
|
@@ -54,11 +58,11 @@ export const AQUARIUM_SPECIES = [
|
|
|
54
58
|
{ kind: 'rawbass', label: 'Sea Bass', habitat: 'sea', level: 40, skill: 'fishing', firstXp: 800, explorerXp: 140, repeatXp: 160, where: 'Off the far end of the Long Pier.' },
|
|
55
59
|
{ kind: 'rawfrostpike', label: 'Frost Pike', habitat: 'frozen', level: 35, skill: 'fishing', firstXp: 700, explorerXp: 125, repeatXp: 60, where: 'Through the ice holes of the Frozen Lake.' },
|
|
56
60
|
];
|
|
57
|
-
/** Repeat donations (any species already in the book) a character may make in one window.
|
|
61
|
+
/** Repeat donations (any species already in the book) a character may make in one window. Sheets D and E: "17 / 20". */
|
|
58
62
|
export const AQUARIUM_REPEATS_PER_WINDOW = 20;
|
|
59
63
|
/** The window: it opens at the first repeat donation and lasts an hour, then the count starts again. */
|
|
60
64
|
export const AQUARIUM_REPEAT_WINDOW_MS = 60 * 60 * 1000;
|
|
61
|
-
/** The whole book: a title and a last payout. */
|
|
65
|
+
/** The whole book (its free species: aquariumRequiredSpecies): a title and a last payout. */
|
|
62
66
|
export const AQUARIUM_COMPLETE_TITLE = 'Keeper of the Waters';
|
|
63
67
|
export const AQUARIUM_COMPLETE_FISHING_XP = 2500;
|
|
64
68
|
export const AQUARIUM_COMPLETE_EXPLORER_XP = 500;
|
|
@@ -76,10 +80,20 @@ export function aquariumHabitat(id) {
|
|
|
76
80
|
export function aquariumHabitatSpecies(habitat) {
|
|
77
81
|
return AQUARIUM_SPECIES.filter((s) => s.habitat === habitat);
|
|
78
82
|
}
|
|
79
|
-
/**
|
|
83
|
+
/**
|
|
84
|
+
* The species a full tank (with `habitat`) or the whole book (without) needs: every one a free player can catch. The
|
|
85
|
+
* members-only ones are bonus specimens (W-070, James 2026-10-03).
|
|
86
|
+
*/
|
|
87
|
+
export function aquariumRequiredSpecies(habitat) {
|
|
88
|
+
return AQUARIUM_SPECIES.filter((s) => !s.members && (habitat === undefined || s.habitat === habitat));
|
|
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
|
+
*/
|
|
80
94
|
export function aquariumHabitatForStyle(style) {
|
|
81
|
-
const model = (style ?? '').split('-')[0];
|
|
82
|
-
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);
|
|
83
97
|
}
|
|
84
98
|
export function emptyAquariumState() {
|
|
85
99
|
return { donated: {}, windowStart: 0, windowCount: 0, tanks: [], complete: false };
|
|
@@ -111,10 +125,14 @@ export function normalizeAquariumState(raw) {
|
|
|
111
125
|
export function aquariumHasSpecies(state, kind) {
|
|
112
126
|
return (state.donated[kind] ?? 0) > 0;
|
|
113
127
|
}
|
|
114
|
-
/** Species in the book so far, of all thirteen. */
|
|
128
|
+
/** Species in the book so far, of all thirteen (bonus specimens included). */
|
|
115
129
|
export function aquariumSpeciesCount(state) {
|
|
116
130
|
return AQUARIUM_SPECIES.filter((s) => aquariumHasSpecies(state, s.kind)).length;
|
|
117
131
|
}
|
|
132
|
+
/** Of the species the book needs (aquariumRequiredSpecies, optionally one habitat's), how many are in it: the "x / 12". */
|
|
133
|
+
export function aquariumRequiredCount(state, habitat) {
|
|
134
|
+
return aquariumRequiredSpecies(habitat).filter((s) => aquariumHasSpecies(state, s.kind)).length;
|
|
135
|
+
}
|
|
118
136
|
/** Is the window still open at `now`? A clock that went backwards (or a window from the future) counts as closed. */
|
|
119
137
|
function windowOpen(state, now) {
|
|
120
138
|
return state.windowStart > 0 && now >= state.windowStart && now - state.windowStart < AQUARIUM_REPEAT_WINDOW_MS;
|
|
@@ -189,18 +207,23 @@ export function planAquariumDonation(state, kind, want, have, now, opts = {}) {
|
|
|
189
207
|
addXp(xp, 'explorer', species.explorerXp);
|
|
190
208
|
}
|
|
191
209
|
addXp(xp, species.skill, species.repeatXp * repeats);
|
|
210
|
+
// Every tank whose free species are all in the book now and whose bonus is still unpaid: the one this donation fills,
|
|
211
|
+
// or one an earlier rule left open (before W-070 a member's sea tank waited for the conger), settled by any donation.
|
|
192
212
|
const tanksCompleted = [];
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
213
|
+
for (const habitat of AQUARIUM_HABITATS) {
|
|
214
|
+
if (next.tanks.includes(habitat.id))
|
|
215
|
+
continue;
|
|
216
|
+
const needs = aquariumRequiredSpecies(habitat.id);
|
|
217
|
+
if (needs.length === 0 || !needs.every((s) => (next.donated[s.kind] ?? 0) > 0))
|
|
218
|
+
continue;
|
|
219
|
+
tanksCompleted.push(habitat.id);
|
|
220
|
+
addXp(xp, habitat.completeSkill, habitat.completeXp);
|
|
221
|
+
}
|
|
222
|
+
if (tanksCompleted.length > 0) {
|
|
223
|
+
next.tanks = AQUARIUM_HABITATS.map((h) => h.id).filter((id) => tanksCompleted.includes(id) || next.tanks.includes(id));
|
|
201
224
|
}
|
|
202
225
|
let bookCompleted = false;
|
|
203
|
-
if (!next.complete &&
|
|
226
|
+
if (!next.complete && aquariumRequiredSpecies().every((s) => (next.donated[s.kind] ?? 0) > 0)) {
|
|
204
227
|
bookCompleted = true;
|
|
205
228
|
next.complete = true;
|
|
206
229
|
addXp(xp, 'fishing', AQUARIUM_COMPLETE_FISHING_XP);
|
|
@@ -210,11 +233,12 @@ export function planAquariumDonation(state, kind, want, have, now, opts = {}) {
|
|
|
210
233
|
}
|
|
211
234
|
/* --- Where it stands on Hope Beach ------------------------------------------
|
|
212
235
|
*
|
|
213
|
-
* West of the Long Pier, on the open sand between the beach gate and the pier (sheets
|
|
214
|
-
* walkway is three wide down x AQUARIUM_X, five 3 x 3 Blender pieces from the beach out to a 15 x
|
|
215
|
-
* 11 x
|
|
216
|
-
*
|
|
217
|
-
* landward row stays beach and its boards ramp up. The arch
|
|
236
|
+
* West of the Long Pier, on the open sand between the beach gate and the pier (the sheets' maps). World tiles. The
|
|
237
|
+
* walkway is three wide down x AQUARIUM_X, five 3 x 3 Blender pieces from the beach out to a 15 x 15 platform; the
|
|
238
|
+
* hall, a regular octagon on 11 x 11 (sheet E), stands on the platform one row south of its centre, door north, a
|
|
239
|
+
* forecourt of three rows in front and a row of deck behind. Water tiles under the decks become SurfaceType.Boards at
|
|
240
|
+
* height 1 (the Long Pier is Path at 1); the start piece's landward row stays beach and its boards ramp up. The arch
|
|
241
|
+
* stands one row further landward, on the sand.
|
|
218
242
|
*/
|
|
219
243
|
export const AQUARIUM_X = BEACH_GATE_X + 7;
|
|
220
244
|
/** The arch's row, on the sand: its two posts stand at AQUARIUM_X +- 2. */
|
|
@@ -231,24 +255,26 @@ export const AQUARIUM_WALKWAY_HALF_W = 1;
|
|
|
231
255
|
/** First and last rows of the walkway (the first is the beach row of the start piece). */
|
|
232
256
|
export const AQUARIUM_WALKWAY_MIN_Z = OCEAN_START_Z - 1;
|
|
233
257
|
export const AQUARIUM_WALKWAY_MAX_Z = OCEAN_START_Z + 13;
|
|
234
|
-
export const AQUARIUM_PLATFORM = { model: 'aqplatform', x: AQUARIUM_X, z: OCEAN_START_Z +
|
|
235
|
-
export const AQUARIUM_HALL = { model: 'aquariumhall', x: AQUARIUM_X, z: OCEAN_START_Z +
|
|
258
|
+
export const AQUARIUM_PLATFORM = { model: 'aqplatform', x: AQUARIUM_X, z: OCEAN_START_Z + 21, halfX: 7, halfZ: 7 };
|
|
259
|
+
export const AQUARIUM_HALL = { model: 'aquariumhall', x: AQUARIUM_X, z: OCEAN_START_Z + 22, halfX: 5, halfZ: 5 };
|
|
236
260
|
/**
|
|
237
|
-
* The tanks inside the
|
|
238
|
-
* on the west
|
|
261
|
+
* The tanks inside the octagon, each 3 long against a wall with its glass to the room (sheet E): Pond Life on the west
|
|
262
|
+
* wall and Water Plants on the south-west one, Lake Fish on the east and Frozen Waters on the south-east, Coastal & Sea on
|
|
263
|
+
* the back wall behind the curator. The two on the angled walls stand at 45 degrees along their diagonal's three tiles.
|
|
264
|
+
* The angled walls either side of the door hold the water system (west) and the trophy display (east).
|
|
239
265
|
*/
|
|
240
266
|
export const AQUARIUM_TANKS = [
|
|
241
|
-
{ habitat: 'pond', x: AQUARIUM_HALL.x - 4, z: AQUARIUM_HALL.z
|
|
242
|
-
{ habitat: 'plants', x: AQUARIUM_HALL.x -
|
|
243
|
-
{ habitat: 'lake', x: AQUARIUM_HALL.x + 4, z: AQUARIUM_HALL.z
|
|
244
|
-
{ habitat: '
|
|
245
|
-
{ habitat: '
|
|
267
|
+
{ habitat: 'pond', x: AQUARIUM_HALL.x - 4, z: AQUARIUM_HALL.z, facing: 'e' },
|
|
268
|
+
{ habitat: 'plants', x: AQUARIUM_HALL.x - 3, z: AQUARIUM_HALL.z + 3, facing: 'ne' },
|
|
269
|
+
{ habitat: 'lake', x: AQUARIUM_HALL.x + 4, z: AQUARIUM_HALL.z, facing: 'w' },
|
|
270
|
+
{ habitat: 'sea', x: AQUARIUM_HALL.x, z: AQUARIUM_HALL.z + 4, facing: 'n' },
|
|
271
|
+
{ habitat: 'frozen', x: AQUARIUM_HALL.x + 3, z: AQUARIUM_HALL.z + 3, facing: 'nw' },
|
|
246
272
|
];
|
|
247
|
-
/** The curator's desk (3 x 1, front to the door) and where she stands behind it. */
|
|
248
|
-
export const AQUARIUM_DESK = { model: 'aqdesk', x: AQUARIUM_HALL.x, z: AQUARIUM_HALL.z +
|
|
249
|
-
export const AQUARIUM_CURATOR_SPOT = { x: AQUARIUM_HALL.x, z: AQUARIUM_HALL.z +
|
|
250
|
-
/** The Collection Book on its lectern
|
|
251
|
-
export const AQUARIUM_LECTERN = { model: 'aqlectern', x: AQUARIUM_HALL.x
|
|
273
|
+
/** The curator's desk (3 x 1, front to the door) and where she stands behind it, in front of the Coastal & Sea tank. */
|
|
274
|
+
export const AQUARIUM_DESK = { model: 'aqdesk', x: AQUARIUM_HALL.x, z: AQUARIUM_HALL.z + 2, facing: 'n' };
|
|
275
|
+
export const AQUARIUM_CURATOR_SPOT = { x: AQUARIUM_HALL.x, z: AQUARIUM_HALL.z + 3 };
|
|
276
|
+
/** The Collection Book on its lectern in the middle of the room, on the fish rug, the book open to the door (sheet E). */
|
|
277
|
+
export const AQUARIUM_LECTERN = { model: 'aqlectern', x: AQUARIUM_HALL.x, z: AQUARIUM_HALL.z, facing: 'n' };
|
|
252
278
|
/** Kinds the aquarium's clickable pieces are placed as. */
|
|
253
279
|
export const AQUARIUM_TANK_KIND = 'aquariumtank';
|
|
254
280
|
export const AQUARIUM_LECTERN_KIND = 'aquariumlectern';
|
|
@@ -257,6 +283,20 @@ export const AQUARIUM_LECTERN_KIND = 'aquariumlectern';
|
|
|
257
283
|
* glass front), where the game swims the species a player has donated (quest-workshop aquarium_v001.py).
|
|
258
284
|
*/
|
|
259
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
|
+
}
|
|
290
|
+
/**
|
|
291
|
+
* The water under each glass floor piece of the walkway (aqpierglass, quest-workshop aquarium_v003.py), in the piece's
|
|
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
|
|
293
|
+
* a player has given the Coastal & Sea tank, seen through the panes (sheet E: "collected marine life can appear in the
|
|
294
|
+
* glass panels"). It is a thin layer between the painted seabed (y 0.042) and the panes (y 0.07), because the deck tile
|
|
295
|
+
* under it is drawn as boards; the creatures are flattened to it (`flatten`, their height's scale), which from the game
|
|
296
|
+
* camera, looking down, reads as fish swimming under the glass.
|
|
297
|
+
*/
|
|
298
|
+
export const AQUARIUM_GLASS_WELL = { halfX: 0.48, halfZ: 1.3, y0: 0.046, y1: 0.066, flatten: 0.1 };
|
|
299
|
+
export const AQUARIUM_GLASS_WELL_HABITAT = 'sea';
|
|
260
300
|
/** Is (x, z) on the aquarium's decks: the walkway or the platform (hall included)? */
|
|
261
301
|
export function onAquariumDeck(x, z) {
|
|
262
302
|
if (Math.abs(x - AQUARIUM_X) <= AQUARIUM_WALKWAY_HALF_W && z >= AQUARIUM_WALKWAY_MIN_Z && z <= AQUARIUM_WALKWAY_MAX_Z)
|
|
@@ -272,8 +312,19 @@ export function onAquariumSite(x, z) {
|
|
|
272
312
|
return true;
|
|
273
313
|
return Math.abs(x - AQUARIUM_X) <= AQUARIUM_WALKWAY_HALF_W + 1 && z >= AQUARIUM_ARCH_Z - 2 && z < AQUARIUM_WALKWAY_MIN_Z;
|
|
274
314
|
}
|
|
275
|
-
/**
|
|
315
|
+
/**
|
|
316
|
+
* Inside the hall's walls: the octagon's room, not the walls nor the open corners outside them (the same measure as the
|
|
317
|
+
* collision, types constants buildingOctagonRadius).
|
|
318
|
+
*/
|
|
319
|
+
export function inHopeAquariumHall(x, z) {
|
|
320
|
+
return buildingOctagonRadius(x - AQUARIUM_HALL.x, z - AQUARIUM_HALL.z) <= AQUARIUM_HALL.halfX - 0.5;
|
|
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
|
+
*/
|
|
276
327
|
export function inAquariumHall(x, z) {
|
|
277
|
-
return
|
|
328
|
+
return inHopeAquariumHall(x, z) || inCapitalAquarium(x, z);
|
|
278
329
|
}
|
|
279
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":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,EAAE,8BAA8B,EAAE,8BAA8B,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzH,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AACpF,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,UAAU,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACnG,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAE/D,MAAM,CAAC,MAAM,aAAa,GAAG,oBAAoB,CAAC;AAClD,kDAAkD;AAClD,MAAM,CAAC,MAAM,qBAAqB,GAAG,qBAAqB,CAAC;AAC3D,uGAAuG;AACvG,MAAM,CAAC,MAAM,cAAc,GAAG,UAAU,CAAC;AACzC,qFAAqF;AACrF,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAG,CAAC;AACpC,uGAAuG;AACvG,MAAM,CAAC,MAAM,uBAAuB,GAAG,UAAU,CAAC;AAelD,uGAAuG;AACvG,MAAM,CAAC,MAAM,iBAAiB,GAAmC;IAC/D,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,GAAG,EAAE,aAAa,EAAE,SAAS,EAAE;IAClG,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,EAAE,EAAE,aAAa,EAAE,UAAU,EAAE;IACzG,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,GAAG,EAAE,aAAa,EAAE,SAAS,EAAE;IAClG,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,IAAI,EAAE,aAAa,EAAE,SAAS,EAAE;IACrG,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,GAAG,EAAE,aAAa,EAAE,SAAS,EAAE;CAC3G,CAAC;AA0BF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAA+B;IAC1D,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,KAAK,EAAE,oCAAoC,EAAE;IACtK,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,KAAK,EAAE,iCAAiC,EAAE;IACrK,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,EAAE,UAAU,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,2CAA2C,EAAE;IACtL,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,EAAE,UAAU,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,2CAA2C,EAAE;IAClL,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,KAAK,EAAE,mCAAmC,EAAE;IAClL,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,EAAE,UAAU,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,mCAAmC,EAAE;IACzK,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,EAAE,UAAU,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,yCAAyC,EAAE;IAChL,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,gCAAgC,EAAE;IAC5K,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,iBAAiB,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,qEAAqE,EAAE;IACvN,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,EAAE,UAAU,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,wCAAwC,EAAE;IAClL,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,qDAAqD,EAAE;IACtN,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK,EAAE,mCAAmC,EAAE;IAC7K,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,2CAA2C,EAAE;CAC/L,CAAC;AAEF,wHAAwH;AACxH,MAAM,CAAC,MAAM,2BAA2B,GAAG,EAAE,CAAC;AAC9C,wGAAwG;AACxG,MAAM,CAAC,MAAM,yBAAyB,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AACxD,6FAA6F;AAC7F,MAAM,CAAC,MAAM,uBAAuB,GAAG,sBAAsB,CAAC;AAC9D,MAAM,CAAC,MAAM,4BAA4B,GAAG,IAAI,CAAC;AACjD,MAAM,CAAC,MAAM,6BAA6B,GAAG,GAAG,CAAC;AACjD,4FAA4F;AAC5F,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC;AACvC,6EAA6E;AAC7E,MAAM,CAAC,MAAM,mBAAmB,GAAG,GAAG,CAAC;AAEvC,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AAE1E,MAAM,UAAU,eAAe,CAAC,IAAa;IAC3C,OAAO,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;AAC7E,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,EAAW;IACzC,OAAO,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,IAAI,IAAI,CAAC;AAC5D,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,OAAwB;IAC7D,OAAO,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,OAAO,CAAC,CAAC;AAC/D,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,uBAAuB,CAAC,OAAyB;IAC/D,OAAO,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,OAAO,KAAK,SAAS,IAAI,CAAC,CAAC,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC;AACxG,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,uBAAuB,CAAC,KAAyB;IAC/D,MAAM,KAAK,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAChD,OAAO,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,EAAE,EAAE,IAAI,8BAA8B,CAAC,KAAK,CAAC,CAAC;AACvG,CAAC;AAmBD,MAAM,UAAU,kBAAkB;IAChC,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,WAAW,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;AACrF,CAAC;AAED,4GAA4G;AAC5G,MAAM,UAAU,sBAAsB,CAAC,GAAY;IACjD,MAAM,GAAG,GAAG,kBAAkB,EAAE,CAAC;IACjC,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,GAAG,CAAC;IAChD,MAAM,CAAC,GAAG,GAAoD,CAAC;IAC/D,IAAI,CAAC,CAAC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;QAC/C,KAAK,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,OAAkC,CAAC,EAAE,CAAC;YAC7E,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;gBAAE,SAAS;YAClG,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACpC,CAAC;IACH,CAAC;IACD,IAAI,OAAO,CAAC,CAAC,WAAW,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,WAAW,GAAG,CAAC;QAAE,GAAG,CAAC,WAAW,GAAG,CAAC,CAAC,WAAW,CAAC;IAC9H,IAAI,OAAO,CAAC,CAAC,WAAW,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,WAAW,GAAG,CAAC,EAAE,CAAC;QAC7F,GAAG,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,2BAA2B,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC;IACrF,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;QAC3B,GAAG,CAAC,KAAK,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAE,CAAC,CAAC,KAAmB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;IACrG,CAAC;IACD,GAAG,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,KAAK,IAAI,CAAC;IACnC,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,KAAoB,EAAE,IAAY;IACnE,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;AACxC,CAAC;AAED,8EAA8E;AAC9E,MAAM,UAAU,oBAAoB,CAAC,KAAoB;IACvD,OAAO,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC;AAClF,CAAC;AAED,2HAA2H;AAC3H,MAAM,UAAU,qBAAqB,CAAC,KAAoB,EAAE,OAAyB;IACnF,OAAO,uBAAuB,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC;AAClG,CAAC;AAED,qHAAqH;AACrH,SAAS,UAAU,CAAC,KAAoB,EAAE,GAAW;IACnD,OAAO,KAAK,CAAC,WAAW,GAAG,CAAC,IAAI,GAAG,IAAI,KAAK,CAAC,WAAW,IAAI,GAAG,GAAG,KAAK,CAAC,WAAW,GAAG,yBAAyB,CAAC;AAClH,CAAC;AAED,oDAAoD;AACpD,MAAM,UAAU,mBAAmB,CAAC,KAAoB,EAAE,GAAW;IACnE,OAAO,UAAU,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,2BAA2B,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,2BAA2B,CAAC;AAC7H,CAAC;AAED,+EAA+E;AAC/E,MAAM,UAAU,oBAAoB,CAAC,KAAoB,EAAE,GAAW;IACpE,OAAO,UAAU,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,GAAG,yBAAyB,CAAC,CAAC,CAAC,CAAC,CAAC;AACpF,CAAC;AAuBD,SAAS,KAAK,CAAC,IAAkB,EAAE,KAA0B,EAAE,MAAc;IAC3E,IAAI,MAAM,IAAI,CAAC;QAAE,OAAO;IACxB,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC;IAC/C,IAAI,EAAE;QAAE,EAAE,CAAC,MAAM,IAAI,MAAM,CAAC;;QACvB,IAAI,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;AACpC,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,oBAAoB,CAClC,KAAoB,EACpB,IAAa,EACb,IAAa,EACb,IAAY,EACZ,GAAW,EACX,OAA6B,EAAE;IAE/B,MAAM,OAAO,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;IACtC,IAAI,CAAC,OAAO;QAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,qEAAqE,EAAE,CAAC;IAClH,IAAI,OAAO,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM;QAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,+BAA+B,OAAO,CAAC,KAAK,GAAG,EAAE,CAAC;IACnH,MAAM,KAAK,GAAG,OAAO,IAAI,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACvF,IAAI,KAAK,GAAG,CAAC;QAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,kBAAkB,EAAE,CAAC;IAChE,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;IAC3C,IAAI,IAAI,GAAG,CAAC;QAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,eAAe,OAAO,CAAC,KAAK,aAAa,EAAE,CAAC;IACtF,MAAM,KAAK,GAAG,CAAC,kBAAkB,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IACvD,MAAM,IAAI,GAAG,mBAAmB,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAC7C,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,mBAAmB,CAAC,CAAC;IACvD,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAChC,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC;IAC7D,MAAM,IAAI,GAAG,SAAS,GAAG,OAAO,CAAC;IACjC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC;QACb,MAAM,IAAI,GAAG,oBAAoB,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAC9C,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,GAAG,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACtE,OAAO;YACL,EAAE,EAAE,KAAK;YACT,MAAM,EAAE,2CAA2C,2BAA2B,4BAA4B,IAAI,UAAU,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG;SACjJ,CAAC;IACJ,CAAC;IACD,MAAM,IAAI,GAAkB;QAC1B,OAAO,EAAE,EAAE,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,EAAE;QACxF,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,KAAK,EAAE,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC;QACvB,QAAQ,EAAE,KAAK,CAAC,QAAQ;KACzB,CAAC;IACF,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;QAChB,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC;YAC5B,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC;YACvB,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;QACvB,CAAC;QACD,IAAI,CAAC,WAAW,IAAI,OAAO,CAAC;IAC9B,CAAC;IACD,MAAM,EAAE,GAAiB,EAAE,CAAC;IAC5B,IAAI,KAAK,EAAE,CAAC;QACV,KAAK,CAAC,EAAE,EAAE,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;QAC1C,KAAK,CAAC,EAAE,EAAE,UAAU,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;IAC5C,CAAC;IACD,KAAK,CAAC,EAAE,EAAE,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,QAAQ,GAAG,OAAO,CAAC,CAAC;IACrD,sHAAsH;IACtH,sHAAsH;IACtH,MAAM,cAAc,GAAsB,EAAE,CAAC;IAC7C,KAAK,MAAM,OAAO,IAAI,iBAAiB,EAAE,CAAC;QACxC,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YAAE,SAAS;QAC9C,MAAM,KAAK,GAAG,uBAAuB,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAClD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;YAAE,SAAS;QACzF,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAChC,KAAK,CAAC,EAAE,EAAE,OAAO,CAAC,aAAa,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;IACvD,CAAC;IACD,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9B,IAAI,CAAC,KAAK,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;IACzH,CAAC;IACD,IAAI,aAAa,GAAG,KAAK,CAAC;IAC1B,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,uBAAuB,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;QAC9F,aAAa,GAAG,IAAI,CAAC;QACrB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,KAAK,CAAC,EAAE,EAAE,SAAS,EAAE,4BAA4B,CAAC,CAAC;QACnD,KAAK,CAAC,EAAE,EAAE,UAAU,EAAE,6BAA6B,CAAC,CAAC;IACvD,CAAC;IACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE,cAAc,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;AACzG,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,YAAY,GAAG,CAAC,CAAC;AAC3C,2EAA2E;AAC3E,MAAM,CAAC,MAAM,eAAe,GAAG,aAAa,GAAG,CAAC,CAAC;AAEjD,qGAAqG;AACrG,MAAM,CAAC,MAAM,gBAAgB,GAA6B;IACxD,EAAE,KAAK,EAAE,aAAa,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,aAAa,EAAE;IACzD,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,aAAa,GAAG,CAAC,EAAE;IAC9D,EAAE,KAAK,EAAE,aAAa,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,aAAa,GAAG,CAAC,EAAE;IAC7D,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,aAAa,GAAG,CAAC,EAAE;IAC9D,EAAE,KAAK,EAAE,aAAa,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,aAAa,GAAG,EAAE,EAAE;CAC/D,CAAC;AACF,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC;AACzC,0FAA0F;AAC1F,MAAM,CAAC,MAAM,sBAAsB,GAAG,aAAa,GAAG,CAAC,CAAC;AACxD,MAAM,CAAC,MAAM,sBAAsB,GAAG,aAAa,GAAG,EAAE,CAAC;AACzD,MAAM,CAAC,MAAM,iBAAiB,GAAG,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,aAAa,GAAG,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAW,CAAC;AAC5H,MAAM,CAAC,MAAM,aAAa,GAAG,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,aAAa,GAAG,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAW,CAAC;AAK1H;;;;;GAKG;AACH,MAAM,CAAC,MAAM,cAAc,GAAiC;IAC1D,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,aAAa,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,aAAa,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE;IAC5E,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,aAAa,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,aAAa,CAAC,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE;IACnF,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,aAAa,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,aAAa,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE;IAC5E,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,aAAa,CAAC,CAAC,EAAE,CAAC,EAAE,aAAa,CAAC,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE;IAC3E,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,aAAa,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,aAAa,CAAC,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE;CACpF,CAAC;AACF,wHAAwH;AACxH,MAAM,CAAC,MAAM,aAAa,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,EAAE,aAAa,CAAC,CAAC,EAAE,CAAC,EAAE,aAAa,CAAC,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,GAAqB,EAAE,CAAC;AAC5H,MAAM,CAAC,MAAM,qBAAqB,GAAG,EAAE,CAAC,EAAE,aAAa,CAAC,CAAC,EAAE,CAAC,EAAE,aAAa,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;AACpF,0HAA0H;AAC1H,MAAM,CAAC,MAAM,gBAAgB,GAAG,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,EAAE,aAAa,CAAC,CAAC,EAAE,CAAC,EAAE,aAAa,CAAC,CAAC,EAAE,MAAM,EAAE,GAAqB,EAAE,CAAC;AAC9H,2DAA2D;AAC3D,MAAM,CAAC,MAAM,kBAAkB,GAAG,cAAc,CAAC;AACjD,MAAM,CAAC,MAAM,qBAAqB,GAAG,iBAAiB,CAAC;AAEvD;;;GAGG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,EAAE,GAAG,EAAW,CAAC;AAIrG,wHAAwH;AACxH,MAAM,UAAU,oBAAoB,CAAC,KAAyB;IAC5D,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,8BAA8B,CAAC,CAAC,CAAC,sBAAsB,CAAC;AACzG,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,EAAW,CAAC;AAC5G,MAAM,CAAC,MAAM,2BAA2B,GAAoB,KAAK,CAAC;AAElE,sFAAsF;AACtF,MAAM,UAAU,cAAc,CAAC,CAAS,EAAE,CAAS;IACjD,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,UAAU,CAAC,IAAI,uBAAuB,IAAI,CAAC,IAAI,sBAAsB,IAAI,CAAC,IAAI,sBAAsB;QAAE,OAAO,IAAI,CAAC;IACnI,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,iBAAiB,CAAC,CAAC,CAAC,IAAI,iBAAiB,CAAC,KAAK,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,iBAAiB,CAAC,CAAC,CAAC,IAAI,iBAAiB,CAAC,KAAK,CAAC;AACtI,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,cAAc,CAAC,CAAS,EAAE,CAAS;IACjD,IAAI,cAAc,CAAC,CAAC,EAAE,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IACtC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,UAAU,CAAC,IAAI,uBAAuB,GAAG,CAAC,IAAI,CAAC,IAAI,eAAe,GAAG,CAAC,IAAI,CAAC,GAAG,sBAAsB,CAAC;AAC3H,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAAC,CAAS,EAAE,CAAS;IACrD,OAAO,qBAAqB,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC,EAAE,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,IAAI,aAAa,CAAC,KAAK,GAAG,GAAG,CAAC;AACtG,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAAC,CAAS,EAAE,CAAS;IACjD,OAAO,kBAAkB,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,iBAAiB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAC7D,CAAC"}
|
|
@@ -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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"}
|