@opencharacter/orc-sf-2e 0.2.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 +54 -5
- 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 +1 -1
- 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/fixation.yaml +11 -49
- package/content/feats/ancestry/harmonic-sensitivity.yaml +16 -6
- package/content/feats/ancestry/lashunta-lore.yaml +6 -0
- package/content/feats/archetype/envoy/envoy-dedication.yaml +2 -88
- 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 -57
- 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 +1 -1
- 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/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/gear/comm-unit.yaml +1 -0
- 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/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 +50 -59
- package/dist/index.js +1 -1
- package/dist/release.json +5419 -3339
- package/i18n/en/ancestry-feats.yaml +4 -40
- 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.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 -21
- package/rules/spells-high.yaml +3 -3
- package/rules/strikes.yaml +3 -1
- package/rules/tags.yaml +6 -0
- package/rules/witchwarper.yaml +7 -7
- package/upgrades/0.2.0-to-0.3.0.yaml +12 -0
package/rules/solarian.yaml
CHANGED
|
@@ -28,8 +28,7 @@ tags:
|
|
|
28
28
|
|
|
29
29
|
display:
|
|
30
30
|
fields:
|
|
31
|
-
solarian.attunement:
|
|
32
|
-
{ groups: [turn], priority: 0, showWhen: 'countCopies(copy.item == @classes.solarian) > 0' }
|
|
31
|
+
solarian.attunement: { groups: [turn], priority: 0, showWhen: class.has.solarian }
|
|
33
32
|
solarian.perfect: { hidden: true }
|
|
34
33
|
solarian.rampart: { hidden: true }
|
|
35
34
|
solarian.forms: { hidden: true }
|
package/rules/spellcasting.yaml
CHANGED
|
@@ -250,6 +250,7 @@ contentTypes:
|
|
|
250
250
|
damage: { type: dice, default: 0d6 }
|
|
251
251
|
damageBonus: { type: integer, default: 0 }
|
|
252
252
|
damageType:
|
|
253
|
+
open: true
|
|
253
254
|
type: enum
|
|
254
255
|
values:
|
|
255
256
|
[
|
|
@@ -274,6 +275,7 @@ contentTypes:
|
|
|
274
275
|
damageTypeChoice: { type: boolean, default: false }
|
|
275
276
|
damage2: { type: dice, default: 0d6 }
|
|
276
277
|
damage2Type:
|
|
278
|
+
open: true
|
|
277
279
|
type: enum
|
|
278
280
|
values:
|
|
279
281
|
[
|
|
@@ -303,6 +305,7 @@ contentTypes:
|
|
|
303
305
|
persistent: { type: dice, default: 0d6 }
|
|
304
306
|
persistentBonus: { type: integer, default: 0, min: 0 }
|
|
305
307
|
persistentType:
|
|
308
|
+
open: true
|
|
306
309
|
type: enum
|
|
307
310
|
values:
|
|
308
311
|
[
|
|
@@ -350,13 +353,14 @@ contentTypes:
|
|
|
350
353
|
applyTo: { type: enum, values: [none, self, ally, target], default: none }
|
|
351
354
|
applyAt: { type: integer, default: 2, min: 1, max: 3 }
|
|
352
355
|
stabilizes: { type: boolean, default: false }
|
|
353
|
-
copyTemplates: { type:
|
|
356
|
+
copyTemplates: { type: list, of: string, unique: true }
|
|
354
357
|
state:
|
|
355
358
|
rank: { type: integer, default: item.rank, min: 1, max: 10 }
|
|
356
359
|
source: { type: string, default: '' }
|
|
357
360
|
outcome: { type: integer, default: 2, min: 0, max: 3 }
|
|
358
361
|
value: { type: integer, default: 1, min: 0 }
|
|
359
362
|
damageType:
|
|
363
|
+
open: true
|
|
360
364
|
type: enum
|
|
361
365
|
values:
|
|
362
366
|
[
|
|
@@ -379,6 +383,7 @@ contentTypes:
|
|
|
379
383
|
default: fire
|
|
380
384
|
copy: { type: string, default: '' }
|
|
381
385
|
form: { type: string, default: '' }
|
|
386
|
+
element: { type: string, default: '' }
|
|
382
387
|
actions:
|
|
383
388
|
- use: cast-spell
|
|
384
389
|
|
|
@@ -391,10 +396,12 @@ actions:
|
|
|
391
396
|
ac: { type: integer, optional: true }
|
|
392
397
|
copy: { type: string, optional: true }
|
|
393
398
|
form: { type: string, optional: true }
|
|
399
|
+
element: { type: enum, optional: true, values: [air, earth, fire, metal, water, wood] }
|
|
394
400
|
source: { type: string, optional: true }
|
|
395
401
|
damageType:
|
|
396
402
|
type: enum
|
|
397
403
|
optional: true
|
|
404
|
+
open: true
|
|
398
405
|
values:
|
|
399
406
|
[
|
|
400
407
|
acid,
|
|
@@ -891,6 +898,7 @@ actions:
|
|
|
891
898
|
damageType: flags.damageType
|
|
892
899
|
copy: flags.copy
|
|
893
900
|
form: "has(params.form) ? params.form : ''"
|
|
901
|
+
element: "has(params.element) ? params.element : ''"
|
|
894
902
|
- id: onCaster
|
|
895
903
|
kind: changes
|
|
896
904
|
tags: [spell.caster]
|
|
@@ -1152,36 +1160,96 @@ display:
|
|
|
1152
1160
|
}
|
|
1153
1161
|
spells.autoRank: { groups: [spellcasting], priority: 2 }
|
|
1154
1162
|
spellcasting.maxRank: { groups: [spell-slots], priority: 1 }
|
|
1155
|
-
spellSlots.rank1.max: { groups: [spell-slots], priority: 0 }
|
|
1163
|
+
spellSlots.rank1.max: { groups: [spell-slots], priority: 0, showWhen: spellSlots.rank1.max > 0 }
|
|
1156
1164
|
spellSlots.rank1.used:
|
|
1157
|
-
{
|
|
1158
|
-
|
|
1165
|
+
{
|
|
1166
|
+
groups: [spell-slots],
|
|
1167
|
+
priority: 0,
|
|
1168
|
+
showWhen: spellSlots.rank1.max > 0,
|
|
1169
|
+
with: [{ field: spellSlots.rank1.max, as: max }],
|
|
1170
|
+
}
|
|
1171
|
+
spellSlots.rank2.max: { groups: [spell-slots], priority: 0, showWhen: spellSlots.rank2.max > 0 }
|
|
1159
1172
|
spellSlots.rank2.used:
|
|
1160
|
-
{
|
|
1161
|
-
|
|
1173
|
+
{
|
|
1174
|
+
groups: [spell-slots],
|
|
1175
|
+
priority: 0,
|
|
1176
|
+
showWhen: spellSlots.rank2.max > 0,
|
|
1177
|
+
with: [{ field: spellSlots.rank2.max, as: max }],
|
|
1178
|
+
}
|
|
1179
|
+
spellSlots.rank3.max: { groups: [spell-slots], priority: 0, showWhen: spellSlots.rank3.max > 0 }
|
|
1162
1180
|
spellSlots.rank3.used:
|
|
1163
|
-
{
|
|
1164
|
-
|
|
1181
|
+
{
|
|
1182
|
+
groups: [spell-slots],
|
|
1183
|
+
priority: 0,
|
|
1184
|
+
showWhen: spellSlots.rank3.max > 0,
|
|
1185
|
+
with: [{ field: spellSlots.rank3.max, as: max }],
|
|
1186
|
+
}
|
|
1187
|
+
spellSlots.rank4.max: { groups: [spell-slots], priority: 0, showWhen: spellSlots.rank4.max > 0 }
|
|
1165
1188
|
spellSlots.rank4.used:
|
|
1166
|
-
{
|
|
1167
|
-
|
|
1189
|
+
{
|
|
1190
|
+
groups: [spell-slots],
|
|
1191
|
+
priority: 0,
|
|
1192
|
+
showWhen: spellSlots.rank4.max > 0,
|
|
1193
|
+
with: [{ field: spellSlots.rank4.max, as: max }],
|
|
1194
|
+
}
|
|
1195
|
+
spellSlots.rank5.max: { groups: [spell-slots], priority: 0, showWhen: spellSlots.rank5.max > 0 }
|
|
1168
1196
|
spellSlots.rank5.used:
|
|
1169
|
-
{
|
|
1170
|
-
|
|
1197
|
+
{
|
|
1198
|
+
groups: [spell-slots],
|
|
1199
|
+
priority: 0,
|
|
1200
|
+
showWhen: spellSlots.rank5.max > 0,
|
|
1201
|
+
with: [{ field: spellSlots.rank5.max, as: max }],
|
|
1202
|
+
}
|
|
1203
|
+
spellSlots.rank6.max: { groups: [spell-slots], priority: 0, showWhen: spellSlots.rank6.max > 0 }
|
|
1171
1204
|
spellSlots.rank6.used:
|
|
1172
|
-
{
|
|
1173
|
-
|
|
1205
|
+
{
|
|
1206
|
+
groups: [spell-slots],
|
|
1207
|
+
priority: 0,
|
|
1208
|
+
showWhen: spellSlots.rank6.max > 0,
|
|
1209
|
+
with: [{ field: spellSlots.rank6.max, as: max }],
|
|
1210
|
+
}
|
|
1211
|
+
spellSlots.rank7.max: { groups: [spell-slots], priority: 0, showWhen: spellSlots.rank7.max > 0 }
|
|
1174
1212
|
spellSlots.rank7.used:
|
|
1175
|
-
{
|
|
1176
|
-
|
|
1213
|
+
{
|
|
1214
|
+
groups: [spell-slots],
|
|
1215
|
+
priority: 0,
|
|
1216
|
+
showWhen: spellSlots.rank7.max > 0,
|
|
1217
|
+
with: [{ field: spellSlots.rank7.max, as: max }],
|
|
1218
|
+
}
|
|
1219
|
+
spellSlots.rank8.max: { groups: [spell-slots], priority: 0, showWhen: spellSlots.rank8.max > 0 }
|
|
1177
1220
|
spellSlots.rank8.used:
|
|
1178
|
-
{
|
|
1179
|
-
|
|
1221
|
+
{
|
|
1222
|
+
groups: [spell-slots],
|
|
1223
|
+
priority: 0,
|
|
1224
|
+
showWhen: spellSlots.rank8.max > 0,
|
|
1225
|
+
with: [{ field: spellSlots.rank8.max, as: max }],
|
|
1226
|
+
}
|
|
1227
|
+
spellSlots.rank9.max: { groups: [spell-slots], priority: 0, showWhen: spellSlots.rank9.max > 0 }
|
|
1180
1228
|
spellSlots.rank9.used:
|
|
1181
|
-
{
|
|
1182
|
-
|
|
1229
|
+
{
|
|
1230
|
+
groups: [spell-slots],
|
|
1231
|
+
priority: 0,
|
|
1232
|
+
showWhen: spellSlots.rank9.max > 0,
|
|
1233
|
+
with: [{ field: spellSlots.rank9.max, as: max }],
|
|
1234
|
+
}
|
|
1235
|
+
spellSlots.rank10.max:
|
|
1236
|
+
{ groups: [spell-slots], priority: 0, showWhen: spellSlots.rank10.max > 0 }
|
|
1183
1237
|
spellSlots.rank10.used:
|
|
1184
|
-
{
|
|
1238
|
+
{
|
|
1239
|
+
groups: [spell-slots],
|
|
1240
|
+
priority: 0,
|
|
1241
|
+
showWhen: spellSlots.rank10.max > 0,
|
|
1242
|
+
with: [{ field: spellSlots.rank10.max, as: max }],
|
|
1243
|
+
}
|
|
1244
|
+
spellSlots.extra.max: { groups: [spell-slots], priority: 1, showWhen: spellSlots.extra.max > 0 }
|
|
1245
|
+
spellSlots.extra.used:
|
|
1246
|
+
{
|
|
1247
|
+
groups: [spell-slots],
|
|
1248
|
+
priority: 1,
|
|
1249
|
+
showWhen: spellSlots.extra.max > 0,
|
|
1250
|
+
with: [{ field: spellSlots.extra.max, as: max }, { field: spells.extraSlot, as: detail }],
|
|
1251
|
+
}
|
|
1252
|
+
spells.extraSlot: { groups: [spell-slots], priority: 1, showWhen: spellSlots.extra.max > 0 }
|
|
1185
1253
|
spellcasting.attribute: { hidden: true }
|
|
1186
1254
|
spellcasting.proficiency: { hidden: true }
|
|
1187
1255
|
spellcasting.attributeMod: { hidden: true }
|
package/rules/spells-high.yaml
CHANGED
|
@@ -11,7 +11,7 @@ tags:
|
|
|
11
11
|
|
|
12
12
|
display:
|
|
13
13
|
fields:
|
|
14
|
-
speed.fly: { groups: [summary], priority: 2, unit: ft }
|
|
15
|
-
speed.climb: { groups: [summary], priority: 2, unit: ft }
|
|
14
|
+
speed.fly: { groups: [summary], priority: 2, unit: ft, showWhen: speed.fly > 0 }
|
|
15
|
+
speed.climb: { groups: [summary], priority: 2, unit: ft, showWhen: speed.climb > 0 }
|
|
16
16
|
speed.climb.base: { hidden: true }
|
|
17
|
-
speed.burrow: { groups: [summary], priority: 2, unit: ft }
|
|
17
|
+
speed.burrow: { groups: [summary], priority: 2, unit: ft, showWhen: speed.burrow > 0 }
|
package/rules/strikes.yaml
CHANGED
|
@@ -44,6 +44,7 @@ contentTypes:
|
|
|
44
44
|
fields:
|
|
45
45
|
category: { type: enum, values: [unarmed, simple, martial, advanced], required: true }
|
|
46
46
|
group:
|
|
47
|
+
open: true
|
|
47
48
|
type: enum
|
|
48
49
|
values:
|
|
49
50
|
[
|
|
@@ -78,6 +79,7 @@ contentTypes:
|
|
|
78
79
|
formAttack: { type: boolean, default: false }
|
|
79
80
|
formDamage: { type: integer, default: 0 }
|
|
80
81
|
damageType:
|
|
82
|
+
open: true
|
|
81
83
|
type: enum
|
|
82
84
|
values:
|
|
83
85
|
[acid, bludgeoning, cold, electricity, fire, mental, piercing, slashing, sonic, void]
|
|
@@ -94,7 +96,7 @@ contentTypes:
|
|
|
94
96
|
reload: { type: integer, min: 0 }
|
|
95
97
|
boost: { type: dice }
|
|
96
98
|
magazine: { type: integer, default: 0, min: 0 }
|
|
97
|
-
ammoKind: { type: enum, values: [none, rounds, charges, chems], default: none }
|
|
99
|
+
ammoKind: { type: enum, values: [none, rounds, charges, chems], default: none, open: true }
|
|
98
100
|
expend: { type: integer, default: 1, min: 0 }
|
|
99
101
|
area: { type: enum, values: [none, burst, cone, line], default: none }
|
|
100
102
|
areaSize: { type: integer, default: 0, min: 0 }
|
package/rules/tags.yaml
CHANGED
|
@@ -145,7 +145,13 @@ tags:
|
|
|
145
145
|
- turn.start
|
|
146
146
|
- turn.end
|
|
147
147
|
- creation
|
|
148
|
+
- creation.ancestry
|
|
149
|
+
- creation.heritage
|
|
150
|
+
- creation.background
|
|
151
|
+
- creation.class
|
|
152
|
+
- creation.finish
|
|
148
153
|
- level-up
|
|
154
|
+
- level-up.gain
|
|
149
155
|
- turn
|
|
150
156
|
- condition
|
|
151
157
|
- dying
|
package/rules/witchwarper.yaml
CHANGED
|
@@ -1,6 +1,11 @@
|
|
|
1
1
|
fields:
|
|
2
2
|
witchwarper.paradox:
|
|
3
|
-
{
|
|
3
|
+
{
|
|
4
|
+
type: enum,
|
|
5
|
+
values: [none, analyst, anomaly, lost-history, precog],
|
|
6
|
+
formula: "'none'",
|
|
7
|
+
open: true,
|
|
8
|
+
}
|
|
4
9
|
quantum.active: { type: boolean, input: true, default: false }
|
|
5
10
|
quantum.radius: { type: integer, formula: 20, min: 0 }
|
|
6
11
|
witchwarper.memorySkill: { type: string, input: true, default: '' }
|
|
@@ -9,12 +14,7 @@ fields:
|
|
|
9
14
|
display:
|
|
10
15
|
fields:
|
|
11
16
|
witchwarper.paradox: { hidden: true }
|
|
12
|
-
quantum.active:
|
|
13
|
-
{
|
|
14
|
-
groups: [turn],
|
|
15
|
-
priority: 0,
|
|
16
|
-
showWhen: 'countCopies(copy.item == @classes.witchwarper) > 0',
|
|
17
|
-
}
|
|
17
|
+
quantum.active: { groups: [turn], priority: 0, showWhen: class.has.witchwarper }
|
|
18
18
|
witchwarper.memorySkill: { hidden: true }
|
|
19
19
|
witchwarper.otherLife: { hidden: true }
|
|
20
20
|
quantum.radius: { groups: [turn], priority: 1, showWhen: quantum.active }
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
pack: orc-sf-2e
|
|
2
|
+
from: 0.2.0
|
|
3
|
+
to: 0.3.0
|
|
4
|
+
steps:
|
|
5
|
+
# Fixation's topic presets nothing now: its granted Additional Lore asks the Lore itself, with
|
|
6
|
+
# the same values, and Assurance follows that pick.
|
|
7
|
+
- op: renameChoice
|
|
8
|
+
owner: feats.ancestry.fixation
|
|
9
|
+
from: topic
|
|
10
|
+
to: orc-sf-2e:feats.skill.additional-lore/lore
|
|
11
|
+
# Harmonic Sensitivity asks whether it trains Performance or gives Assurance in it.
|
|
12
|
+
- { op: requireChoice, owner: feats.ancestry.harmonic-sensitivity, choice: harmonic }
|