@opencharacter/orc-2e 0.1.0 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (314) hide show
  1. package/README.md +74 -16
  2. package/content/backgrounds/driver.yaml +3 -3
  3. package/content/backgrounds/farmhand.yaml +1 -1
  4. package/content/backgrounds/miner.yaml +1 -1
  5. package/content/backgrounds/nomad.yaml +1 -1
  6. package/content/backgrounds/raised-by-belief.yaml +16 -16
  7. package/content/backgrounds/scholar.yaml +4 -4
  8. package/content/classes/alchemist/fields/bomber.yaml +1 -1
  9. package/content/classes/alchemist/fields/chirurgeon.yaml +1 -1
  10. package/content/classes/alchemist/fields/mutagenist.yaml +1 -1
  11. package/content/classes/alchemist/fields/toxicologist.yaml +1 -1
  12. package/content/classes/alchemist.yaml +2 -34
  13. package/content/classes/barbarian/animals/ape.yaml +1 -1
  14. package/content/classes/barbarian/animals/bear.yaml +1 -1
  15. package/content/classes/barbarian/animals/bull.yaml +1 -1
  16. package/content/classes/barbarian/animals/cat.yaml +1 -1
  17. package/content/classes/barbarian/animals/deer.yaml +1 -1
  18. package/content/classes/barbarian/animals/frog.yaml +1 -1
  19. package/content/classes/barbarian/animals/shark.yaml +1 -1
  20. package/content/classes/barbarian/animals/snake.yaml +1 -1
  21. package/content/classes/barbarian/animals/wolf.yaml +1 -1
  22. package/content/classes/barbarian/instincts/animal.yaml +2 -14
  23. package/content/classes/barbarian/instincts/dragon.yaml +1 -2
  24. package/content/classes/barbarian/instincts/fury.yaml +1 -1
  25. package/content/classes/barbarian/instincts/giant.yaml +1 -1
  26. package/content/classes/barbarian/instincts/spirit.yaml +1 -2
  27. package/content/classes/barbarian/instincts/superstition.yaml +1 -1
  28. package/content/classes/barbarian/raging.yaml +3 -1
  29. package/content/classes/barbarian.yaml +2 -36
  30. package/content/classes/bard/muses/enigma.yaml +1 -1
  31. package/content/classes/bard/muses/maestro.yaml +1 -1
  32. package/content/classes/bard/muses/polymath.yaml +1 -1
  33. package/content/classes/bard/muses/warrior.yaml +1 -1
  34. package/content/classes/bard.yaml +2 -34
  35. package/content/classes/champion/causes/desecration.yaml +1 -1
  36. package/content/classes/champion/causes/grandeur.yaml +1 -1
  37. package/content/classes/champion/causes/iniquity.yaml +1 -1
  38. package/content/classes/champion/causes/justice.yaml +1 -1
  39. package/content/classes/champion/causes/liberation.yaml +1 -1
  40. package/content/classes/champion/causes/obedience.yaml +1 -1
  41. package/content/classes/champion/causes/redemption.yaml +1 -1
  42. package/content/classes/champion/resistance.yaml +2 -0
  43. package/content/classes/champion.yaml +2 -37
  44. package/content/classes/cleric/doctrines/cloistered-cleric.yaml +1 -1
  45. package/content/classes/cleric/doctrines/warpriest.yaml +1 -1
  46. package/content/classes/cleric.yaml +2 -28
  47. package/content/classes/druid/orders/animal.yaml +1 -1
  48. package/content/classes/druid/orders/leaf.yaml +1 -1
  49. package/content/classes/druid/orders/storm.yaml +1 -1
  50. package/content/classes/druid/orders/untamed.yaml +1 -1
  51. package/content/classes/druid.yaml +2 -34
  52. package/content/classes/fighter.yaml +1 -26
  53. package/content/classes/investigator.yaml +1 -26
  54. package/content/classes/monk.yaml +1 -26
  55. package/content/classes/oracle/mysteries/ancestors.yaml +3 -1
  56. package/content/classes/oracle/mysteries/battle.yaml +5 -1
  57. package/content/classes/oracle/mysteries/bones.yaml +3 -1
  58. package/content/classes/oracle/mysteries/cosmos.yaml +3 -1
  59. package/content/classes/oracle/mysteries/flames.yaml +3 -1
  60. package/content/classes/oracle/mysteries/life.yaml +4 -1
  61. package/content/classes/oracle/mysteries/lore.yaml +5 -1
  62. package/content/classes/oracle/mysteries/tempest.yaml +3 -1
  63. package/content/classes/oracle.yaml +2 -38
  64. package/content/classes/ranger/edges/flurry.yaml +1 -1
  65. package/content/classes/ranger/edges/outwit.yaml +1 -1
  66. package/content/classes/ranger/edges/precision.yaml +1 -1
  67. package/content/classes/ranger.yaml +2 -29
  68. package/content/classes/rogue/rackets/mastermind.yaml +1 -1
  69. package/content/classes/rogue/rackets/ruffian.yaml +1 -1
  70. package/content/classes/rogue/rackets/scoundrel.yaml +1 -1
  71. package/content/classes/rogue/rackets/thief.yaml +1 -1
  72. package/content/classes/rogue.yaml +2 -34
  73. package/content/classes/sorcerer/bloodlines/aberrant.yaml +1 -1
  74. package/content/classes/sorcerer/bloodlines/angelic.yaml +1 -1
  75. package/content/classes/sorcerer/bloodlines/demonic.yaml +1 -1
  76. package/content/classes/sorcerer/bloodlines/diabolic.yaml +1 -1
  77. package/content/classes/sorcerer/bloodlines/draconic.yaml +1 -1
  78. package/content/classes/sorcerer/bloodlines/elemental.yaml +1 -1
  79. package/content/classes/sorcerer/bloodlines/fey.yaml +1 -1
  80. package/content/classes/sorcerer/bloodlines/hag.yaml +1 -1
  81. package/content/classes/sorcerer/bloodlines/imperial.yaml +1 -1
  82. package/content/classes/sorcerer/bloodlines/undead.yaml +1 -1
  83. package/content/classes/sorcerer.yaml +2 -40
  84. package/content/classes/swashbuckler.yaml +1 -26
  85. package/content/classes/witch/patrons/faiths-flamekeeper.yaml +1 -1
  86. package/content/classes/witch/patrons/inscribed-one.yaml +1 -1
  87. package/content/classes/witch/patrons/resentment.yaml +1 -1
  88. package/content/classes/witch/patrons/silence-in-snow.yaml +1 -1
  89. package/content/classes/witch/patrons/spinner-of-threads.yaml +1 -1
  90. package/content/classes/witch/patrons/starless-shadow.yaml +1 -1
  91. package/content/classes/witch/patrons/wilding-steward.yaml +1 -1
  92. package/content/classes/witch.yaml +2 -37
  93. package/content/classes/wizard/schools/ars-grammatica.yaml +1 -1
  94. package/content/classes/wizard/schools/battle-magic.yaml +1 -1
  95. package/content/classes/wizard/schools/boundary.yaml +1 -1
  96. package/content/classes/wizard/schools/civic-wizardry.yaml +1 -1
  97. package/content/classes/wizard/schools/mentalism.yaml +1 -1
  98. package/content/classes/wizard/schools/protean-form.yaml +1 -1
  99. package/content/classes/wizard/schools/unified-magical-theory.yaml +1 -1
  100. package/content/classes/wizard/theses/experimental-spellshaping.yaml +1 -1
  101. package/content/classes/wizard/theses/improved-familiar-attunement.yaml +1 -1
  102. package/content/classes/wizard/theses/spell-blending.yaml +1 -1
  103. package/content/classes/wizard/theses/spell-substitution.yaml +1 -1
  104. package/content/classes/wizard/theses/staff-nexus.yaml +1 -1
  105. package/content/classes/wizard.yaml +3 -52
  106. package/content/domains/advanced/air.yaml +7 -0
  107. package/content/domains/advanced/ambition.yaml +7 -0
  108. package/content/domains/advanced/cities.yaml +7 -0
  109. package/content/domains/advanced/confidence.yaml +7 -0
  110. package/content/domains/advanced/creation.yaml +7 -0
  111. package/content/domains/advanced/darkness.yaml +7 -0
  112. package/content/domains/advanced/death.yaml +7 -0
  113. package/content/domains/advanced/destruction.yaml +7 -0
  114. package/content/domains/advanced/dreams.yaml +7 -0
  115. package/content/domains/advanced/earth.yaml +7 -0
  116. package/content/domains/advanced/family.yaml +7 -0
  117. package/content/domains/advanced/fate.yaml +7 -0
  118. package/content/domains/advanced/fire.yaml +7 -0
  119. package/content/domains/advanced/freedom.yaml +7 -0
  120. package/content/domains/advanced/healing.yaml +7 -0
  121. package/content/domains/advanced/indulgence.yaml +7 -0
  122. package/content/domains/advanced/knowledge.yaml +7 -0
  123. package/content/domains/advanced/luck.yaml +7 -0
  124. package/content/domains/advanced/magic.yaml +7 -0
  125. package/content/domains/advanced/might.yaml +7 -0
  126. package/content/domains/advanced/moon.yaml +7 -0
  127. package/content/domains/advanced/nature.yaml +7 -0
  128. package/content/domains/advanced/nightmares.yaml +7 -0
  129. package/content/domains/advanced/pain.yaml +7 -0
  130. package/content/domains/advanced/passion.yaml +7 -0
  131. package/content/domains/advanced/perfection.yaml +7 -0
  132. package/content/domains/advanced/protection.yaml +7 -0
  133. package/content/domains/advanced/secrecy.yaml +7 -0
  134. package/content/domains/advanced/sun.yaml +7 -0
  135. package/content/domains/advanced/travel.yaml +7 -0
  136. package/content/domains/advanced/trickery.yaml +7 -0
  137. package/content/domains/advanced/truth.yaml +7 -0
  138. package/content/domains/advanced/tyranny.yaml +7 -0
  139. package/content/domains/advanced/undeath.yaml +7 -0
  140. package/content/domains/advanced/water.yaml +7 -0
  141. package/content/domains/advanced/wealth.yaml +7 -0
  142. package/content/domains/advanced/zeal.yaml +7 -0
  143. package/content/domains/air.yaml +6 -0
  144. package/content/domains/ambition.yaml +6 -0
  145. package/content/domains/cities.yaml +6 -0
  146. package/content/domains/confidence.yaml +6 -0
  147. package/content/domains/creation.yaml +6 -0
  148. package/content/domains/darkness.yaml +6 -0
  149. package/content/domains/death.yaml +6 -0
  150. package/content/domains/destruction.yaml +6 -0
  151. package/content/domains/dreams.yaml +6 -0
  152. package/content/domains/earth.yaml +6 -0
  153. package/content/domains/family.yaml +6 -0
  154. package/content/domains/fate.yaml +6 -0
  155. package/content/domains/fire.yaml +6 -0
  156. package/content/domains/freedom.yaml +6 -0
  157. package/content/domains/healing.yaml +6 -0
  158. package/content/domains/indulgence.yaml +6 -0
  159. package/content/domains/knowledge.yaml +6 -0
  160. package/content/domains/luck.yaml +6 -0
  161. package/content/domains/magic.yaml +6 -0
  162. package/content/domains/might.yaml +6 -0
  163. package/content/domains/moon.yaml +6 -0
  164. package/content/domains/nature.yaml +6 -0
  165. package/content/domains/nightmares.yaml +6 -0
  166. package/content/domains/pain.yaml +6 -0
  167. package/content/domains/passion.yaml +6 -0
  168. package/content/domains/perfection.yaml +6 -0
  169. package/content/domains/protection.yaml +6 -0
  170. package/content/domains/secrecy.yaml +6 -0
  171. package/content/domains/sun.yaml +6 -0
  172. package/content/domains/travel.yaml +6 -0
  173. package/content/domains/trickery.yaml +6 -0
  174. package/content/domains/truth.yaml +6 -0
  175. package/content/domains/tyranny.yaml +6 -0
  176. package/content/domains/undeath.yaml +6 -0
  177. package/content/domains/water.yaml +6 -0
  178. package/content/domains/wealth.yaml +6 -0
  179. package/content/domains/zeal.yaml +6 -0
  180. package/content/effects/treated-disease.yaml +4 -0
  181. package/content/effects/treated-poison.yaml +4 -0
  182. package/content/feats/ancestry/changeling-lore.yaml +3 -1
  183. package/content/feats/ancestry/gnome-obsession.yaml +1 -39
  184. package/content/feats/ancestry/tengu-feather-fan.yaml +3 -3
  185. package/content/feats/archetype/barbarian/barbarian-dedication.yaml +0 -2
  186. package/content/feats/archetype/champion/champions-reaction.yaml +1 -11
  187. package/content/feats/archetype/gladiator/gladiator-dedication.yaml +1 -1
  188. package/content/feats/archetype/investigator/skill-mastery.yaml +2 -58
  189. package/content/feats/archetype/rogue/skill-mastery.yaml +2 -58
  190. package/content/feats/archetype/scout/terrain-scout.yaml +6 -0
  191. package/content/feats/archetype/viking/viking-dedication.yaml +3 -1
  192. package/content/feats/champion/deitys-domain.yaml +1 -22
  193. package/content/feats/cleric/advanced-domain.yaml +1 -187
  194. package/content/feats/cleric/domain-initiate.yaml +1 -199
  195. package/content/feats/oracle/domain-acumen.yaml +4 -138
  196. package/content/feats/skill/additional-lore.yaml +12 -0
  197. package/content/feats/skill/assurance.yaml +8 -30
  198. package/content/feats/skill/skill-training.yaml +1 -55
  199. package/content/feats/skill/terrain-stalker.yaml +1 -0
  200. package/content/feats/sorcerer/arcane-evolution.yaml +1 -26
  201. package/content/feats/sorcerer/occult-evolution.yaml +1 -26
  202. package/content/features/wizard/arcane-bond.yaml +8 -4
  203. package/content/gear/compass-lensatic.yaml +1 -0
  204. package/content/gear/compass.yaml +1 -0
  205. package/content/gear/crowbar-levered.yaml +1 -0
  206. package/content/gear/crowbar.yaml +1 -0
  207. package/content/heritages/deep-orc.yaml +3 -1
  208. package/content/heritages/woodstalker-lizardfolk.yaml +3 -1
  209. package/content/shields/specific/reflecting-shield.yaml +1 -1
  210. package/content/shields/specific/spellguard-shield.yaml +1 -0
  211. package/content/spells/agile-feet.yaml +1 -0
  212. package/content/spells/appearance-of-wealth.yaml +1 -0
  213. package/content/spells/athletic-rush.yaml +1 -0
  214. package/content/spells/bit-of-luck.yaml +1 -0
  215. package/content/spells/charming-touch.yaml +1 -0
  216. package/content/spells/cloak-of-shadow.yaml +1 -0
  217. package/content/spells/creative-splash.yaml +1 -0
  218. package/content/spells/cry-of-destruction.yaml +1 -0
  219. package/content/spells/dazzling-flash.yaml +1 -0
  220. package/content/spells/deaths-call.yaml +1 -0
  221. package/content/spells/enduring-might.yaml +2 -0
  222. package/content/spells/energy-absorption.yaml +2 -0
  223. package/content/spells/face-in-the-crowd.yaml +1 -0
  224. package/content/spells/fire-ray.yaml +1 -0
  225. package/content/spells/fire-shield.yaml +31 -0
  226. package/content/spells/flame-barrier.yaml +2 -0
  227. package/content/spells/guidance.yaml +2 -0
  228. package/content/spells/healers-blessing.yaml +1 -0
  229. package/content/spells/hurtling-stone.yaml +1 -0
  230. package/content/spells/ignite-ambition.yaml +1 -0
  231. package/content/spells/magics-vessel.yaml +1 -0
  232. package/content/spells/moonbeam.yaml +1 -0
  233. package/content/spells/overstuff.yaml +1 -0
  234. package/content/spells/perfected-mind.yaml +1 -0
  235. package/content/spells/protectors-sacrifice.yaml +1 -0
  236. package/content/spells/pushing-gust.yaml +1 -0
  237. package/content/spells/read-fate.yaml +1 -0
  238. package/content/spells/savor-the-sting.yaml +1 -0
  239. package/content/spells/scholarly-recollection.yaml +1 -0
  240. package/content/spells/shield.yaml +2 -0
  241. package/content/spells/soothing-words.yaml +1 -0
  242. package/content/spells/sudden-shift.yaml +1 -0
  243. package/content/spells/sure-strike.yaml +2 -0
  244. package/content/spells/sweet-dream.yaml +1 -0
  245. package/content/spells/tidal-surge.yaml +1 -0
  246. package/content/spells/touch-of-obedience.yaml +1 -0
  247. package/content/spells/touch-of-undeath.yaml +1 -0
  248. package/content/spells/true-target.yaml +2 -0
  249. package/content/spells/unimpeded-stride.yaml +1 -0
  250. package/content/spells/veil-of-confidence.yaml +1 -0
  251. package/content/spells/vibrant-thorns.yaml +1 -0
  252. package/content/spells/waking-nightmare.yaml +1 -0
  253. package/content/spells/weapon-surge.yaml +3 -0
  254. package/content/spells/whispering-quiet.yaml +1 -0
  255. package/content/spells/word-of-truth.yaml +1 -0
  256. package/dist/i18n/en.js +1 -1
  257. package/dist/i18n/en.json +210 -209
  258. package/dist/index.js +1 -1
  259. package/dist/release.json +8629 -4618
  260. package/i18n/en/ancestry-dragonblood.yaml +2 -2
  261. package/i18n/en/archetypes.yaml +10 -6
  262. package/i18n/en/backgrounds.yaml +6 -3
  263. package/i18n/en/battle-forms.yaml +0 -1
  264. package/i18n/en/champion.yaml +1 -1
  265. package/i18n/en/cleric.yaml +151 -149
  266. package/i18n/en/equipment.yaml +4 -1
  267. package/i18n/en/lores-pc2.yaml +6 -0
  268. package/i18n/en/oracle.yaml +0 -38
  269. package/i18n/en/rogue.yaml +3 -3
  270. package/i18n/en/spellcasting.yaml +3 -2
  271. package/i18n/en/spells-high.yaml +1 -0
  272. package/i18n/en/type-fields.yaml +2 -0
  273. package/i18n/en/wizard.yaml +2 -2
  274. package/i18n/en.yaml +19 -1
  275. package/pack.yaml +2 -2
  276. package/package.json +2 -2
  277. package/rules/advancement.yaml +1 -0
  278. package/rules/afflictions.yaml +2 -0
  279. package/rules/alchemist.yaml +14 -3
  280. package/rules/ancestry-feats.yaml +55 -13
  281. package/rules/archetypes.yaml +1 -0
  282. package/rules/barbarian.yaml +8 -21
  283. package/rules/bard.yaml +10 -4
  284. package/rules/building.yaml +7 -1
  285. package/rules/champion.yaml +3 -2
  286. package/rules/checks.yaml +1 -1
  287. package/rules/cleric.yaml +13 -3
  288. package/rules/conditions.yaml +1 -0
  289. package/rules/core.yaml +1 -0
  290. package/rules/creation.yaml +18 -0
  291. package/rules/druid.yaml +3 -2
  292. package/rules/equipment.yaml +7 -1
  293. package/rules/heritages.yaml +1 -1
  294. package/rules/investigator.yaml +3 -11
  295. package/rules/layout.yaml +19 -6
  296. package/rules/lores-pc2.yaml +221 -36
  297. package/rules/lores.yaml +226 -50
  298. package/rules/monk.yaml +2 -5
  299. package/rules/oracle.yaml +5 -3
  300. package/rules/ranger.yaml +3 -3
  301. package/rules/rogue.yaml +6 -1
  302. package/rules/skill-actions-athletics.yaml +1 -2
  303. package/rules/skill-actions-stealth.yaml +1 -2
  304. package/rules/skills.yaml +173 -56
  305. package/rules/sorcerer.yaml +16 -4
  306. package/rules/spellcasting.yaml +105 -28
  307. package/rules/spells-high.yaml +3 -3
  308. package/rules/strikes.yaml +3 -1
  309. package/rules/swashbuckler.yaml +4 -17
  310. package/rules/tags.yaml +6 -0
  311. package/rules/witch.yaml +2 -1
  312. package/rules/wizard.yaml +6 -4
  313. package/upgrades/0.1.0-to-0.2.0.yaml +11 -0
  314. package/upgrades/0.2.0-to-0.3.0.yaml +657 -0
