@archivist-gg/dnd5e 0.1.1 → 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.
Files changed (87) hide show
  1. package/dist/background/background.codec.js +4 -4
  2. package/dist/background/background.parser.js +3 -3
  3. package/dist/background/background.schema.js +2 -2
  4. package/dist/{chunk-FFULAF2P.js → chunk-2BWAID3Y.js} +2 -2
  5. package/dist/chunk-353WXS6S.js +25 -0
  6. package/dist/{chunk-FUK7QSN5.js → chunk-42Y5IJKT.js} +1 -1
  7. package/dist/{chunk-TPZSPU4L.js → chunk-4JHOHWBI.js} +1 -1
  8. package/dist/{chunk-DC74TZNA.js → chunk-4LZJXJJS.js} +7 -2
  9. package/dist/chunk-5MZSB6OM.js +1089 -0
  10. package/dist/{chunk-FEOB24KP.js → chunk-73HOFQQ5.js} +1 -1
  11. package/dist/{chunk-YDPWD2T7.js → chunk-7VJ6BOA5.js} +4 -1
  12. package/dist/{chunk-ZLG6FQFB.js → chunk-A4WENOUQ.js} +21 -2
  13. package/dist/{chunk-GEJSJP6E.js → chunk-AIRFC5NQ.js} +3 -1
  14. package/dist/{chunk-DABBCYTT.js → chunk-CZPMTQOY.js} +1 -1
  15. package/dist/{chunk-DRNZJNJP.js → chunk-DZXSWSBP.js} +1 -1
  16. package/dist/{chunk-ADLTSHOR.js → chunk-EMOORSQ7.js} +59 -30
  17. package/dist/{chunk-RVYYKYFL.js → chunk-GE4TLPWM.js} +1 -1
  18. package/dist/{chunk-VLKIB33F.js → chunk-K6Q5OUGK.js} +6 -0
  19. package/dist/{chunk-PMADYMUI.js → chunk-L7E2UT5A.js} +1 -1
  20. package/dist/{chunk-3TRGRSCH.js → chunk-LV4SNWZQ.js} +7 -1
  21. package/dist/{chunk-IXZXFFFW.js → chunk-M2EMFD6S.js} +1 -1
  22. package/dist/{chunk-UC4FE5X3.js → chunk-N6N74K6X.js} +1 -1
  23. package/dist/{chunk-CDW7R2QT.js → chunk-NXSWH3AE.js} +4 -1
  24. package/dist/{chunk-IDTDACM6.js → chunk-PHQRGDRQ.js} +1 -1
  25. package/dist/{chunk-BAXWWGFJ.js → chunk-Q5K6LWBZ.js} +1 -1
  26. package/dist/{chunk-Z6GXV2GO.js → chunk-TLYDBT5F.js} +1 -1
  27. package/dist/{chunk-A7T5L7SS.js → chunk-TUIFSVLI.js} +1 -1
  28. package/dist/{chunk-J2RYSZMQ.js → chunk-VTTA2ALZ.js} +2 -2
  29. package/dist/{chunk-Z4TL2V7S.js → chunk-VTYUBINW.js} +1 -1
  30. package/dist/{chunk-B7UXKNLD.js → chunk-W7HWMMBF.js} +1 -1
  31. package/dist/{chunk-SSXBYF3P.js → chunk-XLSVNUTK.js} +1 -1
  32. package/dist/{chunk-GIOH5JB5.js → chunk-XTIQWSFM.js} +1 -1
  33. package/dist/{chunk-PKC77VZP.js → chunk-ZZGEVJKX.js} +1 -1
  34. package/dist/class/class.codec.js +5 -5
  35. package/dist/class/class.parser.js +4 -4
  36. package/dist/class/class.schema.js +3 -3
  37. package/dist/class/class.slug.d.ts +7 -5
  38. package/dist/class/class.slug.js +1 -1
  39. package/dist/entities/base-item-resolver.d.ts +9 -0
  40. package/dist/entities/base-item-resolver.js +6 -4
  41. package/dist/entities/slug.d.ts +7 -0
  42. package/dist/entities/slug.js +3 -1
  43. package/dist/feat/feat.codec.js +4 -4
  44. package/dist/feat/feat.parser.js +3 -3
  45. package/dist/feat/feat.schema.js +2 -2
  46. package/dist/index.js +4116 -3662
  47. package/dist/item/item.actions-map.d.ts +18 -10
  48. package/dist/item/item.actions-map.js +16 -12
  49. package/dist/item/item.codec.js +3 -3
  50. package/dist/item/item.parser.js +2 -2
  51. package/dist/item/item.schema.d.ts +3 -0
  52. package/dist/item/item.schema.js +1 -1
  53. package/dist/item/item.types.d.ts +8 -0
  54. package/dist/pc/pc.decision-engine.d.ts +0 -3
  55. package/dist/pc/pc.decision-engine.js +8 -3
  56. package/dist/pc/pc.equipment.js +5 -8
  57. package/dist/pc/pc.feature-effects.d.ts +5 -0
  58. package/dist/pc/pc.feature-effects.js +2 -4
  59. package/dist/pc/pc.parser.js +1 -1
  60. package/dist/pc/pc.pools.js +8 -3
  61. package/dist/pc/pc.recalc.d.ts +7 -0
  62. package/dist/pc/pc.recalc.js +94 -40
  63. package/dist/pc/pc.resolver.d.ts +59 -1
  64. package/dist/pc/pc.resolver.js +21 -343
  65. package/dist/pc/pc.rest.d.ts +1 -1
  66. package/dist/pc/pc.rest.js +20 -11
  67. package/dist/pc/pc.schema.d.ts +23 -0
  68. package/dist/pc/pc.schema.js +1 -1
  69. package/dist/pc/pc.slotting.js +3 -3
  70. package/dist/pc/pc.spellcasting.js +2 -2
  71. package/dist/pc/pc.types.d.ts +65 -5
  72. package/dist/race/race.codec.js +5 -5
  73. package/dist/race/race.parser.js +4 -4
  74. package/dist/race/race.schema.js +3 -3
  75. package/dist/schemas/choice-schema.js +1 -1
  76. package/dist/schemas/feature-schema.js +2 -2
  77. package/dist/spell/spell.access.js +1 -1
  78. package/dist/subclass/subclass.codec.js +5 -5
  79. package/dist/subclass/subclass.parser.js +4 -4
  80. package/dist/subclass/subclass.schema.js +3 -3
  81. package/dist/types/choice.d.ts +5 -0
  82. package/dist/weapon/weapon-mastery.d.ts +3 -0
  83. package/dist/weapon/weapon.classify.d.ts +21 -0
  84. package/dist/weapon/weapon.classify.js +7 -0
  85. package/package.json +1 -1
  86. package/dist/chunk-6PXE7T7C.js +0 -79
  87. package/dist/chunk-TJCNX6UZ.js +0 -521
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  backgroundCodec
3
- } from "../chunk-Z4TL2V7S.js";
4
- import "../chunk-DRNZJNJP.js";
5
- import "../chunk-A7T5L7SS.js";
3
+ } from "../chunk-VTYUBINW.js";
4
+ import "../chunk-DZXSWSBP.js";
5
+ import "../chunk-TUIFSVLI.js";
6
6
  import "../chunk-3DZ74AKK.js";
