@dreadwood-types/types 0.1.161 → 0.1.163

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.
@@ -31,7 +31,7 @@ export type WorldBossRing = {
31
31
  /** The pillars stand on this circle; within it counts as "inside the ring". */
32
32
  pillarRadius: number;
33
33
  pillarCount: number;
34
- /** The kit model each pillar is drawn with (a dreadmodel id; a Blender pillar of its own is a later job). */
34
+ /** The model each pillar is drawn with (a dreadmodel id: Ringstone's own Blender pillar, quest-workshop ringstonepillar_v001.py). */
35
35
  pillarModel: string;
36
36
  /** Kept clear of everything: the boss and the crowd fight here. */
37
37
  clearRadius: number;
@@ -136,4 +136,108 @@ export declare function ringOldStones(ring?: WorldBossRing): Array<{
136
136
  x: number;
137
137
  z: number;
138
138
  }>;
139
+ /** One ring boss's numbers. */
140
+ export type RingBoss = {
141
+ kind: RingBossKind;
142
+ /** What players read: chat lines, the boss bar. */
143
+ name: string;
144
+ level: number;
145
+ /** H1: its health against one attacker. The crowd multiplies it by n^RING_SCALE_EXPONENT. */
146
+ baseHealth: number;
147
+ /** The hold's blow: its name (bossSignatures.ts id) and the raw roll before armour. It always lands. */
148
+ signature: 'maul' | 'pincer';
149
+ signatureName: string;
150
+ holdHit: {
151
+ min: number;
152
+ max: number;
153
+ };
154
+ /** How far its body reaches (tiles): it strikes and is struck from here. */
155
+ reach: number;
156
+ /** The word for the grab: "The <name> <grabs> <player>!". */
157
+ grabs: string;
158
+ };
159
+ /**
160
+ * The tier 1 bosses. Health is tuned by the backend's scripts/ringstone-fight-sim.ts against the real combat maths:
161
+ * one player cannot do it in ten minutes, three just about fail, four or five with food take seven to nine minutes, a
162
+ * crowd a few. The hold's 3-5 always lands: four of them kill a level 1-3 player without food (11-13 health with the
163
+ * Lower Kingdoms' blessing) and a level 4-10 one who eats once lives.
164
+ */
165
+ export declare const RING_BOSSES: Readonly<Record<RingBossKind, RingBoss>>;
166
+ export declare function isRingBossKind(kind: string): kind is RingBossKind;
167
+ /** A held player is struck once a round, this many times, then let go. */
168
+ export declare const RING_HOLD_ROUNDS = 4;
169
+ /** A round of the hold: the game's combat round (two 1200 ms turns). */
170
+ export declare const RING_HOLD_ROUND_MS = 2400;
171
+ /** One hold at a time per this many attackers (at least one): up to 7 attackers one, 8-11 two, 12-15 three. */
172
+ export declare const RING_ATTACKERS_PER_HOLD = 4;
173
+ /** An attacker is a player who hurt the boss within this long. */
174
+ export declare const RING_ATTACKER_WINDOW_MS = 60000;
175
+ /** The crowd's count is smoothed over about this long, so one player stepping out is no jump. */
176
+ export declare const RING_ATTACKER_SMOOTH_MS = 20000;
177
+ export declare const RING_SCALE_EXPONENT = 0.3;
178
+ /** The boss turns up only this soon after the event starts (a late tick, never a boot long after it). */
179
+ export declare const RING_SPAWN_GRACE_MS = 30000;
180
+ /** After the kill the chest waits this long to be pried open, then bursts by itself. */
181
+ export declare const RING_CHEST_WAIT_MS = 120000;
182
+ /** The thrown gear lies on the floor this long, free for anyone. */
183
+ export declare const RING_FLOOR_ITEM_MS = 90000;
184
+ /** At most this many pieces are thrown. */
185
+ export declare const RING_FLOOR_ITEM_CAP = 15;
186
+ /** A satchel needs this long inside the pillars during the fight, or a blow on the boss. */
187
+ export declare const RING_SATCHEL_MIN_INSIDE_MS = 60000;
188
+ /** The tier 1 floor gear: bronze, and plain wood (half each; the bronze gets the odd one). */
189
+ export declare const RING_FLOOR_BRONZE: readonly string[];
190
+ export declare const RING_FLOOR_WOOD: readonly string[];
191
+ /** A satchel: coins and one or two small things. */
192
+ export declare const RING_SATCHEL_COINS: {
193
+ readonly min: 120;
194
+ readonly max: 240;
195
+ };
196
+ export declare const RING_SATCHEL_LOOT: ReadonlyArray<{
197
+ kind: string;
198
+ min: number;
199
+ max: number;
200
+ }>;
201
+ /** The failed fight's consolation for anyone who hurt it: coins only. */
202
+ export declare const RING_CONSOLATION_COINS: {
203
+ readonly min: 25;
204
+ readonly max: 60;
205
+ };
206
+ /** The boss's health against `attackers` (smoothed, so not a whole number): H1 * n^0.3, never below H1. */
207
+ export declare function ringBossMaxHealth(kind: RingBossKind, attackers: number): number;
208
+ /** How many players it holds at once against this many attackers (at least one). */
209
+ export declare function ringHoldCount(attackers: number): number;
210
+ /** The pieces the chest throws for `players` inside at the kill: half bronze, half wood (the odd one bronze), capped. */
211
+ export declare function ringFloorDrops(players: number, random?: () => number): string[];
212
+ /** One satchel: coins plus one or two different small things. */
213
+ export declare function ringSatchel(random?: () => number): Array<{
214
+ kind: string;
215
+ qty: number;
216
+ }>;
217
+ /** The failed fight's satchel: coins only. */
218
+ export declare function ringConsolation(random?: () => number): Array<{
219
+ kind: string;
220
+ qty: number;
221
+ }>;
222
+ export type RingFightPhase = 'calm' | 'fight' | 'won' | 'failed';
223
+ export type RingChestState = 'locked' | 'ready' | 'open';
224
+ /** What a client is told about the fight (message 'ringstone_fight'). */
225
+ export type RingFightView = {
226
+ ringId: string;
227
+ phase: RingFightPhase;
228
+ boss: RingBossKind | null;
229
+ /** The boss NPC's id while it stands. */
230
+ bossId: string | null;
231
+ /** Time left in the fight window when this was sent (0 outside a fight). */
232
+ msLeft: number;
233
+ health: number;
234
+ healthMax: number;
235
+ /** The players held right now. */
236
+ held: string[];
237
+ /** The cage at the north edge is down (the chest locked in it) until the kill. */
238
+ caged: boolean;
239
+ chest: RingChestState;
240
+ };
241
+ /** The fight's world chat lines (one place, so the backend and the tests read the same words). */
242
+ export declare function ringFightLine(kind: 'start' | 'won' | 'failed' | 'empty', boss: RingBossKind, ring?: WorldBossRing): string;
139
243
  //# sourceMappingURL=worldBossRing.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"worldBossRing.d.ts","sourceRoot":"","sources":["../src/worldBossRing.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"worldBossRing.d.ts","sourceRoot":"","sources":["../src/worldBossRing.ts"],"names":[],"mappings":"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"}
@@ -25,7 +25,7 @@ export const RINGSTONE = {
25
25
  floorRadius: 13,
26
26
  pillarRadius: 15,
27
27
  pillarCount: 12,
28
- pillarModel: 'evmasonrypillar',
28
+ pillarModel: 'ringstonepillar',
29
29
  clearRadius: 6,
30
30
  tier: { id: 1, minLevel: 1, maxLevel: 10 },
31
31
  bossPool: ['brownbear', 'giantcrab'],
@@ -162,4 +162,104 @@ export function ringOldStones(ring = RINGSTONE) {
162
162
  return { x: Math.round(ring.centre.x + Math.cos(a) * r), z: Math.round(ring.centre.z + Math.sin(a) * r) };
163
163
  });
164
164
  }