@@ -8,202 +8,4 @@ choices:
8
8
  - id: domain
9
9
  unique: initial-domains
10
10
  requiresOption: true
11
- from:
12
- options:
13
- - id: air
14
- effects:
15
- - { target: cleric.domainSpells, op: grant, value: { item: spells.pushing-gust } }
16
- grants:
17
- - item: spells.pushing-gust
18
- - id: ambition
19
- effects:
20
- - { target: cleric.domainSpells, op: grant, value: { item: spells.ignite-ambition } }
21
- grants:
22
- - item: spells.ignite-ambition
23
- - id: cities
24
- effects:
25
- - { target: cleric.domainSpells, op: grant, value: { item: spells.face-in-the-crowd } }
26
- grants:
27
- - item: spells.face-in-the-crowd
28
- - id: confidence
29
- effects:
30
- - { target: cleric.domainSpells, op: grant, value: { item: spells.veil-of-confidence } }
31
- grants:
32
- - item: spells.veil-of-confidence
33
- - id: creation
34
- effects:
35
- - { target: cleric.domainSpells, op: grant, value: { item: spells.creative-splash } }
36
- grants:
37
- - item: spells.creative-splash
38
- - id: darkness
39
- effects:
40
- - { target: cleric.domainSpells, op: grant, value: { item: spells.cloak-of-shadow } }
41
- grants:
42
- - item: spells.cloak-of-shadow
43
- - id: death
44
- effects:
45
- - { target: cleric.domainSpells, op: grant, value: { item: spells.deaths-call } }
46
- grants:
47
- - item: spells.deaths-call
48
- - id: destruction
49
- effects:
50
- - { target: cleric.domainSpells, op: grant, value: { item: spells.cry-of-destruction } }
51
- grants:
52
- - item: spells.cry-of-destruction
53
- - id: dreams
54
- effects:
55
- - { target: cleric.domainSpells, op: grant, value: { item: spells.sweet-dream } }
56
- grants:
57
- - item: spells.sweet-dream
58
- - id: earth
59
- effects:
60
- - { target: cleric.domainSpells, op: grant, value: { item: spells.hurtling-stone } }
61
- grants:
62
- - item: spells.hurtling-stone
63
- - id: family
64
- effects:
65
- - { target: cleric.domainSpells, op: grant, value: { item: spells.soothing-words } }
66
- grants:
67
- - item: spells.soothing-words
68
- - id: fate
69
- effects:
70
- - { target: cleric.domainSpells, op: grant, value: { item: spells.read-fate } }
71
- grants:
72
- - item: spells.read-fate
73
- - id: fire
74
- effects:
75
- - { target: cleric.domainSpells, op: grant, value: { item: spells.fire-ray } }
76
- grants:
77
- - item: spells.fire-ray
78
- - id: freedom
79
- effects:
80
- - { target: cleric.domainSpells, op: grant, value: { item: spells.unimpeded-stride } }
81
- grants:
82
- - item: spells.unimpeded-stride
83
- - id: healing
84
- effects:
85
- - { target: cleric.domainSpells, op: grant, value: { item: spells.healers-blessing } }
86
- grants:
87
- - item: spells.healers-blessing
88
- - id: indulgence
89
- effects:
90
- - { target: cleric.domainSpells, op: grant, value: { item: spells.overstuff } }
91
- grants:
92
- - item: spells.overstuff
93
- - id: knowledge
94
- effects:
95
- - {
96
- target: cleric.domainSpells,
97
- op: grant,
98
- value: { item: spells.scholarly-recollection },
99
- }
100
- grants:
101
- - item: spells.scholarly-recollection
102
- - id: luck
103
- effects:
104
- - { target: cleric.domainSpells, op: grant, value: { item: spells.bit-of-luck } }
105
- grants:
106
- - item: spells.bit-of-luck
107
- - id: magic
108
- effects:
109
- - { target: cleric.domainSpells, op: grant, value: { item: spells.magics-vessel } }
110
- grants:
111
- - item: spells.magics-vessel
112
- - id: might
113
- effects:
114
- - { target: cleric.domainSpells, op: grant, value: { item: spells.athletic-rush } }
115
- grants:
116
- - item: spells.athletic-rush
117
- - id: moon
118
- effects:
119
- - { target: cleric.domainSpells, op: grant, value: { item: spells.moonbeam } }
120
- grants:
121
- - item: spells.moonbeam
122
- - id: nature
123
- effects:
124
- - { target: cleric.domainSpells, op: grant, value: { item: spells.vibrant-thorns } }
125
- grants:
126
- - item: spells.vibrant-thorns
127
- - id: nightmares
128
- effects:
129
- - { target: cleric.domainSpells, op: grant, value: { item: spells.waking-nightmare } }
130
- grants:
131
- - item: spells.waking-nightmare
132
- - id: pain
133
- effects:
134
- - { target: cleric.domainSpells, op: grant, value: { item: spells.savor-the-sting } }
135
- grants:
136
- - item: spells.savor-the-sting
137
- - id: passion
138
- effects:
139
- - { target: cleric.domainSpells, op: grant, value: { item: spells.charming-touch } }
140
- grants:
141
- - item: spells.charming-touch
142
- - id: perfection
143
- effects:
144
- - { target: cleric.domainSpells, op: grant, value: { item: spells.perfected-mind } }
145
- grants:
146
- - item: spells.perfected-mind
147
- - id: protection
148
- effects:
149
- - {
150
- target: cleric.domainSpells,
151
- op: grant,
152
- value: { item: spells.protectors-sacrifice },
153
- }
154
- grants:
155
- - item: spells.protectors-sacrifice
156
- - id: secrecy
157
- effects:
158
- - { target: cleric.domainSpells, op: grant, value: { item: spells.whispering-quiet } }
159
- grants:
160
- - item: spells.whispering-quiet
161
- - id: sun
162
- effects:
163
- - { target: cleric.domainSpells, op: grant, value: { item: spells.dazzling-flash } }
164
- grants:
165
- - item: spells.dazzling-flash
166
- - id: travel
167
- effects:
168
- - { target: cleric.domainSpells, op: grant, value: { item: spells.agile-feet } }
169
- grants:
170
- - item: spells.agile-feet
171
- - id: trickery
172
- effects:
173
- - { target: cleric.domainSpells, op: grant, value: { item: spells.sudden-shift } }
174
- grants:
175
- - item: spells.sudden-shift
176
- - id: truth
177
- effects:
178
- - { target: cleric.domainSpells, op: grant, value: { item: spells.word-of-truth } }
179
- grants:
180
- - item: spells.word-of-truth
181
- - id: tyranny
182
- effects:
183
- - { target: cleric.domainSpells, op: grant, value: { item: spells.touch-of-obedience } }
184
- grants:
185
- - item: spells.touch-of-obedience
186
- - id: undeath
187
- effects:
188
- - { target: cleric.domainSpells, op: grant, value: { item: spells.touch-of-undeath } }
189
- grants:
190
- - item: spells.touch-of-undeath
191
- - id: water
192
- effects:
193
- - { target: cleric.domainSpells, op: grant, value: { item: spells.tidal-surge } }
194
- grants:
195
- - item: spells.tidal-surge
196
- - id: wealth
197
- effects:
198
- - {
199
- target: cleric.domainSpells,
200
- op: grant,
201
- value: { item: spells.appearance-of-wealth },
202
- }
203
- grants:
204
- - item: spells.appearance-of-wealth
205
- - id: zeal
206
- effects:
207
- - { target: cleric.domainSpells, op: grant, value: { item: spells.weapon-surge } }
208
- grants:
209
- - item: spells.weapon-surge
11
+ from: { type: domain, where: '!item.advanced' }
@@ -6,141 +6,7 @@ choices:
6
6
  - id: domain
