rpg-engine 0.0.0-stage → 0.1.1

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 +101 -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 +134 -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 +308 -0
  236. package/dist/dashboard/guide/cs.md +308 -0
  237. package/dist/dashboard/guide/da.md +308 -0
  238. package/dist/dashboard/guide/de.md +308 -0
  239. package/dist/dashboard/guide/el.md +308 -0
  240. package/dist/dashboard/guide/en.md +307 -0
  241. package/dist/dashboard/guide/es.md +308 -0
  242. package/dist/dashboard/guide/fi.md +308 -0
  243. package/dist/dashboard/guide/fr.md +308 -0
  244. package/dist/dashboard/guide/he.md +308 -0
  245. package/dist/dashboard/guide/hi.md +308 -0
  246. package/dist/dashboard/guide/hu.md +308 -0
  247. package/dist/dashboard/guide/is.md +308 -0
  248. package/dist/dashboard/guide/it.md +308 -0
  249. package/dist/dashboard/guide/ja.md +308 -0
  250. package/dist/dashboard/guide/ko.md +308 -0
  251. package/dist/dashboard/guide/nb.md +308 -0
  252. package/dist/dashboard/guide/nl.md +308 -0
  253. package/dist/dashboard/guide/pl.md +308 -0
  254. package/dist/dashboard/guide/pt.md +308 -0
  255. package/dist/dashboard/guide/ro.md +308 -0
  256. package/dist/dashboard/guide/ru.md +308 -0
  257. package/dist/dashboard/guide/sv.md +308 -0
  258. package/dist/dashboard/guide/tr.md +308 -0
  259. package/dist/dashboard/guide/uk.md +308 -0
  260. package/dist/dashboard/guide/zh.md +308 -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,136 @@
