@dreadwood-types/types 0.1.11 → 0.1.13
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/constants.d.ts +12 -2
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +7 -0
- package/dist/constants.js.map +1 -1
- package/dist/equipment.d.ts.map +1 -1
- package/dist/equipment.js +3 -0
- package/dist/equipment.js.map +1 -1
- package/dist/groundItems.d.ts.map +1 -1
- package/dist/groundItems.js +1 -0
- package/dist/groundItems.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/landmarks.d.ts +100 -44
- package/dist/landmarks.d.ts.map +1 -1
- package/dist/landmarks.js +146 -76
- package/dist/landmarks.js.map +1 -1
- package/dist/messages.d.ts +17 -2
- package/dist/messages.d.ts.map +1 -1
- package/dist/mining.d.ts +69 -0
- package/dist/mining.d.ts.map +1 -0
- package/dist/mining.js +91 -0
- package/dist/mining.js.map +1 -0
- package/dist/snow.d.ts +56 -0
- package/dist/snow.d.ts.map +1 -0
- package/dist/snow.js +95 -0
- package/dist/snow.js.map +1 -0
- package/dist/woodwork.d.ts.map +1 -1
- package/dist/woodwork.js +6 -0
- package/dist/woodwork.js.map +1 -1
- package/dist/zones.d.ts +27 -0
- package/dist/zones.d.ts.map +1 -1
- package/dist/zones.js +74 -10
- package/dist/zones.js.map +1 -1
- package/package.json +1 -1
package/dist/mining.d.ts
ADDED
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Mining - the copper and tin seams in the Dreadwoods.
|
|
3
|
+
*
|
|
4
|
+
* Ore is worked with a pickaxe against an `orerock`, which is a single entity
|
|
5
|
+
* kind carrying the metal in its style (`copper`, `tin`) exactly the way `tree`
|
|
6
|
+
* carries its species. Mining one does NOT remove it: the style flips to the
|
|
7
|
+
* `-mined` variant and the rock stands there empty until it refills, so the
|
|
8
|
+
* seam keeps its place in the world and the client has something to hang the
|
|
9
|
+
* respawn countdown on. A forage node splices itself out of the chunk instead,
|
|
10
|
+
* which is why nettles can never show a timer.
|
|
11
|
+
*
|
|
12
|
+
* Mining is gated on Foraging rather than being given a skill of its own: the
|
|
13
|
+
* ore is a foraged resource, and one more half-used skill bar buys nothing.
|
|
14
|
+
*/
|
|
15
|
+
/** Node entity kind. The metal is the style, so one kind covers every seam. */
|
|
16
|
+
export declare const ORE_ROCK_KIND = "orerock";
|
|
17
|
+
/** The pickaxe, and the ore items a seam yields. */
|
|
18
|
+
export declare const COPPER_PICKAXE_KIND = "copperpickaxe";
|
|
19
|
+
export declare const COPPER_ORE_ITEM_KIND = "copper";
|
|
20
|
+
export declare const TIN_ORE_ITEM_KIND = "tin";
|
|
21
|
+
export type OreStyleId = 'copper' | 'tin';
|
|
22
|
+
export declare const ORE_STYLES: readonly OreStyleId[];
|
|
23
|
+
/** Suffix marking a worked-out seam. Same trick as the tree's `stump` style. */
|
|
24
|
+
export declare const ORE_MINED_SUFFIX = "-mined";
|
|
25
|
+
/**
|
|
26
|
+
* Foraging level needed to work any seam. One level for both metals: copper and
|
|
27
|
+
* tin are the same job, and the tin is made scarce by there being one of it and
|
|
28
|
+
* by its slower refill, not by a second gate.
|
|
29
|
+
*/
|
|
30
|
+
export declare const MINING_FORAGING_LEVEL = 20;
|
|
31
|
+
/** How long one swing-and-prise takes. A shade slower than felling a birch. */
|
|
32
|
+
export declare const MINING_DURATION_MS = 4200;
|
|
33
|
+
/** Tiles. Matches WOODCUT_RANGE - you stand against the rock face to work it. */
|
|
34
|
+
export declare const MINING_RANGE = 1;
|
|
35
|
+
/**
|
|
36
|
+
* Refill timers. Copper is the common metal and there are three of it; tin is
|
|
37
|
+
* the one seam in the mine, so it keeps people coming back rather than standing
|
|
38
|
+
* still. Both are far longer than a forage node because a mine is a destination.
|
|
39
|
+
*/
|
|
40
|
+
export declare const COPPER_ORE_RESPAWN_MS: number;
|
|
41
|
+
export declare const TIN_ORE_RESPAWN_MS: number;
|
|
42
|
+
/** The spare pickaxe lying at the mine head, for anyone who arrives without one. */
|
|
43
|
+
export declare const COPPER_PICKAXE_RESPAWN_MS: number;
|
|
44
|
+
/** Foraging XP per seam. Sits above sharp rock (60 at level 5), as level 20 should. */
|
|
45
|
+
export declare const COPPER_ORE_XP = 85;
|
|
46
|
+
export declare const TIN_ORE_XP = 110;
|
|
47
|
+
/**
|
|
48
|
+
* True for a pickaxe of any metal.
|
|
49
|
+
*
|
|
50
|
+
* Deliberately NOT `endsWith('axe')`: that is how `isWoodworkTool` spells its
|
|
51
|
+
* own test, and a pickaxe answers it, which would quietly make a pick a legal
|
|
52
|
+
* tree-felling tool. `isWoodworkTool` excludes picks by calling this first.
|
|
53
|
+
*/
|
|
54
|
+
export declare function isPickaxe(kind: string | null | undefined): boolean;
|
|
55
|
+
/** The metal in a seam's style, worked out or not. Null for anything else. */
|
|
56
|
+
export declare function oreStyleId(style: string | undefined): OreStyleId | null;
|
|
57
|
+
/** True once the seam has been worked and is waiting to refill. */
|
|
58
|
+
export declare function isMinedOutOreStyle(style: string | undefined): boolean;
|
|
59
|
+
/** True for a seam with ore still in it - the only thing a pick may be swung at. */
|
|
60
|
+
export declare function isMineableOreStyle(style: string | undefined): boolean;
|
|
61
|
+
/** The style a seam takes while it is empty. */
|
|
62
|
+
export declare function minedOutOreStyle(style: string | undefined): string;
|
|
63
|
+
/** The style a seam returns to when it refills. */
|
|
64
|
+
export declare function freshOreStyle(style: string | undefined): string;
|
|
65
|
+
export declare function oreItemKind(style: string | undefined): string;
|
|
66
|
+
export declare function oreRespawnMs(style: string | undefined): number;
|
|
67
|
+
export declare function oreForagingXp(style: string | undefined): number;
|
|
68
|
+
export declare function oreDisplayName(style: string | undefined): string;
|
|
69
|
+
//# sourceMappingURL=mining.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mining.d.ts","sourceRoot":"","sources":["../src/mining.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,+EAA+E;AAC/E,eAAO,MAAM,aAAa,YAAY,CAAC;AAEvC,oDAAoD;AACpD,eAAO,MAAM,mBAAmB,kBAAkB,CAAC;AACnD,eAAO,MAAM,oBAAoB,WAAW,CAAC;AAC7C,eAAO,MAAM,iBAAiB,QAAQ,CAAC;AAEvC,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,KAAK,CAAC;AAE1C,eAAO,MAAM,UAAU,EAAE,SAAS,UAAU,EAAsB,CAAC;AAEnE,gFAAgF;AAChF,eAAO,MAAM,gBAAgB,WAAW,CAAC;AAEzC;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,KAAK,CAAC;AAExC,+EAA+E;AAC/E,eAAO,MAAM,kBAAkB,OAAO,CAAC;AAEvC,iFAAiF;AACjF,eAAO,MAAM,YAAY,IAAI,CAAC;AAE9B;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,QAAgB,CAAC;AACnD,eAAO,MAAM,kBAAkB,QAAgB,CAAC;AAEhD,oFAAoF;AACpF,eAAO,MAAM,yBAAyB,QAAgB,CAAC;AAEvD,uFAAuF;AACvF,eAAO,MAAM,aAAa,KAAK,CAAC;AAChC,eAAO,MAAM,UAAU,MAAM,CAAC;AAE9B;;;;;;GAMG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,OAAO,CAGlE;AAED,8EAA8E;AAC9E,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,UAAU,GAAG,IAAI,CAGvE;AAED,mEAAmE;AACnE,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAErE;AAED,oFAAoF;AACpF,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAErE;AAED,gDAAgD;AAChD,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAGlE;AAED,mDAAmD;AACnD,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAE/D;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAE7D;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAE9D;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAE/D;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAEhE"}
|
package/dist/mining.js
ADDED
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Mining - the copper and tin seams in the Dreadwoods.
|
|
3
|
+
*
|
|
4
|
+
* Ore is worked with a pickaxe against an `orerock`, which is a single entity
|
|
5
|
+
* kind carrying the metal in its style (`copper`, `tin`) exactly the way `tree`
|
|
6
|
+
* carries its species. Mining one does NOT remove it: the style flips to the
|
|
7
|
+
* `-mined` variant and the rock stands there empty until it refills, so the
|
|
8
|
+
* seam keeps its place in the world and the client has something to hang the
|
|
9
|
+
* respawn countdown on. A forage node splices itself out of the chunk instead,
|
|
10
|
+
* which is why nettles can never show a timer.
|
|
11
|
+
*
|
|
12
|
+
* Mining is gated on Foraging rather than being given a skill of its own: the
|
|
13
|
+
* ore is a foraged resource, and one more half-used skill bar buys nothing.
|
|
14
|
+
*/
|
|
15
|
+
/** Node entity kind. The metal is the style, so one kind covers every seam. */
|
|
16
|
+
export const ORE_ROCK_KIND = 'orerock';
|
|
17
|
+
/** The pickaxe, and the ore items a seam yields. */
|
|
18
|
+
export const COPPER_PICKAXE_KIND = 'copperpickaxe';
|
|
19
|
+
export const COPPER_ORE_ITEM_KIND = 'copper';
|
|
20
|
+
export const TIN_ORE_ITEM_KIND = 'tin';
|
|
21
|
+
export const ORE_STYLES = ['copper', 'tin'];
|
|
22
|
+
/** Suffix marking a worked-out seam. Same trick as the tree's `stump` style. */
|
|
23
|
+
export const ORE_MINED_SUFFIX = '-mined';
|
|
24
|
+
/**
|
|
25
|
+
* Foraging level needed to work any seam. One level for both metals: copper and
|
|
26
|
+
* tin are the same job, and the tin is made scarce by there being one of it and
|
|
27
|
+
* by its slower refill, not by a second gate.
|
|
28
|
+
*/
|
|
29
|
+
export const MINING_FORAGING_LEVEL = 20;
|
|
30
|
+
/** How long one swing-and-prise takes. A shade slower than felling a birch. */
|
|
31
|
+
export const MINING_DURATION_MS = 4200;
|
|
32
|
+
/** Tiles. Matches WOODCUT_RANGE - you stand against the rock face to work it. */
|
|
33
|
+
export const MINING_RANGE = 1;
|
|
34
|
+
/**
|
|
35
|
+
* Refill timers. Copper is the common metal and there are three of it; tin is
|
|
36
|
+
* the one seam in the mine, so it keeps people coming back rather than standing
|
|
37
|
+
* still. Both are far longer than a forage node because a mine is a destination.
|
|
38
|
+
*/
|
|
39
|
+
export const COPPER_ORE_RESPAWN_MS = 3 * 60 * 1000;
|
|
40
|
+
export const TIN_ORE_RESPAWN_MS = 5 * 60 * 1000;
|
|
41
|
+
/** The spare pickaxe lying at the mine head, for anyone who arrives without one. */
|
|
42
|
+
export const COPPER_PICKAXE_RESPAWN_MS = 5 * 60 * 1000;
|
|
43
|
+
/** Foraging XP per seam. Sits above sharp rock (60 at level 5), as level 20 should. */
|
|
44
|
+
export const COPPER_ORE_XP = 85;
|
|
45
|
+
export const TIN_ORE_XP = 110;
|
|
46
|
+
/**
|
|
47
|
+
* True for a pickaxe of any metal.
|
|
48
|
+
*
|
|
49
|
+
* Deliberately NOT `endsWith('axe')`: that is how `isWoodworkTool` spells its
|
|
50
|
+
* own test, and a pickaxe answers it, which would quietly make a pick a legal
|
|
51
|
+
* tree-felling tool. `isWoodworkTool` excludes picks by calling this first.
|
|
52
|
+
*/
|
|
53
|
+
export function isPickaxe(kind) {
|
|
54
|
+
const id = (kind ?? '').toLowerCase();
|
|
55
|
+
return id.endsWith('pickaxe') || id.endsWith('pick');
|
|
56
|
+
}
|
|
57
|
+
/** The metal in a seam's style, worked out or not. Null for anything else. */
|
|
58
|
+
export function oreStyleId(style) {
|
|
59
|
+
const base = (style ?? '').replace(ORE_MINED_SUFFIX, '');
|
|
60
|
+
return ORE_STYLES.includes(base) ? base : null;
|
|
61
|
+
}
|
|
62
|
+
/** True once the seam has been worked and is waiting to refill. */
|
|
63
|
+
export function isMinedOutOreStyle(style) {
|
|
64
|
+
return (style ?? '').endsWith(ORE_MINED_SUFFIX);
|
|
65
|
+
}
|
|
66
|
+
/** True for a seam with ore still in it - the only thing a pick may be swung at. */
|
|
67
|
+
export function isMineableOreStyle(style) {
|
|
68
|
+
return oreStyleId(style) !== null && !isMinedOutOreStyle(style);
|
|
69
|
+
}
|
|
70
|
+
/** The style a seam takes while it is empty. */
|
|
71
|
+
export function minedOutOreStyle(style) {
|
|
72
|
+
const ore = oreStyleId(style);
|
|
73
|
+
return `${ore ?? 'copper'}${ORE_MINED_SUFFIX}`;
|
|
74
|
+
}
|
|
75
|
+
/** The style a seam returns to when it refills. */
|
|
76
|
+
export function freshOreStyle(style) {
|
|
77
|
+
return oreStyleId(style) ?? 'copper';
|
|
78
|
+
}
|
|
79
|
+
export function oreItemKind(style) {
|
|
80
|
+
return oreStyleId(style) === 'tin' ? TIN_ORE_ITEM_KIND : COPPER_ORE_ITEM_KIND;
|
|
81
|
+
}
|
|
82
|
+
export function oreRespawnMs(style) {
|
|
83
|
+
return oreStyleId(style) === 'tin' ? TIN_ORE_RESPAWN_MS : COPPER_ORE_RESPAWN_MS;
|
|
84
|
+
}
|
|
85
|
+
export function oreForagingXp(style) {
|
|
86
|
+
return oreStyleId(style) === 'tin' ? TIN_ORE_XP : COPPER_ORE_XP;
|
|
87
|
+
}
|
|
88
|
+
export function oreDisplayName(style) {
|
|
89
|
+
return oreStyleId(style) === 'tin' ? 'Tin Seam' : 'Copper Seam';
|
|
90
|
+
}
|
|
91
|
+
//# sourceMappingURL=mining.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mining.js","sourceRoot":"","sources":["../src/mining.ts"],"names":[],"mappings":"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"}
|
package/dist/snow.d.ts
ADDED
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The northern snow line.
|
|
3
|
+
*
|
|
4
|
+
* North of the goblin camps the ground gives way to snow. The change is a band
|
|
5
|
+
* rather than a line: flecks of white in the grass at the southern edge,
|
|
6
|
+
* thickening to full cover as you walk north, so a player crossing it sees the
|
|
7
|
+
* country change under their feet instead of stepping over a seam.
|
|
8
|
+
*
|
|
9
|
+
* Where it applies is deliberately narrow. Only the open flank WEST of the
|
|
10
|
+
* Dreadwoods gets snow (x < DEADLANDS_MIN_X): the woods themselves are an ash
|
|
11
|
+
* forest with their own floor and their own walls, and everything east of them
|
|
12
|
+
* is Calverton, the Trout Fishery and the Amazon Trail - none of which are
|
|
13
|
+
* meant to be arctic. The Dreadwoods' west wall is what the snow meets, so the
|
|
14
|
+
* boundary is a built edge rather than a hard change in open ground.
|
|
15
|
+
*/
|
|
16
|
+
/**
|
|
17
|
+
* Where the snow line sits before the wander below moves it.
|
|
18
|
+
*
|
|
19
|
+
* Goblin camps run z 648-658. SNOW_EDGE_Z + SNOW_WANDER_TILES = 648, so the
|
|
20
|
+
* furthest south the line can ever wander is the camps' own northern row, where
|
|
21
|
+
* the ramp is still zero - the first flecks land just north of the village and
|
|
22
|
+
* never in it.
|
|
23
|
+
*/
|
|
24
|
+
export declare const SNOW_EDGE_Z = 626;
|
|
25
|
+
/** North of this the cover is solid. 68 tiles of transition, ~17s of walking. */
|
|
26
|
+
export declare const SNOW_DEEP_Z = 558;
|
|
27
|
+
/** Half-range of the wander applied to the line, in tiles. */
|
|
28
|
+
export declare const SNOW_WANDER_TILES = 22;
|
|
29
|
+
/**
|
|
30
|
+
* True on the flank the snow is allowed to cover at all.
|
|
31
|
+
*
|
|
32
|
+
* The southern bound has to clear SNOW_EDGE_Z by the full wander. Cutting it at
|
|
33
|
+
* SNOW_EDGE_Z instead put a dead straight line across the map wherever the
|
|
34
|
+
* wander had pushed the ramp south of its nominal row: the patches simply
|
|
35
|
+
* stopped mid-fade, in a ruler line, which is precisely what the wander exists
|
|
36
|
+
* to prevent.
|
|
37
|
+
*/
|
|
38
|
+
export declare function inSnowRegion(x: number, z: number): boolean;
|
|
39
|
+
/**
|
|
40
|
+
* How thoroughly this tile is covered, 0 (bare) to 1 (solid snow).
|
|
41
|
+
*
|
|
42
|
+
* The latitude ramp is pushed around by a long-wavelength noise so the snow
|
|
43
|
+
* line wanders by a good twenty tiles instead of running dead straight across
|
|
44
|
+
* the map - a ruler-straight climate boundary is the thing that would give the
|
|
45
|
+
* whole band away as generated.
|
|
46
|
+
*/
|
|
47
|
+
export declare function snowDepthAt(x: number, z: number): number;
|
|
48
|
+
/**
|
|
49
|
+
* True when this tile should be laid as snow rather than whatever it was.
|
|
50
|
+
*
|
|
51
|
+
* Compared against a second, finer noise rather than a per-tile random roll:
|
|
52
|
+
* a random roll gives salt-and-pepper, and what a thawing edge actually looks
|
|
53
|
+
* like is patches - drifts lying in the hollows with bare ground between them.
|
|
54
|
+
*/
|
|
55
|
+
export declare function isSnowTile(x: number, z: number): boolean;
|
|
56
|
+
//# sourceMappingURL=snow.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"snow.d.ts","sourceRoot":"","sources":["../src/snow.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;GAcG;AAEH;;;;;;;GAOG;AACH,eAAO,MAAM,WAAW,MAAM,CAAC;AAC/B,iFAAiF;AACjF,eAAO,MAAM,WAAW,MAAM,CAAC;AAC/B,8DAA8D;AAC9D,eAAO,MAAM,iBAAiB,KAAK,CAAC;AAEpC;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAE1D;AA2BD;;;;;;;GAOG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAKxD;AAED;;;;;;GAMG;AACH,wBAAgB,UAAU,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAKxD"}
|
package/dist/snow.js
ADDED
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
import { DEADLANDS_MIN_X } from './zones.js';
|
|
2
|
+
/**
|
|
3
|
+
* The northern snow line.
|
|
4
|
+
*
|
|
5
|
+
* North of the goblin camps the ground gives way to snow. The change is a band
|
|
6
|
+
* rather than a line: flecks of white in the grass at the southern edge,
|
|
7
|
+
* thickening to full cover as you walk north, so a player crossing it sees the
|
|
8
|
+
* country change under their feet instead of stepping over a seam.
|
|
9
|
+
*
|
|
10
|
+
* Where it applies is deliberately narrow. Only the open flank WEST of the
|
|
11
|
+
* Dreadwoods gets snow (x < DEADLANDS_MIN_X): the woods themselves are an ash
|
|
12
|
+
* forest with their own floor and their own walls, and everything east of them
|
|
13
|
+
* is Calverton, the Trout Fishery and the Amazon Trail - none of which are
|
|
14
|
+
* meant to be arctic. The Dreadwoods' west wall is what the snow meets, so the
|
|
15
|
+
* boundary is a built edge rather than a hard change in open ground.
|
|
16
|
+
*/
|
|
17
|
+
/**
|
|
18
|
+
* Where the snow line sits before the wander below moves it.
|
|
19
|
+
*
|
|
20
|
+
* Goblin camps run z 648-658. SNOW_EDGE_Z + SNOW_WANDER_TILES = 648, so the
|
|
21
|
+
* furthest south the line can ever wander is the camps' own northern row, where
|
|
22
|
+
* the ramp is still zero - the first flecks land just north of the village and
|
|
23
|
+
* never in it.
|
|
24
|
+
*/
|
|
25
|
+
export const SNOW_EDGE_Z = 626;
|
|
26
|
+
/** North of this the cover is solid. 68 tiles of transition, ~17s of walking. */
|
|
27
|
+
export const SNOW_DEEP_Z = 558;
|
|
28
|
+
/** Half-range of the wander applied to the line, in tiles. */
|
|
29
|
+
export const SNOW_WANDER_TILES = 22;
|
|
30
|
+
/**
|
|
31
|
+
* True on the flank the snow is allowed to cover at all.
|
|
32
|
+
*
|
|
33
|
+
* The southern bound has to clear SNOW_EDGE_Z by the full wander. Cutting it at
|
|
34
|
+
* SNOW_EDGE_Z instead put a dead straight line across the map wherever the
|
|
35
|
+
* wander had pushed the ramp south of its nominal row: the patches simply
|
|
36
|
+
* stopped mid-fade, in a ruler line, which is precisely what the wander exists
|
|
37
|
+
* to prevent.
|
|
38
|
+
*/
|
|
39
|
+
export function inSnowRegion(x, z) {
|
|
40
|
+
return x >= 0 && x < DEADLANDS_MIN_X && z >= 0 && z <= SNOW_EDGE_Z + SNOW_WANDER_TILES;
|
|
41
|
+
}
|
|
42
|
+
/** Deterministic hash in 0..1. Self-contained so both repos agree exactly. */
|
|
43
|
+
function hash01(x, z) {
|
|
44
|
+
let h = Math.imul(x | 0, 0x27d4eb2d) ^ Math.imul(z | 0, 0x165667b1);
|
|
45
|
+
h = Math.imul(h ^ (h >>> 15), 0x85ebca6b);
|
|
46
|
+
h ^= h >>> 13;
|
|
47
|
+
return ((h >>> 0) % 100000) / 100000;
|
|
48
|
+
}
|
|
49
|
+
/** Smoothstep-interpolated value noise, so patches are blobs and not speckle. */
|
|
50
|
+
function valueNoise(x, z) {
|
|
51
|
+
const x0 = Math.floor(x);
|
|
52
|
+
const z0 = Math.floor(z);
|
|
53
|
+
const fx = x - x0;
|
|
54
|
+
const fz = z - z0;
|
|
55
|
+
const sx = fx * fx * (3 - 2 * fx);
|
|
56
|
+
const sz = fz * fz * (3 - 2 * fz);
|
|
57
|
+
const n00 = hash01(x0, z0);
|
|
58
|
+
const n10 = hash01(x0 + 1, z0);
|
|
59
|
+
const n01 = hash01(x0, z0 + 1);
|
|
60
|
+
const n11 = hash01(x0 + 1, z0 + 1);
|
|
61
|
+
const a = n00 + (n10 - n00) * sx;
|
|
62
|
+
const b = n01 + (n11 - n01) * sx;
|
|
63
|
+
return a + (b - a) * sz;
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* How thoroughly this tile is covered, 0 (bare) to 1 (solid snow).
|
|
67
|
+
*
|
|
68
|
+
* The latitude ramp is pushed around by a long-wavelength noise so the snow
|
|
69
|
+
* line wanders by a good twenty tiles instead of running dead straight across
|
|
70
|
+
* the map - a ruler-straight climate boundary is the thing that would give the
|
|
71
|
+
* whole band away as generated.
|
|
72
|
+
*/
|
|
73
|
+
export function snowDepthAt(x, z) {
|
|
74
|
+
if (!inSnowRegion(x, z))
|
|
75
|
+
return 0;
|
|
76
|
+
const wander = (valueNoise(x / 47, z / 47) - 0.5) * 2 * SNOW_WANDER_TILES;
|
|
77
|
+
const t = (SNOW_EDGE_Z - (z + wander)) / (SNOW_EDGE_Z - SNOW_DEEP_Z);
|
|
78
|
+
return Math.max(0, Math.min(1, t));
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* True when this tile should be laid as snow rather than whatever it was.
|
|
82
|
+
*
|
|
83
|
+
* Compared against a second, finer noise rather than a per-tile random roll:
|
|
84
|
+
* a random roll gives salt-and-pepper, and what a thawing edge actually looks
|
|
85
|
+
* like is patches - drifts lying in the hollows with bare ground between them.
|
|
86
|
+
*/
|
|
87
|
+
export function isSnowTile(x, z) {
|
|
88
|
+
const depth = snowDepthAt(x, z);
|
|
89
|
+
if (depth <= 0)
|
|
90
|
+
return false;
|
|
91
|
+
if (depth >= 1)
|
|
92
|
+
return true;
|
|
93
|
+
return valueNoise(x / 6.5, z / 6.5) < depth;
|
|
94
|
+
}
|
|
95
|
+
//# sourceMappingURL=snow.js.map
|
package/dist/snow.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"snow.js","sourceRoot":"","sources":["../src/snow.ts"],"names":[],"mappings":"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"}
|
package/dist/woodwork.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"woodwork.d.ts","sourceRoot":"","sources":["../src/woodwork.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"woodwork.d.ts","sourceRoot":"","sources":["../src/woodwork.ts"],"names":[],"mappings":"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"}
|
package/dist/woodwork.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { MAX_LEVEL } from './xp.js';
|
|
2
2
|
import { UNLIT_BIRCH_TORCH } from './torches.js';
|
|
3
|
+
import { isPickaxe } from './mining.js';
|
|
3
4
|
export const WOODWORK_TREE_LEVELS = {
|
|
4
5
|
birch: 1,
|
|
5
6
|
poplar: 5,
|
|
@@ -381,6 +382,11 @@ export function isWorkingSaw(kind) {
|
|
|
381
382
|
export function isWoodworkTool(kind) {
|
|
382
383
|
if (isBrokenSaw(kind))
|
|
383
384
|
return false;
|
|
385
|
+
// A pickaxe ends in "axe" and would otherwise pass the suffix test below,
|
|
386
|
+
// which would make a mining tool a legal way to fell a tree. Picks are for
|
|
387
|
+
// rock; the suffix rule is a convenience, not a licence.
|
|
388
|
+
if (isPickaxe(kind))
|
|
389
|
+
return false;
|
|
384
390
|
const id = kind.toLowerCase();
|
|
385
391
|
return (id === FOLDING_SAW_KIND ||
|
|
386
392
|
id === 'hatchet' ||
|
package/dist/woodwork.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"woodwork.js","sourceRoot":"","sources":["../src/woodwork.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"woodwork.js","sourceRoot":"","sources":["../src/woodwork.ts"],"names":[],"mappings":"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"}
|
package/dist/zones.d.ts
CHANGED
|
@@ -21,8 +21,35 @@ export declare function zoneAt(x: number, z: number): WorldZoneId;
|
|
|
21
21
|
export declare function zoneDisplayName(zone: WorldZoneId): string;
|
|
22
22
|
export declare function isDeadlands(x: number, z: number): boolean;
|
|
23
23
|
export declare function isPvpZone(x: number, z: number): boolean;
|
|
24
|
+
/** Combat bands inside the Dreadwoods. Zone 1 is the outer/entrance ring; Zone 5 is the core. */
|
|
25
|
+
export type CombatZoneTier = 1 | 2 | 3 | 4 | 5;
|
|
26
|
+
export declare const COMBAT_ZONE_COUNT = 5;
|
|
27
|
+
export declare const COMBAT_ZONE_LEVEL_DELTA: Record<CombatZoneTier, number>;
|
|
28
|
+
export declare function isCombatZoneTier(value: unknown): value is CombatZoneTier;
|
|
29
|
+
/**
|
|
30
|
+
* Chebyshev inset from the Dreadwoods square edge. 0 on the outer forest ring,
|
|
31
|
+
* ~223 at the centre. Null outside the woods (village, beach, wall, mountains).
|
|
32
|
+
*/
|
|
33
|
+
export declare function deadlandsInset(x: number, z: number): number | null;
|
|
34
|
+
/**
|
|
35
|
+
* Concentric Chebyshev bands of the Dreadwoods square. Equal-width rings from
|
|
36
|
+
* the outer edge inward so Zone 1 is the entrance frame and Zone 5 the core.
|
|
37
|
+
*/
|
|
38
|
+
export declare function combatZoneAt(x: number, z: number): CombatZoneTier | null;
|
|
39
|
+
export declare function combatZoneDisplayName(tier: CombatZoneTier): string;
|
|
40
|
+
export declare function combatZoneLevelDelta(tier: CombatZoneTier): number;
|
|
41
|
+
export declare function combatZoneRangeLabel(tier: CombatZoneTier): string;
|
|
42
|
+
/**
|
|
43
|
+
* Allowed combat-level gap for a wild PvP fight on these two tiles.
|
|
44
|
+
* Uses the stricter of the two bands so a Zone 1 player cannot be pulled
|
|
45
|
+
* into a Zone 2-width fight on the boundary. Null if either tile is safe.
|
|
46
|
+
*/
|
|
47
|
+
export declare function pvpLevelDeltaAllowed(attackerX: number, attackerZ: number, defenderX: number, defenderZ: number): number | null;
|
|
48
|
+
export declare function canPvpAttackByLevel(attackerLevel: number, defenderLevel: number, attackerX: number, attackerZ: number, defenderX: number, defenderZ: number): boolean;
|
|
49
|
+
export declare function pvpAttackBlockedMessage(attackerLevel: number, defenderLevel: number, attackerX: number, attackerZ: number, defenderX: number, defenderZ: number): string | null;
|
|
24
50
|
export declare function isDeadlandsPerimeter(x: number, z: number): boolean;
|
|
25
51
|
export declare function isDeadlandsDefenseBand(x: number, z: number): boolean;
|
|
52
|
+
/** Palisade towers only. Interior forest towers put sentries among the trees. */
|
|
26
53
|
export declare function collectDeadlandsTowerSpots(): {
|
|
27
54
|
x: number;
|
|
28
55
|
z: number;
|
package/dist/zones.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"zones.d.ts","sourceRoot":"","sources":["../src/zones.ts"],"names":[],"mappings":"AASA,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,WAAW,CAAC;AAE/C,eAAO,MAAM,eAAe,MAAM,CAAC;AACnC,eAAO,MAAM,eAAe,MAAM,CAAC;AACnC,eAAO,MAAM,eAAe,QAAkD,CAAC;AAC/E,eAAO,MAAM,eAAe,QAAwC,CAAC;AACrE,eAAO,MAAM,eAAe,QAAmD,CAAC;AAChF,eAAO,MAAM,eAAe,QAAwC,CAAC;AACrE,eAAO,MAAM,gBAAgB,QAAsD,CAAC;AACpF,eAAO,MAAM,uBAAuB,IAAI,CAAC;AACzC,eAAO,MAAM,wBAAwB,IAAI,CAAC;AAC1C,eAAO,MAAM,uBAAuB,KAAK,CAAC;AAE1C,eAAO,MAAM,gBAAgB;aAC3B,IAAI;aACJ,IAAI;aACJ,IAAI;aACJ,IAAI;CACI,CAAC;AAEX,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,WAAW,EAAE,MAAM,CAGzD,CAAC;AAEF,wBAAgB,cAAc,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAO5D;AAED,wBAAgB,MAAM,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,WAAW,CAaxD;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,WAAW,GAAG,MAAM,CAEzD;AAED,wBAAgB,WAAW,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAEzD;AAED,wBAAgB,SAAS,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAEvD;AAED,wBAAgB,oBAAoB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAQlE;AAED,wBAAgB,sBAAsB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CA6BpE;AAQD,wBAAgB,0BAA0B,IAAI;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,EAAE,
|
|
1
|
+
{"version":3,"file":"zones.d.ts","sourceRoot":"","sources":["../src/zones.ts"],"names":[],"mappings":"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"}
|
package/dist/zones.js
CHANGED
|
@@ -47,6 +47,79 @@ export function isDeadlands(x, z) {
|
|
|
47
47
|
export function isPvpZone(x, z) {
|
|
48
48
|
return isDeadlands(x, z);
|
|
49
49
|
}
|
|
50
|
+
export const COMBAT_ZONE_COUNT = 5;
|
|
51
|
+
export const COMBAT_ZONE_LEVEL_DELTA = {
|
|
52
|
+
1: 5,
|
|
53
|
+
2: 10,
|
|
54
|
+
3: 15,
|
|
55
|
+
4: 20,
|
|
56
|
+
5: 30,
|
|
57
|
+
};
|
|
58
|
+
export function isCombatZoneTier(value) {
|
|
59
|
+
return value === 1 || value === 2 || value === 3 || value === 4 || value === 5;
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Chebyshev inset from the Dreadwoods square edge. 0 on the outer forest ring,
|
|
63
|
+
* ~223 at the centre. Null outside the woods (village, beach, wall, mountains).
|
|
64
|
+
*/
|
|
65
|
+
export function deadlandsInset(x, z) {
|
|
66
|
+
const tx = Math.floor(x);
|
|
67
|
+
const tz = Math.floor(z);
|
|
68
|
+
if (!isDeadlands(tx, tz))
|
|
69
|
+
return null;
|
|
70
|
+
return Math.min(tx - DEADLANDS_MIN_X, DEADLANDS_MAX_X - tx, tz - DEADLANDS_MIN_Z, DEADLANDS_MAX_Z - tz);
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Concentric Chebyshev bands of the Dreadwoods square. Equal-width rings from
|
|
74
|
+
* the outer edge inward so Zone 1 is the entrance frame and Zone 5 the core.
|
|
75
|
+
*/
|
|
76
|
+
export function combatZoneAt(x, z) {
|
|
77
|
+
const inset = deadlandsInset(x, z);
|
|
78
|
+
if (inset === null)
|
|
79
|
+
return null;
|
|
80
|
+
const span = Math.min(Math.floor(DEADLANDS_WIDTH / 2), Math.floor(DEADLANDS_DEPTH / 2));
|
|
81
|
+
const band = Math.min(COMBAT_ZONE_COUNT - 1, Math.floor((inset * COMBAT_ZONE_COUNT) / span));
|
|
82
|
+
return (band + 1);
|
|
83
|
+
}
|
|
84
|
+
export function combatZoneDisplayName(tier) {
|
|
85
|
+
return `Zone ${tier}`;
|
|
86
|
+
}
|
|
87
|
+
export function combatZoneLevelDelta(tier) {
|
|
88
|
+
return COMBAT_ZONE_LEVEL_DELTA[tier];
|
|
89
|
+
}
|
|
90
|
+
export function combatZoneRangeLabel(tier) {
|
|
91
|
+
return `PvP +/- ${COMBAT_ZONE_LEVEL_DELTA[tier]} levels`;
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* Allowed combat-level gap for a wild PvP fight on these two tiles.
|
|
95
|
+
* Uses the stricter of the two bands so a Zone 1 player cannot be pulled
|
|
96
|
+
* into a Zone 2-width fight on the boundary. Null if either tile is safe.
|
|
97
|
+
*/
|
|
98
|
+
export function pvpLevelDeltaAllowed(attackerX, attackerZ, defenderX, defenderZ) {
|
|
99
|
+
const attackerTier = combatZoneAt(attackerX, attackerZ);
|
|
100
|
+
const defenderTier = combatZoneAt(defenderX, defenderZ);
|
|
101
|
+
if (attackerTier === null || defenderTier === null)
|
|
102
|
+
return null;
|
|
103
|
+
return Math.min(COMBAT_ZONE_LEVEL_DELTA[attackerTier], COMBAT_ZONE_LEVEL_DELTA[defenderTier]);
|
|
104
|
+
}
|
|
105
|
+
export function canPvpAttackByLevel(attackerLevel, defenderLevel, attackerX, attackerZ, defenderX, defenderZ) {
|
|
106
|
+
const delta = pvpLevelDeltaAllowed(attackerX, attackerZ, defenderX, defenderZ);
|
|
107
|
+
if (delta === null)
|
|
108
|
+
return false;
|
|
109
|
+
return Math.abs(attackerLevel - defenderLevel) <= delta;
|
|
110
|
+
}
|
|
111
|
+
export function pvpAttackBlockedMessage(attackerLevel, defenderLevel, attackerX, attackerZ, defenderX, defenderZ) {
|
|
112
|
+
if (!isPvpZone(attackerX, attackerZ) || !isPvpZone(defenderX, defenderZ)) {
|
|
113
|
+
return `You can only fight other players in the ${zoneDisplayName('deadlands')}.`;
|
|
114
|
+
}
|
|
115
|
+
const delta = pvpLevelDeltaAllowed(attackerX, attackerZ, defenderX, defenderZ);
|
|
116
|
+
if (delta === null) {
|
|
117
|
+
return `You can only fight other players in the ${zoneDisplayName('deadlands')}.`;
|
|
118
|
+
}
|
|
119
|
+
if (Math.abs(attackerLevel - defenderLevel) <= delta)
|
|
120
|
+
return null;
|
|
121
|
+
return `You can only attack players within ${delta} levels of you here.`;
|
|
122
|
+
}
|
|
50
123
|
export function isDeadlandsPerimeter(x, z) {
|
|
51
124
|
if (!isDeadlands(x, z))
|
|
52
125
|
return false;
|
|
@@ -88,6 +161,7 @@ function towerHash(x, z, salt) {
|
|
|
88
161
|
n = (n ^ (n >> 13)) * 1274126177;
|
|
89
162
|
return (n ^ (n >> 16)) >>> 0;
|
|
90
163
|
}
|
|
164
|
+
/** Palisade towers only. Interior forest towers put sentries among the trees. */
|
|
91
165
|
export function collectDeadlandsTowerSpots() {
|
|
92
166
|
const spots = [];
|
|
93
167
|
const seen = new Set();
|
|
@@ -128,16 +202,6 @@ export function collectDeadlandsTowerSpots() {
|
|
|
128
202
|
continue;
|
|
129
203
|
push(p.x, p.z);
|
|
130
204
|
}
|
|
131
|
-
for (let z = DEADLANDS_MIN_Z + 4; z <= DEADLANDS_MAX_Z - 4; z += 3) {
|
|
132
|
-
for (let x = DEADLANDS_MIN_X + 4; x <= DEADLANDS_MAX_X - 4; x += 3) {
|
|
133
|
-
const n = towerHash(x, z, 1703);
|
|
134
|
-
if (n % 47 !== 0)
|
|
135
|
-
continue;
|
|
136
|
-
if (tooClose(x, z))
|
|
137
|
-
continue;
|
|
138
|
-
push(x, z);
|
|
139
|
-
}
|
|
140
|
-
}
|
|
141
205
|
return spots;
|
|
142
206
|
}
|
|
143
207
|
//# sourceMappingURL=zones.js.map
|
package/dist/zones.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"zones.js","sourceRoot":"","sources":["../src/zones.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"zones.js","sourceRoot":"","sources":["../src/zones.ts"],"names":[],"mappings":"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"}
|