@dreadwood-types/types 0.1.49 → 0.1.52

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.
Files changed (112) hide show
  1. package/dist/adventure.d.ts +6 -6
  2. package/dist/adventure.d.ts.map +1 -1
  3. package/dist/appearance.d.ts +16 -6
  4. package/dist/appearance.d.ts.map +1 -1
  5. package/dist/appearance.js +46 -34
  6. package/dist/appearance.js.map +1 -1
  7. package/dist/bank.d.ts.map +1 -1
  8. package/dist/bearFloes.d.ts +83 -0
  9. package/dist/bearFloes.d.ts.map +1 -0
  10. package/dist/bearFloes.js +126 -0
  11. package/dist/bearFloes.js.map +1 -0
  12. package/dist/blacksmithing.d.ts.map +1 -1
  13. package/dist/blacksmithing.js +78 -1
  14. package/dist/blacksmithing.js.map +1 -1
  15. package/dist/bloodRiver.d.ts +9 -6
  16. package/dist/bloodRiver.d.ts.map +1 -1
  17. package/dist/bloodRiver.js +19 -17
  18. package/dist/bloodRiver.js.map +1 -1
  19. package/dist/brokenRoad.d.ts.map +1 -1
  20. package/dist/capital.d.ts +541 -180
  21. package/dist/capital.d.ts.map +1 -1
  22. package/dist/capital.js +934 -184
  23. package/dist/capital.js.map +1 -1
  24. package/dist/charcoal.d.ts +43 -0
  25. package/dist/charcoal.d.ts.map +1 -0
  26. package/dist/charcoal.js +78 -0
  27. package/dist/charcoal.js.map +1 -0
  28. package/dist/clientConfig.d.ts +7 -2
  29. package/dist/clientConfig.d.ts.map +1 -1
  30. package/dist/clientConfig.js +13 -3
  31. package/dist/clientConfig.js.map +1 -1
  32. package/dist/constants.d.ts +177 -9
  33. package/dist/constants.d.ts.map +1 -1
  34. package/dist/constants.js +336 -17
  35. package/dist/constants.js.map +1 -1
  36. package/dist/dragonfire.d.ts +75 -0
  37. package/dist/dragonfire.d.ts.map +1 -0
  38. package/dist/dragonfire.js +73 -0
  39. package/dist/dragonfire.js.map +1 -0
  40. package/dist/dungeonCharts.d.ts +18 -0
  41. package/dist/dungeonCharts.d.ts.map +1 -0
  42. package/dist/dungeonCharts.js +67 -0
  43. package/dist/dungeonCharts.js.map +1 -0
  44. package/dist/equipment.d.ts +2 -0
  45. package/dist/equipment.d.ts.map +1 -1
  46. package/dist/equipment.js +33 -1
  47. package/dist/equipment.js.map +1 -1
  48. package/dist/frozenSet.d.ts +36 -0
  49. package/dist/frozenSet.d.ts.map +1 -0
  50. package/dist/frozenSet.js +58 -0
  51. package/dist/frozenSet.js.map +1 -0
  52. package/dist/goblinCave.d.ts +4 -4
  53. package/dist/goblinCave.d.ts.map +1 -1
  54. package/dist/goblinCave.js +1 -1
  55. package/dist/groundItems.d.ts.map +1 -1
  56. package/dist/groundItems.js +16 -0
  57. package/dist/groundItems.js.map +1 -1
  58. package/dist/harbour.d.ts +60 -24
  59. package/dist/harbour.d.ts.map +1 -1
  60. package/dist/harbour.js +84 -50
  61. package/dist/harbour.js.map +1 -1
  62. package/dist/iceDepths.d.ts +11 -0
  63. package/dist/iceDepths.d.ts.map +1 -1
  64. package/dist/iceDepths.js +14 -0
  65. package/dist/iceDepths.js.map +1 -1
  66. package/dist/index.d.ts +7 -0
  67. package/dist/index.d.ts.map +1 -1
  68. package/dist/index.js +7 -0
  69. package/dist/index.js.map +1 -1
  70. package/dist/interiorFurniture.d.ts +57 -0
  71. package/dist/interiorFurniture.d.ts.map +1 -0
  72. package/dist/interiorFurniture.js +159 -0
  73. package/dist/interiorFurniture.js.map +1 -0
  74. package/dist/landmarks.d.ts +77 -58
  75. package/dist/landmarks.d.ts.map +1 -1
  76. package/dist/landmarks.js +145 -119
  77. package/dist/landmarks.js.map +1 -1
  78. package/dist/messages.d.ts +74 -5
  79. package/dist/messages.d.ts.map +1 -1
  80. package/dist/messages.js.map +1 -1
  81. package/dist/mineCave.d.ts +7 -7
  82. package/dist/mineCave.d.ts.map +1 -1
  83. package/dist/mining.d.ts +8 -0
  84. package/dist/mining.d.ts.map +1 -1
  85. package/dist/mining.js +8 -0
  86. package/dist/mining.js.map +1 -1
  87. package/dist/questGuide.d.ts +30 -0
  88. package/dist/questGuide.d.ts.map +1 -0
  89. package/dist/questGuide.js +3 -0
  90. package/dist/questGuide.js.map +1 -0
  91. package/dist/quests.d.ts +29 -0
  92. package/dist/quests.d.ts.map +1 -1
  93. package/dist/quests.js +70 -0
  94. package/dist/quests.js.map +1 -1
  95. package/dist/snow.d.ts +2 -2
  96. package/dist/snow.d.ts.map +1 -1
  97. package/dist/snow.js +8 -5
  98. package/dist/snow.js.map +1 -1
  99. package/dist/spiderCave.d.ts.map +1 -1
  100. package/dist/woodwork.d.ts +8 -2
  101. package/dist/woodwork.d.ts.map +1 -1
  102. package/dist/woodwork.js +13 -3
  103. package/dist/woodwork.js.map +1 -1
  104. package/dist/xp.d.ts +18 -7
  105. package/dist/xp.d.ts.map +1 -1
  106. package/dist/xp.js +20 -9
  107. package/dist/xp.js.map +1 -1
  108. package/dist/zones.d.ts +5 -0
  109. package/dist/zones.d.ts.map +1 -1
  110. package/dist/zones.js +8 -3
  111. package/dist/zones.js.map +1 -1
  112. package/package.json +1 -1
