@opencharacter/orc-sf-2e 0.1.1 → 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 +58 -15
- package/content/backgrounds/raised-by-belief.yaml +4 -1
- package/content/classes/envoy.yaml +2 -52
- package/content/classes/mystic/connections/akashic.yaml +1 -1
- package/content/classes/mystic/connections/elemental.yaml +62 -1
- package/content/classes/mystic/connections/healing.yaml +1 -1
- package/content/classes/mystic/connections/rhythm.yaml +1 -1
- package/content/classes/mystic/connections/shadow.yaml +1 -1
- package/content/classes/mystic.yaml +2 -51
- package/content/classes/operative.yaml +1 -44
- package/content/classes/solarian.yaml +1 -44
- package/content/classes/soldier.yaml +2 -51
- package/content/classes/witchwarper/anchors/core-memories.yaml +4 -216
- package/content/classes/witchwarper/anchors/focal-point.yaml +1 -1
- package/content/classes/witchwarper/anchors/tangible-object.yaml +1 -1
- package/content/classes/witchwarper/paradoxes/analyst.yaml +1 -1
- package/content/classes/witchwarper/paradoxes/anomaly.yaml +1 -1
- package/content/classes/witchwarper/paradoxes/lost-history.yaml +1 -1
- package/content/classes/witchwarper/paradoxes/precog.yaml +1 -1
- package/content/classes/witchwarper.yaml +3 -55
- package/content/effects/treated-disease.yaml +4 -0
- package/content/effects/treated-poison.yaml +4 -0
- package/content/feats/ancestry/android-lore.yaml +4 -8
- package/content/feats/ancestry/barathu-lore.yaml +4 -8
- package/content/feats/ancestry/borai-lore.yaml +4 -8
- package/content/feats/ancestry/extra-devotion.yaml +4 -8
- package/content/feats/ancestry/fixation.yaml +15 -1
- package/content/feats/ancestry/harmonic-sensitivity.yaml +16 -6
- package/content/feats/ancestry/kasatha-lore.yaml +4 -8
- package/content/feats/ancestry/lashunta-lore.yaml +10 -8
- package/content/feats/ancestry/pahtra-lore.yaml +4 -8
- package/content/feats/ancestry/prismeni-lore.yaml +4 -8
- package/content/feats/ancestry/shirren-lore.yaml +4 -8
- package/content/feats/ancestry/skittermander-lore.yaml +4 -8
- package/content/feats/ancestry/ysoki-lore.yaml +4 -8
- package/content/feats/archetype/envoy/envoy-dedication.yaml +2 -88
- package/content/feats/envoy/effortless-influencer.yaml +4 -0
- package/content/feats/mystic/new-epiphany.yaml +1 -1
- package/content/feats/mystic/realized-epiphany.yaml +1 -1
- package/content/feats/mystic/syncretic-epiphany.yaml +1 -1
- package/content/feats/skill/additional-lore.yaml +54 -391
- package/content/feats/skill/assurance.yaml +3 -30
- package/content/feats/skill/skill-training.yaml +1 -57
- package/content/features/envoy/style/from-the-front.yaml +1 -1
- package/content/features/envoy/style/from-the-shadows.yaml +2 -2
- package/content/features/envoy/style/guns-blazing.yaml +1 -1
- package/content/features/envoy/style/in-the-spotlight.yaml +1 -1
- package/content/features/envoy/style/infosphere-director.yaml +1 -1
- package/content/features/envoy/style/through-desperate-times.yaml +1 -1
- package/content/features/solarian/re-forge-solar-weapon.yaml +19 -24
- package/content/features/soldier/style/action-hero.yaml +1 -1
- package/content/features/soldier/style/armor-storm.yaml +1 -1
- package/content/features/soldier/style/bombard.yaml +1 -1
- package/content/features/soldier/style/close-quarters.yaml +1 -1
- package/content/features/soldier/style/erudite-warrior.yaml +1 -1
- package/content/features/spellcasting/archetype-repertoire.yaml +1 -1
- package/content/gear/comm-unit.yaml +1 -0
- package/content/heritages/warblood-vesk.yaml +18 -1
- package/content/spells/elemental-barrier.yaml +2 -1
- package/content/spells/elemental-weapon.yaml +10 -1
- package/content/spells/guidance.yaml +2 -0
- package/content/spells/shield.yaml +1 -0
- package/content/spells/sure-strike.yaml +8 -1
- package/content/spells/true-target.yaml +2 -0
- package/content/templates/elemental/air.yaml +6 -0
- package/content/templates/elemental/earth.yaml +6 -0
- package/content/templates/elemental/fire.yaml +6 -0
- package/content/templates/elemental/metal.yaml +6 -0
- package/content/templates/elemental/water.yaml +6 -0
- package/content/templates/elemental/wood.yaml +6 -0
- package/dist/i18n/en.js +1 -1
- package/dist/i18n/en.json +51 -73
- package/dist/index.js +1 -1
- package/dist/release.json +6191 -8327
- package/i18n/en/ancestries.yaml +1 -0
- package/i18n/en/ancestry-feats.yaml +4 -0
- package/i18n/en/archetypes.yaml +2 -2
- package/i18n/en/core.yaml +8 -2
- package/i18n/en/headline.yaml +4 -0
- package/i18n/en/mystic.yaml +12 -0
- package/i18n/en/sf-core.yaml +0 -11
- package/i18n/en/skills.yaml +6 -3
- package/i18n/en/tags.yaml +2 -0
- package/i18n/en/types.yaml +1 -0
- package/i18n/en/witchwarper.yaml +0 -54
- package/i18n/en.yaml +14 -1
- package/pack.yaml +2 -2
- package/package.json +2 -2
- package/rules/advancement.yaml +1 -0
- package/rules/afflictions.yaml +4 -5
- package/rules/archetypes.yaml +1 -0
- package/rules/building.yaml +7 -1
- package/rules/checks.yaml +1 -1
- package/rules/conditions.yaml +1 -0
- package/rules/core.yaml +1 -0
- package/rules/creation.yaml +18 -0
- package/rules/equipment.yaml +7 -2
- package/rules/heritages.yaml +1 -1
- package/rules/layout.yaml +62 -4
- package/rules/mystic.yaml +24 -1
- package/rules/skill-actions-stealth.yaml +1 -1
- package/rules/skills.yaml +254 -81
- package/rules/solarian.yaml +1 -2
- package/rules/spellcasting.yaml +89 -25
- package/rules/spells-high.yaml +3 -3
- package/rules/strikes.yaml +9 -92
- package/rules/tags.yaml +6 -0
- package/rules/witchwarper.yaml +7 -7
- package/upgrades/0.1.1-to-0.2.0.yaml +18 -0
- package/upgrades/0.2.0-to-0.3.0.yaml +12 -0
|
@@ -10,63 +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.computers,
|
|
19
|
-
skill.crafting,
|
|
20
|
-
skill.deception,
|
|
21
|
-
skill.diplomacy,
|
|
22
|
-
skill.intimidation,
|
|
23
|
-
skill.medicine,
|
|
24
|
-
skill.nature,
|
|
25
|
-
skill.occultism,
|
|
26
|
-
skill.performance,
|
|
27
|
-
skill.piloting,
|
|
28
|
-
skill.religion,
|
|
29
|
-
skill.society,
|
|
30
|
-
skill.stealth,
|
|
31
|
-
skill.survival,
|
|
32
|
-
skill.thievery,
|
|
33
|
-
skill.lore.academia,
|
|
34
|
-
skill.lore.circus,
|
|
35
|
-
skill.lore.farming,
|
|
36
|
-
skill.lore.legal,
|
|
37
|
-
skill.lore.scribing,
|
|
38
|
-
skill.lore.underworld,
|
|
39
|
-
skill.lore.warfare,
|
|
40
|
-
skill.lore.alcohol,
|
|
41
|
-
skill.lore.art,
|
|
42
|
-
skill.lore.cooking,
|
|
43
|
-
skill.lore.engineering,
|
|
44
|
-
skill.lore.fortune-telling,
|
|
45
|
-
skill.lore.games,
|
|
46
|
-
skill.lore.genealogy,
|
|
47
|
-
skill.lore.gladiatorial,
|
|
48
|
-
skill.lore.guild,
|
|
49
|
-
skill.lore.heraldry,
|
|
50
|
-
skill.lore.herbalism,
|
|
51
|
-
skill.lore.labor,
|
|
52
|
-
skill.lore.mercantile,
|
|
53
|
-
skill.lore.mining,
|
|
54
|
-
skill.lore.sailing,
|
|
55
|
-
skill.lore.tanning,
|
|
56
|
-
skill.lore.theater,
|
|
57
|
-
skill.lore.cave,
|
|
58
|
-
skill.lore.desert,
|
|
59
|
-
skill.lore.forest,
|
|
60
|
-
skill.lore.mountain,
|
|
61
|
-
skill.lore.plains,
|
|
62
|
-
skill.lore.swamp,
|
|
63
|
-
skill.lore.dwarf,
|
|
64
|
-
skill.lore.elf,
|
|
65
|
-
skill.lore.goblin,
|
|
66
|
-
skill.lore.halfling,
|
|
67
|
-
skill.lore.leshy,
|
|
68
|
-
skill.lore.orc,
|
|
69
|
-
]
|
|
13
|
+
values: { formula: skills.offered + skills.lores }
|
|
70
14
|
where: '!(value in skills.trained) && !(value in skills.chosen) || value in choice.picks'
|
|
71
15
|
effects:
|
|
72
16
|
- { target: skills.chosen, op: grant, value: { formula: pick.value } }
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
id: features.envoy.style.from-the-shadows
|
|
2
2
|
type: feature
|
|
3
|
-
fields: { level: 1 }
|
|
3
|
+
fields: { level: 1, classOption: envoy.leadership-style }
|
|
4
4
|
effects:
|
|
5
5
|
- target: skills.trained
|
|
6
6
|
op: grant
|
|
@@ -9,5 +9,5 @@ effects:
|
|
|
9
9
|
- { target: skills.trainings, op: add, value: 1 }
|
|
10
10
|
grants:
|
|
11
11
|
- item: feats.skill.assurance
|
|
12
|
-
|
|
12
|
+
choices: { skill: [{ option: skill.stealth }] }
|
|
13
13
|
waivePrerequisites: true
|
|
@@ -33,30 +33,25 @@ actions:
|
|
|
33
33
|
repeat: { max: 2, min: 0 }
|
|
34
34
|
recommend: "'#done'"
|
|
35
35
|
options:
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
- { id: two-hand, when: 'true' }
|
|
56
|
-
- id: agile
|
|
57
|
-
when: "picks == 0 && !('agile' in ['agile', 'twin']) || ('agile' in ['agile', 'twin'] && @feats.solarian.twin-weapons in feats.held)"
|
|
58
|
-
- id: twin
|
|
59
|
-
when: "picks == 0 && !('twin' in ['agile', 'twin']) || ('twin' in ['agile', 'twin'] && @feats.solarian.twin-weapons in feats.held)"
|
|
36
|
+
values:
|
|
37
|
+
- disarm
|
|
38
|
+
- free-hand
|
|
39
|
+
- grapple
|
|
40
|
+
- nonlethal
|
|
41
|
+
- parry
|
|
42
|
+
- shove
|
|
43
|
+
- sweep
|
|
44
|
+
- trip
|
|
45
|
+
- versatile
|
|
46
|
+
- reach
|
|
47
|
+
- two-hand
|
|
48
|
+
- agile
|
|
49
|
+
- twin
|
|
50
|
+
where: >-
|
|
51
|
+
picks == 0
|
|
52
|
+
&& (!(value in ['agile', 'twin']) || @feats.solarian.twin-weapons in feats.held)
|
|
53
|
+
&& (value in ['reach', 'two-hand'] ? size(steps.traits.picked) == 0
|
|
54
|
+
: countList(steps.traits.picked, x in ['reach', 'two-hand']) == 0)
|
|
60
55
|
- id: apply
|
|
61
56
|
kind: changes
|
|
62
57
|
changes:
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
id: features.soldier.style.armor-storm
|
|
2
2
|
type: feature
|
|
3
|
-
fields: { level: 1 }
|
|
3
|
+
fields: { level: 1, classOption: soldier.fighting-style }
|
|
4
4
|
effects:
|
|
5
5
|
- { target: soldier.armorStorm, op: set, value: true }
|
|
6
6
|
- target: { incoming: { fields: [hp.current], tags: [damage] } }
|
|
@@ -2,7 +2,7 @@ id: features.spellcasting.archetype-repertoire
|
|
|
2
2
|
type: feature
|
|
3
3
|
fields: { level: 2 }
|
|
4
4
|
state:
|
|
5
|
-
source: { type: string, default:
|
|
5
|
+
source: { type: string, default: mystic }
|
|
6
6
|
choices:
|
|
7
7
|
- id: cantrips
|
|
8
8
|
pick: "fieldOf('spellcasting.archetype.{archetypeSource}.cantrips', self.source)"
|
|
@@ -1,4 +1,21 @@
|
|
|
1
1
|
id: heritages.warblood-vesk
|
|
2
2
|
type: heritage
|
|
3
3
|
fields: { ancestry: ancestries.vesk }
|
|
4
|
-
|
|
4
|
+
choices:
|
|
5
|
+
- id: attacks
|
|
6
|
+
pick: 2
|
|
7
|
+
activate: false
|
|
8
|
+
from:
|
|
9
|
+
items:
|
|
10
|
+
- features.ancestry.vesk-claw
|
|
11
|
+
- features.ancestry.vesk-jaws
|
|
12
|
+
- features.ancestry.vesk-tail
|
|
13
|
+
grants:
|
|
14
|
+
- item: feats.ancestry.brutal-anatomy
|
|
15
|
+
when: size(picksOf('attacks')) > 0
|
|
16
|
+
waivePrerequisites: true
|
|
17
|
+
choices: { attack: [{ option: { formula: "picksOf('attacks')[0]" } }] }
|
|
18
|
+
- item: feats.ancestry.brutal-anatomy
|
|
19
|
+
when: size(picksOf('attacks')) > 1
|
|
20
|
+
waivePrerequisites: true
|
|
21
|
+
choices: { attack: [{ option: { formula: "picksOf('attacks')[1]" } }] }
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
id: spells.elemental-barrier
|
|
2
2
|
type: spell
|
|
3
3
|
tags: [trait.focus, trait.manipulate, trait.mystic, trait.uncommon]
|
|
4
|
-
fields:
|
|
4
|
+
fields:
|
|
5
|
+
{ rank: 4, cast: two, range: 30, targets: 1, duration: minutes, durationAmount: 1, applyTo: self }
|
|
@@ -1,4 +1,13 @@
|
|
|
1
1
|
id: spells.elemental-weapon
|
|
2
2
|
type: spell
|
|
3
3
|
tags: [trait.concentrate, trait.focus, trait.manipulate, trait.mystic, trait.uncommon]
|
|
4
|
-
fields:
|
|
4
|
+
fields:
|
|
5
|
+
{
|
|
6
|
+
rank: 1,
|
|
7
|
+
cast: three,
|
|
8
|
+
range: 30,
|
|
9
|
+
targets: 1,
|
|
10
|
+
duration: minutes,
|
|
11
|
+
durationAmount: 10,
|
|
12
|
+
applyTo: self,
|
|
13
|
+
}
|
|
@@ -1,4 +1,11 @@
|
|
|
1
1
|
id: spells.sure-strike
|
|
2
2
|
type: spell
|
|
3
3
|
tags: [tradition.arcane, tradition.occult, trait.concentrate, trait.fortune]
|
|
4
|
-
fields: { rank: 1, cast: one, duration: until-end-of-turn }
|
|
4
|
+
fields: { rank: 1, cast: one, duration: until-end-of-turn, applyTo: self }
|
|
5
|
+
effects:
|
|
6
|
+
- target: { rolls: [attack] }
|
|
7
|
+
op: rollModifier
|
|
8
|
+
value: { kind: advantage }
|
|
9
|
+
scope: applied
|
|
10
|
+
then:
|
|
11
|
+
- { type: removeEffect, entry: self }
|