@dreadwood-types/types 0.1.44 → 0.1.46
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.
- package/dist/areaTransitions.d.ts +1 -1
- package/dist/areaTransitions.d.ts.map +1 -1
- package/dist/areaTransitions.js +28 -0
- package/dist/areaTransitions.js.map +1 -1
- package/dist/bank.d.ts +2 -1
- package/dist/bank.d.ts.map +1 -1
- package/dist/bank.js +2 -1
- package/dist/bank.js.map +1 -1
- package/dist/blacksmithing.d.ts +16 -1
- package/dist/blacksmithing.d.ts.map +1 -1
- package/dist/blacksmithing.js +221 -0
- package/dist/blacksmithing.js.map +1 -1
- package/dist/bloodRiver.d.ts +115 -0
- package/dist/bloodRiver.d.ts.map +1 -0
- package/dist/bloodRiver.js +252 -0
- package/dist/bloodRiver.js.map +1 -0
- package/dist/brokenRoad.d.ts +103 -0
- package/dist/brokenRoad.d.ts.map +1 -0
- package/dist/brokenRoad.js +167 -0
- package/dist/brokenRoad.js.map +1 -0
- package/dist/capital.d.ts +270 -0
- package/dist/capital.d.ts.map +1 -0
- package/dist/capital.js +306 -0
- package/dist/capital.js.map +1 -0
- package/dist/clientConfig.d.ts +34 -2
- package/dist/clientConfig.d.ts.map +1 -1
- package/dist/clientConfig.js +26 -2
- package/dist/clientConfig.js.map +1 -1
- package/dist/constants.d.ts +145 -9
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +302 -8
- package/dist/constants.js.map +1 -1
- package/dist/cooking.d.ts +21 -0
- package/dist/cooking.d.ts.map +1 -1
- package/dist/cooking.js +52 -26
- package/dist/cooking.js.map +1 -1
- package/dist/dreadwoodsZones.d.ts +15 -1
- package/dist/dreadwoodsZones.d.ts.map +1 -1
- package/dist/dreadwoodsZones.js +63 -0
- package/dist/dreadwoodsZones.js.map +1 -1
- package/dist/equipment.d.ts +16 -1
- package/dist/equipment.d.ts.map +1 -1
- package/dist/equipment.js +61 -0
- package/dist/equipment.js.map +1 -1
- package/dist/groundItems.d.ts +5 -0
- package/dist/groundItems.d.ts.map +1 -1
- package/dist/groundItems.js +12 -1
- package/dist/groundItems.js.map +1 -1
- package/dist/index.d.ts +5 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -0
- package/dist/index.js.map +1 -1
- package/dist/landmarks.d.ts +600 -104
- package/dist/landmarks.d.ts.map +1 -1
- package/dist/landmarks.js +803 -105
- package/dist/landmarks.js.map +1 -1
- package/dist/messages.d.ts +146 -11
- package/dist/messages.d.ts.map +1 -1
- package/dist/messages.js +4 -0
- package/dist/messages.js.map +1 -1
- package/dist/mineCave.d.ts +71 -0
- package/dist/mineCave.d.ts.map +1 -0
- package/dist/mineCave.js +39 -0
- package/dist/mineCave.js.map +1 -0
- package/dist/mining.d.ts +16 -5
- package/dist/mining.d.ts.map +1 -1
- package/dist/mining.js +24 -5
- package/dist/mining.js.map +1 -1
- package/dist/quests.d.ts +3 -1
- package/dist/quests.d.ts.map +1 -1
- package/dist/quests.js +18 -1
- package/dist/quests.js.map +1 -1
- package/dist/travel.d.ts +66 -0
- package/dist/travel.d.ts.map +1 -0
- package/dist/travel.js +91 -0
- package/dist/travel.js.map +1 -0
- package/dist/woodwork.d.ts +128 -13
- package/dist/woodwork.d.ts.map +1 -1
- package/dist/woodwork.js +253 -19
- package/dist/woodwork.js.map +1 -1
- package/dist/xp.d.ts +7 -0
- package/dist/xp.d.ts.map +1 -1
- package/dist/xp.js +7 -0
- package/dist/xp.js.map +1 -1
- package/package.json +1 -1
package/dist/cooking.d.ts
CHANGED
|
@@ -1,8 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Recipe buckets for the cooking panel's filter tabs. Fish are the lake and
|
|
3
|
+
* sea catches, meat is what the traps and pens give, and other is the odd
|
|
4
|
+
* pond frog.
|
|
5
|
+
*/
|
|
6
|
+
export type CookingCategory = 'fish' | 'meat' | 'other';
|
|
1
7
|
export type CookingRecipe = {
|
|
2
8
|
input: string;
|
|
3
9
|
output: string;
|
|
4
10
|
level: number;
|
|
5
11
|
xp: number;
|
|
12
|
+
category: CookingCategory;
|
|
6
13
|
};
|
|
7
14
|
/**
|
|
8
15
|
* Cooking XP is derived from the recipe's level, not hand-set. The old flat
|
|
@@ -14,10 +21,21 @@ export declare const COOKING_XP_PER_LEVEL = 5;
|
|
|
14
21
|
export declare function cookingXpForLevel(level: number): number;
|
|
15
22
|
export declare const COOKING_RECIPES: readonly CookingRecipe[];
|
|
16
23
|
export declare function cookingRecipeForInput(input: string): CookingRecipe | null;
|
|
24
|
+
/** Filter tabs for the cooking panel, in display order. */
|
|
25
|
+
export declare const COOKING_CATEGORIES: readonly {
|
|
26
|
+
id: 'all' | CookingCategory;
|
|
27
|
+
label: string;
|
|
28
|
+
}[];
|
|
29
|
+
/** Recipes in one category (or every recipe), sorted by level then name. */
|
|
30
|
+
export declare function cookingRecipesFor(category: 'all' | CookingCategory): CookingRecipe[];
|
|
31
|
+
/** The recipes still locked at `level`, lowest first; `count` caps the list. */
|
|
32
|
+
export declare function nextCookingUnlocks(level: number, count?: number): CookingRecipe[];
|
|
17
33
|
export declare const COOK_INTERVAL_MS = 1000;
|
|
18
34
|
export declare const CAMPFIRE_COOK_RANGE = 3;
|
|
19
35
|
export type FoodInfo = {
|
|
20
36
|
heal: number;
|
|
37
|
+
/** One customer-facing line for item cards and the cooking panel. Keep the heal number out of it. */
|
|
38
|
+
description: string;
|
|
21
39
|
};
|
|
22
40
|
/**
|
|
23
41
|
* Heals roughly tripled alongside maxHealthForLevel.
|
|
@@ -28,6 +46,9 @@ export type FoodInfo = {
|
|
|
28
46
|
* food would have stopped being a meaningful resource at the exact point the
|
|
29
47
|
* fights got hard. Raw fish still hurt - the penalty is unchanged in spirit,
|
|
30
48
|
* just scaled to match.
|
|
49
|
+
*
|
|
50
|
+
* Descriptions never quote the heal: the HUDs print `heal` beside them, so the
|
|
51
|
+
* prose cannot drift from the number.
|
|
31
52
|
*/
|
|
32
53
|
export declare const FOOD_INFO: Record<string, FoodInfo>;
|
|
33
54
|
export declare function foodInfoFor(kind: string): FoodInfo | null;
|
package/dist/cooking.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cooking.d.ts","sourceRoot":"","sources":["../src/cooking.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,aAAa,GAAG;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,EAAE,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"cooking.d.ts","sourceRoot":"","sources":["../src/cooking.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;AAExD,MAAM,MAAM,aAAa,GAAG;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,eAAe,CAAC;CAC3B,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB,IAAI,CAAC;AAEtC,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEvD;AAWD,eAAO,MAAM,eAAe,EAAE,SAAS,aAAa,EAYnD,CAAC;AAEF,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI,CAEzE;AAED,2DAA2D;AAC3D,eAAO,MAAM,kBAAkB,EAAE,SAAS;IAAE,EAAE,EAAE,KAAK,GAAG,eAAe,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,EAKvF,CAAC;AAMF,4EAA4E;AAC5E,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,KAAK,GAAG,eAAe,GAAG,aAAa,EAAE,CAIpF;AAED,gFAAgF;AAChF,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,SAAW,GAAG,aAAa,EAAE,CAInF;AAED,eAAO,MAAM,gBAAgB,OAAO,CAAC;AACrC,eAAO,MAAM,mBAAmB,IAAI,CAAC;AAErC,MAAM,MAAM,QAAQ,GAAG;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,qGAAqG;IACrG,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAoB9C,CAAC;AAEF,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,GAAG,IAAI,CAEzD"}
|
package/dist/cooking.js
CHANGED
|
@@ -8,25 +8,45 @@ export const COOKING_XP_PER_LEVEL = 5;
|
|
|
8
8
|
export function cookingXpForLevel(level) {
|
|
9
9
|
return Math.max(COOKING_XP_PER_LEVEL, Math.round(level * COOKING_XP_PER_LEVEL));
|
|
10
10
|
}
|
|
11
|
-
function cookingRecipe(input, output, level) {
|
|
12
|
-
return { input, output, level, xp: cookingXpForLevel(level) };
|
|
11
|
+
function cookingRecipe(input, output, level, category) {
|
|
12
|
+
return { input, output, level, xp: cookingXpForLevel(level), category };
|
|
13
13
|
}
|
|
14
14
|
export const COOKING_RECIPES = [
|
|
15
|
-
cookingRecipe('crabmeat', 'cookedcrab', 1),
|
|
16
|
-
cookingRecipe('frog', 'cookedfroglegs', 1),
|
|
17
|
-
cookingRecipe('rawrabbit', 'cookedrabbit', 5),
|
|
18
|
-
cookingRecipe('rawperch', 'cookedperch', 7),
|
|
19
|
-
cookingRecipe('rawtench', 'cookedtench', 20),
|
|
20
|
-
cookingRecipe('rawtrout', 'cookedtrout', 30),
|
|
15
|
+
cookingRecipe('crabmeat', 'cookedcrab', 1, 'meat'),
|
|
16
|
+
cookingRecipe('frog', 'cookedfroglegs', 1, 'other'),
|
|
17
|
+
cookingRecipe('rawrabbit', 'cookedrabbit', 5, 'meat'),
|
|
18
|
+
cookingRecipe('rawperch', 'cookedperch', 7, 'fish'),
|
|
19
|
+
cookingRecipe('rawtench', 'cookedtench', 20, 'fish'),
|
|
20
|
+
cookingRecipe('rawtrout', 'cookedtrout', 30, 'fish'),
|
|
21
21
|
// Sea Bass is the apex level-40 catch and roast.
|
|
22
|
-
cookingRecipe('rawbass', 'cookedbass', 40),
|
|
22
|
+
cookingRecipe('rawbass', 'cookedbass', 40, 'fish'),
|
|
23
23
|
// Frost Pike, the frozen lake's common catch, sits level with the bass: the
|
|
24
24
|
// walk north is the price, not the skill.
|
|
25
|
-
cookingRecipe('rawfrostpike', 'cookedfrostpike', 40),
|
|
25
|
+
cookingRecipe('rawfrostpike', 'cookedfrostpike', 40, 'fish'),
|
|
26
26
|
];
|
|
27
27
|
export function cookingRecipeForInput(input) {
|
|
28
28
|
return COOKING_RECIPES.find((r) => r.input === input) ?? null;
|
|
29
29
|
}
|
|
30
|
+
/** Filter tabs for the cooking panel, in display order. */
|
|
31
|
+
export const COOKING_CATEGORIES = [
|
|
32
|
+
{ id: 'all', label: 'All' },
|
|
33
|
+
{ id: 'fish', label: 'Fish' },
|
|
34
|
+
{ id: 'meat', label: 'Meat' },
|
|
35
|
+
{ id: 'other', label: 'Other' },
|
|
36
|
+
];
|
|
37
|
+
function byLevelThenName(a, b) {
|
|
38
|
+
return a.level - b.level || a.output.localeCompare(b.output);
|
|
39
|
+
}
|
|
40
|
+
/** Recipes in one category (or every recipe), sorted by level then name. */
|
|
41
|
+
export function cookingRecipesFor(category) {
|
|
42
|
+
return COOKING_RECIPES.filter((r) => category === 'all' || r.category === category).sort(byLevelThenName);
|
|
43
|
+
}
|
|
44
|
+
/** The recipes still locked at `level`, lowest first; `count` caps the list. */
|
|
45
|
+
export function nextCookingUnlocks(level, count = Infinity) {
|
|
46
|
+
return COOKING_RECIPES.filter((r) => r.level > level)
|
|
47
|
+
.sort(byLevelThenName)
|
|
48
|
+
.slice(0, Math.max(0, count));
|
|
49
|
+
}
|
|
30
50
|
export const COOK_INTERVAL_MS = 1000;
|
|
31
51
|
export const CAMPFIRE_COOK_RANGE = 3;
|
|
32
52
|
/**
|
|
@@ -38,24 +58,30 @@ export const CAMPFIRE_COOK_RANGE = 3;
|
|
|
38
58
|
* food would have stopped being a meaningful resource at the exact point the
|
|
39
59
|
* fights got hard. Raw fish still hurt - the penalty is unchanged in spirit,
|
|
40
60
|
* just scaled to match.
|
|
61
|
+
*
|
|
62
|
+
* Descriptions never quote the heal: the HUDs print `heal` beside them, so the
|
|
63
|
+
* prose cannot drift from the number.
|
|
41
64
|
*/
|
|
42
65
|
export const FOOD_INFO = {
|
|
43
|
-
crabmeat: { heal: 3 },
|
|
44
|
-
cookedcrab: { heal: 9 },
|
|
45
|
-
rawrabbit: { heal: -3 },
|
|
46
|
-
cookedrabbit: { heal: 15 },
|
|
47
|
-
cookedchicken: { heal: 1 },
|
|
48
|
-
rawbass: { heal: -3 },
|
|
49
|
-
cookedbass: { heal: 38 },
|
|
50
|
-
cookedfroglegs: { heal: 9 },
|
|
51
|
-
rawtench: { heal: -3 },
|
|
52
|
-
cookedtench: { heal: 18 },
|
|
53
|
-
rawperch: { heal: -3 },
|
|
54
|
-
cookedperch: { heal: 24 },
|
|
55
|
-
rawtrout: { heal: -3 },
|
|
56
|
-
cookedtrout: { heal: 30 },
|
|
57
|
-
rawfrostpike: {
|
|
58
|
-
|
|
66
|
+
crabmeat: { heal: 3, description: 'A fresh cut of crab meat. Edible as it is, far better cooked.' },
|
|
67
|
+
cookedcrab: { heal: 9, description: 'A succulent brown crab, roasted in the shell.' },
|
|
68
|
+
rawrabbit: { heal: -3, description: 'A fresh cut of rabbit. Eating it raw will make you ill.' },
|
|
69
|
+
cookedrabbit: { heal: 15, description: 'A tender rabbit haunch roasted over the fire.' },
|
|
70
|
+
cookedchicken: { heal: 1, description: 'A juicy roast chicken leg. Dogs adore it.' },
|
|
71
|
+
rawbass: { heal: -3, description: 'A silvery sea bass. Cook it before you eat it.' },
|
|
72
|
+
cookedbass: { heal: 38, description: 'A flaky grilled sea bass, hot off the fire.' },
|
|
73
|
+
cookedfroglegs: { heal: 9, description: 'Browned frog legs, crispy from the campfire.' },
|
|
74
|
+
rawtench: { heal: -3, description: 'A dark olive tench. Best cooked.' },
|
|
75
|
+
cookedtench: { heal: 18, description: 'Rich lake tench, best eaten while still warm.' },
|
|
76
|
+
rawperch: { heal: -3, description: 'A golden-green perch from the lake. Cook it first.' },
|
|
77
|
+
cookedperch: { heal: 24, description: 'The finest lake catch, hot off the fire.' },
|
|
78
|
+
rawtrout: { heal: -3, description: 'A speckled trout, still bright. Worth cooking.' },
|
|
79
|
+
cookedtrout: { heal: 30, description: 'Trout cooked through, pink and flaking off the bone.' },
|
|
80
|
+
rawfrostpike: {
|
|
81
|
+
heal: -3,
|
|
82
|
+
description: 'A long pale pike hauled up through the ice, its jaw full of needle teeth.',
|
|
83
|
+
},
|
|
84
|
+
cookedfrostpike: { heal: 40, description: 'Pike roasted over the fire, white and firm.' },
|
|
59
85
|
};
|
|
60
86
|
export function foodInfoFor(kind) {
|
|
61
87
|
return FOOD_INFO[kind] ?? null;
|
package/dist/cooking.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cooking.js","sourceRoot":"","sources":["../src/cooking.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"cooking.js","sourceRoot":"","sources":["../src/cooking.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,7 +14,7 @@ import type { NpcKind } from './constants.js';
|
|
|
14
14
|
* aggro pass read the bounds. Adding a zone is an entry here, a theme in the
|
|
15
15
|
* dresser, and a den style if it has one.
|
|
16
16
|
*/
|
|
17
|
-
export type DreadwoodsNpcZoneId = 'spider-hollow';
|
|
17
|
+
export type DreadwoodsNpcZoneId = 'spider-hollow' | 'broken-road' | 'blood-lake';
|
|
18
18
|
export type DreadwoodsNpcZone = {
|
|
19
19
|
id: DreadwoodsNpcZoneId;
|
|
20
20
|
/** Discovery card and guide label. */
|
|
@@ -28,6 +28,19 @@ export type DreadwoodsNpcZone = {
|
|
|
28
28
|
kind: NpcKind;
|
|
29
29
|
count: number;
|
|
30
30
|
};
|
|
31
|
+
/**
|
|
32
|
+
* Authored stand-tiles instead of the default ring. A zone with a road and
|
|
33
|
+
* a camp in it has places its people would actually be posted (the arch,
|
|
34
|
+
* the fork, inside the stockade), and a ring drawn through all of that
|
|
35
|
+
* lands them on the road as often as not. When set, `count` is its length.
|
|
36
|
+
* `scale` is a per-spawn visual size sent to clients (the old dragon on the
|
|
37
|
+
* lake shore is half again its kin); omitted means the kind's default.
|
|
38
|
+
*/
|
|
39
|
+
spawns?: readonly {
|
|
40
|
+
x: number;
|
|
41
|
+
z: number;
|
|
42
|
+
scale?: number;
|
|
43
|
+
}[];
|
|
31
44
|
/**
|
|
32
45
|
* The way down. Sits on one edge of the zone with its mouth facing back
|
|
33
46
|
* across it, so the approach is over the infested ground rather than round
|
|
@@ -70,5 +83,6 @@ export declare function dreadwoodsNpcZoneAt(x: number, z: number): DreadwoodsNpc
|
|
|
70
83
|
export declare function dreadwoodsNpcZoneSpawns(zone: DreadwoodsNpcZone): Array<{
|
|
71
84
|
x: number;
|
|
72
85
|
z: number;
|
|
86
|
+
scale?: number;
|
|
73
87
|
}>;
|
|
74
88
|
//# sourceMappingURL=dreadwoodsZones.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dreadwoodsZones.d.ts","sourceRoot":"","sources":["../src/dreadwoodsZones.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"dreadwoodsZones.d.ts","sourceRoot":"","sources":["../src/dreadwoodsZones.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAU9C;;;;;;;;;;;;;;GAcG;AACH,MAAM,MAAM,mBAAmB,GAAG,eAAe,GAAG,aAAa,GAAG,YAAY,CAAC;AAEjF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,EAAE,EAAE,mBAAmB,CAAC;IACxB,sCAAsC;IACtC,KAAK,EAAE,MAAM,CAAC;IACd,sEAAsE;IACtE,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE;QAAE,IAAI,EAAE,OAAO,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IACtC;;;;;;;OAOG;IACH,MAAM,CAAC,EAAE,SAAS;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC7D;;;;;OAKG;IACH,GAAG,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,SAAS,CAAA;KAAE,CAAC;CAClE,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG,OAAO,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,CAAC;AAE5D,8DAA8D;AAC9D,wBAAgB,aAAa,CAAC,MAAM,EAAE,SAAS,GAAG;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,CAK3E;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,SAAS,CAAA;CAAE,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAK9G;AAsDD,eAAO,MAAM,oBAAoB,EAAE,SAAS,iBAAiB,EAuC5D,CAAC;AAEF,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,mBAAmB,GAAG,iBAAiB,CAI5E;AAED,oDAAoD;AACpD,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,iBAAiB,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAI1F;AAED,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,iBAAiB,GAAG,IAAI,CAKlF;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,iBAAiB,GACtB,KAAK,CAAC;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAsBjD"}
|
package/dist/dreadwoodsZones.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { DEADLANDS_MAX_X, DEADLANDS_MAX_Z } from './zones.js';
|
|
2
|
+
import { DRAGON_RING_CX, DRAGON_RING_CZ, DRAGON_RING_RX, DRAGON_RING_RZ, DRAGON_SPAWNS, } from './bloodRiver.js';
|
|
2
3
|
/** Unit step out of a den mouth in the direction it faces. */
|
|
3
4
|
export function denFacingStep(facing) {
|
|
4
5
|
if (facing === 'north')
|
|
@@ -37,6 +38,39 @@ const SPIDER_HOLLOW_CZ = DEADLANDS_MAX_Z - 7;
|
|
|
37
38
|
// the north. The gate constant itself lives in landmarks.ts, which imports
|
|
38
39
|
// this file, so it is not referenced here.
|
|
39
40
|
const SPIDER_HOLLOW_RZ = 6;
|
|
41
|
+
/**
|
|
42
|
+
* The Broken Road: the first thing on the left inside the south gate. A
|
|
43
|
+
* rutted track spurs west off the gate axis, through a broken stone arch,
|
|
44
|
+
* and forks round a crook camp behind a palisade of sharpened logs, with a
|
|
45
|
+
* ruined tower on a mound to the north-east. Level 9, the outer ring.
|
|
46
|
+
*
|
|
47
|
+
* Sized so every tile is Zone 1: the ring runs to inset 44, so the north
|
|
48
|
+
* edge stops at DEADLANDS_MAX_Z - 43, and the south edge stays five rows off
|
|
49
|
+
* the wall, clear of the towers and their wire. The east edge is sixteen
|
|
50
|
+
* columns short of the gate road; only the track itself reaches it. The
|
|
51
|
+
* geometry hung off this descriptor (the road, the camp, the arch, the tower)
|
|
52
|
+
* lives in brokenRoad.ts.
|
|
53
|
+
*/
|
|
54
|
+
const BROKEN_ROAD_CX = DEADLANDS_MAX_X - 272;
|
|
55
|
+
const BROKEN_ROAD_CZ = DEADLANDS_MAX_Z - 24;
|
|
56
|
+
const BROKEN_ROAD_RX = 30;
|
|
57
|
+
const BROKEN_ROAD_RZ = 19;
|
|
58
|
+
/**
|
|
59
|
+
* Posted, not ringed: two inside the stockade, one at the arch, one at the
|
|
60
|
+
* fork, one by the tower, one outside the gap, one on the north track and one
|
|
61
|
+
* by the wreck. Each is off the road and the palisade (broken-road-smoke.ts
|
|
62
|
+
* pins that) and inside the ellipse, so the hunt never leaves it.
|
|
63
|
+
*/
|
|
64
|
+
const BROKEN_ROAD_SPAWNS = [
|
|
65
|
+
{ x: BROKEN_ROAD_CX + 29, z: BROKEN_ROAD_CZ + 5 },
|
|
66
|
+
{ x: BROKEN_ROAD_CX + 23, z: BROKEN_ROAD_CZ + 5 },
|
|
67
|
+
{ x: BROKEN_ROAD_CX + 25, z: BROKEN_ROAD_CZ - 8 },
|
|
68
|
+
{ x: BROKEN_ROAD_CX - 1, z: BROKEN_ROAD_CZ + 3 },
|
|
69
|
+
{ x: BROKEN_ROAD_CX + 2, z: BROKEN_ROAD_CZ - 2 },
|
|
70
|
+
{ x: BROKEN_ROAD_CX + 11, z: BROKEN_ROAD_CZ + 5 },
|
|
71
|
+
{ x: BROKEN_ROAD_CX + 5, z: BROKEN_ROAD_CZ - 13 },
|
|
72
|
+
{ x: BROKEN_ROAD_CX - 18, z: BROKEN_ROAD_CZ - 2 },
|
|
73
|
+
];
|
|
40
74
|
export const DREADWOODS_NPC_ZONES = [
|
|
41
75
|
{
|
|
42
76
|
id: 'spider-hollow',
|
|
@@ -49,6 +83,33 @@ export const DREADWOODS_NPC_ZONES = [
|
|
|
49
83
|
// Against the wall: the last walkable row before the perimeter.
|
|
50
84
|
den: { style: 'spider-den-north', x: SPIDER_HOLLOW_CX, z: DEADLANDS_MAX_Z - 2, facing: 'north' },
|
|
51
85
|
},
|
|
86
|
+
{
|
|
87
|
+
id: 'broken-road',
|
|
88
|
+
label: 'The Broken Road',
|
|
89
|
+
cx: BROKEN_ROAD_CX,
|
|
90
|
+
cz: BROKEN_ROAD_CZ,
|
|
91
|
+
rx: BROKEN_ROAD_RX,
|
|
92
|
+
rz: BROKEN_ROAD_RZ,
|
|
93
|
+
npc: { kind: 'crook', count: BROKEN_ROAD_SPAWNS.length },
|
|
94
|
+
spawns: BROKEN_ROAD_SPAWNS,
|
|
95
|
+
},
|
|
96
|
+
/**
|
|
97
|
+
* The Blood Lake: the enclosed dragon ground at the very centre of the
|
|
98
|
+
* woods, ringed in crag with one walk-in gap on the south arc. The blood
|
|
99
|
+
* river's north branch runs out of the lake through the ring beside the
|
|
100
|
+
* gate. Geometry lives in bloodRiver.ts; the backend's bloodRiver.ts
|
|
101
|
+
* dresses the ring, the nests and the quarry from the same constants.
|
|
102
|
+
*/
|
|
103
|
+
{
|
|
104
|
+
id: 'blood-lake',
|
|
105
|
+
label: 'The Blood Lake',
|
|
106
|
+
cx: DRAGON_RING_CX,
|
|
107
|
+
cz: DRAGON_RING_CZ,
|
|
108
|
+
rx: DRAGON_RING_RX,
|
|
109
|
+
rz: DRAGON_RING_RZ,
|
|
110
|
+
npc: { kind: 'dragon', count: DRAGON_SPAWNS.length },
|
|
111
|
+
spawns: DRAGON_SPAWNS,
|
|
112
|
+
},
|
|
52
113
|
];
|
|
53
114
|
export function dreadwoodsNpcZone(id) {
|
|
54
115
|
const zone = DREADWOODS_NPC_ZONES.find((z) => z.id === id);
|
|
@@ -75,6 +136,8 @@ export function dreadwoodsNpcZoneAt(x, z) {
|
|
|
75
136
|
* and nothing spawns in the den mouth or on the rim.
|
|
76
137
|
*/
|
|
77
138
|
export function dreadwoodsNpcZoneSpawns(zone) {
|
|
139
|
+
if (zone.spawns)
|
|
140
|
+
return zone.spawns.map((p) => ({ x: p.x, z: p.z, scale: p.scale }));
|
|
78
141
|
const spots = [];
|
|
79
142
|
const ring = Math.max(0, zone.npc.count - 2);
|
|
80
143
|
const den = zone.den;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dreadwoodsZones.js","sourceRoot":"","sources":["../src/dreadwoodsZones.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"dreadwoodsZones.js","sourceRoot":"","sources":["../src/dreadwoodsZones.ts"],"names":[],"mappings":"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"}
|
package/dist/equipment.d.ts
CHANGED
|
@@ -1,6 +1,18 @@
|
|
|
1
1
|
import type { CombatStance } from './messages.js';
|
|
2
|
-
export type EquipSlot = 'helmet' | 'cape' | 'amulet' | 'top' | 'bottom' | 'boots' | 'weapon' | 'offhand' | 'hands' | 'ring' | 'ammo'
|
|
2
|
+
export type EquipSlot = 'helmet' | 'cape' | 'amulet' | 'top' | 'bottom' | 'boots' | 'weapon' | 'offhand' | 'hands' | 'ring' | 'ammo'
|
|
3
|
+
/** The quiver on the back: sets how many arrows the ammo slot holds. */
|
|
4
|
+
| 'quiver';
|
|
3
5
|
export declare const EQUIP_SLOTS: EquipSlot[];
|
|
6
|
+
/**
|
|
7
|
+
* Arrows the ammo slot holds with no quiver: a fistful in the belt. A quiver
|
|
8
|
+
* raises it (QUIVER_CAPACITY); equipping a bigger stack leaves the rest in
|
|
9
|
+
* the bag. Stacks equipped before quivers existed are not trimmed.
|
|
10
|
+
*/
|
|
11
|
+
export declare const AMMO_CAPACITY_BARE = 30;
|
|
12
|
+
/** Arrows each quiver holds. Wood and metal bindings: bigger metal, bigger quiver. */
|
|
13
|
+
export declare const QUIVER_CAPACITY: Record<string, number>;
|
|
14
|
+
export declare function ammoCapacityFor(quiverKind: string | null | undefined): number;
|
|
15
|
+
export declare function isQuiverKind(kind: string | null | undefined): boolean;
|
|
4
16
|
export type EquipmentSlots = Record<EquipSlot, string | null>;
|
|
5
17
|
export type EquipInfo = {
|
|
6
18
|
slot: EquipSlot;
|
|
@@ -15,6 +27,8 @@ export type EquipInfo = {
|
|
|
15
27
|
twoHanded?: boolean;
|
|
16
28
|
};
|
|
17
29
|
export declare const MELEE_ATTACK_INITIATION_RANGE = 1;
|
|
30
|
+
/** A thrown dagger starts a fight from four tiles. */
|
|
31
|
+
export declare const THROWN_ATTACK_INITIATION_RANGE = 4;
|
|
18
32
|
/** Bow tiers initiate combat at 5 then 8 tiles, respectively. */
|
|
19
33
|
export declare const BOW_ATTACK_INITIATION_RANGES: readonly [5, 8];
|
|
20
34
|
export declare const EQUIP_INFO: Record<string, EquipInfo>;
|
|
@@ -25,6 +39,7 @@ export declare function isCombatWeaponKind(kind: string): boolean;
|
|
|
25
39
|
export declare function weaponMasteryRequirement(kind: string | null | undefined): number;
|
|
26
40
|
/** Combat begins from this many tiles away; melee weapons remain adjacent-only. */
|
|
27
41
|
export declare function attackInitiationRangeForWeapon(kind: string | null | undefined): number;
|
|
42
|
+
export declare function isThrownWeaponKind(kind: string | null | undefined): boolean;
|
|
28
43
|
export declare function isRangedWeaponKind(kind: string | null | undefined): boolean;
|
|
29
44
|
export declare function isTwoHandedWeaponKind(kind: string | null | undefined): boolean;
|
|
30
45
|
export declare function isAmmoKind(kind: string | null | undefined): boolean;
|
package/dist/equipment.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"equipment.d.ts","sourceRoot":"","sources":["../src/equipment.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAElD,MAAM,MAAM,SAAS,GACjB,QAAQ,GACR,MAAM,GACN,QAAQ,GACR,KAAK,GACL,QAAQ,GACR,OAAO,GACP,QAAQ,GACR,SAAS,GACT,OAAO,GACP,MAAM,GACN,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"equipment.d.ts","sourceRoot":"","sources":["../src/equipment.ts"],"names":[],"mappings":"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"}
|
package/dist/equipment.js
CHANGED
|
@@ -11,8 +11,29 @@ export const EQUIP_SLOTS = [
|
|
|
11
11
|
'hands',
|
|
12
12
|
'ring',
|
|
13
13
|
'ammo',
|
|
14
|
+
'quiver',
|
|
14
15
|
];
|
|
16
|
+
/**
|
|
17
|
+
* Arrows the ammo slot holds with no quiver: a fistful in the belt. A quiver
|
|
18
|
+
* raises it (QUIVER_CAPACITY); equipping a bigger stack leaves the rest in
|
|
19
|
+
* the bag. Stacks equipped before quivers existed are not trimmed.
|
|
20
|
+
*/
|
|
21
|
+
export const AMMO_CAPACITY_BARE = 30;
|
|
22
|
+
/** Arrows each quiver holds. Wood and metal bindings: bigger metal, bigger quiver. */
|
|
23
|
+
export const QUIVER_CAPACITY = {
|
|
24
|
+
bronzequiver: 60,
|
|
25
|
+
ironquiver: 120,
|
|
26
|
+
steelquiver: 250,
|
|
27
|
+
};
|
|
28
|
+
export function ammoCapacityFor(quiverKind) {
|
|
29
|
+
return (quiverKind && QUIVER_CAPACITY[quiverKind]) || AMMO_CAPACITY_BARE;
|
|
30
|
+
}
|
|
31
|
+
export function isQuiverKind(kind) {
|
|
32
|
+
return !!kind && kind in QUIVER_CAPACITY;
|
|
33
|
+
}
|
|
15
34
|
export const MELEE_ATTACK_INITIATION_RANGE = 1;
|
|
35
|
+
/** A thrown dagger starts a fight from four tiles. */
|
|
36
|
+
export const THROWN_ATTACK_INITIATION_RANGE = 4;
|
|
16
37
|
/** Bow tiers initiate combat at 5 then 8 tiles, respectively. */
|
|
17
38
|
export const BOW_ATTACK_INITIATION_RANGES = [5, 8];
|
|
18
39
|
export const EQUIP_INFO = {
|
|
@@ -26,7 +47,11 @@ export const EQUIP_INFO = {
|
|
|
26
47
|
heavybeachcastingrod: { slot: 'weapon', armour: 0, damageMin: 0, damageMax: 0 },
|
|
27
48
|
icefishingrod: { slot: 'weapon', armour: 0, damageMin: 0, damageMax: 0 },
|
|
28
49
|
foldingsaw: { slot: 'weapon', armour: 0, damageMin: 0, damageMax: 1 },
|
|
50
|
+
// The three hatchets are woodwork tools first: no mastery gate, and their
|
|
51
|
+
// real difference is the felling bonus in woodwork.ts, not the damage.
|
|
29
52
|
hatchet: { slot: 'weapon', armour: 0, damageMin: 1, damageMax: 2 },
|
|
53
|
+
ironhatchet: { slot: 'weapon', armour: 0, damageMin: 2, damageMax: 3 },
|
|
54
|
+
steelhatchet: { slot: 'weapon', armour: 0, damageMin: 3, damageMax: 4 },
|
|
30
55
|
// A mining tool, not a weapon: heavy enough to hurt, but it is held for the
|
|
31
56
|
// seam, not the fight, so it sits at the hatchet's damage with no mastery gate.
|
|
32
57
|
copperpickaxe: { slot: 'weapon', armour: 0, damageMin: 1, damageMax: 2 },
|
|
@@ -57,6 +82,14 @@ export const EQUIP_INFO = {
|
|
|
57
82
|
},
|
|
58
83
|
bircharrow: { slot: 'ammo', armour: 0, damageMin: 0, damageMax: 0 },
|
|
59
84
|
sprucearrow: { slot: 'ammo', armour: 0, damageMin: 2, damageMax: 3 },
|
|
85
|
+
// Metal-tipped arrows: arrowheads off the anvil, fletched at the bench.
|
|
86
|
+
bronzearrow: { slot: 'ammo', armour: 0, damageMin: 3, damageMax: 4 },
|
|
87
|
+
ironarrow: { slot: 'ammo', armour: 0, damageMin: 4, damageMax: 6 },
|
|
88
|
+
steelarrow: { slot: 'ammo', armour: 0, damageMin: 6, damageMax: 8 },
|
|
89
|
+
// Quivers hold arrows, nothing more; the capacity table is QUIVER_CAPACITY.
|
|
90
|
+
bronzequiver: { slot: 'quiver', armour: 0, damageMin: 0, damageMax: 0 },
|
|
91
|
+
ironquiver: { slot: 'quiver', armour: 0, damageMin: 0, damageMax: 0 },
|
|
92
|
+
steelquiver: { slot: 'quiver', armour: 0, damageMin: 0, damageMax: 0 },
|
|
60
93
|
// Bronze Gear
|
|
61
94
|
bronzedagger: { slot: 'weapon', armour: 0, damageMin: 1, damageMax: 3, masteryRequirement: 1 },
|
|
62
95
|
bronzesword: { slot: 'weapon', armour: 0, damageMin: 2, damageMax: 5, masteryRequirement: 6 },
|
|
@@ -72,6 +105,24 @@ export const EQUIP_INFO = {
|
|
|
72
105
|
ironhelmet: { slot: 'helmet', armour: 4, damageMin: 0, damageMax: 0 },
|
|
73
106
|
ironbody: { slot: 'top', armour: 8, damageMin: 0, damageMax: 0 },
|
|
74
107
|
ironlegs: { slot: 'bottom', armour: 5, damageMin: 0, damageMax: 0 },
|
|
108
|
+
// Iron opens two new kinds of weapon: the longsword, and daggers made to
|
|
109
|
+
// be thrown (Strength, four tiles, no ammo: the blade comes back to hand).
|
|
110
|
+
ironlongsword: { slot: 'weapon', armour: 0, damageMin: 5, damageMax: 8, masteryRequirement: 20 },
|
|
111
|
+
ironthrowingdagger: { slot: 'weapon', armour: 0, damageMin: 2, damageMax: 4, masteryRequirement: 12, attackInitiationRange: THROWN_ATTACK_INITIATION_RANGE },
|
|
112
|
+
// Steel Gear
|
|
113
|
+
steeldagger: { slot: 'weapon', armour: 0, damageMin: 4, damageMax: 7, masteryRequirement: 24 },
|
|
114
|
+
steelsword: { slot: 'weapon', armour: 0, damageMin: 6, damageMax: 9, masteryRequirement: 26 },
|
|
115
|
+
steellongsword: { slot: 'weapon', armour: 0, damageMin: 7, damageMax: 10, masteryRequirement: 30 },
|
|
116
|
+
steelthrowingdagger: { slot: 'weapon', armour: 0, damageMin: 4, damageMax: 6, masteryRequirement: 22, attackInitiationRange: THROWN_ATTACK_INITIATION_RANGE },
|
|
117
|
+
// Steel alone has the crushing and cleaving kinds: the mace, and the
|
|
118
|
+
// two-handed battleaxe that leaves no hand for a shield.
|
|
119
|
+
steelmace: { slot: 'weapon', armour: 0, damageMin: 7, damageMax: 9, masteryRequirement: 28 },
|
|
120
|
+
steelbattleaxe: { slot: 'weapon', armour: 0, damageMin: 8, damageMax: 12, masteryRequirement: 32, twoHanded: true },
|
|
121
|
+
steelshield: { slot: 'offhand', armour: 7, damageMin: 0, damageMax: 0 },
|
|
122
|
+
steeltowershield: { slot: 'offhand', armour: 10, damageMin: 0, damageMax: 0 },
|
|
123
|
+
steelhelmet: { slot: 'helmet', armour: 6, damageMin: 0, damageMax: 0 },
|
|
124
|
+
steelbody: { slot: 'top', armour: 11, damageMin: 0, damageMax: 0 },
|
|
125
|
+
steellegs: { slot: 'bottom', armour: 7, damageMin: 0, damageMax: 0 },
|
|
75
126
|
};
|
|
76
127
|
export const EQUIP_SLOT_LABELS = {
|
|
77
128
|
helmet: 'Helmet',
|
|
@@ -85,6 +136,7 @@ export const EQUIP_SLOT_LABELS = {
|
|
|
85
136
|
hands: 'Hands',
|
|
86
137
|
ring: 'Ring',
|
|
87
138
|
ammo: 'Ammo',
|
|
139
|
+
quiver: 'Quiver',
|
|
88
140
|
};
|
|
89
141
|
const LEGACY_SLOT_KEYS = {
|
|
90
142
|
head: 'helmet',
|
|
@@ -113,6 +165,14 @@ export function attackInitiationRangeForWeapon(kind) {
|
|
|
113
165
|
}
|
|
114
166
|
/** Ranged weapons train Archery; everything else trains Strength. */
|
|
115
167
|
const RANGED_WEAPON_KINDS = new Set(['pinebow']);
|
|
168
|
+
/**
|
|
169
|
+
* Thrown weapons: Strength, at a distance, no ammo. The client draws the
|
|
170
|
+
* blade flying instead of an arrow (combat_hit projectile 'dagger').
|
|
171
|
+
*/
|
|
172
|
+
const THROWN_WEAPON_KINDS = new Set(['ironthrowingdagger', 'steelthrowingdagger']);
|
|
173
|
+
export function isThrownWeaponKind(kind) {
|
|
174
|
+
return !!kind && THROWN_WEAPON_KINDS.has(kind);
|
|
175
|
+
}
|
|
116
176
|
const AMMO_KINDS = new Set(Object.entries(EQUIP_INFO)
|
|
117
177
|
.filter(([, info]) => info.slot === 'ammo')
|
|
118
178
|
.map(([kind]) => kind));
|
|
@@ -165,6 +225,7 @@ export function emptyEquipment() {
|
|
|
165
225
|
hands: null,
|
|
166
226
|
ring: null,
|
|
167
227
|
ammo: null,
|
|
228
|
+
quiver: null,
|
|
168
229
|
};
|
|
169
230
|
}
|
|
170
231
|
export function normalizeEquipment(raw) {
|
package/dist/equipment.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"equipment.js","sourceRoot":"","sources":["../src/equipment.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"equipment.js","sourceRoot":"","sources":["../src/equipment.ts"],"names":[],"mappings":"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"}
|
package/dist/groundItems.d.ts
CHANGED
|
@@ -7,6 +7,11 @@ export declare const GROUND_ITEM_KINDS: readonly string[];
|
|
|
7
7
|
export declare const UNDROPPABLE_ITEM_KINDS: readonly string[];
|
|
8
8
|
export declare function isGroundItemKind(kind: string): boolean;
|
|
9
9
|
export declare function isUndroppableItemKind(kind: string): boolean;
|
|
10
|
+
/**
|
|
11
|
+
* Since 2026-09-19 every item can be dropped: kinds outside GROUND_ITEM_KINDS
|
|
12
|
+
* lie on the floor as a generic 'loot' entity styled by the item, so this is
|
|
13
|
+
* only the undroppable veto. Callers still guard on the item being known.
|
|
14
|
+
*/
|
|
10
15
|
export declare function isDroppableItemKind(kind: string): boolean;
|
|
11
16
|
export declare const DROPPED_ITEM_LIFETIME_MS = 30000;
|
|
12
17
|
/** Death loot stays on the tile this long; any player may pick it up. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"groundItems.d.ts","sourceRoot":"","sources":["../src/groundItems.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,iBAAiB,EAAE,SAAS,MAAM,
|
|
1
|
+
{"version":3,"file":"groundItems.d.ts","sourceRoot":"","sources":["../src/groundItems.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,iBAAiB,EAAE,SAAS,MAAM,EAqG9C,CAAC;AAIF;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,EAAE,SAAS,MAAM,EAAO,CAAC;AAI5D,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEtD;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAE3D;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEzD;AAED,eAAO,MAAM,wBAAwB,QAAQ,CAAC;AAC9C,yEAAyE;AACzE,eAAO,MAAM,sBAAsB,QAAQ,CAAC;AAC5C,8EAA8E;AAC9E,eAAO,MAAM,mBAAmB,QAAQ,CAAC;AAEzC,wBAAgB,mBAAmB,CACjC,WAAW,EAAE,MAAM,EACnB,MAAM,SAAsB,GAC3B,MAAM,CAKR"}
|
package/dist/groundItems.js
CHANGED
|
@@ -60,6 +60,9 @@ export const GROUND_ITEM_KINDS = [
|
|
|
60
60
|
'flyhook',
|
|
61
61
|
'sealine',
|
|
62
62
|
'searig',
|
|
63
|
+
'iceline',
|
|
64
|
+
'icerig',
|
|
65
|
+
'frozenkey',
|
|
63
66
|
'seaspinner',
|
|
64
67
|
'rawtrout',
|
|
65
68
|
'cookedtrout',
|
|
@@ -71,6 +74,8 @@ export const GROUND_ITEM_KINDS = [
|
|
|
71
74
|
'iceauger',
|
|
72
75
|
'foldingsaw',
|
|
73
76
|
'hatchet',
|
|
77
|
+
'ironhatchet',
|
|
78
|
+
'steelhatchet',
|
|
74
79
|
'woolygloves',
|
|
75
80
|
'woolyboots',
|
|
76
81
|
'peasantclothes',
|
|
@@ -88,6 +93,7 @@ export const GROUND_ITEM_KINDS = [
|
|
|
88
93
|
'grapes',
|
|
89
94
|
'orange',
|
|
90
95
|
'smallsatchel',
|
|
96
|
+
'coinpurse',
|
|
91
97
|
'spideregg',
|
|
92
98
|
'spidersilk',
|
|
93
99
|
'wolffang',
|
|
@@ -108,8 +114,13 @@ export function isGroundItemKind(kind) {
|
|
|
108
114
|
export function isUndroppableItemKind(kind) {
|
|
109
115
|
return UNDROPPABLE_ITEM_KIND_SET.has(kind);
|
|
110
116
|
}
|
|
117
|
+
/**
|
|
118
|
+
* Since 2026-09-19 every item can be dropped: kinds outside GROUND_ITEM_KINDS
|
|
119
|
+
* lie on the floor as a generic 'loot' entity styled by the item, so this is
|
|
120
|
+
* only the undroppable veto. Callers still guard on the item being known.
|
|
121
|
+
*/
|
|
111
122
|
export function isDroppableItemKind(kind) {
|
|
112
|
-
return
|
|
123
|
+
return !isUndroppableItemKind(kind);
|
|
113
124
|
}
|
|
114
125
|
export const DROPPED_ITEM_LIFETIME_MS = 30000;
|
|
115
126
|
/** Death loot stays on the tile this long; any player may pick it up. */
|
package/dist/groundItems.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"groundItems.js","sourceRoot":"","sources":["../src/groundItems.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,iBAAiB,GAAsB;IAClD,iBAAiB;IACjB,eAAe;IACf,gBAAgB;IAChB,eAAe;IACf,iBAAiB;IACjB,qBAAqB;IACrB,oBAAoB;IACpB,8EAA8E;IAC9E,yEAAyE;IACzE,SAAS;IACT,WAAW;IACX,SAAS;IACT,UAAU;IACV,WAAW;IACX,SAAS;IACT,YAAY;IACZ,cAAc;IACd,eAAe;IACf,YAAY;IACZ,SAAS;IACT,QAAQ;IACR,WAAW;IACX,aAAa;IACb,aAAa;IACb,cAAc;IACd,OAAO;IACP,MAAM;IACN,gBAAgB;IAChB,QAAQ;IACR,YAAY;IACZ,KAAK;IACL,KAAK;IACL,WAAW;IACX,YAAY;IACZ,iBAAiB;IACjB,cAAc;IACd,cAAc;IACd,YAAY;IACZ,YAAY;IACZ,aAAa;IACb,YAAY;IACZ,UAAU;IACV,aAAa;IACb,UAAU;IACV,aAAa;IACb,SAAS;IACT,UAAU;IACV,SAAS;IACT,WAAW;IACX,QAAQ;IACR,KAAK;IACL,MAAM;IACN,YAAY;IACZ,WAAW;IACX,iBAAiB;IACjB,aAAa;IACb,eAAe;IACf,sBAAsB;IACtB,SAAS;IACT,SAAS;IACT,QAAQ;IACR,YAAY;IACZ,UAAU;IACV,aAAa;IACb,cAAc;IACd,iBAAiB;IACjB,UAAU;IACV,WAAW;IACX,eAAe;IACf,UAAU;IACV,YAAY;IACZ,SAAS;IACT,aAAa;IACb,YAAY;IACZ,gBAAgB;IAChB,eAAe;IACf,cAAc;IACd,SAAS;IACT,OAAO;IACP,OAAO;IACP,YAAY;IACZ,UAAU;IACV,YAAY;IACZ,YAAY;IACZ,aAAa;IACb,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,cAAc;IACd,WAAW;IACX,YAAY;IACZ,UAAU;IACV,UAAU;IACV,eAAe;CAChB,CAAC;AAEF,MAAM,oBAAoB,GAAG,IAAI,GAAG,CAAC,iBAAiB,CAAC,CAAC;AAExD;;;;GAIG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAsB,EAAE,CAAC;AAE5D,MAAM,yBAAyB,GAAG,IAAI,GAAG,CAAC,sBAAsB,CAAC,CAAC;AAElE,MAAM,UAAU,gBAAgB,CAAC,IAAY;IAC3C,OAAO,oBAAoB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AACxC,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,IAAY;IAChD,OAAO,yBAAyB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AAC7C,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,IAAY;IAC9C,OAAO,
|
|
1
|
+
{"version":3,"file":"groundItems.js","sourceRoot":"","sources":["../src/groundItems.ts"],"names":[],"mappings":"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"}
|