@dreadwood-types/types 0.1.140 → 0.1.141

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,159 @@
1
+ /**
2
+ * The South Fields' purpose (James, 2026-10-08: "this area needs quests and purpose"; plan
3
+ * .cursor/task-plans/2026-10-08-south-fields-rework.md, ChatGPT's ten changes folded in): a six-quest line through the
4
+ * working farm, each opening the next, and the things the place keeps doing once the line is done.
5
+ *
6
+ * 1. The New Gate (Clark): reap three wheat, take them to Miller Hettie.
7
+ * 2. Hettie's Sails (Hettie): fit the new sail stock and canvas, then the bread lesson (wheat, flour, a loaf).
8
+ * 3. Geese in the Wheat (Hettie): see off three angry geese, mend the gap in the plot fence, two feathers for a quill.
9
+ * 4. Nye's Strays (Nye): mend the fold's rotten hurdle, lead two stray ewes home, shear four fleeces.
10
+ * 5. Wren's Honey (Wren): smoke the hives, take two combs, have Wren spin them, bake a honey bread.
11
+ * 6. The Harvest Supper (Clark): lay bread, honey bread, wool and apples on the long table; Joss's cart opens.
12
+ *
13
+ * The quests themselves are data in storyQuests.ts; this file holds what they and the world share: the new items,
14
+ * the props' places (built from the layout in southExpansion.ts, so a moved hive moves its prop), the hive cooldown, the
15
+ * stray ewes, and Farmhand Joss's daily cart orders. The backend's southFieldsQuests.ts runs it all.
16
+ *
17
+ * World frame: x east, z south (the /tp frame), as in southExpansion.ts.
18
+ */
19
+ import { type SouthPoint } from './southExpansion.js';
20
+ /** Lifted from a hive in Wren's meadow (smoked first); Wren spins it into honey. */
21
+ export declare const HONEYCOMB_KIND = "honeycomb";
22
+ /** A pot of honey, spun from the comb by Beekeeper Wren. Bakes with flour into honey bread. */
23
+ export declare const HONEY_KIND = "honey";
24
+ /** Flour and honey baked together (cooking.ts): a better heal than bread. */
25
+ export declare const HONEY_BREAD_KIND = "honeybread";
26
+ /** Off an angry goose (a small chance, and every goose while Geese in the Wheat wants them). */
27
+ export declare const GOOSE_FEATHER_KIND = "goosefeather";
28
+ export declare const SOUTH_FIELDS_ITEM_KINDS: readonly string[];
29
+ /** What a shop pays (the universal sell price) for each. Bread sells for 8, flour 3, wool 7. */
30
+ export declare const HONEYCOMB_PRICE = 6;
31
+ export declare const HONEY_PRICE = 9;
32
+ export declare const HONEY_BREAD_PRICE = 14;
33
+ export declare const GOOSE_FEATHER_PRICE = 2;
34
+ /** A goose's ordinary feather drop (drops.ts); while Geese in the Wheat wants feathers every goose drops one. */
35
+ export declare const GOOSE_FEATHER_DROP_CHANCE = 0.15;
36
+ /** Hettie's quill wants this many (the third quest's hand-in). */
37
+ export declare const GOOSE_FEATHERS_NEEDED = 2;
38
+ /** The prop names; storyQuests.ts questPropModel draws each with its Blender model. */
39
+ export declare const SOUTH_PROP: {
40
+ /** The gap in the plot fence the geese come through (questbrokenfence; mended it draws a wattle hurdle). */
41
+ readonly fieldBreach: "fieldbreach";
42
+ /** The rotten hurdle in the fold's south fence the strays pushed through (questbrokenfence, then a wattle). */
43
+ readonly hurdleBreach: "hurdlebreach";
44
+ /** The two places on the mill where Hettie's new sail stock and canvas go (plankstack stand-ins). */
45
+ readonly millRepair: "millrepair";
46
+ /** Wren's smoker (the smoker model, in place of the layout's dreadmodel). */
47
+ readonly smoker: "hivesmoker";
48
+ /** The three hives (the beehive model, in place of the layout's dreadmodels): click to lift a comb. */
49
+ readonly hive: "honeyhive";
50
+ /** The hamper at the long table's west end, where the Harvest Supper is laid (a crate of produce, stand-in). */
51
+ readonly hamper: "supperhamper";
52
+ };
53
+ export type SouthPropPlace = {
54
+ id: string;
55
+ x: number;
56
+ z: number;
57
+ style: string;
58
+ };
59
+ /** The plot fence's breach: the east fence of the south-east wheat plot, on the side the pond geese come from. */
60
+ export declare const FIELD_BREACH: SouthPropPlace;
61
+ /** The fold's rotten hurdle: its south fence, east of the dog's gap. */
62
+ export declare const HURDLE_BREACH: SouthPropPlace;
63
+ /**
64
+ * Hettie's two repair points, on the mill's east side under the sails (clear of the track along its west side): the
65
+ * sail stock (two poplar planks) to the north, the canvas (a bolt of linen) to the south.
66
+ */
67
+ export declare const MILL_REPAIRS: readonly SouthPropPlace[];
68
+ /** Wren's smoker, where the layout stands it. */
69
+ export declare const HIVE_SMOKER: SouthPropPlace;
70
+ /** The three hives, where the layout stands them, mouths south. */
71
+ export declare const HONEY_HIVES: readonly SouthPropPlace[];
72
+ /** What the Harvest Supper's hamper takes (the sixth quest's hand-in, all at once). */
73
+ export declare const HARVEST_SUPPER_NEEDS: readonly {
74
+ kind: string;
75
+ qty: number;
76
+ label: string;
77
+ }[];
78
+ /** The supper hamper, one tile off the long table's west end (the table is 5 across, its anchor the middle). */
79
+ export declare const SUPPER_HAMPER: SouthPropPlace;
80
+ /**
81
+ * The clay oven by the fold is a cooking range anyone may use (no quest): a `stove` entity drawn with the oven's
82
+ * Blender model (the frontend draws a stove styled `clayoven-*` with that model), 2 x 2 like the dreadmodel it
83
+ * replaces. Its blocked tiles are the model's (types constants.ts CAPITAL_BUILDING_MODELS.clayoven).
84
+ */
85
+ export declare const CLAY_OVEN: {
86
+ readonly id: "fields-quest-clay-oven";
87
+ readonly x: 156;
88
+ readonly z: 934;
89
+ readonly style: "clayoven-s";
90
+ };
91
+ export declare const CLAY_OVEN_BLOCKED: readonly SouthPoint[];
92
+ export declare function isClayOvenStyle(style: string | undefined): boolean;
93
+ /** Every prop this file places, for the smoke and the placement. */
94
+ export declare const SOUTH_FIELDS_QUEST_PROPS: readonly SouthPropPlace[];
95
+ /** A mended fence (the geese's gap, the fold's hurdle) draws as a wattle hurdle for the player who mended it. */
96
+ export declare function southPropDoneModel(style: string | undefined): string | null;
97
+ /** A hive fills again this long after a player lifts its comb (per player and per hive, saved, so a relog waits too). */
98
+ export declare const HIVE_REFILL_MS: number;
99
+ export declare const HONEYCOMB_FORAGING_XP = 15;
100
+ /** Wren's npc_action: spin every comb in the bag into honey, one for one, free (as Hettie grinds wheat). */
101
+ export declare const SPIN_HONEY_ACTION = "spinhoney";
102
+ /** Two ewes out of the fold, one by the pond track and one on the pond's north bank. Each is a sheep NPC with this name. */
103
+ export declare const STRAY_EWE_NAME = "Stray ewe";
104
+ export declare const STRAY_EWES: readonly SouthPoint[];
105
+ /** The npc_action on a stray: it follows you (as a companion) until it is in the fold. */
106
+ export declare const LEAD_STRAY_ACTION = "leadstray";
107
+ /** Where a led ewe counts as home: inside the fold's grazing, through the west gate or the dog's gap. */
108
+ export declare const FOLD_HOME: {
109
+ readonly x: number;
110
+ readonly z: number;
111
+ readonly radius: 4;
112
+ readonly label: "the fold";
113
+ };
114
+ /** A ewe taken home leaves its spot for this long (another wanders out for the next player). */
115
+ export declare const STRAY_RESPAWN_MS = 45000;
116
+ export type HarvestCartSkill = 'foraging' | 'cooking' | 'woodwork' | 'fishing';
117
+ export type HarvestCartOrder = {
118
+ id: string;
119
+ /** What the order slate says, e.g. "10 sheaves of wheat". */
120
+ label: string;
121
+ kind: string;
122
+ qty: number;
123
+ coins: number;
124
+ skill: HarvestCartSkill;
125
+ xp: number;
126
+ };
127
+ /**
128
+ * What the cart takes to market, paid a little over the counter price (as Joe's odd jobs are): the fields' own produce.
129
+ * Three a day for everyone, once each per player per day. Open once The Harvest Supper is done.
130
+ */
131
+ export declare const HARVEST_CART_ORDERS: readonly HarvestCartOrder[];
132
+ export declare const HARVEST_CART_ORDERS_PER_DAY = 3;
133
+ export declare const HARVEST_CART_DAY_MS: number;
134
+ /** The npc_action ids on Joss: read the slate, or hand in one order. */
135
+ export declare const HARVEST_CART_ACTION = "harvestcart";
136
+ export declare const HARVEST_CART_ORDER_PREFIX = "harvestcart:";
137
+ /** The day a moment falls in (UTC); the slate changes at midnight. */
138
+ export declare function harvestCartDay(nowMs: number): number;
139
+ /** The day's three orders, the same for everyone, at least one of them raw produce a beginner can gather. */
140
+ export declare function harvestCartOrdersForDay(day: number): HarvestCartOrder[];
141
+ /** The South Fields' saved state per character: hive refill times by prop id, and the cart's day and orders done. */
142
+ export type SouthFieldsState = {
143
+ hives: Record<string, number>;
144
+ cartDay: number;
145
+ cartDone: string[];
146
+ };
147
+ export declare function emptySouthFieldsState(): SouthFieldsState;
148
+ export declare function normalizeSouthFieldsState(raw: unknown): SouthFieldsState;
149
+ /** The three resident farmers and Clark's hand, told apart by name (storyQuests.ts npcMatches). */
150
+ export declare const SOUTH_FIELDS_HETTIE_NAME = "Miller Hettie";
151
+ export declare const SOUTH_FIELDS_NYE_NAME = "Shepherd Nye";
152
+ export declare const SOUTH_FIELDS_WREN_NAME = "Beekeeper Wren";
153
+ export declare const SOUTH_FIELDS_JOSS_NAME = "Farmhand Joss";
154
+ /** Where one of the fields' people stands (the layout's SOUTH_FIELDS_PEOPLE), for the quest helper's places. */
155
+ export declare function southFieldsPersonAt(name: string): {
156
+ x: number;
157
+ z: number;
158
+ };
159
+ //# sourceMappingURL=southFieldsQuests.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"southFieldsQuests.d.ts","sourceRoot":"","sources":["../src/southFieldsQuests.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,200 @@
1
+ /**
2
+ * The South Fields' purpose (James, 2026-10-08: "this area needs quests and purpose"; plan
3
+ * .cursor/task-plans/2026-10-08-south-fields-rework.md, ChatGPT's ten changes folded in): a six-quest line through the
4
+ * working farm, each opening the next, and the things the place keeps doing once the line is done.
5
+ *
6
+ * 1. The New Gate (Clark): reap three wheat, take them to Miller Hettie.
7
+ * 2. Hettie's Sails (Hettie): fit the new sail stock and canvas, then the bread lesson (wheat, flour, a loaf).
8
+ * 3. Geese in the Wheat (Hettie): see off three angry geese, mend the gap in the plot fence, two feathers for a quill.
9
+ * 4. Nye's Strays (Nye): mend the fold's rotten hurdle, lead two stray ewes home, shear four fleeces.
10
+ * 5. Wren's Honey (Wren): smoke the hives, take two combs, have Wren spin them, bake a honey bread.
11
+ * 6. The Harvest Supper (Clark): lay bread, honey bread, wool and apples on the long table; Joss's cart opens.
12
+ *
13
+ * The quests themselves are data in storyQuests.ts; this file holds what they and the world share: the new items,
14
+ * the props' places (built from the layout in southExpansion.ts, so a moved hive moves its prop), the hive cooldown, the
15
+ * stray ewes, and Farmhand Joss's daily cart orders. The backend's southFieldsQuests.ts runs it all.
16
+ *
17
+ * World frame: x east, z south (the /tp frame), as in southExpansion.ts.
18
+ */
19
+ import { SOUTH_FIELDS_FOLD, SOUTH_FIELDS_HARVEST_TABLE, SOUTH_FIELDS_HIVES, SOUTH_FIELDS_OVEN, SOUTH_FIELDS_PEOPLE, SOUTH_FIELDS_SMOKER, SOUTH_FIELDS_WINDMILL, } from './southExpansion.js';
20
+ // ---- The new items --------------------------------------------------------------------------------------------------
21
+ /** Lifted from a hive in Wren's meadow (smoked first); Wren spins it into honey. */
22
+ export const HONEYCOMB_KIND = 'honeycomb';
23
+ /** A pot of honey, spun from the comb by Beekeeper Wren. Bakes with flour into honey bread. */
24
+ export const HONEY_KIND = 'honey';
25
+ /** Flour and honey baked together (cooking.ts): a better heal than bread. */
26
+ export const HONEY_BREAD_KIND = 'honeybread';
27
+ /** Off an angry goose (a small chance, and every goose while Geese in the Wheat wants them). */
28
+ export const GOOSE_FEATHER_KIND = 'goosefeather';
29
+ export const SOUTH_FIELDS_ITEM_KINDS = [HONEYCOMB_KIND, HONEY_KIND, HONEY_BREAD_KIND, GOOSE_FEATHER_KIND];
30
+ /** What a shop pays (the universal sell price) for each. Bread sells for 8, flour 3, wool 7. */
31
+ export const HONEYCOMB_PRICE = 6;
32
+ export const HONEY_PRICE = 9;
33
+ export const HONEY_BREAD_PRICE = 14;
34
+ export const GOOSE_FEATHER_PRICE = 2;
35
+ /** A goose's ordinary feather drop (drops.ts); while Geese in the Wheat wants feathers every goose drops one. */
36
+ export const GOOSE_FEATHER_DROP_CHANCE = 0.15;
37
+ /** Hettie's quill wants this many (the third quest's hand-in). */
38
+ export const GOOSE_FEATHERS_NEEDED = 2;
39
+ // ---- The props a player clicks (questprop entities, style `<prop>:<facing>`) ----------------------------------------
40
+ /** The prop names; storyQuests.ts questPropModel draws each with its Blender model. */
41
+ export const SOUTH_PROP = {
42
+ /** The gap in the plot fence the geese come through (questbrokenfence; mended it draws a wattle hurdle). */
43
+ fieldBreach: 'fieldbreach',
44
+ /** The rotten hurdle in the fold's south fence the strays pushed through (questbrokenfence, then a wattle). */
45
+ hurdleBreach: 'hurdlebreach',
46
+ /** The two places on the mill where Hettie's new sail stock and canvas go (plankstack stand-ins). */
47
+ millRepair: 'millrepair',
48
+ /** Wren's smoker (the smoker model, in place of the layout's dreadmodel). */
49
+ smoker: 'hivesmoker',
50
+ /** The three hives (the beehive model, in place of the layout's dreadmodels): click to lift a comb. */
51
+ hive: 'honeyhive',
52
+ /** The hamper at the long table's west end, where the Harvest Supper is laid (a crate of produce, stand-in). */
53
+ hamper: 'supperhamper',
54
+ };
55
+ /** The plot fence's breach: the east fence of the south-east wheat plot, on the side the pond geese come from. */
56
+ export const FIELD_BREACH = { id: 'fields-quest-field-breach', x: 68, z: 932, style: `${SOUTH_PROP.fieldBreach}:e` };
57
+ /** The fold's rotten hurdle: its south fence, east of the dog's gap. */
58
+ export const HURDLE_BREACH = {
59
+ id: 'fields-quest-hurdle-breach',
60
+ x: SOUTH_FIELDS_FOLD.gap.x + 8,
61
+ z: SOUTH_FIELDS_FOLD.maxZ,
62
+ style: `${SOUTH_PROP.hurdleBreach}:s`,
63
+ };
64
+ /**
65
+ * Hettie's two repair points, on the mill's east side under the sails (clear of the track along its west side): the
66
+ * sail stock (two poplar planks) to the north, the canvas (a bolt of linen) to the south.
67
+ */
68
+ export const MILL_REPAIRS = [
69
+ { id: 'fields-quest-mill-stock', x: SOUTH_FIELDS_WINDMILL.x + 4, z: SOUTH_FIELDS_WINDMILL.z - 3, style: `${SOUTH_PROP.millRepair}:stock` },
70
+ { id: 'fields-quest-mill-canvas', x: SOUTH_FIELDS_WINDMILL.x + 4, z: SOUTH_FIELDS_WINDMILL.z + 1, style: `${SOUTH_PROP.millRepair}:canvas` },
71
+ ];
72
+ /** Wren's smoker, where the layout stands it. */
73
+ export const HIVE_SMOKER = { id: 'fields-quest-smoker', x: SOUTH_FIELDS_SMOKER.x, z: SOUTH_FIELDS_SMOKER.z, style: `${SOUTH_PROP.smoker}:s` };
74
+ /** The three hives, where the layout stands them, mouths south. */
75
+ export const HONEY_HIVES = SOUTH_FIELDS_HIVES.map(([x, z], i) => ({
76
+ id: `fields-quest-hive-${i + 1}`,
77
+ x,
78
+ z,
79
+ style: `${SOUTH_PROP.hive}:s`,
80
+ }));
81
+ /** What the Harvest Supper's hamper takes (the sixth quest's hand-in, all at once). */
82
+ export const HARVEST_SUPPER_NEEDS = [
83
+ { kind: 'bread', qty: 2, label: 'bread' },
84
+ { kind: HONEY_BREAD_KIND, qty: 1, label: 'honey bread' },
85
+ { kind: 'wool', qty: 2, label: 'wool' },
86
+ { kind: 'apple', qty: 4, label: 'apples' },
87
+ ];
88
+ /** The supper hamper, one tile off the long table's west end (the table is 5 across, its anchor the middle). */
89
+ export const SUPPER_HAMPER = {
90
+ id: 'fields-quest-supper-hamper',
91
+ x: SOUTH_FIELDS_HARVEST_TABLE.x - 3,
92
+ z: SOUTH_FIELDS_HARVEST_TABLE.z,
93
+ style: `${SOUTH_PROP.hamper}:s`,
94
+ };
95
+ /**
96
+ * The clay oven by the fold is a cooking range anyone may use (no quest): a `stove` entity drawn with the oven's
97
+ * Blender model (the frontend draws a stove styled `clayoven-*` with that model), 2 x 2 like the dreadmodel it
98
+ * replaces. Its blocked tiles are the model's (types constants.ts CAPITAL_BUILDING_MODELS.clayoven).
99
+ */
100
+ export const CLAY_OVEN = { id: 'fields-quest-clay-oven', x: SOUTH_FIELDS_OVEN.x, z: SOUTH_FIELDS_OVEN.z, style: SOUTH_FIELDS_OVEN.style };
101
+ export const CLAY_OVEN_BLOCKED = [[0, -1], [1, -1], [0, 0], [1, 0]];
102
+ export function isClayOvenStyle(style) {
103
+ return typeof style === 'string' && style.startsWith('clayoven');
104
+ }
105
+ /** Every prop this file places, for the smoke and the placement. */
106
+ export const SOUTH_FIELDS_QUEST_PROPS = [FIELD_BREACH, HURDLE_BREACH, ...MILL_REPAIRS, HIVE_SMOKER, ...HONEY_HIVES, SUPPER_HAMPER];
107
+ /** A mended fence (the geese's gap, the fold's hurdle) draws as a wattle hurdle for the player who mended it. */
108
+ export function southPropDoneModel(style) {
109
+ const prop = (style ?? '').split(':')[0];
110
+ return prop === SOUTH_PROP.fieldBreach || prop === SOUTH_PROP.hurdleBreach ? 'wattle' : null;
111
+ }
112
+ // ---- The hives ------------------------------------------------------------------------------------------------------
113
+ /** A hive fills again this long after a player lifts its comb (per player and per hive, saved, so a relog waits too). */
114
+ export const HIVE_REFILL_MS = 3 * 60_000;
115
+ export const HONEYCOMB_FORAGING_XP = 15;
116
+ /** Wren's npc_action: spin every comb in the bag into honey, one for one, free (as Hettie grinds wheat). */
117
+ export const SPIN_HONEY_ACTION = 'spinhoney';
118
+ // ---- The stray ewes (Nye's Strays) ----------------------------------------------------------------------------------
119
+ /** Two ewes out of the fold, one by the pond track and one on the pond's north bank. Each is a sheep NPC with this name. */
120
+ export const STRAY_EWE_NAME = 'Stray ewe';
121
+ export const STRAY_EWES = [
122
+ [110, 924],
123
+ [140, 926],
124
+ ];
125
+ /** The npc_action on a stray: it follows you (as a companion) until it is in the fold. */
126
+ export const LEAD_STRAY_ACTION = 'leadstray';
127
+ /** Where a led ewe counts as home: inside the fold's grazing, through the west gate or the dog's gap. */
128
+ export const FOLD_HOME = { x: SOUTH_FIELDS_FOLD.minX + 9, z: SOUTH_FIELDS_FOLD.westGate.z - 1, radius: 4, label: 'the fold' };
129
+ /** A ewe taken home leaves its spot for this long (another wanders out for the next player). */
130
+ export const STRAY_RESPAWN_MS = 45_000;
131
+ /**
132
+ * What the cart takes to market, paid a little over the counter price (as Joe's odd jobs are): the fields' own produce.
133
+ * Three a day for everyone, once each per player per day. Open once The Harvest Supper is done.
134
+ */
135
+ export const HARVEST_CART_ORDERS = [
136
+ { id: 'wheat', label: '10 sheaves of wheat', kind: 'wheat', qty: 10, coins: 45, skill: 'foraging', xp: 70 },
137
+ { id: 'flour', label: '5 sacks of flour', kind: 'flour', qty: 5, coins: 35, skill: 'cooking', xp: 40 },
138
+ { id: 'bread', label: '3 loaves of bread', kind: 'bread', qty: 3, coins: 50, skill: 'cooking', xp: 70 },
139
+ { id: 'apples', label: '8 apples', kind: 'apple', qty: 8, coins: 40, skill: 'foraging', xp: 60 },
140
+ { id: 'honeycomb', label: '3 honeycombs', kind: HONEYCOMB_KIND, qty: 3, coins: 45, skill: 'foraging', xp: 70 },
141
+ { id: 'honey', label: '2 pots of honey', kind: HONEY_KIND, qty: 2, coins: 40, skill: 'cooking', xp: 50 },
142
+ { id: 'honeybread', label: '2 honey breads', kind: HONEY_BREAD_KIND, qty: 2, coins: 70, skill: 'cooking', xp: 90 },
143
+ { id: 'wool', label: '4 fleeces', kind: 'wool', qty: 4, coins: 50, skill: 'foraging', xp: 70 },
144
+ { id: 'feathers', label: '3 goose feathers', kind: GOOSE_FEATHER_KIND, qty: 3, coins: 30, skill: 'foraging', xp: 40 },
145
+ ];
146
+ export const HARVEST_CART_ORDERS_PER_DAY = 3;
147
+ export const HARVEST_CART_DAY_MS = 24 * 60 * 60_000;
148
+ /** The npc_action ids on Joss: read the slate, or hand in one order. */
149
+ export const HARVEST_CART_ACTION = 'harvestcart';
150
+ export const HARVEST_CART_ORDER_PREFIX = 'harvestcart:';
151
+ /** The day a moment falls in (UTC); the slate changes at midnight. */
152
+ export function harvestCartDay(nowMs) {
153
+ return Math.floor(nowMs / HARVEST_CART_DAY_MS);
154
+ }
155
+ /** The day's three orders, the same for everyone, at least one of them raw produce a beginner can gather. */
156
+ export function harvestCartOrdersForDay(day) {
157
+ const pool = [...HARVEST_CART_ORDERS];
158
+ const picked = [];
159
+ let seed = (day * 2654435761 + 97) >>> 0;
160
+ const raw = new Set(['wheat', 'apples', 'wool', 'honeycomb']);
161
+ while (picked.length < HARVEST_CART_ORDERS_PER_DAY && pool.length > 0) {
162
+ seed = (Math.imul(seed ^ (seed >>> 15), 2246822519) + 3266489917) >>> 0;
163
+ const candidates = picked.length === 0 ? pool.filter((o) => raw.has(o.id)) : pool;
164
+ const order = candidates[seed % candidates.length];
165
+ picked.push(pool.splice(pool.indexOf(order), 1)[0]);
166
+ }
167
+ return picked;
168
+ }
169
+ export function emptySouthFieldsState() {
170
+ return { hives: {}, cartDay: 0, cartDone: [] };
171
+ }
172
+ export function normalizeSouthFieldsState(raw) {
173
+ const out = emptySouthFieldsState();
174
+ if (!raw || typeof raw !== 'object')
175
+ return out;
176
+ const r = raw;
177
+ if (r.hives && typeof r.hives === 'object') {
178
+ for (const [id, at] of Object.entries(r.hives)) {
179
+ if (HONEY_HIVES.some((h) => h.id === id) && typeof at === 'number' && Number.isFinite(at))
180
+ out.hives[id] = at;
181
+ }
182
+ }
183
+ if (typeof r.cartDay === 'number' && Number.isFinite(r.cartDay))
184
+ out.cartDay = Math.floor(r.cartDay);
185
+ if (Array.isArray(r.cartDone)) {
186
+ out.cartDone = r.cartDone.filter((id) => typeof id === 'string' && HARVEST_CART_ORDERS.some((o) => o.id === id)).slice(0, HARVEST_CART_ORDERS.length);
187
+ }
188
+ return out;
189
+ }
190
+ /** The three resident farmers and Clark's hand, told apart by name (storyQuests.ts npcMatches). */
191
+ export const SOUTH_FIELDS_HETTIE_NAME = 'Miller Hettie';
192
+ export const SOUTH_FIELDS_NYE_NAME = 'Shepherd Nye';
193
+ export const SOUTH_FIELDS_WREN_NAME = 'Beekeeper Wren';
194
+ export const SOUTH_FIELDS_JOSS_NAME = 'Farmhand Joss';
195
+ /** Where one of the fields' people stands (the layout's SOUTH_FIELDS_PEOPLE), for the quest helper's places. */
196
+ export function southFieldsPersonAt(name) {
197
+ const person = SOUTH_FIELDS_PEOPLE.find((p) => p.name === name);
198
+ return person ? { x: person.x, z: person.z } : { x: SOUTH_FIELDS_WINDMILL.x, z: SOUTH_FIELDS_WINDMILL.z + 5 };
199
+ }
200
+ //# sourceMappingURL=southFieldsQuests.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"southFieldsQuests.js","sourceRoot":"","sources":["../src/southFieldsQuests.ts"],"names":[],"mappings":"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"}
@@ -21,12 +21,17 @@ export declare const STORY_SKILLS: readonly StorySkill[];
21
21
  export declare const STORY_COMBAT_SKILLS: readonly StorySkill[];