package/dist/harbour.js CHANGED
@@ -1,3 +1,4 @@
1
+ import { NORTH_SHIFT } from './constants.js';
1
2
  import { CAPITAL_AVENUE_Z, CAPITAL_BRIDGE_HALF_W, CAPITAL_FLOOR_H, CAPITAL_GATE_HALF_W, CAPITAL_MOAT_MAX_X, } from './capital.js';
2
3
  /**
3
4
  * THE KING'S HARBOUR
@@ -26,10 +27,10 @@ export const HARBOUR_MIN_X = CAPITAL_MOAT_MAX_X + 1;
26
27
  /** The quay's edge tile: the last land, the water begins on the next. */
27
28
  export const HARBOUR_MAX_X = 819;
28
29
  export const HARBOUR_SEA_X = HARBOUR_MAX_X + 1;
29
- export const HARBOUR_NORTH_Z = 44;
30
- export const HARBOUR_SOUTH_Z = 148;
30
+ export const HARBOUR_NORTH_Z = 108;
31
+ export const HARBOUR_SOUTH_Z = 212;
31
32
  /** Everything the ward and the bay own, for the sweep and the levelling. */
32
- export const HARBOUR_WORKS = { minX: HARBOUR_MIN_X, maxX: 927, minZ: 0, maxZ: 232 };
33
+ export const HARBOUR_WORKS = { minX: HARBOUR_MIN_X, maxX: 927, minZ: 64, maxZ: 296 };
33
34
  /** The ward's floor is the city's; the quay stands two heights over the water. */
34
35
  export const HARBOUR_FLOOR_H = CAPITAL_FLOOR_H;
35
36
  export const HARBOUR_WATER_H = 0;
@@ -51,13 +52,13 @@ const inRect = (r, x, z) => x >= r.minX && x <= r.maxX && z >= r.minZ && z <= r.
51
52
  * flank it.
52
53
  */
53
54
  export const HARBOUR_ROYAL_PIER = { minX: HARBOUR_SEA_X, maxX: 853, minZ: HARBOUR_ROAD_Z - 3, maxZ: HARBOUR_ROAD_Z + 3 };
54
- export const HARBOUR_NORTH_PIER = { minX: HARBOUR_SEA_X, maxX: 845, minZ: 64, maxZ: 67 };
55
- export const HARBOUR_SOUTH_PIER = { minX: HARBOUR_SEA_X, maxX: 845, minZ: 125, maxZ: 128 };
55
+ export const HARBOUR_NORTH_PIER = { minX: HARBOUR_SEA_X, maxX: 845, minZ: 128, maxZ: 131 };
56
+ export const HARBOUR_SOUTH_PIER = { minX: HARBOUR_SEA_X, maxX: 845, minZ: 189, maxZ: 192 };
56
57
  export const HARBOUR_PIERS = [HARBOUR_ROYAL_PIER, HARBOUR_NORTH_PIER, HARBOUR_SOUTH_PIER];
57
58
  /** The breakwater from the north tower, three wide, and its head with the lighthouse on it. */
58
59
  export const HARBOUR_MOLE = { minX: HARBOUR_SEA_X, maxX: 861, minZ: HARBOUR_NORTH_Z, maxZ: HARBOUR_NORTH_Z + 2 };
