@opencharacter/swn-revised 0.0.0-stage → 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 (321) hide show
  1. package/LICENSE +147 -0
  2. package/README.md +182 -2
  3. package/content/armor/armored-undersuit.yaml +8 -0
  4. package/content/armor/armored-vacc-suit.yaml +8 -0
  5. package/content/armor/assault-suit.yaml +8 -0
  6. package/content/armor/combat-field-uniform.yaml +8 -0
  7. package/content/armor/deflector-array.yaml +8 -0
  8. package/content/armor/field-emitter-panoply.yaml +9 -0
  9. package/content/armor/force-pavis.yaml +9 -0
  10. package/content/armor/heavy-primitive-armor.yaml +8 -0
  11. package/content/armor/icarus-harness.yaml +8 -0
  12. package/content/armor/light-primitive-armor.yaml +8 -0
  13. package/content/armor/medium-primitive-armor.yaml +8 -0
  14. package/content/armor/secure-clothing.yaml +8 -0
  15. package/content/armor/security-armor.yaml +8 -0
  16. package/content/armor/shield.yaml +9 -0
  17. package/content/armor/storm-armor.yaml +9 -0
  18. package/content/armor/vestimentum.yaml +8 -0
  19. package/content/armor/warpaint.yaml +8 -0
  20. package/content/armor/woven-body-armor.yaml +8 -0
  21. package/content/backgrounds/barbarian.yaml +20 -0
  22. package/content/backgrounds/clergy.yaml +20 -0
  23. package/content/backgrounds/courtesan.yaml +20 -0
  24. package/content/backgrounds/criminal.yaml +20 -0
  25. package/content/backgrounds/dilettante.yaml +20 -0
  26. package/content/backgrounds/entertainer.yaml +20 -0
  27. package/content/backgrounds/merchant.yaml +20 -0
  28. package/content/backgrounds/noble.yaml +20 -0
  29. package/content/backgrounds/official.yaml +20 -0
  30. package/content/backgrounds/peasant.yaml +20 -0
  31. package/content/backgrounds/physician.yaml +20 -0
  32. package/content/backgrounds/pilot.yaml +20 -0
  33. package/content/backgrounds/politician.yaml +20 -0
  34. package/content/backgrounds/scholar.yaml +20 -0
  35. package/content/backgrounds/soldier.yaml +20 -0
  36. package/content/backgrounds/spacer.yaml +20 -0
  37. package/content/backgrounds/technician.yaml +20 -0
  38. package/content/backgrounds/thug.yaml +20 -0
  39. package/content/backgrounds/vagabond.yaml +20 -0
  40. package/content/backgrounds/worker.yaml +20 -0
  41. package/content/classes/adventurer.yaml +9 -0
  42. package/content/classes/expert.yaml +16 -0
  43. package/content/classes/psychic.yaml +11 -0
  44. package/content/classes/warrior.yaml +29 -0
  45. package/content/cyberware/adrenal-suppression-pump.yaml +17 -0
  46. package/content/cyberware/bioadaptation-augments.yaml +6 -0
  47. package/content/cyberware/body-arsenal-array.yaml +6 -0
  48. package/content/cyberware/body-sculpting.yaml +6 -0
  49. package/content/cyberware/dermal-armor.yaml +8 -0
  50. package/content/cyberware/drone-control-link.yaml +6 -0
  51. package/content/cyberware/eelskin-capacitor-mesh.yaml +7 -0
  52. package/content/cyberware/gecko-anchors.yaml +6 -0
  53. package/content/cyberware/ghost-talker-transceiver.yaml +6 -0
  54. package/content/cyberware/holdout-cavity.yaml +6 -0
  55. package/content/cyberware/holoskin-emitters.yaml +6 -0
  56. package/content/cyberware/identity-submersion-trigger.yaml +6 -0
  57. package/content/cyberware/immunofiltration-system.yaml +6 -0
  58. package/content/cyberware/induced-coma-trigger.yaml +6 -0
  59. package/content/cyberware/neurointruder-alert.yaml +11 -0
  60. package/content/cyberware/panspectral-optics.yaml +6 -0
  61. package/content/cyberware/pressure-sheathing.yaml +6 -0
  62. package/content/cyberware/prosthetic-limb.yaml +6 -0
  63. package/content/cyberware/revenant-wiring.yaml +6 -0
  64. package/content/cyberware/slowtime-window.yaml +7 -0
  65. package/content/cyberware/stabilization-overrides.yaml +8 -0
  66. package/content/cyberware/tagger-nanites.yaml +7 -0
  67. package/content/cyberware/toxin-injector.yaml +7 -0
  68. package/content/cyberware/twitchlock-actuators.yaml +7 -0
  69. package/content/foci/alert.yaml +9 -0
  70. package/content/foci/armsman.yaml +9 -0
  71. package/content/foci/assassin.yaml +5 -0
  72. package/content/foci/authority.yaml +5 -0
  73. package/content/foci/close-combatant.yaml +7 -0
  74. package/content/foci/connected.yaml +5 -0
  75. package/content/foci/die-hard.yaml +7 -0
  76. package/content/foci/diplomat.yaml +10 -0
  77. package/content/foci/gunslinger.yaml +8 -0
  78. package/content/foci/hacker.yaml +10 -0
  79. package/content/foci/healer.yaml +7 -0
  80. package/content/foci/henchkeeper.yaml +7 -0
  81. package/content/foci/ironhide.yaml +7 -0
  82. package/content/foci/psychic-training.yaml +19 -0
  83. package/content/foci/savage-fray.yaml +5 -0
  84. package/content/foci/shocking-assault.yaml +8 -0
  85. package/content/foci/sniper.yaml +10 -0
  86. package/content/foci/specialist.yaml +36 -0
  87. package/content/foci/star-captain.yaml +5 -0
  88. package/content/foci/starfarer.yaml +5 -0
  89. package/content/foci/tinker.yaml +5 -0
  90. package/content/foci/unarmed-combatant.yaml +11 -0
  91. package/content/foci/unique-gift.yaml +6 -0
  92. package/content/foci/wanderer.yaml +5 -0
  93. package/content/foci/wild-psychic-talent.yaml +21 -0
  94. package/content/gear/ammo-20-rounds.yaml +9 -0
  95. package/content/gear/ammo-missile.yaml +8 -0
  96. package/content/gear/atmofilter.yaml +7 -0
  97. package/content/gear/backpack-tl0.yaml +7 -0
  98. package/content/gear/backpack-tl4.yaml +7 -0
  99. package/content/gear/bezoar.yaml +9 -0
  100. package/content/gear/binoculars-tl3.yaml +7 -0
  101. package/content/gear/binoculars-tl4.yaml +7 -0
  102. package/content/gear/bioscanner.yaml +7 -0
  103. package/content/gear/black-slab.yaml +7 -0
  104. package/content/gear/brainwave.yaml +8 -0
  105. package/content/gear/climbing-harness.yaml +7 -0
  106. package/content/gear/comm-server.yaml +7 -0
  107. package/content/gear/compad.yaml +7 -0
  108. package/content/gear/data-phase-tap.yaml +7 -0
  109. package/content/gear/data-protocol.yaml +7 -0
  110. package/content/gear/dataslab.yaml +7 -0
  111. package/content/gear/field-radio.yaml +7 -0
  112. package/content/gear/glowbug.yaml +7 -0
  113. package/content/gear/grapnel-launcher.yaml +7 -0
  114. package/content/gear/grav-chute-tl4.yaml +7 -0
  115. package/content/gear/grav-chute-tl5.yaml +7 -0
  116. package/content/gear/grav-harness.yaml +7 -0
  117. package/content/gear/hush.yaml +8 -0
  118. package/content/gear/instapanel.yaml +8 -0
  119. package/content/gear/lazarus-patch.yaml +8 -0
  120. package/content/gear/lift.yaml +11 -0
  121. package/content/gear/line-shunt.yaml +7 -0
  122. package/content/gear/low-light-goggles.yaml +7 -0
  123. package/content/gear/medkit.yaml +7 -0
  124. package/content/gear/metatool.yaml +7 -0
  125. package/content/gear/navcomp.yaml +7 -0
  126. package/content/gear/portabox.yaml +7 -0
  127. package/content/gear/postech-toolkit.yaml +7 -0
  128. package/content/gear/power-cell-a.yaml +9 -0
  129. package/content/gear/power-cell-b.yaml +8 -0
  130. package/content/gear/pressure-tent.yaml +7 -0
  131. package/content/gear/pretech-cosmetic.yaml +9 -0
  132. package/content/gear/pretech-toolkit.yaml +7 -0
  133. package/content/gear/psych.yaml +8 -0
  134. package/content/gear/rations-1-day.yaml +8 -0
  135. package/content/gear/remote-link-unit.yaml +7 -0
  136. package/content/gear/reverie.yaml +9 -0
  137. package/content/gear/rope-tl0.yaml +7 -0
  138. package/content/gear/rope-tl4.yaml +7 -0
  139. package/content/gear/scout-report.yaml +7 -0
  140. package/content/gear/solar-recharger.yaml +7 -0
  141. package/content/gear/spare-parts.yaml +8 -0
  142. package/content/gear/squeal.yaml +8 -0
  143. package/content/gear/stiletto-charge.yaml +6 -0
  144. package/content/gear/storage-unit.yaml +7 -0
  145. package/content/gear/survey-scanner.yaml +7 -0
  146. package/content/gear/survival-kit.yaml +7 -0
  147. package/content/gear/tailored-antiallergens.yaml +7 -0
  148. package/content/gear/telekinetic-generator.yaml +7 -0
  149. package/content/gear/telescoping-pole.yaml +7 -0
  150. package/content/gear/thermal-flare.yaml +7 -0
  151. package/content/gear/tightbeam-link-unit.yaml +7 -0
  152. package/content/gear/trade-goods.yaml +8 -0
  153. package/content/gear/trade-metals.yaml +8 -0
  154. package/content/gear/translator-torc.yaml +7 -0
  155. package/content/gear/tsunami.yaml +9 -0
  156. package/content/gear/vacc-fresher.yaml +7 -0
  157. package/content/gear/vacc-skin.yaml +7 -0
  158. package/content/gear/vacc-suit.yaml +7 -0
  159. package/content/kits/barbarian.yaml +17 -0
  160. package/content/kits/blade.yaml +17 -0
  161. package/content/kits/civilian.yaml +12 -0
  162. package/content/kits/credits.yaml +11 -0
  163. package/content/kits/gunslinger.yaml +16 -0
  164. package/content/kits/hacker.yaml +18 -0
  165. package/content/kits/medic.yaml +18 -0
  166. package/content/kits/scout.yaml +19 -0
  167. package/content/kits/soldier.yaml +16 -0
  168. package/content/kits/technician.yaml +19 -0
  169. package/content/kits/thief.yaml +19 -0
  170. package/content/partial-classes/expert.yaml +5 -0
  171. package/content/partial-classes/psychic.yaml +16 -0
  172. package/content/partial-classes/warrior.yaml +7 -0
  173. package/content/styles/expert-nimble.yaml +11 -0
  174. package/content/styles/expert-smart.yaml +11 -0
  175. package/content/styles/expert-smooth.yaml +11 -0
  176. package/content/styles/psychic-adept.yaml +11 -0
  177. package/content/styles/psychic-seer.yaml +11 -0
  178. package/content/styles/warrior-leader.yaml +11 -0
  179. package/content/styles/warrior-melee.yaml +11 -0
  180. package/content/styles/warrior-ranged.yaml +11 -0
  181. package/content/techniques/accelerated-succor.yaml +10 -0
  182. package/content/techniques/alternate-outcome.yaml +10 -0
  183. package/content/techniques/anguished-vision.yaml +10 -0
  184. package/content/techniques/burdened-apportation.yaml +10 -0
  185. package/content/techniques/cloak-powers.yaml +10 -0
  186. package/content/techniques/concert-of-minds.yaml +10 -0
  187. package/content/techniques/cursed-luck.yaml +59 -0
  188. package/content/techniques/deep-intrusion.yaml +10 -0
  189. package/content/techniques/destinys-shield.yaml +10 -0
  190. package/content/techniques/effortless-apportation.yaml +10 -0
  191. package/content/techniques/facile-mind.yaml +10 -0
  192. package/content/techniques/far-thought.yaml +10 -0
  193. package/content/techniques/flawless-mastery.yaml +10 -0
  194. package/content/techniques/force-puppetry.yaml +10 -0
  195. package/content/techniques/forced-outcome.yaml +10 -0
  196. package/content/techniques/holistic-optimization-patterning.yaml +10 -0
  197. package/content/techniques/impact-sump.yaml +10 -0
  198. package/content/techniques/impervious-pavis-of-will.yaml +10 -0
  199. package/content/techniques/intuitive-response.yaml +10 -0
  200. package/content/techniques/invincible-stand.yaml +10 -0
  201. package/content/techniques/kinetic-transversal.yaml +10 -0
  202. package/content/techniques/major-organ-restoration.yaml +10 -0
  203. package/content/techniques/mastered-succor.yaml +10 -0
  204. package/content/techniques/memory-editing.yaml +10 -0
  205. package/content/techniques/metadimensional-friction.yaml +10 -0
  206. package/content/techniques/metamorph.yaml +10 -0
  207. package/content/techniques/mindtracing.yaml +10 -0
  208. package/content/techniques/neural-trap.yaml +10 -0
  209. package/content/techniques/not-my-time.yaml +10 -0
  210. package/content/techniques/offensive-apportation.yaml +10 -0
  211. package/content/techniques/oracle.yaml +6 -0
  212. package/content/techniques/organic-purification-protocols.yaml +10 -0
  213. package/content/techniques/perceptive-dislocation.yaml +10 -0
  214. package/content/techniques/personal-apportation.yaml +6 -0
  215. package/content/techniques/pressure-field.yaml +10 -0
  216. package/content/techniques/proficient-apportation.yaml +10 -0
  217. package/content/techniques/prophecy.yaml +10 -0
  218. package/content/techniques/psychic-refinement.yaml +11 -0
  219. package/content/techniques/psychic-static.yaml +10 -0
  220. package/content/techniques/psychic-succor.yaml +52 -0
  221. package/content/techniques/psychic-tutelage.yaml +10 -0
  222. package/content/techniques/quintessential-reconstruction.yaml +10 -0
  223. package/content/techniques/reactive-telekinesis.yaml +10 -0
  224. package/content/techniques/reflex-response.yaml +10 -0
  225. package/content/techniques/remote-repair.yaml +10 -0
  226. package/content/techniques/rift-reduplication.yaml +10 -0
  227. package/content/techniques/sense-the-need.yaml +10 -0
  228. package/content/techniques/slip-field.yaml +10 -0
  229. package/content/techniques/spatial-awareness.yaml +10 -0
  230. package/content/techniques/spatial-synchrony-mandala.yaml +10 -0
  231. package/content/techniques/stutterjump.yaml +10 -0
  232. package/content/techniques/suppress-cognition.yaml +10 -0
  233. package/content/techniques/surge-momentum.yaml +10 -0
  234. package/content/techniques/suspended-manifestation.yaml +10 -0
  235. package/content/techniques/synthetic-adaptation.yaml +10 -0
  236. package/content/techniques/tangible-force-construct.yaml +10 -0
  237. package/content/techniques/telekinetic-armory.yaml +10 -0
  238. package/content/techniques/telekinetic-expertise.yaml +10 -0
  239. package/content/techniques/telekinetic-flight.yaml +10 -0
  240. package/content/techniques/telekinetic-manipulation.yaml +6 -0
  241. package/content/techniques/telekinetic-ram.yaml +10 -0
  242. package/content/techniques/telepathic-assault.yaml +10 -0
  243. package/content/techniques/telepathic-contact.yaml +6 -0
  244. package/content/techniques/teratic-overload.yaml +10 -0
  245. package/content/techniques/terminal-reflection.yaml +10 -0
  246. package/content/techniques/thermokinesis.yaml +10 -0
  247. package/content/techniques/tissue-integrity-field.yaml +10 -0
  248. package/content/techniques/transmit-thought.yaml +10 -0
  249. package/content/techniques/unity-of-thought.yaml +10 -0
  250. package/content/templates/trained-unarmed.yaml +9 -0
  251. package/content/weapons/advanced-bow.yaml +13 -0
  252. package/content/weapons/anti-vehicle-laser.yaml +16 -0
  253. package/content/weapons/combat-rifle.yaml +16 -0
  254. package/content/weapons/combat-shotgun.yaml +16 -0
  255. package/content/weapons/conversion-bow.yaml +13 -0
  256. package/content/weapons/crude-pistol.yaml +16 -0
  257. package/content/weapons/demo-charge.yaml +13 -0
  258. package/content/weapons/distortion-cannon.yaml +16 -0
  259. package/content/weapons/grenade.yaml +14 -0
  260. package/content/weapons/heavy-machine-gun.yaml +17 -0
  261. package/content/weapons/hydra-array.yaml +16 -0
  262. package/content/weapons/knife.yaml +7 -0
  263. package/content/weapons/large-advanced-weapon.yaml +13 -0
  264. package/content/weapons/large-primitive-weapon.yaml +12 -0
  265. package/content/weapons/laser-pistol.yaml +16 -0
  266. package/content/weapons/laser-rifle.yaml +17 -0
  267. package/content/weapons/mag-pistol.yaml +15 -0
  268. package/content/weapons/mag-rifle.yaml +15 -0
  269. package/content/weapons/medium-advanced-weapon.yaml +13 -0
  270. package/content/weapons/medium-primitive-weapon.yaml +12 -0
  271. package/content/weapons/monoblade-knife.yaml +7 -0
  272. package/content/weapons/monoblade-sword.yaml +4 -0
  273. package/content/weapons/musket.yaml +16 -0
  274. package/content/weapons/plasma-projector.yaml +16 -0
  275. package/content/weapons/primitive-bow.yaml +13 -0
  276. package/content/weapons/railgun.yaml +16 -0
  277. package/content/weapons/revolver.yaml +15 -0
  278. package/content/weapons/rifle.yaml +15 -0
  279. package/content/weapons/rocket-launcher.yaml +16 -0
  280. package/content/weapons/semi-auto-pistol.yaml +15 -0
  281. package/content/weapons/shear-rifle.yaml +17 -0
  282. package/content/weapons/shotgun.yaml +15 -0
  283. package/content/weapons/small-advanced-weapon.yaml +14 -0
  284. package/content/weapons/small-primitive-weapon.yaml +13 -0
  285. package/content/weapons/sniper-rifle.yaml +15 -0
  286. package/content/weapons/spear.yaml +8 -0
  287. package/content/weapons/spike-thrower.yaml +16 -0
  288. package/content/weapons/stun-baton.yaml +14 -0
  289. package/content/weapons/submachine-gun.yaml +16 -0
  290. package/content/weapons/suit-ripper.yaml +11 -0
  291. package/content/weapons/thermal-knife.yaml +7 -0
  292. package/content/weapons/thermal-pistol.yaml +16 -0
  293. package/content/weapons/thunder-gun.yaml +16 -0
  294. package/content/weapons/unarmed.yaml +8 -0
  295. package/content/weapons/void-carbine.yaml +15 -0
  296. package/content/weapons/vortex-cannon.yaml +14 -0
  297. package/content/weapons/wheatcutter-belt.yaml +14 -0
  298. package/dist/i18n/en.d.ts +3 -0
  299. package/dist/i18n/en.js +2 -0
  300. package/dist/i18n/en.json +1411 -0
  301. package/dist/index.d.ts +3 -0
  302. package/dist/index.js +2 -0
  303. package/dist/release.json +31795 -0
  304. package/i18n/en/content.yaml +436 -0
  305. package/i18n/en/foci.yaml +199 -0
  306. package/i18n/en/rules.yaml +772 -0
  307. package/i18n/en/text.yaml +249 -0
  308. package/i18n/en.yaml +1 -0
  309. package/pack.yaml +15 -0
  310. package/package.json +58 -3
  311. package/rules/advancement.yaml +482 -0
  312. package/rules/character.yaml +139 -0
  313. package/rules/checks.yaml +166 -0
  314. package/rules/combat.yaml +321 -0
  315. package/rules/core.yaml +111 -0
  316. package/rules/creation.yaml +431 -0
  317. package/rules/gear.yaml +188 -0
  318. package/rules/layout.yaml +197 -0
  319. package/rules/psionics.yaml +165 -0
  320. package/rules/start.yaml +417 -0
  321. package/rules/tags.yaml +71 -0
