rpg-engine 0.0.0-stage → 0.1.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 (1886) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +99 -2
  3. package/dist/campaign/create-campaign.d.ts +6 -0
  4. package/dist/campaign/create-campaign.js +71 -0
  5. package/dist/campaign/find-campaign.d.ts +8 -0
  6. package/dist/campaign/find-campaign.js +28 -0
  7. package/dist/campaign/host-files.d.ts +16 -0
  8. package/dist/campaign/host-files.js +131 -0
  9. package/dist/campaign/index.d.ts +5 -0
  10. package/dist/campaign/index.js +6 -0
  11. package/dist/campaign/settings.d.ts +185 -0
  12. package/dist/campaign/settings.js +399 -0
  13. package/dist/campaign/state.d.ts +15 -0
  14. package/dist/campaign/state.js +52 -0
  15. package/dist/cli.d.ts +2 -0
  16. package/dist/cli.js +19 -0
  17. package/dist/command-line.d.ts +7 -0
  18. package/dist/command-line.js +140 -0
  19. package/dist/commands/advance.d.ts +7 -0
  20. package/dist/commands/advance.js +80 -0
  21. package/dist/commands/ask.d.ts +33 -0
  22. package/dist/commands/ask.js +280 -0
  23. package/dist/commands/change.d.ts +69 -0
  24. package/dist/commands/change.js +604 -0
  25. package/dist/commands/config.d.ts +59 -0
  26. package/dist/commands/config.js +512 -0
  27. package/dist/commands/effect-layer.d.ts +22 -0
  28. package/dist/commands/effect-layer.js +84 -0
  29. package/dist/commands/effect.d.ts +27 -0
  30. package/dist/commands/effect.js +369 -0
  31. package/dist/commands/find.d.ts +34 -0
  32. package/dist/commands/find.js +64 -0
  33. package/dist/commands/game-advance.d.ts +50 -0
  34. package/dist/commands/game-advance.js +103 -0
  35. package/dist/commands/game-effects.d.ts +68 -0
  36. package/dist/commands/game-effects.js +196 -0
  37. package/dist/commands/game-environment.d.ts +16 -0
  38. package/dist/commands/game-environment.js +24 -0
  39. package/dist/commands/game-events.d.ts +84 -0
  40. package/dist/commands/game-events.js +325 -0
  41. package/dist/commands/game-experience.d.ts +57 -0
  42. package/dist/commands/game-experience.js +119 -0
  43. package/dist/commands/game-grid-moves.d.ts +33 -0
  44. package/dist/commands/game-grid-moves.js +94 -0
  45. package/dist/commands/game-grids.d.ts +52 -0
  46. package/dist/commands/game-grids.js +162 -0
  47. package/dist/commands/game-here.d.ts +40 -0
  48. package/dist/commands/game-here.js +100 -0
  49. package/dist/commands/game-images.d.ts +31 -0
  50. package/dist/commands/game-images.js +87 -0
  51. package/dist/commands/game-journey.d.ts +62 -0
  52. package/dist/commands/game-journey.js +163 -0
  53. package/dist/commands/game-knowledge.d.ts +32 -0
  54. package/dist/commands/game-knowledge.js +120 -0
  55. package/dist/commands/game-maps.d.ts +20 -0
  56. package/dist/commands/game-maps.js +51 -0
  57. package/dist/commands/game-mode.d.ts +31 -0
  58. package/dist/commands/game-mode.js +128 -0
  59. package/dist/commands/game-money.d.ts +17 -0
  60. package/dist/commands/game-money.js +55 -0
  61. package/dist/commands/game-moods.d.ts +22 -0
  62. package/dist/commands/game-moods.js +32 -0
  63. package/dist/commands/game-moves.d.ts +14 -0
  64. package/dist/commands/game-moves.js +43 -0
  65. package/dist/commands/game-open.d.ts +18 -0
  66. package/dist/commands/game-open.js +47 -0
  67. package/dist/commands/game-outside.d.ts +14 -0
  68. package/dist/commands/game-outside.js +151 -0
  69. package/dist/commands/game-positions.d.ts +52 -0
  70. package/dist/commands/game-positions.js +244 -0
  71. package/dist/commands/game-quests.d.ts +46 -0
  72. package/dist/commands/game-quests.js +97 -0
  73. package/dist/commands/game-recipes.d.ts +34 -0
  74. package/dist/commands/game-recipes.js +109 -0
  75. package/dist/commands/game-reminders.d.ts +22 -0
  76. package/dist/commands/game-reminders.js +74 -0
  77. package/dist/commands/game-roads.d.ts +90 -0
  78. package/dist/commands/game-roads.js +284 -0
  79. package/dist/commands/game-rules.d.ts +17 -0
  80. package/dist/commands/game-rules.js +30 -0
  81. package/dist/commands/game-saves.d.ts +59 -0
  82. package/dist/commands/game-saves.js +249 -0
  83. package/dist/commands/game-scene.d.ts +69 -0
  84. package/dist/commands/game-scene.js +285 -0
  85. package/dist/commands/game-thresholds.d.ts +13 -0
  86. package/dist/commands/game-thresholds.js +41 -0
  87. package/dist/commands/game-time.d.ts +17 -0
  88. package/dist/commands/game-time.js +42 -0
  89. package/dist/commands/game-view-journal.d.ts +145 -0
  90. package/dist/commands/game-view-journal.js +129 -0
  91. package/dist/commands/game-view-map.d.ts +78 -0
  92. package/dist/commands/game-view-map.js +266 -0
  93. package/dist/commands/game-view-place.d.ts +160 -0
  94. package/dist/commands/game-view-place.js +388 -0
  95. package/dist/commands/game-world.d.ts +60 -0
  96. package/dist/commands/game-world.js +204 -0
  97. package/dist/commands/image.d.ts +19 -0
  98. package/dist/commands/image.js +185 -0
  99. package/dist/commands/index.d.ts +3 -0
  100. package/dist/commands/index.js +57 -0
  101. package/dist/commands/init.d.ts +23 -0
  102. package/dist/commands/init.js +44 -0
  103. package/dist/commands/install.d.ts +23 -0
  104. package/dist/commands/install.js +68 -0
  105. package/dist/commands/instructions.d.ts +4 -0
  106. package/dist/commands/instructions.js +97 -0
  107. package/dist/commands/mode.d.ts +23 -0
  108. package/dist/commands/mode.js +84 -0
  109. package/dist/commands/mood.d.ts +34 -0
  110. package/dist/commands/mood.js +113 -0
  111. package/dist/commands/move.d.ts +34 -0
  112. package/dist/commands/move.js +274 -0
  113. package/dist/commands/notes.d.ts +10 -0
  114. package/dist/commands/notes.js +37 -0
  115. package/dist/commands/page-counters.d.ts +24 -0
  116. package/dist/commands/page-counters.js +84 -0
  117. package/dist/commands/parts.d.ts +16 -0
  118. package/dist/commands/parts.js +49 -0
  119. package/dist/commands/problems.d.ts +5 -0
  120. package/dist/commands/problems.js +47 -0
  121. package/dist/commands/progression.d.ts +68 -0
  122. package/dist/commands/progression.js +206 -0
  123. package/dist/commands/rename.d.ts +16 -0
  124. package/dist/commands/rename.js +116 -0
  125. package/dist/commands/reveal.d.ts +25 -0
  126. package/dist/commands/reveal.js +193 -0
  127. package/dist/commands/roll.d.ts +56 -0
  128. package/dist/commands/roll.js +302 -0
  129. package/dist/commands/route.d.ts +19 -0
  130. package/dist/commands/route.js +110 -0
  131. package/dist/commands/rules.d.ts +48 -0
  132. package/dist/commands/rules.js +194 -0
  133. package/dist/commands/save.d.ts +68 -0
  134. package/dist/commands/save.js +141 -0
  135. package/dist/commands/scene.d.ts +105 -0
  136. package/dist/commands/scene.js +741 -0
  137. package/dist/commands/sheet.d.ts +136 -0
  138. package/dist/commands/sheet.js +445 -0
  139. package/dist/commands/show.d.ts +76 -0
  140. package/dist/commands/show.js +216 -0
  141. package/dist/commands/status.d.ts +54 -0
  142. package/dist/commands/status.js +291 -0
  143. package/dist/commands/translate.d.ts +23 -0
  144. package/dist/commands/translate.js +108 -0
  145. package/dist/commands/travel.d.ts +47 -0
  146. package/dist/commands/travel.js +457 -0
  147. package/dist/commands/validate.d.ts +4 -0
  148. package/dist/commands/validate.js +25 -0
  149. package/dist/commands/view.d.ts +272 -0
  150. package/dist/commands/view.js +623 -0
  151. package/dist/commands/worked-out.d.ts +116 -0
  152. package/dist/commands/worked-out.js +704 -0
  153. package/dist/commands/write.d.ts +51 -0
  154. package/dist/commands/write.js +1017 -0
  155. package/dist/core/command-reference.d.ts +6 -0
  156. package/dist/core/command-reference.js +47 -0
  157. package/dist/core/context.d.ts +140 -0
  158. package/dist/core/context.js +28 -0
  159. package/dist/core/field-kind.d.ts +6 -0
  160. package/dist/core/field-kind.js +5 -0
  161. package/dist/core/files.d.ts +4 -0
  162. package/dist/core/files.js +30 -0
  163. package/dist/core/formula.d.ts +164 -0
  164. package/dist/core/formula.js +590 -0
  165. package/dist/core/frozen.d.ts +2 -0
  166. package/dist/core/frozen.js +11 -0
  167. package/dist/core/length.d.ts +27 -0
  168. package/dist/core/length.js +49 -0
  169. package/dist/core/log.d.ts +27 -0
  170. package/dist/core/log.js +38 -0
  171. package/dist/core/memo.d.ts +2 -0
  172. package/dist/core/memo.js +17 -0
  173. package/dist/core/mood.d.ts +6 -0
  174. package/dist/core/mood.js +11 -0
  175. package/dist/core/problem.d.ts +6 -0
  176. package/dist/core/problem.js +1 -0
  177. package/dist/core/progression-rule.d.ts +21 -0
  178. package/dist/core/progression-rule.js +2 -0
  179. package/dist/core/registry.d.ts +31 -0
  180. package/dist/core/registry.js +25 -0
  181. package/dist/core/session-store.d.ts +90 -0
  182. package/dist/core/session-store.js +289 -0
  183. package/dist/core/store.d.ts +83 -0
  184. package/dist/core/store.js +224 -0
  185. package/dist/core/text.d.ts +12 -0
  186. package/dist/core/text.js +32 -0
  187. package/dist/core/version.d.ts +2 -0
  188. package/dist/core/version.js +6 -0
  189. package/dist/core/yaml-file.d.ts +10 -0
  190. package/dist/core/yaml-file.js +42 -0
  191. package/dist/counters/counter.d.ts +36 -0
  192. package/dist/counters/counter.js +59 -0
  193. package/dist/counters/index.d.ts +1 -0
  194. package/dist/counters/index.js +2 -0
  195. package/dist/dashboard/address.js +43 -0
  196. package/dist/dashboard/api.js +185 -0
  197. package/dist/dashboard/app.js +217 -0
  198. package/dist/dashboard/asked.js +132 -0
  199. package/dist/dashboard/assets/dice/dice-sharp.glb +0 -0
  200. package/dist/dashboard/assets/dice/dice.glb +0 -0
  201. package/dist/dashboard/assets/dice/dice.json +1 -0
  202. package/dist/dashboard/assets/dice/textures/ash.jpg +0 -0
  203. package/dist/dashboard/assets/dice/textures/granite.jpg +0 -0
  204. package/dist/dashboard/assets/dice/textures/marble.jpg +0 -0
  205. package/dist/dashboard/assets/dice/textures/onyx.jpg +0 -0
  206. package/dist/dashboard/assets/dice/textures/walnut.jpg +0 -0
  207. package/dist/dashboard/assets/favicon.svg +7 -0
  208. package/dist/dashboard/assets/icon-180.png +0 -0
  209. package/dist/dashboard/assets/icon-32.png +0 -0
  210. package/dist/dashboard/assets/master.svg +71 -0
  211. package/dist/dashboard/assets/sounds/dice-collision.wav +0 -0
  212. package/dist/dashboard/assets/sounds/dice-touch.wav +0 -0
  213. package/dist/dashboard/card.js +61 -0
  214. package/dist/dashboard/columns.js +37 -0
  215. package/dist/dashboard/combat.js +72 -0
  216. package/dist/dashboard/data.js +3 -0
  217. package/dist/dashboard/dice/burn.js +200 -0
  218. package/dist/dashboard/dice/celebration.js +199 -0
  219. package/dist/dashboard/dice/floor-cracks.js +149 -0
  220. package/dist/dashboard/dice/frost.js +51 -0
  221. package/dist/dashboard/dice/load.js +66 -0
  222. package/dist/dashboard/dice/models.js +138 -0
  223. package/dist/dashboard/dice/pool.js +49 -0
  224. package/dist/dashboard/dice/roller.js +101 -0
  225. package/dist/dashboard/dice/sets.js +49 -0
  226. package/dist/dashboard/dice/sounds.js +102 -0
  227. package/dist/dashboard/dice/stage.js +355 -0
  228. package/dist/dashboard/dice/throw.js +242 -0
  229. package/dist/dashboard/dice/tray.js +365 -0
  230. package/dist/dashboard/faces.js +16 -0
  231. package/dist/dashboard/footer.js +17 -0
  232. package/dist/dashboard/free-rolls.js +41 -0
  233. package/dist/dashboard/game-words.js +164 -0
  234. package/dist/dashboard/glass.js +12 -0
  235. package/dist/dashboard/guide/ar.md +306 -0
  236. package/dist/dashboard/guide/cs.md +306 -0
  237. package/dist/dashboard/guide/da.md +306 -0
  238. package/dist/dashboard/guide/de.md +306 -0
  239. package/dist/dashboard/guide/el.md +306 -0
  240. package/dist/dashboard/guide/en.md +305 -0
  241. package/dist/dashboard/guide/es.md +306 -0
  242. package/dist/dashboard/guide/fi.md +306 -0
  243. package/dist/dashboard/guide/fr.md +306 -0
  244. package/dist/dashboard/guide/he.md +306 -0
  245. package/dist/dashboard/guide/hi.md +306 -0
  246. package/dist/dashboard/guide/hu.md +306 -0
  247. package/dist/dashboard/guide/is.md +306 -0
  248. package/dist/dashboard/guide/it.md +306 -0
  249. package/dist/dashboard/guide/ja.md +306 -0
  250. package/dist/dashboard/guide/ko.md +306 -0
  251. package/dist/dashboard/guide/nb.md +306 -0
  252. package/dist/dashboard/guide/nl.md +306 -0
  253. package/dist/dashboard/guide/pl.md +306 -0
  254. package/dist/dashboard/guide/pt.md +306 -0
  255. package/dist/dashboard/guide/ro.md +306 -0
  256. package/dist/dashboard/guide/ru.md +306 -0
  257. package/dist/dashboard/guide/sv.md +306 -0
  258. package/dist/dashboard/guide/tr.md +306 -0
  259. package/dist/dashboard/guide/uk.md +306 -0
  260. package/dist/dashboard/guide/zh.md +306 -0
  261. package/dist/dashboard/guide-blocks.js +72 -0
  262. package/dist/dashboard/guide-markdown.js +63 -0
  263. package/dist/dashboard/help.js +92 -0
  264. package/dist/dashboard/i18n/ar.json +670 -0
  265. package/dist/dashboard/i18n/cs.json +670 -0
  266. package/dist/dashboard/i18n/da.json +670 -0
  267. package/dist/dashboard/i18n/de.json +670 -0
  268. package/dist/dashboard/i18n/el.json +670 -0
  269. package/dist/dashboard/i18n/es.json +670 -0
  270. package/dist/dashboard/i18n/fi.json +670 -0
  271. package/dist/dashboard/i18n/fr.json +670 -0
  272. package/dist/dashboard/i18n/he.json +670 -0
  273. package/dist/dashboard/i18n/hi.json +670 -0
  274. package/dist/dashboard/i18n/hu.json +670 -0
  275. package/dist/dashboard/i18n/is.json +670 -0
  276. package/dist/dashboard/i18n/it.json +670 -0
  277. package/dist/dashboard/i18n/ja.json +670 -0
  278. package/dist/dashboard/i18n/ko.json +670 -0
  279. package/dist/dashboard/i18n/nb.json +670 -0
  280. package/dist/dashboard/i18n/nl.json +670 -0
  281. package/dist/dashboard/i18n/pl.json +670 -0
  282. package/dist/dashboard/i18n/pt.json +670 -0
  283. package/dist/dashboard/i18n/ro.json +670 -0
  284. package/dist/dashboard/i18n/ru.json +670 -0
  285. package/dist/dashboard/i18n/sv.json +670 -0
  286. package/dist/dashboard/i18n/tr.json +670 -0
  287. package/dist/dashboard/i18n/uk.json +670 -0
  288. package/dist/dashboard/i18n/zh.json +670 -0
  289. package/dist/dashboard/icons.js +123 -0
  290. package/dist/dashboard/journal.js +188 -0
  291. package/dist/dashboard/labels.js +226 -0
  292. package/dist/dashboard/language-choice.js +83 -0
  293. package/dist/dashboard/languages.js +144 -0
  294. package/dist/dashboard/layout.js +93 -0
  295. package/dist/dashboard/map-sheet.js +32 -0
  296. package/dist/dashboard/map-symbols.js +79 -0
  297. package/dist/dashboard/markdown.js +72 -0
  298. package/dist/dashboard/master.js +69 -0
  299. package/dist/dashboard/mood-faces.js +16 -0
  300. package/dist/dashboard/mood.js +27 -0
  301. package/dist/dashboard/notes.js +203 -0
  302. package/dist/dashboard/notices.js +24 -0
  303. package/dist/dashboard/pages.js +32 -0
  304. package/dist/dashboard/party.js +65 -0
  305. package/dist/dashboard/place-map-view.js +362 -0
  306. package/dist/dashboard/place-map.js +204 -0
  307. package/dist/dashboard/prefs.js +97 -0
  308. package/dist/dashboard/reactions.js +28 -0
  309. package/dist/dashboard/requested.js +32 -0
  310. package/dist/dashboard/rolls.js +240 -0
  311. package/dist/dashboard/saves.js +154 -0
  312. package/dist/dashboard/scene.js +63 -0
  313. package/dist/dashboard/settings.js +362 -0
  314. package/dist/dashboard/setup.js +195 -0
  315. package/dist/dashboard/sheet.js +180 -0
  316. package/dist/dashboard/status.js +42 -0
  317. package/dist/dashboard/story.js +51 -0
  318. package/dist/dashboard/style.css +9355 -0
  319. package/dist/dashboard/text.js +158 -0
  320. package/dist/dashboard/theme.js +32 -0
  321. package/dist/dashboard/top.js +156 -0
  322. package/dist/dashboard/widgets.js +69 -0
  323. package/dist/dashboard/world-map.js +523 -0
  324. package/dist/dashboard/world.js +357 -0
  325. package/dist/dashboard-server.d.ts +38 -0
  326. package/dist/dashboard-server.js +818 -0
  327. package/dist/dice/evaluate.d.ts +30 -0
  328. package/dist/dice/evaluate.js +90 -0
  329. package/dist/dice/format.d.ts +3 -0
  330. package/dist/dice/format.js +26 -0
  331. package/dist/dice/index.d.ts +4 -0
  332. package/dist/dice/index.js +5 -0
  333. package/dist/dice/notation.d.ts +43 -0
  334. package/dist/dice/notation.js +132 -0
  335. package/dist/dice/proof.d.ts +4 -0
  336. package/dist/dice/proof.js +12 -0
  337. package/dist/dice/roll-dice.d.ts +29 -0
  338. package/dist/dice/roll-dice.js +43 -0
  339. package/dist/dice/words.d.ts +12 -0
  340. package/dist/dice/words.js +21 -0
  341. package/dist/effects/effect.d.ts +57 -0
  342. package/dist/effects/effect.js +123 -0
  343. package/dist/effects/index.d.ts +1 -0
  344. package/dist/effects/index.js +2 -0
  345. package/dist/grid/grid.d.ts +53 -0
  346. package/dist/grid/grid.js +151 -0
  347. package/dist/grid/index.d.ts +2 -0
  348. package/dist/grid/index.js +2 -0
  349. package/dist/grid/paths.d.ts +27 -0
  350. package/dist/grid/paths.js +128 -0
  351. package/dist/images/images.d.ts +26 -0
  352. package/dist/images/images.js +74 -0
  353. package/dist/images/index.d.ts +1 -0
  354. package/dist/images/index.js +2 -0
  355. package/dist/index.d.ts +1 -0
  356. package/dist/index.js +1 -0
  357. package/dist/instructions/index.d.ts +17 -0
  358. package/dist/instructions/index.js +48 -0
  359. package/dist/map/geometry.d.ts +22 -0
  360. package/dist/map/geometry.js +66 -0
  361. package/dist/map/index.d.ts +3 -0
  362. package/dist/map/index.js +5 -0
  363. package/dist/map/looks.d.ts +9 -0
  364. package/dist/map/looks.js +57 -0
  365. package/dist/map/ways.d.ts +36 -0
  366. package/dist/map/ways.js +78 -0
  367. package/dist/mcp-server.d.ts +22 -0
  368. package/dist/mcp-server.js +289 -0
  369. package/dist/money/index.d.ts +1 -0
  370. package/dist/money/index.js +2 -0
  371. package/dist/money/money.d.ts +48 -0
  372. package/dist/money/money.js +218 -0
  373. package/dist/page-words.d.ts +46 -0
  374. package/dist/page-words.js +221 -0
  375. package/dist/pages/check.d.ts +9 -0
  376. package/dist/pages/check.js +345 -0
  377. package/dist/pages/containers.d.ts +34 -0
  378. package/dist/pages/containers.js +181 -0
  379. package/dist/pages/environment.d.ts +26 -0
  380. package/dist/pages/environment.js +118 -0
  381. package/dist/pages/index.d.ts +15 -0
  382. package/dist/pages/index.js +16 -0
  383. package/dist/pages/inheritance.d.ts +80 -0
  384. package/dist/pages/inheritance.js +260 -0
  385. package/dist/pages/maps.d.ts +11 -0
  386. package/dist/pages/maps.js +14 -0
  387. package/dist/pages/markdown.d.ts +59 -0
  388. package/dist/pages/markdown.js +271 -0
  389. package/dist/pages/page-file.d.ts +26 -0
  390. package/dist/pages/page-file.js +166 -0
  391. package/dist/pages/page-types.d.ts +17 -0
  392. package/dist/pages/page-types.js +18 -0
  393. package/dist/pages/positions.d.ts +11 -0
  394. package/dist/pages/positions.js +23 -0
  395. package/dist/pages/rename-page.d.ts +39 -0
  396. package/dist/pages/rename-page.js +109 -0
  397. package/dist/pages/roads.d.ts +11 -0
  398. package/dist/pages/roads.js +40 -0
  399. package/dist/pages/standard-fields.d.ts +31 -0
  400. package/dist/pages/standard-fields.js +142 -0
  401. package/dist/pages/system-pages.d.ts +35 -0
  402. package/dist/pages/system-pages.js +98 -0
  403. package/dist/pages/world.d.ts +174 -0
  404. package/dist/pages/world.js +349 -0
  405. package/dist/pages/write-page.d.ts +27 -0
  406. package/dist/pages/write-page.js +311 -0
  407. package/dist/pictures/briefs.d.ts +25 -0
  408. package/dist/pictures/briefs.js +145 -0
  409. package/dist/pictures/chosen.d.ts +5 -0
  410. package/dist/pictures/chosen.js +21 -0
  411. package/dist/pictures/claude.d.ts +14 -0
  412. package/dist/pictures/claude.js +129 -0
  413. package/dist/pictures/codex.d.ts +20 -0
  414. package/dist/pictures/codex.js +154 -0
  415. package/dist/pictures/helpers.d.ts +26 -0
  416. package/dist/pictures/helpers.js +219 -0
  417. package/dist/pictures/index.d.ts +6 -0
  418. package/dist/pictures/index.js +8 -0
  419. package/dist/pictures/stop.d.ts +3 -0
  420. package/dist/pictures/stop.js +10 -0
  421. package/dist/pictures/svg.d.ts +4 -0
  422. package/dist/pictures/svg.js +129 -0
  423. package/dist/player-notes/index.d.ts +1 -0
  424. package/dist/player-notes/index.js +2 -0
  425. package/dist/player-notes/notes.d.ts +21 -0
  426. package/dist/player-notes/notes.js +50 -0
  427. package/dist/progression/index.d.ts +1 -0
  428. package/dist/progression/index.js +1 -0
  429. package/dist/progression/level-table.d.ts +41 -0
  430. package/dist/progression/level-table.js +123 -0
  431. package/dist/rules/index.d.ts +3 -0
  432. package/dist/rules/index.js +4 -0
  433. package/dist/rules/rule-book.d.ts +31 -0
  434. package/dist/rules/rule-book.js +157 -0
  435. package/dist/rules/search.d.ts +18 -0
  436. package/dist/rules/search.js +101 -0
  437. package/dist/rules/shown.d.ts +19 -0
  438. package/dist/rules/shown.js +44 -0
  439. package/dist/saves/index.d.ts +1 -0
  440. package/dist/saves/index.js +2 -0
  441. package/dist/saves/saves.d.ts +14 -0
  442. package/dist/saves/saves.js +27 -0
  443. package/dist/scene/index.d.ts +1 -0
  444. package/dist/scene/index.js +2 -0
  445. package/dist/scene/scene.d.ts +46 -0
  446. package/dist/scene/scene.js +44 -0
  447. package/dist/systems/game-system.d.ts +236 -0
  448. package/dist/systems/game-system.js +593 -0
  449. package/dist/systems/index.d.ts +2 -0
  450. package/dist/systems/index.js +3 -0
  451. package/dist/systems/words.d.ts +9 -0
  452. package/dist/systems/words.js +23 -0
  453. package/dist/time/game-date.d.ts +20 -0
  454. package/dist/time/game-date.js +59 -0
  455. package/dist/time/index.d.ts +1 -0
  456. package/dist/time/index.js +2 -0
  457. package/dist/triggers/index.d.ts +1 -0
  458. package/dist/triggers/index.js +2 -0
  459. package/dist/triggers/trigger.d.ts +43 -0
  460. package/dist/triggers/trigger.js +98 -0
  461. package/instructions/author.md +1 -0
  462. package/instructions/buttons-physical-dice.md +1 -0
  463. package/instructions/buttons.md +1 -0
  464. package/instructions/combat.md +3 -0
  465. package/instructions/core.md +54 -0
  466. package/instructions/dashboard.md +7 -0
  467. package/instructions/mentor-hints.md +1 -0
  468. package/instructions/mentor-tutorial.md +1 -0
  469. package/instructions/new-day.md +1 -0
  470. package/instructions/play.md +23 -0
  471. package/instructions/prose-literary.md +1 -0
  472. package/instructions/prose-pulp.md +1 -0
  473. package/instructions/prose-wry.md +1 -0
  474. package/instructions/session-zero.md +3 -0
  475. package/instructions/setup.md +3 -0
  476. package/instructions/start.md +1 -0
  477. package/instructions/story-arcs.md +1 -0
  478. package/instructions/story-episodes.md +1 -0
  479. package/instructions/story-mystery.md +1 -0
  480. package/instructions/style.md +1 -0
  481. package/package.json +85 -4
  482. package/systems/5e/LICENSE.md +25 -0
  483. package/systems/5e/images/acid-blob.svg +1 -0
  484. package/systems/5e/images/angel-outfit.svg +1 -0
  485. package/systems/5e/images/angler-fish.svg +1 -0
  486. package/systems/5e/images/angular-spider.svg +1 -0
  487. package/systems/5e/images/animal-skull.svg +1 -0
  488. package/systems/5e/images/bad-gnome.svg +1 -0
  489. package/systems/5e/images/badger.svg +1 -0
  490. package/systems/5e/images/bandit.svg +1 -0
  491. package/systems/5e/images/barn-owl.svg +1 -0
  492. package/systems/5e/images/basset-hound-head.svg +1 -0
  493. package/systems/5e/images/bat.svg +1 -0
  494. package/systems/5e/images/bear-face.svg +1 -0
  495. package/systems/5e/images/bear-head.svg +1 -0
  496. package/systems/5e/images/beetle-shell.svg +1 -0
  497. package/systems/5e/images/berry-bush.svg +1 -0
  498. package/systems/5e/images/bestial-fangs.svg +1 -0
  499. package/systems/5e/images/big-wave.svg +1 -0
  500. package/systems/5e/images/black-knight-helm.svg +1 -0
  501. package/systems/5e/images/boar-tusks.svg +1 -0
  502. package/systems/5e/images/boar.svg +1 -0
  503. package/systems/5e/images/bone-gnawer.svg +1 -0
  504. package/systems/5e/images/breastplate.svg +1 -0
  505. package/systems/5e/images/brute.svg +1 -0
  506. package/systems/5e/images/camel-head.svg +1 -0
  507. package/systems/5e/images/carnivore-mouth.svg +1 -0
  508. package/systems/5e/images/cassowary-head.svg +1 -0
  509. package/systems/5e/images/cat.svg +1 -0
  510. package/systems/5e/images/centaur.svg +1 -0
  511. package/systems/5e/images/centipede.svg +1 -0
  512. package/systems/5e/images/charging-bull.svg +1 -0
  513. package/systems/5e/images/closed-barbute.svg +1 -0
  514. package/systems/5e/images/cobra.svg +1 -0
  515. package/systems/5e/images/condor-emblem.svg +1 -0
  516. package/systems/5e/images/cowled.svg +1 -0
  517. package/systems/5e/images/crab-claw.svg +1 -0
  518. package/systems/5e/images/crab.svg +1 -0
  519. package/systems/5e/images/croc-jaws.svg +1 -0
  520. package/systems/5e/images/crow-dive.svg +1 -0
  521. package/systems/5e/images/crown.svg +1 -0
  522. package/systems/5e/images/crowned-skull.svg +1 -0
  523. package/systems/5e/images/cube.svg +1 -0
  524. package/systems/5e/images/cultist-lorc.svg +1 -0
  525. package/systems/5e/images/cultist-skoll.svg +1 -0
  526. package/systems/5e/images/curled-tentacle.svg +1 -0
  527. package/systems/5e/images/daemon-skull.svg +1 -0
  528. package/systems/5e/images/deer-head.svg +1 -0
  529. package/systems/5e/images/desert-skull.svg +1 -0
  530. package/systems/5e/images/devil-mask.svg +1 -0
  531. package/systems/5e/images/diablo-skull.svg +1 -0
  532. package/systems/5e/images/dinosaur-rex.svg +1 -0
  533. package/systems/5e/images/direwolf.svg +1 -0
  534. package/systems/5e/images/djinn.svg +1 -0
  535. package/systems/5e/images/donkey.svg +1 -0
  536. package/systems/5e/images/dragon-head-faithtoken.svg +1 -0
  537. package/systems/5e/images/dragon-head-lorc.svg +1 -0
  538. package/systems/5e/images/dragon-shield.svg +1 -0
  539. package/systems/5e/images/dragon-spiral.svg +1 -0
  540. package/systems/5e/images/dread-skull.svg +1 -0
  541. package/systems/5e/images/duality-mask.svg +1 -0
  542. package/systems/5e/images/dust-cloud.svg +1 -0
  543. package/systems/5e/images/dwarf-face.svg +1 -0
  544. package/systems/5e/images/dwarf-helmet.svg +1 -0
  545. package/systems/5e/images/eagle-emblem.svg +1 -0
  546. package/systems/5e/images/eagle-head.svg +1 -0
  547. package/systems/5e/images/egyptian-sphinx.svg +1 -0
  548. package/systems/5e/images/elephant-head.svg +1 -0
  549. package/systems/5e/images/elf-ear.svg +1 -0
  550. package/systems/5e/images/elf-helmet.svg +1 -0
  551. package/systems/5e/images/ent-mouth.svg +1 -0
  552. package/systems/5e/images/ermine.svg +1 -0
  553. package/systems/5e/images/eruption.svg +1 -0
  554. package/systems/5e/images/evil-bat.svg +1 -0
  555. package/systems/5e/images/evil-minion.svg +1 -0
  556. package/systems/5e/images/evil-tree.svg +1 -0
  557. package/systems/5e/images/evil-wings.svg +1 -0
  558. package/systems/5e/images/eyestalk.svg +1 -0
  559. package/systems/5e/images/fairy.svg +1 -0
  560. package/systems/5e/images/farmer.svg +1 -0
  561. package/systems/5e/images/feline.svg +1 -0
  562. package/systems/5e/images/fire-silhouette.svg +1 -0
  563. package/systems/5e/images/fish-monster.svg +1 -0
  564. package/systems/5e/images/fleshy-mass.svg +1 -0
  565. package/systems/5e/images/fluffy-flame.svg +1 -0
  566. package/systems/5e/images/fly.svg +1 -0
  567. package/systems/5e/images/fox-head.svg +1 -0
  568. package/systems/5e/images/frankenstein-creature.svg +1 -0
  569. package/systems/5e/images/frog.svg +1 -0
  570. package/systems/5e/images/gargoyle.svg +1 -0
  571. package/systems/5e/images/gecko.svg +1 -0
  572. package/systems/5e/images/ghost.svg +1 -0
  573. package/systems/5e/images/giant.svg +1 -0
  574. package/systems/5e/images/goat.svg +1 -0
  575. package/systems/5e/images/goblin-head.svg +1 -0
  576. package/systems/5e/images/goblin.svg +1 -0
  577. package/systems/5e/images/golem-head.svg +1 -0
  578. package/systems/5e/images/gooey-daemon.svg +1 -0
  579. package/systems/5e/images/gorilla.svg +1 -0
  580. package/systems/5e/images/greek-sphinx.svg +1 -0
  581. package/systems/5e/images/griffin-symbol.svg +1 -0
  582. package/systems/5e/images/grim-reaper.svg +1 -0
  583. package/systems/5e/images/hanging-spider.svg +1 -0
  584. package/systems/5e/images/harpy.svg +1 -0
  585. package/systems/5e/images/hawk-emblem.svg +1 -0
  586. package/systems/5e/images/hooded-assassin.svg +1 -0
  587. package/systems/5e/images/horned-reptile.svg +1 -0
  588. package/systems/5e/images/horse-head-delapouite.svg +1 -0
  589. package/systems/5e/images/horse-head-lorc.svg +1 -0
  590. package/systems/5e/images/hound.svg +1 -0
  591. package/systems/5e/images/hydra.svg +1 -0
  592. package/systems/5e/images/hyena-head.svg +1 -0
  593. package/systems/5e/images/icicles-aura.svg +1 -0
  594. package/systems/5e/images/ifrit.svg +1 -0
  595. package/systems/5e/images/imp-laugh.svg +1 -0
  596. package/systems/5e/images/imp.svg +1 -0
  597. package/systems/5e/images/insect-jaws.svg +1 -0
  598. package/systems/5e/images/invisible-face.svg +1 -0
  599. package/systems/5e/images/jumping-dog.svg +1 -0
  600. package/systems/5e/images/kraken-tentacle.svg +1 -0
  601. package/systems/5e/images/labrador-head.svg +1 -0
  602. package/systems/5e/images/lion.svg +1 -0
  603. package/systems/5e/images/lizard-tongue.svg +1 -0
  604. package/systems/5e/images/lizardman.svg +1 -0
  605. package/systems/5e/images/long-antennae-bug.svg +1 -0
  606. package/systems/5e/images/long-legged-spider.svg +1 -0
  607. package/systems/5e/images/mammoth.svg +1 -0
  608. package/systems/5e/images/mandrill-head.svg +1 -0
  609. package/systems/5e/images/manta-ray.svg +1 -0
  610. package/systems/5e/images/masked-spider.svg +1 -0
  611. package/systems/5e/images/medusa-head.svg +1 -0
  612. package/systems/5e/images/mermaid.svg +1 -0
  613. package/systems/5e/images/metal-golem-head.svg +1 -0
  614. package/systems/5e/images/mimic-chest.svg +1 -0
  615. package/systems/5e/images/minotaur.svg +1 -0
  616. package/systems/5e/images/monk-face.svg +1 -0
  617. package/systems/5e/images/moon-bats.svg +1 -0
  618. package/systems/5e/images/mucous-pillar.svg +1 -0
  619. package/systems/5e/images/mummy-head.svg +1 -0
  620. package/systems/5e/images/mushrooms-cluster.svg +1 -0
  621. package/systems/5e/images/octopus.svg +1 -0
  622. package/systems/5e/images/ogre.svg +1 -0
  623. package/systems/5e/images/oni.svg +1 -0
  624. package/systems/5e/images/orc-head.svg +1 -0
  625. package/systems/5e/images/owl.svg +1 -0
  626. package/systems/5e/images/pan-flute.svg +1 -0
  627. package/systems/5e/images/pegasus.svg +1 -0
  628. package/systems/5e/images/person.svg +1 -0
  629. package/systems/5e/images/piranha.svg +1 -0
  630. package/systems/5e/images/plesiosaurus.svg +1 -0
  631. package/systems/5e/images/pointy-hat.svg +1 -0
  632. package/systems/5e/images/polar-bear.svg +1 -0
  633. package/systems/5e/images/rat.svg +1 -0
  634. package/systems/5e/images/rattlesnake.svg +1 -0
  635. package/systems/5e/images/raven.svg +1 -0
  636. package/systems/5e/images/rhinoceros-horn.svg +1 -0
  637. package/systems/5e/images/robber.svg +1 -0
  638. package/systems/5e/images/robin-hood-hat.svg +1 -0
  639. package/systems/5e/images/robot-golem.svg +1 -0
  640. package/systems/5e/images/rock-golem.svg +1 -0
  641. package/systems/5e/images/rolled-cloth.svg +1 -0
  642. package/systems/5e/images/rooster.svg +1 -0
  643. package/systems/5e/images/saber-toothed-cat-head.svg +1 -0
  644. package/systems/5e/images/salamander.svg +1 -0
  645. package/systems/5e/images/school-of-fish.svg +1 -0
  646. package/systems/5e/images/scorpion.svg +1 -0
  647. package/systems/5e/images/sea-serpent.svg +1 -0
  648. package/systems/5e/images/seahorse.svg +1 -0
  649. package/systems/5e/images/seated-mouse.svg +1 -0
  650. package/systems/5e/images/sensuousness.svg +1 -0
  651. package/systems/5e/images/shadow-follower.svg +1 -0
  652. package/systems/5e/images/shambling-mound.svg +1 -0
  653. package/systems/5e/images/shambling-zombie.svg +1 -0
  654. package/systems/5e/images/shark-fin.svg +1 -0
  655. package/systems/5e/images/shark-jaws.svg +1 -0
  656. package/systems/5e/images/skeleton.svg +1 -0
  657. package/systems/5e/images/slime.svg +1 -0
  658. package/systems/5e/images/small-fire.svg +1 -0
  659. package/systems/5e/images/snake-spiral.svg +1 -0
  660. package/systems/5e/images/snake-tongue.svg +1 -0
  661. package/systems/5e/images/snake-totem.svg +1 -0
  662. package/systems/5e/images/snake.svg +1 -0
  663. package/systems/5e/images/spark-spirit.svg +1 -0
  664. package/systems/5e/images/spartan.svg +1 -0
  665. package/systems/5e/images/spectre.svg +1 -0
  666. package/systems/5e/images/sperm-whale.svg +1 -0
  667. package/systems/5e/images/spider-alt.svg +1 -0
  668. package/systems/5e/images/spiked-dragon-head.svg +1 -0
  669. package/systems/5e/images/spiked-tail.svg +1 -0
  670. package/systems/5e/images/spotted-mushroom.svg +1 -0
  671. package/systems/5e/images/spy.svg +1 -0
  672. package/systems/5e/images/squid.svg +1 -0
  673. package/systems/5e/images/stag-head.svg +1 -0
  674. package/systems/5e/images/steam.svg +1 -0
  675. package/systems/5e/images/sun-priest.svg +1 -0
  676. package/systems/5e/images/tick.svg +1 -0
  677. package/systems/5e/images/tiger-head.svg +1 -0
  678. package/systems/5e/images/tiger.svg +1 -0
  679. package/systems/5e/images/toad-teeth.svg +1 -0
  680. package/systems/5e/images/tornado.svg +1 -0
  681. package/systems/5e/images/transparent-slime.svg +1 -0
  682. package/systems/5e/images/tree-face.svg +1 -0
  683. package/systems/5e/images/tribal-mask.svg +1 -0
  684. package/systems/5e/images/triceratops-head.svg +1 -0
  685. package/systems/5e/images/triton-head.svg +1 -0
  686. package/systems/5e/images/troglodyte.svg +1 -0
  687. package/systems/5e/images/troll.svg +1 -0
  688. package/systems/5e/images/turtle.svg +1 -0
  689. package/systems/5e/images/unicorn.svg +1 -0
  690. package/systems/5e/images/vampire-dracula.svg +1 -0
  691. package/systems/5e/images/viking-head.svg +1 -0
  692. package/systems/5e/images/visored-helm.svg +1 -0
  693. package/systems/5e/images/vulture.svg +1 -0
  694. package/systems/5e/images/warlord-helmet.svg +1 -0
  695. package/systems/5e/images/wasp-sting.svg +1 -0
  696. package/systems/5e/images/werewolf.svg +1 -0
  697. package/systems/5e/images/winged-sword.svg +1 -0
  698. package/systems/5e/images/witch-face.svg +1 -0
  699. package/systems/5e/images/wizard-face.svg +1 -0
  700. package/systems/5e/images/wolf-head.svg +1 -0
  701. package/systems/5e/images/wolf-howl.svg +1 -0
  702. package/systems/5e/images/woman-elf-face.svg +1 -0
  703. package/systems/5e/images/worm-mouth.svg +1 -0
  704. package/systems/5e/images/wyvern.svg +1 -0
  705. package/systems/5e/instructions/level-up.md +1 -0
  706. package/systems/5e/instructions/mentor-tutorial.md +1 -0
  707. package/systems/5e/instructions/play.md +5 -0
  708. package/systems/5e/instructions/quest-ends.md +1 -0
  709. package/systems/5e/instructions/session-zero.md +1 -0
  710. package/systems/5e/rules/Adventuring.md +228 -0
  711. package/systems/5e/rules/Beyond 1st Level.md +241 -0
  712. package/systems/5e/rules/Combat.md +504 -0
  713. package/systems/5e/rules/Conditions.md +110 -0
  714. package/systems/5e/rules/Diseases.md +41 -0
  715. package/systems/5e/rules/Equipment.md +731 -0
  716. package/systems/5e/rules/Fantasy-Historical Pantheons.md +112 -0
  717. package/systems/5e/rules/Madness.md +72 -0
  718. package/systems/5e/rules/Magic Items.md +142 -0
  719. package/systems/5e/rules/Monsters.md +403 -0
  720. package/systems/5e/rules/Nonplayer Characters.md +15 -0
  721. package/systems/5e/rules/Objects.md +40 -0
  722. package/systems/5e/rules/Poisons.md +64 -0
  723. package/systems/5e/rules/Races.md +33 -0
  724. package/systems/5e/rules/Spellcasting.md +225 -0
  725. package/systems/5e/rules/The Planes of Existence.md +59 -0
  726. package/systems/5e/rules/Traps.md +170 -0
  727. package/systems/5e/rules/Using Ability Scores.md +394 -0
  728. package/systems/5e/system.yaml +602 -0
  729. package/systems/5e/words/ar.yaml +421 -0
  730. package/systems/5e/words/cs.yaml +421 -0
  731. package/systems/5e/words/da.yaml +421 -0
  732. package/systems/5e/words/de.yaml +421 -0
  733. package/systems/5e/words/el.yaml +421 -0
  734. package/systems/5e/words/es.yaml +421 -0
  735. package/systems/5e/words/fi.yaml +421 -0
  736. package/systems/5e/words/fr.yaml +421 -0
  737. package/systems/5e/words/he.yaml +421 -0
  738. package/systems/5e/words/hi.yaml +421 -0
  739. package/systems/5e/words/hu.yaml +421 -0
  740. package/systems/5e/words/is.yaml +421 -0
  741. package/systems/5e/words/it.yaml +453 -0
  742. package/systems/5e/words/ja.yaml +421 -0
  743. package/systems/5e/words/ko.yaml +421 -0
  744. package/systems/5e/words/nb.yaml +421 -0
  745. package/systems/5e/words/nl.yaml +421 -0
  746. package/systems/5e/words/pl.yaml +421 -0
  747. package/systems/5e/words/pt.yaml +421 -0
  748. package/systems/5e/words/ro.yaml +421 -0
  749. package/systems/5e/words/ru.yaml +421 -0
  750. package/systems/5e/words/sv.yaml +421 -0
  751. package/systems/5e/words/tr.yaml +421 -0
  752. package/systems/5e/words/uk.yaml +421 -0
  753. package/systems/5e/words/zh.yaml +421 -0
  754. package/systems/5e/world/creatures/Aboleth.md +65 -0
  755. package/systems/5e/world/creatures/Acolyte.md +37 -0
  756. package/systems/5e/world/creatures/Adult Black Dragon.md +69 -0
  757. package/systems/5e/world/creatures/Adult Blue Dragon.md +66 -0
  758. package/systems/5e/world/creatures/Adult Brass Dragon.md +70 -0
  759. package/systems/5e/world/creatures/Adult Bronze Dragon.md +78 -0
  760. package/systems/5e/world/creatures/Adult Copper Dragon.md +70 -0
  761. package/systems/5e/world/creatures/Adult Gold Dragon.md +78 -0
  762. package/systems/5e/world/creatures/Adult Green Dragon.md +70 -0
  763. package/systems/5e/world/creatures/Adult Red Dragon.md +66 -0
  764. package/systems/5e/world/creatures/Adult Silver Dragon.md +74 -0
  765. package/systems/5e/world/creatures/Adult White Dragon.md +70 -0
  766. package/systems/5e/world/creatures/Air Elemental.md +43 -0
  767. package/systems/5e/world/creatures/Ancient Black Dragon.md +69 -0
  768. package/systems/5e/world/creatures/Ancient Blue Dragon.md +66 -0
  769. package/systems/5e/world/creatures/Ancient Brass Dragon.md +75 -0
  770. package/systems/5e/world/creatures/Ancient Bronze Dragon.md +78 -0
  771. package/systems/5e/world/creatures/Ancient Copper Dragon.md +75 -0
  772. package/systems/5e/world/creatures/Ancient Gold Dragon.md +78 -0
  773. package/systems/5e/world/creatures/Ancient Green Dragon.md +70 -0
  774. package/systems/5e/world/creatures/Ancient Red Dragon.md +66 -0
  775. package/systems/5e/world/creatures/Ancient Silver Dragon.md +74 -0
  776. package/systems/5e/world/creatures/Ancient White Dragon.md +70 -0
  777. package/systems/5e/world/creatures/Androsphinx.md +82 -0
  778. package/systems/5e/world/creatures/Animated Armor.md +39 -0
  779. package/systems/5e/world/creatures/Ankheg.md +31 -0
  780. package/systems/5e/world/creatures/Ape.md +32 -0
  781. package/systems/5e/world/creatures/Archmage.md +63 -0
  782. package/systems/5e/world/creatures/Assassin.md +48 -0
  783. package/systems/5e/world/creatures/Awakened Shrub.md +34 -0
  784. package/systems/5e/world/creatures/Awakened Tree.md +35 -0
  785. package/systems/5e/world/creatures/Axe Beak.md +26 -0
  786. package/systems/5e/world/creatures/Azer.md +40 -0
  787. package/systems/5e/world/creatures/Baboon.md +30 -0
  788. package/systems/5e/world/creatures/Badger.md +31 -0
  789. package/systems/5e/world/creatures/Balor.md +55 -0
  790. package/systems/5e/world/creatures/Bandit Captain.md +45 -0
  791. package/systems/5e/world/creatures/Bandit.md +33 -0
  792. package/systems/5e/world/creatures/Barbed Devil.md +52 -0
  793. package/systems/5e/world/creatures/Basilisk.md +35 -0
  794. package/systems/5e/world/creatures/Bat.md +34 -0
  795. package/systems/5e/world/creatures/Bearded Devil.md +48 -0
  796. package/systems/5e/world/creatures/Behir.md +44 -0
  797. package/systems/5e/world/creatures/Berserker.md +33 -0
  798. package/systems/5e/world/creatures/Black Bear.md +38 -0
  799. package/systems/5e/world/creatures/Black Dragon Wyrmling.md +41 -0
  800. package/systems/5e/world/creatures/Black Pudding.md +46 -0
  801. package/systems/5e/world/creatures/Blink Dog.md +36 -0
  802. package/systems/5e/world/creatures/Blood Hawk.md +36 -0
  803. package/systems/5e/world/creatures/Blue Dragon Wyrmling.md +36 -0
  804. package/systems/5e/world/creatures/Boar.md +33 -0
  805. package/systems/5e/world/creatures/Bone Devil.md +47 -0
  806. package/systems/5e/world/creatures/Brass Dragon Wyrmling.md +40 -0
  807. package/systems/5e/world/creatures/Bronze Dragon Wyrmling.md +45 -0
  808. package/systems/5e/world/creatures/Brown Bear.md +38 -0
  809. package/systems/5e/world/creatures/Bugbear.md +39 -0
  810. package/systems/5e/world/creatures/Bulette.md +37 -0
  811. package/systems/5e/world/creatures/Camel.md +24 -0
  812. package/systems/5e/world/creatures/Cat.md +31 -0
  813. package/systems/5e/world/creatures/Centaur.md +40 -0
  814. package/systems/5e/world/creatures/Chain Devil.md +52 -0
  815. package/systems/5e/world/creatures/Chimera.md +41 -0
  816. package/systems/5e/world/creatures/Chuul.md +45 -0
  817. package/systems/5e/world/creatures/Clay Golem.md +52 -0
  818. package/systems/5e/world/creatures/Cloaker.md +56 -0
  819. package/systems/5e/world/creatures/Cloud Giant.md +46 -0
  820. package/systems/5e/world/creatures/Cockatrice.md +26 -0
  821. package/systems/5e/world/creatures/Commoner.md +27 -0
  822. package/systems/5e/world/creatures/Constrictor Snake.md +29 -0
  823. package/systems/5e/world/creatures/Copper Dragon Wyrmling.md +40 -0
  824. package/systems/5e/world/creatures/Couatl.md +54 -0
  825. package/systems/5e/world/creatures/Crab.md +33 -0
  826. package/systems/5e/world/creatures/Crocodile.md +32 -0
  827. package/systems/5e/world/creatures/Cult Fanatic.md +46 -0
  828. package/systems/5e/world/creatures/Cultist.md +34 -0
  829. package/systems/5e/world/creatures/Darkmantle.md +42 -0
  830. package/systems/5e/world/creatures/Death Dog.md +36 -0
  831. package/systems/5e/world/creatures/Deep Gnome (Svirfneblin).md +46 -0
  832. package/systems/5e/world/creatures/Deer.md +24 -0
  833. package/systems/5e/world/creatures/Deva.md +57 -0
  834. package/systems/5e/world/creatures/Dire Wolf.md +34 -0
  835. package/systems/5e/world/creatures/Djinni.md +50 -0
  836. package/systems/5e/world/creatures/Doppelganger.md +45 -0
  837. package/systems/5e/world/creatures/Draft Horse.md +24 -0
  838. package/systems/5e/world/creatures/Dragon Turtle.md +47 -0
  839. package/systems/5e/world/creatures/Dragonborn.md +58 -0
  840. package/systems/5e/world/creatures/Dretch.md +39 -0
  841. package/systems/5e/world/creatures/Drider.md +58 -0
  842. package/systems/5e/world/creatures/Drow Elf.md +46 -0
  843. package/systems/5e/world/creatures/Druid (creature).md +41 -0
  844. package/systems/5e/world/creatures/Dryad.md +53 -0
  845. package/systems/5e/world/creatures/Duergar.md +45 -0
  846. package/systems/5e/world/creatures/Dust Mephit.md +42 -0
  847. package/systems/5e/world/creatures/Dwarf.md +48 -0
  848. package/systems/5e/world/creatures/Eagle.md +31 -0
  849. package/systems/5e/world/creatures/Earth Elemental.md +44 -0
  850. package/systems/5e/world/creatures/Efreeti.md +48 -0
  851. package/systems/5e/world/creatures/Elephant.md +33 -0
  852. package/systems/5e/world/creatures/Elf.md +44 -0
  853. package/systems/5e/world/creatures/Elk.md +32 -0
  854. package/systems/5e/world/creatures/Erinyes.md +51 -0
  855. package/systems/5e/world/creatures/Ettercap.md +48 -0
  856. package/systems/5e/world/creatures/Ettin.md +42 -0
  857. package/systems/5e/world/creatures/Fire Elemental.md +43 -0
  858. package/systems/5e/world/creatures/Fire Giant.md +35 -0
  859. package/systems/5e/world/creatures/Flesh Golem.md +53 -0
  860. package/systems/5e/world/creatures/Flying Snake.md +34 -0
  861. package/systems/5e/world/creatures/Flying Sword.md +38 -0
  862. package/systems/5e/world/creatures/Frog.md +32 -0
  863. package/systems/5e/world/creatures/Frost Giant.md +35 -0
  864. package/systems/5e/world/creatures/Gargoyle.md +42 -0
  865. package/systems/5e/world/creatures/Gelatinous Cube.md +49 -0
  866. package/systems/5e/world/creatures/Ghast.md +40 -0
  867. package/systems/5e/world/creatures/Ghost.md +49 -0
  868. package/systems/5e/world/creatures/Ghoul.md +31 -0
  869. package/systems/5e/world/creatures/Giant Ape.md +32 -0
  870. package/systems/5e/world/creatures/Giant Badger.md +37 -0
  871. package/systems/5e/world/creatures/Giant Bat.md +34 -0
  872. package/systems/5e/world/creatures/Giant Boar.md +33 -0
  873. package/systems/5e/world/creatures/Giant Centipede.md +27 -0
  874. package/systems/5e/world/creatures/Giant Constrictor Snake.md +30 -0
  875. package/systems/5e/world/creatures/Giant Crab.md +33 -0
  876. package/systems/5e/world/creatures/Giant Crocodile.md +38 -0
  877. package/systems/5e/world/creatures/Giant Eagle.md +40 -0
  878. package/systems/5e/world/creatures/Giant Elk.md +37 -0
  879. package/systems/5e/world/creatures/Giant Fire Beetle.md +33 -0
  880. package/systems/5e/world/creatures/Giant Frog.md +40 -0
  881. package/systems/5e/world/creatures/Giant Goat.md +33 -0
  882. package/systems/5e/world/creatures/Giant Hyena.md +30 -0
  883. package/systems/5e/world/creatures/Giant Lizard.md +29 -0
  884. package/systems/5e/world/creatures/Giant Octopus.md +41 -0
  885. package/systems/5e/world/creatures/Giant Owl.md +38 -0
  886. package/systems/5e/world/creatures/Giant Poisonous Snake.md +27 -0
  887. package/systems/5e/world/creatures/Giant Rat.md +39 -0
  888. package/systems/5e/world/creatures/Giant Scorpion.md +32 -0
  889. package/systems/5e/world/creatures/Giant Sea Horse.md +36 -0
  890. package/systems/5e/world/creatures/Giant Shark.md +38 -0
  891. package/systems/5e/world/creatures/Giant Spider.md +45 -0
  892. package/systems/5e/world/creatures/Giant Toad.md +39 -0
  893. package/systems/5e/world/creatures/Giant Vulture.md +43 -0
  894. package/systems/5e/world/creatures/Giant Wasp.md +25 -0
  895. package/systems/5e/world/creatures/Giant Weasel.md +31 -0
  896. package/systems/5e/world/creatures/Giant Wolf Spider.md +41 -0
  897. package/systems/5e/world/creatures/Gibbering Mouther.md +41 -0
  898. package/systems/5e/world/creatures/Glabrezu.md +48 -0
  899. package/systems/5e/world/creatures/Gladiator.md +49 -0
  900. package/systems/5e/world/creatures/Gnoll.md +38 -0
  901. package/systems/5e/world/creatures/Gnome.md +37 -0
  902. package/systems/5e/world/creatures/Goat.md +32 -0
  903. package/systems/5e/world/creatures/Goblin.md +36 -0
  904. package/systems/5e/world/creatures/Gold Dragon Wyrmling.md +45 -0
  905. package/systems/5e/world/creatures/Gorgon.md +39 -0
  906. package/systems/5e/world/creatures/Gray Ooze.md +42 -0
  907. package/systems/5e/world/creatures/Green Dragon Wyrmling.md +42 -0
  908. package/systems/5e/world/creatures/Green Hag.md +49 -0
  909. package/systems/5e/world/creatures/Grick.md +39 -0
  910. package/systems/5e/world/creatures/Griffon.md +38 -0
  911. package/systems/5e/world/creatures/Grimlock.md +39 -0
  912. package/systems/5e/world/creatures/Guard.md +29 -0
  913. package/systems/5e/world/creatures/Guardian Naga.md +55 -0
  914. package/systems/5e/world/creatures/Gynosphinx.md +71 -0
  915. package/systems/5e/world/creatures/Half-Elf.md +40 -0
  916. package/systems/5e/world/creatures/Half-Orc.md +44 -0
  917. package/systems/5e/world/creatures/Half-Red Dragon Veteran.md +42 -0
  918. package/systems/5e/world/creatures/Halfling.md +39 -0
  919. package/systems/5e/world/creatures/Harpy.md +39 -0
  920. package/systems/5e/world/creatures/Hawk.md +31 -0
  921. package/systems/5e/world/creatures/Hell Hound.md +40 -0
  922. package/systems/5e/world/creatures/Hezrou.md +45 -0
  923. package/systems/5e/world/creatures/High Elf.md +22 -0
  924. package/systems/5e/world/creatures/Hill Dwarf.md +16 -0
  925. package/systems/5e/world/creatures/Hill Giant.md +33 -0
  926. package/systems/5e/world/creatures/Hippogriff.md +37 -0
  927. package/systems/5e/world/creatures/Hobgoblin.md +35 -0
  928. package/systems/5e/world/creatures/Homunculus.md +35 -0
  929. package/systems/5e/world/creatures/Horned Devil.md +49 -0
  930. package/systems/5e/world/creatures/Human.md +29 -0
  931. package/systems/5e/world/creatures/Hunter Shark.md +38 -0
  932. package/systems/5e/world/creatures/Hydra.md +49 -0
  933. package/systems/5e/world/creatures/Hyena.md +30 -0
  934. package/systems/5e/world/creatures/Ice Devil.md +56 -0
  935. package/systems/5e/world/creatures/Ice Mephit.md +45 -0
  936. package/systems/5e/world/creatures/Imp.md +45 -0
  937. package/systems/5e/world/creatures/Invisible Stalker.md +42 -0
  938. package/systems/5e/world/creatures/Iron Golem.md +52 -0
  939. package/systems/5e/world/creatures/Jackal.md +33 -0
  940. package/systems/5e/world/creatures/Killer Whale.md +39 -0
  941. package/systems/5e/world/creatures/Knight.md +48 -0
  942. package/systems/5e/world/creatures/Kobold.md +37 -0
  943. package/systems/5e/world/creatures/Kraken.md +69 -0
  944. package/systems/5e/world/creatures/Lamia.md +46 -0
  945. package/systems/5e/world/creatures/Lemure.md +37 -0
  946. package/systems/5e/world/creatures/Lich.md +82 -0
  947. package/systems/5e/world/creatures/Lightfoot Halfling.md +18 -0
  948. package/systems/5e/world/creatures/Lion.md +42 -0
  949. package/systems/5e/world/creatures/Lizard.md +26 -0
  950. package/systems/5e/world/creatures/Lizardfolk.md +45 -0
  951. package/systems/5e/world/creatures/Mage.md +47 -0
  952. package/systems/5e/world/creatures/Magma Mephit.md +45 -0
  953. package/systems/5e/world/creatures/Magmin.md +37 -0
  954. package/systems/5e/world/creatures/Mammoth.md +35 -0
  955. package/systems/5e/world/creatures/Manticore.md +42 -0
  956. package/systems/5e/world/creatures/Marilith.md +56 -0
  957. package/systems/5e/world/creatures/Mastiff.md +32 -0
  958. package/systems/5e/world/creatures/Medusa.md +46 -0
  959. package/systems/5e/world/creatures/Merfolk.md +32 -0
  960. package/systems/5e/world/creatures/Merrow.md +42 -0
  961. package/systems/5e/world/creatures/Mimic.md +46 -0
  962. package/systems/5e/world/creatures/Minotaur Skeleton.md +38 -0
  963. package/systems/5e/world/creatures/Minotaur.md +42 -0
  964. package/systems/5e/world/creatures/Mule.md +32 -0
  965. package/systems/5e/world/creatures/Mummy Lord.md +82 -0
  966. package/systems/5e/world/creatures/Mummy.md +38 -0
  967. package/systems/5e/world/creatures/Nalfeshnee.md +49 -0
  968. package/systems/5e/world/creatures/Night Hag.md +50 -0
  969. package/systems/5e/world/creatures/Nightmare.md +39 -0
  970. package/systems/5e/world/creatures/Noble.md +36 -0
  971. package/systems/5e/world/creatures/Ochre Jelly.md +42 -0
  972. package/systems/5e/world/creatures/Octopus.md +41 -0
  973. package/systems/5e/world/creatures/Ogre Zombie.md +34 -0
  974. package/systems/5e/world/creatures/Ogre.md +30 -0
  975. package/systems/5e/world/creatures/Oni.md +53 -0
  976. package/systems/5e/world/creatures/Orc.md +36 -0
  977. package/systems/5e/world/creatures/Otyugh.md +42 -0
  978. package/systems/5e/world/creatures/Owl.md +35 -0
  979. package/systems/5e/world/creatures/Owlbear.md +38 -0
  980. package/systems/5e/world/creatures/Panther.md +37 -0
  981. package/systems/5e/world/creatures/Pegasus.md +28 -0
  982. package/systems/5e/world/creatures/Phase Spider.md +41 -0
  983. package/systems/5e/world/creatures/Pit Fiend.md +61 -0
  984. package/systems/5e/world/creatures/Planetar.md +56 -0
  985. package/systems/5e/world/creatures/Plesiosaurus.md +32 -0
  986. package/systems/5e/world/creatures/Poisonous Snake.md +26 -0
  987. package/systems/5e/world/creatures/Polar Bear.md +38 -0
  988. package/systems/5e/world/creatures/Pony.md +24 -0
  989. package/systems/5e/world/creatures/Priest.md +47 -0
  990. package/systems/5e/world/creatures/Pseudodragon.md +44 -0
  991. package/systems/5e/world/creatures/Purple Worm.md +42 -0
  992. package/systems/5e/world/creatures/Quasit.md +44 -0
  993. package/systems/5e/world/creatures/Quipper.md +36 -0
  994. package/systems/5e/world/creatures/Rakshasa.md +45 -0
  995. package/systems/5e/world/creatures/Rat.md +30 -0
  996. package/systems/5e/world/creatures/Raven.md +31 -0
  997. package/systems/5e/world/creatures/Red Dragon Wyrmling.md +36 -0
  998. package/systems/5e/world/creatures/Reef Shark.md +38 -0
  999. package/systems/5e/world/creatures/Remorhaz.md +39 -0
  1000. package/systems/5e/world/creatures/Rhinoceros.md +30 -0
  1001. package/systems/5e/world/creatures/Riding Horse.md +24 -0
  1002. package/systems/5e/world/creatures/Roc.md +39 -0
  1003. package/systems/5e/world/creatures/Rock Gnome.md +27 -0
  1004. package/systems/5e/world/creatures/Roper.md +48 -0
  1005. package/systems/5e/world/creatures/Rug of Smothering.md +38 -0
  1006. package/systems/5e/world/creatures/Rust Monster.md +39 -0
  1007. package/systems/5e/world/creatures/Saber-Toothed Tiger.md +36 -0
  1008. package/systems/5e/world/creatures/Sahuagin.md +49 -0
  1009. package/systems/5e/world/creatures/Salamander.md +44 -0
  1010. package/systems/5e/world/creatures/Satyr.md +38 -0
  1011. package/systems/5e/world/creatures/Scorpion.md +26 -0
  1012. package/systems/5e/world/creatures/Scout.md +40 -0
  1013. package/systems/5e/world/creatures/Sea Hag.md +46 -0
  1014. package/systems/5e/world/creatures/Sea Horse.md +25 -0
  1015. package/systems/5e/world/creatures/Shadow.md +45 -0
  1016. package/systems/5e/world/creatures/Shambling Mound.md +42 -0
  1017. package/systems/5e/world/creatures/Shield Guardian.md +49 -0
  1018. package/systems/5e/world/creatures/Shrieker.md +31 -0
  1019. package/systems/5e/world/creatures/Silver Dragon Wyrmling.md +39 -0
  1020. package/systems/5e/world/creatures/Skeleton.md +33 -0
  1021. package/systems/5e/world/creatures/Solar.md +76 -0
  1022. package/systems/5e/world/creatures/Specter.md +38 -0
  1023. package/systems/5e/world/creatures/Spider.md +38 -0
  1024. package/systems/5e/world/creatures/Spirit Naga.md +50 -0
  1025. package/systems/5e/world/creatures/Sprite.md +37 -0
  1026. package/systems/5e/world/creatures/Spy.md +42 -0
  1027. package/systems/5e/world/creatures/Steam Mephit.md +40 -0
  1028. package/systems/5e/world/creatures/Stirge.md +29 -0
  1029. package/systems/5e/world/creatures/Stone Giant.md +45 -0
  1030. package/systems/5e/world/creatures/Stone Golem.md +46 -0
  1031. package/systems/5e/world/creatures/Storm Giant.md +51 -0
  1032. package/systems/5e/world/creatures/Succubus-Incubus.md +50 -0
  1033. package/systems/5e/world/creatures/Swarm of Bats.md +39 -0
  1034. package/systems/5e/world/creatures/Swarm of Insects.md +52 -0
  1035. package/systems/5e/world/creatures/Swarm of Poisonous Snakes.md +33 -0
  1036. package/systems/5e/world/creatures/Swarm of Quippers.md +39 -0
  1037. package/systems/5e/world/creatures/Swarm of Rats.md +35 -0
  1038. package/systems/5e/world/creatures/Swarm of Ravens.md +33 -0
  1039. package/systems/5e/world/creatures/Tarrasque.md +76 -0
  1040. package/systems/5e/world/creatures/Thug.md +40 -0
  1041. package/systems/5e/world/creatures/Tiefling.md +40 -0
  1042. package/systems/5e/world/creatures/Tiger.md +37 -0
  1043. package/systems/5e/world/creatures/Treant.md +45 -0
  1044. package/systems/5e/world/creatures/Tribal Warrior.md +33 -0
  1045. package/systems/5e/world/creatures/Triceratops.md +33 -0
  1046. package/systems/5e/world/creatures/Troll.md +42 -0
  1047. package/systems/5e/world/creatures/Tyrannosaurus Rex.md +32 -0
  1048. package/systems/5e/world/creatures/Unicorn.md +70 -0
  1049. package/systems/5e/world/creatures/Vampire Spawn.md +55 -0
  1050. package/systems/5e/world/creatures/Vampire.md +91 -0
  1051. package/systems/5e/world/creatures/Veteran.md +38 -0
  1052. package/systems/5e/world/creatures/Violet Fungus.md +34 -0
  1053. package/systems/5e/world/creatures/Vrock.md +49 -0
  1054. package/systems/5e/world/creatures/Vulture.md +34 -0
  1055. package/systems/5e/world/creatures/Warhorse Skeleton.md +29 -0
  1056. package/systems/5e/world/creatures/Warhorse.md +29 -0
  1057. package/systems/5e/world/creatures/Water Elemental.md +47 -0
  1058. package/systems/5e/world/creatures/Weasel.md +30 -0
  1059. package/systems/5e/world/creatures/Werebear.md +45 -0
  1060. package/systems/5e/world/creatures/Wereboar.md +45 -0
  1061. package/systems/5e/world/creatures/Wererat.md +45 -0
  1062. package/systems/5e/world/creatures/Weretiger.md +51 -0
  1063. package/systems/5e/world/creatures/Werewolf.md +45 -0
  1064. package/systems/5e/world/creatures/White Dragon Wyrmling.md +37 -0
  1065. package/systems/5e/world/creatures/Wight.md +47 -0
  1066. package/systems/5e/world/creatures/Will-o'-Wisp.md +47 -0
  1067. package/systems/5e/world/creatures/Winter Wolf.md +44 -0
  1068. package/systems/5e/world/creatures/Wolf.md +34 -0
  1069. package/systems/5e/world/creatures/Worg.md +35 -0
  1070. package/systems/5e/world/creatures/Wraith.md +41 -0
  1071. package/systems/5e/world/creatures/Wyvern.md +37 -0
  1072. package/systems/5e/world/creatures/Xorn.md +48 -0
  1073. package/systems/5e/world/creatures/Young Black Dragon.md +47 -0
  1074. package/systems/5e/world/creatures/Young Blue Dragon.md +42 -0
  1075. package/systems/5e/world/creatures/Young Brass Dragon.md +46 -0
  1076. package/systems/5e/world/creatures/Young Bronze Dragon.md +51 -0
  1077. package/systems/5e/world/creatures/Young Copper Dragon.md +46 -0
  1078. package/systems/5e/world/creatures/Young Gold Dragon.md +51 -0
  1079. package/systems/5e/world/creatures/Young Green Dragon.md +48 -0
  1080. package/systems/5e/world/creatures/Young Red Dragon.md +42 -0
  1081. package/systems/5e/world/creatures/Young Silver Dragon.md +45 -0
  1082. package/systems/5e/world/creatures/Young White Dragon.md +48 -0
  1083. package/systems/5e/world/creatures/Zombie.md +34 -0
  1084. package/systems/5e/world/items/Abacus.md +5 -0
  1085. package/systems/5e/world/items/Acid.md +8 -0
  1086. package/systems/5e/world/items/Adamantine Armor.md +6 -0
  1087. package/systems/5e/world/items/Alchemist's Fire.md +8 -0
  1088. package/systems/5e/world/items/Alchemist's Supplies.md +7 -0
  1089. package/systems/5e/world/items/Ammunition, +1, +2, or +3.md +6 -0
  1090. package/systems/5e/world/items/Amulet of Health.md +7 -0
  1091. package/systems/5e/world/items/Amulet of Proof against Detection and Location.md +7 -0
  1092. package/systems/5e/world/items/Amulet of the Planes.md +7 -0
  1093. package/systems/5e/world/items/Amulet.md +7 -0
  1094. package/systems/5e/world/items/Animated Shield.md +7 -0
  1095. package/systems/5e/world/items/Antitoxin.md +7 -0
  1096. package/systems/5e/world/items/Apparatus of the Crab.md +37 -0
  1097. package/systems/5e/world/items/Armor of Invulnerability.md +7 -0
  1098. package/systems/5e/world/items/Armor of Resistance.md +15 -0
  1099. package/systems/5e/world/items/Armor of Vulnerability.md +9 -0
  1100. package/systems/5e/world/items/Armor, +1, +2, or +3.md +6 -0
  1101. package/systems/5e/world/items/Arrow of Slaying.md +10 -0
  1102. package/systems/5e/world/items/Arrow-Catching Shield.md +7 -0
  1103. package/systems/5e/world/items/Arrows.md +6 -0
  1104. package/systems/5e/world/items/Backpack.md +5 -0
  1105. package/systems/5e/world/items/Bag of Beans.md +25 -0
  1106. package/systems/5e/world/items/Bag of Devouring.md +12 -0
  1107. package/systems/5e/world/items/Bag of Holding.md +10 -0
  1108. package/systems/5e/world/items/Bag of Tricks.md +51 -0
  1109. package/systems/5e/world/items/Bagpipes.md +7 -0
  1110. package/systems/5e/world/items/Ball Bearings.md +8 -0
  1111. package/systems/5e/world/items/Barding.md +7 -0
  1112. package/systems/5e/world/items/Barrel.md +5 -0
  1113. package/systems/5e/world/items/Basic Poison.md +7 -0
  1114. package/systems/5e/world/items/Basket.md +5 -0
  1115. package/systems/5e/world/items/Battleaxe.md +10 -0
  1116. package/systems/5e/world/items/Bead of Force.md +10 -0
  1117. package/systems/5e/world/items/Bedroll.md +5 -0
  1118. package/systems/5e/world/items/Bell.md +4 -0
  1119. package/systems/5e/world/items/Belt of Dwarvenkind.md +18 -0
  1120. package/systems/5e/world/items/Belt of Giant Strength.md +17 -0
  1121. package/systems/5e/world/items/Berserker Axe.md +11 -0
  1122. package/systems/5e/world/items/Bit and Bridle.md +5 -0
  1123. package/systems/5e/world/items/Blanket.md +5 -0
  1124. package/systems/5e/world/items/Block and Tackle.md +7 -0
  1125. package/systems/5e/world/items/Blowgun Needles.md +6 -0
  1126. package/systems/5e/world/items/Blowgun.md +10 -0
  1127. package/systems/5e/world/items/Book.md +7 -0
  1128. package/systems/5e/world/items/Boots of Elvenkind.md +6 -0
  1129. package/systems/5e/world/items/Boots of Levitation.md +7 -0
  1130. package/systems/5e/world/items/Boots of Speed.md +9 -0
  1131. package/systems/5e/world/items/Boots of Striding and Springing.md +7 -0
  1132. package/systems/5e/world/items/Boots of the Winterlands.md +11 -0
  1133. package/systems/5e/world/items/Bowl of Commanding Water Elementals.md +8 -0
  1134. package/systems/5e/world/items/Bracers of Archery.md +7 -0
  1135. package/systems/5e/world/items/Bracers of Defense.md +7 -0
  1136. package/systems/5e/world/items/Brazier of Commanding Fire Elementals.md +8 -0
  1137. package/systems/5e/world/items/Breastplate.md +9 -0
  1138. package/systems/5e/world/items/Brewer's Supplies.md +7 -0
  1139. package/systems/5e/world/items/Brooch of Shielding.md +7 -0
  1140. package/systems/5e/world/items/Broom of Flying.md +8 -0
  1141. package/systems/5e/world/items/Bucket.md +5 -0
  1142. package/systems/5e/world/items/Bullseye Lantern.md +8 -0
  1143. package/systems/5e/world/items/Burglar's Pack.md +6 -0
  1144. package/systems/5e/world/items/Calligrapher's Supplies.md +7 -0
  1145. package/systems/5e/world/items/Caltrops.md +8 -0
  1146. package/systems/5e/world/items/Candle of Invocation.md +25 -0
  1147. package/systems/5e/world/items/Candle.md +6 -0
  1148. package/systems/5e/world/items/Cape of the Mountebank.md +8 -0
  1149. package/systems/5e/world/items/Carpenter's Tools.md +7 -0
  1150. package/systems/5e/world/items/Carpet of Flying.md +17 -0
  1151. package/systems/5e/world/items/Carriage.md +5 -0
  1152. package/systems/5e/world/items/Cart.md +5 -0
  1153. package/systems/5e/world/items/Cartographer's Tools.md +7 -0
  1154. package/systems/5e/world/items/Censer of Controlling Air Elementals.md +8 -0
  1155. package/systems/5e/world/items/Chain Mail.md +11 -0
  1156. package/systems/5e/world/items/Chain Shirt.md +9 -0
  1157. package/systems/5e/world/items/Chain.md +9 -0
  1158. package/systems/5e/world/items/Chalk.md +5 -0
  1159. package/systems/5e/world/items/Chariot.md +5 -0
  1160. package/systems/5e/world/items/Chest.md +5 -0
  1161. package/systems/5e/world/items/Chime of Opening.md +8 -0
  1162. package/systems/5e/world/items/Circlet of Blasting.md +6 -0
  1163. package/systems/5e/world/items/Climber's Kit.md +7 -0
  1164. package/systems/5e/world/items/Cloak of Arachnida.md +13 -0
  1165. package/systems/5e/world/items/Cloak of Displacement.md +7 -0
  1166. package/systems/5e/world/items/Cloak of Elvenkind.md +7 -0
  1167. package/systems/5e/world/items/Cloak of Protection.md +7 -0
  1168. package/systems/5e/world/items/Cloak of the Bat.md +9 -0
  1169. package/systems/5e/world/items/Cloak of the Manta Ray.md +6 -0
  1170. package/systems/5e/world/items/Club.md +10 -0
  1171. package/systems/5e/world/items/Cobbler's Tools.md +7 -0
  1172. package/systems/5e/world/items/Common Clothes.md +6 -0
  1173. package/systems/5e/world/items/Component Pouch.md +7 -0
  1174. package/systems/5e/world/items/Cook's Utensils.md +7 -0
  1175. package/systems/5e/world/items/Costume Clothes.md +6 -0
  1176. package/systems/5e/world/items/Crossbow Bolt Case.md +8 -0
  1177. package/systems/5e/world/items/Crossbow Bolts.md +6 -0
  1178. package/systems/5e/world/items/Crowbar.md +7 -0
  1179. package/systems/5e/world/items/Crystal Ball.md +15 -0
  1180. package/systems/5e/world/items/Crystal.md +7 -0
  1181. package/systems/5e/world/items/Cube of Force.md +32 -0
  1182. package/systems/5e/world/items/Cubic Gate.md +10 -0
  1183. package/systems/5e/world/items/Dagger of Venom.md +8 -0
  1184. package/systems/5e/world/items/Dagger.md +10 -0
  1185. package/systems/5e/world/items/Dancing Sword.md +11 -0
  1186. package/systems/5e/world/items/Dart.md +10 -0
  1187. package/systems/5e/world/items/Decanter of Endless Water.md +12 -0
  1188. package/systems/5e/world/items/Deck of Illusions.md +48 -0
  1189. package/systems/5e/world/items/Deck of Many Things.md +113 -0
  1190. package/systems/5e/world/items/Defender.md +9 -0
  1191. package/systems/5e/world/items/Demon Armor.md +9 -0
  1192. package/systems/5e/world/items/Dice Set.md +6 -0
  1193. package/systems/5e/world/items/Dimensional Shackles.md +8 -0
  1194. package/systems/5e/world/items/Diplomat's Pack.md +6 -0
  1195. package/systems/5e/world/items/Disguise Kit.md +7 -0
  1196. package/systems/5e/world/items/Dragon Scale Mail.md +19 -0
  1197. package/systems/5e/world/items/Dragon Slayer.md +8 -0
  1198. package/systems/5e/world/items/Drum.md +7 -0
  1199. package/systems/5e/world/items/Dulcimer.md +7 -0
  1200. package/systems/5e/world/items/Dungeoneer's Pack.md +6 -0
  1201. package/systems/5e/world/items/Dust of Disappearance.md +6 -0
  1202. package/systems/5e/world/items/Dust of Dryness.md +10 -0
  1203. package/systems/5e/world/items/Dust of Sneezing and Choking.md +8 -0
  1204. package/systems/5e/world/items/Dwarven Plate.md +6 -0
  1205. package/systems/5e/world/items/Dwarven Thrower.md +7 -0
  1206. package/systems/5e/world/items/Efficient Quiver.md +8 -0
  1207. package/systems/5e/world/items/Efreeti Bottle.md +14 -0
  1208. package/systems/5e/world/items/Elemental Gem.md +13 -0
  1209. package/systems/5e/world/items/Elven Chain.md +6 -0
  1210. package/systems/5e/world/items/Emblem.md +6 -0
  1211. package/systems/5e/world/items/Entertainer's Pack.md +6 -0
  1212. package/systems/5e/world/items/Eversmoking Bottle.md +8 -0
  1213. package/systems/5e/world/items/Exotic Saddle.md +7 -0
  1214. package/systems/5e/world/items/Explorer's Pack.md +6 -0
  1215. package/systems/5e/world/items/Eyes of Charming.md +7 -0
  1216. package/systems/5e/world/items/Eyes of Minute Seeing.md +6 -0
  1217. package/systems/5e/world/items/Eyes of the Eagle.md +7 -0
  1218. package/systems/5e/world/items/Feather Token.md +26 -0
  1219. package/systems/5e/world/items/Feed.md +6 -0
  1220. package/systems/5e/world/items/Figurine of Wondrous Power.md +52 -0
  1221. package/systems/5e/world/items/Fine Clothes.md +6 -0
  1222. package/systems/5e/world/items/Fishing Tackle.md +7 -0
  1223. package/systems/5e/world/items/Flail.md +9 -0
  1224. package/systems/5e/world/items/Flame Tongue.md +7 -0
  1225. package/systems/5e/world/items/Flask or Tankard.md +5 -0
  1226. package/systems/5e/world/items/Flute.md +7 -0
  1227. package/systems/5e/world/items/Folding Boat.md +14 -0
  1228. package/systems/5e/world/items/Forgery Kit.md +7 -0
  1229. package/systems/5e/world/items/Frost Brand.md +11 -0
  1230. package/systems/5e/world/items/Galley.md +5 -0
  1231. package/systems/5e/world/items/Gauntlets of Ogre Power.md +7 -0
  1232. package/systems/5e/world/items/Gem of Brightness.md +12 -0
  1233. package/systems/5e/world/items/Gem of Seeing.md +9 -0
  1234. package/systems/5e/world/items/Giant Slayer.md +8 -0
  1235. package/systems/5e/world/items/Glaive.md +10 -0
  1236. package/systems/5e/world/items/Glamoured Studded Leather.md +6 -0
  1237. package/systems/5e/world/items/Glass Bottle.md +6 -0
  1238. package/systems/5e/world/items/Glassblower's Tools.md +7 -0
  1239. package/systems/5e/world/items/Gloves of Missile Snaring.md +7 -0
  1240. package/systems/5e/world/items/Gloves of Swimming and Climbing.md +7 -0
  1241. package/systems/5e/world/items/Goggles of Night.md +6 -0
  1242. package/systems/5e/world/items/Grappling Hook.md +5 -0
  1243. package/systems/5e/world/items/Greataxe.md +10 -0
  1244. package/systems/5e/world/items/Greatclub.md +10 -0
  1245. package/systems/5e/world/items/Greatsword.md +10 -0
  1246. package/systems/5e/world/items/Halberd.md +10 -0
  1247. package/systems/5e/world/items/Half Plate Armor.md +11 -0
  1248. package/systems/5e/world/items/Hammer of Thunderbolts.md +10 -0
  1249. package/systems/5e/world/items/Hammer.md +5 -0
  1250. package/systems/5e/world/items/Hand Crossbow.md +11 -0
  1251. package/systems/5e/world/items/Handaxe.md +10 -0
  1252. package/systems/5e/world/items/Handy Haversack.md +12 -0
  1253. package/systems/5e/world/items/Hat of Disguise.md +7 -0
  1254. package/systems/5e/world/items/Headband of Intellect.md +7 -0
  1255. package/systems/5e/world/items/Healer's Kit.md +8 -0
  1256. package/systems/5e/world/items/Heavy Crossbow.md +11 -0
  1257. package/systems/5e/world/items/Helm of Brilliance.md +16 -0
  1258. package/systems/5e/world/items/Helm of Comprehending Languages.md +6 -0
  1259. package/systems/5e/world/items/Helm of Telepathy.md +9 -0
  1260. package/systems/5e/world/items/Helm of Teleportation.md +7 -0
  1261. package/systems/5e/world/items/Hempen Rope.md +9 -0
  1262. package/systems/5e/world/items/Herbalism Kit.md +7 -0
  1263. package/systems/5e/world/items/Hide Armor.md +10 -0
  1264. package/systems/5e/world/items/Holy Avenger.md +9 -0
  1265. package/systems/5e/world/items/Holy Water.md +10 -0
  1266. package/systems/5e/world/items/Hooded Lantern.md +8 -0
  1267. package/systems/5e/world/items/Horn of Blasting.md +8 -0
  1268. package/systems/5e/world/items/Horn of Valhalla.md +17 -0
  1269. package/systems/5e/world/items/Horn.md +7 -0
  1270. package/systems/5e/world/items/Horseshoes of Speed.md +6 -0
  1271. package/systems/5e/world/items/Horseshoes of a Zephyr.md +6 -0
  1272. package/systems/5e/world/items/Hourglass.md +5 -0
  1273. package/systems/5e/world/items/Hunting Trap.md +7 -0
  1274. package/systems/5e/world/items/Immovable Rod.md +6 -0
  1275. package/systems/5e/world/items/Ink Pen.md +4 -0
  1276. package/systems/5e/world/items/Ink.md +5 -0
  1277. package/systems/5e/world/items/Instant Fortress.md +12 -0
  1278. package/systems/5e/world/items/Ioun Stone.md +47 -0
  1279. package/systems/5e/world/items/Iron Bands of Binding.md +12 -0
  1280. package/systems/5e/world/items/Iron Flask.md +33 -0
  1281. package/systems/5e/world/items/Iron Pot.md +6 -0
  1282. package/systems/5e/world/items/Iron Spikes.md +6 -0
  1283. package/systems/5e/world/items/Javelin of Lightning.md +8 -0
  1284. package/systems/5e/world/items/Javelin.md +10 -0
  1285. package/systems/5e/world/items/Jeweler's Tools.md +7 -0
  1286. package/systems/5e/world/items/Jug or Pitcher.md +5 -0
  1287. package/systems/5e/world/items/Keelboat.md +7 -0
  1288. package/systems/5e/world/items/Ladder.md +7 -0
  1289. package/systems/5e/world/items/Lamp.md +7 -0
  1290. package/systems/5e/world/items/Lance.md +12 -0
  1291. package/systems/5e/world/items/Lantern of Revealing.md +6 -0
  1292. package/systems/5e/world/items/Leather Armor.md +10 -0
  1293. package/systems/5e/world/items/Leatherworker's Tools.md +7 -0
  1294. package/systems/5e/world/items/Light Crossbow.md +11 -0
  1295. package/systems/5e/world/items/Light Hammer.md +10 -0
  1296. package/systems/5e/world/items/Lock.md +7 -0
  1297. package/systems/5e/world/items/Longbow.md +10 -0
  1298. package/systems/5e/world/items/Longship.md +5 -0
  1299. package/systems/5e/world/items/Longsword.md +10 -0
  1300. package/systems/5e/world/items/Luck Blade.md +11 -0
  1301. package/systems/5e/world/items/Lute.md +7 -0
  1302. package/systems/5e/world/items/Lyre.md +7 -0
  1303. package/systems/5e/world/items/Mace of Disruption.md +9 -0
  1304. package/systems/5e/world/items/Mace of Smiting.md +8 -0
  1305. package/systems/5e/world/items/Mace of Terror.md +9 -0
  1306. package/systems/5e/world/items/Mace.md +9 -0
  1307. package/systems/5e/world/items/Magnifying Glass.md +6 -0
  1308. package/systems/5e/world/items/Manacles.md +7 -0
  1309. package/systems/5e/world/items/Mantle of Spell Resistance.md +7 -0
  1310. package/systems/5e/world/items/Manual of Bodily Health.md +6 -0
  1311. package/systems/5e/world/items/Manual of Gainful Exercise.md +6 -0
  1312. package/systems/5e/world/items/Manual of Golems.md +17 -0
  1313. package/systems/5e/world/items/Manual of Quickness of Action.md +6 -0
  1314. package/systems/5e/world/items/Map or Scroll Case.md +8 -0
  1315. package/systems/5e/world/items/Marvelous Pigments.md +14 -0
  1316. package/systems/5e/world/items/Mason's Tools.md +7 -0
  1317. package/systems/5e/world/items/Maul.md +10 -0
  1318. package/systems/5e/world/items/Medallion of Thoughts.md +7 -0
  1319. package/systems/5e/world/items/Merchant's Scale.md +8 -0
  1320. package/systems/5e/world/items/Mess Kit.md +7 -0
  1321. package/systems/5e/world/items/Military Saddle.md +7 -0
  1322. package/systems/5e/world/items/Miner's Pick.md +6 -0
  1323. package/systems/5e/world/items/Mirror of Life Trapping.md +18 -0
  1324. package/systems/5e/world/items/Mithral Armor.md +6 -0
  1325. package/systems/5e/world/items/Morningstar.md +9 -0
  1326. package/systems/5e/world/items/Navigator's Tools.md +7 -0
  1327. package/systems/5e/world/items/Necklace of Adaptation.md +7 -0
  1328. package/systems/5e/world/items/Necklace of Fireballs.md +8 -0
  1329. package/systems/5e/world/items/Necklace of Prayer Beads.md +18 -0
  1330. package/systems/5e/world/items/Net.md +12 -0
  1331. package/systems/5e/world/items/Nine Lives Stealer.md +9 -0
  1332. package/systems/5e/world/items/Oathbow.md +11 -0
  1333. package/systems/5e/world/items/Oil of Etherealness.md +6 -0
  1334. package/systems/5e/world/items/Oil of Sharpness.md +6 -0
  1335. package/systems/5e/world/items/Oil of Slipperiness.md +8 -0
  1336. package/systems/5e/world/items/Oil.md +8 -0
  1337. package/systems/5e/world/items/Orb of Dragonkind.md +31 -0
  1338. package/systems/5e/world/items/Orb.md +7 -0
  1339. package/systems/5e/world/items/Pack Saddle.md +7 -0
  1340. package/systems/5e/world/items/Padded Armor.md +11 -0
  1341. package/systems/5e/world/items/Painter's Supplies.md +7 -0
  1342. package/systems/5e/world/items/Pan Flute.md +7 -0
  1343. package/systems/5e/world/items/Paper.md +5 -0
  1344. package/systems/5e/world/items/Parchment.md +5 -0
  1345. package/systems/5e/world/items/Pearl of Power.md +7 -0
  1346. package/systems/5e/world/items/Perfume.md +5 -0
  1347. package/systems/5e/world/items/Periapt of Health.md +6 -0
  1348. package/systems/5e/world/items/Periapt of Proof against Poison.md +6 -0
  1349. package/systems/5e/world/items/Periapt of Wound Closure.md +7 -0
  1350. package/systems/5e/world/items/Philter of Love.md +6 -0
  1351. package/systems/5e/world/items/Pike.md +10 -0
  1352. package/systems/5e/world/items/Pipes of Haunting.md +6 -0
  1353. package/systems/5e/world/items/Pipes of the Sewers.md +11 -0
  1354. package/systems/5e/world/items/Piton.md +5 -0
  1355. package/systems/5e/world/items/Plate Armor of Etherealness.md +7 -0
  1356. package/systems/5e/world/items/Plate Armor.md +12 -0
  1357. package/systems/5e/world/items/Playing Card Set.md +6 -0
  1358. package/systems/5e/world/items/Poisoner's Kit.md +7 -0
  1359. package/systems/5e/world/items/Pole.md +7 -0
  1360. package/systems/5e/world/items/Portable Hole.md +14 -0
  1361. package/systems/5e/world/items/Portable Ram.md +8 -0
  1362. package/systems/5e/world/items/Potion of Animal Friendship.md +6 -0
  1363. package/systems/5e/world/items/Potion of Clairvoyance.md +6 -0
  1364. package/systems/5e/world/items/Potion of Climbing.md +6 -0
  1365. package/systems/5e/world/items/Potion of Diminution.md +6 -0
  1366. package/systems/5e/world/items/Potion of Flying.md +6 -0
  1367. package/systems/5e/world/items/Potion of Gaseous Form.md +6 -0
  1368. package/systems/5e/world/items/Potion of Giant Strength.md +16 -0
  1369. package/systems/5e/world/items/Potion of Growth.md +6 -0
  1370. package/systems/5e/world/items/Potion of Healing.md +19 -0
  1371. package/systems/5e/world/items/Potion of Heroism.md +6 -0
  1372. package/systems/5e/world/items/Potion of Invisibility.md +6 -0
  1373. package/systems/5e/world/items/Potion of Mind Reading.md +6 -0
  1374. package/systems/5e/world/items/Potion of Poison.md +8 -0
  1375. package/systems/5e/world/items/Potion of Resistance.md +14 -0
  1376. package/systems/5e/world/items/Potion of Speed.md +6 -0
  1377. package/systems/5e/world/items/Potion of Water Breathing.md +6 -0
  1378. package/systems/5e/world/items/Potter's Tools.md +7 -0
  1379. package/systems/5e/world/items/Pouch.md +7 -0
  1380. package/systems/5e/world/items/Priest's Pack.md +6 -0
  1381. package/systems/5e/world/items/Quarterstaff.md +10 -0
  1382. package/systems/5e/world/items/Quiver.md +7 -0
  1383. package/systems/5e/world/items/Rapier.md +10 -0
  1384. package/systems/5e/world/items/Rations.md +8 -0
  1385. package/systems/5e/world/items/Reliquary.md +7 -0
  1386. package/systems/5e/world/items/Restorative Ointment.md +8 -0
  1387. package/systems/5e/world/items/Riding Saddle.md +7 -0
  1388. package/systems/5e/world/items/Ring Mail.md +10 -0
  1389. package/systems/5e/world/items/Ring of Animal Influence.md +10 -0
  1390. package/systems/5e/world/items/Ring of Djinni Summoning.md +11 -0
  1391. package/systems/5e/world/items/Ring of Elemental Command.md +41 -0
  1392. package/systems/5e/world/items/Ring of Evasion.md +7 -0
  1393. package/systems/5e/world/items/Ring of Feather Falling.md +7 -0
  1394. package/systems/5e/world/items/Ring of Free Action.md +7 -0
  1395. package/systems/5e/world/items/Ring of Invisibility.md +7 -0
  1396. package/systems/5e/world/items/Ring of Jumping.md +7 -0
  1397. package/systems/5e/world/items/Ring of Mind Shielding.md +11 -0
  1398. package/systems/5e/world/items/Ring of Protection.md +7 -0
  1399. package/systems/5e/world/items/Ring of Regeneration.md +7 -0
  1400. package/systems/5e/world/items/Ring of Resistance.md +20 -0
  1401. package/systems/5e/world/items/Ring of Shooting Stars.md +26 -0
  1402. package/systems/5e/world/items/Ring of Spell Storing.md +11 -0
  1403. package/systems/5e/world/items/Ring of Spell Turning.md +7 -0
  1404. package/systems/5e/world/items/Ring of Swimming.md +6 -0
  1405. package/systems/5e/world/items/Ring of Telekinesis.md +7 -0
  1406. package/systems/5e/world/items/Ring of Three Wishes.md +6 -0
  1407. package/systems/5e/world/items/Ring of Warmth.md +7 -0
  1408. package/systems/5e/world/items/Ring of Water Walking.md +6 -0
  1409. package/systems/5e/world/items/Ring of X-ray Vision.md +9 -0
  1410. package/systems/5e/world/items/Ring of the Ram.md +9 -0
  1411. package/systems/5e/world/items/Robe of Eyes.md +15 -0
  1412. package/systems/5e/world/items/Robe of Scintillating Colors.md +7 -0
  1413. package/systems/5e/world/items/Robe of Stars.md +11 -0
  1414. package/systems/5e/world/items/Robe of Useful Items.md +33 -0
  1415. package/systems/5e/world/items/Robe of the Archmagi.md +13 -0
  1416. package/systems/5e/world/items/Robes.md +5 -0
  1417. package/systems/5e/world/items/Rod of Absorption.md +13 -0
  1418. package/systems/5e/world/items/Rod of Alertness.md +15 -0
  1419. package/systems/5e/world/items/Rod of Lordly Might.md +27 -0
  1420. package/systems/5e/world/items/Rod of Rulership.md +7 -0
  1421. package/systems/5e/world/items/Rod of Security.md +10 -0
  1422. package/systems/5e/world/items/Rod.md +7 -0
  1423. package/systems/5e/world/items/Rope of Climbing.md +10 -0
  1424. package/systems/5e/world/items/Rope of Entanglement.md +10 -0
  1425. package/systems/5e/world/items/Rowboat.md +7 -0
  1426. package/systems/5e/world/items/Sack.md +5 -0
  1427. package/systems/5e/world/items/Saddlebags.md +5 -0
  1428. package/systems/5e/world/items/Sailing Ship.md +5 -0
  1429. package/systems/5e/world/items/Scale Mail.md +10 -0
  1430. package/systems/5e/world/items/Scarab of Protection.md +10 -0
  1431. package/systems/5e/world/items/Scholar's Pack.md +6 -0
  1432. package/systems/5e/world/items/Scimitar of Speed.md +7 -0
  1433. package/systems/5e/world/items/Scimitar.md +10 -0
  1434. package/systems/5e/world/items/Sealing Wax.md +4 -0
  1435. package/systems/5e/world/items/Shawm.md +7 -0
  1436. package/systems/5e/world/items/Shield of Missile Attraction.md +9 -0
  1437. package/systems/5e/world/items/Shield, +1, +2, or +3.md +6 -0
  1438. package/systems/5e/world/items/Shield.md +9 -0
  1439. package/systems/5e/world/items/Shortbow.md +10 -0
  1440. package/systems/5e/world/items/Shortsword.md +10 -0
  1441. package/systems/5e/world/items/Shovel.md +5 -0
  1442. package/systems/5e/world/items/Sickle.md +10 -0
  1443. package/systems/5e/world/items/Signal Whistle.md +4 -0
  1444. package/systems/5e/world/items/Signet Ring.md +4 -0
  1445. package/systems/5e/world/items/Silk Rope.md +9 -0
  1446. package/systems/5e/world/items/Sled.md +5 -0
  1447. package/systems/5e/world/items/Sledgehammer.md +6 -0
  1448. package/systems/5e/world/items/Sling Bullets.md +6 -0
  1449. package/systems/5e/world/items/Sling.md +9 -0
  1450. package/systems/5e/world/items/Slippers of Spider Climbing.md +7 -0
  1451. package/systems/5e/world/items/Smith's Tools.md +7 -0
  1452. package/systems/5e/world/items/Soap.md +4 -0
  1453. package/systems/5e/world/items/Sovereign Glue.md +8 -0
  1454. package/systems/5e/world/items/Spear.md +10 -0
  1455. package/systems/5e/world/items/Spell Scroll.md +27 -0
  1456. package/systems/5e/world/items/Spellbook.md +7 -0
  1457. package/systems/5e/world/items/Spellguard Shield.md +7 -0
  1458. package/systems/5e/world/items/Sphere of Annihilation.md +20 -0
  1459. package/systems/5e/world/items/Splint Armor.md +12 -0
  1460. package/systems/5e/world/items/Sprig of Mistletoe.md +6 -0
  1461. package/systems/5e/world/items/Spyglass.md +7 -0
  1462. package/systems/5e/world/items/Staff of Charming.md +11 -0
  1463. package/systems/5e/world/items/Staff of Fire.md +11 -0
  1464. package/systems/5e/world/items/Staff of Frost.md +11 -0
  1465. package/systems/5e/world/items/Staff of Healing.md +9 -0
  1466. package/systems/5e/world/items/Staff of Power.md +23 -0
  1467. package/systems/5e/world/items/Staff of Striking.md +9 -0
  1468. package/systems/5e/world/items/Staff of Swarming Insects.md +11 -0
  1469. package/systems/5e/world/items/Staff of Thunder and Lightning.md +17 -0
  1470. package/systems/5e/world/items/Staff of Withering.md +9 -0
  1471. package/systems/5e/world/items/Staff of the Magi.md +25 -0
  1472. package/systems/5e/world/items/Staff of the Python.md +11 -0
  1473. package/systems/5e/world/items/Staff of the Woodlands.md +15 -0
  1474. package/systems/5e/world/items/Staff.md +7 -0
  1475. package/systems/5e/world/items/Steel Mirror.md +6 -0
  1476. package/systems/5e/world/items/Stone of Controlling Earth Elementals.md +6 -0
  1477. package/systems/5e/world/items/Stone of Good Luck.md +8 -0
  1478. package/systems/5e/world/items/Studded Leather Armor.md +10 -0
  1479. package/systems/5e/world/items/Sun Blade.md +11 -0
  1480. package/systems/5e/world/items/Sword of Life Stealing.md +7 -0
  1481. package/systems/5e/world/items/Sword of Sharpness.md +11 -0
  1482. package/systems/5e/world/items/Sword of Wounding.md +9 -0
  1483. package/systems/5e/world/items/Talisman of Pure Good.md +11 -0
  1484. package/systems/5e/world/items/Talisman of Ultimate Evil.md +11 -0
  1485. package/systems/5e/world/items/Talisman of the Sphere.md +7 -0
  1486. package/systems/5e/world/items/Thieves' Tools.md +7 -0
  1487. package/systems/5e/world/items/Tinderbox.md +7 -0
  1488. package/systems/5e/world/items/Tinker's Tools.md +7 -0
  1489. package/systems/5e/world/items/Tome of Clear Thought.md +6 -0
  1490. package/systems/5e/world/items/Tome of Leadership and Influence.md +6 -0
  1491. package/systems/5e/world/items/Tome of Understanding.md +6 -0
  1492. package/systems/5e/world/items/Torch.md +7 -0
  1493. package/systems/5e/world/items/Totem.md +6 -0
  1494. package/systems/5e/world/items/Traveler's Clothes.md +6 -0
  1495. package/systems/5e/world/items/Trident of Fish Command.md +7 -0
  1496. package/systems/5e/world/items/Trident.md +10 -0
  1497. package/systems/5e/world/items/Two-Person Tent.md +8 -0
  1498. package/systems/5e/world/items/Unarmed Strike.md +7 -0
  1499. package/systems/5e/world/items/Universal Solvent.md +6 -0
  1500. package/systems/5e/world/items/Vial.md +4 -0
  1501. package/systems/5e/world/items/Vicious Weapon.md +6 -0
  1502. package/systems/5e/world/items/Viol.md +7 -0
  1503. package/systems/5e/world/items/Vorpal Sword.md +9 -0
  1504. package/systems/5e/world/items/Wagon.md +5 -0
  1505. package/systems/5e/world/items/Wand of Binding.md +11 -0
  1506. package/systems/5e/world/items/Wand of Enemy Detection.md +9 -0
  1507. package/systems/5e/world/items/Wand of Fear.md +11 -0
  1508. package/systems/5e/world/items/Wand of Fireballs.md +9 -0
  1509. package/systems/5e/world/items/Wand of Lightning Bolts.md +9 -0
  1510. package/systems/5e/world/items/Wand of Magic Detection.md +6 -0
  1511. package/systems/5e/world/items/Wand of Magic Missiles.md +8 -0
  1512. package/systems/5e/world/items/Wand of Paralysis.md +9 -0
  1513. package/systems/5e/world/items/Wand of Polymorph.md +9 -0
  1514. package/systems/5e/world/items/Wand of Secrets.md +6 -0
  1515. package/systems/5e/world/items/Wand of Web.md +9 -0
  1516. package/systems/5e/world/items/Wand of Wonder.md +38 -0
  1517. package/systems/5e/world/items/Wand of the War Mage, +1, +2, or +3.md +7 -0
  1518. package/systems/5e/world/items/Wand.md +7 -0
  1519. package/systems/5e/world/items/War Pick.md +9 -0
  1520. package/systems/5e/world/items/Warhammer.md +10 -0
  1521. package/systems/5e/world/items/Warship.md +5 -0
  1522. package/systems/5e/world/items/Waterskin.md +5 -0
  1523. package/systems/5e/world/items/Weapon, +1, +2, or +3.md +6 -0
  1524. package/systems/5e/world/items/Weaver's Tools.md +7 -0
  1525. package/systems/5e/world/items/Well of Many Worlds.md +8 -0
  1526. package/systems/5e/world/items/Whetstone.md +5 -0
  1527. package/systems/5e/world/items/Whip.md +10 -0
  1528. package/systems/5e/world/items/Wind Fan.md +6 -0
  1529. package/systems/5e/world/items/Winged Boots.md +9 -0
  1530. package/systems/5e/world/items/Wings of Flying.md +7 -0
  1531. package/systems/5e/world/items/Woodcarver's Tools.md +7 -0
  1532. package/systems/5e/world/items/Wooden Staff.md +7 -0
  1533. package/systems/5e/world/items/Yew Wand.md +7 -0
  1534. package/systems/5e/world/topics/Acid Arrow.md +14 -0
  1535. package/systems/5e/world/topics/Acid Splash.md +14 -0
  1536. package/systems/5e/world/topics/Acolyte (background).md +103 -0
  1537. package/systems/5e/world/topics/Aid.md +14 -0
  1538. package/systems/5e/world/topics/Alarm.md +17 -0
  1539. package/systems/5e/world/topics/Alter Self.md +19 -0
  1540. package/systems/5e/world/topics/Animal Friendship.md +14 -0
  1541. package/systems/5e/world/topics/Animal Messenger.md +17 -0
  1542. package/systems/5e/world/topics/Animal Shapes.md +17 -0
  1543. package/systems/5e/world/topics/Animate Dead.md +18 -0
  1544. package/systems/5e/world/topics/Animate Objects.md +31 -0
  1545. package/systems/5e/world/topics/Antilife Shell.md +17 -0
  1546. package/systems/5e/world/topics/Antimagic Field.md +31 -0
  1547. package/systems/5e/world/topics/Antipathy-Sympathy.md +23 -0
  1548. package/systems/5e/world/topics/Arcane Eye.md +17 -0
  1549. package/systems/5e/world/topics/Arcane Hand.md +27 -0
  1550. package/systems/5e/world/topics/Arcane Lock.md +14 -0
  1551. package/systems/5e/world/topics/Arcane Sword.md +15 -0
  1552. package/systems/5e/world/topics/Arcanist's Magic Aura.md +18 -0
  1553. package/systems/5e/world/topics/Astral Projection.md +22 -0
  1554. package/systems/5e/world/topics/Augury.md +22 -0
  1555. package/systems/5e/world/topics/Awaken.md +14 -0
  1556. package/systems/5e/world/topics/Bane.md +15 -0
  1557. package/systems/5e/world/topics/Banishment.md +19 -0
  1558. package/systems/5e/world/topics/Barbarian.md +123 -0
  1559. package/systems/5e/world/topics/Bard Spells.md +147 -0
  1560. package/systems/5e/world/topics/Bard.md +139 -0
  1561. package/systems/5e/world/topics/Barkskin.md +13 -0
  1562. package/systems/5e/world/topics/Beacon of Hope.md +13 -0
  1563. package/systems/5e/world/topics/Bestow Curse.md +22 -0
  1564. package/systems/5e/world/topics/Black Tentacles.md +17 -0
  1565. package/systems/5e/world/topics/Blade Barrier.md +15 -0
  1566. package/systems/5e/world/topics/Bless.md +15 -0
  1567. package/systems/5e/world/topics/Blight.md +18 -0
  1568. package/systems/5e/world/topics/Blindness-Deafness.md +15 -0
  1569. package/systems/5e/world/topics/Blink.md +14 -0
  1570. package/systems/5e/world/topics/Blur.md +13 -0
  1571. package/systems/5e/world/topics/Branding Smite.md +15 -0
  1572. package/systems/5e/world/topics/Burning Hands.md +16 -0
  1573. package/systems/5e/world/topics/Call Lightning.md +19 -0
  1574. package/systems/5e/world/topics/Calm Emotions.md +17 -0
  1575. package/systems/5e/world/topics/Chain Lightning.md +16 -0
  1576. package/systems/5e/world/topics/Champion.md +24 -0
  1577. package/systems/5e/world/topics/Charm Person.md +14 -0
  1578. package/systems/5e/world/topics/Chill Touch.md +16 -0
  1579. package/systems/5e/world/topics/Circle of Death.md +14 -0
  1580. package/systems/5e/world/topics/Circle of the Land.md +96 -0
  1581. package/systems/5e/world/topics/Clairvoyance.md +17 -0
  1582. package/systems/5e/world/topics/Cleric Spells.md +140 -0
  1583. package/systems/5e/world/topics/Cleric.md +141 -0
  1584. package/systems/5e/world/topics/Clone.md +14 -0
  1585. package/systems/5e/world/topics/Cloudkill.md +19 -0
  1586. package/systems/5e/world/topics/College of Lore.md +23 -0
  1587. package/systems/5e/world/topics/Color Spray.md +16 -0
  1588. package/systems/5e/world/topics/Command.md +26 -0
  1589. package/systems/5e/world/topics/Commune with Nature.md +23 -0
  1590. package/systems/5e/world/topics/Commune.md +17 -0
  1591. package/systems/5e/world/topics/Comprehend Languages.md +15 -0
  1592. package/systems/5e/world/topics/Compulsion.md +15 -0
  1593. package/systems/5e/world/topics/Cone of Cold.md +16 -0
  1594. package/systems/5e/world/topics/Confusion.md +26 -0
  1595. package/systems/5e/world/topics/Conjure Animals.md +26 -0
  1596. package/systems/5e/world/topics/Conjure Celestial.md +19 -0
  1597. package/systems/5e/world/topics/Conjure Elemental.md +21 -0
  1598. package/systems/5e/world/topics/Conjure Fey.md +21 -0
  1599. package/systems/5e/world/topics/Conjure Minor Elementals.md +26 -0
  1600. package/systems/5e/world/topics/Conjure Woodland Beings.md +26 -0
  1601. package/systems/5e/world/topics/Contact Other Plane.md +15 -0
  1602. package/systems/5e/world/topics/Contagion.md +28 -0
  1603. package/systems/5e/world/topics/Contingency.md +16 -0
  1604. package/systems/5e/world/topics/Continual Flame.md +12 -0
  1605. package/systems/5e/world/topics/Control Water.md +29 -0
  1606. package/systems/5e/world/topics/Control Weather.md +48 -0
  1607. package/systems/5e/world/topics/Counterspell.md +14 -0
  1608. package/systems/5e/world/topics/Create Food and Water.md +12 -0
  1609. package/systems/5e/world/topics/Create Undead.md +18 -0
  1610. package/systems/5e/world/topics/Create or Destroy Water.md +18 -0
  1611. package/systems/5e/world/topics/Creation.md +26 -0
  1612. package/systems/5e/world/topics/Cure Wounds.md +14 -0
  1613. package/systems/5e/world/topics/Dancing Lights.md +15 -0
  1614. package/systems/5e/world/topics/Darkness.md +17 -0
  1615. package/systems/5e/world/topics/Darkvision.md +12 -0
  1616. package/systems/5e/world/topics/Daylight.md +16 -0
  1617. package/systems/5e/world/topics/Death Ward.md +16 -0
  1618. package/systems/5e/world/topics/Delayed Blast Fireball.md +21 -0
  1619. package/systems/5e/world/topics/Demiplane.md +14 -0
  1620. package/systems/5e/world/topics/Detect Evil and Good.md +15 -0
  1621. package/systems/5e/world/topics/Detect Magic.md +16 -0
  1622. package/systems/5e/world/topics/Detect Poison and Disease.md +16 -0
  1623. package/systems/5e/world/topics/Detect Thoughts.md +21 -0
  1624. package/systems/5e/world/topics/Dimension Door.md +16 -0
  1625. package/systems/5e/world/topics/Disguise Self.md +16 -0
  1626. package/systems/5e/world/topics/Disintegrate.md +20 -0
  1627. package/systems/5e/world/topics/Dispel Evil and Good.md +19 -0
  1628. package/systems/5e/world/topics/Dispel Magic.md +14 -0
  1629. package/systems/5e/world/topics/Divination.md +17 -0
  1630. package/systems/5e/world/topics/Divine Favor.md +13 -0
  1631. package/systems/5e/world/topics/Divine Word.md +19 -0
  1632. package/systems/5e/world/topics/Dominate Beast.md +21 -0
  1633. package/systems/5e/world/topics/Dominate Monster.md +21 -0
  1634. package/systems/5e/world/topics/Dominate Person.md +21 -0
  1635. package/systems/5e/world/topics/Draconic Bloodline.md +43 -0
  1636. package/systems/5e/world/topics/Dream.md +18 -0
  1637. package/systems/5e/world/topics/Druid Spells.md +140 -0
  1638. package/systems/5e/world/topics/Druid.md +146 -0
  1639. package/systems/5e/world/topics/Druidcraft.md +17 -0
  1640. package/systems/5e/world/topics/Earthquake.md +25 -0
  1641. package/systems/5e/world/topics/Eldritch Blast.md +14 -0
  1642. package/systems/5e/world/topics/Enhance Ability.md +27 -0
  1643. package/systems/5e/world/topics/Enlarge-Reduce.md +20 -0
  1644. package/systems/5e/world/topics/Entangle.md +17 -0
  1645. package/systems/5e/world/topics/Enthrall.md +12 -0
  1646. package/systems/5e/world/topics/Etherealness.md +22 -0
  1647. package/systems/5e/world/topics/Expeditious Retreat.md +13 -0
  1648. package/systems/5e/world/topics/Eyebite.md +19 -0
  1649. package/systems/5e/world/topics/Fabricate.md +16 -0
  1650. package/systems/5e/world/topics/Faerie Fire.md +15 -0
  1651. package/systems/5e/world/topics/Faithful Hound.md +16 -0
  1652. package/systems/5e/world/topics/False Life.md +14 -0
  1653. package/systems/5e/world/topics/Fear.md +15 -0
  1654. package/systems/5e/world/topics/Feather Fall.md +12 -0
  1655. package/systems/5e/world/topics/Feeblemind.md +18 -0
  1656. package/systems/5e/world/topics/Fighter.md +109 -0
  1657. package/systems/5e/world/topics/Find Familiar.md +25 -0
  1658. package/systems/5e/world/topics/Find Steed.md +20 -0
  1659. package/systems/5e/world/topics/Find Traps.md +14 -0
  1660. package/systems/5e/world/topics/Find the Path.md +15 -0
  1661. package/systems/5e/world/topics/Finger of Death.md +14 -0
  1662. package/systems/5e/world/topics/Fire Bolt.md +14 -0
  1663. package/systems/5e/world/topics/Fire Shield.md +16 -0
  1664. package/systems/5e/world/topics/Fire Storm.md +14 -0
  1665. package/systems/5e/world/topics/Fireball.md +16 -0
  1666. package/systems/5e/world/topics/Flame Blade.md +19 -0
  1667. package/systems/5e/world/topics/Flame Strike.md +14 -0
  1668. package/systems/5e/world/topics/Flaming Sphere.md +19 -0
  1669. package/systems/5e/world/topics/Flesh to Stone.md +19 -0
  1670. package/systems/5e/world/topics/Floating Disk.md +17 -0
  1671. package/systems/5e/world/topics/Fly.md +15 -0
  1672. package/systems/5e/world/topics/Fog Cloud.md +15 -0
  1673. package/systems/5e/world/topics/Forbiddance.md +19 -0
  1674. package/systems/5e/world/topics/Forcecage.md +22 -0
  1675. package/systems/5e/world/topics/Foresight.md +14 -0
  1676. package/systems/5e/world/topics/Freedom of Movement.md +14 -0
  1677. package/systems/5e/world/topics/Freezing Sphere.md +18 -0
  1678. package/systems/5e/world/topics/Gaseous Form.md +17 -0
  1679. package/systems/5e/world/topics/Gate.md +19 -0
  1680. package/systems/5e/world/topics/Geas.md +18 -0
  1681. package/systems/5e/world/topics/Gentle Repose.md +15 -0
  1682. package/systems/5e/world/topics/Giant Insect.md +19 -0
  1683. package/systems/5e/world/topics/Glibness.md +12 -0
  1684. package/systems/5e/world/topics/Globe of Invulnerability.md +17 -0
  1685. package/systems/5e/world/topics/Glyph of Warding.md +26 -0
  1686. package/systems/5e/world/topics/Goodberry.md +14 -0
  1687. package/systems/5e/world/topics/Grappler.md +17 -0
  1688. package/systems/5e/world/topics/Grease.md +14 -0
  1689. package/systems/5e/world/topics/Greater Invisibility.md +13 -0
  1690. package/systems/5e/world/topics/Greater Restoration.md +17 -0
  1691. package/systems/5e/world/topics/Guardian of Faith.md +14 -0
  1692. package/systems/5e/world/topics/Guards and Wards.md +34 -0
  1693. package/systems/5e/world/topics/Guidance.md +13 -0
  1694. package/systems/5e/world/topics/Guiding Bolt.md +14 -0
  1695. package/systems/5e/world/topics/Gust of Wind.md +19 -0
  1696. package/systems/5e/world/topics/Hallow.md +36 -0
  1697. package/systems/5e/world/topics/Hallucinatory Terrain.md +14 -0
  1698. package/systems/5e/world/topics/Harm.md +12 -0
  1699. package/systems/5e/world/topics/Haste.md +15 -0
  1700. package/systems/5e/world/topics/Heal.md +14 -0
  1701. package/systems/5e/world/topics/Healing Word.md +14 -0
  1702. package/systems/5e/world/topics/Heat Metal.md +17 -0
  1703. package/systems/5e/world/topics/Hellish Rebuke.md +14 -0
  1704. package/systems/5e/world/topics/Heroes' Feast.md +14 -0
  1705. package/systems/5e/world/topics/Heroism.md +15 -0
  1706. package/systems/5e/world/topics/Hideous Laughter.md +15 -0
  1707. package/systems/5e/world/topics/Hold Monster.md +15 -0
  1708. package/systems/5e/world/topics/Hold Person.md +15 -0
  1709. package/systems/5e/world/topics/Holy Aura.md +13 -0
  1710. package/systems/5e/world/topics/Hunter's Mark.md +15 -0
  1711. package/systems/5e/world/topics/Hunter.md +41 -0
  1712. package/systems/5e/world/topics/Hypnotic Pattern.md +15 -0
  1713. package/systems/5e/world/topics/Ice Storm.md +16 -0
  1714. package/systems/5e/world/topics/Identify.md +15 -0
  1715. package/systems/5e/world/topics/Illusory Script.md +19 -0
  1716. package/systems/5e/world/topics/Imprisonment.md +38 -0
  1717. package/systems/5e/world/topics/Incendiary Cloud.md +17 -0
  1718. package/systems/5e/world/topics/Inflict Wounds.md +14 -0
  1719. package/systems/5e/world/topics/Insect Plague.md +17 -0
  1720. package/systems/5e/world/topics/Instant Summons.md +19 -0
  1721. package/systems/5e/world/topics/Invisibility.md +15 -0
  1722. package/systems/5e/world/topics/Irresistible Dance.md +15 -0
  1723. package/systems/5e/world/topics/Jump.md +12 -0
  1724. package/systems/5e/world/topics/Knock.md +18 -0
  1725. package/systems/5e/world/topics/Legend Lore.md +14 -0
  1726. package/systems/5e/world/topics/Lesser Restoration.md +12 -0
  1727. package/systems/5e/world/topics/Levitate.md +17 -0
  1728. package/systems/5e/world/topics/Life Domain.md +38 -0
  1729. package/systems/5e/world/topics/Light.md +14 -0
  1730. package/systems/5e/world/topics/Lightning Bolt.md +16 -0
  1731. package/systems/5e/world/topics/Locate Animals or Plants.md +13 -0
  1732. package/systems/5e/world/topics/Locate Creature.md +17 -0
  1733. package/systems/5e/world/topics/Locate Object.md +17 -0
  1734. package/systems/5e/world/topics/Longstrider.md +14 -0
  1735. package/systems/5e/world/topics/Mage Armor.md +12 -0
  1736. package/systems/5e/world/topics/Mage Hand.md +16 -0
  1737. package/systems/5e/world/topics/Magic Circle.md +22 -0
  1738. package/systems/5e/world/topics/Magic Jar.md +24 -0
  1739. package/systems/5e/world/topics/Magic Missile.md +14 -0
  1740. package/systems/5e/world/topics/Magic Mouth.md +17 -0
  1741. package/systems/5e/world/topics/Magic Weapon.md +15 -0
  1742. package/systems/5e/world/topics/Magnificent Mansion.md +16 -0
  1743. package/systems/5e/world/topics/Major Image.md +19 -0
  1744. package/systems/5e/world/topics/Mass Cure Wounds.md +14 -0
  1745. package/systems/5e/world/topics/Mass Heal.md +12 -0
  1746. package/systems/5e/world/topics/Mass Healing Word.md +14 -0
  1747. package/systems/5e/world/topics/Mass Suggestion.md +20 -0
  1748. package/systems/5e/world/topics/Maze.md +17 -0
  1749. package/systems/5e/world/topics/Meld into Stone.md +17 -0
  1750. package/systems/5e/world/topics/Mending.md +14 -0
  1751. package/systems/5e/world/topics/Message.md +14 -0
  1752. package/systems/5e/world/topics/Meteor Swarm.md +14 -0
  1753. package/systems/5e/world/topics/Mind Blank.md +12 -0
  1754. package/systems/5e/world/topics/Minor Illusion.md +18 -0
  1755. package/systems/5e/world/topics/Mirage Arcane.md +18 -0
  1756. package/systems/5e/world/topics/Mirror Image.md +20 -0
  1757. package/systems/5e/world/topics/Mislead.md +17 -0
  1758. package/systems/5e/world/topics/Misty Step.md +12 -0
  1759. package/systems/5e/world/topics/Modify Memory.md +23 -0
  1760. package/systems/5e/world/topics/Monk.md +153 -0
  1761. package/systems/5e/world/topics/Moonbeam.md +21 -0
  1762. package/systems/5e/world/topics/Move Earth.md +21 -0
  1763. package/systems/5e/world/topics/Nondetection.md +12 -0
  1764. package/systems/5e/world/topics/Oath of Devotion.md +62 -0
  1765. package/systems/5e/world/topics/Paladin Spells.md +51 -0
  1766. package/systems/5e/world/topics/Paladin.md +173 -0
  1767. package/systems/5e/world/topics/Pass without Trace.md +13 -0
  1768. package/systems/5e/world/topics/Passwall.md +14 -0
  1769. package/systems/5e/world/topics/Path of the Berserker.md +21 -0
  1770. package/systems/5e/world/topics/Phantasmal Killer.md +15 -0
  1771. package/systems/5e/world/topics/Phantom Steed.md +15 -0
  1772. package/systems/5e/world/topics/Planar Ally.md +22 -0
  1773. package/systems/5e/world/topics/Planar Binding.md +16 -0
  1774. package/systems/5e/world/topics/Plane Shift.md +16 -0
  1775. package/systems/5e/world/topics/Plant Growth.md +18 -0
  1776. package/systems/5e/world/topics/Poison Spray.md +14 -0
  1777. package/systems/5e/world/topics/Polymorph.md +21 -0
  1778. package/systems/5e/world/topics/Power Word Kill.md +12 -0
  1779. package/systems/5e/world/topics/Power Word Stun.md +14 -0
  1780. package/systems/5e/world/topics/Prayer of Healing.md +14 -0
  1781. package/systems/5e/world/topics/Prestidigitation.md +21 -0
  1782. package/systems/5e/world/topics/Prismatic Spray.md +28 -0
  1783. package/systems/5e/world/topics/Prismatic Wall.md +34 -0
  1784. package/systems/5e/world/topics/Private Sanctum.md +25 -0
  1785. package/systems/5e/world/topics/Produce Flame.md +16 -0
  1786. package/systems/5e/world/topics/Programmed Illusion.md +18 -0
  1787. package/systems/5e/world/topics/Project Image.md +19 -0
  1788. package/systems/5e/world/topics/Protection from Energy.md +13 -0
  1789. package/systems/5e/world/topics/Protection from Evil and Good.md +15 -0
  1790. package/systems/5e/world/topics/Protection from Poison.md +14 -0
  1791. package/systems/5e/world/topics/Purify Food and Drink.md +13 -0
  1792. package/systems/5e/world/topics/Raise Dead.md +18 -0
  1793. package/systems/5e/world/topics/Ranger Spells.md +57 -0
  1794. package/systems/5e/world/topics/Ranger.md +162 -0
  1795. package/systems/5e/world/topics/Ray of Enfeeblement.md +15 -0
  1796. package/systems/5e/world/topics/Ray of Frost.md +14 -0
  1797. package/systems/5e/world/topics/Regenerate.md +14 -0
  1798. package/systems/5e/world/topics/Reincarnate.md +33 -0
  1799. package/systems/5e/world/topics/Remove Curse.md +12 -0
  1800. package/systems/5e/world/topics/Resilient Sphere.md +19 -0
  1801. package/systems/5e/world/topics/Resistance.md +13 -0
  1802. package/systems/5e/world/topics/Resurrection.md +20 -0
  1803. package/systems/5e/world/topics/Reverse Gravity.md +17 -0
  1804. package/systems/5e/world/topics/Revivify.md +12 -0
  1805. package/systems/5e/world/topics/Rogue.md +114 -0
  1806. package/systems/5e/world/topics/Rope Trick.md +18 -0
  1807. package/systems/5e/world/topics/Sacred Flame.md +14 -0
  1808. package/systems/5e/world/topics/Sanctuary.md +14 -0
  1809. package/systems/5e/world/topics/School of Evocation.md +24 -0
  1810. package/systems/5e/world/topics/Scorching Ray.md +16 -0
  1811. package/systems/5e/world/topics/Scrying.md +31 -0
  1812. package/systems/5e/world/topics/Secret Chest.md +16 -0
  1813. package/systems/5e/world/topics/See Invisibility.md +12 -0
  1814. package/systems/5e/world/topics/Seeming.md +18 -0
  1815. package/systems/5e/world/topics/Sending.md +14 -0
  1816. package/systems/5e/world/topics/Sequester.md +16 -0
  1817. package/systems/5e/world/topics/Shapechange.md +23 -0
  1818. package/systems/5e/world/topics/Shatter.md +16 -0
  1819. package/systems/5e/world/topics/Shield (spell).md +13 -0
  1820. package/systems/5e/world/topics/Shield of Faith.md +13 -0
  1821. package/systems/5e/world/topics/Shillelagh.md +12 -0
  1822. package/systems/5e/world/topics/Shocking Grasp.md +14 -0
  1823. package/systems/5e/world/topics/Silence.md +14 -0
  1824. package/systems/5e/world/topics/Silent Image.md +17 -0
  1825. package/systems/5e/world/topics/Simulacrum.md +18 -0
  1826. package/systems/5e/world/topics/Sleep.md +18 -0
  1827. package/systems/5e/world/topics/Sleet Storm.md +17 -0
  1828. package/systems/5e/world/topics/Slow.md +19 -0
  1829. package/systems/5e/world/topics/Sorcerer Spells.md +155 -0
  1830. package/systems/5e/world/topics/Sorcerer.md +166 -0
  1831. package/systems/5e/world/topics/Spare the Dying.md +12 -0
  1832. package/systems/5e/world/topics/Speak with Animals.md +13 -0
  1833. package/systems/5e/world/topics/Speak with Dead.md +14 -0
  1834. package/systems/5e/world/topics/Speak with Plants.md +20 -0
  1835. package/systems/5e/world/topics/Spider Climb.md +13 -0
  1836. package/systems/5e/world/topics/Spike Growth.md +15 -0
  1837. package/systems/5e/world/topics/Spirit Guardians.md +17 -0
  1838. package/systems/5e/world/topics/Spiritual Weapon.md +18 -0
  1839. package/systems/5e/world/topics/Stinking Cloud.md +17 -0
  1840. package/systems/5e/world/topics/Stone Shape.md +12 -0
  1841. package/systems/5e/world/topics/Stoneskin.md +13 -0
  1842. package/systems/5e/world/topics/Storm of Vengeance.md +23 -0
  1843. package/systems/5e/world/topics/Suggestion.md +19 -0
  1844. package/systems/5e/world/topics/Sunbeam.md +17 -0
  1845. package/systems/5e/world/topics/Sunburst.md +16 -0
  1846. package/systems/5e/world/topics/Symbol.md +36 -0
  1847. package/systems/5e/world/topics/Telekinesis.md +23 -0
  1848. package/systems/5e/world/topics/Telepathic Bond.md +15 -0
  1849. package/systems/5e/world/topics/Teleport.md +38 -0
  1850. package/systems/5e/world/topics/Teleportation Circle.md +16 -0
  1851. package/systems/5e/world/topics/Thaumaturgy.md +21 -0
  1852. package/systems/5e/world/topics/The Fiend.md +47 -0
  1853. package/systems/5e/world/topics/Thief.md +24 -0
  1854. package/systems/5e/world/topics/Thunderwave.md +16 -0
  1855. package/systems/5e/world/topics/Time Stop.md +14 -0
  1856. package/systems/5e/world/topics/Tiny Hut.md +17 -0
  1857. package/systems/5e/world/topics/Tongues.md +12 -0
  1858. package/systems/5e/world/topics/Transport via Plants.md +12 -0
  1859. package/systems/5e/world/topics/Tree Stride.md +15 -0
  1860. package/systems/5e/world/topics/True Polymorph.md +29 -0
  1861. package/systems/5e/world/topics/True Resurrection.md +16 -0
  1862. package/systems/5e/world/topics/True Seeing.md +12 -0
  1863. package/systems/5e/world/topics/True Strike.md +13 -0
  1864. package/systems/5e/world/topics/Unseen Servant.md +17 -0
  1865. package/systems/5e/world/topics/Vampiric Touch.md +15 -0
  1866. package/systems/5e/world/topics/Vicious Mockery.md +14 -0
  1867. package/systems/5e/world/topics/Wall of Fire.md +19 -0
  1868. package/systems/5e/world/topics/Wall of Force.md +15 -0
  1869. package/systems/5e/world/topics/Wall of Ice.md +19 -0
  1870. package/systems/5e/world/topics/Wall of Stone.md +23 -0
  1871. package/systems/5e/world/topics/Wall of Thorns.md +19 -0
  1872. package/systems/5e/world/topics/Warding Bond.md +14 -0
  1873. package/systems/5e/world/topics/Warlock Spells.md +99 -0
  1874. package/systems/5e/world/topics/Warlock.md +283 -0
  1875. package/systems/5e/world/topics/Water Breathing.md +13 -0
  1876. package/systems/5e/world/topics/Water Walk.md +15 -0
  1877. package/systems/5e/world/topics/Way of the Open Hand.md +25 -0
  1878. package/systems/5e/world/topics/Web.md +21 -0
  1879. package/systems/5e/world/topics/Weird.md +13 -0
  1880. package/systems/5e/world/topics/Wind Walk.md +14 -0
  1881. package/systems/5e/world/topics/Wind Wall.md +17 -0
  1882. package/systems/5e/world/topics/Wish.md +26 -0
  1883. package/systems/5e/world/topics/Wizard Spells.md +239 -0
  1884. package/systems/5e/world/topics/Wizard.md +141 -0
  1885. package/systems/5e/world/topics/Word of Recall.md +14 -0
  1886. package/systems/5e/world/topics/Zone of Truth.md +14 -0
