@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.
- package/README.md +74 -16
- package/content/backgrounds/driver.yaml +3 -3
- package/content/backgrounds/farmhand.yaml +1 -1
- package/content/backgrounds/miner.yaml +1 -1
- package/content/backgrounds/nomad.yaml +1 -1
- package/content/backgrounds/raised-by-belief.yaml +16 -16
- package/content/backgrounds/scholar.yaml +4 -4
- package/content/classes/alchemist/fields/bomber.yaml +1 -1
- package/content/classes/alchemist/fields/chirurgeon.yaml +1 -1
- package/content/classes/alchemist/fields/mutagenist.yaml +1 -1
- package/content/classes/alchemist/fields/toxicologist.yaml +1 -1
- package/content/classes/alchemist.yaml +2 -34
- package/content/classes/barbarian/animals/ape.yaml +1 -1
- package/content/classes/barbarian/animals/bear.yaml +1 -1
- package/content/classes/barbarian/animals/bull.yaml +1 -1
- package/content/classes/barbarian/animals/cat.yaml +1 -1
- package/content/classes/barbarian/animals/deer.yaml +1 -1
- package/content/classes/barbarian/animals/frog.yaml +1 -1
- package/content/classes/barbarian/animals/shark.yaml +1 -1
- package/content/classes/barbarian/animals/snake.yaml +1 -1
- package/content/classes/barbarian/animals/wolf.yaml +1 -1
- package/content/classes/barbarian/instincts/animal.yaml +2 -14
- package/content/classes/barbarian/instincts/dragon.yaml +1 -2
- package/content/classes/barbarian/instincts/fury.yaml +1 -1
- package/content/classes/barbarian/instincts/giant.yaml +1 -1
- package/content/classes/barbarian/instincts/spirit.yaml +1 -2
- package/content/classes/barbarian/instincts/superstition.yaml +1 -1
- package/content/classes/barbarian/raging.yaml +3 -1
- package/content/classes/barbarian.yaml +2 -36
- package/content/classes/bard/muses/enigma.yaml +1 -1
- package/content/classes/bard/muses/maestro.yaml +1 -1
- package/content/classes/bard/muses/polymath.yaml +1 -1
- package/content/classes/bard/muses/warrior.yaml +1 -1
- package/content/classes/bard.yaml +2 -34
- package/content/classes/champion/causes/desecration.yaml +1 -1
- package/content/classes/champion/causes/grandeur.yaml +1 -1
- package/content/classes/champion/causes/iniquity.yaml +1 -1
- package/content/classes/champion/causes/justice.yaml +1 -1
- package/content/classes/champion/causes/liberation.yaml +1 -1
- package/content/classes/champion/causes/obedience.yaml +1 -1
- package/content/classes/champion/causes/redemption.yaml +1 -1
- package/content/classes/champion/resistance.yaml +2 -0
- package/content/classes/champion.yaml +2 -37
- package/content/classes/cleric/doctrines/cloistered-cleric.yaml +1 -1
- package/content/classes/cleric/doctrines/warpriest.yaml +1 -1
- package/content/classes/cleric.yaml +2 -28
- package/content/classes/druid/orders/animal.yaml +1 -1
- package/content/classes/druid/orders/leaf.yaml +1 -1
- package/content/classes/druid/orders/storm.yaml +1 -1
- package/content/classes/druid/orders/untamed.yaml +1 -1
- package/content/classes/druid.yaml +2 -34
- package/content/classes/fighter.yaml +1 -26
- package/content/classes/investigator.yaml +1 -26
- package/content/classes/monk.yaml +1 -26
- package/content/classes/oracle/mysteries/ancestors.yaml +3 -1
- package/content/classes/oracle/mysteries/battle.yaml +5 -1
- package/content/classes/oracle/mysteries/bones.yaml +3 -1
- package/content/classes/oracle/mysteries/cosmos.yaml +3 -1
- package/content/classes/oracle/mysteries/flames.yaml +3 -1
- package/content/classes/oracle/mysteries/life.yaml +4 -1
- package/content/classes/oracle/mysteries/lore.yaml +5 -1
- package/content/classes/oracle/mysteries/tempest.yaml +3 -1
- package/content/classes/oracle.yaml +2 -38
- package/content/classes/ranger/edges/flurry.yaml +1 -1
- package/content/classes/ranger/edges/outwit.yaml +1 -1
- package/content/classes/ranger/edges/precision.yaml +1 -1
- package/content/classes/ranger.yaml +2 -29
- package/content/classes/rogue/rackets/mastermind.yaml +1 -1
- package/content/classes/rogue/rackets/ruffian.yaml +1 -1
- package/content/classes/rogue/rackets/scoundrel.yaml +1 -1
- package/content/classes/rogue/rackets/thief.yaml +1 -1
- package/content/classes/rogue.yaml +2 -34
- package/content/classes/sorcerer/bloodlines/aberrant.yaml +1 -1
- package/content/classes/sorcerer/bloodlines/angelic.yaml +1 -1
- package/content/classes/sorcerer/bloodlines/demonic.yaml +1 -1
- package/content/classes/sorcerer/bloodlines/diabolic.yaml +1 -1
- package/content/classes/sorcerer/bloodlines/draconic.yaml +1 -1
- package/content/classes/sorcerer/bloodlines/elemental.yaml +1 -1
- package/content/classes/sorcerer/bloodlines/fey.yaml +1 -1
- package/content/classes/sorcerer/bloodlines/hag.yaml +1 -1
- package/content/classes/sorcerer/bloodlines/imperial.yaml +1 -1
- package/content/classes/sorcerer/bloodlines/undead.yaml +1 -1
- package/content/classes/sorcerer.yaml +2 -40
- package/content/classes/swashbuckler.yaml +1 -26
- package/content/classes/witch/patrons/faiths-flamekeeper.yaml +1 -1
- package/content/classes/witch/patrons/inscribed-one.yaml +1 -1
- package/content/classes/witch/patrons/resentment.yaml +1 -1
- package/content/classes/witch/patrons/silence-in-snow.yaml +1 -1
- package/content/classes/witch/patrons/spinner-of-threads.yaml +1 -1
- package/content/classes/witch/patrons/starless-shadow.yaml +1 -1
- package/content/classes/witch/patrons/wilding-steward.yaml +1 -1
- package/content/classes/witch.yaml +2 -37
- package/content/classes/wizard/schools/ars-grammatica.yaml +1 -1
- package/content/classes/wizard/schools/battle-magic.yaml +1 -1
- package/content/classes/wizard/schools/boundary.yaml +1 -1
- package/content/classes/wizard/schools/civic-wizardry.yaml +1 -1
- package/content/classes/wizard/schools/mentalism.yaml +1 -1
- package/content/classes/wizard/schools/protean-form.yaml +1 -1
- package/content/classes/wizard/schools/unified-magical-theory.yaml +1 -1
- package/content/classes/wizard/theses/experimental-spellshaping.yaml +1 -1
- package/content/classes/wizard/theses/improved-familiar-attunement.yaml +1 -1
- package/content/classes/wizard/theses/spell-blending.yaml +1 -1
- package/content/classes/wizard/theses/spell-substitution.yaml +1 -1
- package/content/classes/wizard/theses/staff-nexus.yaml +1 -1
- package/content/classes/wizard.yaml +3 -52
- package/content/domains/advanced/air.yaml +7 -0
- package/content/domains/advanced/ambition.yaml +7 -0
- package/content/domains/advanced/cities.yaml +7 -0
- package/content/domains/advanced/confidence.yaml +7 -0
- package/content/domains/advanced/creation.yaml +7 -0
- package/content/domains/advanced/darkness.yaml +7 -0
- package/content/domains/advanced/death.yaml +7 -0
- package/content/domains/advanced/destruction.yaml +7 -0
- package/content/domains/advanced/dreams.yaml +7 -0
- package/content/domains/advanced/earth.yaml +7 -0
- package/content/domains/advanced/family.yaml +7 -0
- package/content/domains/advanced/fate.yaml +7 -0
- package/content/domains/advanced/fire.yaml +7 -0
- package/content/domains/advanced/freedom.yaml +7 -0
- package/content/domains/advanced/healing.yaml +7 -0
- package/content/domains/advanced/indulgence.yaml +7 -0
- package/content/domains/advanced/knowledge.yaml +7 -0
- package/content/domains/advanced/luck.yaml +7 -0
- package/content/domains/advanced/magic.yaml +7 -0
- package/content/domains/advanced/might.yaml +7 -0
- package/content/domains/advanced/moon.yaml +7 -0
- package/content/domains/advanced/nature.yaml +7 -0
- package/content/domains/advanced/nightmares.yaml +7 -0
- package/content/domains/advanced/pain.yaml +7 -0
- package/content/domains/advanced/passion.yaml +7 -0
- package/content/domains/advanced/perfection.yaml +7 -0
- package/content/domains/advanced/protection.yaml +7 -0
- package/content/domains/advanced/secrecy.yaml +7 -0
- package/content/domains/advanced/sun.yaml +7 -0
- package/content/domains/advanced/travel.yaml +7 -0
- package/content/domains/advanced/trickery.yaml +7 -0
- package/content/domains/advanced/truth.yaml +7 -0
- package/content/domains/advanced/tyranny.yaml +7 -0
- package/content/domains/advanced/undeath.yaml +7 -0
- package/content/domains/advanced/water.yaml +7 -0
- package/content/domains/advanced/wealth.yaml +7 -0
- package/content/domains/advanced/zeal.yaml +7 -0
- package/content/domains/air.yaml +6 -0
- package/content/domains/ambition.yaml +6 -0
- package/content/domains/cities.yaml +6 -0
- package/content/domains/confidence.yaml +6 -0
- package/content/domains/creation.yaml +6 -0
- package/content/domains/darkness.yaml +6 -0
- package/content/domains/death.yaml +6 -0
- package/content/domains/destruction.yaml +6 -0
- package/content/domains/dreams.yaml +6 -0
- package/content/domains/earth.yaml +6 -0
- package/content/domains/family.yaml +6 -0
- package/content/domains/fate.yaml +6 -0
- package/content/domains/fire.yaml +6 -0
- package/content/domains/freedom.yaml +6 -0
- package/content/domains/healing.yaml +6 -0
- package/content/domains/indulgence.yaml +6 -0
- package/content/domains/knowledge.yaml +6 -0
- package/content/domains/luck.yaml +6 -0
- package/content/domains/magic.yaml +6 -0
- package/content/domains/might.yaml +6 -0
- package/content/domains/moon.yaml +6 -0
- package/content/domains/nature.yaml +6 -0
- package/content/domains/nightmares.yaml +6 -0
- package/content/domains/pain.yaml +6 -0
- package/content/domains/passion.yaml +6 -0
- package/content/domains/perfection.yaml +6 -0
- package/content/domains/protection.yaml +6 -0
- package/content/domains/secrecy.yaml +6 -0
- package/content/domains/sun.yaml +6 -0
- package/content/domains/travel.yaml +6 -0
- package/content/domains/trickery.yaml +6 -0
- package/content/domains/truth.yaml +6 -0
- package/content/domains/tyranny.yaml +6 -0
- package/content/domains/undeath.yaml +6 -0
- package/content/domains/water.yaml +6 -0
- package/content/domains/wealth.yaml +6 -0
- package/content/domains/zeal.yaml +6 -0
- package/content/effects/treated-disease.yaml +4 -0
- package/content/effects/treated-poison.yaml +4 -0
- package/content/feats/ancestry/changeling-lore.yaml +3 -1
- package/content/feats/ancestry/gnome-obsession.yaml +1 -39
- package/content/feats/ancestry/tengu-feather-fan.yaml +3 -3
- package/content/feats/archetype/barbarian/barbarian-dedication.yaml +0 -2
- package/content/feats/archetype/champion/champions-reaction.yaml +1 -11
- package/content/feats/archetype/gladiator/gladiator-dedication.yaml +1 -1
- package/content/feats/archetype/investigator/skill-mastery.yaml +2 -58
- package/content/feats/archetype/rogue/skill-mastery.yaml +2 -58
- package/content/feats/archetype/scout/terrain-scout.yaml +6 -0
- package/content/feats/archetype/viking/viking-dedication.yaml +3 -1
- package/content/feats/champion/deitys-domain.yaml +1 -22
- package/content/feats/cleric/advanced-domain.yaml +1 -187
- package/content/feats/cleric/domain-initiate.yaml +1 -199
- package/content/feats/oracle/domain-acumen.yaml +4 -138
- package/content/feats/skill/additional-lore.yaml +12 -0
- package/content/feats/skill/assurance.yaml +8 -30
- package/content/feats/skill/skill-training.yaml +1 -55
- package/content/feats/skill/terrain-stalker.yaml +1 -0
- package/content/feats/sorcerer/arcane-evolution.yaml +1 -26
- package/content/feats/sorcerer/occult-evolution.yaml +1 -26
- package/content/features/wizard/arcane-bond.yaml +8 -4
- package/content/gear/compass-lensatic.yaml +1 -0
- package/content/gear/compass.yaml +1 -0
- package/content/gear/crowbar-levered.yaml +1 -0
- package/content/gear/crowbar.yaml +1 -0
- package/content/heritages/deep-orc.yaml +3 -1
- package/content/heritages/woodstalker-lizardfolk.yaml +3 -1
- package/content/shields/specific/reflecting-shield.yaml +1 -1
- package/content/shields/specific/spellguard-shield.yaml +1 -0
- package/content/spells/agile-feet.yaml +1 -0
- package/content/spells/appearance-of-wealth.yaml +1 -0
- package/content/spells/athletic-rush.yaml +1 -0
- package/content/spells/bit-of-luck.yaml +1 -0
- package/content/spells/charming-touch.yaml +1 -0
- package/content/spells/cloak-of-shadow.yaml +1 -0
- package/content/spells/creative-splash.yaml +1 -0
- package/content/spells/cry-of-destruction.yaml +1 -0
- package/content/spells/dazzling-flash.yaml +1 -0
- package/content/spells/deaths-call.yaml +1 -0
- package/content/spells/enduring-might.yaml +2 -0
- package/content/spells/energy-absorption.yaml +2 -0
- package/content/spells/face-in-the-crowd.yaml +1 -0
- package/content/spells/fire-ray.yaml +1 -0
- package/content/spells/fire-shield.yaml +31 -0
- package/content/spells/flame-barrier.yaml +2 -0
- package/content/spells/guidance.yaml +2 -0
- package/content/spells/healers-blessing.yaml +1 -0
- package/content/spells/hurtling-stone.yaml +1 -0
- package/content/spells/ignite-ambition.yaml +1 -0
- package/content/spells/magics-vessel.yaml +1 -0
- package/content/spells/moonbeam.yaml +1 -0
- package/content/spells/overstuff.yaml +1 -0
- package/content/spells/perfected-mind.yaml +1 -0
- package/content/spells/protectors-sacrifice.yaml +1 -0
- package/content/spells/pushing-gust.yaml +1 -0
- package/content/spells/read-fate.yaml +1 -0
- package/content/spells/savor-the-sting.yaml +1 -0
- package/content/spells/scholarly-recollection.yaml +1 -0
- package/content/spells/shield.yaml +2 -0
- package/content/spells/soothing-words.yaml +1 -0
- package/content/spells/sudden-shift.yaml +1 -0
- package/content/spells/sure-strike.yaml +2 -0
- package/content/spells/sweet-dream.yaml +1 -0
- package/content/spells/tidal-surge.yaml +1 -0
- package/content/spells/touch-of-obedience.yaml +1 -0
- package/content/spells/touch-of-undeath.yaml +1 -0
- package/content/spells/true-target.yaml +2 -0
- package/content/spells/unimpeded-stride.yaml +1 -0
- package/content/spells/veil-of-confidence.yaml +1 -0
- package/content/spells/vibrant-thorns.yaml +1 -0
- package/content/spells/waking-nightmare.yaml +1 -0
- package/content/spells/weapon-surge.yaml +3 -0
- package/content/spells/whispering-quiet.yaml +1 -0
- package/content/spells/word-of-truth.yaml +1 -0
- package/dist/i18n/en.js +1 -1
- package/dist/i18n/en.json +210 -209
- package/dist/index.js +1 -1
- package/dist/release.json +8629 -4618
- package/i18n/en/ancestry-dragonblood.yaml +2 -2
- package/i18n/en/archetypes.yaml +10 -6
- package/i18n/en/backgrounds.yaml +6 -3
- package/i18n/en/battle-forms.yaml +0 -1
- package/i18n/en/champion.yaml +1 -1
- package/i18n/en/cleric.yaml +151 -149
- package/i18n/en/equipment.yaml +4 -1
- package/i18n/en/lores-pc2.yaml +6 -0
- package/i18n/en/oracle.yaml +0 -38
- package/i18n/en/rogue.yaml +3 -3
- package/i18n/en/spellcasting.yaml +3 -2
- package/i18n/en/spells-high.yaml +1 -0
- package/i18n/en/type-fields.yaml +2 -0
- package/i18n/en/wizard.yaml +2 -2
- package/i18n/en.yaml +19 -1
- package/pack.yaml +2 -2
- package/package.json +2 -2
- package/rules/advancement.yaml +1 -0
- package/rules/afflictions.yaml +2 -0
- package/rules/alchemist.yaml +14 -3
- package/rules/ancestry-feats.yaml +55 -13
- package/rules/archetypes.yaml +1 -0
- package/rules/barbarian.yaml +8 -21
- package/rules/bard.yaml +10 -4
- package/rules/building.yaml +7 -1
- package/rules/champion.yaml +3 -2
- package/rules/checks.yaml +1 -1
- package/rules/cleric.yaml +13 -3
- package/rules/conditions.yaml +1 -0
- package/rules/core.yaml +1 -0
- package/rules/creation.yaml +18 -0
- package/rules/druid.yaml +3 -2
- package/rules/equipment.yaml +7 -1
- package/rules/heritages.yaml +1 -1
- package/rules/investigator.yaml +3 -11
- package/rules/layout.yaml +19 -6
- package/rules/lores-pc2.yaml +221 -36
- package/rules/lores.yaml +226 -50
- package/rules/monk.yaml +2 -5
- package/rules/oracle.yaml +5 -3
- package/rules/ranger.yaml +3 -3
- package/rules/rogue.yaml +6 -1
- package/rules/skill-actions-athletics.yaml +1 -2
- package/rules/skill-actions-stealth.yaml +1 -2
- package/rules/skills.yaml +173 -56
- package/rules/sorcerer.yaml +16 -4
- package/rules/spellcasting.yaml +105 -28
- package/rules/spells-high.yaml +3 -3
- package/rules/strikes.yaml +3 -1
- package/rules/swashbuckler.yaml +4 -17
- package/rules/tags.yaml +6 -0
- package/rules/witch.yaml +2 -1
- package/rules/wizard.yaml +6 -4
- package/upgrades/0.1.0-to-0.2.0.yaml +11 -0
- package/upgrades/0.2.0-to-0.3.0.yaml +657 -0
|
@@ -52,48 +52,12 @@ grants:
|
|
|
52
52
|
choices:
|
|
53
53
|
# Asked first, so the free skills leave its skill out.
|
|
54
54
|
- id: mystery
|
|
55
|
-
from:
|
|
56
|
-
items:
|
|
57
|
-
[
|
|
58
|
-
classes.oracle.mysteries.ancestors,
|
|
59
|
-
classes.oracle.mysteries.battle,
|
|
60
|
-
classes.oracle.mysteries.bones,
|
|
61
|
-
classes.oracle.mysteries.cosmos,
|
|
62
|
-
classes.oracle.mysteries.flames,
|
|
63
|
-
classes.oracle.mysteries.life,
|
|
64
|
-
classes.oracle.mysteries.lore,
|
|
65
|
-
classes.oracle.mysteries.tempest,
|
|
66
|
-
]
|
|
55
|
+
from: { type: feature, where: "item.classOption == 'oracle.mystery'" }
|
|
67
56
|
- id: skills
|
|
68
57
|
unique: skill-training
|
|
69
58
|
pick: 3 + max(0, attributes.int.mod)
|
|
70
59
|
from:
|
|
71
|
-
values:
|
|
72
|
-
[
|
|
73
|
-
skill.acrobatics,
|
|
74
|
-
skill.arcana,
|
|
75
|
-
skill.athletics,
|
|
76
|
-
skill.crafting,
|
|
77
|
-
skill.deception,
|
|
78
|
-
skill.diplomacy,
|
|
79
|
-
skill.intimidation,
|
|
80
|
-
skill.medicine,
|
|
81
|
-
skill.nature,
|
|
82
|
-
skill.occultism,
|
|
83
|
-
skill.performance,
|
|
84
|
-
skill.religion,
|
|
85
|
-
skill.society,
|
|
86
|
-
skill.stealth,
|
|
87
|
-
skill.survival,
|
|
88
|
-
skill.thievery,
|
|
89
|
-
skill.lore.academia,
|
|
90
|
-
skill.lore.circus,
|
|
91
|
-
skill.lore.farming,
|
|
92
|
-
skill.lore.legal,
|
|
93
|
-
skill.lore.scribing,
|
|
94
|
-
skill.lore.underworld,
|
|
95
|
-
skill.lore.warfare,
|
|
96
|
-
]
|
|
60
|
+
values: { formula: skills.offered }
|
|
97
61
|
where: '!(value in skills.trained) && !(value in skills.chosen) || value in choice.picks'
|
|
98
62
|
effects:
|
|
99
63
|
- { target: skills.chosen, op: grant, value: { formula: pick.value } }
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
id: classes.ranger.edges.precision
|
|
2
2
|
type: feature
|
|
3
|
-
fields: { level: 1 }
|
|
3
|
+
fields: { level: 1, classOption: ranger.hunters-edge }
|
|
4
4
|
# Hits on the prey are counted in `prey.hits` on each hit and reset at the start of the turn. Two
|
|
5
5
|
# Strikes in one action (Double Slice) both read the count as the action starts.
|
|
6
6
|
effects:
|
|
@@ -62,39 +62,12 @@ choices:
|
|
|
62
62
|
- { target: attributes.dex.boosts, op: add, value: 1 }
|
|
63
63
|
- { target: class.keyAttribute, op: set, value: "'dex'" }
|
|
64
64
|
- id: hunters-edge
|
|
65
|
-
from:
|
|
66
|
-
items:
|
|
67
|
-
[classes.ranger.edges.flurry, classes.ranger.edges.outwit, classes.ranger.edges.precision]
|
|
65
|
+
from: { type: feature, where: "item.classOption == 'ranger.hunters-edge'" }
|
|
68
66
|
- id: skills
|
|
69
67
|
unique: skill-training
|
|
70
68
|
pick: 4 + max(0, attributes.int.mod)
|
|
71
69
|
from:
|
|
72
|
-
values:
|
|
73
|
-
[
|
|
74
|
-
skill.acrobatics,
|
|
75
|
-
skill.arcana,
|
|
76
|
-
skill.athletics,
|
|
77
|
-
skill.crafting,
|
|
78
|
-
skill.deception,
|
|
79
|
-
skill.diplomacy,
|
|
80
|
-
skill.intimidation,
|
|
81
|
-
skill.medicine,
|
|
82
|
-
skill.nature,
|
|
83
|
-
skill.occultism,
|
|
84
|
-
skill.performance,
|
|
85
|
-
skill.religion,
|
|
86
|
-
skill.society,
|
|
87
|
-
skill.stealth,
|
|
88
|
-
skill.survival,
|
|
89
|
-
skill.thievery,
|
|
90
|
-
skill.lore.academia,
|
|
91
|
-
skill.lore.circus,
|
|
92
|
-
skill.lore.farming,
|
|
93
|
-
skill.lore.legal,
|
|
94
|
-
skill.lore.scribing,
|
|
95
|
-
skill.lore.underworld,
|
|
96
|
-
skill.lore.warfare,
|
|
97
|
-
]
|
|
70
|
+
values: { formula: skills.offered }
|
|
98
71
|
where: '!(value in skills.trained) && !(value in skills.chosen) || value in choice.picks'
|
|
99
72
|
effects:
|
|
100
73
|
- { target: skills.chosen, op: grant, value: { formula: pick.value } }
|
|
@@ -47,14 +47,7 @@ choices:
|
|
|
47
47
|
# The racket first: it names the other key attributes the rogue may take, and its own choice (a
|
|
48
48
|
# mastermind's skill) is asked right after it, before the free skills.
|
|
49
49
|
- id: racket
|
|
50
|
-
from:
|
|
51
|
-
items:
|
|
52
|
-
[
|
|
53
|
-
classes.rogue.rackets.mastermind,
|
|
54
|
-
classes.rogue.rackets.ruffian,
|
|
55
|
-
classes.rogue.rackets.scoundrel,
|
|
56
|
-
classes.rogue.rackets.thief,
|
|
57
|
-
]
|
|
50
|
+
from: { type: feature, where: "item.classOption == 'rogue.racket'" }
|
|
58
51
|
- id: key-attribute
|
|
59
52
|
from:
|
|
60
53
|
options:
|
|
@@ -81,32 +74,7 @@ choices:
|
|
|
81
74
|
unique: skill-training
|
|
82
75
|
pick: 7 + max(0, attributes.int.mod)
|
|
83
76
|
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
|
-
]
|
|
77
|
+
values: { formula: skills.offered }
|
|
110
78
|
where: '!(value in skills.trained) && !(value in skills.chosen) || value in choice.picks'
|
|
111
79
|
effects:
|
|
112
80
|
- { target: skills.chosen, op: grant, value: { formula: pick.value } }
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
id: classes.sorcerer.bloodlines.aberrant
|
|
2
2
|
type: feature
|
|
3
|
-
fields: { level: 1 }
|
|
3
|
+
fields: { level: 1, classOption: sorcerer.bloodline }
|
|
4
4
|
effects:
|
|
5
5
|
- { target: sorcerer.bloodline, op: set, value: "'aberrant'" }
|
|
6
6
|
- { target: spellcasting.tradition, op: set, value: "'occult'" }
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
id: classes.sorcerer.bloodlines.angelic
|
|
2
2
|
type: feature
|
|
3
|
-
fields: { level: 1 }
|
|
3
|
+
fields: { level: 1, classOption: sorcerer.bloodline }
|
|
4
4
|
effects:
|
|
5
5
|
- { target: sorcerer.bloodline, op: set, value: "'angelic'" }
|
|
6
6
|
- { target: spellcasting.tradition, op: set, value: "'divine'" }
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
id: classes.sorcerer.bloodlines.demonic
|
|
2
2
|
type: feature
|
|
3
|
-
fields: { level: 1 }
|
|
3
|
+
fields: { level: 1, classOption: sorcerer.bloodline }
|
|
4
4
|
effects:
|
|
5
5
|
- { target: sorcerer.bloodline, op: set, value: "'demonic'" }
|
|
6
6
|
- { target: spellcasting.tradition, op: set, value: "'divine'" }
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
id: classes.sorcerer.bloodlines.diabolic
|
|
2
2
|
type: feature
|
|
3
|
-
fields: { level: 1 }
|
|
3
|
+
fields: { level: 1, classOption: sorcerer.bloodline }
|
|
4
4
|
effects:
|
|
5
5
|
- { target: sorcerer.bloodline, op: set, value: "'diabolic'" }
|
|
6
6
|
- { target: spellcasting.tradition, op: set, value: "'divine'" }
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
id: classes.sorcerer.bloodlines.elemental
|
|
2
2
|
type: feature
|
|
3
|
-
fields: { level: 1 }
|
|
3
|
+
fields: { level: 1, classOption: sorcerer.bloodline }
|
|
4
4
|
effects:
|
|
5
5
|
- { target: sorcerer.bloodline, op: set, value: "'elemental'" }
|
|
6
6
|
- { target: spellcasting.tradition, op: set, value: "'primal'" }
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
id: classes.sorcerer.bloodlines.fey
|
|
2
2
|
type: feature
|
|
3
|
-
fields: { level: 1 }
|
|
3
|
+
fields: { level: 1, classOption: sorcerer.bloodline }
|
|
4
4
|
effects:
|
|
5
5
|
- { target: sorcerer.bloodline, op: set, value: "'fey'" }
|
|
6
6
|
- { target: spellcasting.tradition, op: set, value: "'primal'" }
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
id: classes.sorcerer.bloodlines.hag
|
|
2
2
|
type: feature
|
|
3
|
-
fields: { level: 1 }
|
|
3
|
+
fields: { level: 1, classOption: sorcerer.bloodline }
|
|
4
4
|
effects:
|
|
5
5
|
- { target: sorcerer.bloodline, op: set, value: "'hag'" }
|
|
6
6
|
- { target: spellcasting.tradition, op: set, value: "'occult'" }
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
id: classes.sorcerer.bloodlines.imperial
|
|
2
2
|
type: feature
|
|
3
|
-
fields: { level: 1 }
|
|
3
|
+
fields: { level: 1, classOption: sorcerer.bloodline }
|
|
4
4
|
effects:
|
|
5
5
|
- { target: sorcerer.bloodline, op: set, value: "'imperial'" }
|
|
6
6
|
- { target: spellcasting.tradition, op: set, value: "'arcane'" }
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
id: classes.sorcerer.bloodlines.undead
|
|
2
2
|
type: feature
|
|
3
|
-
fields: { level: 1 }
|
|
3
|
+
fields: { level: 1, classOption: sorcerer.bloodline }
|
|
4
4
|
effects:
|
|
5
5
|
- { target: sorcerer.bloodline, op: set, value: "'undead'" }
|
|
6
6
|
- { target: spellcasting.tradition, op: set, value: "'divine'" }
|
|
@@ -42,50 +42,12 @@ choices:
|
|
|
42
42
|
# Asked first, so the repertoire's picks see the tradition and the free skills the bloodline's
|
|
43
43
|
# trainings.
|
|
44
44
|
- id: bloodline
|
|
45
|
-
from:
|
|
46
|
-
items:
|
|
47
|
-
[
|
|
48
|
-
classes.sorcerer.bloodlines.aberrant,
|
|
49
|
-
classes.sorcerer.bloodlines.angelic,
|
|
50
|
-
classes.sorcerer.bloodlines.demonic,
|
|
51
|
-
classes.sorcerer.bloodlines.diabolic,
|
|
52
|
-
classes.sorcerer.bloodlines.draconic,
|
|
53
|
-
classes.sorcerer.bloodlines.elemental,
|
|
54
|
-
classes.sorcerer.bloodlines.fey,
|
|
55
|
-
classes.sorcerer.bloodlines.hag,
|
|
56
|
-
classes.sorcerer.bloodlines.imperial,
|
|
57
|
-
classes.sorcerer.bloodlines.undead,
|
|
58
|
-
]
|
|
45
|
+
from: { type: feature, where: "item.classOption == 'sorcerer.bloodline'" }
|
|
59
46
|
- id: skills
|
|
60
47
|
unique: skill-training
|
|
61
48
|
pick: 2 + max(0, attributes.int.mod)
|
|
62
49
|
from:
|
|
63
|
-
values:
|
|
64
|
-
[
|
|
65
|
-
skill.acrobatics,
|
|
66
|
-
skill.arcana,
|
|
67
|
-
skill.athletics,
|
|
68
|
-
skill.crafting,
|
|
69
|
-
skill.deception,
|
|
70
|
-
skill.diplomacy,
|
|
71
|
-
skill.intimidation,
|
|
72
|
-
skill.medicine,
|
|
73
|
-
skill.nature,
|
|
74
|
-
skill.occultism,
|
|
75
|
-
skill.performance,
|
|
76
|
-
skill.religion,
|
|
77
|
-
skill.society,
|
|
78
|
-
skill.stealth,
|
|
79
|
-
skill.survival,
|
|
80
|
-
skill.thievery,
|
|
81
|
-
skill.lore.academia,
|
|
82
|
-
skill.lore.circus,
|
|
83
|
-
skill.lore.farming,
|
|
84
|
-
skill.lore.legal,
|
|
85
|
-
skill.lore.scribing,
|
|
86
|
-
skill.lore.underworld,
|
|
87
|
-
skill.lore.warfare,
|
|
88
|
-
]
|
|
50
|
+
values: { formula: skills.offered }
|
|
89
51
|
where: '!(value in skills.trained) && !(value in skills.chosen) || value in choice.picks'
|
|
90
52
|
effects:
|
|
91
53
|
- { target: skills.chosen, op: grant, value: { formula: pick.value } }
|
|
@@ -118,32 +118,7 @@ choices:
|
|
|
118
118
|
unique: skill-training
|
|
119
119
|
pick: 4 + max(0, attributes.int.mod)
|
|
120
120
|
from:
|
|
121
|
-
values:
|
|
122
|
-
[
|
|
123
|
-
skill.acrobatics,
|
|
124
|
-
skill.arcana,
|
|
125
|
-
skill.athletics,
|
|
126
|
-
skill.crafting,
|
|
127
|
-
skill.deception,
|
|
128
|
-
skill.diplomacy,
|
|
129
|
-
skill.intimidation,
|
|
130
|
-
skill.medicine,
|
|
131
|
-
skill.nature,
|
|
132
|
-
skill.occultism,
|
|
133
|
-
skill.performance,
|
|
134
|
-
skill.religion,
|
|
135
|
-
skill.society,
|
|
136
|
-
skill.stealth,
|
|
137
|
-
skill.survival,
|
|
138
|
-
skill.thievery,
|
|
139
|
-
skill.lore.academia,
|
|
140
|
-
skill.lore.circus,
|
|
141
|
-
skill.lore.farming,
|
|
142
|
-
skill.lore.legal,
|
|
143
|
-
skill.lore.scribing,
|
|
144
|
-
skill.lore.underworld,
|
|
145
|
-
skill.lore.warfare,
|
|
146
|
-
]
|
|
121
|
+
values: { formula: skills.offered }
|
|
147
122
|
where: '!(value in skills.trained) && !(value in skills.chosen) || value in choice.picks'
|
|
148
123
|
effects:
|
|
149
124
|
- { target: skills.chosen, op: grant, value: { formula: pick.value } }
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
id: classes.witch.patrons.faiths-flamekeeper
|
|
2
2
|
type: feature
|
|
3
|
-
fields: { level: 1 }
|
|
3
|
+
fields: { level: 1, classOption: witch.patron }
|
|
4
4
|
effects:
|
|
5
5
|
- { target: witch.patron, op: set, value: "'faiths-flamekeeper'" }
|
|
6
6
|
- { target: spellcasting.tradition, op: set, value: "'divine'" }
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
id: classes.witch.patrons.inscribed-one
|
|
2
2
|
type: feature
|
|
3
|
-
fields: { level: 1 }
|
|
3
|
+
fields: { level: 1, classOption: witch.patron }
|
|
4
4
|
effects:
|
|
5
5
|
- { target: witch.patron, op: set, value: "'inscribed-one'" }
|
|
6
6
|
- { target: spellcasting.tradition, op: set, value: "'arcane'" }
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
id: classes.witch.patrons.silence-in-snow
|
|
2
2
|
type: feature
|
|
3
|
-
fields: { level: 1 }
|
|
3
|
+
fields: { level: 1, classOption: witch.patron }
|
|
4
4
|
effects:
|
|
5
5
|
- { target: witch.patron, op: set, value: "'silence-in-snow'" }
|
|
6
6
|
- { target: spellcasting.tradition, op: set, value: "'primal'" }
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
id: classes.witch.patrons.spinner-of-threads
|
|
2
2
|
type: feature
|
|
3
|
-
fields: { level: 1 }
|
|
3
|
+
fields: { level: 1, classOption: witch.patron }
|
|
4
4
|
effects:
|
|
5
5
|
- { target: witch.patron, op: set, value: "'spinner-of-threads'" }
|
|
6
6
|
- { target: spellcasting.tradition, op: set, value: "'occult'" }
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
id: classes.witch.patrons.starless-shadow
|
|
2
2
|
type: feature
|
|
3
|
-
fields: { level: 1 }
|
|
3
|
+
fields: { level: 1, classOption: witch.patron }
|
|
4
4
|
effects:
|
|
5
5
|
- { target: witch.patron, op: set, value: "'starless-shadow'" }
|
|
6
6
|
- { target: spellcasting.tradition, op: set, value: "'occult'" }
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
id: classes.witch.patrons.wilding-steward
|
|
2
2
|
type: feature
|
|
3
|
-
fields: { level: 1 }
|
|
3
|
+
fields: { level: 1, classOption: witch.patron }
|
|
4
4
|
effects:
|
|
5
5
|
- { target: witch.patron, op: set, value: "'wilding-steward'" }
|
|
6
6
|
- { target: spellcasting.tradition, op: set, value: "'primal'" }
|
|
@@ -41,17 +41,7 @@ grants:
|
|
|
41
41
|
choices:
|
|
42
42
|
# Asked first, so the familiar's spells follow the tradition.
|
|
43
43
|
- id: patron
|
|
44
|
-
from:
|
|
45
|
-
items:
|
|
46
|
-
[
|
|
47
|
-
classes.witch.patrons.faiths-flamekeeper,
|
|
48
|
-
classes.witch.patrons.inscribed-one,
|
|
49
|
-
classes.witch.patrons.resentment,
|
|
50
|
-
classes.witch.patrons.silence-in-snow,
|
|
51
|
-
classes.witch.patrons.spinner-of-threads,
|
|
52
|
-
classes.witch.patrons.starless-shadow,
|
|
53
|
-
classes.witch.patrons.wilding-steward,
|
|
54
|
-
]
|
|
44
|
+
from: { type: feature, where: "item.classOption == 'witch.patron'" }
|
|
55
45
|
- id: hex
|
|
56
46
|
from:
|
|
57
47
|
options:
|
|
@@ -65,32 +55,7 @@ choices:
|
|
|
65
55
|
unique: skill-training
|
|
66
56
|
pick: 3 + max(0, attributes.int.mod)
|
|
67
57
|
from:
|
|
68
|
-
values:
|
|
69
|
-
[
|
|
70
|
-
skill.acrobatics,
|
|
71
|
-
skill.arcana,
|
|
72
|
-
skill.athletics,
|
|
73
|
-
skill.crafting,
|
|
74
|
-
skill.deception,
|
|
75
|
-
skill.diplomacy,
|
|
76
|
-
skill.intimidation,
|
|
77
|
-
skill.medicine,
|
|
78
|
-
skill.nature,
|
|
79
|
-
skill.occultism,
|
|
80
|
-
skill.performance,
|
|
81
|
-
skill.religion,
|
|
82
|
-
skill.society,
|
|
83
|
-
skill.stealth,
|
|
84
|
-
skill.survival,
|
|
85
|
-
skill.thievery,
|
|
86
|
-
skill.lore.academia,
|
|
87
|
-
skill.lore.circus,
|
|
88
|
-
skill.lore.farming,
|
|
89
|
-
skill.lore.legal,
|
|
90
|
-
skill.lore.scribing,
|
|
91
|
-
skill.lore.underworld,
|
|
92
|
-
skill.lore.warfare,
|
|
93
|
-
]
|
|
58
|
+
values: { formula: skills.offered }
|
|
94
59
|
where: '!(value in skills.trained) && !(value in skills.chosen) || value in choice.picks'
|
|
95
60
|
effects:
|
|
96
61
|
- { target: skills.chosen, op: grant, value: { formula: pick.value } }
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
id: classes.wizard.schools.unified-magical-theory
|
|
2
2
|
type: feature
|
|
3
|
-
fields: { level: 1 }
|
|
3
|
+
fields: { level: 1, classOption: wizard.school }
|
|
4
4
|
effects:
|
|
5
5
|
- { target: wizard.school, op: set, value: "'unified-magical-theory'" }
|
|
6
6
|
- { target: focus.points, op: add, value: 1 }
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
id: classes.wizard.theses.improved-familiar-attunement
|
|
2
2
|
type: feature
|
|
3
|
-
fields: { level: 1 }
|
|
3
|
+
fields: { level: 1, classOption: wizard.thesis }
|
|
4
4
|
# Drain Familiar is Drain Bonded Item's action here.
|
|
5
5
|
effects:
|
|
6
6
|
- { target: wizard.thesis, op: set, value: "'improved-familiar-attunement'" }
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
id: classes.wizard.theses.spell-blending
|
|
2
2
|
type: feature
|
|
3
|
-
fields: { level: 1 }
|
|
3
|
+
fields: { level: 1, classOption: wizard.thesis }
|
|
4
4
|
# The trades are inputs per rank that the slot counts read (`spellBlending.*`).
|
|
5
5
|
effects:
|
|
6
6
|
- { target: wizard.thesis, op: set, value: "'spell-blending'" }
|