@opencharacter/wwn-srd 0.0.0-stage → 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (451) hide show
  1. package/LICENSE +144 -0
  2. package/README.md +109 -2
  3. package/content/armor/buff-coat.yaml +7 -0
  4. package/content/armor/cuirass-and-greaves.yaml +7 -0
  5. package/content/armor/grand-plate.yaml +7 -0
  6. package/content/armor/great-armor.yaml +7 -0
  7. package/content/armor/large-shield.yaml +6 -0
  8. package/content/armor/linothorax.yaml +6 -0
  9. package/content/armor/mail-hauberk.yaml +7 -0
  10. package/content/armor/mail-shirt.yaml +6 -0
  11. package/content/armor/pieced-armor.yaml +7 -0
  12. package/content/armor/plate-armor.yaml +7 -0
  13. package/content/armor/scaled-armor.yaml +7 -0
  14. package/content/armor/small-shield.yaml +6 -0
  15. package/content/armor/war-robe.yaml +7 -0
  16. package/content/armor/war-shirt.yaml +7 -0
  17. package/content/arts/accursed/accursed-blade.yaml +5 -0
  18. package/content/arts/accursed/accursed-bolt.yaml +5 -0
  19. package/content/arts/accursed/bewitching-distraction.yaml +5 -0
  20. package/content/arts/accursed/compelling-shriek.yaml +5 -0
  21. package/content/arts/accursed/devils-bargain.yaml +4 -0
  22. package/content/arts/accursed/dire-pact.yaml +4 -0
  23. package/content/arts/accursed/lying-face.yaml +5 -0
  24. package/content/arts/accursed/night-black-eyes.yaml +4 -0
  25. package/content/arts/accursed/pacted-protection.yaml +4 -0
  26. package/content/arts/accursed/rob-vitality.yaml +5 -0
  27. package/content/arts/accursed/scourging-curse.yaml +5 -0
  28. package/content/arts/accursed/shadowed-steps.yaml +5 -0
  29. package/content/arts/accursed/snaring-speech.yaml +5 -0
  30. package/content/arts/accursed/sorcerous-battery.yaml +5 -0
  31. package/content/arts/accursed/soul-consumption.yaml +5 -0
  32. package/content/arts/accursed/tendrils-of-night.yaml +5 -0
  33. package/content/arts/accursed/unseen-steps.yaml +5 -0
  34. package/content/arts/accursed/weeping-wounds.yaml +5 -0
  35. package/content/arts/accursed/weight-of-sin.yaml +5 -0
  36. package/content/arts/bard/a-thousand-tongues.yaml +5 -0
  37. package/content/arts/bard/battle-cry.yaml +5 -0
  38. package/content/arts/bard/cursed-tune.yaml +5 -0
  39. package/content/arts/bard/deft-fingers.yaml +6 -0
  40. package/content/arts/bard/entangle-incantation.yaml +5 -0
  41. package/content/arts/bard/evoke-emotion.yaml +5 -0
  42. package/content/arts/bard/inspire-dread.yaml +5 -0
  43. package/content/arts/bard/keen-senses.yaml +4 -0
  44. package/content/arts/bard/liberating-song.yaml +5 -0
  45. package/content/arts/bard/rally.yaml +5 -0
  46. package/content/arts/bard/soothe-the-savage.yaml +5 -0
  47. package/content/arts/bard/soothing-graces.yaml +4 -0
  48. package/content/arts/bard/swift-misdirection.yaml +5 -0
  49. package/content/arts/beastmaster/beast-ward.yaml +5 -0
  50. package/content/arts/beastmaster/bind-companion.yaml +5 -0
  51. package/content/arts/beastmaster/eyes-of-the-beast.yaml +5 -0
  52. package/content/arts/beastmaster/feral-toughness.yaml +8 -0
  53. package/content/arts/beastmaster/howl-of-distant-summons.yaml +5 -0
  54. package/content/arts/beastmaster/know-the-weak-spot.yaml +5 -0
  55. package/content/arts/beastmaster/mind-call.yaml +5 -0
  56. package/content/arts/beastmaster/natural-weaponry.yaml +10 -0
  57. package/content/arts/beastmaster/savage-senses.yaml +5 -0
  58. package/content/arts/beastmaster/shared-vitality.yaml +5 -0
  59. package/content/arts/beastmaster/swift-healing.yaml +5 -0
  60. package/content/arts/beastmaster/tongue-of-the-beasts.yaml +5 -0
  61. package/content/arts/blood-priest/a-thousand-tongues.yaml +5 -0
  62. package/content/arts/blood-priest/armor-of-god.yaml +11 -0
  63. package/content/arts/blood-priest/divine-guidance.yaml +5 -0
  64. package/content/arts/blood-priest/fear-no-flame.yaml +5 -0
  65. package/content/arts/blood-priest/god-wills-it.yaml +5 -0
  66. package/content/arts/blood-priest/light-of-faith.yaml +5 -0
  67. package/content/arts/blood-priest/merciful-healing.yaml +5 -0
  68. package/content/arts/blood-priest/sanctified-ward.yaml +5 -0
  69. package/content/arts/blood-priest/smite-the-wicked.yaml +5 -0
  70. package/content/arts/blood-priest/transubstantiation.yaml +5 -0
  71. package/content/arts/blood-priest/turn-false-life.yaml +5 -0
  72. package/content/arts/blood-priest/words-of-mercy.yaml +5 -0
  73. package/content/arts/blood-priest/wrath-of-the-most-high.yaml +5 -0
  74. package/content/arts/duelist/blood-for-blood.yaml +5 -0
  75. package/content/arts/duelist/burst-of-speed.yaml +5 -0
  76. package/content/arts/duelist/code-duello.yaml +5 -0
  77. package/content/arts/duelist/crushing-superiority.yaml +5 -0
  78. package/content/arts/duelist/dauntless-step.yaml +5 -0
  79. package/content/arts/duelist/dodge-doom.yaml +5 -0
  80. package/content/arts/duelist/favored-weapon.yaml +13 -0
  81. package/content/arts/duelist/forced-engagement.yaml +5 -0
  82. package/content/arts/duelist/gentlemans-withdrawal.yaml +5 -0
  83. package/content/arts/duelist/graceful-leap.yaml +5 -0
  84. package/content/arts/duelist/lightning-draw.yaml +5 -0
  85. package/content/arts/duelist/piercing-strike.yaml +5 -0
  86. package/content/arts/duelist/spiritual-weapon.yaml +5 -0
  87. package/content/arts/duelist/unbindable.yaml +5 -0
  88. package/content/arts/duelist/unworthy-rabble.yaml +5 -0
  89. package/content/arts/duelist/whirling-evasion.yaml +10 -0
  90. package/content/arts/elementalist/beckoned-deluge.yaml +5 -0
  91. package/content/arts/elementalist/earthsight.yaml +5 -0
  92. package/content/arts/elementalist/elemental-blast.yaml +5 -0
  93. package/content/arts/elementalist/elemental-resilience.yaml +5 -0
  94. package/content/arts/elementalist/elemental-sparks.yaml +5 -0
  95. package/content/arts/elementalist/flamesight.yaml +5 -0
  96. package/content/arts/elementalist/pavis-of-elements.yaml +8 -0
  97. package/content/arts/elementalist/petrifying-stare.yaml +5 -0
  98. package/content/arts/elementalist/rune-of-destruction.yaml +5 -0
  99. package/content/arts/elementalist/steps-of-air.yaml +5 -0
  100. package/content/arts/elementalist/stunning-shock.yaml +5 -0
  101. package/content/arts/elementalist/thermal-shield.yaml +5 -0
  102. package/content/arts/healer/empowered-healer.yaml +4 -0
  103. package/content/arts/healer/facile-healer.yaml +4 -0
  104. package/content/arts/healer/far-healer.yaml +4 -0
  105. package/content/arts/healer/final-repose.yaml +5 -0
  106. package/content/arts/healer/healers-eye.yaml +5 -0
  107. package/content/arts/healer/healers-knife.yaml +4 -0
  108. package/content/arts/healer/healing-touch.yaml +6 -0
  109. package/content/arts/healer/limb-restoration.yaml +8 -0
  110. package/content/arts/healer/purge-ailment.yaml +5 -0
  111. package/content/arts/healer/refined-restoration.yaml +4 -0
  112. package/content/arts/healer/revive-the-fallen.yaml +8 -0
  113. package/content/arts/healer/swift-healer.yaml +4 -0
  114. package/content/arts/healer/tireless-vigor.yaml +5 -0
  115. package/content/arts/healer/vital-furnace.yaml +5 -0
  116. package/content/arts/high-mage/arcane-lexicon.yaml +5 -0
  117. package/content/arts/high-mage/counter-magic.yaml +5 -0
  118. package/content/arts/high-mage/empowered-sorcery.yaml +5 -0
  119. package/content/arts/high-mage/hang-sorcery.yaml +5 -0
  120. package/content/arts/high-mage/inexorable-effect.yaml +5 -0
  121. package/content/arts/high-mage/iron-resolution.yaml +5 -0
  122. package/content/arts/high-mage/preparatory-countermagic.yaml +5 -0
  123. package/content/arts/high-mage/psychic-conversion.yaml +4 -0
  124. package/content/arts/high-mage/restrained-casting.yaml +5 -0
  125. package/content/arts/high-mage/retain-sorcery.yaml +5 -0
  126. package/content/arts/high-mage/sense-magic.yaml +5 -0
  127. package/content/arts/high-mage/suppress-magic.yaml +5 -0
  128. package/content/arts/high-mage/swift-casting.yaml +5 -0
  129. package/content/arts/high-mage/ward-allies.yaml +5 -0
  130. package/content/arts/high-mage/wizards-grandeur.yaml +5 -0
  131. package/content/arts/mageslayer/absolute-negation.yaml +6 -0
  132. package/content/arts/mageslayer/antimage.yaml +8 -0
  133. package/content/arts/mageslayer/dispel-enchantment.yaml +6 -0
  134. package/content/arts/mageslayer/disrupt-sorcery.yaml +6 -0
  135. package/content/arts/mageslayer/immaculate-body.yaml +5 -0
  136. package/content/arts/mageslayer/immaculate-mind.yaml +5 -0
  137. package/content/arts/mageslayer/know-your-prey.yaml +7 -0
  138. package/content/arts/mageslayer/magebane.yaml +5 -0
  139. package/content/arts/mageslayer/share-the-pain.yaml +6 -0
  140. package/content/arts/mageslayer/spellshield.yaml +5 -0
  141. package/content/arts/mageslayer/ward-ally.yaml +6 -0
  142. package/content/arts/mageslayer/witchfinder.yaml +6 -0
  143. package/content/arts/necromancer/bonetalker.yaml +5 -0
  144. package/content/arts/necromancer/cold-flesh.yaml +6 -0
  145. package/content/arts/necromancer/consume-life-energy.yaml +4 -0
  146. package/content/arts/necromancer/false-death.yaml +5 -0
  147. package/content/arts/necromancer/gravesight.yaml +5 -0
  148. package/content/arts/necromancer/keeper-of-the-gate.yaml +5 -0
  149. package/content/arts/necromancer/life-bridge.yaml +5 -0
  150. package/content/arts/necromancer/master-of-bones.yaml +5 -0
  151. package/content/arts/necromancer/red-harvest.yaml +5 -0
  152. package/content/arts/necromancer/unaging.yaml +4 -0
  153. package/content/arts/necromancer/uncanny-ichor.yaml +4 -0
  154. package/content/arts/necromancer/unliving-persistence.yaml +5 -0
  155. package/content/arts/skinshifter/change-form.yaml +6 -0
  156. package/content/arts/skinshifter/eyes-of-the-hawk.yaml +4 -0
  157. package/content/arts/skinshifter/feline-leap.yaml +4 -0
  158. package/content/arts/skinshifter/feral-prowess.yaml +4 -0
  159. package/content/arts/skinshifter/intrinsic-armor.yaml +4 -0
  160. package/content/arts/skinshifter/manifest-wings.yaml +4 -0
  161. package/content/arts/skinshifter/monkeys-road.yaml +4 -0
  162. package/content/arts/skinshifter/octopus-embrace.yaml +4 -0
  163. package/content/arts/skinshifter/perfect-mimicry.yaml +4 -0
  164. package/content/arts/skinshifter/pliant-flesh.yaml +4 -0
  165. package/content/arts/skinshifter/savage-talons.yaml +4 -0
  166. package/content/arts/skinshifter/sculptors-beauty.yaml +4 -0
  167. package/content/arts/skinshifter/serpents-kiss.yaml +5 -0
  168. package/content/arts/skinshifter/warform.yaml +4 -0
  169. package/content/arts/skinshifter/wisdom-of-fin-and-scale.yaml +4 -0
  170. package/content/arts/thought-noble/block-memory.yaml +5 -0
  171. package/content/arts/thought-noble/elicitation-of-truth.yaml +8 -0
  172. package/content/arts/thought-noble/facile-speech.yaml +7 -0
  173. package/content/arts/thought-noble/far-speech.yaml +5 -0
  174. package/content/arts/thought-noble/hypercognition.yaml +5 -0
  175. package/content/arts/thought-noble/iconograph.yaml +5 -0
  176. package/content/arts/thought-noble/impress-imperative.yaml +5 -0
  177. package/content/arts/thought-noble/mind-light.yaml +4 -0
  178. package/content/arts/thought-noble/mind-over-matter.yaml +5 -0
  179. package/content/arts/thought-noble/mirror-mask.yaml +5 -0
  180. package/content/arts/thought-noble/open-mind.yaml +6 -0
  181. package/content/arts/thought-noble/positive-association.yaml +5 -0
  182. package/content/arts/thought-noble/read-intent.yaml +5 -0
  183. package/content/arts/thought-noble/surface-apprehension.yaml +5 -0
  184. package/content/arts/thought-noble/thoughts-like-razors.yaml +5 -0
  185. package/content/arts/thought-noble/unthinkable-thought.yaml +5 -0
  186. package/content/arts/vowed/brutal-counter.yaml +5 -0
  187. package/content/arts/vowed/faultless-awareness.yaml +4 -0
  188. package/content/arts/vowed/hurling-throw.yaml +5 -0
  189. package/content/arts/vowed/inward-eye.yaml +5 -0
  190. package/content/arts/vowed/leap-of-the-heavens.yaml +5 -0
  191. package/content/arts/vowed/martial-style.yaml +9 -0
  192. package/content/arts/vowed/masters-vigor.yaml +4 -0
  193. package/content/arts/vowed/mob-justice.yaml +5 -0
  194. package/content/arts/vowed/nimble-ascent.yaml +5 -0
  195. package/content/arts/vowed/purified-body.yaml +5 -0
  196. package/content/arts/vowed/revivifying-breath.yaml +5 -0
  197. package/content/arts/vowed/shattering-strike.yaml +5 -0
  198. package/content/arts/vowed/style-weaponry.yaml +4 -0
  199. package/content/arts/vowed/unarmed-might.yaml +10 -0
  200. package/content/arts/vowed/unarmored-defense.yaml +11 -0
  201. package/content/arts/vowed/unobtrusive-step.yaml +5 -0
  202. package/content/arts/wise/auspicious-undertaking.yaml +5 -0
  203. package/content/arts/wise/compel-truth.yaml +5 -0
  204. package/content/arts/wise/deliver-oracle.yaml +5 -0
  205. package/content/arts/wise/dread-awe.yaml +5 -0
  206. package/content/arts/wise/elite-ties.yaml +5 -0
  207. package/content/arts/wise/erudite.yaml +5 -0
  208. package/content/arts/wise/evil-eye.yaml +5 -0
  209. package/content/arts/wise/find-object.yaml +5 -0
  210. package/content/arts/wise/folk-friend.yaml +5 -0
  211. package/content/arts/wise/healer.yaml +7 -0
  212. package/content/arts/wise/holy-sanctity.yaml +5 -0
  213. package/content/arts/wise/ill-fate.yaml +5 -0
  214. package/content/arts/wise/luck-blessing.yaml +5 -0
  215. package/content/arts/wise/personal-impunity.yaml +5 -0
  216. package/content/arts/wise/read-omens.yaml +5 -0
  217. package/content/arts/wise/skilled.yaml +5 -0
  218. package/content/arts/wise/war-curse.yaml +5 -0
  219. package/content/backgrounds/artisan.yaml +18 -0
  220. package/content/backgrounds/barbarian.yaml +18 -0
  221. package/content/classes/adventurer.yaml +16 -0
  222. package/content/classes/expert.yaml +6 -0
  223. package/content/classes/mage.yaml +20 -0
  224. package/content/classes/warrior.yaml +8 -0
  225. package/content/foci/alert.yaml +10 -0
  226. package/content/foci/armored-magic.yaml +9 -0
  227. package/content/foci/armsmaster.yaml +20 -0
  228. package/content/foci/artisan.yaml +5 -0
  229. package/content/foci/assassin.yaml +5 -0
  230. package/content/foci/authority.yaml +5 -0
  231. package/content/foci/close-combatant.yaml +8 -0
  232. package/content/foci/connected.yaml +5 -0
  233. package/content/foci/cultured.yaml +5 -0
  234. package/content/foci/deadeye.yaml +11 -0
  235. package/content/foci/dealmaker.yaml +5 -0
  236. package/content/foci/developed-attribute.yaml +23 -0
  237. package/content/foci/die-hard.yaml +5 -0
  238. package/content/foci/diplomatic-grace.yaml +5 -0
  239. package/content/foci/gifted-chirurgeon.yaml +11 -0
  240. package/content/foci/henchkeeper.yaml +5 -0
  241. package/content/foci/impervious-defense.yaml +5 -0
  242. package/content/foci/impostor.yaml +5 -0
  243. package/content/foci/lucky.yaml +10 -0
  244. package/content/foci/nullifier.yaml +7 -0
  245. package/content/foci/poisoner.yaml +5 -0
  246. package/content/foci/polymath.yaml +10 -0
  247. package/content/foci/rider.yaml +5 -0
  248. package/content/foci/shocking-assault.yaml +9 -0
  249. package/content/foci/snipers-eye.yaml +5 -0
  250. package/content/foci/special-origin.yaml +5 -0
  251. package/content/foci/specialist.yaml +38 -0
  252. package/content/foci/spirit-familiar.yaml +5 -0
  253. package/content/foci/traditional-education.yaml +15 -0
  254. package/content/foci/trapmaster.yaml +5 -0
  255. package/content/foci/unarmed-combatant.yaml +16 -0
  256. package/content/foci/unique-gift.yaml +5 -0
  257. package/content/foci/valiant-defender.yaml +5 -0
  258. package/content/foci/well-met.yaml +3 -0
  259. package/content/foci/whirlwind-assault.yaml +5 -0
  260. package/content/foci/xenoblooded.yaml +22 -0
  261. package/content/gear/arrows.yaml +5 -0
  262. package/content/gear/artisans-equipment.yaml +6 -0
  263. package/content/gear/backpack.yaml +6 -0
  264. package/content/gear/battle-horse.yaml +5 -0
  265. package/content/gear/boots.yaml +6 -0
  266. package/content/gear/candle.yaml +5 -0
  267. package/content/gear/cart.yaml +4 -0
  268. package/content/gear/common-clothes.yaml +6 -0
  269. package/content/gear/cooking-utensils.yaml +5 -0
  270. package/content/gear/criminal-tools.yaml +6 -0
  271. package/content/gear/crowbar.yaml +5 -0
  272. package/content/gear/draft-horse.yaml +5 -0
  273. package/content/gear/dungeoneering-kit.yaml +6 -0
  274. package/content/gear/fine-clothes.yaml +6 -0
  275. package/content/gear/firewood.yaml +6 -0
  276. package/content/gear/flask.yaml +5 -0
  277. package/content/gear/grappling-hook.yaml +5 -0
  278. package/content/gear/healers-pouch.yaml +5 -0
  279. package/content/gear/hurlant-bolts.yaml +5 -0
  280. package/content/gear/iron-spikes.yaml +5 -0
  281. package/content/gear/lantern.yaml +5 -0
  282. package/content/gear/mirror.yaml +4 -0
  283. package/content/gear/mule.yaml +5 -0
  284. package/content/gear/noble-clothes.yaml +6 -0
  285. package/content/gear/noble-courtier-outfit.yaml +6 -0
  286. package/content/gear/oil.yaml +6 -0
  287. package/content/gear/paper.yaml +4 -0
  288. package/content/gear/performers-implements.yaml +6 -0
  289. package/content/gear/rations.yaml +5 -0
  290. package/content/gear/riding-horse.yaml +5 -0
  291. package/content/gear/rope.yaml +5 -0
  292. package/content/gear/sack.yaml +5 -0
  293. package/content/gear/shovel.yaml +5 -0
  294. package/content/gear/small-tool.yaml +5 -0
  295. package/content/gear/tinder-box.yaml +4 -0
  296. package/content/gear/torch.yaml +7 -0
  297. package/content/gear/waterskin.yaml +5 -0
  298. package/content/gear/wilderness-travel-gear.yaml +6 -0
  299. package/content/gear/working-dog.yaml +5 -0
  300. package/content/gear/writing-kit.yaml +5 -0
  301. package/content/partials/accursed.yaml +17 -0
  302. package/content/partials/bard.yaml +8 -0
  303. package/content/partials/beastmaster.yaml +8 -0
  304. package/content/partials/blood-priest.yaml +6 -0
  305. package/content/partials/duelist.yaml +9 -0
  306. package/content/partials/expert.yaml +6 -0
  307. package/content/partials/healer.yaml +8 -0
  308. package/content/partials/mage.yaml +33 -0
  309. package/content/partials/mageslayer.yaml +20 -0
  310. package/content/partials/skinshifter.yaml +8 -0
  311. package/content/partials/thought-noble.yaml +8 -0
  312. package/content/partials/vowed.yaml +40 -0
  313. package/content/partials/warrior.yaml +6 -0
  314. package/content/partials/wise.yaml +44 -0
  315. package/content/spells/elementalist/aqueous-harmony.yaml +5 -0
  316. package/content/spells/elementalist/boreal-wings.yaml +5 -0
  317. package/content/spells/elementalist/burrower-below.yaml +5 -0
  318. package/content/spells/elementalist/calcifying-scourge.yaml +5 -0
  319. package/content/spells/elementalist/elemental-favor.yaml +5 -0
  320. package/content/spells/elementalist/elemental-guardian.yaml +5 -0
  321. package/content/spells/elementalist/elemental-spy.yaml +5 -0
  322. package/content/spells/elementalist/elemental-vallation.yaml +5 -0
  323. package/content/spells/elementalist/flame-scrying.yaml +5 -0
  324. package/content/spells/elementalist/flame-without-end.yaml +5 -0
  325. package/content/spells/elementalist/fury-of-the-elements.yaml +5 -0
  326. package/content/spells/elementalist/like-the-stones.yaml +5 -0
  327. package/content/spells/elementalist/pact-of-stone-and-sea.yaml +5 -0
  328. package/content/spells/elementalist/tremors-of-the-depths.yaml +5 -0
  329. package/content/spells/elementalist/wind-walking.yaml +5 -0
  330. package/content/spells/high/abdication-of-temporal-presence.yaml +5 -0
  331. package/content/spells/high/adopt-the-simulacular-visage.yaml +5 -0
  332. package/content/spells/high/apprehending-the-arcane-form.yaml +5 -0
  333. package/content/spells/high/banishment-to-the-black-glass-labyrinth.yaml +5 -0
  334. package/content/spells/high/calculation-of-the-evoked-servitor.yaml +5 -0
  335. package/content/spells/high/calculation-of-the-phantasmal-eidolon.yaml +5 -0
  336. package/content/spells/high/casting-forth-the-inner-eye.yaml +5 -0
  337. package/content/spells/high/cognitive-supersession-of-the-inferior-orders.yaml +5 -0
  338. package/content/spells/high/conjunct-the-vital-viscera.yaml +5 -0
  339. package/content/spells/high/conjunction-of-the-inexorable-step.yaml +5 -0
  340. package/content/spells/high/contingent-excision-of-arcana.yaml +5 -0
  341. package/content/spells/high/coruscating-coffin.yaml +5 -0
  342. package/content/spells/high/damnation-of-the-sense.yaml +5 -0
  343. package/content/spells/high/dazzling-prismatic-hemicycle.yaml +5 -0
  344. package/content/spells/high/decree-of-ligneous-dissolution.yaml +5 -0
  345. package/content/spells/high/decree-of-lithic-dissolution.yaml +5 -0
  346. package/content/spells/high/deluge-of-hell.yaml +5 -0
  347. package/content/spells/high/disjunctive-temporal-reversion.yaml +5 -0
  348. package/content/spells/high/earth-as-clay.yaml +5 -0
  349. package/content/spells/high/evert-the-inwardness.yaml +5 -0
  350. package/content/spells/high/excellent-transpicuous-transformation.yaml +5 -0
  351. package/content/spells/high/exhalation-of-congelating-cold.yaml +5 -0
  352. package/content/spells/high/extirpate-arcana.yaml +5 -0
  353. package/content/spells/high/foresightful-apprehension.yaml +5 -0
  354. package/content/spells/high/glass-chimes-of-the-bamboo-terrace.yaml +5 -0
  355. package/content/spells/high/grinding-geas.yaml +5 -0
  356. package/content/spells/high/howl-of-light.yaml +5 -0
  357. package/content/spells/high/imperceptible-cerebral-divulgence.yaml +5 -0
  358. package/content/spells/high/ineluctable-shackles-of-volition.yaml +5 -0
  359. package/content/spells/high/inexorable-imputation.yaml +5 -0
  360. package/content/spells/high/invocation-of-the-invincible-citadel.yaml +5 -0
  361. package/content/spells/high/jade-palanquin-of-the-faceless-god.yaml +5 -0
  362. package/content/spells/high/long-amber-moment.yaml +5 -0
  363. package/content/spells/high/mantle-of-disjecting-dissection.yaml +5 -0
  364. package/content/spells/high/obnubilation-of-the-will.yaml +5 -0
  365. package/content/spells/high/ochre-sigil-of-juxtaposition.yaml +5 -0
  366. package/content/spells/high/open-the-high-road.yaml +5 -0
  367. package/content/spells/high/phantasmal-mimesis.yaml +5 -0
  368. package/content/spells/high/phobic-storm.yaml +5 -0
  369. package/content/spells/high/pierce-the-pallid-gate.yaml +5 -0
  370. package/content/spells/high/prudentially-transient-abnegation-of-life.yaml +5 -0
  371. package/content/spells/high/resounding-temporal-echo.yaml +5 -0
  372. package/content/spells/high/scorn-the-fetters-of-earth.yaml +5 -0
  373. package/content/spells/high/sigil-of-aeolian-auctoritas.yaml +5 -0
  374. package/content/spells/high/torment-of-tumefaction.yaml +5 -0
  375. package/content/spells/high/touch-of-elucidating-intangibility.yaml +5 -0
  376. package/content/spells/high/vallation-of-specified-exclusion.yaml +5 -0
  377. package/content/spells/high/velocitous-imbuement.yaml +5 -0
  378. package/content/spells/high/verdant-vallation.yaml +5 -0
  379. package/content/spells/high/visitation-of-the-clement-clime.yaml +5 -0
  380. package/content/spells/high/wardpact-invocation.yaml +5 -0
  381. package/content/spells/high/wind-of-the-final-repose.yaml +5 -0
  382. package/content/spells/necromancer/augment-mortal-vitality.yaml +5 -0
  383. package/content/spells/necromancer/boneshaper.yaml +5 -0
  384. package/content/spells/necromancer/call-of-the-tomb.yaml +5 -0
  385. package/content/spells/necromancer/command-the-dead.yaml +5 -0
  386. package/content/spells/necromancer/compel-flesh.yaml +5 -0
  387. package/content/spells/necromancer/enfeebling-wave.yaml +5 -0
  388. package/content/spells/necromancer/everlasting.yaml +5 -0
  389. package/content/spells/necromancer/festering-curse.yaml +5 -0
  390. package/content/spells/necromancer/final-death.yaml +5 -0
  391. package/content/spells/necromancer/forgetting-the-grave.yaml +5 -0
  392. package/content/spells/necromancer/merge-souls.yaml +5 -0
  393. package/content/spells/necromancer/query-the-skull.yaml +5 -0
  394. package/content/spells/necromancer/raise-corpse.yaml +5 -0
  395. package/content/spells/necromancer/raise-grave-knight.yaml +5 -0
  396. package/content/spells/necromancer/smite-the-dead.yaml +5 -0
  397. package/content/spells/necromancer/terrible-liveliness.yaml +5 -0
  398. package/content/weapons/blackjack.yaml +8 -0
  399. package/content/weapons/claw-blades.yaml +10 -0
  400. package/content/weapons/club.yaml +10 -0
  401. package/content/weapons/crossbow.yaml +10 -0
  402. package/content/weapons/dagger.yaml +12 -0
  403. package/content/weapons/great-club.yaml +11 -0
  404. package/content/weapons/great-hammer.yaml +11 -0
  405. package/content/weapons/great-hurlant.yaml +11 -0
  406. package/content/weapons/great-sword.yaml +11 -0
  407. package/content/weapons/halberd.yaml +11 -0
  408. package/content/weapons/hand-axe.yaml +12 -0
  409. package/content/weapons/hand-hurlant.yaml +10 -0
  410. package/content/weapons/heavy-spear.yaml +11 -0
  411. package/content/weapons/large-bow.yaml +11 -0
  412. package/content/weapons/large-shield-bash.yaml +11 -0
  413. package/content/weapons/light-spear.yaml +12 -0
  414. package/content/weapons/long-hurlant.yaml +11 -0
  415. package/content/weapons/long-sword.yaml +9 -0
  416. package/content/weapons/mace.yaml +10 -0
  417. package/content/weapons/pike.yaml +11 -0
  418. package/content/weapons/short-sword.yaml +9 -0
  419. package/content/weapons/small-bow.yaml +10 -0
  420. package/content/weapons/small-shield-bash.yaml +9 -0
  421. package/content/weapons/staff.yaml +10 -0
  422. package/content/weapons/stiletto.yaml +10 -0
  423. package/content/weapons/throwing-blade.yaml +11 -0
  424. package/content/weapons/unarmed.yaml +9 -0
  425. package/content/weapons/war-axe.yaml +11 -0
  426. package/content/weapons/war-hammer.yaml +9 -0
  427. package/dist/i18n/en.d.ts +3 -0
  428. package/dist/i18n/en.js +2 -0
  429. package/dist/i18n/en.json +1171 -0
  430. package/dist/index.d.ts +3 -0
  431. package/dist/index.js +2 -0
  432. package/dist/release.json +35216 -0
  433. package/i18n/en/content.yaml +474 -0
  434. package/i18n/en.yaml +696 -0
  435. package/pack.yaml +12 -0
  436. package/package.json +58 -3
  437. package/rules/advancement.yaml +188 -0
  438. package/rules/attributes.yaml +30 -0
  439. package/rules/backgrounds.yaml +59 -0
  440. package/rules/classes.yaml +76 -0
  441. package/rules/combat.yaml +241 -0
  442. package/rules/creation-steps.yaml +258 -0
  443. package/rules/creation.yaml +448 -0
  444. package/rules/display.yaml +597 -0
  445. package/rules/equipment.yaml +45 -0
  446. package/rules/foci.yaml +57 -0
  447. package/rules/health.yaml +176 -0
  448. package/rules/magic.yaml +484 -0
  449. package/rules/saves.yaml +62 -0
  450. package/rules/skills.yaml +93 -0
  451. package/rules/tags.yaml +86 -0
