@opencharacter/swn-revised 0.0.0-stage → 0.1.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/LICENSE +147 -0
- package/README.md +128 -2
- package/content/armor/armored-undersuit.yaml +8 -0
- package/content/armor/armored-vacc-suit.yaml +8 -0
- package/content/armor/assault-suit.yaml +8 -0
- package/content/armor/combat-field-uniform.yaml +8 -0
- package/content/armor/deflector-array.yaml +8 -0
- package/content/armor/field-emitter-panoply.yaml +9 -0
- package/content/armor/force-pavis.yaml +9 -0
- package/content/armor/heavy-primitive-armor.yaml +8 -0
- package/content/armor/icarus-harness.yaml +8 -0
- package/content/armor/light-primitive-armor.yaml +8 -0
- package/content/armor/medium-primitive-armor.yaml +8 -0
- package/content/armor/secure-clothing.yaml +8 -0
- package/content/armor/security-armor.yaml +8 -0
- package/content/armor/shield.yaml +9 -0
- package/content/armor/storm-armor.yaml +9 -0
- package/content/armor/vestimentum.yaml +8 -0
- package/content/armor/warpaint.yaml +8 -0
- package/content/armor/woven-body-armor.yaml +8 -0
- package/content/backgrounds/barbarian.yaml +20 -0
- package/content/backgrounds/clergy.yaml +20 -0
- package/content/backgrounds/courtesan.yaml +20 -0
- package/content/backgrounds/criminal.yaml +20 -0
- package/content/backgrounds/dilettante.yaml +20 -0
- package/content/backgrounds/entertainer.yaml +20 -0
- package/content/backgrounds/merchant.yaml +20 -0
- package/content/backgrounds/noble.yaml +20 -0
- package/content/backgrounds/official.yaml +20 -0
- package/content/backgrounds/peasant.yaml +20 -0
- package/content/backgrounds/physician.yaml +20 -0
- package/content/backgrounds/pilot.yaml +20 -0
- package/content/backgrounds/politician.yaml +20 -0
- package/content/backgrounds/scholar.yaml +20 -0
- package/content/backgrounds/soldier.yaml +20 -0
- package/content/backgrounds/spacer.yaml +20 -0
- package/content/backgrounds/technician.yaml +20 -0
- package/content/backgrounds/thug.yaml +20 -0
- package/content/backgrounds/vagabond.yaml +20 -0
- package/content/backgrounds/worker.yaml +20 -0
- package/content/classes/adventurer.yaml +7 -0
- package/content/classes/expert.yaml +14 -0
- package/content/classes/psychic.yaml +11 -0
- package/content/classes/warrior.yaml +27 -0
- package/content/cyberware/adrenal-suppression-pump.yaml +17 -0
- package/content/cyberware/bioadaptation-augments.yaml +6 -0
- package/content/cyberware/body-arsenal-array.yaml +6 -0
- package/content/cyberware/body-sculpting.yaml +6 -0
- package/content/cyberware/dermal-armor.yaml +8 -0
- package/content/cyberware/drone-control-link.yaml +6 -0
- package/content/cyberware/eelskin-capacitor-mesh.yaml +7 -0
- package/content/cyberware/gecko-anchors.yaml +6 -0
- package/content/cyberware/ghost-talker-transceiver.yaml +6 -0
- package/content/cyberware/holdout-cavity.yaml +6 -0
- package/content/cyberware/holoskin-emitters.yaml +6 -0
- package/content/cyberware/identity-submersion-trigger.yaml +6 -0
- package/content/cyberware/immunofiltration-system.yaml +6 -0
- package/content/cyberware/induced-coma-trigger.yaml +6 -0
- package/content/cyberware/neurointruder-alert.yaml +11 -0
- package/content/cyberware/panspectral-optics.yaml +6 -0
- package/content/cyberware/pressure-sheathing.yaml +6 -0
- package/content/cyberware/prosthetic-limb.yaml +6 -0
- package/content/cyberware/revenant-wiring.yaml +6 -0
- package/content/cyberware/slowtime-window.yaml +7 -0
- package/content/cyberware/stabilization-overrides.yaml +8 -0
- package/content/cyberware/tagger-nanites.yaml +7 -0
- package/content/cyberware/toxin-injector.yaml +7 -0
- package/content/cyberware/twitchlock-actuators.yaml +7 -0
- package/content/foci/alert.yaml +9 -0
- package/content/foci/armsman.yaml +9 -0
- package/content/foci/assassin.yaml +5 -0
- package/content/foci/authority.yaml +5 -0
- package/content/foci/close-combatant.yaml +7 -0
- package/content/foci/connected.yaml +5 -0
- package/content/foci/die-hard.yaml +7 -0
- package/content/foci/diplomat.yaml +10 -0
- package/content/foci/gunslinger.yaml +8 -0
- package/content/foci/hacker.yaml +10 -0
- package/content/foci/healer.yaml +7 -0
- package/content/foci/henchkeeper.yaml +7 -0
- package/content/foci/ironhide.yaml +7 -0
- package/content/foci/psychic-training.yaml +18 -0
- package/content/foci/savage-fray.yaml +5 -0
- package/content/foci/shocking-assault.yaml +8 -0
- package/content/foci/sniper.yaml +10 -0
- package/content/foci/specialist.yaml +36 -0
- package/content/foci/star-captain.yaml +5 -0
- package/content/foci/starfarer.yaml +5 -0
- package/content/foci/tinker.yaml +5 -0
- package/content/foci/unarmed-combatant.yaml +11 -0
- package/content/foci/unique-gift.yaml +6 -0
- package/content/foci/wanderer.yaml +5 -0
- package/content/foci/wild-psychic-talent.yaml +20 -0
- package/content/gear/ammo-20-rounds.yaml +9 -0
- package/content/gear/ammo-missile.yaml +8 -0
- package/content/gear/atmofilter.yaml +7 -0
- package/content/gear/backpack-tl0.yaml +7 -0
- package/content/gear/backpack-tl4.yaml +7 -0
- package/content/gear/bezoar.yaml +9 -0
- package/content/gear/binoculars-tl3.yaml +7 -0
- package/content/gear/binoculars-tl4.yaml +7 -0
- package/content/gear/bioscanner.yaml +7 -0
- package/content/gear/black-slab.yaml +7 -0
- package/content/gear/brainwave.yaml +8 -0
- package/content/gear/climbing-harness.yaml +7 -0
- package/content/gear/comm-server.yaml +7 -0
- package/content/gear/compad.yaml +7 -0
- package/content/gear/data-phase-tap.yaml +7 -0
- package/content/gear/data-protocol.yaml +7 -0
- package/content/gear/dataslab.yaml +7 -0
- package/content/gear/field-radio.yaml +7 -0
- package/content/gear/glowbug.yaml +7 -0
- package/content/gear/grapnel-launcher.yaml +7 -0
- package/content/gear/grav-chute-tl4.yaml +7 -0
- package/content/gear/grav-chute-tl5.yaml +7 -0
- package/content/gear/grav-harness.yaml +7 -0
- package/content/gear/hush.yaml +8 -0
- package/content/gear/instapanel.yaml +8 -0
- package/content/gear/lazarus-patch.yaml +8 -0
- package/content/gear/lift.yaml +11 -0
- package/content/gear/line-shunt.yaml +7 -0
- package/content/gear/low-light-goggles.yaml +7 -0
- package/content/gear/medkit.yaml +7 -0
- package/content/gear/metatool.yaml +7 -0
- package/content/gear/navcomp.yaml +7 -0
- package/content/gear/portabox.yaml +7 -0
- package/content/gear/postech-toolkit.yaml +7 -0
- package/content/gear/power-cell-a.yaml +9 -0
- package/content/gear/power-cell-b.yaml +8 -0
- package/content/gear/pressure-tent.yaml +7 -0
- package/content/gear/pretech-cosmetic.yaml +9 -0
- package/content/gear/pretech-toolkit.yaml +7 -0
- package/content/gear/psych.yaml +8 -0
- package/content/gear/rations-1-day.yaml +8 -0
- package/content/gear/remote-link-unit.yaml +7 -0
- package/content/gear/reverie.yaml +9 -0
- package/content/gear/rope-tl0.yaml +7 -0
- package/content/gear/rope-tl4.yaml +7 -0
- package/content/gear/scout-report.yaml +7 -0
- package/content/gear/solar-recharger.yaml +7 -0
- package/content/gear/spare-parts.yaml +8 -0
- package/content/gear/squeal.yaml +8 -0
- package/content/gear/stiletto-charge.yaml +6 -0
- package/content/gear/storage-unit.yaml +7 -0
- package/content/gear/survey-scanner.yaml +7 -0
- package/content/gear/survival-kit.yaml +7 -0
- package/content/gear/tailored-antiallergens.yaml +7 -0
- package/content/gear/telekinetic-generator.yaml +7 -0
- package/content/gear/telescoping-pole.yaml +7 -0
- package/content/gear/thermal-flare.yaml +7 -0
- package/content/gear/tightbeam-link-unit.yaml +7 -0
- package/content/gear/trade-goods.yaml +8 -0
- package/content/gear/trade-metals.yaml +8 -0
- package/content/gear/translator-torc.yaml +7 -0
- package/content/gear/tsunami.yaml +9 -0
- package/content/gear/vacc-fresher.yaml +7 -0
- package/content/gear/vacc-skin.yaml +7 -0
- package/content/gear/vacc-suit.yaml +7 -0
- package/content/partial-classes/expert.yaml +5 -0
- package/content/partial-classes/psychic.yaml +18 -0
- package/content/partial-classes/warrior.yaml +7 -0
- package/content/techniques/accelerated-succor.yaml +10 -0
- package/content/techniques/alternate-outcome.yaml +10 -0
- package/content/techniques/anguished-vision.yaml +10 -0
- package/content/techniques/burdened-apportation.yaml +10 -0
- package/content/techniques/cloak-powers.yaml +10 -0
- package/content/techniques/concert-of-minds.yaml +10 -0
- package/content/techniques/cursed-luck.yaml +59 -0
- package/content/techniques/deep-intrusion.yaml +10 -0
- package/content/techniques/destinys-shield.yaml +10 -0
- package/content/techniques/effortless-apportation.yaml +10 -0
- package/content/techniques/facile-mind.yaml +10 -0
- package/content/techniques/far-thought.yaml +10 -0
- package/content/techniques/flawless-mastery.yaml +10 -0
- package/content/techniques/force-puppetry.yaml +10 -0
- package/content/techniques/forced-outcome.yaml +10 -0
- package/content/techniques/holistic-optimization-patterning.yaml +10 -0
- package/content/techniques/impact-sump.yaml +10 -0
- package/content/techniques/impervious-pavis-of-will.yaml +10 -0
- package/content/techniques/intuitive-response.yaml +10 -0
- package/content/techniques/invincible-stand.yaml +10 -0
- package/content/techniques/kinetic-transversal.yaml +10 -0
- package/content/techniques/major-organ-restoration.yaml +10 -0
- package/content/techniques/mastered-succor.yaml +10 -0
- package/content/techniques/memory-editing.yaml +10 -0
- package/content/techniques/metadimensional-friction.yaml +10 -0
- package/content/techniques/metamorph.yaml +10 -0
- package/content/techniques/mindtracing.yaml +10 -0
- package/content/techniques/neural-trap.yaml +10 -0
- package/content/techniques/not-my-time.yaml +10 -0
- package/content/techniques/offensive-apportation.yaml +10 -0
- package/content/techniques/oracle.yaml +6 -0
- package/content/techniques/organic-purification-protocols.yaml +10 -0
- package/content/techniques/perceptive-dislocation.yaml +10 -0
- package/content/techniques/personal-apportation.yaml +6 -0
- package/content/techniques/pressure-field.yaml +10 -0
- package/content/techniques/proficient-apportation.yaml +10 -0
- package/content/techniques/prophecy.yaml +10 -0
- package/content/techniques/psychic-refinement.yaml +11 -0
- package/content/techniques/psychic-static.yaml +10 -0
- package/content/techniques/psychic-succor.yaml +39 -0
- package/content/techniques/psychic-tutelage.yaml +10 -0
- package/content/techniques/quintessential-reconstruction.yaml +10 -0
- package/content/techniques/reactive-telekinesis.yaml +10 -0
- package/content/techniques/reflex-response.yaml +10 -0
- package/content/techniques/remote-repair.yaml +10 -0
- package/content/techniques/rift-reduplication.yaml +10 -0
- package/content/techniques/sense-the-need.yaml +10 -0
- package/content/techniques/slip-field.yaml +10 -0
- package/content/techniques/spatial-awareness.yaml +10 -0
- package/content/techniques/spatial-synchrony-mandala.yaml +10 -0
- package/content/techniques/stutterjump.yaml +10 -0
- package/content/techniques/suppress-cognition.yaml +10 -0
- package/content/techniques/surge-momentum.yaml +10 -0
- package/content/techniques/suspended-manifestation.yaml +10 -0
- package/content/techniques/synthetic-adaptation.yaml +10 -0
- package/content/techniques/tangible-force-construct.yaml +10 -0
- package/content/techniques/telekinetic-armory.yaml +10 -0
- package/content/techniques/telekinetic-expertise.yaml +10 -0
- package/content/techniques/telekinetic-flight.yaml +10 -0
- package/content/techniques/telekinetic-manipulation.yaml +6 -0
- package/content/techniques/telekinetic-ram.yaml +10 -0
- package/content/techniques/telepathic-assault.yaml +10 -0
- package/content/techniques/telepathic-contact.yaml +6 -0
- package/content/techniques/teratic-overload.yaml +10 -0
- package/content/techniques/terminal-reflection.yaml +10 -0
- package/content/techniques/thermokinesis.yaml +10 -0
- package/content/techniques/tissue-integrity-field.yaml +10 -0
- package/content/techniques/transmit-thought.yaml +10 -0
- package/content/techniques/unity-of-thought.yaml +10 -0
- package/content/templates/trained-unarmed.yaml +9 -0
- package/content/weapons/advanced-bow.yaml +15 -0
- package/content/weapons/anti-vehicle-laser.yaml +18 -0
- package/content/weapons/combat-rifle.yaml +18 -0
- package/content/weapons/combat-shotgun.yaml +18 -0
- package/content/weapons/conversion-bow.yaml +15 -0
- package/content/weapons/crude-pistol.yaml +18 -0
- package/content/weapons/demo-charge.yaml +13 -0
- package/content/weapons/distortion-cannon.yaml +18 -0
- package/content/weapons/grenade.yaml +14 -0
- package/content/weapons/heavy-machine-gun.yaml +19 -0
- package/content/weapons/hydra-array.yaml +18 -0
- package/content/weapons/knife.yaml +7 -0
- package/content/weapons/large-advanced-weapon.yaml +13 -0
- package/content/weapons/large-primitive-weapon.yaml +12 -0
- package/content/weapons/laser-pistol.yaml +18 -0
- package/content/weapons/laser-rifle.yaml +19 -0
- package/content/weapons/mag-pistol.yaml +17 -0
- package/content/weapons/mag-rifle.yaml +17 -0
- package/content/weapons/medium-advanced-weapon.yaml +13 -0
- package/content/weapons/medium-primitive-weapon.yaml +12 -0
- package/content/weapons/monoblade-knife.yaml +7 -0
- package/content/weapons/monoblade-sword.yaml +4 -0
- package/content/weapons/musket.yaml +18 -0
- package/content/weapons/plasma-projector.yaml +18 -0
- package/content/weapons/primitive-bow.yaml +15 -0
- package/content/weapons/railgun.yaml +18 -0
- package/content/weapons/revolver.yaml +17 -0
- package/content/weapons/rifle.yaml +17 -0
- package/content/weapons/rocket-launcher.yaml +18 -0
- package/content/weapons/semi-auto-pistol.yaml +17 -0
- package/content/weapons/shear-rifle.yaml +19 -0
- package/content/weapons/shotgun.yaml +17 -0
- package/content/weapons/small-advanced-weapon.yaml +14 -0
- package/content/weapons/small-primitive-weapon.yaml +13 -0
- package/content/weapons/sniper-rifle.yaml +17 -0
- package/content/weapons/spear.yaml +8 -0
- package/content/weapons/spike-thrower.yaml +18 -0
- package/content/weapons/stun-baton.yaml +14 -0
- package/content/weapons/submachine-gun.yaml +18 -0
- package/content/weapons/suit-ripper.yaml +11 -0
- package/content/weapons/thermal-knife.yaml +7 -0
- package/content/weapons/thermal-pistol.yaml +18 -0
- package/content/weapons/thunder-gun.yaml +18 -0
- package/content/weapons/unarmed.yaml +8 -0
- package/content/weapons/void-carbine.yaml +17 -0
- package/content/weapons/vortex-cannon.yaml +16 -0
- package/content/weapons/wheatcutter-belt.yaml +16 -0
- package/dist/i18n/en.d.ts +3 -0
- package/dist/i18n/en.js +2 -0
- package/dist/i18n/en.json +1356 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.js +2 -0
- package/dist/release.json +30238 -0
- package/i18n/en/content.yaml +394 -0
- package/i18n/en/foci.yaml +199 -0
- package/i18n/en/rules.yaml +759 -0
- package/i18n/en/text.yaml +249 -0
- package/i18n/en.yaml +1 -0
- package/pack.yaml +15 -0
- package/package.json +58 -3
- package/rules/advancement.yaml +461 -0
- package/rules/character.yaml +114 -0
- package/rules/checks.yaml +160 -0
- package/rules/combat.yaml +312 -0
- package/rules/core.yaml +111 -0
- package/rules/creation.yaml +633 -0
- package/rules/gear.yaml +176 -0
- package/rules/layout.yaml +195 -0
- package/rules/psionics.yaml +105 -0
- package/rules/start.yaml +403 -0
- package/rules/tags.yaml +60 -0
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
id: partial-classes.psychic
|
|
2
|
+
type: partialClass
|
|
3
|
+
effects:
|
|
4
|
+
- { target: psionics.access, op: set, value: "'restricted'" }
|
|
5
|
+
choices:
|
|
6
|
+
- id: discipline
|
|
7
|
+
from:
|
|
8
|
+
{ values: [biopsionics, metapsionics, precognition, telekinesis, telepathy, teleportation] }
|
|
9
|
+
recommend: "'biopsionics'"
|
|
10
|
+
effects:
|
|
11
|
+
- { target: psionics.discipline, op: set, value: pick.value }
|
|
12
|
+
grants:
|
|
13
|
+
- { item: techniques.psychic-succor, when: skills.biopsionics.level >= 0 }
|
|
14
|
+
- { item: techniques.psychic-refinement, when: skills.metapsionics.level >= 0 }
|
|
15
|
+
- { item: techniques.oracle, when: skills.precognition.level >= 0 }
|
|
16
|
+
- { item: techniques.telekinetic-manipulation, when: skills.telekinesis.level >= 0 }
|
|
17
|
+
- { item: techniques.telepathic-contact, when: skills.telepathy.level >= 0 }
|
|
18
|
+
- { item: techniques.personal-apportation, when: skills.teleportation.level >= 0 }
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
id: partial-classes.warrior
|
|
2
|
+
type: partialClass
|
|
3
|
+
effects:
|
|
4
|
+
- { target: class.focus.combat, op: add, value: 1 }
|
|
5
|
+
- { target: hp.perLevel, op: add, value: 2 }
|
|
6
|
+
# +1 at first level and another at fifth.
|
|
7
|
+
- { target: combat.attackBonus, op: add, value: 'level >= 5 ? 2 : 1' }
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
id: techniques.accelerated-succor
|
|
2
|
+
type: technique
|
|
3
|
+
fields:
|
|
4
|
+
discipline: biopsionics
|
|
5
|
+
level: 3
|
|
6
|
+
prerequisites:
|
|
7
|
+
- id: skill
|
|
8
|
+
when: skills.biopsionics.level >= 3
|
|
9
|
+
- id: discipline
|
|
10
|
+
when: "psionics.access != 'restricted' || psionics.discipline == 'biopsionics'"
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
id: techniques.alternate-outcome
|
|
2
|
+
type: technique
|
|
3
|
+
fields:
|
|
4
|
+
discipline: precognition
|
|
5
|
+
level: 2
|
|
6
|
+
prerequisites:
|
|
7
|
+
- id: skill
|
|
8
|
+
when: skills.precognition.level >= 2
|
|
9
|
+
- id: discipline
|
|
10
|
+
when: "psionics.access != 'restricted' || psionics.discipline == 'precognition'"
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
id: techniques.anguished-vision
|
|
2
|
+
type: technique
|
|
3
|
+
fields:
|
|
4
|
+
discipline: precognition
|
|
5
|
+
level: 3
|
|
6
|
+
prerequisites:
|
|
7
|
+
- id: skill
|
|
8
|
+
when: skills.precognition.level >= 3
|
|
9
|
+
- id: discipline
|
|
10
|
+
when: "psionics.access != 'restricted' || psionics.discipline == 'precognition'"
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
id: techniques.burdened-apportation
|
|
2
|
+
type: technique
|
|
3
|
+
fields:
|
|
4
|
+
discipline: teleportation
|
|
5
|
+
level: 2
|
|
6
|
+
prerequisites:
|
|
7
|
+
- id: skill
|
|
8
|
+
when: skills.teleportation.level >= 2
|
|
9
|
+
- id: discipline
|
|
10
|
+
when: "psionics.access != 'restricted' || psionics.discipline == 'teleportation'"
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
id: techniques.cloak-powers
|
|
2
|
+
type: technique
|
|
3
|
+
fields:
|
|
4
|
+
discipline: metapsionics
|
|
5
|
+
level: 1
|
|
6
|
+
prerequisites:
|
|
7
|
+
- id: skill
|
|
8
|
+
when: skills.metapsionics.level >= 1
|
|
9
|
+
- id: discipline
|
|
10
|
+
when: "psionics.access != 'restricted' || psionics.discipline == 'metapsionics'"
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
id: techniques.concert-of-minds
|
|
2
|
+
type: technique
|
|
3
|
+
fields:
|
|
4
|
+
discipline: metapsionics
|
|
5
|
+
level: 3
|
|
6
|
+
prerequisites:
|
|
7
|
+
- id: skill
|
|
8
|
+
when: skills.metapsionics.level >= 3
|
|
9
|
+
- id: discipline
|
|
10
|
+
when: "psionics.access != 'restricted' || psionics.discipline == 'metapsionics'"
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
id: techniques.cursed-luck
|
|
2
|
+
type: technique
|
|
3
|
+
fields:
|
|
4
|
+
discipline: precognition
|
|
5
|
+
level: 3
|
|
6
|
+
prerequisites:
|
|
7
|
+
- id: skill
|
|
8
|
+
when: skills.precognition.level >= 3
|
|
9
|
+
- id: discipline
|
|
10
|
+
when: "psionics.access != 'restricted' || psionics.discipline == 'precognition'"
|
|
11
|
+
effects:
|
|
12
|
+
# The cursed target rolls its attacks, damage, checks and saves twice and keeps the worse; the
|
|
13
|
+
# Mental save that throws the curse off is the power's own and isn't penalized.
|
|
14
|
+
- target: { rolls: [attack, damage, check, save] }
|
|
15
|
+
op: rollModifier
|
|
16
|
+
value: { kind: disadvantage, of: roll }
|
|
17
|
+
when: "!('psionics' in roll.tags)"
|
|
18
|
+
scope: applied
|
|
19
|
+
# Attackers read it from the target's sheet.
|
|
20
|
+
- { target: psionics.cursedLuck, op: set, value: true, scope: applied }
|
|
21
|
+
actions:
|
|
22
|
+
# A Main Action and Effort Committed for the scene curse a visible target.
|
|
23
|
+
- id: curse
|
|
24
|
+
tags: [psionics]
|
|
25
|
+
available: effort.available > 0
|
|
26
|
+
results: [cursed]
|
|
27
|
+
participants:
|
|
28
|
+
target: { min: 1, max: 1 }
|
|
29
|
+
steps:
|
|
30
|
+
- id: commit
|
|
31
|
+
kind: changes
|
|
32
|
+
changes:
|
|
33
|
+
- { type: adjust, field: effort.scene, by: 1 }
|
|
34
|
+
- id: curse
|
|
35
|
+
kind: changes
|
|
36
|
+
to: target
|
|
37
|
+
changes:
|
|
38
|
+
- { type: applyEffect, source: "'techniques.cursed-luck'" }
|
|
39
|
+
- { id: result, kind: outcome, result: "'cursed'" }
|
|
40
|
+
# An intelligent target's Mental save at the end of each round throws the curse off.
|
|
41
|
+
- id: throw-off
|
|
42
|
+
scope: applied
|
|
43
|
+
tags: [psionics, save]
|
|
44
|
+
results: [freed, cursed]
|
|
45
|
+
steps:
|
|
46
|
+
- id: save
|
|
47
|
+
kind: action
|
|
48
|
+
use: saving-throw
|
|
49
|
+
params: { save: "'mental'" }
|
|
50
|
+
tags: [psionics]
|
|
51
|
+
- id: free
|
|
52
|
+
kind: changes
|
|
53
|
+
when: "steps.save.result == 'success'"
|
|
54
|
+
changes:
|
|
55
|
+
- type: removeEffect
|
|
56
|
+
applied: { where: 'item.id == @techniques.cursed-luck' }
|
|
57
|
+
- id: result
|
|
58
|
+
kind: outcome
|
|
59
|
+
result: "steps.save.result == 'success' ? 'freed' : 'cursed'"
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
id: techniques.deep-intrusion
|
|
2
|
+
type: technique
|
|
3
|
+
fields:
|
|
4
|
+
discipline: teleportation
|
|
5
|
+
level: 4
|
|
6
|
+
prerequisites:
|
|
7
|
+
- id: skill
|
|
8
|
+
when: skills.teleportation.level >= 4
|
|
9
|
+
- id: discipline
|
|
10
|
+
when: "psionics.access != 'restricted' || psionics.discipline == 'teleportation'"
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
id: techniques.destinys-shield
|
|
2
|
+
type: technique
|
|
3
|
+
fields:
|
|
4
|
+
discipline: precognition
|
|
5
|
+
level: 2
|
|
6
|
+
prerequisites:
|
|
7
|
+
- id: skill
|
|
8
|
+
when: skills.precognition.level >= 2
|
|
9
|
+
- id: discipline
|
|
10
|
+
when: "psionics.access != 'restricted' || psionics.discipline == 'precognition'"
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
id: techniques.effortless-apportation
|
|
2
|
+
type: technique
|
|
3
|
+
fields:
|
|
4
|
+
discipline: teleportation
|
|
5
|
+
level: 3
|
|
6
|
+
prerequisites:
|
|
7
|
+
- id: skill
|
|
8
|
+
when: skills.teleportation.level >= 3
|
|
9
|
+
- id: discipline
|
|
10
|
+
when: "psionics.access != 'restricted' || psionics.discipline == 'teleportation'"
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
id: techniques.flawless-mastery
|
|
2
|
+
type: technique
|
|
3
|
+
fields:
|
|
4
|
+
discipline: metapsionics
|
|
5
|
+
level: 4
|
|
6
|
+
prerequisites:
|
|
7
|
+
- id: skill
|
|
8
|
+
when: skills.metapsionics.level >= 4
|
|
9
|
+
- id: discipline
|
|
10
|
+
when: "psionics.access != 'restricted' || psionics.discipline == 'metapsionics'"
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
id: techniques.force-puppetry
|
|
2
|
+
type: technique
|
|
3
|
+
fields:
|
|
4
|
+
discipline: telekinesis
|
|
5
|
+
level: 4
|
|
6
|
+
prerequisites:
|
|
7
|
+
- id: skill
|
|
8
|
+
when: skills.telekinesis.level >= 4
|
|
9
|
+
- id: discipline
|
|
10
|
+
when: "psionics.access != 'restricted' || psionics.discipline == 'telekinesis'"
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
id: techniques.forced-outcome
|
|
2
|
+
type: technique
|
|
3
|
+
fields:
|
|
4
|
+
discipline: precognition
|
|
5
|
+
level: 3
|
|
6
|
+
prerequisites:
|
|
7
|
+
- id: skill
|
|
8
|
+
when: skills.precognition.level >= 3
|
|
9
|
+
- id: discipline
|
|
10
|
+
when: "psionics.access != 'restricted' || psionics.discipline == 'precognition'"
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
id: techniques.holistic-optimization-patterning
|
|
2
|
+
type: technique
|
|
3
|
+
fields:
|
|
4
|
+
discipline: biopsionics
|
|
5
|
+
level: 4
|
|
6
|
+
prerequisites:
|
|
7
|
+
- id: skill
|
|
8
|
+
when: skills.biopsionics.level >= 4
|
|
9
|
+
- id: discipline
|
|
10
|
+
when: "psionics.access != 'restricted' || psionics.discipline == 'biopsionics'"
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
id: techniques.impact-sump
|
|
2
|
+
type: technique
|
|
3
|
+
fields:
|
|
4
|
+
discipline: telekinesis
|
|
5
|
+
level: 2
|
|
6
|
+
prerequisites:
|
|
7
|
+
- id: skill
|
|
8
|
+
when: skills.telekinesis.level >= 2
|
|
9
|
+
- id: discipline
|
|
10
|
+
when: "psionics.access != 'restricted' || psionics.discipline == 'telekinesis'"
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
id: techniques.impervious-pavis-of-will
|
|
2
|
+
type: technique
|
|
3
|
+
fields:
|
|
4
|
+
discipline: metapsionics
|
|
5
|
+
level: 4
|
|
6
|
+
prerequisites:
|
|
7
|
+
- id: skill
|
|
8
|
+
when: skills.metapsionics.level >= 4
|
|
9
|
+
- id: discipline
|
|
10
|
+
when: "psionics.access != 'restricted' || psionics.discipline == 'metapsionics'"
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
id: techniques.intuitive-response
|
|
2
|
+
type: technique
|
|
3
|
+
fields:
|
|
4
|
+
discipline: precognition
|
|
5
|
+
level: 1
|
|
6
|
+
prerequisites:
|
|
7
|
+
- id: skill
|
|
8
|
+
when: skills.precognition.level >= 1
|
|
9
|
+
- id: discipline
|
|
10
|
+
when: "psionics.access != 'restricted' || psionics.discipline == 'precognition'"
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
id: techniques.invincible-stand
|
|
2
|
+
type: technique
|
|
3
|
+
fields:
|
|
4
|
+
discipline: biopsionics
|
|
5
|
+
level: 2
|
|
6
|
+
prerequisites:
|
|
7
|
+
- id: skill
|
|
8
|
+
when: skills.biopsionics.level >= 2
|
|
9
|
+
- id: discipline
|
|
10
|
+
when: "psionics.access != 'restricted' || psionics.discipline == 'biopsionics'"
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
id: techniques.kinetic-transversal
|
|
2
|
+
type: technique
|
|
3
|
+
fields:
|
|
4
|
+
discipline: telekinesis
|
|
5
|
+
level: 1
|
|
6
|
+
prerequisites:
|
|
7
|
+
- id: skill
|
|
8
|
+
when: skills.telekinesis.level >= 1
|
|
9
|
+
- id: discipline
|
|
10
|
+
when: "psionics.access != 'restricted' || psionics.discipline == 'telekinesis'"
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
id: techniques.major-organ-restoration
|
|
2
|
+
type: technique
|
|
3
|
+
fields:
|
|
4
|
+
discipline: biopsionics
|
|
5
|
+
level: 2
|
|
6
|
+
prerequisites:
|
|
7
|
+
- id: skill
|
|
8
|
+
when: skills.biopsionics.level >= 2
|
|
9
|
+
- id: discipline
|
|
10
|
+
when: "psionics.access != 'restricted' || psionics.discipline == 'biopsionics'"
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
id: techniques.mastered-succor
|
|
2
|
+
type: technique
|
|
3
|
+
fields:
|
|
4
|
+
discipline: biopsionics
|
|
5
|
+
level: 1
|
|
6
|
+
prerequisites:
|
|
7
|
+
- id: skill
|
|
8
|
+
when: skills.biopsionics.level >= 1
|
|
9
|
+
- id: discipline
|
|
10
|
+
when: "psionics.access != 'restricted' || psionics.discipline == 'biopsionics'"
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
id: techniques.metadimensional-friction
|
|
2
|
+
type: technique
|
|
3
|
+
fields:
|
|
4
|
+
discipline: metapsionics
|
|
5
|
+
level: 3
|
|
6
|
+
prerequisites:
|
|
7
|
+
- id: skill
|
|
8
|
+
when: skills.metapsionics.level >= 3
|
|
9
|
+
- id: discipline
|
|
10
|
+
when: "psionics.access != 'restricted' || psionics.discipline == 'metapsionics'"
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
id: techniques.mindtracing
|
|
2
|
+
type: technique
|
|
3
|
+
fields:
|
|
4
|
+
discipline: metapsionics
|
|
5
|
+
level: 1
|
|
6
|
+
prerequisites:
|
|
7
|
+
- id: skill
|
|
8
|
+
when: skills.metapsionics.level >= 1
|
|
9
|
+
- id: discipline
|
|
10
|
+
when: "psionics.access != 'restricted' || psionics.discipline == 'metapsionics'"
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
id: techniques.neural-trap
|
|
2
|
+
type: technique
|
|
3
|
+
fields:
|
|
4
|
+
discipline: metapsionics
|
|
5
|
+
level: 2
|
|
6
|
+
prerequisites:
|
|
7
|
+
- id: skill
|
|
8
|
+
when: skills.metapsionics.level >= 2
|
|
9
|
+
- id: discipline
|
|
10
|
+
when: "psionics.access != 'restricted' || psionics.discipline == 'metapsionics'"
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
id: techniques.not-my-time
|
|
2
|
+
type: technique
|
|
3
|
+
fields:
|
|
4
|
+
discipline: precognition
|
|
5
|
+
level: 4
|
|
6
|
+
prerequisites:
|
|
7
|
+
- id: skill
|
|
8
|
+
when: skills.precognition.level >= 4
|
|
9
|
+
- id: discipline
|
|
10
|
+
when: "psionics.access != 'restricted' || psionics.discipline == 'precognition'"
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
id: techniques.offensive-apportation
|
|
2
|
+
type: technique
|
|
3
|
+
fields:
|
|
4
|
+
discipline: teleportation
|
|
5
|
+
level: 4
|
|
6
|
+
prerequisites:
|
|
7
|
+
- id: skill
|
|
8
|
+
when: skills.teleportation.level >= 4
|
|
9
|
+
- id: discipline
|
|
10
|
+
when: "psionics.access != 'restricted' || psionics.discipline == 'teleportation'"
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
id: techniques.organic-purification-protocols
|
|
2
|
+
type: technique
|
|
3
|
+
fields:
|
|
4
|
+
discipline: biopsionics
|
|
5
|
+
level: 1
|
|
6
|
+
prerequisites:
|
|
7
|
+
- id: skill
|
|
8
|
+
when: skills.biopsionics.level >= 1
|
|
9
|
+
- id: discipline
|
|
10
|
+
when: "psionics.access != 'restricted' || psionics.discipline == 'biopsionics'"
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
id: techniques.perceptive-dislocation
|
|
2
|
+
type: technique
|
|
3
|
+
fields:
|
|
4
|
+
discipline: teleportation
|
|
5
|
+
level: 2
|
|
6
|
+
prerequisites:
|
|
7
|
+
- id: skill
|
|
8
|
+
when: skills.teleportation.level >= 2
|
|
9
|
+
- id: discipline
|
|
10
|
+
when: "psionics.access != 'restricted' || psionics.discipline == 'teleportation'"
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
id: techniques.pressure-field
|
|
2
|
+
type: technique
|
|
3
|
+
fields:
|
|
4
|
+
discipline: telekinesis
|
|
5
|
+
level: 1
|
|
6
|
+
prerequisites:
|
|
7
|
+
- id: skill
|
|
8
|
+
when: skills.telekinesis.level >= 1
|
|
9
|
+
- id: discipline
|
|
10
|
+
when: "psionics.access != 'restricted' || psionics.discipline == 'telekinesis'"
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
id: techniques.proficient-apportation
|
|
2
|
+
type: technique
|
|
3
|
+
fields:
|
|
4
|
+
discipline: teleportation
|
|
5
|
+
level: 1
|
|
6
|
+
prerequisites:
|
|
7
|
+
- id: skill
|
|
8
|
+
when: skills.teleportation.level >= 1
|
|
9
|
+
- id: discipline
|
|
10
|
+
when: "psionics.access != 'restricted' || psionics.discipline == 'teleportation'"
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
id: techniques.prophecy
|
|
2
|
+
type: technique
|
|
3
|
+
fields:
|
|
4
|
+
discipline: precognition
|
|
5
|
+
level: 4
|
|
6
|
+
prerequisites:
|
|
7
|
+
- id: skill
|
|
8
|
+
when: skills.precognition.level >= 4
|
|
9
|
+
- id: discipline
|
|
10
|
+
when: "psionics.access != 'restricted' || psionics.discipline == 'precognition'"
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
id: techniques.psychic-refinement
|
|
2
|
+
type: technique
|
|
3
|
+
fields:
|
|
4
|
+
discipline: metapsionics
|
|
5
|
+
level: 0
|
|
6
|
+
core: true
|
|
7
|
+
effects:
|
|
8
|
+
# Level-1 and level-3: a point of maximum Effort each.
|
|
9
|
+
- target: effort.bonus
|
|
10
|
+
op: add
|
|
11
|
+
value: '(skills.metapsionics.level >= 1 ? 1 : 0) + (skills.metapsionics.level >= 3 ? 1 : 0)'
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
id: techniques.psychic-static
|
|
2
|
+
type: technique
|
|
3
|
+
fields:
|
|
4
|
+
discipline: metapsionics
|
|
5
|
+
level: 2
|
|
6
|
+
prerequisites:
|
|
7
|
+
- id: skill
|
|
8
|
+
when: skills.metapsionics.level >= 2
|
|
9
|
+
- id: discipline
|
|
10
|
+
when: "psionics.access != 'restricted' || psionics.discipline == 'metapsionics'"
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
id: techniques.psychic-succor
|
|
2
|
+
type: technique
|
|
3
|
+
fields:
|
|
4
|
+
discipline: biopsionics
|
|
5
|
+
level: 0
|
|
6
|
+
core: true
|
|
7
|
+
actions:
|
|
8
|
+
# Heals by Biopsionics level (level-0 only stabilizes) and adds System Strain to the target:
|
|
9
|
+
# two points if they were mortally wounded. The Effort is the app's to Commit.
|
|
10
|
+
- id: succor
|
|
11
|
+
tags: [psionics]
|
|
12
|
+
params:
|
|
13
|
+
mortallyWounded: { type: boolean, default: false }
|
|
14
|
+
participants:
|
|
15
|
+
target: { max: 1 }
|
|
16
|
+
results: [healed]
|
|
17
|
+
steps:
|
|
18
|
+
- id: heal
|
|
19
|
+
kind: roll
|
|
20
|
+
when: skills.biopsionics.level >= 1
|
|
21
|
+
tags: [healing]
|
|
22
|
+
parts:
|
|
23
|
+
- dice: >-
|
|
24
|
+
skills.biopsionics.level >= 4 ? 3d6 + 8 : skills.biopsionics.level == 3 ? 2d6 + 6
|
|
25
|
+
: skills.biopsionics.level == 2 ? 2d6 + 2 : 1d6 + 1
|
|
26
|
+
- id: apply
|
|
27
|
+
kind: changes
|
|
28
|
+
to: target
|
|
29
|
+
changes:
|
|
30
|
+
- type: adjust
|
|
31
|
+
when: has(steps.heal)
|
|
32
|
+
field: hp.current
|
|
33
|
+
by: steps.heal.total
|
|
34
|
+
tags: [healing]
|
|
35
|
+
- { type: adjust, field: strain.current, by: 'params.mortallyWounded ? 2 : 1' }
|
|
36
|
+
- id: result
|
|
37
|
+
kind: outcome
|
|
38
|
+
result: "'healed'"
|
|
39
|
+
data: { healed: 'has(steps.heal) ? steps.heal.total : 0' }
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
id: techniques.psychic-tutelage
|
|
2
|
+
type: technique
|
|
3
|
+
fields:
|
|
4
|
+
discipline: metapsionics
|
|
5
|
+
level: 3
|
|
6
|
+
prerequisites:
|
|
7
|
+
- id: skill
|
|
8
|
+
when: skills.metapsionics.level >= 3
|
|
9
|
+
- id: discipline
|
|
10
|
+
when: "psionics.access != 'restricted' || psionics.discipline == 'metapsionics'"
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
id: techniques.quintessential-reconstruction
|
|
2
|
+
type: technique
|
|
3
|
+
fields:
|
|
4
|
+
discipline: biopsionics
|
|
5
|
+
level: 4
|
|
6
|
+
prerequisites:
|
|
7
|
+
- id: skill
|
|
8
|
+
when: skills.biopsionics.level >= 4
|
|
9
|
+
- id: discipline
|
|
10
|
+
when: "psionics.access != 'restricted' || psionics.discipline == 'biopsionics'"
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
id: techniques.reactive-telekinesis
|
|
2
|
+
type: technique
|
|
3
|
+
fields:
|
|
4
|
+
discipline: telekinesis
|
|
5
|
+
level: 3
|
|
6
|
+
prerequisites:
|
|
7
|
+
- id: skill
|
|
8
|
+
when: skills.telekinesis.level >= 3
|
|
9
|
+
- id: discipline
|
|
10
|
+
when: "psionics.access != 'restricted' || psionics.discipline == 'telekinesis'"
|