@dreadwood-types/types 0.1.49 → 0.1.52
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/adventure.d.ts +6 -6
- package/dist/adventure.d.ts.map +1 -1
- package/dist/appearance.d.ts +16 -6
- package/dist/appearance.d.ts.map +1 -1
- package/dist/appearance.js +46 -34
- package/dist/appearance.js.map +1 -1
- package/dist/bank.d.ts.map +1 -1
- package/dist/bearFloes.d.ts +83 -0
- package/dist/bearFloes.d.ts.map +1 -0
- package/dist/bearFloes.js +126 -0
- package/dist/bearFloes.js.map +1 -0
- package/dist/blacksmithing.d.ts.map +1 -1
- package/dist/blacksmithing.js +78 -1
- package/dist/blacksmithing.js.map +1 -1
- package/dist/bloodRiver.d.ts +9 -6
- package/dist/bloodRiver.d.ts.map +1 -1
- package/dist/bloodRiver.js +19 -17
- package/dist/bloodRiver.js.map +1 -1
- package/dist/brokenRoad.d.ts.map +1 -1
- package/dist/capital.d.ts +541 -180
- package/dist/capital.d.ts.map +1 -1
- package/dist/capital.js +934 -184
- package/dist/capital.js.map +1 -1
- package/dist/charcoal.d.ts +43 -0
- package/dist/charcoal.d.ts.map +1 -0
- package/dist/charcoal.js +78 -0
- package/dist/charcoal.js.map +1 -0
- package/dist/clientConfig.d.ts +7 -2
- package/dist/clientConfig.d.ts.map +1 -1
- package/dist/clientConfig.js +13 -3
- package/dist/clientConfig.js.map +1 -1
- package/dist/constants.d.ts +177 -9
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +336 -17
- package/dist/constants.js.map +1 -1
- package/dist/dragonfire.d.ts +75 -0
- package/dist/dragonfire.d.ts.map +1 -0
- package/dist/dragonfire.js +73 -0
- package/dist/dragonfire.js.map +1 -0
- package/dist/dungeonCharts.d.ts +18 -0
- package/dist/dungeonCharts.d.ts.map +1 -0
- package/dist/dungeonCharts.js +67 -0
- package/dist/dungeonCharts.js.map +1 -0
- package/dist/equipment.d.ts +2 -0
- package/dist/equipment.d.ts.map +1 -1
- package/dist/equipment.js +33 -1
- package/dist/equipment.js.map +1 -1
- package/dist/frozenSet.d.ts +36 -0
- package/dist/frozenSet.d.ts.map +1 -0
- package/dist/frozenSet.js +58 -0
- package/dist/frozenSet.js.map +1 -0
- package/dist/goblinCave.d.ts +4 -4
- package/dist/goblinCave.d.ts.map +1 -1
- package/dist/goblinCave.js +1 -1
- package/dist/groundItems.d.ts.map +1 -1
- package/dist/groundItems.js +16 -0
- package/dist/groundItems.js.map +1 -1
- package/dist/harbour.d.ts +60 -24
- package/dist/harbour.d.ts.map +1 -1
- package/dist/harbour.js +84 -50
- package/dist/harbour.js.map +1 -1
- package/dist/iceDepths.d.ts +11 -0
- package/dist/iceDepths.d.ts.map +1 -1
- package/dist/iceDepths.js +14 -0
- package/dist/iceDepths.js.map +1 -1
- package/dist/index.d.ts +7 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7 -0
- package/dist/index.js.map +1 -1
- package/dist/interiorFurniture.d.ts +57 -0
- package/dist/interiorFurniture.d.ts.map +1 -0
- package/dist/interiorFurniture.js +159 -0
- package/dist/interiorFurniture.js.map +1 -0
- package/dist/landmarks.d.ts +77 -58
- package/dist/landmarks.d.ts.map +1 -1
- package/dist/landmarks.js +145 -119
- package/dist/landmarks.js.map +1 -1
- package/dist/messages.d.ts +74 -5
- package/dist/messages.d.ts.map +1 -1
- package/dist/messages.js.map +1 -1
- package/dist/mineCave.d.ts +7 -7
- package/dist/mineCave.d.ts.map +1 -1
- package/dist/mining.d.ts +8 -0
- package/dist/mining.d.ts.map +1 -1
- package/dist/mining.js +8 -0
- package/dist/mining.js.map +1 -1
- package/dist/questGuide.d.ts +30 -0
- package/dist/questGuide.d.ts.map +1 -0
- package/dist/questGuide.js +3 -0
- package/dist/questGuide.js.map +1 -0
- package/dist/quests.d.ts +29 -0
- package/dist/quests.d.ts.map +1 -1
- package/dist/quests.js +70 -0
- package/dist/quests.js.map +1 -1
- package/dist/snow.d.ts +2 -2
- package/dist/snow.d.ts.map +1 -1
- package/dist/snow.js +8 -5
- package/dist/snow.js.map +1 -1
- package/dist/spiderCave.d.ts.map +1 -1
- package/dist/woodwork.d.ts +8 -2
- package/dist/woodwork.d.ts.map +1 -1
- package/dist/woodwork.js +13 -3
- package/dist/woodwork.js.map +1 -1
- package/dist/xp.d.ts +18 -7
- package/dist/xp.d.ts.map +1 -1
- package/dist/xp.js +20 -9
- package/dist/xp.js.map +1 -1
- package/dist/zones.d.ts +5 -0
- package/dist/zones.d.ts.map +1 -1
- package/dist/zones.js +8 -3
- package/dist/zones.js.map +1 -1
- package/package.json +1 -1
package/dist/adventure.d.ts
CHANGED
|
@@ -4,18 +4,18 @@ export type AdventureProgress = {
|
|
|
4
4
|
};
|
|
5
5
|
export declare function normalizeAdventure(raw: unknown): AdventureProgress;
|
|
6
6
|
export declare const CAMP_UPGRADES: readonly [{
|
|
7
|
-
readonly name:
|
|
8
|
-
readonly detail:
|
|
7
|
+
readonly name: "A place to rest";
|
|
8
|
+
readonly detail: "Build a bench and a tidy woodpile beside your repaired storage hut.";
|
|
9
9
|
readonly wood: 10;
|
|
10
10
|
readonly coins: 0;
|
|
11
11
|
}, {
|
|
12
|
-
readonly name:
|
|
13
|
-
readonly detail:
|
|
12
|
+
readonly name: "A place to belong";
|
|
13
|
+
readonly detail: "Add a woven rug, a planter, and a lantern to your camp.";
|
|
14
14
|
readonly wood: 15;
|
|
15
15
|
readonly coins: 25;
|
|
16
16
|
}, {
|
|
17
|
-
readonly name:
|
|
18
|
-
readonly detail:
|
|
17
|
+
readonly name: "A place to remember";
|
|
18
|
+
readonly detail: "Build a trophy stand and raise your explorer banner.";
|
|
19
19
|
readonly wood: 20;
|
|
20
20
|
readonly coins: 50;
|
|
21
21
|
}];
|
package/dist/adventure.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adventure.d.ts","sourceRoot":"","sources":["../src/adventure.ts"],"names":[],"mappings":"AAAA,oEAAoE;AACpE,MAAM,MAAM,iBAAiB,GAAG;IAAE,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC;AACrD,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,OAAO,GAAG,iBAAiB,CAGlE;AACD,eAAO,MAAM,aAAa
|
|
1
|
+
{"version":3,"file":"adventure.d.ts","sourceRoot":"","sources":["../src/adventure.ts"],"names":[],"mappings":"AAAA,oEAAoE;AACpE,MAAM,MAAM,iBAAiB,GAAG;IAAE,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC;AACrD,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,OAAO,GAAG,iBAAiB,CAGlE;AACD,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;EAIhB,CAAC;AACX,MAAM,MAAM,eAAe,GAAG,SAAS,GAAG,cAAc,GAAG,MAAM,GAAG,OAAO,CAAC;AAC5E,MAAM,MAAM,aAAa,GAAG;IAC1B,EAAE,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAC/E,OAAO,CAAC,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,eAAe,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;IAC9E,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AACF,MAAM,MAAM,aAAa,GAAG;IAAE,EAAE,EAAE,MAAM,GAAG,QAAQ,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,aAAa,EAAE,CAAA;CAAE,CAAC;AAC7F,MAAM,MAAM,iBAAiB,GAAG;IAAE,KAAK,EAAE,aAAa,EAAE,CAAC;IAAC,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAA;CAAE,CAAC"}
|
package/dist/appearance.d.ts
CHANGED
|
@@ -7,7 +7,8 @@ export type BodyTypeId = 'slim' | 'average' | 'athletic' | 'stocky';
|
|
|
7
7
|
export declare const BODY_TYPE_IDS: BodyTypeId[];
|
|
8
8
|
export type EyebrowStyleId = 0 | 1;
|
|
9
9
|
export declare const EYEBROW_STYLE_IDS: EyebrowStyleId[];
|
|
10
|
-
|
|
10
|
+
/** Existing clean/full-beard values stay stable for all saved characters. */
|
|
11
|
+
export type FacialHairId = 0 | 1 | 2 | 3 | 4 | 5;
|
|
11
12
|
export declare const FACIAL_HAIR_IDS: FacialHairId[];
|
|
12
13
|
/**
|
|
13
14
|
* Modular outfit worn over the base body. Sex-neutral: the part list for each
|
|
@@ -20,6 +21,14 @@ export declare const FACIAL_HAIR_IDS: FacialHairId[];
|
|
|
20
21
|
export type OutfitId = 'peasant' | 'ranger';
|
|
21
22
|
export declare const OUTFIT_IDS: OutfitId[];
|
|
22
23
|
export declare const OUTFIT_LABELS: Record<OutfitId, string>;
|
|
24
|
+
/**
|
|
25
|
+
* What the free starter look wears below the belt: the concept sheet's
|
|
26
|
+
* cropped trousers, or its wrap skirt (F3 and F5). Optional so the NPC
|
|
27
|
+
* appearance literals stay valid; omitted means trousers.
|
|
28
|
+
*/
|
|
29
|
+
export type LegwearId = 'trousers' | 'skirt';
|
|
30
|
+
export declare const LEGWEAR_IDS: LegwearId[];
|
|
31
|
+
export declare const LEGWEAR_LABELS: Record<LegwearId, string>;
|
|
23
32
|
export type CharacterAppearance = {
|
|
24
33
|
sex: CharacterSex;
|
|
25
34
|
/**
|
|
@@ -28,6 +37,7 @@ export type CharacterAppearance = {
|
|
|
28
37
|
* appearance literals that predate the outfit system.
|
|
29
38
|
*/
|
|
30
39
|
outfit?: OutfitId | null;
|
|
40
|
+
legwear?: LegwearId;
|
|
31
41
|
hairStyle: HairStyleId;
|
|
32
42
|
headPreset: HeadPresetId;
|
|
33
43
|
bodyType: BodyTypeId;
|
|
@@ -48,18 +58,18 @@ export declare const BODY_TYPE_LABELS: Record<BodyTypeId, string>;
|
|
|
48
58
|
export declare const EYEBROW_STYLE_LABELS: Record<EyebrowStyleId, string>;
|
|
49
59
|
export declare const FACIAL_HAIR_LABELS: Record<FacialHairId, string>;
|
|
50
60
|
export declare const HEAD_PRESET_LABELS: Record<HeadPresetId, string>;
|
|
51
|
-
export declare const COLOR_PRESETS: readonly [
|
|
52
|
-
export declare const EYE_COLOR_PRESETS: readonly [
|
|
61
|
+
export declare const COLOR_PRESETS: readonly ["#f6d7c3", "#e8b98a", "#c98a5c", "#8d5524", "#3b2214", "#1a1a1a", "#2b2b2b", "#2c3340", "#dfe7ef", "#1f1812", "#3d6b4f", "#2f4d7a", "#8b3a3a", "#c4a35a", "#c65d2e", "#6b4d8f", "#e8e4dc", "#5a6673", "#2e8b6e", "#7fa8c9", "#a8742f", "#4a2c1a", "#f2c14e", "#c9502e", "#7d6f52", "#5c4a34", "#8a7a5c", "#6b6152"];
|
|
62
|
+
export declare const EYE_COLOR_PRESETS: readonly ["#2a1a10", "#4a2c1a", "#7a5230", "#a8742f", "#3d6b4f", "#2e8b6e", "#3b6ea5", "#7fa8c9", "#5a6673", "#6b4d8f", "#1a1a1a", "#c4a35a"];
|
|
53
63
|
/**
|
|
54
64
|
* Skin runs as an even light-to-dark ramp rather than sharing the generic
|
|
55
65
|
* colour bag - picking a skin tone should feel like moving along a scale, not
|
|
56
66
|
* hunting for the believable entries among greens and purples.
|
|
57
67
|
*/
|
|
58
|
-
export declare const SKIN_TONE_PRESETS: readonly [
|
|
68
|
+
export declare const SKIN_TONE_PRESETS: readonly ["#f7e2d2", "#f2d4bd", "#ebc4a5", "#e0b088", "#d19a6f", "#bf8459", "#a86d45", "#8f5734", "#754427", "#5c341c", "#452614", "#311b0e"];
|
|
59
69
|
/** Natural hair only, ordered fair to black, with greys and reds grouped. */
|
|
60
|
-
export declare const HAIR_COLOR_PRESETS: readonly [
|
|
70
|
+
export declare const HAIR_COLOR_PRESETS: readonly ["#efe3c2", "#e2c684", "#c9a04e", "#b8862f", "#8f5a20", "#6d4320", "#523118", "#3a2211", "#241510", "#12100f", "#c1512a", "#8f3a20", "#b9b3a6", "#e6e3dc"];
|
|
61
71
|
/** Muted, hard-wearing cloth and leather - adventurer kit, not carnival. */
|
|
62
|
-
export declare const CLOTH_COLOR_PRESETS: readonly [
|
|
72
|
+
export declare const CLOTH_COLOR_PRESETS: readonly ["#e8e4dc", "#b9b2a2", "#8a7a5c", "#6b6152", "#5c4a34", "#4a2c1a", "#3b2214", "#2b2b2b", "#1f1812", "#3d6b4f", "#2e6b52", "#4a5a3a", "#2f4d7a", "#3b6ea5", "#5a6673", "#8b3a3a", "#a8452e", "#c4a35a", "#a8742f", "#6b4d8f"];
|
|
63
73
|
export declare const COLOR_PALETTE: readonly ["#e8e4dc", "#b9b2a2", "#8a7a5c", "#6b6152", "#5c4a34", "#4a2c1a", "#3b2214", "#2b2b2b", "#1f1812", "#3d6b4f", "#2e6b52", "#4a5a3a", "#2f4d7a", "#3b6ea5", "#5a6673", "#8b3a3a", "#a8452e", "#c4a35a", "#a8742f", "#6b4d8f"];
|
|
64
74
|
export declare const EYE_COLORS: readonly ["#2a1a10", "#4a2c1a", "#7a5230", "#a8742f", "#3d6b4f", "#2e8b6e", "#3b6ea5", "#7fa8c9", "#5a6673", "#6b4d8f", "#1a1a1a", "#c4a35a"];
|
|
65
75
|
export declare const SKIN_TONES: readonly ["#f7e2d2", "#f2d4bd", "#ebc4a5", "#e0b088", "#d19a6f", "#bf8459", "#a86d45", "#8f5734", "#754427", "#5c341c", "#452614", "#311b0e"];
|
package/dist/appearance.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"appearance.d.ts","sourceRoot":"","sources":["../src/appearance.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,QAAQ,CAAC;AAE7C,MAAM,MAAM,WAAW,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC;AAE1E,eAAO,MAAM,cAAc,EAAE,WAAW,EAA2C,CAAC;AAEpF,MAAM,MAAM,YAAY,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAEzD,eAAO,MAAM,eAAe,EAAE,YAAY,EAA6B,CAAC;AAExE,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,SAAS,GAAG,UAAU,GAAG,QAAQ,CAAC;AAEpE,eAAO,MAAM,aAAa,EAAE,UAAU,EAA8C,CAAC;AAErF,MAAM,MAAM,cAAc,GAAG,CAAC,GAAG,CAAC,CAAC;AAEnC,eAAO,MAAM,iBAAiB,EAAE,cAAc,EAAW,CAAC;AAE1D,MAAM,MAAM,YAAY,GAAG,CAAC,GAAG,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"appearance.d.ts","sourceRoot":"","sources":["../src/appearance.ts"],"names":[],"mappings":"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"}
|
package/dist/appearance.js
CHANGED
|
@@ -2,25 +2,30 @@ export const HAIR_STYLE_IDS = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11];
|
|
|
2
2
|
export const HEAD_PRESET_IDS = [0, 1, 2, 3, 4, 5, 6, 7];
|
|
3
3
|
export const BODY_TYPE_IDS = ['slim', 'average', 'athletic', 'stocky'];
|
|
4
4
|
export const EYEBROW_STYLE_IDS = [0, 1];
|
|
5
|
-
export const FACIAL_HAIR_IDS = [0, 1];
|
|
5
|
+
export const FACIAL_HAIR_IDS = [0, 1, 2, 3, 4, 5];
|
|
6
6
|
export const OUTFIT_IDS = ['peasant', 'ranger'];
|
|
7
7
|
export const OUTFIT_LABELS = {
|
|
8
8
|
peasant: 'Peasant',
|
|
9
9
|
ranger: 'Ranger',
|
|
10
10
|
};
|
|
11
|
+
export const LEGWEAR_IDS = ['trousers', 'skirt'];
|
|
12
|
+
export const LEGWEAR_LABELS = {
|
|
13
|
+
trousers: 'Trousers',
|
|
14
|
+
skirt: 'Wrap skirt',
|
|
15
|
+
};
|
|
11
16
|
export const HAIR_STYLE_LABELS = {
|
|
12
|
-
0: '
|
|
13
|
-
1: '
|
|
17
|
+
0: 'Short',
|
|
18
|
+
1: 'Messy',
|
|
14
19
|
2: 'Long',
|
|
15
|
-
3: '
|
|
16
|
-
4: '
|
|
17
|
-
5: '
|
|
18
|
-
6: '
|
|
19
|
-
7: '
|
|
20
|
-
8: '
|
|
21
|
-
9: '
|
|
20
|
+
3: 'Tied',
|
|
21
|
+
4: 'Shaved',
|
|
22
|
+
5: 'Bald',
|
|
23
|
+
6: 'Bob',
|
|
24
|
+
7: 'Bun',
|
|
25
|
+
8: 'Braids',
|
|
26
|
+
9: 'Long swept',
|
|
22
27
|
10: 'Side part',
|
|
23
|
-
11: '
|
|
28
|
+
11: 'Crop',
|
|
24
29
|
};
|
|
25
30
|
export const BODY_TYPE_LABELS = {
|
|
26
31
|
slim: 'Slim',
|
|
@@ -33,8 +38,12 @@ export const EYEBROW_STYLE_LABELS = {
|
|
|
33
38
|
1: 'Arched',
|
|
34
39
|
};
|
|
35
40
|
export const FACIAL_HAIR_LABELS = {
|
|
36
|
-
0: '
|
|
37
|
-
1: '
|
|
41
|
+
0: 'Clean',
|
|
42
|
+
1: 'Full beard',
|
|
43
|
+
2: 'Stubble',
|
|
44
|
+
3: 'Short beard',
|
|
45
|
+
4: 'Moustache',
|
|
46
|
+
5: 'Goatee',
|
|
38
47
|
};
|
|
39
48
|
export const HEAD_PRESET_LABELS = {
|
|
40
49
|
0: 'Round',
|
|
@@ -223,40 +232,42 @@ export function defaultAppearance(sex = 'male') {
|
|
|
223
232
|
if (sex === 'female') {
|
|
224
233
|
return {
|
|
225
234
|
sex: 'female',
|
|
226
|
-
outfit:
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
235
|
+
outfit: null,
|
|
236
|
+
legwear: 'trousers',
|
|
237
|
+
hairStyle: 3,
|
|
238
|
+
headPreset: 3,
|
|
239
|
+
bodyType: 'average',
|
|
230
240
|
eyebrowStyle: 1,
|
|
231
241
|
facialHair: 0,
|
|
232
|
-
hairColor: '#
|
|
233
|
-
beardColor: '#
|
|
234
|
-
browColor: '#
|
|
235
|
-
topColor: '#
|
|
236
|
-
trousersColor: '#
|
|
237
|
-
skinTone: '#
|
|
238
|
-
bootColor: '#
|
|
239
|
-
handsColor: '#
|
|
240
|
-
eyeColor: '#
|
|
242
|
+
hairColor: '#523118',
|
|
243
|
+
beardColor: '#523118',
|
|
244
|
+
browColor: '#523118',
|
|
245
|
+
topColor: '#696750',
|
|
246
|
+
trousersColor: '#6e5141',
|
|
247
|
+
skinTone: '#d19a6f',
|
|
248
|
+
bootColor: '#65452e',
|
|
249
|
+
handsColor: '#d19a6f',
|
|
250
|
+
eyeColor: '#4a2c1a',
|
|
241
251
|
};
|
|
242
252
|
}
|
|
243
253
|
return {
|
|
244
254
|
sex: 'male',
|
|
245
255
|
outfit: null,
|
|
256
|
+
legwear: 'trousers',
|
|
246
257
|
hairStyle: 0,
|
|
247
|
-
headPreset:
|
|
258
|
+
headPreset: 7,
|
|
248
259
|
bodyType: 'average',
|
|
249
260
|
eyebrowStyle: 0,
|
|
250
261
|
facialHair: 0,
|
|
251
|
-
hairColor: '#
|
|
252
|
-
beardColor: '#
|
|
253
|
-
browColor: '#
|
|
254
|
-
topColor: '#
|
|
255
|
-
trousersColor: '#
|
|
262
|
+
hairColor: '#523118',
|
|
263
|
+
beardColor: '#523118',
|
|
264
|
+
browColor: '#523118',
|
|
265
|
+
topColor: '#b4a188',
|
|
266
|
+
trousersColor: '#4a4841',
|
|
256
267
|
skinTone: '#e0b088',
|
|
257
|
-
bootColor: '#
|
|
268
|
+
bootColor: '#65452e',
|
|
258
269
|
handsColor: '#e0b088',
|
|
259
|
-
eyeColor: '#
|
|
270
|
+
eyeColor: '#4a2c1a',
|
|
260
271
|
};
|
|
261
272
|
}
|
|
262
273
|
export function normalizeAppearance(raw) {
|
|
@@ -295,6 +306,7 @@ export function normalizeAppearance(raw) {
|
|
|
295
306
|
// which would leave players undressed while NPCs (who bypass
|
|
296
307
|
// normalisation) rendered correctly.
|
|
297
308
|
outfit: OUTFIT_IDS.includes(a.outfit) ? a.outfit : null,
|
|
309
|
+
legwear: LEGWEAR_IDS.includes(a.legwear) ? a.legwear : 'trousers',
|
|
298
310
|
hairStyle,
|
|
299
311
|
headPreset,
|
|
300
312
|
bodyType,
|
package/dist/appearance.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"appearance.js","sourceRoot":"","sources":["../src/appearance.ts"],"names":[],"mappings":"AAIA,MAAM,CAAC,MAAM,cAAc,GAAkB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;AAIpF,MAAM,CAAC,MAAM,eAAe,GAAmB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AAIxE,MAAM,CAAC,MAAM,aAAa,GAAiB,CAAC,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;AAIrF,MAAM,CAAC,MAAM,iBAAiB,GAAqB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"appearance.js","sourceRoot":"","sources":["../src/appearance.ts"],"names":[],"mappings":"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"}
|
package/dist/bank.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bank.d.ts","sourceRoot":"","sources":["../src/bank.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAEnD,eAAO,MAAM,cAAc,IAAI,CAAC;AAChC,eAAO,MAAM,kBAAkB,KAAK,CAAC;AACrC,+FAA+F;AAC/F,eAAO,MAAM,aAAa,WAAa,CAAC;AACxC,eAAO,MAAM,gBAAgB,
|
|
1
|
+
{"version":3,"file":"bank.d.ts","sourceRoot":"","sources":["../src/bank.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAEnD,eAAO,MAAM,cAAc,IAAI,CAAC;AAChC,eAAO,MAAM,kBAAkB,KAAK,CAAC;AACrC,+FAA+F;AAC/F,eAAO,MAAM,aAAa,WAAa,CAAC;AACxC,eAAO,MAAM,gBAAgB,yBAA0B,CAAC;AACxD,eAAO,MAAM,UAAU,IAAI,CAAC;AAE5B,MAAM,MAAM,QAAQ,GAAG,aAAa,CAAC;AACrC,MAAM,MAAM,OAAO,GAAG,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC;AAC7C,MAAM,MAAM,SAAS,GAAG;IAAE,IAAI,EAAE,OAAO,EAAE,CAAA;CAAE,CAAC;AAE5C,wBAAgB,YAAY,IAAI,OAAO,CAEtC;AAED,wBAAgB,SAAS,IAAI,SAAS,CAErC;AAED,wBAAgB,aAAa,CAAC,GAAG,EAAE,OAAO,GAAG,SAAS,CA0BrD"}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
export declare const BEAR_FLOES_MIN_X = 126;
|
|
2
|
+
export declare const BEAR_FLOES_MAX_X = 214;
|
|
3
|
+
/** The row the old north coast ran along; the headland reaches north from it. */
|
|
4
|
+
export declare const BEAR_FLOES_OLD_COAST_Z: number;
|
|
5
|
+
/** The first land row at column x (the coast); Infinity outside the headland. */
|
|
6
|
+
export declare function bearFloesCoastZ(x: number): number;
|
|
7
|
+
/** On the headland: north of the old coast, south of the new one. */
|
|
8
|
+
export declare function inBearFloesLand(x: number, z: number): boolean;
|
|
9
|
+
/**
|
|
10
|
+
* The beaches the floes come ashore on, each with the open-sea tile its ride
|
|
11
|
+
* starts from. The ride runs straight from `from` until the first tile a bear
|
|
12
|
+
* can stand on, which is the landing (the shore ice at the third beach).
|
|
13
|
+
*/
|
|
14
|
+
export declare const BEAR_FLOES_LANDINGS: ReadonlyArray<{
|
|
15
|
+
x: number;
|
|
16
|
+
z: number;
|
|
17
|
+
fromX: number;
|
|
18
|
+
fromZ: number;
|
|
19
|
+
}>;
|
|
20
|
+
/** Shore ice at the third beach: the floes dock at its edge and the bears walk in. */
|
|
21
|
+
export declare const BEAR_FLOES_SHORE_ICE: {
|
|
22
|
+
readonly x: 182;
|
|
23
|
+
readonly z: 25;
|
|
24
|
+
readonly rx: 8;
|
|
25
|
+
readonly rz: 4;
|
|
26
|
+
};
|
|
27
|
+
export declare function onBearFloesShoreIce(x: number, z: number): boolean;
|
|
28
|
+
/** The abandoned hunters' camp, looking out over the beaches. */
|
|
29
|
+
export declare const BEAR_FLOES_CAMP: {
|
|
30
|
+
readonly x: 170;
|
|
31
|
+
readonly z: 45;
|
|
32
|
+
};
|
|
33
|
+
/** The camp's palisade runs along its landward side, the gate where the path goes through. */
|
|
34
|
+
export declare const BEAR_FLOES_GATE: {
|
|
35
|
+
readonly x: 171;
|
|
36
|
+
readonly z: 53;
|
|
37
|
+
};
|
|
38
|
+
/** The warning sign where the path comes in over the old coast. */
|
|
39
|
+
export declare const BEAR_FLOES_SIGN: {
|
|
40
|
+
readonly x: 178;
|
|
41
|
+
readonly z: number;
|
|
42
|
+
};
|
|
43
|
+
export declare const BEAR_FLOES_SIGN_TEXT = "DANGER LARGE BEASTS SEEN HERE";
|
|
44
|
+
/** The path: the camp gate, south over the old coast, to the thaw's west rim trail. */
|
|
45
|
+
export declare const BEAR_FLOES_PATH: ReadonlyArray<{
|
|
46
|
+
x: number;
|
|
47
|
+
z: number;
|
|
48
|
+
}>;
|
|
49
|
+
export type BearFloesBearKind = 'polarbear' | 'polarbearelder' | 'polarbearalpha';
|
|
50
|
+
/**
|
|
51
|
+
* The bears, each with its home ground (where it roams once ashore) and the
|
|
52
|
+
* beach its floe brings it in to. Two of the Standards are still out on the
|
|
53
|
+
* ice when the world starts, so a bear is always coming in.
|
|
54
|
+
*/
|
|
55
|
+
export declare const BEAR_FLOES_BEARS: ReadonlyArray<{
|
|
56
|
+
kind: BearFloesBearKind;
|
|
57
|
+
x: number;
|
|
58
|
+
z: number;
|
|
59
|
+
landing: number;
|
|
60
|
+
atSea?: boolean;
|
|
61
|
+
}>;
|
|
62
|
+
/**
|
|
63
|
+
* A bear's own lane in from the sea: its beach's line, moved sideways when
|
|
64
|
+
* two bears share the beach, so they come in side by side on two floes and
|
|
65
|
+
* not stacked on one (they all go out at once on an admin's /floes).
|
|
66
|
+
*/
|
|
67
|
+
export declare function bearFloesLane(index: number): {
|
|
68
|
+
x: number;
|
|
69
|
+
z: number;
|
|
70
|
+
fromX: number;
|
|
71
|
+
fromZ: number;
|
|
72
|
+
};
|
|
73
|
+
/** The ground the bears keep to: they never chase anyone off it. */
|
|
74
|
+
export declare const BEAR_FLOES_ZONE: {
|
|
75
|
+
readonly minX: 118;
|
|
76
|
+
readonly maxX: 222;
|
|
77
|
+
readonly minZ: 0;
|
|
78
|
+
readonly maxZ: number;
|
|
79
|
+
};
|
|
80
|
+
export declare function inBearFloesZone(x: number, z: number): boolean;
|
|
81
|
+
/** How fast a floe drifts in, tiles a second. */
|
|
82
|
+
export declare const BEAR_FLOE_SPEED = 0.75;
|
|
83
|
+
//# sourceMappingURL=bearFloes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bearFloes.d.ts","sourceRoot":"","sources":["../src/bearFloes.ts"],"names":[],"mappings":"AAgBA,eAAO,MAAM,gBAAgB,MAAM,CAAC;AACpC,eAAO,MAAM,gBAAgB,MAAM,CAAC;AACpC,iFAAiF;AACjF,eAAO,MAAM,sBAAsB,QAAkB,CAAC;AAkBtD,iFAAiF;AACjF,wBAAgB,eAAe,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAYjD;AAED,qEAAqE;AACrE,wBAAgB,eAAe,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAE7D;AAED;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,EAAE,aAAa,CAAC;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAKrG,CAAC;AAEF,sFAAsF;AACtF,eAAO,MAAM,oBAAoB;;;;;CAA2C,CAAC;AAE7E,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAIjE;AAED,iEAAiE;AACjE,eAAO,MAAM,eAAe;;;CAA6B,CAAC;AAC1D,8FAA8F;AAC9F,eAAO,MAAM,eAAe;;;CAA6B,CAAC;AAC1D,mEAAmE;AACnE,eAAO,MAAM,eAAe;;;CAA0C,CAAC;AACvE,eAAO,MAAM,oBAAoB,kCAAkC,CAAC;AAEpE,uFAAuF;AACvF,eAAO,MAAM,eAAe,EAAE,aAAa,CAAC;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,CASnE,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG,WAAW,GAAG,gBAAgB,GAAG,gBAAgB,CAAC;AAElF;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,EAAE,aAAa,CAAC;IAAE,IAAI,EAAE,iBAAiB,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,CAQ/H,CAAC;AAKF;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAOnG;AAED,oEAAoE;AACpE,eAAO,MAAM,eAAe;;;;;CAAgF,CAAC;AAE7G,wBAAgB,eAAe,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAG7D;AAED,iDAAiD;AACjD,eAAO,MAAM,eAAe,OAAO,CAAC"}
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The Bear Floes (2026-09-25): a coast at the north-east end of the ice, on the
|
|
3
|
+
* rows the map grew north for it (NORTH_SHIFT). James's Frozen Shore sheet
|
|
4
|
+
* (design-references/frozen-shore): polar bears ride the ice floes in from the
|
|
5
|
+
* frozen sea and come ashore on a snowy coast; an abandoned hunters' camp with
|
|
6
|
+
* a wrecked boat, a red banner on a dead tree, crates and a palisade with an
|
|
7
|
+
* antler skull; a sign warning of large beasts; cliffs, dead trees and pines;
|
|
8
|
+
* and the path back into the Dreadwoods. ("The Frozen Shore" is already the
|
|
9
|
+
* west coast by Branson's Landing and the port on the sailing chart, so the
|
|
10
|
+
* place is named for what is there.)
|
|
11
|
+
*
|
|
12
|
+
* All world tiles. The land is a headland north of the old coast line between
|
|
13
|
+
* BEAR_FLOES_MIN_X and BEAR_FLOES_MAX_X; north of it is open sea to the edge.
|
|
14
|
+
*/
|
|
15
|
+
import { NORTH_SHIFT } from './constants.js';
|
|
16
|
+
export const BEAR_FLOES_MIN_X = 126;
|
|
17
|
+
export const BEAR_FLOES_MAX_X = 214;
|
|
18
|
+
/** The row the old north coast ran along; the headland reaches north from it. */
|
|
19
|
+
export const BEAR_FLOES_OLD_COAST_Z = NORTH_SHIFT + 3;
|
|
20
|
+
/**
|
|
21
|
+
* The coast, west to east: the land's north edge at each column. It swings
|
|
22
|
+
* out to the beaches and back in to the cliffs between them.
|
|
23
|
+
*/
|
|
24
|
+
const COAST = [
|
|
25
|
+
[126, 67], [130, 56], [134, 46], [139, 38], [146, 32], [152, 30], [158, 31], [164, 29],
|
|
26
|
+
[170, 31], [176, 29], [182, 27], [188, 29], [194, 30], [200, 34], [205, 42], [209, 52],
|
|
27
|
+
[212, 61], [214, 67],
|
|
28
|
+
];
|
|
29
|
+
function coastHash(x) {
|
|
30
|
+
let h = Math.imul(x + 911, 0x27d4eb2d) ^ 0x165667b1;
|
|
31
|
+
h = Math.imul(h ^ (h >>> 15), 0x85ebca6b);
|
|
32
|
+
return ((h ^ (h >>> 13)) >>> 0) / 0xffffffff;
|
|
33
|
+
}
|
|
34
|
+
/** The first land row at column x (the coast); Infinity outside the headland. */
|
|
35
|
+
export function bearFloesCoastZ(x) {
|
|
36
|
+
if (x < BEAR_FLOES_MIN_X || x > BEAR_FLOES_MAX_X)
|
|
37
|
+
return Infinity;
|
|
38
|
+
for (let i = 0; i < COAST.length - 1; i++) {
|
|
39
|
+
const [x0, z0] = COAST[i];
|
|
40
|
+
const [x1, z1] = COAST[i + 1];
|
|
41
|
+
if (x >= x0 && x <= x1) {
|
|
42
|
+
const t = x1 === x0 ? 0 : (x - x0) / (x1 - x0);
|
|
43
|
+
// A tile's worth of wobble so the coast is not a ruled line.
|
|
44
|
+
return Math.round(z0 + (z1 - z0) * t + (coastHash(x) - 0.5) * 1.6);
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
return Infinity;
|
|
48
|
+
}
|
|
49
|
+
/** On the headland: north of the old coast, south of the new one. */
|
|
50
|
+
export function inBearFloesLand(x, z) {
|
|
51
|
+
return z >= bearFloesCoastZ(x) && z < BEAR_FLOES_OLD_COAST_Z + 4;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* The beaches the floes come ashore on, each with the open-sea tile its ride
|
|
55
|
+
* starts from. The ride runs straight from `from` until the first tile a bear
|
|
56
|
+
* can stand on, which is the landing (the shore ice at the third beach).
|
|
57
|
+
*/
|
|
58
|
+
export const BEAR_FLOES_LANDINGS = [
|
|
59
|
+
{ x: 149, z: 31, fromX: 141, fromZ: 5 },
|
|
60
|
+
{ x: 164, z: 29, fromX: 160, fromZ: 4 },
|
|
61
|
+
{ x: 182, z: 23, fromX: 188, fromZ: 3 },
|
|
62
|
+
{ x: 196, z: 30, fromX: 205, fromZ: 6 },
|
|
63
|
+
];
|
|
64
|
+
/** Shore ice at the third beach: the floes dock at its edge and the bears walk in. */
|
|
65
|
+
export const BEAR_FLOES_SHORE_ICE = { x: 182, z: 25, rx: 8, rz: 4 };
|
|
66
|
+
export function onBearFloesShoreIce(x, z) {
|
|
67
|
+
const dx = (x - BEAR_FLOES_SHORE_ICE.x) / BEAR_FLOES_SHORE_ICE.rx;
|
|
68
|
+
const dz = (z - BEAR_FLOES_SHORE_ICE.z) / BEAR_FLOES_SHORE_ICE.rz;
|
|
69
|
+
return dx * dx + dz * dz <= 1 && z < bearFloesCoastZ(x);
|
|
70
|
+
}
|
|
71
|
+
/** The abandoned hunters' camp, looking out over the beaches. */
|
|
72
|
+
export const BEAR_FLOES_CAMP = { x: 170, z: 45 };
|
|
73
|
+
/** The camp's palisade runs along its landward side, the gate where the path goes through. */
|
|
74
|
+
export const BEAR_FLOES_GATE = { x: 171, z: 53 };
|
|
75
|
+
/** The warning sign where the path comes in over the old coast. */
|
|
76
|
+
export const BEAR_FLOES_SIGN = { x: 178, z: NORTH_SHIFT + 1 };
|
|
77
|
+
export const BEAR_FLOES_SIGN_TEXT = 'DANGER LARGE BEASTS SEEN HERE';
|
|
78
|
+
/** The path: the camp gate, south over the old coast, to the thaw's west rim trail. */
|
|
79
|
+
export const BEAR_FLOES_PATH = [
|
|
80
|
+
{ x: BEAR_FLOES_GATE.x, z: BEAR_FLOES_GATE.z },
|
|
81
|
+
{ x: 174, z: 60 },
|
|
82
|
+
{ x: 178, z: NORTH_SHIFT + 3 },
|
|
83
|
+
{ x: 186, z: NORTH_SHIFT + 10 },
|
|
84
|
+
{ x: 199, z: NORTH_SHIFT + 16 },
|
|
85
|
+
{ x: 213, z: NORTH_SHIFT + 22 },
|
|
86
|
+
{ x: 224, z: NORTH_SHIFT + 27 },
|
|
87
|
+
{ x: 231, z: NORTH_SHIFT + 30 },
|
|
88
|
+
];
|
|
89
|
+
/**
|
|
90
|
+
* The bears, each with its home ground (where it roams once ashore) and the
|
|
91
|
+
* beach its floe brings it in to. Two of the Standards are still out on the
|
|
92
|
+
* ice when the world starts, so a bear is always coming in.
|
|
93
|
+
*/
|
|
94
|
+
export const BEAR_FLOES_BEARS = [
|
|
95
|
+
{ kind: 'polarbear', x: 151, z: 37, landing: 0 },
|
|
96
|
+
{ kind: 'polarbear', x: 165, z: 35, landing: 1, atSea: true },
|
|
97
|
+
{ kind: 'polarbear', x: 184, z: 33, landing: 2 },
|
|
98
|
+
{ kind: 'polarbear', x: 196, z: 37, landing: 3, atSea: true },
|
|
99
|
+
{ kind: 'polarbearelder', x: 141, z: 45, landing: 0 },
|
|
100
|
+
{ kind: 'polarbearelder', x: 203, z: 46, landing: 3 },
|
|
101
|
+
{ kind: 'polarbearalpha', x: 176, z: 57, landing: 2 },
|
|
102
|
+
];
|
|
103
|
+
/** Tiles between the lanes of two bears that come in to the same beach. */
|
|
104
|
+
const LANE_SPACING = 5;
|
|
105
|
+
/**
|
|
106
|
+
* A bear's own lane in from the sea: its beach's line, moved sideways when
|
|
107
|
+
* two bears share the beach, so they come in side by side on two floes and
|
|
108
|
+
* not stacked on one (they all go out at once on an admin's /floes).
|
|
109
|
+
*/
|
|
110
|
+
export function bearFloesLane(index) {
|
|
111
|
+
const bear = BEAR_FLOES_BEARS[index];
|
|
112
|
+
const landing = BEAR_FLOES_LANDINGS[bear.landing];
|
|
113
|
+
const sharing = BEAR_FLOES_BEARS.filter((b) => b.landing === bear.landing).length;
|
|
114
|
+
const lane = BEAR_FLOES_BEARS.slice(0, index).filter((b) => b.landing === bear.landing).length;
|
|
115
|
+
const dx = Math.round((lane - (sharing - 1) / 2) * LANE_SPACING);
|
|
116
|
+
return { x: landing.x + dx, z: landing.z, fromX: landing.fromX + dx, fromZ: landing.fromZ };
|
|
117
|
+
}
|
|
118
|
+
/** The ground the bears keep to: they never chase anyone off it. */
|
|
119
|
+
export const BEAR_FLOES_ZONE = { minX: 118, maxX: 222, minZ: 0, maxZ: BEAR_FLOES_OLD_COAST_Z + 10 };
|
|
120
|
+
export function inBearFloesZone(x, z) {
|
|
121
|
+
const zone = BEAR_FLOES_ZONE;
|
|
122
|
+
return x >= zone.minX && x <= zone.maxX && z >= zone.minZ && z <= zone.maxZ;
|
|
123
|
+
}
|
|
124
|
+
/** How fast a floe drifts in, tiles a second. */
|
|
125
|
+
export const BEAR_FLOE_SPEED = 0.75;
|
|
126
|
+
//# sourceMappingURL=bearFloes.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bearFloes.js","sourceRoot":"","sources":["../src/bearFloes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAG,CAAC;AACpC,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAG,CAAC;AACpC,iFAAiF;AACjF,MAAM,CAAC,MAAM,sBAAsB,GAAG,WAAW,GAAG,CAAC,CAAC;AAEtD;;;GAGG;AACH,MAAM,KAAK,GAA6C;IACtD,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC;IACtF,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC;IACtF,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC;CACrB,CAAC;AAEF,SAAS,SAAS,CAAC,CAAS;IAC1B,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,GAAG,EAAE,UAAU,CAAC,GAAG,UAAU,CAAC;IACpD,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,UAAU,CAAC,CAAC;IAC1C,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,UAAU,CAAC;AAC/C,CAAC;AAED,iFAAiF;AACjF,MAAM,UAAU,eAAe,CAAC,CAAS;IACvC,IAAI,CAAC,GAAG,gBAAgB,IAAI,CAAC,GAAG,gBAAgB;QAAE,OAAO,QAAQ,CAAC;IAClE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC1C,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,CAAE,CAAC;QAC3B,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,CAAE,CAAC;QAC/B,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;YACvB,MAAM,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;YAC/C,6DAA6D;YAC7D,OAAO,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC;QACrE,CAAC;IACH,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,qEAAqE;AACrE,MAAM,UAAU,eAAe,CAAC,CAAS,EAAE,CAAS;IAClD,OAAO,CAAC,IAAI,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,sBAAsB,GAAG,CAAC,CAAC;AACnE,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAA0E;IACxG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE;IACvC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE;IACvC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE;IACvC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE;CACxC,CAAC;AAEF,sFAAsF;AACtF,MAAM,CAAC,MAAM,oBAAoB,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAW,CAAC;AAE7E,MAAM,UAAU,mBAAmB,CAAC,CAAS,EAAE,CAAS;IACtD,MAAM,EAAE,GAAG,CAAC,CAAC,GAAG,oBAAoB,CAAC,CAAC,CAAC,GAAG,oBAAoB,CAAC,EAAE,CAAC;IAClE,MAAM,EAAE,GAAG,CAAC,CAAC,GAAG,oBAAoB,CAAC,CAAC,CAAC,GAAG,oBAAoB,CAAC,EAAE,CAAC;IAClE,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;AAC1D,CAAC;AAED,iEAAiE;AACjE,MAAM,CAAC,MAAM,eAAe,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAW,CAAC;AAC1D,8FAA8F;AAC9F,MAAM,CAAC,MAAM,eAAe,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAW,CAAC;AAC1D,mEAAmE;AACnE,MAAM,CAAC,MAAM,eAAe,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,WAAW,GAAG,CAAC,EAAW,CAAC;AACvE,MAAM,CAAC,MAAM,oBAAoB,GAAG,+BAA+B,CAAC;AAEpE,uFAAuF;AACvF,MAAM,CAAC,MAAM,eAAe,GAA4C;IACtE,EAAE,CAAC,EAAE,eAAe,CAAC,CAAC,EAAE,CAAC,EAAE,eAAe,CAAC,CAAC,EAAE;IAC9C,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE;IACjB,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,WAAW,GAAG,CAAC,EAAE;IAC9B,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,WAAW,GAAG,EAAE,EAAE;IAC/B,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,WAAW,GAAG,EAAE,EAAE;IAC/B,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,WAAW,GAAG,EAAE,EAAE;IAC/B,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,WAAW,GAAG,EAAE,EAAE;IAC/B,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,WAAW,GAAG,EAAE,EAAE;CAChC,CAAC;AAIF;;;;GAIG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAuG;IAClI,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE;IAChD,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE;IAC7D,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE;IAChD,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE;IAC7D,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE;IACrD,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE;IACrD,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE;CACtD,CAAC;AAEF,2EAA2E;AAC3E,MAAM,YAAY,GAAG,CAAC,CAAC;AAEvB;;;;GAIG;AACH,MAAM,UAAU,aAAa,CAAC,KAAa;IACzC,MAAM,IAAI,GAAG,gBAAgB,CAAC,KAAK,CAAE,CAAC;IACtC,MAAM,OAAO,GAAG,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAE,CAAC;IACnD,MAAM,OAAO,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC;IAClF,MAAM,IAAI,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC;IAC/F,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,GAAG,CAAC,OAAO,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC;IACjE,OAAO,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,GAAG,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC;AAC9F,CAAC;AAED,oEAAoE;AACpE,MAAM,CAAC,MAAM,eAAe,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,sBAAsB,GAAG,EAAE,EAAW,CAAC;AAE7G,MAAM,UAAU,eAAe,CAAC,CAAS,EAAE,CAAS;IAClD,MAAM,IAAI,GAAG,eAAe,CAAC;IAC7B,OAAO,CAAC,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC;AAC9E,CAAC;AAED,iDAAiD;AACjD,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"blacksmithing.d.ts","sourceRoot":"","sources":["../src/blacksmithing.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,eAAO,MAAM,UAAU,UAAU,CAAC;AAClC,eAAO,MAAM,YAAY,YAAY,CAAC;AACtC,eAAO,MAAM,yBAAyB,wBAAwB,CAAC;AAC/D,eAAO,MAAM,wBAAwB,uBAAuB,CAAC;AAC7D,4EAA4E;AAC5E,eAAO,MAAM,uBAAuB,QAAQ,CAAC;AAE7C,eAAO,MAAM,oBAAoB,cAAc,CAAC;AAChD,eAAO,MAAM,kBAAkB,YAAY,CAAC;AAE5C,eAAO,MAAM,gBAAgB,IAAI,CAAC;AAElC;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB,IAAI,CAAC;AACtC,eAAO,MAAM,0BAA0B,OAAO,CAAC;AAC/C,eAAO,MAAM,iBAAiB,IAAI,CAAC;AACnC,eAAO,MAAM,wBAAwB,KAAK,CAAC;AAE3C,wGAAwG;AACxG,eAAO,MAAM,mBAAmB,IAAI,CAAC;AACrC,eAAO,MAAM,yBAAyB,QAAiB,CAAC;AACxD,eAAO,MAAM,kBAAkB,QAAiB,CAAC;AACjD,eAAO,MAAM,wBAAwB,IAAI,CAAC;AAC1C,eAAO,MAAM,sBAAsB,OAAO,CAAC;AAE3C,MAAM,MAAM,iBAAiB,GAAG,OAAO,GAAG,SAAS,CAAC;AACpD,MAAM,MAAM,kBAAkB,GAAG,UAAU,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAC;AAE1E,MAAM,MAAM,gBAAgB,GAAG;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,iBAAiB,CAAC;IAC3B,QAAQ,EAAE,kBAAkB,CAAC;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,aAAa,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACzD,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,SAAS,gBAAgB,
|
|
1
|
+
{"version":3,"file":"blacksmithing.d.ts","sourceRoot":"","sources":["../src/blacksmithing.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,eAAO,MAAM,UAAU,UAAU,CAAC;AAClC,eAAO,MAAM,YAAY,YAAY,CAAC;AACtC,eAAO,MAAM,yBAAyB,wBAAwB,CAAC;AAC/D,eAAO,MAAM,wBAAwB,uBAAuB,CAAC;AAC7D,4EAA4E;AAC5E,eAAO,MAAM,uBAAuB,QAAQ,CAAC;AAE7C,eAAO,MAAM,oBAAoB,cAAc,CAAC;AAChD,eAAO,MAAM,kBAAkB,YAAY,CAAC;AAE5C,eAAO,MAAM,gBAAgB,IAAI,CAAC;AAElC;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB,IAAI,CAAC;AACtC,eAAO,MAAM,0BAA0B,OAAO,CAAC;AAC/C,eAAO,MAAM,iBAAiB,IAAI,CAAC;AACnC,eAAO,MAAM,wBAAwB,KAAK,CAAC;AAE3C,wGAAwG;AACxG,eAAO,MAAM,mBAAmB,IAAI,CAAC;AACrC,eAAO,MAAM,yBAAyB,QAAiB,CAAC;AACxD,eAAO,MAAM,kBAAkB,QAAiB,CAAC;AACjD,eAAO,MAAM,wBAAwB,IAAI,CAAC;AAC1C,eAAO,MAAM,sBAAsB,OAAO,CAAC;AAE3C,MAAM,MAAM,iBAAiB,GAAG,OAAO,GAAG,SAAS,CAAC;AACpD,MAAM,MAAM,kBAAkB,GAAG,UAAU,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAC;AAE1E,MAAM,MAAM,gBAAgB,GAAG;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,iBAAiB,CAAC;IAC3B,QAAQ,EAAE,kBAAkB,CAAC;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,aAAa,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACzD,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,SAAS,gBAAgB,EAudzD,CAAC;AAEF,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,MAAM,GAAG,gBAAgB,GAAG,IAAI,CAEpE;AAED,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,iBAAiB,GAAG,gBAAgB,EAAE,CAE1F"}
|