59
- export const HARBOUR_MOLE_HEAD = { minX: 862, maxX: 866, minZ: 42, maxZ: 48 };
60
- export const HARBOUR_LIGHTHOUSE = { x: 864, z: 45 };
60
+ export const HARBOUR_MOLE_HEAD = { minX: 862, maxX: 866, minZ: 106, maxZ: 112 };
61
+ export const HARBOUR_LIGHTHOUSE = { x: 864, z: 109 };
61
62
  /**
62
63
  * The ships. `style` is the ship kind and its bow's heading (face90 is bow
63
64
  * east, face270 bow west, face0 bow south); `hull` is the water the hull
@@ -68,58 +69,58 @@ export const HARBOUR_SHIPS = [
68
69
  {
69
70
  id: 'royal-north',
70
71
  x: 838,
71
- z: 89,
72
+ z: 153,
72
73
  style: 'harbourship-crimson-face90',
73
- hull: { minX: 830, maxX: 846, minZ: 87, maxZ: 91 },
74
+ hull: { minX: 830, maxX: 846, minZ: 151, maxZ: 155 },
74
75
  plank: { x: 838, z: HARBOUR_ROYAL_PIER.minZ, side: 'north' },
75
76
  },
76
77
  {
77
78
  id: 'royal-south',
78
79
  x: 842,
79
- z: 103,
80
+ z: 167,
80
81
  style: 'harbourship-gold-face270',
81
- hull: { minX: 834, maxX: 850, minZ: 101, maxZ: 105 },
82
+ hull: { minX: 834, maxX: 850, minZ: 165, maxZ: 169 },
82
83
  plank: { x: 842, z: HARBOUR_ROYAL_PIER.maxZ, side: 'south' },
83
84
  },
84
85
  {
85
86
  id: 'north-pier',
86
87
  x: 834,
87
- z: 60,
88
+ z: 124,
88
89
  style: 'harbourship-green-face90',
89
- hull: { minX: 826, maxX: 842, minZ: 58, maxZ: 62 },
90
+ hull: { minX: 826, maxX: 842, minZ: 122, maxZ: 126 },
90
91
  plank: { x: 834, z: HARBOUR_NORTH_PIER.minZ, side: 'north' },
91
92
  },
92
93
  {
93
94
  id: 'north-pier-south',
94
95
  x: 834,
95
- z: 71,
96
+ z: 135,
96
97
  style: 'harbourship-blue-face270',
97
- hull: { minX: 826, maxX: 842, minZ: 69, maxZ: 73 },
98
+ hull: { minX: 826, maxX: 842, minZ: 133, maxZ: 137 },
98
99
  plank: { x: 834, z: HARBOUR_NORTH_PIER.maxZ, side: 'south' },
99
100
  },
100
101
  {
101
102
  id: 'south-pier',
102
103
  x: 832,
103
- z: 121,
104
+ z: 185,
104
105
  style: 'landingship-face270',
105
- hull: { minX: 827, maxX: 837, minZ: 119, maxZ: 123 },
106
+ hull: { minX: 827, maxX: 837, minZ: 183, maxZ: 187 },
106
107
  plank: { x: 832, z: HARBOUR_SOUTH_PIER.minZ, side: 'north' },
107
108
  },
108
109
  {
109
110
  id: 'south-pier-south',
110
111
  x: 830,
111
- z: 132,
112
+ z: 196,
112
113
  style: 'viking-face90',
113
- hull: { minX: 826, maxX: 834, minZ: 130, maxZ: 134 },
114
+ hull: { minX: 826, maxX: 834, minZ: 194, maxZ: 198 },
114
115
  plank: { x: 830, z: HARBOUR_SOUTH_PIER.maxZ, side: 'south' },
115
116
  },
116
117
  {
117
118
  id: 'south-quay',
118
119
  x: 823,
119
- z: 140,
120
+ z: 204,
120
121
  style: 'viking-face0',
121
- hull: { minX: 821, maxX: 825, minZ: 136, maxZ: 144 },
122
- plank: { x: HARBOUR_MAX_X, z: 140, side: 'east' },
122
+ hull: { minX: 821, maxX: 825, minZ: 200, maxZ: 208 },
123
+ plank: { x: HARBOUR_MAX_X, z: 204, side: 'east' },
123
124
  },
124
125
  ];
125
126
  /**
@@ -128,38 +129,70 @@ export const HARBOUR_SHIPS = [
128
129
  * behind them on the road too. Styles as the capital's landmarks.
129
130
  */
130
131
  export const HARBOUR_LANDMARKS = [
131
- { id: 'harbour-master', kind: 'stonehouse', style: 'hall-s', x: 800, z: 84, board: 'Harbour Master' },
132
- { id: 'customs', kind: 'stonehouse', style: 'bank-n', x: 800, z: 108, board: 'Customs House' },
133
- { id: 'anchor-inn', kind: 'stonehouse', style: 'pub-s', x: 784, z: 84 },
134
- { id: 'chandler', kind: 'stonehouse', style: 'shop-n', x: 784, z: 108, board: 'Chandler' },
135
- { id: 'warehouse-n1', kind: 'warehouse', style: 'store-e', x: 806, z: 70 },
136
- { id: 'warehouse-n2', kind: 'warehouse', style: 'store-e', x: 806, z: 55 },
137
- { id: 'warehouse-s1', kind: 'warehouse', style: 'store-e', x: 806, z: 122 },
138
- { id: 'warehouse-s2', kind: 'warehouse', style: 'store-e', x: 806, z: 137 },
139
- ];
140
- /** Blind terraces along the wall walks and across the yards, backdrop between the hero buildings. */
141
- export const HARBOUR_TERRACES = [
142
- { z: 49, facing: 's', xs: [774, 779, 784, 789, 794] },
143
- { z: 64, facing: 'n', xs: [773, 778, 783, 788, 793] },
144
- { z: 128, facing: 's', xs: [773, 778, 783, 788, 793] },
145
- { z: 143, facing: 'n', xs: [774, 779, 784, 789, 794] },
132
+ { id: 'harbour-master', kind: 'stonehouse', style: 'hall-s', x: 800, z: 148, board: 'Harbour Master' },
133
+ { id: 'customs', kind: 'stonehouse', style: 'bank-n', x: 800, z: 172, board: 'Customs House' },
134
+ { id: 'anchor-inn', kind: 'stonehouse', style: 'pub-s', x: 784, z: 148 },
135
+ { id: 'chandler', kind: 'stonehouse', style: 'shop-n', x: 784, z: 172, board: 'Chandler' },
136
+ { id: 'warehouse-n1', kind: 'warehouse', style: 'store-e', x: 806, z: 134 },
137
+ { id: 'warehouse-n2', kind: 'warehouse', style: 'store-e', x: 806, z: 119 },
138
+ { id: 'warehouse-s1', kind: 'warehouse', style: 'store-e', x: 806, z: 186 },
139
+ { id: 'warehouse-s2', kind: 'warehouse', style: 'store-e', x: 806, z: 201 },
146
140
  ];