165
+ /**
166
+ * The tier 1 bosses. Health is tuned by the backend's scripts/ringstone-fight-sim.ts against the real combat maths:
167
+ * one player cannot do it in ten minutes, three just about fail, four or five with food take seven to nine minutes, a
168
+ * crowd a few. The hold's 3-5 always lands: four of them kill a level 1-3 player without food (11-13 health with the
169
+ * Lower Kingdoms' blessing) and a level 4-10 one who eats once lives.
170
+ */
171
+ export const RING_BOSSES = {
172
+ brownbear: {
173
+ kind: 'brownbear', name: 'Brown Bear', level: 8, baseHealth: 3500,
174
+ signature: 'maul', signatureName: 'Maul', holdHit: { min: 3, max: 5 }, reach: 2, grabs: 'seizes',
175
+ },
176
+ giantcrab: {
177
+ kind: 'giantcrab', name: 'Giant Crab', level: 8, baseHealth: 3500,
178
+ signature: 'pincer', signatureName: 'Pincer', holdHit: { min: 3, max: 5 }, reach: 3, grabs: 'clamps',
179
+ },
180
+ };
181
+ export function isRingBossKind(kind) {
182
+ return kind === 'brownbear' || kind === 'giantcrab';
183
+ }
184
+ /** A held player is struck once a round, this many times, then let go. */
185
+ export const RING_HOLD_ROUNDS = 4;
186
+ /** A round of the hold: the game's combat round (two 1200 ms turns). */
187
+ export const RING_HOLD_ROUND_MS = 2400;
188
+ /** One hold at a time per this many attackers (at least one): up to 7 attackers one, 8-11 two, 12-15 three. */
189
+ export const RING_ATTACKERS_PER_HOLD = 4;
190
+ /** An attacker is a player who hurt the boss within this long. */
191
+ export const RING_ATTACKER_WINDOW_MS = 60_000;
192
+ /** The crowd's count is smoothed over about this long, so one player stepping out is no jump. */
193
+ export const RING_ATTACKER_SMOOTH_MS = 20_000;
194
+ export const RING_SCALE_EXPONENT = 0.3;
195
+ /** The boss turns up only this soon after the event starts (a late tick, never a boot long after it). */
196
+ export const RING_SPAWN_GRACE_MS = 30_000;
197
+ /** After the kill the chest waits this long to be pried open, then bursts by itself. */
198
+ export const RING_CHEST_WAIT_MS = 120_000;
199
+ /** The thrown gear lies on the floor this long, free for anyone. */
200
+ export const RING_FLOOR_ITEM_MS = 90_000;
201
+ /** At most this many pieces are thrown. */
202
+ export const RING_FLOOR_ITEM_CAP = 15;
203
+ /** A satchel needs this long inside the pillars during the fight, or a blow on the boss. */
204
+ export const RING_SATCHEL_MIN_INSIDE_MS = 60_000;
205
+ /** The tier 1 floor gear: bronze, and plain wood (half each; the bronze gets the odd one). */
206
+ export const RING_FLOOR_BRONZE = ['bronzedagger', 'bronzesword', 'bronzeshield', 'bronzehelmet', 'bronzebody', 'bronzegauntlets', 'bronzeboots', 'bronzelegs'];
207
+ export const RING_FLOOR_WOOD = ['woodenclub', 'birchshortbow'];
208
+ /** A satchel: coins and one or two small things. */
209
+ export const RING_SATCHEL_COINS = { min: 120, max: 240 };
210
+ export const RING_SATCHEL_LOOT = [
211
+ { kind: 'bread', min: 1, max: 2 },
212
+ { kind: 'grilledfish', min: 1, max: 3 },
213
+ { kind: 'cookedchicken', min: 1, max: 2 },
214
+ { kind: 'ration', min: 1, max: 2 },
215
+ { kind: 'cider', min: 1, max: 1 },
216
+ { kind: 'bronzearrow', min: 5, max: 15 },
217
+ ];
218
+ /** The failed fight's consolation for anyone who hurt it: coins only. */
219
+ export const RING_CONSOLATION_COINS = { min: 25, max: 60 };
220
+ /** The boss's health against `attackers` (smoothed, so not a whole number): H1 * n^0.3, never below H1. */
221
+ export function ringBossMaxHealth(kind, attackers) {
222
+ return Math.round(RING_BOSSES[kind].baseHealth * Math.pow(Math.max(1, attackers), RING_SCALE_EXPONENT));
223
+ }
224
+ /** How many players it holds at once against this many attackers (at least one). */
225
+ export function ringHoldCount(attackers) {
226
+ return Math.max(1, Math.floor(Math.max(0, attackers) / RING_ATTACKERS_PER_HOLD));
227
+ }
228
+ /** The pieces the chest throws for `players` inside at the kill: half bronze, half wood (the odd one bronze), capped. */
229
+ export function ringFloorDrops(players, random = Math.random) {
230
+ const n = Math.max(0, Math.min(RING_FLOOR_ITEM_CAP, Math.floor(players)));
231
+ const bronze = Math.ceil(n / 2);
232
+ const pick = (list) => list[Math.floor(random() * list.length) % list.length];
233
+ const out = [];
234
+ for (let i = 0; i < n; i++)
235
+ out.push(pick(i < bronze ? RING_FLOOR_BRONZE : RING_FLOOR_WOOD));
236
+ return out;
237
+ }
238
+ const rollBetween = (min, max, random) => min + (Math.floor(random() * (max - min + 1)) % (max - min + 1));
239
+ /** One satchel: coins plus one or two different small things. */
240
+ export function ringSatchel(random = Math.random) {
241
+ const items = [{ kind: 'coins', qty: rollBetween(RING_SATCHEL_COINS.min, RING_SATCHEL_COINS.max, random) }];
242
+ const count = random() < 0.5 ? 1 : 2;
243
+ const pool = [...RING_SATCHEL_LOOT];
244
+ for (let i = 0; i < count && pool.length > 0; i++) {
245
+ const [entry] = pool.splice(Math.floor(random() * pool.length) % pool.length, 1);
246
+ items.push({ kind: entry.kind, qty: rollBetween(entry.min, entry.max, random) });
247
+ }
248
+ return items;
249
+ }
250
+ /** The failed fight's satchel: coins only. */
251
+ export function ringConsolation(random = Math.random) {
252
+ return [{ kind: 'coins', qty: rollBetween(RING_CONSOLATION_COINS.min, RING_CONSOLATION_COINS.max, random) }];
253
+ }
254
+ /** The fight's world chat lines (one place, so the backend and the tests read the same words). */
255
+ export function ringFightLine(kind, boss, ring = RINGSTONE) {
256
+ const name = RING_BOSSES[boss].name;
257
+ if (kind === 'start')
258
+ return `World event: A ${name} has come to ${ring.title}, ${ring.where}! Ten minutes to bring it down.`;
259
+ if (kind === 'won')
260
+ return `World event: The ${name} has fallen at ${ring.title}! The cage lifts from the chest.`;
261
+ if (kind === 'failed')
262
+ return `World event: The ${name} has left ${ring.title} unbeaten. The cage stays shut.`;
263
+ return `World event: Nobody stood in ${ring.title}, so the ${name} did not come.`;
264
+ }
165
265
  //# sourceMappingURL=worldBossRing.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"worldBossRing.js","sourceRoot":"","sources":["../src/worldBossRing.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"worldBossRing.js","sourceRoot":"","sources":["../src/worldBossRing.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAKH,MAAM,CAAC,MAAM,WAAW,GAAyB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AAgCpE;;;;;GAKG;AACH,MAAM,CAAC,MAAM,SAAS,GAAkB;IACtC,EAAE,EAAE,WAAW;IACf,KAAK,EAAE,WAAW;IAClB,KAAK,EAAE,+BAA+B;IACtC,MAAM,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE;IAC1B,WAAW,EAAE,EAAE;IACf,YAAY,EAAE,EAAE;IAChB,WAAW,EAAE,EAAE;IACf,WAAW,EAAE,iBAAiB;IAC9B,WAAW,EAAE,CAAC;IACd,IAAI,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE;IAC1C,QAAQ,EAAE,CAAC,WAAW,EAAE,WAAW,CAAC;IACpC,IAAI,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE;IACxB,QAAQ,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE;IAC5B,IAAI,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE;CACzB,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAA6B,CAAC,SAAS,CAAC,CAAC;AAEtE,qHAAqH;AACrH,MAAM,CAAC,MAAM,iBAAiB,GAAG,gBAAgB,CAAC;AAClD,kGAAkG;AAClG,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC;AAEtC,MAAM,UAAU,aAAa,CAAC,EAAU;IACtC,OAAO,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;AACnD,CAAC;AAED,gHAAgH;AAChH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC;AAE9C,2GAA2G;AAC3G,MAAM,CAAC,MAAM,aAAa,GAAG,EAAE,GAAG,MAAM,CAAC;AAEzC,MAAM,IAAI,GAAG,EAAE,GAAG,MAAM,CAAC;AACzB,MAAM,MAAM,GAAG,MAAM,CAAC;AAEtB;;;GAGG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAoF;IAC/G,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,IAAI,EAAE,iCAAiC,EAAE,MAAM,EAAE,SAAS,EAAE;IACxF,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,IAAI,EAAE,gCAAgC,EAAE,MAAM,EAAE,SAAS,EAAE;IACvF,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,GAAG,MAAM,EAAE,IAAI,EAAE,iCAAiC,EAAE,MAAM,EAAE,SAAS,EAAE;IAC3F,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,GAAG,MAAM,EAAE,IAAI,EAAE,mCAAmC,EAAE,MAAM,EAAE,SAAS,EAAE;IAC7F,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,MAAM,EAAE,IAAI,EAAE,yBAAyB,EAAE,MAAM,EAAE,SAAS,EAAE;IAClF,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,QAAQ,EAAE,IAAI,EAAE,6BAA6B,EAAE,MAAM,EAAE,SAAS,EAAE;CACtF,CAAC;AAEF,MAAM,UAAU,WAAW,CAAC,CAAU;IACpC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACxE,CAAC;AAED,8FAA8F;AAC9F,MAAM,UAAU,MAAM,CAAC,GAAW;IAChC,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,cAAc,CAAC,CAAC;AAC1C,CAAC;AAED,yDAAyD;AACzD,MAAM,UAAU,WAAW,CAAC,GAAW;IACrC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,cAAc,CAAC;AAC5C,CAAC;AAED,qEAAqE;AACrE,MAAM,UAAU,OAAO,CAAC,QAAgB;IACtC,KAAK,MAAM,GAAG,IAAI,gBAAgB;QAAE,IAAI,QAAQ,GAAG,GAAG,CAAC,IAAI;YAAE,OAAO,GAAG,CAAC,KAAK,CAAC;IAC9E,OAAO,CAAC,CAAC;AACX,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,KAAgB;IACxC,OAAO,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,KAAK,CAAE,CAAC,IAAI,CAAC;AAC/D,CAAC;AAED,4EAA4E;AAC5E,MAAM,UAAU,WAAW,CAAC,KAAgB;IAC1C,OAAO,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,KAAK,CAAE,CAAC,MAAM,CAAC;AACjE,CAAC;AAED,uCAAuC;AACvC,MAAM,UAAU,QAAQ,CAAC,KAAgB,EAAE,OAAsB,SAAS;IACxE,OAAO,gBAAgB,SAAS,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,EAAE,CAAC;AAC3E,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,WAAW,CAAC,GAAW;IACrC,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;IACzB,IAAI,GAAG,GAAG,IAAI,GAAG,cAAc,GAAG,aAAa;QAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;IACnG,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;IACxC,OAAO,EAAE,SAAS,EAAE,IAAI,GAAG,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,CAAC;AACrE,CAAC;AAED,SAAS,QAAQ,CAAC,IAAY,EAAE,IAAY;IAC1C,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,UAAU,EAAE,UAAU,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,UAAU,EAAE,UAAU,CAAC,CAAC;IAC5F,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,UAAU,CAAC,CAAC;IAC1C,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,UAAU,CAAC,CAAC;IAC1C,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;IACd,OAAO,CAAC,KAAK,CAAC,CAAC;AACjB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,WAAW,CAAC,IAAY,EAAE,OAAsB,SAAS;IACvE,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC;IAC3B,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;IACtB,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC,CAAC,CAAE,CAAC;IAC7B,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IAC3D,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAE,CAAC;IAChF,MAAM,IAAI,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;IAClD,IAAI,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAE,CAAC;IACzD,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACvD,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAClE,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,OAAO,CAAC,MAAM,CAAE,CAAE,CAAC;AAChE,CAAC;AAED,sCAAsC;AACtC,MAAM,UAAU,WAAW,CAAC,CAAS,EAAE,CAAS,EAAE,OAAsB,SAAS;IAC/E,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,WAAW,CAAC;AAC9E,CAAC;AAED,gFAAgF;AAChF,MAAM,UAAU,MAAM,CAAC,CAAS,EAAE,CAAS,EAAE,OAAsB,SAAS;IAC1E,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC;AAC/E,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,WAAW,CAAC,OAAsB,SAAS;IACzD,MAAM,GAAG,GAAoC,EAAE,CAAC;IAChD,MAAM,IAAI,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;IAC9C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC,EAAE,EAAE,CAAC;QAC1C,MAAM,CAAC,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;QAC9B,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;IAC/I,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAA8C;IAC9E,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE;IAC3G,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE;CAC3F,CAAC;AAEF,MAAM,UAAU,aAAa,CAAC,OAAsB,SAAS;IAC3D,OAAO,qBAAqB,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE;QAC9C,MAAM,CAAC,GAAG,CAAC,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC;QAChC,OAAO,EAAE,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;IAC5G,CAAC,CAAC,CAAC;AACL,CAAC;AAgCD;;;;;GAKG;AACH,MAAM,CAAC,MAAM,WAAW,GAA6C;IACnE,SAAS,EAAE;QACT,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC,EAAE,UAAU,EAAE,IAAI;QACjE,SAAS,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,QAAQ;KACjG;IACD,SAAS,EAAE;QACT,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC,EAAE,UAAU,EAAE,IAAI;QACjE,SAAS,EAAE,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,QAAQ;KACrG;CACF,CAAC;AAEF,MAAM,UAAU,cAAc,CAAC,IAAY;IACzC,OAAO,IAAI,KAAK,WAAW,IAAI,IAAI,KAAK,WAAW,CAAC;AACtD,CAAC;AAED,0EAA0E;AAC1E,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC;AAClC,wEAAwE;AACxE,MAAM,CAAC,MAAM,kBAAkB,GAAG,IAAI,CAAC;AACvC,+GAA+G;AAC/G,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC;AACzC,kEAAkE;AAClE,MAAM,CAAC,MAAM,uBAAuB,GAAG,MAAM,CAAC;AAC9C,iGAAiG;AACjG,MAAM,CAAC,MAAM,uBAAuB,GAAG,MAAM,CAAC;AAC9C,MAAM,CAAC,MAAM,mBAAmB,GAAG,GAAG,CAAC;AACvC,yGAAyG;AACzG,MAAM,CAAC,MAAM,mBAAmB,GAAG,MAAM,CAAC;AAC1C,wFAAwF;AACxF,MAAM,CAAC,MAAM,kBAAkB,GAAG,OAAO,CAAC;AAC1C,oEAAoE;AACpE,MAAM,CAAC,MAAM,kBAAkB,GAAG,MAAM,CAAC;AACzC,2CAA2C;AAC3C,MAAM,CAAC,MAAM,mBAAmB,GAAG,EAAE,CAAC;AACtC,4FAA4F;AAC5F,MAAM,CAAC,MAAM,0BAA0B,GAAG,MAAM,CAAC;AACjD,8FAA8F;AAC9F,MAAM,CAAC,MAAM,iBAAiB,GAAsB,CAAC,cAAc,EAAE,aAAa,EAAE,cAAc,EAAE,cAAc,EAAE,YAAY,EAAE,iBAAiB,EAAE,aAAa,EAAE,YAAY,CAAC,CAAC;AAClL,MAAM,CAAC,MAAM,eAAe,GAAsB,CAAC,YAAY,EAAE,eAAe,CAAC,CAAC;AAClF,oDAAoD;AACpD,MAAM,CAAC,MAAM,kBAAkB,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAW,CAAC;AAClE,MAAM,CAAC,MAAM,iBAAiB,GAA8D;IAC1F,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE;IACjC,EAAE,IAAI,EAAE,aAAa,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE;IACvC,EAAE,IAAI,EAAE,eAAe,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE;IACzC,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE;IAClC,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE;IACjC,EAAE,IAAI,EAAE,aAAa,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE;CACzC,CAAC;AACF,yEAAyE;AACzE,MAAM,CAAC,MAAM,sBAAsB,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAW,CAAC;AAEpE,2GAA2G;AAC3G,MAAM,UAAU,iBAAiB,CAAC,IAAkB,EAAE,SAAiB;IACrE,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,CAAC,EAAE,mBAAmB,CAAC,CAAC,CAAC;AAC1G,CAAC;AAED,oFAAoF;AACpF,MAAM,UAAU,aAAa,CAAC,SAAiB;IAC7C,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,CAAC,GAAG,uBAAuB,CAAC,CAAC,CAAC;AACnF,CAAC;AAED,yHAAyH;AACzH,MAAM,UAAU,cAAc,CAAC,OAAe,EAAE,SAAuB,IAAI,CAAC,MAAM;IAChF,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,mBAAmB,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC1E,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAChC,MAAM,IAAI,GAAG,CAAC,IAAuB,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,CAAE,CAAC;IAClG,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;QAAE,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC;IAC7F,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,WAAW,GAAG,CAAC,GAAW,EAAE,GAAW,EAAE,MAAoB,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;AAEzI,iEAAiE;AACjE,MAAM,UAAU,WAAW,CAAC,SAAuB,IAAI,CAAC,MAAM;IAC5D,MAAM,KAAK,GAAyC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,WAAW,CAAC,kBAAkB,CAAC,GAAG,EAAE,kBAAkB,CAAC,GAAG,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;IAClJ,MAAM,KAAK,GAAG,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACrC,MAAM,IAAI,GAAG,CAAC,GAAG,iBAAiB,CAAC,CAAC;IACpC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAClD,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QACjF,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAM,CAAC,IAAI,EAAE,GAAG,EAAE,WAAW,CAAC,KAAM,CAAC,GAAG,EAAE,KAAM,CAAC,GAAG,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;IACtF,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,8CAA8C;AAC9C,MAAM,UAAU,eAAe,CAAC,SAAuB,IAAI,CAAC,MAAM;IAChE,OAAO,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,WAAW,CAAC,sBAAsB,CAAC,GAAG,EAAE,sBAAsB,CAAC,GAAG,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;AAC/G,CAAC;AAuBD,kGAAkG;AAClG,MAAM,UAAU,aAAa,CAAC,IAA0C,EAAE,IAAkB,EAAE,OAAsB,SAAS;IAC3H,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC;IACpC,IAAI,IAAI,KAAK,OAAO;QAAE,OAAO,kBAAkB,IAAI,gBAAgB,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,iCAAiC,CAAC;IAC9H,IAAI,IAAI,KAAK,KAAK;QAAE,OAAO,oBAAoB,IAAI,kBAAkB,IAAI,CAAC,KAAK,kCAAkC,CAAC;IAClH,IAAI,IAAI,KAAK,QAAQ;QAAE,OAAO,oBAAoB,IAAI,aAAa,IAAI,CAAC,KAAK,iCAAiC,CAAC;IAC/G,OAAO,gCAAgC,IAAI,CAAC,KAAK,YAAY,IAAI,gBAAgB,CAAC;AACpF,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dreadwood-types/types",
