@opencharacter/cwn-srd 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.
Files changed (574) hide show
  1. package/LICENSE +144 -0
  2. package/README.md +131 -2
  3. package/content/armor/armored-clothing.yaml +10 -0
  4. package/content/armor/heavy-armored-suit.yaml +14 -0
  5. package/content/armor/impact-jacket.yaml +11 -0
  6. package/content/armor/light-armored-suit.yaml +13 -0
  7. package/content/armor/medium-armored-suit.yaml +13 -0
  8. package/content/armor/ordinary-clothing.yaml +8 -0
  9. package/content/armor/plated-longcoat.yaml +12 -0
  10. package/content/armor/reinforced-clothing.yaml +9 -0
  11. package/content/armor/reinforced-longcoat.yaml +10 -0
  12. package/content/armor/riot-shield.yaml +9 -0
  13. package/content/armor/street-leathers.yaml +9 -0
  14. package/content/armor/war-harness.yaml +10 -0
  15. package/content/armor-accessories/absorption-plates.yaml +13 -0
  16. package/content/armor-accessories/joint-reinforcement.yaml +10 -0
  17. package/content/armor-mods/absorption-pads.yaml +7 -0
  18. package/content/armor-mods/active-response.yaml +7 -0
  19. package/content/armor-mods/biostabilizing.yaml +5 -0
  20. package/content/armor-mods/customized.yaml +8 -0
  21. package/content/armor-mods/discreet-design.yaml +9 -0
  22. package/content/armor-mods/flexible.yaml +7 -0
  23. package/content/armor-mods/quickchange.yaml +5 -0
  24. package/content/armor-mods/sealed.yaml +5 -0
  25. package/content/armor-mods/tailored-rig.yaml +14 -0
  26. package/content/armor-mods/trauma-dampers.yaml +7 -0
  27. package/content/armor-mods/whisperlight.yaml +7 -0
  28. package/content/arts/alacrity-basic.yaml +6 -0
  29. package/content/arts/alacrity-improved.yaml +6 -0
  30. package/content/arts/alacrity-sublime.yaml +6 -0
  31. package/content/arts/arcane-senses.yaml +4 -0
  32. package/content/arts/arcane-skill.yaml +4 -0
  33. package/content/arts/blades-of-will.yaml +4 -0
  34. package/content/arts/brazen-thews.yaml +11 -0
  35. package/content/arts/faultless-grace.yaml +11 -0
  36. package/content/arts/flying-steps.yaml +4 -0
  37. package/content/arts/hand-of-doom.yaml +9 -0
  38. package/content/arts/hundred-faces.yaml +4 -0
  39. package/content/arts/inexhaustible-vigor.yaml +11 -0
  40. package/content/arts/martial-instinct.yaml +16 -0
  41. package/content/arts/occult-pavis.yaml +9 -0
  42. package/content/arts/personal-void.yaml +4 -0
  43. package/content/arts/refulgent-vitality.yaml +4 -0
  44. package/content/arts/skin-of-steel.yaml +14 -0
  45. package/content/arts/sorcerous-sight.yaml +4 -0
  46. package/content/arts/spiritbane.yaml +4 -0
  47. package/content/backgrounds/bum.yaml +18 -0
  48. package/content/backgrounds/bureaucrat.yaml +18 -0
  49. package/content/backgrounds/clergy.yaml +18 -0
  50. package/content/backgrounds/coder.yaml +18 -0
  51. package/content/backgrounds/corp-security.yaml +18 -0
  52. package/content/backgrounds/corper.yaml +18 -0
  53. package/content/backgrounds/criminal.yaml +18 -0
  54. package/content/backgrounds/doctor.yaml +18 -0
  55. package/content/backgrounds/drone-jockey.yaml +18 -0
  56. package/content/backgrounds/ganger.yaml +18 -0
  57. package/content/backgrounds/laborer.yaml +18 -0
  58. package/content/backgrounds/law-enforcement.yaml +18 -0
  59. package/content/backgrounds/manager.yaml +18 -0
  60. package/content/backgrounds/outlander.yaml +18 -0
  61. package/content/backgrounds/performer.yaml +18 -0
  62. package/content/backgrounds/soldier.yaml +18 -0
  63. package/content/backgrounds/spy.yaml +18 -0
  64. package/content/backgrounds/streetwalker.yaml +18 -0
  65. package/content/backgrounds/technician.yaml +18 -0
  66. package/content/backgrounds/trader.yaml +18 -0
  67. package/content/contacts/contact.yaml +2 -0
  68. package/content/cyberdeck-mods/bespoke-code-optimization.yaml +6 -0
  69. package/content/cyberdeck-mods/buffer-circuits.yaml +7 -0
  70. package/content/cyberdeck-mods/cpu-overclocking.yaml +7 -0
  71. package/content/cyberdeck-mods/memory-expansion.yaml +7 -0
  72. package/content/cyberdeck-mods/polymorphic-intrusion-algorithms.yaml +8 -0
  73. package/content/cyberdeck-mods/skeletal-case.yaml +8 -0
  74. package/content/cyberdeck-mods/thermal-exhaust-case.yaml +8 -0
  75. package/content/cyberdecks/beowulf.yaml +9 -0
  76. package/content/cyberdecks/icepick.yaml +9 -0
  77. package/content/cyberdecks/scrap-deck.yaml +9 -0
  78. package/content/cyberdecks/synapse.yaml +9 -0
  79. package/content/cyberdecks/taifu.yaml +9 -0
  80. package/content/cyberdecks/tanto.yaml +9 -0
  81. package/content/cyberdecks/tizona.yaml +9 -0
  82. package/content/cyberware/active-sense-processor.yaml +14 -0
  83. package/content/cyberware/aesthetic-augmentation-suite.yaml +11 -0
  84. package/content/cyberware/assisted-glide-system.yaml +7 -0
  85. package/content/cyberware/banshee-module.yaml +7 -0
  86. package/content/cyberware/body-blades-i.yaml +15 -0
  87. package/content/cyberware/body-blades-ii.yaml +15 -0
  88. package/content/cyberware/coordination-augment-i.yaml +11 -0
  89. package/content/cyberware/coordination-augment-ii.yaml +14 -0
  90. package/content/cyberware/courier-memory.yaml +7 -0
  91. package/content/cyberware/cranial-jack.yaml +13 -0
  92. package/content/cyberware/cyberears.yaml +9 -0
  93. package/content/cyberware/cybereyes.yaml +9 -0
  94. package/content/cyberware/cyberlimb.yaml +7 -0
  95. package/content/cyberware/cybernetic-infrastructure-baseline.yaml +10 -0
  96. package/content/cyberware/deadman-circuit.yaml +7 -0
  97. package/content/cyberware/dermal-armor-i.yaml +11 -0
  98. package/content/cyberware/dermal-armor-ii.yaml +11 -0
  99. package/content/cyberware/dermal-armor-iii.yaml +11 -0
  100. package/content/cyberware/dermal-armor-trauma-shielding.yaml +8 -0
  101. package/content/cyberware/discretion-insurance-unit.yaml +7 -0
  102. package/content/cyberware/ear-mod-filter.yaml +8 -0
  103. package/content/cyberware/ear-mod-positional-detection.yaml +8 -0
  104. package/content/cyberware/ear-mod-sonar.yaml +8 -0
  105. package/content/cyberware/ear-mod-tracer.yaml +8 -0
  106. package/content/cyberware/emergency-stabilization-factor.yaml +7 -0
  107. package/content/cyberware/enhanced-reflexes-i.yaml +7 -0
  108. package/content/cyberware/enhanced-reflexes-ii.yaml +8 -0
  109. package/content/cyberware/enhanced-reflexes-iii.yaml +8 -0
  110. package/content/cyberware/eye-mod-dazzler.yaml +9 -0
  111. package/content/cyberware/eye-mod-flechette-launcher.yaml +11 -0
  112. package/content/cyberware/eye-mod-impostor.yaml +8 -0
  113. package/content/cyberware/eye-mod-infrared-vision.yaml +8 -0
  114. package/content/cyberware/eye-mod-low-light-vision.yaml +8 -0
  115. package/content/cyberware/eye-mod-tactical-view.yaml +8 -0
  116. package/content/cyberware/eye-mod-zoom.yaml +8 -0
  117. package/content/cyberware/fleshmod.yaml +7 -0
  118. package/content/cyberware/full-body-conversion.yaml +11 -0
  119. package/content/cyberware/funes-complex.yaml +7 -0
  120. package/content/cyberware/gunlink.yaml +9 -0
  121. package/content/cyberware/headcomm.yaml +7 -0
  122. package/content/cyberware/hemosynthetic-filter-system.yaml +7 -0
  123. package/content/cyberware/holdout-cavity.yaml +7 -0
  124. package/content/cyberware/iron-hand-aegis.yaml +7 -0
  125. package/content/cyberware/limbgun.yaml +7 -0
  126. package/content/cyberware/medical-support-readout.yaml +7 -0
  127. package/content/cyberware/medusa-implant.yaml +7 -0
  128. package/content/cyberware/muscle-fiber-replacement-i.yaml +11 -0
  129. package/content/cyberware/muscle-fiber-replacement-ii.yaml +11 -0
  130. package/content/cyberware/neolimb.yaml +11 -0
  131. package/content/cyberware/neural-buffer.yaml +27 -0
  132. package/content/cyberware/omnihand.yaml +7 -0
  133. package/content/cyberware/poseidon-implants.yaml +7 -0
  134. package/content/cyberware/prosthetic-cyber-i.yaml +7 -0
  135. package/content/cyberware/prosthetic-cyber-ii.yaml +7 -0
  136. package/content/cyberware/reaction-booster-i.yaml +11 -0
  137. package/content/cyberware/reaction-booster-ii.yaml +11 -0
  138. package/content/cyberware/recovery-support-unit.yaml +7 -0
  139. package/content/cyberware/redundant-systems.yaml +7 -0
  140. package/content/cyberware/regulated-anagathic-substrate.yaml +7 -0
  141. package/content/cyberware/remote-control-unit.yaml +12 -0
  142. package/content/cyberware/retribution-shield.yaml +8 -0
  143. package/content/cyberware/sealed-systems-implant.yaml +7 -0
  144. package/content/cyberware/sensory-recorder.yaml +7 -0
  145. package/content/cyberware/sharkskin-electrodes.yaml +7 -0
  146. package/content/cyberware/shock-fists.yaml +8 -0
  147. package/content/cyberware/skillplug-jack-i.yaml +11 -0
  148. package/content/cyberware/skillplug-jack-ii.yaml +11 -0
  149. package/content/cyberware/skillplug-wiring.yaml +11 -0
  150. package/content/cyberware/skinmod.yaml +6 -0
  151. package/content/cyberware/skull-citadel.yaml +7 -0
  152. package/content/cyberware/skyborn-shielding.yaml +7 -0
  153. package/content/cyberware/stick-pads.yaml +7 -0
  154. package/content/cyberware/synthears.yaml +9 -0
  155. package/content/cyberware/syntheyes.yaml +9 -0
  156. package/content/cyberware/synthlimb.yaml +7 -0
  157. package/content/cyberware/therapeutic-control-dampers.yaml +7 -0
  158. package/content/cyberware/titan-gun-system.yaml +7 -0
  159. package/content/cyberware/trajectory-optimization-node.yaml +7 -0
  160. package/content/cyberware/viper-sting.yaml +7 -0
  161. package/content/cyberware/zombie-wires.yaml +8 -0
  162. package/content/cyberware-complications/bad-connection.yaml +4 -0
  163. package/content/cyberware-complications/blatant.yaml +4 -0
  164. package/content/cyberware-complications/complicated.yaml +4 -0
  165. package/content/cyberware-complications/debilitating.yaml +4 -0
  166. package/content/cyberware-complications/exhausting.yaml +4 -0
  167. package/content/cyberware-complications/fussy.yaml +4 -0
  168. package/content/cyberware-complications/inefficient.yaml +6 -0
  169. package/content/cyberware-complications/loud.yaml +4 -0
  170. package/content/cyberware-complications/petty-annoyance.yaml +4 -0
  171. package/content/cyberware-complications/power-hungry.yaml +4 -0
  172. package/content/cyberware-complications/uncooperative.yaml +4 -0
  173. package/content/cyberware-complications/unreliable.yaml +4 -0
  174. package/content/cyberware-mods/biocapacitors.yaml +6 -0
  175. package/content/cyberware-mods/durable-system.yaml +7 -0
  176. package/content/cyberware-mods/firewalled.yaml +6 -0
  177. package/content/cyberware-mods/hardened-weave.yaml +8 -0
  178. package/content/cyberware-mods/low-maintenance.yaml +6 -0
  179. package/content/cyberware-mods/monoblade.yaml +7 -0
  180. package/content/cyberware-mods/profile-adjustment.yaml +6 -0
  181. package/content/cyberware-mods/quick-detach.yaml +6 -0
  182. package/content/cyberware-mods/tailored-interface.yaml +8 -0
  183. package/content/cyberware-mods/targeting-processor.yaml +6 -0
  184. package/content/drone-fittings/ablative-code-buffer.yaml +7 -0
  185. package/content/drone-fittings/altitude-boost-unit.yaml +7 -0
  186. package/content/drone-fittings/ammo-caddy.yaml +7 -0
  187. package/content/drone-fittings/ammo-supply.yaml +7 -0
  188. package/content/drone-fittings/assisted-boost-burner.yaml +7 -0
  189. package/content/drone-fittings/cargo-space.yaml +8 -0
  190. package/content/drone-fittings/command-deck-follow.yaml +7 -0
  191. package/content/drone-fittings/command-deck-kill.yaml +7 -0
  192. package/content/drone-fittings/command-deck-patrol.yaml +7 -0
  193. package/content/drone-fittings/command-deck-watch.yaml +7 -0
  194. package/content/drone-fittings/emergency-evac-litter.yaml +7 -0
  195. package/content/drone-fittings/emissions-shielding.yaml +7 -0
  196. package/content/drone-fittings/enhanced-structure.yaml +8 -0
  197. package/content/drone-fittings/extended-range.yaml +7 -0
  198. package/content/drone-fittings/glider-grips.yaml +7 -0
  199. package/content/drone-fittings/improved-armor.yaml +9 -0
  200. package/content/drone-fittings/improved-targeting-logic.yaml +7 -0
  201. package/content/drone-fittings/laser-comms.yaml +7 -0
  202. package/content/drone-fittings/manipulator-tendrils.yaml +7 -0
  203. package/content/drone-fittings/memory-banks.yaml +7 -0
  204. package/content/drone-fittings/no-touch-web.yaml +7 -0
  205. package/content/drone-fittings/sleep-mode.yaml +7 -0
  206. package/content/drone-fittings/stealth-package.yaml +7 -0
  207. package/content/drone-fittings/suicide-charge.yaml +7 -0
  208. package/content/drone-fittings/telescopic-optics.yaml +7 -0
  209. package/content/drone-fittings/thermal-optics.yaml +7 -0
  210. package/content/drone-fittings/trauma-response-suite.yaml +7 -0
  211. package/content/drone-fittings/voice-broadcast.yaml +7 -0
  212. package/content/drone-fittings/wallcrawler.yaml +7 -0
  213. package/content/drone-fittings/weapon-hardpoint.yaml +8 -0
  214. package/content/drone-mods/additional-fitting.yaml +8 -0
  215. package/content/drone-mods/additional-hardpoint.yaml +8 -0
  216. package/content/drone-mods/battery-swapping.yaml +7 -0
  217. package/content/drone-mods/boosted-engine.yaml +7 -0
  218. package/content/drone-mods/heavy-plating.yaml +9 -0
  219. package/content/drone-mods/quick-launch.yaml +7 -0
  220. package/content/drone-mods/redundant-systems.yaml +8 -0
  221. package/content/drone-mods/stripped-fittings.yaml +9 -0
  222. package/content/drones/hummingbird.yaml +14 -0
  223. package/content/drones/javelin.yaml +14 -0
  224. package/content/drones/kerberos.yaml +11 -0
  225. package/content/drones/kraken.yaml +11 -0
  226. package/content/drones/mouse.yaml +14 -0
  227. package/content/drones/pitbull.yaml +14 -0
  228. package/content/drones/roach.yaml +14 -0
  229. package/content/drones/shrike.yaml +11 -0
  230. package/content/drones/sunfish.yaml +14 -0
  231. package/content/drugs/avalanche.yaml +5 -0
  232. package/content/drugs/boneshaker.yaml +5 -0
  233. package/content/drugs/chokeout.yaml +4 -0
  234. package/content/drugs/control-delete.yaml +4 -0
  235. package/content/drugs/hellbender.yaml +4 -0
  236. package/content/drugs/lurch.yaml +7 -0
  237. package/content/drugs/madeleine.yaml +4 -0
  238. package/content/drugs/medical-prescription.yaml +4 -0
  239. package/content/drugs/olympus.yaml +6 -0
  240. package/content/drugs/panacea.yaml +5 -0
  241. package/content/drugs/pillow.yaml +5 -0
  242. package/content/drugs/psycho.yaml +4 -0
  243. package/content/drugs/reset.yaml +6 -0
  244. package/content/drugs/sand.yaml +4 -0
  245. package/content/drugs/trauma-patch.yaml +4 -0
  246. package/content/drugs/window.yaml +5 -0
  247. package/content/edges/educated.yaml +10 -0
  248. package/content/edges/face.yaml +4 -0
  249. package/content/edges/focused.yaml +9 -0
  250. package/content/edges/ghost.yaml +4 -0
  251. package/content/edges/graced.yaml +9 -0
  252. package/content/edges/hacker.yaml +12 -0
  253. package/content/edges/hard-to-kill.yaml +9 -0
  254. package/content/edges/killing-blow.yaml +11 -0
  255. package/content/edges/masterful-expertise.yaml +2 -0
  256. package/content/edges/on-target.yaml +8 -0
  257. package/content/edges/operators-fortune.yaml +2 -0
  258. package/content/edges/prodigy.yaml +29 -0
  259. package/content/edges/spellcaster.yaml +10 -0
  260. package/content/edges/summoner.yaml +9 -0
  261. package/content/edges/veterans-luck.yaml +2 -0
  262. package/content/edges/voice-of-the-people.yaml +8 -0
  263. package/content/edges/wired.yaml +10 -0
  264. package/content/foci/ace-driver.yaml +10 -0
  265. package/content/foci/alert.yaml +4 -0
  266. package/content/foci/all-natural.yaml +40 -0
  267. package/content/foci/armsmaster.yaml +16 -0
  268. package/content/foci/assassin.yaml +4 -0
  269. package/content/foci/authority.yaml +4 -0
  270. package/content/foci/close-combatant.yaml +9 -0
  271. package/content/foci/cyberdoc.yaml +7 -0
  272. package/content/foci/deadeye.yaml +8 -0
  273. package/content/foci/diplomat.yaml +4 -0
  274. package/content/foci/drone-pilot.yaml +19 -0
  275. package/content/foci/expert-programmer.yaml +16 -0
  276. package/content/foci/healer.yaml +13 -0
  277. package/content/foci/henchkeeper.yaml +4 -0
  278. package/content/foci/many-faces.yaml +5 -0
  279. package/content/foci/pop-idol.yaml +9 -0
  280. package/content/foci/roamer.yaml +10 -0
  281. package/content/foci/safe-haven.yaml +4 -0
  282. package/content/foci/shocking-assault.yaml +12 -0
  283. package/content/foci/snipers-eye.yaml +4 -0
  284. package/content/foci/specialist.yaml +36 -0
  285. package/content/foci/tinker.yaml +12 -0
  286. package/content/foci/unarmed-combatant.yaml +14 -0
  287. package/content/foci/unique-gift.yaml +4 -0
  288. package/content/foci/unregistered.yaml +4 -0
  289. package/content/foci/whirlwind-assault.yaml +4 -0
  290. package/content/gear/active-hearing-protection.yaml +5 -0
  291. package/content/gear/ammunition.yaml +4 -0
  292. package/content/gear/anti-flash-goggles.yaml +5 -0
  293. package/content/gear/backpack.yaml +7 -0
  294. package/content/gear/basic-smartphone.yaml +4 -0
  295. package/content/gear/binoculars.yaml +5 -0
  296. package/content/gear/bus-pass-monthly.yaml +4 -0
  297. package/content/gear/cheap-vr-crown.yaml +7 -0
  298. package/content/gear/climbing-kit.yaml +5 -0
  299. package/content/gear/empty-magazine.yaml +5 -0
  300. package/content/gear/fashionable-clothing.yaml +7 -0
  301. package/content/gear/fashionable-smartphone.yaml +4 -0
  302. package/content/gear/gas-mask.yaml +5 -0
  303. package/content/gear/handheld-radio.yaml +5 -0
  304. package/content/gear/haute-couture-clothing.yaml +7 -0
  305. package/content/gear/ir-goggles.yaml +5 -0
  306. package/content/gear/kit-basic-tools.yaml +5 -0
  307. package/content/gear/kit-cyberdoc.yaml +5 -0
  308. package/content/gear/kit-medkit.yaml +5 -0
  309. package/content/gear/kit-survival.yaml +5 -0
  310. package/content/gear/lockpicks.yaml +5 -0
  311. package/content/gear/maintenance-supplies.yaml +5 -0
  312. package/content/gear/manufacturers-installation-kit.yaml +5 -0
  313. package/content/gear/military-ration.yaml +5 -0
  314. package/content/gear/ordinary-clothes.yaml +7 -0
  315. package/content/gear/portable-video-camera.yaml +5 -0
  316. package/content/gear/smartphone-service-plan.yaml +4 -0
  317. package/content/gear/surgical-theater-tools-level-1.yaml +5 -0
  318. package/content/gear/surgical-theater-tools-level-2.yaml +4 -0
  319. package/content/gear/surgical-theater-tools-level-3.yaml +4 -0
  320. package/content/gear/ultralight-tab-radio.yaml +5 -0
  321. package/content/gear/wearable-light.yaml +7 -0
  322. package/content/programs/subjects/avatar.yaml +6 -0
  323. package/content/programs/subjects/barrier.yaml +6 -0
  324. package/content/programs/subjects/camera.yaml +6 -0
  325. package/content/programs/subjects/cyber.yaml +6 -0
  326. package/content/programs/subjects/datafile.yaml +6 -0
  327. package/content/programs/subjects/door.yaml +6 -0
  328. package/content/programs/subjects/drone.yaml +6 -0
  329. package/content/programs/subjects/machine.yaml +6 -0
  330. package/content/programs/subjects/program.yaml +6 -0
  331. package/content/programs/subjects/sensor.yaml +6 -0
  332. package/content/programs/subjects/transmission.yaml +6 -0
  333. package/content/programs/subjects/turret.yaml +6 -0
  334. package/content/programs/verbs/activate.yaml +12 -0
  335. package/content/programs/verbs/analyze.yaml +12 -0
  336. package/content/programs/verbs/append.yaml +10 -0
  337. package/content/programs/verbs/blind.yaml +9 -0
  338. package/content/programs/verbs/deactivate.yaml +12 -0
  339. package/content/programs/verbs/decrypt.yaml +10 -0
  340. package/content/programs/verbs/defend.yaml +9 -0
  341. package/content/programs/verbs/delude.yaml +9 -0
  342. package/content/programs/verbs/erase.yaml +11 -0
  343. package/content/programs/verbs/frisk.yaml +11 -0
  344. package/content/programs/verbs/ghost.yaml +8 -0
  345. package/content/programs/verbs/glitch.yaml +10 -0
  346. package/content/programs/verbs/hijack.yaml +9 -0
  347. package/content/programs/verbs/kill.yaml +10 -0
  348. package/content/programs/verbs/lock.yaml +10 -0
  349. package/content/programs/verbs/paralyze.yaml +9 -0
  350. package/content/programs/verbs/replace.yaml +10 -0
  351. package/content/programs/verbs/sabotage.yaml +12 -0
  352. package/content/programs/verbs/sense.yaml +9 -0
  353. package/content/programs/verbs/siege.yaml +9 -0
  354. package/content/programs/verbs/silence.yaml +9 -0
  355. package/content/programs/verbs/stun.yaml +11 -0
  356. package/content/programs/verbs/terminate.yaml +10 -0
  357. package/content/programs/verbs/unlock.yaml +12 -0
  358. package/content/skillplugs/level-0.yaml +35 -0
  359. package/content/skillplugs/level-1.yaml +35 -0
  360. package/content/skillplugs/level-2.yaml +35 -0
  361. package/content/skillplugs/level-3.yaml +37 -0
  362. package/content/spells/arson.yaml +5 -0
  363. package/content/spells/blast.yaml +5 -0
  364. package/content/spells/blastwave.yaml +5 -0
  365. package/content/spells/bless.yaml +5 -0
  366. package/content/spells/cleanse-toxin.yaml +5 -0
  367. package/content/spells/cloak.yaml +5 -0
  368. package/content/spells/combat-precognition.yaml +5 -0
  369. package/content/spells/compulsion.yaml +5 -0
  370. package/content/spells/curse.yaml +5 -0
  371. package/content/spells/detect-target.yaml +5 -0
  372. package/content/spells/dispel.yaml +5 -0
  373. package/content/spells/disrupt.yaml +5 -0
  374. package/content/spells/emotion.yaml +5 -0
  375. package/content/spells/far-senses.yaml +5 -0
  376. package/content/spells/glide.yaml +5 -0
  377. package/content/spells/haste.yaml +5 -0
  378. package/content/spells/heal-injury.yaml +5 -0
  379. package/content/spells/illumination.yaml +5 -0
  380. package/content/spells/mirage.yaml +5 -0
  381. package/content/spells/muffle.yaml +5 -0
  382. package/content/spells/paralysis.yaml +5 -0
  383. package/content/spells/psychic-interrogation.yaml +5 -0
  384. package/content/spells/slow.yaml +5 -0
  385. package/content/spells/soul-link.yaml +5 -0
  386. package/content/spells/stun.yaml +5 -0
  387. package/content/spells/stunwave.yaml +5 -0
  388. package/content/spells/triage.yaml +5 -0
  389. package/content/spirit-powers/airy-steps.yaml +2 -0
  390. package/content/spirit-powers/artifice-wise.yaml +2 -0
  391. package/content/spirit-powers/aura-of-destruction.yaml +2 -0
  392. package/content/spirit-powers/curse.yaml +2 -0
  393. package/content/spirit-powers/ensnare.yaml +4 -0
  394. package/content/spirit-powers/favor.yaml +2 -0
  395. package/content/spirit-powers/feral-pact.yaml +2 -0
  396. package/content/spirit-powers/finned-swiftness.yaml +2 -0
  397. package/content/spirit-powers/flesh-of-clay.yaml +2 -0
  398. package/content/spirit-powers/ghostly-presence.yaml +2 -0
  399. package/content/spirit-powers/hideous-talons.yaml +4 -0
  400. package/content/spirit-powers/iron-eidolon.yaml +4 -0
  401. package/content/spirit-powers/merciful-hands.yaml +2 -0
  402. package/content/spirit-powers/mighty-form.yaml +4 -0
  403. package/content/spirit-powers/mislead.yaml +2 -0
  404. package/content/spirit-powers/misty-form.yaml +2 -0
  405. package/content/spirit-powers/mortal-disguise.yaml +2 -0
  406. package/content/spirit-powers/myrmidons-shield.yaml +2 -0
  407. package/content/spirit-powers/namebearer.yaml +2 -0
  408. package/content/spirit-powers/natural-immunity.yaml +2 -0
  409. package/content/spirit-powers/poltergeist.yaml +2 -0
  410. package/content/spirit-powers/skilled.yaml +2 -0
  411. package/content/spirit-powers/spiderlegs.yaml +2 -0
  412. package/content/spirit-powers/spirit-of-war.yaml +4 -0
  413. package/content/spirit-powers/spirit-whispers.yaml +2 -0
  414. package/content/spirit-powers/spirits-eye.yaml +2 -0
  415. package/content/spirit-powers/swift-pursuit.yaml +2 -0
  416. package/content/spirit-powers/violent-will.yaml +4 -0
  417. package/content/spirits/spirit.yaml +11 -0
  418. package/content/syndromes/brutal.yaml +4 -0
  419. package/content/syndromes/candid.yaml +4 -0
  420. package/content/syndromes/cold.yaml +4 -0
  421. package/content/syndromes/distant.yaml +4 -0
  422. package/content/syndromes/exultant.yaml +4 -0
  423. package/content/syndromes/fearless.yaml +4 -0
  424. package/content/syndromes/hypervigilant.yaml +4 -0
  425. package/content/syndromes/murderous.yaml +4 -0
  426. package/content/syndromes/ravenous.yaml +4 -0
  427. package/content/syndromes/savage.yaml +4 -0
  428. package/content/syndromes/secretive.yaml +4 -0
  429. package/content/syndromes/stressed.yaml +4 -0
  430. package/content/vehicle-fittings/advanced-sensors.yaml +7 -0
  431. package/content/vehicle-fittings/afterburners.yaml +8 -0
  432. package/content/vehicle-fittings/armor-plating.yaml +8 -0
  433. package/content/vehicle-fittings/cargo-space.yaml +6 -0
  434. package/content/vehicle-fittings/crash-pod.yaml +8 -0
  435. package/content/vehicle-fittings/ecm-emitter.yaml +8 -0
  436. package/content/vehicle-fittings/emissions-cloaking.yaml +8 -0
  437. package/content/vehicle-fittings/extra-durability.yaml +9 -0
  438. package/content/vehicle-fittings/extra-passengers.yaml +8 -0
  439. package/content/vehicle-fittings/field-portable.yaml +7 -0
  440. package/content/vehicle-fittings/ghost-driver.yaml +8 -0
  441. package/content/vehicle-fittings/hardpoint-support.yaml +10 -0
  442. package/content/vehicle-fittings/jack-control-port.yaml +7 -0
  443. package/content/vehicle-fittings/limpet-mount-medium.yaml +8 -0
  444. package/content/vehicle-fittings/limpet-mount-small.yaml +8 -0
  445. package/content/vehicle-fittings/living-quarters.yaml +8 -0
  446. package/content/vehicle-fittings/medbay.yaml +9 -0
  447. package/content/vehicle-fittings/offroad-package.yaml +9 -0
  448. package/content/vehicle-fittings/power-system-large.yaml +9 -0
  449. package/content/vehicle-fittings/power-system-medium.yaml +9 -0
  450. package/content/vehicle-fittings/power-system-small.yaml +8 -0
  451. package/content/vehicle-fittings/sealed-atmosphere.yaml +9 -0
  452. package/content/vehicle-fittings/smugglers-hold.yaml +7 -0
  453. package/content/vehicle-fittings/targeting-board.yaml +9 -0
  454. package/content/vehicle-fittings/tool-rack.yaml +8 -0
  455. package/content/vehicle-mods/augmented-armor.yaml +7 -0
  456. package/content/vehicle-mods/drone-hub.yaml +6 -0
  457. package/content/vehicle-mods/extra-seating.yaml +7 -0
  458. package/content/vehicle-mods/integrated-magazines.yaml +6 -0
  459. package/content/vehicle-mods/personalized-controls.yaml +6 -0
  460. package/content/vehicle-mods/power-system-upgrade.yaml +7 -0
  461. package/content/vehicle-mods/q-cladding.yaml +6 -0
  462. package/content/vehicle-mods/reactive-defenses.yaml +8 -0
  463. package/content/vehicle-mods/reinforced-chassis.yaml +8 -0
  464. package/content/vehicle-mods/remote-sensors.yaml +6 -0
  465. package/content/vehicle-mods/supplementary-tanks.yaml +6 -0
  466. package/content/vehicle-mods/ultralight-components.yaml +8 -0
  467. package/content/vehicle-mods/upgraded-speed.yaml +8 -0
  468. package/content/vehicles/apc.yaml +16 -0
  469. package/content/vehicles/car.yaml +14 -0
  470. package/content/vehicles/casra.yaml +17 -0
  471. package/content/vehicles/dropcraft.yaml +17 -0
  472. package/content/vehicles/gev.yaml +16 -0
  473. package/content/vehicles/helicopter.yaml +16 -0
  474. package/content/vehicles/micro-flyer.yaml +15 -0
  475. package/content/vehicles/motorcycle.yaml +14 -0
  476. package/content/vehicles/tank.yaml +16 -0
  477. package/content/vehicles/truck.yaml +14 -0
  478. package/content/weapon-mods/autotargeting.yaml +7 -0
  479. package/content/weapon-mods/body-blades-1.yaml +17 -0
  480. package/content/weapon-mods/body-blades-2.yaml +17 -0
  481. package/content/weapon-mods/concealed.yaml +4 -0
  482. package/content/weapon-mods/customized.yaml +6 -0
  483. package/content/weapon-mods/extended-mag.yaml +7 -0
  484. package/content/weapon-mods/hand-of-doom.yaml +16 -0
  485. package/content/weapon-mods/heavy-sabot.yaml +7 -0
  486. package/content/weapon-mods/integral-toxins.yaml +8 -0
  487. package/content/weapon-mods/onboard-gunlink.yaml +5 -0
  488. package/content/weapon-mods/predictive-guidance.yaml +8 -0
  489. package/content/weapon-mods/reel-wires.yaml +5 -0
  490. package/content/weapon-mods/savage-impact.yaml +8 -0
  491. package/content/weapon-mods/shock-burst.yaml +4 -0
  492. package/content/weapon-mods/stun-rounds.yaml +13 -0
  493. package/content/weapon-mods/thermal-charge.yaml +8 -0
  494. package/content/weapon-mods/unarmed-combatant-2.yaml +7 -0
  495. package/content/weapon-mods/unarmed-combatant.yaml +11 -0
  496. package/content/weapons/advanced-big-sword.yaml +15 -0
  497. package/content/weapons/advanced-bow.yaml +17 -0
  498. package/content/weapons/advanced-club.yaml +15 -0
  499. package/content/weapons/advanced-knife.yaml +16 -0
  500. package/content/weapons/advanced-sword.yaml +14 -0
  501. package/content/weapons/anti-materiel-rifle.yaml +19 -0
  502. package/content/weapons/automatic-rifle.yaml +18 -0
  503. package/content/weapons/big-club.yaml +16 -0
  504. package/content/weapons/big-sword.yaml +15 -0
  505. package/content/weapons/club.yaml +17 -0
  506. package/content/weapons/combat-rifle.yaml +18 -0
  507. package/content/weapons/combat-shotgun.yaml +18 -0
  508. package/content/weapons/demo-charge.yaml +17 -0
  509. package/content/weapons/drone-cannon.yaml +17 -0
  510. package/content/weapons/eye-flechette.yaml +14 -0
  511. package/content/weapons/flash-grenade.yaml +14 -0
  512. package/content/weapons/frag-grenade.yaml +16 -0
  513. package/content/weapons/gas-grenade.yaml +14 -0
  514. package/content/weapons/grenade-launcher.yaml +15 -0
  515. package/content/weapons/headshot-pod.yaml +17 -0
  516. package/content/weapons/heavy-machine-gun.yaml +20 -0
  517. package/content/weapons/heavy-pistol.yaml +15 -0
  518. package/content/weapons/knife.yaml +16 -0
  519. package/content/weapons/land-mine-anti-personnel.yaml +14 -0
  520. package/content/weapons/land-mine-anti-vehicle.yaml +15 -0
  521. package/content/weapons/light-pistol.yaml +15 -0
  522. package/content/weapons/main-tank-gun.yaml +17 -0
  523. package/content/weapons/mortar.yaml +17 -0
  524. package/content/weapons/mounted-autogun.yaml +18 -0
  525. package/content/weapons/rifle.yaml +16 -0
  526. package/content/weapons/rocket-launcher.yaml +17 -0
  527. package/content/weapons/semi-auto-shotgun.yaml +16 -0
  528. package/content/weapons/shotgun.yaml +16 -0
  529. package/content/weapons/shrieker-gun.yaml +15 -0
  530. package/content/weapons/smoke-grenade.yaml +14 -0
  531. package/content/weapons/sniper-rifle.yaml +18 -0
  532. package/content/weapons/spear.yaml +16 -0
  533. package/content/weapons/submachine-gun.yaml +17 -0
  534. package/content/weapons/sword.yaml +14 -0
  535. package/content/weapons/taser-pistol.yaml +14 -0
  536. package/content/weapons/unarmed.yaml +13 -0
  537. package/dist/i18n/en.d.ts +3 -0
  538. package/dist/i18n/en.js +2 -0
  539. package/dist/i18n/en.json +2506 -0
  540. package/dist/index.d.ts +3 -0
  541. package/dist/index.js +2 -0
  542. package/dist/release.json +37339 -0
  543. package/i18n/en/backgrounds.yaml +20 -0
  544. package/i18n/en/cyberware.yaml +298 -0
  545. package/i18n/en/edges.yaml +41 -0
  546. package/i18n/en/foci.yaml +184 -0
  547. package/i18n/en/gear.yaml +252 -0
  548. package/i18n/en/magic.yaml +174 -0
  549. package/i18n/en/tech.yaml +472 -0
  550. package/i18n/en/weapons.yaml +99 -0
  551. package/i18n/en.yaml +1467 -0
  552. package/pack.yaml +13 -0
  553. package/package.json +58 -3
  554. package/rules/advancement.yaml +157 -0
  555. package/rules/armor.yaml +81 -0
  556. package/rules/attributes.yaml +42 -0
  557. package/rules/backgrounds.yaml +98 -0
  558. package/rules/building.yaml +445 -0
  559. package/rules/character.yaml +100 -0
  560. package/rules/checks.yaml +174 -0
  561. package/rules/contacts.yaml +10 -0
  562. package/rules/creation.yaml +395 -0
  563. package/rules/cyberware.yaml +156 -0
  564. package/rules/drones.yaml +38 -0
  565. package/rules/edges.yaml +78 -0
  566. package/rules/foci.yaml +115 -0
  567. package/rules/gear.yaml +176 -0
  568. package/rules/hacking.yaml +131 -0
  569. package/rules/layout.yaml +417 -0
  570. package/rules/magic.yaml +199 -0
  571. package/rules/skills.yaml +61 -0
  572. package/rules/tags.yaml +129 -0
  573. package/rules/vehicles.yaml +30 -0
  574. package/rules/weapons.yaml +251 -0