1
+ import type { Problem } from "../core/problem.ts";
2
+ import { type Counter } from "../counters/index.ts";
3
+ import { type Page, type World } from "../pages/index.ts";
4
+ import type { GameSystem, SystemWords } from "../systems/index.ts";
5
+ import { type LevelNeed } from "./game-experience.ts";
6
+ /** What status says of the sheet before there is a player character (DAT-2): what is written, what only when it applies, what the system works out, and the lists it names. */
7
+ export interface SheetSummary {
8
+ system: string;
9
+ written: string[];
10
+ whenTheyApply: string[];
11
+ workedOut: string[];
12
+ lists: string[];
13
+ }
14
+ /** The sheet of the game system as status gives it before there is a player character (DAT-2); undefined when the system has none. */
15
+ export declare function sheetSummary(system: GameSystem): SheetSummary | undefined;
16
+ /**
17
+ * The fields of the system's character sheet that a page lacks (DAT-2): a player character's, or a companion's that does not derive from a creature; none for other
18
+ * pages. Those written only when they apply are never missing (D-206), nor those the system works out (FOR-7).
19
+ */
20
+ export declare function missingSheetFields(system: GameSystem | undefined, world: World, page: Page): string[];
21
+ /**
22
+ * What write says once when a character joins the party (DAT-2): the fields its sheet still lacks, then the system's notes on the groups of the sheet, such as
23
+ * that the personality is the player's (D-206).
24
+ */
25
+ export declare function joiningNotes(system: GameSystem | undefined, world: World, page: Page): string[];
26
+ /** A value of a character's sheet as data, which the dashboard draws (D-272), with the text the chat gives it. */
27
+ export interface SheetValue {
28
+ field: string;
29
+ /** As the game system declares the field, such as modifier, counter or list; undefined when it does not. */
30
+ kind?: string;
31
+ /** As the sheet shows it: "+3", "18/24", "Cleric 3". */
32
+ text: string;
33
+ /** A counter's value, with its limits as the field writes them or the system works them out (FOR-6). */
34
+ counter?: Counter;
35
+ /** The names of a list, links read as their names. */
36
+ items?: string[];
37
+ /** What the parts of the character add to a list, apart and not counted with it, such as a domain's spells (PRO-7). */
38
+ always?: {
39
+ from: string[];
40
+ items: string[];
41
+ };
42
+ /** How many marks it earns: one for each list of the system's marks it reads, as a proficiency (D-217). */
43
+ marks: number;
44
+ /** What the sheet shows beside it, such as +2 by str, or how many points the next level needs (PRO-6). */
45
+ beside?: string;
46
+ /** The field shown beside it, such as str-mod by str: a check that names it is rolled from this value too (ASK-12). */
47
+ besideField?: string;
48
+ /** The free roll the dashboard offers in its explanation, when the system rolls it, or what is beside it, with dice (D-280). */
49
+ roll?: SheetRoll;
50
+ /** How far it has come from one mark to the next, as the experience between its level's points and the next level's (PRO-6): a bar on the dashboard. */
51
+ progress?: Progress;
52
+ /** Beside the points, what they say of the levels, as data the dashboard writes in its language (PRO-6). */
53
+ levelNeed?: LevelNeed;
54
+ }
55
+ /** A number between two marks: where it is, where it started from, where it goes. */
56
+ export interface Progress {
57
+ value: number;
58
+ from: number;
59
+ to: number;
60
+ }
61
+ /** A free roll of a number of the sheet (D-280): the dice, by their sides, the number added to them, and both as a notation, such as 1d20+5. */
62
+ export interface SheetRoll {
63
+ notation: string;
64
+ dice: number[];
65
+ modifier: number;
66
+ }
67
+ /** A group of a character's sheet as data: its values, or for a group that the items of one list give, each item with its values, as the attacks (PRO-5). */
68
+ export interface SheetGroupData {
69
+ name: string;
70
+ /** Its icon on the dashboard, when the system gives one (D-284). */
71
+ icon?: string;
72
+ values: SheetValue[];
73
+ items?: {
74
+ item: string;
75
+ values: SheetValue[];
76
+ }[];
77
+ }
78
+ /**
79
+ * The sheet of a player character or a companion as data, a group for each that has a value, as the character reads it, effects and formulas included (DAT-2).
80
+ * None for other pages, which show their fields as written, with where each comes from.
81
+ */
82
+ export declare function sheetData(world: World, system: GameSystem | undefined, page: Page): SheetGroupData[];
83
+ /**
84
+ * The icon on the token of one of the party (D-414): the system's for the first item of its field that has one, by its name or by a page it derives from, as a
85
+ * class of the campaign built on the system's; none when the system gives none.
86
+ */
87
+ export declare function tokenIcon(world: World, system: GameSystem | undefined, page: Page): string | undefined;
88
+ /**
89
+ * The line under a character's name on the dashboard (D-288): the system's headline, each field in braces as the sheet shows it and a list as the names of its
90
+ * items, as Level 3 Cleric, in the campaign's language when the system has its words (D-403); none when the system has none, or when its fields are all empty.
91
+ */
92
+ export declare function sheetHeadline(world: World, system: GameSystem | undefined, page: Page, words?: SystemWords): string | undefined;
93
+ /**
94
+ * The stat block of a companion who keeps no sheet, as the creature it derives from writes it (D-275): one group named after the creature, with the fields the
95
+ * game system declares, in the order the creature writes them, as the companion reads them, and beside a field what the sheet shows beside it, such as str-mod
96
+ * by str. None for a page that derives from no creature.
97
+ */
98
+ export declare function statBlock(world: World, system: GameSystem | undefined, page: Page): SheetGroupData[];
99
+ /** "Abilities: str 14 (+2) · dex 12 (+1)…": the sheet as the chat gives it, a line for each group. */
100
+ export declare function sheetText(groups: SheetGroupData[]): string[];
101
+ /** The sheet of a player character or a companion as the chat gives it (DAT-2): sheetData as text. */
102
+ export declare function sheetLines(world: World, system: GameSystem | undefined, page: Page): string[];
103
+ /**
104
+ * A group of a character's sheet, by the name the system gives it, with how each value is made (FOR-8): "insight +5: wis-mod +3, proficiency +2, Insight in
105
+ * skill-proficiencies", for show Page#Group. Undefined when the system's sheet has no group by that name.
106
+ */
107
+ export declare function sheetGroup(world: World, system: GameSystem | undefined, page: Page, name: string): {
108
+ name: string;
109
+ lines: string[];
110
+ } | undefined;
111
+ /** The names of the groups of a character's sheet, for a message; none for a page that shows no sheet. */
112
+ export declare function sheetGroupNames(world: World, system: GameSystem | undefined, page: Page): string[];
113
+ /**
114
+ * The fields the sheet of a character shows (DAT-2), those the rows of its classes give included (PRO-4), and what the items of its lists give (PRO-5), which
115
+ * show leaves out of the fields as written; none for a page that shows no sheet.
116
+ */
117
+ export declare function sheetFieldNames(world: World, system: GameSystem | undefined, page: Page): string[];
118
+ /**
119
+ * Refuses items given to a list that the game system does not take, with the names it takes, and links in place of its names (SYS-8); and text with commas for a
120
+ * list the system declares without names, which would be one item, as "simple weapons, martial weapons".
121
+ */
122
+ export declare function checkListValues(system: GameSystem | undefined, lists: Record<string, unknown>): void;
123
+ /**
124
+ * The lists written on the campaign's pages with names the game system does not take, or as text with commas, which reads as one name (SYS-8), such as one
125
+ * written by hand.
126
+ */
127
+ export declare function listValueProblems(world: World, system: GameSystem | undefined): Problem[];
128
+ /**
129
+ * A field's value as a counter, with the limits the field writes or the system works out (FOR-6): 18/24, or momentum 4 from -6; undefined for a number that is
130
+ * no counter, such as str 14, and for any other value.
131
+ */
132
+ export declare function counterOf(world: World, fields: Record<string, unknown>, field: string, value: unknown): Counter | undefined;
133
+ /** The experience between the points of the character's level and those of the next, for the field that counts it (PRO-6); none at the last level. */
134
+ export declare function experienceProgress(world: World, fields: Record<string, unknown>, field: string): Progress | undefined;
135
+ /** What the points of the field that counts the experience say of the levels (PRO-6); none for another field, or at the last level. */
136
+ export declare function experienceNeed(world: World, fields: Record<string, unknown>, field: string): LevelNeed | undefined;
@@ -0,0 +1,445 @@
1
+ // The character sheet of the game system (D-204, D-207, DAT-2): its groups as show gives them, the fields a character still lacks, and the names a list takes (SYS-8).
2
+ import { listItemNames, numberOf } from "../core/formula.js";
3
+ import { comparableText, valueNamed } from "../core/text.js";
4
+ import { readCounter } from "../counters/index.js";
5
+ import { baseChain, declaredKind, isEmptyField, isStandardField } from "../pages/index.js";
6
+ import { fieldName } from "../progression/index.js";
7
+ import { effectiveFields } from "./effect-layer.js";
8
+ import { experienceOf, experienceText, levelNeed } from "./game-experience.js";
9
+ import { givenItems, progressionOf } from "./progression.js";
10
+ import { counterLimits, hasSheet, isUse, itemLines, itemList, signedText, workedFields, workedLine, workedMaximum, workedParts } from "./worked-out.js";
11
+ /** The sheet of the game system as status gives it before there is a player character (DAT-2); undefined when the system has none. */
12
+ export function sheetSummary(system) {
13
+ if (system.sheet.length === 0) {
14
+ return undefined;
15
+ }
16
+ const entries = system.sheet.flatMap((group) => group.entries);
17
+ const workedOut = system.sheet.flatMap((group) => {
18
+ const fields = entryFields(group.entries);
19
+ // A group the system works out whole, but for what is written only when it applies, is named as a group, such as Saving Throws.
20
+ const required = entryFields(group.entries.filter((entry) => !entry.optional));
21
+ const whole = required.length > 0 && required.every((field) => isWorkedOut(system, field));
22
+ return whole ? [group.name] : fields.filter((field) => isWorkedOut(system, field));
23
+ });
24
+ const onSheet = sheetFields(system);
25
+ const lineOnly = system.statusLine.map((entry) => entry.field).filter((field) => !isWorkedOut(system, field) && !onSheet.has(comparableText(field)));
26
+ return {
27
+ system: system.name,
28
+ written: remindedFields(system),
29
+ // A use is written full by the engine (DAT-9): no one writes it by hand.
30
+ whenTheyApply: [...entries.filter((entry) => entry.optional).flatMap((entry) => entryFields([entry]).filter((field) => !isWorkedOut(system, field) && !isSystemUse(system, field))), ...lineOnly],
31
+ workedOut,
32
+ // "save-proficiencies (str, dex, con…)": a few names whole, many by the first two, as the system writes them.
33
+ lists: Object.entries(system.values).filter(([field]) => onSheet.has(comparableText(field))).map(([field, names]) => `${field} (${names.length <= 6 ? names.join(", ") : `such as ${names.slice(0, 2).join(", ")}`})`),
34
+ };
35
+ }
36
+ /**
37
+ * The fields of the system's character sheet that a page lacks (DAT-2): a player character's, or a companion's that does not derive from a creature; none for other
38
+ * pages. Those written only when they apply are never missing (D-206), nor those the system works out (FOR-7).
39
+ */
40
+ export function missingSheetFields(system, world, page) {
41
+ if (system === undefined || !hasSheet(world, page)) {
42
+ return [];
43
+ }
44
+ const fields = new Set(Object.entries(effectiveFields(world, page)).filter(([, value]) => !isEmptyField(value)).map(([field]) => comparableText(field)));
45
+ return remindedFields(system).filter((field) => !fields.has(comparableText(field)));
46
+ }
47
+ /**
48
+ * What write says once when a character joins the party (DAT-2): the fields its sheet still lacks, then the system's notes on the groups of the sheet, such as
49
+ * that the personality is the player's (D-206).
50
+ */
51
+ export function joiningNotes(system, world, page) {
52
+ if (system === undefined || !hasSheet(world, page)) {
53
+ return [];
54
+ }
55
+ const missing = missingSheetFields(system, world, page);
56
+ const lacks = missing.length === 0 ? [] : [`${page.name}'s sheet of the system ${system.name} still lacks, by these names: ${missing.join(", ")}.`];
57
+ return [...lacks, ...system.sheet.flatMap((group) => (group.note === undefined ? [] : [`${group.name}: ${group.note}`]))];
58
+ }
59
+ /**
60
+ * The sheet of a player character or a companion as data, a group for each that has a value, as the character reads it, effects and formulas included (DAT-2).
61
+ * None for other pages, which show their fields as written, with where each comes from.
62
+ */
63
+ export function sheetData(world, system, page) {
64
+ if (system === undefined || !hasSheet(world, page)) {
65
+ return [];
66
+ }
67
+ const fields = effectiveFields(world, page);
68
+ const marks = markCounts(world, system, fields);
69
+ return system.sheet.flatMap((group) => {
70
+ const list = itemGroupList(world, group);
71
+ // A group of what the items of one list give is shown item by item, as the attacks of the weapons equipped (PRO-5).
72
+ if (list !== undefined) {
73
+ const items = itemLines(world, fields, list, entryFields(group.entries)).map((item) => ({
74
+ item: item.item,
75
+ values: item.values.map((value) => sheetValue(world, fields, value.field, value.value)),
76
+ }));
77
+ return items.length === 0 ? [] : [{ name: group.name, ...iconOf(group), values: [], items }];
78
+ }
79
+ const progression = progressionOf(world, fields);
80
+ const values = groupEntries(world, system, group, fields).flatMap((entry) => {
81
+ const value = valueNamed(fields, entry.field);
82
+ const given = givenItems(progression, entry.field);
83
+ if (given.length > 0) {
84
+ return [givenValue(world, entry.field, value, given)];
85
+ }
86
+ const beside = besideValue(world, fields, entry);
87
+ const roll = sheetRoll(system, fields, entry);
88
+ const progress = experienceProgress(world, fields, entry.field);
89
+ const need = experienceNeed(world, fields, entry.field);
90
+ return isEmptyField(value) ? [] : [{
91
+ ...sheetValue(world, fields, entry.field, value),
92
+ marks: marks.get(comparableText(entry.field)) ?? 0,
93
+ ...(beside === undefined ? {} : { beside }),
94
+ ...(beside === undefined || entry.beside === undefined ? {} : { besideField: entry.beside }),
95
+ ...(roll === undefined ? {} : { roll }),
96
+ ...(progress === undefined ? {} : { progress }),
97
+ ...(need === undefined ? {} : { levelNeed: need }),
98
+ }];
99
+ });
100
+ return values.length === 0 ? [] : [{ name: group.name, ...iconOf(group), values }];
101
+ });
102
+ }
103
+ /** A group's icon, as the data of the sheet carries it: none when the system gives none. */
104
+ function iconOf(group) {
105
+ return group.icon === undefined ? {} : { icon: group.icon };
106
+ }
107
+ /**
108
+ * The icon on the token of one of the party (D-414): the system's for the first item of its field that has one, by its name or by a page it derives from, as a
109
+ * class of the campaign built on the system's; none when the system gives none.
110
+ */
111
+ export function tokenIcon(world, system, page) {
112
+ const rule = system?.tokenIcons;
113
+ const value = rule === undefined ? undefined : valueNamed(effectiveFields(world, page), rule.field);
114
+ if (rule === undefined || isEmptyField(value)) {
115
+ return undefined;
116
+ }
117
+ const iconOf = (name) => Object.entries(rule.icons).find(([key]) => comparableText(key) === comparableText(name))?.[1];
118
+ const item = (name) => world.pages.find((candidate) => comparableText(candidate.name) === comparableText(name));
119
+ return listItemNames(value).flatMap((name) => {
120
+ const own = item(name);
121
+ return [name, ...(own === undefined ? [] : baseChain(world, own).map((base) => base.name))];
122
+ }).map(iconOf).find((icon) => icon !== undefined);
123
+ }
124
+ /**
125
+ * The line under a character's name on the dashboard (D-288): the system's headline, each field in braces as the sheet shows it and a list as the names of its
126
+ * items, as Level 3 Cleric, in the campaign's language when the system has its words (D-403); none when the system has none, or when its fields are all empty.
127
+ */
128
+ export function sheetHeadline(world, system, page, words) {
129
+ const headline = words?.headline ?? system?.sheetHeadline;
130
+ if (headline === undefined || !hasSheet(world, page)) {
131
+ return undefined;
132
+ }
133
+ const fields = effectiveFields(world, page);
134
+ const shown = (field) => {
135
+ const value = valueNamed(fields, field);
136
+ const said = (name) => words?.words[name] ?? name;
137
+ return isEmptyField(value) ? "" : declaredKind(world, field) === "list" ? listItemNames(value).map(said).join(" / ") : said(valueText(world, field, value));
138
+ };
139
+ const named = [...headline.matchAll(/\{([^{}]+)\}/g)].map((match) => shown(match[1]));
140
+ return named.every((text) => text === "") ? undefined : headline.replace(/\{([^{}]+)\}/g, (_, field) => shown(field)).replace(/\s+/g, " ").trim();
141
+ }
142
+ /**
143
+ * The stat block of a companion who keeps no sheet, as the creature it derives from writes it (D-275): one group named after the creature, with the fields the
144
+ * game system declares, in the order the creature writes them, as the companion reads them, and beside a field what the sheet shows beside it, such as str-mod
145
+ * by str. None for a page that derives from no creature.
146
+ */
147
+ export function statBlock(world, system, page) {
148
+ const creature = baseChain(world, page).find((base) => base.type === "creature");
149
+ if (system === undefined || creature === undefined) {
150
+ return [];
151
+ }
152
+ const fields = effectiveFields(world, page);
153
+ const besides = new Map(system.sheet.flatMap((group) => group.entries).flatMap((entry) => (entry.beside === undefined ? [] : [[comparableText(entry.field), entry.beside]])));
154
+ // From the creature at the root of the chain to the companion: the order of the stat block, then what the companion adds.
155
+ const names = [...new Set([...baseChain(world, page)].reverse().concat(page).flatMap((holder) => Object.keys(holder.fields)))];
156
+ const values = names.flatMap((field) => {
157
+ const value = valueNamed(fields, field);
158
+ if (declaredKind(world, field) === undefined || isStandardField(page.type, field) || isEmptyField(value)) {
159
+ return [];
160
+ }
161
+ const besideField = besides.get(comparableText(field));
162
+ const besideValue = besideField === undefined ? undefined : valueNamed(fields, besideField);
163
+ const beside = besideField === undefined || isEmptyField(besideValue) ? undefined : valueText(world, besideField, besideValue);
164
+ return [{ ...sheetValue(world, fields, field, value), ...(beside === undefined ? {} : { beside }) }];
165
+ });
166
+ return values.length === 0 ? [] : [{ name: creature.name, values }];
167
+ }
168
+ /** "Abilities: str 14 (+2) · dex 12 (+1)…": the sheet as the chat gives it, a line for each group. */
169
+ export function sheetText(groups) {
170
+ return groups.map((group) => {
171
+ const shown = group.items === undefined
172
+ ? group.values.map((value) => `${value.field} ${value.text}${value.marks === 0 ? "" : ` ${"●".repeat(value.marks)}`}${value.beside === undefined ? "" : ` (${value.beside})`}`)
173
+ : group.items.map((item) => `${item.item} ${item.values.map((value) => value.text).join(", ")}`);
174
+ return `${group.name}: ${shown.join(" · ")}`;
175
+ });
176
+ }
177
+ /** The sheet of a player character or a companion as the chat gives it (DAT-2): sheetData as text. */
178
+ export function sheetLines(world, system, page) {
179
+ return sheetText(sheetData(world, system, page));
180
+ }
181
+ /**
182
+ * A group of a character's sheet, by the name the system gives it, with how each value is made (FOR-8): "insight +5: wis-mod +3, proficiency +2, Insight in
183
+ * skill-proficiencies", for show Page#Group. Undefined when the system's sheet has no group by that name.
184
+ */
185
+ export function sheetGroup(world, system, page, name) {
186
+ const group = system === undefined || !hasSheet(world, page) ? undefined : system.sheet.find((candidate) => comparableText(candidate.name) === comparableText(name.trim()));
187
+ if (system === undefined || group === undefined) {
188
+ return undefined;
189
+ }
190
+ const fields = effectiveFields(world, page);
191
+ const list = itemGroupList(world, group);
192
+ if (list !== undefined) {
193
+ const items = itemLines(world, fields, list, entryFields(group.entries), true);
194
+ const lines = items.map((item) => `${item.item}: ${item.values.map((value) => workedLine(world, value)).join("; ")}`);
195
+ const empty = `${page.name} has nothing in ${group.name} yet: the pages of the items in its ${list} give it, as ${entryFields(group.entries).join(" and ")}.`;
196
+ return { name: group.name, lines: lines.length === 0 ? [empty] : lines };
197
+ }
198
+ const worked = workedFields(world, fields, true);
199
+ const lines = groupEntries(world, system, group, fields).flatMap((entry) => {
200
+ const value = valueNamed(fields, entry.field);
201
+ const computed = worked.find((candidate) => comparableText(candidate.field) === comparableText(entry.field));
202
+ if (computed !== undefined) {
203
+ return [workedLine(world, computed)];
204
+ }
205
+ const given = givenItems(progressionOf(world, fields), entry.field);
206
+ if (given.length > 0) {
207
+ return [`${entry.field} ${givenValue(world, entry.field, value, given).text}`];
208
+ }
209
+ if (isEmptyField(value)) {
210
+ return [];
211
+ }
212
+ const maximum = readCounter(value) === undefined ? undefined : workedMaximum(world, fields, entry.field);
213
+ const parts = maximum === undefined ? "" : workedParts(world, maximum.reads);
214
+ return [`${entry.field} ${valueText(world, entry.field, value)}${besideText(world, fields, entry)}${parts === "" ? "" : `: the maximum from ${parts}`}`];
215
+ });
216
+ return { name: group.name, lines: lines.length === 0 ? [`${page.name} has nothing in ${group.name} yet.`] : lines };
217
+ }
218
+ /** The names of the groups of a character's sheet, for a message; none for a page that shows no sheet. */
219
+ export function sheetGroupNames(world, system, page) {
220
+ return system === undefined || !hasSheet(world, page) ? [] : system.sheet.map((group) => group.name);
221
+ }
222
+ /**
223
+ * The fields the sheet of a character shows (DAT-2), those the rows of its classes give included (PRO-4), and what the items of its lists give (PRO-5), which
224
+ * show leaves out of the fields as written; none for a page that shows no sheet.
225
+ */
226
+ export function sheetFieldNames(world, system, page) {
227
+ if (system === undefined || !hasSheet(world, page)) {
228
+ return [];
229
+ }
230
+ const fields = effectiveFields(world, page);
231
+ const shown = entryFields(system.sheet.flatMap((group) => groupEntries(world, system, group, fields)));
232
+ // What the items of a list the sheet shows give is part of the values that read it, as an armor's armor-class in ac (PRO-5).
233
+ const given = Object.entries(system.itemFormulas).filter(([list]) => shown.some((field) => comparableText(field) === comparableText(list)) || comparableText(list) === comparableText(system.progression?.list ?? "")).flatMap(([, names]) => names);
234
+ return [...shown, ...given.filter((field) => !shown.some((other) => comparableText(other) === comparableText(field)))];
235
+ }
236
+ /**
237
+ * Refuses items given to a list that the game system does not take, with the names it takes, and links in place of its names (SYS-8); and text with commas for a
238
+ * list the system declares without names, which would be one item, as "simple weapons, martial weapons".
239
+ */
240
+ export function checkListValues(system, lists) {
241
+ for (const [field, value] of Object.entries(lists)) {
242
+ // A map where a list goes, as {"[[Fighter]]": 1}, would read as nothing: the sheet would come out at level 0 (D-246).
243
+ if (system !== undefined && isListField(system, field) && value !== null && typeof value === "object" && !Array.isArray(value)) {
244
+ const example = Object.entries(value).map(([key, number]) => `${key} ${String(number)}`).join(", ");
245
+ throw new Error(`${field} is a list in the system ${system.name}: give it as one, such as ${field}=[${example}]. Nothing changed.`);
246
+ }
247
+ if (system !== undefined && isOpenList(system, field) && isCommaText(value)) {
248
+ throw new Error(`${field} is a list in the system ${system.name}: write its names apart, as ${field}=[${String(value)}]. Nothing changed.`);
249
+ }
250
+ const wrong = wrongValues(system, field, value);
251
+ const links = allowedValues(system, field) === undefined ? [] : (Array.isArray(value) ? value : [value]).filter((item) => /\[\[/.test(String(item)));
252
+ if (system !== undefined && wrong.length > 0) {
253
+ throw new Error(`${wrongText(system, field, wrong)} Nothing changed.`);
254
+ }
255
+ if (links.length > 0) {
256
+ throw new Error(`${field} takes the system's names, not links: ${listItemNames(links).join(", ")}. Nothing changed.`);
257
+ }
258
+ }
259
+ }
260
+ /** Text with commas outside links and parentheses, as "simple weapons, martial weapons": several names that a list holds apart. */
261
+ function isCommaText(value) {
262
+ return typeof value === "string" && value.replace(/\[\[[^\]]*\]\]/g, "").replace(/\([^)]*\)/g, "").includes(",");
263
+ }
264
+ /** A field the system declares as a list, such as classes. */
265
+ function isListField(system, field) {
266
+ return Object.entries(system.fields).some(([name, kind]) => kind === "list" && comparableText(name) === comparableText(field));
267
+ }
268
+ /** A list the system declares without the names it takes, which are checked by name, as weapon-proficiencies (SYS-8). */
269
+ function isOpenList(system, field) {
270
+ return allowedValues(system, field) === undefined && Object.entries(system.fields).some(([name, kind]) => kind === "list" && comparableText(name) === comparableText(field));
271
+ }
272
+ /**
273
+ * The lists written on the campaign's pages with names the game system does not take, or as text with commas, which reads as one name (SYS-8), such as one
274
+ * written by hand.
275
+ */
276
+ export function listValueProblems(world, system) {
277
+ if (system === undefined) {
278
+ return [];
279
+ }
280
+ return world.pages.filter((page) => page.system === undefined).flatMap((page) => Object.entries(page.fields).flatMap(([field, value]) => {
281
+ if (isOpenList(system, field) && isCommaText(value)) {
282
+ return [{ path: page.path, message: `${field} on ${page.name} is text with commas, read as one name: a list is written [a, b].`, fix: `write ${page.name}, set ${field}=[${String(value)}]` }];
283
+ }
284
+ const wrong = wrongValues(system, field, value);
285
+ return wrong.length === 0 ? [] : [{ path: page.path, message: `On ${page.name}: ${wrongText(system, field, wrong)}`, fix: `write ${page.name}, remove ${field}=${wrong[0]}, then add the right name` }];
286
+ }));
287
+ }
288
+ /** How many marks each computed field earns (D-217, DAT-2): one for each list of the system's marks that it reads with its item, where that item changes it. */
289
+ function markCounts(world, system, fields) {
290
+ const marking = new Set(system.marks.map(comparableText));
291
+ if (marking.size === 0) {
292
+ return new Map();
293
+ }
294
+ return new Map(workedFields(world, fields, true).map((worked) => [
295
+ comparableText(worked.field),
296
+ // Each list once, though a formula may read it twice, as a skill read for its proficiency and for half of it.
297
+ new Set(worked.reads.flatMap((read) => ("item" in read && read.value === 1 && marking.has(comparableText(read.list)) ? [comparableText(read.list)] : []))).size,
298
+ ]));
299
+ }
300
+ /** The fields of the sheet a character writes and status reminds until they are (DAT-2): neither worked out by the system nor written only when they apply (D-206). */
301
+ function remindedFields(system) {
302
+ return system.sheet.flatMap((group) => group.entries).filter((entry) => !entry.optional).flatMap((entry) => entryFields([entry]).filter((field) => !isWorkedOut(system, field)));
303
+ }
304
+ /** Whether the system gives a field as a use with its limits, which write puts on a character full when it has it (DAT-9), as hit dice and spell slots. */
305
+ function isSystemUse(system, field) {
306
+ const counted = Object.keys(system.formulas.counters).some((name) => comparableText(name) === comparableText(field));
307
+ return counted && system.uses.some((name) => name.endsWith("*") ? comparableText(field).startsWith(comparableText(name.slice(0, -1))) : comparableText(name) === comparableText(field));
308
+ }
309
+ function isWorkedOut(system, field) {
310
+ const progression = system.progression;
311
+ const given = [...(progression === undefined ? [] : [fieldName(progression.features)]), ...Object.values(system.itemFormulas).flat()];
312
+ return [...system.formulas.computed.map(([name]) => name), ...given].some((name) => comparableText(name) === comparableText(field));
313
+ }
314
+ /**
315
+ * The entries of a group: those the system lists, and in the group of the features those the rows of the character's classes give, in order (PRO-4), then the
316
+ * uses it has that no other group shows, such as channel-divinity (DAT-9).
317
+ */
318
+ function groupEntries(world, system, group, fields) {
319
+ const features = system.progression === undefined ? undefined : fieldName(system.progression.features);
320
+ if (features === undefined || !group.entries.some((entry) => comparableText(entry.field) === comparableText(features))) {
321
+ return group.entries;
322
+ }
323
+ const listed = new Set(entryFields(system.sheet.flatMap((other) => other.entries)).map(comparableText));
324
+ const rows = (progressionOf(world, fields)?.values ?? []).map((value) => value.field).filter((field) => !listed.has(comparableText(field)));
325
+ const uses = Object.keys(world.system?.formulas?.counters ?? {}).filter((field) => isUse(world, field) && !listed.has(comparableText(field)) && !rows.some((row) => comparableText(row) === comparableText(field)) && !isEmptyField(valueNamed(fields, field)));
326
+ return [...group.entries, ...[...rows, ...uses].map((field) => ({ field, optional: true }))];
327
+ }
328
+ /** The list whose items' formulas give every field of a group, as equipped for the attacks; undefined for any other group (PRO-5). */
329
+ function itemGroupList(world, group) {
330
+ const lists = [...new Set(entryFields(group.entries).map((field) => itemList(world, field)))];
331
+ return lists.length === 1 ? lists[0] : undefined;
332
+ }
333
+ /** Every field the sheet shows, as names are compared. */
334
+ function sheetFields(system) {
335
+ return new Set(entryFields(system.sheet.flatMap((group) => group.entries)).map(comparableText));
336
+ }
337
+ function entryFields(entries) {
338
+ return entries.flatMap((entry) => (entry.beside === undefined ? [entry.field] : [entry.field, entry.beside]));
339
+ }
340
+ /**
341
+ * A field's value as a counter, with the limits the field writes or the system works out (FOR-6): 18/24, or momentum 4 from -6; undefined for a number that is
342
+ * no counter, such as str 14, and for any other value.
343
+ */
344
+ export function counterOf(world, fields, field, value) {
345
+ const kind = declaredKind(world, field);
346
+ const read = readCounter(value);
347
+ const limits = counterLimits(world, fields, field);
348
+ // A field the system declares as anything else is never one, as a challenge rating of 1/4.
349
+ const counted = kind === "counter" || (kind === undefined && (read?.max !== undefined || limits.min !== undefined || limits.max !== undefined));
350
+ return read === undefined || !counted ? undefined : { ...limits, ...read };
351
+ }
352
+ /** A value of the sheet as data, without marks or what is beside it: its kind, its text, a counter with its limits and the names of a list. */
353
+ function sheetValue(world, fields, field, value) {
354
+ const kind = declaredKind(world, field);
355
+ const counter = counterOf(world, fields, field, value);
356
+ const items = Array.isArray(value) ? value.map((item) => linkText(String(item).trim())) : undefined;
357
+ return { field, ...(kind === undefined ? {} : { kind }), text: valueText(world, field, value), ...(counter === undefined ? {} : { counter }), ...(items === undefined ? {} : { items }), marks: 0 };
358
+ }
359
+ /** The experience between the points of the character's level and those of the next, for the field that counts it (PRO-6); none at the last level. */
360
+ export function experienceProgress(world, fields, field) {
361
+ if (comparableText(field) !== comparableText(world.system?.progression?.experience?.field ?? "")) {
362
+ return undefined;
363
+ }
364
+ const experience = experienceOf(world, fields);
365
+ return experience?.next === undefined ? undefined : { value: experience.points, from: experience.least ?? 0, to: experience.next.points };
366
+ }
367
+ /** What the points of the field that counts the experience say of the levels (PRO-6); none for another field, or at the last level. */
368
+ export function experienceNeed(world, fields, field) {
369
+ const experience = comparableText(field) === comparableText(world.system?.progression?.experience?.field ?? "") ? experienceOf(world, fields) : undefined;
370
+ return experience === undefined ? undefined : levelNeed(experience);
371
+ }
372
+ /** The free roll of an entry of the sheet (D-280): the dice the system rolls its number with, or the number beside it, as str-mod by str; none for a text. */
373
+ function sheetRoll(system, fields, entry) {
374
+ for (const field of [entry.field, entry.beside].filter((candidate) => candidate !== undefined)) {
375
+ const dice = Object.entries(system.sheetDice).find(([listed]) => comparableText(listed) === comparableText(field))?.[1];
376
+ const number = dice === undefined ? undefined : numberOf(valueNamed(fields, field));
377
+ if (dice !== undefined && number !== undefined) {
378
+ const sides = dice.split("+").flatMap((term) => {
379
+ const [count, faces] = term.split("d");
380
+ return Array.from({ length: count === "" ? 1 : Number(count) }, () => Number(faces));
381
+ });
382
+ return { notation: number === 0 ? dice : `${dice}${number > 0 ? "+" : "-"}${Math.abs(number)}`, dice: sides, modifier: number };
383
+ }
384
+ }
385
+ return undefined;
386
+ }
387
+ /** A list with what the parts of the character add to it (PRO-7): the names written, then those given, apart and not counted with it. */
388
+ function givenValue(world, field, value, given) {
389
+ const kind = declaredKind(world, field);
390
+ const written = listItemNames(value).filter((name) => !given.some((item) => comparableText(item.name) === comparableText(name)));
391
+ const always = { from: [...new Set(given.map((item) => item.page.name))], items: given.map((item) => item.name) };
392
+ return { field, ...(kind === undefined ? {} : { kind }), text: listWithGiven(world, field, written, always), items: written.map(linkText), always, marks: 0 };
393
+ }
394
+ /** " (+2)": the field shown beside an entry, such as str-mod by str, when it has a value. */
395
+ function besideText(world, fields, entry) {
396
+ const beside = besideValue(world, fields, entry);
397
+ return beside === undefined ? "" : ` (${beside})`;
398
+ }
399
+ /** "+2": the field shown beside an entry, such as str-mod by str, when it has a value; beside the points, how many the next level needs, or the level they reach (PRO-6). */
400
+ function besideValue(world, fields, entry) {
401
+ const experience = comparableText(entry.field) === comparableText(world.system?.progression?.experience?.field ?? "") ? experienceOf(world, fields) : undefined;
402
+ const text = experience === undefined ? undefined : experienceText(experience);
403
+ if (text !== undefined) {
404
+ return text;
405
+ }
406
+ const value = entry.beside === undefined ? undefined : valueNamed(fields, entry.beside);
407
+ return entry.beside === undefined || isEmptyField(value) ? undefined : valueText(world, entry.beside, value);
408
+ }
409
+ /** "Healing Word, Guiding Bolt; always, from Life Domain: Bless, Cure Wounds": a list with what the parts add to it, apart and not counted with it (PRO-7). */
410
+ function listWithGiven(world, field, written, always) {
411
+ const given = `always, from ${always.from.join(" and ")}: ${always.items.join(", ")}`;
412
+ return written.length === 0 ? given : `${valueText(world, field, written)}; ${given}`;
413
+ }
414
+ /** A value as the sheet shows it: a modifier with its sign (FOR-8), the items of a list one after the other. */
415
+ function valueText(world, field, value) {
416
+ if (typeof value === "number") {
417
+ return signedText(world, field, value);
418
+ }
419
+ // Items with commas of their own are told apart by semicolons.
420
+ if (Array.isArray(value)) {
421
+ const items = value.map((item) => linkText(String(item).trim()));
422
+ return items.join(items.some((item) => item.includes(",")) ? "; " : ", ");
423
+ }
424
+ return typeof value === "object" && value !== null ? JSON.stringify(value) : linkText(String(value).trim());
425
+ }
426
+ /** "Cleric 3" for "[[Cleric]] 3": a sheet reads as on paper, with the name or label of a link. */
427
+ function linkText(text) {
428
+ return text.replace(/\[\[(?:[^\]|]*\|)?([^\]|]+)\]\]/g, "$1");
429
+ }
430
+ /** The items of a list that the game system does not take, by the names they are read as (SYS-8); none for a field without values. */
431
+ function wrongValues(system, field, value) {
432
+ const allowed = allowedValues(system, field);
433
+ return allowed === undefined ? [] : listItemNames(value).filter((name) => !allowed.some((item) => comparableText(item) === comparableText(name)));
434
+ }
435
+ /** The names a list field takes in the game system (SYS-8); undefined for a field without values. */
436
+ function allowedValues(system, field) {
437
+ return Object.entries(system?.values ?? {}).find(([name]) => comparableText(name) === comparableText(field))?.[1];
438
+ }
439
+ /** "Stealthh is not one of the names skill-proficiencies takes in the system 5e: Acrobatics, …": with how to write a list, when a name holds a comma. */
440
+ function wrongText(system, field, wrong) {
441
+ const allowed = allowedValues(system, field) ?? [];
442
+ const list = wrong.some((name) => /[,;]/.test(name)) ? " A list is written [a, b]." : "";
443
+ const names = wrong.map((name) => `"${name}"`).join(", ");
444
+ return `${names} ${wrong.length === 1 ? "is not one of the names" : "are not names"} ${field} takes in the system ${system.name}: ${allowed.join(", ")}.${list}`;
445
+ }
@@ -0,0 +1,76 @@
1
+ import { z } from "zod";
2
+ export declare const show: import("../core/registry.ts").Command<z.ZodObject<{
3
+ page: z.ZodString;
4
+ }, z.core.$strip>, {
5
+ sceneLog: string;
6
+ page?: undefined;
7
+ type?: undefined;
8
+ path?: undefined;
9
+ system?: undefined;
10
+ hides?: undefined;
11
+ namesakes?: undefined;
12
+ section?: undefined;
13
+ copyOf?: undefined;
14
+ scene?: undefined;
15
+ alsoCopy?: undefined;
16
+ isIn?: undefined;
17
+ alsoIn?: undefined;
18
+ around?: undefined;
19
+ sheet?: undefined;
20
+ featureHint?: undefined;
21
+ onSheet?: undefined;
22
+ fields?: undefined;
23
+ covered?: undefined;
24
+ worked?: undefined;
25
+ group?: undefined;
26
+ systemName?: undefined;
27
+ derivesFrom?: undefined;
28
+ sectionFrom?: undefined;
29
+ featureOf?: undefined;
30
+ inherited?: undefined;
31
+ text?: undefined;
32
+ linkedFrom?: undefined;
33
+ problems?: undefined;
34
+ } | {
35
+ page: string;
36
+ type: "place" | "quest" | "creature" | "character" | "faction" | "item" | "event" | "topic" | undefined;
37
+ path: string;
38
+ system: string | undefined;
39
+ hides: string | undefined;
40
+ namesakes: string[];
41
+ section: string | undefined;
42
+ copyOf: string | undefined;
43
+ scene: string | undefined;
44
+ alsoCopy: boolean;
45
+ isIn: string[];
46
+ alsoIn: string[];
47
+ around: string;
48
+ sheet: string[];
49
+ featureHint: string | undefined;
50
+ onSheet: string[];
51
+ fields: Record<string, unknown> | undefined;
52
+ covered: string[];
53
+ worked: {
54
+ field: string;
55
+ line: string;
56
+ repeats: boolean;
57
+ }[];
58
+ group: boolean;
59
+ systemName: string | undefined;
60
+ derivesFrom: string[];
61
+ sectionFrom: string | undefined;
62
+ featureOf: boolean;
63
+ inherited: {
64
+ from: string;
65
+ fields: Record<string, unknown>;
66
+ text: string;
67
+ parts: string[];
68
+ }[];
69
+ text: string;
70
+ linkedFrom: {
71
+ page: string;
72
+ places: string[];
73
+ }[];
74
+ problems: string[];
75
+ sceneLog?: undefined;
76
+ }>;