@@ -0,0 +1,20 @@
1
+ id: backgrounds.noble
2
+ type: background
3
+ fields:
4
+ freeSkill: lead
5
+ quick1: connect
6
+ quick2: administer
7
+ growth1: any-stat
8
+ growth2: mental
9
+ growth3: mental
10
+ growth4: mental
11
+ growth5: connect
12
+ growth6: any-skill
13
+ learning1: administer
14
+ learning2: any-combat
15
+ learning3: connect
16
+ learning4: know
17
+ learning5: lead
18
+ learning6: notice
19
+ learning7: pilot
20
+ learning8: talk
@@ -0,0 +1,20 @@
1
+ id: backgrounds.official
2
+ type: background
3
+ fields:
4
+ freeSkill: administer
5
+ quick1: talk
6
+ quick2: connect
7
+ growth1: any-stat
8
+ growth2: mental
9
+ growth3: mental
10
+ growth4: mental
11
+ growth5: connect
12
+ growth6: any-skill
13
+ learning1: administer
14
+ learning2: any-skill
15
+ learning3: connect
16
+ learning4: know
17
+ learning5: lead
18
+ learning6: notice
19
+ learning7: talk
20
+ learning8: trade
@@ -0,0 +1,20 @@
1
+ id: backgrounds.peasant
2
+ type: background
3
+ fields:
4
+ freeSkill: exert
5
+ quick1: sneak
6
+ quick2: survive
7
+ growth1: any-stat
8
+ growth2: physical
9
+ growth3: physical
10
+ growth4: physical
11
+ growth5: exert
12
+ growth6: any-skill
13
+ learning1: connect
14
+ learning2: exert
15
+ learning3: fix
16
+ learning4: notice
17
+ learning5: sneak
18
+ learning6: survive
19
+ learning7: trade
20
+ learning8: work
@@ -0,0 +1,20 @@
1
+ id: backgrounds.physician
2
+ type: background
3
+ fields:
4
+ freeSkill: heal
5
+ quick1: know
6
+ quick2: notice
7
+ growth1: any-stat
8
+ growth2: physical
9
+ growth3: mental
10
+ growth4: mental
11
+ growth5: connect
12
+ growth6: any-skill
13
+ learning1: administer
14
+ learning2: connect
15
+ learning3: fix
16
+ learning4: heal
17
+ learning5: know
18
+ learning6: notice
19
+ learning7: talk
20
+ learning8: trade
@@ -0,0 +1,20 @@
1
+ id: backgrounds.pilot
2
+ type: background
3
+ fields:
4
+ freeSkill: pilot
5
+ quick1: fix
6
+ quick2: shoot-or-trade
7
+ growth1: any-stat
8
+ growth2: physical
9
+ growth3: physical
10
+ growth4: mental
11
+ growth5: connect
12
+ growth6: any-skill
13
+ learning1: connect
14
+ learning2: exert
15
+ learning3: fix
16
+ learning4: notice
17
+ learning5: pilot
18
+ learning6: pilot
19
+ learning7: shoot
20
+ learning8: trade
@@ -0,0 +1,20 @@
1
+ id: backgrounds.politician
2
+ type: background
3
+ fields:
4
+ freeSkill: talk
5
+ quick1: lead
6
+ quick2: connect
7
+ growth1: any-stat
8
+ growth2: mental
9
+ growth3: mental
10
+ growth4: mental
11
+ growth5: connect
12
+ growth6: any-skill
13
+ learning1: administer
14
+ learning2: connect
15
+ learning3: connect
16
+ learning4: lead
17
+ learning5: notice
18
+ learning6: perform
19
+ learning7: talk
20
+ learning8: talk
@@ -0,0 +1,20 @@
1
+ id: backgrounds.scholar
2
+ type: background
3
+ fields:
4
+ freeSkill: know
5
+ quick1: connect
6
+ quick2: administer
7
+ growth1: any-stat
8
+ growth2: mental
9
+ growth3: mental
10
+ growth4: mental
11
+ growth5: connect
12
+ growth6: any-skill
13
+ learning1: administer
14
+ learning2: connect
15
+ learning3: fix
16
+ learning4: know
17
+ learning5: notice
18
+ learning6: perform
19
+ learning7: program
20
+ learning8: talk
@@ -0,0 +1,20 @@
1
+ id: backgrounds.soldier
2
+ type: background
3
+ fields:
4
+ freeSkill: any-combat
5
+ quick1: exert
6
+ quick2: survive
7
+ growth1: any-stat
8
+ growth2: physical
9
+ growth3: physical
10
+ growth4: physical
11
+ growth5: exert
12
+ growth6: any-skill
13
+ learning1: administer
14
+ learning2: any-combat
15
+ learning3: exert
16
+ learning4: fix
17
+ learning5: lead
18
+ learning6: notice
19
+ learning7: sneak
20
+ learning8: survive
@@ -0,0 +1,20 @@
1
+ id: backgrounds.spacer
2
+ type: background
3
+ fields:
4
+ freeSkill: fix
5
+ quick1: pilot
6
+ quick2: program
7
+ growth1: any-stat
8
+ growth2: physical
9
+ growth3: physical
10
+ growth4: mental
11
+ growth5: exert
12
+ growth6: any-skill
13
+ learning1: administer
14
+ learning2: connect
15
+ learning3: exert
16
+ learning4: fix
17
+ learning5: know
18
+ learning6: pilot
19
+ learning7: program
20
+ learning8: talk
@@ -0,0 +1,20 @@
1
+ id: backgrounds.technician
2
+ type: background
3
+ fields:
4
+ freeSkill: fix
5
+ quick1: exert
6
+ quick2: notice
7
+ growth1: any-stat
8
+ growth2: physical
9
+ growth3: mental
10
+ growth4: mental
11
+ growth5: connect
12
+ growth6: any-skill
13
+ learning1: administer
14
+ learning2: connect
15
+ learning3: exert
16
+ learning4: fix
17
+ learning5: fix
18
+ learning6: know
19
+ learning7: notice
20
+ learning8: pilot
@@ -0,0 +1,20 @@
1
+ id: backgrounds.thug
2
+ type: background
3
+ fields:
4
+ freeSkill: any-combat
5
+ quick1: talk
6
+ quick2: connect
7
+ growth1: any-stat
8
+ growth2: mental
9
+ growth3: physical
10
+ growth4: physical
11
+ growth5: connect
12
+ growth6: any-skill
13
+ learning1: any-combat
14
+ learning2: connect
15
+ learning3: exert
16
+ learning4: notice
17
+ learning5: sneak
18
+ learning6: stab-or-shoot
19
+ learning7: survive
20
+ learning8: talk
@@ -0,0 +1,20 @@
1
+ id: backgrounds.vagabond
2
+ type: background
3
+ fields:
4
+ freeSkill: survive
5
+ quick1: sneak
6
+ quick2: notice
7
+ growth1: any-stat
8
+ growth2: physical
9
+ growth3: physical
10
+ growth4: mental
11
+ growth5: exert
12
+ growth6: any-skill
13
+ learning1: any-combat
14
+ learning2: connect
15
+ learning3: notice
16
+ learning4: perform
17
+ learning5: pilot
18
+ learning6: sneak
19
+ learning7: survive
20
+ learning8: work
@@ -0,0 +1,20 @@
1
+ id: backgrounds.worker
2
+ type: background
3
+ fields:
4
+ freeSkill: work
5
+ quick1: connect
6
+ quick2: exert
7
+ growth1: any-stat
8
+ growth2: any-stat
9
+ growth3: any-stat
10
+ growth4: any-stat
11
+ growth5: exert
12
+ growth6: any-skill
13
+ learning1: administer
14
+ learning2: any-skill
15
+ learning3: connect
16
+ learning4: exert
17
+ learning5: fix
18
+ learning6: pilot
19
+ learning7: program
20
+ learning8: work
@@ -0,0 +1,9 @@
1
+ id: classes.adventurer
2
+ type: class
3
+ fields:
4
+ kit: kits.gunslinger
5
+ choices:
6
+ - id: partials
7
+ pick: 2
8
+ from: { type: partialClass }
9
+ recommend: 'choice.picks == [] ? @partial-classes.expert : @partial-classes.warrior'
@@ -0,0 +1,16 @@
1
+ id: classes.expert
2
+ type: class
3
+ fields:
4
+ kit: kits.technician
5
+ effects:
6
+ - { target: class.focus.noncombat, op: add, value: 1 }
7
+ - { target: class.expertPoints, op: add, value: 1 }
8
+ # Once a scene: reroll a failed skill check.
9
+ - target: { choices: [failed-check] }
10
+ op: option
11
+ when: '!scene.expertReroll'
12
+ value:
13
+ id: reroll
14
+ flags: { reroll: true }
15
+ changes:
16
+ - { type: set, field: scene.expertReroll, value: true }
@@ -0,0 +1,11 @@
1
+ id: classes.psychic
2
+ type: class
3
+ fields:
4
+ kit: kits.medic
5
+ effects:
6
+ - { target: psionics.access, op: set, value: "'unrestricted'" }
7
+ grants:
8
+ # Each discipline the psychic has grants its core technique, an add-on's discipline too.
9
+ - forEach: keysOf('psychic')
10
+ when: "fieldOf('skills.{psychic}.level', x) >= 0"
11
+ item: { query: { type: technique, where: item.core && item.discipline == x } }
@@ -0,0 +1,29 @@
1
+ id: classes.warrior
2
+ type: class
3
+ fields:
4
+ kit: kits.soldier
5
+ effects:
6
+ - { target: class.focus.combat, op: add, value: 1 }
7
+ - { target: hp.perLevel, op: add, value: 2 }
8
+ - { target: combat.attackBonus, op: set, value: level }
9
+ # Once a scene: a missed attack hits.
10
+ - target: { choices: [missed-attack] }
11
+ op: option
12
+ when: '!scene.warriorLuck'
13
+ value:
14
+ id: luck
15
+ flags: { hit: true }
16
+ changes:
17
+ - { type: set, field: scene.warriorLuck, value: true }
18
+ actions:
19
+ # Once a scene: an attack roll that hit the warrior misses instead.
20
+ - id: negate-hit
21
+ tags: [combat]
22
+ available: '!scene.warriorLuck'
23
+ results: [negated]
24
+ steps:
25
+ - id: spend
26
+ kind: changes
27
+ changes:
28
+ - { type: set, field: scene.warriorLuck, value: true }
29
+ - { id: result, kind: outcome, result: "'negated'" }
@@ -0,0 +1,17 @@
1
+ id: cyberware.adrenal-suppression-pump
2
+ type: cyberware
3
+ fields:
4
+ strain: 1
5
+ cost: 30000
6
+ techLevel: 4
7
+ state:
8
+ active: { type: boolean, default: false }
9
+ effects:
10
+ - target: { rolls: [initiative] }
11
+ op: add
12
+ value: 2
13
+ when: self.active
14
+ - target: { rolls: [check.social] }
15
+ op: add
16
+ value: -2
17
+ when: self.active
@@ -0,0 +1,6 @@
1
+ id: cyberware.bioadaptation-augments
2
+ type: cyberware
3
+ fields:
4
+ strain: 1
5
+ cost: 10000
6
+ techLevel: 4
@@ -0,0 +1,6 @@
1
+ id: cyberware.body-arsenal-array
2
+ type: cyberware
3
+ fields:
4
+ strain: 1
5
+ cost: 10000
6
+ techLevel: 4
@@ -0,0 +1,6 @@
1
+ id: cyberware.body-sculpting
2
+ type: cyberware
3
+ fields:
4
+ strain: 1
5
+ cost: 10000
6
+ techLevel: 4
@@ -0,0 +1,8 @@
1
+ id: cyberware.dermal-armor
2
+ type: cyberware
3
+ fields:
4
+ strain: 2
5
+ cost: 20000
6
+ techLevel: 4
7
+ effects:
8
+ - { target: ac.innate, op: atLeast, value: 16 }
@@ -0,0 +1,6 @@
1
+ id: cyberware.drone-control-link
2
+ type: cyberware
3
+ fields:
4
+ strain: 1
5
+ cost: 20000
6
+ techLevel: 4
@@ -0,0 +1,7 @@
1
+ id: cyberware.eelskin-capacitor-mesh
2
+ type: cyberware
3
+ fields:
4
+ strain: 1
5
+ activationStrain: 1
6
+ cost: 25000
7
+ techLevel: 4
@@ -0,0 +1,6 @@
1
+ id: cyberware.gecko-anchors
2
+ type: cyberware
3
+ fields:
4
+ strain: 1
5
+ cost: 15000
6
+ techLevel: 4
@@ -0,0 +1,6 @@
1
+ id: cyberware.ghost-talker-transceiver
2
+ type: cyberware
3
+ fields:
4
+ strain: 1
5
+ cost: 15000
6
+ techLevel: 4
@@ -0,0 +1,6 @@
1
+ id: cyberware.holdout-cavity
2
+ type: cyberware
3
+ fields:
4
+ strain: 1
5
+ cost: 10000
6
+ techLevel: 4
@@ -0,0 +1,6 @@
1
+ id: cyberware.holoskin-emitters
2
+ type: cyberware
3
+ fields:
4
+ strain: 1
5
+ cost: 15000
6
+ techLevel: 4
@@ -0,0 +1,6 @@
1
+ id: cyberware.identity-submersion-trigger
2
+ type: cyberware
3
+ fields:
4
+ strain: 1
5
+ cost: 25000
6
+ techLevel: 4
@@ -0,0 +1,6 @@
1
+ id: cyberware.immunofiltration-system
2
+ type: cyberware
3
+ fields:
4
+ strain: 2
5
+ cost: 25000
6
+ techLevel: 4
@@ -0,0 +1,6 @@
1
+ id: cyberware.induced-coma-trigger
2
+ type: cyberware
3
+ fields:
4
+ strain: 1
5
+ cost: 20000
6
+ techLevel: 4
@@ -0,0 +1,11 @@
1
+ id: cyberware.neurointruder-alert
2
+ type: cyberware
3
+ fields:
4
+ strain: 1
5
+ cost: 50000
6
+ techLevel: 5
7
+ effects:
8
+ - target: { rolls: [save.mental] }
9
+ op: add
10
+ value: 3
11
+ when: situational.telepathy
@@ -0,0 +1,6 @@
1
+ id: cyberware.panspectral-optics
2
+ type: cyberware
3
+ fields:
4
+ strain: 1
5
+ cost: 15000
6
+ techLevel: 4
@@ -0,0 +1,6 @@
1
+ id: cyberware.pressure-sheathing
2
+ type: cyberware
3
+ fields:
4
+ strain: 1
5
+ cost: 15000
6
+ techLevel: 4
@@ -0,0 +1,6 @@
1
+ id: cyberware.prosthetic-limb
2
+ type: cyberware
3
+ fields:
4
+ strain: 1
5
+ cost: 2500
6
+ techLevel: 4
@@ -0,0 +1,6 @@
1
+ id: cyberware.revenant-wiring
2
+ type: cyberware
3
+ fields:
4
+ strain: 3
5
+ cost: 50000
6
+ techLevel: 5
@@ -0,0 +1,7 @@
1
+ id: cyberware.slowtime-window
2
+ type: cyberware
3
+ fields:
4
+ strain: 2
5
+ activationStrain: 1
6
+ cost: 30000
7
+ techLevel: 5
@@ -0,0 +1,8 @@
1
+ id: cyberware.stabilization-overrides
2
+ type: cyberware
3
+ fields:
4
+ strain: 2
5
+ cost: 25000
6
+ techLevel: 4
7
+ effects:
8
+ - { target: attributes.con.mod, op: add, value: -1 }
@@ -0,0 +1,7 @@
1
+ id: cyberware.tagger-nanites
2
+ type: cyberware
3
+ fields:
4
+ strain: 1
5
+ activationStrain: 1
6
+ cost: 15000
7
+ techLevel: 4
@@ -0,0 +1,7 @@
1
+ id: cyberware.toxin-injector
2
+ type: cyberware
3
+ fields:
4
+ strain: 2
5
+ activationStrain: 2
6
+ cost: 20000
7
+ techLevel: 4
@@ -0,0 +1,7 @@
1
+ id: cyberware.twitchlock-actuators
2
+ type: cyberware
3
+ fields:
4
+ strain: 2
5
+ activationStrain: 2
6
+ cost: 30000
7
+ techLevel: 4
@@ -0,0 +1,9 @@
1
+ id: foci.alert
2
+ type: focus
3
+ fields:
4
+ kind: combat
5
+ skill: notice
6
+ effects:
7
+ - target: { rolls: [initiative] }
8
+ op: rollModifier
9
+ value: { kind: advantage }
@@ -0,0 +1,9 @@
1
+ id: foci.armsman
2
+ type: focus
3
+ fields:
4
+ kind: combat
5
+ skill: stab
6
+ effects:
7
+ - { target: damage.melee, op: add, value: 'max(0, skills.stab.level)' }
8
+ - { target: miss.melee, op: set, value: 1d4, when: self.level >= 2 }
9
+ - { target: combat.meleeAdvanced, op: set, value: true, when: self.level >= 2 }
@@ -0,0 +1,5 @@
1
+ id: foci.assassin
2
+ type: focus
3
+ fields:
4
+ kind: combat
5
+ skill: sneak
@@ -0,0 +1,5 @@
1
+ id: foci.authority
2
+ type: focus
3
+ fields:
4
+ kind: noncombat
5
+ skill: lead
@@ -0,0 +1,7 @@
1
+ id: foci.close-combatant
2
+ type: focus
3
+ fields:
4
+ kind: combat
5
+ skill: any-combat
6
+ effects:
7
+ - { target: shock.anyAc, op: set, value: true, when: self.level >= 2 }
@@ -0,0 +1,5 @@
1
+ id: foci.connected
2
+ type: focus
3
+ fields:
4
+ kind: noncombat
5
+ skill: connect
@@ -0,0 +1,7 @@
1
+ id: foci.die-hard
2
+ type: focus
3
+ fields:
4
+ kind: combat
5
+ skill: none
6
+ effects:
7
+ - { target: hp.perLevel, op: add, value: 2 }
@@ -0,0 +1,10 @@
1
+ id: foci.diplomat
2
+ type: focus
3
+ fields:
4
+ kind: noncombat
5
+ skill: talk
6
+ effects:
7
+ - target: { rolls: [check] }
8
+ op: rollModifier
9
+ value: { kind: reroll, below: 1, once: true }
10
+ when: situational.negotiation
@@ -0,0 +1,8 @@
1
+ id: foci.gunslinger
2
+ type: focus
3
+ fields:
4
+ kind: combat
5
+ skill: shoot
6
+ effects:
7
+ - { target: damage.ranged, op: add, value: 'max(0, skills.shoot.level)' }
8
+ - { target: miss.ranged, op: set, value: 1d4, when: self.level >= 2 }
@@ -0,0 +1,10 @@
1
+ id: foci.hacker
2
+ type: focus
3
+ fields:
4
+ kind: noncombat
5
+ skill: program
6
+ effects:
7
+ - target: { rolls: [check.program] }
8
+ op: rollModifier
9
+ value: { kind: poolDice, count: 1 }
10
+ when: situational.hacking && skills.program.dice < 3
@@ -0,0 +1,7 @@
1
+ id: foci.healer
2
+ type: focus
3
+ fields:
4
+ kind: noncombat
5
+ skill: heal
6
+ effects:
7
+ - { target: skills.heal.dice, op: atLeast, value: 3 }