package/LICENSE ADDED
@@ -0,0 +1,144 @@
1
+ Cities Without Number (SRD) (cwn-srd): an Open Character Format pack
2
+ ================================================================================
3
+
4
+ This pack models the character rules of the Cities Without Number System
5
+ Reference Document 1.0 by Kevin Crawford, which its author dedicated to the
6
+ public domain under CC0 1.0 Universal (dated 9/8/23). It carries that document's text and
7
+ tables.
8
+
9
+ This pack is compatible with Cities Without Number, a game by Kevin Crawford
10
+ published by Sine Nomine Publishing. It is built on the Cities Without Number
11
+ System Reference Document, which its author dedicated to the public domain under
12
+ CC0 1.0. It is unofficial: it is not affiliated with, approved or endorsed by
13
+ Kevin Crawford or Sine Nomine Publishing.
14
+
15
+ The Open Character Format contributors' own work in this pack (its data, and the
16
+ names, labels and text written for it) is dedicated to the public domain under
17
+ CC0 1.0 Universal too. The game's name, the publisher's name and their
18
+ trademarks belong to their owners.
19
+
20
+ The text of CC0 1.0 Universal follows.
21
+
22
+ --------------------------------------------------------------------------------
23
+
24
+ Creative Commons Legal Code
25
+
26
+ CC0 1.0 Universal
27
+
28
+ CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE
29
+ LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE AN
30
+ ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS
31
+ INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES
32
+ REGARDING THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS
33
+ PROVIDED HEREUNDER, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM
34
+ THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED
35
+ HEREUNDER.
36
+
37
+ Statement of Purpose
38
+
39
+ The laws of most jurisdictions throughout the world automatically confer
40
+ exclusive Copyright and Related Rights (defined below) upon the creator
41
+ and subsequent owner(s) (each and all, an "owner") of an original work of
42
+ authorship and/or a database (each, a "Work").
43
+
44
+ Certain owners wish to permanently relinquish those rights to a Work for
45
+ the purpose of contributing to a commons of creative, cultural and
46
+ scientific works ("Commons") that the public can reliably and without fear
47
+ of later claims of infringement build upon, modify, incorporate in other
48
+ works, reuse and redistribute as freely as possible in any form whatsoever
49
+ and for any purposes, including without limitation commercial purposes.
50
+ These owners may contribute to the Commons to promote the ideal of a free
51
+ culture and the further production of creative, cultural and scientific
52
+ works, or to gain reputation or greater distribution for their Work in
53
+ part through the use and efforts of others.
54
+
55
+ For these and/or other purposes and motivations, and without any
56
+ expectation of additional consideration or compensation, the person
57
+ associating CC0 with a Work (the "Affirmer"), to the extent that he or she
58
+ is an owner of Copyright and Related Rights in the Work, voluntarily
59
+ elects to apply CC0 to the Work and publicly distribute the Work under its
60
+ terms, with knowledge of his or her Copyright and Related Rights in the
61
+ Work and the meaning and intended legal effect of CC0 on those rights.
62
+
63
+ 1. Copyright and Related Rights. A Work made available under CC0 may be
64
+ protected by copyright and related or neighboring rights ("Copyright and
65
+ Related Rights"). Copyright and Related Rights include, but are not
66
+ limited to, the following:
67
+
68
+ i. the right to reproduce, adapt, distribute, perform, display,
69
+ communicate, and translate a Work;
70
+ ii. moral rights retained by the original author(s) and/or performer(s);
71
+ iii. publicity and privacy rights pertaining to a person's image or
72
+ likeness depicted in a Work;
73
+ iv. rights protecting against unfair competition in regards to a Work,
74
+ subject to the limitations in paragraph 4(a), below;
75
+ v. rights protecting the extraction, dissemination, use and reuse of data
76
+ in a Work;
77
+ vi. database rights (such as those arising under Directive 96/9/EC of the
78
+ European Parliament and of the Council of 11 March 1996 on the legal
79
+ protection of databases, and under any national implementation
80
+ thereof, including any amended or successor version of such
81
+ directive); and
82
+ vii. other similar, equivalent or corresponding rights throughout the
83
+ world based on applicable law or treaty, and any national
84
+ implementations thereof.
85
+
86
+ 2. Waiver. To the greatest extent permitted by, but not in contravention
87
+ of, applicable law, Affirmer hereby overtly, fully, permanently,
88
+ irrevocably and unconditionally waives, abandons, and surrenders all of
89
+ Affirmer's Copyright and Related Rights and associated claims and causes
90
+ of action, whether now known or unknown (including existing as well as
91
+ future claims and causes of action), in the Work (i) in all territories
92
+ worldwide, (ii) for the maximum duration provided by applicable law or
93
+ treaty (including future time extensions), (iii) in any current or future
94
+ medium and for any number of copies, and (iv) for any purpose whatsoever,
95
+ including without limitation commercial, advertising or promotional
96
+ purposes (the "Waiver"). Affirmer makes the Waiver for the benefit of each
97
+ member of the public at large and to the detriment of Affirmer's heirs and
98
+ successors, fully intending that such Waiver shall not be subject to
99
+ revocation, rescission, cancellation, termination, or any other legal or
100
+ equitable action to disrupt the quiet enjoyment of the Work by the public
101
+ as contemplated by Affirmer's express Statement of Purpose.
102
+
103
+ 3. Public License Fallback. Should any part of the Waiver for any reason
104
+ be judged legally invalid or ineffective under applicable law, then the
105
+ Waiver shall be preserved to the maximum extent permitted taking into
106
+ account Affirmer's express Statement of Purpose. In addition, to the
107
+ extent the Waiver is so judged Affirmer hereby grants to each affected
108
+ person a royalty-free, non transferable, non sublicensable, non exclusive,
109
+ irrevocable and unconditional license to exercise Affirmer's Copyright and
110
+ Related Rights in the Work (i) in all territories worldwide, (ii) for the
111
+ maximum duration provided by applicable law or treaty (including future
112
+ time extensions), (iii) in any current or future medium and for any number
113
+ of copies, and (iv) for any purpose whatsoever, including without
114
+ limitation commercial, advertising or promotional purposes (the
115
+ "License"). The License shall be deemed effective as of the date CC0 was
116
+ applied by Affirmer to the Work. Should any part of the License for any
117
+ reason be judged legally invalid or ineffective under applicable law, such
118
+ partial invalidity or ineffectiveness shall not invalidate the remainder
119
+ of the License, and in such case Affirmer hereby affirms that he or she
120
+ will not (i) exercise any of his or her remaining Copyright and Related
121
+ Rights in the Work or (ii) assert any associated claims and causes of
122
+ action with respect to the Work, in either case contrary to Affirmer's
123
+ express Statement of Purpose.
124
+
125
+ 4. Limitations and Disclaimers.
126
+
127
+ a. No trademark or patent rights held by Affirmer are waived, abandoned,
128
+ surrendered, licensed or otherwise affected by this document.
129
+ b. Affirmer offers the Work as-is and makes no representations or
130
+ warranties of any kind concerning the Work, express, implied,
131
+ statutory or otherwise, including without limitation warranties of
132
+ title, merchantability, fitness for a particular purpose, non
133
+ infringement, or the absence of latent or other defects, accuracy, or
134
+ the present or absence of errors, whether or not discoverable, all to
135
+ the greatest extent permissible under applicable law.
136
+ c. Affirmer disclaims responsibility for clearing rights of other persons
137
+ that may apply to the Work or any use thereof, including without
138
+ limitation any person's Copyright and Related Rights in the Work.
139
+ Further, Affirmer disclaims responsibility for obtaining any necessary
140
+ consents, permissions or other rights required for any use of the
141
+ Work.
142
+ d. Affirmer understands and acknowledges that Creative Commons is not a
143
+ party to this document and has no duty or obligation with respect to
144
+ this CC0 or use of the Work.
package/README.md CHANGED
@@ -1,3 +1,132 @@
1
- # Temporary Holding Version
1
+ # Cities Without Number (SRD)
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/cwn-srd` is an [Open Character Format](https://opencharacterformat.org/) pack
4
+ of the character rules of the Cities Without Number System Reference Document 1.0, which its
5
+ author, Kevin Crawford, dedicated to the public domain under CC0. It is for apps that build, show
6
+ and play its characters with an OCF engine: attributes and skills, backgrounds, Edges and Foci,
7
+ hit points, saves and combat, advancement to 10th level, System Strain and cyberware, weapons,
8
+ armor and gear, hacking, drones and vehicles, Contacts, and the optional magic and alienation
9
+ rules. It carries the document's own text and tables.
10
+
11
+ Compatible with Cities Without Number, by Kevin Crawford. This pack is unofficial: it is not
12
+ affiliated with, approved or endorsed by Kevin Crawford or Sine Nomine Publishing.
13
+
14
+ ## Install and load
15
+
16
+ ```sh
17
+ pnpm add @opencharacter/cwn-srd @opencharacter/engine
18
+ ```
19
+
20
+ The package's default export is the pack's release, ready for `loadRuleset`; its English text is
21
+ `@opencharacter/cwn-srd/i18n/en` (also as JSON, `release.json` and `i18n/en.json`).
22
+
23
+ ```ts
24
+ import { applyChanges, computeSheet, loadRuleset, startAction } from '@opencharacter/engine';
25
+ import cyber from '@opencharacter/cwn-srd';
26
+
27
+ const loaded = loadRuleset([cyber]);
28
+ if (!loaded.ok) throw new Error(loaded.errors.map((e) => e.code).join(', '));
29
+ const { ruleset } = loaded;
30
+
31
+ // A random character: attributes rolled in order, the background's skills rolled, every other
32
+ // pick drawn.
33
+ const blank = {
34
+ specVersion: '0.2.0',
35
+ id: 'new-operator',
36
+ packs: [{ id: 'cwn-srd', version: '0.1.0' }],
37
+ creating: true,
38
+ };
39
+ const run = startAction(ruleset, blank, {
40
+ action: { id: 'cwn-srd:create-character' },
41
+ params: { random: true },
42
+ });
43
+ if (!('status' in run) || run.status !== 'finished') throw new Error('creation paused');
44
+ const made = applyChanges(
45
+ ruleset,
46
+ blank,
47
+ run.proposedChanges.map((p) => p.change),
48
+ );
49
+ if (!made.ok) throw new Error('creation failed');
50
+
51
+ const sheet = computeSheet(ruleset, made.character);
52
+ sheet.values['cwn-srd:saves.physical']?.value; // 15 less the better of Str and Con
53
+ ```
54
+
55
+ The guided start, `guided` (the same action without `random`), pauses for every pick, each with
56
+ a recommendation, so an automatic run finishes too. Campaigns with magic or alienation turn on
57
+ the input fields `campaign.magic` and `campaign.alienation`. The
58
+ [quick start](https://opencharacterformat.org/guides/quick-start/) and the
59
+ [guides](https://opencharacterformat.org/guides/) cover showing the sheet, rolling, pausing for
60
+ the player's choices and other characters.
61
+
62
+ ## License
63
+
64
+ - **License:** `CC0-1.0`. The source document is CC0, and so is this pack: [`LICENSE`](LICENSE).
65
+ - **Notice:** `not-affiliated`, which apps show as they would a license notice. CC0 asks for
66
+ nothing; the document's author asks that works built on it not be presented as official or
67
+ endorsed.
68
+
69
+ ## What it models
70
+
71
+ - **Attributes:** the six scores (3d6 in order with one score made 14, or the array), their
72
+ modifiers (Prodigy's +3, bonuses capped at +2, or +3 where the source says so), and cyberware
73
+ that sets a score.
74
+ - **Skills:** 19 skills, plus Cast and Summon for magic, from no skill (-1) to level-4; checks
75
+ are 2d6 plus skill and attribute, with Specialist's and Healer's extra dice. Skill levels are
76
+ saved inputs: creation and advancement raise them, and skillplugs lift the level checks use.
77
+ - **Creation:** a guided and a random start. Backgrounds with their free skill and Growth and
78
+ Learning tables (three rolls split between them, or two Learning picks), the rule that a
79
+ third pick of a skill becomes another skill, attribute bonuses split among physical or mental
80
+ attributes, two Edges, a Focus, the Underdog Rule's bonus Edge, hit points, the free skill,
81
+ two Acquaintances or a Friend, $500 and an item of up to $1,000. Edges and Foci bring their
82
+ bonus skills, gear budgets, starting cyber, programs, spells and arts.
83
+ - **Edges** (14, and the three magical ones) in rules-level choices: two at creation, the
84
+ Underdog Rule's, and a third at 5th level. **Foci** (26) are copies with a level, gained at
85
+ creation, at 2nd, 5th, 7th and 10th level and with Focused; a Focus's bonus skill during
86
+ advancement is three skill points toward it, banked as credit.
87
+ - **Advancement:** experience on the fast or slow table, a level-up action (hit points rerolled
88
+ per level, skill points, the Focus and Edge the level brings), and actions to spend skill
89
+ points on skills and attribute boosts.
90
+ - **Combat:** attack bonus, saves, initiative, Ranged and Melee AC, Trauma Target, Damage Soak
91
+ that ablates per fight, and an attack action with the attribute choice, skill (-2 untrained),
92
+ burst fire, Shock on a miss, the Trauma Die and Traumatic Hits, Killing Blow, Armsmaster and
93
+ Deadeye. Weapons track their magazines.
94
+ - **Gear:** every weapon, armor, accessory, mod, mission gear, pharmaceutical, cyberdeck,
95
+ program element, drone, drone fitting, vehicle, vehicle fitting and mod in the document.
96
+ Mods, fittings and armor accessories are templates on their item; fittings use a drone's
97
+ fittings or a vehicle's Power and Mass. Encumbrance counts Readied and Stowed gear.
98
+ - **Cyberware:** all 80 systems with their System Strain (eye and ear mods halved by
99
+ cybereyes and cyberears), effects, cyberware mods and implant complications as templates,
100
+ skillplugs, and the optional alienation rules with the chrome syndromes. System Strain
101
+ counts implants, lifestyle and the drugs, first aid and cyber that add to it.
102
+ - **Hacking:** Access, Memory, CPU and Shielding from the best deck, the program elements in
103
+ Memory, the programs a hacker can write and keep, and an action to run a program.
104
+ - **Magic:** Mage and Summoner Effort, cyber's cost to them, prepared spells, casting and
105
+ overcasting, summoning (each spirit's cost from its own powers and ritual), spirits and their
106
+ powers, and Graced arts with their points. Martial Instinct's bonus rolls (the `bonusRoll`
107
+ situational choice on an attack) roll the hit or damage twice, the better kept, and refresh
108
+ with rest; Occult Pavis rolls saves against magic (`versusMagic`) twice.
109
+ - **Contacts**, named by the player, as Acquaintances or Friends.
110
+
111
+ ## Left to the table
112
+
113
+ - Situational modifiers (cover, range, prone targets, snap attacks, charges, dual wielding) are
114
+ the attack's and checks' `modifier` parameters.
115
+ - Execution Attacks, suppressive fire, grappling, drone and vehicle combat, chases, demons and
116
+ network architecture are text: the attack covers single and burst fire.
117
+ - Once-per-scene and once-per-day abilities (rerolls, Veteran's Luck, Enhanced Reflexes) are
118
+ text; the cyber that costs System Strain to trigger has a trigger action.
119
+ - Starting languages are a count and a free text field: the city's languages are the setting's.
120
+
121
+ ## Rule readings
122
+
123
+ - **Random start:** the attributes are rolled in order (one score made 14: the lowest, if under
124
+ 14), and the background's skills rolled, each roll's table drawn. Everything else is drawn
125
+ among the eligible options.
126
+ - **Guided recommendations:** the first eligible option, so an automatic run finishes; the
127
+ recommended Focus gear is the dearest vehicle or drone the budget buys, then the dearest that
128
+ still fits, until the budget is spent.
129
+ - **Physical skills** for skillplugs: Drive, Exert, Perform, Punch, Shoot, Sneak and Stab.
130
+ - **Pushing encumbrance:** up to two Readied and four Stowed past the limits is Move 7 m, twice
131
+ that is Move 5 m, and more is past the limits.
132
+ - **Dermal plating and armor** don't stack: the higher base AC applies.
@@ -0,0 +1,10 @@
1
+ id: armor.armored-clothing
2
+ type: armor
3
+ fields:
4
+ cost: 1000
5
+ enc: 2
6
+ kind: clothing
7
+ rangedAc: 16
8
+ meleeAc: 14
9
+ soak: 5
10
+ traumaMod: 1
@@ -0,0 +1,14 @@
1
+ id: armor.heavy-armored-suit
2
+ type: armor
3
+ tags:
4
+ - restricted
5
+ fields:
6
+ cost: 20000
7
+ enc: 3
8
+ kind: suit
9
+ rangedAc: 20
10
+ meleeAc: 18
11
+ soak: 15
12
+ traumaMod: 3
13
+ heavy: 1
14
+ obvious: true
@@ -0,0 +1,11 @@
1
+ id: armor.impact-jacket
2
+ type: armor
3
+ fields:
4
+ cost: 1000
5
+ enc: 1
6
+ kind: clothing
7
+ rangedAc: 12
8
+ meleeAc: 14
9
+ soak: 8
10
+ traumaMod: 1
11
+ obvious: true
@@ -0,0 +1,13 @@
1
+ id: armor.light-armored-suit
2
+ type: armor
3
+ tags:
4
+ - restricted
5
+ fields:
6
+ cost: 5000
7
+ enc: 2
8
+ kind: suit
9
+ rangedAc: 16
10
+ meleeAc: 13
11
+ soak: 5
12
+ traumaMod: 2
13
+ obvious: true
@@ -0,0 +1,13 @@
1
+ id: armor.medium-armored-suit
2
+ type: armor
3
+ tags:
4
+ - restricted
5
+ fields:
6
+ cost: 10000
7
+ enc: 3
8
+ kind: suit
9
+ rangedAc: 18
10
+ meleeAc: 14
11
+ soak: 10
12
+ traumaMod: 2
13
+ obvious: true
@@ -0,0 +1,8 @@
1
+ id: armor.ordinary-clothing
2
+ type: armor
3
+ fields:
4
+ cost: 25
5
+ enc: 0
6
+ kind: clothing
7
+ rangedAc: 10
8
+ meleeAc: 10
@@ -0,0 +1,12 @@
1
+ id: armor.plated-longcoat
2
+ type: armor
3
+ fields:
4
+ cost: 2000
5
+ enc: 3
6
+ kind: clothing
7
+ rangedAc: 17
8
+ meleeAc: 15
9
+ soak: 5
10
+ traumaMod: 1
11
+ heavy: 1
12
+ obvious: true
@@ -0,0 +1,9 @@
1
+ id: armor.reinforced-clothing
2
+ type: armor
3
+ fields:
4
+ cost: 100
5
+ enc: 0
6
+ kind: clothing
7
+ rangedAc: 13
8
+ meleeAc: 10
9
+ soak: 2
@@ -0,0 +1,10 @@
1
+ id: armor.reinforced-longcoat
2
+ type: armor
3
+ fields:
4
+ cost: 500
5
+ enc: 1
6
+ kind: clothing
7
+ rangedAc: 15
8
+ meleeAc: 13
9
+ soak: 5
10
+ traumaMod: 1
@@ -0,0 +1,9 @@
1
+ id: armor.riot-shield
2
+ type: armor
3
+ fields:
4
+ cost: 1000
5
+ enc: 2
6
+ kind: shield
7
+ rangedAc: 2
8
+ meleeAc: 4
9
+ obvious: true
@@ -0,0 +1,9 @@
1
+ id: armor.street-leathers
2
+ type: armor
3
+ fields:
4
+ cost: 250
5
+ enc: 0
6
+ kind: clothing
7
+ rangedAc: 13
8
+ meleeAc: 12
9
+ soak: 3
@@ -0,0 +1,10 @@
1
+ id: armor.war-harness
2
+ type: armor
3
+ fields:
4
+ cost: 200
5
+ enc: 1
6
+ kind: clothing
7
+ rangedAc: 13
8
+ meleeAc: 14
9
+ soak: 5
10
+ obvious: true
@@ -0,0 +1,13 @@
1
+ id: armor-accessories.absorption-plates
2
+ type: template
3
+ appliesTo:
4
+ type: armor
5
+ where: "item.kind == 'clothing'"
6
+ fields:
7
+ rangedAc: 'prior.rangedAc + 2'
8
+ meleeAc: 'prior.meleeAc + 2'
9
+ soak: 'prior.soak + 3'
10
+ enc: 'prior.enc + 1'
11
+ heavy: 'prior.heavy + 1'
12
+ obvious: true
13
+ cost: 'prior.cost + 500'
@@ -0,0 +1,10 @@
1
+ id: armor-accessories.joint-reinforcement
2
+ type: template
3
+ appliesTo:
4
+ type: armor
5
+ where: "item.kind == 'clothing'"
6
+ fields:
7
+ rangedAc: 'prior.rangedAc + 1'
8
+ meleeAc: 'prior.meleeAc + 1'
9
+ heavy: 'prior.heavy + 1'
10
+ cost: 'prior.cost + 250'
@@ -0,0 +1,7 @@
1
+ id: armor-mods.absorption-pads
2
+ type: template
3
+ appliesTo:
4
+ type: armor
5
+ where: "item.kind != 'shield'"
6
+ fields:
7
+ soak: 'prior.soak + 5'
@@ -0,0 +1,7 @@
1
+ id: armor-mods.active-response
2
+ type: template
3
+ appliesTo:
4
+ type: armor
5
+ where: "item.kind != 'shield'"
6
+ fields:
7
+ traumaMod: 'prior.traumaMod + 1'
@@ -0,0 +1,5 @@
1
+ id: armor-mods.biostabilizing
2
+ type: template
3
+ appliesTo:
4
+ type: armor
5
+ where: "item.kind != 'shield'"
@@ -0,0 +1,8 @@
1
+ id: armor-mods.customized
2
+ type: template
3
+ appliesTo:
4
+ type: armor
5
+ where: "item.kind != 'shield'"
6
+ fields:
7
+ rangedAc: 'prior.rangedAc + 1'
8
+ meleeAc: 'prior.meleeAc + 1'
@@ -0,0 +1,9 @@
1
+ id: armor-mods.discreet-design
2
+ type: template
3
+ appliesTo:
4
+ type: armor
5
+ where: "item.kind != 'shield'"
6
+ fields:
7
+ rangedAc: prior.rangedAc - 2
8
+ meleeAc: prior.meleeAc - 2
9
+ obvious: false
@@ -0,0 +1,7 @@
1
+ id: armor-mods.flexible
2
+ type: template
3
+ appliesTo:
4
+ type: armor
5
+ where: "item.kind != 'shield'"
6
+ fields:
7
+ heavy: 'max(0, prior.heavy - base.heavy)'
@@ -0,0 +1,5 @@
1
+ id: armor-mods.quickchange
2
+ type: template
3
+ appliesTo:
4
+ type: armor
5
+ where: "item.kind != 'shield'"
@@ -0,0 +1,5 @@
1
+ id: armor-mods.sealed
2
+ type: template
3
+ appliesTo:
4
+ type: armor
5
+ where: "item.kind != 'shield'"
@@ -0,0 +1,14 @@
1
+ id: armor-mods.tailored-rig
2
+ type: template
3
+ appliesTo:
4
+ type: armor
5
+ where: "item.kind != 'shield'"
6
+ effects:
7
+ - target: enc.readiedMax
8
+ op: add
9
+ value: 1
10
+ when: self.equipped
11
+ - target: enc.stowedMax
12
+ op: add
13
+ value: 2
14
+ when: self.equipped
@@ -0,0 +1,7 @@
1
+ id: armor-mods.trauma-dampers
2
+ type: template
3
+ appliesTo:
4
+ type: armor
5
+ where: "item.kind != 'shield'"
6
+ fields:
7
+ soak: 'prior.soak + 5'
@@ -0,0 +1,7 @@
1
+ id: armor-mods.whisperlight
2
+ type: template
3
+ appliesTo:
4
+ type: armor
5
+ where: "item.kind != 'shield'"
6
+ fields:
7
+ enc: 'max(0, prior.enc - 1)'
@@ -0,0 +1,6 @@
1
+ id: arts.alacrity-basic
2
+ type: art
3
+ tags:
4
+ - alacrity
5
+ fields:
6
+ cost: 2
@@ -0,0 +1,6 @@
1
+ id: arts.alacrity-improved
2
+ type: art
3
+ tags:
4
+ - alacrity
5
+ fields:
6
+ cost: 3
@@ -0,0 +1,6 @@
1
+ id: arts.alacrity-sublime
2
+ type: art
3
+ tags:
4
+ - alacrity
5
+ fields:
6
+ cost: 4
@@ -0,0 +1,4 @@
1
+ id: arts.arcane-senses
2
+ type: art
3
+ fields:
4
+ cost: 1
@@ -0,0 +1,4 @@
1
+ id: arts.arcane-skill
2
+ type: art
3
+ fields:
4
+ cost: 1
@@ -0,0 +1,4 @@
1
+ id: arts.blades-of-will
2
+ type: art
3
+ fields:
4
+ cost: 1
@@ -0,0 +1,11 @@
1
+ id: arts.brazen-thews
2
+ type: art
3
+ fields:
4
+ cost: 1
5
+ effects:
6
+ - target: attributes.str.modBonus
7
+ op: add
8
+ value: 1
9
+ - target: attributes.str.modCap
10
+ op: atLeast
11
+ value: 3
@@ -0,0 +1,11 @@
1
+ id: arts.faultless-grace
2
+ type: art
3
+ fields:
4
+ cost: 1
5
+ effects:
6
+ - target: attributes.dex.modBonus
7
+ op: add
8
+ value: 1
9
+ - target: attributes.dex.modCap
10
+ op: atLeast
11
+ value: 3
@@ -0,0 +1,4 @@
1
+ id: arts.flying-steps
2
+ type: art
3
+ fields:
4
+ cost: 1
@@ -0,0 +1,9 @@
1
+ id: arts.hand-of-doom
2
+ type: art
3
+ fields:
4
+ cost: 1
5
+ keepsTemplates:
6
+ - template: weapon-mods.hand-of-doom
7
+ copies:
8
+ type: weapon
9
+ where: "'unarmed' in item.tags"
@@ -0,0 +1,4 @@
1
+ id: arts.hundred-faces
2
+ type: art
3
+ fields:
4
+ cost: 2
@@ -0,0 +1,11 @@
1
+ id: arts.inexhaustible-vigor
2
+ type: art
3
+ fields:
4
+ cost: 1
5
+ effects:
6
+ - target: attributes.con.modBonus
7
+ op: add
8
+ value: 1
9
+ - target: attributes.con.modCap
10
+ op: atLeast
11
+ value: 3