7
- import "../chunk-CDW7R2QT.js";
7
+ import "../chunk-NXSWH3AE.js";
8
8
  import "../chunk-NXR3BD2V.js";
9
9
  export {
10
10
  backgroundCodec
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  parseBackground
3
- } from "../chunk-DRNZJNJP.js";
4
- import "../chunk-A7T5L7SS.js";
3
+ } from "../chunk-DZXSWSBP.js";
4
+ import "../chunk-TUIFSVLI.js";
5
5
  import "../chunk-3DZ74AKK.js";
6
- import "../chunk-CDW7R2QT.js";
6
+ import "../chunk-NXSWH3AE.js";
7
7
  import "../chunk-NXR3BD2V.js";
8
8
  export {
9
9
  parseBackground
@@ -1,8 +1,8 @@
1
1
  import {
2
2
  backgroundEntitySchema
3
- } from "../chunk-A7T5L7SS.js";
3
+ } from "../chunk-TUIFSVLI.js";
4
4
  import "../chunk-3DZ74AKK.js";
5
- import "../chunk-CDW7R2QT.js";
5
+ import "../chunk-NXSWH3AE.js";
6
6
  import "../chunk-NXR3BD2V.js";
7
7
  export {
8
8
  backgroundEntitySchema
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  featureSchema
3
- } from "./chunk-DABBCYTT.js";
3
+ } from "./chunk-CZPMTQOY.js";
4
4
  import {
5
5
  choiceSchema
6
- } from "./chunk-CDW7R2QT.js";
6
+ } from "./chunk-NXSWH3AE.js";
7
7
 