141
+ /**
142
+ * The two open yards that replaced the blind terraces (the Capital redesign,
143
+ * 2026-09-25: no blind buildings anywhere James can see from the East Gate).
144
+ * Both run from the moat's bank to the warehouses' backs (x 771-797).
145
+ *
146
+ * The Net Yard, inside the north wall: net drying frames, fish racks, rope
147
+ * coils, a boat on trestles, barrels.
148
+ */
149
+ export const HARBOUR_NET_YARD = {
150
+ minX: HARBOUR_MIN_X + 2,
151
+ maxX: HARBOUR_MIN_X + 28,
152
+ minZ: HARBOUR_NORTH_Z + 2,
153
+ maxZ: HARBOUR_NORTH_Z + 24,
154
+ };
155
+ /**
156
+ * The Fish Market, inside the south wall: six striped stalls in two rows
157
+ * facing each other across an aisle (the three on the quay stay too), fish
158
+ * racks and ice crates round them. The Fishmonger's tile is the aisle's
159
+ * middle (phase 2).
160
+ */
161
+ export const HARBOUR_FISH_MARKET = {
162
+ minX: HARBOUR_MIN_X + 2,
163
+ maxX: HARBOUR_MIN_X + 28,
164
+ minZ: HARBOUR_SOUTH_Z - 24,
165
+ maxZ: HARBOUR_SOUTH_Z - 2,
166
+ };
167
+ const FISH_MARKET_X = (HARBOUR_FISH_MARKET.minX + HARBOUR_FISH_MARKET.maxX) / 2;
168
+ const FISH_MARKET_Z = (HARBOUR_FISH_MARKET.minZ + HARBOUR_FISH_MARKET.maxZ) / 2;
169
+ export const HARBOUR_FISH_MARKET_KEEPER = { x: FISH_MARKET_X, z: FISH_MARKET_Z };
170
+ /** The six stalls: `marketstall fish-<facing>`, each counter three tiles along x, fronting the aisle. */
171
+ export const HARBOUR_FISH_MARKET_STALLS = [-6, 0, 6].flatMap((dx) => [
172
+ { x: FISH_MARKET_X + dx, z: FISH_MARKET_Z - 3, facing: 's', style: 'fish-s' },
173
+ { x: FISH_MARKET_X + dx, z: FISH_MARKET_Z + 3, facing: 'n', style: 'fish-n' },
174
+ ]);
147
175
  /** Treadwheel cranes on the quay edge, at the warehouse doors. */
148
176
  export const HARBOUR_CRANES = [
149
- { x: 818, z: 60 },
150
- { x: 818, z: 76 },
151
- { x: 818, z: 116 },
152
- { x: 818, z: 132 },
177
+ { x: 818, z: 124 },
178
+ { x: 818, z: 140 },
179
+ { x: 818, z: 180 },
180
+ { x: 818, z: 196 },
153
181
  ];
154
182
  /** The fish market on the south quay: stalls with their backs to the water. */
155
183
  export const HARBOUR_FISH_STALLS = [
156
- { x: 816, z: 134 },
157
- { x: 816, z: 138 },
158
- { x: 816, z: 142 },
184
+ { x: 816, z: 198 },
185
+ { x: 816, z: 202 },
186
+ { x: 816, z: 206 },
159
187
  ];
160
- /** The sailings board at the Royal Pier's root, and the harbour master beside it. */
161
- export const HARBOUR_BOARD = { x: 817, z: 90 };
162
- export const HARBOUR_MASTER = { x: 817, z: 102, faceX: 816, faceZ: 96 };
188
+ /** The sailings board at the Royal Pier's root. */
189
+ export const HARBOUR_BOARD = { x: 817, z: 154 };
190
+ /**
191
+ * Marlow stands out on the Royal Pier at the crimson ship's gangplank, not
192
+ * back on the quay: the man who sells you a passage is beside the ship that
193
+ * carries it (James, 2026-09-22). The board still meets you at the root.
194
+ */
195
+ export const HARBOUR_MASTER = { x: 837, z: 158, faceX: 838, faceZ: 154 };
163
196
  /** Where a sailing puts you ashore: the Royal Pier beside the first gangplank. */
164
197
  export const HARBOUR_LANDING = { x: 836, z: HARBOUR_ROAD_Z };
165
198
  /** The name on the road and the map. */