22
22
  export declare const STORY_SKILL_NAMES: Record<StorySkill, string>;
23
23
  export declare function isStorySkill(value: unknown): value is StorySkill;
24
- /** Who a step talks to. `id` picks one NPC out of a kind (the Capital's Rimdel, not the prisoner). */
24
+ /**
25
+ * Who a step talks to. `id` picks one NPC out of a kind (the Capital's Rimdel, not the prisoner). A `resident` is told
26
+ * apart by its name (the South Fields' Hettie, Nye and Wren are residents): see npcMatches.
27
+ */
25
28
  export type StoryNpcRef = {
26
29
  kind: string;
27
30
  id?: string;
28
31
  name: string;
29
32
  };
33
+ /** The kind whose people a story quest knows by name, not by kind (every villager is a `resident`). */
34
+ export declare const NAMED_STORY_NPC_KIND = "resident";
30
35
  /** Any one of `kinds` counts: "a cooked fish" is several items. */
31
36
  export type StoryItemNeed = {
32
37
  kinds: readonly string[];
@@ -176,9 +181,12 @@ export type StoryStep = (StepBase & {
176
181
  notices: readonly string[];
177
182
  tame?: 'warthog';
178
183
  }) | (StepBase & {
179
- /** Walk your pet to a place: done when it and you are both within `to.radius` tiles of it. */
184
+ /**
185
+ * Walk your pet to a place: done when it and you are both within `to.radius` tiles of it. A `sheep` is a stray
186
+ * ewe you led off from where it grazed (Nye's Strays, the backend's southFieldsQuests.ts), not a pet you keep.
187
+ */
180
188
  kind: 'lead';
181
- pet: 'warthog';
189
+ pet: 'warthog' | 'sheep';
182
190
  to: {
183
191
  x: number;
184
192
  z: number;
@@ -239,11 +247,17 @@ export type StoryQuestDef = {
239
247
  offer: string;
240
248
  accept: string;
241
249
  decline: string;
242
- /** Handed over on accept. */
250
+ /** Handed over on accept. `ifMissing`: only to a player whose bag holds none (Nye's spare shears). */
243
251
  onAccept?: readonly {
244
252
  kind: string;
245
253
  qty: number;
254
+ ifMissing?: boolean;
246
255
  }[];
256
+ /**
257
+ * The props this quest's touch steps dealt with stay dealt with once it is done (a mended fence stays mended for the
258
+ * player who mended it). Without it the list goes with the quest and the props show as they were.
259
+ */
260
+ keepTouched?: boolean;
247
261
  /**
248
262
  * Items the quest cannot go on without. Lose one before the step that
249
263
  * uses it and the giver hands you another.
@@ -260,7 +274,7 @@ export type StoryQuestDef = {
260
274
  after: string;
261
275
  rewards: StoryReward;
262
276
  };
263
- export type StoryQuestId = 'fredsLetter' | 'beagleBirthday' | 'wilsonBigCatch' | 'smithsApprentice' | 'spiderHollowEggs' | 'harbourThief' | 'coldFeet' | 'livoniasDiary' | 'charcoalBurner' | 'iceCuttersKey' | 'hopeWreck' | 'firstSteps' | 'trappersLine' | 'gristForTheMill' | 'shearingDay' | 'dryBarrels' | 'freshLinen' | 'troubleOnTheRoad' | 'maribelsLog' | 'marigoldsStrongbox' | 'tansysCauldron' | 'poulticesForTheLine' | 'frostbiteSalve' | 'samsSecretBait' | 'travellersTonic' | 'bountyHuntersBrew' | 'corvinsRecipes' | 'hogWild' | 'fiveArches';
277
+ export type StoryQuestId = 'fredsLetter' | 'beagleBirthday' | 'wilsonBigCatch' | 'smithsApprentice' | 'spiderHollowEggs' | 'harbourThief' | 'coldFeet' | 'livoniasDiary' | 'charcoalBurner' | 'iceCuttersKey' | 'hopeWreck' | 'firstSteps' | 'trappersLine' | 'gristForTheMill' | 'shearingDay' | 'dryBarrels' | 'freshLinen' | 'troubleOnTheRoad' | 'maribelsLog' | 'marigoldsStrongbox' | 'tansysCauldron' | 'poulticesForTheLine' | 'frostbiteSalve' | 'samsSecretBait' | 'travellersTonic' | 'bountyHuntersBrew' | 'corvinsRecipes' | 'hogWild' | 'fiveArches' | 'theNewGate' | 'hettiesSails' | 'geeseInTheWheat' | 'nyesStrays' | 'wrensHoney' | 'harvestSupper';
264
278
  export declare const STORY_QUEST_IDS: readonly StoryQuestId[];
265
279
  /** The npc_action id for a story choice. */
266
280
  export declare const STORY_CHOICE_PREFIX = "story:";
@@ -355,6 +369,11 @@ export declare const BRAMBLE: StoryNpcRef;
355
369
  export declare const OLD_HOGGER: StoryNpcRef;
356
370
  /** Five Arches: the King's last bridge keeper, at the bridgehead camp south of Base Camp (southExpansion.ts SUNDERED_SPAN.osmundSpot). */
357
371
  export declare const BRIDGEWARDEN: StoryNpcRef;
372
+ /** No Harm Farm's farmer (his son gives Clark's Chores), and the South Fields' people, residents known by name. */
373
+ export declare const CLARK: StoryNpcRef;
374
+ export declare const HETTIE: StoryNpcRef;
375
+ export declare const NYE: StoryNpcRef;
376
+ export declare const WREN: StoryNpcRef;
358
377
  /** Every kind a story quest adds to the world, for the NpcKind union and the name table. */
359
378
  export declare const STORY_NPC_NAMES: Readonly<Record<string, string>>;
360
379
  export declare const STORY_QUESTS: Record<StoryQuestId, StoryQuestDef>;
@@ -375,6 +394,7 @@ export declare function storyStepTarget(step: StoryStep): number;
375
394
  export declare function npcMatches(ref: StoryNpcRef, npc: {
376
395
  kind: string;
377
396
  id: string;
397
+ name?: string;
378
398
  }): boolean;
379
399
  /** Reward lines for the offer card, as QuestReward rows. */
380
400
  export declare function storyRewardRows(reward: StoryReward): {
@@ -1 +1 @@
1
- {"version":3,"file":"storyQuests.d.ts","sourceRoot":"","sources":["../src/storyQuests.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"storyQuests.d.ts","sourceRoot":"","sources":["../src/storyQuests.ts"],"names":[],"mappings":"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"}