/** * Smugglers' Isle (James, 2026-09-28 "the Strand's next piece"; built from his sheet design-references/smugglersisle, phase 1 2026-10-17): * the members' island beyond the Smugglers' Strand, out in the south sea. It is reached only by Branson's ship (a members' port on his * chart, travel.ts) to a West Jetty; a free player is refused at the chart and, found on the island anyway (a membership that lapsed * while they were on it), is put back at the Long Pier. The plan page: backend members-workshop/plan/isle.html (drawn from these * constants by dump-isle.ts, so the page and the build never drift). * * EVERY tile here is in the PUBLIC (final-world) frame, laid by a final-frame pass (backend smugglersIsle.ts) the way the pirate bay's * passes are: nothing here goes through expandedContracts' z shift. (The old plan note "x 360-440, z 945-1020" is the generator frame: * +128 rows, 100 tiles east of the Long Pier head, open sea between the ship loop's legs at z 1040 and z 1230.) * * Levels: the Strand is 8-20 (Captain Brine, 20). The Isle's crew is ISLE_CREW_LEVEL 24-30 and its boss (pending James's character * sheet, with Salt Annie and Ferryman Joss) will sit at 34-36: the Isle continues the Strand and stays under 40. * The crew is hostile and sells nothing (the pirate rule: cutthroats do not trade); friendly services come from the cast, later. */ export declare const ISLE_NAME = "Smugglers' Isle"; export declare const ISLE_ID = "smugglers-isle"; /** The island's shore, clockwise, in world tiles (an organic outline; the jetty and the sea round it are not inside it). */ export declare const ISLE_OUTLINE: ReadonlyArray; /** Everything of the Isle: the jetty's west end to the island's east shore, with a margin of sea. Inclusive world tiles. */ export declare const ISLE_BOX: { readonly minX: 346; readonly maxX: 497; readonly minZ: 1076; readonly maxZ: 1155; }; export declare function inSmugglersIsle(x: number, z: number): boolean; /** Is this tile the island's land (inside the shore outline)? The jetty is deck over water and is not. */ export declare function inIsleLand(x: number, z: number): boolean; export type IsleRect = { readonly minX: number; readonly maxX: number; readonly minZ: number; readonly maxZ: number; }; /** The main walk from the sea to the island's west beach, three planks wide, and the T-junction's cross pier at its middle. */ export declare const ISLE_JETTY_WALK: IsleRect; export declare const ISLE_JETTY_ARM: IsleRect; export declare const ISLE_JETTY_RECTS: readonly IsleRect[]; export declare function onIsleJetty(x: number, z: number): boolean; /** Branson's ship puts you ashore here, on the walk just west of the T (the chart's port tile). */ export declare const ISLE_LANDING: { readonly x: 362; readonly z: 1118; }; /** The deck's height (the Long Pier's: a step above the sea). */ export declare const ISLE_DECK_HEIGHT = 1; /** The ferryman at the T's north end sells the same chart as Branson (Hope Beach free). His look is Oskar's until the cast sheet lands (frontend assets/index.ts). */ export declare const ISLE_FERRYMAN: { readonly x: 368; readonly z: 1111; readonly kind: "isleferryman"; readonly name: "Ferryman Joss"; }; export declare const ISLE_FARE = 750; export declare const ISLE_PORT_BLURB = "Branson's run out to the smugglers' island: a plank jetty, stilt shacks and a lit watchtower. Members only."; export declare const ISLE_MEMBERS_HINT = "Members only"; /** What a free player is told when the ferryman or Branson refuses them. */ export declare const ISLE_MEMBERS_LINE = "That run is for members, friend. The Isle's folk don't take just anybody off my ship."; /** What a free player found on the island is told as they are put back. */ export declare const ISLE_PUT_BACK_LINE = "The isle is for members, so the ferry takes you back to the Long Pier. Nothing you carry is lost."; /** The Isle's crew (NPC kind `smuggler`, ids isle-smuggler-N): a step above the Strand's, hostile inside their holds. */ export declare const ISLE_CREW_LEVEL: { readonly min: 24; readonly max: 30; }; /** The respawn clock is keyed by NPC kind (combat.ts), so the Isle's crew stands up on the Strand crew's clock. */ export declare const ISLE_CREW_RESPAWN_MS = 75000; export declare const ISLE_CREW_ID_PREFIX = "isle-smuggler-"; export declare function isIsleCrewId(id: string): boolean; /** The ground each post holds: a player inside it is rushed, one passing outside it (the jetty, the village, the beach) is not. */ export declare const ISLE_YARD_HOLD: IsleRect; export declare const ISLE_TOWER_HOLD: IsleRect; export declare const ISLE_CANNON_HOLD: IsleRect; export declare const ISLE_HOLDS: readonly IsleRect[]; export declare function inIsleHold(x: number, z: number): boolean; export declare const ISLE_CREW_SPAWNS: ReadonlyArray<{ x: number; z: number; post: 'yard' | 'tower' | 'cannon'; }>; /** The village street: planks between the stilt shacks (the sheet's village). */ export declare const ISLE_STREET: IsleRect; /** The warehouse yard's trodden floor. */ export declare const ISLE_YARD_FLOOR: IsleRect; /** The dig site's turned sand, and the cliffs the sea cave is cut into. */ export declare const ISLE_DIG_SITE: IsleRect; export declare const ISLE_SOUTH_CLIFF: IsleRect; /** The rocky north shore behind the watchtower. */ export declare const ISLE_NORTH_CLIFF: IsleRect; /** The watchtower's knoll: the ground rises to the tower. */ export declare const ISLE_KNOLL: { readonly x: 440; readonly z: 1090; readonly radius: 9; readonly rise: 3; }; /** Worn tracks (two wide) between the places, as polylines of world tiles; the builder lays Path along each. */ export declare const ISLE_TRACKS: ReadonlyArray<{ id: string; points: ReadonlyArray; }>; export type IslePiece = { id: string; /** What the sheet calls it. */ label: string; /** The entity kind pushed (dreadmodel for kit models). */ kind: string; x: number; z: number; /** For a dreadmodel the model-facing style, e.g. pbwarehouse-s. */ style: string; scale?: number; /** A tile a player stands on to use or look at it. Must be reachable on foot. */ stand: { x: number; z: number; }; /** The upgrade a stand-in leaves (upgrades.json id), or null when the model is the real thing. */ standIn: string | null; }; export declare const ISLE_PIECES: readonly IslePiece[]; /** Crates, casks and lanterns of the yard and the landing (the game's own beach props). x, z are the tile. */ export declare const ISLE_YARD_PROPS: ReadonlyArray<{ id: string; kind: 'barrel' | 'lantern'; x: number; z: number; style: string; scale?: number; }>; /** Rowing boats drawn up on the west beach. */ export declare const ISLE_ROWBOATS: ReadonlyArray<{ id: string; x: number; z: number; style: string; }>; /** The deck's dressing on the jetty (the Long Pier's tokens): a lamp and a bollard at the west end, barrels and a ring at the T. */ export declare const ISLE_JETTY_DRESSING: ReadonlyArray<{ x: number; z: number; token: string; }>; export declare const SMUGGLERS_ISLE_ZONE: { id: string; label: string; coordinateFrame: "world"; minX: 346; maxX: 497; minZ: 1076; maxZ: 1155; }; /** The places an admin teleports to (ADMIN_VERIFY_LINKS): a tile you can stand on at each. */ export declare const ISLE_VERIFY_STANDS: ReadonlyArray<{ id: string; label: string; x: number; z: number; note: string; }>; export declare function isleGuideText(): string; //# sourceMappingURL=smugglersIsle.d.ts.map