@archivist-gg/dnd5e 0.2.0 → 0.3.0
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/chunk-353WXS6S.js +25 -0
- package/dist/{chunk-DC74TZNA.js → chunk-4LZJXJJS.js} +7 -2
- package/dist/{chunk-R5SQHP2X.js → chunk-5MZSB6OM.js} +8 -11
- package/dist/{chunk-5WQD3WNZ.js → chunk-A4WENOUQ.js} +5 -1
- package/dist/{chunk-V6SOFUJW.js → chunk-AIRFC5NQ.js} +3 -1
- package/dist/{chunk-TQZB4OCJ.js → chunk-EMOORSQ7.js} +45 -20
- package/dist/{chunk-3TRGRSCH.js → chunk-LV4SNWZQ.js} +7 -1
- package/dist/{chunk-IXZXFFFW.js → chunk-M2EMFD6S.js} +1 -1
- package/dist/{chunk-UC4FE5X3.js → chunk-N6N74K6X.js} +1 -1
- package/dist/{chunk-J2RYSZMQ.js → chunk-VTTA2ALZ.js} +2 -2
- package/dist/class/class.slug.d.ts +7 -5
- package/dist/class/class.slug.js +1 -1
- package/dist/entities/base-item-resolver.d.ts +9 -0
- package/dist/entities/base-item-resolver.js +6 -4
- package/dist/entities/slug.d.ts +7 -0
- package/dist/entities/slug.js +3 -1
- package/dist/index.js +3812 -3604
- package/dist/item/item.actions-map.d.ts +8 -7
- package/dist/item/item.actions-map.js +3 -4
- package/dist/pc/pc.decision-engine.d.ts +0 -3
- package/dist/pc/pc.decision-engine.js +6 -8
- package/dist/pc/pc.equipment.js +5 -12
- package/dist/pc/pc.feature-effects.d.ts +5 -0
- package/dist/pc/pc.feature-effects.js +2 -11
- package/dist/pc/pc.parser.js +1 -1
- package/dist/pc/pc.pools.js +6 -6
- package/dist/pc/pc.recalc.d.ts +7 -0
- package/dist/pc/pc.recalc.js +82 -38
- package/dist/pc/pc.resolver.js +6 -6
- package/dist/pc/pc.rest.d.ts +1 -1
- package/dist/pc/pc.rest.js +20 -11
- package/dist/pc/pc.schema.d.ts +2 -0
- package/dist/pc/pc.schema.js +1 -1
- package/dist/pc/pc.slotting.js +3 -3
- package/dist/pc/pc.spellcasting.js +2 -2
- package/dist/pc/pc.types.d.ts +28 -0
- package/dist/spell/spell.access.js +1 -1
- package/dist/weapon/weapon.classify.d.ts +21 -0
- package/dist/weapon/weapon.classify.js +7 -0
- package/package.json +1 -1
package/dist/pc/pc.types.d.ts
CHANGED
|
@@ -120,6 +120,8 @@ export interface CharacterOverrides {
|
|
|
120
120
|
}>;
|
|
121
121
|
hp?: {
|
|
122
122
|
max?: number;
|
|
123
|
+
rolled?: number;
|
|
124
|
+
modifier?: number;
|
|
123
125
|
};
|
|
124
126
|
ac?: number;
|
|
125
127
|
speed?: number;
|
|
@@ -339,6 +341,27 @@ export interface ACTerm {
|
|
|
339
341
|
amount: number;
|
|
340
342
|
kind: "armor" | "shield" | "item" | "unarmored" | "override" | "dex" | "ability" | "feature";
|
|
341
343
|
}
|
|
344
|
+
/** Structured max-HP math for the Max HP modal. Spec: P5 2026-07-21. */
|
|
345
|
+
export interface HPBreakdown {
|
|
346
|
+
diceSum: number;
|
|
347
|
+
diceSource: "rolled" | "average";
|
|
348
|
+
averageDiceSum: number;
|
|
349
|
+
conMod: number;
|
|
350
|
+
conLevels: number;
|
|
351
|
+
clampApplied: boolean;
|
|
352
|
+
perLevelTerms: {
|
|
353
|
+
label: string;
|
|
354
|
+
perLevel: number;
|
|
355
|
+
levels: number;
|
|
356
|
+
total: number;
|
|
357
|
+
}[];
|
|
358
|
+
modifier: number | null;
|
|
359
|
+
exhaustionMultiplier: number;
|
|
360
|
+
exhaustionLevel: number;
|
|
361
|
+
derivedMax: number;
|
|
362
|
+
override: number | null;
|
|
363
|
+
final: number;
|
|
364
|
+
}
|
|
342
365
|
/** An additive on-hit damage rider (dice or flat) applied to an attack, from a
|
|
343
366
|
* feature (global — all weapon attacks) or a magic item (that weapon only).
|
|
344
367
|
* `amount` is a dice/flat string ("2d6", "1d8", "2"); `damage_type` optional
|
|
@@ -353,6 +376,10 @@ export interface AttackRow {
|
|
|
353
376
|
id: string;
|
|
354
377
|
name: string;
|
|
355
378
|
range?: string;
|
|
379
|
+
/** Secondary thrown-mode range ("20/60 ft") for a throwable melee weapon.
|
|
380
|
+
* Display-only; rendered as a stacked muted second line in the Range cell.
|
|
381
|
+
* Absent otherwise. */
|
|
382
|
+
thrownRange?: string;
|
|
356
383
|
toHit: number;
|
|
357
384
|
damageDice: string;
|
|
358
385
|
damageType: string;
|
|
@@ -529,6 +556,7 @@ export interface DerivedStats {
|
|
|
529
556
|
condition_immunities: string[];
|
|
530
557
|
};
|
|
531
558
|
acBreakdown: ACTerm[];
|
|
559
|
+
hpBreakdown: HPBreakdown;
|
|
532
560
|
acInformational: import("@archivist-gg/dnd5e/item/item.conditions.types").InformationalBonus[];
|
|
533
561
|
/** Situational saving-throw bonuses (e.g. +1 vs spells) for save tooltips. */
|
|
534
562
|
savesInformational: import("@archivist-gg/dnd5e/item/item.conditions.types").InformationalBonus[];
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { WeaponEntity } from "./weapon.types.js";
|
|
2
|
+
/** The two attack modes a weapon supports, derived from data the SRD pipeline
|
|
3
|
+
* actually preserves. The SRD runtime data miscategorizes throwable MELEE
|
|
4
|
+
* weapons (dagger/spear/handaxe/javelin/light hammer/trident) as `*-ranged`,
|
|
5
|
+
* so the melee/ranged split is reconstructed here instead of trusted:
|
|
6
|
+
* a category-ranged weapon is PURE ranged only when it needs ammunition or
|
|
7
|
+
* loading, or is one of the two genuinely-ranged thrown weapons (dart, net —
|
|
8
|
+
* a closed SRD set; a homebrew weapon whose bare slug is exactly "dart"/"net"
|
|
9
|
+
* is force-classified pure ranged). Everything else category-ranged is a
|
|
10
|
+
* throwable melee weapon. `reach` is 5 ft, +5 with the reach property. */
|
|
11
|
+
export interface WeaponRangeModes {
|
|
12
|
+
melee: {
|
|
13
|
+
reach: number;
|
|
14
|
+
} | null;
|
|
15
|
+
ranged: {
|
|
16
|
+
normal: number;
|
|
17
|
+
long: number;
|
|
18
|
+
thrown: boolean;
|
|
19
|
+
} | null;
|
|
20
|
+
}
|
|
21
|
+
export declare function classifyWeaponRange(weapon: Pick<WeaponEntity, "category" | "properties" | "range" | "slug">): WeaponRangeModes;
|