@dreadwood-types/types 0.1.347 → 0.1.349

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.
@@ -0,0 +1,115 @@
1
+ import type { HerbKind } from './potionMaking.js';
2
+ /**
3
+ * RINGS 4 AND 5, THE DARK HEART AND THE CORE (PvP woods by level, item 6; design sheets pvp-woods-b03, b04 and b06; James, 2026-10-17;
4
+ * plan `.cursor/task-plans/2026-10-17-rings-4-5.md`). Pure data with type-only side effects, so the dresser, the aggro rules, the warnings, the
5
+ * guide and the tests all read the same tiles. Every number is a WORLD tile or a PLACEHOLDER for the balance pass.
6
+ *
7
+ * What the audit found (2026-10-17): the rings are SQUARES by inset from the woods' edge (zones.ts combatZoneAt): Ring 4 is inset 135-179, Ring 5 from 180
8
+ * (x 420-507, z 437-524), and Ring 5 lies wholly inside the Blood Lake's crag ring, which is already a walk gate (areaGates.ts 'blood-lake', Combat 50) with
9
+ * every dragon a boss (level 50-54, fight gate 'boss-dragons'). So the Core's gate is not rebuilt: it stays the boss placeholder, and this file builds the
10
+ * APPROACH to it. What is new, all in Ring 4:
11
+ *
12
+ * - the Ironjaw track and the six Ironjaw hunters (levels 32-35) between the Ironjaw Watch and the fortress's outposts: the step on the ogre ladder
13
+ * below the outposts (38), the fortress yard (41+ gate) and the chief (boss 50);
14
+ * - the two single-file planks over the Blood River, beside the main bridge: the crossing set piece (one at a time, so a stand-off is a duel line);
15
+ * - silver seams (Mining 33) on the dragon approach and bloodroot and marsh marigold on the river's banks: better ores and herbs by depth;
16
+ * - the Blood Lake approach: a placard that names the place and one line in the standard gate sentence.
17
+ *
18
+ * Not built, on James's rules: no safe post or pocket, no bank or strongbox, no shop of any kind, no food, no runes or magic, nothing 41+ opened.
19
+ */
20
+ export declare const DARK_HEART_RING = 4;
21
+ export declare const CORE_RING = 5;
22
+ type Box = {
23
+ minX: number;
24
+ maxX: number;
25
+ minZ: number;
26
+ maxZ: number;
27
+ };
28
+ /** The row the track forks on (the arms are the three rows round it). */
29
+ export declare const IRONJAW_FORK_Z = 397;
30
+ /**
31
+ * A three-wide dirt track from the row north of the Ironjaw Watch up to a fork, an arm to each outpost's line and a stub pointing the arm at the fire.
32
+ * The east arm and stub run on past Ring 4's east edge (x 552) because the east outpost lies in Ring 3; the hunters and everything that pays stay in Ring 4.
33
+ */
34
+ export declare const IRONJAW_TRACK: readonly Box[];
35
+ export declare function onIronjawTrack(x: number, z: number): boolean;
36
+ /** Every track tile once. */
37
+ export declare function ironjawTrackTiles(): {
38
+ x: number;
39
+ z: number;
40
+ }[];
41
+ export declare const IRONJAW_HUNT_NAME = "The Ironjaw Hunting Ground";
42
+ /** Where the hunters lock on to a player: all Ring 4, its far edge short of the outposts' zone and its near edge a long way from the Watch. */
43
+ export declare const IRONJAW_HUNT_GROUND: Box;
44
+ /** Their level: a step below the outposts' level 38 ogres. */
45
+ export declare const IRONJAW_HUNTER_LEVEL: {
46
+ readonly min: 32;
47
+ readonly max: 35;
48
+ };
49
+ /** Their hardest hit: the outposts' 22 less four. */
50
+ export declare const IRONJAW_HUNTER_MAX_HIT = 18;
51
+ /** A little smaller than the ogres at the outposts and in the yard (the visual size sent to clients). */
52
+ export declare const IRONJAW_HUNTER_SCALE = 0.92;
53
+ /** The id prefix that tells a hunter from the fortress's ogres (the fortress's aggro rule skips it). */
54
+ export declare const IRONJAW_HUNTER_ID_PREFIX = "ijh-";
55
+ /** Three parties of two: one on the west ground, one on the middle, one at the fork where the stem divides. */
56
+ export declare const IRONJAW_HUNTERS: readonly {
57
+ party: 'west' | 'middle' | 'fork';
58
+ x: number;
59
+ z: number;
60
+ }[];
61
+ /** A character below this Combat level is warned once. */
62
+ export declare const IRONJAW_HUNT_WARN_BELOW_COMBAT = 28;
63
+ /** How close to a party (tiles, Chebyshev) the line is said: well outside the ogres' 6-tile notice. */
64
+ export declare const IRONJAW_HUNT_WARN_RANGE = 14;
65
+ /** The `discoveredZones` key, said once per character. */
66
+ export declare const IRONJAW_HUNT_WARNED_KEY = "warned-ironjaw-hunt";
67
+ export declare const IRONJAW_HUNT_WARNING_LINE = "Ironjaw hunting parties walk the ground ahead: level 32 to 35 ogres, two to a party, and they will chase you across it. The Watch behind you is safe; out here anyone can attack you. Keep clear, or come back at Combat 30 or more.";
68
+ /** True when a hunter's post is within the warning range of this tile. */
69
+ export declare function ironjawHuntNear(x: number, z: number): boolean;
70
+ /** True when this character should hear the line now. */
71
+ export declare function shouldWarnIronjawHunt(x: number, z: number, combat: number, alreadyWarned: boolean): boolean;
72
+ /**
73
+ * The crossing set piece: the Blood River has one main bridge (three planks wide, on the gate path at x 452), so everyone who goes deeper funnels through it.
74
+ * Two single-file planks, one each side, give the river three crossings of three characters: the open bridge, and two narrow planks where one person
75
+ * crosses at a time. The deck is the river's own water tiles in that column, laid as the game's `bridge` entity; each end has a short landing.
76
+ */
77
+ export declare const BLOOD_PLANKS: readonly {
78
+ id: 'west-plank' | 'east-plank';
79
+ name: string;
80
+ x: number;
81
+ }[];
82
+ /** How far past the river's own edge the deck's column is searched for water (the banks are jittered by a tile or two). */
83
+ export declare const BLOOD_PLANK_REACH = 3;
84
+ /** The plank whose column and river rows this tile is, or null. */
85
+ export declare function bloodPlankAt(x: number, z: number): (typeof BLOOD_PLANKS)[number] | null;
86
+ /** Five silver seams (Mining 33, an iron pickaxe) on the dragon approach, between the river and the crag ring, off the gate path. */
87
+ export declare const DARK_HEART_SILVER_SEAMS: readonly {
88
+ x: number;
89
+ z: number;
90
+ }[];
91
+ /** Bloodroot (Foraging 18) and marsh marigold (29) on the river's banks by the planks; the dresser takes the nearest tile that suits. */
92
+ export declare const DARK_HEART_HERBS: readonly {
93
+ herb: Extract<HerbKind, 'bloodroot' | 'marshmarigold'>;
94
+ x: number;
95
+ z: number;
96
+ }[];
97
+ /**
98
+ * The way up from the main bridge to the pillared gap is the Core's approach. The gate itself is the existing walk gate 'blood-lake' (Combat 50: every dragon
99
+ * is a boss); this adds a placard that only names the place, beside the path, and one chat line for a character the gate would turn back, worded by
100
+ * gateRefusalText so it is the standard sentence.
101
+ */
102
+ export declare const BLOOD_LAKE_APPROACH: {
103
+ readonly sign: {
104
+ readonly x: 456;
105
+ readonly z: 527;
106
+ readonly text: "The Blood Lake";
107
+ };
108
+ };
109
+ export declare const BLOOD_LAKE_APPROACH_RANGE = 16;
110
+ export declare const BLOOD_LAKE_APPROACH_KEY = "warned-blood-lake-approach";
111
+ export declare function bloodLakeApproachNear(x: number, z: number): boolean;
112
+ /** The gate's own refusal sentence for a character the gate would turn back, or null for one it would let in. */
113
+ export declare function bloodLakeApproachLine(combat: number): string | null;
114
+ export {};
115
+ //# sourceMappingURL=darkHeart.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"darkHeart.d.ts","sourceRoot":"","sources":["../src/darkHeart.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAElD;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,eAAe,IAAI,CAAC;AACjC,eAAO,MAAM,SAAS,IAAI,CAAC;AAE3B,KAAK,GAAG,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAMtE,yEAAyE;AACzE,eAAO,MAAM,cAAc,MAAM,CAAC;AAGlC;;;GAGG;AACH,eAAO,MAAM,aAAa,EAAE,SAAS,GAAG,EAMvC,CAAC;AAEF,wBAAgB,cAAc,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAE5D;AAED,6BAA6B;AAC7B,wBAAgB,iBAAiB,IAAI;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,EAAE,CAc9D;AAID,eAAO,MAAM,iBAAiB,+BAA+B,CAAC;AAC9D,+IAA+I;AAC/I,eAAO,MAAM,mBAAmB,EAAE,GAAoD,CAAC;AACvF,8DAA8D;AAC9D,eAAO,MAAM,oBAAoB;;;CAAgC,CAAC;AAClE,qDAAqD;AACrD,eAAO,MAAM,sBAAsB,KAAK,CAAC;AACzC,yGAAyG;AACzG,eAAO,MAAM,oBAAoB,OAAO,CAAC;AACzC,wGAAwG;AACxG,eAAO,MAAM,wBAAwB,SAAS,CAAC;AAE/C,+GAA+G;AAC/G,eAAO,MAAM,eAAe,EAAE,SAAS;IAAE,KAAK,EAAE,MAAM,GAAG,QAAQ,GAAG,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,EAOjG,CAAC;AAEF,0DAA0D;AAC1D,eAAO,MAAM,8BAA8B,KAAK,CAAC;AACjD,uGAAuG;AACvG,eAAO,MAAM,uBAAuB,KAAK,CAAC;AAC1C,0DAA0D;AAC1D,eAAO,MAAM,uBAAuB,wBAAwB,CAAC;AAE7D,eAAO,MAAM,yBAAyB,yOACkM,CAAC;AAEzO,0EAA0E;AAC1E,wBAAgB,eAAe,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAE7D;AAED,yDAAyD;AACzD,wBAAgB,qBAAqB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,OAAO,GAAG,OAAO,CAG3G;AAID;;;;GAIG;AACH,eAAO,MAAM,YAAY,EAAE,SAAS;IAAE,EAAE,EAAE,YAAY,GAAG,YAAY,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,EAG/F,CAAC;AAEF,2HAA2H;AAC3H,eAAO,MAAM,iBAAiB,IAAI,CAAC;AAEnC,mEAAmE;AACnE,wBAAgB,YAAY,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,CAAC,GAAG,IAAI,CAMvF;AAID,qIAAqI;AACrI,eAAO,MAAM,uBAAuB,EAAE,SAAS;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,EAMtE,CAAC;AAEF,yIAAyI;AACzI,eAAO,MAAM,gBAAgB,EAAE,SAAS;IAAE,IAAI,EAAE,OAAO,CAAC,QAAQ,EAAE,WAAW,GAAG,eAAe,CAAC,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,EASvH,CAAC;AAIF;;;;GAIG;AACH,eAAO,MAAM,mBAAmB;;;;;;CAEtB,CAAC;AACX,eAAO,MAAM,yBAAyB,KAAK,CAAC;AAC5C,eAAO,MAAM,uBAAuB,+BAA+B,CAAC;AAEpE,wBAAgB,qBAAqB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAEnE;AAED,iHAAiH;AACjH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAInE"}
@@ -0,0 +1,162 @@
1
+ import { bloodRiverCenterZ, bloodRiverHalfWidth } from './bloodRiver.js';
2
+ import { AREA_GATE_BY_ID, gateRefusalText } from './areaGates.js';
3
+ import { OGRE_OUTPOSTS } from './ogreFortress.js';
4
+ import { IRONJAW_WATCH } from './ironjawWatch.js';
5
+ /**
6
+ * RINGS 4 AND 5, THE DARK HEART AND THE CORE (PvP woods by level, item 6; design sheets pvp-woods-b03, b04 and b06; James, 2026-10-17;
7
+ * plan `.cursor/task-plans/2026-10-17-rings-4-5.md`). Pure data with type-only side effects, so the dresser, the aggro rules, the warnings, the
8
+ * guide and the tests all read the same tiles. Every number is a WORLD tile or a PLACEHOLDER for the balance pass.
9
+ *
10
+ * What the audit found (2026-10-17): the rings are SQUARES by inset from the woods' edge (zones.ts combatZoneAt): Ring 4 is inset 135-179, Ring 5 from 180
11
+ * (x 420-507, z 437-524), and Ring 5 lies wholly inside the Blood Lake's crag ring, which is already a walk gate (areaGates.ts 'blood-lake', Combat 50) with
12
+ * every dragon a boss (level 50-54, fight gate 'boss-dragons'). So the Core's gate is not rebuilt: it stays the boss placeholder, and this file builds the
13
+ * APPROACH to it. What is new, all in Ring 4:
14
+ *
15
+ * - the Ironjaw track and the six Ironjaw hunters (levels 32-35) between the Ironjaw Watch and the fortress's outposts: the step on the ogre ladder
16
+ * below the outposts (38), the fortress yard (41+ gate) and the chief (boss 50);
17
+ * - the two single-file planks over the Blood River, beside the main bridge: the crossing set piece (one at a time, so a stand-off is a duel line);
18
+ * - silver seams (Mining 33) on the dragon approach and bloodroot and marsh marigold on the river's banks: better ores and herbs by depth;
19
+ * - the Blood Lake approach: a placard that names the place and one line in the standard gate sentence.
20
+ *
21
+ * Not built, on James's rules: no safe post or pocket, no bank or strongbox, no shop of any kind, no food, no runes or magic, nothing 41+ opened.
22
+ */
23
+ export const DARK_HEART_RING = 4;
24
+ export const CORE_RING = 5;
25
+ const inBox = (b, x, z) => x >= b.minX && x <= b.maxX && z >= b.minZ && z <= b.maxZ;
26
+ const cheb = (ax, az, bx, bz) => Math.max(Math.abs(ax - bx), Math.abs(az - bz));
27
+ // ---- The Ironjaw track ---------------------------------------------------------------------------------------------------------------
28
+ /** The row the track forks on (the arms are the three rows round it). */
29
+ export const IRONJAW_FORK_Z = 397;
30
+ const [OUTPOST_WEST, OUTPOST_EAST] = OGRE_OUTPOSTS;
31
+ /**
32
+ * A three-wide dirt track from the row north of the Ironjaw Watch up to a fork, an arm to each outpost's line and a stub pointing the arm at the fire.
33
+ * The east arm and stub run on past Ring 4's east edge (x 552) because the east outpost lies in Ring 3; the hunters and everything that pays stay in Ring 4.
34
+ */
35
+ export const IRONJAW_TRACK = [
36
+ { minX: 540, maxX: 542, minZ: IRONJAW_FORK_Z - 1, maxZ: IRONJAW_WATCH.minZ - 1 },
37
+ { minX: OUTPOST_WEST.x - 1, maxX: 541, minZ: IRONJAW_FORK_Z - 1, maxZ: IRONJAW_FORK_Z + 1 },
38
+ { minX: 541, maxX: OUTPOST_EAST.x + 1, minZ: IRONJAW_FORK_Z - 1, maxZ: IRONJAW_FORK_Z + 1 },
39
+ { minX: OUTPOST_WEST.x - 1, maxX: OUTPOST_WEST.x + 1, minZ: 384, maxZ: IRONJAW_FORK_Z - 2 },
40
+ { minX: OUTPOST_EAST.x - 1, maxX: OUTPOST_EAST.x + 1, minZ: 384, maxZ: IRONJAW_FORK_Z - 2 },
41
+ ];
42
+ export function onIronjawTrack(x, z) {
43
+ return IRONJAW_TRACK.some((b) => inBox(b, x, z));
44
+ }
45
+ /** Every track tile once. */
46
+ export function ironjawTrackTiles() {
47
+ const seen = new Set();
48
+ const out = [];
49
+ for (const b of IRONJAW_TRACK) {
50
+ for (let z = b.minZ; z <= b.maxZ; z++) {
51
+ for (let x = b.minX; x <= b.maxX; x++) {
52
+ const k = `${x},${z}`;
53
+ if (seen.has(k))
54
+ continue;
55
+ seen.add(k);
56
+ out.push({ x, z });
57
+ }
58
+ }
59
+ }
60
+ return out;
61
+ }
62
+ // ---- The Ironjaw hunters ---------------------------------------------------------------------------------------------------------------
63
+ export const IRONJAW_HUNT_NAME = 'The Ironjaw Hunting Ground';
64
+ /** Where the hunters lock on to a player: all Ring 4, its far edge short of the outposts' zone and its near edge a long way from the Watch. */
65
+ export const IRONJAW_HUNT_GROUND = { minX: 456, maxX: 552, minZ: 392, maxZ: 420 };
66
+ /** Their level: a step below the outposts' level 38 ogres. */
67
+ export const IRONJAW_HUNTER_LEVEL = { min: 32, max: 35 };
68
+ /** Their hardest hit: the outposts' 22 less four. */
69
+ export const IRONJAW_HUNTER_MAX_HIT = 18;
70
+ /** A little smaller than the ogres at the outposts and in the yard (the visual size sent to clients). */
71
+ export const IRONJAW_HUNTER_SCALE = 0.92;
72
+ /** The id prefix that tells a hunter from the fortress's ogres (the fortress's aggro rule skips it). */
73
+ export const IRONJAW_HUNTER_ID_PREFIX = 'ijh-';
74
+ /** Three parties of two: one on the west ground, one on the middle, one at the fork where the stem divides. */
75
+ export const IRONJAW_HUNTERS = [
76
+ { party: 'west', x: 470, z: 404 },
77
+ { party: 'west', x: 474, z: 408 },
78
+ { party: 'middle', x: 505, z: 408 },
79
+ { party: 'middle', x: 509, z: 412 },
80
+ { party: 'fork', x: 535, z: 393 },
81
+ { party: 'fork', x: 547, z: 393 },
82
+ ];
83
+ /** A character below this Combat level is warned once. */
84
+ export const IRONJAW_HUNT_WARN_BELOW_COMBAT = 28;
85
+ /** How close to a party (tiles, Chebyshev) the line is said: well outside the ogres' 6-tile notice. */
86
+ export const IRONJAW_HUNT_WARN_RANGE = 14;
87
+ /** The `discoveredZones` key, said once per character. */
88
+ export const IRONJAW_HUNT_WARNED_KEY = 'warned-ironjaw-hunt';
89
+ export const IRONJAW_HUNT_WARNING_LINE = 'Ironjaw hunting parties walk the ground ahead: level 32 to 35 ogres, two to a party, and they will chase you across it. The Watch behind you is safe; out here anyone can attack you. Keep clear, or come back at Combat 30 or more.';
90
+ /** True when a hunter's post is within the warning range of this tile. */
91
+ export function ironjawHuntNear(x, z) {
92
+ return IRONJAW_HUNTERS.some((h) => cheb(x, z, h.x, h.z) <= IRONJAW_HUNT_WARN_RANGE);
93
+ }
94
+ /** True when this character should hear the line now. */
95
+ export function shouldWarnIronjawHunt(x, z, combat, alreadyWarned) {
96
+ if (alreadyWarned || combat >= IRONJAW_HUNT_WARN_BELOW_COMBAT)
97
+ return false;
98
+ return ironjawHuntNear(x, z);
99
+ }
100
+ // ---- The two planks over the Blood River ---------------------------------------------------------------------------------------------
101
+ /**
102
+ * The crossing set piece: the Blood River has one main bridge (three planks wide, on the gate path at x 452), so everyone who goes deeper funnels through it.
103
+ * Two single-file planks, one each side, give the river three crossings of three characters: the open bridge, and two narrow planks where one person
104
+ * crosses at a time. The deck is the river's own water tiles in that column, laid as the game's `bridge` entity; each end has a short landing.
105
+ */
106
+ export const BLOOD_PLANKS = [
107
+ { id: 'west-plank', name: 'The West Plank', x: 404 },
108
+ { id: 'east-plank', name: 'The East Plank', x: 506 },
109
+ ];
110
+ /** How far past the river's own edge the deck's column is searched for water (the banks are jittered by a tile or two). */
111
+ export const BLOOD_PLANK_REACH = 3;
112
+ /** The plank whose column and river rows this tile is, or null. */
113
+ export function bloodPlankAt(x, z) {
114
+ for (const p of BLOOD_PLANKS) {
115
+ if (x !== p.x)
116
+ continue;
117
+ if (Math.abs(z - bloodRiverCenterZ(p.x)) <= bloodRiverHalfWidth(p.x) + BLOOD_PLANK_REACH)
118
+ return p;
119
+ }
120
+ return null;
121
+ }
122
+ // ---- Silver and herbs by depth -----------------------------------------------------------------------------------------------------------
123
+ /** Five silver seams (Mining 33, an iron pickaxe) on the dragon approach, between the river and the crag ring, off the gate path. */
124
+ export const DARK_HEART_SILVER_SEAMS = [
125
+ { x: 440, z: 531 },
126
+ { x: 444, z: 531 },
127
+ { x: 462, z: 531 },
128
+ { x: 466, z: 531 },
129
+ { x: 470, z: 531 },
130
+ ];
131
+ /** Bloodroot (Foraging 18) and marsh marigold (29) on the river's banks by the planks; the dresser takes the nearest tile that suits. */
132
+ export const DARK_HEART_HERBS = [
133
+ { herb: 'bloodroot', x: 396, z: 537 },
134
+ { herb: 'bloodroot', x: 412, z: 538 },
135
+ { herb: 'marshmarigold', x: 397, z: 549 },
136
+ { herb: 'marshmarigold', x: 411, z: 548 },
137
+ { herb: 'bloodroot', x: 498, z: 545 },
138
+ { herb: 'bloodroot', x: 514, z: 545 },
139
+ { herb: 'marshmarigold', x: 498, z: 555 },
140
+ { herb: 'marshmarigold', x: 513, z: 554 },
141
+ ];
142
+ // ---- The Blood Lake approach ---------------------------------------------------------------------------------------------------------------
143
+ /**
144
+ * The way up from the main bridge to the pillared gap is the Core's approach. The gate itself is the existing walk gate 'blood-lake' (Combat 50: every dragon
145
+ * is a boss); this adds a placard that only names the place, beside the path, and one chat line for a character the gate would turn back, worded by
146
+ * gateRefusalText so it is the standard sentence.
147
+ */
148
+ export const BLOOD_LAKE_APPROACH = {
149
+ sign: { x: 456, z: 527, text: 'The Blood Lake' },
150
+ };
151
+ export const BLOOD_LAKE_APPROACH_RANGE = 16;
152
+ export const BLOOD_LAKE_APPROACH_KEY = 'warned-blood-lake-approach';
153
+ export function bloodLakeApproachNear(x, z) {
154
+ return cheb(x, z, BLOOD_LAKE_APPROACH.sign.x, BLOOD_LAKE_APPROACH.sign.z) <= BLOOD_LAKE_APPROACH_RANGE;
155
+ }
156
+ /** The gate's own refusal sentence for a character the gate would turn back, or null for one it would let in. */
157
+ export function bloodLakeApproachLine(combat) {
158
+ const gate = AREA_GATE_BY_ID['blood-lake'];
159
+ const missing = gate.requires.filter((r) => 'combat' in r && r.combat > combat);
160
+ return missing.length ? gateRefusalText(gate, missing) : null;
161
+ }
162
+ //# sourceMappingURL=darkHeart.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"darkHeart.js","sourceRoot":"","sources":["../src/darkHeart.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"expandedContracts.d.ts","sourceRoot":"","sources":["../src/expandedContracts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"expandedContracts.d.ts","sourceRoot":"","sources":["../src/expandedContracts.ts"],"names":[],"mappings":"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"}
@@ -34,6 +34,7 @@ import { RANGERS_REST_DISCOVERY_ZONES } from './rangersRestDens.js';
34
34
  import { GALLOWMERE_DISCOVERY_ZONE } from './gallowmere.js';
