@archivist-gg/dnd5e 0.3.4 → 0.3.6
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/background/background.codec.js +5 -5
- package/dist/background/background.parser.js +4 -4
- package/dist/background/background.schema.js +3 -3
- package/dist/{chunk-FDBWYMZK.js → chunk-2BI5NAXK.js} +2 -2
- package/dist/{chunk-COEOOQX2.js → chunk-3BMVVNCS.js} +1 -1
- package/dist/{chunk-LMBAEIP6.js → chunk-3PZHBLFG.js} +1 -1
- package/dist/{chunk-UXPGW4TI.js → chunk-4ISR76DH.js} +5 -0
- package/dist/{chunk-JRDPUDT5.js → chunk-63XQXPZL.js} +1 -1
- package/dist/{chunk-XGOFP7AQ.js → chunk-7MRW4RTH.js} +1 -1
- package/dist/{chunk-ZONJ66NE.js → chunk-7WNQJAZW.js} +20 -3
- package/dist/{chunk-6PKV5V2H.js → chunk-A6YL53NC.js} +1 -1
- package/dist/{chunk-HB7XZXDK.js → chunk-ABQ6ZWAF.js} +1 -1
- package/dist/{chunk-R3VAKWKW.js → chunk-B4TQTJVC.js} +1 -1
- package/dist/{chunk-RIXI5D3R.js → chunk-BJFL4KYG.js} +3 -3
- package/dist/{chunk-US5IKYCW.js → chunk-BS355LND.js} +1 -1
- package/dist/{chunk-XBQMCEI2.js → chunk-CQAL67R3.js} +1 -1
- package/dist/{chunk-YJJTISBN.js → chunk-DTCR4DBF.js} +3 -3
- package/dist/{chunk-I2NDWFDD.js → chunk-E4KG7HXO.js} +9 -0
- package/dist/{chunk-XQCSGNXE.js → chunk-EYZCCWG2.js} +51 -2
- package/dist/{chunk-5U5FFFA3.js → chunk-H4VEMVOO.js} +1 -1
- package/dist/{chunk-T26ZVCL5.js → chunk-IWRVOCT5.js} +1 -1
- package/dist/{chunk-ESS46GR4.js → chunk-JKLRBILX.js} +1 -1
- package/dist/{chunk-4FWNK4FD.js → chunk-JOVMV2X5.js} +3 -3
- package/dist/{chunk-JJ46T5XX.js → chunk-KPEJMNRD.js} +5 -0
- package/dist/{chunk-H7KBLR4X.js → chunk-MT4RWROQ.js} +2 -2
- package/dist/{chunk-IMZFOOVL.js → chunk-MYW7AOUE.js} +1 -1
- package/dist/{chunk-5XMQPTHD.js → chunk-NNAQ4KQF.js} +1 -1
- package/dist/{chunk-D5U7GMPX.js → chunk-RWZTGMSN.js} +1 -1
- package/dist/{chunk-YLL2QXY2.js → chunk-UA3I2YSO.js} +4 -0
- package/dist/{chunk-HJ5EEZ47.js → chunk-ULCQ73LA.js} +1 -1
- package/dist/{chunk-OSQFPGLM.js → chunk-V373TRJE.js} +4 -2
- package/dist/{chunk-WPWOHGPI.js → chunk-X3D6LXUU.js} +13 -0
- package/dist/class/class.codec.js +7 -7
- package/dist/class/class.parser.js +6 -6
- package/dist/class/class.schema.d.ts +5 -0
- package/dist/class/class.schema.js +5 -5
- package/dist/feat/feat.codec.js +6 -6
- package/dist/feat/feat.parser.js +5 -5
- package/dist/feat/feat.schema.d.ts +14 -0
- package/dist/feat/feat.schema.js +4 -4
- package/dist/index.js +24 -24
- package/dist/monster/monster.parser.js +6 -6
- package/dist/monster/monster.schema.js +5 -5
- package/dist/optional-feature/optional-feature.codec.js +5 -5
- package/dist/optional-feature/optional-feature.parser.js +4 -4
- package/dist/optional-feature/optional-feature.schema.d.ts +32 -0
- package/dist/optional-feature/optional-feature.schema.js +3 -3
- package/dist/pc/pc.decision-engine.js +3 -3
- package/dist/pc/pc.equipment.d.ts +1 -1
- package/dist/pc/pc.equipment.js +1 -1
- package/dist/pc/pc.feature-effects.d.ts +9 -0
- package/dist/pc/pc.feature-effects.js +1 -1
- package/dist/pc/pc.parser.js +1 -1
- package/dist/pc/pc.proficiencies.js +3 -3
- package/dist/pc/pc.recalc.js +6 -6
- package/dist/pc/pc.resolver.d.ts +14 -0
- package/dist/pc/pc.resolver.js +5 -3
- package/dist/pc/pc.resource-seed.js +1 -1
- package/dist/pc/pc.resources.d.ts +6 -0
- package/dist/pc/pc.resources.js +1 -1
- package/dist/pc/pc.rest.js +1 -1
- package/dist/pc/pc.schema.d.ts +1 -0
- package/dist/pc/pc.schema.js +1 -1
- package/dist/pc/pc.types.d.ts +8 -0
- package/dist/race/race.codec.js +7 -7
- package/dist/race/race.parser.js +6 -6
- package/dist/race/race.schema.js +5 -5
- package/dist/schemas/choice-schema.js +2 -2
- package/dist/schemas/feature-effect-schema.d.ts +9 -0
- package/dist/schemas/feature-effect-schema.js +1 -1
- package/dist/schemas/feature-schema.js +4 -4
- package/dist/schemas/resource-schema.d.ts +5 -0
- package/dist/schemas/resource-schema.js +1 -1
- package/dist/subclass/subclass.codec.js +7 -7
- package/dist/subclass/subclass.parser.js +6 -6
- package/dist/subclass/subclass.schema.d.ts +5 -0
- package/dist/subclass/subclass.schema.js +5 -5
- package/dist/types/feature-effect.d.ts +7 -0
- package/dist/types/optional-feature.types.d.ts +2 -0
- package/dist/types/resource.d.ts +5 -0
- package/package.json +1 -1
package/dist/feat/feat.parser.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import {
|
|
2
2
|
parseFeat
|
|
3
|
-
} from "../chunk-
|
|
4
|
-
import "../chunk-
|
|
5
|
-
import "../chunk-
|
|
6
|
-
import "../chunk-
|
|
7
|
-
import "../chunk-
|
|
3
|
+
} from "../chunk-RWZTGMSN.js";
|
|
4
|
+
import "../chunk-BJFL4KYG.js";
|
|
5
|
+
import "../chunk-UA3I2YSO.js";
|
|
6
|
+
import "../chunk-IWRVOCT5.js";
|
|
7
|
+
import "../chunk-X3D6LXUU.js";
|
|
8
8
|
import "../chunk-UA5KS2PL.js";
|
|
9
9
|
export {
|
|
10
10
|
parseFeat
|
|
@@ -106,6 +106,15 @@ export declare const featEntitySchema: z.ZodObject<{
|
|
|
106
106
|
}, z.core.$strip>>>;
|
|
107
107
|
condition: z.ZodOptional<z.ZodString>;
|
|
108
108
|
subject: z.ZodOptional<z.ZodString>;
|
|
109
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
110
|
+
kind: z.ZodLiteral<"attunement-limit">;
|
|
111
|
+
value: z.ZodNumber;
|
|
112
|
+
scales_at: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
113
|
+
level: z.ZodNumber;
|
|
114
|
+
value: z.ZodNumber;
|
|
115
|
+
}, z.core.$strip>>>;
|
|
116
|
+
condition: z.ZodOptional<z.ZodString>;
|
|
117
|
+
subject: z.ZodOptional<z.ZodString>;
|
|
109
118
|
}, z.core.$strip>, z.ZodObject<{
|
|
110
119
|
kind: z.ZodLiteral<"sense">;
|
|
111
120
|
type: z.ZodEnum<{
|
|
@@ -385,6 +394,11 @@ export declare const featEntitySchema: z.ZodObject<{
|
|
|
385
394
|
resource: z.ZodString;
|
|
386
395
|
amount: z.ZodNumber;
|
|
387
396
|
}, z.core.$strip>>;
|
|
397
|
+
rendering_hint: z.ZodOptional<z.ZodString>;
|
|
398
|
+
surface: z.ZodOptional<z.ZodEnum<{
|
|
399
|
+
band: "band";
|
|
400
|
+
tab: "tab";
|
|
401
|
+
}>>;
|
|
388
402
|
recovery: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
389
403
|
id: z.ZodString;
|
|
390
404
|
name: z.ZodString;
|
package/dist/feat/feat.schema.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import {
|
|
2
2
|
featEntitySchema
|
|
3
|
-
} from "../chunk-
|
|
4
|
-
import "../chunk-
|
|
5
|
-
import "../chunk-
|
|
6
|
-
import "../chunk-
|
|
3
|
+
} from "../chunk-BJFL4KYG.js";
|
|
4
|
+
import "../chunk-UA3I2YSO.js";
|
|
5
|
+
import "../chunk-IWRVOCT5.js";
|
|
6
|
+
import "../chunk-X3D6LXUU.js";
|
|
7
7
|
import "../chunk-UA5KS2PL.js";
|
|
8
8
|
export {
|
|
9
9
|
featEntitySchema
|
package/dist/index.js
CHANGED
|
@@ -5,9 +5,9 @@ import "./chunk-HZA7OE7N.js";
|
|
|
5
5
|
import "./chunk-2DFENQIJ.js";
|
|
6
6
|
import {
|
|
7
7
|
subclassCodec
|
|
8
|
-
} from "./chunk-
|
|
9
|
-
import "./chunk-
|
|
10
|
-
import "./chunk-
|
|
8
|
+
} from "./chunk-B4TQTJVC.js";
|
|
9
|
+
import "./chunk-ABQ6ZWAF.js";
|
|
10
|
+
import "./chunk-MT4RWROQ.js";
|
|
11
11
|
import {
|
|
12
12
|
spellInputSchema
|
|
13
13
|
} from "./chunk-656QCX4U.js";
|
|
@@ -19,9 +19,9 @@ import {
|
|
|
19
19
|
} from "./chunk-WSVMLNTO.js";
|
|
20
20
|
import {
|
|
21
21
|
raceCodec
|
|
22
|
-
} from "./chunk-
|
|
23
|
-
import "./chunk-
|
|
24
|
-
import "./chunk-
|
|
22
|
+
} from "./chunk-CQAL67R3.js";
|
|
23
|
+
import "./chunk-7MRW4RTH.js";
|
|
24
|
+
import "./chunk-2BI5NAXK.js";
|
|
25
25
|
import "./chunk-OZP6JFGT.js";
|
|
26
26
|
import "./chunk-VQAXTIBW.js";
|
|
27
27
|
import {
|
|
@@ -34,14 +34,14 @@ import {
|
|
|
34
34
|
} from "./chunk-6PXTNCBP.js";
|
|
35
35
|
import {
|
|
36
36
|
parseMonster
|
|
37
|
-
} from "./chunk-
|
|
38
|
-
import "./chunk-
|
|
37
|
+
} from "./chunk-3BMVVNCS.js";
|
|
38
|
+
import "./chunk-A6YL53NC.js";
|
|
39
39
|
import "./chunk-IKSMX4TN.js";
|
|
40
40
|
import {
|
|
41
41
|
optionalFeatureCodec
|
|
42
|
-
} from "./chunk-
|
|
43
|
-
import "./chunk-
|
|
44
|
-
import "./chunk-
|
|
42
|
+
} from "./chunk-MYW7AOUE.js";
|
|
43
|
+
import "./chunk-NNAQ4KQF.js";
|
|
44
|
+
import "./chunk-7WNQJAZW.js";
|
|
45
45
|
import {
|
|
46
46
|
itemCodec
|
|
47
47
|
} from "./chunk-4XTNPNQB.js";
|
|
@@ -64,23 +64,23 @@ import {
|
|
|
64
64
|
} from "./chunk-LSLSG67V.js";
|
|
65
65
|
import {
|
|
66
66
|
featCodec
|
|
67
|
-
} from "./chunk-
|
|
68
|
-
import "./chunk-
|
|
69
|
-
import "./chunk-
|
|
67
|
+
} from "./chunk-JKLRBILX.js";
|
|
68
|
+
import "./chunk-RWZTGMSN.js";
|
|
69
|
+
import "./chunk-BJFL4KYG.js";
|
|
70
70
|
import "./chunk-DEEHHLAP.js";
|
|
71
71
|
import "./chunk-PDJSUH24.js";
|
|
72
72
|
import "./chunk-WELIKLZF.js";
|
|
73
73
|
import {
|
|
74
74
|
classCodec
|
|
75
|
-
} from "./chunk-
|
|
76
|
-
import "./chunk-
|
|
75
|
+
} from "./chunk-BS355LND.js";
|
|
76
|
+
import "./chunk-H4VEMVOO.js";
|
|
77
77
|
import "./chunk-4U55VNC7.js";
|
|
78
|
-
import "./chunk-
|
|
78
|
+
import "./chunk-DTCR4DBF.js";
|
|
79
79
|
import "./chunk-23LZLBJK.js";
|
|
80
80
|
import "./chunk-CJYCVNW2.js";
|
|
81
|
-
import "./chunk-
|
|
81
|
+
import "./chunk-JOVMV2X5.js";
|
|
82
82
|
import "./chunk-WYGD2UGN.js";
|
|
83
|
-
import "./chunk-
|
|
83
|
+
import "./chunk-UA3I2YSO.js";
|
|
84
84
|
import {
|
|
85
85
|
parseCondition
|
|
86
86
|
} from "./chunk-6X2NV665.js";
|
|
@@ -91,12 +91,12 @@ import "./chunk-5N2GW72F.js";
|
|
|
91
91
|
import "./chunk-JC5UNIVM.js";
|
|
92
92
|
import {
|
|
93
93
|
backgroundCodec
|
|
94
|
-
} from "./chunk-
|
|
95
|
-
import "./chunk-
|
|
96
|
-
import "./chunk-
|
|
94
|
+
} from "./chunk-ULCQ73LA.js";
|
|
95
|
+
import "./chunk-3PZHBLFG.js";
|
|
96
|
+
import "./chunk-63XQXPZL.js";
|
|
97
97
|
import "./chunk-IN4M4X7P.js";
|
|
98
|
-
import "./chunk-
|
|
99
|
-
import "./chunk-
|
|
98
|
+
import "./chunk-IWRVOCT5.js";
|
|
99
|
+
import "./chunk-X3D6LXUU.js";
|
|
100
100
|
import "./chunk-UA5KS2PL.js";
|
|
101
101
|
|
|
102
102
|
// src/monster/monster.codec.ts
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import {
|
|
2
2
|
migrateLegacy,
|
|
3
3
|
parseMonster
|
|
4
|
-
} from "../chunk-
|
|
5
|
-
import "../chunk-
|
|
6
|
-
import "../chunk-
|
|
4
|
+
} from "../chunk-3BMVVNCS.js";
|
|
5
|
+
import "../chunk-A6YL53NC.js";
|
|
6
|
+
import "../chunk-JOVMV2X5.js";
|
|
7
7
|
import "../chunk-WYGD2UGN.js";
|
|
8
|
-
import "../chunk-
|
|
9
|
-
import "../chunk-
|
|
10
|
-
import "../chunk-
|
|
8
|
+
import "../chunk-UA3I2YSO.js";
|
|
9
|
+
import "../chunk-IWRVOCT5.js";
|
|
10
|
+
import "../chunk-X3D6LXUU.js";
|
|
11
11
|
import "../chunk-UA5KS2PL.js";
|
|
12
12
|
export {
|
|
13
13
|
migrateLegacy,
|
|
@@ -11,12 +11,12 @@ import {
|
|
|
11
11
|
monsterSpeedSchema,
|
|
12
12
|
monsterSpellcastingSchema,
|
|
13
13
|
monsterTypeSchema
|
|
14
|
-
} from "../chunk-
|
|
15
|
-
import "../chunk-
|
|
14
|
+
} from "../chunk-A6YL53NC.js";
|
|
15
|
+
import "../chunk-JOVMV2X5.js";
|
|
16
16
|
import "../chunk-WYGD2UGN.js";
|
|
17
|
-
import "../chunk-
|
|
18
|
-
import "../chunk-
|
|
19
|
-
import "../chunk-
|
|
17
|
+
import "../chunk-UA3I2YSO.js";
|
|
18
|
+
import "../chunk-IWRVOCT5.js";
|
|
19
|
+
import "../chunk-X3D6LXUU.js";
|
|
20
20
|
import "../chunk-UA5KS2PL.js";
|
|
21
21
|
export {
|
|
22
22
|
MONSTER_KNOWN_KEYS,
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import {
|
|
2
2
|
optionalFeatureCodec
|
|
3
|
-
} from "../chunk-
|
|
4
|
-
import "../chunk-
|
|
5
|
-
import "../chunk-
|
|
3
|
+
} from "../chunk-MYW7AOUE.js";
|
|
4
|
+
import "../chunk-NNAQ4KQF.js";
|
|
5
|
+
import "../chunk-7WNQJAZW.js";
|
|
6
6
|
import "../chunk-WYGD2UGN.js";
|
|
7
|
-
import "../chunk-
|
|
8
|
-
import "../chunk-
|
|
7
|
+
import "../chunk-UA3I2YSO.js";
|
|
8
|
+
import "../chunk-X3D6LXUU.js";
|
|
9
9
|
import "../chunk-UA5KS2PL.js";
|
|
10
10
|
export {
|
|
11
11
|
optionalFeatureCodec
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import {
|
|
2
2
|
parseOptionalFeature
|
|
3
|
-
} from "../chunk-
|
|
4
|
-
import "../chunk-
|
|
3
|
+
} from "../chunk-NNAQ4KQF.js";
|
|
4
|
+
import "../chunk-7WNQJAZW.js";
|
|
5
5
|
import "../chunk-WYGD2UGN.js";
|
|
6
|
-
import "../chunk-
|
|
7
|
-
import "../chunk-
|
|
6
|
+
import "../chunk-UA3I2YSO.js";
|
|
7
|
+
import "../chunk-X3D6LXUU.js";
|
|
8
8
|
import "../chunk-UA5KS2PL.js";
|
|
9
9
|
export {
|
|
10
10
|
parseOptionalFeature
|
|
@@ -97,6 +97,15 @@ export declare const optionalFeatureEntitySchema: z.ZodObject<{
|
|
|
97
97
|
}, z.core.$strip>>>;
|
|
98
98
|
condition: z.ZodOptional<z.ZodString>;
|
|
99
99
|
subject: z.ZodOptional<z.ZodString>;
|
|
100
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
101
|
+
kind: z.ZodLiteral<"attunement-limit">;
|
|
102
|
+
value: z.ZodNumber;
|
|
103
|
+
scales_at: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
104
|
+
level: z.ZodNumber;
|
|
105
|
+
value: z.ZodNumber;
|
|
106
|
+
}, z.core.$strip>>>;
|
|
107
|
+
condition: z.ZodOptional<z.ZodString>;
|
|
108
|
+
subject: z.ZodOptional<z.ZodString>;
|
|
100
109
|
}, z.core.$strip>, z.ZodObject<{
|
|
101
110
|
kind: z.ZodLiteral<"sense">;
|
|
102
111
|
type: z.ZodEnum<{
|
|
@@ -333,6 +342,25 @@ export declare const optionalFeatureEntitySchema: z.ZodObject<{
|
|
|
333
342
|
round: "round";
|
|
334
343
|
custom: "custom";
|
|
335
344
|
}>;
|
|
345
|
+
recovery: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
346
|
+
id: z.ZodString;
|
|
347
|
+
name: z.ZodString;
|
|
348
|
+
amount: z.ZodUnion<readonly [z.ZodNumber, z.ZodString]>;
|
|
349
|
+
reset: z.ZodEnum<{
|
|
350
|
+
"short-rest": "short-rest";
|
|
351
|
+
"long-rest": "long-rest";
|
|
352
|
+
either: "either";
|
|
353
|
+
dawn: "dawn";
|
|
354
|
+
dusk: "dusk";
|
|
355
|
+
turn: "turn";
|
|
356
|
+
round: "round";
|
|
357
|
+
custom: "custom";
|
|
358
|
+
}>;
|
|
359
|
+
restores: z.ZodOptional<z.ZodEnum<{
|
|
360
|
+
uses: "uses";
|
|
361
|
+
"spell-slots": "spell-slots";
|
|
362
|
+
}>>;
|
|
363
|
+
}, z.core.$strip>>>;
|
|
336
364
|
}, z.core.$strip>>>;
|
|
337
365
|
consumes: z.ZodOptional<z.ZodNullable<z.ZodObject<{
|
|
338
366
|
source: z.ZodOptional<z.ZodEnum<{
|
|
@@ -377,6 +405,10 @@ export declare const optionalFeatureEntitySchema: z.ZodObject<{
|
|
|
377
405
|
passive: z.ZodOptional<z.ZodBoolean>;
|
|
378
406
|
activatable: z.ZodOptional<z.ZodBoolean>;
|
|
379
407
|
rendering_hint: z.ZodOptional<z.ZodString>;
|
|
408
|
+
surface: z.ZodOptional<z.ZodEnum<{
|
|
409
|
+
band: "band";
|
|
410
|
+
tab: "tab";
|
|
411
|
+
}>>;
|
|
380
412
|
additional_spells: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
381
413
|
name: z.ZodOptional<z.ZodString>;
|
|
382
414
|
ability: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import {
|
|
2
2
|
optionalFeatureEntitySchema
|
|
3
|
-
} from "../chunk-
|
|
3
|
+
} from "../chunk-7WNQJAZW.js";
|
|
4
4
|
import "../chunk-WYGD2UGN.js";
|
|
5
|
-
import "../chunk-
|
|
6
|
-
import "../chunk-
|
|
5
|
+
import "../chunk-UA3I2YSO.js";
|
|
6
|
+
import "../chunk-X3D6LXUU.js";
|
|
7
7
|
import "../chunk-UA5KS2PL.js";
|
|
8
8
|
export {
|
|
9
9
|
optionalFeatureEntitySchema
|
|
@@ -4,8 +4,8 @@ import {
|
|
|
4
4
|
collectChosenAbilityPoints,
|
|
5
5
|
collectChosenProficiencies,
|
|
6
6
|
computeEffectiveProficiencies
|
|
7
|
-
} from "../chunk-
|
|
8
|
-
import "../chunk-
|
|
7
|
+
} from "../chunk-EYZCCWG2.js";
|
|
8
|
+
import "../chunk-4ISR76DH.js";
|
|
9
9
|
import "../chunk-DPUJDOKV.js";
|
|
10
10
|
import "../chunk-O4SRD3J5.js";
|
|
11
11
|
import "../chunk-PP2UHLBA.js";
|
|
@@ -14,7 +14,7 @@ import "../chunk-YHYTW5QA.js";
|
|
|
14
14
|
import "../chunk-MI7P3NX3.js";
|
|
15
15
|
import "../chunk-PVCEA4HZ.js";
|
|
16
16
|
import "../chunk-UBBKSYBY.js";
|
|
17
|
-
import "../chunk-
|
|
17
|
+
import "../chunk-KPEJMNRD.js";
|
|
18
18
|
import "../chunk-TOM66P2P.js";
|
|
19
19
|
import "../chunk-KU3YLF6D.js";
|
|
20
20
|
import "../chunk-RLGQ5PZZ.js";
|
|
@@ -38,5 +38,5 @@ export interface UnarmedStrikeSpec {
|
|
|
38
38
|
* this row carries no weapon, so `Unarmed` is capitalised here beside `Unarmed Strike`, `5 ft` and `bludgeoning`
|
|
39
39
|
* rather than in a renderer (R4-G6b live rider R-1). */
|
|
40
40
|
export declare function buildUnarmedRow(mods: Record<Ability, number>, proficiencyBonus: number, spec?: UnarmedStrikeSpec): AttackRow;
|
|
41
|
-
export declare function computeSlotsAndAttacks(resolved: ResolvedCharacter, mods: Record<Ability, number>, profs: ProficienciesForQuery, registry: EntityRegistry, warnings: string[], proficiencyBonus: number, weaponAbilities?: WeaponAbilityOverride[], weaponMasteries?: string[]): DerivedEquipment;
|
|
41
|
+
export declare function computeSlotsAndAttacks(resolved: ResolvedCharacter, mods: Record<Ability, number>, profs: ProficienciesForQuery, registry: EntityRegistry, warnings: string[], proficiencyBonus: number, weaponAbilities?: WeaponAbilityOverride[], weaponMasteries?: string[], attunementFloor?: number): DerivedEquipment;
|
|
42
42
|
export {};
|
package/dist/pc/pc.equipment.js
CHANGED
|
@@ -38,6 +38,15 @@ export interface FeatureEffectTotals {
|
|
|
38
38
|
* A `scales_at` progression resolves BEFORE the max, at the effect's own source level (R4-G7 §7.3).
|
|
39
39
|
*/
|
|
40
40
|
speed_walk_set: number;
|
|
41
|
+
/**
|
|
42
|
+
* Absolute attunement CAP granted by `attunement-limit` effects (the Artificer's Magic Item
|
|
43
|
+
* Adept / Savant / Master line). Max across all grants; 0 = nothing granted it. recalc applies it
|
|
44
|
+
* as Math.max(3, attunement_set) so a grant can never LOWER the baseline, and an explicit
|
|
45
|
+
* `overrides.attunement_limit` on the character still wins outright — a number the player typed is
|
|
46
|
+
* intent, not a derived value. A `scales_at` progression resolves BEFORE the max, at the effect's
|
|
47
|
+
* own source level (R4-G7 §7.3).
|
|
48
|
+
*/
|
|
49
|
+
attunement_set: number;
|
|
41
50
|
/** Flat ability-score bumps from `ability-score-increase` effects whose `abilities` is a FIXED LIST (the three level-20
|
|
42
51
|
* capstones). `chosen` arms are the ASI SLOT's second encoding and MUST NOT fold (the synthesized feat decision pays
|
|
43
52
|
* them; a flat fold double-counts). No cap: `max` is declared and unread (user ruling 2026-09-03). */
|
package/dist/pc/pc.parser.js
CHANGED
|
@@ -2,8 +2,8 @@ import {
|
|
|
2
2
|
collectChosenProficiencies,
|
|
3
3
|
collectProficiencyGrants,
|
|
4
4
|
computeEffectiveProficiencies
|
|
5
|
-
} from "../chunk-
|
|
6
|
-
import "../chunk-
|
|
5
|
+
} from "../chunk-EYZCCWG2.js";
|
|
6
|
+
import "../chunk-4ISR76DH.js";
|
|
7
7
|
import "../chunk-DPUJDOKV.js";
|
|
8
8
|
import "../chunk-O4SRD3J5.js";
|
|
9
9
|
import "../chunk-PP2UHLBA.js";
|
|
@@ -12,7 +12,7 @@ import "../chunk-YHYTW5QA.js";
|
|
|
12
12
|
import "../chunk-MI7P3NX3.js";
|
|
13
13
|
import "../chunk-PVCEA4HZ.js";
|
|
14
14
|
import "../chunk-UBBKSYBY.js";
|
|
15
|
-
import "../chunk-
|
|
15
|
+
import "../chunk-KPEJMNRD.js";
|
|
16
16
|
import "../chunk-TOM66P2P.js";
|
|
17
17
|
import "../chunk-KU3YLF6D.js";
|
|
18
18
|
import {
|
package/dist/pc/pc.recalc.js
CHANGED
|
@@ -4,10 +4,10 @@ import {
|
|
|
4
4
|
import {
|
|
5
5
|
collectChosenAbilityPoints,
|
|
6
6
|
collectChosenProficiencies
|
|
7
|
-
} from "../chunk-
|
|
7
|
+
} from "../chunk-EYZCCWG2.js";
|
|
8
8
|
import {
|
|
9
9
|
resourceLevelFor
|
|
10
|
-
} from "../chunk-
|
|
10
|
+
} from "../chunk-4ISR76DH.js";
|
|
11
11
|
import {
|
|
12
12
|
computeSpellLimits,
|
|
13
13
|
deriveSpellSlots,
|
|
@@ -31,7 +31,7 @@ import {
|
|
|
31
31
|
computeAppliedBonuses,
|
|
32
32
|
computeSlotsAndAttacks,
|
|
33
33
|
emptyAppliedBonuses
|
|
34
|
-
} from "../chunk-
|
|
34
|
+
} from "../chunk-V373TRJE.js";
|
|
35
35
|
import "../chunk-UIRMA5KM.js";
|
|
36
36
|
import "../chunk-UBBKSYBY.js";
|
|
37
37
|
import {
|
|
@@ -39,7 +39,7 @@ import {
|
|
|
39
39
|
computeFeatureEffects,
|
|
40
40
|
foldsNow,
|
|
41
41
|
selfEffectsOf
|
|
42
|
-
} from "../chunk-
|
|
42
|
+
} from "../chunk-KPEJMNRD.js";
|
|
43
43
|
import "../chunk-TOM66P2P.js";
|
|
44
44
|
import "../chunk-KU3YLF6D.js";
|
|
45
45
|
import "../chunk-RLGQ5PZZ.js";
|
|
@@ -680,7 +680,7 @@ function recalc(resolved, registry) {
|
|
|
680
680
|
let acBreakdownDerived = [];
|
|
681
681
|
let acInformationalDerived = [];
|
|
682
682
|
if (registry) {
|
|
683
|
-
derivedEquipment = computeSlotsAndAttacks(resolved, mods, profsForApply, registry, warnings, proficiencyBonus, weaponAbilities, (_B = resolved.weaponMasteries) != null ? _B : []);
|
|
683
|
+
derivedEquipment = computeSlotsAndAttacks(resolved, mods, profsForApply, registry, warnings, proficiencyBonus, weaponAbilities, (_B = resolved.weaponMasteries) != null ? _B : [], featureEffects.attunement_set);
|
|
684
684
|
if (derivedEquipment.equippedSlots.armor) {
|
|
685
685
|
const featTerms = featureAcTermsFor(true);
|
|
686
686
|
acDerived = derivedEquipment.ac + sumTerms(featTerms);
|
|
@@ -846,7 +846,7 @@ function recalc(resolved, registry) {
|
|
|
846
846
|
equippedSlots: (_R = derivedEquipment == null ? void 0 : derivedEquipment.equippedSlots) != null ? _R : {},
|
|
847
847
|
carriedWeight: (_S = derivedEquipment == null ? void 0 : derivedEquipment.carriedWeight) != null ? _S : 0,
|
|
848
848
|
attunementUsed: (_T = derivedEquipment == null ? void 0 : derivedEquipment.attunementUsed) != null ? _T : 0,
|
|
849
|
-
attunementLimit: (_V = derivedEquipment == null ? void 0 : derivedEquipment.attunementLimit) != null ? _V : (_U = overrides.attunement_limit) != null ? _U : 3,
|
|
849
|
+
attunementLimit: (_V = derivedEquipment == null ? void 0 : derivedEquipment.attunementLimit) != null ? _V : (_U = overrides.attunement_limit) != null ? _U : Math.max(3, featureEffects.attunement_set),
|
|
850
850
|
conditionEffects,
|
|
851
851
|
rollModifiers: featureEffects.rollModifiers,
|
|
852
852
|
saveOutcomes: featureEffects.saveOutcomes
|
package/dist/pc/pc.resolver.d.ts
CHANGED
|
@@ -127,4 +127,18 @@ export declare function collectChosenGrantedFeatures(character: Character, class
|
|
|
127
127
|
data: Record<string, unknown>;
|
|
128
128
|
} | undefined;
|
|
129
129
|
}, race?: RaceEntity | null, background?: BackgroundEntity | null): ResolvedFeature[];
|
|
130
|
+
/**
|
|
131
|
+
* `character.additional_features` → ResolvedFeatures (the DM-grant path).
|
|
132
|
+
*
|
|
133
|
+
* Deliberately NOT routed through `walkChoiceGrants`: that converter emits
|
|
134
|
+
* `{id, name, description, effects, action}` and DROPS `uses`, which is correct there because a pool
|
|
135
|
+
* pick's tracker is built separately by `resolveResourceIndex`'s pools loop. A campaign grant has no
|
|
136
|
+
* pool, so nothing would ever build its tracker — the feature would render as a card with no counter.
|
|
137
|
+
* This walk therefore converts `uses` into the feature's own `resources[]`, which
|
|
138
|
+
* `resolveFeatureResources` already indexes, and the grant gets a tracker with no pool involved.
|
|
139
|
+
*
|
|
140
|
+
* A prose `uses.max` (the 4 shipped carriers that have one) yields no resource rather than a broken
|
|
141
|
+
* tracker, matching the pools loop's rule; the feature still renders.
|
|
142
|
+
*/
|
|
143
|
+
export declare function collectAdditionalFeatures(character: Character, entities: EntityRegistry, warnings: string[]): ResolvedFeature[];
|
|
130
144
|
export declare function collectResolvedFeatures(race: RaceEntity | null, classes: ResolvedClass[], background: BackgroundEntity | null, feats: FeatEntity[], featVia?: ReadonlyMap<string, FeatVia>): ResolvedFeature[];
|
package/dist/pc/pc.resolver.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
PCResolver,
|
|
3
|
+
collectAdditionalFeatures,
|
|
3
4
|
collectChosenGrantedFeatures,
|
|
4
5
|
collectChosenWeaponMasteries,
|
|
5
6
|
collectFeatGrantedSpells,
|
|
@@ -9,8 +10,8 @@ import {
|
|
|
9
10
|
dedupeResolvedSpells,
|
|
10
11
|
resolveOriginFeat,
|
|
11
12
|
stripSlug
|
|
12
|
-
} from "../chunk-
|
|
13
|
-
import "../chunk-
|
|
13
|
+
} from "../chunk-EYZCCWG2.js";
|
|
14
|
+
import "../chunk-4ISR76DH.js";
|
|
14
15
|
import "../chunk-DPUJDOKV.js";
|
|
15
16
|
import "../chunk-O4SRD3J5.js";
|
|
16
17
|
import "../chunk-PP2UHLBA.js";
|
|
@@ -19,7 +20,7 @@ import "../chunk-YHYTW5QA.js";
|
|
|
19
20
|
import "../chunk-MI7P3NX3.js";
|
|
20
21
|
import "../chunk-PVCEA4HZ.js";
|
|
21
22
|
import "../chunk-UBBKSYBY.js";
|
|
22
|
-
import "../chunk-
|
|
23
|
+
import "../chunk-KPEJMNRD.js";
|
|
23
24
|
import "../chunk-TOM66P2P.js";
|
|
24
25
|
import "../chunk-KU3YLF6D.js";
|
|
25
26
|
import "../chunk-RLGQ5PZZ.js";
|
|
@@ -37,6 +38,7 @@ import "../chunk-4U55VNC7.js";
|
|
|
37
38
|
import "../chunk-UA5KS2PL.js";
|
|
38
39
|
export {
|
|
39
40
|
PCResolver,
|
|
41
|
+
collectAdditionalFeatures,
|
|
40
42
|
collectChosenGrantedFeatures,
|
|
41
43
|
collectChosenWeaponMasteries,
|
|
42
44
|
collectFeatGrantedSpells,
|
|
@@ -50,6 +50,12 @@ export interface ResolvedResource {
|
|
|
50
50
|
scalesAt?: ResourceScaleStep[];
|
|
51
51
|
recovery?: ResolvedRecovery[];
|
|
52
52
|
owner: ResourceOwner;
|
|
53
|
+
/** Which control draws this resource — the declaring note's `rendering_hint`, carried verbatim and
|
|
54
|
+
* never interpreted here. The renderer owns the hint → component table; the engine only delivers the
|
|
55
|
+
* string, so adding a component is a change in ONE table and adding a resource is no code at all. */
|
|
56
|
+
renderingHint?: string;
|
|
57
|
+
/** `band` = also drawn in the header strip. Absent = the Resources tab alone. */
|
|
58
|
+
surface?: "band" | "tab";
|
|
53
59
|
}
|
|
54
60
|
export type ResourceIndex = ReadonlyMap<string, ResolvedResource>;
|
|
55
61
|
/** KIND first (the schema key; absent = `uses`, UR2), FLAVOUR second (`action` / `reset`): a
|
package/dist/pc/pc.resources.js
CHANGED
package/dist/pc/pc.rest.js
CHANGED
package/dist/pc/pc.schema.d.ts
CHANGED
|
@@ -389,6 +389,7 @@ export declare const characterSchema: z.ZodObject<{
|
|
|
389
389
|
gp: z.ZodNumber;
|
|
390
390
|
pp: z.ZodNumber;
|
|
391
391
|
}, z.core.$strip>>;
|
|
392
|
+
additional_features: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
392
393
|
notes: z.ZodOptional<z.ZodString>;
|
|
393
394
|
defenses: z.ZodOptional<z.ZodObject<{
|
|
394
395
|
resistances: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodString>>>;
|
package/dist/pc/pc.schema.js
CHANGED
package/dist/pc/pc.types.d.ts
CHANGED
|
@@ -279,6 +279,9 @@ export interface Character {
|
|
|
279
279
|
gp: number;
|
|
280
280
|
pp: number;
|
|
281
281
|
};
|
|
282
|
+
/** DM grants: optional-feature slugs resolved onto the character with no class, level or pool behind
|
|
283
|
+
* them. Placement is the declaring note's `surface`, never a flag here. */
|
|
284
|
+
additional_features?: string[];
|
|
282
285
|
notes?: string;
|
|
283
286
|
defenses?: {
|
|
284
287
|
resistances?: string[];
|
|
@@ -317,6 +320,11 @@ export type FeatureSource = {
|
|
|
317
320
|
kind: "feat";
|
|
318
321
|
slug: string;
|
|
319
322
|
via?: FeatVia;
|
|
323
|
+
}
|
|
324
|
+
/** A DM grant listed in `character.additional_features`. No class, no level, no pool behind it. */
|
|
325
|
+
| {
|
|
326
|
+
kind: "campaign";
|
|
327
|
+
slug: string;
|
|
320
328
|
};
|
|
321
329
|
export interface ResolvedFeature {
|
|
322
330
|
feature: Feature;
|
package/dist/race/race.codec.js
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import {
|
|
2
2
|
raceCodec
|
|
3
|
-
} from "../chunk-
|
|
4
|
-
import "../chunk-
|
|
5
|
-
import "../chunk-
|
|
3
|
+
} from "../chunk-CQAL67R3.js";
|
|
4
|
+
import "../chunk-7MRW4RTH.js";
|
|
5
|
+
import "../chunk-2BI5NAXK.js";
|
|
6
6
|
import "../chunk-4U55VNC7.js";
|
|
7
|
-
import "../chunk-
|
|
7
|
+
import "../chunk-JOVMV2X5.js";
|
|
8
8
|
import "../chunk-WYGD2UGN.js";
|
|
9
|
-
import "../chunk-
|
|
10
|
-
import "../chunk-
|
|
11
|
-
import "../chunk-
|
|
9
|
+
import "../chunk-UA3I2YSO.js";
|
|
10
|
+
import "../chunk-IWRVOCT5.js";
|
|
11
|
+
import "../chunk-X3D6LXUU.js";
|
|
12
12
|
import "../chunk-UA5KS2PL.js";
|
|
13
13
|
export {
|
|
14
14
|
raceCodec
|
package/dist/race/race.parser.js
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import {
|
|
2
2
|
parseRace
|
|
3
|
-
} from "../chunk-
|
|
4
|
-
import "../chunk-
|
|
3
|
+
} from "../chunk-7MRW4RTH.js";
|
|
4
|
+
import "../chunk-2BI5NAXK.js";
|
|
5
5
|
import "../chunk-4U55VNC7.js";
|
|
6
|
-
import "../chunk-
|
|
6
|
+
import "../chunk-JOVMV2X5.js";
|
|
7
7
|
import "../chunk-WYGD2UGN.js";
|
|
8
|
-
import "../chunk-
|
|
9
|
-
import "../chunk-
|
|
10
|
-
import "../chunk-
|
|
8
|
+
import "../chunk-UA3I2YSO.js";
|
|
9
|
+
import "../chunk-IWRVOCT5.js";
|
|
10
|
+
import "../chunk-X3D6LXUU.js";
|
|
11
11
|
import "../chunk-UA5KS2PL.js";
|
|
12
12
|
export {
|
|
13
13
|
parseRace
|
package/dist/race/race.schema.js
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import {
|
|
2
2
|
fixedAsiSchema,
|
|
3
3
|
raceEntitySchema
|
|
4
|
-
} from "../chunk-
|
|
5
|
-
import "../chunk-
|
|
4
|
+
} from "../chunk-2BI5NAXK.js";
|
|
5
|
+
import "../chunk-JOVMV2X5.js";
|
|
6
6
|
import "../chunk-WYGD2UGN.js";
|
|
7
|
-
import "../chunk-
|
|
8
|
-
import "../chunk-
|
|
9
|
-
import "../chunk-
|
|
7
|
+
import "../chunk-UA3I2YSO.js";
|
|
8
|
+
import "../chunk-IWRVOCT5.js";
|
|
9
|
+
import "../chunk-X3D6LXUU.js";
|
|
10
10
|
import "../chunk-UA5KS2PL.js";
|
|
11
11
|
export {
|
|
12
12
|
fixedAsiSchema,
|