@dreadwood-types/types 0.1.240 → 0.1.242

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 (47) hide show
  1. package/dist/attackableNpcs.d.ts.map +1 -1
  2. package/dist/attackableNpcs.js +3 -0
  3. package/dist/attackableNpcs.js.map +1 -1
  4. package/dist/constants.d.ts +2 -0
  5. package/dist/constants.d.ts.map +1 -1
  6. package/dist/constants.js.map +1 -1
  7. package/dist/easternMarchesQuestDef.d.ts +25 -0
  8. package/dist/easternMarchesQuestDef.d.ts.map +1 -0
  9. package/dist/easternMarchesQuestDef.js +205 -0
  10. package/dist/easternMarchesQuestDef.js.map +1 -0
  11. package/dist/explorerLedger.js +3 -3
  12. package/dist/explorerLedger.js.map +1 -1
  13. package/dist/fairFolk.d.ts +5 -1
  14. package/dist/fairFolk.d.ts.map +1 -1
  15. package/dist/fairFolk.js +20 -0
  16. package/dist/fairFolk.js.map +1 -1
  17. package/dist/fishingDerby.d.ts +133 -2
  18. package/dist/fishingDerby.d.ts.map +1 -1
  19. package/dist/fishingDerby.js +169 -12
  20. package/dist/fishingDerby.js.map +1 -1
  21. package/dist/index.d.ts +3 -0
  22. package/dist/index.d.ts.map +1 -1
  23. package/dist/index.js +3 -0
  24. package/dist/index.js.map +1 -1
  25. package/dist/lastWeighhouse.d.ts +91 -0
  26. package/dist/lastWeighhouse.d.ts.map +1 -0
  27. package/dist/lastWeighhouse.js +88 -0
  28. package/dist/lastWeighhouse.js.map +1 -0
  29. package/dist/legacy.d.ts +3 -0
  30. package/dist/legacy.d.ts.map +1 -1
  31. package/dist/legacy.js +3 -0
  32. package/dist/legacy.js.map +1 -1
  33. package/dist/messages.d.ts +7 -1
  34. package/dist/messages.d.ts.map +1 -1
  35. package/dist/messages.js.map +1 -1
  36. package/dist/quests.d.ts.map +1 -1
  37. package/dist/quests.js +25 -0
  38. package/dist/quests.js.map +1 -1
  39. package/dist/rooksOrchard.d.ts +139 -0
  40. package/dist/rooksOrchard.d.ts.map +1 -0
  41. package/dist/rooksOrchard.js +137 -0
  42. package/dist/rooksOrchard.js.map +1 -0
  43. package/dist/storyQuests.d.ts +1 -1
  44. package/dist/storyQuests.d.ts.map +1 -1
  45. package/dist/storyQuests.js +20 -0
  46. package/dist/storyQuests.js.map +1 -1
  47. package/package.json +2 -2
@@ -16,11 +16,30 @@ export type DerbyVenue = {
16
16
  spots: readonly string[];
17
17
  /** The catches that count: a frog or a snail at the pond is not a derby fish. */
18
18
  fish: readonly DerbyFish[];
19
- /** The heaviest-fish winner also gets one of these for the aquarium book (an item kind). */
19
+ /** The best-catch winner also gets one of these for the aquarium book (an item kind). */
20
20
  specimen: string;
21
21
  };
22
22
  export declare const DERBY_VENUES: readonly DerbyVenue[];
23
23
  export declare function derbyVenue(id: unknown): DerbyVenue | null;
24
+ /** Every derby fish, across the three waters (the kinds are unique, so a kind names its species). */
25
+ export declare function derbyAllFish(): readonly {
26
+ venue: DerbyVenue;
27
+ fish: DerbyFish;
28
+ }[];
29
+ export declare function derbyFishByKind(kind: string): {
30
+ venue: DerbyVenue;
31
+ fish: DerbyFish;
32
+ } | null;
33
+ /**
34
+ * LEVEL FAIRNESS (T31, 2026-10-14; T24 flagged it): the "best catch" board is judged per species, not by raw weight. A sea
35
+ * bass (1.5-6.5 kg) would beat any smelt (80-350 g) every round, so the better rod always won the smelt anglers' board. A catch
36
+ * scores its weight as a share of the biggest its kind can be, in thousandths (a record-sized smelt and a record-sized bass
37
+ * both score 1000), so a lucky smelt beats an average bass. Chosen over a bracket by Fishing level because the weight roll is
38
+ * already per species and a bracket would need a level on every entry and split small rounds into boards with one angler.
39
+ * A venue with a single species (pond: rudd and roach are comparable anyway, lake: only pike) is unchanged in practice.
40
+ */
41
+ export declare const DERBY_SCORE_SCALE = 1000;
42
+ export declare function derbyScoreOf(kind: string, grams: number): number;
24
43
  /** Time from one round's start to the next. */
25
44
  export declare const DERBY_PERIOD_MS: number;