7
7
  unique: initial-domains
8
8
  requiresOption: true
9
- from:
10
- options:
11
- - id: air
12
- prerequisites:
13
- - { id: mystery, when: "oracle.mystery == 'tempest'" }
14
- effects:
15
- - { target: focus.points, op: add, value: 1 }
16
- grants:
17
- - item: spells.pushing-gust
18
- - id: darkness
19
- prerequisites:
20
- - { id: mystery, when: "oracle.mystery == 'cosmos'" }
21
- effects:
22
- - { target: focus.points, op: add, value: 1 }
23
- grants:
24
- - item: spells.cloak-of-shadow
25
- - id: death
26
- prerequisites:
27
- - {
28
- id: mystery,
29
- when: "oracle.mystery == 'ancestors' || oracle.mystery == 'bones' || oracle.mystery == 'life'",
30
- }
31
- effects:
32
- - { target: focus.points, op: add, value: 1 }
33
- grants:
34
- - item: spells.deaths-call
35
- - id: destruction
36
- prerequisites:
37
- - { id: mystery, when: "oracle.mystery == 'battle'" }
38
- effects:
39
- - { target: focus.points, op: add, value: 1 }
40
- grants:
41
- - item: spells.cry-of-destruction
42
- - id: family
43
- prerequisites:
44
- - { id: mystery, when: "oracle.mystery == 'ancestors'" }
45
- effects:
46
- - { target: focus.points, op: add, value: 1 }
47
- grants:
48
- - item: spells.soothing-words
49
- - id: fire
50
- prerequisites:
51
- - { id: mystery, when: "oracle.mystery == 'flames'" }
52
- effects:
53
- - { target: focus.points, op: add, value: 1 }
54
- grants:
55
- - item: spells.fire-ray
56
- - id: healing
57
- prerequisites:
58
- - { id: mystery, when: "oracle.mystery == 'life'" }
59
- effects:
60
- - { target: focus.points, op: add, value: 1 }
61
- grants:
62
- - item: spells.healers-blessing
63
- - id: knowledge
64
- prerequisites:
65
- - { id: mystery, when: "oracle.mystery == 'lore'" }
66
- effects:
67
- - { target: focus.points, op: add, value: 1 }
68
- grants:
69
- - item: spells.scholarly-recollection
70
- - id: magic
71
- prerequisites:
72
- - { id: mystery, when: "oracle.mystery == 'lore'" }
73
- effects:
74
- - { target: focus.points, op: add, value: 1 }
75
- grants:
76
- - item: spells.magics-vessel
77
- - id: might
78
- prerequisites:
79
- - { id: mystery, when: "oracle.mystery == 'battle'" }
80
- effects:
81
- - { target: focus.points, op: add, value: 1 }
82
- grants:
83
- - item: spells.athletic-rush
84
- - id: moon
85
- prerequisites:
86
- - { id: mystery, when: "oracle.mystery == 'cosmos'" }
87
- effects:
88
- - { target: focus.points, op: add, value: 1 }
89
- grants:
90
- - item: spells.moonbeam
91
- - id: pain
92
- prerequisites:
93
- - { id: mystery, when: "oracle.mystery == 'life'" }
94
- effects:
95
- - { target: focus.points, op: add, value: 1 }
96
- grants:
97
- - item: spells.savor-the-sting
98
- - id: protection
99
- prerequisites:
100
- - { id: mystery, when: "oracle.mystery == 'battle'" }
101
- effects:
102
- - { target: focus.points, op: add, value: 1 }
103
- grants:
104
- - item: spells.protectors-sacrifice
105
- - id: secrecy
106
- prerequisites:
107
- - { id: mystery, when: "oracle.mystery == 'lore'" }
108
- effects:
109
- - { target: focus.points, op: add, value: 1 }
110
- grants:
111
- - item: spells.whispering-quiet
112
- - id: sun
113
- prerequisites:
114
- - { id: mystery, when: "oracle.mystery == 'flames'" }
115
- effects:
116
- - { target: focus.points, op: add, value: 1 }
117
- grants:
118
- - item: spells.dazzling-flash
119
- - id: truth
120
- prerequisites:
121
- - { id: mystery, when: "oracle.mystery == 'lore'" }
122
- effects:
123
- - { target: focus.points, op: add, value: 1 }
124
- grants:
125
- - item: spells.word-of-truth
126
- - id: undeath
127
- prerequisites:
128
- - { id: mystery, when: "oracle.mystery == 'bones'" }
129
- effects:
130
- - { target: focus.points, op: add, value: 1 }
131
- grants:
132
- - item: spells.touch-of-undeath
133
- - id: water
134
- prerequisites:
135
- - { id: mystery, when: "oracle.mystery == 'tempest'" }
136
- effects:
137
- - { target: focus.points, op: add, value: 1 }
138
- grants:
139
- - item: spells.tidal-surge
140
- - id: zeal
141
- prerequisites:
142
- - { id: mystery, when: "oracle.mystery == 'battle'" }
143
- effects:
144
- - { target: focus.points, op: add, value: 1 }
145
- grants:
146
- - item: spells.weapon-surge
9
+ from: { type: domain, where: '!item.advanced' }
10
+ eligible: item.id in oracle.domains
11
+ effects:
12
+ - { target: focus.points, op: add, value: 1 }
@@ -655,6 +655,18 @@ choices:
655
655
  - target: skills.lore.vampire.rank