@@ -0,0 +1,597 @@
1
+ display:
2
+ groups:
3
+ - id: summary
4
+ priority: 0
5
+ visibility: primary
6
+ - id: attributes
7
+ priority: 0
8
+ - id: saves
9
+ priority: 0
10
+ members: { type: field, where: "'save' in item.tags" }
11
+ - id: combat
12
+ priority: 0
13
+ - id: condition
14
+ priority: 0
15
+ - id: skills
16
+ priority: 1
17
+ members: { type: field, where: "'skill' in item.tags" }
18
+ - id: magic
19
+ priority: 1
20
+ showWhen: class.mage > 0 || spells.mode != 'none' || effort.mageslayer.max > 0
21
+ || effort.bard.max > 0 || tradition.wise.tier > 0
22
+ - id: advancement
23
+ priority: 2
24
+ - id: record
25
+ priority: 2
26
+ - id: encumbrance
27
+ priority: 2
28
+ # Actions
29
+ - id: checks
30
+ kind: actions
31
+ priority: 0
32
+ members: { type: action, where: "'check' in item.tags || 'save' in item.tags" }
33
+ - id: attacks
34
+ kind: actions
35
+ priority: 0
36
+ members: { type: action, where: "'attack' in item.tags || 'combat' in item.tags" }
37
+ - id: magic-actions
38
+ kind: actions
39
+ priority: 1
40
+ members: { type: action, where: "'spell' in item.tags || 'art' in item.tags" }
41
+ - id: health-actions
42
+ kind: actions
43
+ priority: 1
44
+ members: { type: action, where: "'health' in item.tags || 'rest' in item.tags" }
45
+ - id: advancement-actions
46
+ kind: actions
47
+ priority: 2
48
+ members: { type: action, where: "'advancement' in item.tags" }
49
+ - id: creation
50
+ kind: actions
51
+ priority: 3
52
+ visibility: background
53
+ members: { type: action, where: "'creation' in item.tags" }
54
+ # Content
55
+ - id: class
56
+ kind: content
57
+ priority: 0
58
+ members: { type: class }
59
+ - id: partials
60
+ kind: content
61
+ priority: 0
62
+ showWhen: hasChoice('partial')
63
+ members: { type: partial }
64
+ - id: background
65
+ kind: content
66
+ priority: 0
67
+ members: { type: background }
68
+ - id: foci
69
+ kind: content
70
+ priority: 1
71
+ members: { type: focus }
72
+ - id: arts
73
+ kind: content
74
+ priority: 1
75
+ members: { type: art }
76
+ - id: spells
77
+ kind: content
78
+ priority: 1
79
+ showWhen: spells.mode != 'none'
80
+ members: { type: spell }
81
+ sectionBy: item.level
82
+ - id: weapons
83
+ kind: content
84
+ priority: 1
85
+ members: { type: weapon }
86
+ - id: armor
87
+ kind: content
88
+ priority: 1
89
+ members: { type: armor }
90
+ - id: gear
91
+ kind: content
92
+ priority: 2
93
+ members: { type: gear }
94
+
95
+ fields:
96
+ level: { groups: [summary], priority: 0, visibility: primary }
97
+ hp.current:
98
+ groups: [summary, condition]
99
+ priority: 1
100
+ visibility: primary
101
+ with: [{ field: hp.max, as: max }]
102
+ hp.max: { groups: [condition], priority: 2 }
103
+ hp.rolled: { groups: [condition], priority: 3, visibility: background }
104
+ ac.value: { groups: [summary, combat], priority: 2, visibility: primary }
105
+ attack.base: { groups: [combat], priority: 0, format: signed }
106
+ attack.punchBase: { hidden: true }
107
+ attack.favoredBase: { hidden: true }
108
+ hp.dieBonus: { hidden: true }
109
+ damage.killingBlow: { groups: [combat], priority: 3, showWhen: damage.killingBlow > 0 }
110
+ ac.innate: { hidden: true }
111
+ ac.base: { hidden: true }
112
+ ac.withShield: { hidden: true }
113
+ ac.cappedBonus: { hidden: true }
114
+ armor.wornAc: { hidden: true }
115
+ armor.wornEnc: { hidden: true }
116
+ armor.wornHeavy: { hidden: true }
117
+ armor.shield: { hidden: true }
118
+ armor.shieldAc: { hidden: true }
119
+ shock.bonus: { hidden: true }
120
+ shock.ignoresAc: { hidden: true }
121
+ shock.unarmedIgnoresAc: { hidden: true }
122
+ unarmed.die: { groups: [combat], priority: 4, format: dice }
123
+ unarmed.shock: { hidden: true }
124
+ unarmed.shockAc: { hidden: true }
125
+ duelist.favored: { hidden: true }
126
+ strain.current:
127
+ groups: [condition]
128
+ priority: 4
129
+ with: [{ field: strain.max, as: max }]
130
+ strain.max: { groups: [condition], priority: 5 }
131
+ conditions.frail: { groups: [condition], priority: 6, input: { widget: checkbox } }
132
+ conditions.mortallyWounded: { groups: [condition], priority: 7, input: { widget: checkbox } }
133
+ class.warrior: { hidden: true }
134
+ class.expert: { hidden: true }
135
+ class.mage: { hidden: true }
136
+ chassis.attackFull: { hidden: true }
137
+ chassis.attackWarrior: { hidden: true }
138
+ chassis.attackExpert: { hidden: true }
139
+ chassis.hitsWarrior: { hidden: true }
140
+ chassis.hitsExpert: { hidden: true }
141
+ chassis.fragile: { hidden: true }
142
+ foci.allowed: { groups: [advancement], priority: 3, visibility: background }
143
+ foci.taken: { hidden: true }
144
+ companion.hitDice: { groups: [record], priority: 5, showWhen: tradition.beastmaster.tier > 0 }
145
+ xp.current:
146
+ groups: [advancement]
147
+ priority: 0
148
+ with: [{ field: xp.nextLevel, as: max }]
149
+ xp.nextLevel: { groups: [advancement], priority: 1, showWhen: xp.nextLevel > 0 }
150
+ xp.pace: { groups: [advancement], priority: 2, visibility: background }
151
+ xp.levelUp: { hidden: true }
152
+ skillPoints.unspent: { groups: [advancement], priority: 4 }
153
+ skillPoints.expert: { groups: [advancement], priority: 5, showWhen: class.expert > 0 }
154
+ attributes.boosts: { groups: [advancement], priority: 6, visibility: background }
155
+ attributes.bestMod: { hidden: true }
156
+ skills.noncombatFloor: { hidden: true }
157
+ coins.gold: { groups: [record], priority: 0 }
158
+ coins.silver: { groups: [record], priority: 1 }
159
+ coins.copper: { groups: [record], priority: 2 }
160
+ enc.readied:
161
+ groups: [encumbrance]
162
+ priority: 0
163
+ with: [{ field: enc.readiedLimit, as: max }]
164
+ enc.stowed:
165
+ groups: [encumbrance]
166
+ priority: 1
167
+ with: [{ field: enc.stowedLimit, as: max }]
168
+ enc.readiedLimit: { groups: [encumbrance], priority: 2, visibility: background }
169
+ enc.stowedLimit: { groups: [encumbrance], priority: 3, visibility: background }
170
+ enc.over: { hidden: true }
171
+ move.feet: { groups: [combat], priority: 5, unit: ft }
172
+ spells.mode: { hidden: true }
173
+ spells.maxLevel: { groups: [magic], priority: 0, showWhen: spells.maxLevel > 0 }
174
+ spells.castsUsed:
175
+ groups: [magic]
176
+ priority: 1
177
+ showWhen: spells.castsPerDay > 0
178
+ with: [{ field: spells.castsPerDay, as: max }]
179
+ spells.castsPerDay:
180
+ { groups: [magic], priority: 10, visibility: background, showWhen: spells.castsPerDay > 0 }
181
+ spells.castsLeft: { hidden: true }
182
+ spells.pointsUsed:
183
+ groups: [magic]
184
+ priority: 1
185
+ showWhen: spells.points > 0
186
+ with: [{ field: spells.points, as: max }]
187
+ spells.points:
188
+ { groups: [magic], priority: 10, visibility: background, showWhen: spells.points > 0 }
189
+ spells.pointsLeft: { hidden: true }
190
+ spells.prepared:
191
+ groups: [magic]
192
+ priority: 2
193
+ showWhen: spells.preparedMax > 0
194
+ with: [{ field: spells.preparedMax, as: max }]
195
+ spells.preparedMax:
196
+ { groups: [magic], priority: 10, visibility: background, showWhen: spells.preparedMax > 0 }
197
+ spells.starting: { hidden: true }
198
+ invoker.education: { hidden: true }
199
+ vowed.skill: { hidden: true }
200
+ wise.skill: { hidden: true }
201
+ wise.path: { hidden: true }
202
+ magic.armoredLevel: { hidden: true }
203
+ magic.hindered: { groups: [magic], priority: 9, showWhen: magic.hindered }
204
+ duelist.hindered: { hidden: true }
205
+ arts.owed: { groups: [magic], priority: 8, showWhen: arts.owed > 0 }
206
+ attributes.str.score:
207
+ groups: [attributes]
208
+ with: [{ field: attributes.str.mod, as: modifier }]
209
+ attributes.str.mod: { format: signed }
210
+ attributes.str.modBonus: { hidden: true }
211
+ attributes.str.modCap: { hidden: true }
212
+ attributes.dex.score:
213
+ groups: [attributes]
214
+ with: [{ field: attributes.dex.mod, as: modifier }]
215
+ attributes.dex.mod: { format: signed }
216
+ attributes.dex.modBonus: { hidden: true }
217
+ attributes.dex.modCap: { hidden: true }
218
+ attributes.con.score:
219
+ groups: [attributes]
220
+ with: [{ field: attributes.con.mod, as: modifier }]
221
+ attributes.con.mod: { format: signed }
222
+ attributes.con.modBonus: { hidden: true }
223
+ attributes.con.modCap: { hidden: true }
224
+ attributes.int.score:
225
+ groups: [attributes]
226
+ with: [{ field: attributes.int.mod, as: modifier }]
227
+ attributes.int.mod: { format: signed }
228
+ attributes.int.modBonus: { hidden: true }
229
+ attributes.int.modCap: { hidden: true }
230
+ attributes.wis.score:
231
+ groups: [attributes]
232
+ with: [{ field: attributes.wis.mod, as: modifier }]
233
+ attributes.wis.mod: { format: signed }
234
+ attributes.wis.modBonus: { hidden: true }
235
+ attributes.wis.modCap: { hidden: true }
236
+ attributes.cha.score:
237
+ groups: [attributes]
238
+ with: [{ field: attributes.cha.mod, as: modifier }]
239
+ attributes.cha.mod: { format: signed }
240
+ attributes.cha.modBonus: { hidden: true }
241
+ attributes.cha.modCap: { hidden: true }
242
+ skills.administer:
243
+ rolls: [{ action: skill-check, params: { skill: skills.administer, attribute: int } }]
244
+ skillCredit.administer: { visibility: background, showWhen: skillCredit.administer > 0 }
245
+ skills.connect:
246
+ rolls: [{ action: skill-check, params: { skill: skills.connect, attribute: cha } }]
247
+ skillCredit.connect: { visibility: background, showWhen: skillCredit.connect > 0 }
248
+ skills.convince:
249
+ rolls: [{ action: skill-check, params: { skill: skills.convince, attribute: cha } }]
250
+ skillCredit.convince: { visibility: background, showWhen: skillCredit.convince > 0 }
251
+ skills.craft:
252
+ rolls: [{ action: skill-check, params: { skill: skills.craft, attribute: int } }]
253
+ skillCredit.craft: { visibility: background, showWhen: skillCredit.craft > 0 }
254
+ skills.exert:
255
+ rolls: [{ action: skill-check, params: { skill: skills.exert, attribute: str } }]
256
+ skillCredit.exert: { visibility: background, showWhen: skillCredit.exert > 0 }
257
+ skills.heal:
258
+ rolls: [{ action: skill-check, params: { skill: skills.heal, attribute: int } }]
259
+ skillCredit.heal: { visibility: background, showWhen: skillCredit.heal > 0 }
260
+ skills.know:
261
+ rolls: [{ action: skill-check, params: { skill: skills.know, attribute: int } }]
262
+ skillCredit.know: { visibility: background, showWhen: skillCredit.know > 0 }
263
+ skills.lead:
264
+ rolls: [{ action: skill-check, params: { skill: skills.lead, attribute: cha } }]
265
+ skillCredit.lead: { visibility: background, showWhen: skillCredit.lead > 0 }
266
+ skills.magic:
267
+ rolls: [{ action: skill-check, params: { skill: skills.magic, attribute: int } }]
268
+ skillCredit.magic: { visibility: background, showWhen: skillCredit.magic > 0 }
269
+ skills.notice:
270
+ rolls: [{ action: skill-check, params: { skill: skills.notice, attribute: wis } }]
271
+ skillCredit.notice: { visibility: background, showWhen: skillCredit.notice > 0 }
272
+ skills.perform:
273
+ rolls: [{ action: skill-check, params: { skill: skills.perform, attribute: cha } }]
274
+ skillCredit.perform: { visibility: background, showWhen: skillCredit.perform > 0 }
275
+ skills.pray:
276
+ rolls: [{ action: skill-check, params: { skill: skills.pray, attribute: wis } }]
277
+ skillCredit.pray: { visibility: background, showWhen: skillCredit.pray > 0 }
278
+ skills.punch:
279
+ rolls: [{ action: skill-check, params: { skill: skills.punch, attribute: str } }]
280
+ skillCredit.punch: { visibility: background, showWhen: skillCredit.punch > 0 }
281
+ skills.ride:
282
+ rolls: [{ action: skill-check, params: { skill: skills.ride, attribute: dex } }]
283
+ skillCredit.ride: { visibility: background, showWhen: skillCredit.ride > 0 }
284
+ skills.sail:
285
+ rolls: [{ action: skill-check, params: { skill: skills.sail, attribute: dex } }]
286
+ skillCredit.sail: { visibility: background, showWhen: skillCredit.sail > 0 }
287
+ skills.shoot:
288
+ rolls: [{ action: skill-check, params: { skill: skills.shoot, attribute: dex } }]
289
+ skillCredit.shoot: { visibility: background, showWhen: skillCredit.shoot > 0 }
290
+ skills.sneak:
291
+ rolls: [{ action: skill-check, params: { skill: skills.sneak, attribute: dex } }]
292
+ skillCredit.sneak: { visibility: background, showWhen: skillCredit.sneak > 0 }
293
+ skills.stab:
294
+ rolls: [{ action: skill-check, params: { skill: skills.stab, attribute: str } }]
295
+ skillCredit.stab: { visibility: background, showWhen: skillCredit.stab > 0 }
296
+ skills.survive:
297
+ rolls: [{ action: skill-check, params: { skill: skills.survive, attribute: wis } }]
298
+ skillCredit.survive: { visibility: background, showWhen: skillCredit.survive > 0 }
299
+ skills.trade:
300
+ rolls: [{ action: skill-check, params: { skill: skills.trade, attribute: cha } }]
301
+ skillCredit.trade: { visibility: background, showWhen: skillCredit.trade > 0 }
302
+ skills.work:
303
+ rolls: [{ action: skill-check, params: { skill: skills.work, attribute: int } }]
304
+ skillCredit.work: { visibility: background, showWhen: skillCredit.work > 0 }
305
+ saves.physical: { rolls: [{ action: saving-throw, params: { save: saves.physical } }] }
306
+ saves.evasion: { rolls: [{ action: saving-throw, params: { save: saves.evasion } }] }
307
+ saves.mental: { rolls: [{ action: saving-throw, params: { save: saves.mental } }] }
308
+ saves.luck: { rolls: [{ action: saving-throw, params: { save: saves.luck } }] }
309
+ tradition.highmage.tier: { hidden: true }
310
+ tradition.elementalist.tier: { hidden: true }
311
+ tradition.necromancer.tier: { hidden: true }
312
+ tradition.healer.tier: { hidden: true }
313
+ tradition.vowed.tier: { hidden: true }
314
+ tradition.accursed.tier: { hidden: true }
315
+ tradition.bard.tier: { hidden: true }
316
+ tradition.beastmaster.tier: { hidden: true }
317
+ tradition.bloodpriest.tier: { hidden: true }
318
+ tradition.duelist.tier: { hidden: true }
319
+ tradition.mageslayer.tier: { hidden: true }
320
+ tradition.skinshifter.tier: { hidden: true }
321
+ tradition.thoughtnoble.tier: { hidden: true }
322
+ tradition.invoker.tier: { hidden: true }
323
+ tradition.wise.tier: { hidden: true }
324
+ effort.highmage.free:
325
+ groups: [magic]
326
+ priority: 3
327
+ showWhen: effort.highmage.max > 0
328
+ with: [{ field: effort.highmage.max, as: max }]
329
+ effort.highmage.max:
330
+ { groups: [magic], priority: 7, visibility: background, showWhen: effort.highmage.max > 0 }
331
+ effort.highmage.scene:
332
+ { groups: [magic], priority: 4, visibility: background, showWhen: effort.highmage.max > 0 }
333
+ effort.highmage.day:
334
+ { groups: [magic], priority: 5, visibility: background, showWhen: effort.highmage.max > 0 }
335
+ effort.highmage.ongoing:
336
+ { groups: [magic], priority: 6, visibility: background, showWhen: effort.highmage.max > 0 }
337
+ effort.elementalist.free:
338
+ groups: [magic]
339
+ priority: 3
340
+ showWhen: effort.elementalist.max > 0
341
+ with: [{ field: effort.elementalist.max, as: max }]
342
+ effort.elementalist.max:
343
+ {
344
+ groups: [magic],
345
+ priority: 7,
346
+ visibility: background,
347
+ showWhen: effort.elementalist.max > 0,
348
+ }
349
+ effort.elementalist.scene:
350
+ {
351
+ groups: [magic],
352
+ priority: 4,
353
+ visibility: background,
354
+ showWhen: effort.elementalist.max > 0,
355
+ }
356
+ effort.elementalist.day:
357
+ {
358
+ groups: [magic],
359
+ priority: 5,
360
+ visibility: background,
361
+ showWhen: effort.elementalist.max > 0,
362
+ }
363
+ effort.elementalist.ongoing:
364
+ {
365
+ groups: [magic],
366
+ priority: 6,
367
+ visibility: background,
368
+ showWhen: effort.elementalist.max > 0,
369
+ }
370
+ effort.necromancer.free:
371
+ groups: [magic]
372
+ priority: 3
373
+ showWhen: effort.necromancer.max > 0
374
+ with: [{ field: effort.necromancer.max, as: max }]
375
+ effort.necromancer.max:
376
+ { groups: [magic], priority: 7, visibility: background, showWhen: effort.necromancer.max > 0 }
377
+ effort.necromancer.scene:
378
+ { groups: [magic], priority: 4, visibility: background, showWhen: effort.necromancer.max > 0 }
379
+ effort.necromancer.day:
380
+ { groups: [magic], priority: 5, visibility: background, showWhen: effort.necromancer.max > 0 }
381
+ effort.necromancer.ongoing:
382
+ { groups: [magic], priority: 6, visibility: background, showWhen: effort.necromancer.max > 0 }
383
+ effort.healer.free:
384
+ groups: [magic]
385
+ priority: 3
386
+ showWhen: effort.healer.max > 0
387
+ with: [{ field: effort.healer.max, as: max }]
388
+ effort.healer.max:
389
+ { groups: [magic], priority: 7, visibility: background, showWhen: effort.healer.max > 0 }
390
+ effort.healer.scene:
391
+ { groups: [magic], priority: 4, visibility: background, showWhen: effort.healer.max > 0 }
392
+ effort.healer.day:
393
+ { groups: [magic], priority: 5, visibility: background, showWhen: effort.healer.max > 0 }
394
+ effort.healer.ongoing:
395
+ { groups: [magic], priority: 6, visibility: background, showWhen: effort.healer.max > 0 }
396
+ effort.vowed.free:
397
+ groups: [magic]
398
+ priority: 3
399
+ showWhen: effort.vowed.max > 0
400
+ with: [{ field: effort.vowed.max, as: max }]
401
+ effort.vowed.max:
402
+ { groups: [magic], priority: 7, visibility: background, showWhen: effort.vowed.max > 0 }
403
+ effort.vowed.scene:
404
+ { groups: [magic], priority: 4, visibility: background, showWhen: effort.vowed.max > 0 }
405
+ effort.vowed.day:
406
+ { groups: [magic], priority: 5, visibility: background, showWhen: effort.vowed.max > 0 }
407
+ effort.vowed.ongoing:
408
+ { groups: [magic], priority: 6, visibility: background, showWhen: effort.vowed.max > 0 }
409
+ effort.accursed.free:
410
+ groups: [magic]
411
+ priority: 3
412
+ showWhen: effort.accursed.max > 0
413
+ with: [{ field: effort.accursed.max, as: max }]
414
+ effort.accursed.max:
415
+ { groups: [magic], priority: 7, visibility: background, showWhen: effort.accursed.max > 0 }
416
+ effort.accursed.scene:
417
+ { groups: [magic], priority: 4, visibility: background, showWhen: effort.accursed.max > 0 }
418
+ effort.accursed.day:
419
+ { groups: [magic], priority: 5, visibility: background, showWhen: effort.accursed.max > 0 }
420
+ effort.accursed.ongoing:
421
+ { groups: [magic], priority: 6, visibility: background, showWhen: effort.accursed.max > 0 }
422
+ effort.bard.free:
423
+ groups: [magic]
424
+ priority: 3
425
+ showWhen: effort.bard.max > 0
426
+ with: [{ field: effort.bard.max, as: max }]
427
+ effort.bard.max:
428
+ { groups: [magic], priority: 7, visibility: background, showWhen: effort.bard.max > 0 }
429
+ effort.bard.scene:
430
+ { groups: [magic], priority: 4, visibility: background, showWhen: effort.bard.max > 0 }
431
+ effort.bard.day:
432
+ { groups: [magic], priority: 5, visibility: background, showWhen: effort.bard.max > 0 }
433
+ effort.bard.ongoing:
434
+ { groups: [magic], priority: 6, visibility: background, showWhen: effort.bard.max > 0 }
435
+ effort.beastmaster.free:
436
+ groups: [magic]
437
+ priority: 3
438
+ showWhen: effort.beastmaster.max > 0
439
+ with: [{ field: effort.beastmaster.max, as: max }]
440
+ effort.beastmaster.max:
441
+ { groups: [magic], priority: 7, visibility: background, showWhen: effort.beastmaster.max > 0 }
442
+ effort.beastmaster.scene:
443
+ { groups: [magic], priority: 4, visibility: background, showWhen: effort.beastmaster.max > 0 }
444
+ effort.beastmaster.day:
445
+ { groups: [magic], priority: 5, visibility: background, showWhen: effort.beastmaster.max > 0 }
446
+ effort.beastmaster.ongoing:
447
+ { groups: [magic], priority: 6, visibility: background, showWhen: effort.beastmaster.max > 0 }
448
+ effort.bloodpriest.free:
449
+ groups: [magic]
450
+ priority: 3
451
+ showWhen: effort.bloodpriest.max > 0
452
+ with: [{ field: effort.bloodpriest.max, as: max }]
453
+ effort.bloodpriest.max:
454
+ { groups: [magic], priority: 7, visibility: background, showWhen: effort.bloodpriest.max > 0 }
455
+ effort.bloodpriest.scene:
456
+ { groups: [magic], priority: 4, visibility: background, showWhen: effort.bloodpriest.max > 0 }
457
+ effort.bloodpriest.day:
458
+ { groups: [magic], priority: 5, visibility: background, showWhen: effort.bloodpriest.max > 0 }
459
+ effort.bloodpriest.ongoing:
460
+ { groups: [magic], priority: 6, visibility: background, showWhen: effort.bloodpriest.max > 0 }
461
+ effort.duelist.free:
462
+ groups: [magic]
463
+ priority: 3
464
+ showWhen: effort.duelist.max > 0
465
+ with: [{ field: effort.duelist.max, as: max }]
466
+ effort.duelist.max:
467
+ { groups: [magic], priority: 7, visibility: background, showWhen: effort.duelist.max > 0 }
468
+ effort.duelist.scene:
469
+ { groups: [magic], priority: 4, visibility: background, showWhen: effort.duelist.max > 0 }
470
+ effort.duelist.day:
471
+ { groups: [magic], priority: 5, visibility: background, showWhen: effort.duelist.max > 0 }
472
+ effort.duelist.ongoing:
473
+ { groups: [magic], priority: 6, visibility: background, showWhen: effort.duelist.max > 0 }
474
+ effort.mageslayer.free:
475
+ groups: [magic]
476
+ priority: 3
477
+ showWhen: effort.mageslayer.max > 0
478
+ with: [{ field: effort.mageslayer.max, as: max }]
479
+ effort.mageslayer.max:
480
+ { groups: [magic], priority: 7, visibility: background, showWhen: effort.mageslayer.max > 0 }
481
+ effort.mageslayer.scene:
482
+ { groups: [magic], priority: 4, visibility: background, showWhen: effort.mageslayer.max > 0 }
483
+ effort.mageslayer.day:
484
+ { groups: [magic], priority: 5, visibility: background, showWhen: effort.mageslayer.max > 0 }
485
+ effort.mageslayer.ongoing:
486
+ { groups: [magic], priority: 6, visibility: background, showWhen: effort.mageslayer.max > 0 }
487
+ effort.skinshifter.free:
488
+ groups: [magic]
489
+ priority: 3
490
+ showWhen: effort.skinshifter.max > 0
491
+ with: [{ field: effort.skinshifter.max, as: max }]
492
+ effort.skinshifter.max:
493
+ { groups: [magic], priority: 7, visibility: background, showWhen: effort.skinshifter.max > 0 }
494
+ effort.skinshifter.scene:
495
+ { groups: [magic], priority: 4, visibility: background, showWhen: effort.skinshifter.max > 0 }
496
+ effort.skinshifter.day:
497
+ { groups: [magic], priority: 5, visibility: background, showWhen: effort.skinshifter.max > 0 }
498
+ effort.skinshifter.ongoing:
499
+ { groups: [magic], priority: 6, visibility: background, showWhen: effort.skinshifter.max > 0 }
500
+ effort.thoughtnoble.free:
501
+ groups: [magic]
502
+ priority: 3
503
+ showWhen: effort.thoughtnoble.max > 0
504
+ with: [{ field: effort.thoughtnoble.max, as: max }]
505
+ effort.thoughtnoble.max:
506
+ {
507
+ groups: [magic],
508
+ priority: 7,
509
+ visibility: background,
510
+ showWhen: effort.thoughtnoble.max > 0,
511
+ }
512
+ effort.thoughtnoble.scene:
513
+ {
514
+ groups: [magic],
515
+ priority: 4,
516
+ visibility: background,
517
+ showWhen: effort.thoughtnoble.max > 0,
518
+ }
519
+ effort.thoughtnoble.day:
520
+ {
521
+ groups: [magic],
522
+ priority: 5,
523
+ visibility: background,
524
+ showWhen: effort.thoughtnoble.max > 0,
525
+ }
526
+ effort.thoughtnoble.ongoing:
527
+ {
528
+ groups: [magic],
529
+ priority: 6,
530
+ visibility: background,
531
+ showWhen: effort.thoughtnoble.max > 0,
532
+ }
533
+ arts.highmage.allowed: { hidden: true }
534
+ arts.highmage.taken: { hidden: true }
535
+ arts.highmage.owed: { hidden: true }
536
+ arts.elementalist.allowed: { hidden: true }
537
+ arts.elementalist.taken: { hidden: true }
538
+ arts.elementalist.owed: { hidden: true }
539
+ arts.necromancer.allowed: { hidden: true }
540
+ arts.necromancer.taken: { hidden: true }
541
+ arts.necromancer.owed: { hidden: true }
542
+ arts.healer.allowed: { hidden: true }
543
+ arts.healer.taken: { hidden: true }
544
+ arts.healer.owed: { hidden: true }
545
+ arts.vowed.allowed: { hidden: true }
546
+ arts.vowed.taken: { hidden: true }
547
+ arts.vowed.owed: { hidden: true }
548
+ arts.accursed.allowed: { hidden: true }
549
+ arts.accursed.taken: { hidden: true }
550
+ arts.accursed.owed: { hidden: true }
551
+ arts.bard.allowed: { hidden: true }
552
+ arts.bard.taken: { hidden: true }
553
+ arts.bard.owed: { hidden: true }
554
+ arts.beastmaster.allowed: { hidden: true }
555
+ arts.beastmaster.taken: { hidden: true }
556
+ arts.beastmaster.owed: { hidden: true }
557
+ arts.bloodpriest.allowed: { hidden: true }
558
+ arts.bloodpriest.taken: { hidden: true }
559
+ arts.bloodpriest.owed: { hidden: true }
560
+ arts.duelist.allowed: { hidden: true }
561
+ arts.duelist.taken: { hidden: true }
562
+ arts.duelist.owed: { hidden: true }
563
+ arts.mageslayer.allowed: { hidden: true }
564
+ arts.mageslayer.taken: { hidden: true }
565
+ arts.mageslayer.owed: { hidden: true }
566
+ arts.skinshifter.allowed: { hidden: true }
567
+ arts.skinshifter.taken: { hidden: true }
568
+ arts.skinshifter.owed: { hidden: true }
569
+ arts.thoughtnoble.allowed: { hidden: true }
570
+ arts.thoughtnoble.taken: { hidden: true }
571
+ arts.thoughtnoble.owed: { hidden: true }
572
+ arts.wise.allowed: { hidden: true }
573
+ arts.wise.taken: { hidden: true }
574
+ arts.wise.owed: { hidden: true }
575
+
576
+ types:
577
+ class: { quantity: { hidden: true } }
578
+ partial: { quantity: { hidden: true } }
579
+ background:
580
+ quantity: { hidden: true }
581
+ focus:
582
+ quantity: { hidden: true }
583
+ state:
584
+ level: { priority: 0 }
585
+ art:
586
+ quantity: { hidden: true }
587
+ state:
588
+ active: { priority: 0, showWhen: "item.effort == 'ongoing'" }
589
+ spell:
590
+ quantity: { hidden: true }
591
+ state:
592
+ prepared: { priority: 0, input: { widget: checkbox } }
593
+ weapon:
594
+ fields:
595
+ damage: { format: dice }
596
+ rangeShort: { unit: ft }
597
+ rangeLong: { unit: ft }
@@ -0,0 +1,45 @@
1
+ fields:
2
+ coins.copper: { type: integer, input: true, default: 0, min: 0 }
3
+ coins.silver: { type: integer, input: true, default: 0, min: 0 }
4
+ coins.gold: { type: integer, input: true, default: 0, min: 0 }
5
+
6
+ # Encumbrance in items: Readied (equipped) and Stowed (carried, not equipped). Bundled goods
7
+ # count `bundle` to an item; clothing and the like count nothing while worn; every 100 coins
8
+ # is a Stowed item.
9
+ enc.readied:
10
+ type: integer
11
+ formula: >-
12
+ sumCopies(ceil(copy.quantity / copy.fields.bundle) * copy.fields.enc,
13
+ has(copy.fields.enc) && copy.equipped && !copy.fields.wornFree)
14
+ enc.stowed:
15
+ type: integer
16
+ formula: >-
17
+ sumCopies(ceil(copy.quantity / copy.fields.bundle) * copy.fields.enc,
18
+ has(copy.fields.enc) && !copy.equipped)
19
+ + floor((coins.copper + coins.silver + coins.gold) / 100)
20
+ enc.readiedLimit: { type: integer, formula: floor(attributes.str.score / 2) }
21
+ enc.stowedLimit: { type: integer, formula: attributes.str.score }
22
+ # Past the limits by up to 2 Readied or 4 Stowed items: 20 feet; by up to 4 or 8: 15 feet.
23
+ enc.over:
24
+ type: integer
25
+ formula: >-
26
+ max(enc.readied - enc.readiedLimit <= 0 ? 0 : enc.readied - enc.readiedLimit <= 2 ? 1
27
+ : enc.readied - enc.readiedLimit <= 4 ? 2 : 3,
28
+ enc.stowed - enc.stowedLimit <= 0 ? 0 : enc.stowed - enc.stowedLimit <= 4 ? 1
29
+ : enc.stowed - enc.stowedLimit <= 8 ? 2 : 3)
30
+ move.feet: { type: integer, formula: '[30, 20, 15, 0][enc.over]' }
31
+
32
+ contentTypes:
33
+ gear:
34
+ carried: true
35
+ equippable: true
36
+ fields:
37
+ cost: { type: integer, min: 0 }
38
+ costUnit: { type: enum, values: [cp, sp], default: sp }
39
+ enc: { type: integer, default: 0, min: 0 }
40
+ bundle: { type: integer, default: 1, min: 1 }
41
+ wornFree: { type: boolean, default: false }
42
+
43
+ constraints:
44
+ - id: encumbrance
45
+ check: enc.over < 3
@@ -0,0 +1,57 @@
1
+ contentTypes:
2
+ focus:
3
+ fields:
4
+ maxLevel: { type: integer, default: 2, min: 1 }
5
+ # The skill gained with the Focus's first level: a skill, `any` (any but Magic), `combat`
6
+ # (Stab, Shoot or Punch), `punch-stab`, `perform-sneak`, `specialist` (any but Magic and
7
+ # the combat skills) or `none`.
8
+ bonusSkill:
9
+ type: enum
10
+ values:
11
+ [
12
+ none,
13
+ any,
14
+ combat,
15
+ punch-stab,
16
+ perform-sneak,
17
+ specialist,
18
+ administer,
19
+ connect,
20
+ convince,
21
+ craft,
22
+ exert,
23
+ heal,
24
+ know,
25
+ lead,
26
+ magic,
27
+ notice,
28
+ perform,
29
+ pray,
30
+ punch,
31
+ ride,
32
+ sail,
33
+ shoot,
34
+ sneak,
35
+ stab,
36
+ survive,
37
+ trade,
38
+ work,
39
+ ]
40
+ default: none
41
+ # Taken more than once for different skills or attributes.
42
+ repeatable: { type: boolean, default: false }
43
+ # Who may take it: anyone, Mages, non-Mages, Experts, a hero with an attribute modifier of
44
+ # -1 or less, or Invokers.
45
+ requires:
46
+ {
47
+ type: enum,
48
+ values: [none, mage, non-mage, expert, low-attribute, invoker],
49
+ default: none,
50
+ }
51
+ state:
52
+ level: { type: integer, default: 1, min: 1, max: item.maxLevel }
53
+
54
+ constraints:
55
+ - id: focus-once
56
+ copies: { type: focus, where: '!item.repeatable' }
57
+ check: "countCopies(copy.type == 'focus' && copy.item == item.id) <= 1"