ttrpg-engine-dnd 0.1.0-alpha.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 (329) hide show
  1. package/CHANGELOG.md +69 -0
  2. package/CONTRIBUTING.md +98 -0
  3. package/DEVELOPMENT.md +70 -0
  4. package/LICENSE +21 -0
  5. package/README.md +247 -0
  6. package/VERSIONING.md +151 -0
  7. package/dist/content/index.d.ts +3 -0
  8. package/dist/content/index.d.ts.map +1 -0
  9. package/dist/content/pack.d.ts +1657 -0
  10. package/dist/content/pack.d.ts.map +1 -0
  11. package/dist/content/packs/starter.d.ts +4 -0
  12. package/dist/content/packs/starter.d.ts.map +1 -0
  13. package/dist/content/validate.d.ts +8 -0
  14. package/dist/content/validate.d.ts.map +1 -0
  15. package/dist/derive/ability-check.d.ts +26 -0
  16. package/dist/derive/ability-check.d.ts.map +1 -0
  17. package/dist/derive/ability.d.ts +9 -0
  18. package/dist/derive/ability.d.ts.map +1 -0
  19. package/dist/derive/ac.d.ts +19 -0
  20. package/dist/derive/ac.d.ts.map +1 -0
  21. package/dist/derive/action-economy.d.ts +17 -0
  22. package/dist/derive/action-economy.d.ts.map +1 -0
  23. package/dist/derive/attack.d.ts +20 -0
  24. package/dist/derive/attack.d.ts.map +1 -0
  25. package/dist/derive/character-view.d.ts +29 -0
  26. package/dist/derive/character-view.d.ts.map +1 -0
  27. package/dist/derive/damage-mitigation.d.ts +18 -0
  28. package/dist/derive/damage-mitigation.d.ts.map +1 -0
  29. package/dist/derive/effect-stack.d.ts +15 -0
  30. package/dist/derive/effect-stack.d.ts.map +1 -0
  31. package/dist/derive/encumbrance.d.ts +17 -0
  32. package/dist/derive/encumbrance.d.ts.map +1 -0
  33. package/dist/derive/index.d.ts +12 -0
  34. package/dist/derive/index.d.ts.map +1 -0
  35. package/dist/derive/save.d.ts +23 -0
  36. package/dist/derive/save.d.ts.map +1 -0
  37. package/dist/derive/spell-dc.d.ts +21 -0
  38. package/dist/derive/spell-dc.d.ts.map +1 -0
  39. package/dist/derive/spell-slots.d.ts +21 -0
  40. package/dist/derive/spell-slots.d.ts.map +1 -0
  41. package/dist/derive/terrain.d.ts +10 -0
  42. package/dist/derive/terrain.d.ts.map +1 -0
  43. package/dist/effects/builder.d.ts +66 -0
  44. package/dist/effects/builder.d.ts.map +1 -0
  45. package/dist/effects/formula.d.ts +12 -0
  46. package/dist/effects/formula.d.ts.map +1 -0
  47. package/dist/effects/index.d.ts +4 -0
  48. package/dist/effects/index.d.ts.map +1 -0
  49. package/dist/effects/predicate.d.ts +12 -0
  50. package/dist/effects/predicate.d.ts.map +1 -0
  51. package/dist/engine/apply.d.ts +5 -0
  52. package/dist/engine/apply.d.ts.map +1 -0
  53. package/dist/engine/commit.d.ts +12 -0
  54. package/dist/engine/commit.d.ts.map +1 -0
  55. package/dist/engine/conveniences.d.ts +7124 -0
  56. package/dist/engine/conveniences.d.ts.map +1 -0
  57. package/dist/engine/ids-utils.d.ts +2 -0
  58. package/dist/engine/ids-utils.d.ts.map +1 -0
  59. package/dist/engine/index.d.ts +107 -0
  60. package/dist/engine/index.d.ts.map +1 -0
  61. package/dist/engine/plan/action-surge.d.ts +10 -0
  62. package/dist/engine/plan/action-surge.d.ts.map +1 -0
  63. package/dist/engine/plan/attack.d.ts +30 -0
  64. package/dist/engine/plan/attack.d.ts.map +1 -0
  65. package/dist/engine/plan/cast-spell.d.ts +18 -0
  66. package/dist/engine/plan/cast-spell.d.ts.map +1 -0
  67. package/dist/engine/plan/checks.d.ts +26 -0
  68. package/dist/engine/plan/checks.d.ts.map +1 -0
  69. package/dist/engine/plan/concentration.d.ts +12 -0
  70. package/dist/engine/plan/concentration.d.ts.map +1 -0
  71. package/dist/engine/plan/contested.d.ts +28 -0
  72. package/dist/engine/plan/contested.d.ts.map +1 -0
  73. package/dist/engine/plan/encounter.d.ts +47 -0
  74. package/dist/engine/plan/encounter.d.ts.map +1 -0
  75. package/dist/engine/plan/falling.d.ts +11 -0
  76. package/dist/engine/plan/falling.d.ts.map +1 -0
  77. package/dist/engine/plan/index.d.ts +20 -0
  78. package/dist/engine/plan/index.d.ts.map +1 -0
  79. package/dist/engine/plan/level-up.d.ts +22 -0
  80. package/dist/engine/plan/level-up.d.ts.map +1 -0
  81. package/dist/engine/plan/movement.d.ts +25 -0
  82. package/dist/engine/plan/movement.d.ts.map +1 -0
  83. package/dist/engine/plan/multiattack.d.ts +12 -0
  84. package/dist/engine/plan/multiattack.d.ts.map +1 -0
  85. package/dist/engine/plan/npc.d.ts +21 -0
  86. package/dist/engine/plan/npc.d.ts.map +1 -0
  87. package/dist/engine/plan/offhand-attack.d.ts +13 -0
  88. package/dist/engine/plan/offhand-attack.d.ts.map +1 -0
  89. package/dist/engine/plan/opportunity-attack.d.ts +14 -0
  90. package/dist/engine/plan/opportunity-attack.d.ts.map +1 -0
  91. package/dist/engine/plan/reactive-spells.d.ts +34 -0
  92. package/dist/engine/plan/reactive-spells.d.ts.map +1 -0
  93. package/dist/engine/plan/rest.d.ts +16 -0
  94. package/dist/engine/plan/rest.d.ts.map +1 -0
  95. package/dist/engine/plan/travel.d.ts +21 -0
  96. package/dist/engine/plan/travel.d.ts.map +1 -0
  97. package/dist/engine/plan/weapon-mastery.d.ts +15 -0
  98. package/dist/engine/plan/weapon-mastery.d.ts.map +1 -0
  99. package/dist/engine/reducers/action-economy.d.ts +12 -0
  100. package/dist/engine/reducers/action-economy.d.ts.map +1 -0
  101. package/dist/engine/reducers/attack.d.ts +6 -0
  102. package/dist/engine/reducers/attack.d.ts.map +1 -0
  103. package/dist/engine/reducers/bastion.d.ts +10 -0
  104. package/dist/engine/reducers/bastion.d.ts.map +1 -0
  105. package/dist/engine/reducers/charges.d.ts +7 -0
  106. package/dist/engine/reducers/charges.d.ts.map +1 -0
  107. package/dist/engine/reducers/checks.d.ts +6 -0
  108. package/dist/engine/reducers/checks.d.ts.map +1 -0
  109. package/dist/engine/reducers/combat.d.ts +12 -0
  110. package/dist/engine/reducers/combat.d.ts.map +1 -0
  111. package/dist/engine/reducers/concentration.d.ts +6 -0
  112. package/dist/engine/reducers/concentration.d.ts.map +1 -0
  113. package/dist/engine/reducers/downtime.d.ts +5 -0
  114. package/dist/engine/reducers/downtime.d.ts.map +1 -0
  115. package/dist/engine/reducers/encounter.d.ts +11 -0
  116. package/dist/engine/reducers/encounter.d.ts.map +1 -0
  117. package/dist/engine/reducers/inventory.d.ts +9 -0
  118. package/dist/engine/reducers/inventory.d.ts.map +1 -0
  119. package/dist/engine/reducers/level-up.d.ts +7 -0
  120. package/dist/engine/reducers/level-up.d.ts.map +1 -0
  121. package/dist/engine/reducers/locations.d.ts +8 -0
  122. package/dist/engine/reducers/locations.d.ts.map +1 -0
  123. package/dist/engine/reducers/mounts-vehicles.d.ts +11 -0
  124. package/dist/engine/reducers/mounts-vehicles.d.ts.map +1 -0
  125. package/dist/engine/reducers/movement.d.ts +7 -0
  126. package/dist/engine/reducers/movement.d.ts.map +1 -0
  127. package/dist/engine/reducers/npc.d.ts +7 -0
  128. package/dist/engine/reducers/npc.d.ts.map +1 -0
  129. package/dist/engine/reducers/party.d.ts +10 -0
  130. package/dist/engine/reducers/party.d.ts.map +1 -0
  131. package/dist/engine/reducers/progression.d.ts +5 -0
  132. package/dist/engine/reducers/progression.d.ts.map +1 -0
  133. package/dist/engine/reducers/quests.d.ts +14 -0
  134. package/dist/engine/reducers/quests.d.ts.map +1 -0
  135. package/dist/engine/reducers/reactive-spells.d.ts +7 -0
  136. package/dist/engine/reducers/reactive-spells.d.ts.map +1 -0
  137. package/dist/engine/reducers/resources.d.ts +7 -0
  138. package/dist/engine/reducers/resources.d.ts.map +1 -0
  139. package/dist/engine/reducers/rest.d.ts +8 -0
  140. package/dist/engine/reducers/rest.d.ts.map +1 -0
  141. package/dist/engine/reducers/resurrection.d.ts +5 -0
  142. package/dist/engine/reducers/resurrection.d.ts.map +1 -0
  143. package/dist/engine/reducers/session.d.ts +8 -0
  144. package/dist/engine/reducers/session.d.ts.map +1 -0
  145. package/dist/engine/reducers/settings.d.ts +5 -0
  146. package/dist/engine/reducers/settings.d.ts.map +1 -0
  147. package/dist/engine/reducers/spellcasting.d.ts +7 -0
  148. package/dist/engine/reducers/spellcasting.d.ts.map +1 -0
  149. package/dist/engine/reducers/transformations.d.ts +8 -0
  150. package/dist/engine/reducers/transformations.d.ts.map +1 -0
  151. package/dist/engine/reducers/travel.d.ts +7 -0
  152. package/dist/engine/reducers/travel.d.ts.map +1 -0
  153. package/dist/engine/reducers/triggers.d.ts +9 -0
  154. package/dist/engine/reducers/triggers.d.ts.map +1 -0
  155. package/dist/engine/reducers/weapon-mastery.d.ts +5 -0
  156. package/dist/engine/reducers/weapon-mastery.d.ts.map +1 -0
  157. package/dist/engine/replay.d.ts +4 -0
  158. package/dist/engine/replay.d.ts.map +1 -0
  159. package/dist/engine/triggers/dispatch.d.ts +13 -0
  160. package/dist/engine/triggers/dispatch.d.ts.map +1 -0
  161. package/dist/engine/undo-redo.d.ts +4 -0
  162. package/dist/engine/undo-redo.d.ts.map +1 -0
  163. package/dist/handlers/context.d.ts +7 -0
  164. package/dist/handlers/context.d.ts.map +1 -0
  165. package/dist/handlers/index.d.ts +12 -0
  166. package/dist/handlers/index.d.ts.map +1 -0
  167. package/dist/ids.d.ts +64 -0
  168. package/dist/ids.d.ts.map +1 -0
  169. package/dist/index.d.ts +72 -0
  170. package/dist/index.d.ts.map +1 -0
  171. package/dist/internal/clock.d.ts +2 -0
  172. package/dist/internal/clock.d.ts.map +1 -0
  173. package/dist/internal/constants.d.ts +6 -0
  174. package/dist/internal/constants.d.ts.map +1 -0
  175. package/dist/internal/immer.d.ts +4 -0
  176. package/dist/internal/immer.d.ts.map +1 -0
  177. package/dist/internal/invariants.d.ts +5 -0
  178. package/dist/internal/invariants.d.ts.map +1 -0
  179. package/dist/migrations/index.d.ts +5 -0
  180. package/dist/migrations/index.d.ts.map +1 -0
  181. package/dist/rng/default.d.ts +6 -0
  182. package/dist/rng/default.d.ts.map +1 -0
  183. package/dist/rng/dice.d.ts +20 -0
  184. package/dist/rng/dice.d.ts.map +1 -0
  185. package/dist/rng/index.d.ts +10 -0
  186. package/dist/rng/index.d.ts.map +1 -0
  187. package/dist/rng/seeded.d.ts +9 -0
  188. package/dist/rng/seeded.d.ts.map +1 -0
  189. package/dist/rng/throw.d.ts +9 -0
  190. package/dist/rng/throw.d.ts.map +1 -0
  191. package/dist/schemas/content/background.d.ts +46 -0
  192. package/dist/schemas/content/background.d.ts.map +1 -0
  193. package/dist/schemas/content/class.d.ts +264 -0
  194. package/dist/schemas/content/class.d.ts.map +1 -0
  195. package/dist/schemas/content/condition.d.ts +90 -0
  196. package/dist/schemas/content/condition.d.ts.map +1 -0
  197. package/dist/schemas/content/feat.d.ts +25 -0
  198. package/dist/schemas/content/feat.d.ts.map +1 -0
  199. package/dist/schemas/content/index.d.ts +9 -0
  200. package/dist/schemas/content/index.d.ts.map +1 -0
  201. package/dist/schemas/content/item.d.ts +602 -0
  202. package/dist/schemas/content/item.d.ts.map +1 -0
  203. package/dist/schemas/content/monster.d.ts +203 -0
  204. package/dist/schemas/content/monster.d.ts.map +1 -0
  205. package/dist/schemas/content/species.d.ts +63 -0
  206. package/dist/schemas/content/species.d.ts.map +1 -0
  207. package/dist/schemas/content/spell.d.ts +253 -0
  208. package/dist/schemas/content/spell.d.ts.map +1 -0
  209. package/dist/schemas/effects.d.ts +175 -0
  210. package/dist/schemas/effects.d.ts.map +1 -0
  211. package/dist/schemas/events/action-economy.d.ts +38 -0
  212. package/dist/schemas/events/action-economy.d.ts.map +1 -0
  213. package/dist/schemas/events/attack.d.ts +139 -0
  214. package/dist/schemas/events/attack.d.ts.map +1 -0
  215. package/dist/schemas/events/bastion.d.ts +227 -0
  216. package/dist/schemas/events/bastion.d.ts.map +1 -0
  217. package/dist/schemas/events/charges.d.ts +110 -0
  218. package/dist/schemas/events/charges.d.ts.map +1 -0
  219. package/dist/schemas/events/checks.d.ts +103 -0
  220. package/dist/schemas/events/checks.d.ts.map +1 -0
  221. package/dist/schemas/events/combat.d.ts +308 -0
  222. package/dist/schemas/events/combat.d.ts.map +1 -0
  223. package/dist/schemas/events/concentration.d.ts +99 -0
  224. package/dist/schemas/events/concentration.d.ts.map +1 -0
  225. package/dist/schemas/events/downtime.d.ts +53 -0
  226. package/dist/schemas/events/downtime.d.ts.map +1 -0
  227. package/dist/schemas/events/encounter.d.ts +260 -0
  228. package/dist/schemas/events/encounter.d.ts.map +1 -0
  229. package/dist/schemas/events/envelope.d.ts +22 -0
  230. package/dist/schemas/events/envelope.d.ts.map +1 -0
  231. package/dist/schemas/events/index.d.ts +4594 -0
  232. package/dist/schemas/events/index.d.ts.map +1 -0
  233. package/dist/schemas/events/inventory.d.ts +253 -0
  234. package/dist/schemas/events/inventory.d.ts.map +1 -0
  235. package/dist/schemas/events/level-up.d.ts +141 -0
  236. package/dist/schemas/events/level-up.d.ts.map +1 -0
  237. package/dist/schemas/events/locations.d.ts +183 -0
  238. package/dist/schemas/events/locations.d.ts.map +1 -0
  239. package/dist/schemas/events/mounts-vehicles.d.ts +233 -0
  240. package/dist/schemas/events/mounts-vehicles.d.ts.map +1 -0
  241. package/dist/schemas/events/movement.d.ts +131 -0
  242. package/dist/schemas/events/movement.d.ts.map +1 -0
  243. package/dist/schemas/events/npc.d.ts +113 -0
  244. package/dist/schemas/events/npc.d.ts.map +1 -0
  245. package/dist/schemas/events/party.d.ts +260 -0
  246. package/dist/schemas/events/party.d.ts.map +1 -0
  247. package/dist/schemas/events/progression.d.ts +698 -0
  248. package/dist/schemas/events/progression.d.ts.map +1 -0
  249. package/dist/schemas/events/quests.d.ts +426 -0
  250. package/dist/schemas/events/quests.d.ts.map +1 -0
  251. package/dist/schemas/events/reactive-spells.d.ts +98 -0
  252. package/dist/schemas/events/reactive-spells.d.ts.map +1 -0
  253. package/dist/schemas/events/resources.d.ts +107 -0
  254. package/dist/schemas/events/resources.d.ts.map +1 -0
  255. package/dist/schemas/events/rest.d.ts +104 -0
  256. package/dist/schemas/events/rest.d.ts.map +1 -0
  257. package/dist/schemas/events/resurrection.d.ts +44 -0
  258. package/dist/schemas/events/resurrection.d.ts.map +1 -0
  259. package/dist/schemas/events/session.d.ts +144 -0
  260. package/dist/schemas/events/session.d.ts.map +1 -0
  261. package/dist/schemas/events/settings.d.ts +47 -0
  262. package/dist/schemas/events/settings.d.ts.map +1 -0
  263. package/dist/schemas/events/spellcasting.d.ts +103 -0
  264. package/dist/schemas/events/spellcasting.d.ts.map +1 -0
  265. package/dist/schemas/events/transformations.d.ts +279 -0
  266. package/dist/schemas/events/transformations.d.ts.map +1 -0
  267. package/dist/schemas/events/travel.d.ts +143 -0
  268. package/dist/schemas/events/travel.d.ts.map +1 -0
  269. package/dist/schemas/events/triggers.d.ts +60 -0
  270. package/dist/schemas/events/triggers.d.ts.map +1 -0
  271. package/dist/schemas/events/weapon-mastery.d.ts +38 -0
  272. package/dist/schemas/events/weapon-mastery.d.ts.map +1 -0
  273. package/dist/schemas/formula.d.ts +103 -0
  274. package/dist/schemas/formula.d.ts.map +1 -0
  275. package/dist/schemas/index.d.ts +8 -0
  276. package/dist/schemas/index.d.ts.map +1 -0
  277. package/dist/schemas/predicate.d.ts +72 -0
  278. package/dist/schemas/predicate.d.ts.map +1 -0
  279. package/dist/schemas/primitives.d.ts +156 -0
  280. package/dist/schemas/primitives.d.ts.map +1 -0
  281. package/dist/schemas/runtime/bastion.d.ts +130 -0
  282. package/dist/schemas/runtime/bastion.d.ts.map +1 -0
  283. package/dist/schemas/runtime/campaign.d.ts +2122 -0
  284. package/dist/schemas/runtime/campaign.d.ts.map +1 -0
  285. package/dist/schemas/runtime/character.d.ts +580 -0
  286. package/dist/schemas/runtime/character.d.ts.map +1 -0
  287. package/dist/schemas/runtime/currency.d.ts +9 -0
  288. package/dist/schemas/runtime/currency.d.ts.map +1 -0
  289. package/dist/schemas/runtime/downtime.d.ts +31 -0
  290. package/dist/schemas/runtime/downtime.d.ts.map +1 -0
  291. package/dist/schemas/runtime/effect-instance.d.ts +65 -0
  292. package/dist/schemas/runtime/effect-instance.d.ts.map +1 -0
  293. package/dist/schemas/runtime/encounter.d.ts +264 -0
  294. package/dist/schemas/runtime/encounter.d.ts.map +1 -0
  295. package/dist/schemas/runtime/in-game-time.d.ts +18 -0
  296. package/dist/schemas/runtime/in-game-time.d.ts.map +1 -0
  297. package/dist/schemas/runtime/index.d.ts +15 -0
  298. package/dist/schemas/runtime/index.d.ts.map +1 -0
  299. package/dist/schemas/runtime/item-instance.d.ts +66 -0
  300. package/dist/schemas/runtime/item-instance.d.ts.map +1 -0
  301. package/dist/schemas/runtime/location.d.ts +111 -0
  302. package/dist/schemas/runtime/location.d.ts.map +1 -0
  303. package/dist/schemas/runtime/party.d.ts +52 -0
  304. package/dist/schemas/runtime/party.d.ts.map +1 -0
  305. package/dist/schemas/runtime/pending-choice.d.ts +77 -0
  306. package/dist/schemas/runtime/pending-choice.d.ts.map +1 -0
  307. package/dist/schemas/runtime/quest.d.ts +207 -0
  308. package/dist/schemas/runtime/quest.d.ts.map +1 -0
  309. package/dist/schemas/runtime/session.d.ts +102 -0
  310. package/dist/schemas/runtime/session.d.ts.map +1 -0
  311. package/dist/schemas/runtime/settings.d.ts +26 -0
  312. package/dist/schemas/runtime/settings.d.ts.map +1 -0
  313. package/dist/schemas/runtime/travel.d.ts +34 -0
  314. package/dist/schemas/runtime/travel.d.ts.map +1 -0
  315. package/dist/schemas/runtime/vehicle.d.ts +49 -0
  316. package/dist/schemas/runtime/vehicle.d.ts.map +1 -0
  317. package/dist/ttrpg-engine-dnd.cjs +6 -0
  318. package/dist/ttrpg-engine-dnd.cjs.map +1 -0
  319. package/dist/ttrpg-engine-dnd.js +10464 -0
  320. package/dist/ttrpg-engine-dnd.js.map +1 -0
  321. package/dist/types/index.d.ts +8 -0
  322. package/dist/types/index.d.ts.map +1 -0
  323. package/dist/version.d.ts +3 -0
  324. package/dist/version.d.ts.map +1 -0
  325. package/docs/api-overview.md +111 -0
  326. package/docs/concepts.md +154 -0
  327. package/docs/getting-started.md +142 -0
  328. package/docs/recipes.md +302 -0
  329. package/package.json +83 -0