26
45
  /** Round n starts this long after the n-th period mark (Ringstone starts on the 3-hour marks). */
@@ -69,6 +88,8 @@ export declare function derbyFishFor(venue: DerbyVenue, spotKind: string, catchK
69
88
  /** A fish's weight in whole grams; `roll` is uniform in [0, 1) so a test can walk the range. Lean to the small side. */
70
89
  export declare function rollDerbyWeight(fish: DerbyFish, roll: number): number;
71
90
  export declare function formatDerbyWeight(grams: number): string;
91
+ /** "1.50 kg Sea Bass": a weight with its species (just the weight when the kind is unknown). */
92
+ export declare function derbyCatchText(kind: string, grams: number): string;
72
93
  /** One angler's round. Keyed by character, so a logout and login carries on. */
73
94
  export type DerbyEntry = {
74
95
  /** characterId. */
@@ -81,7 +102,7 @@ export type DerbyEntry = {
81
102
  countAt: number;
82
103
  bestG: number;
83
104
  bestKind: string;
84
- /** When the heaviest fish landed (ties on weight go to whoever landed it first). */
105
+ /** When the best catch landed (ties on score go to whoever landed it first). */
85
106
  bestAt: number;
86
107
  };
87
108
  /** Add one fish to an entry, returning the new entry (the old is untouched). */
@@ -144,6 +165,114 @@ export declare function derbyPrizes(entries: readonly DerbyEntry[], venue: Derby
144
165
  export declare function derbyResultLine(entries: readonly DerbyEntry[], venue: DerbyVenue): string;
145
166
  /** What /derby tells a player: the state, and (during a round or its results) the standings and their own place. */
146
167
  export declare function derbyStatusLines(clock: DerbyClock, entries: readonly DerbyEntry[], myKey: string | null, now: number): string[];
168
+ /** The biggest fish of one kind ever weighed in at a real (clock) round. By fish kind, so the plaque lists each water's species. */
169
+ export type DerbyRecord = {
170
+ grams: number;
171
+ name: string;
172
+ at: number;
173
+ };
174
+ export type DerbyRecords = Record<string, DerbyRecord>;
175
+ /**
176
+ * A catch against the records: the new records and whether this one broke (or set) its kind's record. Pure; the old records
177
+ * are untouched. A tie does not take the record from the holder.
178
+ */
179
+ export declare function derbyWithRecord(records: DerbyRecords, who: {
180
+ name: string;
181
+ }, fish: DerbyFish, grams: number, at: number): {
182
+ records: DerbyRecords;
183
+ broke: boolean;
184
+ };
185
+ /** Server entity ids of the derby grounds beside the Long Pier's foot (final-frame world tiles; backend derbyGrounds.ts lays them). */
186
+ export declare const DERBY_BOARD_ID = "derby-board";
187
+ export declare const DERBY_RECORDS_ID = "derby-records";
188
+ export declare const DERBY_WEIGHIN_ID = "derby-weighin";
189
+ export declare const DERBY_PRIZES_ID = "derby-prizes";
190
+ export declare const DERBY_GROUNDS: {
191
+ /** The notice board: a click reads the round, the standings and the last results. */
192
+ readonly board: {
193
+ readonly x: 298;
194
+ readonly z: 1002;
195
+ };
196
+ /** The record plaque: the biggest of each kind. */
197
+ readonly records: {
198
+ readonly x: 297;
199
+ readonly z: 1004;
200
+ };
201
+ /** Stand-in props (the Bramble Fair's striped stalls) until the Blender pieces: the scales and the prize table. */
202
+ readonly weighIn: {
203
+ readonly x: 294;
204
+ readonly z: 1000;
205
+ };
206
+ readonly prizes: {
207
+ readonly x: 290;
208
+ readonly z: 1000;
209
+ };
210
+ };
211
+ /** Within this many tiles of the board it shows the round over itself, like Ringstone's. */
212
+ export declare const DERBY_SIGN_READ_RANGE = 6;
213
+ export type DerbyRow = {
214
+ name: string;
215
+ text: string;
216
+ };
217
+ export type DerbyYou = {
218
+ bestPlace: number;
219
+ mostPlace: number;
220
+ count: number;
221
+ bestText: string;
222
+ };
223
+ export type DerbyRecordRow = {
224
+ venueId: DerbyVenueId;
225
+ venueName: string;
226
+ fish: string;
227
+ text: string;
228
+ holder: string;
229
+ };
230
+ export type DerbyLast = {
231
+ venueName: string;
232
+ best: DerbyRow[];
233
+ most: DerbyRow[];
234
+ };
235
+ /** Message `derby`: everything the board, the plaque and the HUD show, built per player (`you`). Times are "from now". */
236
+ export type DerbyView = {
237
+ stage: DerbyStage;
238
+ venueId: DerbyVenueId;
239
+ venueName: string;
240
+ where: string;
241
+ msToStart: number;
242
+ msToEnd: number;
243
+ nextVenueName: string;
244
+ nextInMs: number;
245
+ /** Anglers ranked this round. */
246
+ anglers: number;
247
+ best: DerbyRow[];
248
+ most: DerbyRow[];
249
+ you: DerbyYou | null;
250
+ /** The last finished round (while there is no live one): its top three on each board. */
251
+ last: DerbyLast | null;
252
+ records: DerbyRecordRow[];
253
+ };
254
+ /** A short ticking time, "12:34". */
255
+ export declare function formatDerbyClock(ms: number): string;
256
+ export declare function derbyRecordRows(records: DerbyRecords): DerbyRecordRow[];
257
+ export declare function derbyView(input: {
258
+ clock: DerbyClock;
259
+ now: number;
260
+ /** The standings of the round `clock` is about (empty when it has not started). */
261
+ entries: readonly DerbyEntry[];
262
+ /** The round that finished before it, for the board's results (null: none kept). */
263
+ last: {
264
+ venue: DerbyVenue;
265
+ entries: readonly DerbyEntry[];
266
+ } | null;
267
+ records: DerbyRecords;
268
+ myKey: string | null;
269
+ }): DerbyView;
270
+ /** The line over the board or on the HUD: the round or the next one, `elapsedMs` since the view was received. */
271
+ export declare function derbyBoardText(view: DerbyView, elapsedMs?: number): string;
272
+ /** What a click on the board prints: the round, the standings (or the last round's results) and a fairness note. */
273
+ export declare function derbyBoardLines(view: DerbyView, elapsedMs?: number): string[];
274
+ /** What a click on the record plaque prints: the biggest of each kind, by water. */
275
+ export declare function derbyPlaqueLines(view: DerbyView): string[];
147
276
  /** The saved state (world timers `fishing-derby`): the round's standings, the stage last told, and prizes not yet handed over. */
148
277
  export type DerbySave = {
149
278
  v: 1;
@@ -159,6 +288,8 @@ export type DerbySave = {
159
288
  entries: DerbyEntry[];
160
289
  /** Prizes for characters who were offline when the round ended, by characterId. */
161
290
  pending: Record<string, DerbyPrize[]>;
291
+ /** The biggest fish of each kind ever weighed in (the plaque); older saves lack it. */
292
+ records: DerbyRecords;
162
293
  };
163
294
  export declare function emptyDerbySave(): DerbySave;
164
295
  /** At most this many prizes wait for one character (a character away for days cannot grow the save without bound). */
@@ -1 +1 @@
1
- {"version":3,"file":"fishingDerby.d.ts","sourceRoot":"","sources":["../src/fishingDerby.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fishingDerby.d.ts","sourceRoot":"","sources":["../src/fishingDerby.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * THE FISHING DERBY (PLAN_1_TO_40.md E5 / D1, 2026-10-14; design sheets `fishing-derby-1..5`): a scheduled 15-minute fishing
3
3
  * contest on the world's wall clock, like Ringstone's countdown. It rotates between three venues (the Long Pier, Henson Pond
4
- * and the Frozen Lake); the heaviest fish and the most fish win ribbons.
4
+ * and the Frozen Lake); the best catch and the most fish win ribbons.
5
5
  *
6
6
  * Everything here is pure: the clock, the venues, the weigh-in, the ranking and the prizes, so the server, a test and the
7
7
  * login line agree. Round n starts at `n * DERBY_PERIOD_MS + DERBY_OFFSET_MS`, so a restart, a deploy or a second server agree
@@ -47,6 +47,28 @@ export const DERBY_VENUES = [
47
47
  export function derbyVenue(id) {
48
48
  return DERBY_VENUES.find((v) => v.id === id) ?? null;
49
49
  }
50
+ /** Every derby fish, across the three waters (the kinds are unique, so a kind names its species). */
51
+ export function derbyAllFish() {
52
+ return DERBY_VENUES.flatMap((venue) => venue.fish.map((fish) => ({ venue, fish })));
53
+ }
54
+ export function derbyFishByKind(kind) {
55
+ return derbyAllFish().find((f) => f.fish.kind === kind) ?? null;
56
+ }
57
+ /**
58
+ * LEVEL FAIRNESS (T31, 2026-10-14; T24 flagged it): the "best catch" board is judged per species, not by raw weight. A sea
59
+ * bass (1.5-6.5 kg) would beat any smelt (80-350 g) every round, so the better rod always won the smelt anglers' board. A catch
60
+ * scores its weight as a share of the biggest its kind can be, in thousandths (a record-sized smelt and a record-sized bass
61
+ * both score 1000), so a lucky smelt beats an average bass. Chosen over a bracket by Fishing level because the weight roll is
62
+ * already per species and a bracket would need a level on every entry and split small rounds into boards with one angler.
63
+ * A venue with a single species (pond: rudd and roach are comparable anyway, lake: only pike) is unchanged in practice.
64
+ */
65
+ export const DERBY_SCORE_SCALE = 1000;
66
+ export function derbyScoreOf(kind, grams) {
67
+ const f = derbyFishByKind(kind);
68
+ if (!f || !Number.isFinite(grams) || grams <= 0)
69
+ return 0;
70
+ return Math.round((grams / f.fish.maxG) * DERBY_SCORE_SCALE);
71
+ }
50
72
  // ---- the clock ----------------------------------------------------------------------------------------------------------
51
73
  const MINUTE = 60_000;
52
74
  /** Time from one round's start to the next. */
@@ -113,11 +135,11 @@ function span(ms) {
113
135
  export function derbyChatLine(stage, venue) {
114
136
  switch (stage) {
115
137
  case 'soon':
116
- return `World event: the Fishing Derby casts off in ${span(DERBY_SOON_MS)} ${venue.where}. Heaviest fish and most fish win ribbons.`;
138
+ return `World event: the Fishing Derby casts off in ${span(DERBY_SOON_MS)} ${venue.where}. The best catch and the most fish win ribbons.`;
117
139
  case 'close':
118
140
  return `World event: the Fishing Derby casts off in ${span(DERBY_CLOSE_MS)} ${venue.where}.`;
119
141
  case 'open':
120
- return `World event: the Fishing Derby is ON ${venue.where}! ${span(DERBY_ROUND_MS)}: the heaviest fish and the most fish win.`;
142
+ return `World event: the Fishing Derby is ON ${venue.where}! ${span(DERBY_ROUND_MS)}: the best catch and the most fish win.`;
121
143
  case 'last':
122
144
  return `World event: ${span(DERBY_LAST_MS)} left in the Fishing Derby ${venue.where}.`;
123
145
  default:
@@ -149,10 +171,15 @@ export function formatDerbyWeight(grams) {
149
171
  return `${Math.round(grams)} g`;
150
172
  return `${(grams / 1000).toFixed(2)} kg`;
151
173
  }
174
+ /** "1.50 kg Sea Bass": a weight with its species (just the weight when the kind is unknown). */
175
+ export function derbyCatchText(kind, grams) {
176
+ const f = derbyFishByKind(kind);
177
+ return f ? `${formatDerbyWeight(grams)} ${f.fish.label}` : formatDerbyWeight(grams);
178
+ }
152
179
  /** Add one fish to an entry, returning the new entry (the old is untouched). */
153
180
  export function derbyWithCatch(entry, who, fish, grams, at) {
154
181
  const base = entry ?? { key: who.key, account: who.account, name: who.name, count: 0, countAt: at, bestG: 0, bestKind: '', bestAt: at };
155
- const heavier = grams > base.bestG;
182
+ const heavier = derbyScoreOf(fish.kind, grams) > derbyScoreOf(base.bestKind, base.bestG);
156
183
  return {
157
184
  ...base,
158
185
  name: who.name,
@@ -174,8 +201,10 @@ export function derbyRanking(entries, board) {
174
201
  const fished = entries.filter((e) => e.count > 0);
175
202
  const sorted = [...fished].sort((a, b) => {
176
203
  if (board === 'heaviest') {
177
- if (b.bestG !== a.bestG)
178
- return b.bestG - a.bestG;
204
+ const sa = derbyScoreOf(a.bestKind, a.bestG);
205
+ const sb = derbyScoreOf(b.bestKind, b.bestG);
206
+ if (sb !== sa)
207
+ return sb - sa;
179
208
  if (a.bestAt !== b.bestAt)
180
209
  return a.bestAt - b.bestAt;
181
210
  }
@@ -275,7 +304,7 @@ export function derbyPrizes(entries, venue) {
275
304
  addItem(prize, venue.specimen, 1);
276
305
  prize.marks.push(DERBY_MARK_CUP);
277
306
  }
278
- const what = board === 'heaviest' ? `the heaviest fish (${formatDerbyWeight(e.bestG)})` : `the most fish (${e.count})`;
307
+ const what = board === 'heaviest' ? `the best catch (${derbyCatchText(e.bestKind, e.bestG)})` : `the most fish (${e.count})`;
279
308
  note(e.key, `${DERBY_RIBBON_LABEL[ribbon]} for ${i === 0 ? '1st' : i === 1 ? '2nd' : '3rd'} in ${what}`);
280
309
  }
281
310
  }
@@ -301,7 +330,7 @@ export function derbyResultLine(entries, venue) {
301
330
  const h = heaviest[0];
302
331
  const fishLabel = venue.fish.find((f) => f.kind === h.bestKind)?.label ?? 'fish';
303
332
  const prizes = heaviest.length >= DERBY_MIN_ANGLERS ? '' : ' (it takes two anglers to hand out ribbons)';
304
- return `Fishing Derby at ${venue.name} is over! Heaviest: ${h.name}, ${formatDerbyWeight(h.bestG)} ${fishLabel}. Most fish: ${most[0].name}, ${most[0].count}.${prizes}`;
333
+ return `Fishing Derby at ${venue.name} is over! Best catch: ${h.name}, ${formatDerbyWeight(h.bestG)} ${fishLabel}. Most fish: ${most[0].name}, ${most[0].count}.${prizes}`;
305
334
  }
306
335
  /** What /derby tells a player: the state, and (during a round or its results) the standings and their own place. */
307
336
  export function derbyStatusLines(clock, entries, myKey, now) {
@@ -321,20 +350,135 @@ export function derbyStatusLines(clock, entries, myKey, now) {
321
350
  if (heaviest.length === 0)
322
351
  lines.push('Nobody has weighed in yet.');
323
352
  else {
324
- lines.push(`Heaviest: ${heaviest.slice(0, 3).map((e, i) => `${i + 1}. ${e.name} ${formatDerbyWeight(e.bestG)}`).join(', ')}`);
353
+ lines.push(`Best catch: ${heaviest.slice(0, 3).map((e, i) => `${i + 1}. ${e.name} ${derbyCatchText(e.bestKind, e.bestG)}`).join(', ')}`);
325
354
  lines.push(`Most fish: ${most.slice(0, 3).map((e, i) => `${i + 1}. ${e.name} ${e.count}`).join(', ')}`);
326
355
  }
327
356
  if (myKey) {
328
357
  const hp = derbyPlaceOf(entries, 'heaviest', myKey);
329
358
  const mp = derbyPlaceOf(entries, 'most', myKey);
330
359
  if (hp > 0)
331
- lines.push(`You: ${hp}${hp === 1 ? 'st' : hp === 2 ? 'nd' : hp === 3 ? 'rd' : 'th'} heaviest, ${mp}${mp === 1 ? 'st' : mp === 2 ? 'nd' : mp === 3 ? 'rd' : 'th'} for most fish.`);
360
+ lines.push(`You: ${hp}${hp === 1 ? 'st' : hp === 2 ? 'nd' : hp === 3 ? 'rd' : 'th'} best catch, ${mp}${mp === 1 ? 'st' : mp === 2 ? 'nd' : mp === 3 ? 'rd' : 'th'} for most fish.`);
332
361
  }
333
362
  }
334
363
  return lines;
335
364
  }
365
+ /**
366
+ * A catch against the records: the new records and whether this one broke (or set) its kind's record. Pure; the old records
367
+ * are untouched. A tie does not take the record from the holder.
368
+ */
369
+ export function derbyWithRecord(records, who, fish, grams, at) {
370
+ const held = records[fish.kind];
371
+ if (held && held.grams >= grams)
372
+ return { records, broke: false };
373
+ return { records: { ...records, [fish.kind]: { grams, name: who.name, at } }, broke: true };
374
+ }
375
+ // ---- Hope Beach: the board, the weigh-in and the prize stand ------------------------------------------------------------
376
+ /** Server entity ids of the derby grounds beside the Long Pier's foot (final-frame world tiles; backend derbyGrounds.ts lays them). */
377
+ export const DERBY_BOARD_ID = 'derby-board';
378
+ export const DERBY_RECORDS_ID = 'derby-records';
379
+ export const DERBY_WEIGHIN_ID = 'derby-weighin';
380
+ export const DERBY_PRIZES_ID = 'derby-prizes';
381
+ export const DERBY_GROUNDS = {
382
+ /** The notice board: a click reads the round, the standings and the last results. */
383
+ board: { x: 298, z: 1002 },
384
+ /** The record plaque: the biggest of each kind. */
385
+ records: { x: 297, z: 1004 },
386
+ /** Stand-in props (the Bramble Fair's striped stalls) until the Blender pieces: the scales and the prize table. */
387
+ weighIn: { x: 294, z: 1000 },
388
+ prizes: { x: 290, z: 1000 },
389
+ };
390
+ /** Within this many tiles of the board it shows the round over itself, like Ringstone's. */
391
+ export const DERBY_SIGN_READ_RANGE = 6;
392
+ /** A short ticking time, "12:34". */
393
+ export function formatDerbyClock(ms) {
394
+ const s = Math.max(0, Math.ceil((Number.isFinite(ms) ? ms : 0) / 1000));
395
+ return `${Math.floor(s / 60)}:${String(s % 60).padStart(2, '0')}`;
396
+ }
397
+ function topRows(entries, board, n = 3) {
398
+ return derbyRanking(entries, board).slice(0, n).map((e) => ({ name: e.name, text: board === 'heaviest' ? derbyCatchText(e.bestKind, e.bestG) : `${e.count} fish` }));
399
+ }
400
+ export function derbyRecordRows(records) {
401
+ return derbyAllFish().map(({ venue, fish }) => {
402
+ const r = records[fish.kind];
403
+ return { venueId: venue.id, venueName: venue.name, fish: fish.label, text: r ? formatDerbyWeight(r.grams) : 'no record yet', holder: r?.name ?? '' };
404
+ });
405
+ }
406
+ export function derbyView(input) {
407
+ const { clock, now } = input;
408
+ const live = derbyIsOpen(clock.stage) || clock.stage === 'results';
409
+ const entries = live ? input.entries : [];
410
+ const next = derbyNextRound(now);
411
+ let you = null;
412
+ if (live && input.myKey) {
413
+ const mine = entries.find((e) => e.key === input.myKey && e.count > 0);
414
+ if (mine) {
415
+ you = {
416
+ bestPlace: derbyPlaceOf(entries, 'heaviest', input.myKey),
417
+ mostPlace: derbyPlaceOf(entries, 'most', input.myKey),
418
+ count: mine.count,
419
+ bestText: derbyCatchText(mine.bestKind, mine.bestG),
420
+ };
421
+ }
422
+ }
423
+ const lastRanked = !live && input.last ? derbyRanking(input.last.entries, 'heaviest') : [];
424
+ const last = !live && input.last && lastRanked.length > 0
425
+ ? { venueName: input.last.venue.name, best: topRows(input.last.entries, 'heaviest'), most: topRows(input.last.entries, 'most') }
426
+ : null;
427
+ return {
428
+ stage: clock.stage,
429
+ venueId: clock.venue.id,
430
+ venueName: clock.venue.name,
431
+ where: clock.venue.where,
432
+ msToStart: clock.msToStart,
433
+ msToEnd: clock.msToEnd,
434
+ nextVenueName: next.venue.name,
435
+ nextInMs: Math.max(0, next.startsAt - now),
436
+ anglers: live ? derbyRanking(entries, 'heaviest').length : 0,
437
+ best: topRows(entries, 'heaviest'),
438
+ most: topRows(entries, 'most'),
439
+ you,
440
+ last,
441
+ records: derbyRecordRows(input.records),
442
+ };
443
+ }
444
+ function placeWord(n) {
445
+ return `${n}${n === 1 ? 'st' : n === 2 ? 'nd' : n === 3 ? 'rd' : 'th'}`;
446
+ }
447
+ /** The line over the board or on the HUD: the round or the next one, `elapsedMs` since the view was received. */
448
+ export function derbyBoardText(view, elapsedMs = 0) {
449
+ const left = view.msToEnd - elapsedMs;
450
+ if (derbyIsOpen(view.stage) && left > 0) {
451
+ const you = view.you ? ` You: ${placeWord(view.you.bestPlace)} best catch, ${placeWord(view.you.mostPlace)} most fish.` : '';
452
+ return `Fishing Derby at ${view.venueName}: ${formatDerbyClock(left)} left.${you}`;
453
+ }
454
+ if (view.stage === 'results' || derbyIsOpen(view.stage))
455
+ return `Fishing Derby at ${view.venueName} has ended: the results are on the board.`;
456
+ const startsIn = view.nextInMs - elapsedMs;
457
+ return `Next Fishing Derby: ${view.nextVenueName} in ${span(Math.max(startsIn, 60_000))}.`;
458
+ }
459
+ /** What a click on the board prints: the round, the standings (or the last round's results) and a fairness note. */
460
+ export function derbyBoardLines(view, elapsedMs = 0) {
461
+ const lines = [derbyBoardText(view, elapsedMs)];
462
+ const rows = (label, r) => (r.length > 0 ? `${label}: ${r.map((x, i) => `${i + 1}. ${x.name} ${x.text}`).join(', ')}` : '');
463
+ if (view.best.length > 0) {
464
+ lines.push(rows('Best catch', view.best), rows('Most fish', view.most));
465
+ lines.push('The best catch is judged against the biggest of its kind, so a lucky smelt can beat a bass.');
466
+ }
467
+ else if (derbyIsOpen(view.stage))
468
+ lines.push('Nobody has weighed in yet.');
469
+ else if (view.last)
470
+ lines.push(`Last round, ${view.last.venueName}:`, rows('Best catch', view.last.best), rows('Most fish', view.last.most));
471
+ return lines.filter((l) => l.length > 0);
472
+ }
473
+ /** What a click on the record plaque prints: the biggest of each kind, by water. */
474
+ export function derbyPlaqueLines(view) {
475
+ const out = ['Fishing Derby records, the biggest of each kind:'];
476
+ for (const r of view.records)
477
+ out.push(`${r.venueName}: ${r.fish} ${r.text}${r.holder ? ` (${r.holder})` : ''}`);
478
+ return out;
479
+ }
336
480
  export function emptyDerbySave() {
337
- return { v: 1, slot: -1, announced: null, finalized: true, entries: [], pending: {} };
481
+ return { v: 1, slot: -1, announced: null, finalized: true, entries: [], pending: {}, records: {} };
338
482
  }
339
483
  /** At most this many prizes wait for one character (a character away for days cannot grow the save without bound). */
340
484
  export const DERBY_PENDING_MAX = 5;
@@ -406,6 +550,19 @@ export function parseDerbySave(raw) {
406
550
  pending[key] = prizes;
407
551
  }
408
552
  }
409
- return { v: 1, slot: slot === null ? -1 : Math.floor(slot), announced, finalized: r.finalized === true, entries: unique, pending };
553
+ const records = {};
554
+ if (r.records && typeof r.records === 'object') {
555
+ for (const [kind, raw2] of Object.entries(r.records).slice(0, 40)) {
556
+ const rec = raw2;
557
+ if (!derbyFishByKind(kind) || !rec || typeof rec !== 'object')
558
+ continue;
559
+ const grams = num(rec.grams, 1, 1_000_000);
560
+ const at = num(rec.at, 0, 1e15);
561
+ if (grams === null || at === null)
562
+ continue;
563
+ records[kind] = { grams: Math.floor(grams), name: typeof rec.name === 'string' ? rec.name.slice(0, 40) : 'Angler', at };
564
+ }
565
+ }
566
+ return { v: 1, slot: slot === null ? -1 : Math.floor(slot), announced, finalized: r.finalized === true, entries: unique, pending, records };
410
567
  }
411
568
  //# sourceMappingURL=fishingDerby.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"fishingDerby.js","sourceRoot":"","sources":["../src/fishingDerby.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fishingDerby.js","sourceRoot":"","sources":["../src/fishingDerby.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -163,4 +163,7 @@ export { validateSurfaceChart } from './expandedContracts.js';
163
163
  export { HOPE_TOWN_DISCOVERY_ZONE, HOPEWOOD_COMMON_BOUNDS, HOPEWOOD_COMMON_DISCOVERY_ZONE, RINGSTONE_DISCOVERY_ZONE, HIGHSTONE_DISCOVERY_ZONE, discoveryZoneBounds } from './expandedContracts.js';
164
164
  export { GULLS_RANSOM_RAMP_SEA, STORY_QUESTS, storyStep, worldEventAtInterior, worldEventPieceForEntity } from './expandedContracts.js';
165
165
  export * from './areaGates.js';
166
+ export * from './rooksOrchard.js';
167
+ export * from './lastWeighhouse.js';
168
+ export * from './easternMarchesQuestDef.js';
166
169
  //# 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,mBAAmB,CAAC;AAClC,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,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,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,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,wBAAwB,CAAC;AACvC,cAAc,qBAAqB,CAAC;AACpC,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC;AACnC,cAAc,WAAW,CAAC;AAC1B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,uBAAuB,CAAC;AACtC,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,aAAa,CAAC;AAC5B,cAAc,qBAAqB,CAAC;AACpC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,wBAAwB,CAAC;AACvC,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,qBAAqB,CAAC;AACpC,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,0BAA0B,CAAC;AACzC,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAE/B,cAAc,uBAAuB,CAAC;AACtC,OAAO,EACL,kBAAkB,EAClB,aAAa,EACb,aAAa,EACb,eAAe,EACf,kBAAkB,EAClB,kBAAkB,EAClB,eAAe,EACf,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,EACpB,eAAe,EACf,mBAAmB,EACnB,mBAAmB,EACnB,gBAAgB,EAChB,iBAAiB,EACjB,gBAAgB,EAChB,YAAY,EACZ,mBAAmB,EACnB,eAAe,EACf,qBAAqB,EACrB,aAAa,EACb,aAAa,EACb,gBAAgB,EAChB,iBAAiB,EACjB,cAAc,EACd,gBAAgB,EAChB,sBAAsB,EACtB,sBAAsB,EACtB,eAAe,EACf,kBAAkB,EAClB,eAAe,EACf,gBAAgB,EAChB,kBAAkB,EAClB,mBAAmB,EACnB,uBAAuB,EACvB,kBAAkB,EAClB,mBAAmB,EACnB,qBAAqB,EACrB,eAAe,EACf,gBAAgB,EAChB,eAAe,EACf,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,EAChB,YAAY,EACZ,cAAc,EACd,mBAAmB,EACnB,0BAA0B,EAC1B,mBAAmB,EACnB,iBAAiB,EACjB,gBAAgB,EAChB,wBAAwB,EACxB,kBAAkB,EAClB,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,EAClB,uBAAuB,EACvB,sBAAsB,EACtB,sBAAsB,EACtB,oBAAoB,EACpB,iBAAiB,EACjB,2BAA2B,EAC3B,oBAAoB,EACpB,iBAAiB,EACjB,sBAAsB,EACtB,mBAAmB,EACnB,wBAAwB,EACxB,0BAA0B,EAC1B,yBAAyB,EACzB,oBAAoB,EACpB,YAAY,EACZ,aAAa,EACb,WAAW,EACX,aAAa,EACb,SAAS,EACT,YAAY,EACZ,WAAW,EACX,wBAAwB,EACxB,UAAU,EACV,SAAS,EACT,qBAAqB,EACrB,kBAAkB,EAClB,kBAAkB,EAClB,oBAAoB,EACpB,mBAAmB,EACnB,iBAAiB,EACjB,kBAAkB,EAClB,qBAAqB,EACrB,sBAAsB,EACtB,kBAAkB,EAClB,qBAAqB,EACrB,kBAAkB,EAClB,qBAAqB,EACrB,sBAAsB,EACtB,kBAAkB,EAClB,mBAAmB,EACnB,yBAAyB,EACzB,oBAAoB,EACpB,yBAAyB,EACzB,wBAAwB,EACxB,sBAAsB,EACtB,oBAAoB,EACpB,qBAAqB,EACrB,oBAAoB,EACpB,uBAAuB,EACvB,gBAAgB,EAChB,sBAAsB,EACtB,qBAAqB,EACrB,qBAAqB,EACrB,mBAAmB,EACnB,oBAAoB,EACpB,oBAAoB,EACpB,qBAAqB,EACrB,oBAAoB,EACpB,uBAAuB,EACvB,aAAa,EACb,YAAY,EACZ,SAAS,EACT,aAAa,EACb,SAAS,EACT,oBAAoB,EACpB,qBAAqB,EACrB,UAAU,EACV,cAAc,EACd,gBAAgB,EAChB,cAAc,EACd,iBAAiB,EACjB,gBAAgB,EAChB,eAAe,EACf,YAAY,EACZ,kBAAkB,EAClB,UAAU,EACV,SAAS,EACT,gBAAgB,EAChB,sBAAsB,EACtB,qBAAqB,EACrB,aAAa,EACb,eAAe,EACf,qBAAqB,EACrB,oBAAoB,EACpB,wBAAwB,EACxB,mBAAmB,EACnB,mBAAmB,EACnB,cAAc,EACd,oBAAoB,EACpB,kBAAkB,EAClB,yBAAyB,EACzB,mBAAmB,EACnB,uBAAuB,EACvB,aAAa,EACb,cAAc,EACd,YAAY,EACZ,UAAU,EACV,WAAW,EACX,aAAa,EACb,aAAa,EACb,eAAe,EACf,QAAQ,EACR,QAAQ,EACR,OAAO,EACP,cAAc,EACd,cAAc,EACd,kBAAkB,EAClB,cAAc,EACd,gBAAgB,EAChB,cAAc,EACd,cAAc,EACd,wBAAwB,EACxB,qBAAqB,EACrB,eAAe,EACf,aAAa,EACb,iBAAiB,EACjB,kBAAkB,EAClB,2BAA2B,EAC3B,UAAU,EACV,SAAS,EACT,mBAAmB,EACnB,gBAAgB,EAChB,mBAAmB,EACnB,aAAa,EACb,qBAAqB,EACrB,eAAe,EACf,eAAe,EACf,eAAe,EACf,YAAY,EACZ,aAAa,EACb,oBAAoB,EACpB,iBAAiB,EAClB,MAAM,wBAAwB,CAAC;AAEhC,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,qBAAqB,CAAC;AACpC,cAAc,0BAA0B,CAAC;AACzC,cAAc,sBAAsB,CAAC;AACrC,cAAc,wBAAwB,CAAC;AACvC,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,uBAAuB,CAAC;AACtC,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC;AACvC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,wBAAwB,CAAC;AACvC,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC;AACvC,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC;AACvC,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC;AACvC,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,yBAAyB,CAAC;AACxC,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,wBAAwB,CAAC;AACvC,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AAEtC,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,YAAY,EAAE,wBAAwB,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAC1L,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,wBAAwB,EAAE,sBAAsB,EAAE,8BAA8B,EAAE,wBAAwB,EAAE,wBAAwB,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AACnM,OAAO,EAAE,qBAAqB,EAAE,YAAY,EAAE,SAAS,EAAE,oBAAoB,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAExI,cAAc,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -163,4 +163,7 @@ export { validateSurfaceChart } from './expandedContracts.js';
163
163
  export { HOPE_TOWN_DISCOVERY_ZONE, HOPEWOOD_COMMON_BOUNDS, HOPEWOOD_COMMON_DISCOVERY_ZONE, RINGSTONE_DISCOVERY_ZONE, HIGHSTONE_DISCOVERY_ZONE, discoveryZoneBounds } from './expandedContracts.js';
164
164
  export { GULLS_RANSOM_RAMP_SEA, STORY_QUESTS, storyStep, worldEventAtInterior, worldEventPieceForEntity } from './expandedContracts.js';
165
165
  export * from './areaGates.js';
166
+ export * from './rooksOrchard.js';
167
+ export * from './lastWeighhouse.js';
168
+ export * from './easternMarchesQuestDef.js';
166
169
  //# sourceMappingURL=index.js.map