@opencharacter/orc-sf-2e 0.1.0 → 0.2.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 (34) hide show
  1. package/README.md +6 -12
  2. package/content/backgrounds/raised-by-belief.yaml +4 -1
  3. package/content/classes/witchwarper/anchors/core-memories.yaml +3 -215
  4. package/content/feats/ancestry/android-lore.yaml +4 -8
  5. package/content/feats/ancestry/barathu-lore.yaml +4 -8
  6. package/content/feats/ancestry/borai-lore.yaml +4 -8
  7. package/content/feats/ancestry/extra-devotion.yaml +4 -8
  8. package/content/feats/ancestry/fixation.yaml +53 -1
  9. package/content/feats/ancestry/kasatha-lore.yaml +4 -8
  10. package/content/feats/ancestry/lashunta-lore.yaml +4 -8
  11. package/content/feats/ancestry/pahtra-lore.yaml +4 -8
  12. package/content/feats/ancestry/prismeni-lore.yaml +4 -8
  13. package/content/feats/ancestry/shirren-lore.yaml +4 -8
  14. package/content/feats/ancestry/skittermander-lore.yaml +4 -8
  15. package/content/feats/ancestry/ysoki-lore.yaml +4 -8
  16. package/content/feats/envoy/effortless-influencer.yaml +4 -0
  17. package/content/feats/skill/assurance.yaml +57 -30
  18. package/content/features/envoy/style/from-the-shadows.yaml +1 -1
  19. package/content/features/solarian/re-forge-solar-weapon.yaml +19 -24
  20. package/content/features/spellcasting/archetype-repertoire.yaml +1 -1
  21. package/content/heritages/warblood-vesk.yaml +18 -1
  22. package/content/spells/shield.yaml +1 -0
  23. package/dist/i18n/en.js +1 -1
  24. package/dist/i18n/en.json +41 -54
  25. package/dist/index.js +1 -1
  26. package/dist/release.json +1446 -5662
  27. package/i18n/en/ancestries.yaml +1 -0
  28. package/i18n/en/ancestry-feats.yaml +40 -0
  29. package/i18n/en/witchwarper.yaml +0 -54
  30. package/pack.yaml +2 -2
  31. package/package.json +2 -2
  32. package/rules/spellcasting.yaml +0 -4
  33. package/rules/strikes.yaml +6 -91
  34. package/upgrades/0.1.1-to-0.2.0.yaml +18 -0
@@ -33,30 +33,25 @@ actions:
33
33
  repeat: { max: 2, min: 0 }
34
34
  recommend: "'#done'"
35
35
  options:
36
- - id: disarm
37
- when: "picks == 0 && !('disarm' in ['agile', 'twin']) || ('disarm' in ['agile', 'twin'] && @feats.solarian.twin-weapons in feats.held)"
38
- - id: free-hand
39
- when: "picks == 0 && !('free-hand' in ['agile', 'twin']) || ('free-hand' in ['agile', 'twin'] && @feats.solarian.twin-weapons in feats.held)"
40
- - id: grapple
41
- when: "picks == 0 && !('grapple' in ['agile', 'twin']) || ('grapple' in ['agile', 'twin'] && @feats.solarian.twin-weapons in feats.held)"
42
- - id: nonlethal
43
- when: "picks == 0 && !('nonlethal' in ['agile', 'twin']) || ('nonlethal' in ['agile', 'twin'] && @feats.solarian.twin-weapons in feats.held)"
44
- - id: parry
45
- when: "picks == 0 && !('parry' in ['agile', 'twin']) || ('parry' in ['agile', 'twin'] && @feats.solarian.twin-weapons in feats.held)"
46
- - id: shove
47
- when: "picks == 0 && !('shove' in ['agile', 'twin']) || ('shove' in ['agile', 'twin'] && @feats.solarian.twin-weapons in feats.held)"
48
- - id: sweep
49
- when: "picks == 0 && !('sweep' in ['agile', 'twin']) || ('sweep' in ['agile', 'twin'] && @feats.solarian.twin-weapons in feats.held)"
50
- - id: trip
51
- when: "picks == 0 && !('trip' in ['agile', 'twin']) || ('trip' in ['agile', 'twin'] && @feats.solarian.twin-weapons in feats.held)"
52
- - id: versatile
53
- when: "picks == 0 && !('versatile' in ['agile', 'twin']) || ('versatile' in ['agile', 'twin'] && @feats.solarian.twin-weapons in feats.held)"
54
- - { id: reach, when: 'true' }
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:
@@ -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: bard }
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
- grants: [{ item: feats.ancestry.brutal-anatomy, waivePrerequisites: true }]
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]" } }] }
@@ -19,3 +19,4 @@ effects:
19
19
  value: 'min(5 + 5 * floor((self.rank - 1) / 2), -incoming.amount)'
20
20
  when: 'situational.shieldSpellBlock && incoming.amount < 0'
21
21
  scope: applied
22
+ then: [{ type: removeEffect, entry: self }]