@@ -0,0 +1,203 @@
1
+ import { z } from 'zod';
2
+ export declare const MonsterStatblockSchema: z.ZodObject<{
3
+ id: z.ZodString;
4
+ name: z.ZodString;
5
+ size: z.ZodEnum<["Tiny", "Small", "Medium", "Large", "Huge", "Gargantuan"]>;
6
+ type: z.ZodEnum<["Aberration", "Beast", "Celestial", "Construct", "Dragon", "Elemental", "Fey", "Fiend", "Giant", "Humanoid", "Monstrosity", "Ooze", "Plant", "Undead"]>;
7
+ subtype: z.ZodOptional<z.ZodString>;
8
+ alignment: z.ZodDefault<z.ZodUnion<[z.ZodLiteral<"unaligned">, z.ZodLiteral<"any">, z.ZodObject<{
9
+ lawChaos: z.ZodEnum<["lawful", "neutral", "chaotic"]>;
10
+ goodEvil: z.ZodEnum<["good", "neutral", "evil"]>;
11
+ }, "strip", z.ZodTypeAny, {
12
+ lawChaos: "lawful" | "neutral" | "chaotic";
13
+ goodEvil: "neutral" | "good" | "evil";
14
+ }, {
15
+ lawChaos: "lawful" | "neutral" | "chaotic";
16
+ goodEvil: "neutral" | "good" | "evil";
17
+ }>]>>;
18
+ ac: z.ZodNumber;
19
+ hp: z.ZodObject<{
20
+ average: z.ZodNumber;
21
+ formula: z.ZodString;
22
+ }, "strip", z.ZodTypeAny, {
23
+ average: number;
24
+ formula: string;
25
+ }, {
26
+ average: number;
27
+ formula: string;
28
+ }>;
29
+ speed: z.ZodObject<{
30
+ walk: z.ZodDefault<z.ZodNumber>;
31
+ fly: z.ZodOptional<z.ZodNumber>;
32
+ swim: z.ZodOptional<z.ZodNumber>;
33
+ climb: z.ZodOptional<z.ZodNumber>;
34
+ burrow: z.ZodOptional<z.ZodNumber>;
35
+ hover: z.ZodOptional<z.ZodBoolean>;
36
+ }, "strip", z.ZodTypeAny, {
37
+ walk: number;
38
+ fly?: number | undefined;
39
+ swim?: number | undefined;
40
+ climb?: number | undefined;
41
+ burrow?: number | undefined;
42
+ hover?: boolean | undefined;
43
+ }, {
44
+ walk?: number | undefined;
45
+ fly?: number | undefined;
46
+ swim?: number | undefined;
47
+ climb?: number | undefined;
48
+ burrow?: number | undefined;
49
+ hover?: boolean | undefined;
50
+ }>;
51
+ abilityScores: z.ZodObject<{
52
+ STR: z.ZodNumber;
53
+ DEX: z.ZodNumber;
54
+ CON: z.ZodNumber;
55
+ INT: z.ZodNumber;
56
+ WIS: z.ZodNumber;
57
+ CHA: z.ZodNumber;
58
+ }, "strip", z.ZodTypeAny, {
59
+ STR: number;
60
+ DEX: number;
61
+ CON: number;
62
+ INT: number;
63
+ WIS: number;
64
+ CHA: number;
65
+ }, {
66
+ STR: number;
67
+ DEX: number;
68
+ CON: number;
69
+ INT: number;
70
+ WIS: number;
71
+ CHA: number;
72
+ }>;
73
+ savingThrows: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
74
+ skills: z.ZodOptional<z.ZodRecord<z.ZodEnum<["acrobatics", "animal-handling", "arcana", "athletics", "deception", "history", "insight", "intimidation", "investigation", "medicine", "nature", "perception", "performance", "persuasion", "religion", "sleight-of-hand", "stealth", "survival"]>, z.ZodNumber>>;
75
+ damageResistances: z.ZodDefault<z.ZodArray<z.ZodEnum<["acid", "bludgeoning", "cold", "fire", "force", "lightning", "necrotic", "piercing", "poison", "psychic", "radiant", "slashing", "thunder"]>, "many">>;
76
+ damageImmunities: z.ZodDefault<z.ZodArray<z.ZodEnum<["acid", "bludgeoning", "cold", "fire", "force", "lightning", "necrotic", "piercing", "poison", "psychic", "radiant", "slashing", "thunder"]>, "many">>;
77
+ damageVulnerabilities: z.ZodDefault<z.ZodArray<z.ZodEnum<["acid", "bludgeoning", "cold", "fire", "force", "lightning", "necrotic", "piercing", "poison", "psychic", "radiant", "slashing", "thunder"]>, "many">>;
78
+ conditionImmunities: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
79
+ senses: z.ZodOptional<z.ZodObject<{
80
+ darkvision: z.ZodOptional<z.ZodNumber>;
81
+ blindsight: z.ZodOptional<z.ZodNumber>;
82
+ tremorsense: z.ZodOptional<z.ZodNumber>;
83
+ truesight: z.ZodOptional<z.ZodNumber>;
84
+ passivePerceptionOverride: z.ZodOptional<z.ZodNumber>;
85
+ }, "strip", z.ZodTypeAny, {
86
+ darkvision?: number | undefined;
87
+ blindsight?: number | undefined;
88
+ tremorsense?: number | undefined;
89
+ truesight?: number | undefined;
90
+ passivePerceptionOverride?: number | undefined;
91
+ }, {
92
+ darkvision?: number | undefined;
93
+ blindsight?: number | undefined;
94
+ tremorsense?: number | undefined;
95
+ truesight?: number | undefined;
96
+ passivePerceptionOverride?: number | undefined;
97
+ }>>;
98
+ languages: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
99
+ cr: z.ZodNumber;
100
+ xp: z.ZodNumber;
101
+ proficiencyBonus: z.ZodNumber;
102
+ traits: z.ZodDefault<z.ZodArray<z.ZodType<import("../effects.js").Effect, z.ZodTypeDef, import("../effects.js").Effect>, "many">>;
103
+ }, "strip", z.ZodTypeAny, {
104
+ type: "Aberration" | "Beast" | "Celestial" | "Construct" | "Dragon" | "Elemental" | "Fey" | "Fiend" | "Giant" | "Humanoid" | "Monstrosity" | "Ooze" | "Plant" | "Undead";
105
+ ac: number;
106
+ speed: {
107
+ walk: number;
108
+ fly?: number | undefined;
109
+ swim?: number | undefined;
110
+ climb?: number | undefined;
111
+ burrow?: number | undefined;
112
+ hover?: boolean | undefined;
113
+ };
114
+ id: string;
115
+ name: string;
116
+ size: "Tiny" | "Small" | "Medium" | "Large" | "Huge" | "Gargantuan";
117
+ languages: string[];
118
+ traits: import("../effects.js").Effect[];
119
+ proficiencyBonus: number;
120
+ alignment: "unaligned" | "any" | {
121
+ lawChaos: "lawful" | "neutral" | "chaotic";
122
+ goodEvil: "neutral" | "good" | "evil";
123
+ };
124
+ hp: {
125
+ average: number;
126
+ formula: string;
127
+ };
128
+ abilityScores: {
129
+ STR: number;
130
+ DEX: number;
131
+ CON: number;
132
+ INT: number;
133
+ WIS: number;
134
+ CHA: number;
135
+ };
136
+ damageResistances: ("acid" | "bludgeoning" | "cold" | "fire" | "force" | "lightning" | "necrotic" | "piercing" | "poison" | "psychic" | "radiant" | "slashing" | "thunder")[];
137
+ damageImmunities: ("acid" | "bludgeoning" | "cold" | "fire" | "force" | "lightning" | "necrotic" | "piercing" | "poison" | "psychic" | "radiant" | "slashing" | "thunder")[];
138
+ damageVulnerabilities: ("acid" | "bludgeoning" | "cold" | "fire" | "force" | "lightning" | "necrotic" | "piercing" | "poison" | "psychic" | "radiant" | "slashing" | "thunder")[];
139
+ conditionImmunities: string[];
140
+ cr: number;
141
+ xp: number;
142
+ subtype?: string | undefined;
143
+ savingThrows?: Record<string, number> | undefined;
144
+ skills?: Partial<Record<"acrobatics" | "animal-handling" | "arcana" | "athletics" | "deception" | "history" | "insight" | "intimidation" | "investigation" | "medicine" | "nature" | "perception" | "performance" | "persuasion" | "religion" | "sleight-of-hand" | "stealth" | "survival", number>> | undefined;
145
+ senses?: {
146
+ darkvision?: number | undefined;
147
+ blindsight?: number | undefined;
148
+ tremorsense?: number | undefined;
149
+ truesight?: number | undefined;
150
+ passivePerceptionOverride?: number | undefined;
151
+ } | undefined;
152
+ }, {
153
+ type: "Aberration" | "Beast" | "Celestial" | "Construct" | "Dragon" | "Elemental" | "Fey" | "Fiend" | "Giant" | "Humanoid" | "Monstrosity" | "Ooze" | "Plant" | "Undead";
154
+ ac: number;
155
+ speed: {
156
+ walk?: number | undefined;
157
+ fly?: number | undefined;
158
+ swim?: number | undefined;
159
+ climb?: number | undefined;
160
+ burrow?: number | undefined;
161
+ hover?: boolean | undefined;
162
+ };
163
+ id: string;
164
+ name: string;
165
+ size: "Tiny" | "Small" | "Medium" | "Large" | "Huge" | "Gargantuan";
166
+ proficiencyBonus: number;
167
+ hp: {
168
+ average: number;
169
+ formula: string;
170
+ };
171
+ abilityScores: {
172
+ STR: number;
173
+ DEX: number;
174
+ CON: number;
175
+ INT: number;
176
+ WIS: number;
177
+ CHA: number;
178
+ };
179
+ cr: number;
180
+ xp: number;
181
+ languages?: string[] | undefined;
182
+ traits?: import("../effects.js").Effect[] | undefined;
183
+ subtype?: string | undefined;
184
+ alignment?: "unaligned" | "any" | {
185
+ lawChaos: "lawful" | "neutral" | "chaotic";
186
+ goodEvil: "neutral" | "good" | "evil";
187
+ } | undefined;
188
+ savingThrows?: Record<string, number> | undefined;
189
+ skills?: Partial<Record<"acrobatics" | "animal-handling" | "arcana" | "athletics" | "deception" | "history" | "insight" | "intimidation" | "investigation" | "medicine" | "nature" | "perception" | "performance" | "persuasion" | "religion" | "sleight-of-hand" | "stealth" | "survival", number>> | undefined;
190
+ damageResistances?: ("acid" | "bludgeoning" | "cold" | "fire" | "force" | "lightning" | "necrotic" | "piercing" | "poison" | "psychic" | "radiant" | "slashing" | "thunder")[] | undefined;
191
+ damageImmunities?: ("acid" | "bludgeoning" | "cold" | "fire" | "force" | "lightning" | "necrotic" | "piercing" | "poison" | "psychic" | "radiant" | "slashing" | "thunder")[] | undefined;
192
+ damageVulnerabilities?: ("acid" | "bludgeoning" | "cold" | "fire" | "force" | "lightning" | "necrotic" | "piercing" | "poison" | "psychic" | "radiant" | "slashing" | "thunder")[] | undefined;
193
+ conditionImmunities?: string[] | undefined;
194
+ senses?: {
195
+ darkvision?: number | undefined;
196
+ blindsight?: number | undefined;
197
+ tremorsense?: number | undefined;
198
+ truesight?: number | undefined;
199
+ passivePerceptionOverride?: number | undefined;
200
+ } | undefined;
201
+ }>;
202
+ export type MonsterStatblock = z.infer<typeof MonsterStatblockSchema>;
203
+ //# sourceMappingURL=monster.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"monster.d.ts","sourceRoot":"","sources":["../../../src/schemas/content/monster.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAaxB,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA0BjC,CAAC;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC"}
@@ -0,0 +1,63 @@
1
+ import { z } from 'zod';
2
+ export declare const SpeciesSchema: z.ZodObject<{
3
+ id: z.ZodString;
4
+ name: z.ZodString;
5
+ size: z.ZodEnum<["Tiny", "Small", "Medium", "Large", "Huge", "Gargantuan"]>;
6
+ creatureType: z.ZodDefault<z.ZodEnum<["Aberration", "Beast", "Celestial", "Construct", "Dragon", "Elemental", "Fey", "Fiend", "Giant", "Humanoid", "Monstrosity", "Ooze", "Plant", "Undead"]>>;
7
+ speed: z.ZodObject<{
8
+ walk: z.ZodDefault<z.ZodNumber>;
9
+ fly: z.ZodOptional<z.ZodNumber>;
10
+ swim: z.ZodOptional<z.ZodNumber>;
11
+ climb: z.ZodOptional<z.ZodNumber>;
12
+ burrow: z.ZodOptional<z.ZodNumber>;
13
+ hover: z.ZodOptional<z.ZodBoolean>;
14
+ }, "strip", z.ZodTypeAny, {
15
+ walk: number;
16
+ fly?: number | undefined;
17
+ swim?: number | undefined;
18
+ climb?: number | undefined;
19
+ burrow?: number | undefined;
20
+ hover?: boolean | undefined;
21
+ }, {
22
+ walk?: number | undefined;
23
+ fly?: number | undefined;
24
+ swim?: number | undefined;
25
+ climb?: number | undefined;
26
+ burrow?: number | undefined;
27
+ hover?: boolean | undefined;
28
+ }>;
29
+ languages: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
30
+ traits: z.ZodDefault<z.ZodArray<z.ZodType<import("../effects.js").Effect, z.ZodTypeDef, import("../effects.js").Effect>, "many">>;
31
+ }, "strip", z.ZodTypeAny, {
32
+ speed: {
33
+ walk: number;
34
+ fly?: number | undefined;
35
+ swim?: number | undefined;
36
+ climb?: number | undefined;
37
+ burrow?: number | undefined;
38
+ hover?: boolean | undefined;
39
+ };
40
+ id: string;
41
+ name: string;
42
+ size: "Tiny" | "Small" | "Medium" | "Large" | "Huge" | "Gargantuan";
43
+ creatureType: "Aberration" | "Beast" | "Celestial" | "Construct" | "Dragon" | "Elemental" | "Fey" | "Fiend" | "Giant" | "Humanoid" | "Monstrosity" | "Ooze" | "Plant" | "Undead";
44
+ languages: string[];
45
+ traits: import("../effects.js").Effect[];
46
+ }, {
47
+ speed: {
48
+ walk?: number | undefined;
49
+ fly?: number | undefined;
50
+ swim?: number | undefined;
51
+ climb?: number | undefined;
52
+ burrow?: number | undefined;
53
+ hover?: boolean | undefined;
54
+ };
55
+ id: string;
56
+ name: string;
57
+ size: "Tiny" | "Small" | "Medium" | "Large" | "Huge" | "Gargantuan";
58
+ creatureType?: "Aberration" | "Beast" | "Celestial" | "Construct" | "Dragon" | "Elemental" | "Fey" | "Fiend" | "Giant" | "Humanoid" | "Monstrosity" | "Ooze" | "Plant" | "Undead" | undefined;
59
+ languages?: string[] | undefined;
60
+ traits?: import("../effects.js").Effect[] | undefined;
61
+ }>;
62
+ export type Species = z.infer<typeof SpeciesSchema>;
63
+ //# sourceMappingURL=species.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"species.d.ts","sourceRoot":"","sources":["../../../src/schemas/content/species.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAQxB,CAAC;AACH,MAAM,MAAM,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC"}
@@ -0,0 +1,253 @@
1
+ import { z } from 'zod';
2
+ export declare const SPELL_AREA_SHAPES: readonly ["cone", "cube", "line", "sphere", "cylinder"];
3
+ export declare const SpellAreaShapeSchema: z.ZodEnum<["cone", "cube", "line", "sphere", "cylinder"]>;
4
+ export type SpellAreaShape = z.infer<typeof SpellAreaShapeSchema>;
5
+ export declare const SpellTargetingSchema: z.ZodObject<{
6
+ shape: z.ZodEnum<["cone", "cube", "line", "sphere", "cylinder"]>;
7
+ size: z.ZodNumber;
8
+ }, "strip", z.ZodTypeAny, {
9
+ size: number;
10
+ shape: "cone" | "cube" | "line" | "sphere" | "cylinder";
11
+ }, {
12
+ size: number;
13
+ shape: "cone" | "cube" | "line" | "sphere" | "cylinder";
14
+ }>;
15
+ export type SpellTargeting = z.infer<typeof SpellTargetingSchema>;
16
+ export declare const cantripExtraDice: (characterLevel: number) => number;
17
+ export declare const SpellMechanicSchema: z.ZodDiscriminatedUnion<"kind", [z.ZodObject<{
18
+ kind: z.ZodLiteral<"attack">;
19
+ damageDice: z.ZodString;
20
+ damageType: z.ZodEnum<["acid", "bludgeoning", "cold", "fire", "force", "lightning", "necrotic", "piercing", "poison", "psychic", "radiant", "slashing", "thunder"]>;
21
+ extraDicePerSlotLevel: z.ZodOptional<z.ZodNumber>;
22
+ cantripScalingDice: z.ZodOptional<z.ZodString>;
23
+ }, "strip", z.ZodTypeAny, {
24
+ kind: "attack";
25
+ damageType: "acid" | "bludgeoning" | "cold" | "fire" | "force" | "lightning" | "necrotic" | "piercing" | "poison" | "psychic" | "radiant" | "slashing" | "thunder";
26
+ damageDice: string;
27
+ extraDicePerSlotLevel?: number | undefined;
28
+ cantripScalingDice?: string | undefined;
29
+ }, {
30
+ kind: "attack";
31
+ damageType: "acid" | "bludgeoning" | "cold" | "fire" | "force" | "lightning" | "necrotic" | "piercing" | "poison" | "psychic" | "radiant" | "slashing" | "thunder";
32
+ damageDice: string;
33
+ extraDicePerSlotLevel?: number | undefined;
34
+ cantripScalingDice?: string | undefined;
35
+ }>, z.ZodObject<{
36
+ kind: z.ZodLiteral<"save">;
37
+ ability: z.ZodEnum<["STR", "DEX", "CON", "INT", "WIS", "CHA"]>;
38
+ damageDice: z.ZodOptional<z.ZodString>;
39
+ damageType: z.ZodOptional<z.ZodEnum<["acid", "bludgeoning", "cold", "fire", "force", "lightning", "necrotic", "piercing", "poison", "psychic", "radiant", "slashing", "thunder"]>>;
40
+ halfOnSuccess: z.ZodOptional<z.ZodBoolean>;
41
+ conditionOnFail: z.ZodOptional<z.ZodString>;
42
+ extraDicePerSlotLevel: z.ZodOptional<z.ZodNumber>;
43
+ cantripScalingDice: z.ZodOptional<z.ZodString>;
44
+ }, "strip", z.ZodTypeAny, {
45
+ kind: "save";
46
+ ability: "STR" | "DEX" | "CON" | "INT" | "WIS" | "CHA";
47
+ damageType?: "acid" | "bludgeoning" | "cold" | "fire" | "force" | "lightning" | "necrotic" | "piercing" | "poison" | "psychic" | "radiant" | "slashing" | "thunder" | undefined;
48
+ damageDice?: string | undefined;
49
+ extraDicePerSlotLevel?: number | undefined;
50
+ cantripScalingDice?: string | undefined;
51
+ halfOnSuccess?: boolean | undefined;
52
+ conditionOnFail?: string | undefined;
53
+ }, {
54
+ kind: "save";
55
+ ability: "STR" | "DEX" | "CON" | "INT" | "WIS" | "CHA";
56
+ damageType?: "acid" | "bludgeoning" | "cold" | "fire" | "force" | "lightning" | "necrotic" | "piercing" | "poison" | "psychic" | "radiant" | "slashing" | "thunder" | undefined;
57
+ damageDice?: string | undefined;
58
+ extraDicePerSlotLevel?: number | undefined;
59
+ cantripScalingDice?: string | undefined;
60
+ halfOnSuccess?: boolean | undefined;
61
+ conditionOnFail?: string | undefined;
62
+ }>, z.ZodObject<{
63
+ kind: z.ZodLiteral<"heal">;
64
+ amountDice: z.ZodString;
65
+ extraDicePerSlotLevel: z.ZodOptional<z.ZodNumber>;
66
+ }, "strip", z.ZodTypeAny, {
67
+ kind: "heal";
68
+ amountDice: string;
69
+ extraDicePerSlotLevel?: number | undefined;
70
+ }, {
71
+ kind: "heal";
72
+ amountDice: string;
73
+ extraDicePerSlotLevel?: number | undefined;
74
+ }>]>;
75
+ export type SpellMechanic = z.infer<typeof SpellMechanicSchema>;
76
+ export declare const SpellSchema: z.ZodObject<{
77
+ id: z.ZodString;
78
+ name: z.ZodString;
79
+ level: z.ZodNumber;
80
+ school: z.ZodEnum<["abjuration", "conjuration", "divination", "enchantment", "evocation", "illusion", "necromancy", "transmutation"]>;
81
+ castingTime: z.ZodString;
82
+ range: z.ZodString;
83
+ components: z.ZodObject<{
84
+ verbal: z.ZodDefault<z.ZodBoolean>;
85
+ somatic: z.ZodDefault<z.ZodBoolean>;
86
+ material: z.ZodOptional<z.ZodString>;
87
+ }, "strip", z.ZodTypeAny, {
88
+ verbal: boolean;
89
+ somatic: boolean;
90
+ material?: string | undefined;
91
+ }, {
92
+ verbal?: boolean | undefined;
93
+ somatic?: boolean | undefined;
94
+ material?: string | undefined;
95
+ }>;
96
+ duration: z.ZodString;
97
+ concentration: z.ZodDefault<z.ZodBoolean>;
98
+ ritual: z.ZodDefault<z.ZodBoolean>;
99
+ classes: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
100
+ description: z.ZodOptional<z.ZodString>;
101
+ mechanicalEffects: z.ZodDefault<z.ZodArray<z.ZodDiscriminatedUnion<"kind", [z.ZodObject<{
102
+ kind: z.ZodLiteral<"attack">;
103
+ damageDice: z.ZodString;
104
+ damageType: z.ZodEnum<["acid", "bludgeoning", "cold", "fire", "force", "lightning", "necrotic", "piercing", "poison", "psychic", "radiant", "slashing", "thunder"]>;
105
+ extraDicePerSlotLevel: z.ZodOptional<z.ZodNumber>;
106
+ cantripScalingDice: z.ZodOptional<z.ZodString>;
107
+ }, "strip", z.ZodTypeAny, {
108
+ kind: "attack";
109
+ damageType: "acid" | "bludgeoning" | "cold" | "fire" | "force" | "lightning" | "necrotic" | "piercing" | "poison" | "psychic" | "radiant" | "slashing" | "thunder";
110
+ damageDice: string;
111
+ extraDicePerSlotLevel?: number | undefined;
112
+ cantripScalingDice?: string | undefined;
113
+ }, {
114
+ kind: "attack";
115
+ damageType: "acid" | "bludgeoning" | "cold" | "fire" | "force" | "lightning" | "necrotic" | "piercing" | "poison" | "psychic" | "radiant" | "slashing" | "thunder";
116
+ damageDice: string;
117
+ extraDicePerSlotLevel?: number | undefined;
118
+ cantripScalingDice?: string | undefined;
119
+ }>, z.ZodObject<{
120
+ kind: z.ZodLiteral<"save">;
121
+ ability: z.ZodEnum<["STR", "DEX", "CON", "INT", "WIS", "CHA"]>;
122
+ damageDice: z.ZodOptional<z.ZodString>;
123
+ damageType: z.ZodOptional<z.ZodEnum<["acid", "bludgeoning", "cold", "fire", "force", "lightning", "necrotic", "piercing", "poison", "psychic", "radiant", "slashing", "thunder"]>>;
124
+ halfOnSuccess: z.ZodOptional<z.ZodBoolean>;
125
+ conditionOnFail: z.ZodOptional<z.ZodString>;
126
+ extraDicePerSlotLevel: z.ZodOptional<z.ZodNumber>;
127
+ cantripScalingDice: z.ZodOptional<z.ZodString>;
128
+ }, "strip", z.ZodTypeAny, {
129
+ kind: "save";
130
+ ability: "STR" | "DEX" | "CON" | "INT" | "WIS" | "CHA";
131
+ damageType?: "acid" | "bludgeoning" | "cold" | "fire" | "force" | "lightning" | "necrotic" | "piercing" | "poison" | "psychic" | "radiant" | "slashing" | "thunder" | undefined;
132
+ damageDice?: string | undefined;
133
+ extraDicePerSlotLevel?: number | undefined;
134
+ cantripScalingDice?: string | undefined;
135
+ halfOnSuccess?: boolean | undefined;
136
+ conditionOnFail?: string | undefined;
137
+ }, {
138
+ kind: "save";
139
+ ability: "STR" | "DEX" | "CON" | "INT" | "WIS" | "CHA";
140
+ damageType?: "acid" | "bludgeoning" | "cold" | "fire" | "force" | "lightning" | "necrotic" | "piercing" | "poison" | "psychic" | "radiant" | "slashing" | "thunder" | undefined;
141
+ damageDice?: string | undefined;
142
+ extraDicePerSlotLevel?: number | undefined;
143
+ cantripScalingDice?: string | undefined;
144
+ halfOnSuccess?: boolean | undefined;
145
+ conditionOnFail?: string | undefined;
146
+ }>, z.ZodObject<{
147
+ kind: z.ZodLiteral<"heal">;
148
+ amountDice: z.ZodString;
149
+ extraDicePerSlotLevel: z.ZodOptional<z.ZodNumber>;
150
+ }, "strip", z.ZodTypeAny, {
151
+ kind: "heal";
152
+ amountDice: string;
153
+ extraDicePerSlotLevel?: number | undefined;
154
+ }, {
155
+ kind: "heal";
156
+ amountDice: string;
157
+ extraDicePerSlotLevel?: number | undefined;
158
+ }>]>, "many">>;
159
+ targeting: z.ZodOptional<z.ZodObject<{
160
+ shape: z.ZodEnum<["cone", "cube", "line", "sphere", "cylinder"]>;
161
+ size: z.ZodNumber;
162
+ }, "strip", z.ZodTypeAny, {
163
+ size: number;
164
+ shape: "cone" | "cube" | "line" | "sphere" | "cylinder";
165
+ }, {
166
+ size: number;
167
+ shape: "cone" | "cube" | "line" | "sphere" | "cylinder";
168
+ }>>;
169
+ }, "strip", z.ZodTypeAny, {
170
+ level: number;
171
+ id: string;
172
+ range: string;
173
+ name: string;
174
+ school: "abjuration" | "conjuration" | "divination" | "enchantment" | "evocation" | "illusion" | "necromancy" | "transmutation";
175
+ castingTime: string;
176
+ components: {
177
+ verbal: boolean;
178
+ somatic: boolean;
179
+ material?: string | undefined;
180
+ };
181
+ duration: string;
182
+ concentration: boolean;
183
+ ritual: boolean;
184
+ classes: string[];
185
+ mechanicalEffects: ({
186
+ kind: "attack";
187
+ damageType: "acid" | "bludgeoning" | "cold" | "fire" | "force" | "lightning" | "necrotic" | "piercing" | "poison" | "psychic" | "radiant" | "slashing" | "thunder";
188
+ damageDice: string;
189
+ extraDicePerSlotLevel?: number | undefined;
190
+ cantripScalingDice?: string | undefined;
191
+ } | {
192
+ kind: "save";
193
+ ability: "STR" | "DEX" | "CON" | "INT" | "WIS" | "CHA";
194
+ damageType?: "acid" | "bludgeoning" | "cold" | "fire" | "force" | "lightning" | "necrotic" | "piercing" | "poison" | "psychic" | "radiant" | "slashing" | "thunder" | undefined;
195
+ damageDice?: string | undefined;
196
+ extraDicePerSlotLevel?: number | undefined;
197
+ cantripScalingDice?: string | undefined;
198
+ halfOnSuccess?: boolean | undefined;
199
+ conditionOnFail?: string | undefined;
200
+ } | {
201
+ kind: "heal";
202
+ amountDice: string;
203
+ extraDicePerSlotLevel?: number | undefined;
204
+ })[];
205
+ description?: string | undefined;
206
+ targeting?: {
207
+ size: number;
208
+ shape: "cone" | "cube" | "line" | "sphere" | "cylinder";
209
+ } | undefined;
210
+ }, {
211
+ level: number;
212
+ id: string;
213
+ range: string;
214
+ name: string;
215
+ school: "abjuration" | "conjuration" | "divination" | "enchantment" | "evocation" | "illusion" | "necromancy" | "transmutation";
216
+ castingTime: string;
217
+ components: {
218
+ verbal?: boolean | undefined;
219
+ somatic?: boolean | undefined;
220
+ material?: string | undefined;
221
+ };
222
+ duration: string;
223
+ description?: string | undefined;
224
+ concentration?: boolean | undefined;
225
+ ritual?: boolean | undefined;
226
+ classes?: string[] | undefined;
227
+ mechanicalEffects?: ({
228
+ kind: "attack";
229
+ damageType: "acid" | "bludgeoning" | "cold" | "fire" | "force" | "lightning" | "necrotic" | "piercing" | "poison" | "psychic" | "radiant" | "slashing" | "thunder";
230
+ damageDice: string;
231
+ extraDicePerSlotLevel?: number | undefined;
232
+ cantripScalingDice?: string | undefined;
233
+ } | {
234
+ kind: "save";
235
+ ability: "STR" | "DEX" | "CON" | "INT" | "WIS" | "CHA";
236
+ damageType?: "acid" | "bludgeoning" | "cold" | "fire" | "force" | "lightning" | "necrotic" | "piercing" | "poison" | "psychic" | "radiant" | "slashing" | "thunder" | undefined;
237
+ damageDice?: string | undefined;
238
+ extraDicePerSlotLevel?: number | undefined;
239
+ cantripScalingDice?: string | undefined;
240
+ halfOnSuccess?: boolean | undefined;
241
+ conditionOnFail?: string | undefined;
242
+ } | {
243
+ kind: "heal";
244
+ amountDice: string;
245
+ extraDicePerSlotLevel?: number | undefined;
246
+ })[] | undefined;
247
+ targeting?: {
248
+ size: number;
249
+ shape: "cone" | "cube" | "line" | "sphere" | "cylinder";
250
+ } | undefined;
251
+ }>;
252
+ export type Spell = z.infer<typeof SpellSchema>;
253
+ //# sourceMappingURL=spell.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"spell.d.ts","sourceRoot":"","sources":["../../../src/schemas/content/spell.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAoCxB,eAAO,MAAM,iBAAiB,yDAA0D,CAAC;AACzF,eAAO,MAAM,oBAAoB,2DAA4B,CAAC;AAC9D,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAElE,eAAO,MAAM,oBAAoB;;;;;;;;;EAG/B,CAAC;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAElE,eAAO,MAAM,gBAAgB,GAAI,gBAAgB,MAAM,KAAG,MAMzD,CAAC;AAEF,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAI9B,CAAC;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEhE,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAmBtB,CAAC;AACH,MAAM,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,CAAC"}