35
35
  import { WEBFEN_DISCOVERY_ZONE, WEBFEN_NAME, WEBFEN_STANDS } from './webfenCauseway.js';
36
36
  import { BATTLEFIELD_DISCOVERY_ZONES } from './battlefieldMuster.js';
37
+ import { SMUGGLERS_ISLE_ZONE } from './smugglersIsle.js';
37
38
  export const BEACH_SAND_START_Z = shiftSurfaceZ(0, raw.BEACH_SAND_START_Z);
38
39
  export const BEACH_START_Z = shiftSurfaceZ(0, raw.BEACH_START_Z);
39
40
  export const OCEAN_START_Z = shiftSurfaceZ(0, raw.OCEAN_START_Z);
@@ -324,7 +325,7 @@ export const LAIR_DISCOVERY_ZONES = LAIR_RINGS.map((l) => ({
324
325
  */
325
326
  /** Gullhook Head (gullhookHead.ts, T70): the whole coast box, in final-world rows. */
326
327
  export const GULLHOOK_DISCOVERY_ZONE = { id: GULLHOOK_ID, label: GULLHOOK_NAME, coordinateFrame: 'world', ...GULLHOOK_BOX };
327
- const INSERTED_DISCOVERY_ZONES = [...RANGERS_REST_DISCOVERY_ZONES, ...LAST_SIGNAL_DISCOVERY_ZONES, GULLHOOK_DISCOVERY_ZONE, HOPE_TOWN_DISCOVERY_ZONE, RINGSTONE_DISCOVERY_ZONE, HIGHSTONE_DISCOVERY_ZONE, FENSTONE_DISCOVERY_ZONE, BRACKENSTONE_DISCOVERY_ZONE, ...LAIR_DISCOVERY_ZONES, HOPEWOOD_COMMON_DISCOVERY_ZONE, ...LANTERN_WAKE_DISCOVERY_ZONES, ...MILLSTREAM_DISCOVERY_ZONES, BRINDLECROSS_DISCOVERY_ZONE, RIVERSEND_DISCOVERY_ZONE, ...ASHFALL_DISCOVERY_ZONES, EMBERDEEP_DISCOVERY_ZONE, GREENWOOD_DISCOVERY_ZONE, ...DWARF_MIDDLE_DISCOVERY_ZONES, DWARF_ROAD_DISCOVERY_ZONE, RED_WASTE_DISCOVERY_ZONE, GALLOWMERE_DISCOVERY_ZONE, WEBFEN_DISCOVERY_ZONE, ...SALTMERE_DISCOVERY_ZONES, ...REDCLAY_DISCOVERY_ZONES, ...SHALE_DISCOVERY_ZONES, ...REEDWHEEL_DISCOVERY_ZONES, ...KNUCKLEBONE_DISCOVERY_ZONES, WEST_COAST_DISCOVERY_ZONE, WESTERN_KINGDOMS_DISCOVERY_ZONE, ...WESTERN_HALT_ZONES, ...CALVERTON_DISCOVERY_ZONES, ...BATTLEFIELD_DISCOVERY_ZONES, ...THAW_CROSSING_DISCOVERY_ZONES];
328
+ const INSERTED_DISCOVERY_ZONES = [...RANGERS_REST_DISCOVERY_ZONES, ...LAST_SIGNAL_DISCOVERY_ZONES, GULLHOOK_DISCOVERY_ZONE, HOPE_TOWN_DISCOVERY_ZONE, RINGSTONE_DISCOVERY_ZONE, HIGHSTONE_DISCOVERY_ZONE, FENSTONE_DISCOVERY_ZONE, BRACKENSTONE_DISCOVERY_ZONE, ...LAIR_DISCOVERY_ZONES, HOPEWOOD_COMMON_DISCOVERY_ZONE, ...LANTERN_WAKE_DISCOVERY_ZONES, ...MILLSTREAM_DISCOVERY_ZONES, BRINDLECROSS_DISCOVERY_ZONE, RIVERSEND_DISCOVERY_ZONE, ...ASHFALL_DISCOVERY_ZONES, EMBERDEEP_DISCOVERY_ZONE, GREENWOOD_DISCOVERY_ZONE, ...DWARF_MIDDLE_DISCOVERY_ZONES, DWARF_ROAD_DISCOVERY_ZONE, RED_WASTE_DISCOVERY_ZONE, GALLOWMERE_DISCOVERY_ZONE, WEBFEN_DISCOVERY_ZONE, ...SALTMERE_DISCOVERY_ZONES, ...REDCLAY_DISCOVERY_ZONES, ...SHALE_DISCOVERY_ZONES, ...REEDWHEEL_DISCOVERY_ZONES, ...KNUCKLEBONE_DISCOVERY_ZONES, WEST_COAST_DISCOVERY_ZONE, WESTERN_KINGDOMS_DISCOVERY_ZONE, ...WESTERN_HALT_ZONES, ...CALVERTON_DISCOVERY_ZONES, ...BATTLEFIELD_DISCOVERY_ZONES, ...THAW_CROSSING_DISCOVERY_ZONES, SMUGGLERS_ISLE_ZONE];
328
329
  export function discoveryZoneBounds(zone) {
329
330
  return { minX: zone.minX, maxX: zone.maxX, minZ: zone.coordinateFrame === 'world' ? zone.minZ : toWorldZ(zone.minZ), maxZ: zone.coordinateFrame === 'world' ? zone.maxZ : toWorldZ(zone.maxZ) };
330
331
  }
@@ -343,7 +344,7 @@ export function worldEventDef(id) { return WORLD_EVENTS[id]; }
343
344
  /** The northern flight remains a short staircase; the new ground carries an ordinary onward track. */
344
345
  export const BASECAMP_SOUTH_STAIR = { ...raw.BASECAMP_SOUTH_STAIR, maxZ: 851, stand: { x: 676, z: 852 } };
345
346
  export const SOUTH_FIELDS_GATE = { ...raw.SOUTH_FIELDS_GATE, minZ: 980, maxZ: 986, stand: { x: 40, z: 979 } };
346
- export const TRAVEL_PORTS = raw.TRAVEL_PORTS.map(p => ({ ...p, z: shiftSurfaceZ(p.x, p.z) }));
347
+ export const TRAVEL_PORTS = raw.TRAVEL_PORTS.map(p => (p.world ? p : { ...p, z: shiftSurfaceZ(p.x, p.z) }));
347
348
  export function travelPortById(id) { return TRAVEL_PORTS.find(p => p.id === id) ?? null; }
348
349
  export function travelPortAt(x, z) {
349
350
  let best = null, distance = Infinity;