@@ -0,0 +1,302 @@
1
+ import { z } from "zod";
2
+ import { requireCampaign } from "../campaign/index.js";
3
+ import { numberOf } from "../core/formula.js";
4
+ import { appendLogEntry, readLog } from "../core/log.js";
5
+ import { defineCommand } from "../core/registry.js";
6
+ import { comparableText, sameName, valueNamed } from "../core/text.js";
7
+ import { readCounter } from "../counters/index.js";
8
+ import { createProof, DiceError, fingerprint, rollDice, sha256 } from "../dice/index.js";
9
+ import { declaredKind, findPage, pagesWithName, writePage } from "../pages/index.js";
10
+ import { effectiveFields, effectsOf } from "./effect-layer.js";
11
+ import { copyPage, readOpenScene } from "./game-scene.js";
12
+ import { newDatedLogEntry } from "./game-time.js";
13
+ import { campaignSystem, campaignWorld, missingSystemHint } from "./game-world.js";
14
+ import { itemList, signedText, workedFields } from "./worked-out.js";
15
+ // Faces arrive as "14,7" or "14 7" from a shell (PowerShell turns 14,7 into "14 7"), or as an array.
16
+ const faceValues = z.preprocess((value) => (typeof value === "string" ? value.split(/[\s,;]+/).filter(Boolean).map(Number) : value), z.array(z.number()));
17
+ // A name in a notation, at the start of a term: a field of the sheet of who rolls, such as athletics or sleight-of-hand (DAT-8). A hyphen inside a name is the
18
+ // name's, as in formulas (FOR-2); a die such as d20 or dF is no name.
19
+ const namePattern = /(^|[+-])(\s*)(\p{L}[\p{L}0-9]*(?:-[\p{L}0-9]+)*)/gu;
20
+ const diePattern = /^\d*d(\d+|%|F)/i;
21
+ export const roll = defineCommand({
22
+ name: "roll",
23
+ description: "Roll dice and log the roll. "
24
+ + "Give why and, if it belongs to someone, who; for a roll the player sees, check names it for them, while why stays yours. "
25
+ + "When the player rolls physical dice, pass their faces as values. Make it hidden when the player must not see the result. "
26
+ + "keep stores the dice rolled for later, such as the two d20 of a diviner's Portent, rolled by the player for the player character, by you for a companion; "
27
+ + "use takes one of those instead of the die and logs which roll it replaced. "
28
+ + 'Example: notation 1d20+perception, why "notice the trap", who Lena.',
29
+ group: "game",
30
+ positionals: ["notation"],
31
+ input: z.object({
32
+ notation: z.string().optional().describe("dice to roll: 1d20+5, 2d20kh1 (keep the highest), 4d6dl1 (drop the lowest), 2d6ro<=2 (reroll once), 1d6! (exploding), 6d10>=8 (count successes), 4dF, d%; "
33
+ + "with who, a field of their sheet stands for its value, such as 1d20+athletics"),
34
+ why: z.string().optional().describe("what the roll is for"),
35
+ check: z.string().optional().describe("what the roll is, as the player sees it in the dashboard's rolls, such as Bite or Stealth: never what only you know"),
36
+ who: z.string().optional().describe("character the roll belongs to, or a copy in the open scene; leave it out for a free roll of the master"),
37
+ values: faceValues.optional().describe("faces rolled by the player with physical dice, separated by commas; on the command line write --values=-1,0,1 for negative faces"),
38
+ hidden: z.boolean().optional().describe("only the master sees the result; its fingerprint goes to the player only if they ask for it"),
39
+ reveal: z.string().optional().describe("id of a hidden roll whose proof to show, later"),
40
+ keep: z.string().optional().describe("a field of who that keeps rolls for later, such as portent: the dice rolled go there, in place of what it held"),
41
+ use: z.string().optional().describe("a kept roll to use instead of the die, as field=value, such as portent=3: the notation has one die"),
42
+ from: z.string().optional().describe("who keeps the roll that use takes, when it is not who rolls"),
43
+ }),
44
+ run(input, context) {
45
+ const root = requireCampaign(context.folder);
46
+ if (input.reveal !== undefined) {
47
+ if (input.notation !== undefined) {
48
+ throw new Error("Give either the dice to roll or the id of a hidden roll to reveal, not both.");
49
+ }
50
+ return revealHiddenRoll(input.reveal, root, context);
51
+ }
52
+ if (input.notation === undefined) {
53
+ throw new Error("Give the dice to roll, for example 1d20+5.");
54
+ }
55
+ if (input.values && input.hidden) {
56
+ throw new Error("Physical dice are rolled by the player, so they cannot be hidden.");
57
+ }
58
+ if (input.use !== undefined && (input.keep !== undefined || input.values !== undefined || input.hidden === true)) {
59
+ throw new Error("A kept roll takes the place of the die: give use without keep or values, and not hidden.");
60
+ }
61
+ const physical = input.values !== undefined;
62
+ const system = campaignSystem(root, context);
63
+ const roller = rollerOf(root, context, input.who, hasNames(input.notation));
64
+ const named = withSheetValues(input.notation, roller, input.who, system);
65
+ const keeper = input.keep === undefined ? undefined : keptField(root, context, input.who, input.keep);
66
+ const used = input.use === undefined ? undefined : keptRoll(root, context, input.from ?? input.who, input.use);
67
+ const diceRoll = rollWith(named.notation, used, input.values ? { values: input.values } : { random: context.random });
68
+ // The notation as it was given, with the values its names took from the sheet (DAT-8).
69
+ const taken = Object.entries(named.taken).map(([field, value]) => `${field} ${roller === undefined ? value : signedText(roller.world, field, value)}`);
70
+ const text = taken.length === 0 ? diceRoll.text : `${input.notation}${diceRoll.text.slice(diceRoll.notation.length)} (${taken.join(", ")})`;
71
+ const sheet = taken.length === 0 ? {} : { sheet: named.taken };
72
+ const keeping = keeper === undefined ? {} : { kept: { field: keeper.field, values: diceRoll.faces } };
73
+ const using = used === undefined ? {} : { used: { from: used.page.name, field: used.field, value: used.value } };
74
+ const checked = input.check === undefined ? {} : { check: input.check };
75
+ const data = { notation: input.notation, total: diceRoll.total, result: text, ...sheet, why: input.why, who: input.who, ...checked, physical, ...keeping, ...using, dice: diceRoll.dice };
76
+ const entry = newDatedLogEntry(root, context, "roll", input.hidden ? "hidden" : "public", data);
77
+ let shownFingerprint;
78
+ if (input.hidden) {
79
+ const proof = createProof(entry.id, text, context.newSalt());
80
+ shownFingerprint = fingerprint(proof);
81
+ Object.assign(entry.data, { proof, fingerprint: shownFingerprint });
82
+ }
83
+ // The page first: a page that cannot be written leaves no line in the log saying it was (KEP-2, KEP-3).
84
+ const kept = keeper !== undefined ? keepFaces(keeper, diceRoll.faces) : used !== undefined ? takeKept(used) : undefined;
85
+ appendLogEntry(root, entry);
86
+ const note = roller === undefined ? undefined : rollerNote(roller.world, system, roller.page);
87
+ return { kind: "roll", id: entry.id, text, total: diceRoll.total, why: input.why, who: input.who, check: input.check, physical, hidden: input.hidden === true, fingerprint: shownFingerprint, note, kept };
88
+ },
89
+ format(output) {
90
+ if (output.kind === "reveal") {
91
+ const tell = "Tell the player what it was for and what came out, in the story's words; give the proof only if they ask how to check it.";
92
+ return `Hidden roll ${output.id} revealed: ${output.text}. ${tell}\nProof: ${output.proof}\nSHA-256 of the proof: ${output.sha256} (it starts with the fingerprint ${output.fingerprint})`;
93
+ }
94
+ const note = [output.kept, output.note].filter((line) => line !== undefined).map((line) => `\n${line}`).join("");
95
+ if (output.hidden) {
96
+ return `Hidden roll ${output.id}, only for the master: ${output.text}\nIts fingerprint, only if the player asks for it: ${output.fingerprint}${note}`;
97
+ }
98
+ const label = [output.who, output.check, output.why].filter(Boolean).join(", ");
99
+ return `${output.id} ${label ? label + ": " : ""}${output.text}${output.physical ? " (physical dice)" : ""}${note}`;
100
+ },
101
+ });
102
+ /** The field of who rolls that keep writes to (KEP-2): a page's, declared as kept rolls. */
103
+ function keptField(root, context, who, field) {
104
+ if (who === undefined) {
105
+ throw new Error(`Give who rolls, whose ${field} keeps the dice, such as who Elara. Nothing rolled.`);
106
+ }
107
+ return keptOn(campaignWorld(root, context), who, field);
108
+ }
109
+ /** The kept roll that use names, such as portent=3, on who keeps it (KEP-3); refused, with the numbers the field holds, when it holds no such number. */
110
+ function keptRoll(root, context, holder, use) {
111
+ const match = /^\s*([^=]+?)\s*=\s*([+-]?\d+)\s*$/.exec(use);
112
+ if (match === null) {
113
+ throw new Error(`Give use as the field and the kept number, such as portent=3, not "${use}". Nothing rolled.`);
114
+ }
115
+ if (holder === undefined) {
116
+ throw new Error(`Give who keeps the roll, with from or who, such as from Elara. Nothing rolled.`);
117
+ }
118
+ const world = campaignWorld(root, context);
119
+ const kept = keptOn(world, holder, match[1]);
120
+ const value = Number(match[2]);
121
+ if (!kept.values.includes(value)) {
122
+ throw new Error(`${kept.page.name} keeps no ${value} in ${kept.field}: it keeps ${kept.values.length === 0 ? "none" : kept.values.join(", ")}.${otherKeepers(world, kept, value)} Nothing rolled.`);
123
+ }
124
+ return { ...kept, value };
125
+ }
126
+ /**
127
+ * A page's field of kept rolls, with the numbers it holds; refused for a copy in the scene, for a field the system does not declare as kept rolls, and for one
128
+ * that holds something other than numbers.
129
+ */
130
+ function keptOn(world, name, field) {
131
+ const page = findPage(world, name);
132
+ if (page === undefined) {
133
+ throw new Error(`There is no page named ${name} to keep rolls: kept rolls go on a character's page, not on a copy in the scene. Nothing rolled.`);
134
+ }
135
+ const written = Object.entries(effectiveFields(world, page)).find(([key]) => comparableText(key) === comparableText(field));
136
+ if (declaredKind(world, field) !== "rolls") {
137
+ throw new Error(`${notRollsText(world, field, written?.[1])} Nothing rolled.`);
138
+ }
139
+ const items = Array.isArray(written?.[1]) ? written[1] : written?.[1] === undefined ? [] : [written[1]];
140
+ const wrong = items.find((item) => !Number.isFinite(numberOf(item)));
141
+ if (wrong !== undefined) {
142
+ throw new Error(`${field} on ${page.name} holds ${JSON.stringify(wrong)}, which is no roll: write its numbers only, such as ${field}=[14, 3]. Nothing rolled.`);
143
+ }
144
+ return { world, page, field: written?.[0] ?? field, values: items.map((item) => numberOf(item)) };
145
+ }
146
+ /** Why a field keeps no rolls: a counter or another field of the system is something else; a field of no system must first be declared as kept rolls (KEP-1). */
147
+ function notRollsText(world, field, value) {
148
+ if (world.system === undefined) {
149
+ return `${field} keeps no rolls, and the campaign has no installed game system to declare it in.${missingSystemHint(world)}`;
150
+ }
151
+ const kind = declaredKind(world, field) ?? (readCounter(value) === undefined ? undefined : "counter");
152
+ return kind === undefined
153
+ ? `${field} keeps no rolls: declare it so first, such as config, setting fields, value "${field}: rolls".`
154
+ : `${field} is ${kind === "counter" ? "a counter" : `a field of kind ${kind}`}, not kept rolls: keep and use take a field declared as rolls, such as portent.`;
155
+ }
156
+ /** " Elara keeps 3, 4 in portent: give from Elara.": the characters whose field holds the number use asked for, when the page asked does not (KEP-3). */
157
+ function otherKeepers(world, kept, value) {
158
+ const others = world.pages.filter((page) => page !== kept.page && page.system === undefined).flatMap((page) => {
159
+ const written = valueNamed(page.fields, kept.field);
160
+ const values = (Array.isArray(written) ? written : written === undefined ? [] : [written]).map(numberOf).filter((number) => number !== undefined);
161
+ return values.includes(value) ? [`${page.name} keeps ${values.join(", ")} in ${kept.field}: give from ${page.name}.`] : [];
162
+ });
163
+ return others.length === 0 ? "" : ` ${others.join(" ")}`;
164
+ }
165
+ /** The roll, with a kept number in place of its one die when use gives one (KEP-3). */
166
+ function rollWith(notation, used, source) {
167
+ if (used === undefined) {
168
+ return rollDice(notation, source);
169
+ }
170
+ try {
171
+ return rollDice(notation, { values: [used.value] });
172
+ }
173
+ catch (error) {
174
+ // A kept number is not a face rolled now: there is nothing to roll again.
175
+ const why = (error instanceof DiceError ? error.message : String(error)).replace(/: ask the player to roll it again\.$/, "");
176
+ throw new Error(`A kept roll takes the place of one die, of the kind it was rolled with: give a notation with that one die, such as 1d20+2 (${why}). Nothing rolled.`);
177
+ }
178
+ }
179
+ /** Writes the dice rolled in the field of kept rolls, in place of what it held (KEP-2), and says so. */
180
+ function keepFaces(kept, faces) {
181
+ writePage(kept.world, kept.page.name, undefined, { set: { [kept.field]: faces } });
182
+ return `${kept.page.name} keeps in ${kept.field}: ${faces.join(", ")}${kept.values.length === 0 ? "" : `, in place of ${kept.values.join(", ")}`}.`;
183
+ }
184
+ /** Takes the kept number used from its field (KEP-3), and says what is left. */
185
+ function takeKept(kept) {
186
+ const left = [...kept.values];
187
+ left.splice(left.indexOf(kept.value), 1);
188
+ writePage(kept.world, kept.page.name, undefined, left.length === 0 ? { unset: [kept.field] } : { set: { [kept.field]: left } });
189
+ return `${kept.value} from ${kept.page.name}'s ${kept.field} took the place of the die; ${left.length === 0 ? "none is left" : `left: ${left.join(", ")}`}.`;
190
+ }
191
+ /**
192
+ * The page of who rolls, a character or a copy in the open scene, with its world; undefined when who names neither, as a free label does. Without names to
193
+ * read, a name two pages share is a label too: the roll needs no sheet.
194
+ */
195
+ export function rollerOf(root, context, who, readsSheet) {
196
+ if (who === undefined) {
197
+ return undefined;
198
+ }
199
+ const world = campaignWorld(root, context);
200
+ const named = pagesWithName(world, who);
201
+ const page = readsSheet ? findPage(world, who) : named.length === 1 ? named[0] : undefined;
202
+ if (page !== undefined) {
203
+ return { world, page };
204
+ }
205
+ const { scene } = readOpenScene(root);
206
+ const copy = scene === undefined ? undefined : sameName(Object.keys(scene.copies), who);
207
+ return scene === undefined || copy === undefined ? undefined : { world, page: copyPage(copy, scene.copies[copy]) };
208
+ }
209
+ /** Whether a notation names a field, such as athletics in 1d20+athletics (DAT-8). */
210
+ export function hasNames(notation) {
211
+ return [...notation.matchAll(namePattern)].some((match) => !diePattern.test(notation.slice((match.index ?? 0) + match[1].length + match[2].length)));
212
+ }
213
+ /** The notation with each name of a field as 0, to tell whether it is dice before a sheet is read: 1d20+athletics as 1d20+0. */
214
+ export function namesAsZero(notation) {
215
+ return notation.replace(namePattern, (whole, sign, space, name, offset) => (diePattern.test(notation.slice(offset + sign.length + space.length)) ? whole : whole.replace(name, "0")));
216
+ }
217
+ /** The notation with each name of a field replaced by its value on the sheet of who rolls, effects and formulas included, and the values taken (DAT-8). */
218
+ export function withSheetValues(notation, roller, who, system) {
219
+ const taken = {};
220
+ const fields = roller === undefined ? undefined : effectiveFields(roller.world, roller.page);
221
+ const replaced = notation.replace(namePattern, (whole, sign, space, name, offset) => {
222
+ if (diePattern.test(notation.slice(offset + sign.length + space.length))) {
223
+ return whole;
224
+ }
225
+ // "sleight of hand": a name of several words, which a notation cannot hold.
226
+ const words = /^\s+[A-Za-z]/.test(notation.slice(offset + whole.length));
227
+ checkNotScore(roller, system, fields, name);
228
+ const value = sheetValue(roller, fields, name, who, words);
229
+ taken[name] = value;
230
+ const negative = (sign === "-") !== (value < 0);
231
+ return `${negative ? "-" : sign === "" ? "" : "+"}${Math.abs(value)}`;
232
+ });
233
+ return { notation: replaced, taken };
234
+ }
235
+ /** Refuses a score the system shows with a modifier beside it, such as str with str-mod (DAT-2): a roll adds the modifier, and 1d20+str would add the score. */
236
+ function checkNotScore(roller, system, fields, name) {
237
+ const entry = system?.sheet.flatMap((group) => group.entries).find((candidate) => candidate.beside !== undefined && comparableText(candidate.field) === comparableText(name));
238
+ const read = (field) => Object.entries(fields ?? {}).find(([key]) => comparableText(key) === comparableText(field))?.[1];
239
+ const modifier = entry?.beside === undefined ? undefined : numberOf(read(entry.beside));
240
+ if (roller !== undefined && entry?.beside !== undefined && modifier !== undefined) {
241
+ const worked = `${entry.beside} ${signedText(roller.world, entry.beside, modifier)}`;
242
+ throw new Error(`${name} ${String(read(name))} is a score: the system ${system?.name ?? ""} works out ${worked} from it, which is what a roll adds, such as 1d20+${entry.beside}. Nothing rolled.`);
243
+ }
244
+ }
245
+ /** The whole number a field holds on the sheet of who rolls; refused, with the numbers it has, when there is no sheet or it holds none. */
246
+ function sheetValue(roller, fields, name, who, words) {
247
+ const page = roller?.page;
248
+ if (roller === undefined || fields === undefined || page === undefined) {
249
+ throw new Error(who === undefined
250
+ ? `"${name}" is no die: to take it from a sheet, give who rolls, such as who Bruna; or give the number, such as 1d20+5.`
251
+ : `There is no page named ${who}, nor a copy of that name in the open scene, to take ${name} from: give who as the name of a character, or the number in the notation.`);
252
+ }
253
+ const value = valueNamed(fields, name);
254
+ const number = numberOf(value);
255
+ if (value === undefined) {
256
+ // Only numbers: a class's martial-arts 1d6 or its features are no bonus (PRO-2).
257
+ const numbers = workedFields(roller.world, fields).filter((worked) => numberOf(worked.value) !== undefined).map((worked) => `${worked.field} ${signedText(roller.world, worked.field, worked.value)}`);
258
+ const has = numbers.length === 0 ? "" : ` Its numbers: ${numbers.join(", ")}.`;
259
+ const subtraction = /-\d+$/.test(name) ? " To subtract, put spaces around the minus, such as 1d20+athletics - 1." : "";
260
+ const hyphens = words ? " A name of several words is written with hyphens, such as sleight-of-hand." : "";
261
+ throw new Error(`${page.name} has no ${name}.${has} Give one of them, or the number, such as 1d20+5.${subtraction}${hyphens}${missingSystemHint(roller.world)}`);
262
+ }
263
+ // One value for each item of a list, as the attacks of two weapons (PRO-5): the roll takes the number of the one used.
264
+ const list = itemList(roller.world, name);
265
+ const first = typeof value === "string" ? /[+-]\d+/.exec(value)?.[0] : undefined;
266
+ if (number === undefined && list !== undefined && first !== undefined) {
267
+ throw new Error(`${name} on ${page.name} is ${JSON.stringify(value)}, one for each item in its ${list}: give the number of the one used, such as 1d20${first}.`);
268
+ }
269
+ if (number === undefined || !Number.isInteger(number)) {
270
+ throw new Error(`${name} on ${page.name} is ${JSON.stringify(value)}, not a whole number: give the number in the notation.`);
271
+ }
272
+ return number;
273
+ }
274
+ /**
275
+ * "Lena has Poisoned, Bless, exhaustion 1: see whether they change this roll.": the effects on who rolls that are not already in their numbers, being no more
276
+ * than a name, and the conditions (DAT-6); then the fields of their line written with ?, when they are not at zero (DAT-8).
277
+ */
278
+ function rollerNote(world, system, page) {
279
+ const fields = effectiveFields(world, page);
280
+ const effects = effectsOf(page).filter((effect) => effect.values.length === 0 || sameName(system?.conditions ?? [], effect.name) !== undefined);
281
+ // Kept rolls are no number that changes a roll: use takes them.
282
+ const marked = (system?.statusLine ?? []).filter((entry) => entry.whenSet && declaredKind(world, entry.field) !== "rolls").flatMap((entry) => {
283
+ const value = valueNamed(fields, entry.field);
284
+ const number = readCounter(value)?.value ?? numberOf(value);
285
+ return number === undefined || number === 0 ? [] : [`${entry.field} ${number}`];
286
+ });
287
+ const all = [...effects.map((effect) => effect.name), ...marked];
288
+ return all.length === 0 ? undefined : `${page.name} has ${all.join(", ")}: if they change this roll, complete it: roll only what they add, such as one more die, and keep this one; never roll it again.`;
289
+ }
290
+ function revealHiddenRoll(rollId, root, context) {
291
+ const log = readLog(root);
292
+ const hiddenRoll = log.find((entry) => entry.id === rollId && entry.type === "roll" && entry.visibility === "hidden");
293
+ if (!hiddenRoll) {
294
+ throw new Error(`There is no hidden roll with id ${rollId}.`);
295
+ }
296
+ const proof = String(hiddenRoll.data.proof);
297
+ const alreadyRevealed = log.some((entry) => entry.type === "roll-revealed" && entry.data.roll === rollId);
298
+ if (!alreadyRevealed) {
299
+ appendLogEntry(root, newDatedLogEntry(root, context, "roll-revealed", "public", { roll: rollId, proof }));
300
+ }
301
+ return { kind: "reveal", id: rollId, text: String(hiddenRoll.data.result), proof, sha256: sha256(proof), fingerprint: String(hiddenRoll.data.fingerprint) };
302
+ }
@@ -0,0 +1,19 @@
1
+ import { z } from "zod";
2
+ export declare const route: import("../core/registry.ts").Command<z.ZodObject<{
3
+ to: z.ZodString;
4
+ from: z.ZodOptional<z.ZodString>;
5
+ pace: z.ZodOptional<z.ZodString>;
6
+ across: z.ZodOptional<z.ZodBoolean>;
7
+ }, z.core.$strip>, {
8
+ kind: "way";
9
+ way: string;
10
+ going: string;
11
+ time: string;
12
+ then?: string;
13
+ } | {
14
+ kind: "there";
15
+ text: string;
16
+ } | {
17
+ kind: "none";
18
+ text: string;
19
+ }>;
@@ -0,0 +1,110 @@
1
+ import { z } from "zod";
2
+ import { requireCampaign } from "../campaign/index.js";
3
+ import { defineCommand } from "../core/registry.js";
4
+ import { distanceBetween } from "../map/index.js";
5
+ import { locate, pageNamed, parsePageReference } from "../pages/index.js";
6
+ import { journeyStart, moversPosition, readJourney } from "./game-journey.js";
7
+ import { playerCharacter } from "./game-knowledge.js";
8
+ import { mapKey } from "./game-maps.js";
9
+ import { acrossHint, openLegs } from "./game-open.js";
10
+ import { pointText, positionOf } from "./game-positions.js";
11
+ import { dayHours, durationText, goingText, lengthText, measuresOf, moversOf, noWayText, paceOf, roadsOf, sameSpot, stopOf, travellingParty, unknownOnRoad, wayFor, wayText } from "./game-roads.js";
12
+ import { campaignSystem, campaignWorld, missingSystemHint } from "./game-world.js";
13
+ export const route = defineCommand({
14
+ name: "route",
15
+ description: "How far a place is by road, and how long the journey takes: the stops and roads of the quickest way, the distance and the days, at the party's pace or another. "
16
+ + "With across, straight across country, through the regions and their terrain. It moves no one and lets no time pass: to make the journey, use travel. "
17
+ + "Example: to Rocca, from Guadoscuro, pace fast; or to Torre, across.",
18
+ group: "game",
19
+ readOnly: true,
20
+ positionals: ["to"],
21
+ input: z.object({
22
+ to: z.string().describe("where to: a place"),
23
+ from: z.string().optional().describe("where from: a place, or a character; if left out, where the party is, or where its journey stopped"),
24
+ pace: z.string().optional().describe("one of the game's paces, such as fast, or a speed, such as 4.5 km; if left out, the game's usual pace"),
25
+ across: z.boolean().optional().describe("straight across country, off the roads, when both places have a position"),
26
+ }),
27
+ run(input, context) {
28
+ const root = requireCampaign(context.folder);
29
+ const world = campaignWorld(root, context);
30
+ const system = campaignSystem(root, context);
31
+ const roads = roadsOf(world);
32
+ const measures = measuresOf(root, system);
33
+ const destination = placeNamed(world, input.to, "where to");
34
+ const travellers = input.from === undefined ? travellingParty(world, playerCharacter(world), readJourney(root)?.movers ?? []) : [];
35
+ const origin = input.from === undefined ? travellers[0] : placeNamed(world, input.from, "where from", true);
36
+ if (origin === undefined) {
37
+ throw new Error("There is no player character to start from: give from, a place.");
38
+ }
39
+ const { movers, vehicle } = travellers.length === 0 ? { movers: [origin], vehicle: undefined } : moversOf(world, travellers);
40
+ const journey = input.from === undefined ? readJourney(root) : undefined;
41
+ const onRoad = journey === undefined ? undefined : journeyStart(world, roads, journey, movers);
42
+ const departure = stopOf(world, roads, origin);
43
+ const arrival = stopOf(world, roads, destination);
44
+ if (input.across === true) {
45
+ return acrossRoute(world, system, measures, journey === undefined ? positionOf(world, origin) : moversPosition(world, roads, journey, movers), origin, destination, input.pace);
46
+ }
47
+ const lost = onRoad === undefined ? unknownOnRoad(world, roads, origin) : undefined;
48
+ if (lost !== undefined) {
49
+ return { kind: "none", text: lost };
50
+ }
51
+ if (onRoad === undefined && departure === undefined) {
52
+ return { kind: "none", text: `${offRoadText(world, origin)}${acrossHint(world, origin, destination, measures)}` };
53
+ }
54
+ if (arrival === undefined) {
55
+ return { kind: "none", text: `${offRoadText(world, destination)}${acrossHint(world, origin, destination, measures)}` };
56
+ }
57
+ const spot = onRoad === undefined && departure !== undefined ? sameSpot(world, departure, arrival) : undefined;
58
+ if (spot !== undefined) {
59
+ return { kind: "there", text: `${origin.name} and ${destination.name} are one spot for a journey, in ${spot.name}: no road to travel, move is enough.` };
60
+ }
61
+ const going = { pace: paceOf(system, input.pace, vehicle), vehicle };
62
+ const start = onRoad ?? { stop: departure?.name ?? "" };
63
+ const way = wayFor(world, system, roads, start, arrival, going);
64
+ if (way === undefined) {
65
+ return { kind: "none", text: `${noWayText(world, system, roads, start, arrival, going)}${acrossHint(world, origin, destination, measures)}` };
66
+ }
67
+ const from = "stop" in start ? start.stop : `${start.stretch.road}, ${lengthText(start.done, measures)} past ${start.stretch.from}`;
68
+ const down = arrival === destination ? "" : `, then into ${destination.name}`;
69
+ return { kind: "way", way: `${wayText(way, from, measures)}${down}`, going: goingText(world, system, going, measures), time: durationText(way.minutes, dayHours(system, roads, way, going, undefined)) };
70
+ },
71
+ format(result) {
72
+ return result.kind === "way" ? [`${result.way}.`, `${result.going[0].toUpperCase()}${result.going.slice(1)}: ${result.time}.`, result.then ?? ""].filter((line) => line !== "").join("\n") : result.text;
73
+ },
74
+ });
75
+ /** The way straight across country (TRV-12): the regions it goes through, the distance and the time at the pace; or why there is none, with how to give a position. */
76
+ function acrossRoute(world, system, measures, from, origin, destination, pace) {
77
+ const to = positionOf(world, destination);
78
+ const missing = from === undefined ? origin : to === undefined ? destination : undefined;
79
+ if (from === undefined || to === undefined) {
80
+ return { kind: "none", text: `${missing?.name} has no position on the map: give it one, such as write ${missing?.name}, set position="12 km NE of [[<a place with one>]]".` };
81
+ }
82
+ // Across country one stays on one map (POS-8): to another, a passage leads.
83
+ const map = mapKey(world, origin);
84
+ if (mapKey(world, destination) !== map) {
85
+ return { kind: "none", text: `${destination.name} is on another map than ${origin.name}: across country one stays on one map. A passage, a road of kind portal, leads from one to the other.` };
86
+ }
87
+ const going = { pace: paceOf(system, pace, undefined) };
88
+ const legs = openLegs(world, system, from, to, going.pace?.speed ?? 0, map);
89
+ const through = legs.map((leg) => `${leg.region?.name ?? "the open"} (${lengthText(leg.length, measures)})`).join(", ");
90
+ const minutes = legs.reduce((sum, leg) => sum + leg.length / leg.metresAMinute, 0);
91
+ const way = `Straight from ${pointText(world, from, measures, map)} to ${destination.name}, ${lengthText(distanceBetween(from, to), measures)} through ${through || "nothing"}`;
92
+ return { kind: "way", way, going: goingText(world, system, going, measures), time: durationText(minutes, system?.travel?.hours ?? 8), then: `To go: travel to ${destination.name}, across.` };
93
+ }
94
+ /** A place by name or alias, for where a journey goes or starts; a character too, where it starts, for the place it is in. */
95
+ function placeNamed(world, name, role, characterToo = false) {
96
+ const reference = parsePageReference(name);
97
+ const page = pageNamed(world, reference.name);
98
+ if (page === undefined) {
99
+ throw new Error(`There is no page named ${reference.name}, ${role}. Look for it with find.${missingSystemHint(world)}`);
100
+ }
101
+ if (page.type !== "place" && !(characterToo && page.type === "character")) {
102
+ throw new Error(`${page.name} is not a place: give a place ${role}${characterToo ? ", or a character" : ""}.`);
103
+ }
104
+ return page;
105
+ }
106
+ /** Why a place has no road (ROA-5): no place of its chain is a stop. */
107
+ function offRoadText(world, page) {
108
+ const chain = [page, ...locate(world, page).chain].filter((holder) => holder.type === "place").map((holder) => holder.name);
109
+ return `No road reaches ${page.name}: none of ${chain.join(" › ")} is a stop of a road. Write one, a place with stops, such as write "Strada del passo", type place, set stops=[[A]], 8 km, [[${chain.at(-1) ?? page.name}]].`;
110
+ }
@@ -0,0 +1,48 @@
1
+ import { z } from "zod";
2
+ /** A section of a page that a search names, with where the page comes from. */
3
+ interface PageSection {
4
+ page: string;
5
+ section: string;
6
+ type?: string;
7
+ system?: string;
8
+ }
9
+ /** What an answer shows of one source of rules, the house rules or the game system's: some sections with their text, the others by their path. */
10
+ interface Answer {
11
+ shown: {
12
+ path: string[];
13
+ text: string;
14
+ parts: string[];
15
+ }[];
16
+ others: string[];
17
+ used: number;
18
+ }
19
+ export declare const rules: import("../core/registry.ts").Command<z.ZodObject<{
20
+ text: z.ZodOptional<z.ZodString>;
21
+ }, z.core.$strip>, {
22
+ house: undefined;
23
+ found: undefined;
24
+ precedents: string[];
25
+ text: string;
26
+ system: string | undefined;
27
+ missingSystem: string | undefined;
28
+ language: string | undefined;
29
+ houseRules: string[];
30
+ chapters: string[];
31
+ } | {
32
+ house: Answer;
33
+ found: Answer;
34
+ precedents: string[];
35
+ page: {
36
+ name: string;
37
+ type?: string;
38
+ system?: string;
39
+ } | undefined;
40
+ pageSections: PageSection[];
41
+ text: string;
42
+ system: string | undefined;
43
+ missingSystem: string | undefined;
44
+ language: string | undefined;
45
+ houseRules: string[];
46
+ chapters: string[];
47
+ }>;
48
+ export {};