@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
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]
|
|
@@ -1004,10 +1012,6 @@ actions:
|
|
|
1004
1012
|
- { type: set, when: focus.spent > 0, field: focus.spent, value: 0 }
|
|
1005
1013
|
- { type: set, when: vitality.spent > 0, field: vitality.spent, value: 0 }
|
|
1006
1014
|
- { type: setState, picks: { where: self.used }, key: used, value: false }
|
|
1007
|
-
- type: setState
|
|
1008
|
-
picks: { where: has(self.fanUses) && self.fanUses > 0 }
|
|
1009
|
-
key: fanUses
|
|
1010
|
-
value: 0
|
|
1011
1015
|
- type: set
|
|
1012
1016
|
forEach: keysOf('archetypeSource')
|
|
1013
1017
|
when: fieldOf('spellSlots.archetype.{archetypeSource}.rank{archetypeRank}.used', x, 1) > 0
|
|
@@ -1156,36 +1160,96 @@ display:
|
|
|
1156
1160
|
}
|
|
1157
1161
|
spells.autoRank: { groups: [spellcasting], priority: 2 }
|
|
1158
1162
|
spellcasting.maxRank: { groups: [spell-slots], priority: 1 }
|
|
1159
|
-
spellSlots.rank1.max: { groups: [spell-slots], priority: 0 }
|
|
1163
|
+
spellSlots.rank1.max: { groups: [spell-slots], priority: 0, showWhen: spellSlots.rank1.max > 0 }
|
|
1160
1164
|
spellSlots.rank1.used:
|
|
1161
|
-
{
|
|
1162
|
-
|
|
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 }
|
|
1163
1172
|
spellSlots.rank2.used:
|
|
1164
|
-
{
|
|
1165
|
-
|
|
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 }
|
|
1166
1180
|
spellSlots.rank3.used:
|
|
1167
|
-
{
|
|
1168
|
-
|
|
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 }
|
|
1169
1188
|
spellSlots.rank4.used:
|
|
1170
|
-
{
|
|
1171
|
-
|
|
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 }
|
|
1172
1196
|
spellSlots.rank5.used:
|
|
1173
|
-
{
|
|
1174
|
-
|
|
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 }
|
|
1175
1204
|
spellSlots.rank6.used:
|
|
1176
|
-
{
|
|
1177
|
-
|
|
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 }
|
|
1178
1212
|
spellSlots.rank7.used:
|
|
1179
|
-
{
|
|
1180
|
-
|
|
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 }
|
|
1181
1220
|
spellSlots.rank8.used:
|
|
1182
|
-
{
|
|
1183
|
-
|
|
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 }
|
|
1184
1228
|
spellSlots.rank9.used:
|
|
1185
|
-
{
|
|
1186
|
-
|
|
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 }
|
|
1187
1237
|
spellSlots.rank10.used:
|
|
1188
|
-
{
|
|
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 }
|
|
1189
1253
|
spellcasting.attribute: { hidden: true }
|
|
1190
1254
|
spellcasting.proficiency: { hidden: true }
|
|
1191
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 }
|
|
@@ -293,97 +295,12 @@ actions:
|
|
|
293
295
|
steps:
|
|
294
296
|
- id: type
|
|
295
297
|
kind: choice
|
|
296
|
-
options:
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
entry: self,
|
|
303
|
-
key: modular,
|
|
304
|
-
value: "item.damageType == 'acid' ? '' : 'acid'",
|
|
305
|
-
}
|
|
306
|
-
- id: bludgeoning
|
|
307
|
-
when: "item.damageType == 'bludgeoning' || 'bludgeoning' in item.modularTypes"
|
|
308
|
-
changes:
|
|
309
|
-
- {
|
|
310
|
-
type: setState,
|
|
311
|
-
entry: self,
|
|
312
|
-
key: modular,
|
|
313
|
-
value: "item.damageType == 'bludgeoning' ? '' : 'bludgeoning'",
|
|
314
|
-
}
|
|
315
|
-
- id: cold
|
|
316
|
-
when: "item.damageType == 'cold' || 'cold' in item.modularTypes"
|
|
317
|
-
changes:
|
|
318
|
-
- {
|
|
319
|
-
type: setState,
|
|
320
|
-
entry: self,
|
|
321
|
-
key: modular,
|
|
322
|
-
value: "item.damageType == 'cold' ? '' : 'cold'",
|
|
323
|
-
}
|
|
324
|
-
- id: electricity
|
|
325
|
-
when: "item.damageType == 'electricity' || 'electricity' in item.modularTypes"
|
|
326
|
-
changes:
|
|
327
|
-
- {
|
|
328
|
-
type: setState,
|
|
329
|
-
entry: self,
|
|
330
|
-
key: modular,
|
|
331
|
-
value: "item.damageType == 'electricity' ? '' : 'electricity'",
|
|
332
|
-
}
|
|
333
|
-
- id: fire
|
|
334
|
-
when: "item.damageType == 'fire' || 'fire' in item.modularTypes"
|
|
335
|
-
changes:
|
|
336
|
-
- {
|
|
337
|
-
type: setState,
|
|
338
|
-
entry: self,
|
|
339
|
-
key: modular,
|
|
340
|
-
value: "item.damageType == 'fire' ? '' : 'fire'",
|
|
341
|
-
}
|
|
342
|
-
- id: mental
|
|
343
|
-
when: "item.damageType == 'mental' || 'mental' in item.modularTypes"
|
|
344
|
-
changes:
|
|
345
|
-
- {
|
|
346
|
-
type: setState,
|
|
347
|
-
entry: self,
|
|
348
|
-
key: modular,
|
|
349
|
-
value: "item.damageType == 'mental' ? '' : 'mental'",
|
|
350
|
-
}
|
|
351
|
-
- id: piercing
|
|
352
|
-
when: "item.damageType == 'piercing' || 'piercing' in item.modularTypes"
|
|
353
|
-
changes:
|
|
354
|
-
- {
|
|
355
|
-
type: setState,
|
|
356
|
-
entry: self,
|
|
357
|
-
key: modular,
|
|
358
|
-
value: "item.damageType == 'piercing' ? '' : 'piercing'",
|
|
359
|
-
}
|
|
360
|
-
- id: slashing
|
|
361
|
-
when: "item.damageType == 'slashing' || 'slashing' in item.modularTypes"
|
|
362
|
-
changes:
|
|
363
|
-
- {
|
|
364
|
-
type: setState,
|
|
365
|
-
entry: self,
|
|
366
|
-
key: modular,
|
|
367
|
-
value: "item.damageType == 'slashing' ? '' : 'slashing'",
|
|
368
|
-
}
|
|
369
|
-
- id: sonic
|
|
370
|
-
when: "item.damageType == 'sonic' || 'sonic' in item.modularTypes"
|
|
371
|
-
changes:
|
|
372
|
-
- {
|
|
373
|
-
type: setState,
|
|
374
|
-
entry: self,
|
|
375
|
-
key: modular,
|
|
376
|
-
value: "item.damageType == 'sonic' ? '' : 'sonic'",
|
|
377
|
-
}
|
|
378
|
-
- id: void
|
|
379
|
-
when: "item.damageType == 'void' || 'void' in item.modularTypes"
|
|
380
|
-
changes:
|
|
381
|
-
- {
|
|
382
|
-
type: setState,
|
|
383
|
-
entry: self,
|
|
384
|
-
key: modular,
|
|
385
|
-
value: "item.damageType == 'void' ? '' : 'void'",
|
|
386
|
-
}
|
|
298
|
+
options: { values: { formula: '[item.damageType] + item.modularTypes' } }
|
|
299
|
+
changes:
|
|
300
|
+
- type: setState
|
|
301
|
+
entry: self
|
|
302
|
+
key: modular
|
|
303
|
+
value: "picked.value == item.damageType ? '' : picked.value"
|
|
387
304
|
- id: result
|
|
388
305
|
kind: outcome
|
|
389
306
|
result: "'switched'"
|
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,18 @@
|
|
|
1
|
+
pack: orc-sf-2e
|
|
2
|
+
from: 0.1.1
|
|
3
|
+
to: 0.2.0
|
|
4
|
+
steps:
|
|
5
|
+
# Assurance's skill was grant state; it is a pick now, preset by the granting content.
|
|
6
|
+
- { op: removeState, type: feat, key: skill }
|
|
7
|
+
# Fixation's Lore was the granted Additional Lore's own choice, saved in Fixation's pick; it is
|
|
8
|
+
# Fixation's topic now, with the same options, which presets Additional Lore and Assurance.
|
|
9
|
+
- op: renameChoice
|
|
10
|
+
owner: feats.ancestry.fixation
|
|
11
|
+
from: orc-sf-2e:feats.skill.additional-lore/lore
|
|
12
|
+
to: topic
|
|
13
|
+
# Warblood vesk's attack was the granted Brutal Anatomy's own choice, saved in the heritage's
|
|
14
|
+
# pick; the heritage picks two attacks now, with the same options. The second is pending.
|
|
15
|
+
- op: renameChoice
|
|
16
|
+
owner: heritages.warblood-vesk
|
|
17
|
+
from: orc-sf-2e:feats.ancestry.brutal-anatomy/attack
|
|
18
|
+
to: attacks
|
|
@@ -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 }
|