8
8
  // src/race/race.schema.ts
9
9
  import { z } from "zod";
@@ -0,0 +1,25 @@
1
+ import {
2
+ bareEntitySlug
3
+ } from "./chunk-LV4SNWZQ.js";
4
+
5
+ // src/weapon/weapon.classify.ts
6
+ var PURE_RANGED_THROWN_SLUGS = /* @__PURE__ */ new Set(["dart", "net"]);
7
+ function classifyWeaponRange(weapon) {
8
+ const has = (p) => weapon.properties.some((x) => x === p);
9
+ const isCatRanged = /ranged/.test(weapon.category);
10
+ const pureRanged = isCatRanged && (has("ammunition") || has("loading") || PURE_RANGED_THROWN_SLUGS.has(bareEntitySlug(weapon.slug)));
11
+ if (pureRanged) {
12
+ return {
13
+ melee: null,
14
+ ranged: weapon.range ? { normal: weapon.range.normal, long: weapon.range.long, thrown: false } : null
15
+ };
16
+ }
17
+ return {
18
+ melee: { reach: 5 + (has("reach") ? 5 : 0) },
19
+ ranged: weapon.range ? { normal: weapon.range.normal, long: weapon.range.long, thrown: true } : null
20
+ };
21
+ }
22
+
23
+ export {
24
+ classifyWeaponRange
25
+ };
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  classEntitySchema
3
- } from "./chunk-Z6GXV2GO.js";
3
+ } from "./chunk-TLYDBT5F.js";
4
4
 
5
5
  // src/class/class.parser.ts
6
6
  import { parseYaml } from "@archivist-gg/core";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  parseItem
3
- } from "./chunk-YDPWD2T7.js";
3
+ } from "./chunk-7VJ6BOA5.js";
4
4
 
5
5
  // src/item/item.codec.ts
6
6
  import yaml from "js-yaml";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  slugify
3
- } from "./chunk-3TRGRSCH.js";
3
+ } from "./chunk-LV4SNWZQ.js";
4
4
 
5
5
  // src/entities/base-item-resolver.ts
6
6
  function unwrapWikilink(input) {
@@ -10,6 +10,7 @@ function unwrapWikilink(input) {
10
10
  const pipe = inner.indexOf("|");
11
11
  return pipe === -1 ? inner : inner.slice(0, pipe);
12
12
  }
13
+ var FOLDER_TO_TYPE = { Weapons: "weapon", Armor: "armor" };
13
14
  function vaultPathToSlug(target) {
14
15
  const segments = target.split("/").map((s) => s.trim()).filter((s) => s.length > 0);
15
16
  if (segments.length === 0) return "";
@@ -17,10 +18,13 @@ function vaultPathToSlug(target) {
17
18
  return slugify(segments[0]);
18
19
  }
19
20
  const compendiumName = segments[0];
21
+ const typeFolder = segments[segments.length - 2];
20
22
  const basename = segments[segments.length - 1];
21
23
  const prefix = slugify(compendiumName);
22
24
  const nameSlug = slugify(basename);
23
- return prefix && nameSlug ? `${prefix}_${nameSlug}` : nameSlug;
25
+ if (!prefix || !nameSlug) return nameSlug;
26
+ const type = FOLDER_TO_TYPE[typeFolder];
27
+ return type ? `${prefix}_${type}_${nameSlug}` : `${prefix}_${nameSlug}`;
24
28
  }
25
29
  function resolveBaseItem(baseItem, registry) {
26
30
  var _a, _b;
@@ -41,6 +45,7 @@ function resolveBaseItemOfType(baseItem, entityType, registry) {
41
45
  }
42
46
 
43
47
  export {
48
+ vaultPathToSlug,
44
49
  resolveBaseItem,
45
50
  resolveBaseItemOfType
46
51
  };