3
- "version": "0.1.161",
3
+ "version": "0.1.163",
4
4
  "description": "Public wire protocol and client-safe constants for Dreadwoods",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -22,7 +22,7 @@
22
22
  ],
23
23
  "scripts": {
24
24
  "build": "tsc -p tsconfig.json",
25
- "test": "node --test scripts/animation-test.mjs scripts/starter-jobs-test.mjs scripts/cooking-nudge-test.mjs scripts/surface-chart-test.mjs scripts/south-expansion-test.mjs scripts/rudd-test.mjs scripts/cave-map-test.mjs scripts/birch-combat-test.mjs scripts/fort-rook-bosses-test.mjs scripts/bounty-first-test.mjs scripts/running-test.mjs scripts/energy-test.mjs scripts/starter-town-test.mjs scripts/starter-expansion-test.mjs scripts/five-arches-test.mjs scripts/landing-test.mjs scripts/cove-ship-test.mjs scripts/south-fields-quests-test.mjs scripts/arcane-lands-test.mjs scripts/fair-folk-test.mjs scripts/world-boss-ring-test.mjs scripts/hopewood-wildlife-test.mjs scripts/hopewood-quests-test.mjs",
25
+ "test": "node --test scripts/animation-test.mjs scripts/starter-jobs-test.mjs scripts/cooking-nudge-test.mjs scripts/surface-chart-test.mjs scripts/south-expansion-test.mjs scripts/rudd-test.mjs scripts/cave-map-test.mjs scripts/birch-combat-test.mjs scripts/fort-rook-bosses-test.mjs scripts/bounty-first-test.mjs scripts/running-test.mjs scripts/energy-test.mjs scripts/starter-town-test.mjs scripts/starter-expansion-test.mjs scripts/five-arches-test.mjs scripts/landing-test.mjs scripts/cove-ship-test.mjs scripts/south-fields-quests-test.mjs scripts/arcane-lands-test.mjs scripts/fair-folk-test.mjs scripts/world-boss-ring-test.mjs scripts/ringstone-fight-test.mjs scripts/hopewood-wildlife-test.mjs scripts/hopewood-quests-test.mjs",
26
26
  "dev": "tsc -p tsconfig.json --watch",
27
27
  "prepare": "npm run build",
28
28
  "prepublishOnly": "npm run build"