@@ -205,12 +238,13 @@ function shoreHash(x, z) {
205
238
  * tower to reach the map's edge, wandering a tile or two so it is a coast
206
239
  * and not a ruler.
207
240
  */
208
- export const HARBOUR_SHORE_BEND_Z = 176;
241
+ export const HARBOUR_SHORE_BEND_Z = 240;
209
242
  export function harbourShoreX(z) {
210
243
  if (z <= HARBOUR_SHORE_BEND_Z)
211
244
  return HARBOUR_SEA_X;
212
245
  const run = z - HARBOUR_SHORE_BEND_Z;
213
- const w = (shoreHash(Math.floor(z / 3), 7) + shoreHash(Math.floor(z / 5) + 3, 11)) / 2;
246
+ const hz = z - NORTH_SHIFT;
247
+ const w = (shoreHash(Math.floor(hz / 3), 7) + shoreHash(Math.floor(hz / 5) + 3, 11)) / 2;
214
248
  return Math.min(HARBOUR_WORKS.maxX + 1, HARBOUR_SEA_X + Math.round(run * 2.7 + w * 4 - 2));
215
249
  }
216
250
  /** The Sound: sea from the shore to the map's edge, the north rows included, the decks excepted. */
@@ -219,7 +253,7 @@ export function inHarbourSea(x, z) {
219
253
  return false;
220
254
  if (onHarbourDeck(x, z))
221
255
  return false;
222
- if (z <= 2 && x >= HARBOUR_MIN_X)
256
+ if (z <= HARBOUR_WORKS.minZ + 2 && x >= HARBOUR_MIN_X)
223
257
  return true;
224
258
  return x >= harbourShoreX(z);
225
259
  }
@@ -1 +1 @@
1
- {"version":3,"file":"harbour.js","sourceRoot":"","sources":["../src/harbour.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"harbour.js","sourceRoot":"","sources":["../src/harbour.ts"],"names":[],"mappings":"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"}
@@ -98,6 +98,17 @@ export declare const ICE_DEPTHS_PORTAL_TOKEN = "portal-";
98
98
  export type IceDepthsPortalTarget = IceDepthsRoomId | 'hub';
99
99
  export declare function iceDepthsPortalTarget(style: string | undefined): IceDepthsPortalTarget | null;
100
100
  export declare function iceDepthsPortalStyle(facing: 'n' | 's' | 'e' | 'w', target: IceDepthsPortalTarget, sealed?: boolean): string;
101
+ /**
102
+ * Boss levels and max hits (backend npcs.ts reads these; the game guide
103
+ * prints them). Raised on 2026-09-22 with the level cap at 60 (James:
104
+ * "frozen bosses can be higher levels"): the Alchemist is the first wing a
105
+ * level-50 party should try, the Behemoth sits ten past the cap. Order
106
+ * also fixes the Frozen equipment drop odds (ICE_DEPTHS_BOSS_TIER).
107
+ */
108
+ export declare const ICE_DEPTHS_BOSS_STATS: Readonly<Record<IceDepthsBossKind, {
109
+ level: number;
110
+ maxHit: number;
111
+ }>>;
101
112
  /** The bosses, where they stand, and the scale the client draws them at (player-rig giants). */
102
113
  export declare const ICE_DEPTHS_BOSS_SPAWNS: ReadonlyArray<{
103
114
  kind: IceDepthsBossKind;
@@ -1 +1 @@
1
- {"version":3,"file":"iceDepths.d.ts","sourceRoot":"","sources":["../src/iceDepths.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"iceDepths.d.ts","sourceRoot":"","sources":["../src/iceDepths.ts"],"names":[],"mappings":"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"}
package/dist/iceDepths.js CHANGED
@@ -74,6 +74,20 @@ export function iceDepthsPortalTarget(style) {
74
74
  export function iceDepthsPortalStyle(facing, target, sealed = false) {
75
75
  return `${facing}-${sealed ? 'sealed-' : ''}${ICE_DEPTHS_PORTAL_TOKEN}${target}`;
76
76
  }
77
+ /**
78
+ * Boss levels and max hits (backend npcs.ts reads these; the game guide
79
+ * prints them). Raised on 2026-09-22 with the level cap at 60 (James:
80
+ * "frozen bosses can be higher levels"): the Alchemist is the first wing a
81
+ * level-50 party should try, the Behemoth sits ten past the cap. Order
82
+ * also fixes the Frozen equipment drop odds (ICE_DEPTHS_BOSS_TIER).
83
+ */
84
+ export const ICE_DEPTHS_BOSS_STATS = {
85
+ frostalchemist: { level: 52, maxHit: 28 },
86
+ frostwarden: { level: 55, maxHit: 30 },
87
+ bonechillyeti: { level: 58, maxHit: 36 },
88
+ icelich: { level: 62, maxHit: 34 },
89
+ glacialbehemoth: { level: 70, maxHit: 48 },
90
+ };
77
91
  /** The bosses, where they stand, and the scale the client draws them at (player-rig giants). */
78
92
  export const ICE_DEPTHS_BOSS_SPAWNS = ICE_DEPTHS_ROOM_IDS.map((id) => {
79
93
  const r = ICE_DEPTHS_ROOMS[id];
@@ -1 +1 @@
1
- {"version":3,"file":"iceDepths.js","sourceRoot":"","sources":["../src/iceDepths.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"iceDepths.js","sourceRoot":"","sources":["../src/iceDepths.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -30,4 +30,11 @@ export * from './bloodRiver.js';
30
30
  export * from './capital.js';
31
31
  export * from './harbour.js';
32
32
  export * from './iceDepths.js';
33
+ export * from './questGuide.js';
34
+ export * from './frozenSet.js';
35
+ export * from './interiorFurniture.js';
36
+ export * from './dungeonCharts.js';
37
+ export * from './charcoal.js';
38
+ export * from './dragonfire.js';
39
+ export * from './bearFloes.js';
33
40
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC;AAC9B,cAAc,SAAS,CAAC;AACxB,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,WAAW,CAAC;AAC1B,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,sBAAsB,CAAC;AACrC,cAAc,aAAa,CAAC;AAC5B,cAAc,sBAAsB,CAAC;AACrC,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC;AACnC,cAAc,WAAW,CAAC;AAC1B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC;AAC9B,cAAc,SAAS,CAAC;AACxB,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,WAAW,CAAC;AAC1B,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,sBAAsB,CAAC;AACrC,cAAc,aAAa,CAAC;AAC5B,cAAc,sBAAsB,CAAC;AACrC,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC;AACnC,cAAc,WAAW,CAAC;AAC1B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,wBAAwB,CAAC;AACvC,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC"}
package/dist/index.js CHANGED
@@ -30,4 +30,11 @@ export * from './bloodRiver.js';
30
30
  export * from './capital.js';
31
31
  export * from './harbour.js';
32
32
  export * from './iceDepths.js';
33
+ export * from './questGuide.js';
34
+ export * from './frozenSet.js';
35
+ export * from './interiorFurniture.js';
36
+ export * from './dungeonCharts.js';
37
+ export * from './charcoal.js';
38
+ export * from './dragonfire.js';
39
+ export * from './bearFloes.js';
33
40
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC;AAC9B,cAAc,SAAS,CAAC;AACxB,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,WAAW,CAAC;AAC1B,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,sBAAsB,CAAC;AACrC,cAAc,aAAa,CAAC;AAC5B,cAAc,sBAAsB,CAAC;AACrC,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC;AACnC,cAAc,WAAW,CAAC;AAC1B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC;AAC9B,cAAc,SAAS,CAAC;AACxB,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,WAAW,CAAC;AAC1B,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,sBAAsB,CAAC;AACrC,cAAc,aAAa,CAAC;AAC5B,cAAc,sBAAsB,CAAC;AACrC,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC;AACnC,cAAc,WAAW,CAAC;AAC1B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,wBAAwB,CAAC;AACvC,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC"}
@@ -0,0 +1,57 @@
1
+ /**
2
+ * Furniture footprints inside walk-in buildings (2026-09-22, James: "npcs
3
+ * are still colliding with objects, e.g. Victoria is walking over a
4
+ * table").
5
+ *
6
+ * The interiors are meshes built on the client, so the server knew nothing
7
+ * about them: a shopkeeper's wander and a player's click-to-walk both ran
8
+ * straight through a counter. These are the pieces big enough to walk into,
9
+ * in the SAME local space the interior builders use: the door is at +z, the
10
+ * back wall at -z, x across the room, one unit to the tile. The builder
11
+ * that places the building turns them by its facing and stamps them into
12
+ * `blocked` (map.ts's stampInterior, capitalCity.ts's stampFurniture).
13
+ *
14
+ * Rectangles are deliberately a touch SMALLER than the mesh where it is
15
+ * close: over-stamping a doorway or a shopkeeper's own tile is worse than a
16
+ * shoulder clipping a counter's end.
17
+ */
18
+ export type FurnitureRect = {
19
+ x0: number;
20
+ x1: number;
21
+ z0: number;
22
+ z1: number;
23
+ };
24
+ /** Calverton's stone houses, by variant (stoneHouse.ts rooms). */
25
+ export declare const STONE_HOUSE_FURNITURE: Record<string, FurnitureRect[]>;
26
+ /**
27
+ * The Capital's walk-in buildings, by the style the builder places them
28
+ * with (capitalInteriors.ts rooms). Same local space; `hx`/`hz` there are
29
+ * half-extents, so these are measured off the middle.
30
+ */
31
+ export declare const CAPITAL_ROOM_FURNITURE: Record<string, FurnitureRect[]>;
32
+ export declare function stoneHouseFurniture(variant: string): FurnitureRect[];
33
+ export declare function capitalRoomFurniture(style: string | undefined): FurnitureRect[];
34
+ /**
35
+ * The furniture of a placed building, keyed by what it is rather than by
36
+ * its whole style (2026-09-25). A manor is styled by its roof (`blue-s`),
37
+ * so the style lookup never found the `manor` key and the long table was
38
+ * walk-through (finding F2); a style with look tokens in the middle
39
+ * (`<variant>-<tokens>-<facing>`) would have missed too. So: stonehouses by
40
+ * their variant (the style's FIRST token), the Capital's own kinds by kind,
41
+ * the Blender buildings by model id (the first token).
42
+ *
43
+ * Stamping: turn each rect by the building's facing (buildingStyleFacing)
44
+ * with visitFurnitureTiles. The room is built about the centre of the
45
+ * building's tile, so pass the tile's centre, `cx + 0.5, cz + 0.5`, to land
46
+ * each rect on the tiles its mesh covers; passing the tile index shifts the
47
+ * stamp half a tile toward -x/-z (what Calverton's map.ts does today).
48
+ */
49
+ export declare function buildingRoomFurniture(kind: string, style: string | undefined): FurnitureRect[];
50
+ /** The facing letter a building style ends with (its door side), or null when it has none (the keep). */
51
+ export declare function buildingStyleFacing(style: string | undefined): 'n' | 's' | 'e' | 'w' | null;
52
+ /**
53
+ * Every world tile a rectangle covers once the building's facing is applied.
54
+ * `facing` is the direction the door looks, as the builders record it.
55
+ */
56
+ export declare function visitFurnitureTiles(cx: number, cz: number, facing: 'n' | 's' | 'e' | 'w', rect: FurnitureRect, visit: (x: number, z: number) => void): void;
57
+ //# sourceMappingURL=interiorFurniture.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interiorFurniture.d.ts","sourceRoot":"","sources":["../src/interiorFurniture.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,MAAM,aAAa,GAAG;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,CAAC;AAE/E,kEAAkE;AAClE,eAAO,MAAM,qBAAqB,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,EAAE,CAqCjE,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,EAAE,CAmClE,CAAC;AAEF,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,aAAa,EAAE,CAEpE;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,aAAa,EAAE,CAM/E;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,aAAa,EAAE,CAkB9F;AAED,yGAAyG;AACzG,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,CAI3F;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CACjC,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,MAAM,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EAC7B,IAAI,EAAE,aAAa,EACnB,KAAK,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,KAAK,IAAI,GACpC,IAAI,CAmBN"}
@@ -0,0 +1,159 @@
1
+ /** Calverton's stone houses, by variant (stoneHouse.ts rooms). */
2
+ export const STONE_HOUSE_FURNITURE = {
3
+ // The cutting table in the middle; the floor behind it is Victoria's beat.
4
+ clothes: [{ x0: -1, x1: 1, z0: -0.1, z1: 0.9 }],
5
+ // The potion counter across the back, and the cauldron in its corner.
6
+ potion: [
7
+ { x0: -2.5, x1: 2.5, z0: -1.7, z1: -1 },
8
+ { x0: -3.2, x1: -2.5, z0: -2.2, z1: -1.4 },
9
+ ],
10
+ // The bank counter and the clerk's chest behind it.
11
+ bank: [{ x0: -3.5, x1: 2.3, z0: -0.775, z1: -0.025 }],
12
+ // The bar down the left, the hearth on the back wall, the common table
13
+ // and its benches in the middle (the door lane at x -0.6..0.6 stays open
14
+ // only as far as the table's end).
15
+ pub: [
16
+ { x0: -3.25, x1: -2.55, z0: -3, z1: 2 },
17
+ { x0: -0.6, x1: 1.2, z0: -1.9, z1: 0.9 },
18
+ { x0: 2.3, x1: 3.5, z0: -2.6, z1: -1.4 },
19
+ ],
20
+ // The kitchen's hearth breast on the back wall, the work table right of
21
+ // the door line, the dresser on the right wall.
22
+ kitchen: [
23
+ { x0: 0.85, x1: 3.05, z0: -1.05, z1: -0.15 },
24
+ { x0: 3.1, x1: 3.6, z0: -1.2, z1: 0.4 },
25
+ ],
26
+ // The general shop's counter across the room.
27
+ shop: [{ x0: -1.8, x1: 2.6, z0: -1.9, z1: -1.2 }],
28
+ // The council table down the middle, its chairs either side, and the dais
29
+ // with the great chair across the back wall.
30
+ hall: [
31
+ { x0: -1.5, x1: 1.5, z0: -1.9, z1: 2.5 },
32
+ { x0: -2.6, x1: 2.6, z0: -3.4, z1: -2.4 },
33
+ ],
34
+ // The inn's beds down the sides and the table between them.
35
+ inn: [
36
+ { x0: -3.4, x1: -1.6, z0: -2.6, z1: 0.4 },
37
+ { x0: 1.6, x1: 3.4, z0: -2.6, z1: 0.4 },
38
+ ],
39
+ };
40
+ /**
41
+ * The Capital's walk-in buildings, by the style the builder places them
42
+ * with (capitalInteriors.ts rooms). Same local space; `hx`/`hz` there are
43
+ * half-extents, so these are measured off the middle.
44
+ */
45
+ export const CAPITAL_ROOM_FURNITURE = {
46
+ // The temple's altar on its step, across the back.
47
+ temple: [{ x0: -1.6, x1: 1.6, z0: -3.4, z1: -2.2 }],
48
+ // The forge hall: the hearth on the back wall and the two anvils before it.
49
+ forge: [
50
+ { x0: -2.6, x1: 2.6, z0: -3.6, z1: -2.4 },
51
+ { x0: -1.9, x1: -0.9, z0: -1.6, z1: -0.6 },
52
+ { x0: 0.9, x1: 1.9, z0: -1.6, z1: -0.6 },
53
+ ],
54
+ // The warehouse's stacks down both sides (its style token is `store`).
55
+ store: [
56
+ { x0: -3.6, x1: -1.8, z0: -3, z1: 2 },
57
+ { x0: 1.8, x1: 3.6, z0: -3, z1: 2 },
58
+ ],
59
+ // The manor's long table in the middle of the hall.
60
+ manor: [{ x0: -1.3, x1: 1.3, z0: -1.8, z1: 1.8 }],
61
+ // The Grand Exchange hall (capitalbuilding `grandexchange`, measured from
62
+ // backend capital-workshop/scripts/grandexchange_v003.py; Blender's +y is
63
+ // toward the back, so its y is this frame's -z and x is x): the clerks'
64
+ // counter across the back third in two halves (x +-3.7, y 1.9, 5.4 x 0.8)
65
+ // with the clerk's gap in the middle, the three clerks' desks behind it
66
+ // (x -4.5 / 0 / 4.5, y 4.2, 1.6 x 0.8), and the benches along the side
67
+ // walls (x +-8.25, y -3.6 and -0.8, 0.5 x 1.9). The runner, the price board
68
+ // on the back wall and the chandeliers are not in the way.
69
+ grandexchange: [
70
+ { x0: -6.35, x1: -1.05, z0: -2.25, z1: -1.55 },
71
+ { x0: 1.05, x1: 6.35, z0: -2.25, z1: -1.55 },
72
+ { x0: -5.25, x1: -3.75, z0: -4.55, z1: -3.85 },
73
+ { x0: -0.75, x1: 0.75, z0: -4.55, z1: -3.85 },
74
+ { x0: 3.75, x1: 5.25, z0: -4.55, z1: -3.85 },
75
+ { x0: -8.45, x1: -8.05, z0: 2.7, z1: 4.5 },
76
+ { x0: -8.45, x1: -8.05, z0: 0, z1: 1.5 },
77
+ { x0: 8.05, x1: 8.45, z0: 2.7, z1: 4.5 },
78
+ { x0: 8.05, x1: 8.45, z0: 0, z1: 1.5 },
79
+ ],
80
+ };
81
+ export function stoneHouseFurniture(variant) {
82
+ return STONE_HOUSE_FURNITURE[variant] ?? [];
83
+ }
84
+ export function capitalRoomFurniture(style) {
85
+ if (!style)
86
+ return [];
87
+ for (const key of Object.keys(CAPITAL_ROOM_FURNITURE)) {
88
+ if (style === key || style.startsWith(`${key}-`))
89
+ return CAPITAL_ROOM_FURNITURE[key];
90
+ }
91
+ return [];
92
+ }
93
+ /**
94
+ * The furniture of a placed building, keyed by what it is rather than by
95
+ * its whole style (2026-09-25). A manor is styled by its roof (`blue-s`),
96
+ * so the style lookup never found the `manor` key and the long table was
97
+ * walk-through (finding F2); a style with look tokens in the middle
98
+ * (`<variant>-<tokens>-<facing>`) would have missed too. So: stonehouses by
99
+ * their variant (the style's FIRST token), the Capital's own kinds by kind,
100
+ * the Blender buildings by model id (the first token).
101
+ *
102
+ * Stamping: turn each rect by the building's facing (buildingStyleFacing)
103
+ * with visitFurnitureTiles. The room is built about the centre of the
104
+ * building's tile, so pass the tile's centre, `cx + 0.5, cz + 0.5`, to land
105
+ * each rect on the tiles its mesh covers; passing the tile index shifts the
106
+ * stamp half a tile toward -x/-z (what Calverton's map.ts does today).
107
+ */
108
+ export function buildingRoomFurniture(kind, style) {
109
+ const first = (style ?? '').split('-')[0] ?? '';
110
+ switch (kind) {
111
+ case 'stonehouse':
112
+ return stoneHouseFurniture(first);
113
+ case 'manor':
114
+ return CAPITAL_ROOM_FURNITURE.manor ?? [];
115
+ case 'temple':
116
+ return CAPITAL_ROOM_FURNITURE.temple ?? [];
117
+ case 'forgehall':
118
+ return CAPITAL_ROOM_FURNITURE.forge ?? [];
119
+ case 'warehouse':
120
+ return CAPITAL_ROOM_FURNITURE.store ?? [];
121
+ case 'capitalbuilding':
122
+ return Object.prototype.hasOwnProperty.call(CAPITAL_ROOM_FURNITURE, first) ? CAPITAL_ROOM_FURNITURE[first] : [];
123
+ default:
124
+ return [];
125
+ }
126
+ }
127
+ /** The facing letter a building style ends with (its door side), or null when it has none (the keep). */
128
+ export function buildingStyleFacing(style) {
129
+ const parts = (style ?? '').split('-');
130
+ const last = parts[parts.length - 1];
131
+ return last === 'n' || last === 's' || last === 'e' || last === 'w' ? last : null;
132
+ }
133
+ /**
134
+ * Every world tile a rectangle covers once the building's facing is applied.
135
+ * `facing` is the direction the door looks, as the builders record it.
136
+ */
137
+ export function visitFurnitureTiles(cx, cz, facing, rect, visit) {
138
+ const step = 0.2;
139
+ for (let lx = rect.x0 + step * 0.5; lx < rect.x1; lx += step) {
140
+ for (let lz = rect.z0 + step * 0.5; lz < rect.z1; lz += step) {
141
+ let dx = lx;
142
+ let dz = lz;
143
+ if (facing === 'n') {
144
+ dx = -lx;
145
+ dz = -lz;
146
+ }
147
+ else if (facing === 'e') {
148
+ dx = lz;
149
+ dz = -lx;
150
+ }
151
+ else if (facing === 'w') {
152
+ dx = -lz;
153
+ dz = lx;
154
+ }
155
+ visit(Math.floor(cx + dx), Math.floor(cz + dz));
156
+ }
157
+ }
158
+ }
159
+ //# sourceMappingURL=interiorFurniture.js.map