@opencharacter/orc-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.
- package/README.md +7 -6
- 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/champion/resistance.yaml +2 -0
- package/content/classes/wizard.yaml +0 -6
- package/content/feats/ancestry/changeling-lore.yaml +3 -1
- package/content/feats/archetype/gladiator/gladiator-dedication.yaml +1 -1
- package/content/feats/archetype/scout/terrain-scout.yaml +6 -0
- package/content/feats/archetype/viking/viking-dedication.yaml +3 -1
- package/content/feats/skill/additional-lore.yaml +12 -0
- package/content/feats/skill/assurance.yaml +8 -30
- package/content/feats/skill/terrain-stalker.yaml +1 -0
- package/content/features/wizard/arcane-bond.yaml +8 -4
- package/content/heritages/deep-orc.yaml +3 -1
- package/content/heritages/woodstalker-lizardfolk.yaml +3 -1
- package/content/spells/enduring-might.yaml +2 -0
- package/content/spells/energy-absorption.yaml +2 -0
- package/content/spells/fire-shield.yaml +31 -0
- package/content/spells/flame-barrier.yaml +2 -0
- package/content/spells/shield.yaml +2 -0
- package/dist/i18n/en.js +1 -1
- package/dist/i18n/en.json +14 -2
- package/dist/index.js +1 -1
- package/dist/release.json +1532 -799
- package/i18n/en/archetypes.yaml +4 -0
- package/i18n/en/lores-pc2.yaml +6 -0
- package/i18n/en/spellcasting.yaml +1 -0
- package/i18n/en/spells-high.yaml +1 -0
- package/i18n/en/wizard.yaml +2 -2
- package/pack.yaml +2 -2
- package/package.json +2 -2
- package/rules/lores-pc2.yaml +47 -0
- package/rules/spellcasting.yaml +11 -4
- package/rules/wizard.yaml +1 -1
- package/upgrades/0.1.0-to-0.2.0.yaml +11 -0
package/i18n/en/archetypes.yaml
CHANGED
|
@@ -875,6 +875,10 @@ feats.archetype.scout.scouts-charge.name: "Scout's Charge"
|
|
|
875
875
|
feats.archetype.scout.scouts-charge.description: 'Two actions, flourish. Stride, Feint an enemy (with Stealth if you like), then Strike it.'
|
|
876
876
|
feats.archetype.scout.terrain-scout.prerequisites.scout-dedication: 'Scout Dedication'
|
|
877
877
|
feats.archetype.scout.terrain-scout.name: 'Terrain Scout'
|
|
878
|
+
feats.archetype.scout.terrain-scout.choices.terrain.prompt: 'Second terrain'
|
|
879
|
+
feats.archetype.scout.terrain-scout.choices.terrain.options.rubble.name: 'Rubble'
|
|
880
|
+
feats.archetype.scout.terrain-scout.choices.terrain.options.snow.name: 'Snow'
|
|
881
|
+
feats.archetype.scout.terrain-scout.choices.terrain.options.underbrush.name: 'Underbrush'
|
|
878
882
|
feats.archetype.scout.terrain-scout.description: 'You gain Terrain Stalker twice, for two terrains, and can share one with an ally following you.'
|
|
879
883
|
feats.archetype.scout.fleeting-shadow.prerequisites.scout-dedication: 'Scout Dedication'
|
|
880
884
|
feats.archetype.scout.fleeting-shadow.name: 'Fleeting Shadow'
|
package/i18n/en/lores-pc2.yaml
CHANGED
|
@@ -89,6 +89,11 @@ fields.skills.lore.vampire.trainedByIncrease.name: 'Vampire Lore trained by a sk
|
|
|
89
89
|
fields.skills.lore.vampire.mod.name: 'Vampire Lore'
|
|
90
90
|
fields.skills.lore.vampire.rank.name: 'Vampire Lore proficiency'
|
|
91
91
|
tags.skill.lore.vampire.name: 'Vampire Lore'
|
|
92
|
+
fields.skills.lore.hag.increases.name: 'Hag Lore increases'
|
|
93
|
+
fields.skills.lore.hag.trainedByIncrease.name: 'Hag Lore trained by a skill increase'
|
|
94
|
+
fields.skills.lore.hag.mod.name: 'Hag Lore'
|
|
95
|
+
fields.skills.lore.hag.rank.name: 'Hag Lore proficiency'
|
|
96
|
+
tags.skill.lore.hag.name: 'Hag Lore'
|
|
92
97
|
feats.skill.additional-lore.choices.lore.options.accounting.name: 'Accounting Lore'
|
|
93
98
|
feats.skill.additional-lore.choices.lore.options.astrology.name: 'Astrology Lore'
|
|
94
99
|
feats.skill.additional-lore.choices.lore.options.afterlife.name: 'Afterlife Lore'
|
|
@@ -107,3 +112,4 @@ feats.skill.additional-lore.choices.lore.options.ratfolk.name: 'Ratfolk Lore'
|
|
|
107
112
|
feats.skill.additional-lore.choices.lore.options.tengu.name: 'Tengu Lore'
|
|
108
113
|
feats.skill.additional-lore.choices.lore.options.tripkee.name: 'Tripkee Lore'
|
|
109
114
|
feats.skill.additional-lore.choices.lore.options.vampire.name: 'Vampire Lore'
|
|
115
|
+
feats.skill.additional-lore.choices.lore.options.hag.name: 'Hag Lore'
|
|
@@ -68,6 +68,7 @@ fields.spellSlots.rank10.used.name: 10th-rank slots spent
|
|
|
68
68
|
|
|
69
69
|
situational.againstMental.name: Against a mental effect
|
|
70
70
|
situational.shieldSpellBlock.name: Shield Block with the shield spell
|
|
71
|
+
situational.fireShieldBlock.name: Shield Block with fire shield
|
|
71
72
|
|
|
72
73
|
groups.spellcasting.label: Spellcasting
|
|
73
74
|
groups.spell-slots.label: Spell slots
|
package/i18n/en/spells-high.yaml
CHANGED
|
@@ -498,6 +498,7 @@ spells.fiery-body.description: |-
|
|
|
498
498
|
|
|
499
499
|
**Heightened (9th)** Touching you deals 4d6 fire damage, your unarmed attacks 2d4 more fire damage, and your fly Speed is 60 feet.
|
|
500
500
|
spells.fire-shield.name: 'Fire Shield'
|
|
501
|
+
spells.fire-shield.state.blocked.name: 'Shield damage'
|
|
501
502
|
spells.fire-shield.description: |-
|
|
502
503
|
A hovering shield of fire gives you cold resistance 5 and protects you from mild and severe environmental cold. You can Raise a Shield with it for a +1 circumstance bonus to AC, and Shield Block with it: Hardness 10 (halved against water effects), 40 HP, no Broken Threshold, immune to fire. When you Shield Block an unarmed attack or an adjacent attacker's melee attack with it, the attacker takes 2d6 fire damage.
|
|
503
504
|
|
package/i18n/en/wizard.yaml
CHANGED
|
@@ -2,8 +2,6 @@
|
|
|
2
2
|
# Short rules text written for the pack.
|
|
3
3
|
classes.wizard.name: Wizard
|
|
4
4
|
classes.wizard.description: "A scholar of arcane magic who prepares spells from a spellbook. Key attribute: Intelligence. 6 Hit Points plus Constitution per level. Trained in Perception, Fortitude and Reflex, expert in Will; trained in simple weapons and unarmed attacks; trained in unarmored defense; trained in the wizard class DC, spell attack modifier and spell DC. Trained in Arcana and 2 skills plus Intelligence. Arcane prepared spellcasting with Intelligence: two spells of each rank (three from the next level) and five cantrips, prepared from your spellbook, plus your curriculum's extra cantrip and spell of each rank."
|
|
5
|
-
classes.wizard.state.bondDrained.name: Ranks drained from the bonded item today
|
|
6
|
-
classes.wizard.state.linkedFocusUsed.name: Linked Focus used today
|
|
7
5
|
classes.wizard.choices.school.prompt: Arcane school
|
|
8
6
|
classes.wizard.choices.curriculum-cantrip.prompt: 'Curriculum: a cantrip for your spellbook'
|
|
9
7
|
classes.wizard.choices.curriculum.prompt: 'Curriculum: rank {slot} spells for your spellbook'
|
|
@@ -49,6 +47,8 @@ classes.wizard.theses.staff-nexus.name: Staff Nexus
|
|
|
49
47
|
classes.wizard.theses.staff-nexus.description: 'You start with a makeshift staff holding a cantrip and a 1st-rank spell from your spellbook. At daily preparations, expend a spell to give it charges equal to its rank (two spells from 8th level, three from 16th); casting the 1st-rank spell from it costs a charge. You can merge it with another staff, adding its two spells.'
|
|
50
48
|
|
|
51
49
|
features.wizard.arcane-bond.name: Arcane Bond
|
|
50
|
+
features.wizard.arcane-bond.state.bondDrained.name: Ranks drained from the bonded item today
|
|
51
|
+
features.wizard.arcane-bond.state.linkedFocusUsed.name: Linked Focus used today
|
|
52
52
|
features.wizard.arcane-bond.description: 'Each day when you prepare spells, you designate an item you own as your bonded item. Drain Bonded Item (free action, arcane, once per day; your bonded item is on your person): this turn, you can cast one spell you prepared today and already cast, without spending a slot.'
|
|
53
53
|
features.wizard.arcane-bond.actions.drain-bonded-item.name: Drain Bonded Item
|
|
54
54
|
features.wizard.arcane-bond.actions.drain-bonded-item.steps.spell.prompt: A prepared spell you already cast today
|
package/pack.yaml
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
id: orc-2e
|
|
2
|
-
version: 0.
|
|
3
|
-
specVersion: 0.
|
|
2
|
+
version: 0.2.0
|
|
3
|
+
specVersion: 0.2.0
|
|
4
4
|
license: ORC
|
|
5
5
|
# The ORC License's four notices (Article III): the attribution of the Licensed Material used is the
|
|
6
6
|
# credit line; the ORC Notice, the Reserved Material notice and the Expressly Designated Licensed
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@opencharacter/orc-2e",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.2.0",
|
|
4
4
|
"description": "Open Character Format pack: Second Edition fantasy rules (Player Core, Player Core 2 and GM Core) under the ORC License.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"character-sheet",
|
|
@@ -51,7 +51,7 @@
|
|
|
51
51
|
"access": "public"
|
|
52
52
|
},
|
|
53
53
|
"devDependencies": {
|
|
54
|
-
"@opencharacter/engine": "0.
|
|
54
|
+
"@opencharacter/engine": "0.2.0"
|
|
55
55
|
},
|
|
56
56
|
"engines": {
|
|
57
57
|
"node": ">=22"
|
package/rules/lores-pc2.yaml
CHANGED
|
@@ -17,6 +17,7 @@ tags:
|
|
|
17
17
|
- skill.lore.tengu
|
|
18
18
|
- skill.lore.tripkee
|
|
19
19
|
- skill.lore.vampire
|
|
20
|
+
- skill.lore.hag
|
|
20
21
|
|
|
21
22
|
fields:
|
|
22
23
|
skills.lore.accounting.increases:
|
|
@@ -685,6 +686,43 @@ fields:
|
|
|
685
686
|
skills.lore.vampire.rank == 0 ? ['untrained']
|
|
686
687
|
: [['rank.trained', 'rank.expert', 'rank.master', 'rank.legendary'][min(4, skills.lore.vampire.rank) - 1]]
|
|
687
688
|
formula: 'attributes.int.mod + (skills.lore.vampire.rank > 0 ? 2 * skills.lore.vampire.rank + proficiency.level : proficiency.untrained)'
|
|
689
|
+
skills.lore.hag.increases:
|
|
690
|
+
type: integer
|
|
691
|
+
input: true
|
|
692
|
+
default: 0
|
|
693
|
+
min: 0
|
|
694
|
+
max: >-
|
|
695
|
+
'skill.lore.hag' in skills.trained || 'skill.lore.hag' in skills.chosen
|
|
696
|
+
? skills.maxRank - 1 : 0
|
|
697
|
+
tags:
|
|
698
|
+
- skill-increase
|
|
699
|
+
- lore
|
|
700
|
+
- formula: "'skill.lore.hag' in skills.trained || 'skill.lore.hag' in skills.chosen ? [] : ['untrained']"
|
|
701
|
+
skills.lore.hag.trainedByIncrease:
|
|
702
|
+
{
|
|
703
|
+
type: integer,
|
|
704
|
+
input: true,
|
|
705
|
+
default: 0,
|
|
706
|
+
min: 0,
|
|
707
|
+
max: 1,
|
|
708
|
+
tags: [skill-increase, skill-training, skill.lore.hag, lore],
|
|
709
|
+
}
|
|
710
|
+
skills.lore.hag.rank:
|
|
711
|
+
type: integer
|
|
712
|
+
tags: [skill-rank, lore, skill.lore.hag]
|
|
713
|
+
formula: "('skill.lore.hag' in skills.trained || 'skill.lore.hag' in skills.chosen ? 1 : 0) + skills.lore.hag.increases"
|
|
714
|
+
skills.lore.hag.mod:
|
|
715
|
+
type: integer
|
|
716
|
+
tags:
|
|
717
|
+
- check
|
|
718
|
+
- skill
|
|
719
|
+
- skill.lore.hag
|
|
720
|
+
- attr.int
|
|
721
|
+
- lore
|
|
722
|
+
- formula: >-
|
|
723
|
+
skills.lore.hag.rank == 0 ? ['untrained']
|
|
724
|
+
: [['rank.trained', 'rank.expert', 'rank.master', 'rank.legendary'][min(4, skills.lore.hag.rank) - 1]]
|
|
725
|
+
formula: 'attributes.int.mod + (skills.lore.hag.rank > 0 ? 2 * skills.lore.hag.rank + proficiency.level : proficiency.untrained)'
|
|
688
726
|
# A skill trained by a skill increase counts as a training the player chose.
|
|
689
727
|
effects:
|
|
690
728
|
- {
|
|
@@ -795,6 +833,12 @@ effects:
|
|
|
795
833
|
value: { tag: skill.lore.vampire },
|
|
796
834
|
when: skills.lore.vampire.trainedByIncrease > 0,
|
|
797
835
|
}
|
|
836
|
+
- {
|
|
837
|
+
target: skills.chosen,
|
|
838
|
+
op: grant,
|
|
839
|
+
value: { tag: skill.lore.hag },
|
|
840
|
+
when: skills.lore.hag.trainedByIncrease > 0,
|
|
841
|
+
}
|
|
798
842
|
|
|
799
843
|
display:
|
|
800
844
|
fields:
|
|
@@ -852,3 +896,6 @@ display:
|
|
|
852
896
|
skills.lore.vampire.rank: { format: { bands: rank } }
|
|
853
897
|
skills.lore.vampire.mod:
|
|
854
898
|
{ format: signed, rolls: [{ action: check, params: { check: skills.lore.vampire.mod } }] }
|
|
899
|
+
skills.lore.hag.rank: { format: { bands: rank } }
|
|
900
|
+
skills.lore.hag.mod:
|
|
901
|
+
{ format: signed, rolls: [{ action: check, params: { check: skills.lore.hag.mod } }] }
|
package/rules/spellcasting.yaml
CHANGED
|
@@ -269,6 +269,13 @@ situational:
|
|
|
269
269
|
incoming: { fields: [hp.current], tags: [damage] }
|
|
270
270
|
available: >-
|
|
271
271
|
countList(character.applied, x.active && x.source == @spells.shield) > 0
|
|
272
|
+
- id: fireShieldBlock
|
|
273
|
+
type: boolean
|
|
274
|
+
default: false
|
|
275
|
+
incoming: { fields: [hp.current], tags: [damage] }
|
|
276
|
+
available: >-
|
|
277
|
+
shield.raised
|
|
278
|
+
&& countList(character.applied, x.active && x.source == @spells.fire-shield) > 0
|
|
272
279
|
|
|
273
280
|
- id: bespellStrikes
|
|
274
281
|
type: boolean
|
|
@@ -1242,13 +1249,13 @@ actions:
|
|
|
1242
1249
|
key: expended
|
|
1243
1250
|
value: false
|
|
1244
1251
|
- type: setState
|
|
1245
|
-
when:
|
|
1246
|
-
|
|
1252
|
+
when: class.has.wizard
|
|
1253
|
+
grants: { where: self.bondDrained > 0 }
|
|
1247
1254
|
key: bondDrained
|
|
1248
1255
|
value: 0
|
|
1249
1256
|
- type: setState
|
|
1250
|
-
when:
|
|
1251
|
-
|
|
1257
|
+
when: class.has.wizard
|
|
1258
|
+
grants: { where: self.linkedFocusUsed }
|
|
1252
1259
|
key: linkedFocusUsed
|
|
1253
1260
|
value: false
|
|
1254
1261
|
- id: items
|
package/rules/wizard.yaml
CHANGED
|
@@ -25,7 +25,7 @@ fields:
|
|
|
25
25
|
staff-nexus,
|
|
26
26
|
]
|
|
27
27
|
formula: "'none'"
|
|
28
|
-
# The 10th-rank slot can't be drained. The ranks drained today are
|
|
28
|
+
# The 10th-rank slot can't be drained. The ranks drained today are Arcane Bond's
|
|
29
29
|
# `bondDrained` state.
|
|
30
30
|
wizard.drainsPerDay:
|
|
31
31
|
type: integer
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
pack: orc-2e
|
|
2
|
+
from: 0.1.0
|
|
3
|
+
to: 0.2.0
|
|
4
|
+
steps:
|
|
5
|
+
# Drain Bonded Item's and Linked Focus's daily uses moved from the wizard copy to Arcane Bond's
|
|
6
|
+
# saved grant state.
|
|
7
|
+
- { op: moveState, type: class, from: bondDrained, grant: features.wizard.arcane-bond }
|
|
8
|
+
- { op: moveState, type: class, from: linkedFocusUsed, grant: features.wizard.arcane-bond }
|
|
9
|
+
# Assurance's skill was grant state; it is a pick now, preset by the granting content.
|
|
10
|
+
- { op: removeState, type: feat, key: skill }
|
|
11
|
+
- { op: requireChoice, owner: feats.archetype.scout.terrain-scout, choice: terrain }
|