656
656
  op: add
657
657
  value: '(level >= 3 ? 1 : 0) + (level >= 7 ? 1 : 0) + (level >= 15 ? 1 : 0)'
658
+ - id: hag
659
+ effects:
660
+ - {
661
+ target: skills.trained,
662
+ op: grant,
663
+ value: { tag: skill.lore.hag },
664
+ when: "!('skill.lore.hag' in skills.chosen)",
665
+ }
666
+ - { target: skills.trainings, op: add, value: 1 }
667
+ - target: skills.lore.hag.rank
668
+ op: add
669
+ value: '(level >= 3 ? 1 : 0) + (level >= 7 ? 1 : 0) + (level >= 15 ? 1 : 0)'
658
670
  - id: custom1
659
671
  effects:
660
672
  - {
@@ -4,40 +4,18 @@ tags: [trait.fortune]
4
4
  fields: { level: 1, category: skill, skills: [skill] }
5
5
  repeatable: true
6
6
 
7
- # Content that grants Assurance for a skill it names passes it as the grant's `skill` state, and the
8
- # choice isn't asked.
9
- state:
10
- skill: { type: string, default: '' }
11
- effects:
12
- - {
13
- target: assurance.skills,
14
- op: grant,
15
- value: { formula: self.skill },
16
- when: "has(self.skill) && self.skill != ''",
17
- }
7
+ # Any skill, or a Lore the character is trained in. Content that grants Assurance for a skill it
8
+ # names presets the choice.
18
9
  choices:
19
10
  - id: skill
20
- when: "!has(self.skill) || self.skill == ''"
21
11
  from:
22
12
  values:
23
- [
24
- skill.acrobatics,
25
- skill.arcana,
26
- skill.athletics,
27
- skill.crafting,
28
- skill.deception,
29
- skill.diplomacy,
30
- skill.intimidation,
31
- skill.medicine,
32
- skill.nature,
33
- skill.occultism,
34
- skill.performance,
35
- skill.religion,
36
- skill.society,
37
- skill.stealth,
38
- skill.survival,
39
- skill.thievery,
40
- ]
13
+ formula: >-
14
+ ['skill.acrobatics', 'skill.arcana', 'skill.athletics', 'skill.crafting',
15
+ 'skill.deception', 'skill.diplomacy', 'skill.intimidation', 'skill.medicine',
16
+ 'skill.nature', 'skill.occultism', 'skill.performance', 'skill.religion',
17
+ 'skill.society', 'skill.stealth', 'skill.survival', 'skill.thievery']
18
+ + sortList(skills.trained + skills.chosen)
41
19
  effects:
42
20
  - { target: assurance.skills, op: grant, value: { formula: pick.value } }
43
21
 
@@ -10,61 +10,7 @@ choices:
10
10
  - id: skill
11
11
  unique: skill-training
12
12
  from:
13
- values:
14
- [
15
- skill.acrobatics,
16
- skill.arcana,
17
- skill.athletics,
18
- skill.crafting,
19
- skill.deception,
20
- skill.diplomacy,
21
- skill.intimidation,
22
- skill.medicine,
23
- skill.nature,
24
- skill.occultism,
25
- skill.performance,
26
- skill.religion,
27
- skill.society,
28
- skill.stealth,
29
- skill.survival,
30
- skill.thievery,
31
- skill.lore.academia,
32
- skill.lore.circus,
33
- skill.lore.farming,
34
- skill.lore.legal,
35
- skill.lore.scribing,
36
- skill.lore.underworld,
37
- skill.lore.warfare,
38
- skill.lore.alcohol,
39
- skill.lore.art,
40
- skill.lore.cooking,
41
- skill.lore.engineering,
42
- skill.lore.fortune-telling,
43
- skill.lore.games,
44
- skill.lore.genealogy,
45
- skill.lore.gladiatorial,
46
- skill.lore.guild,
47
- skill.lore.heraldry,
48
- skill.lore.herbalism,
49
- skill.lore.labor,
50
- skill.lore.mercantile,
51
- skill.lore.mining,
52
- skill.lore.sailing,
53
- skill.lore.tanning,
54
- skill.lore.theater,
55
- skill.lore.cave,
56
- skill.lore.desert,
57
- skill.lore.forest,
58
- skill.lore.mountain,
59
- skill.lore.plains,
60
- skill.lore.swamp,
61
- skill.lore.dwarf,
62
- skill.lore.elf,
63
- skill.lore.goblin,
64
- skill.lore.halfling,
65
- skill.lore.leshy,
66
- skill.lore.orc,
67
- ]
13
+ values: { formula: skills.offered + skills.lores }
68
14
  where: '!(value in skills.trained) && !(value in skills.chosen) || value in choice.picks'
69
15
  effects:
70
16
  - { target: skills.chosen, op: grant, value: { formula: pick.value } }
@@ -8,4 +8,5 @@ prerequisites:
8
8
  when: 'skills.stealth.rank >= 1'
9
9
  choices:
10
10
  - id: terrain
11
+ unique: terrain-stalker
11
12
  from: { values: [rubble, snow, underbrush] }
@@ -81,32 +81,7 @@ choices:
81
81
  - id: skill
82
82
  unique: skill-training
83
83
  from:
84
- values:
85
- [
86
- skill.acrobatics,
87
- skill.arcana,
88
- skill.athletics,
89
- skill.crafting,
90
- skill.deception,
91
- skill.diplomacy,
92
- skill.intimidation,
93
- skill.medicine,
94
- skill.nature,
95
- skill.occultism,
96
- skill.performance,
97
- skill.religion,
98
- skill.society,
99
- skill.stealth,
100
- skill.survival,
101
- skill.thievery,
102
- skill.lore.academia,
103
- skill.lore.circus,
104
- skill.lore.farming,
105
- skill.lore.legal,
106
- skill.lore.scribing,
107
- skill.lore.underworld,
108
- skill.lore.warfare,
109
- ]
84
+ values: { formula: skills.offered }
110
85
  where: '!(value in skills.trained) && !(value in skills.chosen) || value in choice.picks'
111
86
  effects:
112
87
  - { target: skills.chosen, op: grant, value: { formula: pick.value } }
@@ -77,32 +77,7 @@ choices:
77
77
  - id: skill
78
78
  unique: skill-training
79
79
  from:
80
- values:
81
- [
82
- skill.acrobatics,
83
- skill.arcana,
84
- skill.athletics,
85
- skill.crafting,
86
- skill.deception,
87
- skill.diplomacy,
88
- skill.intimidation,
89
- skill.medicine,
90
- skill.nature,
91
- skill.occultism,
92
- skill.performance,
93
- skill.religion,
94
- skill.society,
95
- skill.stealth,
96
- skill.survival,
97
- skill.thievery,
98
- skill.lore.academia,
99
- skill.lore.circus,
100
- skill.lore.farming,
101
- skill.lore.legal,
102
- skill.lore.scribing,
103
- skill.lore.underworld,
104
- skill.lore.warfare,
105
- ]
80
+ values: { formula: skills.offered }
106
81
  where: '!(value in skills.trained) && !(value in skills.chosen) || value in choice.picks'
107
82
  effects:
108
83
  - { target: skills.chosen, op: grant, value: { formula: pick.value } }
@@ -1,8 +1,12 @@
1
1
  id: features.wizard.arcane-bond
2
2
  type: feature
3
3
  fields: { level: 1 }
4
- # The ranks drained today are the class copy's `bondDrained` (bit `2^(rank - 1)` each). With
5
- # Improved Familiar Attunement this is Drain Familiar.
4
+ # The ranks drained today are its `bondDrained` (bit `2^(rank - 1)` each), and Linked Focus's use
5
+ # its `linkedFocusUsed`; daily preparations reset both. With Improved Familiar Attunement this is
6
+ # Drain Familiar.
7
+ state:
8
+ bondDrained: { type: integer, default: 0, min: 0, max: 511 }
9
+ linkedFocusUsed: { type: boolean, default: false }
6
10
  actions:
7
11
  - id: drain-bonded-item
8
12
  tags: [class-action, spell]
@@ -30,7 +34,7 @@ actions:
30
34
  kind: changes
31
35
  changes:
32
36
  - type: adjustState
33
- entry: self
37
+ grant: self
34
38
  key: bondDrained
35
39
  by: '[1, 2, 4, 8, 16, 32, 64, 128, 256][steps.spell.self.rank - 1]'
36
40
  - id: linked
@@ -40,7 +44,7 @@ actions:
40
44
  && steps.spell.item.id in spells.curriculum && focus.spent > 0
41
45
  changes:
42
46
  - { type: adjust, field: focus.spent, by: -1 }
43
- - { type: setState, entry: self, key: linkedFocusUsed, value: true }
47
+ - { type: setState, grant: self, key: linkedFocusUsed, value: true }
44
48
  - id: result
45
49
  kind: outcome
46
50
  result: "'drained'"
@@ -1,3 +1,4 @@
1
1
  id: gear.compass-lensatic
2
2
  type: gear
3
+ tags: [tool.compass]
3
4
  fields: { bulk: 0, price: 20 }
@@ -1,3 +1,4 @@
1
1
  id: gear.compass
2
2
  type: gear
3
+ tags: [tool.compass]
3
4
  fields: { bulk: 0, price: 1 }
@@ -1,3 +1,4 @@
1
1
  id: gear.crowbar-levered
2
2
  type: gear
3
+ tags: [tool.crowbar]
3
4
  fields: { bulk: 0.1, price: 20 }
@@ -1,3 +1,4 @@
1
1
  id: gear.crowbar
2
2
  type: gear
3
+ tags: [tool.crowbar]
3
4
  fields: { bulk: 0.1, price: 0.5 }
@@ -2,5 +2,7 @@ id: heritages.deep-orc
2
2
  type: heritage
3
3
  fields: { ancestry: ancestries.orc }
4
4
  grants:
5
- - { item: feats.skill.terrain-expertise, waivePrerequisites: true }
5
+ - item: feats.skill.terrain-expertise
6
+ waivePrerequisites: true
7
+ choices: { terrain: [{ option: underground }] }
6
8
  - { item: feats.skill.combat-climber, waivePrerequisites: true }
@@ -2,4 +2,6 @@ id: heritages.woodstalker-lizardfolk
2
2
  type: heritage
3
3
  fields: { ancestry: ancestries.lizardfolk }
4
4
  grants:
5
- - { item: feats.skill.terrain-stalker, waivePrerequisites: true }
5
+ - item: feats.skill.terrain-stalker
6
+ waivePrerequisites: true
7
+ choices: { terrain: [{ option: underbrush }] }
@@ -1,7 +1,7 @@
1
1
  id: shields.specific.reflecting-shield
2
2
  type: shield
3
3
  extends: shields.buckler
4
- tags: [trait.magical, trait.uncommon]
4
+ tags: [trait.magical, trait.uncommon, shield.against-spells]
5
5
  fields:
6
6
  price: 18000
7
7
  hardness: 6
@@ -1,5 +1,6 @@
1
1
  id: shields.specific.spellguard-shield
2
2
  type: shield
3
+ tags: [shield.against-spells]
3
4
  extends: shields.steel-shield
4
5
  fields:
5
6
  price: 250
@@ -2,6 +2,7 @@ id: spells.agile-feet
2
2
  type: spell
3
3
  tags: [trait.cleric, trait.focus, trait.manipulate, trait.uncommon]
4
4
  fields:
5
+ domain: domains.travel
5
6
  rank: 1
6
7
  cast: one
7
8
  duration: until-end-of-turn
@@ -3,6 +3,7 @@ type: spell
3
3
  tags:
4
4
  [trait.cleric, trait.concentrate, trait.focus, trait.illusion, trait.manipulate, trait.uncommon]
5
5
  fields:
6
+ domain: domains.wealth
6
7
  rank: 1
7
8
  cast: two
8
9
  range: 30
@@ -2,6 +2,7 @@ id: spells.athletic-rush
2
2
  type: spell
3
3
  tags: [trait.cleric, trait.focus, trait.manipulate, trait.uncommon]
4
4
  fields:
5
+ domain: domains.might
5
6
  rank: 1
6
7
  cast: one
7
8
  duration: rounds