@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
package/LICENSE ADDED
@@ -0,0 +1,147 @@
1
+ Stars Without Number: Revised Edition (swn-revised): an Open Character Format pack
2
+ ================================================================================
3
+
4
+ Credit (pass it on with the pack's content):
5
+
6
+ Text from Stars Without Number: Revised Edition (Free Edition), © 2017 Sine
7
+ Nomine Publishing, Inc., by Kevin Crawford. Used with the author's permission.
8
+
9
+ [permission] Content from the free edition of Stars Without Number: Revised
10
+ Edition is reproduced with the author's permission; nothing from the paid
11
+ deluxe edition is included.
12
+
13
+ [not-affiliated] This pack is an unofficial model of the game's character
14
+ rules: it is not affiliated with or endorsed by Sine Nomine Publishing.
15
+
16
+ The text and names taken from the free edition belong to Sine Nomine
17
+ Publishing and are used by permission; they are not covered by the dedication
18
+ below. The Open Character Format contributors' own work in this pack (its data,
19
+ and the names and labels written for it) is dedicated to the public domain
20
+ under CC0 1.0 Universal, the default for packs in the Open Character Format
21
+ repository that declare no license of their own (packs/LICENSE).
22
+
23
+ The text of CC0 1.0 Universal follows.
24
+
25
+ --------------------------------------------------------------------------------
26
+
27
+ Creative Commons Legal Code
28
+
29
+ CC0 1.0 Universal
30
+
31
+ CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE
32
+ LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE AN
33
+ ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS
34
+ INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES
35
+ REGARDING THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS
36
+ PROVIDED HEREUNDER, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM
37
+ THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED
38
+ HEREUNDER.
39
+
40
+ Statement of Purpose
41
+
42
+ The laws of most jurisdictions throughout the world automatically confer
43
+ exclusive Copyright and Related Rights (defined below) upon the creator
44
+ and subsequent owner(s) (each and all, an "owner") of an original work of
45
+ authorship and/or a database (each, a "Work").
46
+
47
+ Certain owners wish to permanently relinquish those rights to a Work for
48
+ the purpose of contributing to a commons of creative, cultural and
49
+ scientific works ("Commons") that the public can reliably and without fear
50
+ of later claims of infringement build upon, modify, incorporate in other
51
+ works, reuse and redistribute as freely as possible in any form whatsoever
52
+ and for any purposes, including without limitation commercial purposes.
53
+ These owners may contribute to the Commons to promote the ideal of a free
54
+ culture and the further production of creative, cultural and scientific
55
+ works, or to gain reputation or greater distribution for their Work in
56
+ part through the use and efforts of others.
57
+
58
+ For these and/or other purposes and motivations, and without any
59
+ expectation of additional consideration or compensation, the person
60
+ associating CC0 with a Work (the "Affirmer"), to the extent that he or she
61
+ is an owner of Copyright and Related Rights in the Work, voluntarily
62
+ elects to apply CC0 to the Work and publicly distribute the Work under its
63
+ terms, with knowledge of his or her Copyright and Related Rights in the
64
+ Work and the meaning and intended legal effect of CC0 on those rights.
65
+
66
+ 1. Copyright and Related Rights. A Work made available under CC0 may be
67
+ protected by copyright and related or neighboring rights ("Copyright and
68
+ Related Rights"). Copyright and Related Rights include, but are not
69
+ limited to, the following:
70
+
71
+ i. the right to reproduce, adapt, distribute, perform, display,
72
+ communicate, and translate a Work;
73
+ ii. moral rights retained by the original author(s) and/or performer(s);
74
+ iii. publicity and privacy rights pertaining to a person's image or
75
+ likeness depicted in a Work;
76
+ iv. rights protecting against unfair competition in regards to a Work,
77
+ subject to the limitations in paragraph 4(a), below;
78
+ v. rights protecting the extraction, dissemination, use and reuse of data
79
+ in a Work;
80
+ vi. database rights (such as those arising under Directive 96/9/EC of the
81
+ European Parliament and of the Council of 11 March 1996 on the legal
82
+ protection of databases, and under any national implementation
83
+ thereof, including any amended or successor version of such
84
+ directive); and
85
+ vii. other similar, equivalent or corresponding rights throughout the
86
+ world based on applicable law or treaty, and any national
87
+ implementations thereof.
88
+
89
+ 2. Waiver. To the greatest extent permitted by, but not in contravention
90
+ of, applicable law, Affirmer hereby overtly, fully, permanently,
91
+ irrevocably and unconditionally waives, abandons, and surrenders all of
92
+ Affirmer's Copyright and Related Rights and associated claims and causes
93
+ of action, whether now known or unknown (including existing as well as
94
+ future claims and causes of action), in the Work (i) in all territories
95
+ worldwide, (ii) for the maximum duration provided by applicable law or
96
+ treaty (including future time extensions), (iii) in any current or future
97
+ medium and for any number of copies, and (iv) for any purpose whatsoever,
98
+ including without limitation commercial, advertising or promotional
99
+ purposes (the "Waiver"). Affirmer makes the Waiver for the benefit of each
100
+ member of the public at large and to the detriment of Affirmer's heirs and
101
+ successors, fully intending that such Waiver shall not be subject to
102
+ revocation, rescission, cancellation, termination, or any other legal or
103
+ equitable action to disrupt the quiet enjoyment of the Work by the public
104
+ as contemplated by Affirmer's express Statement of Purpose.
105
+
106
+ 3. Public License Fallback. Should any part of the Waiver for any reason
107
+ be judged legally invalid or ineffective under applicable law, then the
108
+ Waiver shall be preserved to the maximum extent permitted taking into
109
+ account Affirmer's express Statement of Purpose. In addition, to the
110
+ extent the Waiver is so judged Affirmer hereby grants to each affected
111
+ person a royalty-free, non transferable, non sublicensable, non exclusive,
112
+ irrevocable and unconditional license to exercise Affirmer's Copyright and
113
+ Related Rights in the Work (i) in all territories worldwide, (ii) for the
114
+ maximum duration provided by applicable law or treaty (including future
115
+ time extensions), (iii) in any current or future medium and for any number
116
+ of copies, and (iv) for any purpose whatsoever, including without
117
+ limitation commercial, advertising or promotional purposes (the
118
+ "License"). The License shall be deemed effective as of the date CC0 was
119
+ applied by Affirmer to the Work. Should any part of the License for any
120
+ reason be judged legally invalid or ineffective under applicable law, such
121
+ partial invalidity or ineffectiveness shall not invalidate the remainder
122
+ of the License, and in such case Affirmer hereby affirms that he or she
123
+ will not (i) exercise any of his or her remaining Copyright and Related
124
+ Rights in the Work or (ii) assert any associated claims and causes of
125
+ action with respect to the Work, in either case contrary to Affirmer's
126
+ express Statement of Purpose.
127
+
128
+ 4. Limitations and Disclaimers.
129
+
130
+ a. No trademark or patent rights held by Affirmer are waived, abandoned,
131
+ surrendered, licensed or otherwise affected by this document.
132
+ b. Affirmer offers the Work as-is and makes no representations or
133
+ warranties of any kind concerning the Work, express, implied,
134
+ statutory or otherwise, including without limitation warranties of
135
+ title, merchantability, fitness for a particular purpose, non
136
+ infringement, or the absence of latent or other defects, accuracy, or
137
+ the present or absence of errors, whether or not discoverable, all to
138
+ the greatest extent permissible under applicable law.
139
+ c. Affirmer disclaims responsibility for clearing rights of other persons
140
+ that may apply to the Work or any use thereof, including without
141
+ limitation any person's Copyright and Related Rights in the Work.
142
+ Further, Affirmer disclaims responsibility for obtaining any necessary
143
+ consents, permissions or other rights required for any use of the
144
+ Work.
145
+ d. Affirmer understands and acknowledges that Creative Commons is not a
146
+ party to this document and has no duty or obligation with respect to
147
+ this CC0 or use of the Work.
package/README.md CHANGED
@@ -1,3 +1,183 @@
1
- # Temporary Holding Version
1
+ # Stars Without Number: Revised Edition
2
2
 
3
- This version is a temporary placeholder for this package. An operational version to replace this has been submitted for review and is awaiting a staged release.
3
+ `@opencharacter/swn-revised` is an unofficial [Open Character Format](https://opencharacterformat.org/)
4
+ pack for the character rules of _Stars Without Number: Revised Edition_ by Kevin Crawford (Sine
5
+ Nomine Publishing), built from the game's free edition. It is for apps that build, show and play
6
+ its characters with an OCF engine: attributes, backgrounds, skills, the four classes and the
7
+ partial classes, foci, psionics, advancement to 10th level and beyond, saving throws, combat,
8
+ System Strain, and the free edition's armor, weapons, gear and cyberware.
9
+
10
+ It is not affiliated with or endorsed by Sine Nomine Publishing. Its text comes from the free
11
+ edition only, with the author's permission; nothing from the paid deluxe edition is included.
12
+
13
+ ## Install and load
14
+
15
+ ```sh
16
+ pnpm add @opencharacter/swn-revised @opencharacter/engine
17
+ ```
18
+
19
+ This release needs spec 0.3: `@opencharacter/engine` 0.3.0 or later. An engine for an older
20
+ spec refuses it (`spec-version-unsupported`).
21
+
22
+ The package's default export is the pack's release, ready for `loadRuleset`; its English text is
23
+ `@opencharacter/swn-revised/i18n/en` (also as JSON, `release.json` and `i18n/en.json`).
24
+
25
+ ```ts
26
+ import { applyChanges, computeSheet, loadRuleset, startAction } from '@opencharacter/engine';
27
+ import scifi from '@opencharacter/swn-revised';
28
+
29
+ const loaded = loadRuleset([scifi]);
30
+ if (!loaded.ok) throw new Error(loaded.errors.map((e) => e.code).join(', '));
31
+ const { ruleset } = loaded;
32
+
33
+ // A random character from the quick creation tables: every table is rolled.
34
+ const blank = {
35
+ specVersion: '0.3.0',
36
+ id: 'basil',
37
+ packs: [{ id: 'swn-revised', version: '0.2.0' }],
38
+ creating: true,
39
+ };
40
+ const run = startAction(ruleset, blank, {
41
+ action: { id: 'swn-revised:quick-character' },
42
+ params: { random: true },
43
+ policy: { dice: 'auto', choices: 'auto', allocations: 'auto' },
44
+ });
45
+ if (!('status' in run) || run.status !== 'finished') throw new Error('creation paused');
46
+ const made = applyChanges(
47
+ ruleset,
48
+ blank,
49
+ run.proposedChanges.map((p) => p.change),
50
+ );
51
+ if (!made.ok) throw new Error('creation failed');
52
+
53
+ const sheet = computeSheet(ruleset, made.character);
54
+ sheet.values['swn-revised:saves.physical']?.value; // 15 less the better of Str and Con modifiers
55
+ ```
56
+
57
+ ## License
58
+
59
+ - **License:** `LicenseRef-sine-nomine-free-edition`. The free edition's text is used with the
60
+ author's permission, and apps that show this pack's content pass on its `credit`:
61
+
62
+ > Text from Stars Without Number: Revised Edition (Free Edition), © 2017 Sine Nomine
63
+ > Publishing, Inc., by Kevin Crawford. Used with the author's permission.
64
+
65
+ - **Notices:** `permission` (the free edition's content is reproduced with the author's
66
+ permission; nothing from the paid edition is included) and `not-affiliated`.
67
+ - [`LICENSE`](LICENSE) gives the terms. The contributors' own work in the pack (its data, and
68
+ the names and labels written for it) is under CC0 1.0; the free edition's text and names
69
+ belong to Sine Nomine Publishing.
70
+ - **Text:** names and labels are in `i18n/en.yaml` and `i18n/en/`. Descriptions are the free
71
+ edition's own text: the skills, backgrounds, classes and partial classes, every focus and
72
+ every psionic technique.
73
+
74
+ ## What's modeled
75
+
76
+ - **Attributes:** the six scores (3–18) and their modifiers (−2 to +2).
77
+ - **Skills:** the 19 skills and the six psychic disciplines, each a level from −1 (untrained) to 4. `skill-check` rolls 2d6 + skill + an attribute modifier against a difficulty; untrained is
78
+ −1. Foci that roll 3d6 or 4d6 and keep the best two raise the skill's `dice`.
79
+ - **Saving throws:** Physical, Evasion and Mental, 16 less the level less the better of two
80
+ modifiers. `saving-throw` succeeds on a d20 at or over it; a natural 1 always fails and a
81
+ natural 20 always succeeds.
82
+ - **Creation:** three starts.
83
+ - `standard`, the full procedure: roll 3d6 in order (and set one score to 14) or assign 14,
84
+ 12, 11, 10, 9, 7; a background and its free skill; the quick skills, two picks from the
85
+ Learning table, or three rolls split between the Growth and Learning tables; a class (an
86
+ Adventurer picks two partial classes); a Psychic's two disciplines or a Partial Psychic's
87
+ one; one focus level, plus the Expert's non-combat and the Warrior's combat one; a hobby
88
+ skill; hit points; an equipment package or 2d6 × 100 credits (the class's own package,
89
+ its `kit`, recommended).
90
+ - `quick` and `random`, the quick creation tables: class and style (the eight styles, d8),
91
+ background (d20), two disciplines for a psychic (d6), foci from the style's row (d6) and a
92
+ bonus skill (d20). `random` rolls every table, so an automatic run finishes the character;
93
+ the equipment package is drawn among the ten packages and the credits roll.
94
+ - Every skill pick follows the book: a skill's first pick is level-0, the second level-1,
95
+ and a third is any other non-psychic skill below level-1. A psychic skill raised to level-1
96
+ brings a free level-1 technique.
97
+ - **Classes:** Expert (a non-combat focus, a reroll of a failed skill check once a scene, a
98
+ bonus non-combat skill point each level), Psychic (unrestricted psionics, Effort), Warrior (a
99
+ combat focus, +2 hit points a level, attack bonus equal to the level, once-a-scene luck on
100
+ attacks) and Adventurer, with two of Partial Expert, Partial Psychic (one discipline) and
101
+ Partial Warrior (+1 attack bonus at 1st and 5th level).
102
+ - **Foci:** all 25 of the free edition, each with its bonus skill; their mechanical benefits are
103
+ modeled where the sheet can show them (Ironhide's AC, Die Hard's hit points, Specialist's,
104
+ Healer's, Hacker's and Sniper's dice, Armsman's and Gunslinger's damage, Unarmed Combatant's
105
+ fists, Shocking Assault's Shock, Psychic Training's Effort, Wild Psychic Talent).
106
+ - **Psionics:** the six disciplines, their core techniques (held while the skill is level-0 or
107
+ better) and 63 techniques, each needing its skill level. Effort is 1 + the highest psychic
108
+ skill + the better of Wisdom and Constitution modifiers (at least 1); `commit-effort` commits
109
+ it for the scene or the day, `sustain-technique` commits a point to a technique for as long as
110
+ it lasts (held on the technique's copy, the pick of a Wild Psychic Talent, or the grant of a
111
+ core technique, until `release-technique` reclaims it), and `torch`
112
+ rolls the torching table for a free point. Cursed Luck's `curse` commits Effort for the scene
113
+ and applies the technique to its target: their attacks, damage, checks and saves roll twice
114
+ and keep the worse, attacks and damage against them roll twice and keep the better, and their
115
+ `throw-off` makes the Mental save that ends it.
116
+ - **Advancement:** the experience table (a `level-up` follow-up to 10th level; later levels are
117
+ the GM's call). `level-up` rolls the hit dice, grants three skill points (one psychic for a
118
+ psychic, plus the Expert's), and a focus level at 2nd, 5th, 7th and 10th. `raise-skill`,
119
+ `learn-technique` and `boost-attribute` spend the points at the book's costs and level limits.
120
+ A focus's bonus skill taken on advancement is three points toward that skill; what doesn't buy
121
+ a level is saved as the skill's `credit`, which `raise-skill` spends first.
122
+ - **Combat:** attack bonus, `attack` (d20 + attack bonus + combat skill, −2 untrained, +
123
+ modifier, +1 for energy weapons, +2 for burst fire) against the target's AC, damage, Shock on
124
+ a miss, ammunition and `reload`; Armor Class from the best armor, a shield and Dexterity.
125
+ - **System Strain:** permanent from cyberware, temporary from drugs; `use-drug`,
126
+ `trigger-cyberware` and Psychic Succor (given the target's `strain.total` and `strain.max`)
127
+ refuse what would pass Constitution. `rest` restores hit points, Strain,
128
+ Effort and the once-a-scene abilities.
129
+ - **Encumbrance:** Readied (equipped) items up to half Strength, Stowed up to Strength, and the
130
+ lightly and heavily encumbered bands. An equipment package readies its items, then stows
131
+ readied gear and all but one weapon while they fit, so a weak character starts within the
132
+ limits where the package allows; armor stays worn.
133
+ - **Equipment:** every armor, ranged, melee and heavy weapon, general equipment and
134
+ pharmaceutical, and cyberware item of the free edition, with the equipment packages.
135
+
136
+ Starships, vehicles, drones and gear mods are not modeled.
137
+
138
+ ## Add-on packs
139
+
140
+ A pack that depends on `swn-revised` can add content of its types, and creation offers it with the
141
+ core's, in the guided picks and in the random draws (a die with a face per option, the book's die
142
+ with the core content alone):
143
+
144
+ - **Classes and backgrounds** join the full procedure. A class names its recommended package in
145
+ `kit`.
146
+ - **Styles** (`style`) join the quick tables: the class, the six scores and, for the book's
147
+ styles only, `table`, the style's column of the quick foci table. A style without one picks
148
+ its foci as the full procedure does (one of any kind, plus the class's extra non-combat and
149
+ combat ones).
150
+ - **Equipment packages** (`kit`) are content: a package's own `unpack` action (`listed: false`)
151
+ adds its gear and sets the credits. The starting-gear action adds the package as the entry
152
+ `kit`, runs its `unpack`, then removes it, so only the gear stays.
153
+ - **Foci** join every focus pick; the tags `needs-psionics` and `no-psionics` limit one to
154
+ characters with psionic access or without it.
155
+ - **Open enums:** weapon `ammo`, gear `category` and `kind` (what a weapon reloads with), and
156
+ armor `category`. An add-on lists new values in `extendEnums`
157
+ (`'swn-revised:types.weapon.fields.ammo': [spikes]`) and names them in its text.
158
+ - **Naming what an add-on adds:** it names each added value, option or key in its own text,
159
+ under the key this pack would use, and `createText` finds it there when the app passes the
160
+ ruleset's `enumOrigins`, `optionOrigins` and `familyOrigins`. For example,
161
+ `spikes` added to `swn-revised:types.weapon.fields.ammo` is
162
+ `types.weapon.fields.ammo.values.spikes.name: Spike magazine` (through `enumOrigins`).
163
+ - **Tagged steps** take an add-on's rules-level `option` and `changes` effects: `creation.kit`
164
+ (the starting package pick: an added option replaces the package), `creation.focus` and
165
+ `level-up.focus` (a focus pick at creation or on advancement: an added option is taken instead
166
+ of a focus), `creation.finish` (the last changes of both creation actions, before creation
167
+ ends), `level-up.level` (each new level's skill points), `rest.night` (a night's rest) and
168
+ `rest.scene` (the end of a scene).
169
+
170
+ - **Skills and psychic disciplines** are families: an added skill joins `skill` and `general` or
171
+ `combat` (`families: { 'swn-revised:skill': [xenology], 'swn-revised:general': [xenology] }`), a
172
+ discipline `skill` and `psychic`, and the add-on declares its `skills.<key>.level` (tagged
173
+ `skill` and `skill.general`, `skill.combat` or `skill.psychic`), `.dice` and `.credit`, and its
174
+ check tag (`check.<key>`). The core's changes reach them through `fieldId`, so creation,
175
+ `raise-skill`, focus points and `skill-check` gain, raise and roll them. The enums that hold a
176
+ skill are open and take its key: a background's entries (`freeSkill`, `quick1`, `quick2`,
177
+ `growth1`–`growth6`, `learning1`–`learning8`), a focus's `skill`, a weapon's `skill`, and the
178
+ parameters `gain-skill.entry`, `focus-skill-points.entry`, `raise-skill.skill` and
179
+ `skill-check.skill`; a discipline's also `psionics.discipline`, a technique's `discipline` and
180
+ `pick-technique.discipline`, so a new skill level picks its techniques. The Partial Psychic's
181
+ and Psychic Training's discipline choices take it through `extendChoices`. The psychic classes
182
+ grant each trained discipline's core technique (`core: true`, its `discipline` the key), so an
183
+ added discipline's core technique comes with it.
@@ -0,0 +1,8 @@
1
+ id: armor.armored-undersuit
2
+ type: armor
3
+ fields:
4
+ ac: 13
5
+ category: street
6
+ cost: 600
7
+ enc: 0
8
+ techLevel: 4
@@ -0,0 +1,8 @@
1
+ id: armor.armored-vacc-suit
2
+ type: armor
3
+ fields:
4
+ ac: 13
5
+ category: street
6
+ cost: 400
7
+ enc: 2
8
+ techLevel: 4
@@ -0,0 +1,8 @@
1
+ id: armor.assault-suit
2
+ type: armor
3
+ fields:
4
+ ac: 18
5
+ category: powered
6
+ cost: 10000
7
+ enc: 2
8
+ techLevel: 4
@@ -0,0 +1,8 @@
1
+ id: armor.combat-field-uniform
2
+ type: armor
3
+ fields:
4
+ ac: 16
5
+ category: combat
6
+ cost: 1000
7
+ enc: 1
8
+ techLevel: 4
@@ -0,0 +1,8 @@
1
+ id: armor.deflector-array
2
+ type: armor
3
+ fields:
4
+ ac: 18
5
+ category: street
6
+ cost: 30000
7
+ enc: 0
8
+ techLevel: 5
@@ -0,0 +1,9 @@
1
+ id: armor.field-emitter-panoply
2
+ type: armor
3
+ fields:
4
+ ac: 20
5
+ category: powered
6
+ strength: 4
7
+ cost: 40000
8
+ enc: 1
9
+ techLevel: 5
@@ -0,0 +1,9 @@
1
+ id: armor.force-pavis
2
+ type: armor
3
+ fields:
4
+ ac: 15
5
+ category: combat
6
+ shield: true
7
+ cost: 10000
8
+ enc: 1
9
+ techLevel: 5
@@ -0,0 +1,8 @@
1
+ id: armor.heavy-primitive-armor
2
+ type: armor
3
+ fields:
4
+ ac: 17
5
+ category: primitive
6
+ cost: 100
7
+ enc: 2
8
+ techLevel: 1
@@ -0,0 +1,8 @@
1
+ id: armor.icarus-harness
2
+ type: armor
3
+ fields:
4
+ ac: 16
5
+ category: combat
6
+ cost: 8000
7
+ enc: 1
8
+ techLevel: 4
@@ -0,0 +1,8 @@
1
+ id: armor.light-primitive-armor
2
+ type: armor
3
+ fields:
4
+ ac: 13
5
+ category: primitive
6
+ cost: 10
7
+ enc: 1
8
+ techLevel: 0
@@ -0,0 +1,8 @@
1
+ id: armor.medium-primitive-armor
2
+ type: armor
3
+ fields:
4
+ ac: 15
5
+ category: primitive
6
+ cost: 50
7
+ enc: 1
8
+ techLevel: 1
@@ -0,0 +1,8 @@
1
+ id: armor.secure-clothing
2
+ type: armor
3
+ fields:
4
+ ac: 13
5
+ category: street
6
+ cost: 300
7
+ enc: 1
8
+ techLevel: 4
@@ -0,0 +1,8 @@
1
+ id: armor.security-armor
2
+ type: armor
3
+ fields:
4
+ ac: 14
5
+ category: combat
6
+ cost: 700
7
+ enc: 1
8
+ techLevel: 4
@@ -0,0 +1,9 @@
1
+ id: armor.shield
2
+ type: armor
3
+ fields:
4
+ ac: 13
5
+ category: primitive
6
+ shield: true
7
+ cost: 10
8
+ enc: 2
9
+ techLevel: 0
@@ -0,0 +1,9 @@
1
+ id: armor.storm-armor
2
+ type: armor
3
+ fields:
4
+ ac: 19
5
+ category: powered
6
+ strength: 4
7
+ cost: 20000
8
+ enc: 2
9
+ techLevel: 5
@@ -0,0 +1,8 @@
1
+ id: armor.vestimentum
2
+ type: armor
3
+ fields:
4
+ ac: 18
5
+ category: powered
6
+ cost: 15000
7
+ enc: 0
8
+ techLevel: 5
@@ -0,0 +1,8 @@
1
+ id: armor.warpaint
2
+ type: armor
3
+ fields:
4
+ ac: 12
5
+ category: street
6
+ cost: 300
7
+ enc: 0
8
+ techLevel: 4
@@ -0,0 +1,8 @@
1
+ id: armor.woven-body-armor
2
+ type: armor
3
+ fields:
4
+ ac: 15
5
+ category: combat
6
+ cost: 400
7
+ enc: 2
8
+ techLevel: 3
@@ -0,0 +1,20 @@
1
+ id: backgrounds.barbarian
2
+ type: background
3
+ fields:
4
+ freeSkill: survive
5
+ quick1: notice
6
+ quick2: any-combat
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: exert
16
+ learning4: lead
17
+ learning5: notice
18
+ learning6: punch
19
+ learning7: sneak
20
+ learning8: survive
@@ -0,0 +1,20 @@
1
+ id: backgrounds.clergy
2
+ type: background
3
+ fields:
4
+ freeSkill: talk
5
+ quick1: perform
6
+ quick2: know
7
+ growth1: any-stat
8
+ growth2: mental
9
+ growth3: physical
10
+ growth4: mental
11
+ growth5: connect
12
+ growth6: any-skill
13
+ learning1: administer
14
+ learning2: connect
15
+ learning3: know
16
+ learning4: lead
17
+ learning5: notice
18
+ learning6: perform
19
+ learning7: talk
20
+ learning8: talk
@@ -0,0 +1,20 @@
1
+ id: backgrounds.courtesan
2
+ type: background
3
+ fields:
4
+ freeSkill: perform
5
+ quick1: notice
6
+ quick2: connect
7
+ growth1: any-stat
8
+ growth2: mental
9
+ growth3: mental
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: perform
18
+ learning6: survive
19
+ learning7: talk
20
+ learning8: trade
@@ -0,0 +1,20 @@
1
+ id: backgrounds.criminal
2
+ type: background
3
+ fields:
4
+ freeSkill: sneak
5
+ quick1: connect
6
+ quick2: talk
7
+ growth1: any-stat
8
+ growth2: mental
9
+ growth3: physical
10
+ growth4: mental
11
+ growth5: connect
12
+ growth6: any-skill
13
+ learning1: administer
14
+ learning2: any-combat
15
+ learning3: connect
16
+ learning4: notice
17
+ learning5: program
18
+ learning6: sneak
19
+ learning7: talk
20
+ learning8: trade
@@ -0,0 +1,20 @@
1
+ id: backgrounds.dilettante
2
+ type: background
3
+ fields:
4
+ freeSkill: connect
5
+ quick1: know
6
+ quick2: talk
7
+ growth1: any-stat
8
+ growth2: any-stat
9
+ growth3: any-stat
10
+ growth4: any-stat
11
+ growth5: connect
12
+ growth6: any-skill
13
+ learning1: any-skill
14
+ learning2: any-skill
15
+ learning3: connect
16
+ learning4: know
17
+ learning5: perform
18
+ learning6: pilot
19
+ learning7: talk
20
+ learning8: trade
@@ -0,0 +1,20 @@
1
+ id: backgrounds.entertainer
2
+ type: background
3
+ fields:
4
+ freeSkill: perform
5
+ quick1: talk
6
+ quick2: connect
7
+ growth1: any-stat
8
+ growth2: mental
9
+ growth3: mental
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: perform
18
+ learning6: perform
19
+ learning7: sneak
20
+ learning8: talk
@@ -0,0 +1,20 @@
1
+ id: backgrounds.merchant
2
+ type: background
3
+ fields:
4
+ freeSkill: trade
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-combat
15
+ learning3: connect
16
+ learning4: fix
17
+ learning5: know
18
+ learning6: notice
19
+ learning7: trade
20
+ learning8: talk